equal
deleted
inserted
replaced
|
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 |