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