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

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"