Re: F37 Change: MinGW UCRT target (Self-Contained Change proposal)

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

 



On Thu, Feb 10, 2022 at 10:29:14AM +0100, Sandro Mani wrote:
> 
> On 07.02.22 11:07, Sandro Mani wrote:
> > 
> > > Yes, I proposed that last year. I was supposed to move it forward by
> > > providing a copr repo illustrating it in real world, but I'm afraid
> > > I got side tracked.
> > 
> > I also wasn't able to participate in the discussion having had too much
> > going on then, but I'd be happy to help (re-)launching the effort.
> 
> I'd like to start working on this with some of my packages, I'd handle this
> similarly to say mpi builds, just manually adding the required steps in
> %build and %install and adding subpackages as necessary, then retiring the
> respective mingw repo. Any objections to this?

FWIW, my proof of concept last year did the following to the
libvirt-glib.spec file:

  https://gitlab.com/berrange/libvirt-glib/-/commit/45994bf93bb4b030e3ab57c9b2e4e61e737d6d29

As you can tell, it is essentially just the contents of the
current mingw-libvirt-glib.spec file:

  https://gitlab.com/berrange/libvirt-glib/-/blob/mingw-rpm-merge2/mingw-libvirt-glib.spec.in

copied over into the libvirt-glib.spec

To repeat my previously reported interesting notes:

  * We need to set  mingw32_pkg_name/mingw64_pkg_name explicitly
     because the current logic that sets these doesn't work:
 
      %mingw32_pkg_name        %(echo %{name} | sed 's/^mingw-/mingw32-/')
 
     Presumably we can fix that macro so that it does the right thing
     when no mingw- prefix exists in the first place
 
  * We can't use %mingw_package_header because that splatters the
    native debuginfo generation. So we must explicitly add mingw
    debuginfo packages by referencing
 
       %{?mingw_debug_package}
 
    and at end of %install add
 
       %mingw_debug_install_post
 
 
  * %mingw_package_header has reference to overriding strip/objdump
    to prevent corruption of binaries. We can't do that override
    because we need native strip/objdump for the native builds.
    
    AFAICT though, no corruption happened to my DLLs even without
    this strip/objdump override. Looks like this caveat might be
    obsolete, unless the scenarios it hits are more niche than I
    tested.
 
  * %mingw_package_header tries to disable the internal dependancy
    generator on RHEL 6. For reasons I don't understand, it ends
    up disabling it on Fedora too.
 
      %mingw_package_header                                         \
      %global __strip %{mingw_strip}                                \
      %global __objdump %{mingw_objdump}                            \
      %if 0%{?rhel} == 6                                            \
      %global _use_internal_dependency_generator 0                  \
      %global __find_requires %{mingw_findrequires}                 \
      %global __find_provides %{mingw_findprovides}                 \
      %endif                                                         \
      %global __debug_install_post %%{mingw_debug_install_post}     \
      %{nil} 



The last two points feel like simple bugs we need to fix regardless.



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




[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