Re: "fedpkg local" builds fail for rust packages

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

 



On Thu, Apr 04, 2024 at 10:41:19PM +0200, Fabio Valentini wrote:
> 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.

(putting this back in for larger context)

On Fri, Apr 05, 2024 at 03:33:35PM +0200, Fabio Valentini wrote:
> On Fri, Apr 5, 2024 at 9:51 AM Michael J Gruber wrote:
> > `This package contains library source intended for building other
> > packages which use the "xyz" crate.`
> 
> So the description matches what I said?

No, it does not.  You've thrown out a whole bunch of restrictive terms
of service that are not explicitly stated in the description.

You've said it only works from mock.  "from mock" is not in that
description.

I've used Fedora (and Red Hat Linux before that) for a combined total of
25 years.  Never have I heard of a package that's only for internal
distribution use and I think it's a complete violation of Fedora's
mission statement.

Distribution packages are packaged for *users* to allow *users* to use
them for things *besides* building the distribution.  (Whether that's
software development or otherwise.)

Maybe I should quote Fedora's mission statement:
> Fedora creates an innovative platform for hardware, clouds, and
> containers that enables software developers and community members to
> build tailored solutions for their users.
>
> At the operating system level, we don’t just integrate. We do new
> things — we build a platform, not just a distribution. The *Features*
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> and *First* foundations drive us to innovate. We do all of this as a
> transparent, collaborative community of *Friends*, and entirely as
> open source and free software — *Freedom.*

This perhaps explains why my efforts to use these packages did nothing
but waste my time for days. 😡

It sounds like you've wasted others' time as well.  That's not very
Friendly, and playing nitpicky language lawyer games doesn't change
that, and is also unFriendly.  This is about more than just you.  Other
people are trying to do things, and you're sitting here saying "too bad,
I don't care, it doesn't work and that's not my problem."  If that's not
your intent, that's how it's coming across.

That's an unacceptable attitude, and I think you need to rethink how
you're approaching this conversation and re-read
https://docs.fedoraproject.org/en-US/project/ from top to bottom.

> > If that is how you do things for the rust eco-system, those "devel"
> > packages should be clearly distinguished from real development packages,
> > come with a huge boiler plate "do not install" - or, really, be in a
> > separate repo if installing them is both worthless and misleading for
> > any "real" user. CRB for Fedora material.
> 
> You just pasted the package description above. What more do you want?
> It clearly states that the purpose of the packages is to build other packages.

It does not clearly state *anything* you've just now dropped on us.
Also, all RPMs are packages, not all packages are RPMs.  For all I know,
"package" could be another way of saying "crate."  And just because it's
"intended" to do something doesn't mean "it won't work for anything
else" or "it's not supported if you try to use it for anything else."

And I question whether making packages like that is acceptable for
Fedora.

The naming convention for packages for the last 25 years as far as I've
ever known has established that "foo-devel" packages provide programming
support files that will allow *me* to build *my own* software using
conventional build tools.

The way you've described it, they shouldn't be "foo-devel" packages at
all, because they're useless for routine development.  Admittedly, the
packaging guidelines don't address this, but I assume this is because
this principle is so obvious that nobody thought it needed to be said.
I mean, it's in the mission statement!

It seems to me that these not-"devel" packages should be named
"foo-mock-build-support-for-internal-use-only-and-you-are-on-your-own-if-you-try-to-use-it-for-anything-else".
That would be a whole lot clearer.  We can even consider the
ridiculously-long name a feature.

> Also, Fedora won't do split repos (been there, done that), and stuff
> like it doesn't even work that well in RHEL (and causes all sorts of
> issues).

You've already said there's no support for using them, so it sounds to
me like they're ineligible for inclusion in RHEL (which involves paid
support), so who cares if it works well in RHEL?  You've already said
they don't work well in Fedora either.

> While I agree that the situation is not ideal, I still think this is
> the best that we can do:
>
> 1. We don't want Rust applications to vendor their dependencies

I'm trying to write my own software, so what business do you have
telling me what I can do with it?  Where's my Freedom?  Insert the
Fedora mission statement here (again).

> 2. Rust can only do static linking (for now)
> -> Dependencies can only be shipped as source code, not as compiled artifacts.
> 
> And while you *can* use packaged Rust crates for local development if
> you really want, it's not really a supported use case.

It might also help if you put your restrictive terms of service into the
description explicitly instead of expecting everyone to be mind readers.

Is this documented somewhere besides your email?

Maybe you could link to that documentation (which hopefully also
explains how to use these packages as end-users, in line with the
mission statement) from the RPM descriptions.

All that said, I'd appreciate it if we could please circle back to the
original concerns and approach them more productively.

<<attachment: smime.p7s>>

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