kea: update to 3.1.0.

This commit is contained in:
Đoàn Trần Công Danh 2025-08-08 22:01:15 +07:00
parent 7dc219880f
commit 5ee4e45657
3 changed files with 294 additions and 47 deletions

View file

@ -2980,28 +2980,6 @@ libkj-http-1.1.0.so capnproto-1.1.0_1
libkj-async-1.1.0.so capnproto-1.1.0_1
libkj-test-1.1.0.so capnproto-1.1.0_1
libkj-1.1.0.so capnproto-1.1.0_1
libkea-asiodns.so.35 libkea-2.4.1_1
libkea-asiolink.so.56 libkea-2.4.1_1
libkea-cc.so.54 libkea-2.4.1_1
libkea-cfgclient.so.51 libkea-2.4.1_1
libkea-cryptolink.so.38 libkea-2.4.1_1
libkea-d2srv.so.30 libkea-2.4.1_1
libkea-database.so.48 libkea-2.4.1_1
libkea-dhcp++.so.74 libkea-2.4.1_1
libkea-dhcp_ddns.so.41 libkea-2.4.1_1
libkea-dhcpsrv.so.90 libkea-2.4.1_1
libkea-dns++.so.42 libkea-2.4.1_1
libkea-eval.so.52 libkea-2.4.1_1
libkea-exceptions.so.23 libkea-2.4.1_1
libkea-hooks.so.78 libkea-2.4.1_1
libkea-http.so.56 libkea-2.4.1_1
libkea-log.so.48 libkea-2.4.1_1
libkea-pgsql.so.53 libkea-2.4.1_1
libkea-process.so.57 libkea-2.4.1_1
libkea-stats.so.29 libkea-2.4.1_1
libkea-tcp.so.5 libkea-2.4.1_1
libkea-util-io.so.0 libkea-2.4.1_1
libkea-util.so.68 libkea-2.4.1_1
libytnef.so.0 ytnef-1.8_1
libpisock.so.9 pilot-link-0.12.5_1
libpisync.so.1 pilot-link-0.12.5_1

View file

