diy.sh 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  1. #!/bin/bash
  2. #=================================================
  3. shopt -s extglob
  4. sed -i '$a src-git kiddin9 https://github.com/kiddin9/openwrt-packages.git;master' feeds.conf.default
  5. sed -i "/telephony/d" feeds.conf.default
  6. sed -i "s?targets/%S/packages?targets/%S/\$(LINUX_VERSION)?" include/feeds.mk
  7. sed -i '/ refresh_config();/d' scripts/feeds
  8. ./scripts/feeds update -a
  9. ./scripts/feeds install -a -p kiddin9 -f
  10. ./scripts/feeds install -a
  11. echo "$(date +"%s")" >version.date
  12. sed -i '/$(curdir)\/compile:/c\$(curdir)/compile: package/opkg/host/compile' package/Makefile
  13. sed -i 's/$(TARGET_DIR)) install/$(TARGET_DIR)) install --force-overwrite --force-depends/' package/Makefile
  14. sed -i "s/DEFAULT_PACKAGES:=/DEFAULT_PACKAGES:=luci-app-advanced luci-app-firewall luci-app-gpsysupgrade luci-app-opkg luci-app-upnp luci-app-autoreboot \
  15. luci-app-wizard luci-base luci-compat luci-lib-ipkg luci-lib-fs \
  16. coremark wget-ssl curl autocore htop nano zram-swap kmod-lib-zstd kmod-tcp-bbr bash openssh-sftp-server block-mount resolveip ds-lite swconfig luci-app-fan /" include/target.mk
  17. sed -i "s/procd-ujail//" include/target.mk
  18. sed -i "s/^.*vermagic$/\techo '1' > \$(LINUX_DIR)\/.vermagic/" include/kernel-defaults.mk
  19. status=$(curl -H "Authorization: token $REPO_TOKEN" -s "https://api.github.com/repos/kiddin9/openwrt-packages/actions/runs" | jq -r '.workflow_runs[0].status')
  20. echo "$status"
  21. while [[ "$status" == "in_progress" || "$status" == "queued" ]];do
  22. echo "wait 5s"
  23. sleep 5
  24. status=$(curl -H "Authorization: token $REPO_TOKEN" -s "https://api.github.com/repos/kiddin9/openwrt-packages/actions/runs" | jq -r '.workflow_runs[0].status')
  25. done
  26. mv -f feeds/kiddin9/r81* tmp/
  27. sed -i "s/192.168.1/10.0.0/" package/feeds/kiddin9/base-files/files/bin/config_generate
  28. sed -i "s/192.168.1/10.0.0/" package/base-files/files/bin/config_generate
  29. (
  30. svn co https://github.com/coolsnowwolf/lede/trunk/target/linux/generic/hack-5.15 target/linux/generic/hack-5.15
  31. svn co https://github.com/coolsnowwolf/lede/trunk/target/linux/generic/backport-5.15 target/linux/generic/backport-5.15
  32. find target/linux/generic/backport-5.15 -name "[0-9][0-9][0-9]-[a-z][a-z]*" -exec rm -f {} \;
  33. rm -rf target/linux/generic/backport-5.15/{799-v6.0-net-mii*,802-v6.1-nvmem*,803-v5.19-nvmem*,733-v6.2-02-net-mediatek-sgmii-ensure*,733-v6.2-03-net-mediatek*,733-v6.2-04-mtk_sgmii-enable*,775-v5.16-net-phylink*,776-v5.16-net-ethernet-*,890-v6.1-mtd-spinand-winbond*,891-v6.1-mtd-spinand-winbond*}
  34. curl -sfL https://raw.githubusercontent.com/coolsnowwolf/lede/master/target/linux/generic/pending-5.15/613-netfilter_optional_tcp_window_check.patch -o target/linux/generic/pending-5.15/613-netfilter_optional_tcp_window_check.patch
  35. sed -i "s/CONFIG_WERROR=y/CONFIG_WERROR=n/" target/linux/generic/config-5.15
  36. ) &
  37. grep -q "23.05" include/version.mk && [ -d package/kernel/mt76 ] && {
  38. mkdir package/kernel/mt76/patches
  39. curl -sfL https://raw.githubusercontent.com/immortalwrt/immortalwrt/master/package/kernel/mt76/patches/0001-mt76-allow-VHT-rate-on-2.4GHz.patch -o package/kernel/mt76/patches/0001-mt76-allow-VHT-rate-on-2.4GHz.patch
  40. } || rm -rf devices/common/patches/mt7922.patch
  41. grep -q "1.8.8" package/network/utils/iptables/Makefile && {
  42. rm -rf package/network/utils/iptables
  43. svn co https://github.com/openwrt/openwrt/branches/openwrt-22.03/package/network/utils/iptables package/network/utils/iptables
  44. }
  45. grep -q 'PKG_RELEASE:=9' package/libs/openssl/Makefile && {
  46. sh -c "curl -sfL https://github.com/openwrt/openwrt/commit/a48d0bdb77eb93f7fba6e055dace125c72755b6a.patch | patch -d './' -p1 --forward"
  47. }
  48. sed -i "/BuildPackage,miniupnpd-iptables/d" feeds/packages/net/miniupnpd/Makefile
  49. sed -i 's/Os/O2/g' include/target.mk
  50. sed -i "/mediaurlbase/d" package/feeds/*/luci-theme*/root/etc/uci-defaults/*
  51. sed -i 's/=bbr/=cubic/' package/kernel/linux/files/sysctl-tcp-bbr.conf
  52. # find target/linux/x86 -name "config*" -exec bash -c 'cat kernel.conf >> "{}"' \;
  53. sed -i 's/max_requests 3/max_requests 20/g' package/network/services/uhttpd/files/uhttpd.config
  54. #rm -rf ./feeds/packages/lang/{golang,node}
  55. sed -i "s/tty\(0\|1\)::askfirst/tty\1::respawn/g" target/linux/*/base-files/etc/inittab
  56. date=`date +%m.%d.%Y`
  57. sed -i -e "/\(# \)\?REVISION:=/c\REVISION:=$date" -e '/VERSION_CODE:=/c\VERSION_CODE:=$(REVISION)' include/version.mk
  58. sed -i \
  59. -e "s/+\(luci\|luci-ssl\|uhttpd\)\( \|$\)/\2/" \
  60. -e "s/+nginx\( \|$\)/+nginx-ssl\1/" \
  61. -e 's/+python\( \|$\)/+python3/' \
  62. -e 's?../../lang?$(TOPDIR)/feeds/packages/lang?' \
  63. package/feeds/kiddin9/*/Makefile
  64. (
  65. if [ -f sdk.tar.xz ]; then
  66. sed -i 's,$(STAGING_DIR_HOST)/bin/upx,upx,' package/feeds/kiddin9/*/Makefile
  67. mkdir sdk
  68. tar -xJf sdk.tar.xz -C sdk
  69. cp -rf sdk/*/staging_dir/* ./staging_dir/
  70. rm -rf sdk.tar.xz sdk
  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
  79. ) &