diff options
Diffstat (limited to 'community/gsmartcontrol')
-rw-r--r-- | community/gsmartcontrol/PKGBUILD | 43 | ||||
-rw-r--r-- | community/gsmartcontrol/gsmartcontrol.desktop | 9 | ||||
-rw-r--r-- | community/gsmartcontrol/gsmartcontrol.install | 7 | ||||
-rw-r--r-- | community/gsmartcontrol/gsmartcontrol_polkit | 6 | ||||
-rw-r--r-- | community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy | 2 |
5 files changed, 31 insertions, 36 deletions
diff --git a/community/gsmartcontrol/PKGBUILD b/community/gsmartcontrol/PKGBUILD index 852b0ea58..fe03013e1 100644 --- a/community/gsmartcontrol/PKGBUILD +++ b/community/gsmartcontrol/PKGBUILD @@ -2,49 +2,50 @@ pkgname=gsmartcontrol pkgver=0.8.7 -pkgrel=3 +pkgrel=4 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' 'gtkmm' 'xorg-xmessage' 'hicolor-icon-theme' 'polkit') -optdepends=('polkit-gnome: to run gsmartcontrol directly from menu') +depends=('smartmontools' 'gtkmm' 'xorg-xmessage' 'hicolor-icon-theme') +optdepends=('polkit: to run gsmartcontrol directly from menu') install=${pkgname}.install source=(http://download.berlios.de/gsmartcontrol/${pkgname}-${pkgver}.tar.bz2 - org.archlinux.pkexec.gsmartcontrol.policy) + org.archlinux.pkexec.gsmartcontrol.policy + gsmartcontrol_polkit) md5sums=('6d104c2ffc1e693cd1a8052a6d7e3b30' - 'e403f8e06e6b8a3d1a99da5e584b2257') + '503989a7e6a9a287d81e91243d03f162' + '33bdda04d8db1525f2507485f3f2a663') + +prepare() { + cd "${srcdir}/${pkgname}-${pkgver}" + + # Modify desktop file + sed -i "s|^Exec=.*|Exec="@prefix@/bin/gsmartcontrol_polkit"|" \ + data/gsmartcontrol.desktop.in +} build() { - cd ${srcdir}/${pkgname}-${pkgver} + cd "${srcdir}/${pkgname}-${pkgver}" ./configure --prefix=/usr make } check() { - cd ${srcdir}/${pkgname}-${pkgver} + cd "${srcdir}/${pkgname}-${pkgver}" make check } package() { - cd ${srcdir}/${pkgname}-${pkgver} + cd "${srcdir}/${pkgname}-${pkgver}" make DESTDIR=${pkgdir} install - # We need rename the original binary - mv "${pkgdir}/usr/bin/gsmartcontrol" "${pkgdir}/usr/bin/gsmartcontrol.elf" - # 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 -m755 ${srcdir}/gsmartcontrol_polkit \ + "${pkgdir}/usr/bin/gsmartcontrol_polkit" # Install policy file - install -Dm766 $srcdir/org.archlinux.pkexec.gsmartcontrol.policy \ - $pkgdir/usr/share/polkit-1/actions/org.archlinux.pkexec.gsmartcontrol.policy + install -Dm644 ${srcdir}/org.archlinux.pkexec.gsmartcontrol.policy \ + "${pkgdir}/usr/share/polkit-1/actions/org.archlinux.pkexec.gsmartcontrol.policy" } diff --git a/community/gsmartcontrol/gsmartcontrol.desktop b/community/gsmartcontrol/gsmartcontrol.desktop deleted file mode 100644 index e65a26ef6..000000000 --- a/community/gsmartcontrol/gsmartcontrol.desktop +++ /dev/null @@ -1,9 +0,0 @@ -[Desktop Entry] -Version=1.0 -Name=GSmartControl -GenericName=Hard Disk Health Inspection -Comment=Monitor and control SMART data on hard disks -Icon=gsmartcontrol -Exec=pkexec /usr/bin/gsmartcontrol -Type=Application -Categories=GTK;GNOME;System;Filesystem; diff --git a/community/gsmartcontrol/gsmartcontrol.install b/community/gsmartcontrol/gsmartcontrol.install index f636406f2..b711352cb 100644 --- a/community/gsmartcontrol/gsmartcontrol.install +++ b/community/gsmartcontrol/gsmartcontrol.install @@ -1,14 +1,11 @@ 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() { - which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true + post_install $1 } post_remove() { - which xdg-icon-resource 1>/dev/null 2>/dev/null && xdg-icon-resource forceupdate || true + post_install $1 } diff --git a/community/gsmartcontrol/gsmartcontrol_polkit b/community/gsmartcontrol/gsmartcontrol_polkit new file mode 100644 index 000000000..fa7ec8557 --- /dev/null +++ b/community/gsmartcontrol/gsmartcontrol_polkit @@ -0,0 +1,6 @@ +#!/bin/bash +if [ $(which pkexec) ]; then + pkexec --disable-internal-agent "/usr/bin/gsmartcontrol" "$@" +else + /usr/bin/gsmartcontrol "$@" +fi diff --git a/community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy b/community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy index b71db7904..471cd0e86 100644 --- a/community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy +++ b/community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy @@ -12,7 +12,7 @@ <allow_inactive>auth_admin</allow_inactive> <allow_active>auth_admin</allow_active> </defaults> - <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/gsmartcontrol.elf</annotate> + <annotate key="org.freedesktop.policykit.exec.path">/usr/bin/gsmartcontrol</annotate> <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate> </action> |