remove download scripts, consolidate into script
most of them were just calling the gitclone script, so remove them. the grub script was treating gnulib as a dependency. i've now added the ability to grab 1 dependency, in the gitclone script (it should be expanded later to support multiple dependencies) the gitclone script has been renamed to "fetch". the "fetch_trees" script does more or less the same thing, but calls "fetch" and handles multiple revisions if a project needs that this is more efficient, and slightly reduces the code size of lbmk! Signed-off-by: Leah Rowe <leah@libreboot.org>btrfsvols
parent
8459e33bbc
commit
0848622799
5
Makefile
5
Makefile
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
|
@ -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
|
||||
}
|
||||
|
||||
|
|
3
lbmk
3
lbmk
|
@ -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
|
||||
|
|
|
@ -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}{
|
||||
|
|
|
@ -25,7 +25,7 @@ set -u -e
|
|||
# --------------------------------------------------------------------
|
||||
|
||||
if [ ! -d "bios_extract/" ]; then
|
||||
./download bios_extract
|
||||
./fetch bios_extract
|
||||
fi
|
||||
|
||||
printf "Building bios_extract\n"
|
||||
|
|
|
@ -29,7 +29,7 @@ set -u -e
|
|||
# --------------------------------------------------------------------
|
||||
|
||||
if [ ! -d "flashrom/" ]; then
|
||||
./download flashrom
|
||||
./fetch flashrom
|
||||
fi
|
||||
|
||||
printf "Building flashrom\n"
|
||||
|
|
|
@ -27,7 +27,7 @@ main()
|
|||
printf "Building GRUB\n"
|
||||
|
||||
if [ ! -d "grub/" ]; then
|
||||
./download grub || exit 1
|
||||
./fetch grub || exit 1
|
||||
fi
|
||||
|
||||
build_grub
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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"
|
||||
|
|
|
@ -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/" ] && \
|
||||
|
|
|
@ -53,7 +53,7 @@ check_dependencies()
|
|||
rm -f ${payloaddir}/* || exit 1
|
||||
|
||||
if [ ! -d "seabios/" ]; then
|
||||
./download seabios || exit 1
|
||||
./fetch seabios || exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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. "
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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#../../}
|
||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue