mirror of
https://github.com/moparisthebest/pacman
synced 2024-08-13 17:03:46 -04:00
new upgade042 pactest + bugfix in chk_filedifference.
This adds a pactest for the relocation of a config file between two packages (case of etc/profile moving from bash to filesystem). While running this pactest, I found out that chk_filedifference didn't work correctly with an empty list as second argument. So that's fixed now. Ref: http://www.archlinux.org/pipermail/pacman-dev/2007-December/010610.html Signed-off-by: Chantry Xavier <shiningxc@gmail.com> Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
dffa0654f2
commit
ac0605b9c2
@ -251,6 +251,10 @@ static alpm_list_t *chk_filedifference(alpm_list_t *filesA, alpm_list_t *filesB)
|
|||||||
alpm_list_t *ret = NULL;
|
alpm_list_t *ret = NULL;
|
||||||
alpm_list_t *pA = filesA, *pB = filesB;
|
alpm_list_t *pA = filesA, *pB = filesB;
|
||||||
|
|
||||||
|
if(pB == NULL) {
|
||||||
|
return(alpm_list_strdup(pA));
|
||||||
|
}
|
||||||
|
|
||||||
while(pA && pB) {
|
while(pA && pB) {
|
||||||
const char *strA = pA->data;
|
const char *strA = pA->data;
|
||||||
const char *strB = pB->data;
|
const char *strB = pB->data;
|
||||||
|
28
pactest/tests/upgrade042.py
Normal file
28
pactest/tests/upgrade042.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
self.description = "Backup file relocation"
|
||||||
|
|
||||||
|
lp1 = pmpkg("bash")
|
||||||
|
lp1.files = ["etc/profile*"]
|
||||||
|
lp1.backup = ["etc/profile"]
|
||||||
|
self.addpkg2db("local", lp1)
|
||||||
|
|
||||||
|
p1 = pmpkg("bash", "1.0-2")
|
||||||
|
self.addpkg(p1)
|
||||||
|
|
||||||
|
lp2 = pmpkg("filesystem")
|
||||||
|
self.addpkg2db("local", lp2)
|
||||||
|
|
||||||
|
p2 = pmpkg("filesystem", "1.0-2")
|
||||||
|
p2.files = ["etc/profile**"]
|
||||||
|
p2.backup = ["etc/profile"]
|
||||||
|
p2.depends = [ "bash" ]
|
||||||
|
self.addpkg(p2)
|
||||||
|
|
||||||
|
self.args = "-U %s" % " ".join([p.filename() for p in p1, p2])
|
||||||
|
|
||||||
|
self.filesystem = ["etc/profile"]
|
||||||
|
|
||||||
|
self.addrule("PKG_VERSION=bash|1.0-2")
|
||||||
|
self.addrule("PKG_VERSION=filesystem|1.0-2")
|
||||||
|
self.addrule("!FILE_PACSAVE=etc/profile")
|
||||||
|
self.addrule("FILE_PACNEW=etc/profile")
|
||||||
|
self.addrule("FILE_EXIST=etc/profile")
|
Loading…
Reference in New Issue
Block a user