mirror of
git://git.proxmox.com/git/pve-xtermjs.git
synced 2024-12-21 13:34:37 +03:00
split upstream and our native into different source packages
We should have never added a upstream repackage and some custom tools in the same source package, let alone binary package. Finally resolve that tech debt and do a split. This commit does a bit more than I'd like at once, but it's really not trivial to make a clean split while keeping all sanely buildable in multiple commits. What roughly happens is: - two complete separate source packages - one for xterm.js, we keep this purely to the xterm.js and our local additions and modifications that are relevant directly to xterm.js itself - one for termproxy, where only the rust-based tool is shipped. This also reduces churn, as the termproxy doesn't sees lots of updates, so no point in building it on every xterm.js update. - drop debcargo, which while great for library source code packages for build dependencies, is just a PITA for binary packages shipping actual compiled rust code, it adds almost nothing there but provides lots of special handling to get the correct result. - rename `termproxy` to `proxmox-termproxy` but keep a backward compat link for now, termproxy is way to general a name. Maybe we should also move this away from /bin in general, into the /lib/<arch-qualifier>/proxmox/ directory like we do for proxmox-backup. - clean ups all over the place Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
13e2e50222
commit
145da0bf45
16
.gitignore
vendored
16
.gitignore
vendored
@ -1,7 +1,9 @@
|
||||
/*.build
|
||||
/*.buildinfo
|
||||
/*.changes
|
||||
/*.deb
|
||||
/*.dsc
|
||||
/*.tar*
|
||||
/rust-termproxy-*/
|
||||
*.build
|
||||
*.buildinfo
|
||||
*.changes
|
||||
*.deb
|
||||
*.dsc
|
||||
*.tar*
|
||||
Cargo.lock
|
||||
/termproxy/proxmox-termproxy-[0-9]*/
|
||||
/xterm.js/pve-xtermjs-[0-9]*/
|
||||
|
128
Makefile
128
Makefile
@ -1,128 +0,0 @@
|
||||
include /usr/share/dpkg/pkg-info.mk
|
||||
include /usr/share/dpkg/architecture.mk
|
||||
|
||||
PACKAGE=pve-xtermjs
|
||||
CRATENAME=termproxy
|
||||
|
||||
BUILDDIR ?= $(DEB_SOURCE)-$(DEB_VERSION_UPSTREAM)
|
||||
ORIG_SRC_TAR=$(DEB_SOURCE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
|
||||
|
||||
export VERSION=$(DEB_VERSION_UPSTREAM_REVISION)
|
||||
|
||||
XTERMJSVER=5.3.0
|
||||
XTERMJSTGZ=xterm-$(XTERMJSVER).tgz
|
||||
|
||||
FITADDONVER=0.8.0
|
||||
FITADDONTGZ=xterm-addon-fit-$(FITADDONVER).tgz
|
||||
|
||||
WEBGLADDONVER=0.16.0
|
||||
WEBGLADDONTGZ=xterm-addon-webgl-$(WEBGLADDONVER).tgz
|
||||
|
||||
DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb
|
||||
DBG_DEB=$(PACKAGE)-dbgsym_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb
|
||||
DSC=rust-$(CRATENAME)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
|
||||
|
||||
CARGO ?= cargo
|
||||
ifeq ($(BUILD_MODE), release)
|
||||
CARGO_BUILD_ARGS += --release
|
||||
COMPILEDIR := target/release
|
||||
else
|
||||
COMPILEDIR := target/debug
|
||||
endif
|
||||
|
||||
PREFIX = /usr
|
||||
BINDIR = $(PREFIX)/bin
|
||||
TERMPROXY_BIN := $(addprefix $(COMPILEDIR)/,termproxy)
|
||||
|
||||
all:
|
||||
|
||||
install: $(TERMPROXY_BIN)
|
||||
install -dm755 $(DESTDIR)$(BINDIR)
|
||||
install -m755 $(TERMPROXY_BIN) $(DESTDIR)$(BINDIR)/
|
||||
|
||||
$(TERMPROXY_BIN): .do-cargo-build
|
||||
.do-cargo-build:
|
||||
$(CARGO) build $(CARGO_BUILD_ARGS)
|
||||
touch .do-cargo-build
|
||||
|
||||
|
||||
.PHONY: cargo-build
|
||||
cargo-build: .do-cargo-build
|
||||
|
||||
update-dcontrol:
|
||||
rm -rf $(BUILDDIR)
|
||||
$(MAKE) $(BUILDDIR)
|
||||
cd $(BUILDDIR); debcargo package \
|
||||
--config debian/debcargo.toml \
|
||||
--changelog-ready \
|
||||
--no-overlay-write-back \
|
||||
--directory build \
|
||||
$(CRATENAME) \
|
||||
$(DEB_VERSION_UPSTREAM)
|
||||
cd $(BUILDDIR)/build; wrap-and-sort -tkn
|
||||
cp --remove-destination $(BUILDDIR)/build/debian/control debian/control
|
||||
|
||||
$(BUILDDIR):
|
||||
rm -rf $@ $@.tmp
|
||||
mkdir $@.tmp
|
||||
cp -a debian/ src/ Makefile Cargo.toml $@.tmp
|
||||
echo "git clone git://git.proxmox.com/git/pve-xtermjs.git\\ngit checkout $$(git rev-parse HEAD)" \
|
||||
> $@.tmp/debian/SOURCE
|
||||
mv $@.tmp $@
|
||||
|
||||
|
||||
$(ORIG_SRC_TAR): $(BUILDDIR)
|
||||
tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
|
||||
|
||||
.PHONY: deb
|
||||
deb: $(DEB)
|
||||
$(DBG_DEB): $(DEB)
|
||||
$(DEB): $(BUILDDIR)
|
||||
cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
|
||||
lintian $(DEB)
|
||||
@echo $(DEB)
|
||||
|
||||
.PHONY: dsc
|
||||
dsc:
|
||||
rm -rf $(DSC) $(BUILDDIR)
|
||||
$(MAKE) $(DSC)
|
||||
lintian $(DSC)
|
||||
|
||||
$(DSC): $(BUILDDIR) $(ORIG_SRC_TAR)
|
||||
cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
|
||||
|
||||
sbuild: $(DSC)
|
||||
sbuild $(DSC)
|
||||
|
||||
EXCLUDED_ADDONS=attach fullscreen search terminado webLinks zmodem
|
||||
X_EXCLUSIONS=$(foreach ADDON,$(EXCLUDED_ADDONS),--exclude=addons/$(ADDON))
|
||||
|
||||
.PHONY: download
|
||||
download:
|
||||
wget https://registry.npmjs.org/xterm/-/$(XTERMJSTGZ) -O $(XTERMJSTGZ).tmp
|
||||
wget https://registry.npmjs.org/xterm-addon-fit/-/$(FITADDONTGZ) -O $(FITADDONTGZ).tmp
|
||||
wget https://registry.npmjs.org/xterm-addon-webgl/-/$(WEBGLADDONTGZ) -O $(WEBGLADDONTGZ).tmp
|
||||
mv $(XTERMJSTGZ).tmp $(XTERMJSTGZ)
|
||||
mv $(FITADDONTGZ).tmp $(FITADDONTGZ)
|
||||
mv $(WEBGLADDONTGZ).tmp $(WEBGLADDONTGZ)
|
||||
tar -C src/www -xf $(XTERMJSTGZ) package/lib package/css --strip-components=2 $(X_EXCLUSIONS)
|
||||
tar -C src/www -xf $(FITADDONTGZ) package/lib --strip-components=2 $(X_EXCLUSIONS)
|
||||
tar -C src/www -xf $(WEBGLADDONTGZ) package/lib --strip-components=2 $(X_EXCLUSIONS)
|
||||
rm $(XTERMJSTGZ) $(FITADDONTGZ) $(WEBGLADDONTGZ)
|
||||
|
||||
.PHONY: upload
|
||||
upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
|
||||
upload: $(DEB) $(DBG_DEB)
|
||||
tar cf - $(DEB) $(DBG_DEB) |ssh -X repoman@repo.proxmox.com -- upload --product pmg,pve,pbs --dist $(UPLOAD_DIST) --arch $(DEB_HOST_ARCH)
|
||||
|
||||
.PHONY: distclean
|
||||
distclean: clean
|
||||
|
||||
.PHONY: clean
|
||||
clean:
|
||||
$(CARGO) clean
|
||||
rm -rf $(DEB_SOURCE)-[0-9]*/ build/ *.deb *.changes *.dsc *.tar.* *.buildinfo *.build .do-cargo-build
|
||||
|
||||
.PHONY: dinstall
|
||||
dinstall: deb
|
||||
dpkg -i $(DEB)
|
42
debian/copyright
vendored
42
debian/copyright
vendored
@ -1,42 +0,0 @@
|
||||
Copyright (C) 2017-2020 Proxmox Server Solutions GmbH
|
||||
|
||||
This software is written by Proxmox Server Solutions GmbH <support@proxmox.com>
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU Affero General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU Affero General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU Affero General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
-------------
|
||||
|
||||
xterm.js
|
||||
|
||||
Copyright (c) 2017-2019, The xterm.js authors (https://github.com/xtermjs/xterm.js)
|
||||
Copyright (c) 2014-2016, SourceLair Private Company (https://www.sourcelair.com)
|
||||
Copyright (c) 2012-2013, Christopher Jeffrey (https://github.com/chjj/)
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
16
debian/debcargo.toml
vendored
16
debian/debcargo.toml
vendored
@ -1,16 +0,0 @@
|
||||
overlay = "."
|
||||
crate_src_path = ".."
|
||||
bin_name = "pve-xtermjs"
|
||||
maintainer = "Proxmox Support Team <support@proxmox.com>"
|
||||
|
||||
[source]
|
||||
section = "admin"
|
||||
homepage = "https://www.proxmox.com"
|
||||
vcs_git = "git://git.proxmox.com/git/pve-xtermjs.git"
|
||||
vcs_browser = "https://git.proxmox.com/?p=pve-xtermjs.git;a=summary"
|
||||
|
||||
[packages.bin]
|
||||
summary = "HTML/JS Shell client for Proxmox projects"
|
||||
description = """This package provides an xterm.js client/proxy for Proxmox\
|
||||
projects' Hosts, Proxmox VE containers or Proxmox VE VM's serial-terminals.\
|
||||
"""
|
1
debian/install
vendored
1
debian/install
vendored
@ -1 +0,0 @@
|
||||
src/www/* /usr/share/pve-xtermjs/
|
27
debian/rules
vendored
27
debian/rules
vendored
@ -1,27 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
include /usr/share/dpkg/pkg-info.mk
|
||||
include /usr/share/rustc/architecture.mk
|
||||
|
||||
export BUILD_MODE=release
|
||||
|
||||
export CFLAGS CXXFLAGS CPPFLAGS LDFLAGS
|
||||
export DEB_HOST_RUST_TYPE DEB_HOST_GNU_TYPE
|
||||
export CARGO_HOME = $(CURDIR)/debian/cargo_home
|
||||
|
||||
export DEB_CARGO_CRATE=termproxy_$(DEB_VERSION_UPSTREAM)
|
||||
export DEB_CARGO_PACKAGE=pve-xtermjs
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_auto_build:
|
||||
dh_auto_build
|
||||
sed -e 's/@VERSION@/$(DEB_VERSION)/' src/www/index.html.tpl.in > src/www/index.html.tpl
|
||||
sed -e 's/@VERSION@/$(DEB_VERSION)/' src/www/index.html.hbs.in > src/www/index.html.hbs
|
||||
rm src/www/index.html.tpl.in src/www/index.html.hbs.in
|
||||
|
||||
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
|
6
debian/rules.debcargo.hint
vendored
6
debian/rules.debcargo.hint
vendored
@ -1,6 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
%:
|
||||
dh $@ --buildsystem cargo
|
||||
|
||||
override_dh_auto_test:
|
||||
dh_auto_test -- test --all
|
@ -1,12 +1,12 @@
|
||||
[package]
|
||||
name = "termproxy"
|
||||
name = "proxmox-termproxy"
|
||||
description = "Execute a terminal command and proxy I/O via network"
|
||||
version = "4.16.0"
|
||||
version = "1.0.0"
|
||||
authors = [
|
||||
"Proxmox Support Team <support@proxmox.com>",
|
||||
"for xterm.js parts: The xterm.js authors <https://github.com/xtermjs/xterm.js>",
|
||||
]
|
||||
edition = "2018"
|
||||
edition = "2021"
|
||||
license = "AGPL-3"
|
||||
|
||||
exclude = [ "build", "debian" ]
|
86
termproxy/Makefile
Normal file
86
termproxy/Makefile
Normal file
@ -0,0 +1,86 @@
|
||||
include /usr/share/dpkg/default.mk
|
||||
|
||||
PACKAGE=proxmox-termproxy
|
||||
CRATENAME=proxmox-termproxy
|
||||
|
||||
BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
|
||||
ORIG_SRC_TAR=$(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
|
||||
|
||||
DEB=$(PACKAGE)_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb
|
||||
DBG_DEB=$(PACKAGE)-dbgsym_$(DEB_VERSION)_$(DEB_HOST_ARCH).deb
|
||||
DSC=$(PACKAGE)_$(DEB_VERSION).dsc
|
||||
|
||||
CARGO ?= cargo
|
||||
ifeq ($(BUILD_MODE), release)
|
||||
CARGO_BUILD_ARGS += --release
|
||||
COMPILEDIR := target/release
|
||||
else
|
||||
COMPILEDIR := target/debug
|
||||
endif
|
||||
|
||||
PREFIX = /usr
|
||||
BINDIR = $(PREFIX)/bin
|
||||
TERMPROXY_BIN := $(addprefix $(COMPILEDIR)/,proxmox-termproxy)
|
||||
|
||||
all:
|
||||
|
||||
install: $(TERMPROXY_BIN)
|
||||
install -dm755 $(DESTDIR)$(BINDIR)
|
||||
install -m755 $(TERMPROXY_BIN) $(DESTDIR)$(BINDIR)/
|
||||
|
||||
$(TERMPROXY_BIN): .do-cargo-build
|
||||
.do-cargo-build:
|
||||
$(CARGO) build $(CARGO_BUILD_ARGS)
|
||||
touch .do-cargo-build
|
||||
|
||||
|
||||
.PHONY: cargo-build
|
||||
cargo-build: .do-cargo-build
|
||||
|
||||
$(BUILDDIR):
|
||||
rm -rf $@ $@.tmp
|
||||
mkdir $@.tmp
|
||||
cp -a debian/ src/ Makefile Cargo.toml $@.tmp
|
||||
echo "git clone git://git.proxmox.com/git/pve-xtermjs.git\\ngit checkout $$(git rev-parse HEAD)" \
|
||||
> $@.tmp/debian/SOURCE
|
||||
mv $@.tmp $@
|
||||
|
||||
|
||||
$(ORIG_SRC_TAR): $(BUILDDIR)
|
||||
tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
|
||||
|
||||
.PHONY: deb
|
||||
deb: $(DEB)
|
||||
$(DBG_DEB): $(DEB)
|
||||
$(DEB): $(BUILDDIR)
|
||||
cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
|
||||
lintian $(DEB)
|
||||
@echo $(DEB)
|
||||
|
||||
.PHONY: dsc
|
||||
dsc:
|
||||
rm -rf $(DSC) $(BUILDDIR)
|
||||
$(MAKE) $(DSC)
|
||||
lintian $(DSC)
|
||||
|
||||
$(DSC): $(BUILDDIR) $(ORIG_SRC_TAR)
|
||||
cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
|
||||
|
||||
sbuild: $(DSC)
|
||||
sbuild $(DSC)
|
||||
|
||||
.PHONY: upload
|
||||
upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
|
||||
upload: $(DEB) $(DBG_DEB)
|
||||
tar cf - $(DEB) $(DBG_DEB) |ssh -X repoman@repo.proxmox.com -- upload --product pmg,pve,pbs --dist $(UPLOAD_DIST) --arch $(DEB_HOST_ARCH)
|
||||
|
||||
.PHONY: clean distclean
|
||||
distclean: clean
|
||||
clean:
|
||||
$(CARGO) clean
|
||||
rm -rf $(PACKAGE)-[0-9]*/ build/
|
||||
rm -f *.deb *.changes *.dsc *.tar.* *.buildinfo *.build .do-cargo-build
|
||||
|
||||
.PHONY: dinstall
|
||||
dinstall: deb
|
||||
dpkg -i $(DEB)
|
@ -1,4 +1,10 @@
|
||||
rust-termproxy (4.16.0-3) bookworm; urgency=medium
|
||||
proxmox-termproxy (1.0.0) bookworm; urgency=medium
|
||||
|
||||
* split out the system console wrapper termproxy into own package
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Fri, 13 Oct 2023 11:07:08 +0200
|
||||
|
||||
proxmox-term-proxy (4.16.0-3) bookworm; urgency=medium
|
||||
|
||||
* re-build for Debian 12 Bookworm based releases
|
||||
|
@ -1,4 +1,4 @@
|
||||
Source: rust-termproxy
|
||||
Source: proxmox-termproxy
|
||||
Section: admin
|
||||
Priority: optional
|
||||
Build-Depends: cargo:native,
|
||||
@ -20,18 +20,17 @@ Standards-Version: 4.6.1
|
||||
Vcs-Git: git://git.proxmox.com/git/pve-xtermjs.git
|
||||
Vcs-Browser: https://git.proxmox.com/?p=pve-xtermjs.git;a=summary
|
||||
Homepage: https://www.proxmox.com
|
||||
X-Cargo-Crate: termproxy
|
||||
Rules-Requires-Root: no
|
||||
|
||||
Package: pve-xtermjs
|
||||
Package: proxmox-termproxy
|
||||
Architecture: any
|
||||
Multi-Arch: allowed
|
||||
Depends: ${cargo:Depends}, ${misc:Depends}, ${shlibs:Depends},
|
||||
Recommends: ${cargo:Recommends},
|
||||
Suggests: ${cargo:Suggests},
|
||||
Provides: ${cargo:Provides},
|
||||
Built-Using: ${cargo:Built-Using},
|
||||
XB-X-Cargo-Built-Using: ${cargo:X-Cargo-Built-Using}
|
||||
Description: HTML/JS Shell client for Proxmox projects
|
||||
This package provides an xterm.js client/proxy for Proxmoxprojects' Hosts,
|
||||
Proxmox VE containers or Proxmox VE VM's serial-terminals.
|
||||
Depends: ${misc:Depends}, ${shlibs:Depends},
|
||||
Recommends: pve-xtermjs
|
||||
Breaks: pve-xtermjs (<< 5.3.0~)
|
||||
Replaces: pve-xtermjs (<< 5.3.0~)
|
||||
Description: Wrapper proxy for executing programs in the system terminal
|
||||
This package provides an wrapper for running commands in a system terminal,
|
||||
redirecting input via a special protocol and returning the PTY output 1:1.
|
||||
It's used for the backend of the xterm.js based host and virtual guest
|
||||
consoles in Proxmox projects like Proxmox VE or Proxmox Backup Server.
|
19
termproxy/debian/copyright
Normal file
19
termproxy/debian/copyright
Normal file
@ -0,0 +1,19 @@
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Source: https://git.proxmox.com/?p=pve-xtermjs.git;a=summary
|
||||
|
||||
Files:
|
||||
*
|
||||
Copyright: 2017 - 2023 Proxmox Server Solutions GmbH <support@proxmox.com>
|
||||
License: AGPL-3.0-or-later
|
||||
This program is free software: you can redistribute it and/or modify it under
|
||||
the terms of the GNU Affero General Public License as published by the Free
|
||||
Software Foundation, either version 3 of the License, or (at your option) any
|
||||
later version.
|
||||
.
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
||||
details.
|
||||
.
|
||||
You should have received a copy of the GNU Affero General Public License along
|
||||
with this program. If not, see <https://www.gnu.org/licenses/>.
|
1
termproxy/debian/links
Normal file
1
termproxy/debian/links
Normal file
@ -0,0 +1 @@
|
||||
usr/bin/proxmox-termproxy usr/bin/termproxy
|
38
termproxy/debian/rules
Executable file
38
termproxy/debian/rules
Executable file
@ -0,0 +1,38 @@
|
||||
#!/usr/bin/make -f
|
||||
# See debhelper(7) (uncomment to enable)
|
||||
# output every command that modifies files on the build system.
|
||||
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
|
||||
|
||||
export DEB_CARGO_CRATE=proxmox-termproxy_$(DEB_VERSION_UPSTREAM)
|
||||
export DEB_CARGO_PACKAGE=proxmox-termproxy
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
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:
|
||||
dh_missing --fail-missing
|
||||
|
||||
override_dh_auto_build:
|
||||
dh_auto_build -- \
|
||||
LIBEXECDIR=/usr/lib/$(DEB_HOST_MULTIARCH)
|
||||
|
||||
override_dh_auto_install:
|
||||
dh_auto_install -- \
|
||||
LIBEXECDIR=/usr/lib/$(DEB_HOST_MULTIARCH)
|
1
termproxy/debian/source/format
Normal file
1
termproxy/debian/source/format
Normal file
@ -0,0 +1 @@
|
||||
3.0 (native)
|
81
xterm.js/Makefile
Normal file
81
xterm.js/Makefile
Normal file
@ -0,0 +1,81 @@
|
||||
include /usr/share/dpkg/default.mk
|
||||
|
||||
PACKAGE=pve-xtermjs
|
||||
|
||||
BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
|
||||
ORIG_SRC_TAR=$(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
|
||||
|
||||
DEB=$(PACKAGE)_$(DEB_VERSION)_all.deb
|
||||
DSC=$(PACKAGE)_$(DEB_VERSION).dsc
|
||||
|
||||
# for downloading new version use `make XTERMJS_VERSION=X.Y.Z download`
|
||||
XTERMJS_VERSION ?= $(DEB_VERSION_UPSTREAM)
|
||||
FIT_ADDON_VERSION = 0.8.0
|
||||
WEBGL_ADDON_VERSION = 0.16.0
|
||||
|
||||
all:
|
||||
|
||||
$(BUILDDIR):
|
||||
rm -rf $@ $@.tmp
|
||||
mkdir $@.tmp
|
||||
cp -a debian/ src/ Makefile $@.tmp
|
||||
echo "git clone git://git.proxmox.com/git/pve-xtermjs.git\\ngit checkout $$(git rev-parse HEAD)" \
|
||||
> $@.tmp/debian/SOURCE
|
||||
mv $@.tmp $@
|
||||
|
||||
|
||||
$(ORIG_SRC_TAR): $(BUILDDIR)
|
||||
tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
|
||||
|
||||
.PHONY: deb
|
||||
deb: $(DEB)
|
||||
$(DEB): $(BUILDDIR)
|
||||
cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
|
||||
lintian $(DEB)
|
||||
@echo $(DEB)
|
||||
|
||||
.PHONY: dsc
|
||||
dsc:
|
||||
rm -rf $(DSC) $(BUILDDIR)
|
||||
$(MAKE) $(DSC)
|
||||
lintian $(DSC)
|
||||
|
||||
$(DSC): $(BUILDDIR) $(ORIG_SRC_TAR)
|
||||
cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
|
||||
|
||||
sbuild: $(DSC)
|
||||
sbuild $(DSC)
|
||||
|
||||
EXCLUDED_ADDONS=attach fullscreen search terminado webLinks zmodem
|
||||
X_EXCLUSIONS=$(foreach ADDON,$(EXCLUDED_ADDONS),--exclude=addons/$(ADDON))
|
||||
|
||||
.PHONY: download
|
||||
download: XTERMJS_TGZ = xterm-$(XTERMJS_VERSION).tgz
|
||||
download: FIT_ADDON_TGZ = xterm-addon-fit-$(FIT_ADDON_VERSION).tgz
|
||||
download: WEBGL_ADDON_TGZ = xterm-addon-webgl-$(WEBGL_ADDON_VERSION).tgz
|
||||
download:
|
||||
wget https://registry.npmjs.org/xterm/-/$(XTERMJS_TGZ) -O $(XTERMJS_TGZ).tmp
|
||||
wget https://registry.npmjs.org/xterm-addon-fit/-/$(FIT_ADDON_TGZ) -O $(FIT_ADDON_TGZ).tmp
|
||||
wget https://registry.npmjs.org/xterm-addon-webgl/-/$(WEBGL_ADDON_TGZ) -O $(WEBGL_ADDON_TGZ).tmp
|
||||
mv $(XTERMJS_TGZ).tmp $(XTERMJS_TGZ)
|
||||
mv $(FIT_ADDON_TGZ).tmp $(FIT_ADDON_TGZ)
|
||||
mv $(WEBGL_ADDON_TGZ).tmp $(WEBGL_ADDON_TGZ)
|
||||
tar -C src -xf $(XTERMJS_TGZ) package/lib package/css --strip-components=2 $(X_EXCLUSIONS)
|
||||
tar -C src -xf $(FIT_ADDON_TGZ) package/lib --strip-components=2 $(X_EXCLUSIONS)
|
||||
tar -C src -xf $(WEBGL_ADDON_TGZ) package/lib --strip-components=2 $(X_EXCLUSIONS)
|
||||
rm $(XTERMJS_TGZ) $(FIT_ADDON_TGZ) $(WEBGL_ADDON_TGZ)
|
||||
|
||||
.PHONY: upload
|
||||
upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
|
||||
upload: $(DEB)
|
||||
tar cf - $(DEB) |ssh -X repoman@repo.proxmox.com -- upload --product pmg,pve,pbs --dist $(UPLOAD_DIST)
|
||||
|
||||
.PHONY: clean distclean
|
||||
distclean: clean
|
||||
clean:
|
||||
rm -rf $(PACKAGE)-[0-9]*/ build/
|
||||
rm -f *.deb *.changes *.dsc *.tar.* *.buildinfo *.build .do-cargo-build
|
||||
|
||||
.PHONY: dinstall
|
||||
dinstall: deb
|
||||
dpkg -i $(DEB)
|
154
xterm.js/debian/changelog
Normal file
154
xterm.js/debian/changelog
Normal file
@ -0,0 +1,154 @@
|
||||
pve-xtermjs (5.3.0-1) bookworm; urgency=medium
|
||||
|
||||
* update to upstream stable release 5.3.0
|
||||
|
||||
* ship WebGL addon
|
||||
|
||||
* split out our native tooling from repackaged upstream for cleaner
|
||||
packaging and to reduce maintenance burden
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Tue, 23 May 2023 13:48:44 +0200
|
||||
|
||||
rust-termproxy (4.16.0-3) bookworm; urgency=medium
|
||||
|
||||
* re-build for Debian 12 Bookworm based releases
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Tue, 23 May 2023 13:48:44 +0200
|
||||
|
||||
rust-termproxy (4.16.0-2) bullseye; urgency=medium
|
||||
|
||||
* switch from curl to ureq
|
||||
|
||||
* detect not running guests and add start button
|
||||
|
||||
* various smaller build system updates and improvements
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Mon, 22 May 2023 15:35:35 +0200
|
||||
|
||||
rust-termproxy (4.16.0-1) bullseye; urgency=medium
|
||||
|
||||
* upgrade xterm.js from 4.12.0 to 4.16.0
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Tue, 25 Jan 2022 15:32:15 +0100
|
||||
|
||||
rust-termproxy (4.12.0-1) bullseye; urgency=medium
|
||||
|
||||
* upgrade xterm.js to new upstream release 4.12.0
|
||||
|
||||
* re-build for Debian 11 Bullseye based releases
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Fri, 14 May 2021 08:26:36 +0200
|
||||
|
||||
rust-termproxy (4.7.0-3) pve pmg; urgency=medium
|
||||
|
||||
* fix console window title for rust template
|
||||
|
||||
* fix #2980: do not prompt for leaving on reconnect/disconnect
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Tue, 24 Nov 2020 14:53:10 +0100
|
||||
|
||||
rust-termproxy (4.7.0-2) pve pmg; urgency=medium
|
||||
|
||||
* fix corner case handling of pre-defined command options
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Fri, 28 Aug 2020 13:51:42 +0200
|
||||
|
||||
rust-termproxy (4.7.0-1) pve pmg; urgency=medium
|
||||
|
||||
* upgrade xterm.js to new upstream release 4.3.0
|
||||
|
||||
* rewrite system console wrapper in rust
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Thu, 23 Jul 2020 12:20:16 +0200
|
||||
|
||||
pve-xtermjs (4.3.0-1) pve pmg; urgency=medium
|
||||
|
||||
* upgrade xterm.js to new upstream release 4.3.0
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Wed, 22 Jan 2020 12:17:59 +0100
|
||||
|
||||
pve-xtermjs (3.13.2-1) pve pmg; urgency=medium
|
||||
|
||||
* update sources to 3.13.2
|
||||
|
||||
* build for Debian Buster
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Wed, 22 May 2019 20:04:12 +0200
|
||||
|
||||
pve-xtermjs (3.12.0-1) unstable; urgency=medium
|
||||
|
||||
* allow xtermjs on ipv6 only host
|
||||
|
||||
* update to upstream 3.12.0 release
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Tue, 26 Mar 2019 07:44:39 +0100
|
||||
|
||||
pve-xtermjs (3.10.1-2) unstable; urgency=medium
|
||||
|
||||
* support new 'cmd' parameter
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Thu, 28 Feb 2019 11:13:08 +0100
|
||||
|
||||
pve-xtermjs (3.10.1-1) unstable; urgency=medium
|
||||
|
||||
* update to xterm.js 3.10.1
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Thu, 17 Jan 2019 16:38:51 +0100
|
||||
|
||||
pve-xtermjs (1.0-5) unstable; urgency=medium
|
||||
|
||||
* change localhost to 127.0.0.1
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Tue, 08 May 2018 11:20:25 +0200
|
||||
|
||||
pve-xtermjs (1.0-4) unstable; urgency=medium
|
||||
|
||||
* reload on container reboot
|
||||
|
||||
* do not try to reconnect the host shell
|
||||
|
||||
* focus terminal when starting
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Mon, 07 May 2018 15:16:07 +0200
|
||||
|
||||
pve-xtermjs (1.0-3) unstable; urgency=medium
|
||||
|
||||
* update to xterm.js 3.2.0
|
||||
|
||||
* implement reconnect logic
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Wed, 11 Apr 2018 14:32:28 +0200
|
||||
|
||||
pve-xtermjs (1.0-2) unstable; urgency=medium
|
||||
|
||||
* make perm an optional parameter
|
||||
|
||||
* remove dependcy to libpve-access-control
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Mon, 11 Dec 2017 14:39:10 +0100
|
||||
|
||||
pve-xtermjs (1.0-1) unstable; urgency=medium
|
||||
|
||||
* bump to 1.0-1
|
||||
|
||||
* update dependencies
|
||||
|
||||
* check ticket via api instead of verify_vnc_ticket
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Thu, 07 Dec 2017 13:24:37 +0100
|
||||
|
||||
pve-xtermjs (0.1-1) unstable; urgency=medium
|
||||
|
||||
* bump to 0.1-1
|
||||
|
||||
* update dependencies
|
||||
|
||||
* give pty object to process_queue on first call
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Mon, 04 Dec 2017 10:29:52 +0100
|
||||
|
||||
pve-xtermjs (0.1-1~rc1) unstable; urgency=medium
|
||||
|
||||
* initial package
|
||||
|
||||
-- Proxmox Support Team <support@proxmox.com> Mon, 20 Nov 2017 08:25:32 +0100
|
18
xterm.js/debian/control
Normal file
18
xterm.js/debian/control
Normal file
@ -0,0 +1,18 @@
|
||||
Source: pve-xtermjs
|
||||
Section: admin
|
||||
Priority: optional
|
||||
Build-Depends: debhelper-compat (= 13),
|
||||
Maintainer: Proxmox Support Team <support@proxmox.com>
|
||||
Standards-Version: 4.6.1
|
||||
Vcs-Git: git://git.proxmox.com/git/pve-xtermjs.git
|
||||
Vcs-Browser: https://git.proxmox.com/?p=pve-xtermjs.git;a=summary
|
||||
Homepage: https://www.proxmox.com
|
||||
Rules-Requires-Root: no
|
||||
|
||||
Package: pve-xtermjs
|
||||
Architecture: all
|
||||
Depends: ${misc:Depends},
|
||||
Recommends: proxmox-termproxy
|
||||
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.
|
46
xterm.js/debian/copyright
Normal file
46
xterm.js/debian/copyright
Normal file
@ -0,0 +1,46 @@
|
||||
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||
Upstream-Name: xterm.js
|
||||
Source: https://github.com/xtermjs/xterm.js
|
||||
|
||||
Files:
|
||||
*
|
||||
Comment: Based on the sources LICENSE file
|
||||
Copyright: 2017-2019 The xterm.js authors (https://github.com/xtermjs/xterm.js)
|
||||
2014-2016 SourceLair Private Company (https://www.sourcelair.com)
|
||||
2012-2013 Christopher Jeffrey (https://github.com/chjj/)
|
||||
License: Expat
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
in the Software without restriction, including without limitation the rights
|
||||
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is
|
||||
furnished to do so, subject to the following conditions:
|
||||
.
|
||||
The above copyright notice and this permission notice shall be included in
|
||||
all copies or substantial portions of the Software.
|
||||
.
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||
THE SOFTWARE.
|
||||
|
||||
|
||||
Files:
|
||||
debian/*
|
||||
Copyright: 2017-2023 Proxmox Server Solutions GmbH
|
||||
License: AGPL-3.0-or-later
|
||||
This program is free software: you can redistribute it and/or modify it under
|
||||
the terms of the GNU Affero General Public License as published by the Free
|
||||
Software Foundation, either version 3 of the License, or (at your option) any
|
||||
later version.
|
||||
.
|
||||
This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
||||
FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
|
||||
details.
|
||||
.
|
||||
You should have received a copy of the GNU Affero General Public License along
|
||||
with this program. If not, see <https://www.gnu.org/licenses/>.
|
1
xterm.js/debian/docs
Normal file
1
xterm.js/debian/docs
Normal file
@ -0,0 +1 @@
|
||||
debian/SOURCE
|
1
xterm.js/debian/install
Normal file
1
xterm.js/debian/install
Normal file
@ -0,0 +1 @@
|
||||
src/* /usr/share/pve-xtermjs/
|
12
xterm.js/debian/rules
Executable file
12
xterm.js/debian/rules
Executable file
@ -0,0 +1,12 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
include /usr/share/dpkg/pkg-info.mk
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_auto_build:
|
||||
dh_auto_build
|
||||
sed -e 's/@VERSION@/$(DEB_VERSION)/' src/index.html.tpl.in > src/index.html.tpl
|
||||
sed -e 's/@VERSION@/$(DEB_VERSION)/' src/index.html.hbs.in > src/index.html.hbs
|
||||
rm src/index.html.tpl.in src/index.html.hbs.in
|
Loading…
Reference in New Issue
Block a user