From Fedora Project Wiki
(Created page with "= Packaging Rust applications/libraries = == Summary == Add required tools/instructions for packaging applications/libraries written in Rust. <!-- A sentence or two summarizi...")
 
Line 10: Line 10:
This should link to your home wiki page so we know who you are.  
This should link to your home wiki page so we know who you are.  
-->
-->
* Name: [[User:ignatenkobrain|Igor Gnatenko]] (on behalf of [[SIGs/Rus|Rust SIG]])
* Name: [[User:ignatenkobrain|Igor Gnatenko]] (on behalf of [[SIGs/Rust|Rust SIG]])
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
<!-- Include you email address that you can be reached should people want to contact you about helping with your change, status is requested, or technical issues need to be resolved. If the change proposal is owned by a SIG, please also add a primary contact person. -->
* Email: ignatenkobrain@fedoraproject.org
* Email: ignatenkobrain@fedoraproject.org

Revision as of 12:22, 6 July 2017

Packaging Rust applications/libraries

Summary

Add required tools/instructions for packaging applications/libraries written in Rust.

Owner

Current status

  • Targeted release: Fedora 27
  • Last updated: 2017-07-06
  • Tracker bug: <will be assigned by the Wrangler>

Detailed Description

At this point packaging rust applications/libraries is not possible mostly due to missing support for expression version range dependencies (1.0 <= foo < 2.0) in RPM. This problem hits every other language ecosystem (esp. NodeJS), but it is not very noticable. But during initial Rust packaging (by Rust SIG) we identified that this is the main blocker for any further work.

Benefit to Fedora

Fedora will be one of first distributions (if not first) who package rust applications/libraries.

Scope

  • Proposal owners: Create tools for automatic conversion from crates.io to rpm's spec file, create RPM macro for generation of automatic dependencies, write packaging guidelines.
  • Other developers: RPM developers to add support for expressing version range dependencies.
  • Policies and guidelines: Packaging Guidelines needs to be written for packaging Rust applications/libraries.
  • Trademark approval: N/A (not needed for this Change)

Upgrade/compatibility impact

N/A (not a System Wide Change)

How To Test

N/A (not a System Wide Change)

User Experience

  • Packagers will be able to package Rust applications
  • Users will be able to install tools written in Rust from Fedora repositories (i.e. ripgrep)

Dependencies

Support for "with" rich-operator from RPM 4.14 change is required to be implemented.

Contingency Plan

  • Contingency mechanism: Move implementation to next release (once ready and if possible, backport to old release)
  • Contingency deadline: N/A (not a System Wide Change)
  • Blocks release? ??
  • Blocks product? -

Documentation

N/A (not a System Wide Change)

Release Notes