Rough Guide to doing Stable Point Releases in Debian
----------------------------------------------------
-o Install, reject and remove packages as directed by the SRM
+o Dump projectb for backup purposes.
+o get everything listed, dak control-suite -l proposed-updates > p-u.list
+o generate the changelog using dak make-changelog -s proposed-updates -b stable | cat - ${ftpdir}/dists/stable/ChangeLog | sponge ${ftpdir}/dists/stable/ChangeLog
+o add everything to stable: cat p-u.list |dak control-suite --add stable
+o remove everything from proposed-updates, dak control-suite -r proposed-updates < p-u.list
+o sync with stable RM if there is any propup needed. do it, if so.
+o ask rms if they have RMs to do.
+o If you installed a debian-installer upload; migrate the relevant
+ installer-*/$release directory from proposed-updates to stable.
+ (Including potentially removing older versions)
+ dak copy-installer helps
+o Update version number in README, README.html and dists/README
+o Update the 'Debian<n>.<n>r<n>' symlink in dists/
+o Clean up dists/stable/ChangeLog (add header, basically)
+o Update fields in suite table in postgresql (see below)
+
+o dak dominate --force -s stable
+o dak generate-filelist -s stable
+o Let SRM see if all is ok
+o cd $configdir ; apt-ftparchive generate apt.conf.stable
+o dak generate-releases --force-touch --apt-conf apt.conf.stable stable
+o Check if a mirror push is needed or next dinstall is enough. for a push
+o if so:
+ TRACEFILE="${ftpdir}/project/trace/ftp-master.debian.org"
+ DATE_SERIAL=$(date +"%Y%m%d01")
+ FILESOAPLUS1=$(awk '/serial/ { print $3+1 }' ${TRACEFILE} )
+ if [ "$DATE_SERIAL" -gt "$FILESOAPLUS1" ]; then
+ SERIAL="$DATE_SERIAL"
+ else
+ SERIAL="$FILESOAPLUS1"
+ fi
+ date -u > ${TRACEFILE}
+ echo "Using dak v1" >> ${TRACEFILE}
+ echo "Running on host: $(hostname -f)" >> ${TRACEFILE}
+ echo "Archive serial: ${SERIAL}" >> ${TRACEFILE}
+ cd ${mirrordir}
+ rsync -aH --link-dest ${ftpdir} --delete --delete-after --ignore-errors ${ftpdir}/. .
+
+ date -u > /srv/ftp.debian.org/web/mirrorstart
+ echo "Using dak v1" >> /srv/ftp.debian.org/web/mirrorstart
+ echo "Running on host $(hostname -f)" >> /srv/ftp.debian.org/web/mirrorstart
+ sudo -H -u archvsync /home/archvsync/runmirrors > ~dak/runmirrors.log 2>&1 &
+
+
+begin;
+update suite set version = '6.0.1' where suite_name = 'stable';
+update suite set description = 'Debian 6.0.1 Released 19 March 2011' where suite_name = 'stable';
+
+------------------------------------------------------------------------
+Old doc:
- NB1: !! you must run katie from within dists/proposed-updates; katie
- takes it's "I'm doing a point release" cue from the CWD. !!
- NB2: removing packages are not logged to the changelog; you need to
- do that byhand.
+o run 'dak clean-proposed-updates' to get rid of obsolete .changes
+ from p-u ['dak clean-proposed-updates *.changes' from within p-u]
+o [also check for obsolete .changes caused by 'dak rm'-ing from p-u]
+o Update dak.conf (at least the section for Reject-Proposed-Updates,
+ before using 'dak reject-proposed-updates')
+o Install, reject and remove packages as directed by the SRM using
+ 'dak process-accepted' (installs), 'dak reject-proposed-updates'
+ (rejects) and 'dak rm' (removals)
+
+ NB: removing packages are not logged to the stable ChangeLog; you
+ need to do that byhand.
+
+
+o Decruft stable in coordination with SRMs
o Do anything in proposed-updates/TODO
-o Close any applicable potato bugs
- (hint: http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=ftp.debian.org&include=potato)
-o Update version number in README and dists/README (ftp-master only)
+o Close any applicable stable bugs
+ (hint: http://bugs.debian.org/cgi-bin/pkgreport.cgi?pkg=ftp.debian.org&include=etch)
+o Update version number in README, README.html and dists/README
o Update the 'Debian<n>.<n>r<n>' symlink in dists/
-o Clean up dists/ChangeLog (add header, basically)
-o Update version fields in katie.conf[-non-US]
-o Update fields in suite table in postgresql
+o Clean up dists/stable/ChangeLog (add header, basically)
+o Update version fields in dak.conf
+o Update fields in suite table in postgresql (see below)
-o Comment out "Untouchable" in katie.conf[-non-US]
-o Run 'jenna -s stable'
-o Run apt-ftparchive generate apt.conf.stable[-non-US]
-o Copy tree/directory for stable to apt.conf[-non-US], run ziyi, remove it from apt.conf[-non-US]
-o Uncomment "Untouchable" in katie.conf[-non-US]
+o Run 'dak make-suite-file-list --force -s stable'
+o Run apt-ftparchive generate apt.conf.stable
+o Run 'dak generate-releases --force-touch --apt-conf apt.conf.stable stable'
-Yes, this sucks and more of it should be automated.
+[Yes, this sucks and more of it should be automated. c.f. ~ajt/pointupdate]
#######################################################
-update suite set version = '2.2r6' where suite_name = 'stable';
-update suite set version = '2.2r7' where suite_name = 'proposed-updates';
-update suite set description = 'Debian 2.2r6 Released 3rd April 2002' where suite_name = 'stable';
-update suite set description = 'Proposed Updates for Debian 2.2r6 - Not Released' where suite_name = 'proposed-updates';
+update suite set version = '4.0r3' where suite_name = 'stable';
+update suite set description = 'Debian 4.0r3 Released 16th February 2008' where suite_name = 'stable';
+
+Rough Guide to doing Old-Stable Point Releases in Debian
+--------------------------------------------------------
+
+Pretty much as above, except that process-accepted doesn't know about
+oldstable, so you have to do some surgery on it first to make it
+support that. Probably want to disable cron.daily whilst doing so.
+Also watch out for the installing_to_stable detection which doesn't
+work well with the current layout of oldstable-proposed-updates (as a
+symlink to $distro-proposed-updates). clean-proposed-updates,
+cruft-report and most everything else support a -s/--suite so they
+sould be fine to use.