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
9b52109a44
wire up support for new configuration settings that control tests
2023-10-06 22:15:15 +02:00
3a06b7e2bc
conf: add settings for running and skipping specific tests
2023-10-06 19:29:27 +02:00
05cfcd8aee
minor fixes and added type annotations to make mypy checks pass
2023-10-06 18:02:44 +02:00
d1bb5c3cfc
wire up support for non-crate non-workspace projects and minor fixes
2023-10-06 17:50:30 +02:00
97ae81977d
generator: update template for workspace projects
2023-10-06 17:04:38 +02:00
f35b5f4e88
generator: add mode and template for non-workspace projects
2023-10-06 16:48:49 +02:00
67712e7baa
fix some import paths from cargo2rpm
2023-10-06 13:34:46 +02:00
52e2482019
accept "partial" version arguments; resolve to latest matching version
2023-10-06 02:17:34 +02:00
2f1505daf2
conf: implement new TOML-based config file format
...
- does not rely on custom INI parsing
- can be validated automatically with the defined schema
- actual support for lists, multi-line strings, booleans
When a "rust2rpm.toml" file is found, it takes precedence. Otherwise,
rust2rpm will fall back to existing {,.,_}rust2rpm.conf files and
convert to the new format internally.
2023-10-05 20:03:08 +02:00
2edba5f881
drop support for Python 3.10
2023-10-04 11:32:35 +02:00
d999129315
rename NEWS to CHANGELOG.md (it was markdown all along)
2023-10-04 11:31:51 +02:00
e9cfd222be
generator: define upstream_version / crate_version as necessary
...
- crate_version is defined if crate version != package version
- upstream_version is defined if crate version != crate version
2023-10-04 00:20:17 +02:00
6087084fa0
templates: don't use %version_no_tilde macro when %version will do
...
This is already guarded by a check for crate version == package version,
so the version string cannot contain "~" characters at this point.
2023-10-03 23:43:10 +02:00
b1203d1f30
template: update patch comment for automatically generated patch
...
The automatically generated patch no longer only strips dependencies
but also potentially does other metadata normalization.
2023-10-03 22:50:58 +02:00
bf53a783b6
main: ensure patches are written with a trailing newline
2023-10-03 22:38:29 +02:00
4a9a7bd4a5
patching: only modify temporary files (and fix patch output)
2023-10-03 22:24:59 +02:00
11554c5053
add even more type annotations and start checking with mypy
2023-10-02 01:05:42 +02:00
eb448953a1
patching: refactor to use rust2rpm-helper if available
...
Also fixes test fixtures (some of which were actually *wrong* ...).
2023-10-02 00:33:44 +02:00
1fdcd8ca22
fix wrong type annotations and add a few missing ones
2023-10-01 23:36:20 +02:00
b94ecf1ece
tests: add two missing assert statements
2023-10-01 23:01:38 +02:00
cdc2355460
Release 24.4.2
2023-09-30 16:51:36 +02:00
7a07a61fd8
Release 24.4.1
2023-09-30 15:50:10 +02:00
a58f78d7e8
tests: adapt fixtures for cargo2rpm v0.1.8
2023-09-30 15:48:57 +02:00
1432b5d1a2
generator: fix some type annotations
2023-09-30 15:35:10 +02:00
6cb6cc3f78
generator: correctly mark warning about missing license as comment
2023-09-24 23:28:43 +02:00
be5b992f24
Release 24.4.0
2023-08-08 14:16:51 +02:00
4cfdb49afd
template: move Requires below License tag in binary packages
2023-08-07 21:41:05 +02:00
03156817a9
template: escape cargo_license_summary macro in comment
2023-08-06 22:56:10 +02:00
2df685241e
crate: exclude "target" directory from license file search paths
2023-08-06 11:23:56 +02:00
3231fba9ba
generator: filter out already enabled features from required feature flags
2023-08-06 11:14:45 +02:00
7166b781bd
template: include %cargo_license / %cargo_license_summary macros
...
The macros are now well-tested and can be used unconditionally for
packages that ship statically linked binaries (executables or
shared libraries).
2023-08-06 11:02:26 +02:00