Never print "No packages found" with apt-cyg list
This commit is contained in:
parent
c7f61ef0e8
commit
7bee9222bc
54
apt-cyg
54
apt-cyg
|
@ -119,7 +119,7 @@ function get-setup {
|
||||||
}
|
}
|
||||||
|
|
||||||
function check-packages {
|
function check-packages {
|
||||||
if [[ $packages ]]
|
if [[ $pks ]]
|
||||||
then
|
then
|
||||||
return 0
|
return 0
|
||||||
else
|
else
|
||||||
|
@ -128,6 +128,10 @@ function check-packages {
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function warn {
|
||||||
|
printf '\e[36m%s\e[m\n' "$*" >&2
|
||||||
|
}
|
||||||
|
|
||||||
function apt-update {
|
function apt-update {
|
||||||
if find-workspace
|
if find-workspace
|
||||||
then
|
then
|
||||||
|
@ -136,29 +140,27 @@ function apt-update {
|
||||||
}
|
}
|
||||||
|
|
||||||
function apt-list {
|
function apt-list {
|
||||||
if check-packages
|
|
||||||
then
|
|
||||||
find-workspace
|
find-workspace
|
||||||
for pkg in "${packages[@]}"
|
local sbq
|
||||||
|
for pkg in "${pks[@]}"
|
||||||
do
|
do
|
||||||
echo
|
(( sbq++ )) && echo
|
||||||
echo Searching for installed packages matching $pkg:
|
warn Searching for installed packages matching $pkg:
|
||||||
awk 'NR>1 && $1~query && $0=$1' query="$pkg" /etc/setup/installed.db
|
awk 'NR>1 && $1~query && $0=$1' query="$pkg" /etc/setup/installed.db
|
||||||
echo
|
echo
|
||||||
echo Searching for installable packages matching $pkg:
|
warn Searching for installable packages matching $pkg:
|
||||||
awk '$1 ~ query && $0 = $1' RS='\n\n@ ' FS='\n' query="$pkg" setup.ini
|
awk '$1 ~ query && $0 = $1' RS='\n\n@ ' FS='\n' query="$pkg" setup.ini
|
||||||
done
|
done
|
||||||
else
|
(( sbq )) && return
|
||||||
echo The following packages are installed: >&2
|
warn The following packages are installed:
|
||||||
awk 'NR>1 && $0=$1' /etc/setup/installed.db
|
awk 'NR>1 && $0=$1' /etc/setup/installed.db
|
||||||
fi
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function apt-listfiles {
|
function apt-listfiles {
|
||||||
check-packages
|
check-packages
|
||||||
find-workspace
|
find-workspace
|
||||||
local pkg sbq
|
local pkg sbq
|
||||||
for pkg in "${packages[@]}"
|
for pkg in "${pks[@]}"
|
||||||
do
|
do
|
||||||
(( sbq++ )) && echo
|
(( sbq++ )) && echo
|
||||||
if [ ! -e /etc/setup/"$pkg".lst.gz ]
|
if [ ! -e /etc/setup/"$pkg".lst.gz ]
|
||||||
|
@ -172,7 +174,7 @@ function apt-listfiles {
|
||||||
function apt-show {
|
function apt-show {
|
||||||
find-workspace
|
find-workspace
|
||||||
check-packages
|
check-packages
|
||||||
for pkg in "${packages[@]}"
|
for pkg in "${pks[@]}"
|
||||||
do
|
do
|
||||||
(( notfirst++ )) && echo
|
(( notfirst++ )) && echo
|
||||||
awk '
|
awk '
|
||||||
|
@ -191,7 +193,7 @@ function apt-show {
|
||||||
function apt-depends {
|
function apt-depends {
|
||||||
find-workspace
|
find-workspace
|
||||||
check-packages
|
check-packages
|
||||||
for pkg in "${packages[@]}"
|
for pkg in "${pks[@]}"
|
||||||
do
|
do
|
||||||
(( sq++ )) && echo
|
(( sq++ )) && echo
|
||||||
awk '
|
awk '
|
||||||
|
@ -238,7 +240,7 @@ function apt-depends {
|
||||||
|
|
||||||
function apt-rdepends {
|
function apt-rdepends {
|
||||||
find-workspace
|
find-workspace
|
||||||
for pkg in "${packages[@]}"
|
for pkg in "${pks[@]}"
|
||||||
do
|
do
|
||||||
awk '
|
awk '
|
||||||
/^@ / {
|
/^@ / {
|
||||||
|
@ -255,7 +257,7 @@ function apt-download {
|
||||||
check-packages
|
check-packages
|
||||||
find-workspace
|
find-workspace
|
||||||
local pkg sbq
|
local pkg sbq
|
||||||
for pkg in "${packages[@]}"
|
for pkg in "${pks[@]}"
|
||||||
do
|
do
|
||||||
(( sbq++ )) && echo
|
(( sbq++ )) && echo
|
||||||
download "$pkg"
|
download "$pkg"
|
||||||
|
@ -308,7 +310,7 @@ function download {
|
||||||
function apt-search {
|
function apt-search {
|
||||||
check-packages
|
check-packages
|
||||||
echo Searching downloaded packages...
|
echo Searching downloaded packages...
|
||||||
for pkg in "${packages[@]}"
|
for pkg in "${pks[@]}"
|
||||||
do
|
do
|
||||||
key=$(type -P "$pkg" | sed s./..)
|
key=$(type -P "$pkg" | sed s./..)
|
||||||
[[ $key ]] || key=$pkg
|
[[ $key ]] || key=$pkg
|
||||||
|
@ -328,7 +330,7 @@ function apt-search {
|
||||||
|
|
||||||
function apt-searchall {
|
function apt-searchall {
|
||||||
cd /tmp
|
cd /tmp
|
||||||
for pkg in "${packages[@]}"
|
for pkg in "${pks[@]}"
|
||||||
do
|
do
|
||||||
printf -v qs 'text=1&arch=%s&grep=%s' $ARCH "$pkg"
|
printf -v qs 'text=1&arch=%s&grep=%s' $ARCH "$pkg"
|
||||||
wget -O matches cygwin.com/cgi-bin2/package-grep.cgi?"$qs"
|
wget -O matches cygwin.com/cgi-bin2/package-grep.cgi?"$qs"
|
||||||
|
@ -347,8 +349,8 @@ function apt-searchall {
|
||||||
function apt-install {
|
function apt-install {
|
||||||
check-packages
|
check-packages
|
||||||
find-workspace
|
find-workspace
|
||||||
local pkg dn bn requires warn package script
|
local pkg dn bn requires wr package script
|
||||||
for pkg in "${packages[@]}"
|
for pkg in "${pks[@]}"
|
||||||
do
|
do
|
||||||
|
|
||||||
if grep -q "^$pkg " /etc/setup/installed.db
|
if grep -q "^$pkg " /etc/setup/installed.db
|
||||||
|
@ -384,7 +386,7 @@ function apt-install {
|
||||||
|
|
||||||
requires=$(awk '$1=="requires", $0=$2' FS=': ' desc)
|
requires=$(awk '$1=="requires", $0=$2' FS=': ' desc)
|
||||||
cd ~-
|
cd ~-
|
||||||
warn=0
|
wr=0
|
||||||
if [[ $requires ]]
|
if [[ $requires ]]
|
||||||
then
|
then
|
||||||
echo Package $pkg requires the following packages, installing:
|
echo Package $pkg requires the following packages, installing:
|
||||||
|
@ -396,10 +398,10 @@ function apt-install {
|
||||||
echo Package $package is already installed, skipping
|
echo Package $package is already installed, skipping
|
||||||
continue
|
continue
|
||||||
fi
|
fi
|
||||||
apt-cyg install --noscripts $package || (( warn++ ))
|
apt-cyg install --noscripts $package || (( wr++ ))
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
if (( warn ))
|
if (( wr ))
|
||||||
then
|
then
|
||||||
echo 'Warning: some required packages did not install, continuing'
|
echo 'Warning: some required packages did not install, continuing'
|
||||||
fi
|
fi
|
||||||
|
@ -420,7 +422,7 @@ function apt-install {
|
||||||
|
|
||||||
function apt-remove {
|
function apt-remove {
|
||||||
check-packages
|
check-packages
|
||||||
for pkg in "${packages[@]}"
|
for pkg in "${pks[@]}"
|
||||||
do
|
do
|
||||||
|
|
||||||
if ! grep -q "^$pkg " /etc/setup/installed.db
|
if ! grep -q "^$pkg " /etc/setup/installed.db
|
||||||
|
@ -528,7 +530,7 @@ do
|
||||||
if [ -c "$file" -o -f "$file" ]
|
if [ -c "$file" -o -f "$file" ]
|
||||||
then
|
then
|
||||||
fp=$(sed '' "$file")
|
fp=$(sed '' "$file")
|
||||||
mapfile -t packages <<< "$fp"
|
mapfile -t pks <<< "$fp"
|
||||||
else
|
else
|
||||||
echo File $file not found, skipping
|
echo File $file not found, skipping
|
||||||
fi
|
fi
|
||||||
|
@ -556,7 +558,7 @@ do
|
||||||
| searchall)
|
| searchall)
|
||||||
if [[ $command ]]
|
if [[ $command ]]
|
||||||
then
|
then
|
||||||
packages+=("$1")
|
pks+=("$1")
|
||||||
else
|
else
|
||||||
command=$1
|
command=$1
|
||||||
fi
|
fi
|
||||||
|
@ -564,7 +566,7 @@ do
|
||||||
;;
|
;;
|
||||||
|
|
||||||
*)
|
*)
|
||||||
packages+=("$1")
|
pks+=("$1")
|
||||||
shift
|
shift
|
||||||
;;
|
;;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue