commit:     5a615ae4fac1588080cbe33bf9c719b71520c482
Author:     Ronny (tastytea) Gutbrod <gentoo <AT> tastytea <DOT> de>
AuthorDate: Mon Aug 30 13:35:17 2021 +0000
Commit:     Ronny Gutbrod <gentoo <AT> tastytea <DOT> de>
CommitDate: Mon Aug 30 13:35:17 2021 +0000
URL:        https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=5a615ae4

net-im/biboumi: Prevent implicit suid by fcaps.

fcaps.eclass sets u+s with USE="-filecaps" by default.

Signed-off-by: Ronny (tastytea) Gutbrod <gentoo <AT> tastytea.de>

 net-im/biboumi/biboumi-9.0-r1.ebuild | 99 ++++++++++++++++++++++++++++++++++++
 1 file changed, 99 insertions(+)

diff --git a/net-im/biboumi/biboumi-9.0-r1.ebuild 
b/net-im/biboumi/biboumi-9.0-r1.ebuild
new file mode 100644
index 000000000..7b679f006
--- /dev/null
+++ b/net-im/biboumi/biboumi-9.0-r1.ebuild
@@ -0,0 +1,99 @@
+# Copyright 2020-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit cmake fcaps
+
+MY_PV="${PV/_/-}"
+
+DESCRIPTION="XMPP gateway to IRC"
+HOMEPAGE="https://biboumi.louiz.org/";
+SRC_URI="https://git.louiz.org/biboumi/snapshot/biboumi-${MY_PV}.tar.xz";
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+idn logrotate postgres +sqlite +ssl systemd udns"
+
+DEPEND="
+       dev-libs/expat
+       virtual/libiconv
+       sys-apps/util-linux
+       sqlite? ( dev-db/sqlite )
+       postgres? ( dev-db/postgresql:* )
+       idn? ( net-dns/libidn )
+       udns? ( net-libs/udns )
+       ssl? ( dev-libs/botan:2 )
+       !ssl? ( dev-libs/libgcrypt )
+       systemd? ( sys-apps/systemd )
+"
+BDEPEND="dev-python/sphinx"
+RDEPEND="
+       ${DEPEND}
+       acct-user/biboumi
+"
+
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+DOCS=( README.rst CHANGELOG.rst doc/user.rst )
+
+# Allow biboumi to run an identd on port 113.
+FILECAPS=( -m 755 cap_net_bind_service+ep usr/bin/biboumi )
+
+src_prepare() {
+       cmake_src_prepare
+
+       if ! use systemd; then          # Don't install biboumi.service.
+               sed -i '/DESTINATION lib\/systemd\/system/d' CMakeLists.txt || 
die
+       fi
+}
+
+src_configure() {
+       local mycmakeargs=(
+               -DWITH_BOTAN="$(usex ssl)"
+               -DWITH_LIBIDN="$(usex idn)"
+               -DWITH_SYSTEMD="$(usex systemd)"
+               -DWITH_UDNS="$(usex udns)"
+               -DWITH_SQLITE3="$(usex sqlite)"
+               -DWITH_POSTGRESQL="$(usex postgres)"
+
+               -DWITHOUT_SYSTEMD="$(usex systemd no yes)"
+               -DWITHOUT_POSTGRESQL="$(usex postgres no yes)"
+       )                                                       # The WITHOUT_* 
is really needed.
+
+       cmake_src_configure
+}
+
+src_compile() {
+       cmake_src_compile
+
+       cmake_build man
+}
+
+src_install() {
+       cmake_src_install
+
+       if ! use systemd; then
+               newinitd "${FILESDIR}/${PN}.initd" "${PN}"
+       fi
+
+       if use logrotate; then
+               insinto etc/logrotate.d
+               if use systemd; then
+                       newins "${FILESDIR}/${PN}.logrotate.systemd" "${PN}"
+               else
+                       newins "${FILESDIR}/${PN}.logrotate.openrc" "${PN}"
+               fi
+       fi
+
+       diropts --owner=biboumi --group=biboumi --mode=750
+       if use sqlite; then
+               keepdir var/lib/biboumi
+       fi
+       keepdir var/log/biboumi
+
+       insinto etc/biboumi
+       insopts --group=biboumi --mode=640
+       newins conf/biboumi.cfg biboumi.cfg.example
+}

Reply via email to