mirror of
https://git.proxmox.com/git/proxmox-firewall
synced 2025-10-04 08:37:31 +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
|
||||
proxmox-firewall-*/
|
||||
*.deb
|
||||
*.dsc
|
||||
*.tar*
|
||||
*.build
|
||||
*.buildinfo
|
||||
*.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