* [gentoo-commits] proj/releng:master commit in: tools-musl/catalyst/portage.amd64.vanilla/make.profile/, ...
@ 2014-05-23 1:21 Anthony G. Basile
0 siblings, 0 replies; only message in thread
From: Anthony G. Basile @ 2014-05-23 1:21 UTC (permalink / raw
To: gentoo-commits
commit: c59b1948362b87aa5ca492109e5b148dd299bba9
Author: Felix Janda <felix.janda <AT> posteo <DOT> de>
AuthorDate: Thu May 22 20:23:34 2014 +0000
Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Fri May 23 01:22:52 2014 +0000
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/releng.git;a=commit;h=c59b1948
tools-musl: add experimental catalyst build scripts
Signed-off-by: Anthony G. Basile <blueness <AT> gentoo.org>
---
tools-musl/catalyst/clean.sh | 6 +
tools-musl/catalyst/portage.amd64.vanilla/bashrc | 15 +++
.../portage.amd64.vanilla/env/libintl.conf | 2 +
.../portage.amd64.vanilla/env/parallel.conf | 1 +
.../portage.amd64.vanilla/make.profile/parent | 1 +
.../catalyst/portage.amd64.vanilla/package.env | 9 ++
.../portage.amd64.vanilla/package.keywords | 2 +
.../catalyst/portage.amd64.vanilla/package.mask | 3 +
.../catalyst/portage.amd64.vanilla/package.unmask | 1 +
.../catalyst/portage.amd64.vanilla/package.use | 1 +
tools-musl/catalyst/run.sh | 131 +++++++++++++++++++++
tools-musl/catalyst/stage-all.conf.template | 12 ++
12 files changed, 184 insertions(+)
diff --git a/tools-musl/catalyst/clean.sh b/tools-musl/catalyst/clean.sh
new file mode 100755
index 0000000..916c4eb
--- /dev/null
+++ b/tools-musl/catalyst/clean.sh
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+# This just removes the temporary conf err and log
+# files generated during a run
+
+rm -f *conf *err *log
diff --git a/tools-musl/catalyst/portage.amd64.vanilla/bashrc b/tools-musl/catalyst/portage.amd64.vanilla/bashrc
new file mode 100644
index 0000000..dac928d
--- /dev/null
+++ b/tools-musl/catalyst/portage.amd64.vanilla/bashrc
@@ -0,0 +1,15 @@
+post_src_install() {
+ [[ $PN != musl ]] && return 0
+
+ local arch=$(basename "${D}"/lib/ld-musl-*.so.1)
+ mkdir "${D}"/usr/etc
+ cat > "${D}"/usr/etc/${arch%so.1}path <<EOF
+/lib
+/usr/lib
+/usr/local/lib
+/usr/lib/opengl/xorg-x11/lib
+/usr/lib/gcc/x86_64-gentoo-linux-musl/4.7.3
+/usr/x86_64-gentoo-linux-musl/lib
+/usr/games/lib
+EOF
+}
diff --git a/tools-musl/catalyst/portage.amd64.vanilla/env/libintl.conf b/tools-musl/catalyst/portage.amd64.vanilla/env/libintl.conf
new file mode 100644
index 0000000..06356b5
--- /dev/null
+++ b/tools-musl/catalyst/portage.amd64.vanilla/env/libintl.conf
@@ -0,0 +1,2 @@
+CFLAGS="-Wl,-lintl"
+LDFLAGS="-lintl"
diff --git a/tools-musl/catalyst/portage.amd64.vanilla/env/parallel.conf b/tools-musl/catalyst/portage.amd64.vanilla/env/parallel.conf
new file mode 100644
index 0000000..c67232a
--- /dev/null
+++ b/tools-musl/catalyst/portage.amd64.vanilla/env/parallel.conf
@@ -0,0 +1 @@
+MAKEOPTS=-j1
diff --git a/tools-musl/catalyst/portage.amd64.vanilla/make.profile/parent b/tools-musl/catalyst/portage.amd64.vanilla/make.profile/parent
new file mode 100644
index 0000000..d224f93
--- /dev/null
+++ b/tools-musl/catalyst/portage.amd64.vanilla/make.profile/parent
@@ -0,0 +1 @@
+/usr/portage/profiles/hardened/linux/musl/amd64
diff --git a/tools-musl/catalyst/portage.amd64.vanilla/package.env b/tools-musl/catalyst/portage.amd64.vanilla/package.env
new file mode 100644
index 0000000..3574877
--- /dev/null
+++ b/tools-musl/catalyst/portage.amd64.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.amd64.vanilla/package.keywords b/tools-musl/catalyst/portage.amd64.vanilla/package.keywords
new file mode 100644
index 0000000..9a9769c
--- /dev/null
+++ b/tools-musl/catalyst/portage.amd64.vanilla/package.keywords
@@ -0,0 +1,2 @@
+=sys-libs/musl-1.1.0 ~*
+=sys-apps/getent-0 ~*
diff --git a/tools-musl/catalyst/portage.amd64.vanilla/package.mask b/tools-musl/catalyst/portage.amd64.vanilla/package.mask
new file mode 100644
index 0000000..794369e
--- /dev/null
+++ b/tools-musl/catalyst/portage.amd64.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.amd64.vanilla/package.unmask b/tools-musl/catalyst/portage.amd64.vanilla/package.unmask
new file mode 100644
index 0000000..6aabccd
--- /dev/null
+++ b/tools-musl/catalyst/portage.amd64.vanilla/package.unmask
@@ -0,0 +1 @@
+=dev-libs/openssl-1.0.1g-r99::hardened-dev
diff --git a/tools-musl/catalyst/portage.amd64.vanilla/package.use b/tools-musl/catalyst/portage.amd64.vanilla/package.use
new file mode 100644
index 0000000..4ef695a
--- /dev/null
+++ b/tools-musl/catalyst/portage.amd64.vanilla/package.use
@@ -0,0 +1 @@
+sys-libs/musl nls
diff --git a/tools-musl/catalyst/run.sh b/tools-musl/catalyst/run.sh
new file mode 100755
index 0000000..f72f925
--- /dev/null
+++ b/tools-musl/catalyst/run.sh
@@ -0,0 +1,131 @@
+#!/bin/bash
+
+source /etc/catalyst/catalyst.conf
+
+mydate=`date +%Y%m%d`
+
+undo_grsec() {
+ [[ -d /proc/sys/kernel/grsecurity ]] || return
+ for i in /proc/sys/kernel/grsecurity/chroot_* ; do
+ echo 0 > $i
+ done
+}
+
+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 parch="${arch}"
+ [[ "${arch}" == "i686" ]] && parch="x86"
+
+ local tarch="${arch}"
+ [[ "${arch}" == "amd64" ]] && tarch="x86_64"
+
+ 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:FLAVOR:${flavor}:g" \
+ -e "s:MYCATALYST:$(pwd):g" \
+ > 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 "!!! ${tglink} at ${tgpath} doesn't exist" \
+ | 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
+
+ undo_grsec
+
+ catalyst -s current | tee -a zzz.log >snapshot.log 2>snapshot.err
+
+# for arch in amd64 i686; do
+# for flavor in hardened vanilla; do
+ for arch in amd64; do
+ for flavor in vanilla; do
+ prepare_confs ${arch} ${flavor}
+ done
+ done
+
+# for arch in amd64 i686; do
+# for flavor in hardened vanilla; do
+ for arch in amd64; do
+ for flavor in 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 &
diff --git a/tools-musl/catalyst/stage-all.conf.template b/tools-musl/catalyst/stage-all.conf.template
new file mode 100644
index 0000000..6bc302b
--- /dev/null
+++ b/tools-musl/catalyst/stage-all.conf.template
@@ -0,0 +1,12 @@
+subarch: SARCH
+target: CSTAGE
+version_stamp: musl-FLAVOR
+rel_type: FLAVOR/SARCH
+profile: hardened/linux/musl/PARCH
+snapshot: current
+source_subpath: FLAVOR/SARCH/PSTAGE-SARCH-musl-FLAVOR
+chost: TARCH-gentoo-linux-musl
+cflags: -O2 -pipe -fomit-frame-pointer
+cxxflags: -O2 -pipe -fomit-frame-pointer
+portage_confdir: MYCATALYST/portage.SARCH.FLAVOR
+portage_overlay: /var/lib/layman/hardened-development
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2014-05-23 1:21 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-05-23 1:21 [gentoo-commits] proj/releng:master commit in: tools-musl/catalyst/portage.amd64.vanilla/make.profile/, Anthony G. Basile
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox