diff --git a/.config b/.config deleted file mode 100644 index e69de29..0000000 diff --git a/build.sh b/build.sh index 888fa57..9d37c83 100755 --- a/build.sh +++ b/build.sh @@ -1,19 +1,31 @@ #!/bin/bash -echo "src-git ha_cluster https://github.com/pgaufillet/openwrt-ha-feed.git" >> feeds.conf.default +grep -qxF 'src-git ha_cluster https://github.com/pgaufillet/openwrt-ha-feed.git' feeds.conf.default || echo 'src-git ha_cluster https://github.com/pgaufillet/openwrt-ha-feed.git' >> feeds.conf.default + +rm -f ./sed* .config.tmp .config.old # Update and install default package feeds ./scripts/feeds update -a && \ ./scripts/feeds install -a -echo "CONFIG_TARGET_x86=y" > .config && \ -echo "CONFIG_TARGET_x86_64=y" >> .config && \ -echo "CONFIG_PACKAGE_dnsmasq-ha=y" >> .config && \ -echo "CONFIG_PACKAGE_lease-sync=y" >> .config && \ -echo "CONFIG_PACKAGE_owsync=y" >> .config && \ -echo "CONFIG_PACKAGE_ha-cluster=y" >> .config && \ -echo "CONFIG_PACKAGE_luci-app-ha-cluster=y" >> .config && \ -sed -i 's/CONFIG_PACKAGE_dnsmasq=y/# CONFIG_PACKAGE_dnsmasq is not set/' .config && \ + +# Set target architecture +echo "CONFIG_TARGET_x86=y" > .config +echo "CONFIG_TARGET_x86_64=y" >> .config make defconfig +# Enable HA packages +echo "CONFIG_PACKAGE_dnsmasq-ha=y" >> .config +echo "CONFIG_PACKAGE_lease-sync=y" >> .config +echo "CONFIG_PACKAGE_owsync=y" >> .config +echo "CONFIG_PACKAGE_ha-cluster=y" >> .config +echo "CONFIG_PACKAGE_luci-app-ha-cluster=y" >> .config + +# Disable standard dnsmasq AFTER defconfig runs +sed -i 's/CONFIG_PACKAGE_dnsmasq=y/# CONFIG_PACKAGE_dnsmasq is not set/' .config + +# Finalize config changes +make defconfig + +# Download and compile make -j$(nproc) download make -j$(nproc) V=s diff --git a/docker-compose.yaml b/docker-compose.yaml index a9de5d8..1284c78 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -10,20 +10,20 @@ services: user: "1000:1000" tty: true stdin_open: true - command: bash /home/builduser/build.sh + command: bash /home/builduser/openwrt/build.sh volumes: # Firmware outputs mapped directly to host filesystem - ./bin:/home/builduser/openwrt/bin # Source tarballs cached on host to avoid re-downloading across builds - ./dl:/home/builduser/openwrt/dl # Persistent build configuration file (.config) - - ./.config:/home/builduser/openwrt/.config +# - ./.config:/home/builduser/openwrt/.config # build script - - ./build.sh:/home/builduser/build.sh + - ./build.sh:/home/builduser/openwrt/build.sh # Named volumes for heavy build artifacts (maximizes I/O performance) - - openwrt-build-dir:/home/builduser/openwrt/build_dir - - openwrt-staging-dir:/home/builduser/openwrt/staging_dir - - openwrt-ccache:/home/builduser/.ccache +# - openwrt-build-dir:/home/builduser/openwrt/build_dir +# - openwrt-staging-dir:/home/builduser/openwrt/staging_dir +# - openwrt-ccache:/home/builduser/.ccache volumes: openwrt-build-dir: