[Emdebian-logs] [polystrap] 01/03: add proot support

Johannes Schauer josch-guest at moszumanska.debian.org
Thu Jun 26 12:10:04 UTC 2014


This is an automated email from the git hooks/post-receive script.

josch-guest pushed a commit to branch master
in repository polystrap.

commit acfcacd78bc5cca4a2cf02495659fc9d70dc5835
Author: josch <j.schauer at email.de>
Date:   Sat Jun 21 15:18:34 2014 +0200

    add proot support
---
 TODO                                               |  1 +
 default/hooks/firstboot                            |  4 +-
 default/multistrap.conf                            |  1 -
 goldel-gta04/multistrap.conf                       |  1 -
 goldel-gta04/root/etc/X11/xorg.conf                |  3 +-
 goldel-gta04/root/etc/X11/xorg.conf.d/s3c2410.conf |  7 ++-
 kirkwood/multistrap.conf                           |  1 -
 notioninkadam/multistrap.conf                      |  1 -
 om-gta02/multistrap.conf                           |  1 -
 polystrap.sh                                       | 53 ++++++++++++----------
 touchbook/multistrap.conf                          |  1 -
 11 files changed, 35 insertions(+), 39 deletions(-)

diff --git a/TODO b/TODO
index ff64638..828d935 100644
--- a/TODO
+++ b/TODO
@@ -4,3 +4,4 @@
  * if gconf2 is to be installed bug #636083
  * have libfakeroot-sysv.so not in the libfakeroot subdirectory (no idea why
    the linker doesnt find it otherwise - it works for fakechroot.so in subdir)
+ * initrd cannot be created
diff --git a/default/hooks/firstboot b/default/hooks/firstboot
index 7f1119e..ca784d1 100644
--- a/default/hooks/firstboot
+++ b/default/hooks/firstboot
@@ -8,6 +8,8 @@ cat > $ROOTDIR/etc/init.d/firstboot << __END__
 # Default-Stop:
 ### END INIT INFO
 
+update-rc.d -f firstboot remove
+
 for f in rsa dsa ecdsa; do rm -rf /etc/ssh/ssh_host_\${f}_key; done
 echo "generating ssh rsa key..."
 ssh-keygen -q -t rsa -f /etc/ssh/ssh_host_rsa_key -C "" -N ""
@@ -15,8 +17,6 @@ echo "generating ssh dsa key..."
 ssh-keygen -q -t dsa -f /etc/ssh/ssh_host_dsa_key -C "" -N ""
 echo "generating ssh ecdsa key..."
 ssh-keygen -q -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key -C "" -N ""
-
-update-rc.d -f firstboot remove
 __END__
 
 chmod +x $ROOTDIR/etc/init.d/firstboot
diff --git a/default/multistrap.conf b/default/multistrap.conf
index e914a7b..f257743 100644
--- a/default/multistrap.conf
+++ b/default/multistrap.conf
@@ -3,7 +3,6 @@ arch=$ARCH
 directory=$ROOTDIR
 cleanup=true
 unpack=true
-noauth=true
 bootstrap=Debian_bootstrap
 aptsources=Debian
 allowrecommends=false
diff --git a/goldel-gta04/multistrap.conf b/goldel-gta04/multistrap.conf
index e914a7b..f257743 100644
--- a/goldel-gta04/multistrap.conf
+++ b/goldel-gta04/multistrap.conf
@@ -3,7 +3,6 @@ arch=$ARCH
 directory=$ROOTDIR
 cleanup=true
 unpack=true
-noauth=true
 bootstrap=Debian_bootstrap
 aptsources=Debian
 allowrecommends=false
diff --git a/goldel-gta04/root/etc/X11/xorg.conf b/goldel-gta04/root/etc/X11/xorg.conf
index 6506fca..9e5d69a 100644
--- a/goldel-gta04/root/etc/X11/xorg.conf
+++ b/goldel-gta04/root/etc/X11/xorg.conf
@@ -1,5 +1,4 @@
 Section "Device"
 	Identifier "Builtin Default fbdev Device 0"
-	Driver "omapfb"
-	Option "fb" "/dev/fb0"
+	Driver "fbdev"
 EndSection
