OSDN Git Service

add crossdeb.sh [ci skip]
authorIvailo Monev <xakepa10@gmail.com>
Thu, 19 Nov 2020 12:17:09 +0000 (14:17 +0200)
committerIvailo Monev <xakepa10@gmail.com>
Thu, 19 Nov 2020 12:17:09 +0000 (14:17 +0200)
Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
.gitignore
scripts/crossdeb.sh [new file with mode: 0755]

index fe147e8..ff8993e 100644 (file)
@@ -17,6 +17,7 @@ apidocs/
 minsize/
 oldmake/
 debug/
+crossdeb/
 
 # symlink to package/debian
 debian
diff --git a/scripts/crossdeb.sh b/scripts/crossdeb.sh
new file mode 100755 (executable)
index 0000000..0c37b09
--- /dev/null
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+set -e
+
+cwd="$(readlink -f $(dirname $0))"
+crossarch=s390x
+crossdir="$cwd/../crossdeb"
+
+unmount_pseudo() {
+    for i in dev/pts dev proc sys tmp;do
+        if mountpoint -q "$crossdir/$i" ;then
+            umount -fl "$crossdir/$i"
+        fi
+    done
+
+    for i in $(grep "$crossdir/$i" /proc/mounts | cut -d' ' -f2 | sed 's|\040| |g');do
+        if mountpoint -q "$i" ;then
+            umount -fl "$i"
+        fi
+    done
+}
+trap unmount_pseudo EXIT INT TERM
+
+rm -rf "$crossdir"
+
+debootstrap stable "$crossdir"
+
+for i in dev dev/pts proc sys tmp;do
+    if ! mountpoint -q "$crossdir/$i" ;then
+        mkdir -vp "$crossdir/$i"
+        mount --bind "/$i" "$crossdir/$i"
+    fi
+done
+
+cp -vf /etc/resolv.conf "$crossdir/etc/"
+ln -vsf /proc/mounts "$crossdir/etc/mtab"
+
+cat > "$crossdir/crossbuild.sh" << EOF
+#!/bin/sh
+
+export DEBIAN_FRONTEND=noninteractive
+
+dpkg --add-architecture $crossarch
+apt-get update
+apt-get install git crossbuild-essential-$crossarch qemu-user-static
+
+git clone --depth=1 git://github.com/fluxer/katie
+cd katie
+ln -sv package/debian .
+apt-get build-dep -a $crossarch .
+dpkg-buildpackage -uc -nc -b --no-sign -a $crossarch
+EOF
+chmod -v +x "$crossdir/crossbuild.sh"
+
+chroot "$crossdir" "/crossbuild.sh"