Releases 49

For tarballs and release assets from this project, see releases.pagure.org/fedora-rust/rust2rpm.

If the developers have uploaded one or more tarball(s), you will be able to find them in the release folder.

The CHECKSUMS file contains the checksums (SHA256 and SHA512) of the files uploaded to pagure.

To use this file, simply download it next to the tarball you downloaded and run sha512sum -c CHECKSUMS

Getting source for a release

Clone the repository, then use git archive to create a tarball for any tag:

git clone https://pagure.io/fedora-rust/rust2rpm.git
cd rust2rpm
git archive --format=tar.gz --prefix=rust2rpm-<TAG>/ -o rust2rpm-<TAG>.tar.gz <TAG>

Replace <TAG> with the tag name (e.g. v1.0.0). For a zip archive use --format=zip and .zip as the output extension.

v27.1.1
f36c6f643c7e215288a91515d417ba3d0cbef66a
v27.1.0
08446fe611bf3fc49ea764a57244c775502f4dde
v27.0.1
a153f0051cd1cc45cb5b8fd7dc07f472811e6355
v27.0.0
8b3e029714a1d0ca5ecb22e576ea29edb2d6db65
v26.2.0
0bfcb308bcf3d2bfa6e02cfdc1130445db1b2346
v26.1.1
e6446402298dceae3f2c00e75f5191a8bbdc5689
v26.1.0
f01dae6f6014f90a2917da94238f0f0829222502
v26.0.0
8561830f023bbd6f6ca07b283dc34aaa2891216d
v25.1.0
1b1532da08f733ba9fb359d8b0c1915f2a49d821
v25.0.4
07976fe752cb414c63b6b4f7b9aa7866ac38c176
v25.0.3
16d49a8716cb9130b0406a1cdcd0b4d3ede31256
v25.0.2
e879c9f8570b77e863d902ec933c3069033c5619
v25.0.1
475c116af4c91dc4f5f6654d283402fe8ad2613a
v25.0.0
d6850d3f80aa1c2cddd75f81c555c603547d7bae
v24.4.2
cdc2355460cd83b79825cfc2f05670e45643f40b
v24.4.1
7a07a61fd8de2aeda9ee5524829b510bbc88364a
v24.4.0
be5b992f241e3b08395983f9cfd3f610aaf8cf46
v24.3.3
a841ba0c1cb86fc474d05231d6a7d6dbe6a35c2c
v24.3.2
bfe8c929899efe53e3a6001953cc19f3ff7090d8
v24.3.1
30185b6c8dd875645c1bede61938a7a3d0272416
v24.3.0
1fdcc4a2a0e65686d211eb497095e6b010af3318
v24.2.0
6f40c1a026d2818744feb4c5b3bf3c99448aa621
v24.1.0
d0d3742a07ea3d66a4c91fece14c1c35208e2c58
v24.0.2
15facc465bcd09cafe99ec607e6689c30d307fb9
v24.0.1
64a3f39291281641a168f4b21ab9268da110f30e
v24.0.0
8ca9320328ff6d641d5e6950112479eeef7ded25
v23
Version 23
08e54604ceb64ba2444de98bfa6fca6a7d274cce
Version 23 ========== Added: - New macros for collecting license information for all crates that are statically linked into a Rust binary (`%cargo_license` and `%cargo_license_summary`). - Add support for specifying "testrequires" in rust2rpm.conf. These work similar to "buildrequires", but the specified dependencies will be wrapped in an `%if %{with check}` conditional in the generated spec file. This can be used to specify BuildRequires that are only needed when running a crate's test suite, but which are not necessary to build the crate itself. Changed: - The list of binaries in %files is now consistently sorted in generated spec files (this only affects crates that build more than one binary, of course). - Fall back to the latest pre-release if there are no stable releases (or if all previously published stable released have been yanked). - Dropped `ExclusiveArch: %{rust_arches}` when generating spec files for Fedora. RPM itself will start to depend on Rust components, so Rust will by definition need to be available on all architectures that are supported by Fedora. - Replaced `i686` with the `%{ix86}` macro in `%{rust_arches}`. Fixed: - Ensure that rust2rpm doesn't auto-generate architecture-dependent patches. - Ensure both automatically generated and manually written patches affect spec file generation (i.e. feature subpackages). - Fix evaluation of cfg-expressions that contain the new "wasm64" target. - Only remove target-specific dependencies from feature dependencies if they are optional. - The logic for replacing the current version of rust2rpm when comparing spec output in tests has been fixed for OpenSUSE spec templates.
v22
Version 22
cc4e5fd341273664c8ee7604d99358c4ff8f5e67
Version 22 ========== This release comes with lots of improvements, bug fixes, and new features, but also drops support for Python versions older than 3.10. Added: - Add macros to allow overriding default Rust compiler flags without needing to manually invoke sed: %rustflags_opt_level, %rustflags_debuginfo, %rustflags_codegen_units (PR#182 / @zbyszek) - Add a new rust2rpm.conf setting that mirrors the "--all-features" CLI argument of rust2rpm (PR#191 / @decathorpe) - Add support for running rust2rpm without an explicit crate name argument, and use heuristics (value of the %crate macro in an existing spec file, or the name of the current directory) as fallback values (PR#197 / @zbyszek) - Add a parser and evaluation logic for "cfg"-expressions and automatically generate a Cargo.toml patch that removes "foreign" dependencies (PR#183 / @zbyszek) - Add CC-PDDC ("Creative Commons Public Domain Dedication and Certification") to the list of accepted licenses (PR#203 / @yizhengxie) - Added simple logger functionality and print messages to stderr to ensure the "--stdout" mode of rust2rpm continues to work (@decathorpe). Changed: - Change the default name of the rust2rpm configuration file to "rust2rpm.conf", and migrate existing ".rust2rpm.conf" and "_rust2rpm.conf" files (PR#189 / @decathorpe) - Dropped unnecessary numbering of patches in spec files generated by rust2rpm (PR#196 / @gotmax23) - Dropped translation from SPDX license expressions to Fedora / Callaway notation when targeting Fedora or EPEL (PR#195 / @zbyszek) - Apply consistent formatting for %license and %doc files for binary packages and -devel packages (PR#197 / @zbyszek) - Skip pre-release versions when running rust2rpm without an explicit version argument (PR#197 / @zbyszek) - Change the warning messages that are printed after the "existence check" of rust2rpm succeeds to take compat packages into account (PR#199 / @decathorpe) - Split rust2rpm package into "core" functionality without third-party python dependencies, which can be used by cargo-inspector and RPM macros (PR#204 / @decathorpe) - Ported rust2rpm packaging to declarative configuration with setup.cfg and pyproject.toml (PR#207 / @decathorpe) - Enforced a consistent code formatting standard with black (@decathorpe). Fixed: - Various fixes for the automatic detection of rpmautospec usage in existing spec files and the "--rpmautospec" and "--no-rpmautospec" CLI arguments (PR#190, PR#195 / @zbyszek, @andersblomdell) - Fix building with Rust 1.62+, which now fails when re-packaging sources from crates.io (PR#194 / @decathorpe) - Fixed the "existence check" when running rust2rpm by requesting the correct URL (PR#199 / @decathorpe) - Fixed tox settings for refactored tests and updated list of supported Python versions (PR#208 / @decathorpe)
v21
Version 21
cc8cabd57b81ada50d5ca5c85aebede54a991fba
Version 21 Bugfixes and some small new features: - new %crate_instdir convenience macro with the path to the installation directory - license and documentation files are now installed just once under %crate_instdir and are marked with %license and %doc there - link flags are now passed using the RUSTFLAGS envvar and include package note linker script (when %_package_note_file is defined) - CFLAGS/CXXFLAGS are passed to the processes started by cargo - rpmautospec can be disabled with --no-rpmautospec - minor tweaks to existence checks, documentation file detection, license tags, version handling and spec file naming
v20
Version 20
aa6282874f478ce7e4dbe7e470d372b46c419e65
Version 20 A release with bugfixes and cleanups: - fix autodetection of rpmspec if it was already used in the existing spec file - fix parsing of ID_LIKE in os-release files - drop unused __cargo_skip_build logic - improve handling of the upper bound in dependencies with ~ in version - minor improvements to grammar and whitespace in generated output
v19
Version 19
af4e3714eb9662eaf8d70002230edaa0a8c231b1
v18
v18
f0b940205cd588c52c4670d1993bb69bf15ba00f
v18 * Fix parsing of features with "+" in their name * Convert SPDX license data to Unix line endings * Add "Python-2.0" to list of acceptable licenses * Use Fedora 35 for Fedora license helper script * Add simple %license and %doc file auto-detection * Add optional support for rpmautospec (autorelease, autochangelog) * Use changelog timestamp format without time and timezone on Fedora
v17
v17
1a28095971a50ce5c2bb03557bad69c383868d36
v17 * Return printing of BuildRequires into the %generate_buildrequires section
v16
v16
857192c0ddb1ed446f6ea7fafd60aa63c00a6b56
v16 rust2rpm changes: - set User-Agent header to "rust2rpm" to work around new crates.io API limits, which prevent rust2pm from accessing crates.io - introduce new unwanted-features setting in .rust2rpm.conf files to prevent subpackages for specific "unwanted" features from being generated spdx2fedora changes: - map LGPL-3.0-or-later to LGPLv3+ - map LGPL-2.1-or-later to LGPLv2+ - map EUPL-1.2 to EUPL 1.2 rust-packaging changes: - add riscv64 to %rust_arches
v15
v15
ca9fc7e4664d515edc5265a8ec4d66221d0fadda
v15 * Update `__version__` in `__init__.py` Git-EVTag-v0-SHA512: 525f15ef3332951175d28019fb8f4da688c9be75abe0a566dd18ec071a93e293814c0f6b9bad01c35c57c8b324f36975a8f971076b03f1711dfc48d1f4c4d4ea
v14
v14
90d0e85da245c8087d3e2872ecfbbb6f6dc27ad7
v14 * Use `--no-track` for `cargo install` * Support versions with multiple wildcards (e.g. `1.*.*`) * Ignore `Cargo.toml.orig` which causes issues with build of many crates Git-EVTag-v0-SHA512: 3edbeb5f160b47708f0fc1b2f1243fa4eb8b3603351e977a327d4f5a682c1deda784e53687c0433fc914cd3cdc34c8eb260f79cdb35213ee3db947a19cd800df
v13
v13
e671086e38581b0b6c61ae29d8005f6ab3117859
v13 * Generate %files entries with '%{version_no_tilde}' * Add support for using multiple features at a time in cargo-inspector * Implement support for "renamed" dependencies Git-EVTag-v0-SHA512: 2ad9a5fc747b3ab48d39cc27ccae30c86bd1d150bcc91178349e2a31c4a9add584e9a33f58ddfc82a9ac8dee9e783025a6b7812fff225d2aa3e1f680d348142a
v12
v12
d20f990832ea028db4845bc93cd9fd53a7bc196c
v12 * Set proper Version field for pre-release versions of crates Git-EVTag-v0-SHA512: 38cac67188ce38e6d1f2fa27b3284c4923b5ccfdb4149b24bc38c691afd6324618a0508260cc8247b8e8cf7ff6fc070508df8f8bacd2e7ebe3081ea6b6678b95
v11
v11
c5e398bca68c325e4529030c0bda0c0281ecfce0
v11 * When dynamic BuildRequires are turned on, propagate arguments to %cargo_* * Few improvements in algorithm of description splitting into a summary * Ignore Cargo.lock for installation (publish lockfile feature in Cargo 1.37+) * Replace semantic_version dependency by custom parser * Add MPL-2.0-or-later and 0BSD into a Fedora SPDX mapping * Pass --cap-lints=warn into the RUSTFLAGS to prevent FTBFS after dependency and/or compiler updates * Enable dynamic BuildRequires by default for Fedora target Git-EVTag-v0-SHA512: 996fc2e44771e93afd1d971236ea8ada97b042538e83645b0387ae572d67f393c93195e238c6579ad5ee88f18a621a403ec6dc15489d0f4719de1f5b6f287d00
v10
v10
7cc44cca852d3c16c36aaabd65986b718f42acc3
v10 * Translate '-or-later' and '+' license suffixes properly * Check /usr/lib/os-release in addition to /etc/os-release * Prettify summary and description automatically * Use %{expand:…} for %description to avoid escaping of newlines * Add '--suffix' option for "compat" packages * Implement option to skip building of crates (aka fast/bootstrap build) Git-EVTag-v0-SHA512: e3efb8954305bab99e9a0224b77873c0275b015ea3154d45d83ea18d35a51af7c7db286717b8c3e941cb193c7a1df9b1c6956ddd90173ab044d9f357a7eda5b8
v9
v9
24255ef3ee5551075777032684fe6ddcc28c5ce4
v9 * Always put upstream license in spec * Fix version in egg-info * Remove accidentally left Cargo.toml.deps * Fix packager detection fallback Git-EVTag-v0-SHA512: fcc158ff4cd259eef9577b2a99f4b1b73c9aef85439dbe311c4fa8dfa597acdb810e424b915992d41fce64ae76e34357eebfbdc218dd3a0a71ba6fc88fefeebb
v8
v8
ecc850755ebed880069f64e73f11f01cf8cd3286
v8 * Pass `-Ccodegen-units=1` in RUSTFLAGS * Switch to `%{build_rustflags}` Git-EVTag-v0-SHA512: 48ddf371642b01785b5150b42335aaf5d800dfd07db7463c9da04d0d2159bfc679075ac6c46824e7315509ff89e2ae3debaee4cefa99affb8289013f75943ce7
v7
v7
bbd8cb71d340ed582971cc64072bbb86de58b662
v7 * Generate %doc statements for readme from Cargo.toml * Split features into subpackages (`rust-$crate+$feature-devel`) * Add support for dependencies with same name * Add support for user configuration (`.rust2rpm.conf`, `_rust2rpm.conf`) * Option to not generate default changelog entry (`--no-auto-changelog-entry`) * Set `CARGO_HOME` to the local `.cargo` (required by new Rust) * Improvements for crates with pre-release versions * Fix `%cargo_install` with crates which use whitespace in files * Do not put unneeded optional dependencies in BuildRequires (`-Z avoid-dev-deps`) * Option to use all crate features when generating spec file * Use new-style changelog format (with TZ info) on Fedora * Option to use dynamic BuildRequires (requires RPM 4.15+) * Environment variables to control packager identity Git-EVTag-v0-SHA512: 26302a30a51fc217f539c907a882a4db5737051cb1ab9adebe1ce6a90d578b0ca7f99cd1b6ebf5abf3aeb64bbdfd2a3e9a20b84dd858d2978b1415e20aed22ff
v6
v6
72c0a79dde5265453a71e29f3860f7132ae0c3a3
v6 * Improvements in RPM macros * Add support for handling local crates * Add option to copy crate into current working directory * Filter non-linux dependencies automatically * Translate SPDX licenses into Fedora ones (for Fedora and Mageia) Git-EVTag-v0-SHA512: 7aa00ca1ca9a9b740d06419ceafa630c640948d8d61f79af814d4271d21887603fd133a4455e464a541353c683ad96a9ca5091b86d4c743590dea7c36400683d
v5
v5
813d8efc58af1c07a5d0e8670003c17fc4aa857c
v5 * Add cargo dependency for runtime (devel subpackages) * Use cp instead of install in macros in order to keep original permissions * Ignore yanked versions when no version is specified * Pass --no-fail-fast for cargo-test * Treat optional dependencies as "features" as well * Add support for "rlib" crate-type * Add support for Mageia and (open)SUSE in template Git-EVTag-v0-SHA512: e2bf56691beb3475bc1d7c7e95780b85e7dce9a66eb1991c2ade6ac0d11b1e87640b8fb58aabb7713e4c093758685e5ab0d0a1bf3dc9d4bd7fb3f9c4076f0b94
v4
v4
600c75796fb38c28daf30c10df3901f16070c2b6
v4 * Switch to /usr/share/cargo/registry for storing crates * Explicitly set rustdoc in macro so it won't collide with the one used by user * Add initial support for pre-release versions * Add support for versions with multiple wildcards (like 1.*.*) Git-EVTag-v0-SHA512: 9b6fe5a5205de2e2f4b1dcd06f2bf20a9cbdf558a31e743cad94d9cb83c2b2cf6e565bd44ce429d9738eef8e30569ec2e3edb54ee2bc4de0643a2b5e49cca075
v3
v3
b9ceb10ac2c24d09d8b90dfa61280cf7f89d6ba6
v3 * Use rich dependencies to fulfil requirements * Automagically strip [dev-dependencies] when building without tests * Add support for wildcard in version * Generate initial changelog * Use rust-packaging for BuildRequires to break loop * Other cleanups and fixes Git-EVTag-v0-SHA512: f8ecbc04da72fe3fd46d97553befcf3a1d9465dda3a50b25c1c7e7ce5d6f940bdf7f1f3bcf783f2266afe06c833c2b5fdc4e80ea714cfbe1721b2c6cf197dd31
v2
v2
fea1b6af49ee17e356764b0af578bed43c1fca8a
v2 * Automatic generation of summary and description * Initial patching of metadata * Save generated spec/patch as files instead of printing to stdout * Support for proc-macro kind of library * %cargo_build and %cargo_test are now accepting any parameters * Automatically strip [dev-dependencies] when %check is disabled Git-EVTag-v0-SHA512: bf650c1042db3762797b918665d2a072323d716be74cc0f045774fdfc7f06162dfb6af80fc857192b3e79cae85f80fb53292f73433b902475f0231fbe5b0ad3d
v1
v1
2fbb50e1dcc00abc45d50fa3c367fc8518cac944
v1 Git-EVTag-v0-SHA512: 5a0f840f296650804b85d24978054f12dbc1085e498da49abaf523ca8022b7ed0951ade4184cb81891a4dc6fd6a466563ac73fb953a3f9090e431a41af2fb553