-#!/bin/bash -e
-
-RELEASE='12.04'
-PACKAGE_NAME="ubuntu-desktop-custom"
-PACKAGE_VERSION="1.0.$(date +%Y-%m-%d.%H-%M)"
-
-DEPENDS='
-aptitude
-atop
-build-essential
-colordiff
-cryptsetup
-curl
-dconf-tools
-dvdbackup
-elinks
-equivs
-exiftags
-fdupes
-git
-gnome-session-fallback
-gpick
-gstreamer-tools
-gvfs-bin
-hyphen-en-us
-imagemagick
-keepassx
-kid3-qt
-language-pack-en
-language-pack-gnome-en
-libav-tools
-libreoffice
-lightdm-gtk-greeter
-lvm2
-mercurial
-mplayer
-mythes-en-au
-mythes-en-us
-netcat-openbsd
-netcat6
-python-lxml
-rdesktop
-renameutils
-screen
-screenruler
-sqlite3
-sshfs
-subversion
-unrar
-vim
-xdotool
-xsel
-xtightvncviewer
-xz-utils
-zip
-'
-
-EXCLUDE='
-activity-log-manager-control-center
-app-install-data-partner
-apport-gtk
-branding-ubuntu
-checkbox-qt
-deja-dup
-empathy
-example-content
-gnome-session
-gnome-session-canberra
-gwibber
-ibus
-ibus-gtk3
-ibus-pinyin
-ibus-pinyin-db-android
-ibus-table
-in-switch
-kerneloops-daemon
-landscape-client-ui-install
-launchpad-integration
-nautilus-sendto
-nautilus-share
-rhythmbox
-rhythmbox-plugin-magnatune
-rhythmbox-ubuntuone
-software-center
-software-properties-gtk
-telepathy-idle
-thunderbird
-thunderbird-gnome-support
-transmission-gtk
-ubuntu-sounds
-ubuntuone-client-gnome
-ubuntuone-installer
-unity
-unity-2d
-unity-greeter
-whoopsie
-xul-ext-ubufox
-'
-
-
-####################
-# Preflight checks #
-####################
-
-if [ "$(lsb_release -r | cut -d ':' -f 2 | tr -d ' ')" != "$RELEASE" ]; then
- echo "Sorry, at the moment this script only supports Ubuntu $RELEASE"
- exit 1
-fi
-
-if ! grep -q universe /etc/apt/sources.list /etc/apt/sources.list.d/*.list; then
- echo "You must enable universe in your apt sources.list"
- exit 1
-fi
-
-if ! grep -q multiverse /etc/apt/sources.list /etc/apt/sources.list.d/*.list; then
- echo "You must enable multiverse in your apt sources.list"
- exit 1
-fi
-
-if ! which equivs-build > /dev/null; then
- sudo apt-get install equivs
-fi
-
-
-
-##########################
-# Build the control file #
-##########################
-
-CONTROLFILE="$(tempfile)"
-echo "-- Writing control file to $CONTROLFILE"
-
-cat > "$CONTROLFILE" <<EOT
-Package: $PACKAGE_NAME
-Section: metapackages
-Priority: optional
-Standards-Version: 3.9.2
-Conflicts: ubuntu-desktop
-Replaces: ubuntu-desktop
-
-Version: $PACKAGE_VERSION
-Description: Customised Ubuntu desktop system
- Similar to ubuntu-desktop, but with some additions and removals.
-EOT
-
-function get_line {
- line="$(apt-cache show ubuntu-desktop | grep "$1:")"
- for pkg in $EXCLUDE; do
- line="$(echo "$line" | sed -e "s/$pkg, //" -e "s/, $pkg\$//")"
- done
- echo -n "$line"
-}
-
-(
-echo
-
-get_line 'Depends'
-echo ", $(echo $DEPENDS | sed 's/ /, /g')"
-
-get_line 'Recommends'
-echo
-) >> "$CONTROLFILE"
-
-
-##################
-# Build the .deb #
-##################
-
-echo "-- Building .deb in working directory"
-equivs-build "$CONTROLFILE"
-rm -f "$CONTROLFILE"
-
-
-#############
-# Go go go! #
-#############
-
-echo "-- Go go go!"
-sudo aptitude install $DEPENDS
-sudo dpkg -i "${PACKAGE_NAME}_${PACKAGE_VERSION}_all.deb"
-sudo aptitude purge $EXCLUDE
-