1 Rough Guide to doing Stable Point Releases in Debian
2 ----------------------------------------------------
4 o Dump projectb for backup purposes.
5 o get everything listed, dak control-suite -l proposed-updates > p-u.list
6 o generate the changelog using dak make-changelog -s proposed-updates -b stable | cat - ${ftpdir}/dists/stable/ChangeLog | sponge ${ftpdir}/dists/stable/ChangeLog
7 o add everything to stable: cat p-u.list |dak control-suite --add stable
8 o remove everything from proposed-updates, dak control-suite -r proposed-updates < p-u.list
9 o sync with stable RM if there is any propup needed. do it, if so.
10 o ask rms if they have RMs to do.
11 o If you installed a debian-installer upload; migrate the relevant
12 installer-*/$release directory from proposed-updates to stable.
13 (Including potentially removing older versions)
14 o Update version number in README, README.html and dists/README
15 o Update the 'Debian<n>.<n>r<n>' symlink in dists/
16 o Clean up dists/stable/ChangeLog (add header, basically)
17 o Update fields in suite table in postgresql (see below)
19 o dak dominate --force -s stable
20 o dak generate-filelist -s stable
21 o Let SRM see if all is ok
22 o cd $configdir ; apt-ftparchive generate apt.conf.stable
23 o dak generate-releases --force-touch --apt-conf apt.conf.stable stable
24 o Check if a mirror push is needed or next dinstall is enough. for a push
26 TRACEFILE="${ftpdir}/project/trace/ftp-master.debian.org"
27 DATE_SERIAL=$(date +"%Y%m%d01")
28 FILESOAPLUS1=$(awk '/serial/ { print $3+1 }' ${TRACEFILE} )
29 if [ "$DATE_SERIAL" -gt "$FILESOAPLUS1" ]; then
32 SERIAL="$FILESOAPLUS1"
34 date -u > ${TRACEFILE}
35 echo "Using dak v1" >> ${TRACEFILE}
36 echo "Running on host: $(hostname -f)" >> ${TRACEFILE}
37 echo "Archive serial: ${SERIAL}" >> ${TRACEFILE}
39 rsync -aH --link-dest ${ftpdir} --delete --delete-after --ignore-errors ${ftpdir}/. .
41 date -u > /srv/ftp.debian.org/web/mirrorstart
42 echo "Using dak v1" >> /srv/ftp.debian.org/web/mirrorstart
43 echo "Running on host $(hostname -f)" >> /srv/ftp.debian.org/web/mirrorstart
44 sudo -H -u archvsync /home/archvsync/runmirrors > ~dak/runmirrors.log 2>&1 &
49 update suite set version = '5.0.8' where suite_name = 'stable';
50 update suite set description = 'Debian 5.0.8 Released 22 Januar 2011' where suite_name = 'stable';
52 ------------------------------------------------------------------------
56 o run 'dak clean-proposed-updates' to get rid of obsolete .changes
57 from p-u ['dak clean-proposed-updates *.changes' from within p-u]
58 o [also check for obsolete .changes caused by 'dak rm'-ing from p-u]
59 o Update dak.conf (at least the section for Reject-Proposed-Updates,
60 before using 'dak reject-proposed-updates')
61 o Install, reject and remove packages as directed by the SRM using
62 'dak process-accepted' (installs), 'dak reject-proposed-updates'
63 (rejects) and 'dak rm' (removals)
65 NB: removing packages are not logged to the stable ChangeLog; you
66 need to do that byhand.
69 o Decruft stable in coordination with SRMs
71 o Do anything in proposed-updates/TODO
72 o Close any applicable stable bugs
73 (hint: http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=ftp.debian.org&include=etch)
74 o Update version number in README, README.html and dists/README
75 o Update the 'Debian<n>.<n>r<n>' symlink in dists/
76 o Clean up dists/stable/ChangeLog (add header, basically)
77 o Update version fields in dak.conf
78 o Update fields in suite table in postgresql (see below)
80 o Run 'dak make-suite-file-list --force -s stable'
81 o Run apt-ftparchive generate apt.conf.stable
82 o Run 'dak generate-releases --force-touch --apt-conf apt.conf.stable stable'
84 [Yes, this sucks and more of it should be automated. c.f. ~ajt/pointupdate]
86 #######################################################
88 update suite set version = '4.0r3' where suite_name = 'stable';
89 update suite set description = 'Debian 4.0r3 Released 16th February 2008' where suite_name = 'stable';
91 Rough Guide to doing Old-Stable Point Releases in Debian
92 --------------------------------------------------------
94 Pretty much as above, except that process-accepted doesn't know about
95 oldstable, so you have to do some surgery on it first to make it
96 support that. Probably want to disable cron.daily whilst doing so.
97 Also watch out for the installing_to_stable detection which doesn't
98 work well with the current layout of oldstable-proposed-updates (as a
99 symlink to $distro-proposed-updates). clean-proposed-updates,
100 cruft-report and most everything else support a -s/--suite so they
101 sould be fine to use.