diff --git a/contrib/rootfs/pre_installed_packages b/contrib/rootfs/pre_installed_packages new file mode 100644 index 0000000000000000000000000000000000000000..a7eb4b1b8f84b9bbb9a9efc17ebd7d9784b25ec8 --- /dev/null +++ b/contrib/rootfs/pre_installed_packages @@ -0,0 +1,100 @@ +#Desktop stuff for Kubuntu +firefox +thunderbird +kfind +kompare +xloadimage +gpsd-clients +kde-config-gtk-style +ffmpeg +hunspell +vlc + +#System stuff, e.g. gcc and efibootmgr +automake +cmake +aspell-de +build-essential +lvm2 +mencoder +screen +tofrodos +efibootmgr +gdisk +linux-headers +moreutils +network-manager-vpnc +vim +htop + +#texlive +chktex +cm-super +context +dvidvi +dvipng +feynmf +fragmaster +info +lacheck +latex-beamer +latex-cjk-all +latexdiff +latexmk +latex-sanskrit +latex-xcolor +lcdf-typetools +lmodern +pgf +prosper +psutils +purifyeps +t1utils +tex4ht +tex-gyre +texinfo +texlive-base +texlive-bibtex-extra +texlive-binaries +texlive-extra-utils +texlive-fonts-extra +texlive-fonts-recommended +texlive-font-utils +texlive-formats-extra +texlive-games +texlive-generic-extra +texlive-generic-recommended +texlive-humanities +texlive-lang-english +texlive-lang-german +texlive-latex-base +texlive-latex-extra +texlive-latex-recommended +texlive-luatex +texlive-math-extra +texlive-metapost +texlive-music +texlive-omega +texlive-pictures +texlive-plain-extra +texlive-pstricks +texlive-publishers +texlive-science +texlive-xetex +tipa +xindy + +#german language support +hunspell-de-de +language-pack-de +language-pack-support-de +wngerman +wogerman +wswiss +poppler-data +libreoffice-l10n-de +libreoffice-help-de +hyphen-de +mythes-de +thunderbird-locale-de +firefox-locale-de diff --git a/contrib/rootfs/pre_installed_packages.without-recommends b/contrib/rootfs/pre_installed_packages.without-recommends new file mode 100644 index 0000000000000000000000000000000000000000..44e5e1b6ebfb88e35ee1472bfc25af4b5009208e --- /dev/null +++ b/contrib/rootfs/pre_installed_packages.without-recommends @@ -0,0 +1 @@ +mdadm diff --git a/scripts/remaster_rootfs.sh b/scripts/remaster_rootfs.sh new file mode 100755 index 0000000000000000000000000000000000000000..00708b2e1479a9afc3116cf77e6c2f60cb9b3935 --- /dev/null +++ b/scripts/remaster_rootfs.sh @@ -0,0 +1,98 @@ +#!/bin/bash + +SCRIPT_DIR="$1" +CONTRIB_DIR="$SCRIPT_DIR/contrib/rootfs" + +#TODO: Disable initctl + +#source common functions (e.g. patch_all) +if [ -e "$SCRIPT_DIR/scripts/common_functions.sh" ]; then + source "$SCRIPT_DIR/scripts/common_functions.sh" +fi + +function prepare_install() +{ + if [ -e "$CONTRIB_DIR/lip_sources.list" ]; then + cp -v "$CONTRIB_DIR/lip_sources.list" "/etc/apt/sources.list" + fi + + #uncomment if newest texlive is not part of your distribution + #add-apt-repository -y ppa:texlive-backports/ppa + + apt-get update +} + +function install_packages_from_file() +{ + FILENAME="$1" + APT_OPTIONS=$2 + + if [ ! -e "$FILENAME" ]; then + echo "Error: package file $FILENAME does not exist!" + exit 3 + fi + + PKGS=$(grep -v "^#" "$FILENAME" | tr '\n' ' ') + + aptitude install -y $APT_OPTIONS $PKGS +} + +function install_packages() +{ + apt-get upgrade --assume-yes --force-yes + apt-get install aptitude -y + + #aptitude full-upgrade -y # make sure we have the newest versions + # Some daily images do not have a kernel ?!? + + #uncomment this if you remaster a daily build (fix kernel version!) + #aptitude reinstall linux-image-generic-lts-raring -y + #apt-cache depends linux-image-generic-lts-raring | tail -n+2 | awk '{print $NF}' | xargs aptitude reinstall -y + + install_packages_from_file "$CONTRIB_DIR/pre_installed_packages" "" + install_packages_from_file "$CONTRIB_DIR/pre_installed_packages.without-recommends" "--without-recommends" + + MISSING_LANG_PKG="$(check-language-support -l de_DE)" + MISSING_LANG_PKG="$(check-language-support -l en_US) $MISSING_LANG_PKG" # check for missing packages for de_DE and en_US + + if [ -n "$MISSING_LANG_PKG" ]; then + aptitude install $MISSING_LANG_PKG -y + fi + + EXTRA_LANG_PKG="$(dpkg-query --show | cut -f1 | grep -E '^(language-pack|language-support|firefox-locale|thunderbird-locale|libreoffice-help|libreoffice-l10n)' | grep -Ev "[-](de|en)\>")" # remove extra language packages + + if [ -n "$EXTRA_LANG_PKG" ]; then + aptitude purge $EXTRA_LANG_PKG -y + fi + + install_debs "$CONTRIB_DIR/debs/" +} + +function finalize() +{ + echo -n "Europe/Berlin" > /etc/timezone + + rm -rf /var/crash/* + #TODO: verify + rm -rf /var/cache/apt/* +} + +function install_kde_defaults() +{ + mkdir -p /etc/skel/.kde/share/config/ + cp "$CONTRIB_DIR/kde_config/"* /etc/skel/.kde/share/config/ +} + +prepare_install +install_packages + +install_kde_defaults + +#patch rootfs +patch_all "$SCRIPT_DIR/patches/rootfs/" "/" + +#i.e. required for applying default-wallpaper patch +#echo "compiling glib2 schemas..." +#glib-compile-schemas /usr/share/glib-2.0/schemas + +finalize