mirror of
https://github.com/wofferl/proxmox-backup-arm64
synced 2025-12-06 00:13:41 +00:00
add build support for version 3.x
- automatically build version 2.x on bullseye and 3.x on bookworm - force build version 3.x on bullseye with pbs3 option
This commit is contained in:
1
.gitignore
vendored
1
.gitignore
vendored
@@ -1,3 +1,4 @@
|
|||||||
/packages
|
/packages
|
||||||
/packages_build
|
/packages_build
|
||||||
/sources
|
/sources
|
||||||
|
rust-toolchain.toml
|
||||||
|
|||||||
54
build.sh
54
build.sh
@@ -166,6 +166,16 @@ BUILD_PACKAGE="server"
|
|||||||
BUILD_PROFILES=""
|
BUILD_PROFILES=""
|
||||||
GITHUB_ACTION=""
|
GITHUB_ACTION=""
|
||||||
|
|
||||||
|
. /etc/os-release
|
||||||
|
|
||||||
|
if [ "${VERSION_CODENAME}" = "bookworm" ]; then
|
||||||
|
DISTNAME="bookworm"
|
||||||
|
PBSVERSION="pbs3"
|
||||||
|
else
|
||||||
|
DISTNAME="bullseye"
|
||||||
|
PBSVERSION="pbs2"
|
||||||
|
fi
|
||||||
|
|
||||||
[ ! -d "${PACKAGES}" ] && mkdir -p "${PACKAGES}"
|
[ ! -d "${PACKAGES}" ] && mkdir -p "${PACKAGES}"
|
||||||
|
|
||||||
while [ "$#" -ge 1 ]
|
while [ "$#" -ge 1 ]
|
||||||
@@ -204,6 +214,9 @@ do
|
|||||||
[[ ${BUILD_PROFILES} =~ nocheck ]] || BUILD_PROFILES=${BUILD_PROFILES}",nocheck"
|
[[ ${BUILD_PROFILES} =~ nocheck ]] || BUILD_PROFILES=${BUILD_PROFILES}",nocheck"
|
||||||
export DEB_BUILD_OPTIONS="nocheck"
|
export DEB_BUILD_OPTIONS="nocheck"
|
||||||
;;
|
;;
|
||||||
|
pbs*)
|
||||||
|
PBSVERSION=${1}
|
||||||
|
;;
|
||||||
debug)
|
debug)
|
||||||
exec &> >(tee "${LOGFILE}")
|
exec &> >(tee "${LOGFILE}")
|
||||||
echo $@
|
echo $@
|
||||||
@@ -231,9 +244,9 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
echo "Download packages list from proxmox devel repository"
|
echo "Download packages list from proxmox devel repository"
|
||||||
PACKAGES_DEVEL=$(load_packages http://download.proxmox.com/debian/devel/dists/bullseye/main/binary-amd64/Packages.gz)
|
PACKAGES_DEVEL=$(load_packages http://download.proxmox.com/debian/devel/dists/${DISTNAME}/main/binary-amd64/Packages.gz)
|
||||||
echo "Download packages list from pbs-no-subscription repository"
|
echo "Download packages list from pbs-no-subscription repository"
|
||||||
PACKAGES_PBS=$(load_packages http://download.proxmox.com/debian/pbs/dists/bullseye/pbs-no-subscription/binary-amd64/Packages.gz)
|
PACKAGES_PBS=$(load_packages http://download.proxmox.com/debian/pbs/dists/${DISTNAME}/pbs-no-subscription/binary-amd64/Packages.gz)
|
||||||
|
|
||||||
|
|
||||||
echo "Download dependencies"
|
echo "Download dependencies"
|
||||||
@@ -263,16 +276,27 @@ fi
|
|||||||
echo "Install build dependencies"
|
echo "Install build dependencies"
|
||||||
${SUDO} apt install -y "${packages_install[@]}"
|
${SUDO} apt install -y "${packages_install[@]}"
|
||||||
|
|
||||||
|
cat <<EOF >rust-toolchain.toml
|
||||||
|
[toolchain]
|
||||||
|
channel="stable"
|
||||||
|
targets = [ "${CARGO_BUILD_TARGET:-$(rustc -vV 2>/dev/null | awk '/^host/ { print $2 }')}" ]
|
||||||
|
EOF
|
||||||
|
|
||||||
cd "${SOURCES}"
|
cd "${SOURCES}"
|
||||||
|
|
||||||
PROXMOX_BACKUP_VER="2.4.3-1"
|
if [ "${PBSVERSION}" = "pbs3" ]; then
|
||||||
PROXMOX_BACKUP_GIT="682bb42edd01c9ebe6595f2aeef6c56dee6f91cf"
|
PROXMOX_BACKUP_VER="3.0.2-1"
|
||||||
|
PROXMOX_BACKUP_GIT="a13b3d7e1c9b93fbb54691074b5008ccd9c8f1f3"
|
||||||
|
PROXMOX_GIT="5859017061e7e722c601aab47016a445e776740e"
|
||||||
|
else
|
||||||
|
PROXMOX_BACKUP_VER="2.4.3-1"
|
||||||
|
PROXMOX_BACKUP_GIT="682bb42edd01c9ebe6595f2aeef6c56dee6f91cf"
|
||||||
|
PROXMOX_GIT="286c55d5b493a1e76fa3e70ae1c874cf82ca39aa"
|
||||||
|
PROXMOX_OPENID_GIT="ecf59cbb74278ea0e9710466508158ed6a6828c4" # 0.9.9-1
|
||||||
|
fi
|
||||||
PATHPATTERNS_GIT="8a0dce93d535ef04bfa9c8317edc0ef0216e9042" # 0.1.3-1
|
PATHPATTERNS_GIT="8a0dce93d535ef04bfa9c8317edc0ef0216e9042" # 0.1.3-1
|
||||||
PROXMOX_ACME_RS_GIT="abc0bdd09d5c3501534510d49da0ae8fa5c05c05" # 0.4.0
|
PROXMOX_ACME_RS_GIT="abc0bdd09d5c3501534510d49da0ae8fa5c05c05" # 0.4.0
|
||||||
PROMXOX_FUSE_GIT="8d57fb64f044ea3dcfdef77ed5f1888efdab0708" # 0.1.4
|
PROMXOX_FUSE_GIT="8d57fb64f044ea3dcfdef77ed5f1888efdab0708" # 0.1.4
|
||||||
PROXMOX_GIT="286c55d5b493a1e76fa3e70ae1c874cf82ca39aa"
|
|
||||||
PROXMOX_OPENID_GIT="ecf59cbb74278ea0e9710466508158ed6a6828c4" # 0.9.9-1
|
|
||||||
PXAR_GIT="29cbeed3e1b52f5eef455cdfa8b5e93f4e3e88f5" # 0.10.2-1
|
PXAR_GIT="29cbeed3e1b52f5eef455cdfa8b5e93f4e3e88f5" # 0.10.2-1
|
||||||
if [ ! -e "${PACKAGES}/proxmox-backup-${BUILD_PACKAGE}_${PROXMOX_BACKUP_VER}_${PACKAGE_ARCH}.deb" ]; then
|
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_clone_or_fetch https://git.proxmox.com/git/proxmox.git
|
||||||
@@ -285,22 +309,28 @@ if [ ! -e "${PACKAGES}/proxmox-backup-${BUILD_PACKAGE}_${PROXMOX_BACKUP_VER}_${P
|
|||||||
git_clean_and_checkout ${PATHPATTERNS_GIT} pathpatterns
|
git_clean_and_checkout ${PATHPATTERNS_GIT} pathpatterns
|
||||||
git_clone_or_fetch https://git.proxmox.com/git/proxmox-acme-rs.git
|
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_clean_and_checkout ${PROXMOX_ACME_RS_GIT} proxmox-acme-rs
|
||||||
git_clone_or_fetch https://git.proxmox.com/git/proxmox-openid-rs.git
|
if [ "${PBSVERSION}" = "pbs2" ]; then
|
||||||
git_clean_and_checkout ${PROXMOX_OPENID_GIT} proxmox-openid-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_clone_or_fetch https://git.proxmox.com/git/proxmox-backup.git
|
||||||
git_clean_and_checkout ${PROXMOX_BACKUP_GIT} proxmox-backup
|
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 '/dh-cargo\|cargo:native\|rustc:native\|librust-/d' proxmox-backup/debian/control
|
||||||
patch -p1 -d proxmox-backup/ < "${PATCHES}/proxmox-backup-build.patch"
|
if [ "${PBSVERSION}" = "pbs3" -a "${DISTNAME}" = "bullseye" ]; then
|
||||||
[ "${BUILD_PACKAGE}" = "client" ] && \
|
sed -i 's/libsgutils2-.*-2/libsgutils2-2/' proxmox-backup/debian/control
|
||||||
patch -p1 -d proxmox-backup/ < "${PATCHES}/proxmox-backup-client.patch"
|
fi
|
||||||
|
patch -p1 -d proxmox-backup/ < "${PATCHES}/${PBSVERSION}/proxmox-backup-build.patch"
|
||||||
|
if [ "${BUILD_PACKAGE}" = "client" ]; then
|
||||||
|
patch -p1 -d proxmox-backup/ < "${PATCHES}/${PBSVERSION}/proxmox-backup-client.patch"
|
||||||
|
fi
|
||||||
if [ "${PACKAGE_ARCH}" = "arm64" ]; then
|
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.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-file-restore.postinst
|
||||||
sed -i "s/x86_64-linux-gnu/aarch64-linux-gnu/" proxmox-backup/debian/proxmox-backup-server.install
|
sed -i "s/x86_64-linux-gnu/aarch64-linux-gnu/" proxmox-backup/debian/proxmox-backup-server.install
|
||||||
fi
|
fi
|
||||||
[[ "${BUILD_PROFILES}" =~ cross ]] && \
|
[[ "${BUILD_PROFILES}" =~ cross ]] && \
|
||||||
patch -p1 -d proxmox-backup/ < "${PATCHES}/proxmox-backup-cross.patch"
|
patch -p1 -d proxmox-backup/ < "${PATCHES}/${PBSVERSION}/proxmox-backup-cross.patch"
|
||||||
cd proxmox-backup/
|
cd proxmox-backup/
|
||||||
set_package_info
|
set_package_info
|
||||||
cargo vendor
|
cargo vendor
|
||||||
|
|||||||
149
patches/pbs3/proxmox-backup-build.patch
Normal file
149
patches/pbs3/proxmox-backup-build.patch
Normal file
@@ -0,0 +1,149 @@
|
|||||||
|
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 3662cf84..9e2a4a3a 100644
|
||||||
|
--- a/Cargo.toml
|
||||||
|
+++ b/Cargo.toml
|
||||||
|
@@ -239,31 +239,35 @@ 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-human-byte = { path = "../proxmox/proxmox-human-byte" }
|
||||||
|
+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/proxmox-openid" }
|
||||||
|
|
||||||
|
-#pxar = { path = "../pxar" }
|
||||||
|
+pxar = { path = "../pxar" }
|
||||||
|
|
||||||
|
[features]
|
||||||
|
default = []
|
||||||
|
diff --git a/debian/control b/debian/control
|
||||||
|
index 0b51f697..fcf0759a 100644
|
||||||
|
--- a/debian/control
|
||||||
|
+++ b/debian/control
|
||||||
|
@@ -9,24 +9,24 @@ Build-Depends: bash-completion,
|
||||||
|
fonts-open-sans <!nodoc>,
|
||||||
|
graphviz <!nodoc>,
|
||||||
|
jq,
|
||||||
|
- latexmk <!nodoc>,
|
||||||
|
+ latexmk:all <!nodoc>,
|
||||||
|
libacl1-dev,
|
||||||
|
libfuse3-dev,
|
||||||
|
libsgutils2-dev,
|
||||||
|
libstd-rust-dev,
|
||||||
|
libsystemd-dev (>= 246-~~),
|
||||||
|
- patchelf,
|
||||||
|
- proxmox-widget-toolkit-dev <!nodoc>,
|
||||||
|
- pve-eslint (>= 7.18.0~),
|
||||||
|
+ patchelf:native,
|
||||||
|
+ proxmox-widget-toolkit-dev:all <!nodoc>,
|
||||||
|
+ pve-eslint:all (>= 7.18.0~),
|
||||||
|
python3-docutils,
|
||||||
|
python3-pygments,
|
||||||
|
- python3-sphinx <!nodoc>,
|
||||||
|
+ python3-sphinx:all <!nodoc>,
|
||||||
|
rsync,
|
||||||
|
texlive-fonts-extra <!nodoc>,
|
||||||
|
texlive-fonts-recommended <!nodoc>,
|
||||||
|
texlive-xetex <!nodoc>,
|
||||||
|
uuid-dev,
|
||||||
|
- xindy <!nodoc>,
|
||||||
|
+ xindy:native <!nodoc>,
|
||||||
|
Maintainer: Proxmox Support Team <support@proxmox.com>
|
||||||
|
Standards-Version: 4.5.1
|
||||||
|
Vcs-Git: git://git.proxmox.com/git/proxmox-backup.git
|
||||||
|
diff --git a/debian/rules b/debian/rules
|
||||||
|
index 54a3c22b..79c1ad76 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:
|
||||||
265
patches/pbs3/proxmox-backup-client.patch
Normal file
265
patches/pbs3/proxmox-backup-client.patch
Normal file
@@ -0,0 +1,265 @@
|
|||||||
|
diff --git a/Makefile b/Makefile
|
||||||
|
index 92eed8a1..f3d632dc 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,8 @@ 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
|
||||||
|
|
||||||
|
@@ -160,30 +149,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 "$@"
|
||||||
|
|
||||||
|
|
||||||
|
@@ -192,25 +162,26 @@ 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
|
||||||
|
|
||||||
|
.PHONY: upload
|
||||||
|
diff --git a/debian/control b/debian/control
|
||||||
|
index 0b51f697..5b41f130 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 <!nodoc>,
|
||||||
|
+ python3-sphinx:all,
|
||||||
|
rsync,
|
||||||
|
texlive-fonts-extra <!nodoc>,
|
||||||
|
texlive-fonts-recommended <!nodoc>,
|
||||||
|
@@ -34,55 +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,
|
||||||
|
- 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 (>= 3.5.2),
|
||||||
|
- 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: <!nodoc>
|
||||||
|
-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 b06badff..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 \
|
||||||
89
patches/pbs3/proxmox-backup-cross.patch
Normal file
89
patches/pbs3/proxmox-backup-cross.patch
Normal file
@@ -0,0 +1,89 @@
|
|||||||
|
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")
|
||||||
Reference in New Issue
Block a user