mirror of
https://git.proxmox.com/git/proxmox-firewall
synced 2025-10-04 10:28:19 +00:00
firewall: add files for debian packaging
Suggested-By: Fabian Grünbichler <f.gruenbichler@proxmox.com> Signed-off-by: Stefan Hanreich <s.hanreich@proxmox.com> [ TL: squash in various fixes and clean-ups ] Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
parent
924905955a
commit
6734077b14
3
.gitignore
vendored
3
.gitignore
vendored
@ -2,5 +2,8 @@
|
|||||||
/Cargo.lock
|
/Cargo.lock
|
||||||
proxmox-firewall-*/
|
proxmox-firewall-*/
|
||||||
*.deb
|
*.deb
|
||||||
|
*.dsc
|
||||||
|
*.tar*
|
||||||
|
*.build
|
||||||
*.buildinfo
|
*.buildinfo
|
||||||
*.changes
|
*.changes
|
||||||
|
69
Makefile
Normal file
69
Makefile
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
include /usr/share/dpkg/default.mk
|
||||||
|
include defines.mk
|
||||||
|
|
||||||
|
PACKAGE=proxmox-firewall
|
||||||
|
BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
|
||||||
|
CARGO ?= cargo
|
||||||
|
|
||||||
|
DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb
|
||||||
|
DBG_DEB=$(PACKAGE)-dbgsym_$(DEB_VERSION_UPSTREAM_REVISION)_$(DEB_HOST_ARCH).deb
|
||||||
|
DSC=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
|
||||||
|
|
||||||
|
DEBS = $(DEB) $(DBG_DEB)
|
||||||
|
|
||||||
|
ifeq ($(BUILD_MODE), release)
|
||||||
|
CARGO_BUILD_ARGS += --release
|
||||||
|
COMPILEDIR := target/release
|
||||||
|
else
|
||||||
|
COMPILEDIR := target/debug
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
|
all: cargo-build
|
||||||
|
|
||||||
|
.PHONY: cargo-build
|
||||||
|
cargo-build:
|
||||||
|
$(CARGO) build $(CARGO_BUILD_ARGS)
|
||||||
|
|
||||||
|
.PHONY: build
|
||||||
|
build: $(BUILDDIR)
|
||||||
|
$(BUILDDIR):
|
||||||
|
rm -rf $@ $@.tmp; mkdir $@.tmp
|
||||||
|
cp -a proxmox-firewall proxmox-nftables proxmox-ve-config debian Cargo.toml Makefile defines.mk $@.tmp/
|
||||||
|
mv $@.tmp $@
|
||||||
|
|
||||||
|
.PHONY: deb
|
||||||
|
deb: $(DEB)
|
||||||
|
$(HELPER_DEB) $(DBG_DEB) $(HELPER_DBG_DEB) $(DOC_DEB): $(DEB)
|
||||||
|
$(DEB): $(BUILDDIR)
|
||||||
|
cd $(BUILDDIR); dpkg-buildpackage -b -us -uc
|
||||||
|
lintian $(DEB) $(DOC_DEB) $(HELPER_DEB)
|
||||||
|
|
||||||
|
.PHONY: test
|
||||||
|
test:
|
||||||
|
$(CARGO) test
|
||||||
|
|
||||||
|
.PHONY: dsc
|
||||||
|
dsc:
|
||||||
|
rm -rf $(BUILDDIR) $(DSC)
|
||||||
|
$(MAKE) $(DSC)
|
||||||
|
lintian $(DSC)
|
||||||
|
$(DSC): $(BUILDDIR)
|
||||||
|
cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
|
||||||
|
|
||||||
|
sbuild: $(DSC)
|
||||||
|
sbuild $<
|
||||||
|
|
||||||
|
.PHONY: dinstall
|
||||||
|
dinstall: $(DEB)
|
||||||
|
dpkg -i $(DEB) $(DBG_DEB) $(DOC_DEB)
|
||||||
|
|
||||||
|
.PHONY: distclean
|
||||||
|
distclean: clean
|
||||||
|
|
||||||
|
.PHONY: clean
|
||||||
|
clean:
|
||||||
|
$(CARGO) clean
|
||||||
|
rm -f *.deb *.build *.buildinfo *.changes *.dsc $(PACKAGE)*.tar*
|
||||||
|
rm -rf $(PACKAGE)-[0-9]*/
|
||||||
|
find . -name '*~' -exec rm {} ';'
|
5
debian/changelog
vendored
Normal file
5
debian/changelog
vendored
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
proxmox-firewall (0.1.0) bookworm; urgency=medium
|
||||||
|
|
||||||
|
* Initial release.
|
||||||
|
|
||||||
|
-- Proxmox Support Team <support@proxmox.com> Thu, 18 Apr 2024 21:07:32 +0200
|
35
debian/control
vendored
Normal file
35
debian/control
vendored
Normal file
@ -0,0 +1,35 @@
|
|||||||
|
Source: proxmox-firewall
|
||||||
|
Section: admin
|
||||||
|
Priority: optional
|
||||||
|
Maintainer: Proxmox Support Team <support@proxmox.com>
|
||||||
|
Build-Depends: cargo:native,
|
||||||
|
debhelper-compat (= 13),
|
||||||
|
librust-anyhow-1+default-dev,
|
||||||
|
librust-env-logger-0.10+default-dev,
|
||||||
|
librust-libc-0.2+default-dev,
|
||||||
|
librust-log-0.4+default-dev (>= 0.4.17-~~),
|
||||||
|
librust-nix-0.26+default-dev (>= 0.26.1-~~),
|
||||||
|
librust-proxmox-schema-3+default-dev,
|
||||||
|
librust-proxmox-sortable-macro-dev,
|
||||||
|
librust-proxmox-sys-dev,
|
||||||
|
librust-serde-1+default-dev,
|
||||||
|
librust-serde-1+derive-dev,
|
||||||
|
librust-serde-json-1+default-dev,
|
||||||
|
librust-serde-plain-1+default-dev,
|
||||||
|
librust-serde-with+default-dev,
|
||||||
|
librust-signal-hook-dev,
|
||||||
|
librust-thiserror-dev,
|
||||||
|
libstd-rust-dev,
|
||||||
|
netbase,
|
||||||
|
python3,
|
||||||
|
rustc:native,
|
||||||
|
Standards-Version: 4.6.2
|
||||||
|
Homepage: https://www.proxmox.com
|
||||||
|
|
||||||
|
Package: proxmox-firewall
|
||||||
|
Architecture: any
|
||||||
|
Conflicts: ulogd,
|
||||||
|
Depends: netbase, nftables, pve-firewall, ${misc:Depends}, ${shlibs:Depends},
|
||||||
|
Description: Proxmox's nftables-based firewall written in rust
|
||||||
|
This package contains a nftables-based implementation of the Proxmox VE
|
||||||
|
Firewall
|
16
debian/copyright
vendored
Normal file
16
debian/copyright
vendored
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
Copyright (C) 2018-2024 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/>.
|
1
debian/proxmox-firewall.install
vendored
Normal file
1
debian/proxmox-firewall.install
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
target/x86_64-unknown-linux-gnu/release/proxmox-firewall usr/libexec/proxmox
|
14
debian/proxmox-firewall.service
vendored
Normal file
14
debian/proxmox-firewall.service
vendored
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=Proxmox nftables firewall
|
||||||
|
Wants=pve-cluster.service pvefw-logger.service
|
||||||
|
After=pvefw-logger.service pve-cluster.service network.target systemd-modules-load.service
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
ExecStart=/usr/libexec/proxmox/proxmox-firewall
|
||||||
|
PIDFile=/run/proxmox-firewall.pid
|
||||||
|
Environment="RUST_LOG_STYLE=SYSTEMD"
|
||||||
|
Environment="RUST_LOG=warn"
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=multi-user.target
|
||||||
|
|
31
debian/rules
vendored
Executable file
31
debian/rules
vendored
Executable file
@ -0,0 +1,31 @@
|
|||||||
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
|
# Uncomment this to turn on verbose mode.
|
||||||
|
# export DH_VERBOSE=1
|
||||||
|
|
||||||
|
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=/usr/share/cargo/bin/cargo
|
||||||
|
export CARGO_HOME = $(CURDIR)/debian/cargo_home
|
||||||
|
|
||||||
|
export DEB_CARGO_CRATE=proxmox-firewall$(DEB_VERSION_UPSTREAM)
|
||||||
|
export DEB_CARGO_PACKAGE=proxmox-firewall
|
||||||
|
|
||||||
|
%:
|
||||||
|
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); }' proxmox-firewall/Cargo.toml
|
||||||
|
$(CARGO) prepare-debian $(CURDIR)/debian/cargo_registry --link-from-system
|
||||||
|
dh_auto_configure
|
||||||
|
|
||||||
|
override_dh_installsystemd:
|
||||||
|
dh_installsystemd proxmox-firewall.service
|
||||||
|
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
3.0 (native)
|
13
defines.mk
Normal file
13
defines.mk
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
PREFIX = /usr
|
||||||
|
BINDIR = $(PREFIX)/bin
|
||||||
|
SBINDIR = $(PREFIX)/sbin
|
||||||
|
LIBDIR = $(PREFIX)/lib
|
||||||
|
LIBEXECDIR = $(LIBDIR)
|
||||||
|
DATAROOTDIR = $(PREFIX)/share
|
||||||
|
MAN1DIR = $(PREFIX)/share/man/man1
|
||||||
|
MAN5DIR = $(PREFIX)/share/man/man5
|
||||||
|
SYSCONFDIR = /etc
|
||||||
|
|
||||||
|
# For local overrides
|
||||||
|
-include local.mak
|
||||||
|
|
Loading…
Reference in New Issue
Block a user