mirror of
https://gitlab.isc.org/isc-projects/kea
synced 2025-08-22 01:49:48 +00:00
[#3732] Remove unnecessary kludge section from netconf fallback that searched in /opt
This commit is contained in:
parent
950cbdeca1
commit
42edde7415
@ -11,61 +11,61 @@ add_to_report <<HERE_DOCUMENT
|
||||
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
|
||||
|
||||
Package:
|
||||
Name: @PACKAGE_NAME@
|
||||
Version: @PACKAGE_VERSION@
|
||||
Extended version: @EXTENDED_VERSION@
|
||||
Version type: @PACKAGE_VERSION_TYPE@
|
||||
OS Family: @OS_TYPE@
|
||||
Name: @PACKAGE_NAME@
|
||||
Version: @PACKAGE_VERSION@
|
||||
Extended version: @EXTENDED_VERSION@
|
||||
Version type: @PACKAGE_VERSION_TYPE@
|
||||
OS Family: @OS_TYPE@
|
||||
|
||||
Prefix: @PREFIX@
|
||||
Hooks directory: @HOOKS_DIR@
|
||||
Premium hooks: @PREMIUM@
|
||||
Prefix: @PREFIX@
|
||||
Hooks directory: @HOOKS_DIR@
|
||||
Premium hooks: @PREMIUM@
|
||||
|
||||
Meson Version: @MESON_VERSION@
|
||||
Meson info: @MESON_INFO@
|
||||
Build Options: @BUILD_OPTIONS@
|
||||
Meson Version: @MESON_VERSION@
|
||||
Meson info: @MESON_INFO@
|
||||
Build Options: @BUILD_OPTIONS@
|
||||
|
||||
HERE_DOCUMENT
|
||||
|
||||
add_to_report <<HERE_DOCUMENT
|
||||
C++ Compiler:
|
||||
CXX: @CXX@
|
||||
CXX_ID: @CXX_ID@
|
||||
CXX_VERSION: @CXX_VERSION@
|
||||
CXX_STANDARD: @CXX_STANDARD@
|
||||
CXX_ARGS: @CXX_ARGS@
|
||||
LD_ID: @LD_ID@
|
||||
LD_ARGS: @LD_ARGS@
|
||||
CXX: @CXX@
|
||||
CXX_ID: @CXX_ID@
|
||||
CXX_VERSION: @CXX_VERSION@
|
||||
CXX_STANDARD: @CXX_STANDARD@
|
||||
CXX_ARGS: @CXX_ARGS@
|
||||
LD_ID: @LD_ID@
|
||||
LD_ARGS: @LD_ARGS@
|
||||
|
||||
HERE_DOCUMENT
|
||||
|
||||
add_to_report <<HERE_DOCUMENT
|
||||
Python:
|
||||
PYTHON: @PYTHON_PATH@
|
||||
PYTHON_VERSION: @PYTHON_VERSION@
|
||||
PKGPYTHONDIR: @PKGPYTHONDIR@
|
||||
PYTHON: @PYTHON_PATH@
|
||||
PYTHON_VERSION: @PYTHON_VERSION@
|
||||
PKGPYTHONDIR: @PKGPYTHONDIR@
|
||||
|
||||
Boost: @BOOST_VERSION@
|
||||
Boost: @BOOST_VERSION@
|
||||
|
||||
@CRYPTO_NAME@:@SPACES@@CRYPTO_VERSION@
|
||||
|
||||
Log4cplus: @LOG4CPLUS_VERSION@
|
||||
Log4cplus: @LOG4CPLUS_VERSION@
|
||||
|
||||
Flex: @FLEX@
|
||||
Bison: @BISON@
|
||||
Flex: @FLEX@
|
||||
Bison: @BISON@
|
||||
|
||||
HERE_DOCUMENT
|
||||
|
||||
if test '@HAVE_MYSQL@' != 'no'; then
|
||||
add_to_report <<HERE_DOCUMENT
|
||||
MySQL: @MYSQL_VERSION@
|
||||
MySQL: @MYSQL_VERSION@
|
||||
|
||||
HERE_DOCUMENT
|
||||
|
||||
else
|
||||
|
||||
add_to_report <<HERE_DOCUMENT
|
||||
MySQL: no
|
||||
MySQL: no
|
||||
|
||||
HERE_DOCUMENT
|
||||
fi
|
||||
@ -73,14 +73,14 @@ fi
|
||||
if test '@HAVE_PGSQL@' != 'no'; then
|
||||
|
||||
add_to_report <<HERE_DOCUMENT
|
||||
PostgreSQL: @PGSQL_VERSION@
|
||||
PostgreSQL: @PGSQL_VERSION@
|
||||
|
||||
HERE_DOCUMENT
|
||||
|
||||
else
|
||||
|
||||
add_to_report <<HERE_DOCUMENT
|
||||
PostgreSQL: no
|
||||
PostgreSQL: no
|
||||
|
||||
HERE_DOCUMENT
|
||||
fi
|
||||
@ -88,29 +88,31 @@ fi
|
||||
if test '@HAVE_NETCONF@' != 'no'; then
|
||||
add_to_report <<HERE_DOCUMENT
|
||||
Netconf:
|
||||
LIBYANG: @LIBYANG_VERSION@
|
||||
LIBYANGCPP: @LIBYANGCPP_VERSION@
|
||||
LIBYANG_PREFIX: @LIBYANG_PREFIX@
|
||||
SYSREPO: @SYSREPO_VERSION@
|
||||
SYSREPOCPP: @SYSREPOCPP_VERSION@
|
||||
SYSREPO_PREFIX: @SYSREPO_PREFIX@
|
||||
YANG: @YANG_VERSION@
|
||||
YANG_PREFIX: @YANG_PREFIX@
|
||||
YANGCPP: @YANGCPP_VERSION@
|
||||
YANGCPP_PREFIX: @YANGCPP_PREFIX@
|
||||
SYSREPO: @SYSREPO_VERSION@
|
||||
SYSREPO_PREFIX: @SYSREPO_PREFIX@
|
||||
SYSREPOCPP: @SYSREPOCPP_VERSION@
|
||||
SYSREPOCPP_PREFIX: @SYSREPOCPP_PREFIX@
|
||||
|
||||
HERE_DOCUMENT
|
||||
else
|
||||
add_to_report <<HERE_DOCUMENT
|
||||
Netconf: no
|
||||
Netconf: no
|
||||
|
||||
HERE_DOCUMENT
|
||||
fi
|
||||
|
||||
if test '@HAVE_GTEST@' != 'no'; then
|
||||
add_to_report <<HERE_DOCUMENT
|
||||
Google Test: @GTEST_VERSION@
|
||||
Google Test: @GTEST_VERSION@
|
||||
|
||||
HERE_DOCUMENT
|
||||
else
|
||||
add_to_report <<HERE_DOCUMENT
|
||||
Google Test: no
|
||||
Google Test: no
|
||||
|
||||
HERE_DOCUMENT
|
||||
fi
|
||||
@ -118,21 +120,21 @@ fi
|
||||
if test '@HAVE_KRB5@' != 'no'; then
|
||||
add_to_report <<HERE_DOCUMENT
|
||||
Kerberos5 GSS-API:
|
||||
VERSION: @KRB5_GSSAPI_VERSION@
|
||||
VENDOR: @KRB5_GSSAPI_VENDOR@
|
||||
VERSION: @KRB5_GSSAPI_VERSION@
|
||||
VENDOR: @KRB5_GSSAPI_VENDOR@
|
||||
|
||||
HERE_DOCUMENT
|
||||
else
|
||||
add_to_report <<HERE_DOCUMENT
|
||||
Kerberos5 GSS-API: no
|
||||
Kerberos5 GSS-API: no
|
||||
|
||||
HERE_DOCUMENT
|
||||
fi
|
||||
|
||||
add_to_report <<HERE_DOCUMENT
|
||||
Developer:
|
||||
Tests: @TESTS_ENABLED@
|
||||
Fuzzing: @FUZZ_ENABLED@
|
||||
Valgrind: @VALGRIND@
|
||||
AFL: @HAVE_AFL@
|
||||
Tests: @TESTS_ENABLED@
|
||||
Fuzzing: @FUZZ_ENABLED@
|
||||
Valgrind: @VALGRIND@
|
||||
AFL: @HAVE_AFL@
|
||||
HERE_DOCUMENT
|
||||
|
67
meson.build
67
meson.build
@ -223,7 +223,7 @@ NETCONF_DEP = dependency(
|
||||
required: netconf_opt,
|
||||
)
|
||||
if netconf_opt.enabled() and NETCONF_DEP.get_variable(
|
||||
'libyang_prefix',
|
||||
'yang-prefix',
|
||||
default_value: 'unknown',
|
||||
) == 'unknown'
|
||||
error('Dependency not found: NETCONF.')
|
||||
@ -541,11 +541,26 @@ conf_data.set('PACKAGE_VERSION_TYPE', f'"@package_version_type@"')
|
||||
compile_args = []
|
||||
link_args = []
|
||||
|
||||
# TODO: Use $ORIGIN
|
||||
# $ORIGIN documented at https://www.man7.org/linux/man-pages/man8/ld.so.8.html
|
||||
# It is preferable since it would allow Kea to start even if the installation is moved.
|
||||
# We have to be careful at making executables work both in the build directory and in the installation directory.
|
||||
# Also, Meson might use it by default, but might not use it on all systems, so lots of variables...
|
||||
# EXECUTABLE_RPATH = f'$ORIGIN/../@LIBDIR@'
|
||||
# HOOK_RPATH = '$ORIGIN/../..'
|
||||
|
||||
BUILD_RPATH = TOP_BUILD_DIR / 'src/lib'
|
||||
INSTALL_RPATH = PREFIX / LIBDIR
|
||||
|
||||
# Add rpaths for NETCONF dependencies.
|
||||
if NETCONF_DEP.found()
|
||||
foreach i : ['yang', 'yang-cpp', 'sysrepo', 'sysrepo-cpp']
|
||||
libdir = NETCONF_DEP.get_variable(f'@i@-libdir')
|
||||
BUILD_RPATH += f':@libdir@'
|
||||
INSTALL_RPATH += f':@libdir@'
|
||||
endforeach
|
||||
endif
|
||||
|
||||
# rpmbuild complains about rpaths to standard locations so let us conform to
|
||||
# its liking and remove them. And let's do it consistently for all packages.
|
||||
if kea_pkg_type_in_configure != ''
|
||||
@ -661,7 +676,7 @@ else
|
||||
endif
|
||||
if CRYPTO_DEP.name() == botan.name()
|
||||
report_conf_data.set('CRYPTO_NAME', 'Botan')
|
||||
report_conf_data.set('SPACES', ' ')
|
||||
report_conf_data.set('SPACES', ' ')
|
||||
result = cpp.run(
|
||||
fs.read('compiler-checks/get-botan-version.cc'),
|
||||
name: 'Get Botan version',
|
||||
@ -678,7 +693,7 @@ if CRYPTO_DEP.name() == botan.name()
|
||||
report_conf_data.set('CRYPTO_VERSION', version)
|
||||
elif CRYPTO_DEP.name() == openssl.name()
|
||||
report_conf_data.set('CRYPTO_NAME', 'OpenSSL')
|
||||
report_conf_data.set('SPACES', ' ')
|
||||
report_conf_data.set('SPACES', ' ')
|
||||
result = cpp.run(
|
||||
fs.read('compiler-checks/get-openssl-version.cc'),
|
||||
name: 'Get OpenSSL version',
|
||||
@ -743,49 +758,59 @@ endif
|
||||
if NETCONF_DEP.found()
|
||||
report_conf_data.set('HAVE_NETCONF', 'yes')
|
||||
report_conf_data.set(
|
||||
'LIBYANG_PREFIX',
|
||||
NETCONF_DEP.get_variable('libyang_prefix', default_value: 'unknown'),
|
||||
)
|
||||
report_conf_data.set(
|
||||
'SYSREPO_PREFIX',
|
||||
NETCONF_DEP.get_variable('sysrepo_prefix', default_value: 'unknown'),
|
||||
)
|
||||
report_conf_data.set(
|
||||
'LIBYANG_VERSION',
|
||||
'YANG_VERSION',
|
||||
NETCONF_DEP.get_variable(
|
||||
'libyang_version',
|
||||
'yang-version',
|
||||
default_value: 'unknown version',
|
||||
),
|
||||
)
|
||||
report_conf_data.set(
|
||||
'LIBYANGCPP_VERSION',
|
||||
'YANG_PREFIX',
|
||||
NETCONF_DEP.get_variable('yang-prefix', default_value: 'unknown'),
|
||||
)
|
||||
report_conf_data.set(
|
||||
'YANGCPP_VERSION',
|
||||
NETCONF_DEP.get_variable(
|
||||
'libyangcpp_version',
|
||||
'yang-cpp-version',
|
||||
default_value: 'unknown version',
|
||||
),
|
||||
)
|
||||
report_conf_data.set(
|
||||
'YANGCPP_PREFIX',
|
||||
NETCONF_DEP.get_variable('yang-cpp-prefix', default_value: 'unknown'),
|
||||
)
|
||||
report_conf_data.set(
|
||||
'SYSREPO_VERSION',
|
||||
NETCONF_DEP.get_variable(
|
||||
'sysrepo_version',
|
||||
'sysrepo-version',
|
||||
default_value: 'unknown version',
|
||||
),
|
||||
)
|
||||
report_conf_data.set(
|
||||
'SYSREPO_PREFIX',
|
||||
NETCONF_DEP.get_variable('sysrepo-prefix', default_value: 'unknown'),
|
||||
)
|
||||
report_conf_data.set(
|
||||
'SYSREPOCPP_VERSION',
|
||||
NETCONF_DEP.get_variable(
|
||||
'sysrepocpp_version',
|
||||
'sysrepo-cpp-version',
|
||||
default_value: 'unknown version',
|
||||
),
|
||||
)
|
||||
report_conf_data.set(
|
||||
'SYSREPOCPP_PREFIX',
|
||||
NETCONF_DEP.get_variable('sysrepo-cpp-prefix', default_value: 'unknown'),
|
||||
)
|
||||
else
|
||||
report_conf_data.set('HAVE_NETCONF', 'no')
|
||||
report_conf_data.set('LIBYANG_PREFIX', 'no')
|
||||
report_conf_data.set('SYSREPO_PREFIX', 'no')
|
||||
report_conf_data.set('LIBYANG_VERSION', 'no')
|
||||
report_conf_data.set('LIBYANGCPP_VERSION', 'no')
|
||||
report_conf_data.set('YANG_VERSION', 'no')
|
||||
report_conf_data.set('YANG_PREFIX', 'no')
|
||||
report_conf_data.set('YANGCPP_VERSION', 'no')
|
||||
report_conf_data.set('YANGCPP_PREFIX', 'no')
|
||||
report_conf_data.set('SYSREPO_VERSION', 'no')
|
||||
report_conf_data.set('SYSREPO_PREFIX', 'no')
|
||||
report_conf_data.set('SYSREPOCPP_VERSION', 'no')
|
||||
report_conf_data.set('SYSREPOCPP_PREFIX', 'no')
|
||||
endif
|
||||
if FUZZ_OPT.enabled() or TESTS_OPT.enabled()
|
||||
report_conf_data.set('HAVE_GTEST', 'yes')
|
||||
|
@ -8,11 +8,11 @@ yang_utils_conf_data.set('datarootdir', PREFIX / DATADIR)
|
||||
yang_utils_conf_data.set('prefix', PREFIX)
|
||||
yang_utils_conf_data.set(
|
||||
'LIBYANG_PREFIX',
|
||||
NETCONF_DEP.get_variable('libyang_prefix'),
|
||||
NETCONF_DEP.get_variable('yang-prefix'),
|
||||
)
|
||||
yang_utils_conf_data.set(
|
||||
'SYSREPO_PREFIX',
|
||||
NETCONF_DEP.get_variable('sysrepo_prefix'),
|
||||
NETCONF_DEP.get_variable('sysrepo-prefix'),
|
||||
)
|
||||
|
||||
configure_file(
|
||||
|
@ -10,39 +10,13 @@ foreach dep : ['yang', 'yang-cpp', 'sysrepo', 'sysrepo-cpp']
|
||||
continue
|
||||
endif
|
||||
|
||||
# Try adding lib to it. libyang and libyang-cpp define the wrong pkg-config.
|
||||
# Try adding lib to it. yang and yang-cpp define the wrong pkg-config.
|
||||
netconf_deps = netconf_deps + {
|
||||
dep: dependency('lib' + dep, required: false),
|
||||
}
|
||||
if netconf_deps[dep].found()
|
||||
continue
|
||||
endif
|
||||
|
||||
# Search in /opt.
|
||||
foreach prefix : ['', 'lib']
|
||||
path = f'/opt/@prefix@@dep@'
|
||||
lib = cpp.find_library(dep, dirs: [f'/@path@/lib'], required: false)
|
||||
if lib.found()
|
||||
netconf_deps = netconf_deps + {
|
||||
dep: declare_dependency(
|
||||
dependencies: [lib],
|
||||
include_directories: include_directories(f'/@path@/include'),
|
||||
variables: {'prefix': f'@path@'},
|
||||
),
|
||||
}
|
||||
if SYSTEM == 'darwin'
|
||||
add_project_link_arguments(
|
||||
f'-Wl,-rpath,@path@/lib',
|
||||
language: 'cpp',
|
||||
)
|
||||
else
|
||||
add_project_link_arguments(
|
||||
f'-Wl,-rpath=@path@/lib',
|
||||
language: 'cpp',
|
||||
)
|
||||
endif
|
||||
endif
|
||||
endforeach
|
||||
endforeach
|
||||
|
||||
all_deps_found = true
|
||||
@ -55,48 +29,22 @@ endforeach
|
||||
|
||||
if all_deps_found
|
||||
variables = {}
|
||||
if netconf_deps['yang'].found()
|
||||
libyang_prefix = netconf_deps['yang'].get_variable('prefix')
|
||||
libyang_version = netconf_deps['yang'].version()
|
||||
if libyang_version == 'unknown'
|
||||
libyang_version = 'unknown version'
|
||||
foreach i : ['yang', 'yang-cpp', 'sysrepo', 'sysrepo-cpp']
|
||||
if netconf_deps[i].found()
|
||||
libdir = netconf_deps[i].get_variable('libdir')
|
||||
prefix = netconf_deps[i].get_variable('prefix')
|
||||
version = netconf_deps[i].version()
|
||||
if version == 'unknown'
|
||||
version = 'unknown version'
|
||||
endif
|
||||
else
|
||||
prefix = 'unknown'
|
||||
version = 'unknown version'
|
||||
endif
|
||||
else
|
||||
libyang_prefix = 'unknown'
|
||||
libyang_version = 'unknown version'
|
||||
endif
|
||||
variables += {'libyang_prefix': libyang_prefix}
|
||||
variables += {'libyang_version': libyang_version}
|
||||
if netconf_deps['yang-cpp'].found()
|
||||
libyangcpp_version = netconf_deps['yang-cpp'].version()
|
||||
if libyangcpp_version == 'unknown'
|
||||
libyangcpp_version = 'unknown version'
|
||||
endif
|
||||
else
|
||||
libyangcpp_version = 'unknown version'
|
||||
endif
|
||||
variables += {'libyangcpp_version': libyangcpp_version}
|
||||
if netconf_deps['sysrepo'].found()
|
||||
sysrepo_prefix = netconf_deps['sysrepo'].get_variable('prefix')
|
||||
sysrepo_version = netconf_deps['sysrepo'].version()
|
||||
if sysrepo_version == 'unknown'
|
||||
sysrepo_version = 'unknown version'
|
||||
endif
|
||||
else
|
||||
sysrepo_prefix = 'unknown'
|
||||
sysrepo_version = 'unknown version'
|
||||
endif
|
||||
variables += {'sysrepo_prefix': sysrepo_prefix}
|
||||
variables += {'sysrepo_version': sysrepo_version}
|
||||
if netconf_deps['sysrepo-cpp'].found()
|
||||
sysrepocpp_version = netconf_deps['sysrepo-cpp'].version()
|
||||
if sysrepocpp_version == 'unknown'
|
||||
sysrepocpp_version = 'unknown version'
|
||||
endif
|
||||
else
|
||||
sysrepocpp_version = 'unknown version'
|
||||
endif
|
||||
variables += {'sysrepocpp_version': sysrepocpp_version}
|
||||
variables += {f'@i@-libdir': libdir}
|
||||
variables += {f'@i@-prefix': prefix}
|
||||
variables += {f'@i@-version': version}
|
||||
endforeach
|
||||
netconf = declare_dependency(
|
||||
dependencies: [
|
||||
netconf_deps['yang'],
|
||||
|
Loading…
x
Reference in New Issue
Block a user