Skip to content

Commit 3d35a68

Browse files
committed
confd: Refactor when yang models are installed
And add support for BR2_PER_PACKAGE_DIR
1 parent e62189e commit 3d35a68

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

package/confd/confd.mk

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -70,22 +70,34 @@ define CONFD_INSTALL_YANG_MODULES_CONTAINERS
7070
endef
7171
endif
7272

73-
define CONFD_PERMISSIONS
74-
/etc/sysrepo/data/ r 660 root sys-cli - - - - -
75-
/etc/sysrepo/data d 770 root sys-cli - - - - -
73+
# PER_PACKAGE_DIR
74+
# Since the last package in the dependency chain that runs sysrepoctl is confd, we need to
75+
# manually copy the *real* content here from host-sysrepo.
76+
ifeq ($(BR2_PER_PACKAGE_DIRECTORIES),y)
77+
define CONFD_INSTALL_IN_ROMFS
78+
cp -a $(PER_PACKAGE_DIR)/host-sysrepo/target/etc/sysrepo/* $(PER_PACKAGE_DIR)/confd/target/etc/sysrepo/
7679
endef
80+
endif
7781

82+
# PER_PACKAGE_DIR
83+
# Need to do some special stuff if using per-packet (parallel) since sysrepo install the submodules in
84+
# $(PER_PACKAGE_DIR)/host-sysrepo/target/etc/sysrepo/ but $(PER_PACKAGE_DIR)/confd/target/etc/sysrepo/ contains remains
85+
# of other packets that have installed its models (netopeer2), we want the result in $(PER_PACKAGE_DIR)/host-sysrepo/target/etc/sysrepo/
7886
define CONFD_EMPTY_SYSREPO
79-
rm -rf $(TARGET_DIR)/etc/sysrepo/data/
87+
rm -rf $(TARGET_DIR)/etc/sysrepo/*
88+
if [ "$(BR2_PER_PACKAGE_DIRECTORIES)" = "y" ]; then \
89+
rm -rf $(PER_PACKAGE_DIR)/host-sysrepo/target/etc/sysrepo/* $(PER_PACKAGE_DIR)/confd/target/etc/sysrepo/*; \
90+
fi
8091
endef
8192
define CONFD_CLEANUP
8293
rm -f /dev/shm/$(CONFD_SYSREPO_SHM_PREFIX)*
8394
endef
84-
CONFD_PRE_INSTALL_TARGET_HOOKS += CONFD_EMPTY_SYSREPO
85-
CONFD_PRE_INSTALL_TARGET_HOOKS += CONFD_CLEANUP
95+
CONFD_PRE_BUILD_HOOKS += CONFD_EMPTY_SYSREPO
96+
CONFD_PRE_BUILD_HOOKS += CONFD_CLEANUP
8697
CONFD_POST_INSTALL_TARGET_HOOKS += CONFD_INSTALL_EXTRA
8798
CONFD_POST_INSTALL_TARGET_HOOKS += CONFD_INSTALL_YANG_MODULES
8899
CONFD_POST_INSTALL_TARGET_HOOKS += CONFD_INSTALL_YANG_MODULES_CONTAINERS
89-
CONFD_POST_INSTALL_TARGET_HOOKS += CONFD_CLEANUP
100+
CONFD_POST_INSTALL_TARGET_HOOKS += CONFD_INSTALL_IN_ROMFS
101+
CONFD_TARGET_FINALIZE_HOOKS += CONFD_CLEANUP
90102

91103
$(eval $(autotools-package))

0 commit comments

Comments
 (0)