]> git.decadent.org.uk Git - dak.git/blob - docs/README.stable-point-release
Merge remote branch 'ftpmaster/master'
[dak.git] / docs / README.stable-point-release
1 Rough Guide to doing Stable Point Releases in Debian
2 ----------------------------------------------------
3
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   dak copy-installer helps
15 o Update version number in README, README.html and dists/README
16 o Update the 'Debian<n>.<n>r<n>' symlink in dists/
17 o Clean up dists/stable/ChangeLog (add header, basically)
18 o Update fields in suite table in postgresql (see below)
19
20 o dak dominate --force -s stable
21 o dak generate-filelist -s stable
22 o Let SRM see if all is ok
23 o dak generate-packages-sources -s stable ; dak contents generate -f -s stable
24 o dak generate-releases -f -s stable
25 o Check if a mirror push is needed or next dinstall is enough. for a push
26 o if so:
27    TRACEFILE="${ftpdir}/project/trace/ftp-master.debian.org"
28    DATE_SERIAL=$(date +"%Y%m%d01")
29    FILESOAPLUS1=$(awk '/serial/ { print $3+1 }' ${TRACEFILE} )
30    if [ "$DATE_SERIAL" -gt "$FILESOAPLUS1" ]; then
31        SERIAL="$DATE_SERIAL"
32    else
33        SERIAL="$FILESOAPLUS1"
34    fi
35    date -u > ${TRACEFILE}
36    echo "Using dak v1" >> ${TRACEFILE}
37    echo "Running on host: $(hostname -f)" >> ${TRACEFILE}
38    echo "Archive serial: ${SERIAL}" >> ${TRACEFILE}
39    cd ${mirrordir}
40    rsync -aH --link-dest ${ftpdir} --delete --delete-after --ignore-errors ${ftpdir}/. .
41
42    date -u > /srv/ftp.debian.org/web/mirrorstart
43    echo "Using dak v1" >> /srv/ftp.debian.org/web/mirrorstart
44    echo "Running on host $(hostname -f)" >> /srv/ftp.debian.org/web/mirrorstart
45    sudo -H -u archvsync /home/archvsync/runmirrors > ~dak/runmirrors.log 2>&1 &
46
47
48 begin;
49 update suite set version = '6.0.2' where suite_name = 'stable';
50 update suite set description = 'Debian 6.0.2 Released 25 June 2011' where suite_name = 'stable';
51
52 ------------------------------------------------------------------------
53 Old doc:
54
55
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)
64
65   NB: removing packages are not logged to the stable ChangeLog; you
66       need to do that byhand.
67
68
69 o Decruft stable in coordination with SRMs
70
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)
79
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'
83
84 [Yes, this sucks and more of it should be automated. c.f. ~ajt/pointupdate]
85
86 #######################################################
87
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';
90
91 Rough Guide to doing Old-Stable Point Releases in Debian
92 --------------------------------------------------------
93
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.