From 91baeb0561c44cbdcf774220d1b40291c4be8045 Mon Sep 17 00:00:00 2001 From: Jonas Smedegaard Date: Sun, 2 Mar 2014 21:06:00 +0100 Subject: Restructure to generate preseed files from skeleton + packagelists. --- Makefile | 17 ++++++++++ bin/pkglist2preseed | 12 +++++++ content/desktop/base/preseed.cfg | 66 ------------------------------------ content/desktop/email/preseed.cfg | 60 --------------------------------- content/desktop/office/preseed.cfg | 68 -------------------------------------- content/desktop/web/preseed.cfg | 60 --------------------------------- profiles/desktop | 4 +++ profiles/desktop-email | 3 ++ profiles/desktop-office | 10 ++++++ profiles/desktop-web | 2 ++ profiles/desktop-z | 8 +++++ skel/preseed.cfg.in | 55 ++++++++++++++++++++++++++++++ 12 files changed, 111 insertions(+), 254 deletions(-) create mode 100644 Makefile create mode 100755 bin/pkglist2preseed delete mode 100644 content/desktop/base/preseed.cfg delete mode 100644 content/desktop/email/preseed.cfg delete mode 100644 content/desktop/office/preseed.cfg delete mode 100644 content/desktop/web/preseed.cfg create mode 100644 profiles/desktop create mode 100644 profiles/desktop-email create mode 100644 profiles/desktop-office create mode 100644 profiles/desktop-web create mode 100644 profiles/desktop-z create mode 100644 skel/preseed.cfg.in diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..c4a178c --- /dev/null +++ b/Makefile @@ -0,0 +1,17 @@ +profiles = desktop +desktoptopics = email office web +desktoptopiclists = $(patsubst %,profiles/desktop-%,$(desktoptopics)) +basefiles = $(patsubst %,content/%/base/preseed.cfg,$(profiles)) +topicfiles = $(patsubst %,content/desktop/%/preseed.cfg,$(desktoptopics)) +profilefiles = $(patsubst %,content/%/preseed.cfg,$(profiles)) + +all: $(basefiles) $(topicfiles) $(profilefiles) + +$(basefiles): content/%/base/preseed.cfg : profiles/% profiles/%-z + bin/pkglist2preseed skel/preseed.cfg.in $^ > $@ + +$(topicfiles): content/desktop/%/preseed.cfg : profiles/desktop profiles/desktop-% profiles/desktop-z + bin/pkglist2preseed skel/preseed.cfg.in $^ > $@ + +$(profilefiles): content/%/preseed.cfg : profiles/% profiles/%-email $(desktoptopiclists) profiles/%-z + bin/pkglist2preseed skel/preseed.cfg.in $^ > $@ diff --git a/bin/pkglist2preseed b/bin/pkglist2preseed new file mode 100755 index 0000000..1691f4e --- /dev/null +++ b/bin/pkglist2preseed @@ -0,0 +1,12 @@ +#!/bin/sh + +set -eu + +skelfile="$1"; shift + +pkgdesc=$(perl -nE '/^[#]{2} (.*)/ and say "# $1"; /^[#]{1} (.*)/ and say "# * $1"' "$@") #' +pkglist=$(perl -ne 'chomp; /^[^#]+/ and print "$_ "' "$@") + +export pkgdesc pkglist + +perl -pe 's,__PKGDESC__,$ENV{"pkgdesc"},;s,__PKGLIST__,$ENV{"pkglist"},' < $skelfile diff --git a/content/desktop/base/preseed.cfg b/content/desktop/base/preseed.cfg deleted file mode 100644 index 94cddba..0000000 --- a/content/desktop/base/preseed.cfg +++ /dev/null @@ -1,66 +0,0 @@ -# install the lightweight Xfce desktop, and... -# * include desktop helper tools missing from Xfce -# * include crypto helper tools -# * include CPU tools, firmware and automatic maintenance routines -# * fix include recommendations of other packages (uuid, bash) -# * apply security updates immediately after install -# * exclude support for print via Bluetooth -tasksel tasksel/desktop multiselect xfce -tasksel tasksel/first multiselect laptop -#xfce4-session tango-icon-theme lightdm -#usermode network-manager-gnome -#parcimonie haveged -#cpufrequtils firmware-linux unattended-upgrades -#uuid-runtime bash-completion -#-bluez-cups -d-i pkgsel/include string xfce4-session tango-icon-theme lightdm usermode network-manager-gnome parcimonie haveged cpufrequtils firmware-linux unattended-upgrades uuid-runtime bash-completion -bluez-cups -d-i pkgsel/upgrade select safe-upgrade - -# setup harddrive with full disk encryption -# * overwrite any existing data without warning -partman-auto partman-auto/method string crypto -d-i partman-lvm/device_remove_lvm boolean true -d-i partman-md/device_remove_md boolean true -d-i partman-lvm/confirm boolean true -d-i partman-lvm/confirm_nooverwrite boolean true -d-i partman-auto/choose_recipe select multi -d-i partman-partitioning/confirm_write_new_label boolean true -d-i partman/choose_partition select finish -d-i partman/confirm boolean true -d-i partman/confirm_nooverwrite boolean true - -# silence misc. questions -# * attempt to auto-detect hardware -# * domain name irrelevant on desktop host without MTA -# * use CDN for package updates -# * disable direct root login (use sudo instead) -# * report usage statistics back to Debian developers -d-i netcfg/choose_interface select auto -d-i netcfg/get_domain string unassigned-domain -d-i mirror/country string manual -d-i mirror/http/hostname string http.debian.net -d-i mirror/http/directory string /debian -d-i clock-setup/utc boolean true -d-i clock-setup/ntp boolean true -d-i apt-setup/services-select multiselect security, updates -d-i apt-setup/security_host string security.debian.org -d-i passwd/root-login boolean false -popularity-contest popularity-contest/participate boolean true - -# enable unattended-upgrades -unattended-upgrades unattended-upgrades/enable_auto_updates boolean true - -# tidy loose ends... -# * fix mark auto-installed packages as such -# * for any file edited or created, preserve a backup with suffix .orig -# * silence confusing panel question at initial XFCE login -# * replace appfinder with mail-reader in default XFCE panel -# * disable storing Xfce session at logout by default -#set -e -#chroot /target apt-mark auto $(chroot /target apt-mark showmanual | grep '^lib') acpi acpi-support-base acpid adduser apt apt-utils aptitude-common base-files base-passwd bash bash-completion bsdmainutils bsdutils busybox coreutils cpio cron dash debconf debconf-i18n debian-archive-keyring debianutils diffutils dmidecode dpkg e2fslibs e2fsprogs findutils fonts-freefont-ttf gcc-4.7-base gnupg gpgv grep groff-base grub-common gzip hostname ifupdown initramfs-tools initscripts insserv install-info iproute isc-dhcp-client isc-dhcp-common keyboard-configuration kmod laptop-detect linux-image-amd64 locales login logrotate lsb-base mawk mount multiarch-support ncurses-base ncurses-bin net-tools netbase netcat-traditional passwd pciutils perl-base procps readline-common rsyslog sed sensible-utils sysv-rc sysvinit sysvinit-utils tar tasksel tasksel-data tzdata udev usbutils util-linux uuid-runtime vim-common xz-utils zlib1g -#_backup() { set -e; [ -e "$1.orig" ] || if [ -e "$1" ]; then cp -a "$1" "$1.orig"; else touch "$1.orig"; fi } -#_clone() { set -e; _backup "$2"; cp -a "$1" "$2" } -#cd /target/etc/xdg/xfce4/xfconf/xfce-perchannel-xml -#_clone ../../panel/default.xml xfce4-panel.xml; sed -i -r -e 's,xfce4-appfinder,exo-mail-reader,' xfce4-panel.xml -#_backup xfce4-session.xml; sed -i -r -e 's,(]*>),\1\n ,' xfce4-session.xml -d-i preseed/late_command string set -e;chroot /target apt-mark auto $(chroot /target apt-mark showmanual | grep '^lib') acpi acpi-support-base acpid adduser apt apt-utils aptitude-common base-files base-passwd bash bash-completion bsdmainutils bsdutils busybox coreutils cpio cron dash debconf debconf-i18n debian-archive-keyring debianutils diffutils dmidecode dpkg e2fslibs e2fsprogs findutils fonts-freefont-ttf gcc-4.7-base gnupg gpgv grep groff-base grub-common gzip hostname ifupdown initramfs-tools initscripts insserv install-info iproute isc-dhcp-client isc-dhcp-common keyboard-configuration kmod laptop-detect linux-image-amd64 locales login logrotate lsb-base mawk mount multiarch-support ncurses-base ncurses-bin net-tools netbase netcat-traditional passwd pciutils perl-base procps readline-common rsyslog sed sensible-utils sysv-rc sysvinit sysvinit-utils tar tasksel tasksel-data tzdata udev usbutils util-linux uuid-runtime vim-common xz-utils zlib1g;_orig() { set -e; [ -e "$1.orig" ] || if [ -e "$1" ]; then cp -a "$1" "$1.orig"; else touch "$1.orig"; fi };_clone() { set -e; _orig "$2"; cp -a "$1" "$2" };cd /target/etc/xdg/xfce4/xfconf/xfce-perchannel-xml;_clone ../../panel/default.xml xfce4-panel.xml; sed -i -r -e 's,xfce4-appfinder,exo-mail-reader,' xfce4-panel.xml;_orig xfce4-session.xml; sed -i -r -e 's,(]*>),\1\n ,' xfce4-session.xml diff --git a/content/desktop/email/preseed.cfg b/content/desktop/email/preseed.cfg deleted file mode 100644 index 490cb44..0000000 --- a/content/desktop/email/preseed.cfg +++ /dev/null @@ -1,60 +0,0 @@ -# install the lightweight Xfce desktop, and... -# * include Icedove email with all locales and PGP plugin -# * include crypto helper tools -# * include CPU firmware and automatic maintenance routines -# * fix include recommendations of other packages (uuid, bash) -# * apply security updates immediately after install -# * exclude support for print via Bluetooth -tasksel tasksel/desktop multiselect xfce -tasksel tasksel/first multiselect laptop -#xfce4-session tango-icon-theme lightdm -#icedove icedove-l10n-all enigmail -#parcimonie haveged -#firmware-linux unattended-upgrades -#uuid-runtime bash-completion -#-bluez-cups -d-i pkgsel/include string xfce4-session tango-icon-theme lightdm icedove icedove-l10n-all enigmail parcimonie haveged firmware-linux unattended-upgrades uuid-runtime bash-completion -bluez-cups -d-i pkgsel/upgrade select safe-upgrade - -# setup harddrive with full disk encryption -# * overwrite any existing data without warning -partman-auto partman-auto/method string crypto -d-i partman-lvm/device_remove_lvm boolean true -d-i partman-md/device_remove_md boolean true -d-i partman-lvm/confirm boolean true -d-i partman-lvm/confirm_nooverwrite boolean true -d-i partman-auto/choose_recipe select multi -d-i partman-partitioning/confirm_write_new_label boolean true -d-i partman/choose_partition select finish -d-i partman/confirm boolean true -d-i partman/confirm_nooverwrite boolean true - -# silence misc. questions -# * attempt to auto-detect hardware -# * domain name irrelevant on desktop host without MTA -# * use CDN for package updates -# * disable direct root login (use sudo instead) -# * report usage statistics back to Debian developers -d-i netcfg/choose_interface select auto -d-i netcfg/get_domain string unassigned-domain -d-i mirror/country string manual -d-i mirror/http/hostname string http.debian.net -d-i mirror/http/directory string /debian -d-i clock-setup/utc boolean true -d-i clock-setup/ntp boolean true -d-i apt-setup/services-select multiselect security, updates -d-i apt-setup/security_host string security.debian.org -d-i passwd/root-login boolean false -popularity-contest popularity-contest/participate boolean true - -# tidy loose ends... -# * fix mark auto-installed packages as such -# * silence confusing panel question at initial XFCE login -# * replace appfinder with mail-reader in default XFCE panel -# * disable storing Xfce session at logout by default -#chroot /target apt-mark auto $(chroot /target apt-mark showmanual | grep '^lib') acpi acpi-support-base acpid adduser apt apt-utils aptitude-common base-files base-passwd bash bash-completion bsdmainutils bsdutils busybox coreutils cpio cron dash debconf debconf-i18n debian-archive-keyring debianutils diffutils dmidecode dpkg e2fslibs e2fsprogs findutils fonts-freefont-ttf gcc-4.7-base gnupg gpgv grep groff-base grub-common gzip hostname ifupdown initramfs-tools initscripts insserv install-info iproute isc-dhcp-client isc-dhcp-common keyboard-configuration kmod laptop-detect linux-image-amd64 locales login logrotate lsb-base mawk mount multiarch-support ncurses-base ncurses-bin net-tools netbase netcat-traditional passwd pciutils perl-base procps readline-common rsyslog sed sensible-utils sysv-rc sysvinit sysvinit-utils tar tasksel tasksel-data tzdata udev usbutils util-linux uuid-runtime vim-common xz-utils zlib1g -#cd /target/etc/xdg/xfce4/xfconf/xfce-perchannel-xml -#cp -a ../../panel/default.xml xfce4-panel.xml && touch xfce4-panel.xml.orig -#cp -a xfce4-panel.xml xfce4-panel.xml.old && sed -i -r -e 's,xfce4-appfinder,exo-mail-reader,' xfce4-panel.xml -#cp -a xfce4-session.xml xfce4-session.xml.orig && sed -i -r -e 's,(]*>),\1\n ,' xfce4-session.xml -d-i preseed/late_command string chroot /target apt-mark auto $(chroot /target apt-mark showmanual | grep '^lib') acpi acpi-support-base acpid adduser apt apt-utils aptitude-common base-files base-passwd bash bash-completion bsdmainutils bsdutils busybox coreutils cpio cron dash debconf debconf-i18n debian-archive-keyring debianutils diffutils dmidecode dpkg e2fslibs e2fsprogs findutils fonts-freefont-ttf gcc-4.7-base gnupg gpgv grep groff-base grub-common gzip hostname ifupdown initramfs-tools initscripts insserv install-info iproute isc-dhcp-client isc-dhcp-common keyboard-configuration kmod laptop-detect linux-image-amd64 locales login logrotate lsb-base mawk mount multiarch-support ncurses-base ncurses-bin net-tools netbase netcat-traditional passwd pciutils perl-base procps readline-common rsyslog sed sensible-utils sysv-rc sysvinit sysvinit-utils tar tasksel tasksel-data tzdata udev usbutils util-linux uuid-runtime vim-common xz-utils zlib1g && cd /target/etc/xdg/xfce4/xfconf/xfce-perchannel-xml && cp -a ../../panel/default.xml xfce4-panel.xml && touch xfce4-panel.xml.orig && cp -a xfce4-panel.xml xfce4-panel.xml.old && sed -i -r -e 's,xfce4-appfinder,exo-mail-reader,' xfce4-panel.xml && cp -a xfce4-session.xml xfce4-session.xml.orig && sed -i -r -e 's,(]*>),\1\n ,' xfce4-session.xml diff --git a/content/desktop/office/preseed.cfg b/content/desktop/office/preseed.cfg deleted file mode 100644 index 4077df0..0000000 --- a/content/desktop/office/preseed.cfg +++ /dev/null @@ -1,68 +0,0 @@ -# install the lightweight Xfce desktop, and... -# * include LibreOffice core with all locales except Galaxy theme -# * include LibreOffice Calc and Writer except Java support or email composer -# * include LibreOffice Impress with OpenGL plugin -# * include Evince PDF reader and exclude ePDFView -# * include crypto helper tools -# * include CPU firmware and automatic maintenance routines -# * fix include recommendations of other packages (uuid, bash) -# * apply security updates immediately after install -# * exclude support for print via Bluetooth -tasksel tasksel/desktop multiselect xfce -tasksel tasksel/first multiselect laptop -#xfce4-session tango-icon-theme lightdm -#libreoffice-gtk -libreoffice-style-galaxy -#$(for lang in ar ast be bg br bs ca cs cy da da de dz el en-gb eo es et eu fa fi fr ga gl he hr hu id in is it ja ka km ko ku lt lv mk mn nb ne nl nn oc om pl pt pt-br ro ru rw si sk sl sr sv tg th tr ug uk uz vi za zh-cn zh-tw; do echo libreoffice-l10n-$lang; done) -#libreoffice-l10n-ar libreoffice-l10n-ast libreoffice-l10n-be libreoffice-l10n-bg libreoffice-l10n-br libreoffice-l10n-bs libreoffice-l10n-ca libreoffice-l10n-cs libreoffice-l10n-cy libreoffice-l10n-da libreoffice-l10n-da libreoffice-l10n-de libreoffice-l10n-dz libreoffice-l10n-el libreoffice-l10n-en-gb libreoffice-l10n-eo libreoffice-l10n-es libreoffice-l10n-et libreoffice-l10n-eu libreoffice-l10n-fa libreoffice-l10n-fi libreoffice-l10n-fr libreoffice-l10n-ga libreoffice-l10n-gl libreoffice-l10n-he libreoffice-l10n-hr libreoffice-l10n-hu libreoffice-l10n-id libreoffice-l10n-in libreoffice-l10n-is libreoffice-l10n-it libreoffice-l10n-ja libreoffice-l10n-ka libreoffice-l10n-km libreoffice-l10n-ko libreoffice-l10n-ku libreoffice-l10n-lt libreoffice-l10n-lv libreoffice-l10n-mk libreoffice-l10n-mn libreoffice-l10n-nb libreoffice-l10n-ne libreoffice-l10n-nl libreoffice-l10n-nn libreoffice-l10n-oc libreoffice-l10n-om libreoffice-l10n-pl libreoffice-l10n-pt libreoffice-l10n-pt-br libreoffice-l10n-ro libreoffice-l10n-ru libreoffice-l10n-rw libreoffice-l10n-si libreoffice-l10n-sk libreoffice-l10n-sl libreoffice-l10n-sr libreoffice-l10n-sv libreoffice-l10n-tg libreoffice-l10n-th libreoffice-l10n-tr libreoffice-l10n-ug libreoffice-l10n-uk libreoffice-l10n-uz libreoffice-l10n-vi libreoffice-l10n-za libreoffice-l10n-zh-cn libreoffice-l10n-zh-tw -#libreoffice-calc libreoffice-writer -libreoffice-java-common -libreoffice-emailmerge -#libreoffice-impress libreoffice-ogltrans -#evince-gtk -epdfview -#parcimonie haveged -#firmware-linux unattended-upgrades -#uuid-runtime bash-completion -#-bluez-cups -d-i pkgsel/include string xfce4-session tango-icon-theme lightdm libreoffice-gtk -libreoffice-style-galaxy libreoffice-l10n-ar libreoffice-l10n-ast libreoffice-l10n-be libreoffice-l10n-bg libreoffice-l10n-br libreoffice-l10n-bs libreoffice-l10n-ca libreoffice-l10n-cs libreoffice-l10n-cy libreoffice-l10n-da libreoffice-l10n-da libreoffice-l10n-de libreoffice-l10n-dz libreoffice-l10n-el libreoffice-l10n-en-gb libreoffice-l10n-eo libreoffice-l10n-es libreoffice-l10n-et libreoffice-l10n-eu libreoffice-l10n-fa libreoffice-l10n-fi libreoffice-l10n-fr libreoffice-l10n-ga libreoffice-l10n-gl libreoffice-l10n-he libreoffice-l10n-hr libreoffice-l10n-hu libreoffice-l10n-id libreoffice-l10n-in libreoffice-l10n-is libreoffice-l10n-it libreoffice-l10n-ja libreoffice-l10n-ka libreoffice-l10n-km libreoffice-l10n-ko libreoffice-l10n-ku libreoffice-l10n-lt libreoffice-l10n-lv libreoffice-l10n-mk libreoffice-l10n-mn libreoffice-l10n-nb libreoffice-l10n-ne libreoffice-l10n-nl libreoffice-l10n-nn libreoffice-l10n-oc libreoffice-l10n-om libreoffice-l10n-pl libreoffice-l10n-pt libreoffice-l10n-pt-br libreoffice-l10n-ro libreoffice-l10n-ru libreoffice-l10n-rw libreoffice-l10n-si libreoffice-l10n-sk libreoffice-l10n-sl libreoffice-l10n-sr libreoffice-l10n-sv libreoffice-l10n-tg libreoffice-l10n-th libreoffice-l10n-tr libreoffice-l10n-ug libreoffice-l10n-uk libreoffice-l10n-uz libreoffice-l10n-vi libreoffice-l10n-za libreoffice-l10n-zh-cn libreoffice-l10n-zh-tw libreoffice-calc libreoffice-writer -libreoffice-java-common -libreoffice-emailmerge libreoffice-impress libreoffice-ogltrans parcimonie haveged firmware-linux unattended-upgrades uuid-runtime bash-completion -bluez-cups -d-i pkgsel/upgrade select safe-upgrade - -# setup harddrive with full disk encryption -# * overwrite any existing data without warning -partman-auto partman-auto/method string crypto -d-i partman-lvm/device_remove_lvm boolean true -d-i partman-md/device_remove_md boolean true -d-i partman-lvm/confirm boolean true -d-i partman-lvm/confirm_nooverwrite boolean true -d-i partman-auto/choose_recipe select multi -d-i partman-partitioning/confirm_write_new_label boolean true -d-i partman/choose_partition select finish -d-i partman/confirm boolean true -d-i partman/confirm_nooverwrite boolean true - -# silence misc. questions -# * attempt to auto-detect hardware -# * domain name irrelevant on desktop host without MTA -# * use CDN for package updates -# * disable direct root login (use sudo instead) -# * report usage statistics back to Debian developers -d-i netcfg/choose_interface select auto -d-i netcfg/get_domain string unassigned-domain -d-i mirror/country string manual -d-i mirror/http/hostname string http.debian.net -d-i mirror/http/directory string /debian -d-i clock-setup/utc boolean true -d-i clock-setup/ntp boolean true -d-i apt-setup/services-select multiselect security, updates -d-i apt-setup/security_host string security.debian.org -d-i passwd/root-login boolean false -popularity-contest popularity-contest/participate boolean true - -# tidy loose ends... -# * fix mark auto-installed packages as such -# * silence confusing panel question at initial XFCE login -# * replace appfinder with mail-reader in default XFCE panel -# * disable storing Xfce session at logout by default -#chroot /target apt-mark auto $(chroot /target apt-mark showmanual | grep '^lib') acpi acpi-support-base acpid adduser apt apt-utils aptitude-common base-files base-passwd bash bash-completion bsdmainutils bsdutils busybox coreutils cpio cron dash debconf debconf-i18n debian-archive-keyring debianutils diffutils dmidecode dpkg e2fslibs e2fsprogs findutils fonts-freefont-ttf gcc-4.7-base gnupg gpgv grep groff-base grub-common gzip hostname ifupdown initramfs-tools initscripts insserv install-info iproute isc-dhcp-client isc-dhcp-common keyboard-configuration kmod laptop-detect linux-image-amd64 locales login logrotate lsb-base mawk mount multiarch-support ncurses-base ncurses-bin net-tools netbase netcat-traditional passwd pciutils perl-base procps readline-common rsyslog sed sensible-utils sysv-rc sysvinit sysvinit-utils tar tasksel tasksel-data tzdata udev usbutils util-linux uuid-runtime vim-common xz-utils zlib1g -#cd /target/etc/xdg/xfce4/xfconf/xfce-perchannel-xml -#cp -a ../../panel/default.xml xfce4-panel.xml && touch xfce4-panel.xml.orig -#cp -a xfce4-panel.xml xfce4-panel.xml.old && sed -i -r -e 's,xfce4-appfinder,exo-mail-reader,' xfce4-panel.xml -#cp -a xfce4-session.xml xfce4-session.xml.orig && sed -i -r -e 's,(]*>),\1\n ,' xfce4-session.xml -d-i preseed/late_command string chroot /target apt-mark auto $(chroot /target apt-mark showmanual | grep '^lib') acpi acpi-support-base acpid adduser apt apt-utils aptitude-common base-files base-passwd bash bash-completion bsdmainutils bsdutils busybox coreutils cpio cron dash debconf debconf-i18n debian-archive-keyring debianutils diffutils dmidecode dpkg e2fslibs e2fsprogs findutils fonts-freefont-ttf gcc-4.7-base gnupg gpgv grep groff-base grub-common gzip hostname ifupdown initramfs-tools initscripts insserv install-info iproute isc-dhcp-client isc-dhcp-common keyboard-configuration kmod laptop-detect linux-image-amd64 locales login logrotate lsb-base mawk mount multiarch-support ncurses-base ncurses-bin net-tools netbase netcat-traditional passwd pciutils perl-base procps readline-common rsyslog sed sensible-utils sysv-rc sysvinit sysvinit-utils tar tasksel tasksel-data tzdata udev usbutils util-linux uuid-runtime vim-common xz-utils zlib1g && cd /target/etc/xdg/xfce4/xfconf/xfce-perchannel-xml && cp -a ../../panel/default.xml xfce4-panel.xml && touch xfce4-panel.xml.orig && cp -a xfce4-panel.xml xfce4-panel.xml.old && sed -i -r -e 's,xfce4-appfinder,exo-mail-reader,' xfce4-panel.xml && cp -a xfce4-session.xml xfce4-session.xml.orig && sed -i -r -e 's,(]*>),\1\n ,' xfce4-session.xml diff --git a/content/desktop/web/preseed.cfg b/content/desktop/web/preseed.cfg deleted file mode 100644 index 37319b7..0000000 --- a/content/desktop/web/preseed.cfg +++ /dev/null @@ -1,60 +0,0 @@ -# install the lightweight Xfce desktop, and... -# * include Iceweasel web browser with all locales and security plugins -# * include crypto helper tools -# * include CPU firmware and automatic maintenance routines -# * fix include recommendations of other packages (uuid, bash) -# * apply security updates immediately after install -# * exclude support for print via Bluetooth -tasksel tasksel/desktop multiselect xfce -tasksel tasksel/first multiselect laptop -#xfce4-session tango-icon-theme lightdm -#iceweasel iceweasel-l10n-all xul-ext-noscript xul-ext-cookie-monster -#parcimonie haveged -#firmware-linux unattended-upgrades -#uuid-runtime bash-completion -#-bluez-cups -d-i pkgsel/include string xfce4-session tango-icon-theme lightdm iceweasel iceweasel-l10n-all xul-ext-noscript xul-ext-cookie-monster parcimonie haveged firmware-linux unattended-upgrades uuid-runtime bash-completion -bluez-cups -d-i pkgsel/upgrade select safe-upgrade - -# setup harddrive with full disk encryption -# * overwrite any existing data without warning -partman-auto partman-auto/method string crypto -d-i partman-lvm/device_remove_lvm boolean true -d-i partman-md/device_remove_md boolean true -d-i partman-lvm/confirm boolean true -d-i partman-lvm/confirm_nooverwrite boolean true -d-i partman-auto/choose_recipe select multi -d-i partman-partitioning/confirm_write_new_label boolean true -d-i partman/choose_partition select finish -d-i partman/confirm boolean true -d-i partman/confirm_nooverwrite boolean true - -# silence misc. questions -# * attempt to auto-detect hardware -# * domain name irrelevant on desktop host without MTA -# * use CDN for package updates -# * disable direct root login (use sudo instead) -# * report usage statistics back to Debian developers -d-i netcfg/choose_interface select auto -d-i netcfg/get_domain string unassigned-domain -d-i mirror/country string manual -d-i mirror/http/hostname string http.debian.net -d-i mirror/http/directory string /debian -d-i clock-setup/utc boolean true -d-i clock-setup/ntp boolean true -d-i apt-setup/services-select multiselect security, updates -d-i apt-setup/security_host string security.debian.org -d-i passwd/root-login boolean false -popularity-contest popularity-contest/participate boolean true - -# tidy loose ends... -# * fix mark auto-installed packages as such -# * silence confusing panel question at initial XFCE login -# * replace appfinder with mail-reader in default XFCE panel -# * disable storing Xfce session at logout by default -#chroot /target apt-mark auto $(chroot /target apt-mark showmanual | grep '^lib') acpi acpi-support-base acpid adduser apt apt-utils aptitude-common base-files base-passwd bash bash-completion bsdmainutils bsdutils busybox coreutils cpio cron dash debconf debconf-i18n debian-archive-keyring debianutils diffutils dmidecode dpkg e2fslibs e2fsprogs findutils fonts-freefont-ttf gcc-4.7-base gnupg gpgv grep groff-base grub-common gzip hostname ifupdown initramfs-tools initscripts insserv install-info iproute isc-dhcp-client isc-dhcp-common keyboard-configuration kmod laptop-detect linux-image-amd64 locales login logrotate lsb-base mawk mount multiarch-support ncurses-base ncurses-bin net-tools netbase netcat-traditional passwd pciutils perl-base procps readline-common rsyslog sed sensible-utils sysv-rc sysvinit sysvinit-utils tar tasksel tasksel-data tzdata udev usbutils util-linux uuid-runtime vim-common xz-utils zlib1g -#cd /target/etc/xdg/xfce4/xfconf/xfce-perchannel-xml -#cp -a ../../panel/default.xml xfce4-panel.xml && touch xfce4-panel.xml.orig -#cp -a xfce4-panel.xml xfce4-panel.xml.old && sed -i -r -e 's,xfce4-appfinder,exo-mail-reader,' xfce4-panel.xml -#cp -a xfce4-session.xml xfce4-session.xml.orig && sed -i -r -e 's,(]*>),\1\n ,' xfce4-session.xml -d-i preseed/late_command string chroot /target apt-mark auto $(chroot /target apt-mark showmanual | grep '^lib') acpi acpi-support-base acpid adduser apt apt-utils aptitude-common base-files base-passwd bash bash-completion bsdmainutils bsdutils busybox coreutils cpio cron dash debconf debconf-i18n debian-archive-keyring debianutils diffutils dmidecode dpkg e2fslibs e2fsprogs findutils fonts-freefont-ttf gcc-4.7-base gnupg gpgv grep groff-base grub-common gzip hostname ifupdown initramfs-tools initscripts insserv install-info iproute isc-dhcp-client isc-dhcp-common keyboard-configuration kmod laptop-detect linux-image-amd64 locales login logrotate lsb-base mawk mount multiarch-support ncurses-base ncurses-bin net-tools netbase netcat-traditional passwd pciutils perl-base procps readline-common rsyslog sed sensible-utils sysv-rc sysvinit sysvinit-utils tar tasksel tasksel-data tzdata udev usbutils util-linux uuid-runtime vim-common xz-utils zlib1g && cd /target/etc/xdg/xfce4/xfconf/xfce-perchannel-xml && cp -a ../../panel/default.xml xfce4-panel.xml && touch xfce4-panel.xml.orig && cp -a xfce4-panel.xml xfce4-panel.xml.old && sed -i -r -e 's,xfce4-appfinder,exo-mail-reader,' xfce4-panel.xml && cp -a xfce4-session.xml xfce4-session.xml.orig && sed -i -r -e 's,(]*>),\1\n ,' xfce4-session.xml diff --git a/profiles/desktop b/profiles/desktop new file mode 100644 index 0000000..fe8ae0d --- /dev/null +++ b/profiles/desktop @@ -0,0 +1,4 @@ +## install the lightweight Xfce desktop, and... +xfce4-session tango-icon-theme lightdm +# include desktop helper tools missing from Xfce +usermode network-manager-gnome diff --git a/profiles/desktop-email b/profiles/desktop-email new file mode 100644 index 0000000..3fd2b30 --- /dev/null +++ b/profiles/desktop-email @@ -0,0 +1,3 @@ +## email +# include Icedove email with all locales and PGP plugin +icedove icedove-l10n-all enigmail diff --git a/profiles/desktop-office b/profiles/desktop-office new file mode 100644 index 0000000..4b9ca2c --- /dev/null +++ b/profiles/desktop-office @@ -0,0 +1,10 @@ +# include LibreOffice core (except Galaxy theme) with all locales +libreoffice-gtk -libreoffice-style-galaxy +#$(for lang in ar ast be bg br bs ca cs cy da da de dz el en-gb eo es et eu fa fi fr ga gl he hr hu id in is it ja ka km ko ku lt lv mk mn nb ne nl nn oc om pl pt pt-br ro ru rw si sk sl sr sv tg th tr ug uk uz vi za zh-cn zh-tw; do echo libreoffice-l10n-$lang; done) +libreoffice-l10n-ar libreoffice-l10n-ast libreoffice-l10n-be libreoffice-l10n-bg libreoffice-l10n-br libreoffice-l10n-bs libreoffice-l10n-ca libreoffice-l10n-cs libreoffice-l10n-cy libreoffice-l10n-da libreoffice-l10n-da libreoffice-l10n-de libreoffice-l10n-dz libreoffice-l10n-el libreoffice-l10n-en-gb libreoffice-l10n-eo libreoffice-l10n-es libreoffice-l10n-et libreoffice-l10n-eu libreoffice-l10n-fa libreoffice-l10n-fi libreoffice-l10n-fr libreoffice-l10n-ga libreoffice-l10n-gl libreoffice-l10n-he libreoffice-l10n-hr libreoffice-l10n-hu libreoffice-l10n-id libreoffice-l10n-in libreoffice-l10n-is libreoffice-l10n-it libreoffice-l10n-ja libreoffice-l10n-ka libreoffice-l10n-km libreoffice-l10n-ko libreoffice-l10n-ku libreoffice-l10n-lt libreoffice-l10n-lv libreoffice-l10n-mk libreoffice-l10n-mn libreoffice-l10n-nb libreoffice-l10n-ne libreoffice-l10n-nl libreoffice-l10n-nn libreoffice-l10n-oc libreoffice-l10n-om libreoffice-l10n-pl libreoffice-l10n-pt libreoffice-l10n-pt-br libreoffice-l10n-ro libreoffice-l10n-ru libreoffice-l10n-rw libreoffice-l10n-si libreoffice-l10n-sk libreoffice-l10n-sl libreoffice-l10n-sr libreoffice-l10n-sv libreoffice-l10n-tg libreoffice-l10n-th libreoffice-l10n-tr libreoffice-l10n-ug libreoffice-l10n-uk libreoffice-l10n-uz libreoffice-l10n-vi libreoffice-l10n-za libreoffice-l10n-zh-cn libreoffice-l10n-zh-tw +# include LibreOffice Calc and Writer (except Java support or email composer) +libreoffice-calc libreoffice-writer -libreoffice-java-common -libreoffice-emailmerge +# include LibreOffice Impress with OpenGL plugin +libreoffice-impress libreoffice-ogltrans +# include Evince PDF reader (and exclude ePDFView) +evince-gtk -epdfview diff --git a/profiles/desktop-web b/profiles/desktop-web new file mode 100644 index 0000000..e72f537 --- /dev/null +++ b/profiles/desktop-web @@ -0,0 +1,2 @@ +# include Iceweasel web browser with all locales and security plugins +iceweasel iceweasel-l10n-all xul-ext-noscript xul-ext-cookie-monster diff --git a/profiles/desktop-z b/profiles/desktop-z new file mode 100644 index 0000000..993a21b --- /dev/null +++ b/profiles/desktop-z @@ -0,0 +1,8 @@ +# include crypto helper tools +parcimonie haveged +# include CPU tools, firmware and automatic maintenance routines +cpufrequtils firmware-linux unattended-upgrades +# fix include recommendations of other packages (uuid, bash) +uuid-runtime bash-completion +# exclude support for print via Bluetooth +-bluez-cups diff --git a/skel/preseed.cfg.in b/skel/preseed.cfg.in new file mode 100644 index 0000000..b210ae3 --- /dev/null +++ b/skel/preseed.cfg.in @@ -0,0 +1,55 @@ +__PKGDESC__ +tasksel tasksel/desktop multiselect xfce +tasksel tasksel/first multiselect laptop +d-i pkgsel/include string __PKGLIST__ +# apply security updates immediately after install +d-i pkgsel/upgrade select safe-upgrade + +# setup harddrive with full disk encryption +# * overwrite any existing data without warning +partman-auto partman-auto/method string crypto +d-i partman-lvm/device_remove_lvm boolean true +d-i partman-md/device_remove_md boolean true +d-i partman-lvm/confirm boolean true +d-i partman-lvm/confirm_nooverwrite boolean true +d-i partman-auto/choose_recipe select multi +d-i partman-partitioning/confirm_write_new_label boolean true +d-i partman/choose_partition select finish +d-i partman/confirm boolean true +d-i partman/confirm_nooverwrite boolean true + +# silence misc. questions +# * attempt to auto-detect hardware +# * domain name irrelevant on desktop host without MTA +# * use CDN for package updates +# * disable direct root login (use sudo instead) +# * report usage statistics back to Debian developers +d-i netcfg/choose_interface select auto +d-i netcfg/get_domain string unassigned-domain +d-i mirror/country string manual +d-i mirror/http/hostname string http.debian.net +d-i mirror/http/directory string /debian +d-i clock-setup/utc boolean true +d-i clock-setup/ntp boolean true +d-i apt-setup/services-select multiselect security, updates +d-i apt-setup/security_host string security.debian.org +d-i passwd/root-login boolean false +popularity-contest popularity-contest/participate boolean true + +# enable unattended-upgrades +unattended-upgrades unattended-upgrades/enable_auto_updates boolean true + +# tidy loose ends... +# * fix mark auto-installed packages as such +# * for any file edited or created, preserve a backup with suffix .orig +# * silence confusing panel question at initial XFCE login +# * replace appfinder with mail-reader in default XFCE panel +# * disable storing Xfce session at logout by default +#set -e +#chroot /target apt-mark auto $(chroot /target apt-mark showmanual | grep '^lib') acpi acpi-support-base acpid adduser apt apt-utils aptitude-common base-files base-passwd bash bash-completion bsdmainutils bsdutils busybox coreutils cpio cron dash debconf debconf-i18n debian-archive-keyring debianutils diffutils dmidecode dpkg e2fslibs e2fsprogs findutils fonts-freefont-ttf gcc-4.7-base gnupg gpgv grep groff-base grub-common gzip hostname ifupdown initramfs-tools initscripts insserv install-info iproute isc-dhcp-client isc-dhcp-common keyboard-configuration kmod laptop-detect linux-image-amd64 locales login logrotate lsb-base mawk mount multiarch-support ncurses-base ncurses-bin net-tools netbase netcat-traditional passwd pciutils perl-base procps readline-common rsyslog sed sensible-utils sysv-rc sysvinit sysvinit-utils tar tasksel tasksel-data tzdata udev usbutils util-linux uuid-runtime vim-common xz-utils zlib1g +#_backup() { set -e; [ -e "$1.orig" ] || if [ -e "$1" ]; then cp -a "$1" "$1.orig"; else touch "$1.orig"; fi } +#_clone() { set -e; _backup "$2"; cp -a "$1" "$2" } +#cd /target/etc/xdg/xfce4/xfconf/xfce-perchannel-xml +#_clone ../../panel/default.xml xfce4-panel.xml; sed -i -r -e 's,xfce4-appfinder,exo-mail-reader,' xfce4-panel.xml +#_backup xfce4-session.xml; sed -i -r -e 's,(]*>),\1\n ,' xfce4-session.xml +d-i preseed/late_command string set -e;chroot /target apt-mark auto $(chroot /target apt-mark showmanual | grep '^lib') acpi acpi-support-base acpid adduser apt apt-utils aptitude-common base-files base-passwd bash bash-completion bsdmainutils bsdutils busybox coreutils cpio cron dash debconf debconf-i18n debian-archive-keyring debianutils diffutils dmidecode dpkg e2fslibs e2fsprogs findutils fonts-freefont-ttf gcc-4.7-base gnupg gpgv grep groff-base grub-common gzip hostname ifupdown initramfs-tools initscripts insserv install-info iproute isc-dhcp-client isc-dhcp-common keyboard-configuration kmod laptop-detect linux-image-amd64 locales login logrotate lsb-base mawk mount multiarch-support ncurses-base ncurses-bin net-tools netbase netcat-traditional passwd pciutils perl-base procps readline-common rsyslog sed sensible-utils sysv-rc sysvinit sysvinit-utils tar tasksel tasksel-data tzdata udev usbutils util-linux uuid-runtime vim-common xz-utils zlib1g;_orig() { set -e; [ -e "$1.orig" ] || if [ -e "$1" ]; then cp -a "$1" "$1.orig"; else touch "$1.orig"; fi };_clone() { set -e; _orig "$2"; cp -a "$1" "$2" };cd /target/etc/xdg/xfce4/xfconf/xfce-perchannel-xml;_clone ../../panel/default.xml xfce4-panel.xml; sed -i -r -e 's,xfce4-appfinder,exo-mail-reader,' xfce4-panel.xml;_orig xfce4-session.xml; sed -i -r -e 's,(]*>),\1\n ,' xfce4-session.xml -- cgit v1.2.3