summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHolger Levsen <holger@layer-acht.org>2015-09-01 01:01:50 +0200
committerHolger Levsen <holger@layer-acht.org>2015-09-01 01:01:50 +0200
commit696a4c505ad7cd540d97f7be8389ba2b4a1b6df5 (patch)
tree097eb845ddbe41429d7565f0f18584f6a86aa7e9
parent1d4f520fdc025343d6a068d86b3ed9531cdc8f21 (diff)
downloadjenkins.debian.net-696a4c505ad7cd540d97f7be8389ba2b4a1b6df5.tar.xz
reproducible: upgrade all the schroots in maintenance jobs, maybe do the same for pbuilder bases?
-rw-r--r--TODO2
-rwxr-xr-xbin/reproducible_maintenance.sh10
-rwxr-xr-xbin/reproducible_scheduler.py19
3 files changed, 11 insertions, 20 deletions
diff --git a/TODO b/TODO
index e72bb0fb..3b02bf54 100644
--- a/TODO
+++ b/TODO
@@ -173,7 +173,6 @@ properties:
=== reproducible
* higher prio:
-** call_apt_update() needs to be moved from _scheduler.py to jobs so its run on all build nodes
** use disorderfs (atm its disabled)
*** current scripts are only in hosts/jenkins/ but need to be copied to hosts/+/
*** document usage in diff table...
@@ -238,6 +237,7 @@ properties:
* open questions:
** save build-host in build_duration table too? (and change to saving the time of a single build, not both combined)
** maintenance is general, cleanup of started but interrupted builds...
+* grep for "locales-all" in build logs… (to confirm that its really used on the new build nodes)
* reproducible_build.sh changes needed:
** diffoscope needs to be run on the target arch...
diff --git a/bin/reproducible_maintenance.sh b/bin/reproducible_maintenance.sh
index 9b302b43..c15cb679 100755
--- a/bin/reproducible_maintenance.sh
+++ b/bin/reproducible_maintenance.sh
@@ -259,3 +259,13 @@ if ! $DIRTY ; then
echo "Everything seems to be fine."
echo
fi
+
+echo "$(date -u) - updating the schroots now..."
+ARCH=$(dpkg --print-architecture)
+for s in SUITES ; do
+ if [ "$ARCH" = "armhf" ] && [ "$s" != "unstable" ] ; then
+ continue
+ fi
+ echo "$(date -u) - updating the $s/$ARCH schroot now."
+ schroot --directory /root -u root -c source:jenkins-reproducible-$s -- apt-get update
+done
diff --git a/bin/reproducible_scheduler.py b/bin/reproducible_scheduler.py
index 3a056cd0..c0b2497b 100755
--- a/bin/reproducible_scheduler.py
+++ b/bin/reproducible_scheduler.py
@@ -142,24 +142,6 @@ class Limit:
return self.get_limit('*')
-def call_apt_update(suite):
- # try three times, before failing the job
- for i in [1, 2, 3]:
- to_call =['schroot', '--directory', '/root', '-u', 'root', \
- '-c', 'source:jenkins-reproducible-'+suite, '--', \
- 'apt-get', 'update']
- log.debug('calling ' + ' '.join(to_call))
- if not call(to_call):
- return
- else:
- log.warning('`apt-get update` failed. Retrying another ' + str(3-i)
- + ' times.')
- sleep(randint(1, 70) + 30)
- print_critical_message('`apt-get update` for suite ' + suite +
- ' failed three times in a row, giving up.')
- sys.exit(1)
-
-
def update_sources(suite):
# download the sources file for this suite
mirror = 'http://ftp.de.debian.org/debian'
@@ -528,7 +510,6 @@ def scheduler(arch):
if __name__ == '__main__':
log.info('Updating schroots and sources tables for all suites.')
for suite in SUITES:
- call_apt_update(suite)
update_sources(suite)
purge_old_pages()
query = 'SELECT count(*) ' + \