aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rwxr-xr-xtools/blobs-discover/blobs-discover20
-rwxr-xr-xtools/boot-keys/boot-keys12
-rwxr-xr-xtools/boot-keys/boot-keys-helper6
-rw-r--r--tools/dependencies/configs/parabola/i386/README24
-rw-r--r--tools/dependencies/configs/parabola/i386/deps-bucts4
-rw-r--r--tools/dependencies/configs/parabola/i386/deps-coreboot11
-rw-r--r--tools/dependencies/configs/parabola/i386/deps-crossgcc-arm1
-rw-r--r--tools/dependencies/configs/parabola/i386/deps-dejavu-fonts3
-rw-r--r--tools/dependencies/configs/parabola/i386/deps-documentation1
-rw-r--r--tools/dependencies/configs/parabola/i386/deps-download2
-rw-r--r--tools/dependencies/configs/parabola/i386/deps-flashrom7
-rw-r--r--tools/dependencies/configs/parabola/i386/deps-generic10
-rw-r--r--tools/dependencies/configs/parabola/i386/deps-grub17
-rw-r--r--tools/dependencies/configs/parabola/i386/deps-i945-pwm5
-rw-r--r--tools/dependencies/configs/parabola/i386/deps-memtest86plus2
l---------tools/dependencies/configs/parabola/i6861
-rw-r--r--tools/dependencies/configs/parabola/x86_64/README24
-rw-r--r--tools/dependencies/configs/parabola/x86_64/deps-bucts4
-rw-r--r--tools/dependencies/configs/parabola/x86_64/deps-coreboot11
-rw-r--r--tools/dependencies/configs/parabola/x86_64/deps-crossgcc-arm1
-rw-r--r--tools/dependencies/configs/parabola/x86_64/deps-crossgcc-i3869
-rw-r--r--tools/dependencies/configs/parabola/x86_64/deps-dejavu-fonts3
-rw-r--r--tools/dependencies/configs/parabola/x86_64/deps-documentation1
-rw-r--r--tools/dependencies/configs/parabola/x86_64/deps-download2
-rw-r--r--tools/dependencies/configs/parabola/x86_64/deps-flashrom7
-rw-r--r--tools/dependencies/configs/parabola/x86_64/deps-generic10
-rw-r--r--tools/dependencies/configs/parabola/x86_64/deps-grub17
-rw-r--r--tools/dependencies/configs/parabola/x86_64/deps-i945-pwm5
-rw-r--r--tools/dependencies/configs/parabola/x86_64/deps-memtest86plus2
-rw-r--r--tools/dependencies/configs/targets2
-rw-r--r--tools/dependencies/configs/trisquel7/i386/README24
-rw-r--r--tools/dependencies/configs/trisquel7/i386/deps-bucts6
-rw-r--r--tools/dependencies/configs/trisquel7/i386/deps-coreboot13
-rw-r--r--tools/dependencies/configs/trisquel7/i386/deps-crossgcc-arm1
-rw-r--r--tools/dependencies/configs/trisquel7/i386/deps-dejavu-fonts2
-rw-r--r--tools/dependencies/configs/trisquel7/i386/deps-documentation1
-rw-r--r--tools/dependencies/configs/trisquel7/i386/deps-download2
-rw-r--r--tools/dependencies/configs/trisquel7/i386/deps-flashrom10
-rw-r--r--tools/dependencies/configs/trisquel7/i386/deps-generic17
-rw-r--r--tools/dependencies/configs/trisquel7/i386/deps-grub17
-rw-r--r--tools/dependencies/configs/trisquel7/i386/deps-i945-pwm6
-rw-r--r--tools/dependencies/configs/trisquel7/i386/deps-memtest86plus2
l---------tools/dependencies/configs/trisquel7/i6861
-rw-r--r--tools/dependencies/configs/trisquel7/x86_64/README24
-rw-r--r--tools/dependencies/configs/trisquel7/x86_64/deps-bucts6
-rw-r--r--tools/dependencies/configs/trisquel7/x86_64/deps-coreboot13
-rw-r--r--tools/dependencies/configs/trisquel7/x86_64/deps-crossgcc-arm1
-rw-r--r--tools/dependencies/configs/trisquel7/x86_64/deps-crossgcc-i38610
-rw-r--r--tools/dependencies/configs/trisquel7/x86_64/deps-dejavu-fonts2
-rw-r--r--tools/dependencies/configs/trisquel7/x86_64/deps-documentation1
-rw-r--r--tools/dependencies/configs/trisquel7/x86_64/deps-download2
-rw-r--r--tools/dependencies/configs/trisquel7/x86_64/deps-flashrom10
-rw-r--r--tools/dependencies/configs/trisquel7/x86_64/deps-generic17
-rw-r--r--tools/dependencies/configs/trisquel7/x86_64/deps-grub17
-rw-r--r--tools/dependencies/configs/trisquel7/x86_64/deps-i945-pwm6
-rw-r--r--tools/dependencies/configs/trisquel7/x86_64/deps-memtest86plus2
-rwxr-xr-xtools/dependencies/dependencies57
-rwxr-xr-xtools/dependencies/dependencies-helper73
-rwxr-xr-xtools/release-external/release-external2
-rwxr-xr-xtools/release-external/release-external-helper4
60 files changed, 551 insertions, 22 deletions
diff --git a/tools/blobs-discover/blobs-discover b/tools/blobs-discover/blobs-discover
index 9d5013e0..6d143d02 100755
--- a/tools/blobs-discover/blobs-discover
+++ b/tools/blobs-discover/blobs-discover
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
# Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr>
#
@@ -22,7 +22,7 @@ arguments() {
then
ls -A "$root/$PROJECTS/" | while read project
do
- echo "$project"
+ printf '%s\n' "$project"
done
else
shift
@@ -93,18 +93,18 @@ verify() {
(
IFS=$ifs_save
- printf "\nDiscovered blob: $file\n"
+ printf '\n%s\n' "Discovered blob: $file"
$EDITOR "$project_sources_path/$file"
- printf "Type \"blob\" to keep or press enter to discard: "
+ printf '%s' "Type \"blob\" to keep or press enter to discard: "
read choice
if [ "$choice" = "blob" ]
then
- echo "$file" >> "$project_blobs_path"
+ printf '%s\n' "$file" >> "$project_blobs_path"
else
- echo "$file" >> "$project_blobs_ignore_path"
+ printf '%s\n' "$file" >> "$project_blobs_ignore_path"
fi
sed "\|^$file$|d" -i "$project_blobs_discover_path"
@@ -151,13 +151,13 @@ execute() {
git_clean "$repository_path"
fi
- printf "\nDiscovering new blobs, this may take a while...\n"
+ printf '\n%s\n' 'Discovering new blobs, this may take a while...'
files=$( find "$project_sources_path" -type f | grep -vP "\.git/|\.tar|\.patch" )
touch "$project_blobs_discover_path"
- echo "$files" | while read file
+ printf '%s\n' "$files" | while read file
do
if ! [ -z "$project_blobs_ignore_path" ]
then
@@ -171,11 +171,11 @@ execute() {
match=$( "$deblob_check_path" -l -i "" "$file" || true )
if ! [ -z "$match" ]
then
- echo "$match" >> "$project_blobs_discover_path"
+ printf '%s\n' "$match" >> "$project_blobs_discover_path"
fi
done
- printf "\nDiscovered blobs were stored in $project_blobs_discover_path\n"
+ printf '\n%s\n' "Discovered blobs were stored in $project_blobs_discover_path"
}
execute_check() {
diff --git a/tools/boot-keys/boot-keys b/tools/boot-keys/boot-keys
index c446bd44..da56aca9 100755
--- a/tools/boot-keys/boot-keys
+++ b/tools/boot-keys/boot-keys
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
# Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr>
#
@@ -24,7 +24,7 @@ generate() {
if [ -z "$type" ]
then
- printf "Unable to determine keys type\n" >&2
+ printf '%s\n' 'Unable to determine keys type' >&2
return 1
fi
@@ -47,11 +47,11 @@ sign() {
if [ -z "$type" ]
then
- printf "Unable to determine keys type\n" >&2
+ printf '%s\n' 'Unable to determine keys type' >&2
return 1
fi
- echo "$prepare_files" | while read install_path
+ printf '%s\n' "$prepare_files" | while read install_path
do
case $type in
"cros-firmware")
@@ -90,11 +90,11 @@ verify() {
if [ -z "$type" ]
then
- printf "Unable to determine keys type\n" >&2
+ printf '%s\n' 'Unable to determine keys type' >&2
return 1
fi
- echo "$prepare_files" | while read install_path
+ printf '%s\n' "$prepare_files" | while read install_path
do
case $type in
"cros-firmware")
diff --git a/tools/boot-keys/boot-keys-helper b/tools/boot-keys/boot-keys-helper
index 5046cbfb..31e2c16b 100755
--- a/tools/boot-keys/boot-keys-helper
+++ b/tools/boot-keys/boot-keys-helper
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
KERNEL="kernel"
TYPE="type"
@@ -15,7 +15,7 @@ boot_keys_cros() {
if ! [ -x "$cros_script_path" ]
then
- printf "$cros_script script missing from cros-scripts install" >&2
+ printf '%s' "$cros_script script missing from cros-scripts install" >&2
return 1
fi
@@ -45,7 +45,7 @@ boot_keys_files_install_path() {
ifs_save=$IFS
IFS=$'\n'
- for argument in $( echo "$helper_arguments" )
+ for argument in $( printf '%s\n' "$helper_arguments" )
do
(
IFS=$ifs_save
diff --git a/tools/dependencies/configs/parabola/i386/README b/tools/dependencies/configs/parabola/i386/README
new file mode 100644
index 00000000..3a920465
--- /dev/null
+++ b/tools/dependencies/configs/parabola/i386/README
@@ -0,0 +1,24 @@
+Each file in this directory contains a list of dependencies that
+should be installed before compiling the program indicated by the
+filename's suffix, with a few exceptions; these exceptions being
+"deps-documentation", "deps-download", and "deps-generic" for reasons
+noted below:
+
+* "deps-documentation" contains a general list of packages that are
+ needed to build Libreboot documentation.
+* "deps-download" contains packages necessary for downloading either
+ source code repositories and/or supporting files from a remote
+ source.
+* "deps-generic" contains generic dependencies that didn't quite fit
+ (i.e. listed) under any of the other dependency lists but are
+ necessary nonetheless.
+
+It is expected that these files are updated whenever upstream projects
+change dependency requirements.
+
+Any duplications between files are intentional; in order to provide a
+clear picture as to which dependencies are needed by individual
+programs, any attempt to consolidate these lists is dissuaded.
+
+This README is released under Creative Commons Zero 1.0:
+https://creativecommons.org/publicdomain/zero/1.0/
diff --git a/tools/dependencies/configs/parabola/i386/deps-bucts b/tools/dependencies/configs/parabola/i386/deps-bucts
new file mode 100644
index 00000000..6bce532b
--- /dev/null
+++ b/tools/dependencies/configs/parabola/i386/deps-bucts
@@ -0,0 +1,4 @@
+gcc
+make
+pciutils
+zlib
diff --git a/tools/dependencies/configs/parabola/i386/deps-coreboot b/tools/dependencies/configs/parabola/i386/deps-coreboot
new file mode 100644
index 00000000..cbfb7ddc
--- /dev/null
+++ b/tools/dependencies/configs/parabola/i386/deps-coreboot
@@ -0,0 +1,11 @@
+bison
+doxygen
+flex
+gcc
+gdb
+g++
+iasl
+make
+ncurses
+openssl
+pkg-config
diff --git a/tools/dependencies/configs/parabola/i386/deps-crossgcc-arm b/tools/dependencies/configs/parabola/i386/deps-crossgcc-arm
new file mode 100644
index 00000000..6e476970
--- /dev/null
+++ b/tools/dependencies/configs/parabola/i386/deps-crossgcc-arm
@@ -0,0 +1 @@
+arm-none-eabi-gcc
diff --git a/tools/dependencies/configs/parabola/i386/deps-dejavu-fonts b/tools/dependencies/configs/parabola/i386/deps-dejavu-fonts
new file mode 100644
index 00000000..1bba66d1
--- /dev/null
+++ b/tools/dependencies/configs/parabola/i386/deps-dejavu-fonts
@@ -0,0 +1,3 @@
+fontforge
+perl-font-ttf
+perl-io-string
diff --git a/tools/dependencies/configs/parabola/i386/deps-documentation b/tools/dependencies/configs/parabola/i386/deps-documentation
new file mode 100644
index 00000000..4a59b54c
--- /dev/null
+++ b/tools/dependencies/configs/parabola/i386/deps-documentation
@@ -0,0 +1 @@
+pandoc
diff --git a/tools/dependencies/configs/parabola/i386/deps-download b/tools/dependencies/configs/parabola/i386/deps-download
new file mode 100644
index 00000000..880fb73e
--- /dev/null
+++ b/tools/dependencies/configs/parabola/i386/deps-download
@@ -0,0 +1,2 @@
+git
+wget
diff --git a/tools/dependencies/configs/parabola/i386/deps-flashrom b/tools/dependencies/configs/parabola/i386/deps-flashrom
new file mode 100644
index 00000000..c325a6f1
--- /dev/null
+++ b/tools/dependencies/configs/parabola/i386/deps-flashrom
@@ -0,0 +1,7 @@
+libftdi
+libftdi-compat
+libusb
+make
+pciutils
+pkg-config
+zlib
diff --git a/tools/dependencies/configs/parabola/i386/deps-generic b/tools/dependencies/configs/parabola/i386/deps-generic
new file mode 100644
index 00000000..162dc51d
--- /dev/null
+++ b/tools/dependencies/configs/parabola/i386/deps-generic
@@ -0,0 +1,10 @@
+autogen
+binutils
+coreutils
+fakeroot
+gawk
+help2man
+libfaketime
+m4
+texinfo
+xz
diff --git a/tools/dependencies/configs/parabola/i386/deps-grub b/tools/dependencies/configs/parabola/i386/deps-grub
new file mode 100644
index 00000000..59119a22
--- /dev/null
+++ b/tools/dependencies/configs/parabola/i386/deps-grub
@@ -0,0 +1,17 @@
+autoconf
+automake
+bdf-unifont
+bison
+device-mapper
+flex
+freetype2
+gcc
+gettext
+glibc
+libpciaccess
+libusb
+make
+pciutils
+python
+qemu
+sdl
diff --git a/tools/dependencies/configs/parabola/i386/deps-i945-pwm b/tools/dependencies/configs/parabola/i386/deps-i945-pwm
new file mode 100644
index 00000000..079b0d7d
--- /dev/null
+++ b/tools/dependencies/configs/parabola/i386/deps-i945-pwm
@@ -0,0 +1,5 @@
+gcc
+gdb
+pciutils
+make
+zlib
diff --git a/tools/dependencies/configs/parabola/i386/deps-memtest86plus b/tools/dependencies/configs/parabola/i386/deps-memtest86plus
new file mode 100644
index 00000000..89ffe213
--- /dev/null
+++ b/tools/dependencies/configs/parabola/i386/deps-memtest86plus
@@ -0,0 +1,2 @@
+gcc
+make
diff --git a/tools/dependencies/configs/parabola/i686 b/tools/dependencies/configs/parabola/i686
new file mode 120000
index 00000000..fd32fa4e
--- /dev/null
+++ b/tools/dependencies/configs/parabola/i686
@@ -0,0 +1 @@
+i386 \ No newline at end of file
diff --git a/tools/dependencies/configs/parabola/x86_64/README b/tools/dependencies/configs/parabola/x86_64/README
new file mode 100644
index 00000000..3a920465
--- /dev/null
+++ b/tools/dependencies/configs/parabola/x86_64/README
@@ -0,0 +1,24 @@
+Each file in this directory contains a list of dependencies that
+should be installed before compiling the program indicated by the
+filename's suffix, with a few exceptions; these exceptions being
+"deps-documentation", "deps-download", and "deps-generic" for reasons
+noted below:
+
+* "deps-documentation" contains a general list of packages that are
+ needed to build Libreboot documentation.
+* "deps-download" contains packages necessary for downloading either
+ source code repositories and/or supporting files from a remote
+ source.
+* "deps-generic" contains generic dependencies that didn't quite fit
+ (i.e. listed) under any of the other dependency lists but are
+ necessary nonetheless.
+
+It is expected that these files are updated whenever upstream projects
+change dependency requirements.
+
+Any duplications between files are intentional; in order to provide a
+clear picture as to which dependencies are needed by individual
+programs, any attempt to consolidate these lists is dissuaded.
+
+This README is released under Creative Commons Zero 1.0:
+https://creativecommons.org/publicdomain/zero/1.0/
diff --git a/tools/dependencies/configs/parabola/x86_64/deps-bucts b/tools/dependencies/configs/parabola/x86_64/deps-bucts
new file mode 100644
index 00000000..6bce532b
--- /dev/null
+++ b/tools/dependencies/configs/parabola/x86_64/deps-bucts
@@ -0,0 +1,4 @@
+gcc
+make
+pciutils
+zlib
diff --git a/tools/dependencies/configs/parabola/x86_64/deps-coreboot b/tools/dependencies/configs/parabola/x86_64/deps-coreboot
new file mode 100644
index 00000000..cbfb7ddc
--- /dev/null
+++ b/tools/dependencies/configs/parabola/x86_64/deps-coreboot
@@ -0,0 +1,11 @@
+bison
+doxygen
+flex
+gcc
+gdb
+g++
+iasl
+make
+ncurses
+openssl
+pkg-config
diff --git a/tools/dependencies/configs/parabola/x86_64/deps-crossgcc-arm b/tools/dependencies/configs/parabola/x86_64/deps-crossgcc-arm
new file mode 100644
index 00000000..6e476970
--- /dev/null
+++ b/tools/dependencies/configs/parabola/x86_64/deps-crossgcc-arm
@@ -0,0 +1 @@
+arm-none-eabi-gcc
diff --git a/tools/dependencies/configs/parabola/x86_64/deps-crossgcc-i386 b/tools/dependencies/configs/parabola/x86_64/deps-crossgcc-i386
new file mode 100644
index 00000000..82ca6997
--- /dev/null
+++ b/tools/dependencies/configs/parabola/x86_64/deps-crossgcc-i386
@@ -0,0 +1,9 @@
+gcc-libs-multilib
+gcc-multilib
+lib32-fakeroot
+lib32-glibc
+lib32-libltdl
+lib32-libpciaccess
+lib32-libstdc++5
+lib32-openssl
+lib32-ncurses
diff --git a/tools/dependencies/configs/parabola/x86_64/deps-dejavu-fonts b/tools/dependencies/configs/parabola/x86_64/deps-dejavu-fonts
new file mode 100644
index 00000000..1bba66d1
--- /dev/null
+++ b/tools/dependencies/configs/parabola/x86_64/deps-dejavu-fonts
@@ -0,0 +1,3 @@
+fontforge
+perl-font-ttf
+perl-io-string
diff --git a/tools/dependencies/configs/parabola/x86_64/deps-documentation b/tools/dependencies/configs/parabola/x86_64/deps-documentation
new file mode 100644
index 00000000..4a59b54c
--- /dev/null
+++ b/tools/dependencies/configs/parabola/x86_64/deps-documentation
@@ -0,0 +1 @@
+pandoc
diff --git a/tools/dependencies/configs/parabola/x86_64/deps-download b/tools/dependencies/configs/parabola/x86_64/deps-download
new file mode 100644
index 00000000..880fb73e
--- /dev/null
+++ b/tools/dependencies/configs/parabola/x86_64/deps-download
@@ -0,0 +1,2 @@
+git
+wget
diff --git a/tools/dependencies/configs/parabola/x86_64/deps-flashrom b/tools/dependencies/configs/parabola/x86_64/deps-flashrom
new file mode 100644
index 00000000..c325a6f1
--- /dev/null
+++ b/tools/dependencies/configs/parabola/x86_64/deps-flashrom
@@ -0,0 +1,7 @@
+libftdi
+libftdi-compat
+libusb
+make
+pciutils
+pkg-config
+zlib
diff --git a/tools/dependencies/configs/parabola/x86_64/deps-generic b/tools/dependencies/configs/parabola/x86_64/deps-generic
new file mode 100644
index 00000000..162dc51d
--- /dev/null
+++ b/tools/dependencies/configs/parabola/x86_64/deps-generic
@@ -0,0 +1,10 @@
+autogen
+binutils
+coreutils
+fakeroot
+gawk
+help2man
+libfaketime
+m4
+texinfo
+xz
diff --git a/tools/dependencies/configs/parabola/x86_64/deps-grub b/tools/dependencies/configs/parabola/x86_64/deps-grub
new file mode 100644
index 00000000..59119a22
--- /dev/null
+++ b/tools/dependencies/configs/parabola/x86_64/deps-grub
@@ -0,0 +1,17 @@
+autoconf
+automake
+bdf-unifont
+bison
+device-mapper
+flex
+freetype2
+gcc
+gettext
+glibc
+libpciaccess
+libusb
+make
+pciutils
+python
+qemu
+sdl
diff --git a/tools/dependencies/configs/parabola/x86_64/deps-i945-pwm b/tools/dependencies/configs/parabola/x86_64/deps-i945-pwm
new file mode 100644
index 00000000..079b0d7d
--- /dev/null
+++ b/tools/dependencies/configs/parabola/x86_64/deps-i945-pwm
@@ -0,0 +1,5 @@
+gcc
+gdb
+pciutils
+make
+zlib
diff --git a/tools/dependencies/configs/parabola/x86_64/deps-memtest86plus b/tools/dependencies/configs/parabola/x86_64/deps-memtest86plus
new file mode 100644
index 00000000..89ffe213
--- /dev/null
+++ b/tools/dependencies/configs/parabola/x86_64/deps-memtest86plus
@@ -0,0 +1,2 @@
+gcc
+make
diff --git a/tools/dependencies/configs/targets b/tools/dependencies/configs/targets
new file mode 100644
index 00000000..33794c27
--- /dev/null
+++ b/tools/dependencies/configs/targets
@@ -0,0 +1,2 @@
+parabola
+trisquel7
diff --git a/tools/dependencies/configs/trisquel7/i386/README b/tools/dependencies/configs/trisquel7/i386/README
new file mode 100644
index 00000000..3a920465
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/i386/README
@@ -0,0 +1,24 @@
+Each file in this directory contains a list of dependencies that
+should be installed before compiling the program indicated by the
+filename's suffix, with a few exceptions; these exceptions being
+"deps-documentation", "deps-download", and "deps-generic" for reasons
+noted below:
+
+* "deps-documentation" contains a general list of packages that are
+ needed to build Libreboot documentation.
+* "deps-download" contains packages necessary for downloading either
+ source code repositories and/or supporting files from a remote
+ source.
+* "deps-generic" contains generic dependencies that didn't quite fit
+ (i.e. listed) under any of the other dependency lists but are
+ necessary nonetheless.
+
+It is expected that these files are updated whenever upstream projects
+change dependency requirements.
+
+Any duplications between files are intentional; in order to provide a
+clear picture as to which dependencies are needed by individual
+programs, any attempt to consolidate these lists is dissuaded.
+
+This README is released under Creative Commons Zero 1.0:
+https://creativecommons.org/publicdomain/zero/1.0/
diff --git a/tools/dependencies/configs/trisquel7/i386/deps-bucts b/tools/dependencies/configs/trisquel7/i386/deps-bucts
new file mode 100644
index 00000000..538d83f7
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/i386/deps-bucts
@@ -0,0 +1,6 @@
+gcc
+libpci3
+libpci-dev
+make
+zlib1g
+zlib1g-dev
diff --git a/tools/dependencies/configs/trisquel7/i386/deps-coreboot b/tools/dependencies/configs/trisquel7/i386/deps-coreboot
new file mode 100644
index 00000000..bd78c637
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/i386/deps-coreboot
@@ -0,0 +1,13 @@
+bison
+doxygen
+flex
+gcc
+gdb
+g++
+iasl
+libncurses5
+libncurses5-dev
+libssl-dev
+make
+ncurses-base
+pkg-config
diff --git a/tools/dependencies/configs/trisquel7/i386/deps-crossgcc-arm b/tools/dependencies/configs/trisquel7/i386/deps-crossgcc-arm
new file mode 100644
index 00000000..f4629ab5
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/i386/deps-crossgcc-arm
@@ -0,0 +1 @@
+gcc-arm-linux-gnueabi
diff --git a/tools/dependencies/configs/trisquel7/i386/deps-dejavu-fonts b/tools/dependencies/configs/trisquel7/i386/deps-dejavu-fonts
new file mode 100644
index 00000000..30157ccf
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/i386/deps-dejavu-fonts
@@ -0,0 +1,2 @@
+fontforge
+libfont-ttf-perl
diff --git a/tools/dependencies/configs/trisquel7/i386/deps-documentation b/tools/dependencies/configs/trisquel7/i386/deps-documentation
new file mode 100644
index 00000000..4a59b54c
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/i386/deps-documentation
@@ -0,0 +1 @@
+pandoc
diff --git a/tools/dependencies/configs/trisquel7/i386/deps-download b/tools/dependencies/configs/trisquel7/i386/deps-download
new file mode 100644
index 00000000..880fb73e
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/i386/deps-download
@@ -0,0 +1,2 @@
+git
+wget
diff --git a/tools/dependencies/configs/trisquel7/i386/deps-flashrom b/tools/dependencies/configs/trisquel7/i386/deps-flashrom
new file mode 100644
index 00000000..e469c651
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/i386/deps-flashrom
@@ -0,0 +1,10 @@
+libftdi1
+libftdi-dev
+libpci3
+libpci-dev
+libusb-1.0-0
+libusb-1.0-0-dev
+pciutils
+pkg-config
+zlib1g
+zlib1g-dev
diff --git a/tools/dependencies/configs/trisquel7/i386/deps-generic b/tools/dependencies/configs/trisquel7/i386/deps-generic
new file mode 100644
index 00000000..b04512a4
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/i386/deps-generic
@@ -0,0 +1,17 @@
+autogen
+binutils
+build-essential
+coreutils
+fakeroot
+gawk
+help2man
+libfakeroot
+libfaketime
+libltdl-dev
+liblzma-dev
+libopts25
+libopts25-dev
+libtool
+m4
+texinfo
+xz-utils
diff --git a/tools/dependencies/configs/trisquel7/i386/deps-grub b/tools/dependencies/configs/trisquel7/i386/deps-grub
new file mode 100644
index 00000000..c54e7627
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/i386/deps-grub
@@ -0,0 +1,17 @@
+autoconf
+automake
+bison
+flex
+gcc
+gettext
+libdevmapper-dev
+libfreetype6
+libfreetype6-dev
+libpciaccess0
+libpciaccess-dev
+libusb-1.0-0
+libusb-1.0-0-dev
+python
+qemu-system-x86
+ttf-unifont
+xorriso
diff --git a/tools/dependencies/configs/trisquel7/i386/deps-i945-pwm b/tools/dependencies/configs/trisquel7/i386/deps-i945-pwm
new file mode 100644
index 00000000..538d83f7
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/i386/deps-i945-pwm
@@ -0,0 +1,6 @@
+gcc
+libpci3
+libpci-dev
+make
+zlib1g
+zlib1g-dev
diff --git a/tools/dependencies/configs/trisquel7/i386/deps-memtest86plus b/tools/dependencies/configs/trisquel7/i386/deps-memtest86plus
new file mode 100644
index 00000000..89ffe213
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/i386/deps-memtest86plus
@@ -0,0 +1,2 @@
+gcc
+make
diff --git a/tools/dependencies/configs/trisquel7/i686 b/tools/dependencies/configs/trisquel7/i686
new file mode 120000
index 00000000..fd32fa4e
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/i686
@@ -0,0 +1 @@
+i386 \ No newline at end of file
diff --git a/tools/dependencies/configs/trisquel7/x86_64/README b/tools/dependencies/configs/trisquel7/x86_64/README
new file mode 100644
index 00000000..3a920465
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/x86_64/README
@@ -0,0 +1,24 @@
+Each file in this directory contains a list of dependencies that
+should be installed before compiling the program indicated by the
+filename's suffix, with a few exceptions; these exceptions being
+"deps-documentation", "deps-download", and "deps-generic" for reasons
+noted below:
+
+* "deps-documentation" contains a general list of packages that are
+ needed to build Libreboot documentation.
+* "deps-download" contains packages necessary for downloading either
+ source code repositories and/or supporting files from a remote
+ source.
+* "deps-generic" contains generic dependencies that didn't quite fit
+ (i.e. listed) under any of the other dependency lists but are
+ necessary nonetheless.
+
+It is expected that these files are updated whenever upstream projects
+change dependency requirements.
+
+Any duplications between files are intentional; in order to provide a
+clear picture as to which dependencies are needed by individual
+programs, any attempt to consolidate these lists is dissuaded.
+
+This README is released under Creative Commons Zero 1.0:
+https://creativecommons.org/publicdomain/zero/1.0/
diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-bucts b/tools/dependencies/configs/trisquel7/x86_64/deps-bucts
new file mode 100644
index 00000000..538d83f7
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/x86_64/deps-bucts
@@ -0,0 +1,6 @@
+gcc
+libpci3
+libpci-dev
+make
+zlib1g
+zlib1g-dev
diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-coreboot b/tools/dependencies/configs/trisquel7/x86_64/deps-coreboot
new file mode 100644
index 00000000..bd78c637
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/x86_64/deps-coreboot
@@ -0,0 +1,13 @@
+bison
+doxygen
+flex
+gcc
+gdb
+g++
+iasl
+libncurses5
+libncurses5-dev
+libssl-dev
+make
+ncurses-base
+pkg-config
diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-crossgcc-arm b/tools/dependencies/configs/trisquel7/x86_64/deps-crossgcc-arm
new file mode 100644
index 00000000..f4629ab5
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/x86_64/deps-crossgcc-arm
@@ -0,0 +1 @@
+gcc-arm-linux-gnueabi
diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-crossgcc-i386 b/tools/dependencies/configs/trisquel7/x86_64/deps-crossgcc-i386
new file mode 100644
index 00000000..2fa4385b
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/x86_64/deps-crossgcc-i386
@@ -0,0 +1,10 @@
+gcc-multilib
+lib32ncurses5
+lib32ncurses5-dev
+lib32stdc++6
+lib32tinfo-dev
+lib32tinfo5
+lib32z1
+lib32z1-dev
+libc6-dev-i386
+libc6-i386
diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-dejavu-fonts b/tools/dependencies/configs/trisquel7/x86_64/deps-dejavu-fonts
new file mode 100644
index 00000000..30157ccf
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/x86_64/deps-dejavu-fonts
@@ -0,0 +1,2 @@
+fontforge
+libfont-ttf-perl
diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-documentation b/tools/dependencies/configs/trisquel7/x86_64/deps-documentation
new file mode 100644
index 00000000..4a59b54c
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/x86_64/deps-documentation
@@ -0,0 +1 @@
+pandoc
diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-download b/tools/dependencies/configs/trisquel7/x86_64/deps-download
new file mode 100644
index 00000000..880fb73e
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/x86_64/deps-download
@@ -0,0 +1,2 @@
+git
+wget
diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-flashrom b/tools/dependencies/configs/trisquel7/x86_64/deps-flashrom
new file mode 100644
index 00000000..e469c651
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/x86_64/deps-flashrom
@@ -0,0 +1,10 @@
+libftdi1
+libftdi-dev
+libpci3
+libpci-dev
+libusb-1.0-0
+libusb-1.0-0-dev
+pciutils
+pkg-config
+zlib1g
+zlib1g-dev
diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-generic b/tools/dependencies/configs/trisquel7/x86_64/deps-generic
new file mode 100644
index 00000000..b04512a4
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/x86_64/deps-generic
@@ -0,0 +1,17 @@
+autogen
+binutils
+build-essential
+coreutils
+fakeroot
+gawk
+help2man
+libfakeroot
+libfaketime
+libltdl-dev
+liblzma-dev
+libopts25
+libopts25-dev
+libtool
+m4
+texinfo
+xz-utils
diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-grub b/tools/dependencies/configs/trisquel7/x86_64/deps-grub
new file mode 100644
index 00000000..c54e7627
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/x86_64/deps-grub
@@ -0,0 +1,17 @@
+autoconf
+automake
+bison
+flex
+gcc
+gettext
+libdevmapper-dev
+libfreetype6
+libfreetype6-dev
+libpciaccess0
+libpciaccess-dev
+libusb-1.0-0
+libusb-1.0-0-dev
+python
+qemu-system-x86
+ttf-unifont
+xorriso
diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-i945-pwm b/tools/dependencies/configs/trisquel7/x86_64/deps-i945-pwm
new file mode 100644
index 00000000..538d83f7
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/x86_64/deps-i945-pwm
@@ -0,0 +1,6 @@
+gcc
+libpci3
+libpci-dev
+make
+zlib1g
+zlib1g-dev
diff --git a/tools/dependencies/configs/trisquel7/x86_64/deps-memtest86plus b/tools/dependencies/configs/trisquel7/x86_64/deps-memtest86plus
new file mode 100644
index 00000000..89ffe213
--- /dev/null
+++ b/tools/dependencies/configs/trisquel7/x86_64/deps-memtest86plus
@@ -0,0 +1,2 @@
+gcc
+make
diff --git a/tools/dependencies/dependencies b/tools/dependencies/dependencies
new file mode 100755
index 00000000..cc9b2b38
--- /dev/null
+++ b/tools/dependencies/dependencies
@@ -0,0 +1,57 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2017 Andrew Robbins <contact@andrewrobbins.info>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+arguments() {
+ tool_arguments_targets "$tool" "$@"
+}
+
+usage() {
+ tool_usage_actions "$tool" 'print'
+ tool_usage_arguments "$tool" "$@"
+}
+
+print() {
+ local distro="$1"
+
+ local arch="$(uname -i || uname -m)"
+ local tool_path="$(tool_path "$tool")"
+
+ if [[ -z "$arch" ]]; then
+ printf '\n%s\n' 'uname(1) produced no output. Exiting' 1>&2
+
+ return 1
+ fi
+
+ dependencies_host_supported "$distro" "$arch" || return
+
+ local -a dependencies
+
+ for dependency_file in "$tool_path/$CONFIGS/$distro/$arch"/*; do
+ if [[ "${dependency_file##*/}" != 'README' ]]; then
+ local -i origin="${#dependencies[@]}"
+
+ mapfile -tO "$origin" dependencies < "$dependency_file"
+ else
+ continue
+ fi
+ done
+
+ local -a sorted
+ mapfile -t sorted < <(printf '%s\n' "${dependencies[@]}" | sort | uniq)
+
+ dependencies_print "$distro" "${sorted[@]}"
+}
diff --git a/tools/dependencies/dependencies-helper b/tools/dependencies/dependencies-helper
new file mode 100755
index 00000000..9e02ad3c
--- /dev/null
+++ b/tools/dependencies/dependencies-helper
@@ -0,0 +1,73 @@
+#!/usr/bin/env bash
+
+# Copyright (C) 2017 Andrew Robbins <contact@andrewrobbins.info>
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+
+dependencies_print() {
+ local distro="$1"
+ shift
+
+ if [[ "$distro" == 'parabola' ]]; then
+ printf '\n%s\n' 'Enable the multilib repository in /etc/pacman.conf'
+ printf '\n%s\n' 'Then, run the following command as root:'
+ printf '\n%s%s\n' 'pacman -S --needed ' "$*"
+ else
+ printf '\n%s\n' 'You will need to run the following command as root:'
+ printf '\n%s%s\n' 'apt-get -y install ' "$*"
+ fi
+}
+
+dependencies_host_supported() {
+ local distro="$1"
+ local arch="$2"
+
+ dependencies_distro_supported "$distro" || return
+ dependencies_arch_supported "$distro" "$arch" || return
+}
+
+dependencies_arch_supported() {
+ local distro="$1"
+ local arch="$2"
+
+ local tool_path="$(tool_path "$tool")"
+ local distro_dir="$tool_path/$CONFIGS/$distro"
+
+ if ! [[ -d "$distro_dir/$arch" ]]; then
+ printf '\n%s\n' "Architecture \"$arch\" is not supported" 1>&2
+
+ return 1
+ fi
+}
+
+dependencies_distro_supported() {
+ local distro="$1"
+
+ local tool_path="$(tool_path "$tool")"
+ local targets_path="$tool_path/$CONFIGS/$TARGETS"
+
+ local -a targets_list
+ mapfile -t targets_list < "$targets_path"
+
+ # Necessary to properly format the string for extglob use below
+ IFS='|' eval 'local distro_list="${targets_list[*]}"'
+
+ if [[ "$distro" != @($distro_list) ]]; then
+ printf '\n%s' "Argument \"$distro\" is not supported. " 1>&2
+ printf '%s\n' 'Check spelling?' 1>&2
+
+ usage
+ return 1
+ fi
+}
diff --git a/tools/release-external/release-external b/tools/release-external/release-external
index 822b40e5..c674970a 100755
--- a/tools/release-external/release-external
+++ b/tools/release-external/release-external
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
# Copyright (C) 2016 Paul Kocialkowski <contact@paulk.fr>
#
diff --git a/tools/release-external/release-external-helper b/tools/release-external/release-external-helper
index 53a3f467..f10ac41a 100755
--- a/tools/release-external/release-external-helper
+++ b/tools/release-external/release-external-helper
@@ -1,5 +1,5 @@
-#!/bin/bash
+#!/usr/bin/env bash
release_external_files() {
- find "$root/$RELEASE" -type f | grep -vP "\.$ASC|\.$SHA256SUM"
+ find "$root/$RELEASE" -type f | grep -vP "\.$DSIG|\.$CHECKSUM"
}