5 See end of this document for "eventual goals".
11 Should file a RM request to ftpmasters for these old crates:
16 Ready for upload (Request For Sponsor)
17 ======================================
19 If you do not have upload rights, simply ``touch src/$crate/debian/RFS`` in
20 your crate's directory, commit and push it, and a DD or DM will get around to
23 To list all packages under RFS, run ``dev/list-rfs.sh``.
25 If your update breaks semver compatibility, please first check the reverse
26 dependencies by running::
28 $ aptitude search '~Dlibrust-$cratename'
30 and try to verify that they won't be broken by your update, by building them.
31 If they are broken, then:
33 1. Document the problem in ``debian/BLOCK``.
34 2. File an issue upstream to report that they should update to the new library
35 3. Write a patch if you can get that working, and document it.
38 Unblocking testing migrations
39 =============================
41 Run ``dev/rust-excuses.mk refresh all`` to see these in a nice graph.
43 Run ``dev/rust-regressions.sh`` to analyse autopkgtest regressions.
45 From the excuses graph, find the lowest crates i.e. those with no arrows going
46 outwards to other crates. Then run ``dev/list-rdeps.sh @ $lowest_crotes`` to
47 see which of its rdeps are broken, and need to be fixed.
53 Use ``dev/list-remaining-deps.sh`` to help you figure out what's missing.
59 * rustc-ap-rustc_data_structures (prepared)
60 * rustc-ap-graphviz (needs nightly)
61 * rustc-ap-rustc-cratesio-shim (needs nightly)
62 * rustc-ap-rustc-errors (depends on the rest of the list here)
63 * rustc-ap-rustc-target
64 * rustc-ap-serialize (to be uploaded, dep issue?!)
66 * rustc-ap-serialize (fails because of usage of nightly feature)
84 see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=907629
103 [ ] unicode-xid-0.0.4
114 * rustup (not available as a crate)
116 * git-testament-derive
122 tokio/futures/hyper with async/await
123 ------------------------------------
128 * futures-executor 0.3.4
131 * futures-channel 0.3.4
135 * futures-macro 0.3.4
136 * pin-utils 0.1.0-alpha.4
137 * proc-macro-nested 0.1.3
142 * bytes 0.5.3 (outdated)
143 * futures-core 0.3.4 (see above)
144 * pin-project-lite 0.1.1
148 * tokio 0.2.10 (+ subset of dependencies)
151 * tokio 0.2.10 (+ subset of dependencies)
152 * futures-sink 0.3.4 (see above)
155 * futures-* 0.3.4 (see above)
157 * futures-* 0.3.4 (see above)
159 * bytes 0.5.3 (needed for tokio anyway)
160 * tokio 0.2.10 (see above)
161 * tokio-util 0.2.0 (see above)
163 * http 0.2.0 (+ deps)
165 * pin-project-internal 0.4.7
166 * tokio 0.2.10 (see above)
167 * tower-service 0.3.0
172 *rdeps outside of tokio/futures/hyper*
174 * bcder (recently packaged, not yet compatible with bytes 0.5)
175 * bufstream (dead upstream, no rdeps)
176 * bzip2 (no upstream support yet, no rdeps for future/tokio features)
177 * flate2 (no upstream support (yet), no rdeps for future/tokio features)
178 * gstreamer-* (new upstream version is compatible, updated, no non-gstreamer rdeps, needs glib update, which triggers:
187 * and their respective sys crates
188 * mio-extras (no rdeps, compatible)
189 * mio-named-pipes (no rdeps except tokio-process, compatible)
190 * mio-uds (rdeps: signal-hook, tokio-uds, tokio-signal)
191 * pcap (no rdeps, can be dropped)
192 * reqwest (updated, needs updated hyper-tls, new wasm-bindgen-futures, updated web-sys/js-sys/webasm)
193 * signal-hook (updated version not yet released, single rdep "tokio-signal" got merged into tokio and only uses signal-hook-registry now -> patched to remove dependency)
194 * string (relaxed dep on bytes)
197 *old crates to be removed*
199 * futures-cpupool (no rdeps outside of futures/tokio/hyper, merged into futures-executor)
200 * tokio-async-await (merged into tokio-macros)
201 * tokio-buf (dropped upstream, rdeps no longer need it after updating)
202 * tokio-codec (merged into tokio-util)
203 * tokio-core (only 1 rdep: pcap, can be dropped after pcap was dropped, merged into tokio)
204 * tokio-current-thread (merged into tokio)
205 * tokio-executor (merged into tokio)
206 * tokio-fs (merged into tokio)
207 * tokio-io (merged into tokio, see above for rdeps bufstream, bzip2, flate2)
208 * tokio-process (merged into tokio)
209 * tokio-reactor (renamed to tokio-net, merged into tokio, see above for rdep signal-hook)
210 * tokio-signal (merged into tokio)
211 * tokio-sync (merged into tokio)
212 * tokio-tcp (merged into tokio)
213 * tokio-threadpool (merged into tokio)
214 * tokio-timer (merged into tokio)
215 * tokio-uds (merged into tokio)
216 * tokio-udp (merged into tokio)
218 *incompatible rdeps with no futher rdeps, dead upstream, to be removed*
220 * pcap (replaced by pcap-sys)
221 * bufstream: https://github.com/alexcrichton/bufstream/issues/13
223 *NEW, installable as-is*
226 * proc-macro-nested (NEW)
233 * tower-service (NEW)
234 * pin-project-internal + pin-project
235 * paste-impl (NEW) + paste
236 * webasm-bindgen-futures
238 *NEW, with dependency within transition*
240 * futures-channel (after futures-core/futures-sink)
241 * futures-util (after futures-channel, proc-macro-nested, pin-utils)
242 * futures-executor (after futures-core, futures-task, futures-util)
243 * tokio-tls (after tokio)
244 * tokio-util (after tokio, bytes, futures-core, futures-sink, pin-project-lite)
251 * gstreamer-editing-services
257 * secret-service (WIP)
264 Binary crates worth packaging (please add if you know more):
266 - bench - simple benchmarking
267 - bingrep - Grep through binaries from various OSs and architectures.
268 - brewstillery - Brewer's, vinter's and distiller's calculator (GTK).
269 - cargo-download - Download sources of a crate
270 - cargo-edit - Cargo editing subcommands (add, rm, upgrade)
271 - hg - Rust implement of hg
272 - jql - JSON Query Language CLI tool.
273 - recode_rs - CLI tool converting between the character encodings.
274 - rural - User-friendly command-line HTTP tool
275 - rustfmt-nightly - rust coding style
276 - rustup - installing and managing multiple rust toolchains
277 - tmux-hints - Find matches (e.g. urls) and navigate them by keyboard
278 - xsv - Command line program for manipulating CSV files
280 To see lists of interesting binary crates, you can run something like::
282 $ apt-get install koji-client
283 $ koji -p fedora search package 'rust-*' | cut -b6- | dev/filter-binary-crates.sh
285 Current output (on 2020-01-17), minus stuff already in Debian, is:
310 Sccache is also helpful for reducing the build-time of things like firefox and thunderbird
312 - sccache https://github.com/mozilla/sccache
314 There are also more binaries here:
316 https://github.com/rust-unofficial/awesome-rust