diff --git a/goldel-gta04/root/etc/X11/xorg.conf.d/s3c2410.conf b/goldel-gta04/root/etc/X11/xorg.conf.d/s3c2410.conf
index e022f5b..8a9d085 100644
--- a/goldel-gta04/root/etc/X11/xorg.conf.d/s3c2410.conf
+++ b/goldel-gta04/root/etc/X11/xorg.conf.d/s3c2410.conf
@@ -1,6 +1,5 @@
 Section "InputClass"
-        Identifier "S3C24XX TouchScreen"
-        MatchProduct "S3C24XX TouchScreen"
-        Option "Calibration" "110 922 924 96"
-        Option "SwapAxes" "1"
+        Identifier      "calibration"
+        MatchProduct    "TSC2007 Touchscreen"
+        Option  "Calibration"   "339 3524 3798 225"
 EndSection
diff --git a/kirkwood/multistrap.conf b/kirkwood/multistrap.conf
index e914a7b..f257743 100644
--- a/kirkwood/multistrap.conf
+++ b/kirkwood/multistrap.conf
@@ -3,7 +3,6 @@ arch=$ARCH
 directory=$ROOTDIR
 cleanup=true
 unpack=true
-noauth=true
 bootstrap=Debian_bootstrap
 aptsources=Debian
 allowrecommends=false
diff --git a/notioninkadam/multistrap.conf b/notioninkadam/multistrap.conf
index fd42c53..c4663cc 100644
--- a/notioninkadam/multistrap.conf
+++ b/notioninkadam/multistrap.conf
@@ -3,7 +3,6 @@ arch=$ARCH
 directory=$ROOTDIR
 cleanup=true
 unpack=true
-noauth=true
 bootstrap=Debian_bootstrap
 aptsources=Debian_apt
 allowrecommends=false
diff --git a/om-gta02/multistrap.conf b/om-gta02/multistrap.conf
index 015c657..1dc9304 100644
--- a/om-gta02/multistrap.conf
+++ b/om-gta02/multistrap.conf
@@ -3,7 +3,6 @@ arch=$ARCH
 directory=$ROOTDIR
 cleanup=true
 unpack=true
-noauth=true
 bootstrap=Debian_bootstrap Debian_pkgfso
 aptsources=Debian
 allowrecommends=false
diff --git a/polystrap.sh b/polystrap.sh
index 2f1f091..9c68724 100755
--- a/polystrap.sh
+++ b/polystrap.sh
@@ -1,7 +1,7 @@
 #!/bin/sh
 #
-# polystrap - create a foreign architecture rootfs using multistrap, fakeroot,
-#             fakechroot and qemu usermode emulation
+# polystrap - create a foreign architecture rootfs using multistrap, proot,
+#             and qemu usermode emulation
 #
 # Copyright (C) 2011 by Johannes 'josch' Schauer <j.schauer at email.de>
 #
@@ -27,14 +27,17 @@ usage() {
 	echo "Usage: $0: [-f] [-v] [-n] [-s suite] [-a arch] [-d directory] [-m mirror] [-p packages] platform\n" >&2
 }
 
+CHROOTQEMUCMD="proot -q qemu-arm -v -1 -0 -b /dev -b /sys -b /proc"
+CHROOTCMD="proot -v -1 -0"
+
 export DEBIAN_FRONTEND=noninteractive DEBCONF_NONINTERACTIVE_SEEN=true LC_ALL=C LANGUAGE=C LANG=C
 export PATH=$PATH:/usr/sbin:/sbin
 
-if [ "$FAKEROOTKEY" = "" ]; then
-	echo "I: re-executing script inside fakeroot"
-	fakeroot "$0" "$@";
-	exit
-fi
+#if [ "$FAKEROOTKEY" = "" ]; then
+#	echo "I: re-executing script inside fakeroot"
+#	fakeroot "$0" "$@";
+#	exit
+#fi
 
 FORCE=""
 MSTRAP_SIM=
@@ -87,7 +90,7 @@ else
 fi
 
 export QEMU_LD_PREFIX="`readlink -m "$ROOTDIR"`"
-export FAKECHROOT_CMD_SUBST=/usr/bin/ldd=/usr/bin/ldd.fakechroot:/sbin/ldconfig=/bin/true
+#export FAKECHROOT_CMD_SUBST=/usr/bin/ldd=/usr/bin/ldd.fakechroot:/sbin/ldconfig=/bin/true
 
 echo "I: --------------------------"
 echo "I: suite:   $SUITE"
