Commit graph

506 commits

Author SHA1 Message Date
267d9fbef9
conf/template: support specifying supported architectures 2023-04-01 15:59:15 +02:00
6f40c1a026
Release 24.2.0 2023-03-20 22:20:35 +01:00
26aa680301
cli: add automatic --compat flag, deprecate manual --suffix argument 2023-03-18 20:15:54 +01:00
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