+2006-06-11 James Troup <james@nocrew.org>
+
+ * config/debian/cron.unchecked: set -u to error out on undefined
+ variables. Preset LOCKDAILY to "" accordingly.
+ * config/debian/cron.hourly: likewise.
+ * config/debian/cron.monthly: likewise.
+ * config/debian/cron.weekly: likewise.
+
+ * config/debian/vars (configdir): add new variable pointing to
+ this directory.
+
+ * config/debian/cron.daily: use $configdir inplace of $masterdir
+ when that's what we mean, and don't cd into $masterdir just to run
+ dak scripts as we don't need to do that anymore.
+ * config/debian/cron.hourly: likewise.
+ * config/debian/cron.unchecked: likewise.
+ * config/debian/cron.weekly: likewise.
+
+ * config/debian/dak.conf
+ (Import-Users-From-Passwd::KnownPostgres): temporarily add 'katie'
+ user back to list of known users as it's non-trivial to entirely
+ change the owner of a database with postgresql 7.4.
+
+ * dak/daklib/queue.py (Upload.source_exists): use string object
+ methods rather than string module.
+ (Upload.get_anyversion): likewise.
+
+ * dak/daklib/utils.py (validate_changes_file_arg): update filename
+ slicing to cope with new .dak filenames.
+
+ * dak/ls.py (main): add back 'heidi' as a valid argument for
+ -f/--format as people are using it in scripts and breaking that
+ without warning seems rude.
+
2006-05-21 James Troup <james@nocrew.org>
* dak/rm.py (main): use string .isdigit() rather than
TS=$(($TS+1)); echo Archive maintenance timestamp $TS: $(date +%X)
-cd $masterdir
dak check-overrides
rm -f $LOCKAC
TS=$(($TS+1)); echo Archive maintenance timestamp $TS: $(date +%X)
-cd $masterdir
dak make-suite-file-list
TS=$(($TS+1)); echo Archive maintenance timestamp $TS: $(date +%X)
TS=$(($TS+1)); echo Archive maintenance timestamp $TS: $(date +%X)
# Generate Packages and Sources files
-cd $masterdir
+cd $configdir
apt-ftparchive generate apt.conf
# Generate *.diff/ incremental updates
dak generate-index-diffs
TS=$(($TS+1)); echo Archive maintenance timestamp $TS: $(date +%X)
# Stats pr0n
-cd $masterdir
update-ftpstats $base/log/* > $base/misc/ftpstats.data
R --slave --vanilla < $base/misc/ftpstats.R
# Executed hourly via cron, out of troup's crontab.
set -e
+set -u
export SCRIPTVARS=/org/ftp.debian.org/dak/config/debian/vars
. $SCRIPTVARS
-cd $masterdir
dak import-users-from-passwd
dak queue-report -n > $webdir/new.html
# Run at the beginning of the month via cron, out of dak's crontab.
set -e
+set -u
export SCRIPTVARS=/org/ftp.debian.org/dak/config/debian/vars
. $SCRIPTVARS
#! /bin/sh
set -e
+set -u
export SCRIPTVARS=/org/ftp.debian.org/dak/config/debian/vars
. $SCRIPTVARS
+LOCKDAILY=""
LOCKFILE="$lockdir/unchecked.lock"
NOTICE="$lockdir/daily.lock"
cat override.sid.$i.src >> override.sid.all3.src
fi
done
- cd $masterdir
+ cd $configdir
apt-ftparchive -qq generate apt.conf.buildd
- . $masterdir/cron.buildd
+ . $configdir/cron.buildd
fi
else
echo "$timestamp": Nothing to do >> $report
# Run once a week via cron, out of dak's crontab.
set -e
+set -u
export SCRIPTVARS=/org/ftp.debian.org/dak/config/debian/vars
. $SCRIPTVARS
# Clean up apt-ftparchive's databases
-cd $masterdir
+cd $configdir
apt-ftparchive -q clean apt.conf
apt-ftparchive -q clean apt.conf.buildd
{
ValidGID "800";
// Comma separated list of users who are in Postgres but not the passwd file
- KnownPostgres "postgres,dak";
+ KnownPostgres "postgres,dak,katie";
};
Clean-Queues
scriptdir=$base/scripts
masterdir=$base/dak/
+configdir=$base/dak/config/debian/
dbdir=$base/database/
lockdir=$base/lock/
overridedir=$scriptdir/override
sys.stdout.write("%10s | %10s | %13s | " % (pkg, version, suite))
sys.stdout.write(", ".join(arches))
sys.stdout.write('\n')
- elif Options["Format"] == "control-suite":
+ elif Options["Format"] in [ "control-suite", "heidi" ]:
for arch in arches:
sys.stdout.write("%s %s %s\n" % (pkg, version, arch))
if Options["GreaterOrEqual"]:
if x[1] in s and x[0] not in s:
s.append(x[0])
- que = "SELECT s.version FROM source s JOIN src_associations sa ON (s.id = sa.source) JOIN suite su ON (sa.suite = su.id) WHERE s.source = '%s' AND (%s)" % (package, string.join(["su.suite_name = '%s'" % a for a in s], " OR "))
+ que = "SELECT s.version FROM source s JOIN src_associations sa ON (s.id = sa.source) JOIN suite su ON (sa.suite = su.id) WHERE s.source = '%s' AND (%s)" % (package, " OR ".join(["su.suite_name = '%s'" % a for a in s]))
q = self.projectB.query(que)
# Reduce the query results to a list of version numbers
anyversion=None
anysuite = [suite] + self.Cnf.ValueList("Suite::%s::VersionChecks::Enhances" % (suite))
for (v, s) in query_result:
- if s in [ string.lower(x) for x in anysuite ]:
+ if s in [ x.lower() for x in anysuite ]:
if not anyversion or apt_pkg.VersionCompare(anyversion, v) <= 0:
anyversion=v
return anyversion
orig_filename = filename
if filename.endswith(".dak"):
- filename = filename[:-6]+".changes"
+ filename = filename[:-4]+".changes"
if not filename.endswith(".changes"):
error = "invalid file type; not a changes file"
<bdale> Well I didn't let him speak....
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+<helix> elmo: I can't believe people pay you to fix computers
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%