[pacman-dev] IgnorePkg, Holdpkg in libalpm/remove.c
Nagy Gabor
ngaba at bibl.u-szeged.hu
Mon Nov 26 06:00:54 EST 2007
Hi!
Here is a pactest file derived from remove042.py [not to commit]:
---remove049.py---
self.description = "Cascade remove a package required by a HoldPkg package"
lp1 = pmpkg("pkg1")
lp1.depends = ["imaginary"]
self.addpkg2db("local", lp1)
lp2 = pmpkg("pkg2")
lp2.provides = ["imaginary"]
self.addpkg2db("local", lp2)
self.option["holdpkg"] = ["pkg1"]
self.args = "-Rc %s" % lp2.name
self.addrule("PACMAN_RETCODE=0")
self.addrule("!PKG_EXIST=pkg1")
self.addrule("!PKG_EXIST=pkg2")
-------------------
[Note: lp2.requiredby is not needed now.]
As you see, -Rc simply elects a holdpkg for removal without any warning [but at
least it prints a package summary before commit].
The same for -Rs <- this is "harder" to fix [elegantly], because
alpm_recursedeps is a general-purpose deps.c function.
You probably noticed IgnorePkg in the subject: -Rs and -Rc show, that this can
be useful with -R too [we may differentiate between RemoveIgnorePkg,
UpgradeIgnorePkg, and (transaction) IgnorePkg].
Bye
----------------------------------------------------
SZTE Egyetemi Könyvtár - http://www.bibl.u-szeged.hu
This mail sent through IMP: http://horde.org/imp/
More information about the pacman-dev
mailing list