From 0361cd3d56f9085cdf3821f3208f4008553051f0 Mon Sep 17 00:00:00 2001 From: Cao Yuhang Date: Mon, 31 Aug 2026 04:35:20 +0000 Subject: [PATCH 1/2] snapd: fix void directory packaging --- package/capos/snapd/Makefile | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/package/capos/snapd/Makefile b/package/capos/snapd/Makefile index a07c6190b8..1f1010d840 100644 --- a/package/capos/snapd/Makefile +++ b/package/capos/snapd/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=snapd PKG_VERSION:=2.76.2 -PKG_RELEASE:=6 +PKG_RELEASE:=7 PKG_SOURCE:=snapd_$(PKG_VERSION).vendor.tar.xz PKG_SOURCE_URL:=https://github.com/canonical/snapd/releases/download/$(PKG_VERSION) @@ -58,6 +58,7 @@ define Build/Configure --host=$(GNU_TARGET_NAME) \ --build=$(GNU_HOST_NAME) \ --prefix=/usr \ + --localstatedir=/var \ --libexecdir=/usr/lib/snapd \ --with-apparmorconfigdir=/etc/apparmor.d \ --with-snap-mount-dir=/var/lib/snapd/snap \ @@ -100,6 +101,10 @@ define Build/Compile rm -rf $(PKG_INSTALL_DIR) $(INSTALL_DIR) $(PKG_INSTALL_DIR) +$(MAKE) -C $(PKG_BUILD_DIR)/cmd DESTDIR=$(PKG_INSTALL_DIR) install + # Upstream intentionally creates this directory as 0111. OpenWrt's + # recursive package copy must be able to enumerate it, so make the + # staging copy readable and restore 0111 in Package/snapd/install. + chmod 0755 $(PKG_INSTALL_DIR)/var/lib/snapd/void +$(MAKE) -C $(PKG_BUILD_DIR)/data DESTDIR=$(PKG_INSTALL_DIR) $(SNAPD_DATA_VARS) install $(INSTALL_DIR) $(PKG_INSTALL_DIR)/usr/lib/snapd $(PKG_INSTALL_DIR)/usr/bin @@ -140,6 +145,7 @@ endef define Package/snapd/install $(CP) $(PKG_INSTALL_DIR)/* $(1)/ + chmod 0111 $(1)/var/lib/snapd/void $(INSTALL_DIR) $(1)/etc/init.d $(1)/etc/default $(INSTALL_BIN) ./files/snapd.init $(1)/etc/init.d/snapd $(INSTALL_CONF) ./files/snapd.default $(1)/etc/default/snapd From cbbf8991cea05ddbbb3b3fbcd763aa3c45205a46 Mon Sep 17 00:00:00 2001 From: Cao Yuhang Date: Mon, 31 Aug 2026 04:56:51 +0000 Subject: [PATCH 2/2] snapd: keep void staging directory readable --- package/capos/snapd/Makefile | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/package/capos/snapd/Makefile b/package/capos/snapd/Makefile index 1f1010d840..733d8cb6b1 100644 --- a/package/capos/snapd/Makefile +++ b/package/capos/snapd/Makefile @@ -28,6 +28,7 @@ define Package/snapd TITLE:=Snap package manager daemon URL:=https://snapcraft.io/ DEPENDS:=$(GO_ARCH_DEPENDS) @ARCH_64BIT +systemd-on-procd +libseccomp +libcap +libcap-bin +libapparmor +apparmor-parser +eudev +dbus +ca-bundle +openssh-keygen +kmod-loop +kmod-fs-squashfs +squashfs-tools-unsquashfs + FILE_MODES:=/var/lib/snapd/void:root:root:0111 endef define Package/snapd/description @@ -101,9 +102,9 @@ define Build/Compile rm -rf $(PKG_INSTALL_DIR) $(INSTALL_DIR) $(PKG_INSTALL_DIR) +$(MAKE) -C $(PKG_BUILD_DIR)/cmd DESTDIR=$(PKG_INSTALL_DIR) install - # Upstream intentionally creates this directory as 0111. OpenWrt's - # recursive package copy must be able to enumerate it, so make the - # staging copy readable and restore 0111 in Package/snapd/install. + # Upstream intentionally creates this directory as 0111. Keep the physical + # staging tree readable through packaging; FILE_MODES records 0111 under + # fakeroot when the final package archive is created. chmod 0755 $(PKG_INSTALL_DIR)/var/lib/snapd/void +$(MAKE) -C $(PKG_BUILD_DIR)/data DESTDIR=$(PKG_INSTALL_DIR) $(SNAPD_DATA_VARS) install @@ -145,7 +146,6 @@ endef define Package/snapd/install $(CP) $(PKG_INSTALL_DIR)/* $(1)/ - chmod 0111 $(1)/var/lib/snapd/void $(INSTALL_DIR) $(1)/etc/init.d $(1)/etc/default $(INSTALL_BIN) ./files/snapd.init $(1)/etc/init.d/snapd $(INSTALL_CONF) ./files/snapd.default $(1)/etc/default/snapd