naiveproxy编译出错
make[3]: Entering directory '/home/udb/openwrt/feeds/small/naiveproxy' rm -f /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/.built touch /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/.built_check touch /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/.built rm -rf /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/.pkgdir/naiveproxy.installed /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/.pkgdir/naiveproxy mkdir -p /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/.pkgdir/naiveproxy install -d -m0755 /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/.pkgdir/naiveproxy/usr/bin install -m0755 /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/naive /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/.pkgdir/naiveproxy/usr/bin/naive install -d -m0755 /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/.pkgdir/naiveproxy/etc/config /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/.pkgdir/naiveproxy/etc/init.d install -m0600 /home/udb/openwrt/feeds/small/naiveproxy/files/naiveproxy.config /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/.pkgdir/naiveproxy/etc/config/naiveproxy install -m0755 /home/udb/openwrt/feeds/small/naiveproxy/files/naiveproxy.init /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/.pkgdir/naiveproxy/etc/init.d/naiveproxy touch /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/.pkgdir/naiveproxy.installed mkdir -p /home/udb/openwrt/staging_dir/target-x86_64_musl/root-x86/stamp SHELL= flock /home/udb/openwrt/tmp/.root-copy.flock -c 'cp -fpR /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/.pkgdir/naiveproxy/. /home/udb/openwrt/staging_dir/target-x86_64_musl/root-x86/' touch /home/udb/openwrt/staging_dir/target-x86_64_musl/root-x86/stamp/.naiveproxy_installed rm -rf /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy mkdir -p /home/udb/openwrt/bin/targets/x86/64/packages /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy /home/udb/openwrt/staging_dir/target-x86_64_musl/pkginfo install -d -m0755 /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/usr/bin install -m0755 /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/naive /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/usr/bin/naive install -d -m0755 /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/etc/config /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/etc/init.d install -m0600 /home/udb/openwrt/feeds/small/naiveproxy/files/naiveproxy.config /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/etc/config/naiveproxy install -m0755 /home/udb/openwrt/feeds/small/naiveproxy/files/naiveproxy.init /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/etc/init.d/naiveproxy find /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy -name 'CVS' -o -name '.svn' -o -name '.#' -o -name '~'| xargs -r rm -rf export CROSS="x86_64-openwrt-linux-musl-" NO_RENAME=1 ; NM="x86_64-openwrt-linux-musl-nm" STRIP="/home/udb/openwrt/staging_dir/host/bin/sstrip -z" STRIP_KMOD="/home/udb/openwrt/scripts/strip-kmod.sh" PATCHELF="/home/udb/openwrt/staging_dir/host/bin/patchelf" /home/udb/openwrt/scripts/rstrip.sh /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy rstrip.sh: /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/usr/bin/naive: executable install -d -m0755 /home/udb/openwrt/bin/packages/x86_64/small/tmp mkdir -p /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/apk-x86_64/naiveproxy/ mkdir -p /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/lib/apk/packages/ (cd /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/apk-x86_64/naiveproxy; echo "$V_Package_naiveproxy_conffiles" > conffiles; ) ( echo "#!/bin/sh"; echo "[ "${IPKG_NO_SCRIPT}" = "1" ] && exit 0"; echo "[ -s "${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; echo ". ${IPKG_INSTROOT}/lib/functions.sh"; echo 'export root="${IPKG_INSTROOT}"'; echo 'export pkgname="naiveproxy"'; echo "add_group_and_user"; echo "default_postinst"; [ ! -f /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/apk-x86_64/naiveproxy/postinst-pkg ] || cat "/home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/apk-x86_64/naiveproxy/postinst-pkg"; ) > /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/apk-x86_64/naiveproxy/post-install; ( echo "#!/bin/sh"; echo "[ -s "${IPKG_INSTROOT}/lib/functions.sh" ] || exit 0"; echo ". ${IPKG_INSTROOT}/lib/functions.sh"; echo 'export root="${IPKG_INSTROOT}"'; echo 'export pkgname="naiveproxy"'; echo "default_prerm"; [ ! -f /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/apk-x86_64/naiveproxy/prerm-pkg ] || cat "/home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/apk-x86_64/naiveproxy/prerm-pkg"; ) > /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/apk-x86_64/naiveproxy/pre-deinstall; if [ -n "" ]; then echo > /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/lib/apk/packages/naiveproxy.rusers; fi; if [ -n "" ]; then echo > /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/lib/apk/packages/naiveproxy.alternatives; fi; (cd /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy && find . -type f,l -printf "/%P\n" > /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/lib/apk/packages/naiveproxy.list)
Move conffiles to IDIR and build conffiles_static with csums
if [ -f /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/apk-x86_64/naiveproxy/conffiles ]; then mv -f /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/apk-x86_64/naiveproxy/conffiles /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/lib/apk/packages/naiveproxy.conffiles; for file in $(cat /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/lib/apk/packages/naiveproxy.conffiles); do [ -f /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/$file ] || continue; csum=$(/home/udb/openwrt/staging_dir/host/bin/mkhash sha256 /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/$file); echo $file $csum >> /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/lib/apk/packages/naiveproxy.conffiles_static; done; fi
Some package (base-files) manually append stuff to conffiles
Append stuff from it and delete the CONTROL directory since everything else should be migrated
if [ -f /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/CONTROL/conffiles ]; then echo $(IDIR_naiveproxy)/CONTROL/conffiles >> /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/lib/apk/packages/naiveproxy.conffiles; for file in $(cat /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/CONTROL/conffiles); do [ -f /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/$file ] || continue; csum=$(/home/udb/openwrt/staging_dir/host/bin/mkhash sha256 /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/$file); echo $file $csum >> /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/lib/apk/packages/naiveproxy.conffiles_static; done; rm -rf /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/CONTROL/conffiles; fi if [ -z "$(ls -A /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/CONTROL 2>/dev/null)" ]; then rm -rf /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/CONTROL; else echo "CONTROL directory /home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy/CONTROL is not empty! This is not right and should be checked!" >&2; exit 1; fi /home/udb/openwrt/staging_dir/host/bin/fakeroot /home/udb/openwrt/staging_dir/host/bin/apk mkpkg --info "name:naiveproxy" --info "version:131.0.6778.86-1-r1" --info "description:NaïveProxy uses Chrome's network stack to camouflage traffic with strong censorship resistance and low detectability. Reusing Chrome's stack also ensures best practices in performance and security." --info "arch:x86_64" --info "license:BSD 3-Clause" --info "origin:feeds/small/naiveproxy" --info "url:https://github.com/klzgrad/naiveproxy" --info "maintainer:sbwml [email protected]" --info "provides:" --script "post-install:/home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/apk-x86_64/naiveproxy/post-install" --script "pre-deinstall:/home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/apk-x86_64/naiveproxy/pre-deinstall" --info "depends:libc libatomic1" --files "/home/udb/openwrt/build_dir/target-x86_64_musl/naiveproxy-v131.0.6778.86-1-openwrt-x86_64/ipkg-x86_64/naiveproxy" --output "/home/udb/openwrt/bin/packages/x86_64/small/naiveproxy-131.0.6778.86-1-r1.apk" --sign "/home/udb/openwrt/private-key.pem" ERROR: info field 'version' has invalid value: package version is invalid ERROR: failed to create package: /home/udb/openwrt/bin/packages/x86_64/small/naiveproxy-131.0.6778.86-1-r1.apk: package version is invalid make[3]: *** [Makefile:139: /home/udb/openwrt/bin/packages/x86_64/small/naiveproxy-131.0.6778.86-1-r1.apk] Error 99 make[3]: Leaving directory '/home/udb/openwrt/feeds/small/naiveproxy' time: package/feeds/small/naiveproxy/compile#0.26#0.50#0.66 ERROR: package/feeds/small/naiveproxy failed to build. make[2]: *** [package/Makefile:185: package/feeds/small/naiveproxy/compile] Error 1 make[2]: Leaving directory '/home/udb/openwrt' make[1]: *** [package/Makefile:179: /home/udb/openwrt/staging_dir/target-x86_64_musl/stamp/.package_compile] Error 2 make[1]: Leaving directory '/home/udb/openwrt' make: *** [/home/udb/openwrt/include/toplevel.mk:233:world] 错误 2
找到原因了,把naiveproxy/Makefile改成下面的代码编译通过了
`include $(TOPDIR)/rules.mk
PKG_NAME:=naiveproxy PKG_VERSION:=131.0.6778.86 PKG_RELEASE:=1
ARCH_PREBUILT:=$(ARCH_PACKAGES)
intel 80386 & riscv64 & cortex-a76
ifeq ($(ARCH_PREBUILT),aarch64_cortex-a76) ARCH_PREBUILT:=aarch64_generic else ifeq ($(ARCH_PREBUILT),i386_pentium-mmx) ARCH_PREBUILT:=x86 else ifeq ($(ARCH_PREBUILT),i386_pentium4) ARCH_PREBUILT:=x86 else ifeq ($(ARCH_PREBUILT),mipsel_24kc_24kf) ARCH_PREBUILT:=mipsel_24kc else ifeq ($(ARCH_PREBUILT),mipsel_74kc) ARCH_PREBUILT:=mipsel_24kc else ifeq ($(ARCH_PREBUILT),riscv64_riscv64) ARCH_PREBUILT:=riscv64 endif
PKG_SOURCE:=naiveproxy-v$(PKG_VERSION)-$(PKG_RELEASE)-openwrt-$(ARCH_PREBUILT).tar.xz PKG_SOURCE_URL:=https://github.com/klzgrad/naiveproxy/releases/download/v$(PKG_VERSION)-$(PKG_RELEASE)/
ifeq ($(ARCH_PREBUILT),aarch64_cortex-a53) PKG_HASH:=5cdb9ca045995bfb41d76b5321090255fb8ea7ec22aedd8a72f4aa1cbca1c456 else ifeq ($(ARCH_PREBUILT),aarch64_cortex-a72) PKG_HASH:=c4151ced17629b9267b07cc13bb5ca3cc0931a4205630a407e88611bb605aa85 else ifeq ($(ARCH_PREBUILT),aarch64_generic) PKG_HASH:=c2587d13ef960d4efd0e2b5debb1b7a952b368838f7baac047183925fd7c896c else ifeq ($(ARCH_PREBUILT),arm_arm1176jzf-s_vfp) PKG_HASH:=dc31a9ba7e6c7b6c12fc7e46d75a99768d8cb5158c35aa32bd00a89a78799185 else ifeq ($(ARCH_PREBUILT),arm_arm926ej-s) PKG_HASH:=979b513f5f246f856379016abf43c630ae1085f05cdb9d20ef29635c554a35f0 else ifeq ($(ARCH_PREBUILT),arm_cortex-a15_neon-vfpv4) PKG_HASH:=122f72dd6a21b122db36b0cf8248124ffaad51825e07569aaa71394cc38fd540 else ifeq ($(ARCH_PREBUILT),arm_cortex-a5_vfpv4) PKG_HASH:=2b9306942a692f606e4d169a5acff4e8b7e6c7fc4df445d0372eecfdbba4b0c7 else ifeq ($(ARCH_PREBUILT),arm_cortex-a7) PKG_HASH:=308e22352b0bf042341cd96b0c3b54a6fdc7aa6d62b98fa1d298b081b62cf699 else ifeq ($(ARCH_PREBUILT),arm_cortex-a7_neon-vfpv4) PKG_HASH:=d925050e6ab276d3cff72c5e3ff4d348a9f49056a9cc60d9608ef272880cffc1 else ifeq ($(ARCH_PREBUILT),arm_cortex-a7_vfpv4) PKG_HASH:=a96c5da149008230a96474b1c13db25bff9439df6d29420d36a7d5ba2462ea24 else ifeq ($(ARCH_PREBUILT),arm_cortex-a8_vfpv3) PKG_HASH:=92d9b6c5b5a020b14897b4645564843449f1bbf5d73e65cf2edfee8208ad3034 else ifeq ($(ARCH_PREBUILT),arm_cortex-a9) PKG_HASH:=06a9f0c0aeddda61137568e56cf42dd1824e3603954a4a6447232f933182cb0e else ifeq ($(ARCH_PREBUILT),arm_cortex-a9_neon) PKG_HASH:=9d869d3e1d3fd454b7aa6c8f099c66fa8dd4a29998ef5f84abadb6a2a4d35769 else ifeq ($(ARCH_PREBUILT),arm_cortex-a9_vfpv3-d16) PKG_HASH:=9a5167d490c00dae1d7799cbb0a93dac4984cc52426e54d5ed762780f53967cd else ifeq ($(ARCH_PREBUILT),arm_mpcore) PKG_HASH:=0b92a0262eba5b494238e960e8feab9b72ae0ea1e6448df188d76738355b5093 else ifeq ($(ARCH_PREBUILT),arm_xscale) PKG_HASH:=78cf3a4c1b64caf21fb40973fc0777359440e5e247500529d89b403a06dd9971 else ifeq ($(ARCH_PREBUILT),mipsel_24kc) PKG_HASH:=6085a39eb46ace69fb9eacb6f1d9b00c167dee4e85b205ed277a42223a6fc07f else ifeq ($(ARCH_PREBUILT),mipsel_mips32) PKG_HASH:=77514fb5b6340fd2b6464f8a12ca0acf27805ac2de8db1b5235d95d3f754bf20 else ifeq ($(ARCH_PREBUILT),riscv64) PKG_HASH:=4ce2d5d65a4296c356b285346e8b423202c4a527f68d69da993287fe60c8e4fd else ifeq ($(ARCH_PREBUILT),x86) PKG_HASH:=b981dd9e5eed9bea14edd5f21f3cf03fd6dd0ae81f43471c9cc7ec1682c22662 else ifeq ($(ARCH_PREBUILT),x86_64) PKG_HASH:=a628a7cf69110facbeb8b657785683a12db45f982f14534d67401197a867b28f else PKG_HASH:=dummy endif
PKG_LICENSE:=BSD 3-Clause PKG_LICENSE_FILES:=LICENSE PKG_MAINTAINER:=sbwml [email protected]
PKG_BUILD_DIR:=$(BUILD_DIR)/naiveproxy-v$(PKG_VERSION)-$(PKG_RELEASE)-openwrt-$(ARCH_PACKAGES)
include $(INCLUDE_DIR)/package.mk
define Package/naiveproxy SECTION:=net CATEGORY:=Network SUBMENU:=Web Servers/Proxies TITLE:=Make a fortune quietly URL:=https://github.com/klzgrad/naiveproxy DEPENDS:=@(aarch64||arm||i386||mipsel||riscv64||x86_64) +libatomic endef
define Package/naiveproxy/description NaïveProxy uses Chrome's network stack to camouflage traffic with strong censorship resistance and low detectability. Reusing Chrome's stack also ensures best practices in performance and security. endef
define Package/naiveproxy/conffiles /etc/config/naiveproxy endef
define Build/Prepare $(TAR) --strip-components=1 -C $(PKG_BUILD_DIR) -xJf $(DL_DIR)/naiveproxy-v$(PKG_VERSION)-$(PKG_RELEASE)-openwrt-$(ARCH_PREBUILT).tar.xz endef
define Build/Compile endef
define Package/naiveproxy/install $(INSTALL_DIR) $(1)/usr/bin $(INSTALL_BIN) $(PKG_BUILD_DIR)/naive $(1)/usr/bin/naive $(INSTALL_DIR) $(1)/etc/config $(1)/etc/init.d $(INSTALL_CONF) $(CURDIR)/files/naiveproxy.config $(1)/etc/config/naiveproxy $(INSTALL_BIN) $(CURDIR)/files/naiveproxy.init $(1)/etc/init.d/naiveproxy endef
$(eval $(call BuildPackage,naiveproxy))`