summaryrefslogtreecommitdiffstats
path: root/abs/extra-testing/gconf/gconfpkg
blob: a1ee6dfcf39584118a964baab28c570a42a3115e (plain)
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
#!/bin/sh

usage() {
cat << _EOF
Usage:
  gconfpkg [OPTION] [PACKAGE] 

  Help Options:
    -?, --help            Show help options

  Application Options:
    --install             Install schemas for a given package
    --uninstall           Uninstall schemas for a given package

_EOF
}

install() {
  GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \
      /usr/bin/gconftool-2 --makefile-install-rule /usr/share/gconf/schemas/${pkgname}.schemas >/dev/null
}

uninstall() {
  if [ -f /usr/share/gconf/schemas/${pkgname}.schemas ]; then
    schemas=(/usr/share/gconf/schemas/${pkgname}.schemas)
  elif [ -f /opt/gnome/share/gconf/schemas/${pkgname}.schemas ]; then
    schemas=(/opt/gnome/share/gconf/schemas/${pkgname}.schemas)
  else
    schemas=(`pacman -Ql ${pkgname} | grep 'gconf/schemas/.*schemas$' | awk '{ print $2 }'`)
  fi
  GCONF_CONFIG_SOURCE=`/usr/bin/gconftool-2 --get-default-source` \
      /usr/bin/gconftool-2 --makefile-uninstall-rule ${schemas[@]} >/dev/null
}

if [ -z "$2" ]; then
  usage
else
  pkgname="$2"
  case "$1" in
    --install)
      install
    ;;
    --uninstall)
      uninstall
    ;;
    *)
    usage
    ;;
  esac
fi