diff -Naur gsmartcontrol.orig/gsmartcontrol.install gsmartcontrol/gsmartcontrol.install --- gsmartcontrol.orig/gsmartcontrol.install 2013-03-10 06:26:50.563901000 +0100 +++ gsmartcontrol/gsmartcontrol.install 2013-03-10 06:29:21.984330184 +0100 @@ -1,9 +1,12 @@ post_install() { which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true + echo 'If you use a lightweight windowmanager, remember to run' + echo '/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 to enable' + echo 'graphical authentication, which may be needed for pkexec to work.' } post_upgrade() { - post_install $1 + which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true } post_remove() { diff -Naur gsmartcontrol.orig/org.archlinux.pkexec.gsmartcontrol.policy gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy --- gsmartcontrol.orig/org.archlinux.pkexec.gsmartcontrol.policy 2013-03-10 06:26:50.567234000 +0100 +++ gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy 2013-03-10 06:29:20.190951391 +0100 @@ -5,14 +5,14 @@ - Authentication is required to run the gsmartcontrol + Authentication is required to run the GSmartControl gsmartcontrol auth_admin auth_admin auth_admin - /usr/bin/gsmartcontrol + /usr/bin/gsmartcontrol.elf true diff -Naur gsmartcontrol.orig/PKGBUILD gsmartcontrol/PKGBUILD --- gsmartcontrol.orig/PKGBUILD 2013-03-10 06:26:50.567234000 +0100 +++ gsmartcontrol/PKGBUILD 2013-03-10 06:44:05.318577222 +0100 @@ -2,18 +2,18 @@ pkgname=gsmartcontrol pkgver=0.8.7 -pkgrel=2 +pkgrel=3 pkgdesc="A graphical user interface for the smartctl hard disk drive health inspection tool." arch=('i686' 'x86_64') url="http://gsmartcontrol.berlios.de/home/index.php/en/Home" license=('GPL3') -depends=('smartmontools' 'pcre' 'gtkmm' 'libglademm' 'glib2' 'xorg-xmessage') -optdepends=('polkit: to run gsmartcontrol directly from menu') +depends=('smartmontools' 'gtkmm' 'xorg-xmessage' 'hicolor-icon-theme' 'polkit') +optdepends=('polkit-gnome: to run gsmartcontrol directly from menu') install=${pkgname}.install -source=(http://download.berlios.de/gsmartcontrol/${pkgname}-${pkgver}.tar.bz2 org.archlinux.pkexec.gsmartcontrol.policy gsmartcontrol.desktop) +source=(http://download.berlios.de/gsmartcontrol/${pkgname}-${pkgver}.tar.bz2 + org.archlinux.pkexec.gsmartcontrol.policy) md5sums=('6d104c2ffc1e693cd1a8052a6d7e3b30' - 'e7b9380849cdcaa4356a42559ea7954f' - '19b20293a639e51fa2abb929a3faae01') + 'e403f8e06e6b8a3d1a99da5e584b2257') build() { cd ${srcdir}/${pkgname}-${pkgver} @@ -31,11 +31,20 @@ make DESTDIR=${pkgdir} install - # Install pexec fixed desktop file - install -Dm755 $srcdir/gsmartcontrol.desktop $pkgdir/usr/share/applications/gsmartcontrol.desktop + # We need rename the original binary + mv "${pkgdir}/usr/bin/gsmartcontrol" "${pkgdir}/usr/bin/gsmartcontrol.elf" - # Install pexec file - install -Dm766 $srcdir/org.archlinux.pkexec.gsmartcontrol.policy \ - $pkgdir/usr/share/polkit-1/actions/org.archlinux.pkexec.gsmartcontrol.policy + # Install launcher script + echo '#!/bin/sh' > ${pkgdir}/usr/bin/gsmartcontrol + echo 'pkexec --disable-internal-agent "/usr/bin/gsmartcontrol.elf" "$@"' \ + >> ${pkgdir}/usr/bin/gsmartcontrol + chmod 755 ${pkgdir}/usr/bin/gsmartcontrol + + # Modify desktop file + sed -i -e "s|^Exec=.*|Exec=/usr/bin/gsmartcontrol|" \ + "${pkgdir}/usr/share/applications/gsmartcontrol.desktop" - } + # Install policy file + install -Dm766 $srcdir/org.archlinux.pkexec.gsmartcontrol.policy \ + $pkgdir/usr/share/polkit-1/actions/org.archlinux.pkexec.gsmartcontrol.policy +}