Bug 1102855

Summary: glpk bundles zlib
Product: [Fedora] Fedora Reporter: Ville Skyttä <ville.skytta>
Component: glpkAssignee: Conrad Meyer <cse.cem+redhatbugz>
Status: CLOSED RAWHIDE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: cse.cem+redhatbugz
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-05-29 19:29:08 UTC Type: Bug
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: 504493    

Description Ville Skyttä 2014-05-29 17:11:31 UTC
https://fedoraproject.org/wiki/Packaging:No_Bundled_Libraries
https://fedoraproject.org/wiki/Packaging:Treatment_Of_Bundled_Libraries

The bundled zlib in this case appears to be a somewhat modified one.

Comment 1 Conrad Meyer 2014-05-29 17:51:27 UTC
> The bundled zlib in this case appears to be a somewhat modified one.

From README in src/zlib, it seems more like a fork than copy-paste bundling:

> NOTE: Files in this subdirectory are NOT part of the GLPK package, but
>       are used with GLPK.
> 
>       The original code was modified according to GLPK requirements by
>       Andrew Makhorin <mao>.
> 
>       The following files were rewritten:
>       gzguts.h, zconf.h, zutil.h.
> 
>       The following files were added:
>       zio.h, zio.c.
> 
>       Other files were not changed.

But I have not inspected the source files.

Comment 2 Conrad Meyer 2014-05-29 17:56:55 UTC
It seems like their fork does a couple things:

- Tries to hide zlib symbols in _glp_zlib namespace to prevent linking collisions (zconf.h)
- Wraps POSIX fd IO in C stdlib FILE IO ... for compatibility? Fedora doesn't need it, certainly (zio.h, zio.c)

Not sure what they modified in zutil.h or gzguts.h.

Comment 3 Conrad Meyer 2014-05-29 17:57:54 UTC
(The former could have been done with -fvisibility=hidden, *sigh*.)

Comment 4 Conrad Meyer 2014-05-29 18:01:19 UTC
My hunch is we can just kill the bundled zlib and link the system one.

Comment 5 Conrad Meyer 2014-05-29 18:08:46 UTC
From NEWS:

 173 GLPK 4.46 (release date: Aug 09, 2011)
...
 202         The zlib compression library (version 1.2.5) was ANSIfied,
 203         modified according to GLPK requirements and included in the
 204         distribution as an external software module. Thus, now this
 205         feature is platform independent.

So yeah, nothing we care about.

Comment 7 Conrad Meyer 2014-05-29 18:49:11 UTC
Build after adding BR on automake:
http://koji.fedoraproject.org/koji/taskinfo?taskID=6909157

Comment 8 Conrad Meyer 2014-05-29 19:10:50 UTC
Added BR on libtool (autotools, why?!):
http://koji.fedoraproject.org/koji/taskinfo?taskID=6909199

Comment 9 Conrad Meyer 2014-05-29 19:16:22 UTC
One (cross your fingers) last one: zlib-devel.
http://koji.fedoraproject.org/koji/taskinfo?taskID=6909259