Commit graph

481 commits

Author SHA1 Message Date
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
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