mirror of
https://codeberg.org/privacy1st/arch
synced 2024-12-24 01:16:05 +01:00
61 lines
1.6 KiB
Bash
61 lines
1.6 KiB
Bash
#
|
|
# get content of .PKGINFO from package-file
|
|
#
|
|
function get_pkginfo(){
|
|
# $1: path to package file
|
|
# return: variable $PKGINFO
|
|
|
|
if endswith "$1" ".pkg.tar.xz"; then
|
|
PKGINFO=$(tar -xf "$1" -O .PKGINFO --force-local) || { echo "tar failed"; return 1; }
|
|
elif endswith "$1" ".pkg.tar.zst"; then
|
|
PKGINFO=$(tar -I zstd -xf "$1" -O .PKGINFO --force-local) || { echo "tar failed"; return 1; }
|
|
else
|
|
echo "$1 does not seem to be a package!"
|
|
return 1
|
|
fi
|
|
}
|
|
|
|
|
|
#
|
|
# get pkgname from $PKGINFO
|
|
#
|
|
function get_pkgname(){
|
|
# return: stdout: package name
|
|
|
|
# remove "pkgname = " as well as tailing whitespace characters
|
|
local tmp
|
|
tmp=$(echo "${PKGINFO}" | grep '^pkgname =') || { echo "grep failed"; return 1; }
|
|
local PKGNAME
|
|
PKGNAME=$(echo "${tmp}" | sed 's|^pkgname\s*=\s*||; s|\s*$||') || { echo "sed failed"; return 1; }
|
|
|
|
echo "${PKGNAME}"
|
|
}
|
|
#
|
|
# get pkgver from $PKGINFO
|
|
#
|
|
function get_pkgver(){
|
|
# return: stdout: package version
|
|
|
|
# remove "pkgver = " as well as tailing whitespace characters
|
|
local tmp
|
|
tmp=$(echo "${PKGINFO}" | grep '^pkgver =') || { echo "grep failed"; return 1; }
|
|
local PKGVER
|
|
PKGVER=$(echo "${tmp}" | sed 's|^pkgver\s*=\s*||; s|\s*$||') || { echo "sed failed"; return 1; }
|
|
|
|
echo "${PKGVER}"
|
|
}
|
|
#
|
|
# get url from $PKGINFO
|
|
#
|
|
function get_pkgurl(){
|
|
# return: stdout: url
|
|
|
|
# remove "url = " as well as tailing whitespace characters
|
|
local tmp
|
|
tmp=$(echo "${PKGINFO}" | grep '^url =') || { echo "grep failed"; return 1; }
|
|
local PKGURL
|
|
PKGURL=$(echo "${tmp}" | sed 's|^url\s*=\s*||; s|\s*$||') || { echo "sed failed"; return 1; }
|
|
|
|
echo "${PKGURL}"
|
|
}
|