#!/bin/bash # # helper script: generate release archive (ROM images) # # Copyright (C) 2020,2021 Leah 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 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" "${version}" "${projectname}" "${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}"