diff options
| author | Leah Rowe <leah@libreboot.org> | 2021-05-18 13:56:12 +0100 | 
|---|---|---|
| committer | Leah Rowe <leah@libreboot.org> | 2021-05-18 13:56:12 +0100 | 
| commit | 89517ed6b9e89321e1387ed8f534d7f080ffdf57 (patch) | |
| tree | 6f2085cb89b035d3cb62ad49b470a514672102d6 /resources/scripts/build/release | |
libreboot!
this is forked from the "libre" branch in osboot, which is itself a libre,
deblobbed fork of osboot, a blobbed up fork of libreboot
libreboot needed to be purged clean. this is the new libreboot development
repository. the old one has been abandoned
Diffstat (limited to 'resources/scripts/build/release')
| -rwxr-xr-x | resources/scripts/build/release/roms | 70 | ||||
| -rwxr-xr-x | resources/scripts/build/release/src | 120 | 
2 files changed, 190 insertions, 0 deletions
| diff --git a/resources/scripts/build/release/roms b/resources/scripts/build/release/roms new file mode 100755 index 00000000..a4458f30 --- /dev/null +++ b/resources/scripts/build/release/roms @@ -0,0 +1,70 @@ +#!/bin/bash + +# +#  helper script: generate release archive (ROM images) +# +#	Copyright (C) 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/>. +# + +# This script assumes that the working directory is the root +# of git or release archive + +[ "x${DEBUG+set}" = 'xset' ] && set -v +set -u -e + +projectname="$(cat projectname)" + +version="version-unknown" +if [ -f version ]; then +	version="$(cat version)" +fi +versiondate="version-date-unknown" +if [ -f versiondate ]; then +	versiondate="$(cat versiondate)" +fi + +if [ ! -d "bin/" ]; then +    ./build boot roms all +fi + +[ ! -d "release/" ] && \ +    mkdir -p release/ +[ ! -d "release/${version}/" ] && \ +    mkdir -p "release/${version}/" +[ -d "release/${version}/roms/" ] && \ +    rm -Rf "release/${version}/roms/" +[ ! -d "release/${version}/roms/" ] && \ +    mkdir -p "release/${version}/roms/" + +printf "Building ROM image archives for version %s\n" "${version}" + +( +    cd bin/ +    for target in *; do +        if [ ! -d "${target}/" ]; then +            continue +        fi + +        printf "Generating release/%s/roms/%s-%s_%s.tar.xz\n" "${projectname}" "${version}" "${version}" "${target##*/}" +	printf "%s\n" "${version}" > "${target}/version" +	printf "%s\n" "${versiondate}" > "${target}/versiondate" +	printf "%s\n" "${projectname}" > "${target}/projectname" +        tar -c "${target}/" | xz -9e >"../release/${version}/roms/${projectname}-${version}_${target##*/}.tar.xz" +    done +) + +printf "\nROM image release archives available at release/%s/roms/\n\n" "${version}" + diff --git a/resources/scripts/build/release/src b/resources/scripts/build/release/src new file mode 100755 index 00000000..dc8bc75f --- /dev/null +++ b/resources/scripts/build/release/src @@ -0,0 +1,120 @@ +#!/bin/bash + +# +#  helper script: generate release archive (source code) +# +#	Copyright (C) 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/>. +# + +# This script assumes that the working directory is the root +# of git or release archive + +[ "x${DEBUG+set}" = 'xset' ] && set -v +set -u -e + +projectname="$(cat projectname)" + +version="version-unknown" +if [ -f version ]; then +	version="$(cat version)" +fi +versiondate="version-date-unknown" +if [ -f versiondate ]; then +	versiondate="$(cat versiondate)" +fi + +reldir="release/${version}" +dirname="${projectname}-${version}_src" +srcdir="${reldir}/${dirname}" + +printf "Building source code archive, version %s\n" "${version}" + +[ ! -d "release/" ] && mkdir -p release/ +[ ! -d "${reldir}/" ] && mkdir -p "${reldir}/" +[ -d "${srcdir}/" ] && \ +    rm -Rf "${srcdir}/" +[ -f "${srcdir}.tar.xz" ] && \ +    rm -f "${srcdir}.tar.xz/" + +mkdir -p "${srcdir}/" + +printf "%s" "${version}" > "${srcdir}"/version + +modlist="coreboot flashrom grub memtest86plus seabios ich9utils" +dirlist="resources" +filelist="download build README COPYING Makefile" + +if [ ! -d "coreboot/default/payloads/external/tianocore/tianocore" ]; then +    ./download tianocore +fi + +for modname in ${modlist}; do +    if [ ! -d "${modname}/" ]; then +        ./download ${modname} +    fi +done + +for dir in ${modlist} ${dirlist}; do +    cp -R "${dir}/" "${srcdir}/" +done + +for i in ${filelist}; do +    if [ ! -f "${i}" ]; then +        printf "build/release/src: ERROR: file '%s' does not exist.\n" "${i}" +        rm -Rf "${srcdir}" +        exit 1 +    fi +    cp ${i} "${srcdir}/" +done + +( +    cd "${srcdir}/coreboot/" +    for i in *; do +        [ ! -d "${i}" ] && continue +        ( +            cd "${i}/" +            make distclean +        ) +    done +) + +( +    cd "${srcdir}/" +    ./build clean all + +    rm -Rf coreboot/coreboot/ +    rm -Rf .git* */.git* coreboot/*/.git* coreboot/*/3rdparty/*/.git* +    rm -Rf coreboot/*/util/nvidia/cbootimage/.git* +    rm -Rf coreboot/*/payloads/external/tianocore/tianocore/.git* +    rm -Rf coreboot/*/payloads/external/tianocore/tianocore/CryptoPkg/Library/OpensslLib/openssl/.git* +    rm -Rf coreboot/*/payloads/external/tianocore/tianocore/ArmPkg/Library/ArmSoftFloatLib/"berkeley-softfloat-3"/.git* +    rm -Rf coreboot/*/payloads/external/tianocore/tianocore/UnitTestFrameworkPkg/Library/CmockaLib/cmocka/.git* +    rm -Rf coreboot/*/payloads/external/tianocore/tianocore/MdeModulePkg/Universal/RegularExpressionDxe/oniguruma/.git* +    rm -Rf coreboot/*/payloads/external/tianocore/tianocore/MdeModulePkg/Library/BrotliCustomDecompressLib/brotli/.git* +    rm -Rf coreboot/*/payloads/external/tianocore/tianocore/BaseTools/Source/C/BrotliCompress/brotli/.git* +) + +( +cd "${reldir}/" +printf "%s\n" "${version}" > "${dirname}/version" +printf "%s\n" "${versiondate}" > "${dirname}/versiondate" +printf "%s\n" "${projectname}" > "${dirname}/projectname" +tar -c "${dirname}/" | xz -9e >"${dirname}.tar.xz" +rm -Rf "${dirname}/" +) + +printf "Source code archive available at %s.tar.xz\n\n" "${srcdir}" + | 
