Updated msys2 to msys2-base-x86_64-20200903

This commit is contained in:
Gator96100 2020-09-07 18:14:14 +02:00
parent 5bc8dbdc75
commit 2307d54cb1
18501 changed files with 1684082 additions and 720361 deletions

View file

@ -4,7 +4,7 @@
# repo-remove - remove a package entry from a given repo database file
# Generated from repo-add.sh.in; do not edit by hand.
#
# Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>
# Copyright (c) 2006-2020 Pacman Development Team <pacman-dev@archlinux.org>
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@ -25,11 +25,12 @@ shopt -s extglob
export TEXTDOMAIN='pacman-scripts'
export TEXTDOMAINDIR='/usr/share/locale'
declare -r myver='5.1.3'
declare -r myver='5.2.2'
declare -r confdir='/etc'
LIBRARY=${LIBRARY:-'/usr/share/makepkg'}
QUIET=0
DELTA=0
ONLYADDNEW=0
RMEXISTING=0
SIGN=0
@ -41,96 +42,32 @@ REPO_DB_SUFFIX=
LOCKFILE=
CLEAN_LOCK=0
USE_COLOR='y'
PREVENT_DOWNGRADE=0
# Import libmakepkg
source "$LIBRARY"/util/message.sh
source "$LIBRARY"/utils_fixed_path.sh
# ensure we have a sane umask set
umask 0022
plain() {
(( QUIET )) && return
local mesg=$1; shift
printf "${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
}
msg() {
(( QUIET )) && return
local mesg=$1; shift
printf "${GREEN}==>${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
}
msg2() {
(( QUIET )) && return
local mesg=$1; shift
printf "${BLUE} ->${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&1
}
ask() {
local mesg=$1; shift
printf "${BLUE}::${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}" "$@" >&1
}
warning() {
local mesg=$1; shift
printf "${YELLOW}==> $(gettext "WARNING:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}
error() {
local mesg=$1; shift
printf "${RED}==> $(gettext "ERROR:")${ALL_OFF}${BOLD} ${mesg}${ALL_OFF}\n" "$@" >&2
}
if [[ -n "$MSYSTEM" ]]; then
readonly -a UTILS_NAME=('bsdtar'
'bzip2'
'bzr'
'cat'
'ccache'
'distcc'
'git'
'gpg'
'gzip'
'hg'
'lzip'
'lzop'
'openssl'
'svn'
'tput'
'uncompress'
'upx'
'xargs'
'xz'
)
for wrapper in ${UTILS_NAME[@]}; do
eval "
${wrapper}"'() {
local UTILS_PATH="/usr/bin/"
if ! type -p ${UTILS_PATH}${FUNCNAME[0]} >/dev/null; then
error "$(gettext "Cannot find the %s binary required for makepkg.")" "${UTILS_PATH}${FUNCNAME[0]}"
exit 1
fi
${UTILS_PATH}${FUNCNAME[0]} "$@"
}'
done
fi
# print usage instructions
usage() {
cmd=${0##*/}
printf -- "%s (pacman) %s\n\n" "$cmd" "$myver"
if [[ $cmd == "repo-add" ]] ; then
printf -- "$(gettext "Usage: repo-add [options] <path-to-db> <package|delta> ...\n")"
printf -- "$(gettext "Usage: repo-add [options] <path-to-db> <package> ...\n")"
printf -- "\n"
printf -- "$(gettext "\
repo-add will update a package database by reading a package file.\n\
Multiple packages to add can be specified on the command line.\n")"
printf -- "\n"
printf -- "$(gettext "Options:\n")"
printf -- "$(gettext " -d, --delta generate and add delta for package update\n")"
printf -- "$(gettext " -n, --new only add packages that are not already in the database\n")"
printf -- "$(gettext " -R, --remove remove old package file from disk after updating database\n")"
printf -- "$(gettext " -p, --prevent-downgrade do not add package to database if a newer version is already present\n")"
elif [[ $cmd == "repo-remove" ]] ; then
printf -- "$(gettext "Usage: repo-remove [options] <path-to-db> <packagename|delta> ...\n")"
printf -- "$(gettext "Usage: repo-remove [options] <path-to-db> <packagename> ...\n")"
printf -- "\n"
printf -- "$(gettext "\
repo-remove will update a package database by removing the package name\n\
@ -160,8 +97,9 @@ See %s(8) for more details and descriptions of the available options.\n")" $cmd
version() {
cmd=${0##*/}
printf "%s (pacman) %s\n\n" "$cmd" "$myver"
printf -- "Copyright (c) 2006-2020 Pacman Development Team <pacman-dev@archlinux.org>.\n"
printf '\n'
printf -- "$(gettext "\
Copyright (c) 2006-2018 Pacman Development Team <pacman-dev@archlinux.org>\n\n\
This is free software; see the source for copying conditions.\n\
There is NO WARRANTY, to the extent permitted by law.\n")"
}
@ -186,7 +124,7 @@ find_pkgentry() {
for pkgentry in "$tmpdir/db/$pkgname"*; do
name=${pkgentry##*/}
if [[ ${name%-*-*} = $pkgname ]]; then
if [[ ${name%-*-*} = "$pkgname" ]]; then
echo $pkgentry
return 0
fi
@ -194,90 +132,6 @@ find_pkgentry() {
return 1
}
# Get the package name from the delta filename
get_delta_pkgname() {
local tmp
tmp=${1##*/}
echo ${tmp%-*-*_to*}
}
# write a delta entry
# arg1 - path to delta file
db_write_delta() {
deltafile=$1
pkgname=$(get_delta_pkgname "$deltafile")
pkgentry=$(find_pkgentry "$pkgname")
if [[ -z $pkgentry ]]; then
error "$(gettext "No database entry for package '%s'.")" "$pkgname"
return 1
fi
deltas=$pkgentry/deltas
if [[ ! -f $deltas ]]; then
echo -e "%DELTAS%" >"$deltas"
fi
# get md5sum and compressed size of package
md5sum=$(md5sum "$deltafile")
md5sum=${md5sum%% *}
csize=$(wc -c "$deltafile" | cut -d' ' -f1)
oldfile=$(xdelta3 printhdr "$deltafile" | grep "XDELTA filename (source)" | sed 's/.*: *//')
newfile=$(xdelta3 printhdr "$deltafile" | grep "XDELTA filename (output)" | sed 's/.*: *//')
if grep -q "$oldfile.*$newfile" "$deltas"; then
sed -i.backup "/$oldfile.*$newfile/d" "$deltas" && rm -f "$deltas.backup"
fi
msg2 "$(gettext "Adding 'deltas' entry : %s -> %s")" "$oldfile" "$newfile"
echo "${deltafile##*/} $md5sum $csize $oldfile $newfile" >> "$deltas"
# copy updated deltas entry into "files" database
local filesentry=$(echo "$pkgentry" | sed 's/\(.*\)\/db\//\1\/files\//')
mkdir -p "$filesentry"
cp $deltas "$filesentry"
return 0
} # end db_write_delta
# remove a delta entry
# arg1 - path to delta file
db_remove_delta() {
deltafile=$1
filename=${deltafile##*/}
pkgname=$(get_delta_pkgname "$deltafile")
pkgentry=$(find_pkgentry "$pkgname")
if [[ -z $pkgentry ]]; then
return 1
fi
deltas=$pkgentry/deltas
if [[ ! -f $deltas ]]; then
return 1
fi
if grep -q "$filename" "$deltas"; then
sed -i.backup "/$filename/d" "$deltas" && rm -f "$deltas.backup"
msg2 "$(gettext "Removing existing entry '%s'...")" "$filename"
# empty deltas file contains only "%DELTAS%"
if (( $(wc -l < "$deltas") == 1 )); then
msg2 "$(gettext "Removing empty deltas file...")"
rm "$deltas"
fi
# copy updated deltas entry into "files" database
local filesentry=$(echo "$pkgentry" | sed 's/\(.*\)\/db\//\1\/files\//')
if [[ -f $deltas ]]; then
mkdir -p "$filesentry"
cp $deltas "$filesentry"
else
rm -f "$filesentry/deltas"
fi
return 0
fi
return 1
} # end db_remove_delta
check_gpg() {
if ! type -p gpg >/dev/null; then
error "$(gettext "Cannot find the gpg binary! Is GnuPG installed?")"
@ -285,7 +139,7 @@ check_gpg() {
fi
if (( ! VERIFY )); then
if ! gpg --list-key ${GPGKEY} &>/dev/null; then
if ! gpg --list-secret-key ${GPGKEY:+"$GPGKEY"} &>/dev/null; then
if [[ ! -z $GPGKEY ]]; then
error "$(gettext "The key ${GPGKEY} does not exist in your keyring.")"
elif (( ! KEY )); then
@ -296,30 +150,6 @@ check_gpg() {
fi
}
check_xdelta() {
local need_xdelta=0
if (( DELTA )); then
need_xdelta=1
else
if [[ $cmd == "repo-add" ]]; then
for f in ${args[@]:1}; do
case $f in
*.delta) need_xdelta=1 ;;
*) ;;
esac
done
fi
fi
if (( need_xdelta )); then
if ! type xdelta3 &>/dev/null; then
error "$(gettext "Cannot find the xdelta3 binary! Is xdelta3 installed?")"
exit 1
fi
fi
}
# sign the package database once repackaged
create_signature() {
(( ! SIGN )) && return
@ -327,11 +157,11 @@ create_signature() {
local ret=0
msg "$(gettext "Signing database '%s'...")" "${dbfile##*/.tmp.}"
local SIGNWITHKEY=""
local SIGNWITHKEY=()
if [[ -n $GPGKEY ]]; then
SIGNWITHKEY="-u ${GPGKEY}"
SIGNWITHKEY=(-u "${GPGKEY}")
fi
gpg --detach-sign --use-agent --no-armor ${SIGNWITHKEY} "$dbfile" &>/dev/null || ret=$?
gpg --detach-sign --use-agent --no-armor "${SIGNWITHKEY[@]}" "$dbfile" &>/dev/null || ret=$?
if (( ! ret )); then
msg2 "$(gettext "Created signature file '%s'")" "${dbfile##*/.tmp.}.sig"
@ -364,10 +194,11 @@ verify_repo_extension() {
local repofile=$1
case $repofile in
*.db.tar.gz) TAR_OPT="z" ;;
*.db.tar.bz2) TAR_OPT="j" ;;
*.db.tar.xz) TAR_OPT="J" ;;
*.db.tar.Z) TAR_OPT="Z" ;;
*.db.tar.gz) TAR_OPT="-z" ;;
*.db.tar.bz2) TAR_OPT="-j" ;;
*.db.tar.xz) TAR_OPT="-J" ;;
*.db.tar.zst) TAR_OPT="--zstd" ;;
*.db.tar.Z) TAR_OPT="-Z" ;;
*.db.tar) TAR_OPT="" ;;
*) error "$(gettext "'%s' does not have a valid database archive extension.")" \
"$repofile"
@ -417,12 +248,20 @@ db_write_entry() {
if [[ -d $tmpdir/db/$pkgname-$pkgver ]]; then
warning "$(gettext "An entry for '%s' already existed")" "$pkgname-$pkgver"
if (( ONLYADDNEW )); then
return 0;
return 0
fi
else
if (( DELTA || RMEXISTING )); then
pkgentry=$(find_pkgentry "$pkgname")
if [[ -n $pkgentry ]]; then
pkgentry=$(find_pkgentry "$pkgname")
if [[ -n $pkgentry ]]; then
local version=$(sed -n '/^%VERSION%$/ {n;p;q}' "$pkgentry/desc")
if (( $(vercmp "$version" "$pkgver") > 0 )); then
warning "$(gettext "A newer version for '%s' is already present in database")" "$pkgname"
if (( PREVENT_DOWNGRADE )); then
return 0
fi
fi
if (( RMEXISTING )); then
local oldfilename="$(sed -n '/^%FILENAME%$/ {n;p;q;}' "$pkgentry/desc")"
local oldfile="$(dirname "$1")/$oldfilename"
fi
@ -461,9 +300,6 @@ db_write_entry() {
mkdir "$pkgname-$pkgver"
pushd "$pkgname-$pkgver" >/dev/null
# restore an eventual deltas file
[[ -f ../$pkgname.deltas ]] && mv "../$pkgname.deltas" deltas
# create desc entry
msg2 "$(gettext "Creating '%s' db entry...")" 'desc'
{
@ -501,20 +337,6 @@ db_write_entry() {
popd >/dev/null
popd >/dev/null
# create a delta file
if (( DELTA )); then
if [[ -n $oldfilename ]]; then
if [[ -f $oldfile ]]; then
delta=$(pkgdelta -q "$oldfile" "$1")
if [[ -f $delta ]]; then
db_write_delta "$delta"
fi
else
warning "$(gettext "Old package file not found: %s")" "$oldfilename"
fi
fi
fi
# copy updated package entry into "files" database
cp -a "$tmpdir/db/$pkgname-$pkgver" "$tmpdir/files/$pkgname-$pkgver"
@ -540,9 +362,7 @@ db_remove_entry() {
local pkgentry=$(find_pkgentry "$pkgname")
while [[ -n $pkgentry ]]; do
notfound=0
if [[ -f $pkgentry/deltas ]]; then
mv "$pkgentry/deltas" "$tmpdir/db/$pkgname.deltas"
fi
msg2 "$(gettext "Removing existing entry '%s'...")" \
"${pkgentry##*/}"
rm -rf "$pkgentry"
@ -605,7 +425,7 @@ prepare_repo_db() {
fi
fi
verify_signature "$dbfile"
msg "$(gettext "Extracting database to a temporary location...")"
msg "$(gettext "Extracting %s to a temporary location...")" "${dbfile##*/}"
bsdtar -xf "$dbfile" -C "$tmpdir/$repo"
else
case $cmd in
@ -636,16 +456,6 @@ add() {
return 1
fi
if [[ $1 = *-*-*_to_*-*-*.delta ]]; then
deltafile=$1
msg "$(gettext "Adding delta '%s'")" "$deltafile"
if db_write_delta "$deltafile"; then
return 0
else
return 1
fi
fi
pkgfile=$1
if ! bsdtar -tqf "$pkgfile" .PKGINFO >/dev/null 2>&1; then
error "$(gettext "'%s' is not a package file, skipping")" "$pkgfile"
@ -658,27 +468,15 @@ add() {
}
remove() {
if [[ $1 = *-*-*_to_*-*-*.delta ]]; then
deltafile=$1
msg "$(gettext "Searching for delta '%s'...")" "$deltafile"
if db_remove_delta "$deltafile"; then
return 0
else
error "$(gettext "Delta matching '%s' not found.")" "$deltafile"
return 1
fi
fi
pkgname=$1
msg "$(gettext "Searching for package '%s'...")" "$pkgname"
if db_remove_entry "$pkgname"; then
rm -f "$tmpdir/tree/$pkgname.deltas"
return 0
else
if ! db_remove_entry "$pkgname"; then
error "$(gettext "Package matching '%s' not found.")" "$pkgname"
return 1
fi
return 0
}
rotate_db() {
@ -737,11 +535,11 @@ create_db() {
pushd "$tmpdir/$repo" >/dev/null
if ( shopt -s nullglob; files=(*); (( ${#files[*]} )) ); then
bsdtar -c${TAR_OPT}f "$tempname" *
bsdtar --uid 1 --uname root --gid 1 --gname root -c ${TAR_OPT} -f "$tempname" *
else
# we have no packages remaining? zip up some emptyness
warning "$(gettext "No packages remain, creating empty database.")"
bsdtar -c${TAR_OPT}f "$tempname" -T /dev/null
bsdtar --uid 1 --uname root --gid 1 --gname root -c ${TAR_OPT} -f "$tempname" -T /dev/null
fi
popd >/dev/null
@ -821,7 +619,6 @@ declare -a args
while (( $# )); do
case $1 in
-q|--quiet) QUIET=1;;
-d|--delta) DELTA=1;;
-n|--new) ONLYADDNEW=1;;
-R|--remove) RMEXISTING=1;;
--nocolor) USE_COLOR='n';;
@ -836,6 +633,9 @@ while (( $# )); do
-v|--verify)
VERIFY=1
;;
-p|--prevent-downgrade)
PREVENT_DOWNGRADE=1
;;
*)
args+=("$1")
;;
@ -844,27 +644,11 @@ while (( $# )); do
done
# check if messages are to be printed using color
unset ALL_OFF BOLD BLUE GREEN RED YELLOW
if [[ -t 2 && ! $USE_COLOR = "n" ]]; then
# prefer terminal safe colored and bold text when tput is supported
if tput setaf 0 &>/dev/null; then
ALL_OFF="$(tput sgr0)"
BOLD="$(tput bold)"
BLUE="${BOLD}$(tput setaf 4)"
GREEN="${BOLD}$(tput setaf 2)"
RED="${BOLD}$(tput setaf 1)"
YELLOW="${BOLD}$(tput setaf 3)"
else
ALL_OFF="\e[1;0m"
BOLD="\e[1;1m"
BLUE="${BOLD}\e[1;34m"
GREEN="${BOLD}\e[1;32m"
RED="${BOLD}\e[1;31m"
YELLOW="${BOLD}\e[1;33m"
fi
if [[ -t 2 && $USE_COLOR != "n" ]]; then
colorize
else
unset ALL_OFF BOLD BLUE GREEN RED YELLOW
fi
readonly ALL_OFF BOLD BLUE GREEN RED YELLOW
REPO_DB_FILE=${args[0]}
if [[ -z $REPO_DB_FILE ]]; then
@ -888,8 +672,6 @@ if (( SIGN || VERIFY )); then
check_gpg
fi
check_xdelta
if (( VERIFY && ${#args[@]} == 1 )); then
for repo in "db" "files"; do
dbfile=${repodir}/$REPO_DB_PREFIX.$repo.$REPO_DB_SUFFIX