diff --git a/PBS-Client/build.json b/PBS-Client/build.json deleted file mode 100644 index 7ed4f0d..0000000 --- a/PBS-Client/build.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "build_from": { - "aarch64": "debian:bookworm-slim", - "amd64": "debian:bookworm-slim" - } -} \ No newline at end of file diff --git a/PBS-Client/config.json b/PBS-Client/config.json index 1e35870..8662e5c 100644 --- a/PBS-Client/config.json +++ b/PBS-Client/config.json @@ -1,6 +1,6 @@ { "name": "PBS-Client", - "version": "20240708.13", + "version": "20240708.14", "slug": "pbs-client", "description": "Proxmox Backup Client", "url": "https://git.johnhgaunt.com/jgaunt/hassio-addons/src/branch/master/PBS-Client", @@ -15,7 +15,7 @@ "pbs_fingerprint": "", "username": "", "password": "", - "auth": "pam or pbs", + "auth": "", "datastore": "", "namespace": "", "days_to_keep": "14", @@ -37,6 +37,6 @@ "auth": ["match(pam|pbs)"], "namespace": "str", "days_to_keep": "int", - "include": ["match(^//)"] + "include": ["match(^\/)"] } } \ No newline at end of file diff --git a/PBS-Client/proxmox-backup-arm64/.github/Dockerfile.crosscompile-arm64 b/PBS-Client/proxmox-backup-arm64/.github/Dockerfile.crosscompile-arm64 deleted file mode 100644 index 1ec3622..0000000 --- a/PBS-Client/proxmox-backup-arm64/.github/Dockerfile.crosscompile-arm64 +++ /dev/null @@ -1,27 +0,0 @@ -ARG baseimage=debian:bullseye-slim -FROM ${baseimage} as builder-stage -ARG buildoptions -# workaround for memory bug https://github.com/rust-lang/cargo/issues/10583 -ENV CARGO_NET_GIT_FETCH_WITH_CLI=true -ENV DEBIAN_FRONTEND=noninteractive - -SHELL ["/bin/bash", "-c"] -RUN dpkg --add-architecture arm64 -RUN apt update && apt-get install -y --no-install-recommends \ - build-essential crossbuild-essential-arm64 curl ca-certificates sudo git lintian \ - pkg-config libudev-dev:arm64 libssl-dev:arm64 libapt-pkg-dev:arm64 apt:amd64 \ - libclang-dev libpam0g-dev:arm64 \ - qemu-user-binfmt -RUN grep -qi bookworm /etc/os-release && apt-get install -y pkg-config:arm64 || true - -RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -sSf | sh -s -- -y -RUN source ~/.cargo/env && rustup target add aarch64-unknown-linux-gnu - -COPY . /build/ -WORKDIR /build - -RUN df -h -RUN source ~/.cargo/env && ./build.sh ${buildoptions} - -FROM scratch -COPY --from=builder-stage /build/*.log /build/packages/* / diff --git a/PBS-Client/proxmox-backup-arm64/.github/Dockerfile.installtest b/PBS-Client/proxmox-backup-arm64/.github/Dockerfile.installtest deleted file mode 100644 index 5923e66..0000000 --- a/PBS-Client/proxmox-backup-arm64/.github/Dockerfile.installtest +++ /dev/null @@ -1,9 +0,0 @@ -ARG baseimage=debian:bullseye-slim -FROM ${baseimage} as builder-stage -ENV DEBIAN_FRONTEND=noninteractive - -COPY . /build/ -WORKDIR /build/packages - -RUN ls -l -RUN apt update && apt-get -y install /build/packages/*deb diff --git a/PBS-Client/proxmox-backup-arm64/.github/PREBUILD.md b/PBS-Client/proxmox-backup-arm64/.github/PREBUILD.md deleted file mode 100644 index 97945bb..0000000 --- a/PBS-Client/proxmox-backup-arm64/.github/PREBUILD.md +++ /dev/null @@ -1,7 +0,0 @@ -_These are unofficial binary packages of Proxmox Backup Server 3.x for debian/bookworm._ - -The proxmox-backup*,promox-mini-journalreader and pve-xtermjs packages are cross build using the source from https://git.proxmox.com/ with the build.sh script and the github action docker buildx workflow. The other arch independent packages were downloaded from http://download.proxmox.com/debian/pbs/dists/bookworm/pbs-no-subscription/binary-amd64/. - -Use at your own risk. - -**Official Changelog** diff --git a/PBS-Client/proxmox-backup-arm64/.github/workflows/buildtest.yml b/PBS-Client/proxmox-backup-arm64/.github/workflows/buildtest.yml deleted file mode 100644 index f9dab7c..0000000 --- a/PBS-Client/proxmox-backup-arm64/.github/workflows/buildtest.yml +++ /dev/null @@ -1,74 +0,0 @@ -name: Buildtest -run-name: Buildtest ${{ github.event.inputs.package }} ${{ github.event.inputs.version }} ${{ github.event.inputs.baseimage }} (${{ github.event.inputs.arch }}) - -on: - workflow_dispatch: - inputs: - package: - type: choice - description: Package - options: - - server - - client - version: - type: choice - description: Version - options: - - 3.x - arch: - type: choice - description: Arch - options: - - arm64 - - amd64 - baseimage: - type: choice - description: Base Image - options: - - debian:bookworm-slim - - ubuntu:jammy - -jobs: - build: - runs-on: ubuntu-22.04 - steps: - - name: Free up disk space - run: | - sudo rm -rf /usr/local/.ghcup - sudo rm -rf /usr/local/lib/android - sudo rm -rf /usr/local/lib/node_modules - sudo rm -rf /usr/share/dotnet - sudo rm -rf /usr/share/swift - df -h - - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Build packages - run: | - [ "${{ github.event.inputs.package }}" = "client" ] && package="client" - if [ "${{ github.event.inputs.arch }}" = "arm64" ]; then - if [ "${RUNNER_DEBUG}" = "1" ]; then - docker buildx build -o packages --build-arg buildoptions="cross github debug ${package}" --build-arg baseimage=${{ github.event.inputs.baseimage }} --platform linux/amd64 -f .github/Dockerfile.crosscompile-arm64 . - else - docker buildx build -o packages --build-arg buildoptions="cross github ${package}" --build-arg baseimage=${{ github.event.inputs.baseimage }} --platform linux/amd64 -f .github/Dockerfile.crosscompile-arm64 . - fi - else - if [ "${RUNNER_DEBUG}" = "1" ]; then - docker buildx build -o packages --build-arg buildoptions="github debug ${package}" --build-arg baseimage=${{ github.event.inputs.baseimage }} --platform linux/amd64 . - else - docker buildx build -o packages --build-arg buildoptions="github ${package}" --build-arg baseimage=${{ github.event.inputs.baseimage }} --platform linux/amd64 . - fi - fi - echo "DEB_VERSION=$(dpkg --info packages/proxmox-backup-server_*.deb | sed -n '/Version/ s/[^:]\+: //p')" >> $GITHUB_ENV - echo "DEB_VERSION_UPSTREAM=$(dpkg --info packages/proxmox-backup-server_*.deb | sed -n '/Version/ s/[^:]\+: \([0-9.]\+\)-[0-9]/\1/p')" >> $GITHUB_ENV - - name: Test packages - run: | - df -h - docker buildx build --build-arg baseimage=${{ github.event.inputs.baseimage }} --platform linux/${{ github.event.inputs.arch }} -f .github/Dockerfile.installtest . diff --git a/PBS-Client/proxmox-backup-arm64/.github/workflows/release.yml b/PBS-Client/proxmox-backup-arm64/.github/workflows/release.yml deleted file mode 100644 index df1ff5f..0000000 --- a/PBS-Client/proxmox-backup-arm64/.github/workflows/release.yml +++ /dev/null @@ -1,66 +0,0 @@ -name: Release -run-name: Release ${{ github.ref_name }} ${{ github.event.inputs.version }} Debian (crossbuild/arm64) - -on: - workflow_dispatch: - inputs: - version: - type: choice - description: Version - options: - - 3.x - push: - tags: - - 3.** - -jobs: - build: - permissions: - contents: write - runs-on: ubuntu-22.04 - steps: - - name: Free up disk space - run: | - sudo rm -rf /usr/local/.ghcup - sudo rm -rf /usr/local/lib/android - sudo rm -rf /usr/local/lib/node_modules - sudo rm -rf /usr/share/dotnet - sudo rm -rf /usr/share/swift - df -h - - - name: Checkout - uses: actions/checkout@v4 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v3 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Build packages - run: | - baseimage="debian:bookworm-slim" - echo "DEB_DIST=Debian/Bookworm" >> $GITHUB_ENV - if [ "${RUNNER_DEBUG}" = "1" ]; then - docker buildx build -o packages --build-arg buildoptions="cross github debug" --build-arg baseimage=${baseimage} --platform linux/amd64 -f .github/Dockerfile.crosscompile-arm64 . - else - docker buildx build -o packages --build-arg buildoptions="cross github" --build-arg baseimage=${baseimage} --platform linux/amd64 -f .github/Dockerfile.crosscompile-arm64 . - fi - sudo apt -y install apt-listchanges - apt-listchanges --latest=1 -f text packages/proxmox-backup-server_*.deb | sed -e '/^\(apt-listchanges.*\|[-]\+\)$/d' >> .github/PREBUILD.md - echo "DEB_VERSION=$(dpkg --info packages/proxmox-backup-server_*.deb | sed -n '/Version/ s/[^:]\+: //p')" >> $GITHUB_ENV - echo "DEB_VERSION_UPSTREAM=$(dpkg --info packages/proxmox-backup-server_*.deb | sed -n '/Version/ s/[^:]\+: \([0-9.]\+\)-[0-9]/\1/p')" >> $GITHUB_ENV - - name: Test packages - run: | - df -h - baseimage="debian:bookworm-slim" - docker buildx build --build-arg baseimage=${baseimage} --platform linux/arm64 -f .github/Dockerfile.installtest . - - name: Release packages - uses: ncipollo/release-action@v1 - with: - artifacts: "packages/*.deb" - bodyFile: ".github/PREBUILD.md" - tag: ${{ env.DEB_VERSION }} - name: Version ${{ env.DEB_VERSION }} (${{ env.DEB_DIST }}) - draft: true - makeLatest: false diff --git a/PBS-Client/proxmox-backup-arm64/.gitignore b/PBS-Client/proxmox-backup-arm64/.gitignore deleted file mode 100644 index af1c8c0..0000000 --- a/PBS-Client/proxmox-backup-arm64/.gitignore +++ /dev/null @@ -1,4 +0,0 @@ -/packages -/packages_build -/sources -rust-toolchain.toml diff --git a/PBS-Client/proxmox-backup-arm64/Dockerfile b/PBS-Client/proxmox-backup-arm64/Dockerfile deleted file mode 100644 index 51fc94f..0000000 --- a/PBS-Client/proxmox-backup-arm64/Dockerfile +++ /dev/null @@ -1,22 +0,0 @@ -ARG baseimage=debian:bookworm-slim -FROM ${baseimage} as builder-stage -ARG buildoptions -# workaround for memory bug https://github.com/rust-lang/cargo/issues/10583 -ENV CARGO_NET_GIT_FETCH_WITH_CLI=true -ENV DEBIAN_FRONTEND=noninteractive - -RUN apt update && apt-get install -y --no-install-recommends \ - build-essential curl ca-certificates sudo git lintian \ - pkg-config libudev-dev libssl-dev libapt-pkg-dev libclang-dev \ - libpam0g-dev - -RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -sSf | sh -s -- -y - -COPY . /build/ -WORKDIR /build - -SHELL ["/bin/bash", "-c"] -RUN source ~/.cargo/env && ./build.sh ${buildoptions} - -FROM scratch -COPY --from=builder-stage /build/*.log /build/packages/* / diff --git a/PBS-Client/proxmox-backup-arm64/README.md b/PBS-Client/proxmox-backup-arm64/README.md deleted file mode 100644 index 4f08c96..0000000 --- a/PBS-Client/proxmox-backup-arm64/README.md +++ /dev/null @@ -1,162 +0,0 @@ -# proxmox-backup-arm64 -Script for building Proxmox Backup Server 3.x for Debian/Bookworm
-At least 4 GB are required for compiling. On devices with low memory, SWAP must be used (see help section). - -## Download pre-built packages -You can find unoffical debian packages for bookworm that are created with the build.sh script and github actions at https://github.com/wofferl/proxmox-backup-arm64/releases. - -With the script you can also download all files of the latest release at once -``` -./build.sh download -``` - -or of a specific version -``` -./build.sh download=3.2.6-1 -``` - -## Build manually -### Install build essentials and dependencies -``` -apt-get install -y --no-install-recommends \ - build-essential curl ca-certificates sudo git lintian fakeroot \ - pkg-config libudev-dev libssl-dev libapt-pkg-dev libclang-dev \ - libpam0g-dev -``` -### Install ``rustup`` -``` -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -sSf | sh -s -source ~/.cargo/env -``` - -### Start build script -``` -./build.sh -``` -or -``` -./build.sh client (build only proxmox-backup-client package) -``` - -The compilation can take several hours.
-After that you can find the finished packages in the folder packages/ - -## Build using docker - -You can build arm64 .deb packages using the provided Dockerfile and docker buildx: -``` -docker buildx build -o packages --platform linux/arm64 . -``` - -You can also set build arguments for base image and build.sh options: - -``` -docker buildx build -o packages --build-arg buildoptions="client debug" --build-arg baseimage=ubuntu:jammy --platform linux/arm64 . -``` - -Once the docker build is completed, packages will be copied from the docker build image to a folder named `packages` in the root folder. - -## Build using cross compiler -### Enable multi arch and install build essentials and dependencies -For cross compiling you need to enable multiarch and install the needed build dependencies for the target architecture. For the tests to work qemu-user-binfmt is needed. - -``` -dpkg --add-architecture arm64 -``` -``` -apt update && apt-get install -y --no-install-recommends \ - build-essential crossbuild-essential-arm64 curl ca-certificates sudo git lintian \ - pkg-config libudev-dev:arm64 libssl-dev:arm64 libapt-pkg-dev:arm64 apt:amd64 \ - libclang-dev libpam0g-dev:arm64 \ - qemu-user-binfmt -``` -(apt:amd64 is necessary because libapt-pkg-dev:arm64 would break the dependencies without it) - -### Install ``rustup`` and add target arch -``` -curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs -sSf | sh -s -source ~/.cargo/env -rustup target add aarch64-unknown-linux-gnu -``` - -### Start build script -``` -./build.sh cross -``` - -## Install all needed packages -### Server -``` -sudo apt install \ - ./libjs-extjs_*_all.deb \ - ./libjs-qrcodejs_*_all.deb \ - ./libproxmox-acme-plugins_*_all.deb \ - ./pbs-i18n_*_all.deb \ - ./proxmox-backup-docs_*_all.deb \ - ./proxmox-backup-server_*_arm64.deb \ - ./proxmox-mini-journalreader_*_arm64.deb \ - ./proxmox-widget-toolkit_*_all.deb \ - ./proxmox-termproxy_*_arm64.deb \ - ./pve-xtermjs_*_all.deb -``` - -### Client -``` -sudo apt install \ - ./proxmox-backup-client_*_arm64.deb \ - # Optional: ./proxmox-backup-file-restore_*_arm64.deb -``` - -## Help section -### Debugging -you can add the debug option to redirect the complete build process output also to a file (build.log) - -``` -./build.sh debug -``` -### Console commands - -to see PBS users: - -``` -proxmox-backup-manager user list -``` - -to update root user pwd: - -``` -proxmox-backup-manager user update root@pam --password {pwd} -``` - -more info: https://pbs.proxmox.com/docs/user-management.html - -### Create SWAP (at least 4G on low memory systems like Raspberry PI) -from https://askubuntu.com/questions/178712/how-to-increase-swap-space/1263160#1263160 - -Check swap memory: - -``` -swapon --show or free -h -``` - -Change swapsize on systems with fstab enabled swap: - -``` -sudo swapoff /var/swap -sudo fallocate -l 4G /var/swap -sudo mkswap /var/swap -sudo swapon /var/swap -``` - -Change swapsize on systems with dphys-swapfile service: - -``` -sudo sed -i "s#.*CONF_\(SWAPSIZE\|MAXSWAP\)=.*#CONF_\1=4096#" /etc/dphys-swapfile -sudo service dphys-swapfile restart -``` - - -### 400 Bad Request on Raspberry Pi 5 (https://github.com/wofferl/proxmox-backup-arm64/issues/40) - -The Raspberry Pi 5 uses a kernel with 16k page-size, which is incompatible with Proxmox Backup Server (jemalloc/Rust). -So you need to a 4k kernel on the RPi5 for Proxmox Backup Server to work. diff --git a/PBS-Client/proxmox-backup-arm64/build.sh b/PBS-Client/proxmox-backup-arm64/build.sh deleted file mode 100644 index 1f41d6a..0000000 --- a/PBS-Client/proxmox-backup-arm64/build.sh +++ /dev/null @@ -1,379 +0,0 @@ -#!/bin/bash -# -# build script for proxmox backup server on arm64 -# https://github.com/wofferl/proxmox-backup-arm64 - -set -eu - -function download_package() { - repo=${1} - package=${2} - if [ -n "${5}" ]; then - version_test=("${3}" "${4}") - dest=${5} - else - version_test=('=' "${3}") - dest=${4} - fi - - url=$(select_package "${repo}" "${package}" "${version_test[@]}") - - if [ -z "${url}" ]; then - echo "Error package ${package} in version " "${version_test[@]}" " not found" >&2 - return 1 - fi - - file="${dest}/${url##*/}" - if [ -e "${file}" ]; then - echo "${package} up-to-date" >&2 - echo "${file}" - return 0 - fi - - echo "${package} downloading...${url}" >&2 - curl -sSfL "${url}" -o "${file}" - echo "${file}" -} - -function git_clone_or_fetch() { - url=${1} # url/name.git - name_git=${url##*/} # name.git - name=${name_git%.git} # name - - if [ ! -d "${name}" ]; then - git clone "${url}" - else - git -C "${name}" fetch - fi -} - -function git_clean_and_checkout() { - commit_id=${1} - path=${2} - path_args=( ) - if [[ "${path}" != "" ]]; then - path_args=( "-C" "${path}" ) - fi - - git "${path_args[@]}" clean -ffdx - git "${path_args[@]}" reset --hard - git "${path_args[@]}" checkout "${commit_id}" -} - -function load_packages() { - url=${1} - curl -sSf -H 'Cache-Control: no-cache' "${url}" \ - | gzip -d - \ - | awk -F": " '/^(Package|Version|Depends|Filename)/ { - if($1 == "Package") { - version=""; - depends=""; - filename=""; - package=$2; - } - else if($1 == "Version") { - version=$2; - } - else if($1 == "Depends") { - depends=$2; - } - else if($1 == "Filename") { - filename=$2; - print package";"version";"filename";"depends; - } - }' -} - -function select_package() { - repo=${1} - package_name=${2} - version_test=("${3}" "${4}") - url_base=http://download.proxmox.com/debian/${repo} - if [[ "${repo}" == "pbs" ]]; then - packages_target=${PACKAGES_PBS} - elif [[ "${repo}" == "devel" ]]; then - packages_target=${PACKAGES_DEVEL} - else - echo "Unknown repo ${repo}" >&2 - return 1 - fi - - version_target=0.0 - file_target= - - while IFS= read -r line; do - name=${line%%;*} - line=${line##*${name};} - - if [[ "${name}" == "${package_name}" ]]; then - version=${line%%;*} - line=${line##*${version};} - file=${line%%;*} - line=${line##*${file};} - depends=${line} - if dpkg --compare-versions "${version}" "${version_test[@]}" \ - && dpkg --compare-versions "${version}" '>>' "${version_target}"; then - if [ -n "$depends" ]; then - sudo apt satisfy -s "${depends}" >/dev/null 2>&1 || continue - fi - version_target=${version} - file_target=${file} - fi - fi - done <<<"${packages_target}" - - if [ -n "${file_target}" ]; then - url=${url_base}/${file_target} - echo "${url}" - fi -} - -function set_package_info() { - if [ "$GITHUB_ACTION" ]; then - sed -i "s#^Maintainer:.*#Maintainer: Github Action #" debian/control - sed -i "s#^Homepage:.*#Homepage: https://github.com/wofferl/proxmox-backup-arm64#" debian/control - else - sed -i "s#^\(Maintainer.*\)\$#\1\nOrigin: https://github.com/wofferl/proxmox-backup-arm64#" debian/control - fi -} - -function download_release() { - version=${1:-latest} - release_url="https://api.github.com/repos/wofferl/proxmox-backup-arm64/releases/${version}" - echo "Downloading ${version} released files to "${PACKAGES} - for download_url in $(curl -sSf ${release_url} | sed -n '/browser_download_url/ s/.*\(https.*\)"/\1/p'); do - file=$(basename ${download_url}) - if [ -e ${PACKAGES}/${file} ]; then - echo "${file} already exist" - else - echo "Downloading ${file}" - curl -sSfLO ${download_url} --output-dir ${PACKAGES} - fi - done -} - -SUDO="${SUDO:-sudo -E}" - -SCRIPT=$(realpath "${0}") -BASE=$(dirname "${SCRIPT}") -PACKAGES="${BASE}/packages" -PACKAGES_BUILD="${BASE}/packages_build" -PATCHES="${BASE}/patches" -SOURCES="${BASE}/sources" -LOGFILE="build.log" -PACKAGE_ARCH=$(dpkg-architecture -q DEB_BUILD_ARCH) -BUILD_PACKAGE="server" -BUILD_PROFILES="" -GITHUB_ACTION="" - -. /etc/os-release - -[ ! -d "${PACKAGES}" ] && mkdir -p "${PACKAGES}" - -while [ "$#" -ge 1 ] -do - case "$1" in - client) - BUILD_PACKAGE="client" - BUILD_PROFILES=${BUILD_PROFILES}",nodoc" - [[ ${BUILD_PROFILES} =~ nocheck ]] || BUILD_PROFILES=${BUILD_PROFILES}",nocheck" - export DEB_BUILD_OPTIONS="nocheck" - ;; - cross) - PACKAGE_ARCH=arm64 - BUILD_PROFILES=${BUILD_PROFILES}",cross" - export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_LINKER=/usr/bin/aarch64-linux-gnu-gcc - export CARGO_TARGET_AARCH64_UNKNOWN_LINUX_GNU_RUNNER=qemu-aarch64 - export CARGO_BUILD_TARGET=aarch64-unknown-linux-gnu - export TARGET=aarch64-unknown-linux-gnu - export PKG_CONFIG=/usr/bin/aarch64-linux-gnu-pkg-config - export PKG_CONFIG_LIBDIR=/usr/lib/aarch64-linux-gnu/pkgconfig/ - export CC=/usr/bin/aarch64-linux-gnu-gcc - export DEB_HOST_MULTIARCH=aarch64-linux-gnu - export DEB_HOST_RUST_TYPE=aarch64-unknown-linux-gnu - ;; - download*) - if [[ "$1" =~ download=[0-9.-]+ ]]; then - download_release tags/${1/*=} - else - download_release - fi - exit 0 - ;; - github) - GITHUB_ACTION="true" - ;; - nocheck) - [[ ${BUILD_PROFILES} =~ nocheck ]] || BUILD_PROFILES=${BUILD_PROFILES}",nocheck" - export DEB_BUILD_OPTIONS="nocheck" - ;; - debug) - exec &> >(tee "${LOGFILE}") - echo $@ - cat /etc/os-release - rustc -V - cargo -V - set -x - ;; - *) - echo "usage $0 [client] [nocheck] [debug] [download]" - exit 1 - ;; - esac - shift -done -[ -n "${BUILD_PROFILES}" ] && BUILD_PROFILES="--build-profiles=${BUILD_PROFILES#,}" - -if [ ! -d "${PATCHES}" ]; then - echo "Directory ${PATCHES} is missing! Have you cloned the repository?" - exit 1 -fi - -[ ! -d "${PACKAGES_BUILD}" ] && mkdir -p "${PACKAGES_BUILD}" -[ ! -d "${SOURCES}" ] && mkdir -p "${SOURCES}" - - -echo "Download packages list from proxmox devel repository" -PACKAGES_DEVEL=$(load_packages http://download.proxmox.com/debian/devel/dists/bookworm/main/binary-amd64/Packages.gz) -echo "Download packages list from pbs-no-subscription repository" -PACKAGES_PBS=$(load_packages http://download.proxmox.com/debian/pbs/dists/bookworm/pbs-no-subscription/binary-amd64/Packages.gz) - - -echo "Download dependencies" -EXTJS_VER=(">=" "7~") -PBS_I18N_VER=(">=" "0") -PROXMOX_ACME_VER=(">=" "0") -PROXMOX_WIDGETTOOLKIT_VER=(">=" "3.5.2") -PVE_ESLINT_VER=(">=" "7.18.0-1") -QRCODEJS_VER=(">=" "1.20201119") -if [ "${BUILD_PACKAGE}" = "server" ]; then - download_package pbs pbs-i18n "${PBS_I18N_VER[@]}" "${PACKAGES}" >/dev/null - download_package pbs libjs-extjs "${EXTJS_VER[@]}" "${PACKAGES}" >/dev/null - download_package pbs libjs-qrcodejs "${QRCODEJS_VER[@]}" "${PACKAGES}" >/dev/null - download_package pbs libproxmox-acme-plugins "${PROXMOX_ACME_VER[@]}" "${PACKAGES}" >/dev/null - download_package pbs proxmox-widget-toolkit "${PROXMOX_WIDGETTOOLKIT_VER[@]}" "${PACKAGES}" >/dev/null -fi -if [ "${BUILD_PACKAGE}" = "server" ]; then - packages_install=( - "$(download_package devel proxmox-widget-toolkit-dev "${PROXMOX_WIDGETTOOLKIT_VER[@]}" "${PACKAGES_BUILD}")" - "$(download_package devel pve-eslint "${PVE_ESLINT_VER[@]}" "${PACKAGES_BUILD}")" - ) -else - packages_install=( - "$(download_package devel pve-eslint "${PVE_ESLINT_VER[@]}" "${PACKAGES_BUILD}")" - ) -fi -echo "Install build dependencies" -${SUDO} apt install -y "${packages_install[@]}" - -cat <rust-toolchain.toml -[toolchain] -channel="stable" -targets = [ "${CARGO_BUILD_TARGET:-$(rustc -vV 2>/dev/null | awk '/^host/ { print $2 }')}" ] -EOF - -cd "${SOURCES}" - -PROXMOX_BACKUP_VER="3.2.7-1" -PROXMOX_BACKUP_GIT="cb3d41e838dec0e1002aaf5ee4c0e6cd28284c74" -PROXMOX_GIT="0652d81977a3a35a6f1b046faf0768246a71a8bf" -PATHPATTERNS_GIT="281894a5b66099e919d167cd5f0644fff6aca234" # 0.3.0-1 -PXAR_GIT="ebe402c01c736eb6b822d984cda48538c0b7bf87" # 0.12.0-1 -PROMXOX_FUSE_GIT="8d57fb64f044ea3dcfdef77ed5f1888efdab0708" # 0.1.4 -if [ ! -e "${PACKAGES}/proxmox-backup-${BUILD_PACKAGE}_${PROXMOX_BACKUP_VER}_${PACKAGE_ARCH}.deb" ]; then - git_clone_or_fetch https://git.proxmox.com/git/proxmox.git - git_clean_and_checkout ${PROXMOX_GIT} proxmox - if [ "${PACKAGE_ARCH}" = "arm64" ]; then - patch -p1 -d proxmox/ < "${PATCHES}/proxmox-arm64.patch" - fi - git_clone_or_fetch https://git.proxmox.com/git/proxmox-fuse.git - git_clean_and_checkout ${PROMXOX_FUSE_GIT} proxmox-fuse - git_clone_or_fetch https://git.proxmox.com/git/pxar.git - git_clean_and_checkout ${PXAR_GIT} pxar - git_clone_or_fetch https://git.proxmox.com/git/pathpatterns.git - git_clean_and_checkout ${PATHPATTERNS_GIT} pathpatterns - - git_clone_or_fetch https://git.proxmox.com/git/proxmox-backup.git - git_clean_and_checkout ${PROXMOX_BACKUP_GIT} proxmox-backup - sed -i '/dh-cargo\|cargo:native\|rustc:native\|librust-/d' proxmox-backup/debian/control - sed -i 's/\(patchelf\|xindy\)\b/\1:native/' proxmox-backup/debian/control - sed -i 's/\(latexmk\|proxmox-widget-toolkit-dev\|pve-eslint\|python3-sphinx\)/\1:all/' proxmox-backup/debian/control - patch -p1 -d proxmox-backup/ < "${PATCHES}/proxmox-backup-build.patch" - if [ "${BUILD_PACKAGE}" = "client" ]; then - patch -p1 -d proxmox-backup/ < "${PATCHES}/proxmox-backup-client.patch" - fi - if [ "${PACKAGE_ARCH}" = "arm64" ]; then - sed -i "s/x86_64-linux-gnu/aarch64-linux-gnu/" proxmox-backup/debian/proxmox-backup-file-restore.install - sed -i "s/x86_64-linux-gnu/aarch64-linux-gnu/" proxmox-backup/debian/proxmox-backup-file-restore.postinst - sed -i "s/x86_64-linux-gnu/aarch64-linux-gnu/" proxmox-backup/debian/proxmox-backup-server.install - fi - [[ "${BUILD_PROFILES}" =~ cross ]] && \ - patch -p1 -d proxmox-backup/ < "${PATCHES}/proxmox-backup-cross.patch" - cd proxmox-backup/ - set_package_info - cargo vendor - ${SUDO} apt -y build-dep -a${PACKAGE_ARCH} ${BUILD_PROFILES} . - export DEB_VERSION=$(dpkg-parsechangelog -SVersion) - export DEB_VERSION_UPSTREAM=$(dpkg-parsechangelog -SVersion | cut -d- -f1) - dpkg-buildpackage -a${PACKAGE_ARCH} -b -us -uc ${BUILD_PROFILES} - cd .. - if [ "${BUILD_PACKAGE}" = "client" ]; then - mv -f proxmox-backup-client_${PROXMOX_BACKUP_VER}_${PACKAGE_ARCH}.deb \ - "${PACKAGES}" - else - mv -f proxmox-backup-client{,-dbgsym}_${PROXMOX_BACKUP_VER}_${PACKAGE_ARCH}.* \ - proxmox-backup-docs_${PROXMOX_BACKUP_VER}_all.deb \ - proxmox-backup-file-restore{,-dbgsym}_${PROXMOX_BACKUP_VER}_${PACKAGE_ARCH}.* \ - proxmox-backup-server{,-dbgsym}_${PROXMOX_BACKUP_VER}_${PACKAGE_ARCH}.* \ - "${PACKAGES}" - fi -else - echo "proxmox-backup up-to-date" -fi - -[ "${BUILD_PACKAGE}" = "client" ] && exit 0 - -PVE_XTERMJS_VER="5.3.0-3" -PVE_XTERMJS_GIT="3301e28678e6a26187e8731d920b2b7686c35cad" -PROXMOX_XTERMJS_GIT="04e2d0e5c329b59c4ece59d77079443e39029883" -PROXMOX_TERMPROXY_VER="1.0.1" -if [ ! -e "${PACKAGES}/pve-xtermjs_${PVE_XTERMJS_VER}_"*".deb" ]; then - git_clone_or_fetch https://git.proxmox.com/git/pve-xtermjs.git - git_clean_and_checkout ${PVE_XTERMJS_GIT} pve-xtermjs - patch -p1 -d pve-xtermjs/ < "${PATCHES}/pve-xtermjs-arm.patch" - [[ "${BUILD_PROFILES}" =~ cross ]] && \ - patch -p1 -d pve-xtermjs/ < "${PATCHES}/pve-xtermjs-cross.patch" - cd pve-xtermjs/ - git_clone_or_fetch https://git.proxmox.com/git/proxmox.git - git_clean_and_checkout ${PROXMOX_XTERMJS_GIT} proxmox - cd termproxy - set_package_info - ${SUDO} apt -y -a${PACKAGE_ARCH} build-dep . - BUILD_MODE=release make deb - cd .. - cd xterm.js - make deb - mv -f pve-xtermjs_${PVE_XTERMJS_VER}_all.deb "${PACKAGES}" - cd .. - mv -f proxmox-termproxy_${PROXMOX_TERMPROXY_VER}_${PACKAGE_ARCH}.deb "${PACKAGES}" -else - echo "pve-xtermjs up-to-date" -fi - -PROXMOX_JOURNALREADER_VER="1.4.0" -PROXMOX_JOURNALREADER_GIT="66c4d47b853fbeddf1ddb725ac8e3908452554cb" -if [ ! -e "${PACKAGES}/proxmox-mini-journalreader_${PROXMOX_JOURNALREADER_VER}_${PACKAGE_ARCH}.deb" ]; then - git_clone_or_fetch https://git.proxmox.com/git/proxmox-mini-journalreader.git - git_clean_and_checkout ${PROXMOX_JOURNALREADER_GIT} proxmox-mini-journalreader - patch -p1 -d proxmox-mini-journalreader/ < ${PATCHES}/proxmox-mini-journalreader.patch - [[ "${BUILD_PROFILES}" =~ cross ]] && \ - patch -p1 -d proxmox-mini-journalreader/ < "${PATCHES}/proxmox-mini-journalreader-cross.patch" - cd proxmox-mini-journalreader/ - set_package_info - ${SUDO} apt -y -a${PACKAGE_ARCH} build-dep . - make deb - mv -f proxmox-mini-journalreader{,-dbgsym}_${PROXMOX_JOURNALREADER_VER}_${PACKAGE_ARCH}.* "${PACKAGES}" - cd .. -else - echo "proxmox-mini-journalreader up-to-date" -fi diff --git a/PBS-Client/proxmox-backup-arm64/patches/proxmox-arm64.patch b/PBS-Client/proxmox-backup-arm64/patches/proxmox-arm64.patch deleted file mode 100644 index 6384a2b..0000000 --- a/PBS-Client/proxmox-backup-arm64/patches/proxmox-arm64.patch +++ /dev/null @@ -1,22 +0,0 @@ -diff --git a/proxmox-sys/src/crypt.rs b/proxmox-sys/src/crypt.rs -index 3313f668..c254e761 100644 ---- a/proxmox-sys/src/crypt.rs -+++ b/proxmox-sys/src/crypt.rs -@@ -71,7 +71,7 @@ pub fn crypt(password: &[u8], salt: &[u8]) -> Result { - // > output field of their data argument, and crypt writes an invalid hash to its static - // > storage area. This string will be shorter than 13 characters, will begin with a ‘*’, - // > and will not compare equal to setting. -- if data.output.first().is_none() || Some(&('*' as i8)) == data.output.first() { -+ if data.output.first().is_none() || Some(&('*' as u8)) == data.output.first() { - bail!("internal error: crypt_r returned invalid hash"); - } - CStr::from_ptr(&data.output as *const _) -@@ -133,7 +133,7 @@ pub fn crypt_gensalt(prefix: &str, count: u64, rbytes: &[u8]) -> Result Cargo.toml version mismatch: $$v_cargo != $$v_deb\n" if $$v_cargo ne $$v_deb; exit(0); }' Cargo.toml -- $(CARGO) prepare-debian $(CURDIR)/debian/cargo_registry --link-from-system - dh_auto_configure - - override_dh_auto_build: diff --git a/PBS-Client/proxmox-backup-arm64/patches/proxmox-backup-client.patch b/PBS-Client/proxmox-backup-arm64/patches/proxmox-backup-client.patch deleted file mode 100644 index 927afe2..0000000 --- a/PBS-Client/proxmox-backup-arm64/patches/proxmox-backup-client.patch +++ /dev/null @@ -1,273 +0,0 @@ -diff --git a/Makefile b/Makefile -index dfbaacab..dc21b0b0 100644 ---- a/Makefile -+++ b/Makefile -@@ -4,32 +4,21 @@ include defines.mk - PACKAGE := proxmox-backup - ARCH := $(DEB_BUILD_ARCH) - --SUBDIRS := etc www docs templates -+SUBDIRS := docs - - # Binaries usable by users - USR_BIN := \ - proxmox-backup-client \ -- proxmox-file-restore \ -- pxar \ -- proxmox-tape \ -- pmtx \ -- pmt -+ pxar - - # Binaries usable by admins --USR_SBIN := \ -- proxmox-backup-manager \ -- proxmox-backup-debug -+USR_SBIN := - - # Binaries for services: --SERVICE_BIN := \ -- proxmox-backup-api \ -- proxmox-backup-banner \ -- proxmox-backup-proxy \ -- proxmox-daily-update -+SERVICE_BIN := - - # Single file restore daemon --RESTORE_BIN := \ -- proxmox-restore-daemon -+RESTORE_BIN := - - SUBCRATES != cargo metadata --no-deps --format-version=1 \ - | jq -r .workspace_members'[]' \ -@@ -62,8 +51,7 @@ RESTORE_DEB=proxmox-backup-file-restore_$(DEB_VERSION)_$(ARCH).deb - RESTORE_DBG_DEB=proxmox-backup-file-restore-dbgsym_$(DEB_VERSION)_$(ARCH).deb - DOC_DEB=$(PACKAGE)-docs_$(DEB_VERSION)_all.deb - --DEBS=$(SERVER_DEB) $(SERVER_DBG_DEB) $(CLIENT_DEB) $(CLIENT_DBG_DEB) \ -- $(RESTORE_DEB) $(RESTORE_DBG_DEB) -+DEBS=${CLIENT_DEB} ${CLIENT_DBG_DEB} - - DSC = rust-$(PACKAGE)_$(DEB_VERSION).dsc - -@@ -163,31 +151,11 @@ cargo-build: - $(COMPILED_BINS) $(COMPILEDIR)/dump-catalog-shell-cli $(COMPILEDIR)/docgen: .do-cargo-build - .do-cargo-build: - $(CARGO) build $(CARGO_BUILD_ARGS) \ -- --package proxmox-backup-banner \ -- --bin proxmox-backup-banner \ - --package proxmox-backup-client \ - --bin proxmox-backup-client \ - --bin dump-catalog-shell-cli \ -- --bin proxmox-backup-debug \ -- --package proxmox-file-restore \ -- --bin proxmox-file-restore \ - --package pxar-bin \ -- --bin pxar \ -- --package pbs-tape \ -- --bin pmt \ -- --bin pmtx \ -- --package proxmox-restore-daemon \ -- --bin proxmox-restore-daemon \ -- --package proxmox-backup \ -- --bin docgen \ -- --bin pbs2to3 \ -- --bin proxmox-backup-api \ -- --bin proxmox-backup-manager \ -- --bin proxmox-backup-proxy \ -- --bin proxmox-daily-update \ -- --bin proxmox-file-restore \ -- --bin proxmox-tape \ -- --bin sg-tape-cmd -+ --bin pxar - touch "$@" - - -@@ -196,27 +164,28 @@ lint: - cargo clippy -- -A clippy::all -D clippy::correctness - - install: $(COMPILED_BINS) -+ @echo "$(DESTDIR)" - install -dm755 $(DESTDIR)$(BINDIR) - install -dm755 $(DESTDIR)$(ZSH_COMPL_DEST) - $(foreach i,$(USR_BIN), \ -- install -m755 $(COMPILEDIR)/$(i) $(DESTDIR)$(BINDIR)/ ; \ -+ install -m755 $(COMPILEDIR)/$(i) $(DESTDIR)/$(BINDIR)/ ; \ - install -m644 zsh-completions/_$(i) $(DESTDIR)$(ZSH_COMPL_DEST)/ ;) - install -dm755 $(DESTDIR)$(SBINDIR) - $(foreach i,$(USR_SBIN), \ - install -m755 $(COMPILEDIR)/$(i) $(DESTDIR)$(SBINDIR)/ ; \ - install -m644 zsh-completions/_$(i) $(DESTDIR)$(ZSH_COMPL_DEST)/ ;) -- install -m755 $(COMPILEDIR)/pbs2to3 $(DESTDIR)$(SBINDIR)/ -+ #install -m755 $(COMPILEDIR)/pbs2to3 $(DESTDIR)$(SBINDIR)/ - install -dm755 $(DESTDIR)$(LIBEXECDIR)/proxmox-backup - install -dm755 $(DESTDIR)$(LIBEXECDIR)/proxmox-backup/file-restore - $(foreach i,$(RESTORE_BIN), \ - install -m755 $(COMPILEDIR)/$(i) $(DESTDIR)$(LIBEXECDIR)/proxmox-backup/file-restore/ ;) - # install sg-tape-cmd as setuid binary -- install -m4755 -o root -g root $(COMPILEDIR)/sg-tape-cmd $(DESTDIR)$(LIBEXECDIR)/proxmox-backup/sg-tape-cmd -+ #install -m4755 -o root -g root $(COMPILEDIR)/sg-tape-cmd $(DESTDIR)$(LIBEXECDIR)/proxmox-backup/sg-tape-cmd - $(foreach i,$(SERVICE_BIN), \ - install -m755 $(COMPILEDIR)/$(i) $(DESTDIR)$(LIBEXECDIR)/proxmox-backup/ ;) -- $(MAKE) -C www install -+ #$(MAKE) -C www install - $(MAKE) -C docs install -- $(MAKE) -C templates install -+ #$(MAKE) -C templates install - - .PHONY: upload - upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION) -diff --git a/debian/control b/debian/control -index c38d55bc..57cf3c25 100644 ---- a/debian/control -+++ b/debian/control -@@ -20,7 +20,7 @@ Build-Depends: bash-completion, - pve-eslint:all (>= 7.18.0~), - python3-docutils, - python3-pygments, -- python3-sphinx:all , -+ python3-sphinx:all, - rsync, - texlive-fonts-extra , - texlive-fonts-recommended , -@@ -34,56 +34,9 @@ Vcs-Browser: https://git.proxmox.com/?p=proxmox-backup.git;a=summary - Homepage: https://www.proxmox.com - Rules-Requires-Root: binary-targets - --Package: proxmox-backup-server --Architecture: any --Depends: fonts-font-awesome, -- gdisk, -- libjs-extjs (>= 7~), -- libjs-qrcodejs (>= 1.20201119), -- libproxmox-acme-plugins, -- libsgutils2-1.46-2, -- libzstd1 (>= 1.3.8), -- lvm2, -- openssh-server, -- pbs-i18n, -- postfix | mail-transport-agent, -- proxmox-backup-docs, -- proxmox-mini-journalreader, -- proxmox-widget-toolkit (>= 4.1.4), -- pve-xtermjs (>= 4.7.0-1), -- sg3-utils, -- smartmontools, -- ${misc:Depends}, -- ${shlibs:Depends}, --Recommends: ifupdown2, -- proxmox-mail-forward, -- proxmox-offline-mirror-helper, -- zfsutils-linux, --Description: Proxmox Backup Server daemon with tools and GUI -- This package contains the Proxmox Backup Server daemons and related -- tools. This includes a web-based graphical user interface. -- - Package: proxmox-backup-client - Architecture: any - Depends: qrencode, ${misc:Depends}, ${shlibs:Depends}, - Description: Proxmox Backup Client tools - This package contains the Proxmox Backup client, which provides a - simple command line tool to create and restore backups. -- --Package: proxmox-backup-docs --Build-Profiles: --Section: doc --Depends: fonts-font-awesome, libjs-extjs, libjs-mathjax, ${misc:Depends}, --Architecture: all --Description: Proxmox Backup Documentation -- This package contains the Proxmox Backup Documentation files. -- --Package: proxmox-backup-file-restore --Architecture: any --Depends: ${misc:Depends}, ${shlibs:Depends}, --Recommends: proxmox-backup-restore-image, pve-qemu-kvm (>= 5.0.0-9), --Breaks: proxmox-backup-restore-image (<< 0.3.1), --Description: Proxmox Backup single file restore tools for pxar and block device backups -- This package contains the Proxmox Backup single file restore client for -- restoring individual files and folders from both host/container and VM/block -- device backups. It includes a block device restore driver using QEMU. -diff --git a/debian/rules b/debian/rules -index 79c1ad76..95b1b1bf 100755 ---- a/debian/rules -+++ b/debian/rules -@@ -37,12 +37,13 @@ override_dh_missing: - override_dh_auto_install: - dh_auto_install -- \ - PROXY_USER=backup \ -- LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) -+ LIBDIR=/usr/lib/$(DEB_HOST_MULTIARCH) \ -+ DESTDIR=$(PWD)/debian/tmp - --override_dh_installsystemd: -- dh_installsystemd -pproxmox-backup-server proxmox-backup-daily-update.timer -+#override_dh_installsystemd: -+# dh_installsystemd -pproxmox-backup-server proxmox-backup-daily-update.timer - # note: we start/try-reload-restart services manually in postinst -- dh_installsystemd --no-start --no-restart-after-upgrade --no-stop-on-upgrade -+# dh_installsystemd --no-start --no-restart-after-upgrade --no-stop-on-upgrade - - override_dh_fixperms: - dh_fixperms --exclude sg-tape-cmd -diff --git a/docs/Makefile b/docs/Makefile -index d23796b7..950cd644 100644 ---- a/docs/Makefile -+++ b/docs/Makefile -@@ -1,53 +1,15 @@ - include ../defines.mk - - GENERATED_SYNOPSIS := \ -- proxmox-tape/synopsis.rst \ - proxmox-backup-client/synopsis.rst \ - proxmox-backup-client/catalog-shell-synopsis.rst \ -- proxmox-backup-manager/synopsis.rst \ -- proxmox-backup-debug/synopsis.rst \ -- proxmox-file-restore/synopsis.rst \ -- pxar/synopsis.rst \ -- pmtx/synopsis.rst \ -- pmt/synopsis.rst \ -- config/media-pool/config.rst \ -- config/notifications/config.rst \ -- config/notifications-priv/config.rst \ -- config/tape/config.rst \ -- config/tape-job/config.rst \ -- config/user/config.rst \ -- config/remote/config.rst \ -- config/sync/config.rst \ -- config/verification/config.rst \ -- config/acl/roles.rst \ -- config/datastore/config.rst \ -- config/domains/config.rst -+ pxar/synopsis.rst - - MAN1_PAGES := \ - pxar.1 \ -- pmtx.1 \ -- pmt.1 \ -- proxmox-tape.1 \ -- proxmox-backup-proxy.1 \ -- proxmox-backup-client.1 \ -- proxmox-backup-manager.1 \ -- proxmox-file-restore.1 \ -- proxmox-backup-debug.1 \ -- pbs2to3.1 \ -- --MAN5_PAGES := \ -- media-pool.cfg.5 \ -- tape.cfg.5 \ -- tape-job.cfg.5 \ -- acl.cfg.5 \ -- user.cfg.5 \ -- remote.cfg.5 \ -- sync.cfg.5 \ -- verification.cfg.5 \ -- datastore.cfg.5 \ -- domains.cfg.5 \ -- notifications.cfg.5 \ -- notifications-priv.cfg.5 \ -+ proxmox-backup-client.1 -+ -+MAN5_PAGES := - - PRUNE_SIMULATOR_FILES := \ - prune-simulator/index.html \ diff --git a/PBS-Client/proxmox-backup-arm64/patches/proxmox-backup-cross.patch b/PBS-Client/proxmox-backup-arm64/patches/proxmox-backup-cross.patch deleted file mode 100644 index c3792c0..0000000 --- a/PBS-Client/proxmox-backup-arm64/patches/proxmox-backup-cross.patch +++ /dev/null @@ -1,68 +0,0 @@ -diff --git a/docs/Makefile b/docs/Makefile -index 950cd644..1ba51c00 100644 ---- a/docs/Makefile -+++ b/docs/Makefile -@@ -65,16 +65,16 @@ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(SPHINXOPTS) . - all: ${MAN1_PAGES} ${MAN5_PAGES} - - config/%/config.rst: ${COMPILEDIR}/docgen -- ${COMPILEDIR}/docgen $*.cfg >$@ -+ qemu-aarch64 ${COMPILEDIR}/docgen $*.cfg >$@ - - config/acl/roles.rst: ${COMPILEDIR}/docgen -- ${COMPILEDIR}/docgen "config::acl::Role" >$@ -+ qemu-aarch64 ${COMPILEDIR}/docgen "config::acl::Role" >$@ - - %/synopsis.rst: ${COMPILEDIR}/% -- $< printdoc > $@ -+ qemu-aarch64 $< printdoc > $@ - - proxmox-backup-client/catalog-shell-synopsis.rst: ${COMPILEDIR}/dump-catalog-shell-cli -- ${COMPILEDIR}/dump-catalog-shell-cli > proxmox-backup-client/catalog-shell-synopsis.rst -+ qemu-aarch64 ${COMPILEDIR}/dump-catalog-shell-cli > proxmox-backup-client/catalog-shell-synopsis.rst - - ${MAN1_PAGES} ${MAN5_PAGES}: man-pages - -@@ -89,7 +89,7 @@ onlinehelpinfo: - @echo "Build finished. OnlineHelpInfo.js is in $(BUILDDIR)/scanrefs." - - api-viewer/apidata.js: ${COMPILEDIR}/docgen -- ${COMPILEDIR}/docgen apidata.js >$@ -+ qemu-aarch64 ${COMPILEDIR}/docgen apidata.js >$@ - - api-viewer/apidoc.js: ${API_VIEWER_FILES} - cat ${API_VIEWER_FILES} >$@.tmp -diff --git a/pxar-bin/tests/pxar.rs b/pxar-bin/tests/pxar.rs -index 23559bad..2b6f9a4a 100644 ---- a/pxar-bin/tests/pxar.rs -+++ b/pxar-bin/tests/pxar.rs -@@ -17,7 +17,8 @@ fn pxar_create_and_extract() { - - println!("run '{} create archive.pxar {}'", exec_path, src_dir); - -- Command::new(&exec_path) -+ Command::new("qemu-aarch64") -+ .arg(&exec_path) - .arg("create") - .arg("./tests/archive.pxar") - .arg(src_dir) -@@ -26,7 +27,8 @@ fn pxar_create_and_extract() { - - println!("run '{} extract archive.pxar {}'", exec_path, dest_dir); - -- Command::new(&exec_path) -+ Command::new("qemu-aarch64") -+ .arg(&exec_path) - .arg("extract") - .arg("./tests/archive.pxar") - .arg("--target") -@@ -91,7 +93,8 @@ fn pxar_list_with_payload_input() { - format!("../target/{target_subdir}/release/pxar") - }; - -- let output = Command::new(exec_path) -+ let output = Command::new("qemu-aarch64") -+ .arg(&exec_path) - .args([ - "list", - "../tests/pxar/backup-client-pxar-expected.mpxar", diff --git a/PBS-Client/proxmox-backup-arm64/patches/proxmox-mini-journalreader-cross.patch b/PBS-Client/proxmox-backup-arm64/patches/proxmox-mini-journalreader-cross.patch deleted file mode 100644 index 9abf811..0000000 --- a/PBS-Client/proxmox-backup-arm64/patches/proxmox-mini-journalreader-cross.patch +++ /dev/null @@ -1,35 +0,0 @@ -diff --git a/Makefile b/Makefile -index 1a32c86..b1a4e0a 100644 ---- a/Makefile -+++ b/Makefile -@@ -7,7 +7,7 @@ GITVERSION:=$(shell git rev-parse HEAD) - - BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM) - --DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_BUILD_ARCH).deb -+DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb - DBGDEB=$(PACKAGE)-dbgsym_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_BUILD_ARCH).deb - DEBS=$(DEB) $(DBGDEB) - -@@ -24,7 +24,7 @@ $(BUILDDIR): src debian - deb: $(DEBS) - $(DEBS): $(DEB) - $(DEB): $(BUILDDIR) -- cd $(BUILDDIR); dpkg-buildpackage -b -us -uc -+ cd $(BUILDDIR); dpkg-buildpackage -aarm64 -b -us -uc - lintian $(DEB) - - .PHONY: dsc -diff --git a/src/Makefile b/src/Makefile -index 449004f..f437733 100644 ---- a/src/Makefile -+++ b/src/Makefile -@@ -13,7 +13,7 @@ LDFLAGS += $(shell pkg-config --libs $(LIBS)) - all: $(PROGRAM) - - $(PROGRAM): $(SOURCES) -- gcc $< -o $@ $(CFLAGS) $(LDFLAGS) -+ ${CC} $< -o $@ $(CFLAGS) $(LDFLAGS) - - .PHONY: install - install: $(PROGRAM) mini-journalreader.1 diff --git a/PBS-Client/proxmox-backup-arm64/patches/proxmox-mini-journalreader.patch b/PBS-Client/proxmox-backup-arm64/patches/proxmox-mini-journalreader.patch deleted file mode 100644 index 3e6dad4..0000000 --- a/PBS-Client/proxmox-backup-arm64/patches/proxmox-mini-journalreader.patch +++ /dev/null @@ -1,27 +0,0 @@ -diff --git a/src/mini-journalreader.c b/src/mini-journalreader.c -index 98bcaac..4fc5415 100644 ---- a/src/mini-journalreader.c -+++ b/src/mini-journalreader.c -@@ -169,7 +169,7 @@ static bool print_field(sd_journal *j, const char *field) { - if (json) { - char tmp[7]; - for (size_t i = 0; i < l;i++) { -- if (d[i] == '"' || d[i] == '\\' || (d[i] >= 0 && d[i] <= 0x1F)) { -+ if (d[i] == '"' || d[i] == '\\' || d[i] <= 0x1F) { - sprintf(tmp, "\\u%04X", d[i]); - print_to_buf(tmp, 6); - } else { -@@ -257,10 +257,12 @@ int main(int argc, char *argv[]) { - uint64_t begin = 0; - uint64_t end = 0; - char c; -+ int opt = 0; - - progname = argv[0]; - -- while ((c = (char)getopt (argc, argv, "b:e:d:n:f:t:jh")) != -1) { -+ while ((opt = getopt (argc, argv, "b:e:d:n:f:t:jh")) != -1) { -+ c = (char) opt; - switch (c) { - case 'b': - begin = arg_to_uint64(optarg); diff --git a/PBS-Client/proxmox-backup-arm64/patches/pve-xtermjs-arm.patch b/PBS-Client/proxmox-backup-arm64/patches/pve-xtermjs-arm.patch deleted file mode 100644 index a2d698e..0000000 --- a/PBS-Client/proxmox-backup-arm64/patches/pve-xtermjs-arm.patch +++ /dev/null @@ -1,125 +0,0 @@ -diff --git a/.cargo/config b/.cargo/config -index 3b5b6e4..4df5be2 100644 ---- a/.cargo/config -+++ b/.cargo/config -@@ -1,5 +1,5 @@ - [source] --[source.debian-packages] --directory = "/usr/share/cargo/registry" -+[source.vendor] -+directory = "termproxy/vendor" - [source.crates-io] --replace-with = "debian-packages" -+replace-with = "vendor" -diff --git a/termproxy/Cargo.toml b/termproxy/Cargo.toml -index a49d6b0..6f02e0a 100644 ---- a/termproxy/Cargo.toml -+++ b/termproxy/Cargo.toml -@@ -23,3 +23,7 @@ pico-args = "0.4" - proxmox-io = "1" - proxmox-lang = "1.1" - ureq = { version = "2.4", default-features = false, features = [ "gzip" ] } -+ -+[patch.crates-io] -+proxmox-io = { path = "../proxmox/proxmox-io" } -+proxmox-lang = { path = "../proxmox/proxmox-lang" } -diff --git a/termproxy/Makefile b/termproxy/Makefile -index d7655b9..b351396 100644 ---- a/termproxy/Makefile -+++ b/termproxy/Makefile -@@ -35,6 +35,13 @@ $(TERMPROXY_BIN): .do-cargo-build - $(CARGO) build $(CARGO_BUILD_ARGS) - touch .do-cargo-build - -+.PHONY: cargo-vendor -+cargo-vendor: -+ cargo vendor -+ rm -f vendor/endian_trait/rust-toolchain -+ rm -f vendor/endian_trait_derive/rust-toolchain -+ sed -i "s#\"rust-toolchain[^,]\+,##" vendor/endian_trait/.cargo-checksum.json -+ sed -i "s#\"rust-toolchain[^,]\+,##" vendor/endian_trait_derive/.cargo-checksum.json - - .PHONY: cargo-build - cargo-build: .do-cargo-build -@@ -54,9 +61,10 @@ $(ORIG_SRC_TAR): $(BUILDDIR) - .PHONY: deb - deb: $(DEB) - $(DBG_DEB): $(DEB) --$(DEB): $(BUILDDIR) -- cd $(BUILDDIR); dpkg-buildpackage -b -uc -us -- lintian $(DEB) -+$(DEB): cargo-vendor -+ echo "git clone git://git.proxmox.com/git/pve-xtermjs.git\\ngit checkout ${GITVERSION}" > debian/SOURCE -+ DEB_CARGO_PACKAGE=$(PACKAGE) dpkg-buildpackage -b -uc -us --no-pre-clean -+ lintian ../$(DEB) - @echo $(DEB) - - .PHONY: dsc -diff --git a/termproxy/debian/control b/termproxy/debian/control -index 383bdbe..583a584 100644 ---- a/termproxy/debian/control -+++ b/termproxy/debian/control -@@ -1,20 +1,8 @@ - Source: proxmox-termproxy - Section: admin - Priority: optional --Build-Depends: cargo:native, -- debhelper-compat (= 13), -- dh-cargo (>= 25), -- librust-anyhow-1+default-dev, -- librust-clap-4+default-dev, -- librust-mio-0.8+default-dev, -- librust-mio-0.8+net-dev, -- librust-mio-0.8+os-ext-dev, -- librust-proxmox-io-1+default-dev, -- librust-proxmox-lang-1+default-dev (>= 1.1-~~), -- librust-proxmox-sys-0.5+default-dev, -- librust-ureq-2+gzip-dev (>= 2.4-~~), -+Build-Depends: debhelper-compat (= 13), - libstd-rust-dev, -- rustc:native, - Maintainer: Proxmox Support Team - Standards-Version: 4.6.1 - Vcs-Git: git://git.proxmox.com/git/pve-xtermjs.git -@@ -26,7 +14,7 @@ Package: proxmox-termproxy - Architecture: any - Multi-Arch: allowed - Depends: ${misc:Depends}, ${shlibs:Depends}, --Recommends: pve-xtermjs -+Recommends: pve-xtermjs:all - Breaks: pve-xtermjs (<< 5.3.0~) - Replaces: pve-xtermjs (<< 5.3.0~) - Description: Wrapper proxy for executing programs in the system terminal -diff --git a/termproxy/debian/rules b/termproxy/debian/rules -index add090b..7d25614 100755 ---- a/termproxy/debian/rules -+++ b/termproxy/debian/rules -@@ -4,7 +4,6 @@ - DH_VERBOSE = 1 - - include /usr/share/dpkg/pkg-info.mk --include /usr/share/rustc/architecture.mk - - export BUILD_MODE=release - -@@ -23,7 +22,6 @@ export DEB_CARGO_PACKAGE=proxmox-termproxy - override_dh_auto_configure: - @perl -ne 'if (/^version\s*=\s*"(\d+(?:\.\d+)+)"/) { my $$v_cargo = $$1; my $$v_deb = "$(DEB_VERSION_UPSTREAM)"; \ - die "ERROR: d/changelog <-> Cargo.toml version mismatch: $$v_cargo != $$v_deb\n" if $$v_cargo ne $$v_deb; exit(0); }' Cargo.toml -- $(CARGO) prepare-debian $(CURDIR)/debian/cargo_registry --link-from-system - dh_auto_configure - - override_dh_missing: -diff --git a/xterm.js/debian/control b/xterm.js/debian/control -index 71cf01f..9c98b84 100644 ---- a/xterm.js/debian/control -+++ b/xterm.js/debian/control -@@ -11,7 +11,7 @@ Rules-Requires-Root: no - - Package: pve-xtermjs - Architecture: all --Depends: ${misc:Depends}, proxmox-termproxy -+Depends: ${misc:Depends}, proxmox-termproxy:any - Description: HTML/TypeScript based fully-featured terminal for Proxmox projects - Provides the xterm.js frontend for the terminal feature in Proxmox projects' - web UI's, like for host administration or Proxmox VE containers shells. diff --git a/PBS-Client/proxmox-backup-arm64/patches/pve-xtermjs-cross.patch b/PBS-Client/proxmox-backup-arm64/patches/pve-xtermjs-cross.patch deleted file mode 100644 index 7622c3f..0000000 --- a/PBS-Client/proxmox-backup-arm64/patches/pve-xtermjs-cross.patch +++ /dev/null @@ -1,16 +0,0 @@ -diff --git a/termproxy/Makefile b/termproxy/Makefile -index d7655b9..dd84a23 100644 ---- a/termproxy/Makefile -+++ b/termproxy/Makefile -@@ -13,9 +13,9 @@ DSC=$(PACKAGE)_$(DEB_VERSION).dsc - CARGO ?= cargo - ifeq ($(BUILD_MODE), release) - CARGO_BUILD_ARGS += --release --COMPILEDIR := target/release -+COMPILEDIR := target/aarch64-unknown-linux-gnu/release - else --COMPILEDIR := target/debug -+COMPILEDIR := target/aarch64-unknown-linux-gnu/debug - endif - - PREFIX = /usr diff --git a/PBS-Client/proxmox-backup-client-dbgsym_3.2.7-1_arm64.deb b/PBS-Client/proxmox-backup-client-dbgsym_3.2.7-1_arm64.deb deleted file mode 100644 index 80b85ff..0000000 Binary files a/PBS-Client/proxmox-backup-client-dbgsym_3.2.7-1_arm64.deb and /dev/null differ