]> git.ipfire.org Git - thirdparty/kea.git/commitdiff
[#3729] Added share/yang stuff
authorFrancis Dupont <fdupont@isc.org>
Sat, 15 Feb 2025 09:51:24 +0000 (10:51 +0100)
committerAndrei Pavel <andrei@isc.org>
Mon, 17 Feb 2025 13:34:49 +0000 (15:34 +0200)
src/share/yang/meson.build
src/share/yang/modules/meson.build
src/share/yang/modules/utils/grabber.sh
src/share/yang/modules/utils/meson.build

index 8b137891791fe96927ad78e64b0aad7bded08bdc..10e3011394142882812e24859b9659ae6aa54eb5 100644 (file)
@@ -1 +1 @@
-
+subdir('modules')
index e593ef5d1629a629327aae14c89c55edce4e23c2..0ee2cb33b0c478328adb6c699332013cfdb1e80c 100644 (file)
@@ -1,4 +1,33 @@
-list = run_command('grabber.sh', check: true)
-api_files = list.stdout().strip().split('\n')
-install_dir = f'@DATADIR@/kea/api'
-install_data(api_files, install_dir: install_dir)
+if not NETCONF_DEPS_FOUND
+    subdir_done()
+endif
+
+subdir('utils')
+
+yangmodulesdir = f'@DATADIR@/kea/yang/modules'
+yangmodules_list = [
+    'ietf-dhcpv6-client@2018-09-04.yang',
+    'ietf-dhcpv6-options@2018-09-04.yang',
+    'ietf-dhcpv6-relay@2018-09-04.yang',
+    'ietf-dhcpv6-server@2018-09-04.yang',
+    'ietf-dhcpv6-types@2018-09-04.yang',
+    'ietf-inet-types@2013-07-15.yang',
+    'ietf-interfaces@2018-02-20.yang',
+    'ietf-yang-types@2013-07-15.yang',
+    'kea-ctrl-agent@2019-08-12.yang',
+    'kea-dhcp-ddns@2022-07-27.yang',
+    'kea-dhcp-types@2024-05-29.yang',
+    'kea-dhcp4-server@2024-05-29.yang',
+    'kea-dhcp6-server@2024-05-29.yang',
+    'kea-types@2019-08-12.yang',
+    'keatest-module@2022-11-30.yang',
+]
+list = run_command('utils/grabber.sh', check: true)
+grabbed_modules = list.stdout().strip().split('\n')
+foreach file : grabbed_modules
+    assert(
+        yangmodules_list.contains(file),
+        'module file list mismatch: no ' + file,
+    )
+endforeach
+install_data(yangmodules_list, install_dir: yangmodulesdir)
index 9260461d51096cfbb8a645ddc8b1dd7c3721b995..352dc4b5d5e048ab7b606f7c3586d760cc399924 100755 (executable)
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-for i in upgrade_*_to_*.sh.in
+for i in [a-z]*.yang
 do
     echo "$i"
 done
index b768576612fbcc9794f28d3bc9df10e891b23ab6..fbdcd665d70f4186ca12646438ffd9fca95a39aa 100644 (file)
@@ -1,2 +1,37 @@
-subdir('mysql')
-subdir('pgsql')
+yangdir = f'@DATADIR@/kea/yang/modules/utils'
+yang_utils_conf_data = configuration_data()
+# Comment says sources (vs build)
+yang_utils_conf_data.set('abs_top_builddir', TOP_SOURCE_DIR)
+# Beware that top_srcdir here must be a relative path.
+yang_utils_conf_data.set('top_srcdir', '../../../../..')
+yang_utils_conf_data.set('datarootdir', f'@PREFIX@/@DATADIR@')
+yang_lint = find_program('/opt/bin/yanglint', required: false)
+if yang_lint.found()
+    yang_utils_conf_data.set('LIBYANG_PREFIX', '/opt')
+    yang_utils_conf_data.set('SYSREPO_PREFIX', '/opt')
+else
+    yang_utils_conf_data.set('SYSREPO_PREFIX', '/usr/local')
+    yang_lint = find_program('/usr/local/bin/yanglint', required: false)
+    if yang_lint.found()
+        yang_utils_conf_data.set('LIBYANG_PREFIX', '/usr/local')
+    else
+        yang_lint = find_program('yanglint', required: true)
+        yang_utils_conf_data.set('LIBYANG_PREFIX', '')
+    endif
+endif
+
+configure_file(
+    input: 'check-hashes.sh.in',
+    output: 'check-hashes.sh',
+    configuration: yang_utils_conf_data,
+)
+configure_file(
+    input: 'check-revisions.sh.in',
+    output: 'check-revisions.sh',
+    configuration: yang_utils_conf_data,
+)
+configure_file(
+    input: 'reinstall.sh.in',
+    output: 'reinstall.sh',
+    configuration: yang_utils_conf_data,
+)