d0d3742a07
Release 24.1.0
2023-03-03 19:30:37 +01:00
851f7468ea
conf: simplify rust2rpm.conf file parsing tests
2023-03-03 19:02:50 +01:00
a4475f92da
conf: support explicitly enabling non-default features
2023-03-03 18:53:02 +01:00
bd09ff4106
conf: fix undefined variable and improve test coverage
2023-03-03 00:38:30 +01:00
a0e869199f
generator: add flags for required features to cargo macro calls
2023-03-03 00:13:01 +01:00
0bf11c122d
main: bail if crate version has un-stripped "build metadata"
...
Versions like "0.4.60+curl-7.88.1" currently break package builds.
Stripping "build metadata" automatically and operating with
"crate version" != "rpm version" might be supported in the future,
but this will require changing the %{crate_instdir} macro, among
other things.
Coincidentally, setting the %{crate_version}" macro in cases of
"crate version" != "rpm version" would also render the lua
implementation of the %{version_no_tilde} macro obsolete.
2023-03-02 22:02:21 +01:00
81554651be
main: warn if package uses dependencies that are stricter than SemVer
2023-03-02 21:53:12 +01:00
5705f7e5d2
tests: no longer break every new year
2023-03-02 21:06:40 +01:00
012b99c84c
metadata: add interactive mode for guess_main_package
2023-03-02 20:55:58 +01:00
fb1944d558
conf: factor out rust2rpm.conf file parsing; add validation and tests
2023-03-02 19:35:58 +01:00
539033b196
templates: fix stripping +build metadata from crate versions
2023-02-23 18:38:06 +01:00
15facc465b
Release 24.0.2
2023-02-16 22:10:10 +01:00
4eb2d2bf5d
templates: add FIXME to %install if any shared libraries are built
2023-02-16 22:01:58 +01:00
9696550bb7
meta: require cargo2rpm >= 0.1.2 to fix edge case in "is-lib" checks
2023-02-16 21:39:51 +01:00
64a3f39291
Release 24.0.1
2023-02-16 18:51:21 +01:00
092de1b186
generator: fix application of lib+feature.requires rust2rpm.conf settings
2023-02-16 16:49:20 +01:00
8ca9320328
Release 24.0.0
2023-02-15 21:33:21 +01:00
d248f41cba
remove tools that are obsolete since the %cargo_license macro was added
2023-02-15 21:01:42 +01:00
af0067165c
utils: change fallback editor from vi to nano
2023-02-15 20:30:44 +01:00
4c7b7e42f9
update LICENSE with year and update contributors
2023-02-15 20:30:08 +01:00
de8205940a
generator: do not include %cargo_install for cdylib-only crates
2023-02-15 20:25:34 +01:00
334f043031
crate: ensure metadata is re-loaded after patching Cargo.toml
2023-02-15 19:38:46 +01:00
2e188b55a4
templates: fix listing of binaries in the crate template
2023-02-15 19:10:55 +01:00
7e969ffbb3
crate: fix sorting of license and doc files
2023-02-15 18:21:31 +01:00
f81e885df9
generator: workspace support + document all Jinja2 template parameters
2023-02-15 17:34:04 +01:00
58d33f6505
generator: clean up and document all Jinja2 template parameters
2023-02-15 15:14:21 +01:00
8ee69c4cc1
generator: use more descriptive names for "date" and "packager"
2023-02-14 22:13:04 +01:00
137f721ded
port spec file generator to cargo2rpm
2023-02-14 21:41:06 +01:00
6177853dd0
cli: move command-line argument parser into separate module
2023-02-13 23:35:03 +01:00
a15e90542d
patching: fix datetimes in generated patches
2023-02-13 23:18:23 +01:00
8cb17e350b
crate, patching: move processing of source trees into separate modules
2023-02-13 23:11:32 +01:00
0f2e5ab6f2
sysinfo: move os-release parsing into separate module
...
Any opened files are now also closed after reading them.
2023-02-13 19:50:17 +01:00
04531df43c
distgit: fix check for repository existence
2023-02-13 19:37:39 +01:00
c8d35e0f69
cratesio, distgit: use urllib.parse.urljoin from std directly
...
This method has been in Python 3 std for years, there is no need to
import it via requests.compat.urljoin.
2023-02-13 19:25:23 +01:00
3e7f4ea556
start moving functionality out of __main__
2023-02-13 19:16:18 +01:00
ac58d59812
tests: fix arguments for foreign patching test
2023-02-13 18:32:48 +01:00
3eab0fef8e
tests: fix spec generator test and update test fixtures
2023-02-13 18:18:54 +01:00
cbb1ea5ae7
tests: test drop_foreign_dependencies separately from spec generation
2023-02-13 17:53:03 +01:00
387741279c
remove RPM macros and generators (moved to rust-packaging project)
2023-02-11 21:45:28 +01:00
4af8c39fed
remove unused cargo-inspector executable (replaced by cargo2rpm)
2023-02-11 21:42:50 +01:00
f8ea7144d8
account for new dep:foo syntax when patching foreign dependencies
2023-02-11 01:42:00 +01:00
a0b4b78a01
Metadata: determine actually correct list of features
2023-02-11 01:27:42 +01:00
Davide Cavalca
3443c98887
Only enable frame pointers for approved arches
2023-01-26 14:04:12 -08:00
b5c64f585e
rust2rpm: update test fixtures for 2023
2023-01-05 17:49:57 +01:00
Davide Cavalca
c2176f219f
Add conditional support for always including frame pointers
...
If `%_include_frame_pointers` is defined, add
`-Cforce-frame-pointers=yes` to the compiler flags to ensure frame
pointers are always included.
This is in preparation for
https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
See
https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/230
for the corresponding implementation in redhat-rpm-config.
2022-12-28 12:33:00 -08:00
d9aa58b6cb
rust2rpm: fix edge cases in cfg-expression evaluation
...
Some cfg-expressions evaluated to "False" because all target_arch
checks were evaluated as "True", but that broke in situations where
the cfg-expression checked for the *absence* of a match for a specific
target_arch.
With this change, cfg-expressions are now evaluated once for every
supported target_arch, and they evaluate to "True" if the expression
evaluated to "True" for *any* value of target_arch.
2022-11-07 20:57:50 +01:00
3dec94dc85
add more tests for version comparisons and reformat with black
2022-11-03 21:40:20 +01:00
Michel Alexandre Salim
6a5931b7dd
Fix CargoSemVer.eval_ KIND_GTE and KIND_LTE comparisons
...
Just make use of KIND_GT/KIND_LT and KIND_SHORTEQ
Signed-off-by: Michel Alexandre Salim <salimma@fedoraproject.org>
2022-10-31 12:54:37 -05:00
Michel Alexandre Salim
1869f5a7e0
Add tests for CargoSemVer.eval_
...
There are logic errors in `KIND_GTE` and `KIND_LTE`, surface them with
the new test
Signed-off-by: Michel Alexandre Salim <salimma@fedoraproject.org>
2022-10-31 12:53:38 -05:00
09a496c65e
rust2rpm: fix crash in sorting of binary targets
...
The "sort" Jinja2 filter doesn't work because the bins are objects,
not strings. This commit changes the sorting to happen correctly,
before binary targets are passed to the template for rendering.
2022-10-31 15:26:11 +01:00