Commit graph

462 commits

Author SHA1 Message Date
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
a841ba0c1c
Release 24.3.3 2023-05-17 20:46:45 +02:00
294741a2b1
crate: fix undefined variable error caused by recent commit 2023-05-17 20:43:48 +02:00
bfe8c92989
Release 24.3.2 2023-05-17 20:04:38 +02:00
cf4ed29e5a
conf: fix reading lib+default.requires from rust2rpm.conf
The "default" feature is always implicitly defined, so it can always
be used in rust2rpm.conf. However, previous to this commit, it was not
loaded correctly if the crate did not explicitly define a "default"
feature.
2023-05-17 20:00:26 +02:00