update pve-xtermjs to 5.3.0-1 / proxmox-termproxy to 1.0.0

This commit is contained in:
Wolfgang
2023-10-17 21:59:36 +00:00
parent a77f306483
commit c75168cdfa
6 changed files with 171 additions and 32 deletions

View File

@@ -357,23 +357,39 @@ fi
[ "${BUILD_PACKAGE}" = "client" ] && exit 0
PVE_XTERMJS_VER="4.16.0-3"
PVE_XTERMJS_GIT="99c9d214258a496227e15f0803fb163925be65c8"
PROXMOX_XTERMJS_GIT="2a070da0651677411a245f1714895235b1caf584"
if [ ! -e "${PACKAGES}/pve-xtermjs_${PVE_XTERMJS_VER}_${PACKAGE_ARCH}.deb" ]; then
git_clone_or_fetch https://git.proxmox.com/git/proxmox.git
git_clean_and_checkout ${PROXMOX_XTERMJS_GIT} proxmox
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-1"
PVE_XTERMJS_GIT="f451fe27686b21ef43d7521cb8136e683612422e"
PROXMOX_XTERMJS_GIT="04e2d0e5c329b59c4ece59d77079443e39029883"
PROXMOX_TERMPROXY_VER="1.0.0"
fi
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"
patch -p1 -d pve-xtermjs/ < "${PATCHES}/${PBSVERSION}/pve-xtermjs-arm.patch"
[[ "${BUILD_PROFILES}" =~ cross ]] && \
patch -p1 -d pve-xtermjs/ < "${PATCHES}/pve-xtermjs-cross.patch"
patch -p1 -d pve-xtermjs/ < "${PATCHES}/${PBSVERSION}/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
set_package_info
${SUDO} apt -y -a${PACKAGE_ARCH} build-dep .
BUILD_MODE=release make deb
cd ..
cp -a pve-xtermjs_${PVE_XTERMJS_VER}_${PACKAGE_ARCH}.deb "${PACKAGES}"
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
else
echo "pve-xtermjs up-to-date"
fi

View File

@@ -22,9 +22,9 @@ index b9479be..0d417f4 100644
+
+
+[patch.crates-io]
+proxmox-io = { path = "../proxmox/proxmox-io" }
+proxmox-lang = { path = "../proxmox/proxmox-lang" }
+proxmox-sys = { path = "../proxmox/proxmox-sys" }
+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

View File

@@ -0,0 +1,127 @@
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 dba3fbd..a67aacd 100644
--- a/termproxy/Cargo.toml
+++ b/termproxy/Cargo.toml
@@ -22,3 +22,9 @@ clap = "4"
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/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 <support@proxmox.com>
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..2b5c2f5 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.

View File

@@ -0,0 +1,16 @@
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

View File

@@ -1,20 +0,0 @@
diff --git a/src/main.rs b/src/main.rs
index 7896a9c..f5dd39f 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -129,6 +129,7 @@ fn read_ticket_line(
io_bail!("timed out");
}
}
+ poll.registry().deregister(stream)?;
let newline_idx = &buf[..].iter().position(|&x| x == b'\n').unwrap();
@@ -217,6 +218,7 @@ fn listen_and_accept(
if !events.is_empty() {
let (stream, client) = listener.accept()?;
println!("client connection: {:?}", client);
+ poll.registry().deregister(&mut listener)?;
return Ok((stream, port));
}