summaryrefslogtreecommitdiff
path: root/community/gsmartcontrol
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-01-12 03:39:46 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-01-12 03:39:46 +0000
commit61e090957dbc6b062f3a1af7eeb0d58478c6657d (patch)
tree768f076ead75d57e34580da0d78ff9f5afe170fd /community/gsmartcontrol
parentb8322aaddc0dc6b249457dd19ab7fb246b92c997 (diff)
Sun Jan 12 03:35:50 UTC 2014
Diffstat (limited to 'community/gsmartcontrol')
-rw-r--r--community/gsmartcontrol/PKGBUILD43
-rw-r--r--community/gsmartcontrol/gsmartcontrol.desktop9
-rw-r--r--community/gsmartcontrol/gsmartcontrol.install7
-rw-r--r--community/gsmartcontrol/gsmartcontrol_polkit6
-rw-r--r--community/gsmartcontrol/org.archlinux.pkexec.gsmartcontrol.policy2
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>