aboutsummaryrefslogtreecommitdiffstats
path: root/MgaRepo/rpmutil.py
diff options
context:
space:
mode:
authorDan Fandrich <danf@mageia.org>2023-04-07 02:47:32 -0700
committerDan Fandrich <danf@mageia.org>2023-04-07 02:50:53 -0700
commita3c6eaa2a4bb3873f7e137b48603f9c2c552b39d (patch)
tree18086d97a1dd9fdcd5528597b976fc4055414df5 /MgaRepo/rpmutil.py
parentda90dea3e11babc0d012033c8048dc5c19c618c0 (diff)
downloadmgarepo-a3c6eaa2a4bb3873f7e137b48603f9c2c552b39d.tar
mgarepo-a3c6eaa2a4bb3873f7e137b48603f9c2c552b39d.tar.gz
mgarepo-a3c6eaa2a4bb3873f7e137b48603f9c2c552b39d.tar.bz2
mgarepo-a3c6eaa2a4bb3873f7e137b48603f9c2c552b39d.tar.xz
mgarepo-a3c6eaa2a4bb3873f7e137b48603f9c2c552b39d.zip
Add sync --upload (mga#2868)
This will automatically upload any changed binrepo files and update sha1.lst to match. Using --dryrun will show any changed files but not upload or change anything.
Diffstat (limited to 'MgaRepo/rpmutil.py')
-rw-r--r--MgaRepo/rpmutil.py14
1 files changed, 13 insertions, 1 deletions
diff --git a/MgaRepo/rpmutil.py b/MgaRepo/rpmutil.py
index 66343b5..b71afb0 100644
--- a/MgaRepo/rpmutil.py
+++ b/MgaRepo/rpmutil.py
@@ -514,7 +514,7 @@ def ispkgtopdir(path=None):
names = os.listdir(path)
return (".svn" in names and "SPECS" in names and "SOURCES" in names)
-def sync(dryrun=False, commit=False, download=False):
+def sync(dryrun=False, commit=False, download=False, up=False):
svn = SVN()
topdir = getpkgtopdir()
spath = binrepo.sources_path(topdir)
@@ -596,6 +596,18 @@ def sync(dryrun=False, commit=False, download=False):
print("A\t%s" % path)
if not dryrun:
upload([path], commit=commit)
+ # check binrepo files
+ changed = binrepo.check_sources(topdir)
+ if changed:
+ changed_paths = []
+ for filename in changed:
+ filepath = os.path.join(topdir, 'SOURCES', filename)
+ changed_paths.append(filepath)
+ print('M\t%s' % filepath)
+ if not dryrun and up:
+ binrepo.upload_binary(topdir, filename)
+ if not dryrun and up:
+ binrepo.update_sources(topdir, added=changed_paths)
def commit(target=".", message=None, logfile=None):
svn = SVN()