aboutsummaryrefslogtreecommitdiff
path: root/srcpkgs/base-files/template
blob: d887d5c96205073f57d52655a244a2da0cd834f8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# Template file for 'base-files'
pkgname=base-files
version=0.141
revision=8
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/sysctl.d/10-void.conf
	/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"

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 etc/sysctl.d 10-void.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
}