From b995c6b293b3a75cd8cf4fd1fd6e2eb517a65096 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel@debian.org>
Date: Sun, 23 Sep 2007 10:04:38 +0200
Subject: Adding live-package 0.99.18-1.

---
 ChangeLog                 |  9 +++++++
 Makefile                  |  2 --
 debian/changelog          |  6 +++++
 debian/copyright          |  3 +++
 debian/cron.daily         | 67 +++++++++++++++++++++++++++++++++++++++++++++++
 debian/default            | 13 +++++++++
 debian/rules              |  2 ++
 src/config                | 10 +++----
 src/main.sh               |  2 +-
 src/scripts/02defaults.sh | 10 +++++++
 src/scripts/14chroot.sh   | 17 +++++++++---
 11 files changed, 129 insertions(+), 12 deletions(-)
 create mode 100644 debian/cron.daily
 create mode 100644 debian/default

diff --git a/ChangeLog b/ChangeLog
index ec9d1cd..af4fe3e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2007-01-30 Daniel Baumann <daniel@debian.org>
+
+	* Added cron job for autobuilding images.
+
+2007-01-25 Daniel Baumann <daniel@debian.org>
+
+	* Added additional pruning to minimal flavour.
+	* Using interactive frontend while processing --hook.
+
 2007-01-24 Daniel Baumann <daniel@debian.org>
 
 	* Applied patches from Otavio Salvador <otavio@debian.org>:
diff --git a/Makefile b/Makefile
index ec21f48..9bdb6db 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,6 @@
 all:	install
 
 install:
-	# Installing make-live
 	@# Install main script
 	install -D -m 0755 src/main.sh $(DESTDIR)/usr/sbin/make-live
 
