118 строки
2.8 KiB
Bash
118 строки
2.8 KiB
Bash
#!/bin/bash
|
|
# Copyright (c) Microsoft Corporation.
|
|
# Licensed under the MIT License.
|
|
|
|
# Quit on failure
|
|
set -e
|
|
|
|
PKG_VERSION=""
|
|
SRC_TARBALL=""
|
|
VENDOR_VERSION="1"
|
|
OUT_FOLDER="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
|
|
|
|
# parameters:
|
|
#
|
|
# --srcTarball : src tarball file
|
|
# this file contains the 'initial' source code of the component
|
|
# and should be replaced with the new/modified src code
|
|
# --outFolder : folder where to copy the new tarball(s)
|
|
# --pkgVersion : package version
|
|
# --vendorVersion : vendor version
|
|
#
|
|
PARAMS=""
|
|
while (( "$#" )); do
|
|
case "$1" in
|
|
--srcTarball)
|
|
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
|
|
SRC_TARBALL=$2
|
|
shift 2
|
|
else
|
|
echo "Error: Argument for $1 is missing" >&2
|
|
exit 1
|
|
fi
|
|
;;
|
|
--outFolder)
|
|
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
|
|
OUT_FOLDER=$2
|
|
shift 2
|
|
else
|
|
echo "Error: Argument for $1 is missing" >&2
|
|
exit 1
|
|
fi
|
|
;;
|
|
--pkgVersion)
|
|
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
|
|
PKG_VERSION=$2
|
|
shift 2
|
|
else
|
|
echo "Error: Argument for $1 is missing" >&2
|
|
exit 1
|
|
fi
|
|
;;
|
|
--vendorVersion)
|
|
if [ -n "$2" ] && [ ${2:0:1} != "-" ]; then
|
|
VENDOR_VERSION=$2
|
|
shift 2
|
|
else
|
|
echo "Error: Argument for $1 is missing" >&2
|
|
exit 1
|
|
fi
|
|
;;
|
|
-*|--*=) # unsupported flags
|
|
echo "Error: Unsupported flag $1" >&2
|
|
exit 1
|
|
;;
|
|
*) # preserve positional arguments
|
|
PARAMS="$PARAMS $1"
|
|
shift
|
|
;;
|
|
esac
|
|
done
|
|
|
|
echo "--srcTarball -> $SRC_TARBALL"
|
|
echo "--outFolder -> $OUT_FOLDER"
|
|
echo "--pkgVersion -> $PKG_VERSION"
|
|
echo "--vendorVersion -> $VENDOR_VERSION"
|
|
|
|
if [ -z "$PKG_VERSION" ]; then
|
|
echo "--pkgVersion parameter cannot be empty"
|
|
exit 1
|
|
fi
|
|
|
|
echo "-- create temp folder"
|
|
tmpdir=$(mktemp -d)
|
|
function cleanup {
|
|
echo "+++ cleanup -> remove $tmpdir"
|
|
rm -rf $tmpdir
|
|
}
|
|
trap cleanup EXIT
|
|
|
|
TARBALL_FOLDER="$tmpdir/tarballFolder"
|
|
mkdir -p $TARBALL_FOLDER
|
|
cp $SRC_TARBALL $tmpdir
|
|
|
|
pushd $tmpdir > /dev/null
|
|
|
|
PKG_NAME="ig"
|
|
NAME_VER="$PKG_NAME-$PKG_VERSION"
|
|
VENDOR_TARBALL="$OUT_FOLDER/$NAME_VER-govendor-v$VENDOR_VERSION.tar.gz"
|
|
|
|
echo "Unpacking source tarball..."
|
|
tar -xf $SRC_TARBALL
|
|
|
|
echo "Vendor go modules..."
|
|
cd inspektor-gadget-"$PKG_VERSION"
|
|
go mod vendor
|
|
|
|
echo ""
|
|
echo "========================="
|
|
echo "Tar vendored tarball"
|
|
tar --sort=name \
|
|
--mtime="2021-04-26 00:00Z" \
|
|
--owner=0 --group=0 --numeric-owner \
|
|
--pax-option=exthdr.name=%d/PaxHeaders/%f,delete=atime,delete=ctime \
|
|
-cf "$VENDOR_TARBALL" vendor
|
|
|
|
popd > /dev/null
|
|
echo "$PKG_NAME vendored modules are available at $VENDOR_TARBALL"
|