update
This commit is contained in:
parent
93fb5449b7
commit
feddbf42a2
2
init.sh
2
init.sh
@ -152,7 +152,7 @@ Architectures: $OS_ARCH
|
||||
else
|
||||
git -C /usr/share clone --depth 1 https://git.tink.ltd:8443/tink/zsh-autocomplete.git 2>/dev/null || \
|
||||
git -C /usr/share/zsh-autocomplete pull
|
||||
$SCRIPTPATH/install-github-release.sh -r ajeetdsouza/zoxide -m x86_64-unknown -p /usr/local/bin -n zoxide -f
|
||||
$SCRIPTPATH/install-release.sh -r ajeetdsouza/zoxide -m x86_64-unknown -p /usr/local/bin -n zoxide -f
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
@ -6,21 +6,25 @@ DEFAULT_MATCH_STAGE_1="browser_download_url"
|
||||
|
||||
|
||||
main(){
|
||||
if [ -z $REPO ]; then
|
||||
if [ -z "$REPO" ] && [ -z "$DD_URL" ]; then
|
||||
usage
|
||||
exit 1
|
||||
fi
|
||||
echo "Query for $REPO"
|
||||
echo
|
||||
api_url="https://api.github.com/repos/$REPO/releases/$TAG"
|
||||
echo "API: $api_url"
|
||||
echo
|
||||
candidates=$(curl $SET_PROXY -sSfL $api_url | grep -P "$MATCH_STAGE_1")
|
||||
echo "Candidates:"
|
||||
echo "$candidates"
|
||||
echo
|
||||
dl_url=$(echo "$candidates" | grep -P "$MATCH_STAGE_2" | cut -d '"' -f 4)
|
||||
if [ $(echo -e "$dl_url" | wc -l) -ne 1 ] || [ -z $dl_url ]; then
|
||||
if [ -z "$DD_URL" ]; then
|
||||
echo "Query for $REPO"
|
||||
echo
|
||||
api_url="https://api.github.com/repos/$REPO/releases/$TAG"
|
||||
echo "API: $api_url"
|
||||
echo
|
||||
candidates=$(curl $SET_PROXY -sSfL $api_url | grep -P "$MATCH_STAGE_1")
|
||||
echo "Candidates:"
|
||||
echo "$candidates"
|
||||
echo
|
||||
dl_url=$(echo "$candidates" | grep -P "$MATCH_STAGE_2" | cut -d '"' -f 4)
|
||||
else
|
||||
dl_url="$DD_URL"
|
||||
fi
|
||||
if [ $(echo -e "$dl_url" | wc -l) -ne 1 ] || [ -z "$dl_url" ]; then
|
||||
exit 0
|
||||
fi
|
||||
echo "From:"
|
||||
@ -28,38 +32,38 @@ main(){
|
||||
echo
|
||||
|
||||
|
||||
if [ -z $PROG_PATH ]; then
|
||||
if [ -z "$PROG_PATH" ]; then
|
||||
exit 0
|
||||
fi
|
||||
echo "Downloading..."
|
||||
pkgname=$(echo $dl_url | awk -F'/' '{print $NF}')
|
||||
if [ ! -z $PKG_NAME ]; then
|
||||
pkgname=$PKG_NAME
|
||||
pkgname=$(echo "$dl_url" | awk -F'/' '{print $NF}')
|
||||
if [ ! -z "$PKG_NAME" ]; then
|
||||
pkgname="$PKG_NAME"
|
||||
fi
|
||||
tmp_dir="/tmp/$pkgname-$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)"
|
||||
mkdir -p "$tmp_dir"
|
||||
pushd "$tmp_dir" >/dev/null 2>&1
|
||||
ext=$(echo $pkgname | awk -F'.' '{print $NF}')
|
||||
ext_tar=$(echo $pkgname | awk -F'.' '{print $(NF-1)}')
|
||||
ext=$(echo "$pkgname" | awk -F'.' '{print $NF}')
|
||||
ext_tar=$(echo "$pkgname" | awk -F'.' '{print $(NF-1)}')
|
||||
dirname=
|
||||
if (echo $ext | grep -i zip) >/dev/null 2>&1; then
|
||||
curl $SET_PROXY -SfLo source_pkg.zip "$dl_url"
|
||||
unzip -o source_pkg.zip
|
||||
dirname=$(rev <<< $pkgname | cut -d '.' -f 2- | rev)
|
||||
dirname=$(rev <<< "$pkgname" | cut -d '.' -f 2- | rev)
|
||||
elif (echo $ext | grep -i tar) || (echo $ext | grep -i tgz) >/dev/null 2>&1; then
|
||||
curl $SET_PROXY -SfLo source_pkg.$ext "$dl_url"
|
||||
tar -xvf source_pkg.$ext
|
||||
dirname=$(rev <<< $pkgname | cut -d '.' -f 2- | rev)
|
||||
dirname=$(rev <<< "$pkgname" | cut -d '.' -f 2- | rev)
|
||||
elif (echo $ext_tar | grep -i tar) >/dev/null 2>&1; then
|
||||
curl $SET_PROXY -SfLo source_pkg.tar.$ext "$dl_url"
|
||||
tar -xvf source_pkg.tar.$ext
|
||||
dirname=$(rev <<< $pkgname | cut -d '.' -f 3- | rev)
|
||||
dirname=$(rev <<< "$pkgname" | cut -d '.' -f 3- | rev)
|
||||
else
|
||||
echo "Unknown format: $pkgname"
|
||||
exit 1
|
||||
fi
|
||||
rm source_pkg.*
|
||||
if [ ! -z $PKG_DIR ]; then
|
||||
if [ ! -z "$PKG_DIR" ]; then
|
||||
if [ "$PKG_DIR" = "-" ]; then
|
||||
if [ -z $SED_EXP ]; then
|
||||
cd "$dirname"
|
||||
@ -80,20 +84,20 @@ main(){
|
||||
echo "Wrong dir inside package!"
|
||||
exit 1
|
||||
fi
|
||||
PROG_PATH=$(realpath $PROG_PATH);
|
||||
PROG_PATH=$(realpath "$PROG_PATH");
|
||||
echo
|
||||
echo "Installing..."
|
||||
echo "From: $CWD"
|
||||
echo "To: $PROG_PATH/"
|
||||
if [ ! -d $PROG_PATH ]; then
|
||||
if [ -e $PROG_PATH ]; then
|
||||
if [ ! -d "$PROG_PATH" ]; then
|
||||
if [ -e "$PROG_PATH" ]; then
|
||||
echo "Program path is not directory!"
|
||||
exit 1
|
||||
else
|
||||
mkdir -p $PROG_PATH
|
||||
mkdir -p "$PROG_PATH"
|
||||
fi
|
||||
fi
|
||||
if [ -z $PROG_NAME ]; then
|
||||
if [ -z "$PROG_NAME" ]; then
|
||||
cp -fr * "$PROG_PATH/"
|
||||
else
|
||||
if [ $FILE_COPY -eq 1 ]; then
|
||||
@ -107,7 +111,7 @@ main(){
|
||||
popd >/dev/null
|
||||
rm -rf "$tmp_dir"
|
||||
|
||||
if [ ! -z $CMD_RELOAD ]; then
|
||||
if [ ! -z "$CMD_RELOAD" ]; then
|
||||
$CMD_RELOAD
|
||||
fi
|
||||
}
|
||||
@ -116,10 +120,11 @@ main(){
|
||||
usage(){
|
||||
echo "Usage: $0 [OPTIONS]";
|
||||
echo "Options:";
|
||||
echo " -r <REPO> Github repo (required)";
|
||||
echo " -r <REPO> Github repo";
|
||||
echo " -t <TAG> Release tag (default: $DEFAULT_RELEASE)";
|
||||
echo " -k <KEY> Match stage 1 with regexp (default: $DEFAULT_MATCH_STAGE_1)";
|
||||
echo " -m <MATCH> Match stage 2 with regexp";
|
||||
echo " -u <URL> Direct download url (bypass query repo)";
|
||||
echo " -p <PATH> Program path";
|
||||
echo " -n <NAME> Program name";
|
||||
echo " -f Copy program name file only (when -n is set)";
|
||||
@ -134,6 +139,7 @@ REPO=
|
||||
TAG=$DEFAULT_RELEASE
|
||||
MATCH_STAGE_1=$DEFAULT_MATCH_STAGE_1
|
||||
MATCH_STAGE_2=
|
||||
DD_URL=
|
||||
PROG_PATH=
|
||||
PROG_NAME=
|
||||
FILE_COPY=0
|
||||
@ -142,7 +148,7 @@ PKG_DIR=
|
||||
SED_EXP=
|
||||
CMD_RELOAD=
|
||||
SET_PROXY=
|
||||
while getopts ":r:t:k:m:p:n:fo:d:e:c:x:" OPT; do
|
||||
while getopts ":r:t:k:m:u:p:n:fo:d:e:c:x:" OPT; do
|
||||
case $OPT in
|
||||
r)
|
||||
REPO=$OPTARG;
|
||||
@ -156,6 +162,9 @@ while getopts ":r:t:k:m:p:n:fo:d:e:c:x:" OPT; do
|
||||
m)
|
||||
MATCH_STAGE_2=$OPTARG;
|
||||
;;
|
||||
u)
|
||||
DD_URL=$OPTARG;
|
||||
;;
|
||||
p)
|
||||
PROG_PATH=$OPTARG;
|
||||
;;
|
||||
Loading…
Reference in New Issue
Block a user