from readyaml import readyaml
-def process_http(pkgs, url):
+def process_http(pkgs, url, addhash=True):
pkglist = urlopen(url + "/dists/sid/main/binary-amd64/Packages.gz")
pkglist = decompress(pkglist, ".gz")
pkglist = deb822.Packages.iter_paragraphs(pkglist)
if name in pkgs and \
version_compare(pkgs[name]["version"], pkg["Version"]) > 0:
continue
- pkgs[name] = dict(version=pkg["Version"],
- filename="%s/%s" % (url, pkg["Filename"]),
- sha256hash=pkg["SHA256"])
+ inst = dict(version=pkg["Version"],
+ filename="%s/%s" % (url, pkg["Filename"]))
+ if addhash:
+ inst["sharing"] = pkg["SHA256"]
+ pkgs[name] = inst
def process_file(pkgs, filename):
base = os.path.basename(filename)
parser.add_argument("-d", "--database", action="store",
default="test.sqlite3",
help="path to the sqlite3 database file")
+ parser.add_argument("--noverify", action="store_true",
+ help="do not verify binary package hashes")
parser.add_argument("files", nargs='+',
help="files or directories or repository urls")
args = parser.parse_args()
for d in args.files:
print("processing %s" % d)
if d.startswith(("http://", "https://", "ftp://", "file://")):
- process_http(pkgs, d)
+ process_http(pkgs, d, not args.noverify)
elif os.path.isdir(d):
process_dir(pkgs, d)
else: