diff options
27 files changed, 44 insertions, 247 deletions
@@ -25,7 +25,7 @@ .POSIX: -#.PHONY: all check download modules ich9m-descriptors payloads roms release \ +#.PHONY: all check modules ich9m-descriptors payloads roms release \ # clean crossgcc-clean install-dependencies-ubuntu \ # install-dependencies-debian install-dependencies-arch \ # install-dependencies-void install-dependencies-fedora38 \ @@ -33,9 +33,6 @@ all: roms -download: - ./download all - modules: ./build module all diff --git a/download b/download deleted file mode 120000 index 012b4ec0..00000000 --- a/download +++ /dev/null @@ -1 +0,0 @@ -lbmk
\ No newline at end of file @@ -11,6 +11,7 @@ location="" url="" bkup_url="" tmp_dir="" +depend="" main() { @@ -25,6 +26,13 @@ main() clone_project + # dependencies are downloaded *after* + # to account for cases like gnulib in grub where + # the dependency (gnulib) goes inside the main repo (grub) + if [ "${depend}" != "" ]; then + ./fetch ${depend} || exit 1 + fi + # clean in case of failure rm -Rf ${tmp_dir} >/dev/null 2>&1 || exit 1 } @@ -47,6 +55,9 @@ read_config() bkup_url:*) bkup_url=${2} ;; + depend:*) + depend=${2} + ;; esac done << EOF $(eval "awk '${awkstr}' resources/git/revisions") @@ -105,7 +116,7 @@ patch_project() usage() { cat <<- EOF - Usage: ./gitclone [name] + Usage: ./fetch [name] Options: name: Module name as specified in resources/git/revisions diff --git a/fetch_trees b/fetch_trees index 37ff0928..19112a2e 100755 --- a/fetch_trees +++ b/fetch_trees @@ -78,7 +78,7 @@ download_for_target() return 0 fi - gitclone_from_upstream || exit 1 + fetch_from_upstream || exit 1 prepare_new_tree "${1}" "${tree}" "${rev}" \ || exit 1 @@ -133,7 +133,7 @@ check_config_for_target() touch "${cfgsdir}/${_target}/seen" } -gitclone_from_upstream() +fetch_from_upstream() { [ ! -d "${project}" ] && \ mkdir -p "${project}" @@ -141,7 +141,7 @@ gitclone_from_upstream() return 1 [ -d "${project}/${project}" ] && \ return 0 - ./gitclone ${project} || \ + ./fetch ${project} || \ return 1 } @@ -33,9 +33,6 @@ main() { if [ "${0##*/}" = "lbmk" ]; then die "Do not run the lbmk script directly!" - elif [ "${0##*/}" = "download" ]; then - ./update module $@ || exit 1 - exit 0 elif [ "${0##*/}" = "blobutil" ]; then ./update blobs $@ || exit 1 exit 0 diff --git a/resources/git/revisions b/resources/git/revisions index 13063a4c..edd076b2 100644 --- a/resources/git/revisions +++ b/resources/git/revisions @@ -3,7 +3,7 @@ # Project name is enclosed by curly braces '{}' information about the # project relevant to osbmk is stored between the subsequent curly # braces. This file is used by the gitcheck script as well as the -# gitclone script. Each entry must include: revision 'rev', location +# fetch script. Each entry must include: revision 'rev', location # 'loc', and the git url 'url'. Bkup_url is optional. {coreboot}{ @@ -25,6 +25,7 @@ loc: grub url: git://git.savannah.gnu.org/grub.git bkup_url: http://git.savannah.gnu.org/r/grub.git + depend: gnulib } {gnulib}{ diff --git a/resources/scripts/build/module/bios_extract b/resources/scripts/build/module/bios_extract index 77677fa1..8a40b5a0 100755 --- a/resources/scripts/build/module/bios_extract +++ b/resources/scripts/build/module/bios_extract @@ -25,7 +25,7 @@ set -u -e # -------------------------------------------------------------------- if [ ! -d "bios_extract/" ]; then - ./download bios_extract + ./fetch bios_extract fi printf "Building bios_extract\n" diff --git a/resources/scripts/build/module/flashrom b/resources/scripts/build/module/flashrom index 37f57ce0..a4dbe35d 100755 --- a/resources/scripts/build/module/flashrom +++ b/resources/scripts/build/module/flashrom @@ -29,7 +29,7 @@ set -u -e # -------------------------------------------------------------------- if [ ! -d "flashrom/" ]; then - ./download flashrom + ./fetch flashrom fi printf "Building flashrom\n" diff --git a/resources/scripts/build/module/grub b/resources/scripts/build/module/grub index 5cf58a67..edad6b2a 100755 --- a/resources/scripts/build/module/grub +++ b/resources/scripts/build/module/grub @@ -27,7 +27,7 @@ main() printf "Building GRUB\n" if [ ! -d "grub/" ]; then - ./download grub || exit 1 + ./fetch grub || exit 1 fi build_grub diff --git a/resources/scripts/build/module/memtest86plus b/resources/scripts/build/module/memtest86plus index 7fc46be9..45727b77 100755 --- a/resources/scripts/build/module/memtest86plus +++ b/resources/scripts/build/module/memtest86plus @@ -31,7 +31,7 @@ set -u -e printf "Building MemTest86+\n" if [ ! -d "memtest86plus/" ]; then - ./download memtest86plus + ./fetch memtest86plus fi make -j$(nproc) -BC memtest86plus diff --git a/resources/scripts/build/module/uefitool b/resources/scripts/build/module/uefitool index 6adf1de2..891d8bf8 100755 --- a/resources/scripts/build/module/uefitool +++ b/resources/scripts/build/module/uefitool @@ -24,7 +24,7 @@ set -u -e main() { if [ ! -d "uefitool" ]; then - ./download uefitool || fail "cannot download uefitool" + ./fetch uefitool || fail "cannot download uefitool" fi printf "Building uefitool (UEFIExtract)\n" diff --git a/resources/scripts/build/payload/grub b/resources/scripts/build/payload/grub index 23765f47..0734f8a9 100755 --- a/resources/scripts/build/payload/grub +++ b/resources/scripts/build/payload/grub @@ -31,7 +31,7 @@ main() printf "Creating GRUB payloads and configuration files\n" [ ! -d "grub/" ] && \ - ./download grub + ./fetch grub [ ! -f "grub/grub-mkstandalone" ] && \ ./build module grub [ ! -d "payload/" ] && \ diff --git a/resources/scripts/build/payload/seabios b/resources/scripts/build/payload/seabios index f822a019..43973109 100755 --- a/resources/scripts/build/payload/seabios +++ b/resources/scripts/build/payload/seabios @@ -53,7 +53,7 @@ check_dependencies() rm -f ${payloaddir}/* || exit 1 if [ ! -d "seabios/" ]; then - ./download seabios || exit 1 + ./fetch seabios || exit 1 fi } diff --git a/resources/scripts/build/release/src b/resources/scripts/build/release/src index 95c0036f..2b985156 100755 --- a/resources/scripts/build/release/src +++ b/resources/scripts/build/release/src @@ -23,14 +23,14 @@ set -u -e projectname="$(cat projectname)" -trees_gitclone_list="coreboot u-boot" -simple_gitclone_list="flashrom grub memtest86plus seabios me_cleaner uefitool" -simple_gitclone_list="${simple_gitclone_list} bios_extract biosutilities" +trees_fetch_list="coreboot u-boot" +simple_fetch_list="flashrom grub memtest86plus seabios me_cleaner uefitool" +simple_fetch_list="${simple_fetch_list} bios_extract biosutilities" dirlist="resources util" # do not add blobs directory here. it's handled below -filelist="lbmk blobutil modify download build README.md COPYING Makefile update" -filelist="${filelist} version versiondate projectname .gitcheck gitclone" +filelist="lbmk blobutil modify build README.md COPYING Makefile update" +filelist="${filelist} version versiondate projectname .gitcheck fetch" filelist="${filelist} fetch_trees" version="version-unknown" @@ -77,19 +77,19 @@ create_release_directory() download_modules() { - for modname in ${trees_gitclone_list}; do + for modname in ${trees_fetch_list}; do [ ! -d "${modname}" ] && \ ./fetch_trees ${modname} done - for modname in ${simple_gitclone_list}; do + for modname in ${simple_fetch_list}; do [ ! -d "${modname}/" ] && \ - ./download ${modname} + ./fetch ${modname} done } copy_files() { - for dir in ${simple_gitclone_list} ${dirlist}; do + for dir in ${simple_fetch_list} ${dirlist}; do cp -R "${dir}/" "${srcdir}/" done diff --git a/resources/scripts/modify/seabios/configs b/resources/scripts/modify/seabios/configs index 614a4371..fa3d1372 100755 --- a/resources/scripts/modify/seabios/configs +++ b/resources/scripts/modify/seabios/configs @@ -30,7 +30,7 @@ main() download_seabios() { if [ ! -d "seabios" ]; then - ./download seabios + ./fetch seabios fi if [ ! -d "seabios" ]; then printf "error: Failed to download SeaBIOS. " diff --git a/resources/scripts/update/blobs/download b/resources/scripts/update/blobs/download index b4b74c1b..0a28778a 100755 --- a/resources/scripts/update/blobs/download +++ b/resources/scripts/update/blobs/download @@ -184,7 +184,7 @@ build_dependencies() { if [ ! -d me_cleaner ]; then printf "downloading me_cleaner\n" - ./download me_cleaner || fail "could not download me_cleaner" + ./fetch me_cleaner || fail "could not download me_cleaner" fi if [ ! -d ${cbdir} ]; then printf "downloading coreboot\n" @@ -193,17 +193,17 @@ build_dependencies() fi if [ ! -d bios_extract ]; then printf "downloading bios_extract\n" - ./download bios_extract \ + ./fetch bios_extract \ || fail "could not download bios_extract" fi if [ ! -d biosutilities ]; then printf "downloading biosutilities\n" - ./download biosutilities \ + ./fetch biosutilities \ || fail "could not download biosutilities" fi if [ ! -d uefitool ]; then printf "download uefitool (for UEFIExtract)\n" - ./download uefitool \ + ./fetch uefitool \ || fail "could not download uefitool" fi if [ ! -f uefitool/uefiextract ]; then @@ -239,7 +239,7 @@ download_blobs() download_e6400vga || _failed="${_failed} e6400vga" ;; *MRC*) - ./download mrc || _failed="${_failed} mrc" + ./update blobs mrc || _failed="${_failed} mrc" ;; esac done diff --git a/resources/scripts/update/blobs/extract b/resources/scripts/update/blobs/extract index 63d09c02..5ac8e91c 100755 --- a/resources/scripts/update/blobs/extract +++ b/resources/scripts/update/blobs/extract @@ -58,10 +58,10 @@ build_dependencies() { if [ ! -d me_cleaner ]; then printf "downloading me_cleaner\n" - ./download me_cleaner || fail 'could not download me_cleaner' + ./fetch me_cleaner || fail 'could not download me_cleaner' else printf "me_cleaner already downloaded. Skipping.\n" - printf "run ./download me_cleaner to manually overwrite\n" + printf "run ./fetch me_cleaner to manually overwrite\n" fi if [ ! -d ${cbdir} ]; then @@ -90,7 +90,7 @@ extract_blobs() if [ "$CONFIG_HAVE_MRC" = "y" ]; then printf 'haswell board detected, downloading mrc\n' - ./download mrc || fail "could not download mrc" + ./update blobs mrc || fail "could not download mrc" fi _me_destination=${CONFIG_ME_BIN_PATH#../../} diff --git a/resources/scripts/update/module/mrc b/resources/scripts/update/blobs/mrc index 84e79f62..84e79f62 100755 --- a/resources/scripts/update/module/mrc +++ b/resources/scripts/update/blobs/mrc diff --git a/resources/scripts/update/module/bios_extract b/resources/scripts/update/module/bios_extract deleted file mode 100755 index 1688aabe..00000000 --- a/resources/scripts/update/module/bios_extract +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env sh -# -# Copyright (C) 2023 Leah Rowe <info@minifree.org> -# -# 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/>. -# - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -./gitclone bios_extract diff --git a/resources/scripts/update/module/biosutilities b/resources/scripts/update/module/biosutilities deleted file mode 100755 index c6de36b1..00000000 --- a/resources/scripts/update/module/biosutilities +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env sh -# -# Copyright (C) 2023 Leah Rowe <info@minifree.org> -# -# 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/>. -# - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -./gitclone biosutilities diff --git a/resources/scripts/update/module/flashrom b/resources/scripts/update/module/flashrom deleted file mode 100755 index def33ffb..00000000 --- a/resources/scripts/update/module/flashrom +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env sh - -# helper script: downloads flashrom and patches it -# -# Copyright (C) 2014, 2015, 2020, 2021 Leah Rowe <info@minifree.org> -# -# 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/>. -# - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -./gitclone flashrom diff --git a/resources/scripts/update/module/grub b/resources/scripts/update/module/grub deleted file mode 100755 index ff1ce55c..00000000 --- a/resources/scripts/update/module/grub +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env sh - -# helper script: Downloads GRUB and patches it. -# -# Copyright (C) 2014,2015,2016,2020,2021,2023 Leah Rowe -# <info@minifree.org> -# -# 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/>. -# - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -./gitclone grub -./gitclone gnulib || rm -Rf grub/ -if [ ! -d grub ]; then - printf "%s: Could not download grub and gnulib\n" ${0} - exit 1 -else - exit 0 -fi diff --git a/resources/scripts/update/module/me_cleaner b/resources/scripts/update/module/me_cleaner deleted file mode 100755 index 93173257..00000000 --- a/resources/scripts/update/module/me_cleaner +++ /dev/null @@ -1,25 +0,0 @@ -#!/usr/bin/env sh -# -# Copyright (C) 2020 Leah Rowe <info@minifree.org> -# -# 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/>. -# - -# This script assumes that the working directory is the -# root of retroboot_src or retroboot git. - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -./gitclone me_cleaner diff --git a/resources/scripts/update/module/memtest86plus b/resources/scripts/update/module/memtest86plus deleted file mode 100755 index e4106f38..00000000 --- a/resources/scripts/update/module/memtest86plus +++ /dev/null @@ -1,32 +0,0 @@ -#!/usr/bin/env sh - -# helper script: Downloads MemTest86+ and patches it -# -# Copyright (C) 2014, 2015, 2020, 2021 Leah Rowe <info@minifree.org> -# Copyright (C) 2015 Joseph Michael Thompson <jmt@josepht.me> -# Copyright (C) 2015 Klemens Nanni <contact@autoboot.org> -# -# 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/>. -# - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -# Get the last version of MemTest86+ used, apply patches, build it. - -# Remove the old version that may exist -# ------------------------------------------------------------------------------ - -printf "Downloading MemTest86+\n" -./gitclone memtest86plus diff --git a/resources/scripts/update/module/seabios b/resources/scripts/update/module/seabios deleted file mode 100755 index 666c32ae..00000000 --- a/resources/scripts/update/module/seabios +++ /dev/null @@ -1,29 +0,0 @@ -#!/usr/bin/env sh -# -# Copyright (C) 2015, 2016, 2021 Leah Rowe <info@minifree.org> -# -# 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/>. -# - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -# Get SeaBIOS, revert to commit last used and apply patches. - -# Remove the old version that may still exist -# ------------------------------------------------------------------------------ - -printf "Downloading SeaBIOS\n" - -./gitclone seabios diff --git a/resources/scripts/update/module/uefitool b/resources/scripts/update/module/uefitool deleted file mode 100755 index cd376895..00000000 --- a/resources/scripts/update/module/uefitool +++ /dev/null @@ -1,22 +0,0 @@ -#!/usr/bin/env sh -# -# Copyright (C) 2023 Leah Rowe <info@minifree.org> -# -# 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/>. -# - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -./gitclone uefitool diff --git a/resources/scripts/update/seabios/configs b/resources/scripts/update/seabios/configs index c40ed2d2..8e8377bb 100755 --- a/resources/scripts/update/seabios/configs +++ b/resources/scripts/update/seabios/configs @@ -28,7 +28,7 @@ set -u -e printf "Updating seabios configs\n" if [ ! -d "seabios" ]; then - ./download seabios + ./fetch seabios fi if [ ! -d "seabios" ]; then |