summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.mailmap3
-rw-r--r--NEWS3
-rw-r--r--lib/libalpm/db.c5
-rw-r--r--lib/libalpm/handle.c23
-rw-r--r--lib/libalpm/util.h4
-rw-r--r--po/pacman.pot28
-rw-r--r--src/pacman/sync.c3
7 files changed, 51 insertions, 18 deletions
diff --git a/.mailmap b/.mailmap
index 1b13a60e..351ed023 100644
--- a/.mailmap
+++ b/.mailmap
@@ -6,10 +6,11 @@ Andres P <aepd87@gmail.com> <stderr@mail.com>
Bryan Ischo <bryan@ischo.com> <bji-keyword-pacman.3644cb@www.ischo.com>
Christos Nouskas <nous@archlinux.us> <nouskas@gmail.com>
Daenyth Blank <daenyth+arch@gmail.com> <Daenyth+Arch@gmail.com>
-Daenyth Blank <Daenyth+Arch@gmail.com> <Daenyth+git@gmail.com>
+Daenyth Blank <Daenyth+arch@gmail.com> <Daenyth+git@gmail.com>
甘露(Gan Lu) <rhythm.gan@gmail.com>
Giovanni Scafora <giovanni@archlinux.org> <linuxmania@gmail.com>
Jaroslaw Swierczynski <swiergot@gmail.com> <swiergot@juvepoland.com>
+Jonathan Conder <j@skurvy.no-ip.org> <jonno.conder@gmail.com>
Juan Pablo González Tognarelli <lord_jotape@yahoo.com.ar>
Juan Pablo González Tognarelli <lord_jotape@yahoo.com.ar> <jotapesan@gmail.com>
Manuel Tortosa <manutortosa@chakra-project.org> <manutortosa@gmail.com>
diff --git a/NEWS b/NEWS
index 2e4133f9..f10c83c4 100644
--- a/NEWS
+++ b/NEWS
@@ -1,5 +1,8 @@
VERSION DESCRIPTION
-----------------------------------------------------------------------------
+3.5.2 - ensure we show correct missing dependency info (FS#23424)
+ - pacman usage/--help updates (FS#23433, FS#23369)
+ - makepkg: simplify log redirection and remove sync (FS#23378)
3.5.1 - don't error on unknown pacman.conf directives (FS#23055)
- only read arguments from stdin if '-' is provided as target
- fix case with ignore handling in argument list (FS#23342)
diff --git a/lib/libalpm/db.c b/lib/libalpm/db.c
index 55b711fb..cc01bbf4 100644
--- a/lib/libalpm/db.c
+++ b/lib/libalpm/db.c
@@ -90,10 +90,7 @@ int SYMEXPORT alpm_db_unregister_all(void)
/* Do not unregister a database if a transaction is on-going */
ASSERT(handle->trans == NULL, RET_ERR(PM_ERR_TRANS_NOT_NULL, -1));
- /* since the local DB is registered in alpm_initialize(), we'll be
- * symmetrical and let the cleanup occur in alpm_release() */
-
- /* and also sync ones */
+ /* unregister all sync dbs */
for(i = handle->dbs_sync; i; i = i->next) {
db = i->data;
db->ops->unregister(db);
diff --git a/lib/libalpm/handle.c b/lib/libalpm/handle.c
index 42c0cd1f..fd40f193 100644
--- a/lib/libalpm/handle.c
+++ b/lib/libalpm/handle.c
@@ -318,6 +318,8 @@ int SYMEXPORT alpm_option_set_root(const char *root)
ALPM_LOG_FUNC;
+ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
+
if(!root) {
pm_errno = PM_ERR_WRONG_ARGS;
return -1;
@@ -358,6 +360,7 @@ int SYMEXPORT alpm_option_set_dbpath(const char *dbpath)
ALPM_LOG_FUNC;
+ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
if(!dbpath) {
pm_errno = PM_ERR_WRONG_ARGS;
return -1;
@@ -396,6 +399,7 @@ int SYMEXPORT alpm_option_add_cachedir(const char *cachedir)
ALPM_LOG_FUNC;
+ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
if(!cachedir) {
pm_errno = PM_ERR_WRONG_ARGS;
return -1;
@@ -418,6 +422,7 @@ int SYMEXPORT alpm_option_add_cachedir(const char *cachedir)
void SYMEXPORT alpm_option_set_cachedirs(alpm_list_t *cachedirs)
{
+ ASSERT(handle != NULL, RET_ERR_VOID(PM_ERR_HANDLE_NULL));
if(handle->cachedirs) FREELIST(handle->cachedirs);
if(cachedirs) handle->cachedirs = cachedirs;
}
@@ -427,6 +432,7 @@ int SYMEXPORT alpm_option_remove_cachedir(const char *cachedir)
char *vdata = NULL;
char *newcachedir;
size_t cachedirlen;
+ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
/* verify cachedir ends in a '/' */
cachedirlen = strlen(cachedir);
if(cachedir[cachedirlen-1] != '/') {
@@ -450,6 +456,7 @@ int SYMEXPORT alpm_option_set_logfile(const char *logfile)
ALPM_LOG_FUNC;
+ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
if(!logfile) {
pm_errno = PM_ERR_WRONG_ARGS;
return -1;
@@ -490,16 +497,19 @@ int SYMEXPORT alpm_option_set_signaturedir(const char *signaturedir)
void SYMEXPORT alpm_option_set_usesyslog(int usesyslog)
{
+ ASSERT(handle != NULL, RET_ERR_VOID(PM_ERR_HANDLE_NULL));
handle->usesyslog = usesyslog;
}
void SYMEXPORT alpm_option_add_noupgrade(const char *pkg)
{
+ ASSERT(handle != NULL, RET_ERR_VOID(PM_ERR_HANDLE_NULL));
handle->noupgrade = alpm_list_add(handle->noupgrade, strdup(pkg));
}
void SYMEXPORT alpm_option_set_noupgrades(alpm_list_t *noupgrade)
{
+ ASSERT(handle != NULL, RET_ERR_VOID(PM_ERR_HANDLE_NULL));
if(handle->noupgrade) FREELIST(handle->noupgrade);
if(noupgrade) handle->noupgrade = noupgrade;
}
@@ -507,6 +517,7 @@ void SYMEXPORT alpm_option_set_noupgrades(alpm_list_t *noupgrade)
int SYMEXPORT alpm_option_remove_noupgrade(const char *pkg)
{
char *vdata = NULL;
+ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
handle->noupgrade = alpm_list_remove_str(handle->noupgrade, pkg, &vdata);
if(vdata != NULL) {
FREE(vdata);
@@ -517,11 +528,13 @@ int SYMEXPORT alpm_option_remove_noupgrade(const char *pkg)
void SYMEXPORT alpm_option_add_noextract(const char *pkg)
{
+ ASSERT(handle != NULL, RET_ERR_VOID(PM_ERR_HANDLE_NULL));
handle->noextract = alpm_list_add(handle->noextract, strdup(pkg));
}
void SYMEXPORT alpm_option_set_noextracts(alpm_list_t *noextract)
{
+ ASSERT(handle != NULL, RET_ERR_VOID(PM_ERR_HANDLE_NULL));
if(handle->noextract) FREELIST(handle->noextract);
if(noextract) handle->noextract = noextract;
}
@@ -529,6 +542,7 @@ void SYMEXPORT alpm_option_set_noextracts(alpm_list_t *noextract)
int SYMEXPORT alpm_option_remove_noextract(const char *pkg)
{
char *vdata = NULL;
+ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
handle->noextract = alpm_list_remove_str(handle->noextract, pkg, &vdata);
if(vdata != NULL) {
FREE(vdata);
@@ -539,11 +553,13 @@ int SYMEXPORT alpm_option_remove_noextract(const char *pkg)
void SYMEXPORT alpm_option_add_ignorepkg(const char *pkg)
{
+ ASSERT(handle != NULL, RET_ERR_VOID(PM_ERR_HANDLE_NULL));
handle->ignorepkg = alpm_list_add(handle->ignorepkg, strdup(pkg));
}
void SYMEXPORT alpm_option_set_ignorepkgs(alpm_list_t *ignorepkgs)
{
+ ASSERT(handle != NULL, RET_ERR_VOID(PM_ERR_HANDLE_NULL));
if(handle->ignorepkg) FREELIST(handle->ignorepkg);
if(ignorepkgs) handle->ignorepkg = ignorepkgs;
}
@@ -551,6 +567,7 @@ void SYMEXPORT alpm_option_set_ignorepkgs(alpm_list_t *ignorepkgs)
int SYMEXPORT alpm_option_remove_ignorepkg(const char *pkg)
{
char *vdata = NULL;
+ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
handle->ignorepkg = alpm_list_remove_str(handle->ignorepkg, pkg, &vdata);
if(vdata != NULL) {
FREE(vdata);
@@ -561,11 +578,13 @@ int SYMEXPORT alpm_option_remove_ignorepkg(const char *pkg)
void SYMEXPORT alpm_option_add_ignoregrp(const char *grp)
{
+ ASSERT(handle != NULL, RET_ERR_VOID(PM_ERR_HANDLE_NULL));
handle->ignoregrp = alpm_list_add(handle->ignoregrp, strdup(grp));
}
void SYMEXPORT alpm_option_set_ignoregrps(alpm_list_t *ignoregrps)
{
+ ASSERT(handle != NULL, RET_ERR_VOID(PM_ERR_HANDLE_NULL));
if(handle->ignoregrp) FREELIST(handle->ignoregrp);
if(ignoregrps) handle->ignoregrp = ignoregrps;
}
@@ -573,6 +592,7 @@ void SYMEXPORT alpm_option_set_ignoregrps(alpm_list_t *ignoregrps)
int SYMEXPORT alpm_option_remove_ignoregrp(const char *grp)
{
char *vdata = NULL;
+ ASSERT(handle != NULL, RET_ERR(PM_ERR_HANDLE_NULL, -1));
handle->ignoregrp = alpm_list_remove_str(handle->ignoregrp, grp, &vdata);
if(vdata != NULL) {
FREE(vdata);
@@ -583,17 +603,20 @@ int SYMEXPORT alpm_option_remove_ignoregrp(const char *grp)
void SYMEXPORT alpm_option_set_arch(const char *arch)
{
+ ASSERT(handle != NULL, RET_ERR_VOID(PM_ERR_HANDLE_NULL));
if(handle->arch) FREE(handle->arch);
if(arch) handle->arch = strdup(arch);
}
void SYMEXPORT alpm_option_set_usedelta(int usedelta)
{
+ ASSERT(handle != NULL, RET_ERR_VOID(PM_ERR_HANDLE_NULL));
handle->usedelta = usedelta;
}
void SYMEXPORT alpm_option_set_checkspace(int checkspace)
{
+ ASSERT(handle != NULL, RET_ERR_VOID(PM_ERR_HANDLE_NULL));
handle->checkspace = checkspace;
}
diff --git a/lib/libalpm/util.h b/lib/libalpm/util.h
index 1816e360..eb1cad36 100644
--- a/lib/libalpm/util.h
+++ b/lib/libalpm/util.h
@@ -59,6 +59,10 @@
#define ASSERT(cond, action) do { if(!(cond)) { action; } } while(0)
+#define RET_ERR_VOID(err) do { pm_errno = (err); \
+ _alpm_log(PM_LOG_DEBUG, "returning error %d from %s : %s\n", err, __func__, alpm_strerrorlast()); \
+ return; } while(0)
+
#define RET_ERR(err, ret) do { pm_errno = (err); \
_alpm_log(PM_LOG_DEBUG, "returning error %d from %s : %s\n", err, __func__, alpm_strerrorlast()); \
return (ret); } while(0)
diff --git a/po/pacman.pot b/po/pacman.pot
index c27dff4b..3fb4a0c9 100644
--- a/po/pacman.pot
+++ b/po/pacman.pot
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: pacman 3.5.1\n"
"Report-Msgid-Bugs-To: http://bugs.archlinux.org/index.php?project=3\n"
-"POT-Creation-Date: 2011-03-20 23:42-0500\n"
+"POT-Creation-Date: 2011-03-27 21:37-0500\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -338,18 +338,17 @@ msgid ""
msgstr ""
#, c-format
-msgid " -n, --nosave remove configuration files as well\n"
+msgid " -n, --nosave remove configuration files\n"
msgstr ""
#, c-format
msgid ""
-" -s, --recursive remove dependencies also (that won't break packages)\n"
-" (-ss includes explicitly installed dependencies too)\n"
+" -s, --recursive remove unnecessary dependencies\n"
+" (-ss includes explicitly installed dependencies)\n"
msgstr ""
#, c-format
-msgid ""
-" -u, --unneeded remove unneeded packages (that won't break packages)\n"
+msgid " -u, --unneeded remove unneeded packages\n"
msgstr ""
#, c-format
@@ -489,7 +488,9 @@ msgid ""
msgstr ""
#, c-format
-msgid " -d, --nodeps skip dependency checks\n"
+msgid ""
+" -d, --nodeps skip dependency version checks (-dd to skip all "
+"checks)\n"
msgstr ""
#, c-format
@@ -509,7 +510,7 @@ msgstr ""
#, c-format
msgid ""
-" --print only print the targets instead of performing the "
+" --print print the targets instead of performing the "
"operation\n"
msgstr ""
@@ -586,10 +587,6 @@ msgid "only one operation may be used at a time\n"
msgstr ""
#, c-format
-msgid "no operation specified (use -h for help)\n"
-msgstr ""
-
-#, c-format
msgid "invalid option\n"
msgstr ""
@@ -669,6 +666,10 @@ msgid "you cannot perform this operation unless you are root.\n"
msgstr ""
#, c-format
+msgid "no operation specified (use -h for help)\n"
+msgstr ""
+
+#, c-format
msgid "no file was specified for --owns\n"
msgstr ""
@@ -1544,6 +1545,9 @@ msgstr ""
msgid "%s does not exist or is not a directory."
msgstr ""
+msgid "%s is not a pacman database directory."
+msgstr ""
+
msgid "You must have correct permissions to upgrade the database."
msgstr ""
diff --git a/src/pacman/sync.c b/src/pacman/sync.c
index b12206c4..0b34f045 100644
--- a/src/pacman/sync.c
+++ b/src/pacman/sync.c
@@ -578,10 +578,11 @@ static int sync_list(alpm_list_t *syncs, alpm_list_t *targets)
static alpm_list_t *syncfirst(void) {
alpm_list_t *i, *res = NULL;
+ pmdb_t *db_local = alpm_option_get_localdb();
for(i = config->syncfirst; i; i = alpm_list_next(i)) {
char *pkgname = alpm_list_getdata(i);
- pmpkg_t *pkg = alpm_db_get_pkg(alpm_option_get_localdb(), pkgname);
+ pmpkg_t *pkg = alpm_db_get_pkg(db_local, pkgname);
if(pkg == NULL) {
continue;
}