On Sun, Dec 01, 2024 at 04:54:12PM +0100, Fabio Valentini wrote: > There's a WIP of a simplified "conditional vendor" handling here: > https://src.fedoraproject.org/rpms/rust-vhost-device-sound/pull-request/4 > As soon as this is in good shape it might serve as a template for > other packages too. Per Fabio's request, I'm copying my comment from that pull request here for discussion: There is one shortcoming that I see: the command to create the vendor tarball is provided in a comment with escaped macros, so actually running the command requires the user to rewrite the command manually. Can we have some mechanism where the full command is visible and can be selected&pasted into a terminal for execution? The command should have %name and %version and other details inserted automatically. It should also be joined with && and not change the callers cwd. So probably something like (spectool -g %{name}.spec && tar xvf %{name}-%{version}.create && cd %{name}-%{version} && cargo vendor-filterer … && tar …) rpmspec -P *.spec doesn't show comments. One idea: insert the following at the beginning of %prep: # The command to generate a tarball with vendor code: if false; then (spectool -g %{name}.spec && \ tar -xvf %{name}-%{version}.crate && \ cd %{name}-%{version} && \ cargo vendor-filterer cargo vendor-filterer --platform {x86_64,powerpc64le,aarch64,i686}-unknown-linux-gnu && \ tar --sort=name --mtime='2024-11-29' --owner=0 --group=0 --numeric-owner -Jcf rust-vhost-device-sound-%%{version}-vendor.tar.xz vendor) fi Then the user can run rpmspec -P *.spec | grep spectool and select&paste the right invocation. I think xz should be replaced by zstd. The difference in compression will be minor, but the runtime will be shorter. And the date should be figured out automatically. Maybe %{name}-%{version}.crate should be used for reference? Zbyszek -- _______________________________________________ devel mailing list -- devel@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to devel-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/devel@xxxxxxxxxxxxxxxxxxxxxxx Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue