aboutsummaryrefslogtreecommitdiffstats
path: root/MgaRepo/binrepo.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/binrepo.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/binrepo.py')
-rw-r--r--MgaRepo/binrepo.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/MgaRepo/binrepo.py b/MgaRepo/binrepo.py
index 89679b0..874a091 100644
--- a/MgaRepo/binrepo.py
+++ b/MgaRepo/binrepo.py
@@ -170,3 +170,20 @@ def update_sources(topdir, added=[], removed=[]):
f.write("%s %s\n" % (entries[name], name))
f.close()
+def check_sources(topdir):
+ """Verify hashes against binrepo files
+
+ Returns a list of files that differ. Files have do not exist locally are
+ ignored.
+ """
+ changed = []
+ path = sources_path(topdir)
+ if os.path.isfile(path):
+ entries = parse_sources(path)
+ for filename in entries:
+ filepath = os.path.join(topdir, 'SOURCES', filename)
+ if os.path.exists(filepath):
+ name = os.path.basename(filepath)
+ if entries[name] != file_hash(filepath):
+ changed.append(name)
+ return changed