From bf263c8438b11ee7acb1308cf96bfca49ff2781f Mon Sep 17 00:00:00 2001 From: Philipp Kern Date: Mon, 7 Feb 2011 15:12:13 +0000 Subject: [PATCH] import various post-release changes --- bin/catgdbm | 42 ---------- bin/dep-wait-build | 1 - bin/do_stats | 28 +++++++ bin/failed-build | 1 - {triggers => bin}/filter-nonfree | 0 bin/forget-build | 1 - bin/give-back-build | 1 - bin/keep-latest | 51 ++++++++---- bin/list-building | 1 - bin/list-dep-wait | 1 - bin/list-failed | 1 - bin/list-installed | 1 - bin/list-needs-build | 1 - bin/list-not-for-us | 1 - bin/list-uploaded | 1 - bin/no-build | 1 - bin/save-database | 12 +++ bin/sync.sh | 7 +- bin/uploaded-build | 1 - bin/wanna-build | 128 +++++++++++++++++++---------- bin/wanna-build-statistics | 7 +- bin/wb-edos-builddebcheck | 134 ------------------------------- bin/wb-graph | 9 +-- bin/wb-make-rev | 44 ---------- home/.gitignore | 10 --- {bin => lib}/WannaBuild.pm | 14 ++++ libtrigger.sh | 33 -------- postrelease | 49 ----------- triggers/common | 44 ++++++---- triggers/trigger.backports | 22 ++++- triggers/trigger.debian | 17 ++-- triggers/trigger.debian-buildd | 10 ++- triggers/trigger.edu | 2 +- triggers/trigger.volatile | 2 +- 34 files changed, 246 insertions(+), 432 deletions(-) delete mode 100755 bin/catgdbm delete mode 120000 bin/dep-wait-build create mode 100755 bin/do_stats delete mode 120000 bin/failed-build rename {triggers => bin}/filter-nonfree (100%) delete mode 120000 bin/forget-build delete mode 120000 bin/give-back-build delete mode 120000 bin/list-building delete mode 120000 bin/list-dep-wait delete mode 120000 bin/list-failed delete mode 120000 bin/list-installed delete mode 120000 bin/list-needs-build delete mode 120000 bin/list-not-for-us delete mode 120000 bin/list-uploaded delete mode 120000 bin/no-build create mode 100755 bin/save-database delete mode 120000 bin/uploaded-build delete mode 100755 bin/wb-edos-builddebcheck delete mode 100755 bin/wb-make-rev delete mode 100644 home/.gitignore rename {bin => lib}/WannaBuild.pm (91%) delete mode 100644 libtrigger.sh delete mode 100644 postrelease diff --git a/bin/catgdbm b/bin/catgdbm deleted file mode 100755 index d7f6bbe..0000000 --- a/bin/catgdbm +++ /dev/null @@ -1,42 +0,0 @@ -#!/usr/bin/perl - -use File::Basename; -$progname = basename($0); - -use DB_File; -use GDBM_File; - -die "Filename missing\n" if !@ARGV; -die "$ARGV[0]: $!\n" if !-f $ARGV[0]; - -if ($progname =~ /catdb/) { - tie %db, 'DB_File', $ARGV[0], O_RDONLY, 0664, $DB_HASH; -} -elsif ($progname =~ /catgdbm/) { - tie %db, 'GDBM_File', $ARGV[0], GDBM_READER, 0644; -} -else { - die "Called for unknown db type\n"; -} -shift; - -if (@ARGV > 0) { - foreach $key (@ARGV) { - print "-"x78, "\n"; - if (exists $db{$key}) { - print "$key:\n$db{$key}\n"; - } - else { - print "*UNDEFINED*\n"; - } - } -} -else { - while( ($key,$val) = each %db ) { - print "-"x78, "\n"; - print "$key:\n$val\n"; - } -} - -untie %db; -exit 0; diff --git a/bin/dep-wait-build b/bin/dep-wait-build deleted file mode 120000 index 0b45c3e..0000000 --- a/bin/dep-wait-build +++ /dev/null @@ -1 +0,0 @@ -wanna-build \ No newline at end of file diff --git a/bin/do_stats b/bin/do_stats new file mode 100755 index 0000000..d869845 --- /dev/null +++ b/bin/do_stats @@ -0,0 +1,28 @@ +#!/bin/bash + +. /org/wanna-build/triggers/common + +STATS_DISTS="sid wheezy squeeze lenny" +ALL_ARCHES=$(echo $ARCHS_lenny $ARCHS_squeeze $ARCHS_wheezy $ARCHS_unstable \ + | tr ' ' '\n' | sort -u) + +# +# Only update stats if it's been at least 20h since the last time. +# +interval=72000 +last=`stat --format="%Y" /srv/wanna-build/etc/graph-data` +now=`date +%s` +if (( $last + $interval < $now )); then + echo "stats start: `date`" + /srv/wanna-build/bin/wb-graph >> /srv/wanna-build/etc/graph-data + /srv/wanna-build/bin/wb-graph -p >> /srv/wanna-build/etc/graph2-data + /srv/buildd.debian.org/bin/makegraph + for a in $ALL_ARCHES; do + echo Last Updated: `date -u` > /srv/buildd.debian.org/web/stats/$a.txt + for d in $STATS_DISTS; do + /srv/wanna-build/bin/wanna-build-statistics --database=$a/build-db --dist=$d >> /srv/buildd.debian.org/web/stats/$a.txt + done + done + echo "stats ended: `date`" +fi + diff --git a/bin/failed-build b/bin/failed-build deleted file mode 120000 index 0b45c3e..0000000 --- a/bin/failed-build +++ /dev/null @@ -1 +0,0 @@ -wanna-build \ No newline at end of file diff --git a/triggers/filter-nonfree b/bin/filter-nonfree similarity index 100% rename from triggers/filter-nonfree rename to bin/filter-nonfree diff --git a/bin/forget-build b/bin/forget-build deleted file mode 120000 index 0b45c3e..0000000 --- a/bin/forget-build +++ /dev/null @@ -1 +0,0 @@ -wanna-build \ No newline at end of file diff --git a/bin/give-back-build b/bin/give-back-build deleted file mode 120000 index 0b45c3e..0000000 --- a/bin/give-back-build +++ /dev/null @@ -1 +0,0 @@ -wanna-build \ No newline at end of file diff --git a/bin/keep-latest b/bin/keep-latest index 788dcc5..dedef69 100755 --- a/bin/keep-latest +++ b/bin/keep-latest @@ -27,29 +27,48 @@ my %data; my $arch = shift @ARGV; -local($/) = ""; # read in paragraph mode -while (<>) { - my( $version, $name, $architecture ); - $architecture="none"; # better to keep an entry too much than to delete an entry - /^Package:\s*(\S+)$/mi and $name = $1; - /^Version:\s*(\S+)$/mi and $version = $1; - /^Architecture:\s*(\S+)$/mi and $architecture = $1; - if (!defined $name or !defined $version) { - warn "Stanza without Package or Version\n"; +#Read in all data files: +for my $file (@ARGV) { + if (! -f $file) { next; } - if ($arch ne "source" && defined $architecture && $architecture ne "all" && $architecture ne $arch) { - next; + my $fh; + if ($file =~ /.gz$/) { + open($fh, '-|', 'gzip', '-d', '-c', $file) + or die("Can't open pipe from gzip: $!"); + } else { + open($fh, '<', $file) + or die("Can't open $file: $!"); } - my $key = $name; - if ((!exists $version{$key}) or version_less($version{$key},$version)) { - $version{$key} = $version; - $data{$key} = $_; + local($/) = ""; # read in paragraph mode + while (<$fh>) { + my( $version, $name, $architecture ); + $architecture="none"; # better to keep an entry too much than to delete an entry + /^Package:\s*(\S+)$/mi and $name = $1; + /^Version:\s*(\S+)$/mi and $version = $1; + /^Architecture:\s*(\S+)$/mi and $architecture = $1; + if (!defined $name or !defined $version) { + warn "Stanza without Package or Version\n"; + next; + } + if ($arch ne "source" && defined $architecture && $architecture ne "all" && $architecture ne $arch) { + next; + } + my $key = $name; + + if ((!exists $version{$key}) or version_less($version{$key},$version)) { + $version{$key} = $version; + $data{$key} = $_; + } } + + close($fh); } + +#Now output the shortened list: foreach (values %data) { - chomp; $_ .= "\n\n"; + chomp; chomp; $_ .= "\n\n"; print; } diff --git a/bin/list-building b/bin/list-building deleted file mode 120000 index 0b45c3e..0000000 --- a/bin/list-building +++ /dev/null @@ -1 +0,0 @@ -wanna-build \ No newline at end of file diff --git a/bin/list-dep-wait b/bin/list-dep-wait deleted file mode 120000 index 0b45c3e..0000000 --- a/bin/list-dep-wait +++ /dev/null @@ -1 +0,0 @@ -wanna-build \ No newline at end of file diff --git a/bin/list-failed b/bin/list-failed deleted file mode 120000 index 0b45c3e..0000000 --- a/bin/list-failed +++ /dev/null @@ -1 +0,0 @@ -wanna-build \ No newline at end of file diff --git a/bin/list-installed b/bin/list-installed deleted file mode 120000 index 0b45c3e..0000000 --- a/bin/list-installed +++ /dev/null @@ -1 +0,0 @@ -wanna-build \ No newline at end of file diff --git a/bin/list-needs-build b/bin/list-needs-build deleted file mode 120000 index 0b45c3e..0000000 --- a/bin/list-needs-build +++ /dev/null @@ -1 +0,0 @@ -wanna-build \ No newline at end of file diff --git a/bin/list-not-for-us b/bin/list-not-for-us deleted file mode 120000 index 0b45c3e..0000000 --- a/bin/list-not-for-us +++ /dev/null @@ -1 +0,0 @@ -wanna-build \ No newline at end of file diff --git a/bin/list-uploaded b/bin/list-uploaded deleted file mode 120000 index 0b45c3e..0000000 --- a/bin/list-uploaded +++ /dev/null @@ -1 +0,0 @@ -wanna-build \ No newline at end of file diff --git a/bin/no-build b/bin/no-build deleted file mode 120000 index 0b45c3e..0000000 --- a/bin/no-build +++ /dev/null @@ -1 +0,0 @@ -wanna-build \ No newline at end of file diff --git a/bin/save-database b/bin/save-database new file mode 100755 index 0000000..4bb5fae --- /dev/null +++ b/bin/save-database @@ -0,0 +1,12 @@ +#!/bin/bash + +PREFIX=$1 + +sudo -u postgres /usr/bin/pg_dumpall --cluster 8.4/wanna-build | gzip > /org/wanna-build/dumps/dump_${PREFIX}_$(date +%Y.%m.%d-%H:%M:%S).gz + +# Expire dumps only on post-trigger saves. +if [ "$PREFIX" = "post" ] +then + (cd /org/wanna-build/dumps && /org/wanna-build/expire_dumps -d . -f "dump_*") +fi + diff --git a/bin/sync.sh b/bin/sync.sh index c8119f1..8298140 100755 --- a/bin/sync.sh +++ b/bin/sync.sh @@ -50,7 +50,7 @@ debian) USER=cimarosa BUILDD_QUEUE_OPTIONS="--include=Packages.gz --include=Sources.gz --include=**Release* --exclude=* $RSYNC_OPTIONS" rsync --password-file "$PASSWORD_FILE" $MIRROR_OPTIONS $USER@ftp-master.debian.org::debian/dists/ "$TARGET/archive" - rsync --password-file "$PASSWORD_BASE/$1-buildd.rsync-password" $BUILDD_QUEUE_OPTIONS $USER@ftp-master.debian.org::buildd-unstable/ "$TARGET/buildd-unstable" + rsync --password-file "$PASSWORD_BASE/$1-buildd.rsync-password" $BUILDD_QUEUE_OPTIONS $USER@ftp-master.debian.org::buildd-sid/ "$TARGET/buildd-sid" rsync --password-file "$PASSWORD_BASE/$1-buildd.rsync-password" $BUILDD_QUEUE_OPTIONS $USER@ftp-master.debian.org::buildd-experimental/ "$TARGET/buildd-experimental" # Also sync the Maintainers and Uploaders files for consumption through the web interface. rsync --password-file "$PASSWORD_FILE" $MIRROR_OPTIONS $USER@ftp-master.debian.org::debian/indices/Maintainers /srv/buildd.debian.org/etc/Maintainers @@ -61,12 +61,9 @@ debian-security) USER=cimarosa BUILDD_QUEUE_OPTIONS="--include=Packages.gz --include=Sources.gz --include=**Release* --exclude=* $RSYNC_OPTIONS" rsync $MIRROR_OPTIONS $USER@security-master.debian.org::debian-security/dists/ "$TARGET/archive" + rsync --password-file "$PASSWORD_BASE/$1-buildd.rsync-password" $BUILDD_QUEUE_OPTIONS $USER@security-master.debian.org::buildd-wheezy/ "$TARGET/buildd-wheezy" rsync --password-file "$PASSWORD_BASE/$1-buildd.rsync-password" $BUILDD_QUEUE_OPTIONS $USER@security-master.debian.org::buildd-squeeze/ "$TARGET/buildd-squeeze" rsync --password-file "$PASSWORD_BASE/$1-buildd.rsync-password" $BUILDD_QUEUE_OPTIONS $USER@security-master.debian.org::buildd-lenny/ "$TARGET/buildd-lenny" - rsync --password-file "$PASSWORD_BASE/$1-buildd.rsync-password" $BUILDD_QUEUE_OPTIONS $USER@security-master.debian.org::buildd-etch/ "$TARGET/buildd-etch" - [ -h "$TARGET/buildd-testing" ] || ln -sf buildd-squeeze "$TARGET/buildd-testing" - [ -h "$TARGET/buildd-stable" ] || ln -sf buildd-lenny "$TARGET/buildd-stable" - [ -h "$TARGET/buildd-oldstable" ] || ln -sf buildd-etch "$TARGET/buildd-oldstable" ;; debian-volatile) rsync $MIRROR_OPTIONS volatile-master.debian.org::debian-volatile/dists/ "$TARGET/archive" diff --git a/bin/uploaded-build b/bin/uploaded-build deleted file mode 120000 index 0b45c3e..0000000 --- a/bin/uploaded-build +++ /dev/null @@ -1 +0,0 @@ -wanna-build \ No newline at end of file diff --git a/bin/wanna-build b/bin/wanna-build index dc5c3db..5b3afb1 100755 --- a/bin/wanna-build +++ b/bin/wanna-build @@ -32,7 +32,6 @@ die "dbbase is empty\n" if ! $dbbase; die "transactlog is empty\n" if ! $transactlog; die "mailprog binary $conf::mailprog does not exist or isn't executable\n" if !-x $conf::mailprog; -die "no distributions defined\n" if ! %distributions; package main; use strict; @@ -40,7 +39,6 @@ use POSIX; use FileHandle; use File::Copy; use DBI; -use lib '/org/wanna-build/bin'; use lib '/org/wanna-build/lib'; #use lib 'lib'; use WannaBuild; @@ -61,7 +59,8 @@ our ($verbose, $mail_logs, $list_order, $list_state, $category, %catval, %short_category, $short_date, $list_min_age, $dbbase, @curr_time, $build_priority, %new_vers, $binNMUver, %merge_srcvers, %merge_binsrc, - $printformat, $ownprintformat, $privmode, $extra_depends, $extra_conflicts + $printformat, $ownprintformat, $privmode, $extra_depends, $extra_conflicts, + %distributions, %distribution_aliases ); our $Pas = '/org/buildd.debian.org/etc/packages-arch-specific/Packages-arch-specific'; our $simulate = 0; @@ -216,6 +215,8 @@ my %options = export => { arg => \$export_to, mode => "export" }, import => { arg => \$import_from, mode => "import" }, "manual-edit" => { mode => "manual-edit" }, + "distribution-architectures" => { mode => "distribution-architectures" }, + "distribution-aliases" => { mode => "distribution-aliases" }, ); while( @ARGV && $ARGV[0] =~ /^-/ ) { @@ -259,9 +260,51 @@ while( @ARGV && $ARGV[0] =~ /^-/ ) { } } +my $dbh; + +END { + if (defined $dbh) + { + $dbh->disconnect or warn $dbh->errstr; + } +} + +my $schema_suffix = ''; +$recorduser //= (not -t and $user =~ /^buildd_/); +if (isin( $op_mode, qw(list info)) && $distribution !~ /security/ && !$recorduser && !($privmode eq 'yes')) { + $dbh = DBI->connect("DBI:Pg:service=wanna-build") || + die "FATAL: Cannot open database: $DBI::errstr\n"; + $schema_suffix = '_public'; +} +else +{ + $dbh = DBI->connect("DBI:Pg:service=wanna-build-privileged") || + die "FATAL: Cannot open database: $DBI::errstr\n"; +} + +# TODO: This shouldn't be needed, file a bug. +$dbh->{pg_server_prepare} = 0; + +$dbh->begin_work or die $dbh->errstr; + +my $q = 'SELECT distribution, public, auto_dep_wait FROM distributions'; +my $rows = $dbh->selectall_hashref($q, 'distribution'); +foreach my $name (keys %$rows) { + $distributions{$name} = {}; + $distributions{$name}->{'noadw'} = 1 if !($rows->{$name}->{'auto_dep_wait'}); + $distributions{$name}->{'hidden'} = 1 if !($rows->{$name}->{'public'}); +} + +$q = 'SELECT alias, distribution FROM distribution_aliases'; +$rows = $dbh->selectall_hashref($q, 'alias'); +foreach my $name (keys %$rows) { + $distribution_aliases{$name} = $rows->{$name}->{'distribution'}; +} +$distribution = $distribution_aliases{$distribution} if (isin($distribution, keys %distribution_aliases)); + $op_mode = $category ? "set-failed" : "set-building" if !$op_mode; # default operation -$distribution ||= "unstable"; +$distribution ||= "sid"; if ($distribution eq 'any-priv') { $privmode = 'yes'; $distribution = 'any'; @@ -275,7 +318,7 @@ if ($distribution) { my @dists = split(/[, ]+/, $distribution); foreach my $dist (@dists) { die "Bad distribution '$distribution'\n" - if !isin($dist, keys %conf::distributions); + if !isin($dist, keys %distributions); } } if (!isin ( $op_mode, qw(list) ) && ( !$distribution || $distribution =~ /[ ,]/)) { @@ -300,7 +343,8 @@ if ($verbose) { if (!@ARGV && !isin( $op_mode, qw(list merge-quinn merge-partial-quinn import export merge-packages manual-edit - merge-sources))) { + merge-sources distribution-architectures + distribution-aliases))) { warn "No packages given.\n"; usage(); } @@ -362,33 +406,6 @@ $list_order ||= $yamlmap->{"list-order"}{'default'}; $api //= $yamlmap->{"api"}; $api //= 0; -my $dbh; - -END { - if (defined $dbh) - { - $dbh->disconnect or warn $dbh->errstr; - } -} - -my $schema_suffix = ''; -$recorduser //= (not -t and $user =~ /^buildd_/); -if (isin( $op_mode, qw(list info)) && $distribution !~ /security/ && !$recorduser && !($privmode eq 'yes')) { - $dbh = DBI->connect("DBI:Pg:service=wanna-build") || - die "FATAL: Cannot open database: $DBI::errstr\n"; - $schema_suffix = '_public'; -} -else -{ - $dbh = DBI->connect("DBI:Pg:service=wanna-build-privileged") || - die "FATAL: Cannot open database: $DBI::errstr\n"; -} - -# TODO: This shouldn't be needed, file a bug. -$dbh->{pg_server_prepare} = 0; - -$dbh->begin_work or die $dbh->errstr; - process(); $dbh->commit; @@ -548,6 +565,14 @@ sub process { export_db( $export_to ); last SWITCH; }; + /^distribution-architectures/ && do { + show_distribution_architectures(); + last SWITCH; + }; + /^distribution-aliases/ && do { + show_distribution_aliases(); + last SWITCH; + }; die "Unexpected operation mode $op_mode\n"; } @@ -797,7 +822,7 @@ sub add_one_attempted { } elsif ( !pkg_version_eq($pkg, $version) ) { print "$name: version mismatch ". - "($pkg->{'version'} ". + "$(pkg->{'version'} ". "by $pkg->{'builder'})\n"; return; } @@ -829,7 +854,7 @@ sub add_one_built { } elsif ( !pkg_version_eq($pkg, $version) ) { print "$name: version mismatch ". - "($pkg->{'version'} ". + "$(pkg->{'version'} ". "by $pkg->{'builder'})\n"; return; } @@ -920,7 +945,7 @@ sub add_one_failed { } elsif ( !pkg_version_eq($pkg, $version) ) { print "$name: version mismatch ". - "($pkg->{'version'} ". + "$(pkg->{'version'} ". "by $pkg->{'builder'})\n"; return; } @@ -1143,6 +1168,11 @@ sub set_one_binnmu { $pkg->{'notes'} = 'out-of-date'; $pkg->{'buildpri'} = $pkg->{'permbuildpri'} if (defined $pkg->{'permbuildpri'}); + if (defined $distributions{$distribution}{noadw}) { + change_state( \$pkg, 'Installed' ); + } else { + change_state( \$pkg, 'BD-Uninstallable' ); + } } log_ta( $pkg, "--binNMU" ); update_source_info($pkg); @@ -1164,7 +1194,7 @@ sub set_one_binnmu { return; } - if ($distribution eq "unstable") { + if (!defined $distributions{$distribution}{noadw}) { change_state( \$pkg, 'BD-Uninstallable' ); $pkg->{'bd_problem'} = "Installability of build dependencies not tested yet"; } @@ -2112,7 +2142,7 @@ sub info_packages { my( $name, $pkg, $key, $dist ); my @firstkeys = qw(package version builder state section priority installed_version previous_state state_change); - my @dists = $info_all_dists ? keys %conf::distributions : ($distribution); + my @dists = $info_all_dists ? keys %distributions : ($distribution); my %beautykeys = ( 'package' => 'Package', 'version' => 'Version', 'builder' => 'Builder', 'state' => 'State', 'section' => 'Section', 'priority' => 'Priority', 'installed_version' => 'Installed-Version', 'previous_state' => 'Previous-State', @@ -2532,7 +2562,7 @@ sub call_edos_depcheck { my $srcs = $args->{'srcs'}; my $key; - return if defined ($conf::distributions{$distribution}{noadw}) && not defined $args->{'depwait'}; + return if defined ($distributions{$distribution}{noadw}) && not defined $args->{'depwait'}; # We need to check all of needs-build, as any new upload could make # something in needs-build have uninstallable deps @@ -2542,13 +2572,13 @@ sub call_edos_depcheck { my $db = get_all_source_info(); foreach $key (keys %$db) { my $pkg = $db->{$key}; - if (defined $pkg and isin($pkg->{'state'}, qw/Needs-Build BD-Uninstallable/) and not defined ($conf::distributions{$distribution}{noadw})) { + if (defined $pkg and isin($pkg->{'state'}, qw/Needs-Build BD-Uninstallable/) and not defined ($distributions{$distribution}{noadw})) { $interesting_packages{$key} = undef; } if (defined $pkg and isin($pkg->{'state'}, qw/Dep-Wait/) and defined $args->{'depwait'}) { $interesting_packages_depwait{$key} = undef; # we always check for BD-Uninstallability in depwait - could be that depwait is satisfied but package is uninstallable - $interesting_packages{$key} = undef unless defined ($conf::distributions{$distribution}{noadw}); + $interesting_packages{$key} = undef unless defined ($distributions{$distribution}{noadw}); } } @@ -2824,6 +2854,22 @@ sub get_all_source_info { return $db; } +sub show_distribution_architectures { + my $q = 'SELECT distribution, spacecat_all(architecture) AS architectures '. + 'FROM distribution_architectures '. + 'GROUP BY distribution'; + my $rows = $dbh->selectall_hashref($q, 'distribution'); + foreach my $name (keys %$rows) { + print $name.': '.$rows->{$name}->{'architectures'}."\n"; + } +} + +sub show_distribution_aliases { + foreach my $alias (keys %distribution_aliases) { + print $alias.': '.$distribution_aliases{$alias}."\n"; + } +} + sub update_source_info { my $pkg = shift; $pkg->{'extra_depends'} = $extra_depends if defined $extra_depends; diff --git a/bin/wanna-build-statistics b/bin/wanna-build-statistics index e828121..3d7b0d1 100755 --- a/bin/wanna-build-statistics +++ b/bin/wanna-build-statistics @@ -38,7 +38,7 @@ use strict; use vars qw($verbose $dist $database); $verbose = 0; -$dist = "unstable"; +$dist = "sid"; $database = "build-db"; while( @ARGV && $ARGV[0] =~ /^-/ ) { @@ -56,11 +56,6 @@ while( @ARGV && $ARGV[0] =~ /^-/ ) { else { $dist = shift @ARGV; } - $dist = "oldstable" if $dist eq "o"; - $dist = "stable" if $dist eq "s"; - $dist = "testing" if $dist eq "t"; - $dist = "unstable" if $dist eq "u"; - die "Bad distribution\n" if !isin($dist, qw(stable testing unstable stable-security testing-security oldstable oldstable-security)); } elsif (/^--$/) { last; diff --git a/bin/wb-edos-builddebcheck b/bin/wb-edos-builddebcheck deleted file mode 100755 index 0562a95..0000000 --- a/bin/wb-edos-builddebcheck +++ /dev/null @@ -1,134 +0,0 @@ -#!/usr/bin/perl -w - -# Copyright (C) 2008 Ralf Treinen -# This program is free software: you can redistribute it and/or modify it under -# the terms of the GNU General Public License as published by the Free Software -# Foundation, version 2 of the License. - -$debug=0; - -# the prefix used to encode source packages -$sourceprefix="source---"; - -$architecture=""; -$binexplain=0; -$edosoptions = "-failures -explain -quiet"; -while ( $arg = shift @ARGV ) { - if ( $arg eq '-a' || $arg eq '--architecture' ) { - if ($#ARGV == -1) { - die "-a option needs a value"; - } else { - $architecture = shift @ARGV; - } - } elsif ( $arg =~ "--binexplain" || $arg =~ "-be" ) { - $binexplain = 1; - } elsif ( $arg =~ /^-.*/ ) { - die "unrecognized option: $arg"; - } else { - last; - } -} - -if ($#ARGV != 0) { - die "Usage: edos-debbuildcheck [options] Packages Sources" -} else { - $packagefile = $arg; - $sourcesfile = shift(@ARGV); -} - -if ($debug) { - print "Arch: $architecture\n"; - print "Packages: $packagefile\n"; - print "Sources: $sourcesfile\n"; - print "Edos options: $edosoptions\n"; -} - -# check that all stanzas in the binary package file have the same -# architecture. -$packagearch=""; -open(P,$packagefile); -while (

) { - next unless /^Architecture/; - next if /^Architecture:\s*all/; - /Architecture:\s*([^\s]*)/; - if ($packagearch eq "") { - $packagearch = $1; - } elsif ( $packagearch ne $1) { - die "Package file contains different architectures: $packagearch, $1"; - } -} -close P; - -if ( $architecture eq "" ) { - if ( $packagearch eq "" ) { - die "No architecture option given, " . - "and no non-all architecture found in the Packages file"; - } else { - $architecture = $packagearch; - } -} else { - if ( $packagearch ne "" & $architecture ne $packagearch) { - die "Architecture option is $architecture ". - "but the package file contains architecture $packagearch"; - } -} - -open(RESULT,"cat $sourcesfile". - "| edos-debcheck $edosoptions '-base FILE' $packagefile |"); - -$sourcestanza=0; -$explanation=""; -$binpackage=""; - -while () { - if (/^\s+/) { - if ($sourcestanza) { - s/^(\s*)$sourceprefix(.*)depends on/$1$2build-depends on/o; - s/^(\s*)$sourceprefix(.*) and (.*) conflict/$1$2 build-conflicts with $3/o; - print; - if (/depends on ([^\s]*) .*\{.*\}/) { - push(@binqueue,$1); - } - } else { - $explanation .= $_; - } - } else { - if ($sourcestanza) { - print "\n"; - $sourcestanza=0; - } - if ($binpackage ne ""){ - $binfailures{$binpackage} = $explanation; - $binpackage=""; - } - if (/^$sourceprefix(.*) \(.*\): FAILED/o) { - print "Package: $1\n"; - print "Failed-Why:\n"; - $sourcestanza=1; - } elsif (/^([^\s]*) .*: FAILED/) { - $binpackage=$1; - $explanation=$_; - $explanation.=; - $sourcestanza=0; - } else { - # we have someting strange here - $sourcestanza=0; - } - } -} - -close RESULT; - -if ($binexplain) { - while (@binqueue) { - $p=pop(@binqueue); - $v=$binfailures{$p}; - next unless defined $v; - $binfailures{$p}=""; - print "$v" if $v ne ""; - if ($v=~/depends on ([^\s]*) .*\{.*\}/) { - push(@binqueue,$1); - } - } -} - diff --git a/bin/wb-graph b/bin/wb-graph index b5dce42..2a952d0 100755 --- a/bin/wb-graph +++ b/bin/wb-graph @@ -5,7 +5,7 @@ use strict; use vars qw($dist); my $previously_built; -$dist = "unstable"; +$dist = "sid"; while( @ARGV && $ARGV[0] =~ /^-/ ) { $_ = shift @ARGV; @@ -19,11 +19,6 @@ while( @ARGV && $ARGV[0] =~ /^-/ ) { else { $dist = shift @ARGV; } - $dist = "oldstable" if $dist eq "o"; - $dist = "stable" if $dist eq "s"; - $dist = "tesing" if $dist eq "t"; - $dist = "unstable" if $dist eq "u"; - die "Bad distribution\n" if !isin($dist, qw(oldstable stable testing unstable)); } elsif (/^--$/) { last; @@ -48,7 +43,7 @@ foreach $arch (@archs) { my($lastmsg, %n_state, $total, %n_builder, $pu_total); $pu_total = 0; $n_state{"Installed"} = 0; -open( PIPE, "wanna-build --database=$arch/build-db --dist=$dist --list=all 2>&1 |" ) +open( PIPE, "wanna-build --database=$arch/build-db --dist=$dist --list=all |" ) or die "Cannot spawn wanna-build: $!\n"; while( ) { if (/^Database for $dist doesn't exist$/) { diff --git a/bin/wb-make-rev b/bin/wb-make-rev deleted file mode 100755 index dad0946..0000000 --- a/bin/wb-make-rev +++ /dev/null @@ -1,44 +0,0 @@ -#!/usr/bin/perl -w - -use strict; - -my $arch = "i386"; -my $suite = "unstable"; -my %dep; - -my $in_bd = 0; - -open F, "/org/wanna-build/tmp/Sources.$suite-old"; -while () { - if (s/^Build-Depends:// or (/^\s/ and $in_bd)) { - foreach my $pkg (split/,|\|/) { - $pkg =~ s/\(.+\)//; - $pkg =~ s/\[.+\]//; - $pkg =~ s/^\s*(\S+)\s*/$1/; - $dep{$pkg} = 1 if $pkg ne "\n"; - } - $in_bd = 1; - } else { - $in_bd = 0; - } -} -close F; - -open F, "/org/wanna-build/tmp/Packages.$suite.$arch-old"; -while () { - if (s/^Package: - if (s/^Depends:// or (/^\s/ and $in_bd)) { - foreach my $pkg (split/,|\|/) { - $pkg =~ s/\(.+\)//; - $pkg =~ s/\[.+\]//; - $pkg =~ s/^\s*(\S+)\s*/$1/; - $dep{$pkg} = 1 if $pkg ne "\n"; - } - $in_bd = 1; - } else { - $in_bd = 0; - } -} - - -print join ("\n",sort keys %dep); diff --git a/home/.gitignore b/home/.gitignore deleted file mode 100644 index 1ae1ecd..0000000 --- a/home/.gitignore +++ /dev/null @@ -1,10 +0,0 @@ -.alias -.bash_history -.bash_logout -.bash_profile -.bashrc -.cshrc -.lesshst -.viminfo -.zshrc -attic diff --git a/bin/WannaBuild.pm b/lib/WannaBuild.pm similarity index 91% rename from bin/WannaBuild.pm rename to lib/WannaBuild.pm index d9433e2..dab9a3b 100644 --- a/bin/WannaBuild.pm +++ b/lib/WannaBuild.pm @@ -204,4 +204,18 @@ sub isin { return grep( $_ eq $val, @_ ); } +#sub get_distributions { +# my %distributions; + +# my $q = 'SELECT distribution, public, auto_dep_wait FROM distributions'; +# my $rows = $dbh->selectall_hashref($q, 'distribution'); +# foreach my $name (keys %$rows) { +# $distributions{$name} = {}; +# $distributions{$name}->{'noadw'} = 1 if ($rows->{$name}->{'auto_dep_wait'}); +# $distributions{$name}->{'hidden'} = 1 if ($rows->{$name}->{'public'}); +# } + +# return %distributions; +#} + 1; diff --git a/libtrigger.sh b/libtrigger.sh deleted file mode 100644 index 1c82eaf..0000000 --- a/libtrigger.sh +++ /dev/null @@ -1,33 +0,0 @@ -ARCHS_oldstable="alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc" -ARCHS_stable="alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc s390 sparc" -ARCHS_testing="amd64 armel hppa i386 ia64 mips mipsel powerpc s390 sparc kfreebsd-amd64 kfreebsd-i386" -ARCHS_unstable="$ARCHS_testing alpha hurd-i386" -CURLOPT="-q -s -S -R -f -Y 10 -y 120 -K /srv/wanna-build/trigger.curlrc" - -curl_index () { - local url tmpname destname appendname curlopt - url="$1" - destname="$2" - appendname="$3" - tmpname=".$destname" - rc=0 - rm -f "$tmpname" - if [ -e "$destname" ]; then - refdate=`perl -e "print scalar gmtime(((stat ('$destname'))[9]))"` - curl $CURLOPT -z "$refdate" "$url" -o "$tmpname" - rc=$? - else - curl $CURLOPT "$url" -o "$tmpname" - rc=$? - fi - if [ $rc -eq 0 -a -e "$tmpname" ]; then - if gzip -t "$tmpname"; then - mv "$tmpname" "$destname" - else - rc=$? - fi - fi - gzip -dc "$destname" >> "$appendname" - return $rc -} - diff --git a/postrelease b/postrelease deleted file mode 100644 index da81f80..0000000 --- a/postrelease +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/sh -# Meant to be run from the /srv/wanna-build/db dir - -set -e - -# lenny -> squeeze move -ARCHS_old_stable="alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc" -ARCHS_new_stable="alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc s390 sparc" -ARCHS_new_testing="alpha amd64 armel hppa i386 ia64 mips mipsel powerpc s390 sparc" - -#for a in $ALL_ARCHS; do -# rm $a/build-db-oldstable -# rm $a/build-db-oldstable-security -#done - -for a in $ARCHS_old_stable; do - mv $a/build-db-stable $a/build-db-oldstable - mv $a/build-db-stable-security $a/build-db-oldstable-security -done - -for a in $ARCHS_new_stable; do - mv $a/build-db-testing $a/build-db-stable - mv $a/build-db-testing-security $a/build-db-stable-security -done - -for a in $ARCHS_new_testing; do - group=wb-$a - chmod 400 $a/build-db-stable - cp -a $a/build-db-stable $a/build-db-testing - wanna-build -b $a/build-db -d testing-security --create-db --list all - if [ "$a" = "powerpc" ]; then - group=wb-ppc - fi - if [ "$a" = "mipsel" ]; then - group=wb-mips - fi - if [ "$a" = "amd64" ]; then - group=wb-i386 - fi - if [ "$a" = "armel" ]; then - group=wb-arm - fi - chgrp $group $a/build-db-testing* - chmod 000 $a/build-db-testing - chmod 000 $a/build-db-testing-security -done - -# Important! And rebuild it afterwards, check for sanity. -#rm ../tmp/* diff --git a/triggers/common b/triggers/common index 71ce5cc..4c0778b 100644 --- a/triggers/common +++ b/triggers/common @@ -9,10 +9,10 @@ ARCHIVE_BASE="/org/wanna-build/tmp/archive/${ARCHIVE}" PAS_BASE="/org/buildd.debian.org/web/quinn-diff" PAS_FILE="$PAS_BASE/$SUITE/Packages-arch-specific" LOCKFILE="${ARCHIVE_BASE}/lock" -ARCHS_etch="alpha amd64 arm hppa i386 ia64 mips mipsel powerpc s390 sparc" ARCHS_lenny="alpha amd64 arm armel hppa i386 ia64 mips mipsel powerpc s390 sparc" -ARCHS_squeeze="amd64 armel hppa i386 ia64 mips mipsel powerpc s390 sparc kfreebsd-amd64 kfreebsd-i386" -ARCHS_unstable="$ARCHS_squeeze alpha hurd-i386" +ARCHS_squeeze="amd64 armel i386 ia64 mips mipsel powerpc s390 sparc kfreebsd-amd64 kfreebsd-i386" +ARCHS_wheezy="amd64 armel i386 ia64 mips mipsel powerpc s390 sparc kfreebsd-amd64 kfreebsd-i386" +ARCHS_sid="$ARCHS_squeeze alpha hppa hurd-i386" # Creates a working environment within the corresponding archive # directory and jumps there. @@ -25,13 +25,13 @@ ensure_workdir() { get_architectures() { SUITE="$1" - if [ "$SUITE" = "etch" -o "$SUITE" = "oldstable" ]; then echo $ARCHS_etch - elif [ "$SUITE" = "lenny" -o "$SUITE" = "stable" ]; then echo $ARCHS_lenny - elif [ "$SUITE" = "squeeze" -o "$SUITE" = "testing" ]; then echo $ARCHS_squeeze - elif [ "$SUITE" = "unstable" -o "$SUITE" = "sid" ]; then echo $ARCHS_unstable - elif [ "$SUITE" = "experimental" ]; then echo $ARCHS_unstable + if [ "$SUITE" = "lenny" -o "$SUITE" = "oldstable" ]; then echo $ARCHS_lenny + elif [ "$SUITE" = "squeeze" -o "$SUITE" = "stable" ]; then echo $ARCHS_squeeze + elif [ "$SUITE" = "wheezy" -o "$SUITE" = "testing" ]; then echo $ARCHS_wheezy + elif [ "$SUITE" = "unstable" -o "$SUITE" = "sid" ]; then echo $ARCHS_sid + elif [ "$SUITE" = "experimental" ]; then echo $ARCHS_sid else - echo "Unknown suite encountered, aborting." >2 + echo "Unknown suite encountered, aborting." >&2 exit 1 fi } @@ -62,9 +62,9 @@ trigger_wb_update() { echo "`date`: Processing ${ARCHIVE}/${SUITE} ..." - new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE} + keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE} for ARCH in ${ARCHS}; do - new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH} + keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH} done [ -f Packages.${SUITE}.i386.non-free ] && PNF="Packages.${SUITE}.%ARCH%.non-free" || PNF="" [ -f Sources.${SUITE}.non-free ] && SNF="Sources.${SUITE}.non-free" || SNF="" @@ -90,14 +90,16 @@ trigger_wb_update_for_overlay() { echo "`date`: Processing ${ARCHIVE}/${SUITE} ..." - new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE} - new-keep-latest source $(eval echo Sources.${SUITE} ${SOURCES_BASE}) > Sources.${SUITE}-all + keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE} + keep-latest source $(eval echo Sources.${SUITE} ${SOURCES_BASE}) > Sources.${SUITE}-all for ARCH in ${ARCHS}; do - new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH} - new-keep-latest ${ARCH} Packages.${SUITE}.${ARCH} $(eval echo $(echo ${PACKAGES_BASE} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}-all + keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH} + keep-latest ${ARCH} Packages.${SUITE}.${ARCH} $(eval echo $(echo ${PACKAGES_BASE} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}-all done [ -f Packages.${SUITE}.i386.non-free ] && PNF="Packages.${SUITE}.%ARCH%.non-free" || PNF="" [ -f Sources.${SUITE}.non-free ] && SNF="Sources.${SUITE}.non-free" || SNF="" + echo parallel -l 5 -i wanna-build -v --Pas ${PAS_FILE} --merge-v3 -A "{}" --dist=$WB_SUITE Packages.${SUITE}.%ARCH% $PNF . Sources.${SUITE} $SNF . \ + Packages.${SUITE}.%ARCH%-all . Sources.${SUITE}-all $SNF -- ${ARCHS} parallel -l 5 -i wanna-build -v --Pas ${PAS_FILE} --merge-v3 -A "{}" --dist=$WB_SUITE Packages.${SUITE}.%ARCH% $PNF . Sources.${SUITE} $SNF . \ Packages.${SUITE}.%ARCH%-all . Sources.${SUITE}-all $SNF -- ${ARCHS} || true @@ -125,10 +127,10 @@ trigger_wb_update_with_secondary() { echo "`date`: Processing ${ARCHIVE}/${SUITE} ..." - new-keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE} + keep-latest source $(eval echo ${SOURCES}) > Sources.${SUITE} for ARCH in ${ARCHS}; do - new-keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH} + keep-latest ${ARCH} $(eval echo $(echo ${PACKAGES} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH} ucat Packages.${SUITE}.${ARCH} $(eval echo $(echo ${PACKAGES_BASE} | sed -e 's/%ARCH%/${ARCH}/g')) > Packages.${SUITE}.${ARCH}-all done [ -f Packages.${SUITE}.i386.non-free ] && PNF="Packages.${SUITE}.%ARCH%.non-free" || PNF="" @@ -156,3 +158,11 @@ ucat() { fi done } + +filter_out_nonfree() { + INPUT="$1" + OUTPUT="$2" + + gunzip -c "$INPUT" | grep-dctrl -v -r -F Section 'non-free/.*' | gzip -c > "$OUTPUT" +} + diff --git a/triggers/trigger.backports b/triggers/trigger.backports index 96d29a7..58d20f5 100755 --- a/triggers/trigger.backports +++ b/triggers/trigger.backports @@ -1,5 +1,5 @@ #!/bin/bash -# vim:set et ts=4 sw=4 ft=bash ai: +# vim:set et ts=4 sw=4 ft=sh ai: ARCHIVE="backports" @@ -27,7 +27,7 @@ main() { sync.sh $ARCHIVE nolock # Autodetect suites by inspecting the directories in dists/. - SUITES="$(find ${ARCHIVE_BASE}/archive/ -maxdepth 1 -mindepth 1 -type d | \ + SUITES="$(find ${ARCHIVE_BASE}/archive/ -maxdepth 1 -mindepth 1 -type d -name '*-backports' | \ xargs -n 1 basename | \ sort | uniq)" @@ -37,7 +37,23 @@ main() { SOURCES="${ARCHIVE_BASE}/archive/${suite}/{main,contrib}/source/Sources.gz" PACKAGES="${ARCHIVE_BASE}/archive/${suite}/{main,contrib}/binary-%ARCH%/Packages.gz" PACKAGES_BASE="${ARCHIVE_MAIN}/archive/${base_suite}/{main,contrib}/binary-%ARCH%/Packages.gz" - trigger_wb_update_with_secondary "$base_suite" "`get_architectures $base_suite`" "$PACKAGES_BASE" "$SOURCES" "$PACKAGES" "$suite" + trigger_wb_update_with_secondary "$suite" "`get_architectures $base_suite`" "$PACKAGES_BASE" "$SOURCES" "$PACKAGES" "$suite" + done + + # Now the sloppy ones, which are a bit different. + SUITES="$(find ${ARCHIVE_BASE}/archive/ -maxdepth 1 -mindepth 1 -type d -name '*-backports-sloppy' | \ + xargs -n 1 basename | \ + sort | uniq)" + + for suite in $SUITES + do + base_suite=${suite%%-backports-sloppy} + base_bpo_suite=${suite%%-sloppy} + SOURCES="${ARCHIVE_BASE}/archive/${suite}/{main,contrib}/source/Sources.gz" + PACKAGES="${ARCHIVE_BASE}/archive/${suite}/{main,contrib}/binary-%ARCH%/Packages.gz" + PACKAGES_BASE="${ARCHIVE_MAIN}/archive/${base_suite}/{main,contrib}/binary-%ARCH%/Packages.gz" + PACKAGES_BASE="${PACKAGES_BASE} ${ARCHIVE_BASE}/archive/${base_bpo_suite}/{main,contrib}/binary-%ARCH%/Packages.gz" + trigger_wb_update_with_secondary "$suite" "`get_architectures $base_suite`" "$PACKAGES_BASE" "$SOURCES" "$PACKAGES" "$suite" done cleanup diff --git a/triggers/trigger.debian b/triggers/trigger.debian index 26265c7..88c24fd 100755 --- a/triggers/trigger.debian +++ b/triggers/trigger.debian @@ -2,16 +2,16 @@ # vim:set et ts=4 sw=4 ft=sh ai: ARCHIVE="debian" -SUITES="stable testing" +SUITES="lenny squeeze wheezy" # Please note that SUITES_FAST_AUTOBUILD does not pull proposed-updates # because there was no need for that yet. -SUITES_FAST_AUTOBUILD="unstable experimental" +SUITES_FAST_AUTOBUILD="sid experimental" . /org/wanna-build/triggers/common exec >> /org/wanna-build/db/merge.$ARCHIVE.log 2>&1 -if [ -f /org/wanna-build/NO-TRIGGERS ] +if [ -f /org/wanna-build/NO-TRIGGERS -a -z "$1" ] then echo Trigger for $ARCHIVE skipped due to NO-TRIGGERS, aborting. >&2 exit 0 @@ -32,8 +32,12 @@ main_sync() { # files for -proposed-updates itself and additionally for # debian-installer. SOURCES="${ARCHIVE_BASE}/archive/${SUITE}-proposed-updates/{main,contrib}/source/Sources.gz" + NFSOURCES="${ARCHIVE_BASE}/archive/${SUITE}-proposed-updates/non-free/source/Sources.gz" PACKAGES="${ARCHIVE_BASE}/archive/${SUITE}-proposed-updates/{main,contrib}/binary-%ARCH%/Packages.gz" PACKAGES="${PACKAGES} ${ARCHIVE_BASE}/archive/${SUITE}-proposed-updates/{main,contrib}/debian-installer/binary-%ARCH%/Packages.gz" + NFPACKAGES="${ARCHIVE_BASE}/archive/${SUITE}-proposed-updates/non-free/binary-%ARCH%/Packages.gz" + NFPACKAGES="${NFPACKAGES} ${ARCHIVE_BASE}/archive/${SUITE}-proposed-updates/non-free/debian-installer/binary-%ARCH%/Packages.gz" + /org/wanna-build/bin/filter-nonfree /org/wanna-build/etc/non-free-include-list "`get_architectures $SUITE`" Sources.${SUITE}.non-free Packages.${SUITE}.%ARCH%.non-free ${NFSOURCES} . ${NFPACKAGES} || true # Now add the overlay suite as above. SOURCES_BASE="${ARCHIVE_BASE}/archive/${SUITE}/{main,contrib}/source/Sources.gz" PACKAGES_BASE="${ARCHIVE_BASE}/archive/${SUITE}/{main,contrib}/binary-%ARCH%/Packages.gz" @@ -44,21 +48,22 @@ main_sync() { for SUITE in $SUITES_FAST_AUTOBUILD do SOURCES="${ARCHIVE_BASE}/archive/${SUITE}/{main,contrib}/source/Sources.gz" - SOURCES="${SOURCES} ${ARCHIVE_BASE}/buildd-${SUITE}/Sources.gz" + filter_out_nonfree "${ARCHIVE_BASE}/buildd-${SUITE}/Sources.gz" "Sources.${SUITE}.incoming-filtered.gz" + SOURCES="${SOURCES} Sources.${suite}.incoming-filtered.gz" NFSOURCES="${ARCHIVE_BASE}/archive/${SUITE}/non-free/source/Sources.gz" PACKAGES="${ARCHIVE_BASE}/archive/${SUITE}/{main,contrib}/binary-%ARCH%/Packages.gz" PACKAGES="${PACKAGES} ${ARCHIVE_BASE}/archive/${SUITE}/{main,contrib}/debian-installer/binary-%ARCH%/Packages.gz" PACKAGES="${PACKAGES} ${ARCHIVE_BASE}/buildd-${SUITE}/Packages.gz" NFPACKAGES="${ARCHIVE_BASE}/archive/${SUITE}/non-free/binary-%ARCH%/Packages.gz" NFPACKAGES="${NFPACKAGES} ${ARCHIVE_BASE}/archive/${SUITE}/non-free/debian-installer/binary-%ARCH%/Packages.gz" - /org/wanna-build/triggers/filter-nonfree /org/wanna-build/etc/non-free-include-list "`get_architectures $SUITE`" Sources.${SUITE}.non-free Packages.${SUITE}.%ARCH%.non-free ${NFSOURCES} . ${NFPACKAGES} || true + /org/wanna-build/bin/filter-nonfree /org/wanna-build/etc/non-free-include-list "`get_architectures $SUITE`" Sources.${SUITE}.non-free Packages.${SUITE}.%ARCH%.non-free ${NFSOURCES} . ${NFPACKAGES} || true if [ "$SUITE" != "experimental" ] then # The "it's not an overlay" part. trigger_wb_update "${SUITE}" "`get_architectures ${SUITE}`" "$SOURCES" "$PACKAGES" else - BASE_SUITE=unstable + BASE_SUITE=sid PACKAGES_BASE="${ARCHIVE_MAIN}/archive/${BASE_SUITE}/{main,contrib}/binary-%ARCH%/Packages.gz" PACKAGES_BASE="${PACKAGES_BASE} ${ARCHIVE_MAIN}/archive/${BASE_SUITE}/{main,contrib}/debian-installer/binary-%ARCH%/Packages.gz" #PACKAGES_BASE="${PACKAGES_BASE} ${ARCHIVE_MAIN}/buildd-${BASE_SUITE}/Packages.gz" diff --git a/triggers/trigger.debian-buildd b/triggers/trigger.debian-buildd index e7f9980..0bee170 100755 --- a/triggers/trigger.debian-buildd +++ b/triggers/trigger.debian-buildd @@ -26,9 +26,10 @@ main() { sync.sh $ARCHIVE nolock # Handle unstable as a normal suite. - suite=unstable + suite=sid SOURCES="${ARCHIVE_BASE}/archive/${suite}/{main,contrib}/source/Sources.gz" - SOURCES="${SOURCES} ${ARCHIVE_BASE}/buildd-${suite}/Sources.gz" + filter_out_nonfree "${ARCHIVE_BASE}/buildd-${suite}/Sources.gz" "Sources.${suite}.incoming-filtered.gz" + SOURCES="${SOURCES} Sources.${suite}.incoming-filtered.gz" PACKAGES="${ARCHIVE_BASE}/archive/${suite}/{main,contrib}/binary-%ARCH%/Packages.gz" PACKAGES="${PACKAGES} ${ARCHIVE_BASE}/archive/${suite}/main/debian-installer/binary-%ARCH%/Packages.gz" PACKAGES="${PACKAGES} ${ARCHIVE_BASE}/buildd-${suite}/Packages.gz" @@ -36,9 +37,10 @@ main() { # Handle experimental as an overlay suite. suite=experimental - base_suite=unstable + base_suite=sid SOURCES="${ARCHIVE_BASE}/archive/${suite}/{main,contrib}/source/Sources.gz" - SOURCES="${SOURCES} ${ARCHIVE_BASE}/buildd-${suite}/Sources.gz" + filter_out_nonfree "${ARCHIVE_BASE}/buildd-${suite}/Sources.gz" "Sources.${suite}.incoming-filtered.gz" + SOURCES="${SOURCES} Sources.${suite}.incoming-filtered.gz" PACKAGES="${ARCHIVE_BASE}/archive/${suite}/{main,contrib}/binary-%ARCH%/Packages.gz" PACKAGES="${PACKAGES} ${ARCHIVE_BASE}/buildd-${suite}/Packages.gz" diff --git a/triggers/trigger.edu b/triggers/trigger.edu index e92e7fc..654b177 100755 --- a/triggers/trigger.edu +++ b/triggers/trigger.edu @@ -11,7 +11,7 @@ exec >> /org/wanna-build/db/merge.$ARCHIVE.log 2>&1 if [ -f /org/wanna-build/NO-TRIGGERS ] then - echo Trigger for $ARCHIVE skipped due to NO-TRIGGERS, aborting. >2 + echo Trigger for $ARCHIVE skipped due to NO-TRIGGERS, aborting. >&2 exit 0 fi diff --git a/triggers/trigger.volatile b/triggers/trigger.volatile index 0a91dca..a4e874e 100755 --- a/triggers/trigger.volatile +++ b/triggers/trigger.volatile @@ -9,7 +9,7 @@ exec >> /org/wanna-build/db/merge.$ARCHIVE.log 2>&1 if [ -f /org/wanna-build/NO-TRIGGERS ] then - echo Trigger for $ARCHIVE skipped due to NO-TRIGGERS, aborting. >2 + echo Trigger for $ARCHIVE skipped due to NO-TRIGGERS, aborting. >&2 exit 0 fi -- 2.39.2