# Create the postgres dump files
function pgdump_pre() {
- log "Creating pre-daily-cron-job backup of projectb database..."
- pg_dump projectb > $base/backup/dump_pre_$(date +%Y.%m.%d-%H:%M:%S)
+ log "Creating pre-daily-cron-job backup of $PGDATABASE database..."
+ pg_dump > $base/backup/dump_pre_$(date +%Y.%m.%d-%H:%M:%S)
}
function pgdump_post() {
- log "Creating post-daily-cron-job backup of projectb database..."
+ log "Creating post-daily-cron-job backup of $PGDATABASE database..."
cd $base/backup
POSTDUMP=$(date +%Y.%m.%d-%H:%M:%S)
- pg_dump projectb > $base/backup/dump_$POSTDUMP
+ pg_dump > $base/backup/dump_$POSTDUMP
#pg_dumpall --globals-only > $base/backup/dumpall_$POSTDUMP
ln -sf $base/backup/dump_$POSTDUMP current
#ln -sf $base/backup/dumpall_$POSTDUMP currentall
ARCHLIST=$(tempfile)
- log "Querying projectb..."
- echo 'SELECT l.path, f.filename, a.arch_string FROM location l JOIN files f ON (f.location = l.id) LEFT OUTER JOIN (binaries b JOIN architecture a ON (b.architecture = a.id)) ON (f.id = b.file)' | psql projectb -At | sed 's/|//;s,^/srv/ftp-master.debian.org/ftp,.,' | sort >$ARCHLIST
+ log "Querying $PGDATABASE..."
+ echo 'SELECT l.path, f.filename, a.arch_string FROM location l JOIN files f ON (f.location = l.id) LEFT OUTER JOIN (binaries b JOIN architecture a ON (b.architecture = a.id)) ON (f.id = b.file)' | psql -At | sed 's/|//;s,^/srv/ftp-master.debian.org/ftp,.,' | sort >$ARCHLIST
includedirs () {
perl -ne 'print; while (m,/[^/]+$,) { $_=$`; print $_ . "\n" unless $d{$_}++; }'
log "Generating suite lists"
suite_list () {
- printf 'SELECT DISTINCT l.path, f.filename FROM (SELECT sa.source AS source FROM src_associations sa WHERE sa.suite = %d UNION SELECT b.source AS source FROM bin_associations ba JOIN binaries b ON (ba.bin = b.id) WHERE ba.suite = %d) s JOIN dsc_files df ON (s.source = df.source) JOIN files f ON (df.file = f.id) JOIN location l ON (f.location = l.id)\n' $1 $1 | psql -F' ' -A -t projectb
+ printf 'SELECT DISTINCT l.path, f.filename FROM (SELECT sa.source AS source FROM src_associations sa WHERE sa.suite = %d UNION SELECT b.source AS source FROM bin_associations ba JOIN binaries b ON (ba.bin = b.id) WHERE ba.suite = %d) s JOIN dsc_files df ON (s.source = df.source) JOIN files f ON (df.file = f.id) JOIN location l ON (f.location = l.id)\n' $1 $1 | psql -F' ' -A -t
- printf 'SELECT l.path, f.filename FROM bin_associations ba JOIN binaries b ON (ba.bin = b.id) JOIN files f ON (b.file = f.id) JOIN location l ON (f.location = l.id) WHERE ba.suite = %d\n' $1 | psql -F' ' -A -t projectb
+ printf 'SELECT l.path, f.filename FROM bin_associations ba JOIN binaries b ON (ba.bin = b.id) JOIN files f ON (b.file = f.id) JOIN location l ON (f.location = l.id) WHERE ba.suite = %d\n' $1 | psql -F' ' -A -t
}
- printf 'SELECT id, suite_name FROM suite\n' | psql -F' ' -At projectb |
+ printf 'SELECT id, suite_name FROM suite\n' | psql -F' ' -At |
while read id suite; do
[ -e $base/ftp/dists/$suite ] || continue
(
function merkel2() {
# Push dak@merkel so it syncs the projectb there. Returns immediately, the sync runs detached
- log "Trigger merkel/flotows projectb sync"
+ log "Trigger merkel/flotows $PGDATABASE sync"
ssh -2 -o BatchMode=yes -o SetupTimeOut=30 -o ConnectTimeout=30 -i ~/.ssh/push_merkel_projectb dak@merkel.debian.org sleep 1
# Also trigger flotow, the ftpmaster test box
ssh -2 -o BatchMode=yes -o SetupTimeOut=30 -o ConnectTimeout=30 -i ~/.ssh/push_flotow_projectb dak@flotow.debconf.org sleep 1
PATH=$masterdir:$PATH
umask 022
+# Set the database variables
+eval $(dak/admin.py config db-shell)
echo "Known debian maintainers:"
-psql --html projectb <<EOF
+eval $(dak admin config db-shell)
+
+psql --html <<EOF
SELECT uid.uid, uid.name, f.fingerprint
FROM uid LEFT OUTER JOIN fingerprint f ON (uid.id = f.uid)
WHERE uid.uid LIKE '%@%'
echo "Debian maintainers not able to update any packages:"
-psql --html projectb <<EOF
+psql --html <<EOF
SELECT uid.uid, uid.name
FROM uid
WHERE uid.uid LIKE 'dm:%'
echo "Packages debian maintainers may update:"
-psql --html projectb <<EOF
+psql --html <<EOF
SELECT s.source, space_separated_list(s.version), u.uid
FROM src_uploaders su JOIN source s ON (su.source = s.id)
JOIN src_associations sa ON (s.id = sa.source)
echo "Source packages in the pool uploaded by debian maintainers:"
-psql --html projectb <<EOF
+psql --html <<EOF
SELECT s.source, s.version, s.install_date, u.uid
FROM source s JOIN fingerprint f ON (s.sig_fpr = f.id)
JOIN uid u ON (f.uid = u.id)
echo "Binary packages in the pool uploaded by debian maintainers:"
-psql --html projectb <<EOF
+psql --html <<EOF
SELECT b.package, b.version, a.arch_string AS arch, u.uid
FROM binaries b JOIN architecture a ON (b.architecture = a.id)
JOIN fingerprint f ON (b.sig_fpr = f.id)
echo "Recorded Uploaders:"
-psql --html projectb <<EOF
+psql --html <<EOF
SELECT s.source, s.version, m.name
FROM src_uploaders su JOIN source s ON (su.source = s.id)
JOIN maintainer m ON (su.maintainer = m.id)
echo "Keys without a recorded uid:"
-psql --html projectb <<EOF
+psql --html <<EOF
SELECT *
FROM fingerprint f
WHERE f.uid IS NULL;
echo "udeb's in testing that don't (anymore) correspond to any testing source:"
-psql projectb -c "select b.package, b.version, (SELECT arch_string from
+psql -c "select b.package, b.version, (SELECT arch_string from
architecture where b.architecture=architecture.id) as arch, s.source from
bin_associations ba LEFT JOIN binaries b on (ba.bin=b.id) LEFT JOIN source s
on (b.source=s.id) WHERE ba.suite=4 AND s.id NOT IN (SELECT source from
b.package, b.architecture;"
echo "udeb's in unstable that should be in testing too:"
-psql projectb -c "select b.package, b.version, (SELECT arch_string from
+psql -c "select b.package, b.version, (SELECT arch_string from
architecture where b.architecture=architecture.id) as arch, s.source from
bin_associations ba LEFT JOIN binaries b on (ba.bin=b.id) LEFT JOIN source s
on (b.source=s.id) WHERE ba.suite=5 AND NOT EXISTS (SELECT 1 FROM
b.architecture NOT IN (4,8,12) ORDER BY s.source, b.package, b.architecture;"
echo "udeb's in t-p-u that should be in testing too:"
-psql projectb -c "select b.package, b.version, (SELECT arch_string from
+psql -c "select b.package, b.version, (SELECT arch_string from
architecture where b.architecture=architecture.id) as arch, s.source from
bin_associations ba LEFT JOIN binaries b on (ba.bin=b.id) LEFT JOIN source s
on (b.source=s.id) WHERE ba.suite=3 AND NOT EXISTS (SELECT 1 FROM