diff --git a/arch-graphical-install-auto b/arch-graphical-install-auto index 0fae2d0..dd11cf1 100755 --- a/arch-graphical-install-auto +++ b/arch-graphical-install-auto @@ -354,6 +354,9 @@ if [ "$vollinstallation" != "n" ] then check if [ "$vollinstallation" != "debug" ]; then + if [ "${version}" != "voll" ]; then + /opt/${repo}/strap.sh + fi standartinstallation fi checkend diff --git a/packages_cinnamon.txt b/packages_cinnamon.txt index ceaaa2c..9c96b62 100644 --- a/packages_cinnamon.txt +++ b/packages_cinnamon.txt @@ -128,6 +128,7 @@ thunderbird thunderbird-i18n-de tigervnc tolua++ +traceroute transmission-gtk ttf-dejavu ttf-liberation diff --git a/packages_gnome.txt b/packages_gnome.txt index 8fdca9f..028ca59 100644 --- a/packages_gnome.txt +++ b/packages_gnome.txt @@ -127,6 +127,7 @@ thunderbird thunderbird-i18n-de tigervnc tolua++ +traceroute transmission-gtk ttf-dejavu ttf-liberation diff --git a/packages_kde.txt b/packages_kde.txt index 9011969..38c4a46 100644 --- a/packages_kde.txt +++ b/packages_kde.txt @@ -127,6 +127,7 @@ thunderbird thunderbird-i18n-de tigervnc tolua++ +traceroute transmission-gtk ttf-dejavu ttf-liberation diff --git a/packages_libre.txt b/packages_libre.txt index 9fa35f2..54f94d1 100644 --- a/packages_libre.txt +++ b/packages_libre.txt @@ -9,6 +9,7 @@ avahi base base-devel bash-completion +bless blueman btrfs-progs cdrtools @@ -102,6 +103,7 @@ teeworlds telegram-desktop tigervnc tolua++ +traceroute transmission-gtk vlc wget diff --git a/packages_lxde.txt b/packages_lxde.txt index 3dcde7c..0a81177 100644 --- a/packages_lxde.txt +++ b/packages_lxde.txt @@ -123,6 +123,7 @@ thunderbird thunderbird-i18n-de tigervnc tolua++ +traceroute transmission-gtk ttf-dejavu ttf-liberation diff --git a/packages_lxqt.txt b/packages_lxqt.txt index e19d1f5..e793dea 100644 --- a/packages_lxqt.txt +++ b/packages_lxqt.txt @@ -126,6 +126,7 @@ thunderbird thunderbird-i18n-de tigervnc tolua++ +traceroute transmission-gtk ttf-dejavu ttf-liberation diff --git a/packages_mate.txt b/packages_mate.txt index 04b4d10..25afb33 100644 --- a/packages_mate.txt +++ b/packages_mate.txt @@ -125,6 +125,7 @@ thunderbird thunderbird-i18n-de tigervnc tolua++ +traceroute transmission-gtk ttf-dejavu ttf-liberation diff --git a/packages_voll.txt b/packages_voll.txt index ebb9718..df4af1a 100644 --- a/packages_voll.txt +++ b/packages_voll.txt @@ -19,6 +19,7 @@ avidemux-cli base base-devel bash-completion +blackarch blender bless blueman diff --git a/packages_xfce4.txt b/packages_xfce4.txt index 801a039..49746c1 100644 --- a/packages_xfce4.txt +++ b/packages_xfce4.txt @@ -122,6 +122,7 @@ thunderbird thunderbird-i18n-de tigervnc tolua++ +traceroute transmission-gtk ttf-dejavu ttf-liberation diff --git a/strap.sh b/strap.sh new file mode 100755 index 0000000..4313105 --- /dev/null +++ b/strap.sh @@ -0,0 +1,174 @@ +#!/bin/sh +# strap.sh - install and setup BlackArch Linux keyring + +# default mirror url +MIRROR='https://www.mirrorservice.org/sites/blackarch.org/blackarch/' + +# simple error message wrapper +err() +{ + echo >&2 `tput bold; tput setaf 1`"[-] ERROR: ${*}"`tput sgr0` + exit 1337 +} + +# simple warning message wrapper +warn() +{ + echo >&2 `tput bold; tput setaf 1`"[!] WARNING: ${*}"`tput sgr0` +} + +# simple echo wrapper +msg() +{ + echo `tput bold; tput setaf 2`"[+] ${*}"`tput sgr0` +} + +# check for root privilege +check_priv() +{ + if [ $EUID -ne 0 ] ; then + err "you must be root" + fi +} + +# make a temporary directory and cd into +make_tmp_dir() +{ + tmp=`mktemp -d /tmp/blackarch_strap.XXXXXXXX` + trap "rm -rf $tmp" EXIT + cd "$tmp" +} + +# retrieve the BlackArch Linux keyring +fetch_keyring() +{ + curl -s -O \ + 'https://www.blackarch.org/keyring/blackarch-keyring.pkg.tar.xz{,.sig}' +} + +# verify the keyring signature +# note: this is pointless if you do not verify the key fingerprint +verify_keyring() +{ + gpg \ + --keyserver pgp.mit.edu \ + --recv-keys 4345771566D76038C7FEB43863EC0ADBEA87E4E3 > /dev/null 2>&1 + + if ! gpg \ + --keyserver-options no-auto-key-retrieve \ + --with-fingerprint blackarch-keyring.pkg.tar.xz.sig > /dev/null 2>&1 + then + err 'invalid keyring signature. please stop by irc.freenode.net/blackarch' + fi +} + +# delete the signature files +delete_signature() +{ + if [ -f "blackarch-keyring.pkg.tar.xz.sig" ] ; then + rm blackarch-keyring.pkg.tar.xz.sig + fi +} + +# make sure /etc/pacman.d/gnupg is usable +check_pacman_gnupg() +{ + pacman-key --init +} + +# install the keyring +install_keyring() +{ + if ! pacman --config /dev/null \ + --noconfirm -U blackarch-keyring.pkg.tar.xz + then + err 'keyring installation failed' + fi + # just in case + pacman-key --populate +} + +# ask user for mirror +get_mirror() +{ + printf " -> enter a BlackArch Linux mirror url (default: $MIRROR): " + while read line ; do + case "$line" in + http://*|https://*|ftp://*) + msg 'checking mirror...' + if ! curl -sI "$line/blackarch/os/i686/blackarch.db" | + head -n1 | grep -q 200 + then + warn 'blackarch.db not found on given mirror' + warn "using default mirror $MIRROR" + else + MIRROR=$line + msg "using mirror $MIRROR" + fi + break + ;; + *) + warn 'you did not specify a correct mirror url' + msg "using default mirror $MIRROR" + return + ;; + esac + done < /dev/tty +} + +# update pacman.conf +update_pacman_conf() +{ + # delete blackarch related entries if existing + sed -i '/blackarch/{N;d}' /etc/pacman.conf + + cat >> "/etc/pacman.conf" << EOF +[blackarch] +Server = $MIRROR/\$repo/os/\$arch +EOF +} + +# synchronize and update +pacman_update() +{ + pacman -Syy +} + + +pacman_upgrade() +{ + echo 'perform full system upgrade? (pacman -Su) [Yn]:' + read conf < /dev/tty + case "$conf" in + ''|y|Y) pacman -Su ;; + n|N) warn 'some blackarch packages may not work without an up-to-date system.' ;; + esac +} + +# setup blackarch linux +blackarch_setup() +{ + check_priv + msg 'installing blackarch keyring...' + make_tmp_dir + fetch_keyring + verify_keyring + delete_signature + check_pacman_gnupg + install_keyring + echo + msg 'keyring installed successfully' + # check if pacman.conf has already a mirror + if ! grep -q "\[blackarch\]" /etc/pacman.conf; then + msg 'configuring pacman' + get_mirror + msg 'updating pacman.conf' + update_pacman_conf + fi + msg 'updating package databases' + pacman_update + msg 'BlackArch Linux is ready!' +} + + +blackarch_setup