diff options
Diffstat (limited to 'resources/scripts/build/release/roms')
-rwxr-xr-x | resources/scripts/build/release/roms | 70 |
1 files changed, 70 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}" + |