FS#60246 - [libafterimage] May not package headers
Attached to Project:
Community Packages
Opened by Konstantin Gizdov (kgizdov) - Saturday, 29 September 2018, 17:32 GMT
Last edited by Felix Yan (felixonmars) - Thursday, 21 February 2019, 20:09 GMT
Opened by Konstantin Gizdov (kgizdov) - Saturday, 29 September 2018, 17:32 GMT
Last edited by Felix Yan (felixonmars) - Thursday, 21 February 2019, 20:09 GMT
|
Details
Description:
This package was taken over from AUR and put here without taking into account several comments to fix it. Package currently contains a bug in the shipped Makefile. The 'install.inc' directive runs as part of 'make install' and does not always complete correctly. In fact it does not complete every other time - high risk of mispackaging. Steps to reproduce: - build & package - build & package again |
This task depends upon
Closed by Felix Yan (felixonmars)
Thursday, 21 February 2019, 20:09 GMT
Reason for closing: Fixed
Additional comments about closing: in trunk
Thursday, 21 February 2019, 20:09 GMT
Reason for closing: Fixed
Additional comments about closing: in trunk
This non-deterministically results in the whole headers install failing. Worse, the build system inexcusably considers this *okay* and echoes "failed to create include directory", then happily continues installing the libs/programs while pretending everything is okay.
If that's not correct, then yes, it's a race condition that's potentially a problem.
Yes, building it again with the current version produces the following output:
==> Starting package()...
/usr/bin/mkdir -p /build/libafterimage/pkg/libafterimage/usr/include
/usr/bin/mkdir -p /build/libafterimage/pkg/libafterimage/usr/include/libAfterImage
installing libAfterImage headers using command -
"/usr/bin/install -c -m 644 <header> /build/libafterimage/pkg/libafterimage/usr/include/libAfterImage" :
afterimage.h afterbase.h /usr/bin/install -c -m 755 libAfterImage.so.0.99 /build/libafterimage/pkg/libafterimage/usr/lib
ascmap.h asfont.h asim_afterbase.h asimage.h asimagexml.h asstorage.h asvisual.h blender.h bmp.h char2uni.h draw.h export.h imencdec.h import.h pixmap.h scanline.h transform.h ungif.h xcf.h ximage.h xpm.h xwrap.h
This is the race condition right here, and it's solved.
(There's also the issue where #include "config.h" and their terrible ".depend" file results in every make call thinking it needs to rebuild the apps/ folder, so package() will recompile them all. But eh.)