forked from kiss-community/kiss
kiss: Support relative input to the install action.
This adds support for relative paths when passing tarballs to kiss directly and removes a prevents a misleading and confusing error message from appearing (a false 'file not found').
This commit is contained in:
parent
528b3023a9
commit
284897af22
13
kiss
13
kiss
@ -361,14 +361,16 @@ pkg_order() {
|
|||||||
order=; redro=; deps=
|
order=; redro=; deps=
|
||||||
|
|
||||||
for pkg do case $pkg in
|
for pkg do case $pkg in
|
||||||
*.tar.*) deps="$deps $pkg " ;;
|
/*.tar.*) deps="$deps $pkg " ;;
|
||||||
|
*.tar.*) deps="$deps $ppwd/$pkg " ;;
|
||||||
*) pkg_depends "$pkg" raw
|
*) pkg_depends "$pkg" raw
|
||||||
esac done
|
esac done
|
||||||
|
|
||||||
# Filter the list, only keeping explicit packages. The purpose of these
|
# Filter the list, only keeping explicit packages. The purpose of these
|
||||||
# two loops is to order the argument list based on dependence.
|
# two loops is to order the argument list based on dependence.
|
||||||
for pkg in $deps; do
|
for pkg in $deps; do
|
||||||
contains "$*" "$pkg" && order="$order $pkg " redro=" $pkg $redro"
|
contains "$*" "$pkg" || contains "$*" "${pkg##"$ppwd/"}" &&
|
||||||
|
order="$order $pkg " redro=" $pkg $redro"
|
||||||
done
|
done
|
||||||
|
|
||||||
deps=
|
deps=
|
||||||
@ -1064,7 +1066,7 @@ pkg_install() {
|
|||||||
|
|
||||||
# Install can also take the full path to a tarball. We don't need to check
|
# Install can also take the full path to a tarball. We don't need to check
|
||||||
# the repository if this is the case.
|
# the repository if this is the case.
|
||||||
if [ -f "$1" ] && [ -z "${1%%*.tar.*}" ] && [ -z "${1##*/*}" ]; then
|
if [ -f "$1" ] && [ -z "${1%%*.tar.*}" ]; then
|
||||||
tar_file=$1 pkg_name=${1##*/} pkg_name=${pkg_name%#*}
|
tar_file=$1 pkg_name=${1##*/} pkg_name=${pkg_name%#*}
|
||||||
|
|
||||||
elif pkg_cache "$1" 2>/dev/null; then
|
elif pkg_cache "$1" 2>/dev/null; then
|
||||||
@ -1487,6 +1489,11 @@ main() {
|
|||||||
# Check this once so as to not slow down printing.
|
# Check this once so as to not slow down printing.
|
||||||
[ "$KISS_COLOR" = 0 ] || lcol='\033[1;33m' lcol2='\033[1;36m' lclr='\033[m'
|
[ "$KISS_COLOR" = 0 ] || lcol='\033[1;33m' lcol2='\033[1;36m' lclr='\033[m'
|
||||||
|
|
||||||
|
# Store the original working directory to ensure that relative paths
|
||||||
|
# passed by the user on the command-line properly resolve to locations
|
||||||
|
# in the filesystem.
|
||||||
|
ppwd=$PWD
|
||||||
|
|
||||||
# The PID of the current shell process is used to isolate directories
|
# The PID of the current shell process is used to isolate directories
|
||||||
# to each specific KISS instance. This allows multiple package manager
|
# to each specific KISS instance. This allows multiple package manager
|
||||||
# instances to be run at once. Store the value in another variable so
|
# instances to be run at once. Store the value in another variable so
|
||||||
|
Loading…
Reference in New Issue
Block a user