-
Notifications
You must be signed in to change notification settings - Fork 411
fwupd without systemd, elogind or ConsoleKit
Yes! You, too, can build a sleek or minimal system(workstation, HTPC, server, NAS, ???) without the need for all of the functionality and complexity that systemd
/ elogind
or ConsoleKit
introduce and get your firmware updated.
In order for fwupd
to work, it must find an /etc/os-release
file. Most distributions contain this file after install. If yours, like mine, does not --- then simply create it and populate it with the following fields:
$ cat /etc/os-release
NAME=CRUX
VERSION="3.5"
ID=CRUX
VERSION_ID=3.5
VERSION_CODENAME=""
PLATFORM_ID="platform:C3.5"
PRETTY_NAME="CRUX Linux v3.5"
ANSI_COLOR=""
LOGO=
CPE_NAME="cpe:/o:crux:crux:3.5"
HOME_URL="https://crux.nu"
DOCUMENTATION_URL="https://crux.nu/Main/Documentation"
SUPPORT_URL="https://crux.nu/Main/Community"
BUG_REPORT_URL="https://crux.nu/Main/Bugs"
The following is a somewhat customized pkgbuild Bash script for the K.I.S.S. source-based distro known as CRUX(https://crux.nu/) which uses the Linux kernel. It should be a suitable starting point for just about any other distro or for just using at the CLI.
# Description: A simple daemon to allow session software to update firmware
# URL: https://github.com/fwupd/fwupd
# Maintainer:
# Packager: Chris Rainey, ckrzen at tuta dot io
# Depends on: valgrind libxmlb git libsoup vala help2man bash-completion tpm2-tss libsmbios libgusb gcab autoconf-archive
name=fwupd
version=1.3.7
release=1
source=(https://github.com/$name/$name/archive/$version.tar.gz)
build()
{
cd $name-$version
meson build \
-Dlibexecdir=/usr/lib/ \
-Dprefix=/usr/ \
-Ddocs=false \
-Dnls=false \
-Dgtkdoc=false \
-Dstemmer=true \
-Dvapi=false \
-Dconsolekit=false \
-Dsystemd=false \
-Dgcab:docs=false \
-Dgcab:vapi=false \
-Dgusb:docs=false \
-Dgusb:vapi=false
ninja -C build
DESTDIR=$PKG ninja -C build install
rm $PKG/usr/share/locale -rf
}
- libxmlb
# Description: A library to help create and query binary XML blobs
# URL: https://github.com/hughsie/libxmlb
# Maintainer:
# Packager: Chris Rainey, ckrzen at tuta dot io
# Depends on: glib snowball meson gobject-introspection
name=libxmlb
version=0.1.14
release=1
source=(https://github.com/hughsie/$name/archive/$version.tar.gz)
build()
{
cd $name-$version
meson build \
-Dlibexecdir=/usr/lib/ \
-Dprefix=/usr/ \
-Ddocs=false \
-Dnls=false \
-Dgtkdoc=false \
-Dstemmer=true \
-Dvapi=false \
-Dconsolekit=false \
-Dsystemd=false \
-Dgcab:docs=false \
-Dgcab:vapi=false \
-Dgusb:docs=false \
-Dgusb:vapi=false
ninja -C build
DESTDIR=$PKG ninja -C build install
}
Primary inspiration and source of encouragement: https://github.com/fwupd/fwupd/issues/1408