void-packages/srcpkgs/base-files/template
0x5c bcd4989430 base-files: add plugdev group
Plugdev is used by many packages' udev rules for pluggable devices.
Currently, some of those packages use the system_groups trigger to add it,
some forget to add it, and others patch it to "users" or "uaccess"
(which breaks the packages on systems that don't use logind).

By adding plugdev to the default groups, we get rid of those problems.
2022-04-07 00:41:25 +02:00

100 lines
2.8 KiB
Bash

# Template file for 'base-files'
pkgname=base-files
version=0.142
revision=12
bootstrap=yes
depends="xbps-triggers"
short_desc="Void Linux base system files"
maintainer="Enno Boland <orphan@voidlinux.org>"
license="Public Domain"
homepage="https://www.voidlinux.org"
conf_files="
/etc/inputrc
/etc/profile
/etc/hosts
/etc/host.conf
/etc/securetty
/etc/skel/.bash_profile
/etc/skel/.bash_logout
/etc/skel/.bashrc
/etc/skel/.inputrc
/etc/subuid
/etc/subgid
/etc/issue
/etc/passwd
/etc/group
/etc/fstab
/etc/crypttab
/etc/nsswitch.conf"
replaces="base-directories>=0"
# New system groups
system_groups="kvm:24 plugdev:26"
do_install() {
# Create bin and lib dirs and symlinks.
for d in bin lib; do
vmkdir "usr/${d}"
ln -snrf "${DESTDIR}/usr/${d}" "${DESTDIR}/${d}"
done
# Symlink sbin paths to /usr/bin.
for d in sbin usr/sbin; do
ln -snrf "${DESTDIR}/usr/bin" "${DESTDIR}/${d}"
done
# Symlink word-specific lib paths to /usr/lib.
for d in lib usr/lib; do
ln -snrf "${DESTDIR}/usr/lib" \
"${DESTDIR}/${d}${XBPS_TARGET_WORDSIZE}"
done
# Populate 32-bit lib files on 64-bit systems, for multilib.
if [ "${XBPS_TARGET_WORDSIZE}" = "64" ]; then
vmkdir usr/lib32
ln -snrf "${DESTDIR}/usr/lib32" "${DESTDIR}/lib32"
ln -sf ../lib/locale "${DESTDIR}/usr/lib32/locale"
vinstall "${FILESDIR}/ld.so.lib32.conf" 644 etc/ld.so.conf.d lib32.conf
fi
# Install misc config files.
for f in bash_logout bash_profile bashrc inputrc; do
vinstall ${FILESDIR}/dot_${f} 644 etc/skel .${f}
done
vinstall ${FILESDIR}/securetty 600 etc
for f in profile hosts host.conf issue subuid subgid \
inputrc fstab passwd group crypttab nsswitch.conf; do
vinstall ${FILESDIR}/${f} 644 etc
done
vmkdir etc/colors
vmkdir etc/profile.d
install -m644 ${FILESDIR}/*.sh ${DESTDIR}/etc/profile.d
install -m644 ${FILESDIR}/DIR_COLORS* ${DESTDIR}/etc/colors
# modprobe(8) files
vinstall ${FILESDIR}/usb-load-ehci-first 644 usr/lib/modprobe.d usb-load-ehci-first.conf
vinstall ${FILESDIR}/blacklist.conf 644 usr/lib/modprobe.d
# sysctl(8) files
vinstall ${FILESDIR}/sysctl.conf 644 usr/lib/sysctl.d 10-void.conf
vinstall ${FILESDIR}/sysctl-user.conf 644 usr/lib/sysctl.d 10-void-user.conf
vinstall ${FILESDIR}/bpf.conf 644 usr/lib/sysctl.d 20-bpf.conf
# Install common licenses, from Debian.
vmkdir usr/share/licenses
install -m644 ${FILESDIR}/licenses/* ${DESTDIR}/usr/share/licenses
# vkpurge
vbin ${FILESDIR}/vkpurge
vman ${FILESDIR}/vkpurge.8
vbin ${FILESDIR}/lsb_release
# Install default dracut configuration.
vinstall ${FILESDIR}/dracut.conf.d.voidlinux.conf 644 \
usr/lib/dracut/dracut.conf.d 00-void.conf
# Create /proc/self/mounts -> /etc/mtab symlink.
ln -sf /proc/self/mounts ${DESTDIR}/etc/mtab
# udev rules
vmkdir usr/lib/udev/rules.d
install -m644 ${FILESDIR}/*.rules ${DESTDIR}/usr/lib/udev/rules.d
}