Changes to 'refs/tags/spacewalk-repo-1.7-2'
by Miroslav Suchý
Tag 'spacewalk-repo-1.7-2' created by Miroslav Suchý <msuchy(a)redhat.com> at 2012-02-01 10:51 +0000
Tagging package [spacewalk-repo] version [1.7-2] in directory [spec-tree/spacewalk-repo/].
Changes since spacewalk-web-1.7.14-1:
Miroslav Suchý (3):
point spacewalk-repo to nightly
add Source0
Automatic commit of package [spacewalk-repo] minor release [1.7-2].
---
rel-eng/packages/spacewalk-repo | 2 +-
spec-tree/spacewalk-repo/spacewalk-repo.spec | 18 ++++++++++--------
2 files changed, 11 insertions(+), 9 deletions(-)
---
12 years, 2 months
3 commits - rel-eng/packages spec-tree/spacewalk-repo
by Miroslav Suchý
rel-eng/packages/spacewalk-repo | 2 +-
spec-tree/spacewalk-repo/spacewalk-repo.spec | 18 ++++++++++--------
2 files changed, 11 insertions(+), 9 deletions(-)
New commits:
commit 4ca77983d43340005720bea4a196a340fe87cb79
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Wed Feb 1 11:51:02 2012 +0100
Automatic commit of package [spacewalk-repo] minor release [1.7-2].
diff --git a/rel-eng/packages/spacewalk-repo b/rel-eng/packages/spacewalk-repo
index 29535a3..fbd8f37 100644
--- a/rel-eng/packages/spacewalk-repo
+++ b/rel-eng/packages/spacewalk-repo
@@ -1 +1 @@
-1.7-1 spec-tree/spacewalk-repo/
+1.7-2 spec-tree/spacewalk-repo/
diff --git a/spec-tree/spacewalk-repo/spacewalk-repo.spec b/spec-tree/spacewalk-repo/spacewalk-repo.spec
index f8e59a2..be790fb 100644
--- a/spec-tree/spacewalk-repo/spacewalk-repo.spec
+++ b/spec-tree/spacewalk-repo/spacewalk-repo.spec
@@ -1,7 +1,7 @@
Summary: Spacewalk packages yum repository configuration
Name: spacewalk-repo
Version: 1.7
-Release: 1%{?dist}
+Release: 2%{?dist}
License: GPLv2
Group: System Environment/Base
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -75,6 +75,10 @@ rm -rf $RPM_BUILD_ROOT
%config %{_sysconfdir}/yum.repos.d/spacewalk-client.repo
%changelog
+* Wed Feb 01 2012 Miroslav Suchý 1.7-2
+- add Source0
+- point spacewalk-repo to nightly
+
* Thu Dec 22 2011 Milan Zazrivec <mzazrivec(a)redhat.com> 1.7-1
- Spacewalk 1.7
commit 39ba961cfaf962b2dc492e459233efebf23e948e
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Wed Feb 1 11:50:02 2012 +0100
add Source0
diff --git a/spec-tree/spacewalk-repo/spacewalk-repo.spec b/spec-tree/spacewalk-repo/spacewalk-repo.spec
index 3636403..f8e59a2 100644
--- a/spec-tree/spacewalk-repo/spacewalk-repo.spec
+++ b/spec-tree/spacewalk-repo/spacewalk-repo.spec
@@ -4,11 +4,7 @@ Version: 1.7
Release: 1%{?dist}
License: GPLv2
Group: System Environment/Base
-# This src.rpm is cannonical upstream
-# You can obtain it using this set of commands
-# git clone git://git.fedorahosted.org/git/spacewalk.git/
-# cd spec-tree/spacewalk-repo
-# make test-srpm
+Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
URL: https://fedorahosted.org/spacewalk
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot
BuildArch: noarch
commit 93167e371141e85d31d43266dad2a3a238076ee9
Author: Miroslav Suchý <msuchy(a)redhat.com>
Date: Wed Feb 1 11:48:42 2012 +0100
point spacewalk-repo to nightly
diff --git a/spec-tree/spacewalk-repo/spacewalk-repo.spec b/spec-tree/spacewalk-repo/spacewalk-repo.spec
index 037ec95..3636403 100644
--- a/spec-tree/spacewalk-repo/spacewalk-repo.spec
+++ b/spec-tree/spacewalk-repo/spacewalk-repo.spec
@@ -40,7 +40,8 @@ mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d
cat >>$RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/spacewalk.repo <<REPO
[spacewalk]
name=Spacewalk
-baseurl=http://spacewalk.redhat.com/yum/%{version}/%{reposubdir}/\$basearch/
+#baseurl=http://spacewalk.redhat.com/yum/%{version}/%{reposubdir}/\$basearch/
+baseurl=http://spacewalk.redhat.com/yum/nightly/%{reposubdir}/\$basearch/
gpgkey=http://spacewalk.redhat.com/yum/RPM-GPG-KEY-spacewalk-2010
enabled=1
gpgcheck=1
@@ -49,7 +50,8 @@ REPO
cat >>$RPM_BUILD_ROOT%{_sysconfdir}/yum.repos.d/spacewalk-client.repo <<REPO
[spacewalk-client]
name=Spacewalk Client Tools
-baseurl=http://spacewalk.redhat.com/yum/%{version}-client/%{reposubdir}/\$basearch/
+#baseurl=http://spacewalk.redhat.com/yum/%{version}-client/%{reposubdir}/\$basearch/
+baseurl=http://spacewalk.redhat.com/yum/nightly-client/%{reposubdir}/\$basearch/
gpgkey=http://spacewalk.redhat.com/yum/RPM-GPG-KEY-spacewalk-2010
enabled=1
gpgcheck=1
12 years, 2 months
Changes to 'refs/tags/spacewalk-web-1.7.14-1'
by Michael Mraka
Tag 'spacewalk-web-1.7.14-1' created by Michael Mraka <michael.mraka(a)redhat.com> at 2012-02-01 09:42 +0000
Tagging package [spacewalk-web] version [1.7.14-1] in directory [web/].
Changes since spacewalk-java-1.7.15-1:
Aron Parsons (2):
add CVEs to errata in rhn-clone-errata.py
cleanup whitespace in rhn-clone-errata.py
Michael Mraka (2):
fixing string quoting
Automatic commit of package [spacewalk-web] release [1.7.14-1].
---
rel-eng/packages/spacewalk-web | 2
scripts/clone-errata/rhn-clone-errata.py | 694 +++++++++++++++----------------
web/modules/rhn/RHN/DB/Server.pm | 2
web/spacewalk-web.spec | 5
4 files changed, 356 insertions(+), 347 deletions(-)
---
12 years, 2 months
2 commits - rel-eng/packages web/modules web/spacewalk-web.spec
by Michael Mraka
rel-eng/packages/spacewalk-web | 2 +-
web/modules/rhn/RHN/DB/Server.pm | 2 +-
web/spacewalk-web.spec | 5 ++++-
3 files changed, 6 insertions(+), 3 deletions(-)
New commits:
commit 3d5ef3ff96118e3fad0cb16f52517f1c2fe08326
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Wed Feb 1 10:42:13 2012 +0100
Automatic commit of package [spacewalk-web] release [1.7.14-1].
diff --git a/rel-eng/packages/spacewalk-web b/rel-eng/packages/spacewalk-web
index 106880f..7ace83c 100644
--- a/rel-eng/packages/spacewalk-web
+++ b/rel-eng/packages/spacewalk-web
@@ -1 +1 @@
-1.7.13-1 web/
+1.7.14-1 web/
diff --git a/web/spacewalk-web.spec b/web/spacewalk-web.spec
index 45155e4..dab1c08 100644
--- a/web/spacewalk-web.spec
+++ b/web/spacewalk-web.spec
@@ -2,7 +2,7 @@ Name: spacewalk-web
Summary: Spacewalk Web site - Perl modules
Group: Applications/Internet
License: GPLv2
-Version: 1.7.13
+Version: 1.7.14
Release: 1%{?dist}
URL: https://fedorahosted.org/spacewalk/
Source0: https://fedorahosted.org/releases/s/p/spacewalk/%{name}-%{version}.tar.gz
@@ -254,6 +254,9 @@ rm -rf $RPM_BUILD_ROOT
# $Id$
%changelog
+* Wed Feb 01 2012 Michael Mraka <michael.mraka(a)redhat.com> 1.7.14-1
+- fixing string quoting
+
* Tue Jan 31 2012 Miroslav Suchý 1.7.13-1
- port usage of sequences to PostgreSQL
commit 621d607b6f6c94c1364dd6beb89779e8f186e8e8
Author: Michael Mraka <michael.mraka(a)redhat.com>
Date: Wed Feb 1 10:40:27 2012 +0100
fixing string quoting
diff --git a/web/modules/rhn/RHN/DB/Server.pm b/web/modules/rhn/RHN/DB/Server.pm
index 0b60b0a..bebb684 100644
--- a/web/modules/rhn/RHN/DB/Server.pm
+++ b/web/modules/rhn/RHN/DB/Server.pm
@@ -1268,7 +1268,7 @@ sub commit {
$sth->finish;
if (not $exists) {
- my $sth = $dbh->prepare('INSERT INTO rhnServerLocation (id, server_id) VALUES (sequence_nextval('rhn_server_loc_id_seq'), ?)');
+ my $sth = $dbh->prepare("INSERT INTO rhnServerLocation (id, server_id) VALUES (sequence_nextval('rhn_server_loc_id_seq'), ?)");
$sth->execute($self->id);
}
}
12 years, 2 months
2 commits - scripts/clone-errata
by aparsons
scripts/clone-errata/rhn-clone-errata.py | 694 +++++++++++++++----------------
1 file changed, 350 insertions(+), 344 deletions(-)
New commits:
commit fcfb0be6701fdcdf00a0b8807df980a1c19115c8
Author: Aron Parsons <aronparsons(a)gmail.com>
Date: Tue Jan 31 19:35:43 2012 -0500
cleanup whitespace in rhn-clone-errata.py
diff --git a/scripts/clone-errata/rhn-clone-errata.py b/scripts/clone-errata/rhn-clone-errata.py
index eb1499b..1950d78 100755
--- a/scripts/clone-errata/rhn-clone-errata.py
+++ b/scripts/clone-errata/rhn-clone-errata.py
@@ -28,79 +28,79 @@
#
# 0.1 - 2009-09-01 - Andy Speagle
#
-# Initial release. Lots of problems. Oof.
+# Initial release. Lots of problems. Oof.
#
# 0.2 - 2009-09-11 - Andy Speagle
#
-# Updated methodology for handling errata. Breaking up individual
-# errata appended with a channel identifier to better automate publishing
-# of errata.
+# Updated methodology for handling errata. Breaking up individual
+# errata appended with a channel identifier to better automate publishing
+# of errata.
#
-# Some code reworking. I still suck at python. Removed deprecated "sets"
-# module.
+# Some code reworking. I still suck at python. Removed deprecated "sets"
+# module.
#
# 0.3 - 2009-09-17 - Andy Speagle
#
-# Fixed a rather glaring bug in the logic regarding relevant channel
-# for package selection. Ugh.
+# Fixed a rather glaring bug in the logic regarding relevant channel
+# for package selection. Ugh.
#
# 0.4 - 2009-10-01 - Andy Speagle
#
-# Modified how the publish happens. Now it creates the errata and THEN
-# calls the separate errata.publish() function. I was having some
-# intermittent time-outs doing the two together in the errata.create()
-# function.
+# Modified how the publish happens. Now it creates the errata and THEN
+# calls the separate errata.publish() function. I was having some
+# intermittent time-outs doing the two together in the errata.create()
+# function.
#
# 0.5 - 2010-03-17 - Andy Speagle
#
-# Moved servers, users and passwords to a config file of your choice.
-# Many config options changed as a result. Options on the command line
-# override config file options.
+# Moved servers, users and passwords to a config file of your choice.
+# Many config options changed as a result. Options on the command line
+# override config file options.
#
-# Merged proxy support code from Colin Coe <colin.coe(a)gmail.com> (THANKS!)
+# Merged proxy support code from Colin Coe <colin.coe(a)gmail.com> (THANKS!)
#
-# Modified some of the formatting for logfile output.
+# Modified some of the formatting for logfile output.
#
-# I continue to suck at Python.
+# I continue to suck at Python.
#
# 0.6 - 2010-03-18 - Andy Speagle
#
-# Corrected a grievous bug in the new Proxy code.
+# Corrected a grievous bug in the new Proxy code.
#
-# Moved Channel and ChannelSuffix maps to the config file.
+# Moved Channel and ChannelSuffix maps to the config file.
#
# 0.7 - 2010-11-10 - Andy Speagle
#
-# Minor bugfixes a/o cosmetic changes.
+# Minor bugfixes a/o cosmetic changes.
#
# 0.8.1 - 2011-06-06 - Andy Speagle
#
-# Testing out new proxy code for handling authenticated proxies also.
-# NOT PRODUCTION CODE
+# Testing out new proxy code for handling authenticated proxies also.
+# NOT PRODUCTION CODE
#
# 0.8.2 - 2011-06-06 - Andy Speagle
#
-# Update to new proxy code.
+# Update to new proxy code.
#
# 0.8.3 - 2011-06-06 - Andy Speagle
#
-# Add selector for which server connections need proxy. This is crude, will cleanup later.
+# Add selector for which server connections need proxy. This is crude, will cleanup later.
#
# 0.8.4 - 2011-06-06 - Andy Speagle
#
-# Add some code to handle transparent proxies.
+# Add some code to handle transparent proxies.
#
# 0.9.0 - 2011-11-17 - Andy Speagle
#
-# Included patch from Pierre Casenove <pcasenove(a)gmail.com> that gives an option for a
-# full sync of all channels listed in the configuration file.
+# Included patch from Pierre Casenove <pcasenove(a)gmail.com> that gives an option for a
+# full sync of all channels listed in the configuration file.
#
-# Thanks, Pierre!
+# Thanks, Pierre!
#
-# Additionally, changed the default behaviour of how the script handles errata that are
-# missing packages on the system. The script now skips any errata that is missing one
-# or more packages on the system. However, I've added an option to allow the script
-# to ignore missing packages so that the old behaviour remains.
+# Additionally, changed the default behaviour of how the script handles errata that are
+# missing packages on the system. The script now skips any errata that is missing one
+# or more packages on the system. However, I've added an option to allow the script
+# to ignore missing packages so that the old behaviour remains.
#
import xmlrpclib, httplib
@@ -114,19 +114,19 @@ from urllib import unquote, splittype, splithost
class AuthProxyTransport(xmlrpclib.Transport):
def set_proxy(self, proxy):
- self.proxy = options.proxy
+ self.proxy = options.proxy
def request(self, host, handler, request_body, verbose=0):
- type, r_type = splittype(self.proxy)
+ type, r_type = splittype(self.proxy)
- if 'http' in type:
- phost, XXX = splithost(r_type)
- else:
- phost = self.proxy
+ if 'http' in type:
+ phost, XXX = splithost(r_type)
+ else:
+ phost = self.proxy
- puser_pass = None
- if '@' in phost:
- user_pass, phost = phost.split('@', 1)
+ puser_pass = None
+ if '@' in phost:
+ user_pass, phost = phost.split('@', 1)
if ':' in user_pass:
user, password = user_pass.split(':', 1)
puser_pass = base64.encodestring('%s:%s' % (unquote(user),unquote(password))).strip()
@@ -137,7 +137,7 @@ class AuthProxyTransport(xmlrpclib.Transport):
else:
urlopener.addheaders = [('User-agent', self.user_agent),('Proxy-authorization', 'Basic ' + puser_pass)]
- host = unquote(host)
+ host = unquote(host)
f = urlopener.open("http://%s%s"%(host,handler), request_body)
self.verbose = verbose
@@ -161,54 +161,54 @@ class RHNServer:
self.login = user
self.password = passwd
self.rhnUrl = 'https://'+self.rhnServerName+'/rpc/api'
- self.proxy_enable = proxy_enable
- if self.proxy_enable:
-# if options.proxy is None:
-# self.server = xmlrpclib.Server(self.rhnUrl)
-# else:
-# proxy = ProxiedTransport()
- proxy = AuthProxyTransport()
- proxy.set_proxy(options.proxy);
- self.server = xmlrpclib.Server(self.rhnUrl, transport=proxy)
- else:
- self.server = xmlrpclib.Server(self.rhnUrl)
+ self.proxy_enable = proxy_enable
+ if self.proxy_enable:
+# if options.proxy is None:
+# self.server = xmlrpclib.Server(self.rhnUrl)
+# else:
+# proxy = ProxiedTransport()
+ proxy = AuthProxyTransport()
+ proxy.set_proxy(options.proxy);
+ self.server = xmlrpclib.Server(self.rhnUrl, transport=proxy)
+ else:
+ self.server = xmlrpclib.Server(self.rhnUrl)
self.rhnSession = self.rhnLogin(self.login,self.password,0)
- def rhnLogin(self, login, password, retry):
+ def rhnLogin(self, login, password, retry):
try:
rhnSession=self.server.auth.login(login,password)
except xmlrpclib.Fault, f:
- if options.verbose:
- print "Fault Code: %d\tFault String: %s" % (f.faultCode,f.faultString)
+ if options.verbose:
+ print "Fault Code: %d\tFault String: %s" % (f.faultCode,f.faultString)
if f.faultCode == -20 or f.faultCode == -1:
self.rhnLogin(login,password,retry)
else:
print "Failed to login",f
raise
- except xmlrpclib.ProtocolError, err:
- if options.verbose:
+ except xmlrpclib.ProtocolError, err:
+ if options.verbose:
print "ProtocolError: %d - %s" % (err.errcode,err.errmsg)
- if retry > 3:
- raise
- else:
- return self.rhnLogin(login,password, (retry + 1))
+ if retry > 3:
+ raise
+ else:
+ return self.rhnLogin(login,password, (retry + 1))
return rhnSession
def getErrataChannels(self,advisory,retry):
- channels = []
- try:
- details = self.server.errata.applicableToChannels(self.rhnSession,advisory)
- except xmlrpclib.Fault, f:
- if options.verbose:
+ channels = []
+ try:
+ details = self.server.errata.applicableToChannels(self.rhnSession,advisory)
+ except xmlrpclib.Fault, f:
+ if options.verbose:
print "Fault Code: %d\tFault String: %s" % (f.faultCode,f.faultString)
if f.faultCode == -20 or f.faultCode == -1:
self.rhnLogin(self.login,self.password,0)
return self.server.errata.applicableToChannels(self.rhnSession,advisory)
- elif f.faultCode == -208:
- if options.verbose:
+ elif f.faultCode == -208:
+ if options.verbose:
print "Errata %s Doesn't Exist on %s ..." % (advisory,self.rhnServerName)
return []
- else:
+ else:
raise
except xmlrpclib.ProtocolError, err:
if options.verbose:
@@ -217,57 +217,57 @@ class RHNServer:
raise
else:
return self.getErrataChannels(advisory, (retry + 1))
- return channels
+ return channels
def getErrataDetails(self,advisory,retry):
- details = []
- try:
- details = self.server.errata.getDetails(self.rhnSession,advisory)
- except xmlrpclib.Fault, f:
- if options.verbose:
+ details = []
+ try:
+ details = self.server.errata.getDetails(self.rhnSession,advisory)
+ except xmlrpclib.Fault, f:
+ if options.verbose:
print "Fault Code: %d\tFault String: %s" % (f.faultCode,f.faultString)
- if f.faultCode == -20 or f.faultCode == -1:
- self.rhnLogin(self.login,self.password,0)
- return self.server.errata.getDetails(self.rhnSession,advisory)
- elif f.faultCode == -208:
- if options.verbose:
+ if f.faultCode == -20 or f.faultCode == -1:
+ self.rhnLogin(self.login,self.password,0)
+ return self.server.errata.getDetails(self.rhnSession,advisory)
+ elif f.faultCode == -208:
+ if options.verbose:
print "Errata %s Doesn't Exist on %s ..." % (advisory,self.rhnServerName)
- return []
- else:
- raise
+ return []
+ else:
+ raise
except xmlrpclib.ProtocolError, err:
- if options.verbose:
+ if options.verbose:
print "ProtocolError: %d - %s" % (err.errcode,err.errmsg)
if retry > 3:
raise
- else:
+ else:
return self.getErrataDetails(advisory, (retry + 1))
- return details
+ return details
def getErrataKeywords(self,advisory,retry):
- keywords = []
- try:
- keywords = self.server.errata.listKeywords(self.rhnSession,advisory)
- except xmlrpclib.Fault, f:
- if options.verbose:
+ keywords = []
+ try:
+ keywords = self.server.errata.listKeywords(self.rhnSession,advisory)
+ except xmlrpclib.Fault, f:
+ if options.verbose:
print "Fault Code: %d\tFault String: %s" % (f.faultCode,f.faultString)
- if f.faultCode == -20 or f.faultCode == -1:
- self.rhnLogin(self.login,self.password,0)
- return self.server.errata.listKeywords(self.rhnSession,advisory)
+ if f.faultCode == -20 or f.faultCode == -1:
+ self.rhnLogin(self.login,self.password,0)
+ return self.server.errata.listKeywords(self.rhnSession,advisory)
elif f.faultCode == -208:
- if options.verbose:
+ if options.verbose:
print "Errata %s Doesn't Exist on %s ..." % (advisory,self.rhnServerName)
return []
- else:
- print "Error Getting Keywords : "+advisory
+ else:
+ print "Error Getting Keywords : "+advisory
except xmlrpclib.ProtocolError, err:
- if options.verbose:
+ if options.verbose:
print "ProtocolError: %d - %s" % (err.errcode,err.errmsg)
if retry > 3:
raise
- else:
+ else:
return self.getErrataKeywords(advisory, (retry + 1))
- return keywords
+ return keywords
def getErrataCVEs(self,advisory,retry):
keywords = []
@@ -295,100 +295,100 @@ class RHNServer:
return keywords
def getErrataBugs(self,advisory,retry):
- bugs = []
- try:
- bugs = self.server.errata.bugzillaFixes(self.rhnSession,advisory)
- except xmlrpclib.Fault, f:
- if options.verbose:
+ bugs = []
+ try:
+ bugs = self.server.errata.bugzillaFixes(self.rhnSession,advisory)
+ except xmlrpclib.Fault, f:
+ if options.verbose:
print "Fault Code: %d\tFault String: %s" % (f.faultCode,f.faultString)
- if f.faultCode == -20 or f.faultCode == -1:
- self.rhnLogin(self.login,self.password,0)
- return self.server.errata.bugzillaFixes(self.rhnSession,advisory)
+ if f.faultCode == -20 or f.faultCode == -1:
+ self.rhnLogin(self.login,self.password,0)
+ return self.server.errata.bugzillaFixes(self.rhnSession,advisory)
elif f.faultCode == -208:
- if options.verbose:
+ if options.verbose:
print "Errata %s Doesn't Exist on %s ..." % (advisory,self.rhnServerName)
return []
- else:
- print "Error Getting Bugs : "+advisory
+ else:
+ print "Error Getting Bugs : "+advisory
except xmlrpclib.ProtocolError, err:
- if options.verbose:
+ if options.verbose:
print "ProtocolError: %d - %s" % (err.errcode,err.errmsg)
if retry > 3:
raise
- else:
+ else:
return self.getErrataBugs(advisory, (retry + 1))
- return bugs
+ return bugs
def getErrataCVEs(self,advisory,retry):
- cves=[]
- try:
- cves = self.server.errata.listCves(self.rhnSession,advisory)
- except xmlrpclib.Fault, f:
- if options.verbose:
+ cves=[]
+ try:
+ cves = self.server.errata.listCves(self.rhnSession,advisory)
+ except xmlrpclib.Fault, f:
+ if options.verbose:
print "Fault Code: %d\tFault String: %s" % (f.faultCode,f.faultString)
if f.faultCode == -20 or f.faultCode == -1:
self.rhnLogin(self.login,self.password,0)
return self.server.errata.listCves(self.rhnSession,advisory)
elif f.faultCode == -208:
- if options.verbose:
+ if options.verbose:
print "Errata %s Doesn't Exist on %s ..." % (advisory,self.rhnServerName)
return []
else:
print "Error Getting CVEs : %s" % advisory
except xmlrpclib.ProtocolError, err:
- if options.verbose:
+ if options.verbose:
print "ProtocolError: %d - %s" % (err.errcode,err.errmsg)
if retry > 3:
raise
- else:
+ else:
return self.getErrataCVEs(advisory, (retry + 1))
return cves
def getErrataPackages(self,advisory,retry):
- packages=[]
- try:
- packages = self.server.errata.listPackages(self.rhnSession,advisory)
- except xmlrpclib.Fault, f:
- if options.verbose:
+ packages=[]
+ try:
+ packages = self.server.errata.listPackages(self.rhnSession,advisory)
+ except xmlrpclib.Fault, f:
+ if options.verbose:
print "Fault Code: %d\tFault String: %s" % (f.faultCode,f.faultString)
if f.faultCode == -20 or f.faultCode == -1:
self.rhnLogin(self.login,self.password,0)
- return self.server.errata.listPackages(self.rhnSession,advisory)
+ return self.server.errata.listPackages(self.rhnSession,advisory)
elif f.faultCode == -208:
- if options.verbose:
+ if options.verbose:
print "Errata %s Doesn't Exist on %s ..." % (advisory,self.rhnServerName)
return []
- else:
- print "Error Getting Packages : %s" % advisory
- except xmlrpclib.ProtocolError, err:
- if options.verbose:
+ else:
+ print "Error Getting Packages : %s" % advisory
+ except xmlrpclib.ProtocolError, err:
+ if options.verbose:
print "ProtocolError: %d - %s" % (err.errcode,err.errmsg)
if retry > 3:
raise
- else:
+ else:
return self.getErrataPackages(advisory, (retry + 1))
- return packages
+ return packages
def listChannelErrata(self,dest_chan,dateStart,dateEnd,retry):
- out = []
- try:
- out = self.server.channel.software.listErrata(self.rhnSession,dest_chan,dateStart,dateEnd)
- except xmlrpclib.Fault, f:
- if options.verbose:
+ out = []
+ try:
+ out = self.server.channel.software.listErrata(self.rhnSession,dest_chan,dateStart,dateEnd)
+ except xmlrpclib.Fault, f:
+ if options.verbose:
print "Fault Code: %d\tFault String: %s" % (f.faultCode,f.faultString)
- if f.faultCode == -20 or f.faultCode == -1:
- self.rhnLogin(self.login,self.password,0)
- return self.server.channel.software.listErrata(self.rhnSession,dest_chan,dateStart,dateEnd)
- else:
- raise
+ if f.faultCode == -20 or f.faultCode == -1:
+ self.rhnLogin(self.login,self.password,0)
+ return self.server.channel.software.listErrata(self.rhnSession,dest_chan,dateStart,dateEnd)
+ else:
+ raise
except xmlrpclib.ProtocolError, err:
- if options.verbose:
+ if options.verbose:
print "ProtocolError: %d - %s" % (err.errcode,err.errmsg)
if retry > 3:
raise
- else:
+ else:
return self.listChannelErrata(dest_chan,dateStart,dateEnd,(retry + 1))
- return out
+ return out
def findPackageChannels(self,pkgid,retry):
channels=[]
@@ -427,30 +427,30 @@ class RHNServer:
print "ProtocolError: %d - %s" % (err.errcode,err.errmsg)
if retry > 3:
raise
- else:
+ else:
return self.cloneErrata(dest_chan,errata, (retry + 1))
return out
class SPWServer(RHNServer):
def searchNVREA(self,name,version,release,epoch,archlabel,retry):
- package=[]
- try:
- package = self.server.packages.findByNvrea(self.rhnSession,name,version,release,epoch,archlabel)
- except xmlrpclib.Fault, f:
- if options.verbose:
+ package=[]
+ try:
+ package = self.server.packages.findByNvrea(self.rhnSession,name,version,release,epoch,archlabel)
+ except xmlrpclib.Fault, f:
+ if options.verbose:
print "Fault Code: %d\tFault String: %s" % (f.faultCode,f.faultString)
if f.faultCode == -20 or f.faultCode == -1:
self.rhnLogin(self.login,self.password,0)
- return self.server.packages.findByNvrea(self.rhnSession,name,version,release,archlabel)
- else:
- print "Error Finding Package via NVREA : %s" % name
- except xmlrpclib.ProtocolError, err:
- if options.verbose:
+ return self.server.packages.findByNvrea(self.rhnSession,name,version,release,archlabel)
+ else:
+ print "Error Finding Package via NVREA : %s" % name
+ except xmlrpclib.ProtocolError, err:
+ if options.verbose:
print "ProtocolError: %d - %s" % (err.errcode,err.errmsg)
if retry > 3:
raise
- else:
+ else:
return self.searchNVREA(name,version,release,epoch,archlabel, (retry + 1))
return package
@@ -476,16 +476,16 @@ class SPWServer(RHNServer):
return out
def errataPublish(self,name,channels,retry):
- errata=[]
- try:
- errata = self.server.errata.publish(self.rhnSession,name,channels)
- except xmlrpclib.Fault, f:
+ errata=[]
+ try:
+ errata = self.server.errata.publish(self.rhnSession,name,channels)
+ except xmlrpclib.Fault, f:
if options.verbose:
print "Fault Code: %d - %s" % (f.faultCode,f.faultString)
if f.faultCode == -20 or f.faultCode == -1:
self.rhnLogin(self.login,self.password,0)
return self.server.errata.publish(self.rhnSession,name,channels)
- elif f.faultCode == 2601:
+ elif f.faultCode == 2601:
print "Errata Already Exists..."
return []
else:
@@ -498,30 +498,30 @@ class SPWServer(RHNServer):
raise
else:
return self.errataPublish(name,channels, (retry + 1))
- return errata
+ return errata
def errataCreate(self,info,bugs,keywords,packages,publish,channels,retry):
- new_errata=[]
- try:
- new_errata = self.server.errata.create(self.rhnSession,info,bugs,keywords,packages,publish,channels)
- except xmlrpclib.Fault, f:
- if options.verbose:
+ new_errata=[]
+ try:
+ new_errata = self.server.errata.create(self.rhnSession,info,bugs,keywords,packages,publish,channels)
+ except xmlrpclib.Fault, f:
+ if options.verbose:
print "Fault Code: %d - %s" % (f.faultCode,f.faultString)
if f.faultCode == -20 or f.faultCode == -1:
self.rhnLogin(self.login,self.password,0)
return self.server.errata.create(self.rhnSession,info,bugs,keywords,packages,publish,channels)
- elif f.faultCode == 2601:
- print "Errata Already Exists..."
- return []
- else:
+ elif f.faultCode == 2601:
+ print "Errata Already Exists..."
+ return []
+ else:
print "Error Creating Errata!"
- raise
- except xmlrpclib.ProtocolError, err:
- if options.verbose:
+ raise
+ except xmlrpclib.ProtocolError, err:
+ if options.verbose:
print "ProtocolError: %d - %s" % (err.errcode,err.errmsg)
if retry > 3:
raise
- else:
+ else:
return self.errataCreate(info,bugs,keywords,packages,publish,channels, (retry + 1))
return new_errata
@@ -550,44 +550,44 @@ class SPWServer(RHNServer):
def parse_args():
parser = OptionParser()
parser.add_option("-s", "--spw-server", type="string", dest="spw_server",
- help="Spacewalk Server (spacewalk.mydomain.org)")
+ help="Spacewalk Server (spacewalk.mydomain.org)")
parser.add_option("-S", "--rhn-server", type="string", dest="rhn_server",
- help="RHN Server (rhn.redhat.com)")
+ help="RHN Server (rhn.redhat.com)")
parser.add_option("-u", "--spw-user", type="string", dest="spw_user",
help="Spacewalk User")
parser.add_option("-p", "--spw-pass", type="string", dest="spw_pass",
help="Spacewalk Password")
parser.add_option("-U", "--rhn-user", type="string", dest="rhn_user",
- help="RHN User")
+ help="RHN User")
parser.add_option("-P", "--rhn-pass", type="string", dest="rhn_pass",
- help="RHN Password")
+ help="RHN Password")
parser.add_option("-f", "--config-file", type="string", dest="cfg_file",
- help="Config file for servers, users and passwords.")
+ help="Config file for servers, users and passwords.")
parser.add_option("-c", "--src-channel", type="string", dest="src_channel",
- help="Source Channel Label: ie.\"rhel-x86_64-server-5\"")
+ help="Source Channel Label: ie.\"rhel-x86_64-server-5\"")
parser.add_option("-b", "--begin-date", type="string", dest="bdate",
- help="Beginning Date: ie. \"19000101\" (defaults to \"19000101\")")
+ help="Beginning Date: ie. \"19000101\" (defaults to \"19000101\")")
parser.add_option("-e", "--end-date", type="string", dest="edate",
- help="Ending Date: ie. \"19001231\" (defaults to TODAY)")
+ help="Ending Date: ie. \"19001231\" (defaults to TODAY)")
parser.add_option("-i", "--publish", action="store_true", dest="publish", default=False,
- help="Publish Errata (into destination channels)")
+ help="Publish Errata (into destination channels)")
parser.add_option("-I", "--ignore-missing-packages", action="store_true", dest="ignoremissing", default=False,
- help="Ignore Missing Packages")
+ help="Ignore Missing Packages")
parser.add_option("-x", "--proxy", type="string", dest="proxy",
- help="Proxy server and port to use (e.g. proxy.company.com:3128)")
+ help="Proxy server and port to use (e.g. proxy.company.com:3128)")
parser.add_option("--no-spw-proxy", action="store_true", dest="nospwproxy", default=False,
- help="Don't proxy the Spacewalk server connection. (Proxy by default, if proxy is set)")
+ help="Don't proxy the Spacewalk server connection. (Proxy by default, if proxy is set)")
parser.add_option("--no-rhn-proxy", action="store_true", dest="norhnproxy", default=False,
- help="Don't proxy the RHN server connection. (Proxy by default, if proxy is set)")
+ help="Don't proxy the RHN server connection. (Proxy by default, if proxy is set)")
parser.add_option("-F", "--format-header", action="store_true", dest="format", default=False,
- help="Format header for logfiles")
+ help="Format header for logfiles")
parser.add_option("-A", "--sync-all-channels", action="store_true", dest="fullsync", default=False,
- help="Synchronize erratas of all channels listed in the provided configuration file")
+ help="Synchronize erratas of all channels listed in the provided configuration file")
parser.add_option("-v", "--verbose", action="store_true", dest="verbose", default=False)
parser.add_option("-q", "--quiet", action="store_true", dest="quiet", default=False)
(options,args) = parser.parse_args()
- return options
+ return options
def main():
global chanMap
@@ -605,63 +605,63 @@ def main():
# option=value
if (options.cfg_file):
- config = ConfigParser.ConfigParser()
- config.read (options.cfg_file)
-
- if options.spw_server is None:
- options.spw_server = config.get ('Spacewalk', 'spw_server')
- if options.spw_user is None:
- options.spw_user = config.get ('Spacewalk', 'spw_user')
- if options.spw_pass is None:
- options.spw_pass = config.get ('Spacewalk', 'spw_pass')
- if options.rhn_server is None:
- options.rhn_server = config.get ('RHN', 'rhn_server')
- if options.rhn_user is None:
- options.rhn_user = config.get ('RHN', 'rhn_user')
- if options.rhn_pass is None:
- options.rhn_pass = config.get ('RHN', 'rhn_pass')
-
-# Here we setup our mappings from RHN to Spacewalk software channels.
-# These are read from the config file in this format:
-#
-# [ChanMap]
-# RHNChannel = SPWChannel
-#
-# Example:
-# rhn-tools-rhel-x86_64-server-5 = rhel-x86_64-server-rhntools-5
-
- chanMap = {}
-
- if options.fullsync:
- for chan in config.options('ChanMap'):
- chanMap[chan] = config.get('ChanMap', chan)
- else:
- if options.src_channel is None:
- print "Source channel not given, aborting"
- sys.exit(2)
- chanMap[options.src_channel] = config.get('ChanMap', options.src_channel)
-
-# Here we also setup mappings from RHN channels to errata suffixes.
-# Since we can't easily publish automagically, while ensuring that
-# the right packages go into the right channels, we're going to
-# split multi-channel affecting errata into individual errata
-# that are suffixed with something meaningful that identifies
-# each sub-errata per channel... blah blah... Of course, modify this
-# as you will. I'm not sure if this will be required in the future.
-#
-# [ChanSuffixMap]
-# RHNChannel = ErrataSuffix
-#
-# Example:
-# rhn-tools-rhel-x86_64-server-5 = R5-64-T
-
- chanSuffixMap = {}
-
- for chan in config.options('ChanSuffixMap'):
- chanSuffixMap[chan] = config.get('ChanSuffixMap', chan)
+ config = ConfigParser.ConfigParser()
+ config.read (options.cfg_file)
+
+ if options.spw_server is None:
+ options.spw_server = config.get ('Spacewalk', 'spw_server')
+ if options.spw_user is None:
+ options.spw_user = config.get ('Spacewalk', 'spw_user')
+ if options.spw_pass is None:
+ options.spw_pass = config.get ('Spacewalk', 'spw_pass')
+ if options.rhn_server is None:
+ options.rhn_server = config.get ('RHN', 'rhn_server')
+ if options.rhn_user is None:
+ options.rhn_user = config.get ('RHN', 'rhn_user')
+ if options.rhn_pass is None:
+ options.rhn_pass = config.get ('RHN', 'rhn_pass')
+
+# Here we setup our mappings from RHN to Spacewalk software channels.
+# These are read from the config file in this format:
+#
+# [ChanMap]
+# RHNChannel = SPWChannel
+#
+# Example:
+# rhn-tools-rhel-x86_64-server-5 = rhel-x86_64-server-rhntools-5
+
+ chanMap = {}
+
+ if options.fullsync:
+ for chan in config.options('ChanMap'):
+ chanMap[chan] = config.get('ChanMap', chan)
+ else:
+ if options.src_channel is None:
+ print "Source channel not given, aborting"
+ sys.exit(2)
+ chanMap[options.src_channel] = config.get('ChanMap', options.src_channel)
+
+# Here we also setup mappings from RHN channels to errata suffixes.
+# Since we can't easily publish automagically, while ensuring that
+# the right packages go into the right channels, we're going to
+# split multi-channel affecting errata into individual errata
+# that are suffixed with something meaningful that identifies
+# each sub-errata per channel... blah blah... Of course, modify this
+# as you will. I'm not sure if this will be required in the future.
+#
+# [ChanSuffixMap]
+# RHNChannel = ErrataSuffix
+#
+# Example:
+# rhn-tools-rhel-x86_64-server-5 = R5-64-T
+
+ chanSuffixMap = {}
+
+ for chan in config.options('ChanSuffixMap'):
+ chanSuffixMap[chan] = config.get('ChanSuffixMap', chan)
if (options.spw_server and options.spw_user and options.spw_pass and
- options.rhn_server and options.rhn_user and options.rhn_pass) is None:
+ options.rhn_server and options.rhn_user and options.rhn_pass) is None:
print "try: "+sys.argv[0]+" --help"
sys.exit(2)
@@ -669,10 +669,10 @@ def main():
spwProxy = 0
if options.proxy is not None:
- if not options.norhnproxy:
- rhnProxy = 1
+ if not options.norhnproxy:
+ rhnProxy = 1
if not options.nospwproxy:
- spwProxy = 1
+ spwProxy = 1
myRHN = RHNServer(options.rhn_server, options.rhn_user, options.rhn_pass, rhnProxy)
mySPW = SPWServer(options.spw_server, options.spw_user, options.spw_pass, spwProxy)
@@ -687,59 +687,59 @@ def main():
sys.exit(2)
if options.format:
- print >>sys.stdout, "%s:CLONE:%s" % (dateToday, chan)
- print >>sys.stderr, "%s:CLONE:%s" % (dateToday, chan)
+ print >>sys.stdout, "%s:CLONE:%s" % (dateToday, chan)
+ print >>sys.stderr, "%s:CLONE:%s" % (dateToday, chan)
for rhnErrata in myRHN.listChannelErrata(chan,dateStart,dateEnd,0):
- if not options.quiet and not options.format:
+ if not options.quiet and not options.format:
print rhnErrata['errata_advisory']
-# Now, let's check if we already have this errata locally...
- spwErrataName = rhnErrata['errata_advisory']+':'+chanSuffixMap[chan]
- spwErrCheck = mySPW.getErrataDetails (spwErrataName,0)
+# Now, let's check if we already have this errata locally...
+ spwErrataName = rhnErrata['errata_advisory']+':'+chanSuffixMap[chan]
+ spwErrCheck = mySPW.getErrataDetails (spwErrataName,0)
- if not spwErrCheck:
+ if not spwErrCheck:
# Ok, so the errata doesn't already exists... let's get busy creating it.
- spwErrSolution = "Before applying this update, make sure that all "+\
- "previously-released errata relevant to your system have been applied."
-
- spwErrPackages = []
-
- missingcheck = 0
-
- for pkg in myRHN.getErrataPackages(rhnErrata['errata_advisory'],0):
- pkgFind = mySPW.searchNVREA(pkg['package_name'],\
- pkg['package_version'],\
- pkg['package_release'],\
- '',\
- pkg['package_arch_label'],\
- 0)
-
- for pkgChan in pkg['providing_channels']:
- if pkgChan != chan:
- continue
- else:
- if not pkgFind:
- missingcheck += 1
-
- if options.format:
- print >>sys.stderr, "%s:%s:Hmmm... "+\
- "Package Missing: %s" % (dateToday, rhnErrata['errata_advisory'], pkg['package_name'])
- else:
- print "Hmmm... Package Missing: %s" % pkg['package_name']
-
- else:
- spwErrPackages.append(pkgFind[0]['id'])
- break
-
- if missingcheck:
- if options.ignoremissing:
+ spwErrSolution = "Before applying this update, make sure that all "+\
+ "previously-released errata relevant to your system have been applied."
+
+ spwErrPackages = []
+
+ missingcheck = 0
+
+ for pkg in myRHN.getErrataPackages(rhnErrata['errata_advisory'],0):
+ pkgFind = mySPW.searchNVREA(pkg['package_name'],\
+ pkg['package_version'],\
+ pkg['package_release'],\
+ '',\
+ pkg['package_arch_label'],\
+ 0)
+
+ for pkgChan in pkg['providing_channels']:
+ if pkgChan != chan:
+ continue
+ else:
+ if not pkgFind:
+ missingcheck += 1
+
+ if options.format:
+ print >>sys.stderr, "%s:%s:Hmmm... "+\
+ "Package Missing: %s" % (dateToday, rhnErrata['errata_advisory'], pkg['package_name'])
+ else:
+ print "Hmmm... Package Missing: %s" % pkg['package_name']
+
+ else:
+ spwErrPackages.append(pkgFind[0]['id'])
+ break
+
+ if missingcheck:
+ if options.ignoremissing:
skiptext = "Ignoring missing package(s) and continuing..."
- if options.format:
- print >>sys.stderr, "%s" % skiptext
- else:
- print "%s" % skiptext
+ if options.format:
+ print >>sys.stderr, "%s" % skiptext
+ else:
+ print "%s" % skiptext
else:
skiptext = "Skipping errata due to missing package(s)..."
@@ -748,67 +748,67 @@ def main():
else:
print "%s" % skiptext
- continue
+ continue
- spwErrDetails = myRHN.getErrataDetails(rhnErrata['errata_advisory'],0)
+ spwErrDetails = myRHN.getErrataDetails(rhnErrata['errata_advisory'],0)
spwErrKeywords = myRHN.getErrataKeywords(rhnErrata['errata_advisory'],0)
- spwErrCVEs = myRHN.getErrataCVEs(rhnErrata['errata_advisory'],0)
+ spwErrCVEs = myRHN.getErrataCVEs(rhnErrata['errata_advisory'],0)
- spwErrBugs = []
+ spwErrBugs = []
tmpBugs = myRHN.getErrataBugs(rhnErrata['errata_advisory'],0)
for bug in tmpBugs:
href = 'https://bugzilla.redhat.com/show_bug.cgi?id=%s' % bug
spwErrBugs.append({'id': int(bug), 'summary': tmpBugs[bug], 'url' : href})
- if not options.quiet and not options.format:
- print "\t%s - %s" % (spwErrDetails['errata_issue_date'],spwErrDetails['errata_synopsis'])
-
- spwErrObject = mySPW.errataCreate ({ 'synopsis': spwErrDetails['errata_synopsis'],\
- 'advisory_name': spwErrataName,\
- 'advisory_release': 1,\
- 'advisory_type': spwErrDetails['errata_type'],\
- 'product': 'RHEL',\
- 'topic': spwErrDetails['errata_topic'],\
- 'description': spwErrDetails['errata_description'],\
- 'references': spwErrDetails['errata_references'],\
- 'notes': spwErrDetails['errata_notes'],\
- 'solution': spwErrSolution },\
- spwErrBugs,\
- spwErrKeywords,\
- spwErrPackages,\
- 0,\
- [chanMap[chan]],\
- 0)
-
- if options.format:
- print "%s#%s#Errata Created#" % (dateToday, spwErrataName),
- else:
- print "\tErrata Created: %d" % spwErrObject['id']
-
- if options.publish:
- spwPublish = mySPW.errataPublish (spwErrataName, [chanMap[chan]], 0)
- if options.format:
- print "Errata Published"
- else:
- print "\tErrata Published!"
-
- # we must add the CVEs after publishing because the foreign key
- # constraint on 'rhnErrataCve' is for the 'rhnErrata' table, not
- # the 'rhnErrataTmp' table
- if len(spwErrCVEs):
- mySPW.setDetails(spwErrataName, { 'cves' : spwErrCVEs }, 0)
- else:
- if options.format:
- print "Errata Not Published"
- else:
- print "\tErrata Not Published!"
- else:
- if options.format:
- print "%s#%s#Errata Already Exists" % (dateToday, spwErrataName)
+ if not options.quiet and not options.format:
+ print "\t%s - %s" % (spwErrDetails['errata_issue_date'],spwErrDetails['errata_synopsis'])
+
+ spwErrObject = mySPW.errataCreate ({ 'synopsis': spwErrDetails['errata_synopsis'],\
+ 'advisory_name': spwErrataName,\
+ 'advisory_release': 1,\
+ 'advisory_type': spwErrDetails['errata_type'],\
+ 'product': 'RHEL',\
+ 'topic': spwErrDetails['errata_topic'],\
+ 'description': spwErrDetails['errata_description'],\
+ 'references': spwErrDetails['errata_references'],\
+ 'notes': spwErrDetails['errata_notes'],\
+ 'solution': spwErrSolution },\
+ spwErrBugs,\
+ spwErrKeywords,\
+ spwErrPackages,\
+ 0,\
+ [chanMap[chan]],\
+ 0)
+
+ if options.format:
+ print "%s#%s#Errata Created#" % (dateToday, spwErrataName),
+ else:
+ print "\tErrata Created: %d" % spwErrObject['id']
+
+ if options.publish:
+ spwPublish = mySPW.errataPublish (spwErrataName, [chanMap[chan]], 0)
+ if options.format:
+ print "Errata Published"
+ else:
+ print "\tErrata Published!"
+
+ # we must add the CVEs after publishing because the foreign key
+ # constraint on 'rhnErrataCve' is for the 'rhnErrata' table, not
+ # the 'rhnErrataTmp' table
+ if len(spwErrCVEs):
+ mySPW.setDetails(spwErrataName, { 'cves' : spwErrCVEs }, 0)
+ else:
+ if options.format:
+ print "Errata Not Published"
+ else:
+ print "\tErrata Not Published!"
+ else:
+ if options.format:
+ print "%s#%s#Errata Already Exists" % (dateToday, spwErrataName)
elif not options.quiet:
print "\tErrata Already Exists. %s" % spwErrataName
- continue
+ continue
if __name__ == "__main__":
main()
commit cdb746282e644c74be89c2dcd5b71b67353dd4ab
Author: Aron Parsons <aronparsons(a)gmail.com>
Date: Tue Jan 31 19:20:56 2012 -0500
add CVEs to errata in rhn-clone-errata.py
diff --git a/scripts/clone-errata/rhn-clone-errata.py b/scripts/clone-errata/rhn-clone-errata.py
index 7362cad..eb1499b 100755
--- a/scripts/clone-errata/rhn-clone-errata.py
+++ b/scripts/clone-errata/rhn-clone-errata.py
@@ -792,6 +792,12 @@ def main():
print "Errata Published"
else:
print "\tErrata Published!"
+
+ # we must add the CVEs after publishing because the foreign key
+ # constraint on 'rhnErrataCve' is for the 'rhnErrata' table, not
+ # the 'rhnErrataTmp' table
+ if len(spwErrCVEs):
+ mySPW.setDetails(spwErrataName, { 'cves' : spwErrCVEs }, 0)
else:
if options.format:
print "Errata Not Published"
12 years, 2 months