diff options
author | Nicolas Iooss | 2019-04-28 18:46:28 +0200 |
---|---|---|
committer | Nicolas Iooss | 2019-04-28 18:46:28 +0200 |
commit | e775b518747c704cce88fca54a0251a5a7abfa6f (patch) | |
tree | 7e6d955cb3174dbb71cb971c5e2bdddb0f96790a /PKGBUILD | |
download | aur-e775b518747c704cce88fca54a0251a5a7abfa6f.tar.gz |
setroubleshoot: initial package
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 126 |
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" +} |