Add post script for cross pkgs created by baselib.conf 98/11298/1 accepted/tizen/ivi/release accepted/tizen/20131025.200838 accepted/tizen/20131025.214733 accepted/tizen/20131112.015152 submit/tizen/20131025.201555
authorZhang Qiang <qiang.z.zhang@intel.com>
Thu, 24 Oct 2013 03:08:24 +0000 (11:08 +0800)
committerZhang Qiang <qiang.z.zhang@intel.com>
Thu, 24 Oct 2013 03:13:31 +0000 (11:13 +0800)
Change-Id: I31e0341ed257fad59e40374d91900b20bb8b9928
Signed-off-by: Zhang Qiang <qiang.z.zhang@intel.com>
packaging/baselibs.conf

index 2824b08..9110164 100644 (file)
@@ -4,4 +4,45 @@ arch x86_64 targets armv7l:cross-arm
 targettype cross-arm package qemu-accel-armv7l
     autoreqprov off
     extension -cross
+    post "set -x"
+    post "if [ $(uname -m) = armv7l ]; then"
+    post "    builtin echo armv7l arch"
+    post "    # XXX find a way around this for cross-gcc"
+    post "    mkdir -p /usr/lib64/gcc /lib64 || true"
+    post "    ln -sf ../../lib/gcc/armv7l-tizen-linux-gnueabi /usr/lib64/gcc/armv7l-tizen-linux-gnueabi || true"
+    post "    ln -sf %{our_path}/lib64/libnsl.so.1 /lib64/libnsl.so.1 || true"
+    post "fi"
+    post "# use qemu-arm{,-binfmt} from a  safe directory, so even overwriting"
+    post "# /usr/bin/$file won't affect our ability to run arm code"
+    post ""
+    post "# load the binfmt_misc module"
+    post "if [ ! -d /proc/sys/fs/binfmt_misc ]; then"
+    post "  builtin echo Calling modprobe"
+    post "  /sbin/modprobe binfmt_misc"
+    post "fi"
+    post ""
+    post "did_mount_it=''"
+    post ""
+    post "if [ ! -f /proc/sys/fs/binfmt_misc/register ]; then"
+    post "  builtin echo mounting binfmt_misc"
+    post "  mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc"
+    post "  did_mount_it=1"
+    post "fi"
+    post ""
+    post "if [ -e /proc/sys/fs/binfmt_misc/arm ]; then"
+    post "    builtin echo Registering accelerated handler"
+    post "    builtin echo -1 > /proc/sys/fs/binfmt_misc/arm"
+    post "    builtin echo ':arm:M::\x7fELF\x01\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x28\x00:\xff\xff\xff\xff\xff\xff\xff\x00\xff\xff\xff\xff\xff\xff\xff\xff\xfe\xff\xff\xff:/qemu/qemu-arm-binfmt:P' > /proc/sys/fs/binfmt_misc/register"
+    post "fi"
+    post ""
+    post "if [ $did_mount_it ]; then "
+    post "  builtin echo "Unmounting again.";"
+    post "  umount /proc/sys/fs/binfmt_misc"
+    post "fi"
+    post ""
+    post "builtin echo All done"
+    post ""
+    post "# Fix up sysroot paths"
+    post "rm -rf /usr/armv7l-tizen-linux-gnueabi/lib"
+    post "ln -s /lib /usr/armv7l-tizen-linux-gnueabi/usr/lib"
     +/