3 1. Little "Howto Use it"
4 2. Explanation of how it works
7 1. Little "Howto Use it"
8 ------------------------
10 The input file is in YAML format. Do bnot bother with comments, they
13 The format: Dont use tabs for indentation, use spaces.
15 Strings should be within "", but normally work without.
16 Exception: Version-numbers with an epoch really do want to be in
17 "". YES, THEY WANT TO (or they get interpreted in a way you dont expect
20 Keys (The order of them does not matter, only the indentation):
22 short_tag: A short tag for the transition, like apt_update
23 reason: One-line reason what is intended with it
24 source: Source package that needs to transition
25 new: New version of the target package
26 rm: Name of the Release Team member responsible for this transition
27 packages: Array of package names that are affected by this transition
30 The following example wants to
31 a.) update apt to version 0.7.12, the responsible Release Team member
32 is Andreas Barth, and it affects some apt related packages and
33 b.) wants to do something similar for lintian.
44 reason: "Apt needs to transition to testing to get foo and bar done"
49 reason: "Testing a new feature"
58 ########################################################################
59 ########################################################################
62 2. Explanation of how it works
63 ------------------------------
65 Assume the following transition is defined:
68 reason: "Testing a new feature"
76 Also assume the lintian situation on this archive looks like this:
77 lintian | 1.23.28~bpo.1 | sarge-backports | source, all
78 lintian | 1.23.45~bpo40+1 | etch-backports | source, all
80 ------------------------------------------------------------------------
82 Now, I try to upload a (NEW, but that makes no difference) version of
85 $ dak process-unchecked -n python-syck_0.61.2-1~bpo40+1_i386.changes
87 python-syck_0.61.2-1~bpo40+1_i386.changes
89 Rejected: python-syck: part of the lintian_funtest transition.
91 Your package is part of a testing transition designed to get lintian migrated
92 (it currently is at version 1.23.28~bpo.1, we need version 1.23.45~bpo40+1)
94 Transition description: Testing a new feature
96 This transition is managed by the Release Team, and Ganneff
97 is the Release-Team member responsible for it.
98 Please contact Ganneff or debian-release@lists.debian.org if you
99 need further assistance.
101 ------------------------------------------------------------------------
103 Lets change the definition of the transition, assume it is now:
106 reason: "Testing a new feature"
114 Which checks for a version older than the version actually available. Result:
116 dak process-unchecked -n python-syck_0.61.2-1~bpo40+1_i386.changes
118 python-syck_0.61.2-1~bpo40+1_i386.changes
119 NEW for etch-backports
120 (new) python-syck_0.61.2-1~bpo40+1.diff.gz extra python
121 (new) python-syck_0.61.2-1~bpo40+1.dsc extra python
122 (new) python-syck_0.61.2-1~bpo40+1_i386.deb extra python
123 PySyck python bindings to the Syck YAML parser kit
124 Syck is a simple YAML parser kit.
126 [...] the whole stuff about a new package.
128 ------------------------------------------------------------------------
130 For completness, change the transition to (exact existing version):
132 reason: "Testing a new feature"
141 dak process-unchecked -n python-syck_0.61.2-1~bpo40+1_i386.changes
143 python-syck_0.61.2-1~bpo40+1_i386.changes
144 NEW for etch-backports
145 [... we know this ...]
147 ------------------------------------------------------------------------
149 The second part is the check_transitions script.
150 For that we take the following transitions as example:
153 reason: "Apt needs to transition to testing to get foo and bar done"
166 reason: "Testing a new feature"
174 reason: We dont want bar to break it
183 Running check-transitions ends up with the following output:
185 Looking at transition: lintian_funtest
187 New Version: 1.23.45~bpo40+1
189 Description: Testing a new feature
190 Blocked Packages (total: 2): lintian, python-syck
193 This transition is still ongoing, we currently have version 1.23.28~bpo.1
194 -------------------------------------------------------------------------
196 Looking at transition: apt_update
198 New Version: 0.2.12-1+b1.3
199 Responsible: Andreas Barth
200 Description: Apt needs to transition to testing to get foo and bar done
201 Blocked Packages (total: 7): apt, synaptic, cron-apt, debtags, feta, apticron, aptitude
204 This transition is over, the target package reached testing, removing
205 apt wanted version: 0.2.12-1+b1.3, has 0.6.46.4-0.1~bpo.1
206 -------------------------------------------------------------------------
208 Looking at transition: bar_breaks_it
212 Description: We dont want bar to break it
213 Blocked Packages (total: 3): kdelibs, qt4-x11, libqt-perl
215 Transition source bar not in testing, transition still ongoing.
216 -------------------------------------------------------------------------
217 I: I would remove the apt_update transition
220 Changing our transition definitions for lintian (keeping the rest as
224 reason: "Testing a new feature"
234 Looking at transition: lintian_funtest
236 New Version: 1.22.28~bpo.1
238 Description: Testing a new feature
239 Blocked Packages (total: 2): lintian, python-syck
242 This transition is over, the target package reached testing, removing
243 lintian wanted version: 1.22.28~bpo.1, has 1.23.28~bpo.1
244 -------------------------------------------------------------------------
246 Looking at transition: apt_update
248 New Version: 0.2.12-1+b1.3
249 Responsible: Andreas Barth
250 Description: Apt needs to transition to testing to get foo and bar done
251 Blocked Packages (total: 7): apt, synaptic, cron-apt, debtags, feta, apticron, aptitude
254 This transition is over, the target package reached testing, removing
255 apt wanted version: 0.2.12-1+b1.3, has 0.6.46.4-0.1~bpo.1
256 -------------------------------------------------------------------------
258 Looking at transition: bar_breaks_it
262 Description: We dont want bar to break it
263 Blocked Packages (total: 3): kdelibs, qt4-x11, libqt-perl
265 Transition source bar not in testing, transition still ongoing.
266 -------------------------------------------------------------------------
267 I: I would remove the lintian_funtest transition
268 I: I would remove the apt_update transition
271 Not using the -n switch would turn the I: in actual removals :)
272 The check-transition command is meant for the release team to always run
273 it when they change a transition definition. It checks if the yaml is
274 valid and can be loaded (but if not the archive simply does no reject)
275 and also shows a nice overview.