From 8413864e1e196b59ec08bac781c364e233e711fb Mon Sep 17 00:00:00 2001 From: Sol Jerome Date: Mon, 19 Mar 2012 11:53:50 -0500 Subject: Pkgmgr: Fix DeprecationWarning (reported by odenbach on IRC) Signed-off-by: Sol Jerome --- src/lib/Server/Plugins/Pkgmgr.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/Server/Plugins/Pkgmgr.py b/src/lib/Server/Plugins/Pkgmgr.py index 73c2813d4..bc11bfdcf 100644 --- a/src/lib/Server/Plugins/Pkgmgr.py +++ b/src/lib/Server/Plugins/Pkgmgr.py @@ -5,7 +5,10 @@ import logging import re import Bcfg2.Server.Plugin import lxml -from sets import Set +try: + set +except NameError: + from sets import Set as set logger = logging.getLogger('Bcfg2.Plugins.Pkgmgr') @@ -64,7 +67,7 @@ class PNode(Bcfg2.Server.Plugin.INode): if 'Package' not in pdict: pdict['Package'] = set() for child in data.getchildren(): - attrs = Set(data.attrib.keys()).difference(child.attrib.keys() + ['name']) + attrs = set(data.attrib.keys()).difference(child.attrib.keys() + ['name']) for attr in attrs: try: child.set(attr, data.get(attr)) -- cgit v1.2.3-1-g7c22 From 5a030a3a02a3bd5ecdac06de1482d17ad92ad5de Mon Sep 17 00:00:00 2001 From: Sol Jerome Date: Tue, 20 Mar 2012 07:58:43 -0500 Subject: Cfg: Add debug_log method to CfgEntrySet Prevents a traceback from happening because this method was missing. Signed-off-by: Sol Jerome --- src/lib/Server/Plugins/Cfg.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/lib/Server/Plugins/Cfg.py b/src/lib/Server/Plugins/Cfg.py index 1ea8e4e75..fafc6c638 100644 --- a/src/lib/Server/Plugins/Cfg.py +++ b/src/lib/Server/Plugins/Cfg.py @@ -101,6 +101,10 @@ class CfgEntrySet(Bcfg2.Server.Plugin.EntrySet): self.specific = CfgMatcher(path.split('/')[-1]) path = path + def debug_log(self, message, flag=None): + if (flag is None and self.debug_flag) or flag: + self.logger.error(message) + def sort_by_specific(self, one, other): return cmp(one.specific, other.specific) -- cgit v1.2.3-1-g7c22 From 57d6278e265569401f3f5c2e302b8abd93bb3847 Mon Sep 17 00:00:00 2001 From: Sol Jerome Date: Tue, 20 Mar 2012 11:24:25 -0500 Subject: Bundler: Fix tb from missing Bundle (Reported by jgd on IRC) Signed-off-by: Sol Jerome --- src/lib/Server/Plugins/Bundler.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/Server/Plugins/Bundler.py b/src/lib/Server/Plugins/Bundler.py index 418e47bcb..7b3e96556 100644 --- a/src/lib/Server/Plugins/Bundler.py +++ b/src/lib/Server/Plugins/Bundler.py @@ -75,13 +75,17 @@ class Bundler(Bcfg2.Server.Plugin.Plugin, def BuildStructures(self, metadata): """Build all structures for client (metadata).""" bundleset = [] + entries = [] bundle_entries = {} for key, item in self.entries.items(): bundle_entries.setdefault(self.patterns.match(os.path.basename(key)).group('name'), []).append(item) for bundlename in metadata.bundles: - entries = bundle_entries[bundlename] + try: + entries = bundle_entries[bundlename] + except KeyError: + self.logger.error("Bundler: Bundle %s does not exist" % bundlename) if len(entries) == 0: continue elif len(entries) == 1: -- cgit v1.2.3-1-g7c22 From 961783ceeedb97233a4dca5f0fc58f20b23f41c7 Mon Sep 17 00:00:00 2001 From: Sol Jerome Date: Tue, 20 Mar 2012 11:28:14 -0500 Subject: Bundler: Remove excess code Signed-off-by: Sol Jerome --- src/lib/Server/Plugins/Bundler.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/lib/Server/Plugins/Bundler.py b/src/lib/Server/Plugins/Bundler.py index 7b3e96556..be77cd59b 100644 --- a/src/lib/Server/Plugins/Bundler.py +++ b/src/lib/Server/Plugins/Bundler.py @@ -75,7 +75,6 @@ class Bundler(Bcfg2.Server.Plugin.Plugin, def BuildStructures(self, metadata): """Build all structures for client (metadata).""" bundleset = [] - entries = [] bundle_entries = {} for key, item in self.entries.items(): @@ -86,7 +85,6 @@ class Bundler(Bcfg2.Server.Plugin.Plugin, entries = bundle_entries[bundlename] except KeyError: self.logger.error("Bundler: Bundle %s does not exist" % bundlename) - if len(entries) == 0: continue elif len(entries) == 1: try: -- cgit v1.2.3-1-g7c22 From 45cd60e18e5cb22619272ae8a0d6e2af692d1cf7 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Tue, 20 Mar 2012 14:42:25 -0400 Subject: removed unnecessary code --- src/lib/Server/Plugins/Bundler.py | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/lib/Server/Plugins/Bundler.py b/src/lib/Server/Plugins/Bundler.py index be77cd59b..a58257712 100644 --- a/src/lib/Server/Plugins/Bundler.py +++ b/src/lib/Server/Plugins/Bundler.py @@ -78,26 +78,24 @@ class Bundler(Bcfg2.Server.Plugin.Plugin, bundle_entries = {} for key, item in self.entries.items(): - bundle_entries.setdefault(self.patterns.match(os.path.basename(key)).group('name'), []).append(item) + bundle_entries.setdefault(self.patterns.match(os.path.basename(key)).group('name'), + []).append(item) for bundlename in metadata.bundles: try: entries = bundle_entries[bundlename] except KeyError: - self.logger.error("Bundler: Bundle %s does not exist" % bundlename) + self.logger.error("Bundler: Bundle %s does not exist" % + bundlename) continue - elif len(entries) == 1: - try: - bundleset.append(entries[0].get_xml_value(metadata)) - except genshi.template.base.TemplateError: - t = sys.exc_info()[1] - self.logger.error("Bundler: Failed to template genshi bundle %s" \ - % (bundlename)) - self.logger.error(t) - except: - self.logger.error("Bundler: Unexpected bundler error for %s" \ - % (bundlename), exc_info=1) - else: - self.logger.error("Got multiple matches for bundle %s" \ - % (bundlename)) + try: + bundleset.append(entries[0].get_xml_value(metadata)) + except genshi.template.base.TemplateError: + t = sys.exc_info()[1] + self.logger.error("Bundler: Failed to template genshi bundle %s" + % bundlename) + self.logger.error(t) + except: + self.logger.error("Bundler: Unexpected bundler error for %s" % + bundlename, exc_info=1) return bundleset -- cgit v1.2.3-1-g7c22 From ee47266a811e77e4b688f8834fc6c72b4a70c5d6 Mon Sep 17 00:00:00 2001 From: Brent Bloxam Date: Tue, 20 Mar 2012 13:04:58 -0400 Subject: Added missing table for SSH, fixed allowable SSH address to be proper RFC1918 Class C (cherry picked from commit e7fb96776d0e18670fdfb61025295e27b1dc772b) --- doc/server/plugins/generators/tgenshi/iptables.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/doc/server/plugins/generators/tgenshi/iptables.txt b/doc/server/plugins/generators/tgenshi/iptables.txt index 2655e7b2d..3e49470d7 100644 --- a/doc/server/plugins/generators/tgenshi/iptables.txt +++ b/doc/server/plugins/generators/tgenshi/iptables.txt @@ -64,6 +64,7 @@ iptables :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] :NO-SMTP - [0:0] + :SSH - [0:0] #Default rules #discard malicious packets @@ -84,7 +85,7 @@ iptables # Allow SSH Access -A INPUT -p tcp -m state --state NEW -m tcp --tcp-flags FIN,SYN,RST,ACK SYN --dport 22 -j SSH - -A SSH -s 192.0.0.0/255.0.0.0 -j ACCEPT + -A SSH -s 192.168.0.0/255.255.0.0 -j ACCEPT # Allow Ganglia Access -A INPUT -m state --state NEW -m tcp -p tcp --tcp-flags FIN,SYN,RST,ACK SYN --src 192.168.1.1 --dport 8649 -j ACCEPT -- cgit v1.2.3-1-g7c22 From 9db7adf03ca47d26f74f20a72542beae153b21f7 Mon Sep 17 00:00:00 2001 From: Brent Bloxam Date: Tue, 20 Mar 2012 13:17:18 -0400 Subject: Fixed other incorrect IP addresses to be proper RFC1918 Class C (cherry picked from commit a547890a356d14ae891cf85eb402efa18ba95ccb) --- doc/server/plugins/generators/tgenshi/iptables.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/server/plugins/generators/tgenshi/iptables.txt b/doc/server/plugins/generators/tgenshi/iptables.txt index 3e49470d7..afdbcf864 100644 --- a/doc/server/plugins/generators/tgenshi/iptables.txt +++ b/doc/server/plugins/generators/tgenshi/iptables.txt @@ -206,8 +206,8 @@ iptables :: :MYSQL - [0:0] - -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 --tcp-flags FIN,SYN,RST,ACK SYN -j MYSQL - -A MYSQL -s 192.168.0.0/255.0.0.0 -j ACCEPT + -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 --tcp-flags FIN,SYN,RST,ACK SYN -j MYSQL + -A MYSQL -s 192.168.0.0/255.255.0.0 -j ACCEPT For a host that is in the mysql-server group you get an iptables file that looks like the following:: @@ -246,7 +246,7 @@ that looks like the following:: # Allow SSH Access :SSH - [0:0] -A INPUT -p tcp -m state --state NEW -m tcp --tcp-flags FIN,SYN,RST,ACK SYN --dport 22 -j SSH - -A SSH -s 192.168.0.0/255.0.0.0 -j ACCEPT + -A SSH -s 192.168.0.0/255.255.0.0 -j ACCEPT # Allow Ganglia Access -A INPUT -m state --state NEW -m tcp -p tcp --tcp-flags FIN,SYN,RST,ACK SYN --src 192.168.1.1 --dport 8649 -j ACCEPT -- cgit v1.2.3-1-g7c22 From 7c6b388bdcd956e0d5bc58175655346393ea1ca0 Mon Sep 17 00:00:00 2001 From: Brent Bloxam Date: Tue, 20 Mar 2012 13:21:51 -0400 Subject: Fixed further inconsistencies in template examples (cherry picked from commit 3acdc302d2faa196c0df46a7ba300d7d4ec8564b) --- doc/server/plugins/generators/tgenshi/iptables.txt | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/doc/server/plugins/generators/tgenshi/iptables.txt b/doc/server/plugins/generators/tgenshi/iptables.txt index afdbcf864..310f9ffab 100644 --- a/doc/server/plugins/generators/tgenshi/iptables.txt +++ b/doc/server/plugins/generators/tgenshi/iptables.txt @@ -64,7 +64,6 @@ iptables :FORWARD DROP [0:0] :OUTPUT ACCEPT [0:0] :NO-SMTP - [0:0] - :SSH - [0:0] #Default rules #discard malicious packets @@ -84,13 +83,14 @@ iptables -A NO-SMTP -j DROP # Allow SSH Access - -A INPUT -p tcp -m state --state NEW -m tcp --tcp-flags FIN,SYN,RST,ACK SYN --dport 22 -j SSH - -A SSH -s 192.168.0.0/255.255.0.0 -j ACCEPT + :SSH - [0:0] + -A INPUT -p tcp -m state --state NEW -m tcp --tcp-flags FIN,SYN,RST,ACK SYN --dport 22 -j SSH + -A SSH -s 192.168.0.0/255.255.0.0 -j ACCEPT # Allow Ganglia Access -A INPUT -m state --state NEW -m tcp -p tcp --tcp-flags FIN,SYN,RST,ACK SYN --src 192.168.1.1 --dport 8649 -j ACCEPT # Gmetad access to gmond - -A INPUT -m state --state NEW -m tcp -p tcp --tcp-flags FIN,SYN,RST,ACK SYN --src 192.168.1.1 --dport 8649 -j ACCEPT + -A INPUT -m state --state NEW -m tcp -p tcp --tcp-flags FIN,SYN,RST,ACK SYN --src 192.168.1.1 --dport 8649 -j ACCEPT # Gmond UDP multicast -A INPUT -m state --state NEW -m udp -p udp --dport 8649 -j ACCEPT @@ -245,20 +245,20 @@ that looks like the following:: # Allow SSH Access :SSH - [0:0] - -A INPUT -p tcp -m state --state NEW -m tcp --tcp-flags FIN,SYN,RST,ACK SYN --dport 22 -j SSH - -A SSH -s 192.168.0.0/255.255.0.0 -j ACCEPT + -A INPUT -p tcp -m state --state NEW -m tcp --tcp-flags FIN,SYN,RST,ACK SYN --dport 22 -j SSH + -A SSH -s 192.168.0.0/255.255.0.0 -j ACCEPT # Allow Ganglia Access -A INPUT -m state --state NEW -m tcp -p tcp --tcp-flags FIN,SYN,RST,ACK SYN --src 192.168.1.1 --dport 8649 -j ACCEPT #Gmetad access to gmond - -A INPUT -m state --state NEW -m tcp -p tcp --tcp-flags FIN,SYN,RST,ACK SYN --src 192.168.1.1 --dport 8649 -j ACCEPT + -A INPUT -m state --state NEW -m tcp -p tcp --tcp-flags FIN,SYN,RST,ACK SYN --src 192.168.1.1 --dport 8649 -j ACCEPT #Gmond UDP multicast -A INPUT -m state --state NEW -m udp -p udp --dport 8649 -j ACCEPT # group custom FILTER rules: :MYSQL - [0:0] - -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 --tcp-flags FIN,SYN,RST,ACK SYN -j MYSQL - -A MYSQL -s 192.168.0.0/255.0.0.0 -j ACCEPT + -A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 --tcp-flags FIN,SYN,RST,ACK SYN -j MYSQL + -A MYSQL -s 192.168.0.0/255.255.0.0 -j ACCEPT # host-specific FILTER rules: -- cgit v1.2.3-1-g7c22 From fb556e7675e1c13f8d3fbdce0aeb0d3e30ff9123 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Wed, 21 Mar 2012 11:27:04 -0400 Subject: fixed debug output from bcfg2-yum-helper --- src/lib/Server/Plugins/Packages/Yum.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/lib/Server/Plugins/Packages/Yum.py b/src/lib/Server/Plugins/Packages/Yum.py index 416602b27..1937dbf83 100644 --- a/src/lib/Server/Plugins/Packages/Yum.py +++ b/src/lib/Server/Plugins/Packages/Yum.py @@ -396,10 +396,8 @@ class YumCollection(Collection): self.logger.error("Packages: error running bcfg2-yum-helper " "(returned %d): %s" % (rv, stderr)) elif self.debug_flag: - self.logger.debug("Packages: debug info from bcfg2-yum-helper: %s" % - stderr) - self.logger.debug("Packages: output from bcfg2-yum-helper: %s" % - stderr) + self.debug_log("Packages: debug info from bcfg2-yum-helper: %s" % + stderr) try: return json.loads(stdout) except ValueError: -- cgit v1.2.3-1-g7c22 From 1b7462de5d95b8d195866c1bafb9fb8b6957334e Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Wed, 21 Mar 2012 16:40:52 -0400 Subject: fixed automatic handling of GPGKeys --- doc/server/plugins/generators/packages.txt | 8 ++-- src/lib/Server/Plugins/Packages/Yum.py | 64 +++++++++++++++++++----------- 2 files changed, 46 insertions(+), 26 deletions(-) diff --git a/doc/server/plugins/generators/packages.txt b/doc/server/plugins/generators/packages.txt index 93b5308be..276b73093 100644 --- a/doc/server/plugins/generators/packages.txt +++ b/doc/server/plugins/generators/packages.txt @@ -158,9 +158,11 @@ Handling GPG Keys .. versionadded:: 1.2.0 -Packages can automatically handle GPG signing keys for Yum and Pulp -repositories. Simply specify the URL to the GPG key(s) for a -repository in ``sources.xml``:: +If you have yum libraries installed, Packages can automatically handle +GPG signing keys for Yum and Pulp repositories. (You do not need to +use the native yum resolver; if yum libraries are available, GPG +signing keys can be handled automatically.) Simply specify the URL to +the GPG key(s) for a repository in ``sources.xml``:: diff --git a/src/lib/Server/Plugins/Packages/Yum.py b/src/lib/Server/Plugins/Packages/Yum.py index 1937dbf83..e13b28251 100644 --- a/src/lib/Server/Plugins/Packages/Yum.py +++ b/src/lib/Server/Plugins/Packages/Yum.py @@ -197,8 +197,21 @@ class YumCollection(Collection): needkeys.add(key) if len(needkeys): - keypkg = lxml.etree.Element('BoundPackage', name="gpg-pubkey", - type=self.ptype, origin='Packages') + if has_yum: + # this must be be has_yum, not use_yum, because + # regardless of whether the user wants to use the yum + # resolver we want to include gpg key data + keypkg = lxml.etree.Element('BoundPackage', name="gpg-pubkey", + type=self.ptype, origin='Packages') + else: + self.logger.warning("GPGKeys were specified for yum sources in " + "sources.xml, but no yum libraries were " + "found") + self.logger.warning("GPG key version/release data cannot be " + "determined automatically") + self.logger.warning("Install yum libraries, or manage GPG keys " + "manually") + keypkg = None for key in needkeys: # figure out the path of the key on the client @@ -219,7 +232,8 @@ class YumCollection(Collection): # hook to add version/release info if possible self._add_gpg_instances(keypkg, kdata, localkey, remotekey) independent.append(keypath) - independent.append(keypkg) + if keypkg is not None: + independent.append(keypkg) # see if there are any pulp sources to handle has_pulp_sources = False @@ -274,20 +288,25 @@ class YumCollection(Collection): def _add_gpg_instances(self, keyentry, keydata, localkey, remotekey): """ add gpg keys to the specification to ensure they get installed """ - if self.use_yum: - try: - kinfo = yum.misc.getgpgkeyinfo(keydata) - version = yum.misc.keyIdToRPMVer(kinfo['keyid']) - release = yum.misc.keyIdToRPMVer(kinfo['timestamp']) - - lxml.etree.SubElement(keyentry, 'Instance', - version=version, - release=release, - simplefile=remotekey) - except ValueError: - err = sys.exc_info()[1] - self.logger.error("Packages: Could not read GPG key %s: %s" % - (localkey, err)) + # this must be be has_yum, not use_yum, because regardless of + # whether the user wants to use the yum resolver we want to + # include gpg key data + if not has_yum: + return + + try: + kinfo = yum.misc.getgpgkeyinfo(keydata) + version = yum.misc.keyIdToRPMVer(kinfo['keyid']) + release = yum.misc.keyIdToRPMVer(kinfo['timestamp']) + + lxml.etree.SubElement(keyentry, 'Instance', + version=version, + release=release, + simplefile=remotekey) + except ValueError: + err = sys.exc_info()[1] + self.logger.error("Packages: Could not read GPG key %s: %s" % + (localkey, err)) def is_package(self, package): if not self.use_yum: @@ -436,19 +455,18 @@ class YumSource(Source): repoapi = RepositoryAPI() try: self.repo = repoapi.repository(self.pulp_id) - self.gpgkeys = ["%s/%s" % (PULPCONFIG.cds['keyurl'], key) + self.gpgkeys = [os.path.join(PULPCONFIG.cds['keyurl'], key) for key in repoapi.listkeys(self.pulp_id)] except server.ServerRequestError: err = sys.exc_info()[1] if err[0] == 401: msg = "Packages: Error authenticating to Pulp: %s" % err[1] elif err[0] == 404: - msg = "Packages: Pulp repo id %s not found: %s" % (self.pulp_id, - err[1]) + msg = "Packages: Pulp repo id %s not found: %s" % \ + (self.pulp_id, err[1]) else: - msg = "Packages: Error %d fetching pulp repo %s: %s" % (err[0], - self.pulp_id, - err[1]) + msg = "Packages: Error %d fetching pulp repo %s: %s" % \ + (err[0], self.pulp_id, err[1]) raise SourceInitError(msg) except socket.error: err = sys.exc_info()[1] -- cgit v1.2.3-1-g7c22 From 728fddbdd5ed5e327f3b1c1e9a6b4f2da1b2a360 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Thu, 22 Mar 2012 13:23:17 -0400 Subject: fixed SimpleConfig for py3k --- src/lib/Server/Plugin.py | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/lib/Server/Plugin.py b/src/lib/Server/Plugin.py index 1ceed702d..692aa8a81 100644 --- a/src/lib/Server/Plugin.py +++ b/src/lib/Server/Plugin.py @@ -1203,27 +1203,32 @@ class SimpleConfig(FileBacked, self.remove_section(section) self.read(self.name) - def get(self, section, option, default=None): + def get(self, section, option, **kwargs): """ convenience method for getting config items """ + default = None + if 'default' in kwargs: + default = kwargs['default'] + del kwargs['default'] try: - return ConfigParser.SafeConfigParser.get(self, section, option) + return ConfigParser.SafeConfigParser.get(self, section, option, + **kwargs) except (ConfigParser.NoSectionError, ConfigParser.NoOptionError): if default is not None: return default else: raise - def getboolean(self, section, option, default=None): + def getboolean(self, section, option, **kwargs): """ convenience method for getting boolean config items """ + default = None + if 'default' in kwargs: + default = kwargs['default'] + del kwargs['default'] try: - return ConfigParser.SafeConfigParser.getboolean(self, - section, option) - except (ConfigParser.NoSectionError, ConfigParser.NoOptionError): - if default is not None: - return default - else: - raise - except ValueError: + return ConfigParser.SafeConfigParser.getboolean(self, section, + option, **kwargs) + except (ConfigParser.NoSectionError, ConfigParser.NoOptionError, + ValueError): if default is not None: return default else: -- cgit v1.2.3-1-g7c22 From 624695588bd3c61a66b69c4db056b50183e5e4d8 Mon Sep 17 00:00:00 2001 From: "Chris St. Pierre" Date: Fri, 23 Mar 2012 08:37:33 -0400 Subject: suppress warning about probed.xml --- src/lib/Server/Plugins/Probes.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/lib/Server/Plugins/Probes.py b/src/lib/Server/Plugins/Probes.py index 5ab92c011..ae1ed4c2b 100644 --- a/src/lib/Server/Plugins/Probes.py +++ b/src/lib/Server/Plugins/Probes.py @@ -137,6 +137,16 @@ class ProbeSet(Bcfg2.Server.Plugin.EntrySet): def HandleEvent(self, event): if event.filename != self.path: + if (event.code2str == 'changed' and + event.filename.endswith("probed.xml") and + event.filename not in self.entries): + # for some reason, probed.xml is particularly prone to + # getting changed events before created events, + # because gamin is the worst ever. anyhow, we + # specifically handle it here to avoid a warning on + # every single server startup. + self.entry_init(event) + return return self.handle_event(event) def get_probe_data(self, metadata): -- cgit v1.2.3-1-g7c22 From a803575bf3ff4f675d69afa9cb0c03a2961c3f19 Mon Sep 17 00:00:00 2001 From: Sol Jerome Date: Fri, 23 Mar 2012 08:15:27 -0500 Subject: doc: Fix docs so that they pass bcfg2-lint Apparently xs:boolean is case-sensitive. Element 'Group', attribute 'negate': 'True' is not a valid value of the atomic type 'xs:boolean' Signed-off-by: Sol Jerome --- doc/server/plugins/generators/rules.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/server/plugins/generators/rules.txt b/doc/server/plugins/generators/rules.txt index 439bc0281..c084c5681 100644 --- a/doc/server/plugins/generators/rules.txt +++ b/doc/server/plugins/generators/rules.txt @@ -68,7 +68,7 @@ The Rules Group Tag may have the following attributes: +========+=========================+==============+ | name | Group Name | String | +--------+-------------------------+--------------+ -| negate | Negate group membership | (True|False) | +| negate | Negate group membership | (true|false) | | | (is not a member of) | | +--------+-------------------------+--------------+ @@ -195,7 +195,7 @@ The Client Tag may have the following attributes: +========+=========================+==============+ | name | Client Name | String | +--------+-------------------------+--------------+ -| negate | Negate client selection | (True|False) | +| negate | Negate client selection | (true|false) | | | (if not client name) | | +--------+-------------------------+--------------+ -- cgit v1.2.3-1-g7c22 From 746293b2f242c099037aac19f14f65e68d036270 Mon Sep 17 00:00:00 2001 From: Arto Jantunen Date: Fri, 23 Mar 2012 09:25:37 -0500 Subject: debian: Remove .preinst files used to migrate away from python-central Signed-off-by: Sol Jerome --- debian/bcfg2-server.preinst | 13 ------------- debian/bcfg2.preinst | 13 ------------- 2 files changed, 26 deletions(-) delete mode 100644 debian/bcfg2-server.preinst delete mode 100644 debian/bcfg2.preinst diff --git a/debian/bcfg2-server.preinst b/debian/bcfg2-server.preinst deleted file mode 100644 index 2eb87e99b..000000000 --- a/debian/bcfg2-server.preinst +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# This file can be removed after a few releases. -set -e -if [ "$1" = upgrade ] -then - if dpkg --compare-versions "$2" lt 1.0pre5-0.3; then - if which pycentral > /dev/null; then - pycentral pkgremove bcfg2-server - fi - fi -fi - -#DEBHELPER# diff --git a/debian/bcfg2.preinst b/debian/bcfg2.preinst deleted file mode 100644 index be4b1444a..000000000 --- a/debian/bcfg2.preinst +++ /dev/null @@ -1,13 +0,0 @@ -#!/bin/sh -# This file can be removed after a few releases. -set -e -if [ "$1" = upgrade ] -then - if dpkg --compare-versions "$2" lt 1.0pre5-0.3; then - if which pycentral > /dev/null; then - pycentral pkgremove bcfg2 - fi - fi -fi - -#DEBHELPER# -- cgit v1.2.3-1-g7c22