summaryrefslogtreecommitdiff
path: root/libre/filesystem/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/filesystem/PKGBUILD')
-rw-r--r--libre/filesystem/PKGBUILD165
1 files changed, 165 insertions, 0 deletions
diff --git a/libre/filesystem/PKGBUILD b/libre/filesystem/PKGBUILD
new file mode 100644
index 000000000..446d4e49d
--- /dev/null
+++ b/libre/filesystem/PKGBUILD
@@ -0,0 +1,165 @@
+# $Id: PKGBUILD 216487 2014-07-04 13:14:12Z dreisner $
+# Maintainer (Arch): Tom Gundersen <teg@jklm.no>
+# Maintainer: Nicolás Reynolds <fauno@kiwwwi.com.ar>
+# Maintainer: André Silva <emulatorman@parabola.nu>
+
+pkgname=filesystem
+pkgver=2014.07
+pkgrel=1.parabola1
+pkgdesc='Base filesystem (Parabola rebranded)'
+arch=('i686' 'x86_64' 'mips64el')
+license=('GPL')
+url='https://parabolagnulinux.org'
+groups=('base')
+install='filesystem.install'
+makedepends=('asciidoc')
+depends=('iana-etc')
+replaces=(${pkgname}-parabola)
+conflicts=(${pkgname}-parabola)
+backup=('etc/fstab' 'etc/crypttab' 'etc/group' 'etc/hosts' 'etc/ld.so.conf' 'etc/passwd'
+ 'etc/shadow' 'etc/gshadow' 'etc/resolv.conf' 'etc/motd' 'etc/nsswitch.conf'
+ 'etc/shells' 'etc/host.conf' 'etc/securetty' 'etc/profile' 'etc/issue')
+source=('group' 'issue' 'nsswitch.conf' 'securetty' 'host.conf' 'ld.so.conf'
+ 'passwd' 'shadow' 'fstab' 'crypttab' 'hosts' 'motd' 'os-release' 'resolv.conf'
+ 'shells' 'gshadow' 'profile' 'modprobe.d.usb-load-ehci-first' 'parabola.7.txt'
+ 'locale.sh')
+md5sums=('d46cb1adf8175888cc827a3dad8857d2'
+ '6be47d893fd49b2e4a8c0e811b350861'
+ '9e4533df61f0c82d6b2e2371f7376282'
+ '4c4540eeb748bf1f71d631b8c1dcf0b3'
+ 'f28150d4c0b22a017be51b9f7f9977ed'
+ '6e488ffecc8ba142c0cf7e2d7aeb832e'
+ 'a998d1e6c7cc5791a7f4a2b49b2d10ce'
+ '1ec1b16e2a71fad63ab8f147069a5d97'
+ '693c97f2c9a519bb97a17008e92c2b74'
+ '1745349eb24ed21b4cfaa6f423bddb76'
+ '7bc65f234dfb6abf24e7c3b03e86f4ff'
+ 'd41d8cd98f00b204e9800998ecf8427e'
+ '0e145e18fea8fd190b30d45764f5707c'
+ '6f48288b6fcaf0065fcb7b0e525413e0'
+ '22518e922891f9359f971f4f5b4e793c'
+ '09bce9236c3729d31aaa528bcf5d198e'
+ '0b6f835598c7640184e476057b3c7722'
+ 'a8a962370cd0128465d514e6a1f74130'
+ 'd5732ffdb3488e1383d4ea199343e767'
+ '4fab2b798deff348e04f05152111aae0')
+
+lint() {
+ # ensure that passwd is sync'd to shadow and group is sync'd to gshadow.
+ local r=0
+
+ local passwd shadow group gshadow
+
+ for f in passwd shadow group gshadow; do
+ mapfile -t "$f" < <(cut -d: -f1 "$f" | sort)
+ done
+
+ # we can cheat and do simple string comparison only because we can make some
+ # assumptions about the data in these files
+ if [[ ${passwd[*]} != "${shadow[*]}" ]]; then
+ error 'passwd is not in sync with shadow!'
+ r=1
+ fi
+
+ if [[ ${group[*]} != "${gshadow[*]}" ]]; then
+ error 'group is not in sync with gshadow!'
+ r=1
+ fi
+
+ return $r
+}
+
+build() {
+ cd ${srcdir}
+
+ lint
+
+ a2x -d manpage -f manpage parabola.7.txt
+}
+
+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
+ install -d -m555 -g ftp srv/ftp
+
+ # setup /etc
+ install -d etc/{ld.so.conf.d,skel,profile.d}
+ for f in fstab group host.conf hosts issue ld.so.conf motd nsswitch.conf passwd resolv.conf securetty shells profile; do
+ install -m644 ${srcdir}/${f} etc/
+ done
+ ln -s /proc/self/mounts etc/mtab
+ for f in gshadow shadow crypttab; do
+ install -m600 ${srcdir}/${f} etc/
+ done
+ touch etc/parabola-release
+ ln -sv parabola-release etc/arch-release
+ install -D -m644 ${srcdir}/modprobe.d.usb-load-ehci-first usr/lib/modprobe.d/usb-load-ehci-first.conf
+ install -m755 ${srcdir}/locale.sh etc/profile.d/locale.sh
+ install -Dm644 "$srcdir"/os-release "$pkgdir"/usr/lib/os-release
+
+ # setup /var
+ for d in cache/man local opt log/old lib/misc empty; do
+ install -d -m755 var/${d}
+ done
+ install -d -m1777 var/{tmp,spool/mail}
+ # allow setgid games to write scores
+ install -d -m775 -g games 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 src; do
+ install -d -m755 usr/${d}
+ done
+ for d in $(seq 8); do
+ install -d -m755 usr/share/man/man${d}
+ done
+
+ #
+ # add lib symlinks
+ #
+ ln -s usr/lib ${pkgdir}/lib
+ [[ ${CARCH} = "x86_64" ]] && (
+ ln -s usr/lib ${pkgdir}/lib64
+ ln -s lib ${pkgdir}/usr/lib64
+ )
+ [[ ${CARCH} = "mips64el" ]] && (
+ # For the N32 ABI.
+ ln -s usr/lib ${pkgdir}/lib32
+ ln -s lib ${pkgdir}/usr/lib32
+ )
+
+ #
+ # add bin symlinks
+ #
+ ln -s usr/bin ${pkgdir}/bin
+ ln -s usr/bin ${pkgdir}/sbin
+ ln -s bin ${pkgdir}/usr/sbin
+
+ #
+ # install parabola(7) manpage
+ #
+ install -D -m644 ${srcdir}/parabola.7 usr/share/man/man7/parabola.7
+
+ #
+ # 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
+}