diff --git a/pisi/api.py b/pisi/api.py index 195ba9c8..d3044d59 100644 --- a/pisi/api.py +++ b/pisi/api.py @@ -112,6 +112,12 @@ def install_pkg_files(package_URIs): ctx.ui.error('Mixing file names and package names not supported YET.\n') return False + if ctx.config.get_option('ignore_dependency'): + # simple code path then + for x in package_URIs: + operations.install_single_file(x) + return True + # read the package information into memory first # regardless of which distribution they come from d_t = {} diff --git a/pisi/cli/commands.py b/pisi/cli/commands.py index c0f221bf..ade7a52f 100644 --- a/pisi/cli/commands.py +++ b/pisi/cli/commands.py @@ -282,9 +282,9 @@ class PackageOp(Command): p = self.parser p.add_option("-B", "--ignore-comar", action="store_true", default=False, help="bypass comar configuration agent") - p.add_option("", "--ignore-dependency", - action="store_true", - default=False, help="death of sanity") + p.add_option("", "--ignore-dependency", action="store_true", + default=False, + help="do not take dependency information into account") def init(self): super(PackageOp, self).init(True) diff --git a/pisi/install.py b/pisi/install.py index 16d329d9..45015e19 100644 --- a/pisi/install.py +++ b/pisi/install.py @@ -75,10 +75,11 @@ class Installer: raise InstallError("Package conflicts " + pkg) # check dependencies - if not dependency.installable(self.pkginfo.name): - ctx.ui.error('Dependencies for ' + self.pkginfo.name + - ' not satisfied') - raise InstallError("Package not installable") + if not ctx.config.get_option('ignore_dependency'): + if not dependency.installable(self.pkginfo.name): + ctx.ui.error('Dependencies for ' + self.pkginfo.name + + ' not satisfied') + raise InstallError("Package not installable") def reinstall(self): "check reinstall, confirm action, and remove package if reinstall"