mirror of
https://dev.lirent.ru/Vatrog/vm-automation-signaling.git
synced 2026-06-25 20:36:36 +03:00
packaging: split vgpu perception into separate libvgpu-perception0 + -dev packages
- the vmsig package no longer ships the gpu lib; it is a Sensor lib for the control, not the daemon - vgpu-perception gets SOVERSION; runtime (libvgpu-perception0) and dev (-dev) packages, like the vmie split - per-component install + a 3-package make deb; fix a stale comment (the windows producer is in-tree)
This commit is contained in:
@@ -1,46 +1,60 @@
|
||||
# vmsig packaging — `make deb` builds the .deb over a `cmake --install` stage.
|
||||
# Private values are NOT baked into the tree: pass them via the variables below (the
|
||||
# defaults are neutral placeholders; CI overrides them from vars/secrets).
|
||||
# vmsig packaging — `make deb` builds TWO Debian packages from per-component install stages:
|
||||
# vmsig — the signaling daemon + library + headers + systemd unit
|
||||
# libvgpu-perception — the host-side vgpu perception S-lib (SEPARATE: not in vmsig)
|
||||
# Private values are NOT baked in: pass them via the variables below (CI overrides them).
|
||||
#
|
||||
# make deb LIBVMIE_PATH=/path/to/vmie VERSION=1.2.3 \
|
||||
# MAINTAINER="Name <addr>" DEPENDS="libc6, libvmie0"
|
||||
# make deb LIBVMIE_PATH=/path/to/vmie VERSION=1.2.3 MAINTAINER="Name <addr>"
|
||||
|
||||
VERSION ?= 0.0.0
|
||||
MAINTAINER ?= vmsig packaging <root@localhost>
|
||||
# libvmie0 is vmie's own runtime package (SONAME libvmie.so.0): libvmsig.so and
|
||||
# libvgpu-perception.so dynamically link it, so it is a HARD runtime dependency.
|
||||
DEPENDS ?= libc6, libvmie0
|
||||
ARCH ?= amd64
|
||||
VERSION ?= 0.0.0
|
||||
MAINTAINER ?= vmsig packaging <root@localhost>
|
||||
# libvmie0 is vmie's runtime package (SONAME libvmie.so.0): both libvmsig.so and
|
||||
# libvgpu-perception.so dynamically link it — a hard runtime dependency of each package.
|
||||
DEPENDS ?= libc6, libvmie0
|
||||
ARCH ?= amd64
|
||||
LIBVMIE_PATH ?=
|
||||
|
||||
BUILD_DIR ?= .build-pkg
|
||||
STAGE ?= $(CURDIR)/dist/stage
|
||||
DIST ?= $(CURDIR)/dist
|
||||
BUILD_DIR ?= .build-pkg
|
||||
DIST ?= $(CURDIR)/dist
|
||||
|
||||
.PHONY: deb clean
|
||||
|
||||
# Armed package: the shipped daemon needs vmie for memctx. vmie stays an external dependency
|
||||
# (package Depends on its runtime). vmie is found from a source tree (LIBVMIE_PATH) or, when
|
||||
# that is empty, from the installed libvmie-dev (system / CMAKE_PREFIX_PATH) — the CI path.
|
||||
# vmie is found from a source tree (LIBVMIE_PATH) or, when empty, the installed libvmie-dev
|
||||
# (system / CMAKE_PREFIX_PATH) — the CI path.
|
||||
deb:
|
||||
rm -rf $(STAGE)
|
||||
cmake -S . -B $(BUILD_DIR) -DCMAKE_BUILD_TYPE=Release -DVMSIG_INSTALL=ON -DVMSIG_WITH_VMIE=ON \
|
||||
$(if $(LIBVMIE_PATH),-DLIBVMIE_PATH=$(LIBVMIE_PATH),)
|
||||
cmake --build $(BUILD_DIR) -j
|
||||
DESTDIR=$(STAGE) cmake --install $(BUILD_DIR) --prefix /usr
|
||||
mkdir -p $(STAGE)/DEBIAN
|
||||
sed -e 's/@VERSION@/$(VERSION)/' \
|
||||
-e 's|@MAINTAINER@|$(MAINTAINER)|' \
|
||||
-e 's/@DEPENDS@/$(DEPENDS)/' \
|
||||
packaging/deb/control.in > $(STAGE)/DEBIAN/control
|
||||
cp packaging/deb/conffiles $(STAGE)/DEBIAN/conffiles
|
||||
install -m 0755 packaging/deb/postinst $(STAGE)/DEBIAN/postinst
|
||||
install -m 0755 packaging/deb/prerm $(STAGE)/DEBIAN/prerm
|
||||
# strip inherited setgid from staged dirs (a setgid build tree => dpkg-deb rejects DEBIAN)
|
||||
find $(STAGE) -type d -exec chmod g-s {} +
|
||||
mkdir -p $(DIST)
|
||||
dpkg-deb --root-owner-group --build $(STAGE) $(DIST)/vmsig_$(VERSION)_$(ARCH).deb
|
||||
@echo "built: $(DIST)/vmsig_$(VERSION)_$(ARCH).deb"
|
||||
# ---- package: vmsig (component `daemon`) ----
|
||||
rm -rf $(DIST)/stage-daemon
|
||||
DESTDIR=$(DIST)/stage-daemon cmake --install $(BUILD_DIR) --prefix /usr --component daemon
|
||||
mkdir -p $(DIST)/stage-daemon/DEBIAN
|
||||
sed -e 's/@VERSION@/$(VERSION)/' -e 's|@MAINTAINER@|$(MAINTAINER)|' -e 's/@DEPENDS@/$(DEPENDS)/' \
|
||||
packaging/deb/vmsig/control.in > $(DIST)/stage-daemon/DEBIAN/control
|
||||
cp packaging/deb/vmsig/conffiles $(DIST)/stage-daemon/DEBIAN/conffiles
|
||||
install -m 0755 packaging/deb/vmsig/postinst $(DIST)/stage-daemon/DEBIAN/postinst
|
||||
install -m 0755 packaging/deb/vmsig/prerm $(DIST)/stage-daemon/DEBIAN/prerm
|
||||
find $(DIST)/stage-daemon -type d -exec chmod g-s {} +
|
||||
dpkg-deb --root-owner-group --build $(DIST)/stage-daemon $(DIST)/vmsig_$(VERSION)_$(ARCH).deb
|
||||
# ---- package: libvgpu-perception0 (component `vgpu_runtime` — versioned .so) ----
|
||||
rm -rf $(DIST)/stage-vgpu0
|
||||
DESTDIR=$(DIST)/stage-vgpu0 cmake --install $(BUILD_DIR) --prefix /usr --component vgpu_runtime
|
||||
mkdir -p $(DIST)/stage-vgpu0/DEBIAN
|
||||
sed -e 's/@VERSION@/$(VERSION)/' -e 's|@MAINTAINER@|$(MAINTAINER)|' -e 's/@DEPENDS@/$(DEPENDS)/' \
|
||||
packaging/deb/vgpu0/control.in > $(DIST)/stage-vgpu0/DEBIAN/control
|
||||
install -m 0755 packaging/deb/vgpu0/postinst $(DIST)/stage-vgpu0/DEBIAN/postinst
|
||||
find $(DIST)/stage-vgpu0 -type d -exec chmod g-s {} +
|
||||
dpkg-deb --root-owner-group --build $(DIST)/stage-vgpu0 $(DIST)/libvgpu-perception0_$(VERSION)_$(ARCH).deb
|
||||
# ---- package: libvgpu-perception-dev (component `vgpu_dev` — namelink + headers) ----
|
||||
rm -rf $(DIST)/stage-vgpu-dev
|
||||
DESTDIR=$(DIST)/stage-vgpu-dev cmake --install $(BUILD_DIR) --prefix /usr --component vgpu_dev
|
||||
mkdir -p $(DIST)/stage-vgpu-dev/DEBIAN
|
||||
sed -e 's/@VERSION@/$(VERSION)/' -e 's|@MAINTAINER@|$(MAINTAINER)|' \
|
||||
-e 's/@DEPENDS@/libvgpu-perception0 (= $(VERSION))/' \
|
||||
packaging/deb/vgpu-dev/control.in > $(DIST)/stage-vgpu-dev/DEBIAN/control
|
||||
find $(DIST)/stage-vgpu-dev -type d -exec chmod g-s {} +
|
||||
dpkg-deb --root-owner-group --build $(DIST)/stage-vgpu-dev $(DIST)/libvgpu-perception-dev_$(VERSION)_$(ARCH).deb
|
||||
@echo "built: vmsig + libvgpu-perception0 + libvgpu-perception-dev ($(VERSION))"
|
||||
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR) $(DIST)
|
||||
|
||||
Reference in New Issue
Block a user