1
0
mirror of https://github.com/moparisthebest/pacman synced 2024-11-15 22:05:02 -05:00

add a new upgrade026 pactest for backup handling.

This is the bash case when the /etc/profile file was removed by error from
the package, but stayed in the backup array.

Ref:
http://www.archlinux.org/pipermail/arch-dev-public/2007-December/003556.html

Also fixed a little typo in add.c, but it's disabled code.

Signed-off-by: Chantry Xavier <shiningxc@gmail.com>
This commit is contained in:
Chantry Xavier 2007-12-29 18:06:40 +01:00 committed by Dan McGee
parent b3c6bdda38
commit 01930400a5
2 changed files with 18 additions and 3 deletions

View File

@ -259,9 +259,7 @@ static int upgrade_remove(pmpkg_t *oldpkg, pmpkg_t *newpkg, pmtrans_t *trans, pm
_alpm_log(PM_LOG_DEBUG, "adding %s to the NoUpgrade array temporarily\n", _alpm_log(PM_LOG_DEBUG, "adding %s to the NoUpgrade array temporarily\n",
backup); backup);
handle->noupgrade = alpm_list_add(handle->noupgrade, handle->noupgrade = alpm_list_add(handle->noupgrade,
_alpm_backup_file(backup)); backup);
handle->noupgrade = alpm_list_add(handle->noupgrade,
backup);
} }
} }
#endif #endif

View File

@ -0,0 +1,17 @@
self.description = "Upgrade a package, with a file leaving the pkg but staying in 'backup'"
lp = pmpkg("dummy")
lp.files = ["etc/dummy.conf*"]
lp.backup = ["etc/dummy.conf"]
self.addpkg2db("local", lp)
p = pmpkg("dummy", "1.0-2")
p.backup = ["etc/dummy.conf"]
self.addpkg(p)
self.args = "-U %s" % p.filename()
self.addrule("PKG_VERSION=dummy|1.0-2")
self.addrule("FILE_PACSAVE=etc/dummy.conf")
self.addrule("!FILE_PACNEW=etc/dummy.conf")
self.addrule("FILE_EXIST=etc/dummy.conf")