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')
|
||||
--------------------------------------------------
|
||||
*-d, \--nodeps*::
|
||||
Skips all dependency checks. Normally, pacman will always check a
|
||||
package's dependency fields to ensure that all dependencies are
|
||||
installed and there are no package conflicts in the system.
|
||||
Skips dependency version checks. Package names are still checked. Normally,
|
||||
pacman will always check a package's dependency fields to ensure that all
|
||||
dependencies are installed and there are no package conflicts in the
|
||||
system. Specify this option twice to skip all dependency checks.
|
||||
|
||||
*-k, \--dbonly*::
|
||||
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)
|
||||
{
|
||||
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 OP_NOPROGRESSBAR: config->noprogressbar = 1; 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.depends = ["provision>1.0-1"]
|
||||
|
@ -8,11 +8,9 @@ p2 = pmpkg("pkg2", "1.0-2")
|
|||
p2.provides = ["provision=1.0-1"]
|
||||
self.addpkg2db("sync", p2)
|
||||
|
||||
self.args = "-Sdd %s" % p1.name
|
||||
self.args = "-Sd %s" % p1.name
|
||||
|
||||
self.addrule("PACMAN_RETCODE=0")
|
||||
self.addrule("PKG_EXIST=pkg1")
|
||||
self.addrule("PKG_EXIST=pkg2")
|
||||
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.depends = ["provision>=1.0-2"]
|
||||
|
@ -8,7 +8,7 @@ p2 = pmpkg("pkg2", "1.0-2")
|
|||
p2.provides = ["provision=1.0-1"]
|
||||
self.addpkg2db("sync", p2)
|
||||
|
||||
self.args = "-Sd %s" % p1.name
|
||||
self.args = "-Sdd %s" % p1.name
|
||||
|
||||
self.addrule("PACMAN_RETCODE=0")
|
||||
self.addrule("PKG_EXIST=pkg1")
|
||||
|
|
|
@ -8,10 +8,8 @@ p2 = pmpkg("pkg2", "1.0-2")
|
|||
p2.provides = ["provision=1.0-1"]
|
||||
self.addpkg2db("sync", p2)
|
||||
|
||||
self.args = "-Sdd %s" % p1.name
|
||||
self.args = "-Sd %s" % p1.name
|
||||
|
||||
self.addrule("PACMAN_RETCODE=1")
|
||||
self.addrule("!PKG_EXIST=pkg1")
|
||||
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.depends = ["provision=1.0"]
|
||||
|
@ -12,7 +12,7 @@ sp2 = pmpkg("pkg2", "1.1-1")
|
|||
sp2.provides = ["provision=1.1"]
|
||||
self.addpkg2db("sync", sp2)
|
||||
|
||||
self.args = "-Sudd"
|
||||
self.args = "-Sud"
|
||||
|
||||
self.addrule("PACMAN_RETCODE=0")
|
||||
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.conflicts = ["pkg2", "pkg3"]
|
||||
|
@ -10,7 +10,7 @@ self.addpkg2db("local", lp1);
|
|||
lp2 = pmpkg("pkg3")
|
||||
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("PKG_EXIST=pkg1")
|
||||
|
|
|
@ -6,7 +6,7 @@ p.files = ["bin/dummy",
|
|||
p.depends = ["dep1"]
|
||||
self.addpkg(p)
|
||||
|
||||
self.args = "-Ud %s" % p.filename()
|
||||
self.args = "-Udd %s" % p.filename()
|
||||
|
||||
self.addrule("PACMAN_RETCODE=0")
|
||||
self.addrule("PKG_EXIST=dummy")
|
||||
|
|
Loading…
Add table
Reference in a new issue