123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276 |
- Contents:
- 1. Little "Howto Use it"
- 2. Explanation of how it works
- 1. Little "Howto Use it"
- ------------------------
- The input file is in YAML format. Do not bother with comments, they
- will be removed.
- The format: Don't use tabs for indentation, use spaces.
- Strings should be within "", but normally work without.
- Exception: Version-numbers with an epoch really do want to be in
- "". YES, THEY WANT TO (or they get interpreted in a way you don't expect
- it).
- Keys (The order of them does not matter, only the indentation):
- short_tag: A short tag for the transition, like apt_update
- reason: One-line reason what is intended with it
- source: Source package that needs to transition
- new: New version of the target package
- rm: Name of the Release Team member responsible for this transition
- packages: Array of package names that are affected by this transition
- The following example wants to
- a.) update apt to version 0.7.12, the responsible Release Team member
- is Andreas Barth, and it affects some apt related packages and
- b.) wants to do something similar for lintian.
- apt_update:
- packages:
- - apt
- - synaptic
- - cron-apt
- - debtags
- - feta
- - apticron
- - aptitude
- reason: "Apt needs to transition to testing to get foo and bar done"
- source: apt
- new: 0.7.12
- rm: Andreas Barth
- lintian_breakage:
- reason: "Testing a new feature"
- source: lintian
- new: 1.23.45~bpo40+1
- rm: Ganneff
- packages:
- - lintian
- - python-syck
- ########################################################################
- ########################################################################
- 2. Explanation of how it works
- ------------------------------
- Assume the following transition is defined:
- lintian_funtest:
- reason: "Testing a new feature"
- source: lintian
- new: 1.23.45~bpo40+1
- rm: Ganneff
- packages:
- - lintian
- - python-syck
- Also assume the lintian situation on this archive looks like this:
- lintian | 1.23.28~bpo.1 | sarge-backports | source, all
- lintian | 1.23.45~bpo40+1 | etch-backports | source, all
- ------------------------------------------------------------------------
- Now, I try to upload a (NEW, but that makes no difference) version of
- python-syck:
- $ dak process-unchecked -n python-syck_0.61.2-1~bpo40+1_i386.changes
- python-syck_0.61.2-1~bpo40+1_i386.changes
- REJECT
- Rejected: python-syck: part of the lintian_funtest transition.
- Your package is part of a testing transition designed to get lintian migrated
- (it currently is at version 1.23.28~bpo.1, we need version 1.23.45~bpo40+1)
- Transition description: Testing a new feature
- This transition is managed by the Release Team, and Ganneff
- is the Release-Team member responsible for it.
- Please contact Ganneff or debian-release@lists.debian.org if you
- need further assistance.
- ------------------------------------------------------------------------
- Lets change the definition of the transition, assume it is now:
- lintian_funtest:
- reason: "Testing a new feature"
- source: lintian
- new: 1.22.28~bpo.1
- rm: Ganneff
- packages:
- - lintian
- - python-syck
- Which checks for a version older than the version actually available. Result:
- dak process-unchecked -n python-syck_0.61.2-1~bpo40+1_i386.changes
- python-syck_0.61.2-1~bpo40+1_i386.changes
- NEW for etch-backports
- (new) python-syck_0.61.2-1~bpo40+1.diff.gz extra python
- (new) python-syck_0.61.2-1~bpo40+1.dsc extra python
- (new) python-syck_0.61.2-1~bpo40+1_i386.deb extra python
- PySyck python bindings to the Syck YAML parser kit
- Syck is a simple YAML parser kit.
- .
- [...] the whole stuff about a new package.
- ------------------------------------------------------------------------
- For completeness, change the transition to (exact existing version):
- lintian_funtest:
- reason: "Testing a new feature"
- source: lintian
- new: 1.23.28~bpo.1
- rm: Ganneff
- packages:
- - lintian
- and the result is:
- dak process-unchecked -n python-syck_0.61.2-1~bpo40+1_i386.changes
- python-syck_0.61.2-1~bpo40+1_i386.changes
- NEW for etch-backports
- [... we know this ...]
- ------------------------------------------------------------------------
- The second part is the check_transitions script.
- For that we take the following transitions as example:
- apt_update:
- reason: "Apt needs to transition to testing to get foo and bar done"
- source: apt
- new: 0.2.12-1+b1.3
- rm: Andreas Barth
- packages:
- - apt
- - synaptic
- - cron-apt
- - debtags
- - feta
- - apticron
- - aptitude
- lintian_funtest:
- reason: "Testing a new feature"
- source: lintian
- new: 1.23.45~bpo40+1
- rm: Ganneff
- packages:
- - lintian
- - python-syck
- bar_breaks_it:
- reason: We don't want bar to break it
- source: bar
- new: "9:99"
- rm: Ganneff
- packages:
- - kdelibs
- - qt4-x11
- - libqt-perl
- Running check-transitions ends up with the following output:
- Looking at transition: lintian_funtest
- Source: lintian
- New Version: 1.23.45~bpo40+1
- Responsible: Ganneff
- Description: Testing a new feature
- Blocked Packages (total: 2): lintian, python-syck
- Apt compare says: -2
- This transition is still ongoing, we currently have version 1.23.28~bpo.1
- -------------------------------------------------------------------------
- Looking at transition: apt_update
- Source: apt
- New Version: 0.2.12-1+b1.3
- Responsible: Andreas Barth
- Description: Apt needs to transition to testing to get foo and bar done
- Blocked Packages (total: 7): apt, synaptic, cron-apt, debtags, feta, apticron, aptitude
- Apt compare says: 4
- This transition is over, the target package reached testing, removing
- apt wanted version: 0.2.12-1+b1.3, has 0.6.46.4-0.1~bpo.1
- -------------------------------------------------------------------------
- Looking at transition: bar_breaks_it
- Source: bar
- New Version: 9:99
- Responsible: Ganneff
- Description: We don't want bar to break it
- Blocked Packages (total: 3): kdelibs, qt4-x11, libqt-perl
- Transition source bar not in testing, transition still ongoing.
- -------------------------------------------------------------------------
- I: I would remove the apt_update transition
- Changing our transition definitions for lintian (keeping the rest as
- above) to
- lintian_funtest:
- reason: "Testing a new feature"
- source: lintian
- new: 1.22.28~bpo.1
- rm: Ganneff
- packages:
- - lintian
- - python-syck
- now we get
- Looking at transition: lintian_funtest
- Source: lintian
- New Version: 1.22.28~bpo.1
- Responsible: Ganneff
- Description: Testing a new feature
- Blocked Packages (total: 2): lintian, python-syck
- Apt compare says: 1
- This transition is over, the target package reached testing, removing
- lintian wanted version: 1.22.28~bpo.1, has 1.23.28~bpo.1
- -------------------------------------------------------------------------
- Looking at transition: apt_update
- Source: apt
- New Version: 0.2.12-1+b1.3
- Responsible: Andreas Barth
- Description: Apt needs to transition to testing to get foo and bar done
- Blocked Packages (total: 7): apt, synaptic, cron-apt, debtags, feta, apticron, aptitude
- Apt compare says: 4
- This transition is over, the target package reached testing, removing
- apt wanted version: 0.2.12-1+b1.3, has 0.6.46.4-0.1~bpo.1
- -------------------------------------------------------------------------
- Looking at transition: bar_breaks_it
- Source: bar
- New Version: 9:99
- Responsible: Ganneff
- Description: We don't want bar to break it
- Blocked Packages (total: 3): kdelibs, qt4-x11, libqt-perl
- Transition source bar not in testing, transition still ongoing.
- -------------------------------------------------------------------------
- I: I would remove the lintian_funtest transition
- I: I would remove the apt_update transition
- Not using the -n switch would turn the I: in actual removals :)
- The check-transition command is meant for the release team to always run
- it when they change a transition definition. It checks if the yaml is
- valid and can be loaded (but if not the archive simply does no reject)
- and also shows a nice overview.
|