Mike O'Connor [Sat, 7 Feb 2009 18:34:56 +0000 (13:34 -0500)]
add a class providing access methods to a projectb database
This class provides an alternative to daklib/database.py for accessing a
projectb database. This benefits to this alternative are that it uses the
psycopg2 module instead of the pg module, and I object oriented. My
motivation for creating this class is to keep the new code for generating
Contents.gz files free from the pg module, and therefore, the only functions
I've moved into this class so far are those needed for generating the
Contents.gz files.
Joerg Jaspert [Thu, 15 Jan 2009 00:44:38 +0000 (01:44 +0100)]
Merge commit 'stew/master' into merge
* commit 'stew/master':
make examine_package check dependencies based on suite
Get rid of non ascii character in source file.
update dinstall.html for 4 daily dinstall runs
fix removals rss feed when there are fewer than 16 removals
Mike O'Connor [Wed, 14 Jan 2009 17:23:53 +0000 (12:23 -0500)]
make examine_package check dependencies based on suite
examin_package.py would assume that a package when targetting unstable when
checking Depends and Recommends relationships. Now it will allow the suite to
be specified when checking a .deb or .dsc and will read the suite from the
.changes file when checking .changes
Mike O'Connor [Wed, 14 Jan 2009 16:14:17 +0000 (11:14 -0500)]
Get rid of non ascii character in source file.
There was a ß in utils.py that I think was supposed to be a 0. Either it needs
to be changed to a 0 or the character encoding needs to be declared at the top
of the source file. I opted to change the character to a 0.
Joerg Jaspert [Fri, 9 Jan 2009 17:26:33 +0000 (18:26 +0100)]
signature checking changes
Adjust the gpgv signature check. Add one more case of broken key to detect,
EXPKEYSIG. From gnupg docs:
EXPKEYSIG <long keyid> <username>
The signature with the keyid is good, but the signature was
made by an expired key. The username is the primary one
encoded in UTF-8 and %XX escaped.
Also, handle KEYEXPIRED right. The first argument given back is NOT the keyid,
it is the timestamp when the key expired. From gnupg docs:
KEYEXPIRED <expire-timestamp>
The key has expired. expire-timestamp is the expiration time
in seconds after the epoch.
Note, that TIMESTAMP may either be a number with seconds since
epoch or an ISO 8601 string which can be detected by the
presence of the letter 'T' inside.
So lets go and see if we find a T, if not convert the epoch to something
more easily human readable in our reject message.
Mike O'Connor [Fri, 2 Jan 2009 23:58:12 +0000 (18:58 -0500)]
update dinstall.html for 4 daily dinstall runs
dinstall.html contains a javascript countdown timer used to estimate when the
next dinstall run will occur. It was hardcoded for 2 daily dinstall runs.
This patch hard codes it to 4 daily runs.
There previously was a link to the announcement of the switch to 2 daily
dinstall runs. I was not able to locate a similar announcement to the switch
to 4 daily runs, so I simply removed the link to the announcement.
Signed-off-by: Mike O'Connor <stew@debian.org> Signed-off-by: Joerg Jaspert <joerg@debian.org>
Mike O'Connor [Sat, 3 Jan 2009 00:03:10 +0000 (01:03 +0100)]
fix removals rss feed when there are fewer than 16 removals
To: joerg@debian.org
Date: Fri, 02 Jan 2009 23:28:02 +0100
X-Spam-Status: No, score=-3.586 tagged_above=-99 required=4.6 tests=[AWL=0.013, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
User-Agent: Mutt/1.5.18 (2008-05-17)
tools/removals.pl was making the assumption that at least 16 removals exist in
removals.txt. If there are not, it creates and rss feed with with bogus empty
removals to pad the output to 16 entries. This patch removes this false
assumption.
Signed-off-by: Mike O'Connor <stew@debian.org> Signed-off-by: Joerg Jaspert <joerg@debian.org>
Mike O'Connor [Fri, 2 Jan 2009 23:53:02 +0000 (18:53 -0500)]
update dinstall.html for 4 daily dinstall runs
dinstall.html contains a javascript countdown timer used to estimate when the
next dinstall run will occur. It was hardcoded for 2 daily dinstall runs.
This patch hard codes it to 4 daily runs.
There previously was a link to the announcement of the switch to 2 daily
dinstall runs. I was not able to locate a similar announcement to the switch
to 4 daily runs, so I simply removed the link to the announcement.
Joerg Jaspert [Fri, 2 Jan 2009 22:23:27 +0000 (23:23 +0100)]
Merge commit 'ncomm/dm_upload_allowed' into merge
* commit 'ncomm/dm_upload_allowed':
Fixed to handle multiple DD/DM keyrings, and ldap to handle new DM status
Modified dm status to be a keyring specific switch, modified update1
Fixed it so the fingerprint table is properly referenced vs the uid
fix typo
Fixed and made changes for Joerg.
Actually use the sleep call ...
Updated update_db.py to use a lockfile properly and to properly wait.
fixed update_db not to have a braindead mistake. Don't write code at 1 in the
Added update system for the database, and the first update script
Changed process_unchecked.py to handle DM's (slightly) more sanely.
Modified dak to use non-braindead DM schema, and use an actual column for
Corrected a bug with the handling of DM-Upload-Allowed and experimental suites of the archive
Added dm-upload-allowed flag to exist, and added support for all
Mike O'Connor [Fri, 2 Jan 2009 22:21:46 +0000 (17:21 -0500)]
fix removals rss feed when there are fewer than 16 removals
tools/removals.pl was making the assumption that at least 16 removals exist in
removals.txt. If there are not, it creates and rss feed with with bogus empty
removals to pad the output to 16 entries. This patch removes this false
assumption.
Modified dm status to be a keyring specific switch, modified update1
to handle the dm: format change, added support for changing the keyring
switch in dak.conf
Signed-off-by: Michael Casadevall <sonicmctails@gmail.com>
Joerg Jaspert [Wed, 31 Dec 2008 10:45:41 +0000 (11:45 +0100)]
Remove ChangeLog, add README.coding
Removed the ChangeLog, from now on we go with the git commit messages. One source
less for merge conflicts.
Also added a README.coding, mostly a copy from dakV2. I very much love to get code
from others, so to not annoy new committers too much, lets go and write the basic
rules I try to apply down here. Better than nagging after I got a patch to merge.
Changed process_unchecked.py to handle DM's (slightly) more sanely.
Previously, process_unchecked only checked unstable to determine DM upload rights.
This caused issues with experimental since a package could have DM-Allowed-Upload in experimental
but not in stable causing a REJECT.
The applied code change causes dak to find the highest version of a package, and use its uploaders/DM-Allowed-Uploader
flag to determine upload rights to that package. This also resolves a corner case usage where a package only exists
in testing/stable/oldstable, and upload rights to {t-|o-}p-u.
Note: In addition to the previous ALTER TABLE statememnt, the following SQL query is necessary to
finish the schema updates. This does not apply to installations not using DMs.
UPDATE source SET dm_upload_allowed = 't' WHERE id = (SELECT source FROM src_uploaders);
Signed-off-by: Michael Casadevall <sonicmctails@gmail.com>