123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778 |
- #!/usr/bin/env bash
- #
- # helper script: generate deblobbed stable u-boot source code releases
- #
- # Copyright (C) 2020,2021 Leah Rowe <info@minifree.org>
- # Copyright (C) 2022 Denis 'GNUtoo' Carikli <GNUtoo@cyberdimension.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
- version="v2022.04"
- revision="r1"
- printf "Building source code archive, version %s revision %s\n" "${version}" "${revision}"
- this_dir=$(realpath $(dirname $(realpath $0)))
- if [[ -x "${this_dir}/../../../../download" ]] # in libreboot tree?
- then
- topdir="${this_dir}/../../../../"
- download_dir=u-boot/u-boot
- tmpdir="${topdir}/release/u-boot-libre"
- download=( "${topdir}/download" u-boot )
- bloblist="resources/u-boot/default/blobs.list"
- elif [[ -x ./u-boot-download.sh ]] # standalone?
- then
- topdir="${this_dir}"
- download_dir="${this_dir}"
- tmpdir="${this_dir}"
- download=( "${this_dir}"/u-boot-download.sh )
- bloblist="${this_dir}"/u-boot-blobs.list
- else
- exit 1
- fi
- cd "${topdir}"
- "${download[@]}" "${version}" "${download_dir}" "${bloblist}"
- release="u-boot-libre-${version/v/}-${revision}"
- tarball="${tmpdir}/${release}.tar"
- rm -rf \
- "${tmpdir}/" \
- "${tarball}" \
- "${tarball}.lz" \
- "${tarball}.xz"
- mkdir -p "${tmpdir}"
- cp -R "${download_dir}/" "${tmpdir}/${release}"
- rm -rf ${tmpdir}/.git ${tmpdir}/${release}/.gitignore
- make -C ${tmpdir} distclean
- prefix="$(sed 's#^/*##' <<<${tmpdir})/"
- tar cf "${tarball}" "${tmpdir}/${release}" --transform="s#${prefix}##"
- lzip -9 --keep -vv "${tarball}"
- xz -9 --keep -vv "${tarball}"
- rm -rf "${tmpdir}/${release}/"
- printf "Source code archives available at:\n\t%s\n\t%s\n\t%s\n" \
- "${tarball}" \
- "${tarball}.lz" \
- "${tarball}.xz"
|