From: Joerg Jaspert Date: Fri, 25 Apr 2008 21:41:10 +0000 (+0200) Subject: Merge upstream X-Git-Url: https://git.decadent.org.uk/gitweb/?a=commitdiff_plain;h=3bb635cd8b8d524e808d537f469031125dba86fc;hp=-c;p=dak.git Merge upstream --- 3bb635cd8b8d524e808d537f469031125dba86fc diff --combined ChangeLog index c6b4a9e2,7666bdba..e227e68d --- a/ChangeLog +++ b/ChangeLog @@@ -1,8 -1,48 +1,53 @@@ + 2008-04-25 Joerg Jaspert + + * dak/split_done.py (main): Only move files into their subdirs if + they are older than 30 days. That enables us to run this script as + part of a cronjob. + + * config/debian/cron.weekly: Run dak split-done + + 2008-04-23 Thomas Viehmann + + * dak/process_unchecked.py: add changes["sponsoremail"] + for sponsored uploads if desired + * daklib/queue.py: add changes["sponsoremail"] to + Subst["__MAINTAINER_TO__"] if present + * daklib/utils.py: add functions + is_email_alias to check which accounts allow email forwarding, + which_alias_file to find the alias file, and + gpg_get_key_addresses to find uid addresses for a given + fingerprint + + 2008-04-22 Joerg Jaspert + + * setup/init_pool.sql: added a function/aggregate for the release + team to base some script on it. + + * config/debian/cron.daily: push katie@merkel to immediately start + the sync of projectb there. + + 2008-04-21 Joerg Jaspert + + * scripts/debian/expire_dumps: New script, expires old database + dumps, using a scheme to keep more of the recent dumps. + + * config/debian/cron.daily: Use the new script. Also - compress + all files older than 7 days, instead of 30. + + * dak/process_accepted.py (install): Do not break if a + source/maintainer combination is already in src_uploaders, "just" + warn us. + + 2008-04-20 Thomas Viehmann + + * daklib/utils.py (build_file_list): Deal with "Format 3 style" + Format lines (ie. those having extra text appended). + +2008-04-19 Joerg Jaspert + + * dak/process_unchecked.py (check_files): Sanity check the + provides field, which closes #472783 + 2008-04-18 Joerg Jaspert * config/debian/dak.conf: Add mapping stable-proposed-updates @@@ -123,6 -163,20 +168,20 @@@ changes[architecture] has source included. (check_transition): Now call the database.get_testing_version + 2008-02-09 Christoph Berg + + * daklib/queue.py (get_type): fubar does not exist in global + namespace. + + * setup/add_constraints.sql setup/init_pool.sql: Add changedby column + to source table, and move src_uploaders after source so the REFERNCES + clause works. + * dak/process_accepted.py (install): Fill the changedby column from + the information found in the .changes. This will allow to identify + NMUs and sponsored uploads more precisely in tools querying projectb. + * scripts/debian/insert_missing_changedby.py: Script to import yet + missing fields from filippo's uploads-history DB. + 2008-02-06 Joerg Jaspert * daklib/utils.py (check_signature): Make variable key available, diff --combined dak/process_unchecked.py index 0b8241e4,055f7ee8..498eb49f --- a/dak/process_unchecked.py +++ b/dak/process_unchecked.py @@@ -44,7 -44,6 +44,7 @@@ re_valid_pkg_name = re.compile(r"^[\dA- re_changelog_versions = re.compile(r"^\w[-+0-9a-z.]+ \([^\(\) \t]+\)") re_strip_revision = re.compile(r"-([^-]+)$") re_strip_srcver = re.compile(r"\s+\(\S+\)$") +re_spacestrip = re.compile('(\s)') ################################################################################ @@@ -462,16 -461,6 +462,16 @@@ def check_files() if depends == '': reject("%s: Depends field is empty." % (file)) + # Sanity-check the Provides field + provides = re_spacestrip.sub('', control.Find("Provides")) + if provides == '': + reject("%s: Provides field is empty." % (file)) + prov_list = provides.split(",") + for prov in prov_list: + if not re_valid_pkg_name.match(prov): + reject("%s: Invalid Provides field content %s." % (file, prov)) + + # Check the section & priority match those given in the .changes (non-fatal) if control.Find("Section") and files[file]["section"] != "" and files[file]["section"] != control.Find("Section"): reject("%s control file lists section as `%s', but changes file has `%s'." % (file, control.Find("Section", ""), files[file]["section"]), "Warning: ") @@@ -1083,6 -1072,12 +1083,12 @@@ def check_signed_by_key() if uid_name == "": sponsored = 1 else: sponsored = 1 + if ("source" in changes["architecture"] and + daklib.utils.is_email_alias(uid_email)): + sponsor_addresses = daklib.utils.gpg_get_key_addresses(changes["fingerprint"]) + if (changes["maintaineremail"] not in sponsor_addresses and + changes["changedbyemail"] not in sponsor_addresses): + changes["sponsoremail"] = uid_email if sponsored and not may_sponsor: reject("%s is not authorised to sponsor uploads" % (uid))