commit 234f3f6a5e356eb92a3a0e09b98158956435a6a2 Author: EnumDev Date: Sat Oct 4 13:37:27 2025 +0300 Initial commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3e58e5f --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +# Exclude bpm archives +*.bpm \ No newline at end of file diff --git a/check-version.sh b/check-version.sh new file mode 100644 index 0000000..ee6c72f --- /dev/null +++ b/check-version.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +# Gitlab repository +REPO="libvirt/libvirt" + +# Replace slash with URL encoded representation +REPO=$(echo "$REPO" | sed 's|/|%2F|g') + +# Get tag name using Gitlab Rest API +TAG_NAME=$(curl -s -L https://gitlab.com/api/v4/projects/"$REPO"/repository/tags | jq -r '.[].name' | grep -v 'rc' | head -n1) + +# Trim 'v' character in TAG_NAME variable +VERSION=$(echo "$TAG_NAME" | tr -d 'v') + +echo "$VERSION" diff --git a/pkg.info b/pkg.info new file mode 100644 index 0000000..4233ec6 --- /dev/null +++ b/pkg.info @@ -0,0 +1,51 @@ +name: libvirt +description: Virtualization platform management toolkit +version: 11.8.0 +revision: 1 +url: https://libvirt.org/ +license: GPL3-or-later,LGPL2.1-or-later +architecture: any +type: source +keep: + - etc/libvirt/ + - etc/sasl2/libvirt.conf +depends: + - acl + - curl + - lvm2 + - fuse3 + - gcc-libs + - glib + - glibc + - glusterfs + - gnutls + - json-c + - libcap + - libiscsi + - libnl + - libpciaccess + - libsasl + - libssh2 + - libtirpc + - libxml2 + - numactl + - parted + - polkit + - readline + - sysusers + - util-linux +optional_depends: + - dmidecode + - dnsmasq + - gettext + - qemu +make_depends: + - bash-completion + - libxslt + - meson + - python-docutils +downloads: + - url: https://libvirt.org/sources/libvirt-${BPM_PKG_VERSION}.tar.xz + extract_to_bpm_source: true + extract_strip_components: 1 + checksum: f7882fe65302bbcf804b573e0128c4fc6bfc52c9c3f44852a04de2391d858e34 diff --git a/source-files/libvirtd.esv b/source-files/libvirtd.esv new file mode 100644 index 0000000..dcb4591 --- /dev/null +++ b/source-files/libvirtd.esv @@ -0,0 +1,6 @@ +name: libvirtd +description: Libvirt daemon +dependencies: ["dbus","virtlogd","virtlockd"] +type: background +start_cmd: /usr/sbin/libvirtd +exit_method: kill diff --git a/source-files/sysusers b/source-files/sysusers new file mode 100644 index 0000000..53d7fac --- /dev/null +++ b/source-files/sysusers @@ -0,0 +1,3 @@ +g libvirt - - +u! libvirt /var/lib/libvirt "Libvirt user" +m libvirt qemu diff --git a/source-files/virtlockd.esv b/source-files/virtlockd.esv new file mode 100644 index 0000000..a46a3e5 --- /dev/null +++ b/source-files/virtlockd.esv @@ -0,0 +1,5 @@ +name: virtlockd +description: Libvirt file locking daemon +type: background +start_cmd: /usr/sbin/virtlockd +exit_method: kill diff --git a/source-files/virtlogd.esv b/source-files/virtlogd.esv new file mode 100644 index 0000000..4e37f94 --- /dev/null +++ b/source-files/virtlogd.esv @@ -0,0 +1,6 @@ +name: virtlogd +description: Libvirt logger daemon +dependencies: ["dbus"] +type: background +start_cmd: /usr/sbin/virtlogd +exit_method: kill diff --git a/source.sh b/source.sh new file mode 100644 index 0000000..4706e24 --- /dev/null +++ b/source.sh @@ -0,0 +1,59 @@ +# This is the source.sh script. It is executed by BPM in a temporary directory when compiling a source package +# BPM Expects the source code to be extracted into the automatically created 'source' directory which can be accessed using $BPM_SOURCE +# BPM Expects the output files to be present in the automatically created 'output' directory which can be accessed using $BPM_OUTPUT + +# The build function is executed in the source directory +# This function is used to compile the source code +build() { + meson setup build --prefix=/usr \ + -Drunstatedir=/run \ + -Dqemu_user=libvirt \ + -Dqemu_group=libvirt \ + -Dpolkit=enabled \ + -Dnetcf=disabled \ + -Dopenwsman=disabled \ + -Dapparmor=disabled \ + -Dapparmor_profiles=disabled \ + -Dselinux=disabled \ + -Dwireshark_dissector=disabled \ + -Ddriver_bhyve=disabled \ + -Ddriver_hyperv=disabled \ + -Ddriver_libxl=disabled \ + -Ddriver_vz=disabled \ + -Dsanlock=disabled \ + -Dsecdriver_apparmor=disabled \ + -Dsecdriver_selinux=disabled \ + -Dstorage_vstorage=disabled \ + -Ddtrace=disabled \ + -Dnumad=disabled \ + -Dstorage_zfs=enabled \ + -Dstorage_rbd=disabled + + meson compile -C build +} + +# The check function is executed in the source directory +# This function is used to run tests to verify the package has been compiled correctly +check() { + meson test -C build --print-errorlogs +} + +# The package function is executed in the source directory +# This function is used to move the compiled files into the output directory +package() { + meson install -C build --destdir="$BPM_OUTPUT" + + # Remove unnecessary directories + rm -rf "$BPM_OUTPUT"/etc/sysconfig + rm -rf "$BPM_OUTPUT"/var/log + + # Install esvm services + install -Dm644 "$BPM_WORKDIR"/*.esv -t "$BPM_OUTPUT"/etc/esvm/services/ + + # Install sysusers file + rm "$BPM_OUTPUT"/usr/lib/sysusers.d/libvirt-qemu.conf + install -m644 "$BPM_WORKDIR"/sysusers "$BPM_OUTPUT"/usr/lib/sysusers.d/libvirt.conf + + # Install package license + install -Dm644 "$BPM_SOURCE"/COPYING* -t "$BPM_OUTPUT"/usr/share/licenses/libvirt/ +}