#!/bin/sh set -ex if [ -z "$1" ]; then echo "Usage: $0 " exit 1 fi FOLDER=$1 if [ ! -e .version ] || [ ! -e .release_date ]; then echo "This script should be executed in the root of an extracted source tarball" exit 1 fi # Find the name based on the version if [ -e .is_stable ]; then isTesting=$(cat .version | grep "RC\|beta" || true) if [ -z "${isTesting}" ]; then NAME="stable" else NAME="testing" fi else NAME=$(cat .version | cut -d- -f2 | cut -d- -f-2) fi # Convert the date to a YAML date DATE=$(cat .release_date | tr ' ' T | sed 's/TUTC/:00-00:00/') VERSION=$(cat .version) BASE="openttd-${VERSION}" echo "name: ${NAME}" > manifest.yaml echo "date: ${DATE}" >> manifest.yaml echo "base: ${BASE}-" >> manifest.yaml error="" FILES= DEV_FILES= for filename in $(ls ${FOLDER} | grep -v ".txt$\|.md$\|sum$" | sort); do case ${filename} in *docs* |\ *source* |\ *dbg.deb |\ *pdb.xz ) DEV_FILES="${DEV_FILES} ${filename}" ;; *) FILES="${FILES} ${filename}" ;; esac done # output_files key filename... output_files() { if [ "$#" -lt 2 ]; then return; fi key=$1 echo "${key}:" >> manifest.yaml shift while [ "$#" -gt 0 ]; do filename=$1 if [ ! -e ${FOLDER}/${filename}.md5sum ] || [ ! -e ${FOLDER}/${filename}.sha1sum ] || [ ! -e ${FOLDER}/${filename}.sha256sum ]; then echo "ERROR: missing checksum file for ${filename}" 1>&2 error="y" shift continue fi echo "- id: ${filename}" >> manifest.yaml echo " size: $(stat -c"%s" ${FOLDER}/${filename})" >> manifest.yaml echo " md5sum: $(cat ${FOLDER}/${filename}.md5sum | cut -d\ -f1)" >> manifest.yaml echo " sha1sum: $(cat ${FOLDER}/${filename}.sha1sum | cut -d\ -f1)" >> manifest.yaml echo " sha256sum: $(cat ${FOLDER}/${filename}.sha256sum | cut -d\ -f1)" >> manifest.yaml shift done } output_files files ${FILES} output_files dev_files ${DEV_FILES} if [ -n "${error}" ]; then echo "ERROR: exiting due to earlier errors" 1>&2 exit 1 fi