public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/releng:master commit in: tools-uclibc/desktop/portage/package.accept_keywords/, tools-uclibc/desktop/, ...
@ 2013-05-16 11:42 Anthony G. Basile
  0 siblings, 0 replies; only message in thread
From: Anthony G. Basile @ 2013-05-16 11:42 UTC (permalink / raw
  To: gentoo-commits

commit:     29dff6b8375a40a1c502758142a382e8e12117eb
Author:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
AuthorDate: Thu May 16 11:41:33 2013 +0000
Commit:     Anthony G. Basile <blueness <AT> gentoo <DOT> org>
CommitDate: Thu May 16 11:41:33 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/releng.git;a=commit;h=29dff6b8

tools-uclibc/desktop: organize build.sh into bash functions

---
 tools-uclibc/desktop/build.sh                      |  261 ++++++++++++--------
 tools-uclibc/desktop/installed.xml                 |   13 +
 tools-uclibc/desktop/make.conf.layman              |    4 +
 tools-uclibc/desktop/portage/make.conf.1           |    2 +-
 tools-uclibc/desktop/portage/make.conf.2           |    2 +-
 tools-uclibc/desktop/portage/make.conf.3           |    2 +-
 .../desktop/portage/package.accept_keywords/nettle |    1 +
 tools-uclibc/desktop/rebuild.sh                    |    2 +
 tools-uclibc/desktop/toolchain.sh                  |    2 +
 tools-uclibc/desktop/update.sh                     |    2 +
 10 files changed, 187 insertions(+), 104 deletions(-)

diff --git a/tools-uclibc/desktop/build.sh b/tools-uclibc/desktop/build.sh
index 5162828..abc2e80 100755
--- a/tools-uclibc/desktop/build.sh
+++ b/tools-uclibc/desktop/build.sh
@@ -1,101 +1,160 @@
-# These are just notes for now.  A cleaner script is coming.
-
-mkdir desktop-amd64-uclibc-hardened
-tar -x -C desktop-amd64-uclibc-hardened -f /var/tmp/catalyst/builds/hardened/amd64/stage3-amd64-uclibc-hardened.tar.bz2
-
-mkdir desktop-amd64-uclibc-hardened/usr/portage/
-mount --bind /usr/portage/ desktop-amd64-uclibc-hardened/usr/portage/
-mount --bind /proc/ desktop-amd64-uclibc-hardened/proc/
-mount --bind /dev/ desktop-amd64-uclibc-hardened/dev/
-mount --bind /dev/pts desktop-amd64-uclibc-hardened/dev/pts/
-mount --bind /sys/ desktop-amd64-uclibc-hardened/sys/
-
-layman -S
-mkdir desktop-amd64-uclibc-hardened/var/lib/layman
-cp -a /var/lib/layman/hardened-development/ desktop-amd64-uclibc-hardened/var/lib/layman
-
-cp -f fstab desktop-amd64-uclibc-hardened/etc/fstab 
-cp -f lilo.conf desktop-amd64-uclibc-hardened/etc/lilo.conf
-
-rm -f desktop-amd64-uclibc-hardened/etc/portage/make.conf.catalyst
-cp -f portage/make.conf.1 desktop-amd64-uclibc-hardened/etc/portage/make.conf
-
-for d in env package.accept_keywords package.mask package.use profile; do
-	[[ -a portage/"${d}" ]] && cp -af portage/${d} desktop-amd64-uclibc-hardened/etc/portage
-done
-cp -af portage/package.env desktop-amd64-uclibc-hardened/etc/portage
-
-cp -f toolchain.sh desktop-amd64-uclibc-hardened/tmp/
-chroot desktop-amd64-uclibc-hardened/ /tmp/toolchain.sh
-rm -f desktop-amd64-uclibc-hardened/tmp/toolchain.sh
-
-
-cp -f portage/make.conf.2 desktop-amd64-uclibc-hardened/etc/portage/make.conf
-cp -f world desktop-amd64-uclibc-hardened/var/lib/portage/world
-cp -f rebuild.sh desktop-amd64-uclibc-hardened/tmp/
-chroot desktop-amd64-uclibc-hardened/ /tmp/rebuild.sh
-rm -f desktop-amd64-uclibc-hardened/tmp/rebuild.sh
-
-
-cp -f portage/make.conf.3 desktop-amd64-uclibc-hardened/etc/portage/make.conf
-cp -f update.sh desktop-amd64-uclibc-hardened/tmp/
-chroot desktop-amd64-uclibc-hardened/ /tmp/update.sh
-rm -f desktop-amd64-uclibc-hardened/tmp/update.sh
-
-mkdir -p desktop-amd64-uclibc-hardened/boot
-
-genkernel \
-	--kernel-config=config \
-	--makeopts=-j9 \
-	--symlink \
-	--no-mountboot \
-	--kerneldir=/usr/src/linux-lilblue \
-	--bootdir=/root/releng/tools-uclibc/desktop/desktop-amd64-uclibc-hardened/boot/ \
-	--module-prefix=/root/releng/tools-uclibc/desktop/desktop-amd64-uclibc-hardened/ \
-	--modprobedir=/root/releng/tools-uclibc/desktop/desktop-amd64-uclibc-hardened/etc/modprobe.d \
-	all
-
-for i in $(find /root/releng/tools-uclibc/desktop/desktop-amd64-uclibc-hardened/lib/modules -iname *ko); do
-	objcopy --strip-unneeded $i
-done
-
-ln -sf net.lo desktop-amd64-uclibc-hardened/etc/init.d/net.eth0
-chroot desktop-amd64-uclibc-hardened/ rc-update add alsasound default
-chroot desktop-amd64-uclibc-hardened/ rc-update add cupsd default
-chroot desktop-amd64-uclibc-hardened/ rc-update add fcron default
-chroot desktop-amd64-uclibc-hardened/ rc-update add net.eth0 default
-chroot desktop-amd64-uclibc-hardened/ rc-update add postfix default
-chroot desktop-amd64-uclibc-hardened/ rc-update add sshd default
-chroot desktop-amd64-uclibc-hardened/ rc-update add xdm default
-chroot desktop-amd64-uclibc-hardened/ rc-update add avahi-daemon default
-chroot desktop-amd64-uclibc-hardened/ rc-update add dbus default
-chroot desktop-amd64-uclibc-hardened/ rc-update add samba default
-chroot desktop-amd64-uclibc-hardened/ rc-update add syslog-ng default
-
-cp -f passwd.sh desktop-amd64-uclibc-hardened/tmp/
-chroot  desktop-amd64-uclibc-hardened/ /tmp/passwd.sh
-rm -f desktop-amd64-uclibc-hardened/tmp/passwd.sh
-
-rm -rf desktop-amd64-uclibc-hardened/home/gentoo
-cp -a gentoo desktop-amd64-uclibc-hardened/home/
-chroot desktop-amd64-uclibc-hardened/ chown -R gentoo:gentoo /home/gentoo
-sed -i 's/# \(%wheel.*NOPASSWD\)/\1/' desktop-amd64-uclibc-hardened/etc/sudoers
-
-sed -i 's/^\(DISPLAYMANAGER="\)xdm/\1slim/' desktop-amd64-uclibc-hardened/etc/conf.d/xdm
-sed -i 's/^\(login.*\)/# \1/' desktop-amd64-uclibc-hardened/etc/slim.conf
-sed -i '/# login_cmd.*Xsession/ a\login_cmd exec /bin/bash -login ~/.xinitrc' desktop-amd64-uclibc-hardened/etc/slim.conf
-wget -O desktop-amd64-uclibc-hardened/usr/share/slim/themes/default/background.jpg http://www.gentoo.org/images/backgrounds/gentoo1600x1200.jpg
-
-sed -i '/^SYNC/d' desktop-amd64-uclibc-hardened/etc/portage/make.conf
-sed -i '/^GENTOO_MIRRORS/d' desktop-amd64-uclibc-hardened/etc/portage/make.conf
-sed -i 's/^MAKEOPTS/#MAKEOPTS/' desktop-amd64-uclibc-hardened/etc/portage/make.conf
-
-rm -rf desktop-amd64-uclibc-hardened/tmp/*
-rm -rf desktop-amd64-uclibc-hardened/var/log/*
-rm -rf desktop-amd64-uclibc-hardened/var/tmp/*
-
-umount desktop-amd64-uclibc-hardened/sys/
-umount desktop-amd64-uclibc-hardened/dev/pts/
-umount desktop-amd64-uclibc-hardened/dev/
-umount desktop-amd64-uclibc-hardened/proc/
-umount desktop-amd64-uclibc-hardened/usr/portage/
+#!/bin/bash
+
+ROOTFS="desktop-amd64-uclibc-hardened"
+
+PWD="$(pwd)"
+STAGE3="/var/tmp/catalyst/builds/hardened/amd64/stage3-amd64-uclibc-hardened.tar.bz2"
+LAYMAN="/var/lib/layman"
+KERNEL_SOURCE="/usr/src/linux-lilblue"
+
+
+unpack_stage3() {
+	mkdir "${ROOTFS}"
+	tar -x -C "${ROOTFS}" -f "${STAGE3}"
+}
+
+mount_dirs() {
+	mkdir "${ROOTFS}"/usr/portage/
+	mount --bind /usr/portage/ "${ROOTFS}"/usr/portage/
+	mount --bind /proc/ "${ROOTFS}"/proc/
+	mount --bind /dev/ "${ROOTFS}"/dev/
+	mount --bind /dev/pts "${ROOTFS}"/dev/pts/
+	mount --bind /sys/ "${ROOTFS}"/sys/
+}
+
+add_overlay() {
+	layman -S
+	mkdir "${ROOTFS}"/"${LAYMAN}"
+	cp -a "${LAYMAN}"/hardened-development/ "${ROOTFS}"/"${LAYMAN}"
+	cp installed.xml "${ROOTFS}"/"${LAYMAN}"/installed.xml
+	cp make.conf.layman "${ROOTFS}"/"${LAYMAN}"/make.conf
+}
+
+populate_etc() {
+	cp -f fstab "${ROOTFS}"/etc/fstab 
+	cp -f lilo.conf "${ROOTFS}"/etc/lilo.conf
+
+	rm -f "${ROOTFS}"/etc/portage/make.conf.catalyst
+	cp -f portage/make.conf.1 "${ROOTFS}"/etc/portage/make.conf
+
+	for d in env package.accept_keywords package.mask package.use profile; do
+		[[ -a portage/"${d}" ]] && cp -af portage/${d} "${ROOTFS}"/etc/portage
+	done
+	cp -af portage/package.env "${ROOTFS}"/etc/portage
+}
+
+rebuild_toolchain() {
+	cp -f toolchain.sh "${ROOTFS}"/tmp/
+	chroot "${ROOTFS}"/ /tmp/toolchain.sh
+	rm -f "${ROOTFS}"/tmp/toolchain.sh
+}
+
+rebuild_world() {
+	cp -f portage/make.conf.2 "${ROOTFS}"/etc/portage/make.conf
+	cp -f world "${ROOTFS}"/var/lib/portage/world
+	cp -f rebuild.sh "${ROOTFS}"/tmp/
+	chroot "${ROOTFS}"/ /tmp/rebuild.sh
+	rm -f "${ROOTFS}"/tmp/rebuild.sh
+}
+
+
+update_world() {
+	cp -f portage/make.conf.3 "${ROOTFS}"/etc/portage/make.conf
+	cp -f update.sh "${ROOTFS}"/tmp/
+	chroot "${ROOTFS}"/ /tmp/update.sh
+	rm -f "${ROOTFS}"/tmp/update.sh
+}
+
+build_kernel() {
+	mkdir -p "${ROOTFS}"/boot
+
+	genkernel \
+		--kernel-config=config \
+		--makeopts=-j9 \
+		--symlink \
+		--no-mountboot \
+		--kerneldir="${KERNEL_SOURCE}" \
+		--bootdir="${PWD}"/"${ROOTFS}"/boot/ \
+		--module-prefix="${PWD}"/"${ROOTFS}"/ \
+		--modprobedir="${PWD}"/"${ROOTFS}"/etc/modprobe.d \
+		all
+
+	for i in $(find "${PWD}"/"${ROOTFS}"/lib/modules -iname *ko); do
+		objcopy --strip-unneeded $i
+	done
+}
+
+setup_initrc() {
+	ln -sf net.lo "${ROOTFS}"/etc/init.d/net.eth0
+	chroot "${ROOTFS}"/ rc-update add alsasound default
+	chroot "${ROOTFS}"/ rc-update add cupsd default
+	chroot "${ROOTFS}"/ rc-update add fcron default
+	chroot "${ROOTFS}"/ rc-update add net.eth0 default
+	chroot "${ROOTFS}"/ rc-update add postfix default
+	chroot "${ROOTFS}"/ rc-update add sshd default
+	chroot "${ROOTFS}"/ rc-update add xdm default
+	chroot "${ROOTFS}"/ rc-update add avahi-daemon default
+	chroot "${ROOTFS}"/ rc-update add dbus default
+	chroot "${ROOTFS}"/ rc-update add samba default
+	chroot "${ROOTFS}"/ rc-update add syslog-ng default
+}
+
+setup_usergroups() {
+	cp -f passwd.sh "${ROOTFS}"/tmp/
+	chroot  "${ROOTFS}"/ /tmp/passwd.sh
+	rm -f "${ROOTFS}"/tmp/passwd.sh
+
+	rm -rf "${ROOTFS}"/home/gentoo
+	cp -a gentoo "${ROOTFS}"/home/
+	chroot "${ROOTFS}"/ chown -R gentoo:gentoo /home/gentoo
+	sed -i 's/# \(%wheel.*NOPASSWD\)/\1/' "${ROOTFS}"/etc/sudoers
+}
+
+setup_confs() {
+	sed -i 's/^\(DISPLAYMANAGER="\)xdm/\1slim/' "${ROOTFS}"/etc/conf.d/xdm
+	sed -i 's/^\(login.*\)/# \1/' "${ROOTFS}"/etc/slim.conf
+	sed -i '/# login_cmd.*Xsession/ a\login_cmd exec /bin/bash -login ~/.xinitrc' "${ROOTFS}"/etc/slim.conf
+	wget -O "${ROOTFS}"/usr/share/slim/themes/default/background.jpg http://www.gentoo.org/images/backgrounds/gentoo1600x1200.jpg
+
+	sed -i '/^SYNC/d' "${ROOTFS}"/etc/portage/make.conf
+	sed -i '/^GENTOO_MIRRORS/d' "${ROOTFS}"/etc/portage/make.conf
+	sed -i 's/^MAKEOPTS/#MAKEOPTS/' "${ROOTFS}"/etc/portage/make.conf
+}
+
+cleanup_dirs() {
+	rm -rf "${ROOTFS}"/tmp/*
+	rm -rf "${ROOTFS}"/var/log/*
+	rm -rf "${ROOTFS}"/var/tmp/*
+}
+
+unmount_dirs() {
+	umount "${ROOTFS}"/sys/
+	umount "${ROOTFS}"/dev/pts/
+	umount "${ROOTFS}"/dev/
+	umount "${ROOTFS}"/proc/
+	umount "${ROOTFS}"/usr/portage/
+}
+
+bundle_it() {
+	cd "${ROOTFS}"
+	tar jcvf ../"${ROOTFS}".tar.bz2 .
+}
+
+main() {
+	unpack_stage3
+	mount_dirs
+	add_overlay
+	populate_etc
+	rebuild_toolchain
+	rebuild_world
+	update_world
+	build_kernel
+	setup_initrc
+	setup_usergroups
+	setup_confs
+	cleanup_dirs
+	unmount_dirs
+	bundle_it
+}
+
+main > zzz.log 2>&1 &

diff --git a/tools-uclibc/desktop/installed.xml b/tools-uclibc/desktop/installed.xml
new file mode 100644
index 0000000..f4c6026
--- /dev/null
+++ b/tools-uclibc/desktop/installed.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<repositories version="1.0">
+  <repo priority="50" quality="experimental" status="official">
+    <name>hardened-development</name>
+    <description>Development Overlay for Hardened Gcc 4.x Toolchain</description>
+    <homepage>http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=summary</homepage>
+    <owner>
+      <email>hardened@gentoo.org</email>
+    </owner>
+    <source type="git">git://git.overlays.gentoo.org/proj/hardened-dev.git</source>
+    <feed>http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-dev.git;a=atom</feed>
+  </repo>
+</repositories>

diff --git a/tools-uclibc/desktop/make.conf.layman b/tools-uclibc/desktop/make.conf.layman
new file mode 100644
index 0000000..6284058
--- /dev/null
+++ b/tools-uclibc/desktop/make.conf.layman
@@ -0,0 +1,4 @@
+PORTDIR_OVERLAY="
+/var/lib/layman/hardened-development
+$PORTDIR_OVERLAY
+"

diff --git a/tools-uclibc/desktop/portage/make.conf.1 b/tools-uclibc/desktop/portage/make.conf.1
index d86eb70..ddc37ae 100644
--- a/tools-uclibc/desktop/portage/make.conf.1
+++ b/tools-uclibc/desktop/portage/make.conf.1
@@ -7,7 +7,7 @@ USE_BASE="bindist mmx mmxext smp sse sse2 ssse3 static-libs -savedconfig"
 USE_GCC="gcj graphite objc objc++ objc-gc gtk X"
 USE="${USE_BASE} ${USE_GCC}"
 
-PORTDIR_OVERLAY="/var/lib/layman/hardened-development"
+source "/var/lib/layman/make.conf"
 
 SYNC="rsync://192.168.3.1/portage"
 GENTOO_MIRRORS="ftp://192.168.3.1/pub/gentoo"

diff --git a/tools-uclibc/desktop/portage/make.conf.2 b/tools-uclibc/desktop/portage/make.conf.2
index 4332bbe..a5cf90f 100644
--- a/tools-uclibc/desktop/portage/make.conf.2
+++ b/tools-uclibc/desktop/portage/make.conf.2
@@ -38,7 +38,7 @@ INPUT_DEVICES="acecad aiptek elographics evdev fpit hyperpen joystick keyboard m
 VIDEO_CARDS="apm ark ast chips cirrus epson fbdev glint i128 i740 intel mach64 mga modesetting nouveau nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa"
 LINGUAS="en"
 
-PORTDIR_OVERLAY="/var/lib/layman/hardened-development"
+source "/var/lib/layman/make.conf"
 
 SYNC="rsync://192.168.3.1/portage"
 GENTOO_MIRRORS="ftp://192.168.3.1/pub/gentoo"

diff --git a/tools-uclibc/desktop/portage/make.conf.3 b/tools-uclibc/desktop/portage/make.conf.3
index 6873c92..c796887 100644
--- a/tools-uclibc/desktop/portage/make.conf.3
+++ b/tools-uclibc/desktop/portage/make.conf.3
@@ -38,7 +38,7 @@ INPUT_DEVICES="acecad aiptek elographics evdev fpit hyperpen joystick keyboard m
 VIDEO_CARDS="apm ark ast chips cirrus epson fbdev glint i128 i740 intel mach64 mga modesetting nouveau nv r128 radeon rendition s3 s3virge savage siliconmotion sis sisusb tdfx tga trident tseng v4l vesa"
 LINGUAS="en"
 
-PORTDIR_OVERLAY="/var/lib/layman/hardened-development"
+source "/var/lib/layman/make.conf"
 
 SYNC="rsync://192.168.3.1/portage"
 GENTOO_MIRRORS="ftp://192.168.3.1/pub/gentoo"

diff --git a/tools-uclibc/desktop/portage/package.accept_keywords/nettle b/tools-uclibc/desktop/portage/package.accept_keywords/nettle
new file mode 100644
index 0000000..dc95b61
--- /dev/null
+++ b/tools-uclibc/desktop/portage/package.accept_keywords/nettle
@@ -0,0 +1 @@
+=dev-libs/nettle-2.7 ~amd64

diff --git a/tools-uclibc/desktop/rebuild.sh b/tools-uclibc/desktop/rebuild.sh
index 8d1d74b..c22e006 100755
--- a/tools-uclibc/desktop/rebuild.sh
+++ b/tools-uclibc/desktop/rebuild.sh
@@ -1,3 +1,5 @@
 #!/bin/bash -l
 
+source /etc/profile
+env-update
 emerge --keep-going -evq world

diff --git a/tools-uclibc/desktop/toolchain.sh b/tools-uclibc/desktop/toolchain.sh
index b9ebe45..0458679 100755
--- a/tools-uclibc/desktop/toolchain.sh
+++ b/tools-uclibc/desktop/toolchain.sh
@@ -1,5 +1,7 @@
 #!/bin/bash -l
 
+source /etc/profile
+env-update
 emerge -1q gcc
 emerge -1q uclibc
 emerge -1q binutils

diff --git a/tools-uclibc/desktop/update.sh b/tools-uclibc/desktop/update.sh
index 0ee39fc..1920e72 100755
--- a/tools-uclibc/desktop/update.sh
+++ b/tools-uclibc/desktop/update.sh
@@ -1,3 +1,5 @@
 #!/bin/bash -l
 
+source /etc/profile
+env-update
 emerge -uvNDq world


^ permalink raw reply related	[flat|nested] only message in thread

only message in thread, other threads:[~2013-05-16 11:42 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-05-16 11:42 [gentoo-commits] proj/releng:master commit in: tools-uclibc/desktop/portage/package.accept_keywords/, tools-uclibc/desktop/, 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