FS#56689 - [crypto++] missing soname symlink
Attached to Project:
Community Packages
Opened by Andrea Scarpino (BaSh) - Tuesday, 12 December 2017, 13:26 GMT
Last edited by Baptiste (zorun) - Thursday, 15 November 2018, 10:19 GMT
Opened by Andrea Scarpino (BaSh) - Tuesday, 12 December 2017, 13:26 GMT
Last edited by Baptiste (zorun) - Thursday, 15 November 2018, 10:19 GMT
|
Details
Description:
crypto++ installs only libcryptopp.so as file. ldconfig will then create /usr/lib/libcryptopp.so.5.6 symlink pointing to that file. This means /usr/lib/libcryptopp.so.5.6 isn't owned by any package at this point. Please install /usr/lib/libcryptopp.so.5.6 as file and create the /usr/lib/libcryptopp.so symlink to that file. Additional info: * crypto++ 5.6.5-3 |
This task depends upon
And instead of using the `make install` target I guess because it also installs the testsuite if built, this package is relying on the fact that install(1) will copy the target of a symlink, rather than copying the symlink itself, to install the libcryptopp.so symlink into "$pkgdir". Which only works by accident. ;)
(It would be trivial to rm -rf "$pkgdir"/usr/{bin,share}/ after using the proper `make install` target, for what it's worth. And this is a lot more indicative of what is going on, besides being forwards-compatible with upstream changes to the install process...)
Also why isn't this pkg-config file upstreamed...
(1/1) checking keys in keyring [--------------------------------------------------------] 100%
(1/1) checking package integrity [--------------------------------------------------------] 100%
(1/1) loading package files [--------------------------------------------------------] 100%
(1/1) checking for file conflicts [--------------------------------------------------------] 100%
error: failed to commit transaction (conflicting files)
crypto++: /usr/lib/libcryptopp.so.5.6 exists in filesystem
Errors occurred, no packages were upgraded.
I tried to remove the symlink in a pre_upgrade() install script, but it didn't work (probably the script runs after checking for file conflicts).
Unless somebody comes up with a solution I guess it will require a news on the website.
(Something similar has happened once or twice with python and compiled bytecode, but that rarely causes problems except when running python software as root.)
(and thankfully, upstream now provides an autotools build system in addition to the hand-crafted Makefiles...)