extras-buildsys/utils/pushscript RepoBuild.py, 1.8, 1.9 MultiLib.py, 1.28, 1.29 Utils.py, 1.31, 1.32
Michael Schwendt
mschwendt at fedoraproject.org
Fri May 15 19:53:07 UTC 2009
Author: mschwendt
Update of /cvs/fedora/extras-buildsys/utils/pushscript
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv17979
Modified Files:
RepoBuild.py MultiLib.py Utils.py
Log Message:
Add support for deltarpms.
Index: RepoBuild.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/utils/pushscript/RepoBuild.py,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- RepoBuild.py 10 May 2009 09:28:06 -0000 1.8
+++ RepoBuild.py 15 May 2009 19:53:06 -0000 1.9
@@ -29,11 +29,11 @@
os.unlink(flink)
srpmspath = Utils.srpm_repodir(cfg,dist)
- Utils.create_repository(cfg,dist,srpmspath) # source rpms
+ Utils.create_repository(cfg,dist,srpmspath,nodeltas=True) # source rpms
for arch in cfg.archdict[dist]:
- Utils.create_repository(cfg, dist, Utils.rpm_repodir(cfg,dist,arch)) # binary rpms
- Utils.create_repository(cfg, dist, Utils.debug_repodir(cfg,dist,arch), debuginfo=True) # debuginfo rpms
+ Utils.create_repository(cfg, dist, Utils.rpm_repodir(cfg,dist,arch), arch=arch) # binary rpms
+ Utils.create_repository(cfg, dist, Utils.debug_repodir(cfg,dist,arch), debuginfo=True,nodeltas=True) # debuginfo rpms
if hasattr(cfg,'repobuild_linkdict'):
# recreate symlinks
Index: MultiLib.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/utils/pushscript/MultiLib.py,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- MultiLib.py 18 Apr 2009 08:43:25 -0000 1.28
+++ MultiLib.py 15 May 2009 19:53:07 -0000 1.29
@@ -404,8 +404,8 @@
for arch in cfg.archdict[dist]: # list of repo archs
changedagain = resolveMissing(cfg,dist,arch)
if changedagain:
- Utils.create_repository(cfg, dist, Utils.rpm_repodir(cfg,dist,arch) )
- Utils.create_repository(cfg, dist, Utils.debug_repodir(cfg,dist,arch), debuginfo=True )
+ Utils.create_repository(cfg, dist, Utils.rpm_repodir(cfg,dist,arch), arch=arch)
+ Utils.create_repository(cfg, dist, Utils.debug_repodir(cfg,dist,arch), debuginfo=True, nodeltas=True)
if __name__ == '__main__':
Index: Utils.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/utils/pushscript/Utils.py,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -r1.31 -r1.32
--- Utils.py 12 May 2009 14:00:34 -0000 1.31
+++ Utils.py 15 May 2009 19:53:07 -0000 1.32
@@ -147,13 +147,36 @@
install_copy(src,dest)
-def _create_repository(cfg,dist,repodir,debuginfo=False):
+def _create_repository(cfg,dist,repodir,debuginfo=False,nodeltas=False,arch=None):
# debuginfo: False=exclude debuginfo packages in debug subdir
print 'Creating repository %s' % repodir
+ oldpackagedirs = []
+
+ reldist = dist
+ if dist.startswith('testing/'):
+ reldist = dist.replace('testing/','')
+ if arch: # add stable updates repo to list of oldpackagedirs
+ oldpackagedirs.append( rpm_repodir(cfg, reldist, arch) )
+
cmd = cfg.createrepo
if hasattr(cfg,'createrepo_dict'):
- cmd = cfg.createrepo_dict.get(dist,cmd)
+ cmd = cfg.createrepo_dict.get(reldist,cmd)
+
+ if cmd.find('--deltas')>0:
+ if nodeltas: # no deltarpms for debuginfo pkgs and srpms
+ cmd = cmd.replace('--deltas','')
+
+ if arch and hasattr(cfg,'oldpackagedirs'):
+ dirs = cfg.oldpackagedirs.get(reldist,None)
+ if not dirs or not isinstance(dirs,list):
+ dirs = []
+ for dir in dirs:
+ oldpackagedirs.append( dir.replace('$arch',arch) )
+ if not nodeltas:
+ for path in oldpackagedirs:
+ cmd += ' --oldpackagedirs %s' % path
+
if os.path.exists( os.path.join(repodir,compsname) ):
cmd += ' -g %s' % compsname
if (not debuginfo) and os.path.exists( os.path.join(repodir,'debug') ):
@@ -177,7 +200,7 @@
shutil.move(sourcefile,targetfile)
-def create_repository(cfg,dist,repodir,debuginfo=False):
+def create_repository(cfg,dist,repodir,debuginfo=False,nodeltas=False,arch=None):
"""create/update repository metadata for a given directory and
exclude debuginfo packages in a 'debug' sub-repository by default"""
# Create dirs, if missing, so we would create empty backups, too.
@@ -201,7 +224,7 @@
targetfile = os.path.join(tmpdir,f)
shutil.move(sourcefile,targetfile)
- _create_repository(cfg,dist,repodir,debuginfo)
+ _create_repository(cfg,dist,repodir,debuginfo,nodeltas,arch)
_restore_repodata_dir(tmpdir,rpdata)
# Remove old detached GPG sig (if any).
More information about the fedora-extras-commits
mailing list