Commit graph

497 commits

Author SHA1 Message Date
8b378c5b0e
docs: add package.{extra-patches,cargo-toml-patch-comments} settings 2024-03-08 15:56:24 +01:00
d5fd8f9517
conf/generator: add support for persisting Cargo.toml patch comments 2024-03-08 15:51:32 +01:00
fd2c04784c
conf: allow specifying additional patches just like additional sources 2024-03-06 16:45:27 +01:00
d1ae15ad6e
conf: warn on conflicting settings (all-features + hidden features) 2024-03-05 19:12:54 +01:00
97fd500e75
generator: fix warning for summary-too-long and simplify template
Additionally, the threshold was raised to <= 80 characters to match
the default rpmlint configuration in Fedora.
2024-03-05 18:49:46 +01:00
8e2bd0a029
cli: remove deprecated --all-features flag 2024-02-25 22:02:35 +01:00
c59cbefbaa
cli: remove deprecated --suffix argument 2024-02-25 21:52:17 +01:00
bc1f8490c0
cli: remove deprecated --stdout flag 2024-02-25 21:22:49 +01:00
b9550775b3
generator: fix condition for setting cargo_install_bin for compat packages 2024-02-24 19:00:07 +01:00
2961950b31
conf: validate that "package.extra-sources.{number,file}" are present 2024-02-23 00:46:30 +01:00
0db4651516
conf/generator/templates: add settings for adjusting scriptlets and files
This commit introduces many settings - additional source files,
additional packaged files, specifying additional commands that are
injected into %prep, %build, %install, or %check - both before and
after the respective %cargo_* macros.
2024-02-23 00:18:58 +01:00
b536e5e40e
conf/generator: add setting to automatically rename installed binaries
This can be useful when the default name of an installed binary
conflicts with a binary from another package.
2024-02-22 20:02:00 +01:00
139bac2eca
conf/generator/templates: support cargo-install-{lib,bin} settings
rust-packaging >= 26 now has "official" support for overriding the
installation of library sources / binary targets by setting RPM macros.

This commit adds settings to correspond to the %cargo_install_lib and
%cargo_install_bin macros and plugs them through to the spec generator.

References to the the private %__cargo_is_bin and %__cargo_is_lib macros,
which could previously be used to hack this behaviour, were removed.
2024-02-22 18:53:42 +01:00
1b1532da08
Release 25.1.0 2024-02-21 14:46:54 +01:00
1d3bcebbea
generator: log a warning if the generated RPM Summary is too long 2024-02-21 14:23:44 +01:00
e142f5c6b5
generator: handle invalid version requirements more gracefully 2024-02-21 14:05:20 +01:00
4c36ef4380
conf: add a setting for overriding the name of the "bin" subpackage 2024-02-20 18:14:31 +01:00
712f596844
misc: fix code style issues pointed out my ruff 2024-02-20 17:40:48 +01:00
21a78ae13f
cli: make missing license files a fatal error (with an escape hatch) 2024-02-20 17:29:10 +01:00
07976fe752
Release 25.0.4 2023-12-07 15:09:32 +01:00
55b9834ab5
deps: require cargo2rpm >= 0.1.15 and update test fixtures 2023-12-07 15:05:23 +01:00
16d49a8716
Release 25.0.3 2023-12-01 15:25:28 +01:00
c40f7400f9
deps: require cargo2rpm >= 0.1.14 2023-12-01 15:22:34 +01:00
2fa54a0062
tox: run tests on Python 3.13 as well 2023-12-01 15:22:13 +01:00
228efa58fd
crate: improve determining project name/version from directory name
If the heuristics fail because the project uses a weird naming or
versioning scheme or if the directory name does not match the
"{project}-{version}" pattern. This is mostly the case for "workspace"
proejcts.

In the case the heuristics fail, the version can be overriden on the
command line.
2023-11-29 18:34:08 +01:00
323dbea4b6
crate: error out if project arg looks like a path but is not a path 2023-11-23 19:28:29 +01:00
e879c9f857
Release 25.0.2 2023-11-18 01:07:31 +01:00
e7946fa571
conf: ensure that "hidden" features actually exist during validation 2023-11-17 23:49:26 +01:00
1c970e51fd
tests: update test fixtures for cargo2rpm v0.1.13 2023-11-17 23:27:54 +01:00
475c116af4
Release 25.0.1 2023-10-18 11:35:58 +02:00
5a8bb9eee9
conf: handle invalid syntax in rust2rpm.toml more gracefully 2023-10-18 11:19:27 +02:00
1604e7e36f
main: fix crash when using both --compat and a partial version 2023-10-10 22:48:57 +02:00
d6850d3f80
Release 25.0.0 2023-10-10 02:58:08 +02:00
17cfd82728
conf: fix edge case in TOML config validation 2023-10-10 02:57:42 +02:00
0034c349f2
conf: log clearer and less verbose error on validation failure 2023-10-10 02:22:32 +02:00
8506b843c5
crate: exclude "target/" directory from %doc file search 2023-10-10 00:47:58 +02:00
607ffb50e6
patching: log warning when rust2rpm-helper is not in PATH 2023-10-10 00:42:36 +02:00
445feba9ee
generator: improve version autodetection to match other render targets 2023-10-10 00:21:22 +02:00
95622b6198
crate: exit gracefully on nonsensical command line arguments 2023-10-10 00:07:19 +02:00
7ce12d552c
vendor: generate vendor tarball only if target file does not exist 2023-10-09 23:59:12 +02:00
2177e6449b
Print an error and bail when using a vendor tarball for a library crate
Building a library-only crate against vendored dependencies is nonsense,
since the resulting package will not be able to ship anything.
2023-10-09 23:37:26 +02:00
519f079729
crate: fix restoring original Cargo.toml for local projects 2023-10-09 23:28:18 +02:00
f579129792
docs: add docs for rust2rpm + config formats in man-friendly format
Remove documentation for rust2rpm.conf file format from the README. The
custom INI-based format is deprecated in favor of rust2rpm.toml. Both
formats are documented, including a migration guide from the old to the
new format.

The included build script shows how to build man pages from the asciidoc
source files.
2023-10-09 22:18:40 +02:00
258b6f9526
templates: do not generate devel subpackages when using a vendor tarball 2023-10-09 15:34:47 +02:00
0c274e9de7
add support for automatically generating and using a vendor tarball 2023-10-08 15:10:03 +02:00
78299d18cc
generator: raise minimum rust-packaging version to 24 for Fedora target 2023-10-07 16:07:00 +02:00
8525474cda
conf: only print rust2rpm.conf deprecation warning if file is present 2023-10-07 14:43:31 +02:00
b36c3f66a6
conf: print warning that rust2rpm.conf file format is deprecated 2023-10-06 22:32:45 +02:00
722ace88d5
main: small refactor to simplify decision logic 2023-10-06 22:21:48 +02:00
ec8dcf58d0
generator: fix adding Requires defined in config to feature subpackages 2023-10-06 22:18:15 +02:00