# $Id$ PNAME="firewalld" PVER="0.4.4.5" PBUILD="r1" SPLIT_PACKAGES="firewalld firewalld-applet firewalld-config" PCAT="net-misc" HOMEPAGE="http://www.firewalld.org/" COMMON_DEPEND=">= dev-lang/python-2.7 >= sys-apps/dbus-1.10 >= dev-python/dbus-python-1.2 >= net-misc/ipset-6 >= net-misc/iptables-1.6 >= net-misc/ebtables-2 >= dev-python/python-slip-dbus-0.6" GTK_DEPEND=">= x11-libs/gtk3+-3.22 >= dev-python/pygobject3-3.24" APPLET_DEPEND=">= dev-libs/glib2-2.52 >= net-libs/glib-networking-2.50 ${GTK_DEPEND} >= net-misc/networkmanager-1.8" CONFIG_DEPEND="${GTK_DEPEND} >= x11-themes/hicolor-icon-theme-0.12" SDEPEND="${COMMON_DEPEND} ${APPLET_DEPEND} ${CONFIG_DEPEND} >= dev-libs/libxslt-1.1.28 >= dev-util/intltool-0.50 >= sys-dev/gettext-0.18 >= dev-util/pkgconfig-0.25 >= app-text/docbook-xsl-stylesheets-1.75 >= app-text/docbook-xml-dtd42-4.2" SRCFILE="v${PVER}.tar.gz" SRCDIR="${BUILDDIR}/${PNAME}-${PVER}" sminclude gnome2 mtools systemd cleanutils xdg glib2 gtk2 fdo-mime SRC_URI=( https://github.com/t-woerner/${PNAME}/archive/${SRCFILE} mirror://${PNAME}/${SRCFILE} mirror://${PNAME}/${PNAME}-0.4.4.4-confd.patch mirror://${PNAME}/firewalld.service ) UP2DATE="updatecmd http://www.firewalld.org/download/ | highesttarball gz" split_info_firewalld() { DESCRIPTION="A firewall service daemon with D-BUS interface managing a dynamic firewall." DEPEND="${COMMON_DEPEND}" } split_info_firewalld-applet() { DESCRIPTION="Firewalld panel applet." DEPEND="== net-misc/firewalld-${PVER} ${APPLET_DEPEND}" } split_info_firewalld-config() { DESCRIPTION="Firewalld configuration interface." DEPEND="== net-misc/firewalld-${PVER} ${CONFIG_DEPEND}" } src_prepare() { munpack ${SRCFILE} || die cd ${SRCDIR} # use /etc/conf.d for service configuration mpatch ${PNAME}-0.4.4.4-confd.patch || die #mautoreconf || die ./autogen.sh || die } src_compile() { cd ${SRCDIR} mconfigure --with-systemd-unitdir=$(mget-systemd-unit-dir) || die mmake || die } src_install_firewalld() { cd ${SRCDIR} mmake -j1 DESTDIR=${BINDIR} install || die # inject our firewalld.service minstallunit firewalld.service || die # included with firewalld-applet mdelete -r /etc/xdg || die mdelete /usr/bin/firewall-applet || die mdelete /usr/bin/firewall-config || die mdelete -r /usr/share/applications || die mdelete -r /usr/share/icons || die mdelete -r /usr/share/glib-2.0 || die mdelete /usr/share/man/man1/firewall-applet.1 || die mdelete /usr/share/man/man1/firewall-config.1 || die mdelete /usr/share/firewalld/firewall-config.glade || die mdelete /usr/share/firewalld/gtk3_chooserbutton.py || die minstalldocs COPYING || die } src_install_firewalld-applet() { cd ${SRCDIR} mmake -j1 DESTDIR=${BINDIR} install || die # fix missing desktop file minstallxdg --file ${BINDIR}/etc/xdg/autostart/firewall-applet.desktop || die zapmost ${BINDIR} \ etc/xdg \ usr/bin/firewall-applet \ usr/share/applications/firewall-applet.desktop \ usr/share/icons/hicolor/16x16/apps/firewall-applet*.* \ usr/share/icons/hicolor/22x22/apps/firewall-applet*.* \ usr/share/icons/hicolor/24x24/apps/firewall-applet*.* \ usr/share/icons/hicolor/32x32/apps/firewall-applet*.* \ usr/share/icons/hicolor/48x48/apps/firewall-applet*.* \ usr/share/icons/hicolor/scalable/apps/firewall-applet*.* \ usr/share/man/man1/firewall-applet.1 \ usr/share/glib-2.0/schemas/org.fedoraproject.FirewallApplet.gschema.xml \ || die } src_install_firewalld-config() { cd ${SRCDIR} mmake -j1 DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/bin/firewall-config \ usr/share/applications/firewall-config.desktop \ usr/share/firewalld/firewall-config.glade \ usr/share/firewalld/gtk3_chooserbutton.py \ usr/share/icons/hicolor/16x16/apps/firewall-config*.* \ usr/share/icons/hicolor/22x22/apps/firewall-config*.* \ usr/share/icons/hicolor/24x24/apps/firewall-config*.* \ usr/share/icons/hicolor/32x32/apps/firewall-config*.* \ usr/share/icons/hicolor/48x48/apps/firewall-config*.* \ usr/share/icons/hicolor/scalable/apps/firewall-config*.* \ usr/share/man/man1/firewall-config.1 \ usr/share/glib-2.0/schemas/org.fedoraproject.FirewallConfig.gschema.xml \ || die } postinstall_firewalld() { mreloadunit dbus.service mstartunit firewalld.service } postremove_firewalld() { mstopunit firewalld.service mreloadunit dbus.service } postinstall_firewalld-applet() { fdo-mime_update_desktop_db glib2_update_schemas gtk2_update_icon_cache } postremove_firewalld-applet() { fdo-mime_update_desktop_db glib2_update_schemas gtk2_update_icon_cache } postinstall_firewalld-config() { fdo-mime_update_desktop_db glib2_update_schemas gtk2_update_icon_cache } postremove_firewalld-config() { fdo-mime_update_desktop_db glib2_update_schemas gtk2_update_icon_cache }