FS#60567 - [hdf5] Workaround patchlevel release requiring useless rebuilds
Attached to Project:
Community Packages
Opened by Bruno Pagani (ArchangeGabriel) - Tuesday, 23 October 2018, 18:12 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:10 GMT
Opened by Bruno Pagani (ArchangeGabriel) - Tuesday, 23 October 2018, 18:12 GMT
Last edited by Buggy McBugFace (bugbot) - Saturday, 25 November 2023, 20:10 GMT
|
Details
On every patchlevel release, every depending package needs
to be rebuild in order to work.
This is crazy, and Debian for instance patch it this way https://salsa.debian.org/debian-gis-team/hdf5/blob/master/debian/patches/relax-version-check.patch We should think about the best way to handle this, and eventually try to upstream it. This requires to figure out when that might actually be an issue and why upstream does this. |
This task depends upon
Closed by Buggy McBugFace (bugbot)
Saturday, 25 November 2023, 20:10 GMT
Reason for closing: Moved
Additional comments about closing: https://gitlab.archlinux.org/archlinux/p ackaging/packages/hdf5/issues/1
Saturday, 25 November 2023, 20:10 GMT
Reason for closing: Moved
Additional comments about closing: https://gitlab.archlinux.org/archlinux/p ackaging/packages/hdf5/issues/1
This function is called as part of the standard macros for doing literally anything in the public header. It calls an abortion for major.minor.patchlevel mismatches, but the existing soname is already ${minor}${patchlevel} except it doesn't get bumped for every patchlevel -- only the ones that need it, presumably.
These checks don't seem to make any sense except to enforce sonames, something the dynamic loader already does quite well.
The likely intent is to forcibly stop people from "doing the stupid" by symlinking incompatible sonames for hysterical raisins. A better check would, obviously, be to actually compare sonames, and this is the route we should investigate.
Debian's patch simply drops the patchlevel comparison, which misses the point and might as well be `if(false)`. It is therefore not upstreamable and hence should not be used.