diff --git a/Makefile b/Makefile index 0a1f96a973d..53018830615 100644 --- a/Makefile +++ b/Makefile @@ -27,6 +27,8 @@ ifneq ($(OPENWRT_BUILD),1) export OPENWRT_BUILD GREP_OPTIONS= export GREP_OPTIONS + CDPATH= + export CDPATH include $(TOPDIR)/include/debug.mk include $(TOPDIR)/include/depends.mk include $(TOPDIR)/include/toplevel.mk @@ -85,7 +87,7 @@ prereq: $(target/stamp-prereq) tmp/.prereq_packages fi checksum: FORCE - $(call sha256sums,$(BIN_DIR)) + $(call sha256sums,$(BIN_DIR),$(CONFIG_BUILDBOT)) diffconfig: FORCE mkdir -p $(BIN_DIR) diff --git a/build b/build new file mode 100755 index 00000000000..5e9d32e8b30 --- /dev/null +++ b/build @@ -0,0 +1,7 @@ +#!/bin/sh + +./prepare "$@" && +make -j10 IGNORE_ERRORS="n m" BUILD_LOG=1 BUILD_LOG_DIR=bin/logs + +# SmartEye-Service: +# echo "CONFIG_TARGET_ar71xx_generic_TLMR3220=y\nCONFIG_PACKAGE_loee-SmartEye-Service=y" > .config && diff --git a/config-SE-xiaomi.seed b/config-SE-xiaomi.seed new file mode 100644 index 00000000000..71cd55c1623 --- /dev/null +++ b/config-SE-xiaomi.seed @@ -0,0 +1,20 @@ +CONFIG_TARGET_ramips=y +CONFIG_TARGET_ramips_mt7620nand=y +CONFIG_TARGET_ramips_mt7620nand_DEVICE_xiaomi_miwifi-r3=y + +CONFIG_PACKAGE_liblua=y +CONFIG_PACKAGE_rsyncd=y + +CONFIG_PACKAGE_kmod-w1=y +CONFIG_PACKAGE_kmod-w1-gpio-custom=y +CONFIG_PACKAGE_kmod-w1-master-gpio=y + + +CONFIG_BUSYBOX_CUSTOM=y +CONFIG_BUSYBOX_CONFIG_FEATURE_TELNET_TTYPE=y +CONFIG_BUSYBOX_CONFIG_TELNET=y +CONFIG_BUSYBOX_CONFIG_FEATURE_TELNET_AUTOLOGIN=y +CONFIG_BUSYBOX_CONFIG_FEATURE_TELNET_WIDTH=y +# SmartEye: +CONFIG_PACKAGE_loee-SmartEye2=y + diff --git a/config-SmartEye.seed b/config-SmartEye.seed new file mode 100644 index 00000000000..a6a95d7f9c4 --- /dev/null +++ b/config-SmartEye.seed @@ -0,0 +1,2 @@ +CONFIG_TARGET_ar71xx_generic_TLWR842=y +CONFIG_PACKAGE_loee-SmartEye=y diff --git a/config-VPU-provision.seed b/config-VPU-provision.seed new file mode 100644 index 00000000000..889c15a2272 --- /dev/null +++ b/config-VPU-provision.seed @@ -0,0 +1,9 @@ +# VPU config seed for Vending Machines +CONFIG_TARGET_ar71xx_mikrotik=y +CONFIG_TARGET_DEVICE_ar71xx_mikrotik_DEVICE_nand-large=y +CONFIG_PACKAGE_loee-VPU-provisioning=y + +CONFIG_TARGET_ar71xx=y +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_mikrotik_DEVICE_nand-large="" +CONFIG_TARGET_MULTI_PROFILE=y +CONFIG_TARGET_PER_DEVICE_ROOTFS=y diff --git a/config-VPU.seed b/config-VPU.seed new file mode 100644 index 00000000000..85c84925ee8 --- /dev/null +++ b/config-VPU.seed @@ -0,0 +1,9 @@ +# VPU config seed for Vending Machines +CONFIG_TARGET_ar71xx_mikrotik=y +CONFIG_TARGET_DEVICE_ar71xx_mikrotik_DEVICE_nand-large=y +CONFIG_PACKAGE_loee-VPU=y + +CONFIG_TARGET_ar71xx=y +CONFIG_TARGET_DEVICE_PACKAGES_ar71xx_mikrotik_DEVICE_nand-large="" +CONFIG_TARGET_MULTI_PROFILE=y +CONFIG_TARGET_PER_DEVICE_ROOTFS=y diff --git a/config/Config-images.in b/config/Config-images.in index 90e873edb8e..afdbdc4079a 100644 --- a/config/Config-images.in +++ b/config/Config-images.in @@ -259,12 +259,12 @@ menu "Target Images" config TARGET_KERNEL_PARTSIZE int "Kernel partition size (in MB)" - depends on GRUB_IMAGES + depends on GRUB_IMAGES || USES_BOOT_PART default 16 config TARGET_ROOTFS_PARTSIZE int "Root filesystem partition size (in MB)" - depends on GRUB_IMAGES || TARGET_ROOTFS_EXT4FS || TARGET_rb532 || TARGET_mvebu || TARGET_uml + depends on GRUB_IMAGES || USES_ROOTFS_PART || TARGET_ROOTFS_EXT4FS || TARGET_rb532 || TARGET_mvebu || TARGET_uml default 256 help Select the root filesystem partition size. diff --git a/feeds.conf.default b/feeds.conf.default index 763a26902e5..18487a92f96 100644 --- a/feeds.conf.default +++ b/feeds.conf.default @@ -1,4 +1,5 @@ -src-git packages https://git.openwrt.org/feed/packages.git;openwrt-18.06 +src-git packages git@github.com:LoEE/packages.git;mkl-18.06 src-git luci https://git.openwrt.org/project/luci.git;openwrt-18.06 src-git routing https://git.openwrt.org/feed/routing.git;openwrt-18.06 src-git telephony https://git.openwrt.org/feed/telephony.git;openwrt-18.06 +src-git loee ssh://git@ph.marketlab.pl/source/vpufeed.git diff --git a/include/cmake.mk b/include/cmake.mk index 900dae1d4af..b66665d20ae 100644 --- a/include/cmake.mk +++ b/include/cmake.mk @@ -7,8 +7,8 @@ ifneq ($(findstring c,$(OPENWRT_VERBOSE)),) endif CMAKE_BINARY_DIR = $(PKG_BUILD_DIR)$(if $(CMAKE_BINARY_SUBDIR),/$(CMAKE_BINARY_SUBDIR)) -CMAKE_SOURCE_DIR = $(PKG_BUILD_DIR) -HOST_CMAKE_SOURCE_DIR = $(HOST_BUILD_DIR) +CMAKE_SOURCE_DIR = $(PKG_BUILD_DIR)$(if $(CMAKE_SOURCE_SUBDIR),/$(CMAKE_SOURCE_SUBDIR)) +HOST_CMAKE_SOURCE_DIR = $(HOST_BUILD_DIR)$(if $(CMAKE_SOURCE_SUBDIR),/$(CMAKE_SOURCE_SUBDIR)) MAKE_PATH = $(firstword $(CMAKE_BINARY_SUBDIR) .) ifeq ($(CONFIG_EXTERNAL_TOOLCHAIN),) diff --git a/include/hardening.mk b/include/hardening.mk index 06a61789ef6..42ce1f56b5a 100644 --- a/include/hardening.mk +++ b/include/hardening.mk @@ -18,7 +18,7 @@ ifdef CONFIG_PKG_CHECK_FORMAT_SECURITY endif ifdef CONFIG_PKG_ASLR_PIE ifeq ($(strip $(PKG_ASLR_PIE)),1) - TARGET_CFLAGS += -fPIC + TARGET_CFLAGS += $(FPIC) TARGET_LDFLAGS += -specs=$(INCLUDE_DIR)/hardened-ld-pie.specs endif endif diff --git a/include/host-build.mk b/include/host-build.mk index a2a31ae0489..827ea6bbfb1 100644 --- a/include/host-build.mk +++ b/include/host-build.mk @@ -132,7 +132,7 @@ define Host/Exports/Default $(1) : export STAGING_PREFIX=$$(HOST_BUILD_PREFIX) $(1) : export PKG_CONFIG_PATH=$$(STAGING_DIR_HOST)/lib/pkgconfig:$$(HOST_BUILD_PREFIX)/lib/pkgconfig $(1) : export PKG_CONFIG_LIBDIR=$$(HOST_BUILD_PREFIX)/lib/pkgconfig - $(1) : export CCACHE_DIR:=$(STAGING_DIR_HOST)/ccache + $(if $(CONFIG_CCACHE),$(1) : export CCACHE_DIR:=$(STAGING_DIR_HOST)/ccache) $(if $(HOST_CONFIG_SITE),$(1) : export CONFIG_SITE:=$(HOST_CONFIG_SITE)) $(if $(IS_PACKAGE_BUILD),$(1) : export PATH=$$(TARGET_PATH_PKG)) endef diff --git a/include/image.mk b/include/image.mk index f2a85f6feb9..a2b106d9098 100644 --- a/include/image.mk +++ b/include/image.mk @@ -321,6 +321,7 @@ define Device/Init CMDLINE:= IMAGES := + ARTIFACTS := IMAGE_PREFIX := $(IMG_PREFIX)-$(1) IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1)-$$(2) KERNEL_PREFIX = $$(IMAGE_PREFIX) @@ -498,6 +499,19 @@ define Device/Build/image endef +define Device/Build/artifact + $$(_TARGET): $(BIN_DIR)/$(IMAGE_PREFIX)-$(1) + $(KDIR)/tmp/$(IMAGE_PREFIX)-$(1): $$(KDIR_KERNEL_IMAGE) + @rm -f $$@ + $$(call concat_cmd,$(ARTIFACT/$(1))) + + .IGNORE: $(BIN_DIR)/$(IMAGE_PREFIX)-$(1) + + $(BIN_DIR)/$(IMAGE_PREFIX)-$(1): $(KDIR)/tmp/$(IMAGE_PREFIX)-$(1) + cp $$^ $$@ + +endef + define Device/Build $(if $(CONFIG_TARGET_ROOTFS_INITRAMFS),$(call Device/Build/initramfs,$(1))) $(call Device/Build/kernel,$(1)) @@ -508,6 +522,10 @@ define Device/Build $$(eval $$(foreach image,$$(IMAGES), \ $$(foreach fs,$$(filter $(TARGET_FILESYSTEMS),$$(FILESYSTEMS)), \ $$(call Device/Build/image,$$(fs),$$(image),$(1))))) + + $$(eval $$(foreach artifact,$$(ARTIFACTS), \ + $$(call Device/Build/artifact,$$(artifact)))) + endef define Device/DumpInfo diff --git a/include/kernel-version.mk b/include/kernel-version.mk index c6108bead82..0dd68aa4048 100644 --- a/include/kernel-version.mk +++ b/include/kernel-version.mk @@ -2,11 +2,11 @@ LINUX_RELEASE?=1 -LINUX_VERSION-4.9 = .125 -LINUX_VERSION-4.14 = .68 +LINUX_VERSION-4.9 = .152 +LINUX_VERSION-4.14 = .95 -LINUX_KERNEL_HASH-4.9.125 = a764deef61bebfac1d07b2ed6890f93a12a9ab6d3fc3c53e3d850ed4681111cb -LINUX_KERNEL_HASH-4.14.68 = 791dbf1597033bf2b61e83307d78188ffc1ad4bdd1da3234876667edfdd28690 +LINUX_KERNEL_HASH-4.9.152 = 90e47b85c09af47eefafe851685ee731538f640b0650a6a9cfa0234436708e39 +LINUX_KERNEL_HASH-4.14.95 = ce6729e3fca312520e3cb4f27993852dbb019d94c59c0b35cedab571f9cb58e4 remove_uri_prefix=$(subst git://,,$(subst http://,,$(subst https://,,$(1)))) sanitize_uri=$(call qstrip,$(subst @,_,$(subst :,_,$(subst .,_,$(subst -,_,$(subst /,_,$(1))))))) diff --git a/include/kernel.mk b/include/kernel.mk index c169550f488..62a8e99e2d2 100644 --- a/include/kernel.mk +++ b/include/kernel.mk @@ -60,9 +60,8 @@ else LINUX_KERNEL:=$(KERNEL_BUILD_DIR)/vmlinux LINUX_SOURCE:=linux-$(LINUX_VERSION).tar.xz - TESTING:=$(if $(findstring -rc,$(LINUX_VERSION)),/testing,) ifeq ($(call qstrip,$(CONFIG_EXTERNAL_KERNEL_TREE))$(call qstrip,$(CONFIG_KERNEL_GIT_CLONE_URI)),) - LINUX_SITE:=@KERNEL/linux/kernel/v$(word 1,$(subst ., ,$(KERNEL_BASE))).x$(TESTING) + LINUX_SITE:=@KERNEL/linux/kernel/v$(word 1,$(subst ., ,$(KERNEL_BASE))).x else LINUX_UNAME_VERSION:=$(strip $(shell cat $(LINUX_DIR)/include/config/kernel.release 2>/dev/null)) endif @@ -97,7 +96,7 @@ endif KERNEL_MAKE = $(MAKE) $(KERNEL_MAKEOPTS) -KERNEL_MAKE_FLAGS := \ +KERNEL_MAKE_FLAGS = \ HOSTCFLAGS="$(HOST_CFLAGS) -Wall -Wmissing-prototypes -Wstrict-prototypes" \ CROSS_COMPILE="$(KERNEL_CROSS)" \ ARCH="$(LINUX_KARCH)" \ @@ -254,6 +253,7 @@ $(call KernelPackage/$(1)/config) $$(eval $$(call BuildPackage,kmod-$(1))) $$(IPKG_kmod-$(1)): $$(wildcard $$(FILES)) + endef version_filter=$(if $(findstring @,$(1)),$(shell $(SCRIPT_DIR)/package-metadata.pl version_filter $(KERNEL_PATCHVER) $(1)),$(1)) diff --git a/include/netfilter.mk b/include/netfilter.mk index 5d532cea5b2..510aa183ca1 100644 --- a/include/netfilter.mk +++ b/include/netfilter.mk @@ -106,6 +106,7 @@ $(eval $(call nf_add,IPT_PHYSDEV,CONFIG_NETFILTER_XT_MATCH_PHYSDEV, $(P_XT)xt_ph # filter $(eval $(call nf_add,IPT_FILTER,CONFIG_NETFILTER_XT_MATCH_STRING, $(P_XT)xt_string)) +$(eval $(call nf_add,IPT_FILTER,CONFIG_NETFILTER_XT_MATCH_BPF, $(P_XT)xt_bpf)) # ipopt diff --git a/include/package.mk b/include/package.mk index 2473eecb922..569ad647d6d 100644 --- a/include/package.mk +++ b/include/package.mk @@ -81,9 +81,10 @@ STAGING_FILES_LIST:=$(PKG_DIR_NAME)$(if $(BUILD_VARIANT),.$(BUILD_VARIANT),).lis define CleanStaging rm -f $(STAMP_INSTALLED) @-(\ - cd "$(STAGING_DIR)"; \ - if [ -f packages/$(STAGING_FILES_LIST) ]; then \ - cat packages/$(STAGING_FILES_LIST) | xargs -r rm -f 2>/dev/null; \ + if [ -f $(STAGING_DIR)/packages/$(STAGING_FILES_LIST) ]; then \ + $(SCRIPT_DIR)/clean-package.sh \ + "$(STAGING_DIR)/packages/$(STAGING_FILES_LIST)" \ + "$(STAGING_DIR)"; \ fi; \ ) endef @@ -144,7 +145,7 @@ define Build/Exports/Default $(1) : export CONFIG_SITE:=$$(CONFIG_SITE) $(1) : export PKG_CONFIG_PATH:=$$(PKG_CONFIG_PATH) $(1) : export PKG_CONFIG_LIBDIR:=$$(PKG_CONFIG_PATH) - $(1) : export CCACHE_DIR:=$(STAGING_DIR)/ccache + $(if $(CONFIG_CCACHE),$(1) : export CCACHE_DIR:=$(STAGING_DIR)/ccache) endef Build/Exports=$(Build/Exports/Default) diff --git a/include/prereq-build.mk b/include/prereq-build.mk index edd63e9ee68..ec4426cbe78 100644 --- a/include/prereq-build.mk +++ b/include/prereq-build.mk @@ -24,10 +24,10 @@ $(eval $(call TestHostCommand,case-sensitive-fs, \ $(eval $(call TestHostCommand,proper-umask, \ Please build with umask 022 - other values produce broken packages, \ - umask | grep -xE 00[012][012])) + umask | grep -xE 0?0[012][012])) $(eval $(call SetupHostCommand,gcc, \ - Please install the GNU C Compiler (gcc) 4.8 or later \ + Please install the GNU C Compiler (gcc) 4.8 or later, \ $(CC) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \ gcc -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \ gcc48 --version | grep gcc, \ @@ -46,7 +46,7 @@ $(eval $(call TestHostCommand,working-gcc, \ gcc -x c -o $(TMP_DIR)/a.out -)) $(eval $(call SetupHostCommand,g++, \ - Please install the GNU C++ Compiler (g++) 4.8 or later \ + Please install the GNU C++ Compiler (g++) 4.8 or later, \ $(CXX) -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \ g++ -dumpversion | grep -E '^(4\.[8-9]|[5-9]\.?)', \ g++48 --version | grep g++, \ @@ -138,11 +138,6 @@ $(eval $(call SetupHostCommand,bzip2,Please install 'bzip2', \ $(eval $(call SetupHostCommand,wget,Please install GNU 'wget', \ wget --version | grep GNU)) -$(eval $(call SetupHostCommand,time,Please install GNU 'time' or BusyBox 'time' that supports -f, \ - gtime --version 2>&1 | grep GNU, \ - time --version 2>&1 | grep GNU, \ - busybox time 2>&1 | grep -- '-f FMT')) - $(eval $(call SetupHostCommand,perl,Please install Perl 5.x, \ perl --version | grep "perl.*v5")) @@ -157,6 +152,10 @@ $(eval $(call SetupHostCommand,git,Please install Git (git-core) >= 1.7.12.2, \ $(eval $(call SetupHostCommand,file,Please install the 'file' package, \ file --version 2>&1 | grep file)) +$(eval $(call SetupHostCommand,rmdir,Please install GNU 'rmdir', \ + grmdir --version 2>&1 | grep coreutils, \ + rmdir --version 2>&1 | grep coreutils)) + $(STAGING_DIR_HOST)/bin/mkhash: $(SCRIPT_DIR)/mkhash.c mkdir -p $(dir $@) $(CC) -O2 -I$(TOPDIR)/tools/include -o $@ $< diff --git a/include/rootfs.mk b/include/rootfs.mk index 76425c017a8..dc8621dbae4 100644 --- a/include/rootfs.mk +++ b/include/rootfs.mk @@ -90,6 +90,7 @@ define prepare_rootfs rm -f $(1)/usr/lib/opkg/lists/* rm -f $(1)/usr/lib/opkg/info/*.postinst* rm -f $(1)/var/lock/*.lock + rm -rf $(1)/boot $(call clean_ipkg,$(1)) $(call mklibs,$(1)) endef diff --git a/include/subdir.mk b/include/subdir.mk index dde3e50b0be..6512e24c2e6 100644 --- a/include/subdir.mk +++ b/include/subdir.mk @@ -43,7 +43,7 @@ log_make = \ $(if $(BUILD_LOG), \ set -o pipefail; \ mkdir -p $(BUILD_LOG_DIR)/$(1)$(if $(4),/$(4));) \ - env time -f "time: $(1)$(if $(4),/$(4))/$(if $(3),$(3)-)$(2)\#%U\#%S\#%e" -- \ + $(SCRIPT_DIR)/time.pl "time: $(1)$(if $(4),/$(4))/$(if $(3),$(3)-)$(2)" \ $$(SUBMAKE) $(subdir_make_opts) $(if $(3),$(3)-)$(2) \ $(if $(BUILD_LOG),SILENT= 2>&1 | tee $(BUILD_LOG_DIR)/$(1)$(if $(4),/$(4))/$(if $(3),$(3)-)$(2).txt) diff --git a/include/verbose.mk b/include/verbose.mk index b7e43f74300..d2600801954 100644 --- a/include/verbose.mk +++ b/include/verbose.mk @@ -54,7 +54,7 @@ ifeq ($(findstring s,$(OPENWRT_VERBOSE)),) else SILENT:=>/dev/null $(if $(findstring w,$(OPENWRT_VERBOSE)),,2>&1) export QUIET:=1 - SUBMAKE=cmd() { $(SILENT) $(MAKE) -s $$* < /dev/null || { echo "make $$*: build failed. Please re-run make with -j1 V=s to see what's going on"; false; } } 8>&1 9>&2; cmd + SUBMAKE=cmd() { $(SILENT) $(MAKE) -s "$$@" < /dev/null || { echo "make $$*: build failed. Please re-run make with -j1 V=s or V=sc for a higher verbosity level to see what's going on"; false; } } 8>&1 9>&2; cmd endif .SILENT: $(MAKECMDGOALS) diff --git a/include/version.mk b/include/version.mk index 55228307428..1e8e98390eb 100644 --- a/include/version.mk +++ b/include/version.mk @@ -11,6 +11,7 @@ # SOURCE_DATE_EPOCH:=x PKG_CONFIG_DEPENDS += \ + CONFIG_VERSION_HOME_URL \ CONFIG_VERSION_BUG_URL \ CONFIG_VERSION_NUMBER \ CONFIG_VERSION_CODE \ @@ -25,13 +26,13 @@ PKG_CONFIG_DEPENDS += \ sanitize = $(call tolower,$(subst _,-,$(subst $(space),-,$(1)))) VERSION_NUMBER:=$(call qstrip,$(CONFIG_VERSION_NUMBER)) -VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),18.06-SNAPSHOT) +VERSION_NUMBER:=$(if $(VERSION_NUMBER),$(VERSION_NUMBER),18.06.2) VERSION_CODE:=$(call qstrip,$(CONFIG_VERSION_CODE)) -VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),$(REVISION)) +VERSION_CODE:=$(if $(VERSION_CODE),$(VERSION_CODE),r7676-cddd7b4c77) VERSION_REPO:=$(call qstrip,$(CONFIG_VERSION_REPO)) -VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),http://downloads.openwrt.org/releases/18.06-SNAPSHOT) +VERSION_REPO:=$(if $(VERSION_REPO),$(VERSION_REPO),http://downloads.openwrt.org/releases/18.06.2) VERSION_DIST:=$(call qstrip,$(CONFIG_VERSION_DIST)) VERSION_DIST:=$(if $(VERSION_DIST),$(VERSION_DIST),OpenWrt) @@ -46,6 +47,9 @@ VERSION_MANUFACTURER_URL:=$(if $(VERSION_MANUFACTURER_URL),$(VERSION_MANUFACTURE VERSION_BUG_URL:=$(call qstrip,$(CONFIG_VERSION_BUG_URL)) VERSION_BUG_URL:=$(if $(VERSION_BUG_URL),$(VERSION_BUG_URL),http://bugs.openwrt.org/) +VERSION_HOME_URL:=$(call qstrip,$(CONFIG_VERSION_HOME_URL)) +VERSION_HOME_URL:=$(if $(VERSION_HOME_URL),$(VERSION_HOME_URL),http://openwrt.org/) + VERSION_SUPPORT_URL:=$(call qstrip,$(CONFIG_VERSION_SUPPORT_URL)) VERSION_SUPPORT_URL:=$(if $(VERSION_SUPPORT_URL),$(VERSION_SUPPORT_URL),http://forum.lede-project.org/) @@ -100,6 +104,7 @@ VERSION_SED_SCRIPT:=$(SED) 's,%U,$(call sed_escape,$(VERSION_REPO)),g' \ -e 's,%M,$(call sed_escape,$(VERSION_MANUFACTURER)),g' \ -e 's,%m,$(call sed_escape,$(VERSION_MANUFACTURER_URL)),g' \ -e 's,%b,$(call sed_escape,$(VERSION_BUG_URL)),g' \ + -e 's,%u,$(call sed_escape,$(VERSION_HOME_URL)),g' \ -e 's,%s,$(call sed_escape,$(VERSION_SUPPORT_URL)),g' \ -e 's,%P,$(call sed_escape,$(VERSION_PRODUCT)),g' \ -e 's,%h,$(call sed_escape,$(VERSION_HWREV)),g' diff --git a/package/base-files/Makefile b/package/base-files/Makefile index ca1cb47a6cc..904f4af073b 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -12,7 +12,7 @@ include $(INCLUDE_DIR)/version.mk include $(INCLUDE_DIR)/feeds.mk PKG_NAME:=base-files -PKG_RELEASE:=192 +PKG_RELEASE:=194.2 PKG_FLAGS:=nonshared PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ @@ -49,6 +49,7 @@ define Package/base-files/conffiles /etc/config/system /etc/crontabs/ /etc/dropbear/ +/etc/ethers /etc/group /etc/hosts /etc/inittab diff --git a/package/base-files/files/bin/config_generate b/package/base-files/files/bin/config_generate index fa148685ccc..c8b253da5bd 100755 --- a/package/base-files/files/bin/config_generate +++ b/package/base-files/files/bin/config_generate @@ -15,10 +15,14 @@ generate_static_network() { set network.loopback.proto='static' set network.loopback.ipaddr='127.0.0.1' set network.loopback.netmask='255.0.0.0' - delete network.globals - set network.globals='globals' - set network.globals.ula_prefix='auto' EOF + [ -e /proc/sys/net/ipv6 ] && { + uci -q batch <<-EOF + delete network.globals + set network.globals='globals' + set network.globals.ula_prefix='auto' + EOF + } if json_is_a dsl object; then json_select dsl @@ -102,21 +106,23 @@ generate_network() { set network.$1.proto='static' set network.$1.ipaddr='$ipad' set network.$1.netmask='$netm' - set network.$1.ip6assign='60' EOF + [ -e /proc/sys/net/ipv6 ] && uci set network.$1.ip6assign='60' ;; dhcp) # fixup IPv6 slave interface if parent is a bridge [ "$type" = "bridge" ] && ifname="br-$1" - uci -q batch <<-EOF - set network.$1.proto='dhcp' - delete network.${1}6 - set network.${1}6='interface' - set network.${1}6.ifname='$ifname' - set network.${1}6.proto='dhcpv6' - EOF + uci set network.$1.proto='dhcp' + [ -e /proc/sys/net/ipv6 ] && { + uci -q batch <<-EOF + delete network.${1}6 + set network.${1}6='interface' + set network.${1}6.ifname='$ifname' + set network.${1}6.proto='dhcpv6' + EOF + } ;; pppoe) @@ -124,12 +130,16 @@ generate_network() { set network.$1.proto='pppoe' set network.$1.username='username' set network.$1.password='password' - set network.$1.ipv6='1' - delete network.${1}6 - set network.${1}6='interface' - set network.${1}6.ifname='@${1}' - set network.${1}6.proto='dhcpv6' EOF + [ -e /proc/sys/net/ipv6 ] && { + uci -q batch <<-EOF + set network.$1.ipv6='1' + delete network.${1}6 + set network.${1}6='interface' + set network.${1}6.ifname='@${1}' + set network.${1}6.proto='dhcpv6' + EOF + } ;; esac } diff --git a/package/base-files/files/etc/ethers b/package/base-files/files/etc/ethers new file mode 100644 index 00000000000..b92c200a4bb --- /dev/null +++ b/package/base-files/files/etc/ethers @@ -0,0 +1,6 @@ +# +# Lookup man 5 ethers for syntax documentation +# +# Examples : +# 02:00:11:22:33:44 OpenWrt.lan +# 02:00:11:22:33:44 192.168.1.1 diff --git a/package/base-files/files/etc/init.d/sysfixtime b/package/base-files/files/etc/init.d/sysfixtime index aab5b153d07..c7b712214a1 100755 --- a/package/base-files/files/etc/init.d/sysfixtime +++ b/package/base-files/files/etc/init.d/sysfixtime @@ -27,7 +27,7 @@ stop() { maxtime() { local file newest - for file in $( find /etc -type f ) ; do + for file in $( find -L /etc -type f ) ; do [ -z "$newest" -o "$newest" -ot "$file" ] && newest=$file done [ "$newest" ] && date -r "$newest" +%s diff --git a/package/base-files/files/etc/iproute2/ematch_map b/package/base-files/files/etc/iproute2/ematch_map new file mode 100644 index 00000000000..4d6bb2f0397 --- /dev/null +++ b/package/base-files/files/etc/iproute2/ematch_map @@ -0,0 +1,8 @@ +# lookup table for ematch kinds +1 cmp +2 nbyte +3 u32 +4 meta +7 canid +8 ipset +9 ipt diff --git a/package/base-files/files/etc/profile b/package/base-files/files/etc/profile index e9936fb36a9..5d850516f6c 100644 --- a/package/base-files/files/etc/profile +++ b/package/base-files/files/etc/profile @@ -14,7 +14,11 @@ export HOME=$(grep -e "^${USER:-root}:" /etc/passwd | cut -d ":" -f 6) export HOME=${HOME:-/root} export PS1='\u@\h:\w\$ ' -[ "$TERM" = "xterm" ] && export PS1='\[\e]0;\u@\h: \w\a\]'$PS1 +case "$TERM" in + xterm*|rxvt*) + export PS1='\[\e]0;\u@\h: \w\a\]'$PS1 + ;; +esac [ -x /bin/more ] || alias more=less [ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi @@ -33,8 +37,10 @@ alias ll='ls -alF --color=auto' unset FILE } +rootPassAuth=$(uci get dropbear.@dropbear[0].RootPasswordAuth) if ( grep -qs '^root::' /etc/shadow && \ - [ -z "$FAILSAFE" ] ) + [ -z "$FAILSAFE" ] && \ + [ "$rootPassAuth" = "on" ] ) then cat << EOF === WARNING! ===================================== diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common index 3e237170b4c..d9773a0c5aa 100755 --- a/package/base-files/files/etc/rc.common +++ b/package/base-files/files/etc/rc.common @@ -23,6 +23,7 @@ reload() { restart() { trap '' TERM stop "$@" + trap - TERM start "$@" } diff --git a/package/base-files/files/etc/services b/package/base-files/files/etc/services index 8ff914ecf25..968f9e78be7 100644 --- a/package/base-files/files/etc/services +++ b/package/base-files/files/etc/services @@ -29,8 +29,8 @@ kerberos 88/tcp kerberos5 krb5 kerberos-sec kerberos 88/udp kerberos5 krb5 kerberos-sec pop3 110/tcp pop3 110/udp -sunrpc 111/tcp -sunrpc 111/udp +sunrpc 111/tcp rpcbind +sunrpc 111/udp rpcbind auth 113/tcp ident sftp 115/tcp nntp 119/tcp diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh index 318e91856b4..edce75e8ff8 100755 --- a/package/base-files/files/lib/functions.sh +++ b/package/base-files/files/lib/functions.sh @@ -92,7 +92,7 @@ config_unset() { # config_get