Bug 498508

Summary: mingw32-zlib does not build mingw32-minizip
Product: [Fedora] Fedora Reporter: Thomas Sailer <fedora>
Component: mingw32-zlibAssignee: Richard W.M. Jones <rjones>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: berrange, fedora-mingw, lfarkas, rjones
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
URL: http://sailer.fedorapeople.org
Whiteboard:
Fixed In Version: 1.2.3-16.fc11 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2009-05-09 04:20:38 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 491616    

Description Thomas Sailer 2009-04-30 19:39:52 UTC
The native zlib SRPM also builds the minizip library and the minizip and minizip-devel RPM's.

The mingw32 version - mingw32-zlib - does neither build the minizip DLL nor mingw32-minizip RPM's.

On http://sailer.fedorapeople.org, I've put a version of the mingw32-zlib SRPM that uses the same (autotools) buildsystem as the native package uses. It build both the zlib and the minizip RPMs. The downside of this package, however, is that the binary name of the zlib DLL changes from zlib1.dll to libz-1.dll. Implib names stay the same. I have no idea how to change the DLL name with libtool. So the downside of this package is that while it is API compatible, it is not ABI compatible.

Comment 1 Richard W.M. Jones 2009-04-30 19:53:53 UTC
Thomas, it might be faster if you fixed this.  Can you apply for the
required access to mingw32-zlib through pkgdb please.

Comment 2 Thomas Sailer 2009-04-30 20:36:44 UTC
(In reply to comment #1)
> Thomas, it might be faster if you fixed this.  Can you apply for the
> required access to mingw32-zlib through pkgdb please.  

Problem is I don't really know a good solution.

If we use my spec file for both mingw32-zlib and mingw32-minizip, we introduce an ABI change, which will require every package using mingw32-zlib to be rebuilt.

If we use my spec file to only generate mingw32-minizip, and leaving mingw32-zlib as it is, we have the same sources in two source packages, which is ugly (requiring fixes at to distinct places).

I was hoping for someone less autoconfused than I am to come up with a good idea :)

Comment 3 Richard W.M. Jones 2009-04-30 20:46:03 UTC
OK I see now.  First of all I don't think changing the name of the DLL
is a disaster.  If we have to do that, then we have to do it.

Secondly, can you just rename the DLL?  Probably this breaks
linking.

Third idea, do two autoconf builds, something like this:

%build
mkdir build-zip
pushd build-zip
%{_mingw32_configure}
make
popd

mkdir build-minizip
pushd build-minizip
%{_mingw32_configure}
make
popd

Comment 4 Thomas Sailer 2009-04-30 21:26:51 UTC
(In reply to comment #3)

> Secondly, can you just rename the DLL?  Probably this breaks
> linking.

The DLL name is hardcoded in the implib (libz.dll.a), in the idata sections.

> Third idea, do two autoconf builds, something like this:

Actually a "traditional" build for zlib1.dll, and an autotools build for libminizip-1.dll might work

Comment 5 Thomas Sailer 2009-04-30 21:46:58 UTC
Something like:
http://sailer.fedorapeople.org/mingw32-zlib-1.2.3-16.fc11.src.rpm
?

Does twice the work on build, but fortunately zlib isn't big...

Comment 6 Fedora Update System 2009-05-01 20:48:47 UTC
mingw32-zlib-1.2.3-16.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/mingw32-zlib-1.2.3-16.fc11

Comment 7 Fedora Update System 2009-05-09 04:20:33 UTC
mingw32-zlib-1.2.3-16.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.