#!/bin/sh set -e if [ -f "$HOME/.makejuppix" ] ; then echo "Loading local configuration from $HOME/.makejuppix" . $HOME/.makejuppix fi prefix=${prefix:-/usr/local/src/juppix} workdir=${workdir:-"$prefix/work"} kind=${kind:-${1:-"iso"}} size=${size:-${2:-"small"}} case "$kind" in iso|usb-hdd) : ;; *) echo "Unknown kind $kind" exit 1 ;; esac case "$size" in small|large) : ;; *) echo "Unknown size $size" exit 1 ;; esac juppix_date="$(date +%Y%m%d)" juppix_version="${juppix_version:-$juppix_date}" case $(who am i) in jch*) juppix_version="${juppix_version%[js]}j" ;; lebresne*) juppix_version="${juppix_version%[js]}s" ;; jcristau*) juppix_version="${juppix_version%[js]}c" ;; *) juppix_version="${juppix_version} test" ;; esac if [ -e "$workdir" ] ; then echo "Eek! $workdir exists." echo "Perhaps you need to run cleanup.sh?" exit 1 fi if [ ! -f "$prefix"/config/chroot_local-packages/deug*.deb ] ; then echo "Eek! Couldn't find Deug classes." echo "Perhaps you need to put some packages into "$prefix"/chroot_local-packages/" exit 1 fi mkdir "$workdir"/ initconfig() { echo "# Automatically generated file -- do not edit" \ >"$workdir"/config/"$1" } config() { if [ $# != 3 ] ; then echo "config called with $@"; exit 1; fi case "$1" in binary|bootstrap|chroot|common) : ;; *) echo "Unknown config file $1!" exit 1 ;; esac echo "$2"="\"$3\"" >> "$workdir"/config/"$1" } echo "Generating configuration..." umask 0022 cp -dR config/ "$workdir"/ find "$workdir"/config -type f -name '*~' -delete mkdir "$workdir"/config/chroot_local-packageslists chmod ugo+x "$workdir"/config/chroot_local-hooks/* initconfig binary initconfig bootstrap initconfig chroot initconfig common case "$kind" in iso) config binary LH_BINARY_IMAGES iso ;; usb-hdd) config binary LH_BINARY_IMAGES usb-hdd config binary LH_BINARY_FILESYSTEM fat32 ;; esac config binary LH_BINARY_INDICES enabled config binary LH_HOSTNAME juppix config binary LH_ISO_APPLICATION Juppix config binary LH_ISO_PUBLISHER "Université de Paris 7, juppix@pps.jussieu.fr" config binary LH_ISO_VOLUME "Juppix $juppix_version ($size)" config binary LH_SYSLINUX_MENU_LIVE_ENTRY "Lancer Juppix" config binary LH_SYSLINUX_MENU_MEMTEST_ENTRY "Test memoire" config binary LH_SYSLINUX_SPLASH "$prefix/splash.png" config binary LH_USERNAME juppix config binary LH_BOOTAPPEND_LIVE "timezone=Europe/Paris keyb=fr" config binary LH_INCLUDES none config bootstrap LH_DISTRIBUTION lenny config bootstrap LH_ARCHITECTURE i386 config bootstrap LH_MIRROR_BOOTSTRAP "http://ftp.fr.debian.org/debian/" config bootstrap LH_MIRROR_CHROOT "http://ftp.fr.debian.org/debian/" config bootstrap LH_MIRROR_CHROOT_SECURITY "http://security.debian.org/" config bootstrap LH_MIRROR_BINARY "http://ftp.fr.debian.org/debian/" config bootstrap LH_MIRROR_BINARY_SECURITY "http://security.debian.org/" config bootstrap LH_CATEGORIES "main contrib non-free" config chroot LH_LANGUAGE fr config chroot LH_PACKAGES_LISTS "juppix" config chroot LH_LINUX_FLAVOURS "686" case "$size" in small) sed -e 's/^#iflarge[ \t].*//' \ < "$prefix"/package-list.txt \ > "$workdir"/config/chroot_local-packageslists/juppix ;; large) sed -e 's/^#iflarge[ \t]//' \ < "$prefix"/package-list.txt \ > "$workdir"/config/chroot_local-packageslists/juppix ;; esac # work around a bug in live-helper config chroot LH_UNION_FILESYSTEM "aufs" config chroot LH_LINUX_PACKAGES "linux-image-2.6 \${LH_UNION_FILESYSTEM}-modules-2.6 squashfs-modules-2.6" config common LH_APT apt config common LH_APT_RECOMMENDS disabled # work around a bug in live-helper config common LH_INITRAMFS auto echo "Generating bookmark files..." bash "$prefix/bookmarks-gen.sh" $size konq \ "$prefix/bookmarks.txt" \ "$workdir/config/chroot_local-includes/etc/skel/.kde/share/apps/konqueror/bookmarks.xml" bash "$prefix/bookmarks-gen.sh" $size ffox \ "$prefix/bookmarks.txt" \ "$workdir/config/chroot_local-includes/etc/skel/.mozilla/firefox/profile.default/bookmarks.html" chown -R root:root "$workdir"/config/chroot_local-includes/* echo "Building image..." (cd "$workdir"; lh_build | tee "$prefix"/juppix.log) [ -f "$workdir/chroot/var/cache/man/index.db" ] || \ (echo "Somebody nuked index.db; please patch live-helper!"; \ echo "See Debian bug #527311."; \ exit 1) echo "Done!"