* install -c [--component] and remove -c [--component] is added.

pisi install -c desktop.kde -c desktop.gnome amsn amsn-kde ...
This commit is contained in:
Faik Uygur
2006-11-06 12:40:36 +00:00
parent bb526aa66d
commit bd5f34ed8e
+28 -7
View File
@@ -594,17 +594,28 @@ expanded to package names.
default=False, help=_("Ignore file conflicts")) default=False, help=_("Ignore file conflicts"))
group.add_option("--ignore-package-conflicts", action="store_true", group.add_option("--ignore-package-conflicts", action="store_true",
default=False, help=_("Ignore package conflicts")) default=False, help=_("Ignore package conflicts"))
group.add_option("-c", "--component", action="append",
default=None, help=_("Install component's and recursive component's packages"))
group.add_option("-f", "--fetch-only", action="store_true", group.add_option("-f", "--fetch-only", action="store_true",
default=False, help=_("Fetch upgrades but do not install.")) default=False, help=_("Fetch upgrades but do not install."))
self.parser.add_option_group(group) self.parser.add_option_group(group)
def run(self): def run(self):
if not self.args: self.init()
components = ctx.get_option('component')
if not components and not self.args:
self.help() self.help()
return return
self.init() packages = []
pisi.api.install(self.args, ctx.get_option('reinstall')) if components:
for name in components:
if ctx.componentdb.has_component(name):
packages.extend(ctx.componentdb.get_union_packages(name, walk=True))
packages.extend(self.args)
pisi.api.install(packages, ctx.get_option('reinstall'))
self.finalize() self.finalize()
@@ -737,17 +748,27 @@ expanded to package names.
def options(self): def options(self):
group = OptionGroup(self.parser, _("remove options")) group = OptionGroup(self.parser, _("remove options"))
super(Remove, self).options(group) super(Remove, self).options(group)
group.add_option("-c", "--component", action="append",
default=None, help=_("Remove component's and recursive component's packages"))
self.parser.add_option_group(group) self.parser.add_option_group(group)
def run(self): def run(self):
if not self.args: self.init()
components = ctx.get_option('component')
if not components and not self.args:
self.help() self.help()
return return
self.init() packages = []
pisi.api.remove(self.args) if components:
self.finalize() for name in components:
if ctx.componentdb.has_component(name):
packages.extend(ctx.componentdb.get_union_packages(name, walk=True))
packages.extend(self.args)
pisi.api.remove(packages)
self.finalize()
class ConfigurePending(PackageOp): class ConfigurePending(PackageOp):
"""Configure pending packages """Configure pending packages