summaryrefslogtreecommitdiffstats
path: root/system/fwupd/fwupd.SlackBuild
diff options
context:
space:
mode:
Diffstat (limited to 'system/fwupd/fwupd.SlackBuild')
-rw-r--r--system/fwupd/fwupd.SlackBuild95
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