On Tue, Mar 02, 2021 at 10:13:38AM -0600, Greg Hellings wrote: > On Tue, Mar 2, 2021 at 6:46 AM Richard W.M. Jones <rjones@xxxxxxxxxx> wrote: > > > [Adding the devel list, since this change would obviously affect > > several "base" packages.] > > > > On Mon, Mar 01, 2021 at 01:31:13PM +0000, Daniel P. Berrangé wrote: > > > Way back when we first started the mingw project in Fedora we took the > > > decision to maintain the mingw builds as separate source RPMs in Fedora. > > > The rationale was that mingw support was a new concept to Fedora with > > > many unknowns. We often had custom mingw only patches, and there was a > > > decent chance there would be breakage upon rebases. We didn't want to > > > burden the native package maintainers with mingw support as that would > > > have increased pushback against the effort. > > > > > > This decision was always going to cause us problems with keeping the > > > mingw dist-git packages in sync with native dist-git packages. This > > > is especially important when it comes to security fixes, and there > > > have been reasonably well justified complaints about mingw lagging > > > native wrt to CVE fixing in recent times. > > > > > > > > > Since the early days we merged the separate mingw32-$PKG / mingw64-$PKG > > > source RPMS into a single mingw-$PKG in dist-git. The need for patching > > > mingw RPMs to fix problems in Fedora doesn't seem any higher than the > > > need for patching to fix native build problem. Generally things just > > > work when rebasing, because most upstreams recognize the importance > > > of keeping their projects working on mingw. > > > > > > IOW, we were afraid of a maintainer burden that has turned out to > > > largely not exist. To address this non-existant burden, we intentionally > > > made the maint of mingw packages harder than it needs to be in Fedora. > > > > > > > > > This is a long winded way of saying I think it is time to update > > > the mingw packaging guidelines to allow for, even recommend, mingw > > > packaging to be a standard part of the native RPM spec. In doing > > > so we eliminate the main burden of mingw packaging in Feora and > > > guarantee that we'll always be up to date wrt bug/security fixes > > > and rebases. > > > > > > I've done some basic tests with libvirt-glib upstream which recently > > > changed to using Meson. Supporting mingw in the main libvirt-glib.spec > > > was largely trivial. I simply needed to copy the various blocks of > > > the mingw-libvirt-glib.spec file into the libvirt-glib.spec, ending > > > up with a diff: snip > > > In summary based on my tests I think killing off the separate dist-git > > > / RPM spec for mingw looks feasible unless someone knows of hidden > > > show stoppers I haven't hit yet. > > > > > > I think we should go ahead and do this for some packages to demonstrate > > > the concept in the real world, and I'm volunteering to coordinate it for > > > all the virtualization packages I'm involved in maint of because I can't > > > even reliably keep them in sync myself. libvirt, libvirt-glib, libosinfo, > > > osinfo-db-tools, gtk-vnc, spice-gtk all use meson, so should mirror the > > > approach above and be quite easy. > > > > > > Once we can demonstrate the real world impact, we can socialize the idea > > > on Fedora devel list more widely and then also approach maintainers > > > of other native packages to attempt to convince them to accept mingw > > > sub-RPMs into their specs. Every mingw package we can get merged into > > > native package frees up a little more time for to spend on the remaining > > > mingw packages that are still separate. Ideally we'd get 100% merged > > > long term, but even if we get refusals from native maintainers, we'll > > > still be better off with those we do succeed in merging. > > > > > Sounds in general like a good idea, but I think we should make it > > opt-in only for the foreseeable future. Some packagers won't > > appreciate the extra overhead of all the mingw stuff. > > > > I, for one, welcome this. For several of the packages I maintain, I'm the > only person to support them in both native and mingw biulds. > > Do you have a suggested path I would take to deprecate the mingw-foo > packages once I roll over building them into the native package? The mingw{32,64}-foo sub-RPMs generated from the native foo.spec file would have identical contents + names to the current mingw RPMs generated from the mingw-foo.spec IOW, there is no deprecation/upgrade path involved. Once we have a build of mingw RPMs from the native spec, then we just immediately retire the corresponding mingw dist-git repo. The user of Fedora sees no change at all. The only thing is to ensure the native NEVR is newer than the original mingw RPM NEVR, which it almost always is already. Regards, Daniel -- |: https://berrange.com -o- https://www.flickr.com/photos/dberrange :| |: https://libvirt.org -o- https://fstop138.berrange.com :| |: https://entangle-photo.org -o- https://www.instagram.com/dberrange :| _______________________________________________ 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 on the list, report it: https://pagure.io/fedora-infrastructure