@ -0,0 +1,281 @@
--- a/compiler-checks/chrono-same-duration.cc
+++ b/compiler-checks/chrono-same-duration.cc
@@ -2,6 +2,8 @@
#include <type_traits>
int main() {
- return(std::is_same<std::chrono::system_clock::duration,
- std::chrono::steady_clock::duration>::value ? 0 : 1);
+ static_assert(std::is_same<std::chrono::system_clock::duration,
+ std::chrono::steady_clock::duration>::value,
+ "system_clock's duration is steady_clock's duration");
+ return 0;
}
--- a/meson.build
+++ b/meson.build
@@ -364,15 +364,7 @@ conf_data.set('HAVE_PGSQL', POSTGRESQL_D
#### Compiler Checks
# The required keyword in cpp.run() is an 1.5.0 feature.
-result = cpp.run(
- fs.read('compiler-checks/get-cpp-standard.cc'),
- name: 'Get cpp standard',
-)
-if result.returncode() == 0
- cpp_standard = result.stdout().strip()
-else
- error('C++ standard is unknown')
-endif
+cpp_standard = '202000'
message(f'Detected C++ standard (__cplusplus value) is @cpp_standard@.')
cpp_std_opt = get_option('cpp_std')
no_cpp_std_opt_msg = 'Please set a C++ standard by passing the -D cpp_std argument to meson.'
@@ -390,12 +382,12 @@ if cpp_standard.version_compare('<201100
error('\n'.join(msgs))
endif
if cpp_standard.version_compare('<201400')
- result = cpp.run(
+ result = cpp.compiles(
fs.read('compiler-checks/boost-math-cpp14.cc'),
name: 'BOOST_MATH_REQUIRES_CPP14',
dependencies: [boost_dep, threads_dep],
)
- if result.returncode() != 0
+ if not result
msgs = ['Boost Math requires at least C++14.']
if cpp_std_opt == 'none'
msgs += no_cpp_std_opt_msg
@@ -430,102 +422,95 @@ if CRYPTO_DEP.name() == botan.name() and
error('\n'.join(msgs))
endif
-result = cpp.run(
- fs.read('compiler-checks/boost-has-threads.cc'),
+result = cpp.compiles(
+ files('compiler-checks/boost-has-threads.cc'),
dependencies: [boost_dep, threads_dep],
name: 'BOOST_HAS_THREADS',
)
-if result.returncode() != 0
+if not result
error('boost is not configured to use threads')
endif
if cpp.has_header('boost/regex.h', dependencies: [boost_dep], required: false)
- result = cpp.run(
+ result = cpp.compiles(
fs.read('compiler-checks/boost-regex.cc'),
dependencies: [boost_dep, threads_dep],
name: 'GET_SYSTEM_VS_BOOST_REGEX_HEADER',
)
- if result.returncode() != 0
+ if not result
error('boost/regex.h is used in place of system regex.h')
endif
endif
-result = cpp.run(
+result = cpp.compiles(
fs.read('compiler-checks/chrono-same-duration.cc'),
name: 'CHRONO_SAME_DURATION',
)
-conf_data.set('CHRONO_SAME_DURATION', result.returncode() == 0)
+conf_data.set('CHRONO_SAME_DURATION', result)
if CRYPTO_DEP.name() == openssl.name()
- result1 = cpp.run(
+ result1 = cpp.compiles(
fs.read('compiler-checks/have-generic-tls-method.cc'),
name: 'HAVE_GENERIC_TLS_METHOD',
dependencies: [boost_dep, CRYPTO_DEP, threads_dep],
)
- result2 = cpp.run(
+ result2 = cpp.compiles(
fs.read('compiler-checks/stream-truncated-error.cc'),
name: 'HAVE_STREAM_TRUNCATED_ERROR',
dependencies: [boost_dep, CRYPTO_DEP, threads_dep],
)
- if result1.returncode() != 0 or result2.returncode() != 0
+ if not result1 or not result2
error('Boost TLS support broken.')
endif
endif
if CRYPTO_DEP.name() == botan.name()
- result = cpp.run(
+ # main do nothing, HashFunction::create returns null if nothing is found
+ result = cpp.links(
fs.read('compiler-checks/botan-hash.cc'),
name: 'CHECK_BOTAN_LIBRARY',
dependencies: [boost_dep, CRYPTO_DEP, threads_dep],
)
- if result.returncode() != 0
+ if not result
error('Botan library does not work.')
endif
endif
-result = cpp.run(
+result = cpp.links(
fs.read('compiler-checks/have-optreset.cc'),
name: 'HAVE_OPTRESET',
)
-conf_data.set('HAVE_OPTRESET', result.returncode() == 0)
+conf_data.set('HAVE_OPTRESET', result)
-result = cpp.run(fs.read('compiler-checks/have-sa-len.cc'), name: 'HAVE_SA_LEN')
-conf_data.set('HAVE_SA_LEN', result.returncode() == 0)
+result = cpp.compiles(fs.read('compiler-checks/have-sa-len.cc'), name: 'HAVE_SA_LEN')
+conf_data.set('HAVE_SA_LEN', result)
-result = cpp.run(
+result = cpp.links(
fs.read('compiler-checks/log4cplus-initializer.cc'),
name: 'LOG4CPLUS_INITIALIZER_H',
dependencies: [LOG4CPLUS_DEP],
)
-conf_data.set('LOG4CPLUS_INITIALIZER_H', result.returncode() == 0)
+conf_data.set('LOG4CPLUS_INITIALIZER_H', result)
if MYSQL_DEP.found()
- result = cpp.run(
+ result = cpp.compiles(
fs.read('compiler-checks/mysql-my-bool.cc'),
name: 'MYSQL_MY_BOOL',
dependencies: [MYSQL_DEP],
)
- conf_data.set('HAVE_MYSQL_MY_BOOL', result.returncode() == 0)
+ conf_data.set('HAVE_MYSQL_MY_BOOL', result)
- result = cpp.run(
+ result = cpp.links(
fs.read('compiler-checks/mysql-get-option.cc'),
name: 'HAVE_MYSQL_GET_OPTION',
dependencies: [MYSQL_DEP],
)
- conf_data.set('HAVE_MYSQL_GET_OPTION', result.returncode() == 0)
+ conf_data.set('HAVE_MYSQL_GET_OPTION', result)
endif
-result = cpp.run(
- fs.read('compiler-checks/fuzzing-with-clusterfuzzlite.cc'),
- name: 'FUZZING_WITH_CLUSTERFUZZLITE',
-)
-FUZZING_WITH_CLUSTERFUZZLITE = result.returncode() == 0
+FUZZING_WITH_CLUSTERFUZZLITE = false
-have_afl = false
-result = cpp.run(fs.read('compiler-checks/have-afl.cc'), name: 'HAVE_AFL')
-if result.returncode() == 0
- have_afl = true
-endif
+have_afl = cpp.compiles(fs.read('compiler-checks/have-afl.cc'), name: 'HAVE_AFL')
conf_data.set('HAVE_AFL', have_afl)
if GTEST_DEP.found()
@@ -534,22 +519,22 @@ if GTEST_DEP.found()
if GTEST_DEP.type_name() == 'internal'
conf_data.set('HAVE_CREATE_UNIFIED_DIFF', true)
else
- result = cpp.run(
+ result = cpp.links(
fs.read('compiler-checks/have-create-unified-diff.cc'),
name: 'HAVE_CREATE_UNIFIED_DIFF',
dependencies: [GTEST_DEP],
)
- conf_data.set('HAVE_CREATE_UNIFIED_DIFF', result.returncode() == 0)
+ conf_data.set('HAVE_CREATE_UNIFIED_DIFF', result)
endif
endif
if KRB5_DEP.found()
- result = cpp.run(
+ result = cpp.links(
fs.read('compiler-checks/have-gss-str-to-oid.cc'),
name: 'HAVE_GSS_STR_TO_OID',
dependencies: [KRB5_DEP],
)
- conf_data.set('HAVE_GSS_STR_TO_OID', result.returncode() == 0)
+ conf_data.set('HAVE_GSS_STR_TO_OID', result)
endif
#### Other checks.
@@ -762,29 +747,15 @@ report_conf_data.set('LD_ARGS', ' '.join
report_conf_data.set('PYTHON_PATH', PYTHON.full_path())
report_conf_data.set('PYTHON_VERSION', PYTHON.version())
report_conf_data.set('PKGPYTHONDIR', PKGPYTHONDIR)
-result = cpp.run(
- fs.read('compiler-checks/get-boost-version.cc'),
- dependencies: [boost_dep, threads_dep],
- name: 'Get Boost version',
-)
-if result.returncode() == 0
- report_conf_data.set('BOOST_VERSION', result.stdout().strip())
-else
- report_conf_data.set('BOOST_VERSION', 'unknown version')
+version = boost_dep.version()
+if version == 'unknown'
+ version = 'unknown version'
endif
+report_conf_data.set('BOOST_VERSION', version)
if CRYPTO_DEP.name() == botan.name()
report_conf_data.set('CRYPTO_NAME', 'Botan')
report_conf_data.set('SPACES', ' ')
- result = cpp.run(
- fs.read('compiler-checks/get-botan-version.cc'),
- name: 'Get Botan version',
- dependencies: [CRYPTO_DEP],
- )
- if result.returncode() == 0
- version = result.stdout().strip()
- else
- version = botan.version()
- endif
+ version = botan.version()
if version == 'unknown'
version = 'unknown version'
endif
@@ -792,31 +763,13 @@ if CRYPTO_DEP.name() == botan.name()
elif CRYPTO_DEP.name() == openssl.name()
report_conf_data.set('CRYPTO_NAME', 'OpenSSL')
report_conf_data.set('SPACES', ' ')
- result = cpp.run(
- fs.read('compiler-checks/get-openssl-version.cc'),
- name: 'Get OpenSSL version',
- dependencies: [CRYPTO_DEP],
- )
- if result.returncode() == 0
- version = result.stdout().strip()
- else
- version = openssl.version()
- endif
+ version = openssl.version()
if version == 'unknown'
version = 'unknown version'
endif
report_conf_data.set('CRYPTO_VERSION', version)
endif
-result = cpp.run(
- fs.read('compiler-checks/get-log4cplus-version.cc'),
- name: 'Get Log4cplus version',
- dependencies: [LOG4CPLUS_DEP],
-)
-if result.returncode() == 0
- version = result.stdout().strip()
-else
- version = log4cplus.version()
-endif
+version = LOG4CPLUS_DEP.version()
if version == 'unknown'
version = 'unknown version'
endif
--- a/src/lib/log/compiler/meson.build
+++ b/src/lib/log/compiler/meson.build
@@ -1,7 +1,3 @@
-if meson.is_cross_build()
- subdir_done()
-endif
-
KEA_MSG_COMPILER = executable(
'kea-msg-compiler',
'message.cc',

View file

@ -1,18 +1,17 @@
# Template file for 'kea'
pkgname=kea
version=2.4.1
version=3.1.0
revision=1
build_style=gnu-configure
configure_args="--enable-generate-docs --with-openssl=${XBPS_CROSS_BASE}/usr
$(vopt_if mysql --with-mysql)
$(vopt_if pgsql --with-pgsql=${XBPS_CROSS_BASE}/usr/bin/pg_config.sh)"
hostmakedepends="flex bison perl pkg-config automake libtool
build_style=meson
build_helper=qemu
configure_args="-Dcpp_std=gnu++20
$(vopt_feature mysql) $(vopt_feature pgsql postgresql)"
hostmakedepends="flex bison perl pkg-config
doxygen elinks libxslt docbook-xsl python3-Sphinx python3-sphinx_rtd_theme"
makedepends="boost-devel log4cplus-devel python3-devel
$(vopt_if botan botan-devel openssl-devel)
$(vopt_if mysql libmariadbclient-devel)
$(vopt_if pgsql postgresql-libs-devel)"
depends="libkea>=0"
_devel_depends="log4cplus-devel $(vopt_if botan botan-devel openssl-devel)
$(vopt_if mysql libmariadbclient-devel) $(vopt_if pgsql postgresql-libs-devel)"
makedepends="boost-devel-minimal libboost_system log4cplus-devel python3-devel
gtest-devel $_devel_depends"
checkdepends="procps-ng" # needs pgrep
conf_files="/etc/kea/*.conf"
short_desc="Next generation DHCPv4/v6 server"
@ -20,8 +19,8 @@ maintainer="Orphaned <orphan@voidlinux.org>"
license="MPL-2.0, Apache-2.0"
homepage="https://kea.isc.org"
changelog="https://gitlab.isc.org/isc-projects/kea/-/wikis/Release-Notes/release-notes-${version}"
distfiles="http://ftp.isc.org/isc/kea/${version/.P/-P}/kea-${version/.P/-P}.tar.gz"
checksum=815c61f5c271caa4a1db31dd656eb50a7f6ea973da3690f7c8581408e180131a
distfiles="https://ftp.isc.org/isc/kea/${version/.P/-P}/kea-${version/.P/-P}.tar.xz"
checksum=f0565f10ade5d5e4a821fe374e730aab549acae0e8565cb3a4c6824ef9f5b9b3
build_options="botan mysql pgsql"
desc_option_botan="With Botan SSL support"
@ -31,22 +30,11 @@ build_options_default="pgsql"
make_dirs="/var/kea 755 root root"
post_extract() {
vsed -i -e '/SHTESTS.*sql_tests/d' src/bin/admin/tests/Makefile.am
}
pre_configure() {
autoreconf -fi
}
post_install() {
vsv kea-dhcp4
vsv kea-dhcp6
vsv kea-dhcp-ddns
# We don't have the MPL-2.0 standard license
vlicense COPYING
rm -f ${DESTDIR}/usr/lib64
rmdir ${DESTDIR}/var/run/kea
rmdir ${DESTDIR}/var/run
@ -68,7 +56,7 @@ libkea-devel_package() {
depends="${makedepends} libkea>=${version}_${revision}"
pkg_install() {
vmove usr/include
vmove "usr/lib/*.a"
vmove "usr/lib/*.so"
vmove "usr/lib/pkgconfig"
}
}