apt-feed-logbuch.sh
changeset 0 117aabc28c6c
child 2 bc049aafe824
child 5 34214775a77a
equal deleted inserted replaced
-1:000000000000 0:117aabc28c6c
       
     1 #! /bin/sh
       
     2 #
       
     3 # automaticly update logbuch
       
     4 # if using apt-get or aptitude command
       
     5 #
       
     6 # (C) 2011 by Christian Arnold - Schlittermann internet & unix support
       
     7 
       
     8 set -e
       
     9 
       
    10 unset  LC_ALL
       
    11 export LANG=C
       
    12 export LC_CTYPE=en_US.UTF-8
       
    13 
       
    14 APT_LOG="/var/log/apt/history.log"
       
    15 LINES_COUNT="/tmp/lines_count.dat"
       
    16 LOGBUCH_OPT=""
       
    17 
       
    18 if test -f /etc/default/ius.upgrade.conf; then
       
    19     . /etc/default/ius.upgrade.conf
       
    20 fi
       
    21 
       
    22 APT_CMD=$(ps -p $1 -o args=)
       
    23 APT_TMP="/tmp/$$.tmp"
       
    24 APT_OUT="/tmp/$$.out"
       
    25 
       
    26 if [ $APT_LOG -nt $LINES_COUNT ]; then
       
    27   BEFOR=$(cat $LINES_COUNT)
       
    28   AFTER=$(wc -l < $APT_LOG)
       
    29   LINES=$(($AFTER - $BEFOR - 1))
       
    30   echo APT: $APT_CMD > $APT_OUT
       
    31   tail -n $LINES $APT_LOG | sed -e '/^Start-Date:/d;/^Commandline:/d;/^End-Date:/d' >> $APT_TMP
       
    32   perl -ne 'chomp; ($action, $packages) = split " ", $_, 2; print map { "- $action $_\n" } $packages =~ /\S+\s\(.*?\)/g' $APT_TMP >> $APT_OUT
       
    33   logbuch $LOGBUCH_OPT --message=@$APT_OUT
       
    34   # cleanup
       
    35   rm -f $APT_TMP $LINES_COUNT $APT_OUT
       
    36 fi