lix-os-utilities/src-new-tarball.sh

56 lines
1.3 KiB
Bash
Executable File

#!/bin/sh
set -e
[ "$SRCROOT" != "" ] || { echo "please specify SRCROOT" && exit 1; }
if [ ! "$4" ]; then
echo "usage: $0 <name> <version> <type> <arc url> [<sig url>]"
exit
fi
name="$1"
version="$2"
type="$3"
arcurl="$(eval "echo \"$4\"")"
sigurl="$(eval "echo \"$5\"")"
mkdir -p $SRCROOT/pkg/$name
tmpdir="$(mktemp -d)"
arcdest="$tmpdir/$name-$version.$type"
sigdest="$tmpdir/$name-$version.$type.sig"
[ ! "$(echo "$name" | cut -d/ -f2)" ] || mkdir -p "$tmpdir/$(dirname "$name")"
curl -L -o "$arcdest" "$arcurl"
size="$(wc -c "$arcdest" | cut -d' ' -f1)"
sum="$(sha512sum "$arcdest" | cut -d' ' -f1)"
cat << EOF > $SRCROOT/pkg/$name/defaults.sh
version="$version"
type="$type"
EOF
printf "\$version\t\$type\tarc\t$4\n" >> $SRCROOT/pkg/$name/urls
printf "$version\t$type\tarc\t$size\t$sum\n" >> $SRCROOT/pkg/$name/checks
if [ "$sigurl" ]; then
curl -L -o "$sigdest" "$sigurl"
size="$(wc -c "$sigdest" | cut -d' ' -f1)"
sum="$(sha512sum "$sigdest" | cut -d' ' -f1)"
printf "\$version\t\$type\tsig\t$5\n" >> $SRCROOT/pkg/$name/urls
printf "$version\t$type\tsig\t$size\t$sum\n" >> $SRCROOT/pkg/$name/checks
fi
printf "\n$name defaults.sh\n======\n"
cat $SRCROOT/pkg/$name/defaults.sh
printf "\n$name urls\n======\n"
cat $SRCROOT/pkg/$name/urls
printf "\n$name checks\n======\n"
cat $SRCROOT/pkg/$name/checks
rm -fr "$tmpdir"