Community Packages

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

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
Task Type General Gripe
Category Upstream Bugs
Status Researching
Assigned To Eli Schwartz (eschwartz)
Bruno Pagani (ArchangeGabriel)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No

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

Comment by Eli Schwartz (eschwartz) - Tuesday, 23 October 2018, 19:58 GMT
The current check: https://github.com/HDFGroup/hdf5/blob/39b3b52a941dd5e012e5a472ef940d624941833b/src/H5.c#L760

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.

Loading...