getInfo 2.32.0

This commit is contained in:
kyodev 2017-11-12 19:29:33 +01:00
parent 048e7dff63
commit 5e515087b7
2 changed files with 158 additions and 43 deletions

View File

@ -1,6 +1,6 @@
#!/bin/bash
version=2.31.2
version=2.32.0
date="12/11/2017"
projet="simpledeb"
contact="IRC freenode ##sdeb ou https://framagit.org/kyodev/kyopages/issues/"
@ -318,8 +318,9 @@ f__wget_test(){ # 06/11/2017
exit 0
}
# $1 variable à afficher, $2=var|cmd|sans (type titre) [$3 titre] [$4 commentaire en gras si cmd]
# $1 variable à afficher, $2=var|cmd|sans (type titre) [$3 titre] [$4 commentaire en () si cmd]
# $2: cmd->`titre`, var->**titre**, sans: pas de titre
# "variable" "var" "" "commant" -> pas de titre mais commentaire encadré
# passage en paramètre variable et pas $variable
# un test si variable $1 est vide est fait
# un test si variable $1 contient 'nofile', non trouvé par f_grep_file
@ -334,7 +335,7 @@ f_display(){ # 10/11/2017
[[ "$2" =~ sans|var|cmd ]] || display=" **⚡ erreur f_display \$2 ($1 $2 $3) ⚡** \n" # test $2 valide
[ "$2" == "var" ] && display="**$3**" # type var, titre en gras
[ "$2" == "cmd" ] && display="\`$3\`" # type cms, titre entre `
[ "$4" ] && display+=$'\xc2\xa0'$'\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0'" ($4)" # +$4 en gras avec 5 espaces insécables avant
[ "$4" ] && display+=$'\xc2\xa0'$'\xc2\xa0\xc2\xa0\xc2\xa0\xc2\xa0'" ( $4 )" # +$4 en gras avec 5 espaces insécables avant
[ "$2" == "sans" ] || display+=" \n"
if [[ "${!1}" =~ "nofile" ]]; then
display+="\n* fichier $1 non trouvé \n"
@ -1344,46 +1345,36 @@ fi_serial(){ # 06/11/2017
unset text
}
fi_pkgmnt(){ #v1 12/11/2017
[ "$pkg_mngr" ] || figet_packager
[ "$pkg_mngr" ] && fi_dpkg || return 0
}
# , assigne $pkg_mngr (dpkg|pacman|pacman-g2|portage|rpm|n/a)
figet_packager(){ #v1 12/11/2017
# zypper (suse)
# Rpm : Fedora, mageia (alternatif), dnf succède à yum, surcouche rpm
# Pacman: Arch Linux, Frugalware, Chakra Linux, Manjaro, KaOS, Parbola, Antergos, Apricity
# Portage: Gentoo Linux, Chrome OS, Sabayon, Funtoo Linux.
# Debian, buntu apt/dpkg
type -p dpkg &>/dev/null && pkg_mngr="dpkg"
# Arch Linux
type -p pacman &>/dev/null && pkg_mngr="pacman"
# Frugalware
type -p pacman-g2 &>/dev/null && pkg_mngr="pacman-g2"
# Portage (emerge/ebuild)
type -p emerge &>/dev/null && pkg_mngr="portage"
# Fedora
type -p rpm &>/dev/null && pkg_mngr="rpm"
# aiguillage selon les gestionnaires de paquets, $1 titre gestionnaire pour fi_pkg_x
fi_pkg__ctl(){ #v1 12/11/2017
local alert_pkg_todo="ce gestionnaire de paquets n'est pas maîtrisé par manque d'expertise \n"
alert_pkg_todo+="vous êtes donc bienvenus à contribuer dans ce domaine: \n"
alert_pkg_todo+="https://framagit.org/kyodev/kyopages/blob/master/scripts/CONTRIB.md#getinfo \n\n"
alert_pkg_todo+="merci de tester attentivement pour surveiller les spécificités éventuelles de votre "
alert_pkg_todo+="distibution"
[ "$fg_pkg_mgr" ] || figet_packager
[ "$fg_pkgs" ] || pkg_mngr="n/a"
if [ "$fg_pkg_mgr" == "dpkg" ]; then
fi_pkg_apt
unset alert_pkg_todo
elif [ "$fg_pkg_mgr" == "pacman" ]; then
fi_pkg_pacman
elif [ "$fg_pkg_mgr" == "pacman-g2" ]; then
fi_pkg_pacmanG2
elif [ "$fg_pkg_mgr" == "emerge" ]; then
fi_pkg_emerge
elif [ "$fg_pkg_mgr" == "dnf" ]; then
fi_pkg_dnf
elif [ "$fg_pkg_mgr" == "zypper" ]; then
fi_pkg_zypper
elif [ ${fg_pkg_mgr%:*} == "x" ]; then # suppression fin de fg_pkg_mgr, après un éventuel ':'
fi_pkg_x "$fg_pkg_mgr"
else [ "$fg_pkg_mgr" == "n/a" ]
return 0
fi
}
# nombre de paquets, assigne $fg_pkgs
figet_packages() { #v1 12/11/2017
# inutilisé pour l'instant
# Debian, buntu apt/dpkg
type -p dpkg &>/dev/null && fg_pkgs=$(dpkg -l | grep -c '^ii')
# Arch Linux
type -p pacman &>/dev/null && fg_pkgs="$(pacman -Qq --color never | wc -l)"
# Frugalware
type -p pacman-g2 &>/dev/null && fg_pkgs=$(pacman-g2 -Q | wc -l)
# Portage (emerge/ebuild)
type -p emerge &>/dev/null && fg_pkgs=$(ls -d /var/db/pkg/*/* | wc -l)
# Fedora
type -p rpm &>/dev/null && fg_pkgs=$(rpm -qa | wc -l)
}
fi_dpkg(){ #v2 12/11/2017
fi_pkg_apt(){ #v2 12/11/2017
local sources dateMaj nb_packages upgrade upgrade_qte remove remove_qte non_ii_qte text pluriel
local alert_httpredir alert_upgrade alert_full_upgrade alert_upgrade_titre
local alert_remove alert_remove_titre alert_non_ii alert_non_ii_titre alert_non_ii_info
@ -1458,7 +1449,7 @@ fi_dpkg(){ #v2 12/11/2017
fi
fi
###
text="## gestion de paquets dpkg \n\n"
text="## gestion de paquets **apt/dpkg** \n\n"
f_display "sources" "cmd" "grep -Ersv '^#|^$' /etc/apt/sources.list /etc/apt/sources.list.d/*.list"
text+="* nombre de paquets installés: **$nb_packages** \n"
text+="* dernière mise à jour apt: **$dateMaj** \n\n"
@ -1472,6 +1463,125 @@ fi_dpkg(){ #v2 12/11/2017
unset text
}
fi_pkg_dnf(){ # 12/11/2017
local nb_packages sources
nb_packages=$( dnf list installed &>/dev/null || rpm -qa &>/dev/null )
[ "$nb_packages" ] && nb_packages=$( echo "$nb_packages" | wc -l ) || nb_packages="n/a"
sources=$( f_grep_file "/etc/yum.repos.d/*.repo" )
###
text="## gestion de paquets **dnf/rpm** \n\n"
text+="* nombre de paquets installés: **$nb_packages** \n\n"
f_display "sources" "cmd" "grep -Ersv '^#|^$' /etc/pacman.conf /etc/pacman.d/*"
f_display "alert_pkg_todo" "var" "" "aide requise"
}
fi_pkg_emerge(){ # 12/11/2017
local nb_packages sources
nb_packages=$( emerge -ep world &>/dev/null )
[ "$nb_packages" ] && nb_packages=$( echo "$nb_packages" | wc -l ) || nb_packages="n/a"
sources=$( layman -l )
###
text="## gestion de paquets **emerge/portage** \n\n"
text+="* nombre de paquets installés: **$nb_packages** \n\n"
f_display "sources" "cmd" "layman -l"
f_display "alert_pkg_todo" "var" "" "aide requise"
}
fi_pkg_pacman(){ # 12/11/2017
local nb_packages sources
nb_packages=$( pacman -Q &>/dev/null )
[ "$nb_packages" ] && nb_packages=$( echo "$nb_packages" | wc -l ) || nb_packages="n/a"
sources=$( f_grep_file "/etc/pacman.conf /etc/pacman.d/*" )
###
text="## gestion de paquets **pacman** \n\n"
text+="* nombre de paquets installés: **$nb_packages** \n\n"
f_display "sources" "cmd" "grep -Ersv '^#|^$' /etc/apt/sources.list /etc/apt/sources.list.d/*.list"
f_display "alert_pkg_todo" "var" "" "aide requise"
}
fi_pkg_pacmanG2(){ # 12/11/2017
local nb_packages sources
nb_packages=$( pacman-g2 -Q &>/dev/null )
[ "$nb_packages" ] && nb_packages=$( echo "$nb_packages" | wc -l ) || nb_packages="n/a"
sources=$( f_grep_file "/etc/pacman.conf /etc/pacman.d/*" ) # coup de bluff
###
text="## gestion de paquets **pacman-g2** \n\n"
text+="* nombre de paquets installés: **$nb_packages** \n\n"
f_display "sources" "cmd" "grep -Ersv '^#|^$' /etc/pacman.conf /etc/pacman.d/*"
f_display "alert_pkg_todo" "var" "" "aide requise"
}
fi_pkg_zypper(){ # 12/11/2017
local nb_packages sources
nb_packages=$( zypper search --installed-only &>/dev/null || rpm -qa &>/dev/null )
[ "$nb_packages" ] && nb_packages=$( echo "$nb_packages" | wc -l ) || nb_packages="n/a"
sources=$( f_grep_file "/etc/zypp/repos.d/*.repo" )
###
text="## gestion de paquets **emerge/portage** \n\n"
text+="* nombre de paquets installés: **$nb_packages** \n\n"
f_display "sources" "cmd" "grep -Ersv '^#|^$' /etc/zypp/repos.d/*.repo"
f_display "alert_pkg_todo" "var" "" "aide requise"
}
# $1 titre gestionnaire
fi_pkg_x(){ # 12/11/2017
local nb_packages
if [[ ${fg_pkg_mgr#*:} == "Guix" ]]; then # suppression début de fg_pkg_mgr, avant un éventuel ':'
nb_packages=$( ls -1 /gnu/store/*/ &>/dev/null )
elif [[ ${fg_pkg_mgr#*:} == "Nix" ]]; then
nb_packages=$( ls -d -1 /nix/store/*/ &>/dev/null )
elif [[ ${fg_pkg_mgr#*:} == "opkg" ]]; then
nb_packages=$( opkg list-installed &>/dev/null )
elif [[ ${fg_pkg_mgr#*:} == "eopkg" ]]; then
nb_packages=$( ls -1 /var/lib/eopkg/package &>/dev/null )
fi
[ "$nb_packages" ] && nb_packages=$( echo "$nb_packages" | wc -l ) || nb_packages="n/a"
[ ${fg_pkg_mgr#*:} ] || unset nb_packages # suppression début de fg_pkg_mgr, si vide alors unset
###
text="## gestion de paquets **${fg_pkg_mgr#*:}** \n\n"
[ "$nb_packages" ] && text+="* nombre de paquets installés: **$nb_packages** \n\n"
f_display "alert_pkg_todo" "var" "" "aide requise"
}
# assigne $fg_pkg_mgr (dpkg|pacman|pacman-g2|emerge|dnf|zypper|x:mgr|n/a)
figet_packager(){ #v1 12/11/2017
if type -p dpkg &>/dev/null ; then
# dpkg: bebian, buntu apt/dpkg
fg_pkg_mgr="dpkg"
elif type -p pacman &>/dev/null ; then
# pacman: ArchLinux, Chakra Linux, Manjaro, KaOS, Parbola, Antergos, Apricity
fg_pkg_mgr="pacman"
elif type -p pacman-g2 &>/dev/null ; then
# pacman-g2: Frugalware
fg_pkg_mgr="pacman-g2"
elif type -p emerge &>/dev/null ; then
# emerge/ebuild: Gentoo
fg_pkg_mgr="emerge"
elif type -p dnf &>/dev/null || type -p yum &>/dev/null ; then
# dnf/rpm: Fedora, RedHat (rpm)
fg_pkg_mgr="dnf"
elif type -p zypper &>/dev/null ; then
# zypper/rpm: Suse, openSuse
fg_pkg_mgr="zypper"
fi
[ "$fg_pkg_mgr" ] && return # fin passe 1, manager les plus importants
if type -p guix &>/dev/null ; then # GNU Guix
fg_pkg_mgr="x:Guix"
elif type -p nix-env &>/dev/null ; then # Nix: NixOs
fg_pkg_mgr="x:Nix"
elif type -p opkg &>/dev/null ; then # opkg fork ipkg, ipkg (abandonné) sauf sur Syno?
fg_pkg_mgr="x:opkg"
elif type -p eopkg &>/dev/null ; then # Solus Linux
fg_pkg_mgr="x:eopkg"
else
fg_pkg_mgr="x:"
fi
[ "$fg_pkg_mgr" ] || fg_pkg_mgr="n/a"
}
fi_ssid(){ # 09/11/2017
[ "$(f__cmd_exist nmcli)" ] || f__error "NetworkManager requis"
local nm_ssid file="/tmp/$$-$RANDOM-fi_ssid" text
@ -2835,7 +2945,7 @@ prg_2(){ # traitements principaux
fi
if [[ "$1" == all || "$1" =~ c ]]; then #configuration #debian, packages -cc
echo -e "# ▷ Configuration \n\n" >> "$fileOutput"
for i in fi_locale fi_vrms fi_pkgmnt ; do
for i in fi_locale fi_vrms fi_pkg__ctl ; do
$i
printf "•"
done
@ -2979,7 +3089,7 @@ for j in $options; do
case $j in
-t | --test )
prg_1 "$*"
fi_pkgmnt
fi_pkg__ctl
exit ;; # test
-c* | all )
[ "$j" == "-c" ] && exec $0 "menu"

View File

@ -4,6 +4,11 @@
* ! f__requis, fscript_install, f__scandir
## 2.32.0 12/11/2017
# nouveau: structure pour accueillir autres gestionnaires de paquets que dpkg,
nbre de paquets installés si infos trouvées
## 2.31.2 12/11/2017
fix: affichage alerte net-tools