13a7778f94
Disable the hostname management feature of NetworkManager. This isn't useful for the postmarketOS use case, where we set one hostname in /etc/hostname via pmbootstrap and want it to be used. (It makes more sense for normal PCs, which may just have the hostname 'localhost' at the end of the installation and then not be unique in the network.) NetworkManager is supposed to only change the hostname if it is set to localhost, however this detection does not work properly in postmarketOS. I've skimmed through sources of elogind, NetworkManager and OpenRC a bit and found that in OpenRC the definitive location to put the hostname is /etc/hostname. The other path, /etc/conf.d/hostname, is just a fallback. Experiments show that setting something in /etc/conf.d/hostname does prevent NM from setting a hostname offered by the DHCP server, but it's not clear to my why this happens. I suspect elogind + dbus. Disabling this feature we don't need anyway seems like a good approach to me without wasting too much time here.
133 lines
4.2 KiB
Text
133 lines
4.2 KiB
Text
# Maintainer: Clayton Craft <clayton@craftyguy.net>
|
|
pkgname=postmarketos-base-ui
|
|
pkgver=4
|
|
pkgrel=1
|
|
pkgdesc="Meta package for minimal postmarketOS UI base"
|
|
url="https://postmarketos.org"
|
|
arch="noarch"
|
|
license="GPL-3.0-or-later"
|
|
depends="
|
|
chrony
|
|
dbus
|
|
haveged
|
|
nftables
|
|
postmarketos-base
|
|
shadow
|
|
ttf-dejavu
|
|
util-linux
|
|
wpa_supplicant
|
|
wireless-regdb
|
|
"
|
|
subpackages="
|
|
$pkgname-elogind
|
|
$pkgname-tinydm
|
|
$pkgname-x11
|
|
$pkgname-pulseaudio
|
|
$pkgname-bluez-obexd:_obexd
|
|
$pkgname-networkmanager
|
|
"
|
|
install="$pkgname.post-install $pkgname.post-upgrade"
|
|
replaces="
|
|
chrony
|
|
wpa_supplicant-openrc
|
|
postmarketos-base
|
|
"
|
|
replaces_priority=100 # leave plenty for alpine
|
|
|
|
_source644="
|
|
etc/NetworkManager/conf.d/hostname-mode.conf
|
|
etc/chrony/chrony.conf
|
|
etc/conf.d/tinydm
|
|
etc/conf.d/wpa_supplicant
|
|
etc/elogind/logind.conf
|
|
etc/pulse/daemon.conf.d/90-postmarketos.conf
|
|
etc/pulse/postmarketos.pa
|
|
etc/skel/.profile
|
|
etc/sleep-inhibitor.conf
|
|
"
|
|
_source755="
|
|
etc/tinydm.d/env-wayland.d/50-firefox-wayland.sh
|
|
"
|
|
|
|
# Avoid filename based checksum conflicts by including the whole path.
|
|
flatpath() {
|
|
local i
|
|
for i in $@; do
|
|
echo "rootfs-$i" | sed s./.-.g
|
|
done
|
|
}
|
|
source="$(flatpath $_source644 $_source755)"
|
|
|
|
package() {
|
|
local i
|
|
for i in $_source644; do
|
|
install -Dm644 "$srcdir/$(flatpath "$i")" "$pkgdir/$i"
|
|
done
|
|
for i in $_source755; do
|
|
install -Dm755 "$srcdir/$(flatpath "$i")" "$pkgdir/$i"
|
|
done
|
|
}
|
|
|
|
x11() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel xorg-server"
|
|
depends="
|
|
libinput
|
|
xf86-input-libinput
|
|
xf86-video-fbdev"
|
|
provides="postmarketos-base-x11=$pkgver-r$pkgrel"
|
|
mkdir "$subpkgdir"
|
|
}
|
|
|
|
elogind() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel elogind"
|
|
depends="sleep-inhibitor"
|
|
install="$subpkgname.pre-upgrade $subpkgname.post-install"
|
|
replaces="
|
|
elogind
|
|
sleep-inhibitor
|
|
"
|
|
provides="postmarketos-base-elogind=$pkgver-r$pkgrel"
|
|
|
|
amove etc/elogind/logind.conf
|
|
amove etc/sleep-inhibitor.conf
|
|
}
|
|
|
|
tinydm() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel tinydm-openrc"
|
|
replaces="tinydm-openrc"
|
|
provides="postmarketos-base-tinydm=$pkgver-r$pkgrel"
|
|
amove etc/conf.d/tinydm
|
|
amove etc/tinydm.d/env-wayland.d/50-firefox-wayland.sh
|
|
}
|
|
|
|
pulseaudio() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel pulseaudio"
|
|
provides="postmarketos-base-pulseaudio=$pkgver-r$pkgrel"
|
|
amove etc/pulse/postmarketos.pa
|
|
amove etc/pulse/daemon.conf.d/90-postmarketos.conf
|
|
}
|
|
|
|
_obexd() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel bluez-obexd"
|
|
replaces="bluez-obexd"
|
|
depends="obex-capabilities"
|
|
mkdir -p "$subpkgdir"
|
|
}
|
|
|
|
networkmanager() {
|
|
install_if="$pkgname=$pkgver-r$pkgrel networkmanager"
|
|
amove etc/NetworkManager/conf.d/hostname-mode.conf
|
|
}
|
|
|
|
sha512sums="
|
|
3c9ae7415f4891bee8595166ed6a42cb577a837f741c6b5409d193558626348b41516888a01d0c4895282c5f4e9a1ff838c19712888750b2ef68429bb4b42ee3 rootfs-etc-NetworkManager-conf.d-hostname-mode.conf
|
|
e5d049db1d82c510bab9246208b51b8ec2711d008d67792fc10d4c0b65ed4dece7b5ae3c3dd28a8539d177b6849c1f921cb9fef3d2c7bee0355451f7b4757ec6 rootfs-etc-chrony-chrony.conf
|
|
44e4283c6f77de83915977dd3bc2d8e2d96b3ed6cc68d3cc156304359ae649b5a8b0bac843e517ec6faa2066dd43ba85e313899b1eda04862f864fb9eb508aa0 rootfs-etc-conf.d-tinydm
|
|
fe0651904c1f40ffa67d83daca190af199f63247e53642a59a1e1147cd06776fcf20b7b2fcc5373783d50b8bd6ce8d1354c8e5f4d582d319727b9ceefd1e8e16 rootfs-etc-conf.d-wpa_supplicant
|
|
8d2c54fe3ca62c62f8337fb6be28479d0e02ea63f32abae81907f2768631e65c9e17485f8bc0854a013377f729b06dd1873e2b75f86f657ece866d00aecbbdb4 rootfs-etc-elogind-logind.conf
|
|
4afe8c5b70f4ca85f9348eb0df12e3152b76203a1a138daa5777f22b751ea431d3ee4113189d8606078f87a99c230b184bc73d53222e6e00581e46224bf5d39f rootfs-etc-pulse-daemon.conf.d-90-postmarketos.conf
|
|
315598b67889b1f25f82b8269ed36af4fcee018a4edf2926ba966ab08e0a42e36676896d0a5636001b1eb7f16211dcf518123230049556dec9d03006e003a584 rootfs-etc-pulse-postmarketos.pa
|
|
90b30cbea660ef6cd4c0461b6935de0cd63a84a1a40edb24348a83044c97935b974bd8bafda9cd558e92d3eb69e22c5ccf55483b80f839e24f0eb57ae2df6fe3 rootfs-etc-skel-.profile
|
|
6b9c7bb73213187eb9ca8a94109b2b816f50c1158c90fec2e92b373864280d67741589e5bfbab8810945f031d2f4b535aad78a72e46e52ea50be5b85324da381 rootfs-etc-sleep-inhibitor.conf
|
|
d1ddd43489e6016e3ffd716027ed2bae4a2ab5f213118bdbcb96750e267ab7c0367cd0e0e386300aa5550352653144f5caeddd790621fe0879f83ca1995bb65c rootfs-etc-tinydm.d-env-wayland.d-50-firefox-wayland.sh
|
|
"
|