1
0
Fork 0
vt100-games/Packages/makepackages.sh

55 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
# where to store the packages
TARGET=${PWD}/ZIP
[ ! -d ${TARGET} ] && mkdir ${TARGET}
# get list of directories with .package files
DIRS=""
cd ..
for i in $(find . -name ".package"); do
DIRS="${DIRS} $(dirname $i)"
done
for pkg in ${DIRS}; do
echo "----- ${pkg}"
TMPDIR=$(mktemp -d)
NAME=""
while read LINE; do
IFS=';' read -ra DATA <<< ${LINE}
# the name of the target .zip archive:
[ "${DATA[0]}" = "N" ] && NAME=${DATA[1]}
# standard/source files:
if [ "${DATA[0]}" = "F" -o "${DATA[0]}" = "S" ]; then
if [ "${DATA[2]}" = "" ]; then
cp ${pkg}/${DATA[1]} ${TMPDIR}/${DATA[1]^^}
else
cp ${pkg}/${DATA[1]} ${TMPDIR}/${DATA[2]}
fi
fi
# README file:
if [ "${DATA[0]}" = "R" ]; then
if [ "${DATA[2]}" = "" ]; then
pandoc -f markdown -t plain -s ${pkg}/${DATA[1]} -o ${TMPDIR}/${NAME}.DOC
unix2dos ${TMPDIR}/${NAME}.DOC
else
pandoc -f markdown -t plain -s ${pkg}/${DATA[1]} -o ${TMPDIR}/${DATA[2]}
unix2dos ${TMPDIR}/${DATA[2]}
fi
fi
# FILE_ID.DIZ contents:
[ "${DATA[0]}" = "D" ] && echo "${DATA[1]}" >> ${TMPDIR}/FILE_ID.DIZ
done < ${pkg}/.package
unix2dos ${TMPDIR}/FILE_ID.DIZ
zip -k -j ${TARGET}/${NAME}.ZIP ${TMPDIR}/*
rm -R ${TMPDIR}
done