summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
authorNicolas Iooss2019-04-28 18:46:28 +0200
committerNicolas Iooss2019-04-28 18:46:28 +0200
commite775b518747c704cce88fca54a0251a5a7abfa6f (patch)
tree7e6d955cb3174dbb71cb971c5e2bdddb0f96790a /PKGBUILD
downloadaur-e775b518747c704cce88fca54a0251a5a7abfa6f.tar.gz
setroubleshoot: initial package
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD126
1 files changed, 126 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..e6d7a15927e8
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,126 @@
+# Maintainer: Nicolas Iooss (nicolas <dot> iooss <at> m4x <dot> org)
+#
+# This PKGBUILD is maintained on https://github.com/archlinuxhardened/selinux.
+# If you want to help keep it up to date, please open a Pull Request there.
+
+# This package has been created thanks to the Fedora package, available at
+# https://src.fedoraproject.org/rpms/setroubleshoot/tree/master , and thanks to
+# a contributor who suggested a PKGBUILD in
+# https://github.com/archlinuxhardened/selinux/issues/15#issuecomment-480513011
+
+pkgbase=setroubleshoot
+pkgname=(setroubleshoot setroubleshoot-server)
+pkgver=3.3.19
+pkgrel=1
+pkgdesc="Provides tools to help diagnose SELinux problems"
+groups=('selinux')
+arch=('x86_64')
+url='https://pagure.io/setroubleshoot'
+license=('GPL2')
+makedepends=('audit' 'dbus' 'desktop-file-utils' 'gtk3' 'libnotify' 'libreport'
+ 'policycoreutils' 'polkit' 'python-gobject' 'python-pydbus'
+ 'python-slip' 'python-systemd' 'xdg-utils')
+source=(
+ "https://releases.pagure.org/${pkgbase}/${pkgbase}-${pkgver}.tar.gz"
+ 'setroubleshoot.logrotate'
+ 'setroubleshoot.tmpfiles'
+ 'setroubleshoot-sysusers.conf'
+)
+sha256sums=('ab0e20b68404cacf6fab1454a7ed94c95556b023805c93f86e1251b58b16acc3'
+ '894a75c33d568f908f0c3fa7fe4d7f82824369695194aa005fe42cf961298893'
+ 'eb7321b7db2fd8951c7ce3c7c42680fcfe7641c3d7be9e8d69a8fbb992a9d086'
+ 'fa20d1ec3522aa877fc5462d56692b318b4c8af1cd9ecb62ec41ad6647662d77')
+
+build() {
+ cd "${pkgbase}-${pkgver}"
+ export PYTHON=/usr/bin/python
+ ./configure \
+ --prefix=/usr \
+ --sbindir=/usr/bin \
+ --sysconfdir=/etc \
+ --with-auditpluginsdir=/etc/audisp/plugins.d
+ make
+}
+
+package_setroubleshoot() {
+ pkgdesc="Provides tools to help diagnose SELinux problems - GUI"
+ depends=('setroubleshoot-server' 'hicolor-icon-theme' 'python')
+
+ cd "${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ # Remove setroubleshoot-server files
+ rm "${pkgdir}/etc/audisp/plugins.d/sedispatch.conf"
+ rmdir "${pkgdir}/etc/audisp/plugins.d"
+ rmdir "${pkgdir}/etc/audisp"
+ rm -r "${pkgdir}/etc/dbus-1/system.d"
+ rmdir "${pkgdir}/etc/dbus-1"
+ rm "${pkgdir}/etc/setroubleshoot/setroubleshoot.conf"
+ rmdir "${pkgdir}/etc/setroubleshoot"
+ rm "${pkgdir}/usr/bin/sedispatch"
+ rm "${pkgdir}/usr/bin/setroubleshootd"
+ rm -r "${pkgdir}/usr/lib/$(/usr/bin/python -c 'import sys;print("python%d.%d" % sys.version_info[:2])')/"
+ rmdir "${pkgdir}/usr/lib"
+ rm "${pkgdir}/usr/share/dbus-1/system-services/org.fedoraproject.Setroubleshootd.service"
+ rm "${pkgdir}/usr/share/dbus-1/system-services/org.fedoraproject.SetroubleshootFixit.service"
+ rmdir "${pkgdir}/usr/share/dbus-1/system-services"
+ rm -r "${pkgdir}/usr/share/doc/"
+ rm -r "${pkgdir}/usr/share/locale/"
+ rm "${pkgdir}/usr/share/man/man8/sedispatch.8"
+ rm "${pkgdir}/usr/share/man/man8/setroubleshootd.8"
+ rm "${pkgdir}/usr/share/polkit-1/actions/org.fedoraproject.setroubleshootfixit.policy"
+ rmdir "${pkgdir}/usr/share/polkit-1/actions"
+ rmdir "${pkgdir}/usr/share/polkit-1"
+ rm "${pkgdir}/usr/share/setroubleshoot/SetroubleshootFixit.py"
+ rm "${pkgdir}/usr/share/setroubleshoot/updater.py"
+
+ # Remove empty directories created by package issues
+ rmdir "${pkgdir}/usr/share/usr/share/setroubleshoot/gui"
+ rmdir "${pkgdir}/usr/share/usr/share/setroubleshoot"
+ rmdir "${pkgdir}/usr/share/usr/share"
+ rmdir "${pkgdir}/usr/share/usr"
+}
+
+package_setroubleshoot-server() {
+ pkgdesc="SELinux troubleshoot server"
+ # FIXME: split the dependencies between setroubleshoot--server and setroubleshoot
+ depends=('audit' 'dbus' 'desktop-file-utils' 'gtk3' 'libnotify' 'libreport'
+ 'policycoreutils' 'polkit' 'python-gobject' 'python-pydbus'
+ 'python-slip' 'python-systemd' 'xdg-utils')
+
+ cd "${pkgbase}-${pkgver}"
+ make DESTDIR="${pkgdir}" install
+
+ mkdir -p "${pkgdir}/var/lib/${pkgname}"
+ touch "${pkgdir}/var/lib/${pkgname}/setroubleshoot_database.xml"
+ touch "${pkgdir}/var/lib/${pkgname}/email_alert_recipients"
+
+ install -m644 -D "${srcdir}/setroubleshoot.logrotate" "${pkgdir}/etc/logrotate.d/${pkgname}"
+ install -m644 -D "${srcdir}/setroubleshoot.tmpfiles" "${pkgdir}/usr/lib/tmpfiles.d/${pkgname}.conf"
+ install -m644 -D "${srcdir}/setroubleshoot-sysusers.conf" "${pkgdir}/usr/lib/sysusers.d/${pkgname}.conf"
+
+ chmod 750 "${pkgdir}/etc/audisp/plugins.d/"
+
+ # Remove setroubleshoot files
+ rm "${pkgdir}/etc/xdg/autostart/sealertauto.desktop"
+ rmdir "${pkgdir}/etc/xdg/autostart"
+ rmdir "${pkgdir}/etc/xdg"
+ rm "${pkgdir}/usr/bin/sealert"
+ rm "${pkgdir}/usr/bin/seapplet"
+ rm "${pkgdir}/usr/share/appdata/setroubleshoot.appdata.xml"
+ rmdir "${pkgdir}/usr/share/appdata"
+ rm "${pkgdir}/usr/share/applications/setroubleshoot.desktop"
+ rmdir "${pkgdir}/usr/share/applications"
+ rm "${pkgdir}/usr/share/dbus-1/services/sealert.service"
+ rmdir "${pkgdir}/usr/share/dbus-1/services"
+ rm -r "${pkgdir}/usr/share/icons/"
+ rm "${pkgdir}/usr/share/man/man8/sealert.8"
+ rm -r "${pkgdir}/usr/share/setroubleshoot/gui/"
+ rm "${pkgdir}/usr/share/setroubleshoot/updater.py"
+
+ # Remove empty directories created by package issues
+ rmdir "${pkgdir}/usr/share/usr/share/setroubleshoot/gui"
+ rmdir "${pkgdir}/usr/share/usr/share/setroubleshoot"
+ rmdir "${pkgdir}/usr/share/usr/share"
+ rmdir "${pkgdir}/usr/share/usr"
+}