extras-buildsys/utils/pushscript RepoBuild.py,1.5,1.6

Michael Schwendt mschwendt at fedoraproject.org
Thu Nov 6 12:17:50 UTC 2008


Author: mschwendt

Update of /cvs/fedora/extras-buildsys/utils/pushscript
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv30765

Modified Files:
	RepoBuild.py 
Log Message:
- update for 'development' dist repo layout
- make repobuild_linkdict config setting optional
- append std pushscript module main function



Index: RepoBuild.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/utils/pushscript/RepoBuild.py,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- RepoBuild.py	23 Aug 2007 12:02:56 -0000	1.5
+++ RepoBuild.py	6 Nov 2008 12:17:50 -0000	1.6
@@ -19,34 +19,33 @@
 import Utils
 
 def main(cfg,dist):
-    if not cfg.archdict.has_key(dist):
-        print "No distribution release named '%s' found" % dist
-        sys.exit(errno.EINVAL)
+    Utils.make_std_repodirs(cfg,dist)
+
+    if hasattr(cfg,'repobuild_linkdict'):
+        # get rid of symlinks that are in the way (of createrepo)
+        for link in cfg.repobuild_linkdict.get(dist) or []:
+            flink = os.path.join(reporoot, link)
+            if os.path.exists(flink):
+                os.unlink(flink)
 
-    reporoot = os.path.join(cfg.treedir, dist)
-    Utils.make_std_repodirs(cfg,dist,reporoot)
-    repodir = os.path.join(reporoot,'SRPMS')
-    Utils.create_repository(cfg,dist,repodir,debuginfo=False)  # source rpms
-
-    # get rid of symlinks that are in the way (of createrepo)
-    for link in cfg.repobuild_linkdict.get(dist) or []:
-        flink = os.path.join(reporoot, link)
-        if os.path.exists(flink):
-            os.unlink(flink)
+    srpmspath = Utils.srpm_repodir(cfg,dist)
+    Utils.create_repository(cfg,dist,srpmspath)  # source rpms
 
     for arch in cfg.archdict[dist]:
-        Utils.create_repository(cfg,dist,os.path.join(reporoot,arch))  # binary+debuginfo rpms
+        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
 
-    # recreate symlinks
-    for link in cfg.repobuild_linkdict.get(dist) or []:
-        flink = os.path.join(cfg.treedir, dist, link)
-        if not os.path.exists(flink):
-            os.symlink(cfg.repobuild_linkdict[dist][link], flink)
+    if hasattr(cfg,'repobuild_linkdict'):
+        # recreate symlinks
+        for link in cfg.repobuild_linkdict.get(dist) or []:
+            flink = os.path.join(cfg.treedir, dist, link)
+            if not os.path.exists(flink):
+                os.symlink(cfg.repobuild_linkdict[dist][link], flink)
 
 
 if __name__ == '__main__':
     if len(sys.argv) < 3:
-        print 'Usage: %s <project> <release>\n' % os.path.basename(sys.argv[0])
+        print 'Usage: %s <project> <release> [release]...\n' % os.path.basename(sys.argv[0])
         sys.exit(errno.EINVAL)
     
     cfg = Utils.load_config_module(sys.argv[1])
@@ -54,5 +53,9 @@
     me = os.getcwd()
     Utils.signer_gid_check(cfg.signersgid)
     os.umask(cfg.signersumask)
-    main(cfg,sys.argv[2])
+    for dist in sys.argv[2:]:
+        if not cfg.archdict.has_key(dist):
+            print "No distribution release named '%s' found" % dist
+            continue
+        main(cfg,dist)
     os.chdir(me)




More information about the fedora-extras-commits mailing list