diff --git a/modules/parrot-build/auto/config b/modules/parrot-build/auto/config index a2b5e3d7..cb78b7ad 100755 --- a/modules/parrot-build/auto/config +++ b/modules/parrot-build/auto/config @@ -100,8 +100,8 @@ lb config noauto \ --distribution "$dist" \ --debian-installer-distribution "$dist" \ --archive-areas "main contrib non-free" \ - --debootstrap-options "--include=ca-certificates,parrot-archive-keyring,gnupg --keyring=templates/common/archives/parrot.key" \ - --keyring-packages parrot-archive-keyring \ + --debootstrap-options "--include=ca-certificates,csec-archive-keyring,gnupg --keyring=templates/common/archives/csec.key" \ + --keyring-packages csec-archive-keyring \ --updates false \ --security false \ --backports false \ diff --git a/modules/parrot-build/auto/config.bak b/modules/parrot-build/auto/config.bak new file mode 100755 index 00000000..a2b5e3d7 --- /dev/null +++ b/modules/parrot-build/auto/config.bak @@ -0,0 +1,125 @@ +#!/bin/bash + +set -e +set -o pipefail # Bashism + +parrot_mirror=http://archive.parrotsec.org/parrot +public_mirror=http://archive.parrotsec.org/parrot + +#public_mirror=http://deb.parrotsec.org/parrot + + +# Detect target architecture and filter args +if [ ! $arch ]; then + arch=$(dpkg --print-architecture) +fi +if [ ! $variant ]; then + variant="home" +fi +dist="parrot" +lb_opts="" +while [ $# -gt 0 ]; do + arg="$1" + case "$arg" in + -a|--arch|--architecture|--architectures) + arch="$2" + temp="$temp "'"'"$arg"'"' + temp="$temp "'"'"$2"'"' + shift + ;; + --distribution) + dist="$2" + shift + ;; + --variant) + variant="$2" + shift + ;; + -p|--proposed-updates) + enable_pu="1" + ;; + --) + ;; + *) + temp="$temp "'"'"$arg"'"' + ;; + esac + shift +done +eval set -- "$temp" + +# live-build doesn't work if --parent-debian-distribution is unknown of +# debian-cd => we have to put a symlink so that it deals with kali like sid +if [ ! -e ${LIVE_BUILD:-/usr/share/live/build}/data/debian-cd/$dist ]; then + if [ -w ${LIVE_BUILD:-/usr/share/live/build}/data/debian-cd ]; then + ln -sf sid ${LIVE_BUILD:-/usr/share/live/build}/data/debian-cd/$dist + else + echo "ERROR: Run this first:" + echo "ln -sf sid ${LIVE_BUILD:-/usr/share/live/build}/data/debian-cd/$dist" + exit 1 + fi +fi + +case "$arch" in + amd64) + lb_opts="$lb_opts --binary-images iso-hybrid --architecture amd64 --debian-installer live --linux-flavours amd64" + ;; + i386) + lb_opts="$lb_opts --binary-images iso-hybrid --architecture i386 --debian-installer live --linux-flavours 686-pae" + ;; + 486) + lb_opts="$lb_opts --binary-images iso-hybrid --architecture i386 --debian-installer live --linux-flavours 486" + ;; + armel|armhf|arm64) + lb_opts="$lb_opts --binary-images hdd --binary-filesystem ext4 --chroot-filesystem none" + ;; + *) + echo "WARNING: configuration not tested on arch $arch" >&2 + ;; +esac + +# Setup configuration files from variant and options + +# Drop all files that a former run might have put into place +for file in $(cd config && find . -type f); do + file=${file#./*/} + rm -f config/$file || true +done + +cp -rT templates/common config +[ ! -d templates/parrot-$variant ] || cp -rTL templates/parrot-$variant config + +[ ! $arch ] || sed -i "s/ISO_ARCH/$arch/g" config/includes.binary/isolinux/menu.cfg +[ ! $arch ] || sed -i "s/ISO_ARCH/$arch/g" config/includes.binary/boot/grub/live-theme/theme.txt +[ ! $version ] || sed -i "s/ISO_VERSION/$version/g" config/includes.binary/isolinux/menu.cfg +[ ! $version ] || sed -i "s/ISO_VERSION/$version/g" config/includes.binary/boot/grub/live-theme/theme.txt +[ ! $variant ] || sed -i "s/ISO_TITLE/Parrot $variant/g" config/includes.binary/isolinux/menu.cfg +[ ! $variant ] || sed -i "s/ISO_TITLE/Parrot $variant/g" config/includes.binary/boot/grub/live-theme/theme.txt + +lb config noauto \ + --distribution "$dist" \ + --debian-installer-distribution "$dist" \ + --archive-areas "main contrib non-free" \ + --debootstrap-options "--include=ca-certificates,parrot-archive-keyring,gnupg --keyring=templates/common/archives/parrot.key" \ + --keyring-packages parrot-archive-keyring \ + --updates false \ + --security false \ + --backports false \ + --firmware-binary false \ + --firmware-chroot false \ + --compression xz \ + --mirror-bootstrap "$parrot_mirror" \ + --mirror-chroot "$parrot_mirror" \ + --mirror-debian-installer "$parrot_mirror" \ + --mirror-binary "$public_mirror" \ + --iso-application "Parrot" \ + --iso-publisher "Parrot Project" \ + --iso-volume "ParrotSec" \ + --linux-packages linux-image \ + --bootappend-live "boot=live hostname=parrot splash noautomount" \ + --source false \ + $lb_opts \ + "$@" + +#use overlay instead of aufs as union filesystem support for squashfs +sed -i "s/LB_UNION_FILESYSTEM=\"aufs\"/LB_UNION_FILESYSTEM=\"overlay\"/g" config/chroot diff --git a/modules/parrot-build/templates/common/archives/csec-archive-keyring.gpg b/modules/parrot-build/templates/common/archives/csec-archive-keyring.gpg new file mode 100644 index 00000000..d9f4b7cd Binary files /dev/null and b/modules/parrot-build/templates/common/archives/csec-archive-keyring.gpg differ diff --git a/modules/parrot-build/templates/common/archives/csec.key b/modules/parrot-build/templates/common/archives/csec.key new file mode 100644 index 00000000..d9f4b7cd Binary files /dev/null and b/modules/parrot-build/templates/common/archives/csec.key differ