File vendor-update.sh of Package etcd

#!/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"
openSUSE Build Service is sponsored by