File: cqrlog-apparmor-fix

package info (click to toggle)
cqrlog 2.3.0-2
  • links: PTS, VCS
  • area: main
  • in suites: buster
  • size: 23,428 kB
  • sloc: pascal: 93,721; sh: 161; makefile: 77; xml: 19
file content (61 lines) | stat: -rwxr-xr-x 1,837 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#!/bin/bash
APPARMOR_INIT=/etc/init.d/apparmor
GLOBAL_MYSQL_FILE=/etc/apparmor.d/usr.sbin.mysqld
LOCAL_MYSQL_FILE=/etc/apparmor.d/local/usr.sbin.mysqld
FTMP=`mktemp /tmp/tmp.XXXXXX`

restart_apparmor() 
{
  #apparmor config file may exists and apparmor itself not
  if [ -f $APPARMOR_INIT ]
  then
    if which invoke-rc.d >/dev/null 2>&1; then
       invoke-rc.d apparmor restart
    else
      /etc/init.d/apparmor restart
    fi    
  else
    echo it seems apparmor is not installed, restarting skipped
  fi
}

if [ -f "$GLOBAL_MYSQL_FILE" ] 
then
  grep -v "@{HOME}/.config/cqrlog/database/" $GLOBAL_MYSQL_FILE >> $FTMP
  cat $FTMP > $GLOBAL_MYSQL_FILE
  echo ""
  echo Changes removed from $GLOBAL_MYSQL_FILE
  echo ""  
  
# If file exists but is empty then it was broken by a previous bug in postrm - so fix it
  if [ -s $LOCAL_MYSQL_FILE ]
  then
    echo "# Site-specific additions and overrides for usr.sbin.mysqld." > $LOCAL_MYSQL_FILE
    echo "# For more details, please see /etc/apparmor.d/local/README." >> $LOCAL_MYSQL_FILE
  fi

  if `cat $LOCAL_MYSQL_FILE | grep -q -E '\@\{HOME\}\/\.config\/cqrlog\/database\/\*\*\ rwk\,'`
  then
    if ! grep -q "@{HOME}/.config/cqrlog/database/  r," "$LOCAL_MYSQL_FILE"; then
      echo "@{HOME}/.config/cqrlog/database/  r," >> $LOCAL_MYSQL_FILE
      echo File $LOCAL_MYSQL_FILE was modified, restarting apparmor
      echo "" 
      restart_apparmor
      echo ""
    else
      echo ""
      echo File $LOCAL_MYSQL_FILE was already modified, no changes needed
      echo ""   
    fi   
  else
    echo "@{HOME}/.config/cqrlog/database/  r," >> $LOCAL_MYSQL_FILE
    echo "@{HOME}/.config/cqrlog/database/** rwk," >> $LOCAL_MYSQL_FILE
    echo ""
    echo File $LOCAL_MYSQL_FILE was modified, restarting apparmor
    echo "" 
    restart_apparmor
    echo ""
  fi
fi
rm $FTMP