From: Richard S. <hob...@gm...> - 2021-12-05 15:13:38
|
On Sun, Dec 5, 2021 at 8:56 AM Greg Troxel <gd...@le...> wrote: > > Richard Shaw <hob...@gm...> writes: > > > Index: tqsl-2.5.9/src/openssl_cert.cpp > > =================================================================== > > --- tqsl-2.5.9.orig/src/openssl_cert.cpp > > +++ tqsl-2.5.9/src/openssl_cert.cpp > > @@ -4285,7 +4285,7 @@ static int > > tqsl_ssl_error_is_nofile() { > > unsigned long l = ERR_peek_error(); > > if (tQSL_Error == TQSL_OPENSSL_ERROR && > > - ERR_GET_LIB(l) == ERR_LIB_SYS && ERR_GET_FUNC(l) == SYS_F_FOPEN) > > + ERR_GET_LIB(l) == ERR_LIB_SYS == SYS_F_FOPEN) > > return 1; > > if (tQSL_Error == TQSL_SYSTEM_ERROR && tQSL_Errno == ENOENT) > > return 1; > > Did you also meen to remove " == SYS_F_FOPEN"? > > Is there really no semantics change from this? (It seems sensible to > adjust, but I am not entirely following. > Should it be removed? I only really hack at C/C++ code. > > I also have patches I maintain to clean up rpath/lib install location and > > to provide a soversion for the tqsl library (required by Fedora). > > I'd be interested to see the rpath/lib patch. pkgsrc norms are to have > RPATH of /usr/pkg/lib set in /usr/pkg/foo as /usr/pkg (or whatever) is > not in the default search path. I know that various packaging systems > have very different rpath rules, and I think that leads to a need to be > able to configure the build for the varying environments. > As long as you're installing into system library locations (which we are) they're already in the library search path so RPATH isn't needed, in fact as a packager I have to remove RPATH in these situations. So I guess maybe the first step would be to wrap some conditionals around the current logic so it's only used when needed. Here's my rpath/install patch: https://src.fedoraproject.org/rpms/trustedqsl/blob/rawhide/f/tqsl-2.5-rpath.patch The first part just roto-rooters the RPATH stuff from apps/CMakeLists.txt since I don't need it. Probably not acceptable as is :) The 2nd part should be more interesting to you. Here I replace all the logic and replace it with the GNUInstallDirs module which will set all the CMAKE_INSTALL_... variables correctly for Linux systems since RPM and DEB based systems handle this very differently. This probably should be wrapped in an "IF(LINUX)" conditional. Thanks, Richard |