Re: deduplicating noarch subpackages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Feb 11, 2020 at 7:22 PM Josh Stone <jistone@xxxxxxxxxx> wrote:
>
> When building a normal arch package with noarch subpackages, would it be
> acceptable in Fedora if only *one* of the arches actually took
> responsibility to build those noarch subpackages?
>
> Context: the "rust" package normally builds arch-specific packages, like
> "rust" for rustc, rustdoc, and their libraries, and "rust-std-static"
> for the standard library static archives (*.rlib). Since Rust has no
> stable ABI, these are closely tied together, so they always need to be
> built from the same srpm.
>
> I've had requests to include cross-target std builds for wasm[1] and
> mingw[2] too. These would most naturally be noarch subpackages,
> something like rust-std-static-$TRIPLE.noarch.rpm, and for the same ABI
> reasons it should be built as part of the same rust srpm.
>
> [1] https://src.fedoraproject.org/rpms/rust/pull-request/6
> [2] https://bugzilla.redhat.com/show_bug.cgi?id=1762856
>
> The problem is that those cross-target libraries built by two different
> host arches will have different metadata hashes in the filenames,
> because the hash includes the full "rustc -Vv" version output, including
> the host triple. Koji will reject this when the overlapping noarch
> packages are compared, since the file list doesn't match. The libraries
> are still perfectly usable by rustc from a different host arch though.
>
> So my question/proposal is, what if I just build those cross-target
> noarch subpackages from a single host (probably x86_64)? My reading of
> the koji's "check_noarch_rpms" seems like it would be OK with this, as
> there just wouldn't be any duplicates to rpmdiff. I worry that it would
> be against policy somehow though...
>
> Another alternative is to try to remove the host information from the
> metadata hash, which I've already started upstream[3], but I'm not sure
> alleviate their concerns about caching and such.
>
> [3] https://github.com/rust-lang/cargo/pull/7873
>
> Worst case, I could just build them as arch'ed subpackages, specific to
> the host which compiled them.
>
> Thoughts?

My instinct is that this wouldn't work, but I'm not certain. Have you
tried this change with a scratch build? Scratch builds run the same
checks that normal builds do, and would be a good way to verify if
your theory is true.

That said, this is really weird and I'd really be much more
comfortable if this was fixed properly upstream first before you do
this, as you've already started working on.



-- 
真実はいつも一つ!/ Always, there's only one truth!
_______________________________________________
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




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Users]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]

  Powered by Linux