extras-buildsys/utils/pushscript Utils.py, 1.12, 1.13 Push.py, 1.36, 1.37
Michael Schwendt (mschwendt)
fedora-extras-commits at redhat.com
Fri Mar 2 20:41:28 UTC 2007
Author: mschwendt
Update of /cvs/fedora/extras-buildsys/utils/pushscript
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv15200
Modified Files:
Utils.py Push.py
Log Message:
Add the push option -c which enables "continue-mode", where no
new packages are pushed before completing with the repobuild,
repoprune, multilib, repoview, build report stuff.
Index: Utils.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/utils/pushscript/Utils.py,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- Utils.py 27 Feb 2007 23:11:02 -0000 1.12
+++ Utils.py 2 Mar 2007 20:41:26 -0000 1.13
@@ -228,6 +228,14 @@
return False
+def is_any_repo_changed(cfg,dist,reporoot):
+ for repodir in get_std_repodirs(cfg,dist,reporoot):
+ if is_repo_changed(repodir):
+ debugprint("Dist %s (%s) was changed" % (dist, repodir))
+ return True
+ return False
+
+
def get_std_repodirs(cfg,dist,reporoot):
"""return list of all repository directories (below reporoot) for
this distribution version"""
Index: Push.py
===================================================================
RCS file: /cvs/fedora/extras-buildsys/utils/pushscript/Push.py,v
retrieving revision 1.36
retrieving revision 1.37
diff -u -r1.36 -r1.37
--- Push.py 2 Mar 2007 16:40:05 -0000 1.36
+++ Push.py 2 Mar 2007 20:41:26 -0000 1.37
@@ -38,6 +38,7 @@
REPO_LOCKFILE_NAME = '.repo-update.lock'
class opts:
+ cont_mode = False
force = False
ts = rpmUtils.transaction.initReadOnlyTransaction()
@@ -246,20 +247,15 @@
destroot = os.path.join(cfg.treedir, dist)
if not DEBUG and not os.path.exists(destroot):
os.makedirs(destroot)
- changed = False
- for repodir in Utils.get_std_repodirs(cfg,dist,destroot):
- # We check for changes already here in case the repo has changed
- # due to external activities such as removing files etc, and will
- # recheck it again later if needed when we're done with this sign
- # batch.
- if not changed:
- changed = Utils.is_repo_changed(repodir)
- if changed:
- print "Dist %s (%s) was externally changed" % (dist, repodir)
- if not DEBUG and not os.path.exists(repodir):
- os.makedirs(repodir)
+ # We check for changes already here in case the repo has changed
+ # due to external activities such as removing files etc, and will
+ # recheck it again later if needed when we're done with this sign
+ # batch.
+ changed = Utils.is_any_repo_changed(cfg,dist,destroot)
+ Utils.make_std_repodirs(cfg,dist,destroot)
+
repolockname = os.path.join(needsignroot,REPO_LOCKFILE_NAME)
repolock = LockFile(name=repolockname,blocking=True)
try:
@@ -356,11 +352,7 @@
# All done, now check if something changed unless we already know it did:
if not changed:
- for repodir in Utils.get_std_repodirs(cfg,dist,destroot):
- changed = Utils.is_repo_changed(repodir)
- if changed:
- Utils.debugprint("Dist %s (%s) was changed" % (dist, repodir))
- break
+ changed = Utils.is_any_repo_changed(cfg,dist,destroot)
return 0, changed
@@ -433,10 +425,13 @@
# ====================================================================
+def usage():
+ print 'Usage: %s <project> <release|all> [release]...\n' % os.path.basename(sys.argv[0])
+ sys.exit(errno.EINVAL)
+
if __name__ == '__main__':
if len(sys.argv) < 3:
- print 'Usage: %s <project> <release|all> [release]...\n' % os.path.basename(sys.argv[0])
- sys.exit(errno.EINVAL)
+ usage()
cfg = Utils.load_config_module(sys.argv[1])
@@ -445,6 +440,9 @@
if cfg.opts.signkeycheck:
Utils.sign_key_check(cfg.signkeyname)
+ if '-c' in sys.argv[2:]:
+ sys.argv.remove('-c')
+ opts.cont_mode = True # don't push new packages
if '-f' in sys.argv[2:]:
sys.argv.remove('-f')
opts.force = True
@@ -465,6 +463,8 @@
if d not in diststopush:
diststopush.append(d)
Utils.debugprint(diststopush)
+ if not len(diststopush):
+ usage()
if not os.path.exists(cfg.rundir):
os.makedirs(cfg.rundir)
@@ -485,7 +485,10 @@
mustfinish = [] # dists with pending build report
totalchanges = 0
for dist in diststopush:
- whitelist = ['.*'] # all (regexp)
+ if opts.cont_mode: # only complete previously pushed pkgs
+ whitelist = [] # none
+ else:
+ whitelist = ['.*'] # all (regexp)
if dist in cfg.frozendists:
whitelist = []
result, repochanged = copy_sign_move(dist,whitelist)
More information about the fedora-extras-commits
mailing list