Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 433844 Details for
Bug 582658
net-im/bitlbee-3.4.2-r1: rewrite SSL handling, non-root systemd
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
bitlbee.patch
68e5c5d9b109 (text/plain), 10.17 KB, created by
Alex Xu (Hello71)
on 2016-05-10 15:47:34 UTC
(
hide
)
Description:
bitlbee.patch
Filename:
MIME Type:
Creator:
Alex Xu (Hello71)
Created:
2016-05-10 15:47:34 UTC
Size:
10.17 KB
patch
obsolete
>From 54cbc47cc0c99387c896445fe55022653e725051 Mon Sep 17 00:00:00 2001 >From: Alex Xu <alex_y_xu@yahoo.ca> >Date: Sat, 23 Apr 2016 14:57:03 -0400 >Subject: [PATCH] net-im/bitlbee: rewrite SSL handling, non-root systemd > >fixes Gentoo bugs 544646, 472406, 470272, 466548. >--- > net-im/bitlbee/bitlbee-3.4.2-r1.ebuild | 186 +++++++++++++++++++++ > net-im/bitlbee/bitlbee-9999.ebuild | 61 ++++--- > .../files/bitlbee-service-user-bitlbee.patch | 10 ++ > net-im/bitlbee/metadata.xml | 8 + > 4 files changed, 234 insertions(+), 31 deletions(-) > create mode 100644 net-im/bitlbee/bitlbee-3.4.2-r1.ebuild > create mode 100644 net-im/bitlbee/files/bitlbee-service-user-bitlbee.patch > >diff --git a/net-im/bitlbee/bitlbee-3.4.2-r1.ebuild b/net-im/bitlbee/bitlbee-3.4.2-r1.ebuild >new file mode 100644 >index 0000000..62ab9c3 >--- /dev/null >+++ b/net-im/bitlbee/bitlbee-3.4.2-r1.ebuild >@@ -0,0 +1,186 @@ >+# Copyright 1999-2016 Gentoo Foundation >+# Distributed under the terms of the GNU General Public License v2 >+# $Id$ >+ >+EAPI=5 >+PYTHON_COMPAT=( python2_7 ) >+ >+inherit eutils multilib user python-single-r1 systemd >+ >+if [[ ${PV} == "9999" ]]; then >+ EGIT_REPO_URI="https://github.com/bitlbee/bitlbee.git" >+ inherit git-r3 >+else >+ SRC_URI="http://get.bitlbee.org/src/${P}.tar.gz" >+ KEYWORDS="~amd64 ~ppc ~ppc64 ~x86 ~x86-fbsd" >+fi >+ >+DESCRIPTION="irc to IM gateway that support multiple IM protocols" >+HOMEPAGE="http://www.bitlbee.org/" >+ >+LICENSE="GPL-2" >+SLOT="0" >+IUSE_PROTOCOLS="xmpp msn oscar purple skype twitter yahoo" >+IUSE="debug +gnutls ipv6 libevent libressl nss otr +plugins selinux test xinetd >+ ${IUSE_PROTOCOLS}" >+ >+COMMON_DEPEND=" >+ >=dev-libs/glib-2.16 >+ purple? ( net-im/pidgin ) >+ libevent? ( dev-libs/libevent:= ) >+ otr? ( >=net-libs/libotr-4 ) >+ gnutls? ( net-libs/gnutls:= ) >+ !gnutls? ( >+ nss? ( dev-libs/nss ) >+ !nss? ( >+ libressl? ( dev-libs/libressl:= ) >+ !libressl? ( dev-libs/openssl:0= ) >+ ) >+ ) >+ " >+DEPEND="${COMMON_DEPEND} >+ dev-lang/python >+ virtual/pkgconfig >+ selinux? ( sec-policy/selinux-bitlbee ) >+ test? ( dev-libs/check )" >+ >+RDEPEND="${COMMON_DEPEND} >+ virtual/logger >+ skype? ( >+ dev-python/skype4py[${PYTHON_USEDEP}] >+ net-im/skype >+ ) >+ xinetd? ( sys-apps/xinetd )" >+ >+pkg_pretend() { >+ if [[ -z "${I_KNOW_WHAT_I_AM_DOING}" ]]; then >+ local chat_enabled >+ for flag in "${IUSE_PROTOCOLS}"; do >+ use $flag && chat_enabled=1 >+ done >+ if [[ -z "${chat_enabled}" ]]; then >+ die "Please enable at least one chat protocol." >+ fi >+ fi >+} >+ >+pkg_setup() { >+ use skype && python-single-r1_pkg_setup >+ >+ enewgroup bitlbee >+ enewuser bitlbee -1 -1 /var/lib/bitlbee bitlbee >+} >+ >+src_prepare() { >+ sed -i \ >+ -e "s@/usr/local/sbin/bitlbee@/usr/sbin/bitlbee@" \ >+ -e "s/nobody/bitlbee/" \ >+ -e "s/}/ disable = yes\n}/" \ >+ doc/bitlbee.xinetd || die "sed failed in xinetd" >+ >+ sed -i \ >+ -e "s@mozilla-nss@nss@g" \ >+ configure || die "sed failed in configure" >+ >+ use skype && python_fix_shebang protocols/skype/skyped.py >+ >+ [[ ${PV} != "9999" ]] && epatch "${FILESDIR}"/${PN}-3.2.1-configure.patch >+ epatch "${FILESDIR}"/${PN}-service-user-bitlbee.patch >+ epatch_user >+} >+ >+src_configure() { >+ # setup plugins, protocol, ipv6 and debug >+ myconf="--jabber=$(usex xmpp 1 0)" >+ for flag in debug ipv6 plugins ${IUSE_PROTOCOLS/xmpp/} ; do >+ myconf="${myconf} --${flag}=$(usex ${flag} 1 0)" >+ done >+ >+ # set otr >+ if use otr && use plugins ; then >+ myconf="${myconf} --otr=plugin" >+ else >+ if use otr ; then >+ ewarn "OTR support has been disabled automatically because it" >+ ewarn "requires the plugins USE flag." >+ fi >+ myconf="${myconf} --otr=0" >+ fi >+ >+ # setup ssl use flags >+ if use gnutls ; then >+ myconf="${myconf} --ssl=gnutls" >+ einfo "Using gnutls for SSL support" >+ else >+ ewarn "Only gnutls is officially supported by upstream." >+ if use nss ; then >+ myconf="${myconf} --ssl=nss" >+ einfo "Using nss for SSL support" >+ else >+ myconf="${myconf} --ssl=openssl" >+ einfo "Using openssl for SSL support" >+ fi >+ fi >+ >+ # set event handler >+ if use libevent ; then >+ myconf="${myconf} --events=libevent" >+ else >+ myconf="${myconf} --events=glib" >+ fi >+ >+ # NOTE: bitlbee's configure script is not an autotool creation, >+ # so that is why we don't use econf. >+ ./configure \ >+ --prefix=/usr --datadir=/usr/share/bitlbee \ >+ --etcdir=/etc/bitlbee --plugindir=/usr/$(get_libdir)/bitlbee \ >+ --systemdsystemunitdir=$(systemd_get_unitdir) \ >+ --doc=1 --strip=0 ${myconf} || die "econf failed" >+ >+ sed -i \ >+ -e "/^EFLAGS/s:=:&${LDFLAGS} :" \ >+ Makefile.settings || die "sed failed" >+} >+ >+src_install() { >+ emake install install-etc install-doc install-dev install-systemd DESTDIR="${D}" >+ >+ keepdir /var/lib/bitlbee >+ fperms 700 /var/lib/bitlbee >+ fowners bitlbee:bitlbee /var/lib/bitlbee >+ >+ dodoc doc/{AUTHORS,CHANGES,CREDITS,FAQ,README} >+ >+ if use skype ; then >+ newdoc protocols/skype/NEWS NEWS-skype >+ newdoc protocols/skype/README README-skype >+ fi >+ >+ if use xinetd ; then >+ insinto /etc/xinetd.d >+ newins doc/bitlbee.xinetd bitlbee >+ fi >+ >+ newinitd "${FILESDIR}"/bitlbee.initd-r1 bitlbee >+ newconfd "${FILESDIR}"/bitlbee.confd-r1 bitlbee >+ >+ exeinto /usr/share/bitlbee >+ doexe utils/{convert_purple.py,bitlbee-ctl.pl} >+} >+ >+pkg_postinst() { >+ chown -R bitlbee:bitlbee "${ROOT}"/var/lib/bitlbee >+ [[ -d "${ROOT}"/var/run/bitlbee ]] && >+ chown -R bitlbee:bitlbee "${ROOT}"/var/run/bitlbee >+ >+ if [[ -z ${REPLACING_VERSIONS} ]]; then >+ einfo >+ elog "The bitlbee init script will now attempt to stop all processes owned by the" >+ elog "bitlbee user, including per-client forks." >+ elog >+ elog "Tell the init script not to touch anything besides the main bitlbee process" >+ elog "by changing the BITLBEE_STOP_ALL variable in" >+ elog " /etc/conf.d/bitlbee" >+ einfo >+ fi >+} >diff --git a/net-im/bitlbee/bitlbee-9999.ebuild b/net-im/bitlbee/bitlbee-9999.ebuild >index dceb0c2..62ab9c3 100644 >--- a/net-im/bitlbee/bitlbee-9999.ebuild >+++ b/net-im/bitlbee/bitlbee-9999.ebuild >@@ -20,8 +20,9 @@ HOMEPAGE="http://www.bitlbee.org/" > > LICENSE="GPL-2" > SLOT="0" >-IUSE="debug gnutls ipv6 +xmpp libevent msn nss +oscar otr +plugins purple selinux >- skype ssl test twitter +yahoo xinetd libressl" >+IUSE_PROTOCOLS="xmpp msn oscar purple skype twitter yahoo" >+IUSE="debug +gnutls ipv6 libevent libressl nss otr +plugins selinux test xinetd >+ ${IUSE_PROTOCOLS}" > > COMMON_DEPEND=" > >=dev-libs/glib-2.16 >@@ -31,7 +32,10 @@ COMMON_DEPEND=" > gnutls? ( net-libs/gnutls:= ) > !gnutls? ( > nss? ( dev-libs/nss ) >- !nss? ( ssl? ( !libressl? ( dev-libs/openssl:0= ) libressl? ( dev-libs/libressl:= ) ) ) >+ !nss? ( >+ libressl? ( dev-libs/libressl:= ) >+ !libressl? ( dev-libs/openssl:0= ) >+ ) > ) > " > DEPEND="${COMMON_DEPEND} >@@ -48,21 +52,19 @@ RDEPEND="${COMMON_DEPEND} > ) > xinetd? ( sys-apps/xinetd )" > >-REQUIRED_USE="|| ( purple xmpp msn oscar yahoo ) >- msn? ( || ( gnutls nss ssl ) ) >- xmpp? ( !nss )" >- >-pkg_setup() { >- if use xmpp && ! use gnutls && ! use ssl ; then >- einfo >- elog "You have enabled support for Jabber but do not have SSL" >- elog "support enabled. This *will* prevent bitlbee from being" >- elog "able to connect to SSL enabled Jabber servers. If you need to" >- elog "connect to Jabber over SSL, enable ONE of the following use" >- elog "flags: gnutls or ssl" >- einfo >+pkg_pretend() { >+ if [[ -z "${I_KNOW_WHAT_I_AM_DOING}" ]]; then >+ local chat_enabled >+ for flag in "${IUSE_PROTOCOLS}"; do >+ use $flag && chat_enabled=1 >+ done >+ if [[ -z "${chat_enabled}" ]]; then >+ die "Please enable at least one chat protocol." >+ fi > fi >+} > >+pkg_setup() { > use skype && python-single-r1_pkg_setup > > enewgroup bitlbee >@@ -83,18 +85,15 @@ src_prepare() { > use skype && python_fix_shebang protocols/skype/skyped.py > > [[ ${PV} != "9999" ]] && epatch "${FILESDIR}"/${PN}-3.2.1-configure.patch >+ epatch "${FILESDIR}"/${PN}-service-user-bitlbee.patch > epatch_user > } > > src_configure() { > # setup plugins, protocol, ipv6 and debug >- use xmpp && myconf="${myconf} --jabber=1" >- for flag in debug ipv6 msn oscar plugins purple skype twitter yahoo ; do >- if use ${flag} ; then >- myconf="${myconf} --${flag}=1" >- else >- myconf="${myconf} --${flag}=0" >- fi >+ myconf="--jabber=$(usex xmpp 1 0)" >+ for flag in debug ipv6 plugins ${IUSE_PROTOCOLS/xmpp/} ; do >+ myconf="${myconf} --${flag}=$(usex ${flag} 1 0)" > done > > # set otr >@@ -112,15 +111,15 @@ src_configure() { > if use gnutls ; then > myconf="${myconf} --ssl=gnutls" > einfo "Using gnutls for SSL support" >- elif use ssl ; then >- myconf="${myconf} --ssl=openssl" >- einfo "Using openssl for SSL support" >- elif use nss ; then >- myconf="${myconf} --ssl=nss" >- einfo "Using nss for SSL support" > else >- myconf="${myconf} --ssl=bogus" >- einfo "You will not have any encryption support enabled." >+ ewarn "Only gnutls is officially supported by upstream." >+ if use nss ; then >+ myconf="${myconf} --ssl=nss" >+ einfo "Using nss for SSL support" >+ else >+ myconf="${myconf} --ssl=openssl" >+ einfo "Using openssl for SSL support" >+ fi > fi > > # set event handler >diff --git a/net-im/bitlbee/files/bitlbee-service-user-bitlbee.patch b/net-im/bitlbee/files/bitlbee-service-user-bitlbee.patch >new file mode 100644 >index 0000000..07d58f4 >--- /dev/null >+++ b/net-im/bitlbee/files/bitlbee-service-user-bitlbee.patch >@@ -0,0 +1,10 @@ >+--- a/init/bitlbee.service.in >++++ b/init/bitlbee.service.in >+@@ -4,6 +4,7 @@ >+ >+ [Service] >+ ExecStart=@sbindir@bitlbee -F -n >++User=bitlbee >+ >+ [Install] >+ WantedBy=multi-user.target >diff --git a/net-im/bitlbee/metadata.xml b/net-im/bitlbee/metadata.xml >index 88806b5..14d6116 100644 >--- a/net-im/bitlbee/metadata.xml >+++ b/net-im/bitlbee/metadata.xml >@@ -2,6 +2,10 @@ > <!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> > <pkgmetadata> > <maintainer type="person"> >+ <email>alex_y_xu@yahoo.ca</email> >+ <name>Alex Xu</name> >+ </maintainer> >+ <maintainer type="person"> > <email>wired@gentoo.org</email> > <name>Alex Alexander</name> > </maintainer> >@@ -9,6 +13,10 @@ > <email>radhermit@gentoo.org</email> > <name>Tim Harder</name> > </maintainer> >+ <maintainer type="project"> >+ <email>proxy-maint@gentoo.org</email> >+ <name>Proxy Maintainers</name> >+ </maintainer> > <use> > <flag name="libevent">Use libevent for event handling</flag> > <flag name="nss">Use NSS for SSL support in MSN and Jabber</flag> >-- >2.8.1
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 582658
: 433844