diy.sh 5.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. #!/bin/bash
  2. #=================================================
  3. rm -Rf feeds/custom/diy
  4. rm -Rf feeds/packages/net/{smartdns,mwan3,miniupnpd,aria2,nft-qos,https-dns-proxy,shadowsocks-libev,frp,openvpn} feeds/luci/applications/luci-app-{dockerman,nft-qos,smartdns,frpc,frps,https-dns-proxy}
  5. rm -Rf feeds/packages/utils/cgroupfs-mount
  6. ./scripts/feeds update luci packages custom
  7. ./scripts/feeds install -a
  8. sed -i 's/Os/O2/g' include/target.mk
  9. rm -rf target/linux package/kernel include/{kernel-version.mk,kernel-defaults.mk}
  10. svn export https://github.com/openwrt/openwrt/trunk/target/linux target/linux
  11. svn export https://github.com/openwrt/openwrt/trunk/package/kernel package/kernel
  12. wget -O include/kernel-version.mk https://raw.githubusercontent.com/openwrt/openwrt/master/include/kernel-version.mk
  13. wget -O include/kernel-defaults.mk https://raw.githubusercontent.com/openwrt/openwrt/master/include/kernel-defaults.mk
  14. sed -i '/libelf\/compile/d' tools/Makefile
  15. sed -i 's/ libelf//' tools/Makefile
  16. rm -Rf tools/upx && svn export https://github.com/coolsnowwolf/lede/trunk/tools/upx tools/upx
  17. rm -Rf tools/ucl && svn export https://github.com/coolsnowwolf/lede/trunk/tools/ucl tools/ucl
  18. sed -i 's?zstd$?zstd ucl upx\n$(curdir)/upx/compile := $(curdir)/ucl/compile?g' tools/Makefile
  19. svn co https://github.com/immortalwrt/immortalwrt/branches/master/target/linux/generic/hack-5.4 target/linux/generic/hack-5.4
  20. svn co https://github.com/immortalwrt/immortalwrt/branches/master/target/linux/generic/hack-5.10 target/linux/generic/hack-5.10
  21. wget -O target/linux/generic/pending-5.4/601-add-kernel-imq-support.patch https://raw.githubusercontent.com/immortalwrt/immortalwrt/master/target/linux/generic/pending-5.4/601-add-kernel-imq-support.patch
  22. rm -rf package/network/services/ppp package/libs/libnfnetlink
  23. svn export https://github.com/openwrt/openwrt/trunk/package/network/services/ppp package/network/services/ppp
  24. svn export https://github.com/openwrt/openwrt/trunk/package/libs/libnfnetlink package/libs/libnfnetlink
  25. rm -rf package/network/services/dnsmasq
  26. svn export https://github.com/immortalwrt/immortalwrt/branches/master/package/network/services/dnsmasq package/network/services/dnsmasq
  27. sed -i "s/'class': 'table'/'class': 'table memory'/g" package/*/*/luci-mod-status/htdocs/luci-static/resources/view/status/include/20_memory.js
  28. sed -i 's/$(TARGET_DIR)) install/$(TARGET_DIR)) install --force-overwrite/' package/Makefile
  29. sed -i 's/+acme\( \|$\)/+acme +acme-dnsapi\1/g' package/*/*/luci-app-acme/Makefile
  30. sed -i '$a /etc/sysupgrade.conf' package/base-files/files/lib/upgrade/keep.d/base-files-essential
  31. sed -i '$a /etc/amule' package/base-files/files/lib/upgrade/keep.d/base-files-essential
  32. sed -i '$a /etc/acme' package/base-files/files/lib/upgrade/keep.d/base-files-essential
  33. sed -i '$a /etc/bench.log' package/base-files/files/lib/upgrade/keep.d/base-files-essential
  34. sed -i '$a /etc/acme' package/base-files/files/lib/upgrade/keep.d/base-files-essential
  35. sed -i '/\/etc\/profile/d' package/base-files/files/lib/upgrade/keep.d/base-files-essential
  36. sed -i '/^\/etc\/profile/d' package/base-files/Makefile
  37. # find target/linux/x86 -name "config*" -exec bash -c 'cat kernel.conf >> "{}"' \;
  38. find target/linux -path "target/linux/*/config-*" | xargs -i sed -i '$a CONFIG_ACPI=y\nCONFIG_X86_ACPI_CPUFREQ=y\n \
  39. CONFIG_NR_CPUS=128\nCONFIG_FAT_DEFAULT_IOCHARSET="utf8"\nCONFIG_CRYPTO_CHACHA20_NEON=y\nCONFIG_CRYPTO_CHACHA20POLY1305=y\nCONFIG_BINFMT_MISC=y' {}
  40. sed -i 's/max_requests 3/max_requests 20/g' package/network/services/uhttpd/files/uhttpd.config
  41. #rm -rf ./feeds/packages/lang/{golang,node}
  42. #svn export https://github.com/immortalwrt/packages/trunk/lang/golang feeds/packages/lang/golang
  43. #svn export https://github.com/immortalwrt/packages/trunk/lang/node feeds/packages/lang/node
  44. mkdir package/network/config/firewall/patches
  45. wget -O package/network/config/firewall/patches/fullconenat.patch https://github.com/coolsnowwolf/lede/raw/master/package/network/config/firewall/patches/fullconenat.patch
  46. sed -i "s/+nginx\( \|$\)/+nginx-ssl\1/g" package/*/*/*/Makefile
  47. sed -i 's/+python\( \|$\)/+python3/g' package/*/*/*/Makefile
  48. sed -i 's?../../lang?$(TOPDIR)/feeds/packages/lang?g' package/feeds/custom/*/Makefile
  49. sed -i 's/PKG_BUILD_DIR:=/PKG_BUILD_DIR?=/g' feeds/luci/luci.mk
  50. sed -i 's?admin/status/channel_analysis??' package/feeds/luci/luci-mod-status/root/usr/share/luci/menu.d/luci-mod-status.json
  51. sed -i '/killall -HUP/d' feeds/luci/luci.mk
  52. find package target -name inittab | xargs -i sed -i "s/askfirst/respawn/g" {}
  53. for ipk in $(find package/feeds/custom/* -maxdepth 0); do
  54. if [[ ! -d "$ipk/patches" && ! "$(grep "codeload.github.com" $ipk/Makefile)" ]]; then
  55. find $ipk/ -maxdepth 1 ! -path *tcping* -name "Makefile" \
  56. | xargs -i sed -i "s/PKG_SOURCE_VERSION:=[0-9a-z]\{15,\}/PKG_SOURCE_VERSION:=HEAD/g" {}
  57. fi
  58. done
  59. sed -i 's/$(VERSION) &&/$(VERSION) ;/g' include/download.mk
  60. date=`date +%m.%d.%Y`
  61. sed -i "s/DISTRIB_DESCRIPTION.*/DISTRIB_DESCRIPTION='%D %V %C by GaryPang'/g" package/base-files/files/etc/openwrt_release
  62. sed -i "s/# REVISION:=x/REVISION:= $date/g" include/version.mk
  63. sed -i '$a cgi-timeout = 300' package/feeds/packages/uwsgi/files-luci-support/luci-webui.ini
  64. if [ -f sdk.tar.xz ]; then
  65. sed -i 's,$(STAGING_DIR_HOST)/bin/upx,upx,' package/feeds/custom/*/Makefile
  66. mkdir sdk
  67. tar -xJf sdk.tar.xz -C sdk
  68. cp -rf sdk/*/staging_dir/* ./staging_dir/
  69. rm -rf sdk.tar.xz sdk
  70. find "staging_dir/host/" -maxdepth 2 -name 'libelf*' | xargs -i rm -rf {} || true
  71. sed -i '/\(tools\|toolchain\)\/Makefile/d' Makefile
  72. if [ -f /usr/bin/python ]; then
  73. ln -sf /usr/bin/python staging_dir/host/bin/python
  74. else
  75. ln -sf /usr/bin/python3 staging_dir/host/bin/python
  76. fi
  77. ln -sf /usr/bin/python3 staging_dir/host/bin/python3
  78. fi