Re: "fedpkg local" builds fail for rust packages

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

 



On Thu, Apr 4, 2024 at 9:42 PM pfed--- via devel
<devel@xxxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> On Thu, Apr 04, 2024 at 09:51:31AM +0200, Fabio Valentini wrote:
> > > > The short answer is: No, "fedpkg local" is not expected to work for
> > > > Rust packages, and probably won't ever work as expected for Rust
> > > > packages.
> > > >
> > > > I am not really interested in adding the "--allow-dirty" flag (not
> > > > sure if it would even work in this case), since building Rust packages
> > > > with "fedpkg local" is not working for other reasons. Primarily,
> > > > "fedpkg local" does not support dynamically generated BuildRequires -
> > > > this is only supported when building in mock.
> >
> > > I don't know what you mean? For me after patching the macro locally
> > > local builds work as expected. Maybe I'm overlooking something?
> >
> > You might be lucky and just tried to package a Rust crate with no
> > dependencies?
> > Dependencies on other Rust crates are only resolved dynamically at build
> > time, which "fedpkg local" does not support. So it works "by accident" for
> > Rust crates with no crate dependencies, but in general, it can't work.
>
> That would have been extremely lucky, but no, I'm building crates with
> dependencies. And the build generates the requires list just fine.
>
> What is not possible is installing build dependencies directly from a
> spec file from a fresh clone, if that is what you mean? But in this case
> running a local build generates a `.buildreqs.nosrc.rpm` file with the
> correct dependencies, which can be passed to `dnf builddep`.
>
> And since a local build does not manage build dependencies themselves,
> rather relies on them just being there, I don't really see an issue in
> that?

If you really don't mind jumping through multiple hoops just because
you want to use "fedpkg local" instead of "fedpkg mockbuild", then I
guess I can't stop you.

All I *can* do is tell you that you're not going to like the experience:

- Using "fedpkg local" is not supported for Rust packages, and I won't
be adding workarounds to the Rust macros for it.
- Installing rust-*-devel packages on your local system (i.e. outside
of ephemeral build environments) is not supported.
- The "rust-*-devel" packages are build system implementation details,
if you want to say it like that.
- They are not shipped to users and are not useful for Rust developers.
- They are *only* intended to be installed in temporary chroots (like
those set up by mock).
- They don't get "Obsoletes" or "Provides" in case there are dropped
subpackages and / or incompatible updates. This is not an issue
because they are only ever *installed*, but never supposed to be
*upgraded* in-place. Any issues you get by installing them on your
host system are your own.

Fabio
--
_______________________________________________
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




[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