summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--contrib/zsh_completion20
-rw-r--r--doc/PKGBUILD.5.txt2
-rw-r--r--lib/libalpm/deps.c20
-rw-r--r--lib/libalpm/remove.c4
-rw-r--r--lib/libalpm/util.c2
-rw-r--r--scripts/gensync.sh.in6
-rw-r--r--scripts/updatesync.sh.in4
-rw-r--r--src/pacman/callback.c18
8 files changed, 39 insertions, 37 deletions
diff --git a/contrib/zsh_completion b/contrib/zsh_completion
index 5ea6c33b..8dec06df 100644
--- a/contrib/zsh_completion
+++ b/contrib/zsh_completion
@@ -49,7 +49,6 @@ _pacman_opts_query_modifiers=(
'-c[List package changelog]'
'-d[List packages installed as dependencies]'
'-e[List packages explicitly installed]'
- '-g[List all members of a package group]'
'-i[View package information]'
'-ii[View package information including backup files]'
'-l[List package contents]'
@@ -87,8 +86,10 @@ _pacman_opts_sync_modifiers=(
'-u[Upgrade all out-of-date packages]'
'-w[Download packages only]'
'-y[Download fresh package databases]'
- '*--ignore[Ignore a package upgrade]:package:_pacman_completions_installed_packages'
- '*--ignoregroup[Ignore a group upgrade]:package group:_pacman_completions_all_groups'
+ '*--ignore[Ignore a package upgrade]:package:
+ _pacman_completions_all_packages'
+ '*--ignoregroup[Ignore a group upgrade]:package group:
+ _pacman_completions_all_groups'
'--asdeps[Install packages as non-explicitly installed]'
)
@@ -288,17 +289,6 @@ _pacman_get_command() {
# main dispatcher
_pacman() {
- # First check if --ignoregroup was the last command given. If so, complete
- # all groups.
- if [ "$words[-2]" = "--ignoregroup" ]; then
- _arguments -s : \
- "$_pacman_opts_common[@]" \
- "$_pacman_opts_sync_modifiers[@]" \
- '*:package group:_pacman_completions_all_groups'
- return 0
- fi
-
- # Otherwise, complete on the given command.
case $words[2] in
-A*) _pacman_action_add ;;
-Q*g*) # ipkg groups
@@ -307,7 +297,7 @@ _pacman() {
"$_pacman_opts_query_modifiers[@]" \
'*:groups:_pacman_completions_installed_groups'
;;
- -Q*o*) # file *.pkg.tar.gz
+ -Q*o*) # file
_arguments -s : \
"$_pacman_opts_common[@]" \
"$_pacman_opts_query_modifiers[@]" \
diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt
index 86becf4e..3ef9d04e 100644
--- a/doc/PKGBUILD.5.txt
+++ b/doc/PKGBUILD.5.txt
@@ -270,7 +270,7 @@ from.
*_svntrunk*;;
The trunk of the SVN repository.
- *_cvsmod*;;
+ *_svnmod*;;
The SVN module to fetch.
*Git*::
diff --git a/lib/libalpm/deps.c b/lib/libalpm/deps.c
index d839c6b1..46cdc0c3 100644
--- a/lib/libalpm/deps.c
+++ b/lib/libalpm/deps.c
@@ -235,7 +235,7 @@ alpm_list_t SYMEXPORT *alpm_checkdeps(pmdb_t *db, int reversedeps,
alpm_list_t *remove, alpm_list_t *upgrade)
{
alpm_list_t *i, *j;
- alpm_list_t *joined, *dblist;
+ alpm_list_t *targets, *dblist = NULL, *modified = NULL;
alpm_list_t *baddeps = NULL;
pmdepmissing_t *miss = NULL;
@@ -245,9 +245,16 @@ alpm_list_t SYMEXPORT *alpm_checkdeps(pmdb_t *db, int reversedeps,
return(NULL);
}
- joined = alpm_list_join(alpm_list_copy(remove), alpm_list_copy(upgrade));
- dblist = alpm_list_diff(_alpm_db_get_pkgcache(db), joined, _alpm_pkg_cmp);
- alpm_list_free(joined);
+ targets = alpm_list_join(alpm_list_copy(remove), alpm_list_copy(upgrade));
+ for(i = _alpm_db_get_pkgcache(db); i; i = i->next) {
+ void *pkg = i->data;
+ if(alpm_list_find(targets, pkg, _alpm_pkg_cmp)) {
+ modified = alpm_list_add(modified, pkg);
+ } else {
+ dblist = alpm_list_add(dblist, pkg);
+ }
+ }
+ alpm_list_free(targets);
/* look for unsatisfied dependencies of the upgrade list */
for(i = upgrade; i; i = i->next) {
@@ -275,9 +282,6 @@ alpm_list_t SYMEXPORT *alpm_checkdeps(pmdb_t *db, int reversedeps,
if(reversedeps) {
/* reversedeps handles the backwards dependencies, ie,
* the packages listed in the requiredby field. */
-
- alpm_list_t *modified = alpm_list_diff(_alpm_db_get_pkgcache(db), dblist, _alpm_pkg_cmp);
-
for(i = dblist; i; i = i->next) {
pmpkg_t *lp = i->data;
for(j = alpm_pkg_get_depends(lp); j; j = j->next) {
@@ -297,8 +301,8 @@ alpm_list_t SYMEXPORT *alpm_checkdeps(pmdb_t *db, int reversedeps,
}
}
}
- alpm_list_free(modified);
}
+ alpm_list_free(modified);
alpm_list_free(dblist);
return(baddeps);
diff --git a/lib/libalpm/remove.c b/lib/libalpm/remove.c
index 086ed733..10a055bb 100644
--- a/lib/libalpm/remove.c
+++ b/lib/libalpm/remove.c
@@ -147,7 +147,9 @@ int _alpm_remove_prepare(pmtrans_t *trans, pmdb_t *db, alpm_list_t **data)
_alpm_recursedeps(db, trans->packages, 0);
}
- EVENT(trans, PM_TRANS_EVT_CHECKDEPS_DONE, NULL, NULL);
+ if(!(trans->flags & PM_TRANS_FLAG_NODEPS)) {
+ EVENT(trans, PM_TRANS_EVT_CHECKDEPS_DONE, NULL, NULL);
+ }
return(0);
}
diff --git a/lib/libalpm/util.c b/lib/libalpm/util.c
index 64006d1f..d09b9b14 100644
--- a/lib/libalpm/util.c
+++ b/lib/libalpm/util.c
@@ -582,9 +582,7 @@ const char *_alpm_filecache_setup(void)
}
/* we didn't find a valid cache directory. use /tmp. */
- i = alpm_option_get_cachedirs();
tmp = alpm_list_add(NULL, strdup("/tmp/"));
- FREELIST(i);
alpm_option_set_cachedirs(tmp);
_alpm_log(PM_LOG_DEBUG, "using cachedir: %s", "/tmp/\n");
_alpm_log(PM_LOG_WARNING, _("couldn't create package cache, using /tmp instead\n"));
diff --git a/scripts/gensync.sh.in b/scripts/gensync.sh.in
index b49c26ee..04f80022 100644
--- a/scripts/gensync.sh.in
+++ b/scripts/gensync.sh.in
@@ -130,13 +130,13 @@ for file in $(find "$rootdir"/* -name "$BUILDSCRIPT"); do
CARCH='any'
fi
if [ "$pkgdir" != "" ]; then
- pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel-$CARCH.$PKGEXT"
+ pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel-${CARCH}${PKGEXT}"
else
- pkgfile="$destdir/$pkgname-$pkgver-$pkgrel-$CARCH.$PKGEXT"
+ pkgfile="$destdir/$pkgname-$pkgver-$pkgrel-${CARCH}${PKGEXT}"
fi
if [ ! -f "$pkgfile" ]; then
- error "$(gettext "could not find %s-%s-%s-%s.%s - skipping")" $pkgname $pkgver $pkgrel $CARCH $PKGEXT
+ error "$(gettext "could not find %s-%s-%s-%s%s - skipping")" $pkgname $pkgver $pkgrel $CARCH $PKGEXT
else
if check_force; then
forcepkgs="$forcepkgs $pkgfile"
diff --git a/scripts/updatesync.sh.in b/scripts/updatesync.sh.in
index 2e47ac94..900f11f3 100644
--- a/scripts/updatesync.sh.in
+++ b/scripts/updatesync.sh.in
@@ -127,10 +127,10 @@ if [ "$action" = "upd" ]; then # INSERT / UPDATE
if [ "$arch" = 'any' ]; then
CARCH='any'
fi
- pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel-$CARCH.$PKGEXT"
+ pkgfile="$pkgdir/$pkgname-$pkgver-$pkgrel-${CARCH}${PKGEXT}"
if [ ! -f "$pkgfile" ]; then
- die "$(gettext "could not find %s-%s-%s-%s.%s - aborting")" $pkgname $pkgver $pkgrel $CARCH $PKGEXT
+ die "$(gettext "could not find %s-%s-%s-%s%s - aborting")" $pkgname $pkgver $pkgrel $CARCH $PKGEXT
fi
if check_force; then
diff --git a/src/pacman/callback.c b/src/pacman/callback.c
index dddbc275..9742d7f0 100644
--- a/src/pacman/callback.c
+++ b/src/pacman/callback.c
@@ -278,11 +278,19 @@ void cb_trans_conv(pmtransconv_t event, void *data1, void *data2,
*response = yesno(str);
break;
case PM_TRANS_CONV_REPLACE_PKG:
- snprintf(str, LOG_STR_LEN, _(":: Replace %s with %s/%s? [Y/n] "),
- alpm_pkg_get_name(data1),
- (char *)data3,
- alpm_pkg_get_name(data2));
- *response = yesno(str);
+ if(!config->noconfirm) {
+ snprintf(str, LOG_STR_LEN, _(":: Replace %s with %s/%s? [Y/n] "),
+ alpm_pkg_get_name(data1),
+ (char *)data3,
+ alpm_pkg_get_name(data2));
+ *response = yesno(str);
+ } else {
+ printf(_("Replacing %s with %s/%s\n."),
+ alpm_pkg_get_name(data1),
+ (char *)data3,
+ alpm_pkg_get_name(data2));
+ *response = 1;
+ }
break;
case PM_TRANS_CONV_CONFLICT_PKG:
snprintf(str, LOG_STR_LEN, _(":: %s conflicts with %s. Remove %s? [Y/n] "),