Update package version to 258.2

This commit is contained in:
2025-11-14 19:58:04 +02:00
parent f3860cc155
commit abd31df972
3 changed files with 657 additions and 48 deletions
+156 -38
View File
@@ -2,57 +2,175 @@
# 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"
patch -Np1 -i "$BPM_WORKDIR"/artix-standalone-install.patch
}
# The build function is executed in the source directory
# This function is used to compile the source code
build() {
# Replace 'render' group with 'video' and remove 'sgx' group from default udev rules
sed -i -e 's/GROUP="render"/GROUP="video"/' -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in
sed '/systemd-sysctl/s/^/#/' -i rules.d/99-systemd.rules.in
sed '/NETWORK_DIRS/s/systemd/udev/' -i src/libsystemd/sd-network/network-util.h
mkdir build
cd build
meson setup --prefix=/usr \
--buildtype=release \
-Dmode=release \
-Ddev-kvm-mode=0660 \
meson setup --prefix=/usr \
--buildtype=release \
-Dmode=release \
-Dsbat-distro='tide' \
-Dsbat-distro-summary='Tide Linux' \
-Dsbat-distro-pkgname='udev' \
-Dsbat-distro-version="${BPM_PKG_VERSION}" \
-Dlink-udev-shared=false \
-Dlogind=false \
-Dvconsole=false .. \
-Dlink-boot-shared=false \
-Dsysusers=false \
-Dtmpfiles=false \
-Dblkid=enabled \
-Dkmod=enabled \
-Dgshadow=false \
-Ddefault-keymap='us' \
-Dman=enabled \
-Dhtml=disabled \
-Ddns-servers='' \
-Dntp-servers='' \
-Defi=false \
-Dbootloader=disabled \
-Dkernel-install=false \
-Dukify=disabled \
-Dsysvinit-path= \
-Dsysvrcnd-path= \
-Ddefault-dnssec=no \
-Ddefault-llmnr=no \
-Ddefault-mdns=no \
-Dsshconfdir=no \
-Dadm-group=false \
-Danalyze=false \
-Dapparmor=disabled \
-Daudit=disabled \
-Dbacklight=false \
-Dbinfmt=false \
-Dbzip2=disabled \
-Dcoredump=false \
-Ddbus=disabled \
-Delfutils=disabled \
-Denvironment-d=false \
-Dfdisk=disabled \
-Dgcrypt=disabled \
-Dglib=disabled \
-Dgnutls=disabled \
-Dhibernate=false \
-Dhostnamed=false \
-Didn=false \
-Dima=false \
-Dinitrd=false \
-Dfirstboot=false \
-Dldconfig=false \
-Dlibcryptsetup=disabled \
-Dlibcurl=disabled \
-Dlibfido2=disabled \
-Dlibidn=disabled \
-Dlibidn2=disabled \
-Dlibiptc=disabled \
-Dlocaled=false \
-Dlogind=false \
-Dlz4=disabled \
-Dmachined=false \
-Dmicrohttpd=disabled \
-Dnetworkd=false \
-Dnss-myhostname=false \
-Dnss-resolve=disabled \
-Dnss-systemd=false \
-Doomd=false \
-Dopenssl=disabled \
-Dp11kit=disabled \
-Dpam=disabled \
-Dpcre2=disabled \
-Dpolkit=disabled \
-Dportabled=false \
-Dpstore=false \
-Dpwquality=disabled \
-Drandomseed=false \
-Dresolve=false \
-Drfkill=false \
-Dseccomp=disabled \
-Dsmack=false \
-Dstoragetm=false \
-Dsysext=false \
-Dtimedated=false \
-Dtimesyncd=false \
-Dtpm=false \
-Dqrencode=disabled \
-Dquotacheck=false \
-Duserdb=false \
-Dutmp=false \
-Dvconsole=false \
-Dvmspawn=disabled \
-Dwheel-group=false \
-Dxdg-autostart=false \
-Dxkbcommon=disabled \
-Dxz=disabled \
-Dzlib=disabled \
-Dzstd=disabled \
-Dbpf-framework=disabled \
-Dpasswdqc=disabled \
-Dselinux=disabled \
-Dxenctrl=disabled \
-Dlibcryptsetup-plugins=disabled \
-Drepart=disabled \
-Dsysupdate=disabled \
-Dimportd=disabled \
-Dhomed=disabled \
-Dremote=disabled \
-Dnss-mymachines=disabled \
-Dtpm2=disabled \
-Dshellprofiledir=no \
build
export udev_helpers=$(grep "'name' :" ../src/udev/meson.build | awk '{print $3}' | tr -d ",'" | grep -v 'udevadm')
ninja udevadm systemd-hwdb \
$(ninja -n | grep -Eo '(src/(lib)?udev|rules.d|hwdb.d)/[^ ]*') \
$(realpath libudev.so --relative-to .) \
$udev_helpers
local targets=(
udev:shared_library
src/libudev/libudev.pc
udevadm
{ata_id,cdrom_id,dmi_memory_id,fido_id,iocost,mtd_probe,scsi_id,v4l_id}
rules.d/{50-udev-default,60-persistent-storage,64-btrfs}.rules
udev-hwdb
hwdb.d/60-autosuspend-chromiumos.hwdb
src/udev/udev.pc
man/{libudev.3,udev.conf.5,hwdb.7,udev.7,udevadm.8,iocost.conf.5,systemd-hwdb.8}
)
meson compile -C build "${targets[@]}"
}
# The package function is executed in the source directory
# This function is used to move the compiled files into the output directory
package() {
cd build
export udev_helpers=$(grep "'name' :" ../src/udev/meson.build | awk '{print $3}' | tr -d ",'" | grep -v 'udevadm')
package_udev() {
meson install -C build --destdir="$BPM_OUTPUT" --no-rebuild --tags udev,udev-devel,hwdb
install -dm644 "$BPM_OUTPUT"/usr/{bin,sbin,lib,include}
install -dm644 "$BPM_OUTPUT"/usr/{lib,share}/pkgconfig
install -m755 -d "$BPM_OUTPUT"/{usr/lib,etc}/udev/{hwdb.d,rules.d,network}
install -m755 -d "$BPM_OUTPUT"/usr/{lib,share}/pkgconfig
install -m755 udevadm "$BPM_OUTPUT"/usr/bin/
install -m755 systemd-hwdb "$BPM_OUTPUT"/usr/bin/udev-hwdb
ln -sfn ../bin/udevadm "$BPM_OUTPUT"/usr/sbin/udevd
cp -a libudev.so{,*[0-9]} "$BPM_OUTPUT"/usr/lib/
install -m644 ../src/libudev/libudev.h "$BPM_OUTPUT"/usr/include/
install -m644 src/libudev/*.pc "$BPM_OUTPUT"/usr/lib/pkgconfig/
install -m644 src/udev/*.pc "$BPM_OUTPUT"/usr/share/pkgconfig/
install -m644 ../src/udev/udev.conf "$BPM_OUTPUT"/etc/udev/
install -m644 rules.d/* ../rules.d/README "$BPM_OUTPUT"/usr/lib/udev/rules.d/
install -m644 $(find ../rules.d/*.rules -not -name '*power-switch*') "$BPM_OUTPUT"/usr/lib/udev/rules.d/
install -m644 hwdb.d/* ../hwdb.d/{*.hwdb,README} "$BPM_OUTPUT"/usr/lib/udev/hwdb.d/
install -m755 $udev_helpers "$BPM_OUTPUT"/usr/lib/udev
install -m644 ../network/99-default.link "$BPM_OUTPUT"/usr/lib/udev/network
# Install man pages
for manpage in udev.conf.5 iocost.conf.5 udev.7 udevadm.8; do
x=${manpage##*.}
install -Dm644 build/man/"$manpage" -t "$BPM_OUTPUT"/usr/share/man/man$x/
done
install -Dm644 build/man/systemd-hwdb.8 "$BPM_OUTPUT"/usr/share/man/man8/udev-hwdb.8
# Install esvm service
install -Dm644 "$BPM_WORKDIR"/udevd.esv "$BPM_OUTPUT"/etc/esvm/services/udevd.esv
install -Dm755 "$BPM_WORKDIR"/udevd.sh "$BPM_OUTPUT"/etc/esvm/scripts/udevd.sh
# Install BPM hook
install -Dm644 "$BPM_WORKDIR"/udev-hwdb.bpmhook "$BPM_OUTPUT"/var/lib/bpm/hooks/udev-hwdb.bpmhook
install -Dm644 ../LICENSE.{GPL2,LGPL2.1} -t "$BPM_OUTPUT"/usr/share/licenses/udev/
# Install package license
install -Dm644 "$BPM_SOURCE"/LICENSE.{GPL2,LGPL2.1} -t "$BPM_OUTPUT"/usr/share/licenses/udev/
}
package_libudev() {
meson install -C build --destdir="$BPM_OUTPUT" --no-rebuild --tags libudev,libudev-devel
# Install man page
install -Dm644 build/man/libudev.3 -t "$BPM_OUTPUT"/usr/share/man/man3/
# Install package license
install -Dm644 "$BPM_SOURCE"/LICENSE.{GPL2,LGPL2.1} -t "$BPM_OUTPUT"/usr/share/licenses/udev/
}