diff --git a/build.sh b/build.sh index 036384d..1a3b851 100755 --- a/build.sh +++ b/build.sh @@ -173,6 +173,7 @@ PATCHES="${BASE}/patches" SOURCES="${BASE}/sources" LOGFILE="build.log" PACKAGE_ARCH=$(dpkg-architecture -q DEB_BUILD_ARCH) +HOST_ARCH=$(dpkg-architecture -q DEB_HOST_ARCH) HOST_CPU=$(dpkg-architecture -q DEB_HOST_GNU_CPU) HOST_SYSTEM=$(dpkg-architecture -q DEB_HOST_GNU_SYSTEM) BUILD_PACKAGE="server" @@ -299,6 +300,32 @@ targets = [ "${CARGO_BUILD_TARGET:-$(rustc -vV 2>/dev/null | awk '/^host/ { prin EOF cd "${SOURCES}" +if [ "${BUILD_PACKAGE}" != "client" ]; then + PROXMOX_BIOME_VER="2.0.0-beta.6-2" + PROXMOX_BIOME_GIT="0440df4eae11820e85892e35a52482b8cd72d800" # 2.0.0 + if [ ! -e "${PACKAGES_BUILD}/proxmox-biome_${PROXMOX_BIOME_VER}_${HOST_ARCH}.deb" ]; then + git_clone_or_fetch https://git.proxmox.com/git/proxmox-biome.git + git_clean_and_checkout ${PROXMOX_BIOME_GIT} proxmox-biome + patch -p1 -d proxmox-biome/ <"${PATCHES}/proxmox-biome-build.patch" + if [ "${HOST_ARCH}" = "arm64" ]; then + patch -p1 -d proxmox-biome/ <"${PATCHES}/proxmox-biome-arm.patch" + fi + cd proxmox-biome + set_package_info + ${SUDO} apt -y build-dep . + make deb + mv -f proxmox-biome_${PROXMOX_BIOME_VER}_${HOST_ARCH}.deb "${PACKAGES_BUILD}" + cd .. + else + echo "proxmox-biome up-to-date" + fi + if [ -e "${PACKAGES_BUILD}/proxmox-biome_${PROXMOX_BIOME_VER}_${HOST_ARCH}.deb" ]; then + ${SUDO} apt install -y "${PACKAGES_BUILD}/proxmox-biome_${PROXMOX_BIOME_VER}_${HOST_ARCH}.deb" + else + echo "proxmox-biome dependency missing" + exit 1 + fi +fi PROXMOX_BACKUP_VER="3.4.2-1" PROXMOX_BACKUP_GIT="37f1949335cad801f7cdaa0173cc114590a37e4e" diff --git a/patches/proxmox-biome-arm.patch b/patches/proxmox-biome-arm.patch new file mode 100644 index 0000000..13b01be --- /dev/null +++ b/patches/proxmox-biome-arm.patch @@ -0,0 +1,46 @@ +diff --git a/Makefile b/Makefile +index 18e5ce27..d973b636 100644 +--- a/Makefile ++++ b/Makefile +@@ -2,8 +2,8 @@ include /usr/share/dpkg/pkg-info.mk + + PACKAGE=proxmox-biome + +-DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_amd64.deb +-DEB_DBG=$(PACKAGE)-dbgsym_$(DEB_VERSION_UPSTREAM_REVISION)_amd64.deb ++DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb ++DEB_DBG=$(PACKAGE)-dbgsym_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb + + BUILDDIR=$(PACKAGE)-$(DEB_VERSION_UPSTREAM) + +@@ -45,7 +45,7 @@ $(BUILDDIR): + + deb: $(DEB) + $(DEB) $(DEB_DBG) &: $(BUILDDIR) +- cd $(BUILDDIR); dpkg-buildpackage -b -us -uc ++ cd $(BUILDDIR); dpkg-buildpackage -aarm64 -b -us -uc + lintian $(DEB) + + .PHONY: upload +diff --git a/debian/control b/debian/control +index bcfa86d0..15bcba80 100644 +--- a/debian/control ++++ b/debian/control +@@ -7,7 +7,7 @@ Homepage: https://biomejs.dev/ + Standards-Version: 4.7.0.0 + + Package: proxmox-biome +-Architecture: amd64 ++Architecture: arm64 + Depends: ${misc:Depends}, ${shlibs:Depends}, + Description: Biome offers JS formatter and linter, usable via CLI and LSP. + Biome is a performant toolchain for web projects, it aims to provide developer +diff --git a/debian/install b/debian/install +index 80c48310..312138c2 100644 +--- a/debian/install ++++ b/debian/install +@@ -1,3 +1,3 @@ + src/biome.json usr/share/proxmox-biome/ + src/proxmox-biome usr/bin/ +-target/release/biome usr/bin ++target/aarch64-unknown-linux-gnu/release/biome usr/bin diff --git a/patches/proxmox-biome-build.patch b/patches/proxmox-biome-build.patch new file mode 100644 index 0000000..85f4e7d --- /dev/null +++ b/patches/proxmox-biome-build.patch @@ -0,0 +1,13 @@ +diff --git a/debian/control b/debian/control +index bcfa86d0..ec90b4df 100644 +--- a/debian/control ++++ b/debian/control +@@ -2,7 +2,7 @@ Source: proxmox-biome + Section: admin + Priority: optional + Maintainer: Proxmox Support Team +-Build-Depends: cargo, debhelper-compat (= 12), shellcheck, ++Build-Depends: debhelper-compat (= 12), shellcheck, + Homepage: https://biomejs.dev/ + Standards-Version: 4.7.0.0 +