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
jackyzy823
a4f4b0df93
crate: store crate before parsing
2023-04-27 21:28:08 +08:00
30185b6c8d
Release 24.3.1
2023-04-19 19:21:23 +02:00
b67933d097
add "riscv64" to list of target_arch values that are supported
2023-04-19 19:11:33 +02:00
e3c2ef7dda
conf: fix subtle bug in rust2rpm.conf validation
...
The "default" feature is always implicitly defined, even if not
explicitly listed in the crate metadata, so it's always valid.
2023-04-03 00:05:21 +02:00
1fdcc4a2a0
Release 24.3.0
2023-04-01 16:31:36 +02:00