mirror of
https://dev.lirent.ru/Vatrog/vm-automation-signaling.git
synced 2026-06-25 20:36:36 +03:00
0289817821
- 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)
61 lines
3.3 KiB
Makefile
61 lines
3.3 KiB
Makefile
# 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>"
|
|
|
|
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
|
|
DIST ?= $(CURDIR)/dist
|
|
|
|
.PHONY: deb clean
|
|
|
|
# vmie is found from a source tree (LIBVMIE_PATH) or, when empty, the installed libvmie-dev
|
|
# (system / CMAKE_PREFIX_PATH) — the CI path.
|
|
deb:
|
|
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
|
|
mkdir -p $(DIST)
|
|
# ---- 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)
|