Start building rousette
Also, given that the CI-built images were already peaking at 395 MB used
in rootfs, add some breathing space.
Change-Id: Ia1b3485364ba0f3fa23b77c867ff51a9d8cefacc
diff --git a/.gitmodules b/.gitmodules
index 669c57f..599aae4 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -16,3 +16,6 @@
[submodule "submodules/lldp-systemd-networkd-sysrepo"]
path = submodules/lldp-systemd-networkd-sysrepo
url = ../lldp-systemd-networkd-sysrepo
+[submodule "submodules/rousette"]
+ path = submodules/rousette
+ url = ../rousette
diff --git a/.zuul.yaml b/.zuul.yaml
index 71a4ff2..51df62a 100644
--- a/.zuul.yaml
+++ b/.zuul.yaml
@@ -14,6 +14,7 @@
- CzechLight/netconf-cli
- CzechLight/velia
- CzechLight/lldp-systemd-networkd-sysrepo
+ - CzechLight/rousette
- github/CESNET/libyang
- github/sysrepo/sysrepo
- github/CESNET/libnetconf2
diff --git a/board/czechlight/common/os-release.sh b/board/czechlight/common/os-release.sh
index e753ad7..f9f9f13 100755
--- a/board/czechlight/common/os-release.sh
+++ b/board/czechlight/common/os-release.sh
@@ -14,6 +14,7 @@
CLA_CPP_DEPENDENCIES_REV=$(czechlight_describe_git $(czechlight_query_local_make_var CLA_SYSREPO_OVERRIDE_SRCDIR)/submodules/dependencies)
GAMMARUS_REV=$(czechlight_describe_git $(czechlight_query_local_make_var GAMMARUS_OVERRIDE_SRCDIR))
VELIA_REV=$(czechlight_describe_git $(czechlight_query_local_make_var VELIA_OVERRIDE_SRCDIR))
+ROUSETTE_REV=$(czechlight_describe_git $(czechlight_query_local_make_var VELIA_OVERRIDE_SRCDIR))
sed -i \
-e 's/^VERSION_ID=/BUILDROOT_VERSION_ID=/' \
@@ -33,5 +34,5 @@
NETCONF_CLI_VERSION=${NETCONF_CLI_REV}
CPP_DEPENDENCIES_VERSION=${CLA_CPP_DEPENDENCIES_REV}
GAMMARUS_VERSION=${GAMMARUS_REV}
-VELIA_VERSION=${VELIA_REV}
+ROUSETTE_VERSION=${ROUSETTE_REV}
EOF
diff --git a/ci/build.sh b/ci/build.sh
index 3577561..8672849 100755
--- a/ci/build.sh
+++ b/ci/build.sh
@@ -61,7 +61,7 @@
# We don't use gating, so there's a risk that there's no prebuilt artifact, so don't die if we cannot download that file
curl ${ARTIFACT_URL} | unzstd --stdout | tar -xf - || echo "No Buildroot prebuilt tarball found, will build from scratch"
- for PROJECT in cla-sysrepo netconf-cli gammarus velia lldp-systemd-networkd-sysrepo; do
+ for PROJECT in cla-sysrepo netconf-cli gammarus velia rousette lldp-systemd-networkd-sysrepo; do
# If there's a change for ${PROJECT} queued ahead, ensure it gets used.
# This means that if our submodules still pin, say, `cla-sysrepo` to some ancient version and we're testing a `netconf-cli` change,
# then we will keep using that ancient `cla-sysrepo`. Hopefully this reduces the number of false alerts.
diff --git a/configs/czechlight_clearfog_defconfig b/configs/czechlight_clearfog_defconfig
index 316a7ab..d6bec49 100644
--- a/configs/czechlight_clearfog_defconfig
+++ b/configs/czechlight_clearfog_defconfig
@@ -4,7 +4,7 @@
BR2_ARM_ENABLE_VFP=y
BR2_ARM_FPU_NEON=y
BR2_ENABLE_DEBUG=y
-BR2_STRIP_EXCLUDE_FILES="cla-* netopeer* *sysrepo* libSysrepo* *netconf* *yang* velia* lldp-systemd-networkd-sysrepod"
+BR2_STRIP_EXCLUDE_FILES="cla-* netopeer* *sysrepo* libSysrepo* *netconf* *yang* velia* lldp-systemd-networkd-sysrepod rousette*"
BR2_STRIP_EXCLUDE_DIRS="/usr/lib/libyang /usr/lib/sysrepo"
BR2_GLOBAL_PATCH_DIR="$(BR2_EXTERNAL_CZECHLIGHT_PATH)/board/czechlight/common/patches"
BR2_PER_PACKAGE_DIRECTORIES=y
@@ -54,7 +54,6 @@
BR2_PACKAGE_MSTPD=y
BR2_PACKAGE_NETOPEER2=y
BR2_PACKAGE_NETOPEER2_CLI=y
-BR2_PACKAGE_NGHTTP2_CXX=y
BR2_PACKAGE_ELFUTILS=y
BR2_PACKAGE_LIBUNWIND=y
BR2_PACKAGE_ETHTOOL=y
@@ -81,7 +80,7 @@
BR2_TARGET_ROOTFS_CPIO_UIMAGE=y
BR2_TARGET_ROOTFS_EXT2=y
BR2_TARGET_ROOTFS_EXT2_4=y
-BR2_TARGET_ROOTFS_EXT2_SIZE="400M"
+BR2_TARGET_ROOTFS_EXT2_SIZE="450M"
BR2_TARGET_ROOTFS_TAR_XZ=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
@@ -116,3 +115,4 @@
BR2_PACKAGE_LLDP_SYSTEMD_NETWORKD_SYSREPO=y
BR2_PACKAGE_VELIA=y
BR2_PACKAGE_RESET_SYSREPO=y
+BR2_PACKAGE_ROUSETTE=y
diff --git a/dev-setup-git.sh b/dev-setup-git.sh
index 6a98dca..510e157 100755
--- a/dev-setup-git.sh
+++ b/dev-setup-git.sh
@@ -24,6 +24,7 @@
GAMMARUS_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/gammarus
VELIA_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/velia
LLDP_SYSTEMD_NETWORKD_SYSREPO_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/lldp-systemd-networkd-sysrepo
+ROUSETTE_OVERRIDE_SRCDIR = ${CZECHLIGHT_BR2_EXT_LOC}/submodules/rousette
define CZECHLIGHT_GIT_FIX_GITDIR
echo "gitdir: \$\$(git rev-parse --resolve-git-dir \$(SRCDIR)/.git)" > \$(@D)/.git
@@ -33,6 +34,7 @@
GAMMARUS_POST_RSYNC_HOOKS += CZECHLIGHT_GIT_FIX_GITDIR
VELIA_POST_RSYNC_HOOKS += CZECHLIGHT_GIT_FIX_GITDIR
LLDP_SYSTEMD_NETWORKD_SYSREPO_POST_RSYNC_HOOKS += CZECHLIGHT_GIT_FIX_GITDIR
+ROUSETTE_POST_RSYNC_HOOKS += CZECHLIGHT_GIT_FIX_GITDIR
EOF
diff --git a/package/Config.in b/package/Config.in
index 4d73ced..95d41c6 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -8,3 +8,4 @@
source "$BR2_EXTERNAL_CZECHLIGHT_PATH/package/velia/Config.in"
source "$BR2_EXTERNAL_CZECHLIGHT_PATH/package/grub2-tools/Config.in"
source "$BR2_EXTERNAL_CZECHLIGHT_PATH/package/reset-sysrepo/Config.in"
+source "$BR2_EXTERNAL_CZECHLIGHT_PATH/package/rousette/Config.in"
diff --git a/package/rousette/Config.in b/package/rousette/Config.in
new file mode 100644
index 0000000..423709f
--- /dev/null
+++ b/package/rousette/Config.in
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_ROUSETTE
+ bool "rousette"
+ select BR2_PACKAGE_BOOST
+ select BR2_PACKAGE_DOCOPT_CPP
+ select BR2_PACKAGE_LIBYANG
+ select BR2_PACKAGE_LIBYANG_CPP
+ select BR2_PACKAGE_NGHTTP2
+ select BR2_PACKAGE_NGHTTP2_CXX
+ select BR2_PACKAGE_SPDLOG
+ select BR2_PACKAGE_SYSTEMD
+ select BR2_PACKAGE_SYSREPO
+ select BR2_PACKAGE_SYSREPO_CPP
+ help
+ RESTCONF-ish server on top of sysrepo
+
+ https://gerrit.cesnet.cz/q/project:CzechLight/rousette
diff --git a/package/rousette/rousette.mk b/package/rousette/rousette.mk
new file mode 100644
index 0000000..b51983d
--- /dev/null
+++ b/package/rousette/rousette.mk
@@ -0,0 +1,12 @@
+ROUSETTE_VERSION = master
+ROUSETTE_SITE = https://gerrit.cesnet.cz/CzechLight/rousette
+ROUSETTE_SITE_METHOD = git
+ROUSETTE_INSTALL_STAGING = NO
+ROUSETTE_DEPENDENCIES = boost docopt-cpp nghttp2 spdlog systemd sysrepo
+ROUSETTE_LICENSE = Apache-2.0
+ROUSETTE_LICENSE_FILES = LICENSE.md
+
+ROUSETTE_CONF_OPTS = \
+ -DTHREADS_PTHREAD_ARG:STRING=-pthread
+
+$(eval $(cmake-package))
diff --git a/submodules/rousette b/submodules/rousette
new file mode 160000
index 0000000..30f3b3e
--- /dev/null
+++ b/submodules/rousette
@@ -0,0 +1 @@
+Subproject commit 30f3b3e954d456792988322b148b22ec6c302f92