Skip to content
Snippets Groups Projects
PKGBUILD 3.97 KiB
Newer Older
  • Learn to ignore specific revisions
  • # Maintainer: Sébastien Luttringer
    # Contributor: Tom Gundersen <teg@jklm.no>
    
    
    pkgname=filesystem
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
    pkgver=2018.12
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
    pkgdesc='Base Arch Linux files'
    
    arch=('x86_64')
    
    license=('GPL')
    
    url='https://www.archlinux.org'
    
    groups=('base')
    
    depends=('iana-etc')
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
    backup=('etc/crypttab' 'etc/fstab' 'etc/group' 'etc/gshadow' 'etc/host.conf'
            'etc/hosts' 'etc/issue' 'etc/ld.so.conf' 'etc/motd' 'etc/nsswitch.conf'
            'etc/passwd' 'etc/profile' 'etc/resolv.conf' 'etc/securetty'
            'etc/shadow' 'etc/shells')
    
    source=('crypttab' 'env-generator' 'fstab' 'group' 'gshadow' 'host.conf' 'hosts'
            'issue' 'ld.so.conf' 'locale.sh' 'motd' 'nsswitch.conf' 'os-release'
    
            'passwd' 'profile' 'resolv.conf' 'securetty' 'shadow' 'shells' 'sysctl'
    
            'sysusers' 'tmpfiles')
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
    md5sums=('5fa6674df7645d7f5895f2d12b4ef4e9'
             '2b0344e9639f35f3c0d5637a23556089'
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
             'e33f6dfdd61978fcb3ddf1431286e05a'
    
             '7fed1e1fb855e41a6d64d41f8521d69a'
             '1c1e3b08acfa286f4b417c49de3e4366'
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
             '7d119a9cce152aa182fb3392ddeecea7'
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
             'a1315ea3e2b64d197b6efaf9c14ff778'
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
             '7813c481156f6b280a3ba91fc6236368'
             '5deb9f890a4d08a245e9752ede77271e'
    
             '580cf8b59eebfaac4fad373ffadc9912'
    
             'd41d8cd98f00b204e9800998ecf8427e'
    
             '981ee4d7e506a9d6d9ed2d872e16004b'
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
             '7a757558b8040f25eff32ec3b01e7b1f'
    
             '5182ac38a0de85da8ade93ef71975ca4'
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
             '2c79e1762978235e7b4a9ef595f6c029'
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
             '0ee015fad07732676d9488ae498eed41'
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
             'f04bcb2803afc4dcb95670fe87343b4d'
    
             'f64466dd77c7bec37a8b47681468211a'
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
             'a78cd8d7f8240a8448edee82f503c34e'
    
             'a51847c012555c843dbdf8df0da171d3'
    
             'af7832eabaac9804c22f1f2b53816a49'
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
             '0267a3a463f35eec8a31f40a720dfd86')
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
      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
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
      # ftp (uid 14/gid 11)
      install -d -m555 -g 11 srv/ftp
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
    
      # 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 motd nsswitch.conf \
      passwd resolv.conf securetty shells profile; do
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
        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/
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
      done
      touch etc/arch-release
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
      install -m644 "$srcdir"/locale.sh etc/profile.d/locale.sh
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
      install -Dm644 "$srcdir"/os-release usr/lib/os-release
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
    
      # 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}
    
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
      # allow setgid games (gid 50) to write scores
      install -d -m775 -g 50 var/games
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
      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 {1..8}; do
        install -d -m755 usr/share/man/man$d
      done
    
      # add lib symlinks
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
      ln -s usr/lib lib
    
      [[ $CARCH = 'x86_64' ]] && {
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
        ln -s usr/lib lib64
        ln -s lib usr/lib64
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
    
      # add bin symlinks
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
      ln -s usr/bin bin
      ln -s usr/bin sbin
      ln -s bin usr/sbin
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
    
      # 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 systemd-sysctl
      install -D -m644 "$srcdir"/sysctl usr/lib/sysctl.d/10-arch.conf
    
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
      # setup systemd-sysusers
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
      install -D -m644 "$srcdir"/sysusers usr/lib/sysusers.d/arch.conf
    
    
      # setup systemd-tmpfiles
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
      install -D -m644 "$srcdir"/tmpfiles usr/lib/tmpfiles.d/arch.conf
    
      # setup systemd.environment-generator
      install -D -m755 "$srcdir"/env-generator usr/lib/systemd/system-environment-generators/10-arch
    
    Sébastien Luttringer's avatar
    Sébastien Luttringer committed
    
    # vim:set ts=2 sw=2 et: