diff --git a/.github/workflows/buildtest.yml b/.github/workflows/buildtest.yml index 79b367a..d62baea 100644 --- a/.github/workflows/buildtest.yml +++ b/.github/workflows/buildtest.yml @@ -14,7 +14,6 @@ on: type: choice description: Version options: - - 2.x - 3.x arch: type: choice diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 972f5b4..d1eb9ed 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,11 +8,9 @@ on: type: choice description: Version options: - - 2.x - 3.x push: tags: - - 2.** - 3.** jobs: diff --git a/README.md b/README.md index 440f6d5..ca5991f 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # proxmox-backup-arm64 -Script for building Proxmox Backup Server 2.x (Debian/Bullseye) or 3.x (Debian/Bookworm) (add pbs3 as option to build 3.x on Bullseye)
+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 @@ -12,7 +12,7 @@ With the script you can also download all files of the latest release at once or of a specific version ``` -./build.sh download=2.4.3-1 +./build.sh download=3.2.6-1 ``` ## Build manually diff --git a/build.sh b/build.sh index 2a216f1..c1dd68e 100755 --- a/build.sh +++ b/build.sh @@ -170,10 +170,8 @@ GITHUB_ACTION="" if [ "${VERSION_CODENAME}" = "bookworm" ]; then DISTNAME="bookworm" - PBSVERSION="pbs3" else DISTNAME="bullseye" - PBSVERSION="pbs2" fi [ ! -d "${PACKAGES}" ] && mkdir -p "${PACKAGES}" @@ -214,9 +212,6 @@ do [[ ${BUILD_PROFILES} =~ nocheck ]] || BUILD_PROFILES=${BUILD_PROFILES}",nocheck" export DEB_BUILD_OPTIONS="nocheck" ;; - pbs*) - PBSVERSION=${1} - ;; debug) exec &> >(tee "${LOGFILE}") echo $@ @@ -284,27 +279,17 @@ EOF cd "${SOURCES}" -if [ "${PBSVERSION}" = "pbs3" ]; then - PROXMOX_BACKUP_VER="3.2.6-1" - PROXMOX_BACKUP_GIT="472b52f54c4db176eb408ebd0de209323879eb5e" - PROXMOX_GIT="aae8a03dc4e119b5930ef36a68fb7e50f446eeca" - PATHPATTERNS_GIT="281894a5b66099e919d167cd5f0644fff6aca234" # 0.3.0-1 - PXAR_GIT="ebe402c01c736eb6b822d984cda48538c0b7bf87" # 0.12.0-1 -else - PROXMOX_BACKUP_VER="2.4.6-1" - PROXMOX_BACKUP_GIT="6751d3787e3f45d1692d2a245ebb099288f65afc" - PROXMOX_GIT="286c55d5b493a1e76fa3e70ae1c874cf82ca39aa" - PROXMOX_OPENID_GIT="ecf59cbb74278ea0e9710466508158ed6a6828c4" # 0.9.9-1 - PROXMOX_ACME_RS_GIT="abc0bdd09d5c3501534510d49da0ae8fa5c05c05" # 0.4.0 - PATHPATTERNS_GIT="13145f729d0a703c33d560367843f555cc799272" # 0.2.0-1 - PXAR_GIT="29cbeed3e1b52f5eef455cdfa8b5e93f4e3e88f5" # 0.10.2-1 -fi +PROXMOX_BACKUP_VER="3.2.6-1" +PROXMOX_BACKUP_GIT="472b52f54c4db176eb408ebd0de209323879eb5e" +PROXMOX_GIT="aae8a03dc4e119b5930ef36a68fb7e50f446eeca" +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 [ "${PBSVERSION}" = "pbs3" -a "${PACKAGE_ARCH}" = "arm64" ]; then - patch -p1 -d proxmox/ < "${PATCHES}/${PBSVERSION}/proxmox-arm64.patch" + 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 @@ -312,23 +297,17 @@ if [ ! -e "${PACKAGES}/proxmox-backup-${BUILD_PACKAGE}_${PROXMOX_BACKUP_VER}_${P 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 - if [ "${PBSVERSION}" = "pbs2" ]; then - git_clone_or_fetch https://git.proxmox.com/git/proxmox-acme-rs.git - git_clean_and_checkout ${PROXMOX_ACME_RS_GIT} proxmox-acme-rs - git_clone_or_fetch https://git.proxmox.com/git/proxmox-openid-rs.git - git_clean_and_checkout ${PROXMOX_OPENID_GIT} proxmox-openid-rs - fi 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}/${PBSVERSION}/proxmox-backup-build.patch" + patch -p1 -d proxmox-backup/ < "${PATCHES}/proxmox-backup-build.patch" if [ "${BUILD_PACKAGE}" = "client" ]; then - patch -p1 -d proxmox-backup/ < "${PATCHES}/${PBSVERSION}/proxmox-backup-client.patch" + patch -p1 -d proxmox-backup/ < "${PATCHES}/proxmox-backup-client.patch" fi - if [ "${PBSVERSION}" = "pbs3" -a "${DISTNAME}" = "bullseye" ]; then + if [ "${DISTNAME}" = "bullseye" ]; then sed -i 's/libsgutils2-.*-2/libsgutils2-2/' proxmox-backup/debian/control fi if [ "${PACKAGE_ARCH}" = "arm64" ]; then @@ -337,7 +316,7 @@ if [ ! -e "${PACKAGES}/proxmox-backup-${BUILD_PACKAGE}_${PROXMOX_BACKUP_VER}_${P 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}/${PBSVERSION}/proxmox-backup-cross.patch" + patch -p1 -d proxmox-backup/ < "${PATCHES}/proxmox-backup-cross.patch" cd proxmox-backup/ set_package_info cargo vendor @@ -362,39 +341,29 @@ fi [ "${BUILD_PACKAGE}" = "client" ] && exit 0 -if [ "${PBSVERSION}" = "pbs2" ]; then - PVE_XTERMJS_VER="4.16.0-3" - PVE_XTERMJS_GIT="99c9d214258a496227e15f0803fb163925be65c8" - PROXMOX_XTERMJS_GIT="2a070da0651677411a245f1714895235b1caf584" -else - PVE_XTERMJS_VER="5.3.0-3" - PVE_XTERMJS_GIT="3301e28678e6a26187e8731d920b2b7686c35cad" - PROXMOX_XTERMJS_GIT="04e2d0e5c329b59c4ece59d77079443e39029883" - PROXMOX_TERMPROXY_VER="1.0.1" -fi +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}/${PBSVERSION}/pve-xtermjs-arm.patch" + patch -p1 -d pve-xtermjs/ < "${PATCHES}/pve-xtermjs-arm.patch" [[ "${BUILD_PROFILES}" =~ cross ]] && \ - patch -p1 -d pve-xtermjs/ < "${PATCHES}/${PBSVERSION}/pve-xtermjs-cross.patch" + 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 - [ "${PBSVERSION}" = "pbs3" ] && cd termproxy + cd termproxy set_package_info ${SUDO} apt -y -a${PACKAGE_ARCH} build-dep . BUILD_MODE=release make deb cd .. - if [ "${PBSVERSION}" = "pbs3" ]; then - cd xterm.js - make deb - cp -a pve-xtermjs_${PVE_XTERMJS_VER}_all.deb "${PACKAGES}" - cd .. - cp -a proxmox-termproxy_${PROXMOX_TERMPROXY_VER}_${PACKAGE_ARCH}.deb "${PACKAGES}" - else - cp -a pve-xtermjs_${PVE_XTERMJS_VER}_${PACKAGE_ARCH}.deb "${PACKAGES}" - fi + cd xterm.js + make deb + cp -a pve-xtermjs_${PVE_XTERMJS_VER}_all.deb "${PACKAGES}" + cd .. + cp -a proxmox-termproxy_${PROXMOX_TERMPROXY_VER}_${PACKAGE_ARCH}.deb "${PACKAGES}" else echo "pve-xtermjs up-to-date" fi diff --git a/patches/pbs2/proxmox-backup-build.patch b/patches/pbs2/proxmox-backup-build.patch deleted file mode 100644 index ac79564..0000000 --- a/patches/pbs2/proxmox-backup-build.patch +++ /dev/null @@ -1,113 +0,0 @@ -diff --git a/.cargo/config b/.cargo/config -index 3b5b6e48..50908c05 100644 ---- a/.cargo/config -+++ b/.cargo/config -@@ -1,5 +1,17 @@ --[source] --[source.debian-packages] --directory = "/usr/share/cargo/registry" - [source.crates-io] --replace-with = "debian-packages" -+replace-with = "vendored-sources" -+ -+[source."git://git.proxmox.com/git/pathpatterns.git"] -+git = "git://git.proxmox.com/git/pathpatterns.git" -+replace-with = "vendored-sources" -+ -+[source."git://git.proxmox.com/git/proxmox-fuse.git"] -+git = "git://git.proxmox.com/git/proxmox-fuse.git" -+replace-with = "vendored-sources" -+ -+[source."git://git.proxmox.com/git/pxar.git"] -+git = "git://git.proxmox.com/git/pxar.git" -+replace-with = "vendored-sources" -+ -+[source.vendored-sources] -+directory = "vendor" -diff --git a/Cargo.toml b/Cargo.toml -index 20c1e9c8..c0e13abe 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -241,31 +241,34 @@ proxmox-rrd.workspace = true - # Local path overrides - # NOTE: You must run `cargo update` after changing this for it to take effect! - [patch.crates-io] --#proxmox-acme-rs = { path = "../proxmox-acme-rs" } --#proxmox-async = { path = "../proxmox/proxmox-async" } --#proxmox-auth-api = { path = "../proxmox/proxmox-auth-api" } --#proxmox-borrow = { path = "../proxmox/proxmox-borrow" } --#proxmox-compression = { path = "../proxmox/proxmox-compression" } --#proxmox-fuse = { path = "../proxmox-fuse" } --#proxmox-http = { path = "../proxmox/proxmox-http" } --#proxmox-io = { path = "../proxmox/proxmox-io" } --#proxmox-lang = { path = "../proxmox/proxmox-lang" } --#proxmox-rest-server = { path = "../proxmox/proxmox-rest-server" } --#proxmox-router = { path = "../proxmox/proxmox-router" } --#proxmox-schema = { path = "../proxmox/proxmox-schema" } --#proxmox-section-config = { path = "../proxmox/proxmox-section-config" } --#proxmox-serde = { path = "../proxmox/proxmox-serde" } --#proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" } --#proxmox-subscription = { path = "../proxmox/proxmox-subscription" } --#proxmox-sys = { path = "../proxmox/proxmox-sys" } --#proxmox-tfa = { path = "../proxmox/proxmox-tfa" } --#proxmox-time = { path = "../proxmox/proxmox-time" } --#proxmox-uuid = { path = "../proxmox/proxmox-uuid" } -+proxmox-acme-rs = { path = "../proxmox-acme-rs" } -+proxmox-async = { path = "../proxmox/proxmox-async" } -+proxmox-auth-api = { path = "../proxmox/proxmox-auth-api" } -+proxmox-borrow = { path = "../proxmox/proxmox-borrow" } -+proxmox-compression = { path = "../proxmox/proxmox-compression" } -+proxmox-fuse = { path = "../proxmox-fuse" } -+proxmox-http = { path = "../proxmox/proxmox-http" } -+proxmox-io = { path = "../proxmox/proxmox-io" } -+proxmox-lang = { path = "../proxmox/proxmox-lang" } -+proxmox-ldap = { path = "../proxmox/proxmox-ldap" } -+proxmox-metrics = { path = "../proxmox/proxmox-metrics" } -+proxmox-rest-server = { path = "../proxmox/proxmox-rest-server" } -+proxmox-router = { path = "../proxmox/proxmox-router" } -+proxmox-schema = { path = "../proxmox/proxmox-schema" } -+proxmox-section-config = { path = "../proxmox/proxmox-section-config" } -+proxmox-serde = { path = "../proxmox/proxmox-serde" } -+proxmox-shared-memory = { path = "../proxmox/proxmox-shared-memory" } -+proxmox-sortable-macro = { path = "../proxmox/proxmox-sortable-macro" } -+proxmox-subscription = { path = "../proxmox/proxmox-subscription" } -+proxmox-sys = { path = "../proxmox/proxmox-sys" } -+proxmox-tfa = { path = "../proxmox/proxmox-tfa" } -+proxmox-time = { path = "../proxmox/proxmox-time" } -+proxmox-uuid = { path = "../proxmox/proxmox-uuid" } - --#proxmox-apt = { path = "../proxmox-apt" } --#proxmox-openid = { path = "../proxmox-openid-rs" } -+proxmox-apt = { path = "../proxmox/proxmox-apt" } -+proxmox-openid = { path = "../proxmox-openid-rs" } - --#pxar = { path = "../pxar" } -+pxar = { path = "../pxar" } - - [features] - default = [] -diff --git a/debian/rules b/debian/rules -index 79366229..1ebd7460 100755 ---- a/debian/rules -+++ b/debian/rules -@@ -4,12 +4,9 @@ - DH_VERBOSE = 1 - - include /usr/share/dpkg/pkg-info.mk --include /usr/share/rustc/architecture.mk - - export BUILD_MODE=release - --CARGO=/usr/share/cargo/bin/cargo -- - export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS - export DEB_HOST_RUST_TYPE DEB_HOST_GNU_TYPE - export CARGO_HOME = $(CURDIR)/debian/cargo_home -@@ -27,7 +24,6 @@ endif - 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_auto_build: diff --git a/patches/pbs2/proxmox-backup-client.patch b/patches/pbs2/proxmox-backup-client.patch deleted file mode 100644 index 7fe5d0d..0000000 --- a/patches/pbs2/proxmox-backup-client.patch +++ /dev/null @@ -1,259 +0,0 @@ -diff --git a/Makefile b/Makefile -index 06928be7..00751f1c 100644 ---- a/Makefile -+++ b/Makefile -@@ -4,32 +4,21 @@ include defines.mk - PACKAGE := proxmox-backup - ARCH := $(DEB_BUILD_ARCH) - --SUBDIRS := etc www docs -+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'[]' \ -@@ -61,8 +50,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) $(DEBUG_DEB) $(DEBUG_DBG_DEB) -+DEBS=${CLIENT_DEB} ${CLIENT_DBG_DEB} - - DSC = rust-$(PACKAGE)_$(DEB_VERSION).dsc - -@@ -154,30 +142,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 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 "$@" - - -@@ -195,16 +164,16 @@ install: $(COMPILED_BINS) - $(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 - - .PHONY: upload -diff --git a/debian/control b/debian/control -index 54912cc1..bab69748 100644 ---- a/debian/control -+++ b/debian/control -@@ -21,7 +21,7 @@ Build-Depends: debhelper (>= 12), - pve-eslint:all (>= 7.18.0~), - python3-docutils, - python3-pygments, -- python3-sphinx:all , -+ python3-sphinx:all, - rsync, - texlive-fonts-extra , - texlive-fonts-recommended , -@@ -34,34 +34,6 @@ 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, -- libjs-extjs (>= 7~), -- libjs-qrcodejs (>= 1.20201119), -- libproxmox-acme-plugins, -- libsgutils2-2, -- libzstd1 (>= 1.3.8), -- lvm2, -- openssh-server, -- pbs-i18n, -- postfix | mail-transport-agent, -- proxmox-backup-docs, -- proxmox-mini-journalreader, -- proxmox-widget-toolkit (>= 3.5.2), -- pve-xtermjs (>= 4.7.0-1), -- sg3-utils, -- smartmontools, -- ${misc:Depends}, -- ${shlibs:Depends}, --Recommends: zfsutils-linux, -- ifupdown2, -- proxmox-offline-mirror-helper, -- proxmox-mail-forward, --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, -@@ -70,26 +42,3 @@ Depends: qrencode, - 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: pve-qemu-kvm (>= 5.0.0-9), -- proxmox-backup-restore-image, --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 1ebd7460..c72dcd50 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 -+# dh_installsystemd --no-start --no-restart-after-upgrade - - override_dh_fixperms: - dh_fixperms --exclude sg-tape-cmd -diff --git a/docs/Makefile b/docs/Makefile -index 0d0963f3..32b51556 100644 ---- a/docs/Makefile -+++ b/docs/Makefile -@@ -1,49 +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/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 -+ proxmox-backup-client.1 -+ -+MAN5_PAGES := - - PRUNE_SIMULATOR_FILES := \ - prune-simulator/index.html \ diff --git a/patches/pbs2/proxmox-backup-cross.patch b/patches/pbs2/proxmox-backup-cross.patch deleted file mode 100644 index 95c6825..0000000 --- a/patches/pbs2/proxmox-backup-cross.patch +++ /dev/null @@ -1,89 +0,0 @@ -diff --git a/Makefile b/Makefile -index b307009d..45b2ac3c 100644 ---- a/Makefile -+++ b/Makefile -@@ -37,7 +37,7 @@ SUBCRATES != cargo metadata --no-deps --format-version=1 \ - - ifeq ($(BUILD_MODE), release) - CARGO_BUILD_ARGS += --release --COMPILEDIR := target/release -+COMPILEDIR := target/aarch64-unknown-linux-gnu/release - else - COMPILEDIR := target/debug - endif -diff --git a/docs/Makefile b/docs/Makefile -index b06badff..a5eb4ce2 100644 ---- a/docs/Makefile -+++ b/docs/Makefile -@@ -85,7 +85,7 @@ SPHINXBUILD = sphinx-build - BUILDDIR = output - - ifeq ($(BUILD_MODE), release) --COMPILEDIR := ../target/release -+COMPILEDIR := ../target/aarch64-unknown-linux-gnu/release - SPHINXOPTS += -t release - else - COMPILEDIR := ../target/debug -@@ -98,16 +98,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 - -@@ -122,7 +122,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 f2748598..0c31ee4f 100644 ---- a/pxar-bin/tests/pxar.rs -+++ b/pxar-bin/tests/pxar.rs -@@ -8,14 +8,15 @@ fn pxar_create_and_extract() { - let dest_dir = "../tests/catar_data/test_xattrs_dest/"; - - let exec_path = if cfg!(debug_assertions) { -- "../target/debug/pxar" -+ "../target/aarch64-unknown-linux-gnu/debug/pxar" - } else { -- "../target/release/pxar" -+ "../target/aarch64-unknown-linux-gnu/release/pxar" - }; - - 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) -@@ -24,7 +25,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") diff --git a/patches/pbs2/pve-xtermjs-arm.patch b/patches/pbs2/pve-xtermjs-arm.patch deleted file mode 100644 index 5b02399..0000000 --- a/patches/pbs2/pve-xtermjs-arm.patch +++ /dev/null @@ -1,124 +0,0 @@ -diff --git a/.cargo/config b/.cargo/config -index 3b5b6e4..b08ce29 100644 ---- a/.cargo/config -+++ b/.cargo/config -@@ -1,5 +1,5 @@ - [source] --[source.debian-packages] --directory = "/usr/share/cargo/registry" -+[source.vendor] -+directory = "vendor" - [source.crates-io] --replace-with = "debian-packages" -+replace-with = "vendor" -diff --git a/Cargo.toml b/Cargo.toml -index b9479be..0d417f4 100644 ---- a/Cargo.toml -+++ b/Cargo.toml -@@ -19,3 +19,9 @@ clap = "3" - proxmox-io = "1" - proxmox-lang = "1.1" - proxmox-sys = "0.5" -+ -+ -+[patch.crates-io] -+proxmox-io = { path = "./proxmox/proxmox-io" } -+proxmox-lang = { path = "./proxmox/proxmox-lang" } -+proxmox-sys = { path = "./proxmox/proxmox-sys" } -diff --git a/Makefile b/Makefile -index 01488d1..cb0ceb7 100644 ---- a/Makefile -+++ b/Makefile -@@ -46,6 +46,14 @@ $(TERMPROXY_BIN): .do-cargo-build - .PHONY: cargo-build - cargo-build: .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 -+ - update-dcontrol: - rm -rf $(BUILDDIR) - $(MAKE) $(BUILDDIR) -@@ -74,9 +82,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/debian/control b/debian/control -index fd052c2..65433dd 100644 ---- a/debian/control -+++ b/debian/control -@@ -1,20 +1,8 @@ - Source: rust-termproxy - Section: admin - Priority: optional --Build-Depends: cargo:native, -- debhelper-compat (= 13), -- dh-cargo (>= 25), -- librust-anyhow-1+default-dev, -- librust-clap-3+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 -diff --git a/debian/install b/debian/install -index 04be689..0e69d82 100644 ---- a/debian/install -+++ b/debian/install -@@ -1 +1,2 @@ --src/www/* /usr/share/pve-xtermjs/ -+src/www/* /usr/share/pve-xtermjs/ -+target/release/termproxy /usr/bin/ -diff --git a/debian/rules b/debian/rules -index 6049291..c9fdaf4 100755 ---- a/debian/rules -+++ b/debian/rules -@@ -1,7 +1,6 @@ - #!/usr/bin/make -f - - include /usr/share/dpkg/pkg-info.mk --include /usr/share/rustc/architecture.mk - - export BUILD_MODE=release - -@@ -23,5 +23,4 @@ override_dh_auto_build: - - override_dh_auto_configure: - rm -f Cargo.lock -- /usr/share/cargo/bin/cargo prepare-debian $(CURDIR)/debian/cargo_registry --link-from-system - dh_auto_configure -diff --git a/debian/rules.debcargo.hint b/debian/rules.debcargo.hint -index 92c239b..4aaf62a 100755 ---- a/debian/rules.debcargo.hint -+++ b/debian/rules.debcargo.hint -@@ -1,6 +1,6 @@ - #!/usr/bin/make -f - %: -- dh $@ --buildsystem cargo -+ dh $@ - - override_dh_auto_test: - dh_auto_test -- test --all diff --git a/patches/pbs2/pve-xtermjs-cross.patch b/patches/pbs2/pve-xtermjs-cross.patch deleted file mode 100644 index f72d2ba..0000000 --- a/patches/pbs2/pve-xtermjs-cross.patch +++ /dev/null @@ -1,24 +0,0 @@ -diff --git a/Makefile b/Makefile -index 01488d1..b398856 100644 ---- a/Makefile -+++ b/Makefile -@@ -22,9 +22,9 @@ DSC=rust-$(CRATENAME)_$(DEB_VERSION_UPSTREAM_REVISION).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/debian/install b/debian/install -index 0e69d82..bb555a8 100644 ---- a/debian/install -+++ b/debian/install -@@ -1,2 +1,2 @@ - src/www/* /usr/share/pve-xtermjs/ --target/release/termproxy /usr/bin/ -+target/aarch64-unknown-linux-gnu/release/termproxy /usr/bin/ diff --git a/patches/pbs3/proxmox-arm64.patch b/patches/proxmox-arm64.patch similarity index 100% rename from patches/pbs3/proxmox-arm64.patch rename to patches/proxmox-arm64.patch diff --git a/patches/pbs3/proxmox-backup-build.patch b/patches/proxmox-backup-build.patch similarity index 100% rename from patches/pbs3/proxmox-backup-build.patch rename to patches/proxmox-backup-build.patch diff --git a/patches/pbs3/proxmox-backup-client.patch b/patches/proxmox-backup-client.patch similarity index 100% rename from patches/pbs3/proxmox-backup-client.patch rename to patches/proxmox-backup-client.patch diff --git a/patches/pbs3/proxmox-backup-cross.patch b/patches/proxmox-backup-cross.patch similarity index 100% rename from patches/pbs3/proxmox-backup-cross.patch rename to patches/proxmox-backup-cross.patch diff --git a/patches/pbs3/pve-xtermjs-arm.patch b/patches/pve-xtermjs-arm.patch similarity index 100% rename from patches/pbs3/pve-xtermjs-arm.patch rename to patches/pve-xtermjs-arm.patch diff --git a/patches/pbs3/pve-xtermjs-cross.patch b/patches/pve-xtermjs-cross.patch similarity index 100% rename from patches/pbs3/pve-xtermjs-cross.patch rename to patches/pve-xtermjs-cross.patch