@@ -36,7 +35,6 @@ install:
 	install -m 0644 doc/man/*.8  $(DESTDIR)/usr/share/man/man8
 
 uninstall:
-	# Uninstalling make-live
 	@# Remove main script
 	rm -f $(DESTDIR)/usr/sbin/make-live
 
diff --git a/debian/changelog b/debian/changelog
index 7827510..f09a07f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+live-package (0.99.18-1) unstable; urgency=low
+
+  * New upstream release.
+
+ -- Daniel Baumann <daniel@debian.org>  Thu, 25 Jan 2007 08:29:00 +0100
+
 live-package (0.99.17-1) unstable; urgency=low
 
   * New upstream release.
diff --git a/debian/copyright b/debian/copyright
index 407c2f9..5a6aab6 100644
--- a/debian/copyright
+++ b/debian/copyright
@@ -54,3 +54,6 @@ License (contrib/syslinux-splash/*, templates/isolinux/splash.rle):
 
 	Note: we would appreciate that you make the image a link to
 	http://www.debian.org/ if you use it on a web page.
+
+The Debian packaging is (C) 2006-2007, Daniel Baumann <daniel@debian.org> and
+is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
diff --git a/debian/cron.daily b/debian/cron.daily
new file mode 100644
index 0000000..50f34b5
--- /dev/null
+++ b/debian/cron.daily
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+# Check for make-live executable
+if [ ! -x /usr/sbin/make-live ]
+then
+	exit 0
+fi
+
+# Check for make-live default
+if [ -r /etc/default/make-live ]
+then
+	. /etc/default/make-live
+else
+	echo "E: /etc/default/make-live missing."
+	exit 1
+fi
+
+# Check for autobuild
+if [ "${AUTOBUILD}" = "false" ]
+then
+	exit 0
+fi
+
+# Check for build directory
+if [ ! -d "${DIRECTORY}" ]
+then
+	mkdir -p "${DIRECTORY}"
+else
+	# FIXME: maybe we should just remove the left overs.
+	echo "E: ${DIRECTORY} needs cleanup."
+	exit 1
+fi
+
+# Process image autobuilding
+cd "${DIRECTORY}"
+
+for DISTRIBUTION in ${DISTRIBUTIONS}
+do
+	for FLAVOUR in ${FLAVOURS}
+	do
+		if [ ! -f "${SERVER}"/daily-release/${DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}_${DATE}.txt ]
+		then
+			# Generating images
+			mkdir debian-live
+			make-live -d ${DISTRIBUTION} -p ${FLAVOUR} -m ${MIRROR} ${OPTIONS} > debian-live/log.txt 2>&1
+		fi
+
+		if [ -f debian-live/binary.iso ] && [ -f debian-live/source.iso ]
+		then
+			# Moving images
+			mkdir -p "${SERVER}"/daily-release/${DATE}/log
+			mv debian-live/log.txt "${SERVER}"/daily-release/${DATE}/log/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}_${DATE}.txt
+
+			mkdir -p "${SERVER}"/daily-release/${DATE}/${ARCHITECTURE}
+			mv debian-live/binary.iso "${SERVER}"/daily-release/${DATE}/${ARCHITECTURE}/debian-live-${DISTRIBUTION}-${ARCHITECTURE}-${FLAVOUR}.iso
+
+			mkdir -p "${SERVER}"/daily-release/${DATE}/source
+			mv debian-live/source.iso "${SERVER}"/daily-release/${DATE}/source/debian-live-${DISTRIBUTION}-source-${FLAVOUR}.iso
+		fi
+
+		rm -rf debian-live
+	done
+done
+
+# Cleanup
+umount -f "${DIRECTORY}"/debian-live/chroot/proc > /dev/null 2>&1
+rm -rf "${DIRECTORY}"
diff --git a/debian/default b/debian/default
new file mode 100644
index 0000000..bd8e7fd
--- /dev/null
+++ b/debian/default
@@ -0,0 +1,13 @@
+# Defaults for make-live cron.daily
+
+AUTOBUILD="false"
+
+DISTRIBUTIONS="etch sid"
+FLAVOURS="minimal standard kde gnome xfce"
+MIRROR="http://ftp.debian.org/debian/"
+OPTIONS="--with-source"
+
+DIRECTORY="/srv/tmp/make-live"
+SERVER="/srv/debian-live"
+ARCHITECTURE="`dpkg --print-architecture`"
+DATE="`date +%Y%m%d`"
diff --git a/debian/rules b/debian/rules
index d2e32d5..ef72dea 100755
--- a/debian/rules
+++ b/debian/rules
@@ -23,6 +23,7 @@ install: build
 
 	# Installing package
 	$(MAKE) install DESTDIR=$(CURDIR)/debian/live-package
+	install -D debian/default debian/live-package/etc/default/make-live
 
 binary-arch: build install
 
@@ -32,6 +33,7 @@ binary-indep: build install
 	dh_installchangelogs ChangeLog
 	dh_installdocs
 	dh_install
+	dh_installcron
 	dh_compress
 	dh_fixperms
 	dh_installdeb
diff --git a/src/config b/src/config
index 4eecb36..1b52a68 100644
--- a/src/config
+++ b/src/config
@@ -85,11 +85,11 @@ LIVE_REPOSITORY_KEYRING_edu="debian-edu-archive-keyring"
 LIVE_REPOSITORY_DISTRIBUTION_edu="etch-test"
 LIVE_REPOSITORY_SECTIONS_edu="local"
 
-LIVE_REPOSITORY_duo="http://ftp.debian-unofficial.org/debian/"
-LIVE_REPOSITORY_KEY_duo="http://ftp-master.debian-unofficial.org/key_2006.asc"
-LIVE_REPOSITORY_KEYRING_duo=""
-LIVE_REPOSITORY_DISTRIBUTION_duo=""
-LIVE_REPOSITORY_SECTIONS_duo="main contrib non-free restricted"
+LIVE_REPOSITORY_restricted="http://ftp.debian-unofficial.org/debian-restricted/"
+LIVE_REPOSITORY_KEY_restricted="http://ftp-master.debian-unofficial.org/key_2007.asc"
+LIVE_REPOSITORY_KEYRING_restricted=""
+LIVE_REPOSITORY_DISTRIBUTION_restricted=""
+LIVE_REPOSITORY_SECTIONS_restricted="restricted"
 
 LIVE_REPOSITORY_fai="http://www.informatik.uni-koeln.de/fai/download/"
 LIVE_REPOSITORY_KEY_fai=""
diff --git a/src/main.sh b/src/main.sh
index efaab54..cb65d7d 100755
--- a/src/main.sh
+++ b/src/main.sh
@@ -28,7 +28,7 @@ set -e
 BASE=${LIVE_BASE:-"/usr/share/make-live"}
 CONFIG="/etc/make-live.conf"
 PROGRAM="`basename ${0}`"
-VERSION="0.99.17"
+VERSION="0.99.18"
 
 CODENAME_OLDSTABLE="woody"
 CODENAME_STABLE="sarge"
diff --git a/src/scripts/02defaults.sh b/src/scripts/02defaults.sh
index aa26f76..83101fc 100644
--- a/src/scripts/02defaults.sh
+++ b/src/scripts/02defaults.sh
@@ -260,4 +260,14 @@ Defaults ()
 	then
 		LIVE_DISK_VOLUME="Debian Live `date +%Y%m%d`"
 	fi
+
+	if [ -z "${LIVE_DEBCONF_FRONTEND}" ]
+	then
+		LIVE_DEBCONF_FRONTEND="noninteractive"
+	fi
+
+	if [ -z "${LIVE_DEBCONF_PRIORITY}" ]
+	then
+		LIVE_DEBCONF_PRIORITY="critical"
+	fi
 }
diff --git a/src/scripts/14chroot.sh b/src/scripts/14chroot.sh
index 5132e8c..125f08f 100644
--- a/src/scripts/14chroot.sh
+++ b/src/scripts/14chroot.sh
@@ -12,7 +12,7 @@
 Chroot_exec ()
 {
 	# Execute commands chrooted
-	chroot "${LIVE_CHROOT}" /usr/bin/env -i HOME="/root" PATH="/usr/sbin:/usr/bin:/sbin:/bin" TERM="${TERM}" ftp_proxy="${LIVE_PROXY_FTP}" http_proxy="${LIVE_PPROXY_HTTP}" DEBIAN_FRONTEND="noninteractive" DEBIAN_PRIORITY="critical" ${1}
+	chroot "${LIVE_CHROOT}" /usr/bin/env -i HOME="/root" PATH="/usr/sbin:/usr/bin:/sbin:/bin" TERM="${TERM}" ftp_proxy="${LIVE_PROXY_FTP}" http_proxy="${LIVE_PPROXY_HTTP}" DEBIAN_FRONTEND="${LIVE_DEBCONF_FRONTEND}" DEBIAN_PRIORITY="${LIVE_DEBCONF_PRIORITY}" ${1}
 	return ${?}
 }
 
@@ -152,7 +152,7 @@ EOF
 		if [ -r "${BASE}"/hooks/"${LIVE_FLAVOUR}" ]
 		then
 			grep -v "^#" "${BASE}"/hooks/"${LIVE_FLAVOUR}" > "${LIVE_CHROOT}"/root/"${LIVE_FLAVOUR}"
-			Chroot_exec "sh /root/${LIVE_FLAVOUR}"
+			LIVE_DEBCONF_FRONTEND="readline" LIVE_DEBCONF_PRIORITY="low" Chroot_exec "sh /root/${LIVE_FLAVOUR}"
 			rm -f "${LIVE_CHROOT}"/root/"${LIVE_FLAVOUR}"
 		fi
 
@@ -160,10 +160,10 @@ EOF
 		if [ -r "${LIVE_HOOK}" ]
 		then
 			# FIXME
-			Chroot_exec "`cat ${LIVE_HOOK}`"
+			LIVE_DEBCONF_FRONTEND="readline" LIVE_DEBCONF_PRIORITY="low" Chroot_exec "`cat ${LIVE_HOOK}`"
 		elif [ -n "${LIVE_HOOK}" ]
 		then
-			Chroot_exec "${LIVE_HOOK}"
+			LIVE_DEBCONF_FRONTEND="readline" LIVE_DEBCONF_PRIORITY="low" Chroot_exec "${LIVE_HOOK}"
 		fi
 
 		# Temporary hacks for broken packages
@@ -182,6 +182,15 @@ EOF
 		rm -rf "${LIVE_CHROOT}"/var/cache/apt
 		mkdir -p "${LIVE_CHROOT}"/var/cache/apt/archives/partial
 
+		if [ "${LIVE_FLAVOUR}" = "minimal" ]
+		then
+			rm -f "${LIVE_CHROOT}"/var/lib/apt/lists/*
+			rm -f "${LIVE_CHROOT}"/var/lib/dpkg/available-old
+			rm -f "${LIVE_CHROOT}"/var/lib/dpkg/diversions-old
+			rm -f "${LIVE_CHROOT}"/var/lib/dpkg/statoverride-old
+			rm -f "${LIVE_CHROOT}"/var/lib/dpkg/status-old
+		fi
+
 		# Workaround binfmt-support /proc locking
 		umount "${LIVE_CHROOT}"/proc/sys/fs/binfmt_misc > /dev/null || true
 
-- 
cgit v1.0