diff options
author | Dan Fandrich <danf@mageia.org> | 2023-04-07 02:47:32 -0700 |
---|---|---|
committer | Dan Fandrich <danf@mageia.org> | 2023-04-07 02:50:53 -0700 |
commit | a3c6eaa2a4bb3873f7e137b48603f9c2c552b39d (patch) | |
tree | 18086d97a1dd9fdcd5528597b976fc4055414df5 /MgaRepo/binrepo.py | |
parent | da90dea3e11babc0d012033c8048dc5c19c618c0 (diff) | |
download | mgarepo-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.py | 17 |
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 |