On Fri, Nov 29, 2024 at 4:41 PM Miro Hrončok <mhron...@redhat.com> wrote: > > On 28. 11. 24 0:34, Kalev Lember wrote: > > On Thu, Nov 28, 2024 at 12:23 AM Kalev Lember <kalevlem...@gmail.com > > <mailto:kalevlem...@gmail.com>> wrote: > > > > On Wed, Nov 27, 2024 at 11:56 PM Fabio Valentini <decatho...@gmail.com > > <mailto:decatho...@gmail.com>> wrote: > > > > On Wed, Nov 27, 2024 at 11:50 PM Zbigniew Jędrzejewski-Szmek > > <zbys...@in.waw.pl <mailto:zbys...@in.waw.pl>> wrote: > > > > > > Hi Yaakov, > > > > > > I was looking to update rust-zram-generator and I noticed the > > following: > > > > > > commit 820c5ec20c000e2f0ef57d19970311901d598cf1 > > > Author: Yaakov Selkowitz <yselk...@redhat.com > > <mailto:yselk...@redhat.com>> > > > Date: Mon May 15 20:13:52 2023 -0400 > > > > > > Use vendored dependency in RHEL builds > > > > > > This introduces and rpm macro logic bug which causes the vendored > > dependencies > > > to be unpacked unconditionally. I guess that most likely the same > > pattern was > > > used in other packages. IIUC, the unpacked vendor/ dir is > > actually > > not used for > > > anything. But it seems wasteful and confusing to unpack the > > second > > sources. > > > It'd be nice to fix this everywhere the same pattern was used. > > > > > > The problem is this: > > > > > > %autosetup -n %{crate}-%{version_no_tilde} -p1 %{? > > bundled_rust_deps:-a2} > > > > > > %{?bundled_rust_deps:…} effectively checks if %bundled_rust_deps > > is > > defined. > > > It always is, to either 0 or 1. > > > > I have noticed this too, for example here: > > https://src.fedoraproject.org/rpms/papers/blob/rawhide/f/ > > papers.spec#_141 <https://src.fedoraproject.org/rpms/papers/blob/ > > rawhide/f/papers.spec#_141> > > > > The buggy %autosetup line seems to have been copied into spec files > > quite a lot. > > > > I fixed it (once) when I updated librsvg2 a few months ago, but > > forgot > > to check other places: > > https://src.fedoraproject.org/rpms/librsvg2/blob/rawhide/f/ > > librsvg2.spec#_101-110 <https://src.fedoraproject.org/rpms/librsvg2/ > > blob/rawhide/f/librsvg2.spec#_101-110> > > > > > > I actually noticed this when adding bundling to papers packaging and > > made > > sure to leave bundled_rust_deps undefined for the non-bundled case, > > which > > should fix this issue for papers. In my opinion, librsvg's alternative > > fix > > is a little bit too verbose and repetitive - I quite like how Yaakov > > did it > > originally (it's just that it was a tiny bit buggy). > > > > > > I wonder if it would be better to use bconds there as that would avoid the > > pitfall of someone at a later time defining bundled_rust_deps to 0 and > > things > > not working right in that case? Something like, > > > > %bcond bundled_rust_deps %{defined rhel} > > > > %autosetup %{?with_bundled_rust_deps:-a1} > > Yes please. > > It's easier than %if 0%{?rhel} %global... 1 %else %global... 0 %endif
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. Fabio -- _______________________________________________ devel mailing list -- devel@lists.fedoraproject.org To unsubscribe send an email to devel-le...@lists.fedoraproject.org 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@lists.fedoraproject.org Do not reply to spam, report it: https://pagure.io/fedora-infrastructure/new_issue