[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Patch for polystrap


I've recently discovered the polystrap tool and I find it very useful.

I've just had to patch it a bit (attached) to fix absolute path handling
for symlinks inside the chroot.


From 2e74755698f4fbe60c5780f9c28c4188cb7be4fd Mon Sep 17 00:00:00 2001
From: Gilles Filippini <pini@debian.org>
Date: Mon, 8 Oct 2012 10:07:32 +0200
Subject: [PATCH] Fix chroot internal symlinks path

This patch makes sure ${ROOTDIR} is always an absolute path. This
is requested for the absolute symlink conversion step to work
 polystrap.sh |   11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/polystrap.sh b/polystrap.sh
index fe0a65a..2f1f091 100755
--- a/polystrap.sh
+++ b/polystrap.sh
@@ -73,7 +73,7 @@ BOARD="$1"
 # overwrite target options by commandline options
+ROOTDIR=$(readlink -m ${_ROOTDIR:-$ROOTDIR})
 if [ "$_PACKAGES" = "" ] && [ -r "$BOARD/packages" ]; then
@@ -130,7 +130,7 @@ for link in `find $ROOTDIR -type l`; do
         if [ "${target%%/*}" = "" ]; then # target begins with slash
 		echo "I: convert symlink: ${link#$ROOTDIR} -> $target"
 		rm $link
-                ln -s $ROOTDIR/$target $link
+                ln -s ${ROOTDIR}$target $link
@@ -175,6 +175,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
-echo "I: create tarball $ROOTDIR.tar"
-fakechroot chroot $ROOTDIR tar -cf $ROOTDIR.tar -C / .
+TARBALL=$(basename $ROOTDIR).tar
+echo "I: create tarball $TARBALL"
+fakechroot chroot $ROOTDIR tar -cf $TARBALL -C / .

Attachment: signature.asc
Description: OpenPGP digital signature

Reply to: