etcd/vendor-update.sh

47 lines
1015 B
Bash
Raw Normal View History

#!/usr/bin/bash
#
# Script to update the vendor tarball
# Author: Elisei Roca
#------------------------------------
# set -x
NAME=etcd
STACK=("server" "etcdctl" "etcdutl")
VERSION=$(grep -oP '(?<=Version:)(.*)' etcd.spec | xargs)
[ ! -f "$NAME-$VERSION".tar.gz ] && echo "$NAME-$VERSION.tar.gz does not exist" && exit 1
echo "Updating vendor file..."
rm -rf /tmp/"$NAME" ||:
mkdir -p /tmp/"$NAME"/vendor
tar --strip-components=1 -xvf "$NAME-$VERSION".tar.gz -C /tmp/"$NAME" &> /dev/null
dir=$(pwd)
for item in ${STACK[*]}; do
mkdir /tmp/"$NAME"/vendor/"$item"
cd /tmp/"$NAME/$item"
go mod vendor
mv vendor/ ../vendor/"$item"
done
cd "$dir"
fdupes -r -1 /tmp/"$NAME"/vendor/ |
while read line; do
target="";
for file in ${line[*]}; do
if [ "x${target}" == "x" ]; then
target=$file;
else
ln -f "${target}" "${file}";
fi;
done;
done
tar -czvf vendor.tar.gz -C /tmp/"$NAME" vendor &> /dev/null
rm -rf /tmp/"$NAME" ||:
echo "Repacked to vendor.tar.gz"