Author: pere Date: 2007-08-03 22:23:53 +0000 (Fri, 03 Aug 2007) New Revision: 991
Added: packages/debian-gis/build-gis-live packages/debian-gis/packages-live Log: Start on script to build live CD. Added: packages/debian-gis/build-gis-live =================================================================== --- packages/debian-gis/build-gis-live (rev 0) +++ packages/debian-gis/build-gis-live 2007-08-03 22:23:53 UTC (rev 991) @@ -0,0 +1,180 @@ +#!/bin/sh +# +# (c) 2006, 2007 Holger Levsen <[EMAIL PROTECTED]> +# (c) 2007 Petter Reinholdtsen <[EMAIL PROTECTED]> +# +# Licended under GPL2 +# +# Build script for Debian Gis Live CD. +# Based on build script for Debian Edu live CD. +# +# Build depends: live-helper +# +############################################################################## + +# Exit on errors +set -e + +# CD boot image +#SPLASHPNG=foo.png + +# Update scripts from svn during the build? +UPDATESVN=false + +#SUDO=sudo + +# Where to fetch the base system +mirror=ftp://ftp.no.debian.org/debian/ + +BUILD_DIR="$(dirname $0)" + +msg_info() { + #echo info: $@ + : +} + +msg_error() { + echo error: $@ +} + +if cd $BUILD_DIR ; then + : +else + msg_error "$BUILD_DIR doesn't exist, aborting." + echo + echo "svn co svn://svn.debian.org/svn/pkg-grass/packages/debian-gis" + exit 1 +fi + +PUBLISH_DIR=~ftp/debian-gis-live +PUBLISH_DIR=$(pwd)/../debian-gis-live +LOCKFILE="/var/lock/gislive-build" +LOGFILE=`mktemp` +TODAY="`date +%Y%m%d%H%M`" + +# +# check lockfile +# +if [ -f "$LOCKFILE" ] ; then + echo $LOCKFILE exists, aborting + exit 1 +fi +at_exit() { + rm $LOCKFILE + if [ -f $LOGFILE ] ; then + cp $LOGFILE $PUBLISH_DIR/gislive-${TODAY}.log + chmod 644 $PUBLISH_DIR/gislive-${TODAY}.log + rm $LOGFILE + fi +} +trap at_exit EXIT +touch $LOCKFILE + +# +# prepare +# +if [ true = "UPDATESVN" ] ; then + # display diffs from current local version to version in repository + svn diff --revision HEAD + + # update to version in repository + svn up -q +fi + +# cleanup +if [ -d debian-live ] ; then + if $SUDO /bin/rm -rf $BUILD_DIR/debian-live > /dev/null ; then + msg_info "removed old build directory" + else + msg_error "problems removing old build" + exit 1 + fi +fi + +# Installing 'etch' to make this buildable with debootstrap from etch, +# but adding a lenny archive below to get the packages from lenny. +if /usr/bin/make-live config \ + --initramfs live-initramfs \ + --bootappend "quiet splash" \ + --keyring-packages debian-archive-keyring \ + --mirror-bootstrap $mirror \ + --distribution etch \ + --sections "main" \ + --packages debian-edu-install \ + --packages-lists packages-live \ + --apt-recommends disabled \ + --hooks /root/post-install-hook +then + msg_info generating configuration succeeded +else + msg_error generating configuration failed + exit 1 +fi + +# Generate host-install hook script +mkdir -p debian-live/chroot/root +cat <<EOF > debian-live/chroot/root/post-install-hook +#!/bin/sh +# Script executed in the build chroot after the packages are installed. + +EOF +chmod a+rx debian-live/chroot/root/post-install-hook + +# Make the package list available +( + cat packages-live +) | grep -v '#' > debian-live/config/chroot_local-packageslists/packages-live + +# Add an extra repository to use during package installation +for file in live.bootstrap live.binary ; do + echo deb ftp://ftp.no.debian.org/debian/ lenny main \ + >> debian-live/config/chroot_sources/$file +done + +# Generate RLE from our boot splash image PNG in debian-edu-artwork +# Color index 0 is background, and index 7 is foreground. Set to +# black and white respecively +if [ -f "$SPLASHPNG" ] ; then + mkdir -p debian-live/config/binary_syslinux + pngtopnm < /usr/share/pixmaps/splash/debian-edu-splash.png | \ + ppmquant 16 2>/dev/null | \ + ppmtolss16 "#ffffff=7" "#000000=0" 2>/dev/null \ + > debian-live/config/binary_syslinux/splash.rle +fi + +# +# build +# +if $SUDO /usr/bin/make-live > $LOGFILE 2>&1 ; then + msg_info "build succeeded." +else + msg_error "build failed." + exit 1 +fi + +# +# publish +# +if [ -f debian-live/binary.iso ] ; then + cp debian-live/binary.iso $PUBLISH_DIR/gislive-${TODAY}.iso + md5sum $PUBLISH_DIR/gislive-${TODAY}.iso > $PUBLISH_DIR/gislive-${TODAY}.md5sum + msg_info successfully build live-cd, download at http://ftp.skolelinux.org/cd-etch-live/gislive-${TODAY}.iso +else + echo "#########################################################" + echo + echo "An error occured, .iso was not created :-(" + echo + echo "30 last lines of the make-live output:" + echo + tail -30 $LOGFILE +fi + +# +# cleanup old images and logs +# +cd $PUBLISH_DIR +find . -mtime +1 ! -name "gislive-*00.???" -exec rm {} \; +find . -mtime +2 ! -name "gislive-1600.???" -exec rm {} \; +find . -mtime +14 ! -name "gislive-0400.???" -exec rm {} \; + +# The lockfile is removed by the at_exit function Added: packages/debian-gis/packages-live =================================================================== --- packages/debian-gis/packages-live (rev 0) +++ packages/debian-gis/packages-live 2007-08-03 22:23:53 UTC (rev 991) @@ -0,0 +1,29 @@ +# This file should be automatically generated from the tasks files. +xorg +#kde +xserver-xorg +avce00 +e00compr +earth3d +geoip +gmt +gpsbabel +gpsd +gpsd-clients +gpsdrive +gpsman, +gpsmanshp +gpstrans +gpx2shp +grace6 +grass-doc +kflog, +mapserver +openev +openjump +openscenegraph +php4-mapscript, +phppgadmin +postgis +proj +thuban _______________________________________________ Pkg-grass-devel mailing list Pkg-grass-devel@lists.alioth.debian.org http://lists.alioth.debian.org/mailman/listinfo/pkg-grass-devel