From 65faaed6608ea1201b9b599bd1771e497a3a9d6f Mon Sep 17 00:00:00 2001 From: Francis Rowe Date: Sun, 7 Jun 2015 21:35:07 +0100 Subject: build/release/*: version in file names no longer optional (also, rename archives to util) --- resources/scripts/helpers/build/release/archives | 296 ----------------------- resources/scripts/helpers/build/release/crossgcc | 6 +- resources/scripts/helpers/build/release/docs | 6 +- resources/scripts/helpers/build/release/roms | 6 +- resources/scripts/helpers/build/release/src | 6 +- resources/scripts/helpers/build/release/util | 296 +++++++++++++++++++++++ 6 files changed, 300 insertions(+), 316 deletions(-) delete mode 100755 resources/scripts/helpers/build/release/archives create mode 100755 resources/scripts/helpers/build/release/util diff --git a/resources/scripts/helpers/build/release/archives b/resources/scripts/helpers/build/release/archives deleted file mode 100755 index 1795df02..00000000 --- a/resources/scripts/helpers/build/release/archives +++ /dev/null @@ -1,296 +0,0 @@ -#!/bin/bash - -# -# helper script: generate the release archives -# -# Copyright (C) 2014, 2015 Francis Rowe -# -# 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 . -# - -# This script assumes that the current working directory when running -# it is the root directory of the libreboot git repository clone. - -[ "x${DEBUG+set}" = 'xset' ] && set -v -set -u -e - -printf "Generating the release archives\n" - -arch="unknown" -if [ $(uname -i) = "i686" ] || [ $(uname -m) = "i686" ] - then - arch="i686" - echo "Running on i686. ok." - sleep 2 -elif [ $(uname -i) = "x86_64" ] || [ $(uname -m) = "x86_64" ] - then - arch="x86_64" - echo "Running on x86_64. ok." - sleep 2 -else - echo "This script must be run on an i686 or x86_64 host. x86_64 is recommended." - exit 1 -fi - -# ### Version information for this release -# ---------------------------------------------------------------------------------------------------------------------------- - -# create file showing the commit ID from git for this archive. -cat .git/refs/heads/master > commitid - -# ### Delete old archives before continuing -# ---------------------------------------------------------------------------------------------------------------------------- - -printf "Deleting the old release archives\n" -rm -f libreboot_*.tar.xz -rm -f tobuild.tar.xz -rm -Rf release/ -rm -Rf tobuild/ - -# ### Create the release/ directory where the archives will go -# ---------------------------------------------------------------------------------------------------------------------------- - -# create directory for the release -mkdir release/ - -# ### Prepare libreboot_util archive ready for release -# ---------------------------------------------------------------------------------------------------------------------------- - -printf "Generating libreboot_util.tar.xz\n" - -mkdir libreboot_util - -# -------------- -# BUC.TS related -# -------------- -# X60/T60: BUC.TS utility is needed to flash libreboot while Lenovo BIOS is running -# Include it statically compiled -cp -R bucts bucts_ -# make it statically compile -./build module bucts static -mkdir libreboot_util/bucts/ -mkdir libreboot_util/bucts/"$arch"/ -mv bucts/bucts libreboot_util/bucts/"$arch"/ -rm -Rf bucts/ -mv bucts_/ bucts/ - -# ---------------- -# Flashrom related -# ---------------- -# Flashrom is used to install libreboot on supported targets -# Include it statically compiled -cp -R flashrom flashrom_ -# make it statically compile -./build module flashrom static -mkdir libreboot_util/flashrom -cd flashrom/ -mkdir ../libreboot_util/flashrom/"$arch" -mv flashrom ../libreboot_util/flashrom/"$arch" -mv flashrom_lenovobios_sst ../libreboot_util/flashrom/"$arch" -mv flashrom_lenovobios_macronix ../libreboot_util/flashrom/"$arch" -cd ../ -rm -Rf flashrom -mv flashrom_ flashrom - -# ---------------- -# cbfstool related -# ---------------- -# build cbfstool, compiled (statically linked) and include the binary -cd coreboot/util/ -cp -R cbfstool cbfstool_ -cd cbfstool/ -make clean -make SHARED=0 CC='gcc -static' -mkdir ../../../libreboot_util/cbfstool - -mkdir ../../../libreboot_util/cbfstool/"$arch" -mv cbfstool ../../../libreboot_util/cbfstool/"$arch"/ - -if [ "$arch" = "x86_64" ] - then - # Now build 32-bit binaries - make clean - make SHARED=0 CC='gcc -static -m32' - mkdir ../../../libreboot_util/cbfstool/i686 - mv cbfstool ../../../libreboot_util/cbfstool/i686/ -fi - -# cross-compile for ARM -make clean -make SHARED=0 CC='arm-linux-gnueabi-gcc -static' -mkdir ../../../libreboot_util/cbfstool/armv7l -mv cbfstool ../../../libreboot_util/cbfstool/armv7l/ - -cd ../ -rm -Rf cbfstool -mv cbfstool_ cbfstool -cd ../../ - -# ---------------- -# ich9deblob related -# ---------------- -# build ich9deblob, compiled (statically linked) and include the binary -cd resources/utilities/ -cp -R ich9deblob ich9deblob_ -cd ich9deblob/ -make clean -make SHARED=0 CC='gcc -static' -mkdir ../../../libreboot_util/ich9deblob - -mkdir ../../../libreboot_util/ich9deblob/"$arch" -mv ich9deblob ../../../libreboot_util/ich9deblob/"$arch"/ -mv ich9gen ../../../libreboot_util/ich9deblob/"$arch"/ -mv demefactory ../../../libreboot_util/ich9deblob/"$arch"/ - -if [ "$arch" = "x86_64" ] - then - # Now build 32-bit binaries - make clean - make SHARED=0 CC='gcc -static -m32' - mkdir ../../../libreboot_util/ich9deblob/i686 - mv ich9deblob ../../../libreboot_util/ich9deblob/i686/ - mv ich9gen ../../../libreboot_util/ich9deblob/i686/ - mv demefactory ../../../libreboot_util/ich9deblob/i686/ -fi - -# cross-compile for ARM -make clean -make SHARED=0 CC='arm-linux-gnueabi-gcc -static' -mkdir ../../../libreboot_util/ich9deblob/armv7l -mv ich9deblob ../../../libreboot_util/ich9deblob/armv7l/ -mv ich9gen ../../../libreboot_util/ich9deblob/armv7l/ -mv demefactory ../../../libreboot_util/ich9deblob/armv7l/ - -cd ../ -rm -Rf ich9deblob -mv ich9deblob_ ich9deblob -cd ../../ - -# ----------------- -# nvramtool related -# ----------------- -# build nvramtool, compiled (statically linked) and include the binary -cd coreboot/util/ -cp -R nvramtool nvramtool_ -cd nvramtool/ -make clean -make SHARED=0 CC='gcc -static' -mkdir ../../../libreboot_util/nvramtool - -mkdir ../../../libreboot_util/nvramtool/"$arch" -mv nvramtool ../../../libreboot_util/nvramtool/"$arch"/ - -if [ "$arch" = "x86_64" ] - then - # Now build 32-bit binaries - make clean - make SHARED=0 CC='gcc -static -m32' - mkdir ../../../libreboot_util/nvramtool/i686 - mv nvramtool ../../../libreboot_util/nvramtool/i686/ -fi - -cd ../ -rm -Rf nvramtool -mv nvramtool_ nvramtool -cd ../../ - -# ----------------- -# cbmem related -# ----------------- -# build cbmem, compiled (statically linked) and include the binary -cd coreboot/util/ -cp -R cbmem cbmem_ -cd cbmem/ -make clean -make SHARED=0 CC='gcc -static' -mkdir ../../../libreboot_util/cbmem - -mkdir ../../../libreboot_util/cbmem/"$arch" -mv cbmem ../../../libreboot_util/cbmem/"$arch"/ - -if [ "$arch" = "x86_64" ] - then - # Now build 32-bit binaries - make clean - make SHARED=0 CC='gcc -static -m32' - mkdir ../../../libreboot_util/cbmem/i686 - mv cbmem ../../../libreboot_util/cbmem/i686/ -fi -cd ../ -rm -Rf cbmem -mv cbmem_ cbmem -cd ../../ - -# ------------- -# Miscellaneous -# ------------- - -# Flashing script -cp flash libreboot_util/ - -# for changing the GRUB background -cp resources/scripts/misc/grub-background libreboot_util/ - -printf "\n\n" - -# ### Create the release tarballs -# ---------------------------------------------------------------------------------------------------------------------------- - -# mention the commit ID (libreboot, git) in the release archives -cat commitid > libreboot_util/commitid - -printf "Compressing libreboot_util/ into libreboot_util.tar.xz\n" -# create lzma compressed util archive -tar -c libreboot_util | xz -9e >libreboot_util.tar.xz - -# Move the archives to the release directory -mv libreboot_util.tar.xz release/ -# Put the change log in the release directory. -cp docs/release.html release/ -cp docs/archive_old.html release/ -cp docs/cc-by-sa-4.txt release/ -cp -R docs/css/ release/ - -# Create a symlink to the commitid file, in release/ -cat commitid > release/commitid - -printf "\n\n" - -# ### Delete the uncompressed release directories -# ---------------------------------------------------------------------------------------------------------------------------- - -# The uncompressed archives are no longer needed -rm -Rf libreboot_util - -# For those utilities that have to be built on the target -./build external source - -# Move the archive to the release directory -mv tobuild.tar.xz release/ - -printf "Tar archives are stored in release/.\n" -printf "NOTE: don't forget to add ARM binaries for flashrom.\n" -printf "NOTE: don't forget to add i386 binaries for flashrom/bucts.\n" -printf "The archive tobuild.tar.xz has been created with everything needed to build these utilities.\n\n" - -# create sha512sum manifest -cd release/ -printf "Creating manifest of SHA512 sums in sha512sum.txt...\n" -for file in $(find -type f); do sha512sum $file >> sha512sum.txt; done -printf "...done.\n" -cd ../ - -printf "\n\n" - -# ------------------- DONE ---------------------- diff --git a/resources/scripts/helpers/build/release/crossgcc b/resources/scripts/helpers/build/release/crossgcc index 80defb5e..d76947b8 100755 --- a/resources/scripts/helpers/build/release/crossgcc +++ b/resources/scripts/helpers/build/release/crossgcc @@ -26,11 +26,7 @@ set -u -e printf 'Building the coreboot crossgcc archives\n' version="$(git describe --tags HEAD)" -if [ "x${VERSION_IN_FILENAMES+set}" = 'xset' ]; then - distdir="crossgcc_${version}" -else - distdir='crossgcc' -fi +distdir="crossgcc_${version}" printf 'Deleting old coreboot crossgcc archives\n' rm -Rf "release/${distdir}/" diff --git a/resources/scripts/helpers/build/release/docs b/resources/scripts/helpers/build/release/docs index 93aa4a2e..a1f7b963 100755 --- a/resources/scripts/helpers/build/release/docs +++ b/resources/scripts/helpers/build/release/docs @@ -26,11 +26,7 @@ set -u -e printf 'Building the documentation release archive\n' version="$(git describe --tags HEAD)" -if [ "x${VERSION_IN_FILENAMES+set}" = 'xset' ]; then - distdir="libreboot_${version}_docs" -else - distdir='libreboot_docs' -fi +distdir="libreboot_${version}_docs" [ -d release/ ] || mkdir release/ diff --git a/resources/scripts/helpers/build/release/roms b/resources/scripts/helpers/build/release/roms index 13629b73..eb58a51e 100755 --- a/resources/scripts/helpers/build/release/roms +++ b/resources/scripts/helpers/build/release/roms @@ -29,11 +29,7 @@ if [ ! -d bin/ ]; then fi version="$(git describe --tags HEAD)" -if [ "x${VERSION_IN_FILENAMES+set}" = 'xset' ]; then - distname="libreboot_${version}" -else - distname='libreboot' -fi +distname="libreboot_${version}" [ -d release/rom/ ] || mkdir -p release/rom/ diff --git a/resources/scripts/helpers/build/release/src b/resources/scripts/helpers/build/release/src index 29c0ee02..4663c1b7 100755 --- a/resources/scripts/helpers/build/release/src +++ b/resources/scripts/helpers/build/release/src @@ -26,11 +26,7 @@ set -u -e printf 'Building the source release archive\n' version="$(git describe --tags HEAD)" -if [ "x${VERSION_IN_FILENAMES+set}" = 'xset' ]; then - distdir="libreboot_${version}_src" -else - distdir='libreboot_src' -fi +distdir="libreboot_${version}_src" printf 'Deleting old source release archives\n' rm -f "release/${distdir}.tar.xz" diff --git a/resources/scripts/helpers/build/release/util b/resources/scripts/helpers/build/release/util new file mode 100755 index 00000000..1795df02 --- /dev/null +++ b/resources/scripts/helpers/build/release/util @@ -0,0 +1,296 @@ +#!/bin/bash + +# +# helper script: generate the release archives +# +# Copyright (C) 2014, 2015 Francis Rowe +# +# 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 . +# + +# This script assumes that the current working directory when running +# it is the root directory of the libreboot git repository clone. + +[ "x${DEBUG+set}" = 'xset' ] && set -v +set -u -e + +printf "Generating the release archives\n" + +arch="unknown" +if [ $(uname -i) = "i686" ] || [ $(uname -m) = "i686" ] + then + arch="i686" + echo "Running on i686. ok." + sleep 2 +elif [ $(uname -i) = "x86_64" ] || [ $(uname -m) = "x86_64" ] + then + arch="x86_64" + echo "Running on x86_64. ok." + sleep 2 +else + echo "This script must be run on an i686 or x86_64 host. x86_64 is recommended." + exit 1 +fi + +# ### Version information for this release +# ---------------------------------------------------------------------------------------------------------------------------- + +# create file showing the commit ID from git for this archive. +cat .git/refs/heads/master > commitid + +# ### Delete old archives before continuing +# ---------------------------------------------------------------------------------------------------------------------------- + +printf "Deleting the old release archives\n" +rm -f libreboot_*.tar.xz +rm -f tobuild.tar.xz +rm -Rf release/ +rm -Rf tobuild/ + +# ### Create the release/ directory where the archives will go +# ---------------------------------------------------------------------------------------------------------------------------- + +# create directory for the release +mkdir release/ + +# ### Prepare libreboot_util archive ready for release +# ---------------------------------------------------------------------------------------------------------------------------- + +printf "Generating libreboot_util.tar.xz\n" + +mkdir libreboot_util + +# -------------- +# BUC.TS related +# -------------- +# X60/T60: BUC.TS utility is needed to flash libreboot while Lenovo BIOS is running +# Include it statically compiled +cp -R bucts bucts_ +# make it statically compile +./build module bucts static +mkdir libreboot_util/bucts/ +mkdir libreboot_util/bucts/"$arch"/ +mv bucts/bucts libreboot_util/bucts/"$arch"/ +rm -Rf bucts/ +mv bucts_/ bucts/ + +# ---------------- +# Flashrom related +# ---------------- +# Flashrom is used to install libreboot on supported targets +# Include it statically compiled +cp -R flashrom flashrom_ +# make it statically compile +./build module flashrom static +mkdir libreboot_util/flashrom +cd flashrom/ +mkdir ../libreboot_util/flashrom/"$arch" +mv flashrom ../libreboot_util/flashrom/"$arch" +mv flashrom_lenovobios_sst ../libreboot_util/flashrom/"$arch" +mv flashrom_lenovobios_macronix ../libreboot_util/flashrom/"$arch" +cd ../ +rm -Rf flashrom +mv flashrom_ flashrom + +# ---------------- +# cbfstool related +# ---------------- +# build cbfstool, compiled (statically linked) and include the binary +cd coreboot/util/ +cp -R cbfstool cbfstool_ +cd cbfstool/ +make clean +make SHARED=0 CC='gcc -static' +mkdir ../../../libreboot_util/cbfstool + +mkdir ../../../libreboot_util/cbfstool/"$arch" +mv cbfstool ../../../libreboot_util/cbfstool/"$arch"/ + +if [ "$arch" = "x86_64" ] + then + # Now build 32-bit binaries + make clean + make SHARED=0 CC='gcc -static -m32' + mkdir ../../../libreboot_util/cbfstool/i686 + mv cbfstool ../../../libreboot_util/cbfstool/i686/ +fi + +# cross-compile for ARM +make clean +make SHARED=0 CC='arm-linux-gnueabi-gcc -static' +mkdir ../../../libreboot_util/cbfstool/armv7l +mv cbfstool ../../../libreboot_util/cbfstool/armv7l/ + +cd ../ +rm -Rf cbfstool +mv cbfstool_ cbfstool +cd ../../ + +# ---------------- +# ich9deblob related +# ---------------- +# build ich9deblob, compiled (statically linked) and include the binary +cd resources/utilities/ +cp -R ich9deblob ich9deblob_ +cd ich9deblob/ +make clean +make SHARED=0 CC='gcc -static' +mkdir ../../../libreboot_util/ich9deblob + +mkdir ../../../libreboot_util/ich9deblob/"$arch" +mv ich9deblob ../../../libreboot_util/ich9deblob/"$arch"/ +mv ich9gen ../../../libreboot_util/ich9deblob/"$arch"/ +mv demefactory ../../../libreboot_util/ich9deblob/"$arch"/ + +if [ "$arch" = "x86_64" ] + then + # Now build 32-bit binaries + make clean + make SHARED=0 CC='gcc -static -m32' + mkdir ../../../libreboot_util/ich9deblob/i686 + mv ich9deblob ../../../libreboot_util/ich9deblob/i686/ + mv ich9gen ../../../libreboot_util/ich9deblob/i686/ + mv demefactory ../../../libreboot_util/ich9deblob/i686/ +fi + +# cross-compile for ARM +make clean +make SHARED=0 CC='arm-linux-gnueabi-gcc -static' +mkdir ../../../libreboot_util/ich9deblob/armv7l +mv ich9deblob ../../../libreboot_util/ich9deblob/armv7l/ +mv ich9gen ../../../libreboot_util/ich9deblob/armv7l/ +mv demefactory ../../../libreboot_util/ich9deblob/armv7l/ + +cd ../ +rm -Rf ich9deblob +mv ich9deblob_ ich9deblob +cd ../../ + +# ----------------- +# nvramtool related +# ----------------- +# build nvramtool, compiled (statically linked) and include the binary +cd coreboot/util/ +cp -R nvramtool nvramtool_ +cd nvramtool/ +make clean +make SHARED=0 CC='gcc -static' +mkdir ../../../libreboot_util/nvramtool + +mkdir ../../../libreboot_util/nvramtool/"$arch" +mv nvramtool ../../../libreboot_util/nvramtool/"$arch"/ + +if [ "$arch" = "x86_64" ] + then + # Now build 32-bit binaries + make clean + make SHARED=0 CC='gcc -static -m32' + mkdir ../../../libreboot_util/nvramtool/i686 + mv nvramtool ../../../libreboot_util/nvramtool/i686/ +fi + +cd ../ +rm -Rf nvramtool +mv nvramtool_ nvramtool +cd ../../ + +# ----------------- +# cbmem related +# ----------------- +# build cbmem, compiled (statically linked) and include the binary +cd coreboot/util/ +cp -R cbmem cbmem_ +cd cbmem/ +make clean +make SHARED=0 CC='gcc -static' +mkdir ../../../libreboot_util/cbmem + +mkdir ../../../libreboot_util/cbmem/"$arch" +mv cbmem ../../../libreboot_util/cbmem/"$arch"/ + +if [ "$arch" = "x86_64" ] + then + # Now build 32-bit binaries + make clean + make SHARED=0 CC='gcc -static -m32' + mkdir ../../../libreboot_util/cbmem/i686 + mv cbmem ../../../libreboot_util/cbmem/i686/ +fi +cd ../ +rm -Rf cbmem +mv cbmem_ cbmem +cd ../../ + +# ------------- +# Miscellaneous +# ------------- + +# Flashing script +cp flash libreboot_util/ + +# for changing the GRUB background +cp resources/scripts/misc/grub-background libreboot_util/ + +printf "\n\n" + +# ### Create the release tarballs +# ---------------------------------------------------------------------------------------------------------------------------- + +# mention the commit ID (libreboot, git) in the release archives +cat commitid > libreboot_util/commitid + +printf "Compressing libreboot_util/ into libreboot_util.tar.xz\n" +# create lzma compressed util archive +tar -c libreboot_util | xz -9e >libreboot_util.tar.xz + +# Move the archives to the release directory +mv libreboot_util.tar.xz release/ +# Put the change log in the release directory. +cp docs/release.html release/ +cp docs/archive_old.html release/ +cp docs/cc-by-sa-4.txt release/ +cp -R docs/css/ release/ + +# Create a symlink to the commitid file, in release/ +cat commitid > release/commitid + +printf "\n\n" + +# ### Delete the uncompressed release directories +# ---------------------------------------------------------------------------------------------------------------------------- + +# The uncompressed archives are no longer needed +rm -Rf libreboot_util + +# For those utilities that have to be built on the target +./build external source + +# Move the archive to the release directory +mv tobuild.tar.xz release/ + +printf "Tar archives are stored in release/.\n" +printf "NOTE: don't forget to add ARM binaries for flashrom.\n" +printf "NOTE: don't forget to add i386 binaries for flashrom/bucts.\n" +printf "The archive tobuild.tar.xz has been created with everything needed to build these utilities.\n\n" + +# create sha512sum manifest +cd release/ +printf "Creating manifest of SHA512 sums in sha512sum.txt...\n" +for file in $(find -type f); do sha512sum $file >> sha512sum.txt; done +printf "...done.\n" +cd ../ + +printf "\n\n" + +# ------------------- DONE ---------------------- -- cgit v1.2.3-70-g09d2