commit: e3d0d7b81dfe3f8afcfb06de7db4a10a2588e13f
Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 8 16:27:52 2014 +0000
Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Sun Jun 8 16:27:52 2014 +0000
URL:
http://git.overlays.gentoo.org/gitweb/?p=proj/releng.git;a=commit;h=e3d0d7b8
tools-musl/catalyst: add armv7a
---
tools-musl/catalyst/portage.armv7a.hardened/bashrc | 15 +++
.../portage.armv7a.hardened/env/libintl.conf | 2 +
.../portage.armv7a.hardened/env/parallel.conf | 1 +
.../catalyst/portage.armv7a.hardened/package.env | 9 ++
.../portage.armv7a.hardened/package.keywords | 2 +
.../catalyst/portage.armv7a.hardened/package.mask | 3 +
.../portage.armv7a.hardened/package.unmask | 1 +
.../catalyst/portage.armv7a.hardened/package.use | 1 +
tools-musl/catalyst/portage.armv7a.vanilla/bashrc | 15 +++
.../portage.armv7a.vanilla/env/libintl.conf | 2 +
.../portage.armv7a.vanilla/env/parallel.conf | 1 +
.../catalyst/portage.armv7a.vanilla/package.env | 9 ++
.../portage.armv7a.vanilla/package.keywords | 2 +
.../catalyst/portage.armv7a.vanilla/package.mask | 3 +
.../catalyst/portage.armv7a.vanilla/package.unmask | 1 +
.../catalyst/portage.armv7a.vanilla/package.use | 1 +
.../portage.armv7a.vanilla/profile/use.mask | 1 +
tools-musl/catalyst/run-armv7a.sh | 124 +++++++++++++++++++++
18 files changed, 193 insertions(+)
diff --git a/tools-musl/catalyst/portage.armv7a.hardened/bashrc
b/tools-musl/catalyst/portage.armv7a.hardened/bashrc
new file mode 100644
index 0000000..70b67d2
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.hardened/bashrc
@@ -0,0 +1,15 @@
+post_src_install() {
+ [[ $PN != musl ]] && return 0
+
+ local LDSO_ARCH=$(basename "${D}"/lib/ld-musl-*.so.1)
+ mkdir "${D}"/usr/etc
+ cat > "${D}"/usr/etc/${LDSO_ARCH%so.1}path <<EOF
+/lib
+/usr/lib
+/usr/local/lib
+/usr/lib/opengl/xorg-x11/lib
+/usr/lib/gcc/${CHOST}/4.7.3
+/usr/${CHOST}/lib
+/usr/games/lib
+EOF
+}
diff --git a/tools-musl/catalyst/portage.armv7a.hardened/env/libintl.conf
b/tools-musl/catalyst/portage.armv7a.hardened/env/libintl.conf
new file mode 100644
index 0000000..06356b5
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.hardened/env/libintl.conf
@@ -0,0 +1,2 @@
+CFLAGS="-Wl,-lintl"
+LDFLAGS="-lintl"
diff --git a/tools-musl/catalyst/portage.armv7a.hardened/env/parallel.conf
b/tools-musl/catalyst/portage.armv7a.hardened/env/parallel.conf
new file mode 100644
index 0000000..c67232a
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.hardened/env/parallel.conf
@@ -0,0 +1 @@
+MAKEOPTS=-j1
diff --git a/tools-musl/catalyst/portage.armv7a.hardened/package.env
b/tools-musl/catalyst/portage.armv7a.hardened/package.env
new file mode 100644
index 0000000..3574877
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.hardened/package.env
@@ -0,0 +1,9 @@
+dev-libs/glib libintl.conf
+dev-libs/libelf libintl.conf
+sys-apps/attr libintl.conf
+sys-apps/kbd libintl.conf
+sys-apps/man-db parallel.conf
+sys-apps/net-tools libintl.conf
+sys-fs/e2fsprogs libintl.conf
+sys-fs/eudev libintl.conf
+sys-process/procps libintl.conf
diff --git a/tools-musl/catalyst/portage.armv7a.hardened/package.keywords
b/tools-musl/catalyst/portage.armv7a.hardened/package.keywords
new file mode 100644
index 0000000..25bfa75
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.hardened/package.keywords
@@ -0,0 +1,2 @@
+=sys-libs/musl-1.1.1 ~*
+=sys-apps/getent-0 ~*
diff --git a/tools-musl/catalyst/portage.armv7a.hardened/package.mask
b/tools-musl/catalyst/portage.armv7a.hardened/package.mask
new file mode 100644
index 0000000..794369e
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.hardened/package.mask
@@ -0,0 +1,3 @@
+>sys-devel/gcc-4.7.3-r99
+sys-apps/systemd
+sys-fs/udev
diff --git a/tools-musl/catalyst/portage.armv7a.hardened/package.unmask
b/tools-musl/catalyst/portage.armv7a.hardened/package.unmask
new file mode 100644
index 0000000..6aabccd
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.hardened/package.unmask
@@ -0,0 +1 @@
+=dev-libs/openssl-1.0.1g-r99::hardened-dev
diff --git a/tools-musl/catalyst/portage.armv7a.hardened/package.use
b/tools-musl/catalyst/portage.armv7a.hardened/package.use
new file mode 100644
index 0000000..4ef695a
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.hardened/package.use
@@ -0,0 +1 @@
+sys-libs/musl nls
diff --git a/tools-musl/catalyst/portage.armv7a.vanilla/bashrc
b/tools-musl/catalyst/portage.armv7a.vanilla/bashrc
new file mode 100644
index 0000000..70b67d2
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.vanilla/bashrc
@@ -0,0 +1,15 @@
+post_src_install() {
+ [[ $PN != musl ]] && return 0
+
+ local LDSO_ARCH=$(basename "${D}"/lib/ld-musl-*.so.1)
+ mkdir "${D}"/usr/etc
+ cat > "${D}"/usr/etc/${LDSO_ARCH%so.1}path <<EOF
+/lib
+/usr/lib
+/usr/local/lib
+/usr/lib/opengl/xorg-x11/lib
+/usr/lib/gcc/${CHOST}/4.7.3
+/usr/${CHOST}/lib
+/usr/games/lib
+EOF
+}
diff --git a/tools-musl/catalyst/portage.armv7a.vanilla/env/libintl.conf
b/tools-musl/catalyst/portage.armv7a.vanilla/env/libintl.conf
new file mode 100644
index 0000000..06356b5
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.vanilla/env/libintl.conf
@@ -0,0 +1,2 @@
+CFLAGS="-Wl,-lintl"
+LDFLAGS="-lintl"
diff --git a/tools-musl/catalyst/portage.armv7a.vanilla/env/parallel.conf
b/tools-musl/catalyst/portage.armv7a.vanilla/env/parallel.conf
new file mode 100644
index 0000000..c67232a
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.vanilla/env/parallel.conf
@@ -0,0 +1 @@
+MAKEOPTS=-j1
diff --git a/tools-musl/catalyst/portage.armv7a.vanilla/package.env
b/tools-musl/catalyst/portage.armv7a.vanilla/package.env
new file mode 100644
index 0000000..3574877
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.vanilla/package.env
@@ -0,0 +1,9 @@
+dev-libs/glib libintl.conf
+dev-libs/libelf libintl.conf
+sys-apps/attr libintl.conf
+sys-apps/kbd libintl.conf
+sys-apps/man-db parallel.conf
+sys-apps/net-tools libintl.conf
+sys-fs/e2fsprogs libintl.conf
+sys-fs/eudev libintl.conf
+sys-process/procps libintl.conf
diff --git a/tools-musl/catalyst/portage.armv7a.vanilla/package.keywords
b/tools-musl/catalyst/portage.armv7a.vanilla/package.keywords
new file mode 100644
index 0000000..25bfa75
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.vanilla/package.keywords
@@ -0,0 +1,2 @@
+=sys-libs/musl-1.1.1 ~*
+=sys-apps/getent-0 ~*
diff --git a/tools-musl/catalyst/portage.armv7a.vanilla/package.mask
b/tools-musl/catalyst/portage.armv7a.vanilla/package.mask
new file mode 100644
index 0000000..794369e
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.vanilla/package.mask
@@ -0,0 +1,3 @@
+>sys-devel/gcc-4.7.3-r99
+sys-apps/systemd
+sys-fs/udev
diff --git a/tools-musl/catalyst/portage.armv7a.vanilla/package.unmask
b/tools-musl/catalyst/portage.armv7a.vanilla/package.unmask
new file mode 100644
index 0000000..6aabccd
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.vanilla/package.unmask
@@ -0,0 +1 @@
+=dev-libs/openssl-1.0.1g-r99::hardened-dev
diff --git a/tools-musl/catalyst/portage.armv7a.vanilla/package.use
b/tools-musl/catalyst/portage.armv7a.vanilla/package.use
new file mode 100644
index 0000000..4ef695a
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.vanilla/package.use
@@ -0,0 +1 @@
+sys-libs/musl nls
diff --git a/tools-musl/catalyst/portage.armv7a.vanilla/profile/use.mask
b/tools-musl/catalyst/portage.armv7a.vanilla/profile/use.mask
new file mode 100644
index 0000000..cf56f2f
--- /dev/null
+++ b/tools-musl/catalyst/portage.armv7a.vanilla/profile/use.mask
@@ -0,0 +1 @@
+hardened
diff --git a/tools-musl/catalyst/run-armv7a.sh
b/tools-musl/catalyst/run-armv7a.sh
new file mode 100755
index 0000000..d5699e0
--- /dev/null
+++ b/tools-musl/catalyst/run-armv7a.sh
@@ -0,0 +1,124 @@
+#!/bin/bash
+
+source /etc/catalyst/catalyst.conf
+
+mydate=`date +%Y%m%d`
+
+prepare_confs() {
+ local arch=$1
+ local flavor=$2
+
+ for s in 1 2 3; do
+
+ local cstage=stage${s}
+ local p=$(( s - 1 ))
+ [[ $p == 0 ]] && p=3
+ local pstage=stage${p}
+ local tarch="${arch%_hardfp}"
+ local parch="arm/${tarch}"
+ local float
+
+ [[ "${arch}" == "${tarch}" ]] \
+ && float="softfp" \
+ || float="hardfloat"
+
+ cat stage-all.conf.template | \
+ sed -e "s:\(^version_stamp.*$\):\1-${mydate}:" \
+ -e "s:CSTAGE:${cstage}:g" \
+ -e "s:PSTAGE:${pstage}:g" \
+ -e "s:SARCH:${arch}:g" \
+ -e "s:PARCH:${parch}:g" \
+ -e "s:TARCH:${tarch}:g" \
+ -e "s:gentoo-linux-musl:${float}-linux-musleabi:" \
+ -e "s:FLAVOR:${flavor}:g" \
+ -e "s:MYCATALYST:$(pwd):g" \
+ > stage${s}-${arch}-musl-${flavor}.conf
+
+ sed -i "/^portage_confdir/s:_hardfp::" \
+ stage${s}-${arch}-musl-${flavor}.conf
+
+ done
+
+ sed -i "/^chost/d" stage3-${arch}-musl-${flavor}.conf
+}
+
+banner() {
+cat << EOF | tee -a zzz.log > stage$1-$2-musl-$3.log
+
+************************************************************************
+* stage$1-$2-musl-$3
+************************************************************************"
+
+EOF
+}
+
+
+do_stages() {
+ local arch=$1
+ local flavor=$2
+
+ for s in 1 2 3; do
+ local tgpath="${storedir}/builds/${flavor}/${arch}"
+ local target="stage${s}-${arch}-musl-${flavor}-${mydate}.tar.bz2"
+ local tglink="stage${s}-${arch}-musl-${flavor}.tar.bz2"
+
+ if [[ ! -f "${tgpath}/${tglink}" ]]; then
+ touch stage${s}-${arch}-musl-${flavor}.log
+ echo "!!! ${target} at ${tgpath} doesn't exit" \
+ | tee -a zzz.log \
+ > stage${s}-${arch}-musl-${flavor}.err
+ return 1
+ fi
+
+ banner ${s} ${arch} ${flavor}
+ catalyst -f stage${s}-${arch}-musl-${flavor}.conf \
+ | tee -a zzz.log \
+ > stage${s}-${arch}-musl-${flavor}.log \
+ 2> stage${s}-${arch}-musl-${flavor}.err
+
+ if [[ -f "${tgpath}/${target}" ]]; then
+ rm -f "${tgpath}/${tglink}"
+ ln -s ${target} "${tgpath}/${tglink}"
+ else
+ echo "!!! ${target} was not generated" \
+ | tee -a zzz.log \
+ >stage${s}-${arch}-musl-${flavor}.err
+ return 1
+ fi
+ done
+
+ return 0
+}
+
+
+#
+# approximate timings:
+#
+# catalyst -s current 3 minutes
+# catalyst -f stage1 130 minutes
+#
+
+main() {
+ >zzz.log
+
+ catalyst -s current | tee -a zzz.log >snapshot.log 2>snapshot.err
+
+ for arch in armv7a_hardfp; do
+ for flavor in hardened vanilla; do
+ prepare_confs ${arch} ${flavor}
+ done
+ done
+
+ for arch in armv7a_hardfp; do
+ for flavor in hardened vanilla; do
+ do_stages ${arch} ${flavor}
+ ret=$?
+ if [[ $? == 1 ]]; then
+ echo "FAILURE at ${arch} ${flavor} " | tee zzz.log
+ return 1
+ fi
+ done
+ done
+}
+
+main $1 &