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
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
|
# Maintainer: David P. <megver83@parabola.nu>
# Maintainer (arch): Sébastien Luttringer
# Contributor: Tom Gundersen <teg@jklm.no>
# Contributor: Omar Vega Ramos <ovruni@gnu.org.pe>
# Contributor: Nicolás Reynolds <fauno@kiwwwi.com.ar>
# Contributor: bill-auger <bill-auger@programmer.net>
# parabola changes and rationale:
# - parabola branding (os-release,motd,icon,logo)
# - systemd-specific 'env-generator' is not used for nonsystemd
pkgname=filesystem
pkgver=2021.12.07
pkgrel=1
pkgrel+=.parabola1
pkgrel+=.nonsystemd1
pkgdesc='Base Parabola GNU/Linux-libre files'
arch=('x86_64')
arch+=('armv7h' 'i686' 'ppc64le')
license=('GPL')
url='https://www.parabola.nu'
depends=('iana-etc')
backup=('etc/crypttab' 'etc/fstab' 'etc/group' 'etc/gshadow' 'etc/host.conf'
'etc/hosts' 'etc/issue' 'etc/ld.so.conf' 'etc/nsswitch.conf'
'etc/passwd' 'etc/profile' 'etc/resolv.conf' 'etc/securetty'
'etc/shadow' 'etc/shells')
backup+=('etc/motd')
source=('crypttab' 'env-generator' 'fstab' 'group' 'gshadow' 'host.conf' 'hosts'
'issue' 'ld.so.conf' 'locale.sh' 'nsswitch.conf' 'os-release'
'passwd' 'profile' 'resolv.conf' 'securetty' 'shadow' 'shells' 'sysctl'
'sysusers' 'tmpfiles' 'archlinux-logo.svg' 'archlinux-logo.png'
'archlinux-logo-text.svg' 'archlinux-logo-text-dark.svg')
source=( ${source[*]/env-generator/} )
source=( ${source[*]//archlinux-logo/parabola-logo} )
source+=('motd')
sha256sums=('e03bede3d258d680548696623d5979c6edf03272e801a813c81ba5a5c64f4f82'
# (env-generator is not used for nonsystemd)
'e54626e74ed8fee4173b62a545ab1c3a3a069e4217a0ee8fc398d9933e9c1696'
'244f0718ee2a9d6862ae59d6c18c1dd1568651eada91a704574fa527fbac2b3a'
'90d879374f77bac47f132164c1e7fc4892e994ff1d1ac376efa0c1c26ea37273'
'4d7b647169063dfedbff5e1e22cee77bd1a4183dbcfd5e802e68939da4bbf733'
'd9cd8a77d9e0aa5e90d7f4ed74c8745c17b525e720e28e4c44364150003c35f9'
'8b8f24af3454e87b4e316b4978d0de7958a98cc44606aa801d9696d2c21f4385' # issue
'dad04a370e488aa85fb0a813a5c83cf6fd981ce01883fc59685447b092de84b5'
'8ca2d8eef6fb5143c9ef7e9174ccfef59ac7ad2deee243574cd10c763156cc10'
'aa4dc5b2374fb32863e3bc1ce20a2de2d34fe4eed1cd63c599bc82fab21463cc' # nsswitch.conf
'af2eee47719566740b750f0806e897a8439656df4a7476bb6e71465fd075b45d' # os-release
'5e06477834f51abf42ea4e8dc199632afc6afbfd8c44354685a271e9a48d2c0a'
'5e4088ad8d0853d390fa303f6be8c3f69c33834200cba9e90f7849f1993ca8d0'
'5557d8e601b17a80d1ea7de78a9869be69637cb6a02fbfe334e22fdf64e61d4c'
'd88be2b45b43605ff31dd83d6a138069b6c2e92bc8989b7b9ab9eba8da5f8c7b'
'6e13705ac4d6f69cdba118c6b70c722346fd3c45224133e6bbfe28aca719563c'
'c390b31fffc4a2b5d78ae8c89f5317aadef1f71baac09cfb467b675db1406d61'
'89e43a0b7028f52d5c8e7fb961d962c4b4f4e9595880a6157274ddb2c7c0b6b4'
'04dd4cbe5078f5181176ade3a82f333e3f48091b118360d69cc45a3526503818' # sysusers
'f17efd1c6480c5db1fdab4a0e3cfcd4baa44a3e1ae1210aebeb40f8d5c82f742'
'd5f0a4f75761afd5ebbc6970ac9aba5be3c28bb660adf7118353a0e018911e68' # parabola-logo.svg
'c6486f4c9456fa62a75727adfcc8f2403a1a9fac29386f942c0678c109cc72e8' # parabola-logo.png
'09838fea00c5ceff6e7ed28bb1b6d62feb1e2471df9fe5a4328071ecb9e837f3' # parabola-logo-text.svg
'bc9be3442fab17ac6990814db4c0cc76c2ac6112c70a6c103530f607aa54c11e') # parabola-logo-text-dark.svg
sha256sums+=('0018e0387155ee65472f71f0003fcbcb863355d12442150922e7156da12cabad') # motd
prepare() {
# inject OS variant information into os-release
local init='OpenRC'
sed -i "s|@VARIANT@|${CARCH} ${init} Edition|" "${srcdir}"/os-release
sed -i "s|@VARIANT_ID@|${CARCH}-${init,,}|" "${srcdir}"/os-release
}
package() {
cd "$pkgdir"
# setup root filesystem
for d in boot dev etc home mnt usr var opt srv/http run; do
install -d -m755 $d
done
install -d -m555 proc
install -d -m555 sys
install -d -m0750 root
install -d -m1777 tmp
# vsftpd won't run with write perms on /srv/ftp
# ftp (uid 14/gid 11)
install -d -m555 -g 11 srv/ftp
# setup /etc and /usr/share/factory/etc
install -d etc/{ld.so.conf.d,skel,profile.d} usr/share/factory/etc
for f in fstab group host.conf hosts issue ld.so.conf nsswitch.conf \
passwd resolv.conf securetty shells profile; do
install -m644 "$srcdir"/$f etc/
install -m644 "$srcdir"/$f usr/share/factory/etc/
done
ln -s ../proc/self/mounts etc/mtab
for f in gshadow shadow crypttab; do
install -m600 "$srcdir"/$f etc/
install -m600 "$srcdir"/$f usr/share/factory/etc/
done
touch etc/arch-release
touch etc/parabola-release
install -m644 "$srcdir"/motd etc/
install -m644 "$srcdir"/locale.sh etc/profile.d/locale.sh
install -Dm644 "$srcdir"/os-release usr/lib/os-release
# setup /var
for d in cache local opt log/old lib/misc empty; do
install -d -m755 var/$d
done
install -d -m1777 var/{tmp,spool/mail}
# allow setgid games (gid 50) to write scores
install -d -m775 -g 50 var/games
ln -s spool/mail var/mail
ln -s ../run var/run
ln -s ../run/lock var/lock
# setup /usr hierarchy
for d in bin include lib share/{misc,pixmaps} src; do
install -d -m755 usr/$d
done
for d in {1..8}; do
install -d -m755 usr/share/man/man$d
done
# add lib symlinks
ln -s usr/lib lib
[[ $CARCH = 'ppc64le' ]] || \
[[ $CARCH = 'x86_64' ]] && {
ln -s usr/lib lib64
ln -s lib usr/lib64
}
# add bin symlinks
ln -s usr/bin bin
ln -s usr/bin sbin
ln -s bin usr/sbin
# setup /usr/local hierarchy
for d in bin etc games include lib man sbin share src; do
install -d -m755 usr/local/$d
done
ln -s ../man usr/local/share/man
# setup sysctl
install -D -m644 "$srcdir"/sysctl usr/lib/sysctl.d/10-arch.conf
# setup sysusers
install -D -m644 "$srcdir"/sysusers usr/lib/sysusers.d/arch.conf
# setup tmpfiles
install -D -m644 "$srcdir"/tmpfiles usr/lib/tmpfiles.d/arch.conf
# setup systemd.environment-generator
# (env-generator is not used for nonsystemd)
# add logo
install -D -m644 "$srcdir"/parabola-logo{.png,.svg,-text.svg,-text-dark.svg} usr/share/pixmaps
}
|