diff options
author | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-05-17 15:07:45 -0400 |
---|---|---|
committer | Chris St. Pierre <chris.a.st.pierre@gmail.com> | 2013-05-17 15:07:45 -0400 |
commit | b7e2699f5156607258ed0d500c5d6d6b92c35f26 (patch) | |
tree | 24bde5be78c5d9920d21b3f79de06474ff3d282f /src/sbin/bcfg2-info | |
parent | 044213c789c4f1ee214da3d70f02352b1aaa8673 (diff) | |
parent | 7e93fe741c17203fa63f60a7d1f66bfcdfb90d03 (diff) | |
download | bcfg2-b7e2699f5156607258ed0d500c5d6d6b92c35f26.tar.gz bcfg2-b7e2699f5156607258ed0d500c5d6d6b92c35f26.tar.bz2 bcfg2-b7e2699f5156607258ed0d500c5d6d6b92c35f26.zip |
Merge branch 'maint'
Conflicts:
doc/appendix/guides/centos.txt
doc/server/plugins/grouping/metadata.txt
setup.py
src/lib/Bcfg2/Client/Frame.py
src/lib/Bcfg2/Client/Proxy.py
src/lib/Bcfg2/Server/Lint/Genshi.py
src/lib/Bcfg2/Server/Lint/Validate.py
src/lib/Bcfg2/Server/Plugins/Bundler.py
src/lib/Bcfg2/Server/Plugins/SSHbase.py
src/sbin/bcfg2-lint
Diffstat (limited to 'src/sbin/bcfg2-info')
-rwxr-xr-x | src/sbin/bcfg2-info | 30 |
1 files changed, 17 insertions, 13 deletions
diff --git a/src/sbin/bcfg2-info b/src/sbin/bcfg2-info index 101530cac..4654359f7 100755 --- a/src/sbin/bcfg2-info +++ b/src/sbin/bcfg2-info @@ -626,30 +626,34 @@ Bcfg2 client itself.""") self.fam.debug = True def do_packageresolve(self, args): - """ packageresolve <hostname> <package> [<package>...] - - Resolve the specified set of packages """ + """ packageresolve <hostname> [<package> [<package>...]] - + Resolve packages for the given host, optionally specifying a + set of packages """ arglist = args.split(" ") - if len(arglist) < 2: + if len(arglist) < 1: print(self._get_usage(self.do_packageresolve)) return - if 'Packages' not in self.plugins: + try: + pkgs = self.plugins['Packages'] + except KeyError: print("Packages plugin not enabled") return - self.plugins['Packages'].toggle_debug() - - indep = lxml.etree.Element("Independent") - structures = [lxml.etree.Element("Bundle", name="packages")] - for arg in arglist[1:]: - lxml.etree.SubElement(structures[0], "Package", name=arg) + pkgs.toggle_debug() hostname = arglist[0] metadata = self.build_metadata(hostname) - # pylint: disable=W0212 - self.plugins['Packages']._build_packages(metadata, indep, structures) - # pylint: enable=W0212 + indep = lxml.etree.Element("Independent") + if len(arglist) > 1: + structures = [lxml.etree.Element("Bundle", name="packages")] + for arg in arglist[1:]: + lxml.etree.SubElement(structures[0], "Package", name=arg) + else: + structures = self.GetStructures(metadata) + pkgs._build_packages(metadata, indep, # pylint: disable=W0212 + structures) print("%d new packages added" % len(indep.getchildren())) if len(indep.getchildren()): print(" %s" % "\n ".join(lxml.etree.tostring(p) |