From e3d0d7b81dfe3f8afcfb06de7db4a10a2588e13f Mon Sep 17 00:00:00 2001 From: "Anthony G. Basile" Date: Sun, 8 Jun 2014 12:27:52 -0400 Subject: [PATCH] tools-musl/catalyst: add armv7a --- .../catalyst/portage.armv7a.hardened/bashrc | 15 +++ .../portage.armv7a.hardened/env/libintl.conf | 2 + .../portage.armv7a.hardened/env/parallel.conf | 1 + .../portage.armv7a.hardened/package.env | 9 ++ .../portage.armv7a.hardened/package.keywords | 2 + .../portage.armv7a.hardened/package.mask | 3 + .../portage.armv7a.hardened/package.unmask | 1 + .../portage.armv7a.hardened/package.use | 1 + .../catalyst/portage.armv7a.vanilla/bashrc | 15 +++ .../portage.armv7a.vanilla/env/libintl.conf | 2 + .../portage.armv7a.vanilla/env/parallel.conf | 1 + .../portage.armv7a.vanilla/package.env | 9 ++ .../portage.armv7a.vanilla/package.keywords | 2 + .../portage.armv7a.vanilla/package.mask | 3 + .../portage.armv7a.vanilla/package.unmask | 1 + .../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(+) create mode 100644 tools-musl/catalyst/portage.armv7a.hardened/bashrc create mode 100644 tools-musl/catalyst/portage.armv7a.hardened/env/libintl.conf create mode 100644 tools-musl/catalyst/portage.armv7a.hardened/env/parallel.conf create mode 100644 tools-musl/catalyst/portage.armv7a.hardened/package.env create mode 100644 tools-musl/catalyst/portage.armv7a.hardened/package.keywords create mode 100644 tools-musl/catalyst/portage.armv7a.hardened/package.mask create mode 100644 tools-musl/catalyst/portage.armv7a.hardened/package.unmask create mode 100644 tools-musl/catalyst/portage.armv7a.hardened/package.use create mode 100644 tools-musl/catalyst/portage.armv7a.vanilla/bashrc create mode 100644 tools-musl/catalyst/portage.armv7a.vanilla/env/libintl.conf create mode 100644 tools-musl/catalyst/portage.armv7a.vanilla/env/parallel.conf create mode 100644 tools-musl/catalyst/portage.armv7a.vanilla/package.env create mode 100644 tools-musl/catalyst/portage.armv7a.vanilla/package.keywords create mode 100644 tools-musl/catalyst/portage.armv7a.vanilla/package.mask create mode 100644 tools-musl/catalyst/portage.armv7a.vanilla/package.unmask create mode 100644 tools-musl/catalyst/portage.armv7a.vanilla/package.use create mode 100644 tools-musl/catalyst/portage.armv7a.vanilla/profile/use.mask create mode 100755 tools-musl/catalyst/run-armv7a.sh diff --git a/tools-musl/catalyst/portage.armv7a.hardened/bashrc b/tools-musl/catalyst/portage.armv7a.hardened/bashrc new file mode 100644 index 00000000..70b67d2f --- /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 <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 00000000..6aabccd9 --- /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 00000000..4ef695a6 --- /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 00000000..70b67d2f --- /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 <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 00000000..6aabccd9 --- /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 00000000..4ef695a6 --- /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 00000000..cf56f2f6 --- /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 00000000..d5699e0c --- /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 &