From 87ebf166cf6e32d166f56d412bf69118da8b85b1 Mon Sep 17 00:00:00 2001 From: lean Date: Wed, 25 Mar 2020 10:58:04 +0800 Subject: [PATCH 01/10] luci-app-ssr-plus: force ssr-monitor to enable ssr-redir --- package/lean/luci-app-ssr-plus/Makefile | 2 +- .../luci-app-ssr-plus/root/etc/init.d/shadowsocksr | 12 ++++++++---- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/package/lean/luci-app-ssr-plus/Makefile b/package/lean/luci-app-ssr-plus/Makefile index 1d30ecf41f..4b1b7d8ef7 100644 --- a/package/lean/luci-app-ssr-plus/Makefile +++ b/package/lean/luci-app-ssr-plus/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-ssr-plus PKG_VERSION:=174 -PKG_RELEASE:=4 +PKG_RELEASE:=5 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) diff --git a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr index 665fe34101..4ee3c28f0e 100755 --- a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr +++ b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr @@ -8,7 +8,7 @@ # See /LICENSE for more information. # -START=70 +START=95 STOP=15 SERVICE_DAEMONIZE=1 @@ -373,7 +373,7 @@ start_redir() { else threads=$(uci_get_by_type global threads) fi - redir_tcp=1 + if [ "$stype" == "ss" -o "$stype" == "ssr" ]; then local last_config_file=$CONFIG_FILE local pid_file="/var/run/ssr-retcp.pid" @@ -440,7 +440,6 @@ start_redir() { fi if [ -n "$UDP_RELAY_SERVER" ]; then - redir_udp=1 if [ "$utype" == "ss" -o "$utype" == "ssr" ]; then case "$(uci_get_by_name $UDP_RELAY_SERVER auth_enable)" in 1 | on | true | yes | enabled) ARG_OTA="-A" ;; @@ -604,10 +603,15 @@ start_local() { } rules() { - [ "$GLOBAL_SERVER" == "nil" ] && return 1 + if [ "$GLOBAL_SERVER" == "nil" ]; then + return 1 + else + redir_tcp=1 + fi mkdir -p /var/run /var/etc UDP_RELAY_SERVER=$(uci_get_by_type global udp_relay_server) [ "$UDP_RELAY_SERVER" == "same" ] && UDP_RELAY_SERVER=$GLOBAL_SERVER + [ -n "$UDP_RELAY_SERVER" ] && redir_udp=1 if start_rules; then return 0 else From 1441431c43973813c2d65050c99464ab514da497 Mon Sep 17 00:00:00 2001 From: AmadeusGhost <42570690+AmadeusGhost@users.noreply.github.com> Date: Wed, 25 Mar 2020 11:05:23 +0800 Subject: [PATCH 02/10] kernel: iio.mk: add missing kernel modules (#4008) This commit fix: SPS30 particulate matter sensor (SPS30) [N/m/y/?] (NEW) Run-tested-on: sunxi Signed-off-by: AmadeusGhost <42570690+AmadeusGhost@users.noreply.github.com> --- package/kernel/linux/modules/iio.mk | 178 +++++++++++++++++++++++++--- 1 file changed, 162 insertions(+), 16 deletions(-) diff --git a/package/kernel/linux/modules/iio.mk b/package/kernel/linux/modules/iio.mk index 1ec3c968d3..17ffdc3441 100644 --- a/package/kernel/linux/modules/iio.mk +++ b/package/kernel/linux/modules/iio.mk @@ -12,16 +12,9 @@ define KernelPackage/iio-core KCONFIG:= \ CONFIG_IIO \ CONFIG_IIO_BUFFER=y \ - CONFIG_IIO_KFIFO_BUF \ - CONFIG_IIO_TRIGGER=y \ - CONFIG_IIO_TRIGGERED_BUFFER - FILES:= \ - $(LINUX_DIR)/drivers/iio/industrialio.ko \ - $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/industrialio-triggered-buffer.ko@lt4.4) \ - $(if $(CONFIG_IIO_TRIGGERED_BUFFER),$(LINUX_DIR)/drivers/iio/buffer/industrialio-triggered-buffer.ko@ge4.4) \ - $(LINUX_DIR)/drivers/iio/kfifo_buf.ko@lt4.4 \ - $(LINUX_DIR)/drivers/iio/buffer/kfifo_buf.ko@ge4.4 - AUTOLOAD:=$(call AutoLoad,55,industrialio kfifo_buf industrialio-triggered-buffer) + CONFIG_IIO_TRIGGER=y + FILES:=$(LINUX_DIR)/drivers/iio/industrialio.ko + AUTOLOAD:=$(call AutoLoad,55,industrialio) endef define KernelPackage/iio-core/description @@ -33,9 +26,42 @@ endef $(eval $(call KernelPackage,iio-core)) +define KernelPackage/iio-kfifo-buf + SUBMENU:=$(IIO_MENU) + TITLE:=Industrial I/O buffering based on kfifo + DEPENDS:=+kmod-iio-core + KCONFIG:=CONFIG_IIO_KFIFO_BUF + FILES:=$(LINUX_DIR)/drivers/iio/buffer/kfifo_buf.ko + AUTOLOAD:=$(call AutoLoad,55,kfifo_buf) +endef + +define KernelPackage/iio-kfifo-buf/description + A simple fifo based on kfifo. Note that this currently provides no buffer + events so it is up to userspace to work out how often to read from the buffer. +endef + +$(eval $(call KernelPackage,iio-kfifo-buf)) + + +define KernelPackage/industrialio-triggered-buffer + SUBMENU:=$(IIO_MENU) + TITLE:=Provides helper functions for setting up triggered buffers. + DEPENDS:=+kmod-iio-core +kmod-iio-kfifo-buf + KCONFIG:=CONFIG_IIO_TRIGGERED_BUFFER + FILES:=$(LINUX_DIR)/drivers/iio/buffer/industrialio-triggered-buffer.ko + AUTOLOAD:=$(call AutoLoad,55,industrialio-triggered-buffer) +endef + +define KernelPackage/industrialio-triggered-buffer/description + Provides helper functions for setting up triggered buffers. +endef + +$(eval $(call KernelPackage,industrialio-triggered-buffer)) + + define KernelPackage/iio-ad799x SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-i2c-core +kmod-iio-core + DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer TITLE:=Analog Devices AD799x ADC driver KCONFIG:= \ CONFIG_AD799X_RING_BUFFER=y \ @@ -54,7 +80,7 @@ $(eval $(call KernelPackage,iio-ad799x)) define KernelPackage/iio-hmc5843 SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-regmap-i2c + DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-regmap-i2c +kmod-industrialio-triggered-buffer TITLE:=Honeywell HMC58x3 Magnetometer KCONFIG:= CONFIG_SENSORS_HMC5843_I2C FILES:= \ @@ -84,7 +110,7 @@ $(eval $(call KernelPackage,iio-bh1750)) define KernelPackage/iio-am2315 SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-i2c-core +kmod-iio-core + DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer TITLE:=Asong AM2315 humidity/temperature sensor KCONFIG:= CONFIG_AM2315 FILES:=$(LINUX_DIR)/drivers/iio/humidity/am2315.ko @@ -97,7 +123,7 @@ $(eval $(call KernelPackage,iio-am2315)) define KernelPackage/iio-mxs-lradc SUBMENU:=$(IIO_MENU) - DEPENDS:=@TARGET_mxs +kmod-iio-core + DEPENDS:=@TARGET_mxs +kmod-iio-core +kmod-industrialio-triggered-buffer TITLE:=Freescale i.MX23/i.MX28 LRADC ADC driver KCONFIG:= \ CONFIG_MXS_LRADC_ADC @@ -133,7 +159,7 @@ $(eval $(call KernelPackage,iio-dht11)) define KernelPackage/iio-bme680 SUBMENU:=$(IIO_MENU) TITLE:=BME680 gas/humidity/pressure/temperature sensor - DEPENDS:=@LINUX_4_19 +kmod-iio-core +kmod-regmap-core + DEPENDS:=@!LINUX_4_14 +kmod-iio-core +kmod-regmap-core KCONFIG:=CONFIG_BME680 FILES:=$(LINUX_DIR)/drivers/iio/chemical/bme680_core.ko endef @@ -247,7 +273,7 @@ $(eval $(call KernelPackage,iio-htu21)) define KernelPackage/iio-ccs811 SUBMENU:=$(IIO_MENU) - DEPENDS:=+kmod-i2c-core +kmod-iio-core + DEPENDS:=+kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer TITLE:=AMS CCS811 VOC sensor KCONFIG:= \ CONFIG_CCS811 @@ -280,6 +306,76 @@ endef $(eval $(call KernelPackage,iio-si7020)) +define KernelPackage/iio-st_accel + SUBMENU:=$(IIO_MENU) + TITLE:=STMicroelectronics accelerometer 3-Axis Driver + DEPENDS:=+kmod-iio-core +kmod-regmap-core +kmod-industrialio-triggered-buffer + KCONFIG:= \ + CONFIG_IIO_ST_ACCEL_3AXIS \ + CONFIG_IIO_ST_SENSORS_CORE + FILES:= \ + $(LINUX_DIR)/drivers/iio/accel/st_accel.ko \ + $(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors.ko +endef + +define KernelPackage/iio-st_accel/description + This package adds support for STMicroelectronics accelerometers: + LSM303DLH, LSM303DLHC, LIS3DH, LSM330D, LSM330DL, LSM330DLC, + LIS331DLH, LSM303DL, LSM303DLM, LSM330, LIS2DH12, H3LIS331DL, + LNG2DM, LIS3DE, LIS2DE12 +endef + +$(eval $(call KernelPackage,iio-st_accel)) + + +define KernelPackage/iio-st_sensors-i2c + SUBMENU:=$(IIO_MENU) + TITLE:=STMicroelectronics accelerometer 3-Axis Driver (I2C) + DEPENDS:=+kmod-iio-st_accel +kmod-i2c-core +kmod-regmap-i2c + KCONFIG:= CONFIG_IIO_ST_ACCEL_I2C_3AXIS + FILES:=$(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors_i2c.ko + AUTOLOAD:=$(call AutoLoad,56,st_sensors_i2c) +endef + +define KernelPackage/iio-st_sensors-i2c/description + This package adds support for STMicroelectronics I2C based accelerometers +endef + +$(eval $(call KernelPackage,iio-st_sensors-i2c)) + + +define KernelPackage/iio-sps30 + SUBMENU:=$(IIO_MENU) + DEPENDS:=@!LINUX_4_14 +kmod-i2c-core +kmod-iio-core +kmod-industrialio-triggered-buffer +kmod-lib-crc8 + TITLE:=Sensirion SPS30 particulate matter sensor + KCONFIG:=CONFIG_SPS30 + FILES:=$(LINUX_DIR)/drivers/iio/chemical/sps30.ko + AUTOLOAD:=$(call AutoProbe,sps30) +endef + +define KernelPackage/iio-sps30/description + Support for the Sensirion SPS30 particulate matter sensor. +endef + +$(eval $(call KernelPackage,iio-sps30)) + + +define KernelPackage/iio-st_sensors-spi + SUBMENU:=$(IIO_MENU) + TITLE:=STMicroelectronics accelerometer 3-Axis Driver (SPI) + DEPENDS:=+kmod-iio-st_accel +kmod-regmap-spi + KCONFIG:= CONFIG_IIO_ST_ACCEL_SPI_3AXIS + FILES:=$(LINUX_DIR)/drivers/iio/common/st_sensors/st_sensors_spi.ko + AUTOLOAD:=$(call AutoLoad,56,st_sensors_spi) +endef + +define KernelPackage/iio-st_sensors-spi/description + This package adds support for STMicroelectronics SPI based accelerometers +endef + +$(eval $(call KernelPackage,iio-st_sensors-spi)) + + define KernelPackage/iio-tsl4531 SUBMENU:=$(IIO_MENU) DEPENDS:=+kmod-i2c-core +kmod-iio-core @@ -296,3 +392,53 @@ define KernelPackage/iio-tsl4531/description endef $(eval $(call KernelPackage,iio-tsl4531)) + + +define KernelPackage/iio-fxos8700 + SUBMENU:=$(IIO_MENU) + TITLE:=Freescale FXOS8700 3-axis accelerometer driver + DEPENDS:=+kmod-iio-core +kmod-regmap-core + KCONFIG:= CONFIG_FXOS8700 + FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_core.ko + AUTOLOAD:=$(call AutoLoad,56,fxos8700) +endef + +define KernelPackage/iio-fxos8700/description + Support for Freescale FXOS8700 3-axis accelerometer. +endef + +$(eval $(call KernelPackage,iio-fxos8700)) + + +define KernelPackage/iio-fxos8700-i2c + SUBMENU:=$(IIO_MENU) + TITLE:=Freescale FXOS8700 3-axis acceleromter driver (I2C) + DEPENDS:=+kmod-iio-fxos8700 +kmod-i2c-core +kmod-regmap-i2c + KCONFIG:= CONFIG_FXOS8700_I2C + FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_i2c.ko + AUTOLOAD:=$(call AutoLoad,56,fxos8700_i2c) +endef + +define KernelPackage/iio-fxos8700-i2c/description + Support for Freescale FXOS8700 3-axis accelerometer + connected via I2C. +endef + + +$(eval $(call KernelPackage,iio-fxos8700-i2c)) + +define KernelPackage/iio-fxos8700-spi + SUBMENU:=$(IIO_MENU) + DEPENDS:=+kmod-iio-fxos8700 +kmod-regmap-spi + TITLE:=Freescale FXOS8700 3-axis accelerometer driver (SPI) + KCONFIG:= CONFIG_FXOS8700_SPI + FILES:=$(LINUX_DIR)/drivers/iio/imu/fxos8700_spi.ko + AUTOLOAD:=$(call AutoLoad,56,fxos8700_spi) +endef + +define KernelPackage/iio-fxos8700-spi/description + Support for Freescale FXOS8700 3-axis accelerometer + connected via SPI. +endef + +$(eval $(call KernelPackage,iio-fxos8700-spi)) From aca84b5c7cb2d528ab38dc6663db0c59bce15984 Mon Sep 17 00:00:00 2001 From: Mattraks <16359027+Mattraks@users.noreply.github.com> Date: Wed, 25 Mar 2020 11:06:07 +0800 Subject: [PATCH 03/10] v2ray: bump to V4.23.1 (#3979) --- package/lean/v2ray/Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/package/lean/v2ray/Makefile b/package/lean/v2ray/Makefile index c1bd33f4df..40cee8e850 100644 --- a/package/lean/v2ray/Makefile +++ b/package/lean/v2ray/Makefile @@ -9,13 +9,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=v2ray -PKG_VERSION:=4.22.1 -PKG_RELEASE:=8 +PKG_VERSION:=4.23.1 +PKG_RELEASE:=1 PKG_BUILD_DIR:=$(BUILD_DIR)/v2ray-core-$(PKG_VERSION) PKG_SOURCE:=v2ray-core-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=https://codeload.github.com/v2ray/v2ray-core/tar.gz/v$(PKG_VERSION)? -PKG_HASH:=31c1934eeac3552c7ab68eac9dc3e964e05f3c743b3733b0b6a0159c495019d6 +PKG_HASH:=474b3aeed069d9867f7603a0544abcc0f31386cef9254423577ab752fc8d4dcc PKG_LICENSE:=MIT PKG_LICENSE_FILES:=LICENSE From 471d013962c0fd7adb6d3c527d7c2f6416d16ec1 Mon Sep 17 00:00:00 2001 From: bearbazooka <61374101+bearbazooka@users.noreply.github.com> Date: Wed, 25 Mar 2020 11:06:38 +0800 Subject: [PATCH 04/10] Update README.md (#3973) --- README.md | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 65fdd92780..7f0b804002 100644 --- a/README.md +++ b/README.md @@ -27,12 +27,32 @@ sudo apt-get -y install build-essential asciidoc binutils bzip2 gawk gettext git make menuconfig ``` -5. 最后选好你要的路由,输入 `make -j1 V=s` (-j1 后面是线程数。第一次编译推荐用单线程,国内请尽量全局科学上网)即可开始编译你要的固件了。 +5. `make download v=s` 下载dl库(国内请尽量全局科学上网) + + +6. 输入 `make -j1 V=s` (-j1 后面是线程数。第一次编译推荐用单线程)即可开始编译你要的固件了。 本套代码保证肯定可以编译成功。里面包括了 R20 所有源代码,包括 IPK 的。 你可以自由使用,但源码编译二次发布请注明我的 GitHub 仓库链接。谢谢合作! = + +二次编译: + +`cd lede` +`git pull` +`./scripts/feeds update -a && ./scripts/feeds install -a` + `make defconfig` +`make -jn V=s` n=线程数+1,例如4线程的I5填-j5,开始编译 + +需要重新配置: + +`rm -rf ./tmp && rm -rf .config` +`make menuconfig` +`make -jn V=s` n=线程数+1,例如4线程的I5填-j5,开始编译 + +编译完成后输出路径:/lede/bin/targets + 特别提示: ------ 1.源代码中绝不含任何后门和可以监控或者劫持你的 HTTPS 的闭源软件,SSL 安全是互联网最后的壁垒。安全干净才是固件应该做到的; From 1681ef96da7bb5ffcce831681a5c4253a4d765ac Mon Sep 17 00:00:00 2001 From: lean Date: Wed, 25 Mar 2020 11:21:07 +0800 Subject: [PATCH 05/10] luci-app-ssr-plus: return quic by default --- package/lean/luci-app-ssr-plus/Makefile | 2 +- .../luasrc/model/cbi/shadowsocksr/advanced.lua | 6 +++--- package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr | 2 +- package/lean/luci-app-ssr-plus/root/usr/bin/ssr-rules | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/package/lean/luci-app-ssr-plus/Makefile b/package/lean/luci-app-ssr-plus/Makefile index 4b1b7d8ef7..e983172f50 100644 --- a/package/lean/luci-app-ssr-plus/Makefile +++ b/package/lean/luci-app-ssr-plus/Makefile @@ -2,7 +2,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-ssr-plus PKG_VERSION:=174 -PKG_RELEASE:=5 +PKG_RELEASE:=6 PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME) diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua index d166b89dd2..353b6282f2 100644 --- a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/advanced.lua @@ -22,9 +22,9 @@ m = Map("shadowsocksr") s = m:section(TypedSection, "global", translate("Server failsafe auto swith and custom update settings")) s.anonymous = true -o = s:option(Flag, "monitor_enable", translate("Enable Process Deamon")) -o.rmempty = false -o.default = "1" +-- o = s:option(Flag, "monitor_enable", translate("Enable Process Deamon")) +-- o.rmempty = false +-- o.default = "1" o = s:option(Flag, "enable_switch", translate("Enable Auto Switch")) o.rmempty = false diff --git a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr index 4ee3c28f0e..e2eef3d428 100755 --- a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr +++ b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr @@ -684,7 +684,7 @@ start() { fi start_server start_local - if [ $(uci_get_by_type global monitor_enable 0) == "1" ]; then + if [ $(uci_get_by_type global monitor_enable 1) == "1" ]; then let total_count=server_count+redir_tcp+redir_udp+tunnel_enable+kcp_enable_flag+local_enable+pdnsd_enable_flag+switch_enable if [ $total_count -gt 0 ]; then #param:server(count) redir_tcp(0:no,1:yes) redir_udp tunnel kcp local gfw diff --git a/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-rules b/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-rules index 37c0291b3a..9719b82999 100755 --- a/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-rules +++ b/package/lean/luci-app-ssr-plus/root/usr/bin/ssr-rules @@ -197,8 +197,8 @@ tp_rule() { ip route add local 0.0.0.0/0 dev lo table 100 local ipt="iptables -t mangle" $ipt -N SS_SPEC_TPROXY - $ipt -A SS_SPEC_TPROXY -p udp --dport 443 -j DROP - $ipt -A SS_SPEC_TPROXY -p udp --dport 80 -j DROP + $ipt -A SS_SPEC_TPROXY -p udp --dport 443 -j RETURN + $ipt -A SS_SPEC_TPROXY -p udp --dport 80 -j RETURN $ipt -A SS_SPEC_TPROXY -p udp --dport 53 -j RETURN $ipt -A SS_SPEC_TPROXY -p udp -d 0.0.0.0/8 -j RETURN $ipt -A SS_SPEC_TPROXY -p udp -d 10.0.0.0/8 -j RETURN From 7346fdca126fd9be7b5e36047800517236f81577 Mon Sep 17 00:00:00 2001 From: lean Date: Wed, 25 Mar 2020 11:43:13 +0800 Subject: [PATCH 06/10] Revert "x86: fix path for qemu-img (#3856)" This reverts commit d291e2495609a515ebddc52de553bf3ed97cf6bf. --- target/linux/x86/image/Makefile | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/target/linux/x86/image/Makefile b/target/linux/x86/image/Makefile index 094a2cffb8..86bb8cf1e9 100644 --- a/target/linux/x86/image/Makefile +++ b/target/linux/x86/image/Makefile @@ -227,7 +227,7 @@ endef ifneq ($(CONFIG_VDI_IMAGES),) define Image/Build/vdi rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vdi || true - $(STAGING_DIR_HOST)/bin/qemu-img convert -f raw -O vdi \ + qemu-img convert -f raw -O vdi \ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vdi # XXX: VBoxManage insists on setting perms to 0600 @@ -235,7 +235,7 @@ ifneq ($(CONFIG_VDI_IMAGES),) endef define Image/Build/vdi_efi rm $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).vdi || true - $(STAGING_DIR_HOST)/bin/qemu-img convert -f raw -O vdi \ + qemu-img convert -f raw -O vdi \ $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).img \ $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).vdi # XXX: VBoxManage insists on setting perms to 0600 @@ -246,13 +246,13 @@ endif ifneq ($(CONFIG_VMDK_IMAGES),) define Image/Build/vmdk rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vmdk || true - $(STAGING_DIR_HOST)/bin/qemu-img convert -f raw -O vmdk -o adapter_type=lsilogic \ + /usr/bin/qemu-img convert -f raw -O vmdk -o adapter_type=lsilogic \ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vmdk endef define Image/Build/vmdk_efi rm $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).vmdk || true - $(STAGING_DIR_HOST)/bin/qemu-img convert -f raw -O vmdk -o adapter_type=lsilogic \ + /usr/bin/qemu-img convert -f raw -O vmdk -o adapter_type=lsilogic \ $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).img \ $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).vmdk endef @@ -261,13 +261,13 @@ endif ifneq ($(CONFIG_VHD_IMAGES),) define Image/Build/vhd rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vhdx || true - $(STAGING_DIR_HOST)/bin/qemu-img convert -O vhdx \ + /usr/bin/qemu-img convert -O vhdx \ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).vhdx endef define Image/Build/vhd_efi rm $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).vhdx || true - $(STAGING_DIR_HOST)/bin/qemu-img convert -O vhdx \ + /usr/bin/qemu-img convert -O vhdx \ $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).img \ $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).vhdx endef @@ -276,13 +276,13 @@ endif ifneq ($(CONFIG_QCOW2_IMAGES),) define Image/Build/qcow2 rm $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).qcow2 || true - $(STAGING_DIR_HOST)/bin/qemu-img convert -f raw -O qcow2 \ + /usr/bin/qemu-img convert -f raw -O qcow2 \ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).img \ $(BIN_DIR)/$(IMG_PREFIX)-combined-$(1).qcow2 endef define Image/Build/qcow2_efi rm $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).qcow2 || true - $(STAGING_DIR_HOST)/bin/qemu-img convert -f raw -O qcow2 \ + /usr/bin/qemu-img convert -f raw -O qcow2 \ $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).img \ $(BIN_DIR)/$(IMG_PREFIX)-uefi-gpt-$(1).qcow2 endef From 2c95a9f5e6a4514d0d6a6b04a2855feade17cdb9 Mon Sep 17 00:00:00 2001 From: lean Date: Wed, 25 Mar 2020 12:17:48 +0800 Subject: [PATCH 07/10] libubox:fix array out of bounds GCC 10 warning --- package/libs/libubox/Makefile | 8 ++++---- package/system/ubus/Makefile | 9 +++++---- package/system/ucert/Makefile | 9 ++++----- package/system/uci/Makefile | 9 +++++---- package/system/uci/files/lib/config/uci.sh | 20 +++++++++++++++++++- 5 files changed, 37 insertions(+), 18 deletions(-) diff --git a/package/libs/libubox/Makefile b/package/libs/libubox/Makefile index 1c318b3e48..2c5c218b21 100644 --- a/package/libs/libubox/Makefile +++ b/package/libs/libubox/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/libubox.git -PKG_SOURCE_DATE:=2019-06-16 -PKG_SOURCE_VERSION:=ecf56174da9614a0b3107d33def463eefb4d7785 -PKG_MIRROR_HASH:=e3dd137d69848b8cf2dbc58d70452586dd4178b55977896ea3a9dedaf62c768c +PKG_MIRROR_HASH:=f3b5c23280016bbe4b825de81cd455507ca817f599c5cd9f888370d9a33f6c9e +PKG_SOURCE_DATE:=2020-02-27 +PKG_SOURCE_VERSION:=7da66430de3fc235bfc6ebb0b85fb90ea246138d CMAKE_INSTALL:=1 PKG_LICENSE:=ISC @@ -27,7 +27,7 @@ define Package/libubox SECTION:=libs CATEGORY:=Libraries TITLE:=Basic utility library - ABI_VERSION:=20170601 + ABI_VERSION:=20191228 DEPENDS:= endef diff --git a/package/system/ubus/Makefile b/package/system/ubus/Makefile index 3b0a95598d..ab2cdbd99a 100644 --- a/package/system/ubus/Makefile +++ b/package/system/ubus/Makefile @@ -5,16 +5,17 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/ubus.git -PKG_SOURCE_DATE:=2018-10-06 -PKG_SOURCE_VERSION:=221ce7e7ff1bd1a0c9995fa9d32f58e865f7207f -PKG_MIRROR_HASH:=e6ab3f009688740eb6d7a1857df59a6ba10ae8ae0fac78ae0fd6672f71c02dce +PKG_SOURCE_DATE:=2020-01-05 +PKG_SOURCE_VERSION:=d35df8adda873dc75d876f72b78e84db8cfa72ee +PKG_MIRROR_HASH:=bbe69a7b7df98310f6a6dba344b6190f4ba3ebcc6333b9c4b884feda0a7470e6 CMAKE_INSTALL:=1 PKG_LICENSE:=LGPL-2.1 PKG_LICENSE_FILES:= - PKG_MAINTAINER:=Felix Fietkau +PKG_ASLR_PIE_REGULAR:=1 + include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/cmake.mk diff --git a/package/system/ucert/Makefile b/package/system/ucert/Makefile index 5b4c6b12ca..bb095c0f51 100644 --- a/package/system/ucert/Makefile +++ b/package/system/ucert/Makefile @@ -5,9 +5,9 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/ucert.git -PKG_SOURCE_DATE:=2018-09-18 -PKG_SOURCE_VERSION:=e1c722b1b6cbf2527b3178342464e56b97825874 -PKG_MIRROR_HASH:=36dcca7c2d649a6c34a8daaaef4698fbeb808fd6580c6bfb1ca35f4f06825d17 +PKG_SOURCE_DATE:=2019-12-19 +PKG_SOURCE_VERSION:=14a279411cff06f9b1363711df4ec3b5db73f042 +PKG_MIRROR_HASH:=797f35138c6e1099a839e768d9e01db022223884d9e0a6d09965e625caf0ae79 CMAKE_INSTALL:=1 PKG_CHECK_FORMAT_SECURITY:=1 @@ -17,8 +17,6 @@ PKG_LICENSE_FILES:=COPYING PKG_MAINTAINER:=Daniel Golle -PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_NAME)-$(PKG_VERSION) - include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/host-build.mk include $(INCLUDE_DIR)/cmake.mk @@ -47,6 +45,7 @@ define Package/ucert CATEGORY:=Base system DEPENDS:=+usign +libubox TITLE:=OpenWrt certificate verification utility + PROVIDES:=ucert CONFLICTS:=ucert-full VARIANT:=tiny endef diff --git a/package/system/uci/Makefile b/package/system/uci/Makefile index 0f7ef68f17..5c2b68f00a 100644 --- a/package/system/uci/Makefile +++ b/package/system/uci/Makefile @@ -9,13 +9,13 @@ include $(TOPDIR)/rules.mk PKG_NAME:=uci -PKG_RELEASE:=1 +PKG_RELEASE:=3 PKG_SOURCE_URL=$(PROJECT_GIT)/project/uci.git PKG_SOURCE_PROTO:=git -PKG_SOURCE_DATE=2018-08-11 -PKG_SOURCE_VERSION:=4c8b4d6efc8302b508d261573351fffb75bd98c2 -PKG_MIRROR_HASH:=c1f0f565921c71ff9231508c7c249baacad4c3ae1a3fade25c37bcb2bf7a7b5f +PKG_SOURCE_DATE=2020-01-27 +PKG_SOURCE_VERSION:=e8d83732f9eb571dce71aa915ff38a072579610b +PKG_MIRROR_HASH:=f39f82b71bc1072e4bcadaeb392d51055b2be72c41744bb97897a3ac63ce0805 PKG_LICENSE:=LGPL-2.1 PKG_LICENSE_FILES:= @@ -35,6 +35,7 @@ define Package/libuci CATEGORY:=Libraries TITLE:=C library for the Unified Configuration Interface (UCI) DEPENDS:=+libubox + ABI_VERSION:=20130104 endef define Package/uci diff --git a/package/system/uci/files/lib/config/uci.sh b/package/system/uci/files/lib/config/uci.sh index 78ec277669..1e85ced834 100644 --- a/package/system/uci/files/lib/config/uci.sh +++ b/package/system/uci/files/lib/config/uci.sh @@ -85,6 +85,15 @@ uci_set() { /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} set "$PACKAGE.$CONFIG.$OPTION=$VALUE" } +uci_add_list() { + local PACKAGE="$1" + local CONFIG="$2" + local OPTION="$3" + local VALUE="$4" + + /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} add_list "$PACKAGE.$CONFIG.$OPTION=$VALUE" +} + uci_get_state() { uci_get "$1" "$2" "$3" "$4" "/var/state" } @@ -108,7 +117,7 @@ uci_add() { local CONFIG="$3" if [ -z "$CONFIG" ]; then - export ${NO_EXPORT:+-n} CONFIG_SECTION="$(/sbin/uci add "$PACKAGE" "$TYPE")" + export ${NO_EXPORT:+-n} CONFIG_SECTION="$(/sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} add "$PACKAGE" "$TYPE")" else /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} set "$PACKAGE.$CONFIG=$TYPE" export ${NO_EXPORT:+-n} CONFIG_SECTION="$CONFIG" @@ -132,6 +141,15 @@ uci_remove() { /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} del "$PACKAGE.$CONFIG${OPTION:+.$OPTION}" } +uci_remove_list() { + local PACKAGE="$1" + local CONFIG="$2" + local OPTION="$3" + local VALUE="$4" + + /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} del_list "$PACKAGE.$CONFIG.$OPTION=$VALUE" +} + uci_commit() { local PACKAGE="$1" /sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} commit $PACKAGE From 076c3b7e49282832df2ac8f80f6da4f0004383cc Mon Sep 17 00:00:00 2001 From: lean Date: Wed, 25 Mar 2020 12:33:27 +0800 Subject: [PATCH 08/10] openwrt-fullconenat: bump to 2019-10-21 --- package/lean/openwrt-fullconenat/Makefile | 6 +++--- .../patches/000-printk.patch | 17 ----------------- 2 files changed, 3 insertions(+), 20 deletions(-) delete mode 100644 package/lean/openwrt-fullconenat/patches/000-printk.patch diff --git a/package/lean/openwrt-fullconenat/Makefile b/package/lean/openwrt-fullconenat/Makefile index 5d07f1d830..c4a346a0a3 100644 --- a/package/lean/openwrt-fullconenat/Makefile +++ b/package/lean/openwrt-fullconenat/Makefile @@ -9,12 +9,12 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/kernel.mk PKG_NAME:=fullconenat -PKG_RELEASE:=1 +PKG_RELEASE:=2 -PKG_SOURCE_DATE:=2018-12-15 +PKG_SOURCE_DATE:=2019-10-21 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL:=https://github.com/Chion82/netfilter-full-cone-nat.git -PKG_SOURCE_VERSION:=d4daedd0e25309e822577e92b96ae4c7184abe83 +PKG_SOURCE_VERSION:=0cf3b48fd7d2fa81d0297d1fff12bbd0580fc435 PKG_LICENSE:=GPL-2.0 PKG_LICENSE_FILES:=LICENSE diff --git a/package/lean/openwrt-fullconenat/patches/000-printk.patch b/package/lean/openwrt-fullconenat/patches/000-printk.patch deleted file mode 100644 index cc0193f820..0000000000 --- a/package/lean/openwrt-fullconenat/patches/000-printk.patch +++ /dev/null @@ -1,17 +0,0 @@ -diff --git a/xt_FULLCONENAT.c b/xt_FULLCONENAT.c -index 9e52eba..8658c5f 100644 ---- a/xt_FULLCONENAT.c -+++ b/xt_FULLCONENAT.c -@@ -697,9 +697,11 @@ static struct xt_target tg_reg[] __read_mostly = { - - static int __init fullconenat_tg_init(void) - { -+ printk(KERN_INFO "xt_FULLCONENAT: RFC3489 Full Cone NAT module\n" -+ "xt_FULLCONENAT: Copyright (C) 2018 Chion Tang \n"); - wq = create_singlethread_workqueue("xt_FULLCONENAT"); - if (wq == NULL) { -- printk("xt_FULLCONENAT: warning: failed to create workqueue\n"); -+ printk(KERN_WARNING "xt_FULLCONENAT: warning: failed to create workqueue\n"); - } - - return xt_register_targets(tg_reg, ARRAY_SIZE(tg_reg)); From 334f365c2be32243c24cec13662964c1764a4a11 Mon Sep 17 00:00:00 2001 From: lean Date: Wed, 25 Mar 2020 12:59:53 +0800 Subject: [PATCH 09/10] rpcd: activate PIE ASLR by default --- package/libs/ustream-ssl/Makefile | 12 +++++------- package/system/rpcd/Makefile | 11 ++++++----- package/system/rpcd/files/rpcd.init | 9 +++------ 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/package/libs/ustream-ssl/Makefile b/package/libs/ustream-ssl/Makefile index a15f3d8ab8..f117f063fe 100644 --- a/package/libs/ustream-ssl/Makefile +++ b/package/libs/ustream-ssl/Makefile @@ -5,13 +5,11 @@ PKG_RELEASE:=1 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/ustream-ssl.git -PKG_SOURCE_DATE:=2018-07-30 -PKG_SOURCE_VERSION:=23a3f2830341acd1db149175baf7315a33bd0edb -PKG_MIRROR_HASH:=289bef5dac684015b6a40cfd72cf1c8c297bb77cf2efd54e562b628ba3afd83d +PKG_SOURCE_DATE:=2020-01-05 +PKG_SOURCE_VERSION:=30cebb4fc78e49e0432a404f7c9dd8c9a93b3cc3 +PKG_MIRROR_HASH:=b37b730b8fcd5186d7b194a6e90b79efad845ec89e2b9d2d49b4d347c7c4cbcb CMAKE_INSTALL:=1 -PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_NAME)-$(BUILD_VARIANT)/$(PKG_SOURCE_SUBDIR) - PKG_LICENSE:=ISC PKG_LICENSE_FILES:= @@ -51,8 +49,8 @@ define Package/libustream-mbedtls endef ifeq ($(BUILD_VARIANT),wolfssl) - TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/cyassl -DHAVE_SNI - CMAKE_OPTIONS += -DCYASSL=on + TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include/wolfssl + CMAKE_OPTIONS += -DWOLFSSL=on endif ifeq ($(BUILD_VARIANT),mbedtls) CMAKE_OPTIONS += -DMBEDTLS=on diff --git a/package/system/rpcd/Makefile b/package/system/rpcd/Makefile index 14cbdaf9c6..3e85f0ce11 100644 --- a/package/system/rpcd/Makefile +++ b/package/system/rpcd/Makefile @@ -8,19 +8,20 @@ include $(TOPDIR)/rules.mk PKG_NAME:=rpcd -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE_PROTO:=git PKG_SOURCE_URL=$(PROJECT_GIT)/project/rpcd.git -PKG_SOURCE_DATE:=2018-11-28 -PKG_SOURCE_VERSION:=3aa81d0dfae167eccc26203bd0c96f3e3450f253 +PKG_SOURCE_DATE:=2020-01-05 +PKG_SOURCE_VERSION:=efe51f41d6288fa8503cc4f2efb37a777767d505 PKG_MAINTAINER:=Jo-Philipp Wich -PKG_MIRROR_HASH:=1befc5e1793a687e7a37b4f4d611e5f95aef4b79ad4b288c4dcb4c74d212509b +PKG_MIRROR_HASH:=cf4bd4670ce8d49f5fb97f0e74a817324c1a503c90527282e30365d8b9a2e17a PKG_LICENSE:=ISC PKG_LICENSE_FILES:= PKG_BUILD_PARALLEL:=1 +PKG_ASLR_PIE_REGULAR:=1 include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/cmake.mk @@ -39,7 +40,7 @@ endef define Package/rpcd $(Package/rpcd/default) - DEPENDS+= +libuci +libblobmsg-json + DEPENDS+= +libuci +libblobmsg-json +libjson-c endef define Package/rpcd/description diff --git a/package/system/rpcd/files/rpcd.init b/package/system/rpcd/files/rpcd.init index 0a37ee19f9..f75d0e0f0e 100755 --- a/package/system/rpcd/files/rpcd.init +++ b/package/system/rpcd/files/rpcd.init @@ -12,13 +12,10 @@ start_service() { procd_open_instance procd_set_param command "$PROG" ${socket:+-s "$socket"} ${timeout:+-t "$timeout"} + procd_set_param respawn procd_close_instance } -stop() { - service_stop /sbin/rpcd -} - -reload() { - service_reload /sbin/rpcd +reload_service() { + procd_send_signal rpcd } From d29f9dbeb99b2b62f1048d1eab241cbb3f28b5e5 Mon Sep 17 00:00:00 2001 From: lean Date: Wed, 25 Mar 2020 13:42:28 +0800 Subject: [PATCH 10/10] lua: fix build with MacOS's make --- package/utils/lua/Makefile | 15 +++-- .../001-include-version-number.patch | 57 +++++++++++++++++++ .../010-lua-5.1.3-lnum-full-260308.patch | 53 ++++++++--------- ...2-lnum-fix-ltle-relational-operators.patch | 4 +- .../013-lnum-strtoul-parsing-fixes.patch | 48 ++++++++++++++++ .../patches/001-include-version-number.patch | 57 +++++++++++++++++++ .../013-lnum-strtoul-parsing-fixes.patch | 48 ++++++++++++++++ .../utils/lua/patches/020-shared_liblua.patch | 8 +-- 8 files changed, 254 insertions(+), 36 deletions(-) create mode 100644 package/utils/lua/patches-host/001-include-version-number.patch create mode 100644 package/utils/lua/patches-host/013-lnum-strtoul-parsing-fixes.patch create mode 100644 package/utils/lua/patches/001-include-version-number.patch create mode 100644 package/utils/lua/patches/013-lnum-strtoul-parsing-fixes.patch diff --git a/package/utils/lua/Makefile b/package/utils/lua/Makefile index 97c18def66..3cdb2bcdb6 100644 --- a/package/utils/lua/Makefile +++ b/package/utils/lua/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=lua PKG_VERSION:=5.1.5 -PKG_RELEASE:=1 +PKG_RELEASE:=7 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.gz PKG_SOURCE_URL:=http://www.lua.org/ftp/ \ @@ -46,6 +46,7 @@ $(call Package/lua/Default) SECTION:=libs CATEGORY:=Libraries TITLE+= (libraries) + ABI_VERSION:=5.1.5 endef define Package/liblua/description @@ -98,7 +99,7 @@ define Build/Compile RANLIB="$(TARGET_CROSS)ranlib" \ INSTALL_ROOT=/usr \ CFLAGS="$(TARGET_CPPFLAGS) $(TARGET_CFLAGS)" \ - MYLDFLAGS="$(TARGET_LDFLAGS)" \ + MYLDFLAGS="$(TARGET_LDFLAGS) $(if $(CONFIG_USE_GLIBC),-lm)" \ PKG_VERSION=$(PKG_VERSION) \ linux rm -rf $(PKG_INSTALL_DIR) @@ -132,11 +133,15 @@ define Host/Install $(MAKE) -C $(HOST_BUILD_DIR) \ INSTALL_TOP="$(STAGING_DIR_HOSTPKG)" \ install + + $(LN) $(STAGING_DIR_HOSTPKG)/bin/lua5.1 $(STAGING_DIR_HOSTPKG)/bin/lua + $(LN) $(STAGING_DIR_HOSTPKG)/bin/luac5.1 $(STAGING_DIR_HOSTPKG)/bin/luac endef define Build/InstallDev $(INSTALL_DIR) $(1)/usr/include $(CP) $(PKG_INSTALL_DIR)/usr/include/lua{,lib,conf}.h $(1)/usr/include/ + $(CP) $(PKG_INSTALL_DIR)/usr/include/lua.hpp $(1)/usr/include/ $(CP) $(PKG_INSTALL_DIR)/usr/include/lauxlib.h $(1)/usr/include/ $(CP) $(PKG_INSTALL_DIR)/usr/include/lnum_config.h $(1)/usr/include/ $(INSTALL_DIR) $(1)/usr/lib @@ -153,12 +158,14 @@ endef define Package/lua/install $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lua $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/lua5.1 $(1)/usr/bin/ + $(LN) lua5.1 $(1)/usr/bin/lua endef define Package/luac/install $(INSTALL_DIR) $(1)/usr/bin - $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/luac $(1)/usr/bin/ + $(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/luac5.1 $(1)/usr/bin/ + $(LN) luac5.1 $(1)/usr/bin/luac endef define Package/lua-examples/install diff --git a/package/utils/lua/patches-host/001-include-version-number.patch b/package/utils/lua/patches-host/001-include-version-number.patch new file mode 100644 index 0000000000..f769e60736 --- /dev/null +++ b/package/utils/lua/patches-host/001-include-version-number.patch @@ -0,0 +1,57 @@ +From 96576b44a1b368bd6590eb0778ae45cc9ccede3f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= +Date: Fri, 21 Jun 2019 14:08:38 +0200 +Subject: [PATCH] include version number + +Including it allows multiple lua versions to coexist. + +Signed-off-by: Rafał Miłecki +--- + +diff --git a/Makefile b/Makefile +--- a/Makefile ++++ b/Makefile +@@ -41,10 +41,10 @@ RANLIB= ranlib + PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris + + # What to install. +-TO_BIN= lua luac ++TO_BIN= lua$V luac$V + TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp + TO_LIB= liblua.a +-TO_MAN= lua.1 luac.1 ++TO_MAN= lua$V.1 luac$V.1 + + # Lua version and release. + V= 5.1 +@@ -53,7 +53,7 @@ R= 5.1.5 + all: $(PLAT) + + $(PLATS) clean: +- cd src && $(MAKE) $@ ++ cd src && $(MAKE) $@ V=$V + + test: dummy + src/lua test/hello.lua +diff --git a/doc/lua.1 b/doc/lua5.1.1 +rename from doc/lua.1 +rename to doc/lua5.1.1 +diff --git a/doc/luac.1 b/doc/luac5.1.1 +rename from doc/luac.1 +rename to doc/luac5.1.1 +diff --git a/src/Makefile b/src/Makefile +--- a/src/Makefile ++++ b/src/Makefile +@@ -29,10 +29,10 @@ CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \ + LIB_O= lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o \ + lstrlib.o loadlib.o linit.o + +-LUA_T= lua ++LUA_T= lua$V + LUA_O= lua.o + +-LUAC_T= luac ++LUAC_T= luac$V + LUAC_O= luac.o print.o + + ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) diff --git a/package/utils/lua/patches-host/010-lua-5.1.3-lnum-full-260308.patch b/package/utils/lua/patches-host/010-lua-5.1.3-lnum-full-260308.patch index 2a04ce02df..4530edd181 100644 --- a/package/utils/lua/patches-host/010-lua-5.1.3-lnum-full-260308.patch +++ b/package/utils/lua/patches-host/010-lua-5.1.3-lnum-full-260308.patch @@ -1,13 +1,13 @@ --- a/Makefile +++ b/Makefile -@@ -42,7 +42,7 @@ +@@ -42,7 +42,7 @@ PLATS= aix ansi bsd freebsd generic linu # What to install. - TO_BIN= lua luac + TO_BIN= lua$V luac$V -TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp +TO_INC= lua.h luaconf.h lualib.h lauxlib.h lnum_config.h ../etc/lua.hpp TO_LIB= liblua.a - TO_MAN= lua.1 luac.1 + TO_MAN= lua$V.1 luac$V.1 --- a/src/Makefile +++ b/src/Makefile @@ -73,7 +73,7 @@ return (t == LUA_TNONE) ? "no value" : luaT_typenames[t]; } -@@ -264,6 +265,14 @@ LUA_API int lua_isnumber (lua_State *L, +@@ -264,6 +265,14 @@ LUA_API int lua_isnumber (lua_State *L, } @@ -88,7 +88,7 @@ LUA_API int lua_isstring (lua_State *L, int idx) { int t = lua_type(L, idx); return (t == LUA_TSTRING || t == LUA_TNUMBER); -@@ -309,31 +318,66 @@ LUA_API int lua_lessthan (lua_State *L, +@@ -309,31 +318,66 @@ LUA_API int lua_lessthan (lua_State *L, } @@ -173,7 +173,7 @@ case LUA_TNUMBER: { size_t l; lua_lock(L); /* `luaV_tostring' may create a new string */ -@@ -426,6 +471,8 @@ LUA_API void lua_pushnil (lua_State *L) +@@ -426,6 +471,8 @@ LUA_API void lua_pushnil (lua_State *L) } @@ -207,7 +207,7 @@ LUA_API void lua_pushlstring (lua_State *L, const char *s, size_t len) { -@@ -569,7 +626,7 @@ LUA_API void lua_rawgeti (lua_State *L, +@@ -569,7 +626,7 @@ LUA_API void lua_rawgeti (lua_State *L, lua_lock(L); o = index2adr(L, idx); api_check(L, ttistable(o)); @@ -216,7 +216,7 @@ api_incr_top(L); lua_unlock(L); } -@@ -597,6 +654,9 @@ LUA_API int lua_getmetatable (lua_State +@@ -597,6 +654,9 @@ LUA_API int lua_getmetatable (lua_State case LUA_TUSERDATA: mt = uvalue(obj)->metatable; break; @@ -226,7 +226,7 @@ default: mt = G(L)->mt[ttype(obj)]; break; -@@ -687,7 +747,7 @@ LUA_API void lua_rawseti (lua_State *L, +@@ -687,7 +747,7 @@ LUA_API void lua_rawseti (lua_State *L, api_checknelems(L, 1); o = index2adr(L, idx); api_check(L, ttistable(o)); @@ -235,7 +235,7 @@ luaC_barriert(L, hvalue(o), L->top-1); L->top--; lua_unlock(L); -@@ -721,7 +781,7 @@ LUA_API int lua_setmetatable (lua_State +@@ -721,7 +781,7 @@ LUA_API int lua_setmetatable (lua_State break; } default: { @@ -297,7 +297,7 @@ #define FREELIST_REF 0 /* free list of references */ -@@ -66,7 +66,7 @@ LUALIB_API int luaL_typerror (lua_State +@@ -66,7 +66,7 @@ LUALIB_API int luaL_typerror (lua_State static void tag_error (lua_State *L, int narg, int tag) { @@ -362,7 +362,7 @@ -@@ -54,20 +56,25 @@ static int luaB_tonumber (lua_State *L) +@@ -54,20 +56,25 @@ static int luaB_tonumber (lua_State *L) int base = luaL_optint(L, 2, 10); if (base == 10) { /* standard conversion */ luaL_checkany(L, 1); @@ -514,7 +514,7 @@ case VKNUM: case VTRUE: case VFALSE: -@@ -451,6 +489,10 @@ int luaK_exp2RK (FuncState *fs, expdesc +@@ -451,6 +489,10 @@ int luaK_exp2RK (FuncState *fs, expdesc if (fs->nk <= MAXINDEXRK) { /* constant fit in RK operand? */ e->u.s.info = (e->k == VNIL) ? nilK(fs) : (e->k == VKNUM) ? luaK_numberK(fs, e->u.nval) : @@ -907,7 +907,7 @@ lua_assert(isdigit(ls->current)); do { save_and_next(ls); -@@ -202,8 +215,9 @@ static void read_numeral (LexState *ls, +@@ -202,8 +215,9 @@ static void read_numeral (LexState *ls, save_and_next(ls); save(ls, '\0'); buffreplace(ls, '.', ls->decpoint); /* follow locale for decimal point */ @@ -1020,6 +1020,7 @@ -#define PI (3.14159265358979323846) -#define RADIANS_PER_DEGREE (PI/180.0) - +- +#ifdef LNUM_FLOAT +# define PI (3.14159265358979323846F) +#elif defined(M_PI) @@ -1028,7 +1029,7 @@ +# define PI (3.14159265358979323846264338327950288) +#endif +#define RADIANS_PER_DEGREE (PI/180) - ++ +#undef HUGE +#ifdef LNUM_FLOAT +# define HUGE HUGE_VALF @@ -2114,7 +2115,7 @@ case LUA_TBOOLEAN: return bvalue(t1) == bvalue(t2); /* boolean true must be 1 !! */ case LUA_TLIGHTUSERDATA: -@@ -86,21 +106,6 @@ int luaO_rawequalObj (const TValue *t1, +@@ -86,21 +106,6 @@ int luaO_rawequalObj (const TValue *t1, } } @@ -2617,7 +2618,7 @@ nums[ceillog2(k)]++; /* count as such */ return 1; } -@@ -308,7 +322,7 @@ static void resize (lua_State *L, Table +@@ -308,7 +322,7 @@ static void resize (lua_State *L, Table /* re-insert elements from vanishing slice */ for (i=nasize; iarray[i])) @@ -2661,7 +2662,7 @@ } while (n); return luaO_nilobject; } -@@ -470,14 +487,12 @@ const TValue *luaH_get (Table *t, const +@@ -470,14 +487,12 @@ const TValue *luaH_get (Table *t, const switch (ttype(key)) { case LUA_TNIL: return luaO_nilobject; case LUA_TSTRING: return luaH_getstr(t, rawtsvalue(key)); @@ -3072,7 +3073,7 @@ /* @@ LUAI_USER_ALIGNMENT_T is a type that requires maximum alignment. ** CHANGE it if your system requires alignments larger than double. (For -@@ -728,28 +652,6 @@ union luai_Cast { double l_d; long l_l; +@@ -728,28 +652,6 @@ union luai_Cast { double l_d; long l_l; #define luai_userstateyield(L,n) ((void)L) @@ -3103,7 +3104,7 @@ /* --- a/src/lundump.c +++ b/src/lundump.c -@@ -73,6 +73,13 @@ static lua_Number LoadNumber(LoadState* +@@ -73,6 +73,13 @@ static lua_Number LoadNumber(LoadState* return x; } @@ -3117,7 +3118,7 @@ static TString* LoadString(LoadState* S) { size_t size; -@@ -119,6 +126,9 @@ static void LoadConstants(LoadState* S, +@@ -119,6 +126,9 @@ static void LoadConstants(LoadState* S, case LUA_TNUMBER: setnvalue(o,LoadNumber(S)); break; @@ -3209,7 +3210,7 @@ setsvalue2s(L, obj, luaS_new(L, s)); return 1; } -@@ -222,59 +234,127 @@ static int l_strcmp (const TString *ls, +@@ -222,59 +234,127 @@ static int l_strcmp (const TString *ls, } @@ -3432,10 +3433,10 @@ + case TM_POW: if (try_powint( ri, ib, ic)) return; break; + case TM_UNM: if (try_unmint( ri, ib)) return; break; + default: lua_assert(0); -+ } + } + } + /* Fallback to floating point, when leaving range. */ -+ + +#ifdef LNUM_COMPLEX + if ((nvalue_img(b)!=0) || (nvalue_img(c)!=0)) { + lua_Complex r; @@ -3455,7 +3456,7 @@ + default: lua_assert(0); r=0; + } + setnvalue_complex( ra, r ); - } ++ } + return; + } +#endif @@ -3476,7 +3477,7 @@ + if (!call_binTM(L, rb, rc, ra, op)) + luaG_aritherror(L, rb, rc); +} - ++ +/* Helper macro to sort arithmetic operations into four categories: + * TK_INT: integer - integer operands + * TK_NUMBER: number - number (non complex, either may be integer) diff --git a/package/utils/lua/patches-host/012-lnum-fix-ltle-relational-operators.patch b/package/utils/lua/patches-host/012-lnum-fix-ltle-relational-operators.patch index 937fc137e8..3d3d6850e2 100644 --- a/package/utils/lua/patches-host/012-lnum-fix-ltle-relational-operators.patch +++ b/package/utils/lua/patches-host/012-lnum-fix-ltle-relational-operators.patch @@ -1,6 +1,6 @@ --- a/src/lvm.c +++ b/src/lvm.c -@@ -284,7 +284,8 @@ int luaV_lessthan (lua_State *L, const T +@@ -281,7 +281,8 @@ int luaV_lessthan (lua_State *L, const T else return luai_numlt( nvalue_fast(l), cast_num(ivalue(r)) ); @@ -10,7 +10,7 @@ return res; return luaG_ordererror(L, l, r); -@@ -322,7 +323,8 @@ static int lessequal (lua_State *L, cons +@@ -319,7 +320,8 @@ static int lessequal (lua_State *L, cons else return luai_numle( nvalue_fast(l), cast_num(ivalue(r)) ); diff --git a/package/utils/lua/patches-host/013-lnum-strtoul-parsing-fixes.patch b/package/utils/lua/patches-host/013-lnum-strtoul-parsing-fixes.patch new file mode 100644 index 0000000000..7f00c8c3a2 --- /dev/null +++ b/package/utils/lua/patches-host/013-lnum-strtoul-parsing-fixes.patch @@ -0,0 +1,48 @@ +diff --git a/src/lnum.c b/src/lnum.c +index 1456b6a2ed23..b0632b04c2b7 100644 +--- a/src/lnum.c ++++ b/src/lnum.c +@@ -127,6 +127,8 @@ static int luaO_str2i (const char *s, lua_Integer *res, char **endptr_ref) { + #else + return 0; /* Reject the number */ + #endif ++ } else if (v > LUA_INTEGER_MAX) { ++ return TK_NUMBER; + } + } else if ((v > LUA_INTEGER_MAX) || (*endptr && (!isspace(*endptr)))) { + return TK_NUMBER; /* not in signed range, or has '.', 'e' etc. trailing */ +@@ -310,3 +312,13 @@ int try_unmint( lua_Integer *r, lua_Integer ib ) { + return 0; + } + ++#ifdef LONG_OVERFLOW_LUA_INTEGER ++unsigned LUA_INTEGER lua_str2ul( const char *str, char **endptr, int base ) { ++ unsigned long v= strtoul(str, endptr, base); ++ if ( v > LUA_INTEGER_MAX ) { ++ errno= ERANGE; ++ v= ULONG_MAX; ++ } ++ return (unsigned LUA_INTEGER)v; ++} ++#endif +diff --git a/src/lnum_config.h b/src/lnum_config.h +index 19d7a4231a49..1092eead6629 100644 +--- a/src/lnum_config.h ++++ b/src/lnum_config.h +@@ -141,7 +141,12 @@ + #endif + + #ifndef lua_str2ul +-# define lua_str2ul (unsigned LUA_INTEGER)strtoul ++# if LONG_MAX > LUA_INTEGER_MAX ++# define LONG_OVERFLOW_LUA_INTEGER ++ unsigned LUA_INTEGER lua_str2ul( const char *str, char **endptr, int base ); ++# else ++# define lua_str2ul (unsigned LUA_INTEGER)strtoul ++# endif + #endif + #ifndef LUA_INTEGER_MIN + # define LUA_INTEGER_MIN (-LUA_INTEGER_MAX -1) /* -2^16|32 */ +-- +1.9.1 + diff --git a/package/utils/lua/patches/001-include-version-number.patch b/package/utils/lua/patches/001-include-version-number.patch new file mode 100644 index 0000000000..f769e60736 --- /dev/null +++ b/package/utils/lua/patches/001-include-version-number.patch @@ -0,0 +1,57 @@ +From 96576b44a1b368bd6590eb0778ae45cc9ccede3f Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Rafa=C5=82=20Mi=C5=82ecki?= +Date: Fri, 21 Jun 2019 14:08:38 +0200 +Subject: [PATCH] include version number + +Including it allows multiple lua versions to coexist. + +Signed-off-by: Rafał Miłecki +--- + +diff --git a/Makefile b/Makefile +--- a/Makefile ++++ b/Makefile +@@ -41,10 +41,10 @@ RANLIB= ranlib + PLATS= aix ansi bsd freebsd generic linux macosx mingw posix solaris + + # What to install. +-TO_BIN= lua luac ++TO_BIN= lua$V luac$V + TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp + TO_LIB= liblua.a +-TO_MAN= lua.1 luac.1 ++TO_MAN= lua$V.1 luac$V.1 + + # Lua version and release. + V= 5.1 +@@ -53,7 +53,7 @@ R= 5.1.5 + all: $(PLAT) + + $(PLATS) clean: +- cd src && $(MAKE) $@ ++ cd src && $(MAKE) $@ V=$V + + test: dummy + src/lua test/hello.lua +diff --git a/doc/lua.1 b/doc/lua5.1.1 +rename from doc/lua.1 +rename to doc/lua5.1.1 +diff --git a/doc/luac.1 b/doc/luac5.1.1 +rename from doc/luac.1 +rename to doc/luac5.1.1 +diff --git a/src/Makefile b/src/Makefile +--- a/src/Makefile ++++ b/src/Makefile +@@ -29,10 +29,10 @@ CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \ + LIB_O= lauxlib.o lbaselib.o ldblib.o liolib.o lmathlib.o loslib.o ltablib.o \ + lstrlib.o loadlib.o linit.o + +-LUA_T= lua ++LUA_T= lua$V + LUA_O= lua.o + +-LUAC_T= luac ++LUAC_T= luac$V + LUAC_O= luac.o print.o + + ALL_O= $(CORE_O) $(LIB_O) $(LUA_O) $(LUAC_O) diff --git a/package/utils/lua/patches/013-lnum-strtoul-parsing-fixes.patch b/package/utils/lua/patches/013-lnum-strtoul-parsing-fixes.patch new file mode 100644 index 0000000000..7f00c8c3a2 --- /dev/null +++ b/package/utils/lua/patches/013-lnum-strtoul-parsing-fixes.patch @@ -0,0 +1,48 @@ +diff --git a/src/lnum.c b/src/lnum.c +index 1456b6a2ed23..b0632b04c2b7 100644 +--- a/src/lnum.c ++++ b/src/lnum.c +@@ -127,6 +127,8 @@ static int luaO_str2i (const char *s, lua_Integer *res, char **endptr_ref) { + #else + return 0; /* Reject the number */ + #endif ++ } else if (v > LUA_INTEGER_MAX) { ++ return TK_NUMBER; + } + } else if ((v > LUA_INTEGER_MAX) || (*endptr && (!isspace(*endptr)))) { + return TK_NUMBER; /* not in signed range, or has '.', 'e' etc. trailing */ +@@ -310,3 +312,13 @@ int try_unmint( lua_Integer *r, lua_Integer ib ) { + return 0; + } + ++#ifdef LONG_OVERFLOW_LUA_INTEGER ++unsigned LUA_INTEGER lua_str2ul( const char *str, char **endptr, int base ) { ++ unsigned long v= strtoul(str, endptr, base); ++ if ( v > LUA_INTEGER_MAX ) { ++ errno= ERANGE; ++ v= ULONG_MAX; ++ } ++ return (unsigned LUA_INTEGER)v; ++} ++#endif +diff --git a/src/lnum_config.h b/src/lnum_config.h +index 19d7a4231a49..1092eead6629 100644 +--- a/src/lnum_config.h ++++ b/src/lnum_config.h +@@ -141,7 +141,12 @@ + #endif + + #ifndef lua_str2ul +-# define lua_str2ul (unsigned LUA_INTEGER)strtoul ++# if LONG_MAX > LUA_INTEGER_MAX ++# define LONG_OVERFLOW_LUA_INTEGER ++ unsigned LUA_INTEGER lua_str2ul( const char *str, char **endptr, int base ); ++# else ++# define lua_str2ul (unsigned LUA_INTEGER)strtoul ++# endif + #endif + #ifndef LUA_INTEGER_MIN + # define LUA_INTEGER_MIN (-LUA_INTEGER_MAX -1) /* -2^16|32 */ +-- +1.9.1 + diff --git a/package/utils/lua/patches/020-shared_liblua.patch b/package/utils/lua/patches/020-shared_liblua.patch index 64f683ddbe..f67ee2b3c7 100644 --- a/package/utils/lua/patches/020-shared_liblua.patch +++ b/package/utils/lua/patches/020-shared_liblua.patch @@ -3,12 +3,12 @@ @@ -42,8 +42,8 @@ PLATS= aix ansi bsd freebsd generic linu # What to install. - TO_BIN= lua luac + TO_BIN= lua$V luac$V -TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp -TO_LIB= liblua.a +TO_INC= lua.h luaconf.h lualib.h lauxlib.h ../etc/lua.hpp lnum_config.h +TO_LIB= liblua.a liblua.so.$R - TO_MAN= lua.1 luac.1 + TO_MAN= lua$V.1 luac$V.1 # Lua version and release. @@ -63,6 +63,7 @@ install: dummy @@ -87,10 +87,10 @@ CORE_O= lapi.o lcode.o ldebug.o ldo.o ldump.o lfunc.o lgc.o llex.o lmem.o \ lobject.o lopcodes.o lparser.o lstate.o lstring.o ltable.o ltm.o \ lundump.o lvm.o lzio.o lnum.o -@@ -33,11 +34,12 @@ LUA_T= lua +@@ -33,11 +34,12 @@ LUA_T= lua$V LUA_O= lua.o - LUAC_T= luac + LUAC_T= luac$V -LUAC_O= luac.o print.o +LUAC_O= luac.o print.o lopcodes.o