extras-repoclosure RepoSupportExample.py, NONE, 1.1 RepoSupport.py, 1.1, 1.2 rc-run.py, 1.13, 1.14
Michael Schwendt (mschwendt)
fedora-extras-commits at redhat.com
Sun Jul 16 14:00:06 UTC 2006
Author: mschwendt
Update of /cvs/fedora/extras-repoclosure
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv11898
Modified Files:
RepoSupport.py rc-run.py
Added Files:
RepoSupportExample.py
Log Message:
- move out more lines of code from rc-run.py into module
- add small example/test file RepoSupportExample.py
--- NEW FILE RepoSupportExample.py ---
#!/usr/bin/python
# -*- mode: Python; indent-tabs-mode: nil; -*-
import os
import sys
sys.path.append('.')
from RepoSupport import RepoSupport
if __name__ == '__main__':
rs = RepoSupport()
print rs.AllReleases()
print rs.GenerateRepoIds('3')
print rs.ReleaseArchsDict()['development']
print rs.ReleaseRepoDict()['5']
print rs.RepoNamesDict()['fedora-core']
conf = rs.GenerateConfig(['5','4'])
print conf
os.system('cat %s' % conf)
Index: RepoSupport.py
===================================================================
RCS file: /cvs/fedora/extras-repoclosure/RepoSupport.py,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- RepoSupport.py 16 Jul 2006 13:35:42 -0000 1.1
+++ RepoSupport.py 16 Jul 2006 14:00:04 -0000 1.2
@@ -60,8 +60,20 @@
return self.allreleases
def ReleaseArchsDict(self):
- """return map with list of releases per architecture"""
- return self.relarchs
+ """return map with list of architectures per release"""
+ return self.archs
+
+ def TargetArchsDict(self):
+ """return target architecture map"""
+ return self.targetarchs
+
+ def ReleaseRepoDict(self):
+ """return map with list of repository base-ids per release"""
+ return self.repos
+
+ def RepoNamesDict(self):
+ """return map with list of repository descriptions per release"""
+ return self.reponames
def GenerateConfig(self, releases, cachedir=''):
"""return temporary yum.conf with repository definitions for the
Index: rc-run.py
===================================================================
RCS file: /cvs/fedora/extras-repoclosure/rc-run.py,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- rc-run.py 4 Jul 2006 17:56:27 -0000 1.13
+++ rc-run.py 16 Jul 2006 14:00:04 -0000 1.14
@@ -13,70 +13,9 @@
workdir = '/srv/rpmbuild/extras-repoclosure'
cachedir = '/srv/rpmbuild/extras-repoclosure/mdcache'
-allreleases = [ '3', '4', '5', 'development' ]
-
-archs = { '3' : ['i386','x86_64'],
- '4' : ['i386','x86_64','ppc'],
- '5' : ['i386','x86_64','ppc'],
- 'development' : ['i386','x86_64','ppc']
- }
-
-repos = { '3' : ['fedora-core','fedora-core-updates','fedora-extras'],
- '4' : ['fedora-core','fedora-core-updates','fedora-extras'],
- '5' : ['fedora-core','fedora-core-updates','fedora-extras'],
- 'development' : ['fedora-core','fedora-extras']
- }
-
-reponames = { 'fedora-core' : 'Fedora Core',
- 'fedora-core-updates' : 'Fedora Core Released Updates',
- 'fedora-extras' : 'Fedora Extras'
- }
-
-# (%s, %s) = (release, arch)
-baseurls = { 'fedora-core' : 'http://download.fedora.redhat.com/pub/fedora/linux/core/%s/%s/os/',
- 'fedora-core-updates' : 'http://download.fedora.redhat.com/pub/fedora/linux/core/updates/%s/%s/',
- 'fedora-extras' : 'file:///srv/rpmbuild/extras/tree/extras/%s/%s/'
- }
-
-targetarchs = { 'i386' : 'i686',
- 'x86_64' : 'x86_64',
- 'ppc' : 'ppc'
- }
-
-def generateConfig():
- try:
- (fd, conffile) = tempfile.mkstemp()
- except:
- conffile = tempfile.mktemp()
- fd = os.open(conffile,os.O_RDWR|os.O_CREAT)
- confheader = """[main]
-cachedir=/var/cache/yum
-debuglevel=2
-logfile=/var/log/yum.log
-pkgpolicy=newest
-distroverpkg=fedora-release
-reposdir=/dev/null
-exactarch=1
-obsoletes=1
-retries=20
-
-"""
- os.write(fd,confheader)
- for release in allreleases:
- for repo in repos[release]:
- for arch in archs[release]:
- reposection = """[%s-%s-%s]
-name=%s %s - %s
-baseurl=%s
-enabled=0
-
-""" % (repo, release, arch,
- reponames[repo], release, arch,
- baseurls[repo] % (release,arch))
- os.write(fd,reposection)
-
- os.close(fd)
- return conffile
+import sys
+sys.path.append('/srv/extras-push/work/extras-repoclosure')
+from RepoSupport import RepoSupport
def makereport():
@@ -84,10 +23,10 @@
os.remove(logfilename)
except:
pass
- for arch in archs[release]:
+ for arch in rs.ReleaseArchsDict()[release]:
print '%s (%s)' % (release,arch)
- rcargs = ('-a %s ' % targetarchs[arch])
- for r in repos[release]:
+ rcargs = ('-a %s ' % rs.targetarchs[arch])
+ for r in rs.ReleaseRepoDict()[release]:
repoid = '%s-%s-%s' % (r,release,arch)
rcargs += ('-r %s ' % repoid)
# -n, --newest : yum-utils 0.5
@@ -169,20 +108,23 @@
print 'ERROR: %s: %s' % (strerr,lockfilename)
sys.exit(11)
+rs = RepoSupport()
+
if sys.argv[0].endswith('rc-run-all.py'): # process all releases
- for release in allreleases:
+ for release in rs.AllReleases():
releases.append(release)
else: # process one release given as command-line argument
if len(sys.argv) != 2:
print 'SYNTAX: %s <release>' % sys.argv[0]
sys.exit(22)
release = sys.argv[1]
- if release not in archs:
+ if release not in rs.ReleaseArchsDict():
print 'ERROR: release %s is not supported' % release
sys.exit(22)
releases = [release]
-conffile = generateConfig()
+conffile = rs.GenerateConfig(rs.AllReleases(),
+ cachedir='/srv/rpmbuild/extras-repoclosure/mdcache')
goodlogs = []
badlogs = []
More information about the fedora-extras-commits
mailing list