[Eisfair] avahi

Thomas Bork tom at eisfair.org
Mo Feb 22 00:41:36 CET 2021


Am 22.02.2021 um 00:04 schrieb Sebastian Ertz:

> das ist sehr merkwürdig. Weil laut eis dev doku
> http://www.eisfair.org/fileadmin/eisfair/devdoc/userinterfaces.html#dynamisches-verhalten-in-menus
> ist der 6. Parameter der quasi Name des Menüeintrags. Warum bei dir

Ja, der erste und bei mir einzig sinnvolle (da avahi gerade erst 
installiert und in den gepackten Logdateien finden sich eh keine 
avahi-Einträge) lautet messages.

> noch Anführungszeichen drinnen sind erschließt sich mir nicht. Sind
> die Anführungszeichen schon im Menü zu sehen?

Sind sie nicht:

Avahi-Daemon "View Logfiles"




              1. messages

              2. messages.1.xz

              3. messages.2.xz

              4. messages.3.xz

              5. messages.4.xz

              6. messages.5.xz

              0. Exit





Select (1-6, ENTER=Return, 0=Exit)?

Wenn ich mir die Parameter loggen lasse und einmal messages lese, sieht 
das so aus:

1 ist pre, 2 ist avahi, 3 ist menu, 4 ist 
/var/install/menu/avahi.logmessages.menu, 5 ist , 6 ist "View Logfiles"
1 ist pre, 2 ist avahi, 3 ist doc, 4 ist 
/var/install/menu/avahi.logmessages.264515171, 5 ist , 6 ist "messages"
messagefile ist messages
6 ist "messages"
1 ist post, 2 ist avahi, 3 ist doc, 4 ist 
/var/install/menu/avahi.logmessages.264515171, 5 ist , 6 ist "messages"
1 ist post, 2 ist avahi, 3 ist menu, 4 ist 
/var/install/menu/avahi.logmessages.menu, 5 ist , 6 ist "View Logfiles"

> Wohin zeigt bei dir /bin/sh ?

49 2.8.25 # ls -l /bin/sh
lrwxrwxrwx 1 root root 11 Aug 27 15:44 /bin/sh -> /usr/bin/sh
49 2.8.25 # ls -l /usr/bin/sh
lrwxrwxrwx 1 root root 4 Aug 27 15:44 /usr/bin/sh -> bash

Verwendete Datei /var/install/bin/avahi-logmessages.sh:

49 # cat /var/install/bin/avahi-logmessages.sh
#!/bin/sh
#------------------------------------------------------------------------------
# /var/install/bin/avahi-logmessages.sh
#
# Last Update:  2020-08-09 se, sebastian(dot)ertz(at)tk(minus)ertz(dot)de
#
# Copyright (c) 2001-2020 the eisfair team, team(at)eisfair(dot)org
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#------------------------------------------------------------------------------

#==============================================================================
# Main
#==============================================================================
main(){
         if [ $# -eq 6 ] && [ "$2" = "avahi" ] && [ "$3" ] && [ "$4" ] 
&& [ "$6" ]; then
                 local filename
echo "1 ist $1, 2 ist $2, 3 ist $3, 4 ist $4, 5 ist $5, 6 ist $6" 
 >>/tmp/avahi.log
                 case "$1" in
                         pre)
                                 case "$3" in
                                         menu)
                                                 {
                                                         printf "<!-- %s 
-->\n" "$6"
                                                         printf "<!-- 
Creation: %(%Y-%m-%d %H:%M)T by /var/install/bin/avahi-logmessages.sh 
-->\n" -1
                                                         printf 
"<title>Avahi-Daemon %s</title>\n" "$6"
                                                         printf 
"<package>avahi</package>\n"
                                                         for filename in 
$(find /var/log -name "messages" -or -name "messages.*" 2>/dev/null|sort 
-V); do
                                                                 printf 
"<doc pre=\"/var/install/bin/avahi-logmessages.sh\" 
post=\"/var/install/bin/avahi-logmessages.sh\" tail=\"yes\" 
file=\"/var/install/menu/avahi.logmessages.%s\">%s</doc>\n" 
"$RANDOM$RANDOM" "$(basename "$filename")"
                                                         done
                                                 } > "$4"
                                                 ;;

                                         doc)
                                                 messagefile=`echo "$6" 
| sed 's#"##g'`
                                                 #messagefile=$6
                                                 case "$messagefile" in
                                                         *.bz2) bzgrep 
-E "[[:blank:]]avahi-daemon[[0-9]+]:[[:blank:]]" "/var/log/$6" > "$4" ;;
                                                         *.xz)  xzgrep 
-E "[[:blank:]]avahi-daemon[[0-9]+]:[[:blank:]]" "/var/log/$6" > "$4" ;;
                                                         *)echo 
"messagefile ist $messagefile" >>/tmp/avahi.log
                                                                 #grep 
  -E "[[:blank:]]avahi-daemon[[0-9]+]:[[:blank:]]" "/var/log/$6" > "$4"
                                                                 echo "6 
ist $6" >>/tmp/avahi.log
                                                                 grep 
-E "[[:blank:]]avahi-daemon[[0-9]+]:[[:blank:]]" "/var/log/$messagefile" 
 > "$4"
                                                                  ;;
                                                 esac
                                                 [ -s "$4" ] || printf 
"Info: Nothing has been logged until now.\n" > "$4"
                                                 ;;
                                 esac
                         [ -f "$4" ] && chmod 0640 "$4" && chown 
root:root "$4"
                         ;;

                         post) rm -f "$4" ;;
                 esac
         fi
}
main "$@"


#==============================================================================
# End
#==============================================================================
exit 0
49 #


-- 
der tom


Mehr Informationen über die Mailingliste Eisfair