summaryrefslogtreecommitdiffstats
path: root/templates/enter_dev_chroot.sh
diff options
context:
space:
mode:
Diffstat (limited to 'templates/enter_dev_chroot.sh')
-rw-r--r--templates/enter_dev_chroot.sh178
1 files changed, 178 insertions, 0 deletions
diff --git a/templates/enter_dev_chroot.sh b/templates/enter_dev_chroot.sh
new file mode 100644
index 0000000..8f5eb40
--- /dev/null
+++ b/templates/enter_dev_chroot.sh
@@ -0,0 +1,178 @@
+#!/bin/bash
+MYDIR=`pwd`
+BROOT=$MYDIR/build_root.REPLACEME
+MIRROR_DIR=$MYDIR/pkg_repo
+TOOLS_DIR='LinHES-dev'
+ARCH=REPLACEME
+
+
+
+# Make sure only root can run our script
+if [[ $EUID -ne 0 ]]; then
+ echo "This script must be run as root" 1>&2
+ exit 1
+fi
+
+
+
+if [ ! -d $BROOT ]
+then
+ echo "build_root directory not found"
+ exit 1
+fi
+
+
+
+if [ -d LinHES-PKGBUILD ]
+ then
+ echo "Found LinHES-PKGBUILD"
+ else
+ echo "***********************************************************************************************"
+ echo "* Couldn't find LinHES-PKGBUILD *"
+ echo "* Please checkout the repository into the current directory *"
+ echo "* The LinHES-PKGBUILD git repoistory is at knoppmyth.net/mount/repository/LinHES-PKGBUILD.git *"
+ echo "***********************************************************************************************"
+ exit 1
+ fi
+
+mounted=`mount`
+umountlist=" "
+
+
+
+echo $mounted | grep -q $BROOT/proc
+status=$?
+if [ ! status = 0 ]
+then
+ mount -t proc proc $BROOT/proc
+ umountlist="$umountlist proc"
+else
+ echo "proc alredy mounted"
+fi
+
+
+
+
+echo $mounted | grep -q $BROOT/sys
+status=$?
+if [ ! $status = 0 ]
+then
+ mount -t sysfs sysfs $BROOT/sys
+ umountlist="$umountlist sys"
+else
+ echo "sys alredy mounted"
+fi
+
+[ -e $BROOT/dev/random ] || mknod $BROOT/dev/random c 1 8
+[ -e $BROOT/dev/urandom ] || mknod $BROOT/dev/urandom c 1 9
+[ -e $BROOT/dev/tty ] || mknod $BROOT/dev/tty c 5 0
+
+
+
+
+echo $mounted | grep -q $BROOT/dev/pts
+status=$?
+if [ ! $status = 0 ]
+then
+ [ -e $BROOT/dev/pts ] || mkdir -p $BROOT/dev/pts
+ mount -t devpts devpts $BROOT/dev/pts
+ umountlist="$umountlist dev/pts"
+else
+ echo "/dev/pts alredy mounted"
+fi
+
+
+
+#create dir for build_tools
+if [ ! -e $BROOT/build_tools ]
+then
+ mkdir $BROOT/build_tools
+fi
+#mount build_tools
+echo $mounted | grep -q $BROOT/build_tools
+status=$?
+if [ ! $status = 0 ]
+then
+ mount --bind $MYDIR/$TOOLS_DIR/build_tools $BROOT/build_tools
+ umountlist="$umountlist build_tools"
+else
+ echo "/build_tools alredy mounted"
+fi
+
+
+#create dir for the PKGBUILDS
+if [ ! -e $BROOT/data/LinHES-PKGBUILD ]
+then
+ mkdir -p $BROOT/data/LinHES-PKGBUILD
+fi
+
+#mount pkg_repo
+echo $mounted | grep -q $BROOT/data/LinHES-PKGBUILD
+status=$?
+if [ ! $status = 0 ]
+then
+ mount --bind $MYDIR/LinHES-PKGBUILD $BROOT/data/LinHES-PKGBUILD
+ umountlist="$umountlist data/LinHES-PKGBUILD"
+else
+ echo "pkg_repo alredy mounted"
+fi
+
+
+
+#create dir for pkg_repo / local mirror
+if [ ! -e $BROOT/data/pkg_repo ]
+then
+ mkdir -p $BROOT/data/pkg_repo
+fi
+
+#mount pkg_repo
+echo $mounted | grep -q $BROOT/data/pkg_repo
+status=$?
+if [ ! $status = 0 ]
+then
+ mount --bind $MYDIR/pkg_repo $BROOT/data/pkg_repo
+ umountlist="$umountlist data/pkg_repo"
+else
+ echo "pkg_repo alredy mounted"
+fi
+
+
+
+
+
+
+
+
+#copy in some files
+[ -e $BROOT/etc/resolv.conf ] || cp -f /etc/resolv.conf $BROOT/etc/resolv.conf
+
+if [ ! -f $BROOT/etc/bashrc ]
+then
+ cp -f $MYDIR/$TOOLS_DIR/templates/etc/bashrc $BROOT/etc/
+ cp -f $MYDIR/$TOOLS_DIR/templates/etc/kmdev.sh $BROOT/etc/profile.d/kmdev.sh
+ cp -f $MYDIR/$TOOLS_DIR/templates/etc/.bashrc $BROOT/root/
+ cp -f $MYDIR/$TOOLS_DIR/templates/etc/.bash_profile $BROOT/root/
+ chmod 755 $BROOT/root/.bashrc
+ chmod 755 $BROOT/root/.bash_profile
+ chmod 755 $BROOT/etc/profile.d/kmdev.sh
+fi
+
+
+#change the "xterm" title so we know it's a chroot
+echo -e "\e]0;chroot-pkgbuild\a"
+#used for Konsole
+echo -e "\e]30;chroot-pkgbuild\a"
+env -i /usr/sbin/chroot $BROOT /bin/bash --login
+
+
+
+for i in $umountlist
+do
+ #echo "unmounting $BROOT/$i"
+ umount $BROOT/$i
+done
+
+
+echo -e "\e]30;normal\a"
+echo -e "\e]0;normal\a"
+