From: Daniel Dickinson <[email protected]> Abstract out the signing-key from base-files (to make duplicating for use for building different key for SDK easier; the SDK needs to build a signing-key by default when base-files has a signing key due to the fact opkg will not accept unsigned package lists when configured to use signed packages)
Signed-off-by: Daniel Dickinson <[email protected]> --- package/base-files/Makefile | 20 ++------------ package/signing-key/Makefile | 66 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+), 17 deletions(-) create mode 100644 package/signing-key/Makefile diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 8c75b91..da9525c 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -17,7 +17,7 @@ PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ PKG_BUILD_DEPENDS:=usign/host PKG_LICENSE:=GPL-2.0 -PKG_CONFIG_DEPENDS := CONFIG_SIGNED_PACKAGES CONFIG_TARGET_INIT_PATH +PKG_CONFIG_DEPENDS := CONFIG_TARGET_INIT_PATH include $(INCLUDE_DIR)/package.mk @@ -32,7 +32,7 @@ endif define Package/base-files SECTION:=base CATEGORY:=Base system - DEPENDS:=+netifd +libc +procd +jsonfilter +SIGNED_PACKAGES:usign +fstools + DEPENDS:=+netifd +libc +procd +jsonfilter +fstools +SIGNED_PACKAGES:signing-key TITLE:=Base filesystem for OpenWrt URL:=http://openwrt.org/ VERSION:=$(PKG_RELEASE)-$(REVISION) @@ -91,25 +91,11 @@ endef define Build/Compile/Default endef -Build/Compile = $(Build/Compile/Default) - -ifdef CONFIG_SIGNED_PACKAGES - define Build/Configure - [ -s $(BUILD_KEY) -a -s $(BUILD_KEY).pub ] || \ - $(STAGING_DIR_HOST)/bin/usign -G -s $(BUILD_KEY) -p $(BUILD_KEY).pub -c "Local build key" - - endef - define Package/base-files/install-key - mkdir -p $(1)/etc/opkg/keys - $(CP) $(BUILD_KEY).pub $(1)/etc/opkg/keys/`$(STAGING_DIR_HOST)/bin/usign -F -p $(BUILD_KEY).pub` - - endef -endif +Build/Compile = $(Build/Compile/Default) define Package/base-files/install $(CP) ./files/* $(1)/ - $(Package/base-files/install-key) if [ -d $(GENERIC_PLATFORM_DIR)/base-files/. ]; then \ $(CP) $(GENERIC_PLATFORM_DIR)/base-files/* $(1)/; \ fi diff --git a/package/signing-key/Makefile b/package/signing-key/Makefile new file mode 100644 index 0000000..3108e36 --- /dev/null +++ b/package/signing-key/Makefile @@ -0,0 +1,66 @@ +# +# Copyright (C) 2007-2015 OpenWrt.org +# Copyright (C) 2010 Vertical Communications +# +# This is free software, licensed under the GNU General Public License v2. +# See /LICENSE for more information. +# + +include $(TOPDIR)/rules.mk + +PKG_NAME:=signing-key +PKG_VERSION:=1.0 +PKG_RELEASE:=1 + +PKG_BUILD_DEPENDS:=usign/host +PKG_LICENSE:=GPL-2.0 + +PKG_CONFIG_DEPENDS := CONFIG_SIGNED_PACKAGES +PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) + +include $(INCLUDE_DIR)/package.mk + +define Package/signing-key + SECTION:=base + CATEGORY:=Base system + DEPENDS:=+usign + TITLE:=Signing key when using signed package lists (base build key) + URL:=http://openwrt.org/ + DEFAULT:=y if SIGNED_PACKAGES +endef + +define Package/signing-key/description + This package contains the opkg signing key for the base build when using signed package lists +endef + +define Build/Prepare + true +endef + +NOT_SDK_KEY=$(if $(SDK),,1) + +ifeq ($(NOT_SDK_KEY),1) +define Build/Configure + [ -s $(BUILD_KEY) -a -s $(BUILD_KEY).pub ] || \ + $(STAGING_DIR_HOST)/bin/usign -G -s $(BUILD_KEY) -p $(BUILD_KEY).pub -c "Local build key" +endef + +else + +define Build/Configure + true +endef +endif + +define Build/Compile + echo "Placeholder for log file" +endef + +ifeq ($(NOT_SDK_OR_IS_SDK_KEY),1) +define Package/signing-key/install + $(INSTALL_DIR) $(1)/etc/opkg/keys + $(CP) $(BUILD_KEY).pub $(1)/etc/opkg/keys/`$(STAGING_DIR_HOST)/bin/usign -F -p $(BUILD_KEY).pub` +endef +endif + +$(eval $(call BuildPackage,signing-key)) -- 2.4.3 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel
