]> git.wh0rd.org - home.git/blobdiff - .bin/custom-chroot
custom-chroot: add newer Gentoo paths
[home.git] / .bin / custom-chroot
index e76d525b53d319bfc6d635d2ca71a8af33aa129f..08d76ada03bfa4aedf7429ab16893cb924858bdd 100755 (executable)
@@ -36,19 +36,21 @@ maybe_mount() {
 
 get_type() {
        case $(file "$1") in
-       *x86-64*)         echo x86_64;;
-       *"Intel 80386"*)  echo i386;;
-       *32-bit*PowerPC*) echo ppc;;
-       *64-bit*PowerPC*) echo ppc64;;
-       *32-bit*S/390*)   echo s390;;
-       *64-bit*S/390*)   echo s390x;;
-       *64-bit*MIPS*)    echo mips64;;
-       *32-bit*MIPS*N32*)echo mips64;;
-       *32-bit*MIPS*)    echo mips;;
-       *32-bit*PA-RISC*) echo parisc;;
-       *64-bit*PA-RISC*) echo parisc64;;
-       *32-bit*SPARC*)   echo sparc;;
-       *64-bit*SPARC*)   echo sparc64;;
+       *x86-64*)             echo x86_64;;
+       *"Intel 80386"*)      echo i386;;
+       *32-bit*PowerPC*MSB*) echo ppc;;
+       *64-bit*PowerPC*MSB*) echo ppc64;;
+       *32-bit*PowerPC*LSB*) echo ppcle;;
+       *64-bit*PowerPC*LSB*) echo ppc64le;;
+       *32-bit*S/390*)       echo s390;;
+       *64-bit*S/390*)       echo s390x;;
+       *64-bit*MIPS*)        echo mips64;;
+       *32-bit*MIPS*N32*)    echo mips64;;
+       *32-bit*MIPS*)        echo mips;;
+       *32-bit*PA-RISC*)     echo parisc;;
+       *64-bit*PA-RISC*)     echo parisc64;;
+       *32-bit*SPARC*)       echo sparc;;
+       *64-bit*SPARC*)       echo sparc64;;
        esac
 }
 
@@ -113,7 +115,12 @@ usage() {
 main() {
        bootstrap "$@"
 
-       local mounts=( proc sys tmp dev dev/shm run usr/portage usr/portage/distfiles usr/local/src )
+       local mounts=(
+               proc sys tmp dev dev/shm run
+               usr/portage usr/portage/distfiles
+               var/db/repos/gentoo var/cache/distfiles
+               usr/local/src
+       )
 
        local chroot=${0%/*}
        case ${chroot} in
@@ -141,12 +148,14 @@ main() {
 
        local m
        for m in "${mounts[@]}" ; do
-               maybe_mount ${m}
+               maybe_mount "${m}"
        done
        # Handle special mounts that we don't want to just bind mount.
        if ! is_mounted "${chroot}/dev/pts" ; then
+               # Option order matters: on older kernels that don't recognize newinstance,
+               # parsing stops as soon as it hits that.
                mount -t devpts devpts "${chroot}/dev/pts" \
-                       -o nosuid,noexec,newinstance,ptmxmode=0666,mode=0620,gid=5
+                       -o nosuid,noexec,mode=0620,gid=5,ptmxmode=0666,newinstance
        fi
 
        init_chroot