('h',"help","Dinstall::Options::Help"),
('n',"no-action","Dinstall::Options::No-Action"),
('p',"no-lock", "Dinstall::Options::No-Lock"),
- ('s',"no-mail", "Dinstall::Options::No-Mail")]
+ ('s',"no-mail", "Dinstall::Options::No-Mail"),
+ ('d',"directory", "Dinstall::Options::Directory", "HasArg")]
- for i in ["automatic", "help", "no-action", "no-lock", "no-mail", "version"]:
+ for i in ["automatic", "help", "no-action", "no-lock", "no-mail",
+ "version", "directory"]:
if not Cnf.has_key("Dinstall::Options::%s" % (i)):
Cnf["Dinstall::Options::%s" % (i)] = ""
if Options["Help"]:
usage()
+ # If we have a directory flag, use it to find our files
+ if Cnf["Dinstall::Options::Directory"] != "":
+ # Note that we clobber the list of files we were given in this case
+ # so warn if the user has done both
+ if len(changes_files) > 0:
+ utils.warn("Directory provided so ignoring files given on command line")
+
+ changes_files = utils.get_changes_files(Cnf["Dinstall::Options::Directory"])
+
Upload = queue.Upload(Cnf)
projectB = Upload.projectB
suite_id = database.get_suite_id(suite)
projectB.query("INSERT INTO bin_associations (suite, bin) VALUES (%d, currval('binaries_id_seq'))" % (suite_id))
- if not database.copy_temporary_contents(package, version, files[newfile]):
- reject("Missing contents for package")
+ if not database.copy_temporary_contents(package, version, architecture, newfile, reject):
+ print "REJECT\n" + reject_message,
+ projectB.query("ROLLBACK")
+ raise MissingContents, "No contents stored for package %s, and couldn't determine contents of %s" % (package, newfile )
+
+
+ orig_tar_id = Upload.pkg.orig_tar_id
+ orig_tar_location = Upload.pkg.orig_tar_location
# If this is a sourceful diff only upload that is moving
# cross-component we need to copy the .orig.tar.gz into the new