4140
Comment: update url
|
4318
time estimate
|
Deletions are marked like this. | Additions are marked like this. |
Line 19: | Line 19: |
To help, join the salsa team, then __`git clone git@salsa.debian.org:rust-team/debcargo-conf`__ and follow instructions in `README.rst`. We currently have a backlog of about 200 crates to package and upload. | To help, join the salsa team, then __`git clone git@salsa.debian.org:rust-team/debcargo-conf`__ and follow instructions in `README.rst`. We currently have a backlog of about 200 crates to package and upload. Each crate takes about 2-3 minutes to package once everything is set up; the initial set-up may take 10-30 minutes depending on how familiar you are with Debian packaging tools. |
Debian Rust packaging team
Team project and packaging repos (on salsa): https://salsa.debian.org/rust-team
Team mailing list: https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/pkg-rust-maintainers
Public IRC channel: #debian-rust on irc.oftc.net
TODO
Get involved!
Get in touch with us via ML or IRC and join rust-team on salsa :)
Contribute to packaging, bug fixing and testing
Report bugs, QA pitfalls, and stuff missing from drafts and TODO
Packages
Packaging of all rust crates is done in a single git repo, because most crates only need two files (d/copyright, d/changelog), everything else is automatically generated by debcargo.
To help, join the salsa team, then git clone git@salsa.debian.org:rust-team/debcargo-conf and follow instructions in README.rst. We currently have a backlog of about 200 crates to package and upload. Each crate takes about 2-3 minutes to package once everything is set up; the initial set-up may take 10-30 minutes depending on how familiar you are with Debian packaging tools.
For more details about what debcargo does, you can read through the Debian Rust packaging policy.
Toolchain (rustc, cargo)
Staying up-to-date - see "Maintaining this package" section of rustc's README.source and "Updating the package" section of cargo's README.source
Library unbundling - see "Embedded libraries" section of rustc's README.source
?Runtime soname and stability
General info
Bootstrapping a new distribution
rustc and cargo both Build-Depends on each other. In order to break the loop, we use Build Profiles.
For rustc, see "Bootstrapping" section of rustc's README.source.
For cargo, we currently don't have an automated way to do it. If you need to do this, the following steps should work: install upstream's cargo binary to /usr/local, install the other Build-Depends, and then dpkg-buildpackage -d.
Porting to a new architecture
Use sbuild --host=<arch> --profiles=nocheck, it should Just Work.
If it doesn't work, you might need to also give --extra-repository="deb http://incoming.debian.org/debian-buildd buildd-unstable main" which happens when (e.g.) there was recently a new GCC or binutils upload, and not all architectures were built and uploaded to FTP yet so some architectures are out-of-sync version-wise.
If it still doesn't work, check that the binary package crossbuild-essential-$arch exists for the desired architecture. If it doesn't, add this to your ~/.sbuildrc:
changing sparc64 to your desired architecture. You probably also need to add Debian-Ports to your APT sources.list.
If it still doesn't work, then file a bug to src:rustc, src:cargo, or debcargo as appropriate. You can also try glaubitz's method which involves more manual steps, though it is probably out-of-date by the time you read this.
For more details about rustc cross-compiling see "Cross-compiling" section of rustc's README.Debian.
People
We always welcome new contributors, and we are mostly available on IRC for quick questions. Feel free to ping us and join the team:
- Luca Bruno (IRC: kaeso)
- Sylvestre Ledru (IRC: sylvestre)
- Ximin Luo (IRC: infinity0)