make -d less strict; add -dd option
-d skips checking the version of a dependency. -dd skips the whole dependency check. Signed-off-by: Xavier Chantry <chantry.xavier@gmail.com> Signed-off-by: Florian Pritz <bluewind@server-speed.net> Signed-off-by: Dan McGee <dan@archlinux.org>
This commit is contained in:
parent
b6ec9019d7
commit
111e07d0be
8 changed files with 21 additions and 18 deletions
|
@ -154,9 +154,10 @@ Options
|
||||||
Transaction Options (apply to '-S', '-R' and '-U')
|
Transaction Options (apply to '-S', '-R' and '-U')
|
||||||
--------------------------------------------------
|
--------------------------------------------------
|
||||||
*-d, \--nodeps*::
|
*-d, \--nodeps*::
|
||||||
Skips all dependency checks. Normally, pacman will always check a
|
Skips dependency version checks. Package names are still checked. Normally,
|
||||||
package's dependency fields to ensure that all dependencies are
|
pacman will always check a package's dependency fields to ensure that all
|
||||||
installed and there are no package conflicts in the system.
|
dependencies are installed and there are no package conflicts in the
|
||||||
|
system. Specify this option twice to skip all dependency checks.
|
||||||
|
|
||||||
*-k, \--dbonly*::
|
*-k, \--dbonly*::
|
||||||
Adds/Removes the database entry only, leaves all files in place.
|
Adds/Removes the database entry only, leaves all files in place.
|
||||||
|
|
|
@ -552,7 +552,13 @@ static int parsearg_query(int opt)
|
||||||
static int parsearg_trans(int opt)
|
static int parsearg_trans(int opt)
|
||||||
{
|
{
|
||||||
switch(opt) {
|
switch(opt) {
|
||||||
case 'd': config->flags |= PM_TRANS_FLAG_NODEPS; break;
|
case 'd':
|
||||||
|
if(config->flags & PM_TRANS_FLAG_NODEPVERSION) {
|
||||||
|
config->flags |= PM_TRANS_FLAG_NODEPS;
|
||||||
|
} else {
|
||||||
|
config->flags |= PM_TRANS_FLAG_NODEPVERSION;
|
||||||
|
}
|
||||||
|
break;
|
||||||
case 'k': config->flags |= PM_TRANS_FLAG_DBONLY; break;
|
case 'k': config->flags |= PM_TRANS_FLAG_DBONLY; break;
|
||||||
case OP_NOPROGRESSBAR: config->noprogressbar = 1; break;
|
case OP_NOPROGRESSBAR: config->noprogressbar = 1; break;
|
||||||
case OP_NOSCRIPTLET: config->flags |= PM_TRANS_FLAG_NOSCRIPTLET; break;
|
case OP_NOSCRIPTLET: config->flags |= PM_TRANS_FLAG_NOSCRIPTLET; break;
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
self.description = "nodepversion: -Sdd works"
|
self.description = "nodepversion: -Sd works"
|
||||||
|
|
||||||
p1 = pmpkg("pkg1", "1.0-2")
|
p1 = pmpkg("pkg1", "1.0-2")
|
||||||
p1.depends = ["provision>1.0-1"]
|
p1.depends = ["provision>1.0-1"]
|
||||||
|
@ -8,11 +8,9 @@ p2 = pmpkg("pkg2", "1.0-2")
|
||||||
p2.provides = ["provision=1.0-1"]
|
p2.provides = ["provision=1.0-1"]
|
||||||
self.addpkg2db("sync", p2)
|
self.addpkg2db("sync", p2)
|
||||||
|
|
||||||
self.args = "-Sdd %s" % p1.name
|
self.args = "-Sd %s" % p1.name
|
||||||
|
|
||||||
self.addrule("PACMAN_RETCODE=0")
|
self.addrule("PACMAN_RETCODE=0")
|
||||||
self.addrule("PKG_EXIST=pkg1")
|
self.addrule("PKG_EXIST=pkg1")
|
||||||
self.addrule("PKG_EXIST=pkg2")
|
self.addrule("PKG_EXIST=pkg2")
|
||||||
self.addrule("PKG_DEPENDS=pkg1|provision>1.0-1")
|
self.addrule("PKG_DEPENDS=pkg1|provision>1.0-1")
|
||||||
|
|
||||||
self.expectfailure = True
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
self.description = "nodepversion: -Sd works but no deps"
|
self.description = "nodepversion: -Sdd works but no deps"
|
||||||
|
|
||||||
p1 = pmpkg("pkg1", "1.0-2")
|
p1 = pmpkg("pkg1", "1.0-2")
|
||||||
p1.depends = ["provision>=1.0-2"]
|
p1.depends = ["provision>=1.0-2"]
|
||||||
|
@ -8,7 +8,7 @@ p2 = pmpkg("pkg2", "1.0-2")
|
||||||
p2.provides = ["provision=1.0-1"]
|
p2.provides = ["provision=1.0-1"]
|
||||||
self.addpkg2db("sync", p2)
|
self.addpkg2db("sync", p2)
|
||||||
|
|
||||||
self.args = "-Sd %s" % p1.name
|
self.args = "-Sdd %s" % p1.name
|
||||||
|
|
||||||
self.addrule("PACMAN_RETCODE=0")
|
self.addrule("PACMAN_RETCODE=0")
|
||||||
self.addrule("PKG_EXIST=pkg1")
|
self.addrule("PKG_EXIST=pkg1")
|
||||||
|
|
|
@ -8,10 +8,8 @@ p2 = pmpkg("pkg2", "1.0-2")
|
||||||
p2.provides = ["provision=1.0-1"]
|
p2.provides = ["provision=1.0-1"]
|
||||||
self.addpkg2db("sync", p2)
|
self.addpkg2db("sync", p2)
|
||||||
|
|
||||||
self.args = "-Sdd %s" % p1.name
|
self.args = "-Sd %s" % p1.name
|
||||||
|
|
||||||
self.addrule("PACMAN_RETCODE=1")
|
self.addrule("PACMAN_RETCODE=1")
|
||||||
self.addrule("!PKG_EXIST=pkg1")
|
self.addrule("!PKG_EXIST=pkg1")
|
||||||
self.addrule("!PKG_EXIST=pkg2")
|
self.addrule("!PKG_EXIST=pkg2")
|
||||||
|
|
||||||
self.expectfailure = True
|
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
self.description = "nodepversion: -Sudd works"
|
self.description = "nodepversion: -Sud works"
|
||||||
|
|
||||||
p1 = pmpkg("pkg1", "1.0-1")
|
p1 = pmpkg("pkg1", "1.0-1")
|
||||||
p1.depends = ["provision=1.0"]
|
p1.depends = ["provision=1.0"]
|
||||||
|
@ -12,7 +12,7 @@ sp2 = pmpkg("pkg2", "1.1-1")
|
||||||
sp2.provides = ["provision=1.1"]
|
sp2.provides = ["provision=1.1"]
|
||||||
self.addpkg2db("sync", sp2)
|
self.addpkg2db("sync", sp2)
|
||||||
|
|
||||||
self.args = "-Sudd"
|
self.args = "-Sud"
|
||||||
|
|
||||||
self.addrule("PACMAN_RETCODE=0")
|
self.addrule("PACMAN_RETCODE=0")
|
||||||
self.addrule("PKG_VERSION=pkg1|1.0-1")
|
self.addrule("PKG_VERSION=pkg1|1.0-1")
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
self.description = "Install a sync package conflicting with two local ones (-d)"
|
self.description = "Install a sync package conflicting with two local ones (-dd)"
|
||||||
|
|
||||||
sp = pmpkg("pkg1")
|
sp = pmpkg("pkg1")
|
||||||
sp.conflicts = ["pkg2", "pkg3"]
|
sp.conflicts = ["pkg2", "pkg3"]
|
||||||
|
@ -10,7 +10,7 @@ self.addpkg2db("local", lp1);
|
||||||
lp2 = pmpkg("pkg3")
|
lp2 = pmpkg("pkg3")
|
||||||
self.addpkg2db("local", lp2);
|
self.addpkg2db("local", lp2);
|
||||||
|
|
||||||
self.args = "-Sd %s --ask=4" % sp.name
|
self.args = "-Sdd %s --ask=4" % sp.name
|
||||||
|
|
||||||
self.addrule("PACMAN_RETCODE=0")
|
self.addrule("PACMAN_RETCODE=0")
|
||||||
self.addrule("PKG_EXIST=pkg1")
|
self.addrule("PKG_EXIST=pkg1")
|
||||||
|
|
|
@ -6,7 +6,7 @@ p.files = ["bin/dummy",
|
||||||
p.depends = ["dep1"]
|
p.depends = ["dep1"]
|
||||||
self.addpkg(p)
|
self.addpkg(p)
|
||||||
|
|
||||||
self.args = "-Ud %s" % p.filename()
|
self.args = "-Udd %s" % p.filename()
|
||||||
|
|
||||||
self.addrule("PACMAN_RETCODE=0")
|
self.addrule("PACMAN_RETCODE=0")
|
||||||
self.addrule("PKG_EXIST=dummy")
|
self.addrule("PKG_EXIST=dummy")
|
||||||
|
|
Loading…
Add table
Reference in a new issue