Commit 8b957627 authored by Vitaly Lipatov's avatar Vitaly Lipatov

epm packages: use direct args, drop epm list, epm -l aliases for packages

parent 81cc098b
...@@ -274,8 +274,10 @@ check_command() ...@@ -274,8 +274,10 @@ check_command()
conflicts) # HELPCMD: print package conflicts conflicts) # HELPCMD: print package conflicts
epm_cmd=conflicts epm_cmd=conflicts
;; ;;
-qa|qa|-l|list|ls|packages|list-installed|li) # HELPCMD: print list of installed package(s) -qa|qa|ls|packages|list-installed|li) # HELPCMD: print list of all installed packages
epm_cmd=packages epm_cmd=packages
direct_args=1
;;
# it is too hard operation, so just list name is very short for it # it is too hard operation, so just list name is very short for it
list-available) # HELPCMD: print list of all available packages list-available) # HELPCMD: print list of all available packages
epm_cmd=list_available epm_cmd=list_available
......
...@@ -26,11 +26,11 @@ case $PMTYPE in ...@@ -26,11 +26,11 @@ case $PMTYPE in
*-rpm) *-rpm)
# FIXME: space with quotes problems, use point instead # FIXME: space with quotes problems, use point instead
warmup_rpmbase warmup_rpmbase
docmd rpm -qa --queryformat "%{size}@%{name}-%{version}-%{release}\n" $pkg_filenames | sed -e "s|@| |g" | sort -n -k1 docmd rpm -qa --queryformat "%{size}@%{name}-%{version}-%{release}\n" "$@" | sed -e "s|@| |g" | sort -n -k1
;; ;;
*-dpkg) *-dpkg)
warmup_dpkgbase warmup_dpkgbase
docmd dpkg-query -W --showformat="\${Installed-Size}@\${Package}-\${Version}:\${Architecture}\n" $pkg_filenames | sed -e "s|@| |g" | sort -n -k1 docmd dpkg-query -W --showformat="\${Installed-Size}@\${Package}-\${Version}:\${Architecture}\n" "$@" | sed -e "s|@| |g" | sort -n -k1
;; ;;
*) *)
fatal "Sorted package list function is not implemented for $PMTYPE" fatal "Sorted package list function is not implemented for $PMTYPE"
...@@ -47,32 +47,32 @@ __aptcyg_print_full() ...@@ -47,32 +47,32 @@ __aptcyg_print_full()
__fo_pfn() __fo_pfn()
{ {
grep -v "^$" | grep -- "$pkg_filenames" grep -v "^$" | grep -- "$*"
} }
# TODO: we have a problem with error status here # TODO: we have a problem with error status here
epm_packages() epm_packages()
{ {
local CMD local CMD
[ -n "$sort" ] && __epm_packages_sort && return [ -n "$sort" ] && __epm_packages_sort "$@" && return
case $PMTYPE in case $PMTYPE in
*-dpkg) *-dpkg)
warmup_dpkgbase warmup_dpkgbase
# FIXME: strong equal # FIXME: strong equal
#CMD="dpkg -l $pkg_filenames" #CMD="dpkg -l $pkg_filenames"
CMD="dpkg-query -W --showformat=\${db:Status-Abbrev}\${Package}-\${Version}:\${Architecture}\n $pkg_filenames" CMD="dpkg-query -W --showformat=\${db:Status-Abbrev}\${Package}-\${Version}:\${Architecture}\n"
# TODO: ${Architecture} # TODO: ${Architecture}
[ -n "$short" ] && CMD="dpkg-query -W --showformat=\${db:Status-Abbrev}\${Package}\n $pkg_filenames" [ -n "$short" ] && CMD="dpkg-query -W --showformat=\${db:Status-Abbrev}\${Package}\n"
showcmd $CMD showcmd $CMD "$@"
$CMD | grep "^i" | sed -e "s|.* ||g" | __fo_pfn $CMD "$@" | grep "^i" | sed -e "s|.* ||g" | __fo_pfn "$@"
return ;; return ;;
*-rpm) *-rpm)
warmup_rpmbase warmup_rpmbase
# FIXME: strong equal # FIXME: strong equal
CMD="rpm -qa $pkg_filenames" CMD="rpm -qa"
[ -n "$short" ] && CMD="rpm -qa --queryformat %{name}\n $pkg_filenames" [ -n "$short" ] && CMD="rpm -qa --queryformat %{name}\n"
docmd $CMD docmd $CMD "$@"
return ;; return ;;
packagekit) packagekit)
docmd pkcon get-packages --filter installed docmd pkcon get-packages --filter installed
...@@ -80,6 +80,12 @@ case $PMTYPE in ...@@ -80,6 +80,12 @@ case $PMTYPE in
snappy) snappy)
CMD="snappy info" CMD="snappy info"
;; ;;
snap)
CMD="snap list"
;;
flatpak)
CMD="flatpak list --app"
;;
emerge) emerge)
CMD="qlist -I -C" CMD="qlist -I -C"
# print with colors for console output # print with colors for console output
...@@ -88,26 +94,26 @@ case $PMTYPE in ...@@ -88,26 +94,26 @@ case $PMTYPE in
pkgsrc) pkgsrc)
CMD="pkg_info" CMD="pkg_info"
showcmd $CMD showcmd $CMD
$CMD | sed -e "s| .*||g" | __fo_pfn $CMD | sed -e "s| .*||g" | __fo_pfn "$@"
return ;; return ;;
pkgng) pkgng)
if [ -n "$pkg_filenames" ] ; then if [ -n "$@" ] ; then
CMD="pkg info -E $pkg_filenames" CMD="pkg info -E $@"
else else
CMD="pkg info" CMD="pkg info"
fi fi
showcmd $CMD showcmd $CMD
if [ -n "$short" ] ; then if [ -n "$short" ] ; then
$CMD | sed -e "s| .*||g" | sed -e "s|-[0-9].*||g" | __fo_pfn $CMD | sed -e "s| .*||g" | sed -e "s|-[0-9].*||g" | __fo_pfn "$@"
else else
$CMD | sed -e "s| .*||g" | __fo_pfn $CMD | sed -e "s| .*||g" | __fo_pfn "$@"
fi fi
return ;; return ;;
pacman) pacman)
CMD="pacman -Qs $pkg_filenames" CMD="pacman -Qs $@"
showcmd $CMD showcmd $CMD
if [ -n "$short" ] ; then if [ -n "$short" ] ; then
$CMD | sed -e "s| .*||g" -e "s|.*/||g" | __fo_pfn $CMD | sed -e "s| .*||g" -e "s|.*/||g" | __fo_pfn "$@"
return return
fi fi
;; ;;
...@@ -130,7 +136,7 @@ case $PMTYPE in ...@@ -130,7 +136,7 @@ case $PMTYPE in
# FIXME: does not work for libjpeg-v8a # FIXME: does not work for libjpeg-v8a
# TODO: remove last 3 elements (if arch is second from the last?) # TODO: remove last 3 elements (if arch is second from the last?)
# FIXME this hack # FIXME this hack
docmd ls -1 /var/log/packages/ | sed -e "s|-[0-9].*||g" | sed -e "s|libjpeg-v8a.*|libjpeg|g" | __fo_pfn docmd ls -1 /var/log/packages/ | sed -e "s|-[0-9].*||g" | sed -e "s|libjpeg-v8a.*|libjpeg|g" | __fo_pfn "$@"
return return
fi fi
;; ;;
...@@ -141,7 +147,7 @@ case $PMTYPE in ...@@ -141,7 +147,7 @@ case $PMTYPE in
CMD="opkg list-installed" CMD="opkg list-installed"
;; ;;
apk) apk)
CMD="apk info" CMD="apk list --installed"
;; ;;
tce) tce)
CMD="ls -1 /usr/local/tce.installed" CMD="ls -1 /usr/local/tce.installed"
...@@ -153,8 +159,7 @@ case $PMTYPE in ...@@ -153,8 +159,7 @@ case $PMTYPE in
CMD="appget list" CMD="appget list"
;; ;;
winget) winget)
info "Use appget instead of winget" CMD="winget list"
return 0
;; ;;
termux-pkg) termux-pkg)
docmd pkg list-installed docmd pkg list-installed
...@@ -163,20 +168,20 @@ case $PMTYPE in ...@@ -163,20 +168,20 @@ case $PMTYPE in
CMD="xbps-query -l" CMD="xbps-query -l"
showcmd $CMD showcmd $CMD
if [ -n "$short" ] ; then if [ -n "$short" ] ; then
$CMD | sed -e "s|^ii ||g" -e "s| .*||g" -e "s|\(.*\)-.*|\1|g" | __fo_pfn $CMD | sed -e "s|^ii ||g" -e "s| .*||g" -e "s|\(.*\)-.*|\1|g" | __fo_pfn "$@"
else else
$CMD | sed -e "s|^ii ||g" -e "s| .*||g" | __fo_pfn $CMD | sed -e "s|^ii ||g" -e "s| .*||g" | __fo_pfn "$@"
fi fi
return 0 return 0
;; ;;
android) android)
CMD="pm list packages" CMD="pm list packages"
showcmd $CMD showcmd $CMD
$CMD | sed -e "s|^package:||g" | __fo_pfn $CMD | sed -e "s|^package:||g" | __fo_pfn "$@"
return return
;; ;;
aptcyg) aptcyg)
CMD="apt-cyg list $pkg_filenames" CMD="apt-cyg list $@"
if [ -z "$short" ] ; then if [ -z "$short" ] ; then
showcmd $CMD showcmd $CMD
# TODO: fix this slow way # TODO: fix this slow way
...@@ -191,7 +196,7 @@ case $PMTYPE in ...@@ -191,7 +196,7 @@ case $PMTYPE in
;; ;;
esac esac
docmd $CMD | __fo_pfn docmd $CMD | __fo_pfn "$@"
# FIXME: we print empty lines, but will lost error status # FIXME: we print empty lines, but will lost error status
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment