From 75aa2dc81fcf5630535bc29eeccfdbfb14d85c2a Mon Sep 17 00:00:00 2001 From: Francis Rowe Date: Mon, 8 Jun 2015 15:17:26 +0100 Subject: build/release/util: Make it actually work Update it to reflect changes in the other scripts. --- .gitignore | 2 - resources/scripts/helpers/build/release/util | 150 ++++++++++++--------------- 2 files changed, 64 insertions(+), 88 deletions(-) diff --git a/.gitignore b/.gitignore index 62ad9e7a..0cab7ed5 100644 --- a/.gitignore +++ b/.gitignore @@ -9,8 +9,6 @@ /grub/ /memtest86+-5.01/ /bin/ -/libreboot_util.tar.xz -/libreboot_util/ /release/ /resources/utilities/ich9deblob/factory.rom /resources/utilities/ich9deblob/deblobbed_descriptor.bin diff --git a/resources/scripts/helpers/build/release/util b/resources/scripts/helpers/build/release/util index d7c6e6de..b42dff85 100755 --- a/resources/scripts/helpers/build/release/util +++ b/resources/scripts/helpers/build/release/util @@ -25,8 +25,6 @@ [ "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 @@ -43,172 +41,152 @@ else 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 -Rf release/ +version="$(git describe --tags HEAD)" +versiondir="release/${version}" +distname="libreboot_${version}_util" +distdir="${versiondir}/${distname}" -# ### Create the release/ directory where the archives will go -# ---------------------------------------------------------------------------------------------------------------------------- +printf "Creating utility archive (static executables)\n" -# create directory for the release -mkdir release/ +# delete the old data +rm -Rf "${distdir}/" +rm -f "${distdir}.tar.xz" -# ### Prepare libreboot_util archive ready for release -# ---------------------------------------------------------------------------------------------------------------------------- +# this is where they will go +mkdir -p "${distdir}/" -printf "Generating libreboot_util.tar.xz\n" - -mkdir libreboot_util +# include version information +printf '%s\n' "${version}" >"${distdir}/version" # -------------- # 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_ +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/ +mkdir -p "${distdir}/bucts/${arch}/" +mv "bucts/bucts" "${distdir}/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_ +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 +mkdir -p "${distdir}/flashrom/${arch}/" +mv "flashrom/flashrom" "${distdir}/flashrom/${arch}/" +mv "flashrom/flashrom_lenovobios_sst" "${distdir}/flashrom/${arch}/" +mv "flashrom/flashrom_lenovobios_macronix" "${distdir}/flashrom/${arch}/" +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/ + +mkdir -p "${distdir}/cbfstool/${arch}/" + +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"/ +mv "cbfstool" "../../../${distdir}/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/ + mkdir "../../../${distdir}/cbfstool/i686" + mv "cbfstool" "../../../${distdir}/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/ +mkdir "../../../${distdir}/cbfstool/armv7l/" +mv "cbfstool" "../../../${distdir}/cbfstool/armv7l/" cd ../ -rm -Rf cbfstool -mv cbfstool_ cbfstool +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/ + +mkdir -p "${distdir}/ich9deblob/${arch}" + +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"/ +mv "ich9deblob" "../../../${distdir}/ich9deblob/${arch}/" +mv "ich9gen" "../../../${distdir}/ich9deblob/${arch}/" +mv "demefactory" "../../../${distdir}/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/ + mkdir "../../../${distdir}/ich9deblob/i686/" + mv "ich9deblob" "../../../${distdir}/ich9deblob/i686/" + mv "ich9gen" "../../../${distdir}/ich9deblob/i686/" + mv "demefactory" "../../../${distdir}/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/ +mkdir "../../../${distdir}/ich9deblob/armv7l" +mv "ich9deblob" "../../../${distdir}/ich9deblob/armv7l/" +mv "ich9gen" "../../../${distdir}/ich9deblob/armv7l/" +mv "demefactory" "../../../${distdir}/ich9deblob/armv7l/" -cd ../ -rm -Rf ich9deblob -mv ich9deblob_ ich9deblob -cd ../../ +cd "../" +rm -Rf "ich9deblob/" +mv "ich9deblob_/" "ich9deblob/" +cd "../../" # ------------- # Miscellaneous # ------------- # Flashing script -cp flash libreboot_util/ +cp "flash" "${distdir}/" # for changing the GRUB background -cp resources/scripts/misc/grub-background libreboot_util/ +cp "resources/scripts/misc/grub-background" "${distdir}/" 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" +printf "Compressing %s/ into %s.tar.xz\n" "${distdir}" "${distdir}.tar.xz" # 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/ +(cd "${versiondir}/" && tar -c "${distname}" | xz -9e >"${distname}.tar.xz") -# Create a symlink to the commitid file, in release/ -cat commitid > release/commitid - -printf "\n\n" +printf "done\n\n" # ### Delete the uncompressed release directories # ---------------------------------------------------------------------------------------------------------------------------- # The uncompressed archives are no longer needed -rm -Rf libreboot_util +rm -Rf "${distdir}/" # ------------------- DONE ---------------------- -- cgit v1.2.3-70-g09d2