Codebase list rust-libslirp / c798dd3
add instructions on how to unblock testing migrations Ximin Luo 4 years ago
2 changed file(s) with 100 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
0 Release
1 =======
2
3 For this team's purposes, the job is not done until the package gets into
4 Debian Testing. This is a rigorous QA process the details of which can be read
5 about elsewhere. The short version for us, is to run::
6
7 dev/rust-excuses.mk refresh all
8
9 which will generate a nice pretty graph of packages trying to enter Debian
10 Testing, along with their dependencies, and sometimes a colour representing the
11 reason why it's being held back. (The colours could be more sophisticated,
12 please help with improving the script. White does not always mean there is no
13 problem; the excuses page is the authoritative source on the matter.)
14
15 Generally, you should look at the bottom-most packages in this diagram, and
16 deal with their issues first. More details for each package can be found at:
17
18 https://qa.debian.org/excuses.php?package=rust-$crate
19
20 or by clicking the relevant "Excuse" link on this team's `QA page`_.
21
22 .. _QA page: https://qa.debian.org/developer.php?login=pkg-rust-maintainers@lists.alioth.debian.org
23
24 It should be fairly self-explanatory on how to deal with each of the issues
25 mentioned on that page. Ask in #debian-rust or #debian-release or #debian-devel
26 if you get stuck, whichever channel seems most suitable.
27
28 Once you have dealt with all of the excuses, wait a day or so. If the excuses
29 page then says "Will attempt migration (Any information below is purely
30 informational)" and it remains in this state for more than 2 days, it means
31 that we have failed "Migration phase 2", whose specific failure reasons are not
32 mentioned in the excuses for `technical reasons`_.
33
34 .. _technical reasons: https://release.debian.org/doc/britney/short-intro-to-migrations.html#migration-phase-2-installability-regression-testing
35
36 However the reason is basically that there are other crates already in Debian
37 Testing that depend on the old version of the $crate you were looking at, i.e.
38 the one in Debian Testing not Debian Unstable. To view a summary of this, run::
39
40 dev/list-rdeps.sh $crate
41
42 It will also give you some follow-up instructions to fix the problem.
0 #!/bin/bash
1 set -e
2
3 pkg="${1//_/-}"
4 which grep-dctrl >/dev/null
5
6 echo "Version in unstable:"
7 aptitude versions --disable-columns -F '%p' --group-by=none '~e^rust-unicode-xid$ ~rnative ~Aunstable'
8 echo
9
10 echo "Versions of rdeps:"
11 aptitude versions --group-by=none --disable-columns -F '%p %t' \
12 "~rnative ~D^librust-${pkg}(-dev|\+\w+-dev)$" \
13 | grep unstable | while read rdep ver archives; do
14 apt-cache show "${rdep}=${ver}" \
15 | grep-dctrl -FDepends -e "librust-${pkg}(\+|-[0-9]).*-dev" -sPackage,Version,Depends - \
16 | sed -Ee "/Depends/s/.*(librust-${pkg}(\+|-[0-9])\S*-dev[^,]*).*/Depends: \1/g" \
17 | cut -d: -f2 | cut '-d ' -f2 \
18 | sed -z -e 's/\n\n/\t/g' -e 's/\n/ /g' -e 's/\t/\n/g'
19 done | sort | while read rdep ver dep; do
20 printf "%-40s %-10s %s\n" "$rdep" "$ver" "$dep"
21 done
22 echo
23
24 cat <<eof
25 You must upgrade any rdep that depends on an old version of ${pkg}, by patching
26 Cargo.toml to accept the new version of ${pkg} as a dependency. Of course,
27 check that the build works - if it doesn't, then you'll need to further patch
28 the source code of the rdep to use the API of the new version of ${pkg}.
29
30 Alternatively, if any rdep is obsolete (i.e. nothing else depends on it) then
31 you should file a RM request to remove it from the Debian archive:
32
33 $ reportbug ftp.debian.org
34 [..]
35 What sort of request is this?
36 [..]
37 6 ROM Package removal - Request Of Maintainer.
38 [..]
39 Choose the request type: 6
40 [..]
41 Is the removal to be done in a suite other than "unstable"? Don't select anything for "unstable"
42 [..]
43 Choose the suite: # input nothing here, i.e. "unstable"
44 Please enter the reason for removal: obsolete package, prevents others from migrating to testing
45 Is this removal request for specific architectures? [y|N|?]? n
46 [..]
47 # An editor will spawn, probably nano. add
48 # X-Debbugs-Cc: pkg-rust-maintainers@alioth-lists.debian.net
49 # to the header, and then add the following text to the body:
50
51 Hi, please remove this package on all architectures. It is an old rust library
52 that is preventing newer ones from migrating to testing. Nothing else in the
53 archive depends on it these days.
54
55 # then save and exit.
56 eof