commit 4b7a70146754047e7d4eccce243a48662095ffc1 Author: EnumDev Date: Thu Dec 4 16:05:47 2025 +0200 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..4071871 --- /dev/null +++ b/check-version.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +# Github repository +REPO="avahi/avahi" + +# Get tag name using Github Rest API +TAG_NAME=$(curl -s -L -H "X-GitHub-Api-Version: 2022-11-28" -H "Authorization: token ${GITHUB_API_TOKEN}" https://api.github.com/repos/"$REPO"/tags | jq -r '.[0].name') + +# 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..fbf8913 --- /dev/null +++ b/pkg.info @@ -0,0 +1,41 @@ +name: avahi +description: Service Discovery for Linux using mDNS/DNS-SD +version: 0.9-rc2 +revision: 1 +url: https://github.com/avahi/avahi +license: LGPL2.1-or-later +architecture: any +type: source +depends: + - bash + - dbus + - expat + - gdbm + - glib + - glibc + - libcap + - libdaemon + - libelogind + - sysusers +optional_depends: + - gtk3 + - libevent + - nss-mdns + - python-dbus + - python-pygobject +make_depends: + - doxygen + - elogind + - gobject-introspection + - graphviz + - gtk3 + - libevent + - python-dbus + - python-pygobject + - which + - xmltoman +downloads: + - url: https://github.com/avahi/avahi/archive/refs/tags/v${BPM_PKG_VERSION}.tar.gz + extract_to: ${BPM_SOURCE} + extract_strip_components: 1 + checksum: f64efed6a972cf92cb2dfb35abf6aa9173d62b843b15850c2f40af76a4238f8a diff --git a/source-files/avahi.esv b/source-files/avahi.esv new file mode 100644 index 0000000..f7894f6 --- /dev/null +++ b/source-files/avahi.esv @@ -0,0 +1,4 @@ +name: avahi +description: Start the avahi daemon +type: background +start_cmd: /usr/sbin/avahi-daemon -s diff --git a/source-files/sysusers b/source-files/sysusers new file mode 100644 index 0000000..87866b5 --- /dev/null +++ b/source-files/sysusers @@ -0,0 +1 @@ +u avahi - "Avahi mDNS/DNS-SD daemon" diff --git a/source.sh b/source.sh new file mode 100644 index 0000000..f7d0de6 --- /dev/null +++ b/source.sh @@ -0,0 +1,49 @@ +# 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 prepare function is executed in the root of the temp directory +# This function is used for putting downloaded files to the correct location or applying patches +prepare() { + cd "$BPM_SOURCE" + NOCONFIGURE=1 ./autogen.sh +} + +# The build function is executed in the source directory +# This function is used to compile the source code +build() { + ./configure --prefix=/usr \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --runstatedir=/run \ + --disable-mono \ + --disable-qt5 \ + --enable-compat-libdns_sd \ + --with-autoipd-group=avahi \ + --with-autoipd-user=avahi \ + --with-avahi-priv-access-group=network \ + --with-distro=none \ + --with-systemdsystemunitdir=no \ + --disable-libsystemd \ + with_dbus_sys=/usr/share/dbus-1/system.d + + # Prevent overlinking due to libtool + sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool + + make +} + +# The package function is executed in the source directory +# This function is used to move the compiled files into the output directory +package() { + make DESTDIR="$BPM_OUTPUT" install + + # Install sysusers configuration + install -Dm644 "$BPM_WORKDIR"/sysusers "$BPM_OUTPUT"/usr/lib/sysusers.d/avahi.conf + + # Install esvm service + install -Dm644 "$BPM_WORKDIR"/avahi.esv "$BPM_OUTPUT"/etc/esvm/services/avahi.esv + + # Install package license + install -Dm644 "$BPM_SOURCE"/LICENSE "$BPM_OUTPUT"/usr/share/licenses/avahi/LICENSE +}