@@ -119,20 +122,20 @@ done < $BOARD/multistrap.conf
 
 # download and extract packages
 echo "I: run multistrap" >&2
-multistrap $MSTRAP_SIM -f "$MULTISTRAPCONF"
+proot -0 multistrap $MSTRAP_SIM -f "$MULTISTRAPCONF"
 [ -z "$MSTRAP_SIM" ] || exit 0
 
 rm -f "$MULTISTRAPCONF"
 
-# convert absolute symlinks for fakechroot
-for link in `find $ROOTDIR -type l`; do
-        target=`readlink $link`
-        if [ "${target%%/*}" = "" ]; then # target begins with slash
-		echo "I: convert symlink: ${link#$ROOTDIR} -> $target"
-		rm $link
-                ln -s ${ROOTDIR}$target $link
-        fi
-done
+## convert absolute symlinks for fakechroot
+#for link in `find $ROOTDIR -type l`; do
+#        target=`readlink $link`
+#        if [ "${target%%/*}" = "" ]; then # target begins with slash
+#		echo "I: convert symlink: ${link#$ROOTDIR} -> $target"
+#		rm $link
+#                ln -s ${ROOTDIR}$target $link
+#        fi
+#done
 
 # copy initial directory tree - dereference symlinks
 echo "I: copy initial directory root tree $BOARD/root/ to $ROOTDIR/"
@@ -144,7 +147,7 @@ fi
 echo "I: preseed debconf"
 if [ -r "$BOARD/debconfseed.txt" ]; then
 	cp "$BOARD/debconfseed.txt" $ROOTDIR/tmp/
-	fakechroot chroot $ROOTDIR debconf-set-selections /tmp/debconfseed.txt
+	$CHROOTQEMUCMD $ROOTDIR debconf-set-selections /tmp/debconfseed.txt
 	rm $ROOTDIR/tmp/debconfseed.txt
 fi
 
@@ -154,12 +157,12 @@ for script in $ROOTDIR/var/lib/dpkg/info/*.preinst; do
 	echo "I: run preinst script ${script##$ROOTDIR}"
 	DPKG_MAINTSCRIPT_NAME=preinst \
 	DPKG_MAINTSCRIPT_PACKAGE="`basename $script .preinst`" \
-	fakechroot chroot $ROOTDIR ${script##$ROOTDIR} install
+	$CHROOTQEMUCMD $ROOTDIR ${script##$ROOTDIR} install
 done
 
 # run dpkg --configure -a twice because of errors during the first run
 echo "I: configure packages"
-fakechroot chroot $ROOTDIR /usr/bin/dpkg --configure -a || fakechroot chroot $ROOTDIR /usr/bin/dpkg --configure -a
+$CHROOTQEMUCMD $ROOTDIR /usr/bin/dpkg --configure -a || $CHROOTCMD $ROOTDIR /usr/bin/dpkg --configure -a
 
 # source hooks
 if [ -r "$BOARD/hooks" ]; then
@@ -175,7 +178,7 @@ rm $ROOTDIR/usr/sbin/policy-rc.d
 
 # need to generate tar inside fakechroot so that absolute symlinks are correct
 # tar is clever enough to not try and put the archive inside itself
-TARBALL=$(basename $ROOTDIR).tar
-echo "I: create tarball $TARBALL"
-fakechroot chroot $ROOTDIR tar -cf $TARBALL -C / .
-mv $ROOTDIR/$TARBALL .
+#TARBALL=$(basename $ROOTDIR).tar
+#echo "I: create tarball $TARBALL"
+#$CHROOTCMD $ROOTDIR tar -cf $TARBALL -C / .
+#mv $ROOTDIR/$TARBALL .
diff --git a/touchbook/multistrap.conf b/touchbook/multistrap.conf
index e914a7b..f257743 100644
--- a/touchbook/multistrap.conf
+++ b/touchbook/multistrap.conf
@@ -3,7 +3,6 @@ arch=$ARCH
 directory=$ROOTDIR
 cleanup=true
 unpack=true
-noauth=true
 bootstrap=Debian_bootstrap
 aptsources=Debian
 allowrecommends=false

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/emdebian/polystrap.git



More information about the Emdebian-logs mailing list