diff options
Diffstat (limited to 'system/fwupd/fwupd.SlackBuild')
-rw-r--r-- | system/fwupd/fwupd.SlackBuild | 95 |
1 files changed, 61 insertions, 34 deletions
diff --git a/system/fwupd/fwupd.SlackBuild b/system/fwupd/fwupd.SlackBuild index 42be43104f..7d8312a4db 100644 --- a/system/fwupd/fwupd.SlackBuild +++ b/system/fwupd/fwupd.SlackBuild @@ -1,8 +1,9 @@ -#!/bin/sh +#!/bin/bash # Slackware build script for fwupd -# Copyright 2017-2019 Andrew Clemons, Wellington New Zealand +# Copyright 2017-2022 Andrew Clemons, Wellington New Zealand +# Copyright 2022-2024 Andrew Clemons, Tokyo Japan # All rights reserved. # # Redistribution and use of this script, with or without modification, is @@ -22,10 +23,13 @@ # OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF # ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +cd $(dirname $0) ; CWD=$(pwd) + PRGNAM=fwupd -VERSION=${VERSION:-1.2.10} +VERSION=${VERSION:-1.9.12} BUILD=${BUILD:-1} TAG=${TAG:-_SBo} +PKGTYPE=${PKGTYPE:-tgz} if [ -z "$ARCH" ]; then case "$( uname -m )" in @@ -35,23 +39,30 @@ if [ -z "$ARCH" ]; then esac fi -CWD=$(pwd) +if [ ! -z "${PRINT_PACKAGE_NAME}" ]; then + echo "$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE" + exit 0 +fi + TMP=${TMP:-/tmp/SBo} PKG=$TMP/package-$PRGNAM OUTPUT=${OUTPUT:-/tmp} if [ "$ARCH" = "i586" ]; then SLKCFLAGS="-O2 -march=i586 -mtune=i686" - LIBDIRSUFFIX="" + uefi_capsule="enabled" elif [ "$ARCH" = "i686" ]; then SLKCFLAGS="-O2 -march=i686 -mtune=i686" - LIBDIRSUFFIX="" + uefi_capsule="enabled" elif [ "$ARCH" = "x86_64" ]; then SLKCFLAGS="-O2 -fPIC" - LIBDIRSUFFIX="64" + uefi_capsule="enabled" +elif [ "$ARCH" = "aarch64" ]; then + SLKCFLAGS="-O2 -fPIC" + uefi_capsule="enabled" else SLKCFLAGS="-O2" - LIBDIRSUFFIX="" + uefi_capsule="disabled" fi set -e @@ -69,10 +80,9 @@ find -L . \ \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; -ENABLE_UEFI=${ENABLE_UEFI:-false} - -# altos is disabled because meson seems unable to find libelf on slack. -# dell is disabled because libsmbios is too old +# to use updated meson +PYVER=$(python3 -c 'import sys; print("%d.%d" % sys.version_info[:2])') +export PYTHONPATH=/opt/python$PYVER/site-packages/ CFLAGS="$SLKCFLAGS" \ CXXFLAGS="$SLKCFLAGS" \ @@ -82,14 +92,29 @@ meson --prefix=/usr \ --libexecdir=/usr/libexec \ --buildtype=release \ --mandir=/usr/man \ - -Dsystemd=false \ - -Dplugin_altos=false \ - -Dplugin_dell=false \ - -Dplugin_uefi="$ENABLE_UEFI" \ + -Db_lto=true \ + -Dbuild=all \ + -Dconsolekit=disabled \ + -Delogind=disabled \ + -Dfirmware-packager=true \ + -Dgcab:docs=false \ + -Dhsi=enabled \ + -Dlvfs=true \ + -Dman=true \ + -Dpassim=disabled \ + -Dplugin_amdgpu=disabled \ + -Dplugin_redfish=disabled \ + -Dplugin_uefi_capsule=$uefi_capsule \ + -Dsupported_build=enabled \ + -Dsystemd=disabled \ build -ninja -C build -DESTDIR=$PKG ninja -C build install +"${NINJA:=ninja}" -C build +DESTDIR=$PKG $NINJA -C build install + +# fix permissions on rules.d +chown polkitd:root $PKG/usr/share/polkit-1/rules.d +chmod 0700 $PKG/usr/share/polkit-1/rules.d find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true @@ -97,30 +122,32 @@ find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | gr find $PKG/usr/man -type f -exec gzip -9 {} \; for i in $( find $PKG/usr/man -type l ) ; do ln -s $( readlink $i ).gz $i.gz ; rm $i ; done -mv $PKG/etc/pki/fwupd/GPG-KEY-Hughski-Limited $PKG/etc/pki/fwupd/GPG-KEY-Hughski-Limited.new -mv $PKG/etc/pki/fwupd/GPG-KEY-Linux-Foundation-Firmware $PKG/etc/pki/fwupd/GPG-KEY-Linux-Foundation-Firmware.new -mv $PKG/etc/pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service $PKG/etc/pki/fwupd/GPG-KEY-Linux-Vendor-Firmware-Service.new -mv $PKG/etc/pki/fwupd/LVFS-CA.pem $PKG/etc/pki/fwupd/LVFS-CA.pem.new -mv $PKG/etc/pki/fwupd-metadata/GPG-KEY-Linux-Foundation-Metadata $PKG/etc/pki/fwupd-metadata/GPG-KEY-Linux-Foundation-Metadata.new -mv $PKG/etc/pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service $PKG/etc/pki/fwupd-metadata/GPG-KEY-Linux-Vendor-Firmware-Service.new -mv $PKG/etc/pki/fwupd-metadata/LVFS-CA.pem $PKG/etc/pki/fwupd-metadata/LVFS-CA.pem.new -mv $PKG/etc/fwupd/remotes.d/lvfs.conf $PKG/etc/fwupd/remotes.d/lvfs.conf.new +mv $PKG/usr/bin/{,fwupd-}dbxtool +mv $PKG/usr/man/man1/{,fwupd-}dbxtool.1.gz + +mv $PKG/etc/fwupd/fwupd.conf $PKG/etc/fwupd/fwupd.conf.new +mv $PKG/etc/fwupd/remotes.d/fwupd-tests.conf $PKG/etc/fwupd/remotes.d/fwupd-tests.conf.new mv $PKG/etc/fwupd/remotes.d/lvfs-testing.conf $PKG/etc/fwupd/remotes.d/lvfs-testing.conf.new -mv $PKG/etc/fwupd/remotes.d/vendor.conf $PKG/etc/fwupd/remotes.d/vendor.conf.new +mv $PKG/etc/fwupd/remotes.d/lvfs.conf $PKG/etc/fwupd/remotes.d/lvfs.conf.new mv $PKG/etc/fwupd/remotes.d/vendor-directory.conf $PKG/etc/fwupd/remotes.d/vendor-directory.conf.new -mv $PKG/etc/fwupd/remotes.d/fwupd-tests.conf $PKG/etc/fwupd/remotes.d/fwupd-tests.conf.new -mv $PKG/etc/fwupd/daemon.conf $PKG/etc/fwupd/daemon.conf.new -mv $PKG/etc/fwupd/redfish.conf $PKG/etc/fwupd/redfish.conf.new -mv $PKG/etc/fwupd/uefi.conf $PKG/etc/fwupd/uefi.conf.new +mv $PKG/etc/fwupd/remotes.d/vendor.conf $PKG/etc/fwupd/remotes.d/vendor.conf.new +mv $PKG/etc/grub.d/35_fwupd $PKG/etc/grub.d/35_fwupd.new rm -rf $PKG/usr/share/installed-tests mkdir -p $PKG/usr/share/dbus-1/system-services sed 's|@libexecdir@|/usr/libexec|' data/org.freedesktop.fwupd.service.in > $PKG/usr/share/dbus-1/system-services/org.freedesktop.fwupd.service -mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +mkdir -p $PKG/usr/doc + +# move meson installed docs +mv $PKG/usr/share/doc/fwupd $PKG/usr/doc/$PRGNAM-$VERSION +(cd $PKG/usr/doc/$PRGNAM-$VERSION && unlink libfwupd && unlink libfwupdplugin) +mv $PKG/usr/share/doc/* $PKG/usr/doc/$PRGNAM-$VERSION/ +rm -rf $PKG/usr/share/doc + cp -a \ - AUTHORS CODE_OF_CONDUCT.md COMMITMENT CONTRIBUTING.md COPYING MAINTAINERS README.md RELEASE \ + CODE_OF_CONDUCT.md COMMITMENT CONTRIBUTING.md COPYING MAINTAINERS README.md RELEASE SECURITY.md \ $PKG/usr/doc/$PRGNAM-$VERSION cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild @@ -129,4 +156,4 @@ cat $CWD/slack-desc > $PKG/install/slack-desc cat $CWD/doinst.sh > $PKG/install/doinst.sh cd $PKG -/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE |