# 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 --prefix=/usr \ --buildtype=release \ --wrap-mode=nofallback \ -Ddbus_user=messagebus \ -Dinotify=enabled \ -Dkqueue=disabled \ -Dapparmor=disabled \ -Dlaunchd=disabled \ -Drelocation=disabled \ -Dselinux=disabled \ -Dsystemd=disabled \ -Duser_session=false \ build 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 /run directory rm -rf "$BPM_OUTPUT"/run # Fix dbus-daemon-launch-helper binary ownership and permissions chown 0:18 "$BPM_OUTPUT"/usr/libexec/dbus-daemon-launch-helper chmod 4750 "$BPM_OUTPUT"/usr/libexec/dbus-daemon-launch-helper # Symlink dbus machine-id to /etc/machine-id install -d "$BPM_OUTPUT"/etc/ ln -sfv /var/lib/dbus/machine-id "$BPM_OUTPUT"/etc/machine-id # Install dbus service install -Dm755 "$BPM_WORKDIR"/dbus.sh "$BPM_OUTPUT"/etc/esvm/scripts/dbus.sh install -Dm644 "$BPM_WORKDIR"/dbus.esv "$BPM_OUTPUT"/etc/esvm/services/dbus.esv # Install dbus BPM hook install -Dm755 "$BPM_WORKDIR"/dbus-reload.sh "$BPM_OUTPUT"/usr/sbin/dbus-reload install -Dm644 "$BPM_WORKDIR"/dbus-reload.bpmhook "$BPM_OUTPUT"/var/lib/bpm/hooks/dbus-reload.bpmhook # Install sysusers file install -Dm644 "$BPM_WORKDIR"/sysusers "$BPM_OUTPUT"/usr/lib/sysusers.d/dbus.conf # Install package license install -Dm644 "$BPM_SOURCE"/COPYING "$BPM_OUTPUT"/usr/share/licenses/dbus/COPYING }