#
-# Copyright (C) 2007-2014 OpenWrt.org
+# Copyright (C) 2007-2016 OpenWrt.org
# Copyright (C) 2010 Vertical Communications
#
# This is free software, licensed under the GNU General Public License v2.
#
include $(TOPDIR)/rules.mk
-include $(INCLUDE_DIR)/version.mk
include $(INCLUDE_DIR)/kernel.mk
+include $(INCLUDE_DIR)/version.mk
PKG_NAME:=base-files
-PKG_RELEASE:=157
+PKG_RELEASE:=173
+PKG_FLAGS:=nonshared
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
-PKG_BUILD_DEPENDS:=opkg/host
+PKG_BUILD_DEPENDS:=usign/host
PKG_LICENSE:=GPL-2.0
+PKG_CONFIG_DEPENDS := CONFIG_SIGNED_PACKAGES CONFIG_TARGET_INIT_PATH CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE
+
include $(INCLUDE_DIR)/package.mk
ifneq ($(DUMP),1)
+ STAMP_CONFIGURED:=$(strip $(STAMP_CONFIGURED))_$(shell echo $(CONFIG_TARGET_INIT_PATH) | mkhash md5)
TARGET:=-$(BOARD)
- ifneq ($(wildcard $(PLATFORM_DIR)/base-files-$(PROFILE) $(PLATFORM_SUBDIR)/base-files-$(PROFILE)),)
- TARGET:=$(TARGET)-$(PROFILE)
- endif
endif
define Package/base-files
SECTION:=base
CATEGORY:=Base system
- DEPENDS:=+netifd +libc +procd +jsonfilter
- TITLE:=Base filesystem for OpenWrt
+ DEPENDS:=+netifd +libc +procd +jsonfilter +SIGNED_PACKAGES:usign +SIGNED_PACKAGES:lede-keyring +fstools +fwtool
+ TITLE:=Base filesystem for Lede
URL:=http://openwrt.org/
VERSION:=$(PKG_RELEASE)-$(REVISION)
endef
define Package/base-files/conffiles
+/etc/config/network
+/etc/config/system
/etc/hosts
/etc/inittab
/etc/group
/etc/passwd
/etc/shadow
/etc/profile
+/etc/protocols
+/etc/services
/etc/shells
/etc/sysctl.conf
/etc/rc.local
/etc/config/
/etc/dropbear/
/etc/crontabs/
+/etc/sysctl.d/local.conf
+/etc/sysctl.d/
+/etc/iproute2/rt_tables
+/etc/iproute2/rt_protos
$(call $(TARGET)/conffiles)
endef
This package contains a base filesystem and system scripts for OpenWrt.
endef
-ifneq ($(CONFIG_PREINITOPT),)
define ImageConfigOptions
mkdir -p $(1)/lib/preinit
echo 'pi_suppress_stderr="$(CONFIG_TARGET_PREINIT_SUPPRESS_STDERR)"' >$(1)/lib/preinit/00_preinit.conf
echo 'fs_failsafe_wait_timeout=$(if $(CONFIG_TARGET_PREINIT_TIMEOUT),$(CONFIG_TARGET_PREINIT_TIMEOUT),2)' >>$(1)/lib/preinit/00_preinit.conf
- echo 'pi_init_path=$(if $(CONFIG_TARGET_INIT_PATH),$(CONFIG_TARGET_INIT_PATH),"/bin:/sbin:/usr/bin:/usr/sbin")' >>$(1)/lib/preinit/00_preinit.conf
+ echo 'pi_init_path="$(TARGET_INIT_PATH)"' >>$(1)/lib/preinit/00_preinit.conf
echo 'pi_init_env=$(if $(CONFIG_TARGET_INIT_ENV),$(CONFIG_TARGET_INIT_ENV),"")' >>$(1)/lib/preinit/00_preinit.conf
echo 'pi_init_cmd=$(if $(CONFIG_TARGET_INIT_CMD),$(CONFIG_TARGET_INIT_CMD),"/sbin/init")' >>$(1)/lib/preinit/00_preinit.conf
echo 'pi_init_suppress_stderr="$(CONFIG_TARGET_INIT_SUPPRESS_STDERR)"' >>$(1)/lib/preinit/00_preinit.conf
echo 'pi_broadcast=$(if $(CONFIG_TARGET_PREINIT_BROADCAST),$(CONFIG_TARGET_PREINIT_BROADCAST),"192.168.1.255")' >>$(1)/lib/preinit/00_preinit.conf
echo 'pi_preinit_net_messages="$(CONFIG_TARGET_PREINIT_SHOW_NETMSG)"' >>$(1)/lib/preinit/00_preinit.conf
echo 'pi_preinit_no_failsafe_netmsg="$(CONFIG_TARGET_PREINIT_SUPPRESS_FAILSAFE_NETMSG)"' >>$(1)/lib/preinit/00_preinit.conf
+ echo 'pi_preinit_no_failsafe="$(CONFIG_TARGET_PREINIT_DISABLE_FAILSAFE)"' >>$(1)/lib/preinit/00_preinit.conf
endef
-endif
define Build/Prepare
mkdir -p $(PKG_BUILD_DIR)
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
+
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
if [ -d $(PLATFORM_DIR)/base-files/. ]; then \
$(CP) $(PLATFORM_DIR)/base-files/* $(1)/; \
fi
- if [ -d $(PLATFORM_DIR)/base-files-$(PROFILE)/. ]; then \
- $(CP) $(PLATFORM_DIR)/base-files-$(PROFILE)/* $(1)/; \
- fi
- if [ -d $(PLATFORM_DIR)/$(PROFILE)/base-files/. ]; then \
- $(CP) $(PLATFORM_DIR)/$(PROFILE)/base-files/* $(1)/; \
- fi
$(if $(filter-out $(PLATFORM_DIR),$(PLATFORM_SUBDIR)), \
if [ -d $(PLATFORM_SUBDIR)/base-files/. ]; then \
$(CP) $(PLATFORM_SUBDIR)/base-files/* $(1)/; \
fi; \
- if [ -d $(PLATFORM_SUBDIR)/base-files-$(PROFILE)/. ]; then \
- $(CP) $(PLATFORM_SUBDIR)/base-files-$(PROFILE)/* $(1)/; \
- fi; \
- if [ -d $(PLATFORM_SUBDIR)/$(PROFILE)/base-files/. ]; then \
- $(CP) $(PLATFORM_SUBDIR)/$(PROFILE)/base-files/* $(1)/; \
- fi \
)
$(VERSION_SED) \
$(1)/etc/banner \
- $(1)/etc/openwrt_version
+ $(1)/etc/openwrt_version \
+ $(1)/usr/lib/os-release
$(VERSION_SED_SCRIPT) \
$(1)/etc/openwrt_release \
- $(1)/etc/device_info
+ $(1)/etc/device_info \
+ $(1)/usr/lib/os-release
+
+ $(SED) "s#%PATH%#$(TARGET_INIT_PATH)#g" \
+ $(1)/sbin/hotplug-call \
+ $(1)/etc/preinit \
+ $(1)/etc/profile
mkdir -p $(1)/CONTROL
mkdir -p $(1)/dev
mkdir -p $(1)/etc/rc.d
mkdir -p $(1)/overlay
mkdir -p $(1)/lib/firmware
- $(if $(LIB_SUFFIX),-ln -s lib $(1)/lib$(LIB_SUFFIX))
+ $(if $(LIB_SUFFIX),-$(LN) lib $(1)/lib$(LIB_SUFFIX))
mkdir -p $(1)/mnt
mkdir -p $(1)/proc
mkdir -p $(1)/tmp
mkdir -p $(1)/usr/lib
- $(if $(LIB_SUFFIX),-ln -s lib $(1)/usr/lib$(LIB_SUFFIX))
+ $(if $(LIB_SUFFIX),-$(LN) lib $(1)/usr/lib$(LIB_SUFFIX))
mkdir -p $(1)/usr/bin
mkdir -p $(1)/sys
mkdir -p $(1)/www
rm -f $(1)/var
$(LN) /tmp $(1)/var
mkdir -p $(1)/etc
- $(LN) /tmp/resolv.conf /tmp/fstab /tmp/TZ $(1)/etc/
+ $(LN) /tmp/resolv.conf /tmp/TZ /tmp/localtime $(1)/etc/
chmod 0600 $(1)/etc/shadow
chmod 1777 $(1)/tmp
ifneq ($(DUMP),1)
-include $(PLATFORM_DIR)/base-files.mk
+ -include $(PLATFORM_SUBDIR)/base-files.mk
endif
$(eval $(call BuildPackage,base-files))