Bug 2078226 - RFE: split libssp to a separate subpackage (-libgcc?) to avoid most mingw packages dependency on mingw{32,64}-gcc
Summary: RFE: split libssp to a separate subpackage (-libgcc?) to avoid most mingw pac...
Keywords:
Status: CLOSED RAWHIDE
Alias: None
Product: Fedora
Classification: Fedora
Component: mingw-gcc
Version: 35
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kalev Lember
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2022-04-24 15:42 UTC by Dominik 'Rathann' Mierzejewski
Modified: 2022-04-26 12:08 UTC (History)
6 users (show)

Fixed In Version:
Clone Of:
Environment:
Last Closed: 2022-04-26 12:08:14 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Dominik 'Rathann' Mierzejewski 2022-04-24 15:42:19 UTC
Description of problem:
165 binary packages depend on 'mingw32(libssp-0.dll)' and 163 on 'mingw64(libssp-0.dll)'. This dependency is provided by mingw32-gcc and mingw64-gcc, respectively. These two, in turn, bring the following development dependencies:
isl
mingw32-binutils
mingw32-cpp
mingw32-headers
mingw32-winpthreads

Version-Release number of selected component (if applicable):
mingw32-gcc-11.2.1-3.fc35.x86_64
mingw64-gcc-11.2.1-3.fc35.x86_64

How reproducible:
Always.

Steps to Reproduce:
1. Install wine-7.4.
2. dnf update wine\*7.5

Actual results:
The following development packages get pulled in as dependencies:
isl
mingw32-binutils
mingw32-cpp
mingw32-gcc
mingw32-headers
mingw32-winpthreads
mingw64-binutils
mingw64-cpp
mingw64-gcc
mingw64-headers
mingw64-winpthreads

Expected results:
Instead of the above, only two library packages should get installed, perhaps called mingw{32,64}-libgcc.

Comment 1 Sandro Mani 2022-04-26 06:10:17 UTC
Looks like a good idea to me. I guess the new package could ship all of these?

bin/libatomic-1.dll
bin/libgcc_s_dw2-1.dll
bin/libssp-0.dll

Comment 2 Dominik 'Rathann' Mierzejewski 2022-04-26 06:33:35 UTC
Sounds reasonable for now. I note that native libatomic is shipped as a separate gcc subpackage libatomic: https://src.fedoraproject.org/rpms/gcc/blob/rawhide/f/gcc.spec#_586 .

So, perhaps the package layout should mirror the native gcc package, i.e.:

mingw{32,64}-libatomic
bin/libatomic-1.dll

mingw{32,64}-libgcc
bin/libgcc_s_dw2-1.dll

mingw{32,64}-libssp
bin/libssp-0.dll

Similarly,
mingw{32,64}-libatomic-static
lib/libatomic.a
lib/libatomic.dll.a

mingw{32,64}-libgcc-static
lib/libgcc_s.a

mingw{32,64}-libssp-static
lib/libssp.a
lib/libssp.dll.a
lib/libssp_nonshared.a

mingw{32,64}-libstdc++-static
lib/libstdc++fs.a

But maybe that's an overkill.

Interestingly, native libssp is not shipped with native gcc at all: https://src.fedoraproject.org/rpms/gcc/blob/rawhide/f/gcc.spec#_2006

Comment 3 Sandro Mani 2022-04-26 12:08:14 UTC
I've started by adding the libgcc subpackage in mingw-gcc-12.0.1-4.fc37. Personally I'd keep I'd limit it to the one new subpackage, but opinions regarding a further splitup welcome.


Note You need to log in before you can comment on or make changes to this bug.