Advertisement
Advertisement

More Related Content

Advertisement

Rust packaging: Cross-distro collaboration done right

  1. Rust packaging: Cross-distro collaboration done right Yes, distros can work together! Igor Gnatenko 26 May, 2019
  2. Who am I? Fedora contributor for 6+ years Fedora Packaging Committee member Author of rust2rpm openSUSE contributor for a few months1 Contributor to many upstream projects 1 My openSUSE account is probably older than Fedora one
  3. Agenda Status quo The "WHY?" Rust story Recap
  4. Status quo C/C++ is quite close Package names of libraries are different (libglib-2_0-0 vs glib2) Macros are more or less same (make, autofoo, meson are same, cmake is different) Python, Go, Ruby are somewhat similar Package names are same But macros used in spec are very different Rust is identical2 2 Minor spec differences (license header, changelog)
  5. Why should we care? Duplicate work Users are confused
  6. Rust story 1. Created PoC which works for Fedora
  7. Rust story 1. Created PoC which works for Fedora 2. Started using it in production and didn’t tell anybody
  8. Rust story 1. Created PoC which works for Fedora 2. Started using it in production and didn’t tell anybody 3. Asked Mageia and openSUSE folks for feedback
  9. Rust story 1. Created PoC which works for Fedora 2. Started using it in production and didn’t tell anybody 3. Asked Mageia and openSUSE folks for feedback 4. Debian folks came and also provided feedback
  10. Rust story 1. Created PoC which works for Fedora 2. Started using it in production and didn’t tell anybody 3. Asked Mageia and openSUSE folks for feedback 4. Debian folks came and also provided feedback 5. We’ve worked together on details
  11. Rust story: Challenges
  12. Rust story: Challenges RPM changes
  13. Rust story: Results #fedora-rust is the main place for discussions (openSUSE, Mageia and Debian representatives are there) Full compatibility between RPM-based distributions3 pagure.io/fedora-rust/rust2rpm is the only repository with tooling and RPM macros Package names, filesystem paths are same RPM specs are same4 Some compatibility between RPM and DEB-based distributions Package names are very similar (rust-serde+derive-devel vs librust-serde+derive-dev) Filesystem paths are same 3 You can build on openSUSE from Fedora sources and use on Mageia 4 Minor differences (license header, changelog)
  14. Recap 1. Check if anybody is already working on similar project If so, contact them and try working together If not, start with PoC 2. Seek for a feedback from other distributions 3. Establish one place for discussions and code 4. From now on: it is community project Any breaking/big changes must be ack’ed by others 5. Optionally, become a contributor to other distirbutions
  15. Thanks for attending! ignatenkobrain@fedoraproject.org
Advertisement