45 lines
1008 B
Bash
Executable File
45 lines
1008 B
Bash
Executable File
#!/bin/sh
|
|
|
|
set -e
|
|
|
|
[ "$SRCROOT" != "" ] || { echo "please specify SRCROOT" && exit 1; }
|
|
|
|
if [ ! "$3" ]; then
|
|
echo "usage: $0 <name> <version> <arc url>"
|
|
exit
|
|
fi
|
|
|
|
name="$1"
|
|
version="$2"
|
|
arcurl="$(eval "echo \"$3\"")"
|
|
mkdir -p $SRCROOT/pkg/$name
|
|
|
|
tmpdir="$(mktemp -d)"
|
|
arcdest="$tmpdir/$name-$version"
|
|
|
|
git clone --mirror "$arcurl" "$arcdest"
|
|
|
|
cd "$arcdest"
|
|
size="$(git count-objects -vH | grep size-pack | cut -d': ' -f2)"
|
|
sum="$(find . -type f ! -path '**/.git/**' ! -name '.git' | sort | xargs sha512sum | cut -d' ' -f1 | sha512sum | cut -d' ' -f1)"
|
|
cd - >/dev/null
|
|
|
|
cat << EOF > $SRCROOT/pkg/$name/defaults.sh
|
|
version="$version"
|
|
type="git"
|
|
EOF
|
|
|
|
printf "\$version\tgit\tarc\t$3\n" >> $SRCROOT/pkg/$name/urls
|
|
printf "$version\tgit\tarc\t$size\t$sum\n" >> $SRCROOT/pkg/$name/checks
|
|
|
|
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"
|