summaryrefslogtreecommitdiff
path: root/net-irc
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-24 15:52:10 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-24 15:52:10 +0100
commit145ac95c683ecda55a9b2cafc84dced2e9c29e03 (patch)
tree3a7aac2c145afe328a1c610a9ee6d7f5b9fd271d /net-irc
parentbb17db5f98333b3c74b4194d1c1136144f693add (diff)
gentoo auto-resync : 24:10:2022 - 15:52:09
Diffstat (limited to 'net-irc')
-rw-r--r--net-irc/Manifest.gzbin8049 -> 8056 bytes
-rw-r--r--net-irc/psybnc/Manifest9
-rw-r--r--net-irc/psybnc/files/psybnc-2.3.2.9-compile.patch (renamed from net-irc/psybnc/files/compile.diff)0
-rw-r--r--net-irc/psybnc/files/psybnc-2.3.2.9-ldflags-fix.patch (renamed from net-irc/psybnc/files/ldflags-fix.patch)0
-rw-r--r--net-irc/psybnc/files/psybnc-2.4.3-Fix-build-with-Clang-16.patch212
-rw-r--r--net-irc/psybnc/psybnc-2.3.2.9-r4.ebuild26
-rw-r--r--net-irc/psybnc/psybnc-2.4.3.ebuild169
7 files changed, 401 insertions, 15 deletions
diff --git a/net-irc/Manifest.gz b/net-irc/Manifest.gz
index d2be815963c1..db71d8735c95 100644
--- a/net-irc/Manifest.gz
+++ b/net-irc/Manifest.gz
Binary files differ
diff --git a/net-irc/psybnc/Manifest b/net-irc/psybnc/Manifest
index a74e59ee8fa4..7a73d0155999 100644
--- a/net-irc/psybnc/Manifest
+++ b/net-irc/psybnc/Manifest
@@ -1,13 +1,16 @@
-AUX compile.diff 3264 BLAKE2B d67880d5a26de0cafa1cd81733b0f8e22ca920989b4acf3aa085cbba592478c8b24e033167bc09d20e5b565772e8de8c65e9c095392dd3abdf12c5aadbc71334 SHA512 7bebf40946a70f93e6ca5fad204e45b1187baafef346d1ef2e549dcdc750ed9853be760a5ec38eee820fdc8e51f2ff798b91b1a5bd5cbeb423c5090ba04fc152
-AUX ldflags-fix.patch 540 BLAKE2B d1f6c0b41212bec79d9f0381c07e738ec02ca9b54700cc89d6b1da3d94b4fe2555da4abc6262a9b4ed641e23f988e0c57aed94006610eef072763a08960a6c96 SHA512 9ade1e441b0b890a8c2284128124c02786868803771d9acdae560811a7dc56d0cab3673250491b6e99e012a6265db1e0e17fbe5f19aa913d6cc9796c61619d9f
AUX oidentd.conf.psybnc 92 BLAKE2B 3653139da1f045214c609acc0a655bd617b681778339584ea01bc5373fc159cb581dfeb66c5ba8f58b75f20a12e2d5430977576c5d3c0c42b919543c8886eae2 SHA512 1670c597922c557eb4124ec75c41e30135dce47ced3f080051ef1f896b5b24ce8d0833b147fb5ba7b5056cc0c333ecd7a6105bb68f92a72e64f753253a2595ad
+AUX psybnc-2.3.2.9-compile.patch 3264 BLAKE2B d67880d5a26de0cafa1cd81733b0f8e22ca920989b4acf3aa085cbba592478c8b24e033167bc09d20e5b565772e8de8c65e9c095392dd3abdf12c5aadbc71334 SHA512 7bebf40946a70f93e6ca5fad204e45b1187baafef346d1ef2e549dcdc750ed9853be760a5ec38eee820fdc8e51f2ff798b91b1a5bd5cbeb423c5090ba04fc152
+AUX psybnc-2.3.2.9-ldflags-fix.patch 540 BLAKE2B d1f6c0b41212bec79d9f0381c07e738ec02ca9b54700cc89d6b1da3d94b4fe2555da4abc6262a9b4ed641e23f988e0c57aed94006610eef072763a08960a6c96 SHA512 9ade1e441b0b890a8c2284128124c02786868803771d9acdae560811a7dc56d0cab3673250491b6e99e012a6265db1e0e17fbe5f19aa913d6cc9796c61619d9f
AUX psybnc-2.3.2.9-multinetwork.patch 265 BLAKE2B 3bca2c18d521fe34445433090564e78e7c948048114231a79defac5082e0419062ee24fed6b4a4759090498340d16a31dc6114d19a397a97822660879c9ba326 SHA512 955b2455aad91d0145597096a7dc75de9279f828de94e8156f98f992734b86da5712d08b6d3ff3538359aaa1c1fb6b496b5cbbee44da7dadd444ddf020389821
AUX psybnc-2.3.2.9-oidentd.patch 236 BLAKE2B 1af1ba8e2ca6edc8fa64040bfb4e195b9486356284bf83a95df9cbc69c5307a3845dc70586978dc2ee0ffd75cc48f9e88e9fb6c709b504a01e7e8906636c5257 SHA512 60e528060582f07e7b81d522bd93d0b69adba4ec56babde704baa820edc420b7a50d4158ce916f3a767a7d705f98fa30ac8229f64e8549eb551a47780ae002f4
AUX psybnc-2.3.2.9-scripting.patch 248 BLAKE2B b0dec6f5202f6c5a38020c179fdd3cbe932028141c2c95d4a236a1f0140c1feddc60165197ab69ccad6a481f8e84c16dc950644e56bfd9af2c678a80ff9b6898 SHA512 8fbaa82295c53a8b592500c87aab92d46cc0f28d7d89cb8e3957671cc94f785dee52e405196cea8782a192ae942f3b29c892c03cdc2e94d00a2c73b196d4de36
+AUX psybnc-2.4.3-Fix-build-with-Clang-16.patch 4045 BLAKE2B e59d829f759d39993e95bffaec8f38384161ab456280f70e5ccfc26567a883d29da979f5e97759015c571f1c3b065396779a5d9ae3d636179d011e7fb88909ae SHA512 97588a9220100d9da28badb265d41c8d34ec4ec794a86433c30f5397aa05fa18f36845ee49e02ac11dea3a951788f314cd854659966b1b27b5e6aa5e933b2fa5
AUX psybnc-oidentd.initd 931 BLAKE2B d50dbad91198c457254edf568b7c203ba8f4c1dfdbb9c8a38b12ca5086b74b337f85fe514bd8ed74c0eacad9ba25bc36d1c385d96c03ea41d20ccf5150aac407 SHA512 bc338b243d5cf73da0c662601ea2e5fadbe34a64f57cd0d09be55c773e1e1f807fb0c43d46d225a9461d353762b16cf6010710fbf4f43a9dece5130374952e12
AUX psybnc.conf 313 BLAKE2B c56022b42942b100479b6c539e9da85178db679b6596fc2b416299c929cdfac35b83cb1181d8ff3eedb4f17b1c711c97e6c73ae1a40e2f09b7c756ad3415025e SHA512 0a5f587e70f9c9a83da820a03e77b6b119c5094fa334397762c4838c0a88bb5574a17d7aded274dab9bb6b041d1758e08e3f0d78df71b382bdc04fc8aabe3317
AUX psybnc.confd 113 BLAKE2B e4fddc3cb37c5b9defea0d4d6e6c2b26f34bf50fbbe51679b8f0e686b504c2caf980c5a97864fac86a251431126c5a0338bb50a8eba9d3976156cf1eaf1b7681 SHA512 e58704dec299271d9a450eb243d0af1323aca58d555b61fc3aa899324a6bdc9aa82afc0597c190dc07c278f22c7cb448592a271e9ee6e4aa3552518ce6254753
AUX psybnc.initd 898 BLAKE2B 7be60ef0dda81cb917e23e06e3fec88af952d71c2eef4255c316baf5a218e8bdc2d8d8bc4eb353ab7c19a697e97685441ec2a0c3503e4f22adf0d55c9a895e13 SHA512 2ea77dfd515b81d53d7fe1b38fe3069d7d2081d939fdbb2c6ff97cd859a86ad8a52dd1b40e0b592a9368488759a3fb35741e25c6a5ade3045eb7159acd64bbbd
DIST psyBNC-2.3.2-9.tar.gz 318676 BLAKE2B 0197aa3bc8c770738a7d4d5a5a79b77f7a0cafeef60ccca1167172b28af05c0cd9836f7e9816c873dafa2e55b0bf9ce54cfbe3958939405f58f7f3874ec7ea64 SHA512 b664f57610e54fadd938b359a0e8052b8fe3dd36bd1ee339f36ee22ae4d36a76e803425c5133f925ac18c01767ffbc8a2f471c014b5b76b05894cfea9fe5416b
-EBUILD psybnc-2.3.2.9-r4.ebuild 4649 BLAKE2B 851a1637104a77a1de206b12f3efbdb89d2884856003a792ca906a7c7441cb81a462afb649f723cb88b698f5f7cbd8ee7de23a0406c9a65e30f570ec93bdf332 SHA512 f4fcc6f4b22fe4539d7e54edc930171e86da1d91eead652296e5c280d4718b8bce456aeadc379efb4697b69978ee6e2b19d5af8b2dd1dad67d4565c88e7725a4
+DIST psyBNC-2.4.3.tar.gz 1108733 BLAKE2B e0f02cab97b503301db0a4c111497e4f99b75d8d2c798b2b5d97997a4c4921d8a7de8dabad79c1291fa4b7efce0d1ed0c7dede1345b155561bb6ce6033b591bb SHA512 02228baef6fa889d5e12bfa715facc2eab3b033c01b1f799a1c6c995ef9eedfacf3ed328c875f52595d64c47124c20e4145288b2636182dea17ec9027d367bb7
+EBUILD psybnc-2.3.2.9-r4.ebuild 4694 BLAKE2B 31e2720550293deb08b875d63fc7fd7eedae29386b106e72580c5aa4c972fd1515f4e6226c6e008c6f630b440dcf03409acbfd7a744f327c7def505dfa03382e SHA512 b9e1617ae16d5a06d15b48c56275d8ba6855316d3940d2874b9e137209402bf7b990c192c5912ba5fb7a06e109b393f341c672c7e61da31a69a8aa7622791d80
+EBUILD psybnc-2.4.3.ebuild 4688 BLAKE2B 69ec35e57f32b129bd4d46bf0f2179ec833ca0bc5b4b3d94ab0dfe199809f2061a9ce679f5425b8d34ef165a169c84ce38b62a37a672c28a326b7f533915a75e SHA512 48f79fbb6b5d7379e117e4eb8d01877f45a061d17bb545585ae65ca66a208ce454e756e13ab25dd2346a1305cd2813de99c7d58fa5f20cfc432282035543c5b4
MISC metadata.xml 361 BLAKE2B 66e3ce95043d6691e73a6e5efc2637e0f0d0e6638e034fe7687ba67f9e5c40c6e416ae020e1508e9d0f9636c5e833aa364051bacedb15ad3ca9f48cd726854d1 SHA512 75103320e23878d078c05c1a763aa2526ed79a7cf953f3f3c2a272e7d215b5ba95dcc60581186ac73db07a2891abe9ab4e82d906f4e2494e63004ce435a8f9e8
diff --git a/net-irc/psybnc/files/compile.diff b/net-irc/psybnc/files/psybnc-2.3.2.9-compile.patch
index 99e55b6d8cdc..99e55b6d8cdc 100644
--- a/net-irc/psybnc/files/compile.diff
+++ b/net-irc/psybnc/files/psybnc-2.3.2.9-compile.patch
diff --git a/net-irc/psybnc/files/ldflags-fix.patch b/net-irc/psybnc/files/psybnc-2.3.2.9-ldflags-fix.patch
index f5bc776b1e6b..f5bc776b1e6b 100644
--- a/net-irc/psybnc/files/ldflags-fix.patch
+++ b/net-irc/psybnc/files/psybnc-2.3.2.9-ldflags-fix.patch
diff --git a/net-irc/psybnc/files/psybnc-2.4.3-Fix-build-with-Clang-16.patch b/net-irc/psybnc/files/psybnc-2.4.3-Fix-build-with-Clang-16.patch
new file mode 100644
index 000000000000..83b9b07d73a0
--- /dev/null
+++ b/net-irc/psybnc/files/psybnc-2.4.3-Fix-build-with-Clang-16.patch
@@ -0,0 +1,212 @@
+From 9ced946bc4f6da7ccb74573af4a9a89400f9cd69 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 23 Oct 2022 18:21:25 +0100
+Subject: [PATCH] Fix build with Clang 16
+
+Bug: https://bugs.gentoo.org/724916
+Bug: https://bugs.gentoo.org/831310
+Bug: https://bugs.gentoo.org/861464
+Bug: https://bugs.gentoo.org/874105
+--- a/src/p_client.c
++++ b/src/p_client.c
+@@ -213,7 +213,7 @@ int repeatserverinit(int usern)
+ }
+
+ /* who is on the bounce ? */
+-int cmdbwho(usern)
++int cmdbwho(int usern)
+ {
+ struct usernodes *th;
+ int userl;
+@@ -508,7 +508,7 @@ int firstwelcome(void)
+ }
+
+ /* first user connects */
+-int firstuser(npeer)
++int firstuser(int npeer)
+ {
+ int linkto;
+ pcontext;
+--- a/tools/autoconf.c
++++ b/tools/autoconf.c
+@@ -38,6 +38,7 @@
+ #include <ctype.h>
+ #include <signal.h>
+ #include <errno.h>
++#include <time.h>
+ #include "config.h"
+ #include "src/p_version.h"
+
+From 907107edea5f9d74b59a7c24762cfa8413a42f90 Mon Sep 17 00:00:00 2001
+From: Sam James <sam@gentoo.org>
+Date: Sun, 23 Oct 2022 18:41:05 +0100
+Subject: [PATCH] Fix build with Clang 16
+
+--- a/src/p_client.c
++++ b/src/p_client.c
+@@ -22,6 +22,8 @@
+ #define P_CLIENT
+
+ #include <p_global.h>
++#include <stdio.h>
++#include <stdlib.h>
+
+ int cmdaddlink(int usern, int type);
+ int quitclient(int usern);
+--- a/src/p_dcc.c
++++ b/src/p_dcc.c
+@@ -22,6 +22,7 @@
+ #define P_DCC
+
+ #include <p_global.h>
++#include <stdlib.h>
+
+ #ifdef DCCCHAT
+
+--- a/src/p_hash.c
++++ b/src/p_hash.c
+@@ -25,6 +25,11 @@
+
+ /* local types */
+
++#ifdef IPV6
++int cmddefaultipv6(int usern);
++int cmdpreferipv6(int usern);
++#endif
++
+ struct hasht {
+ int commandmsgnum;
+ int(*handler)(int);
+@@ -174,8 +179,10 @@ struct hasht inboundhash[]={
+ {1252, printhelp, 1253, 1254 ,0,0},
+ {1450, cmdbdone, 1451, 1452 ,0,0},
+ {1460, cmdsetconnectdelay, 1461, 1462 ,0,1},
++#ifdef IPV6
+ {1480, cmddefaultipv6, 1481, 1482 ,0,1},
+ {1490, cmdpreferipv6, 1491, 1492 ,0,0},
++#endif
+ #ifdef MYSQL_IPCHECK
+ #ifdef HAVE_MYSQL
+ {2001, cmdmysqlipcheck, 2002, 2003 ,0,1},
+--- a/src/p_inifunc.c
++++ b/src/p_inifunc.c
+@@ -22,6 +22,7 @@
+ #define P_INIFUNC
+
+ #include <p_global.h>
++#include <stdlib.h>
+
+ /* reset the config cache */
+
+--- a/src/p_memory.c
++++ b/src/p_memory.c
+@@ -22,6 +22,7 @@
+ #define P_MEMORY
+
+ #include <p_global.h>
++#include <stdlib.h>
+
+ FILE *logm=NULL;
+
+--- a/src/p_network.c
++++ b/src/p_network.c
+@@ -22,6 +22,7 @@
+ #define P_NETWORK
+
+ #include <p_global.h>
++#include <stdlib.h>
+
+ int netdefault(int usern, char *netname, char *myparentnick);
+
+--- a/src/p_peer.c
++++ b/src/p_peer.c
+@@ -22,6 +22,7 @@
+ #define P_PEER
+
+ #include <p_global.h>
++#include <stdlib.h>
+
+ /* MySQL for IP check */
+ #ifdef MYSQL_IPCHECK
+--- a/src/p_script.c
++++ b/src/p_script.c
+@@ -22,6 +22,7 @@
+ #define P_SCRIPT
+
+ #include <p_global.h>
++#include <stdlib.h>
+
+ #ifdef SCRIPTING
+
+--- a/src/p_server.c
++++ b/src/p_server.c
+@@ -22,6 +22,8 @@
+ #define P_SERVER
+
+ #include <p_global.h>
++#include <stdlib.h>
++
+ void create_oidentd_conf();
+
+ sigjmp_buf serveralarmret;
+--- a/src/p_socket.c
++++ b/src/p_socket.c
+@@ -22,6 +22,7 @@
+ #define P_SOCKET
+
+ #include <p_global.h>
++#include <stdlib.h>
+
+ #define MAX_SENDQ 1000
+
+--- a/src/p_string.c
++++ b/src/p_string.c
+@@ -22,6 +22,7 @@
+ #define P_STRING
+
+ #include <p_global.h>
++#include <stdlib.h>
+
+ char langname[100];
+
+--- a/src/p_topology.c
++++ b/src/p_topology.c
+@@ -22,7 +22,7 @@
+ #define P_TOPOLOGY
+
+ #include <p_global.h>
+-
++#include <stdlib.h>
+
+ #define TP_ROOT 0
+ #define TP_LTO 1
+--- a/src/p_uchannel.c
++++ b/src/p_uchannel.c
+@@ -22,6 +22,7 @@
+ #define P_UCHANNEL
+
+ #include <p_global.h>
++#include <stdlib.h>
+
+ /* bring the channel modes into the right order, return formulated mode */
+
+--- a/src/p_userfile.c
++++ b/src/p_userfile.c
+@@ -22,6 +22,7 @@
+ #define P_USERFILE
+
+ #include <p_global.h>
++#include <stdlib.h>
+
+ /* loading a specific user */
+
+--- a/src/psybnc.c
++++ b/src/psybnc.c
+@@ -34,6 +34,7 @@
+
+ #include <p_global.h>
+ #include <p_data.h>
++#include <stdlib.h>
+
+ int slice=0;
+
diff --git a/net-irc/psybnc/psybnc-2.3.2.9-r4.ebuild b/net-irc/psybnc/psybnc-2.3.2.9-r4.ebuild
index 001c32520db9..684b08d88a1f 100644
--- a/net-irc/psybnc/psybnc-2.3.2.9-r4.ebuild
+++ b/net-irc/psybnc/psybnc-2.3.2.9-r4.ebuild
@@ -11,7 +11,7 @@ PSYBNC_HOME="/var/lib/psybnc"
DESCRIPTION="A multi-user and multi-server gateway to IRC networks"
HOMEPAGE="http://www.psybnc.at/index.html"
SRC_URI="http://www.psybnc.at/download/beta/psyBNC-${MY_PV}.tar.gz"
-S="${WORKDIR}/${PN}"
+S="${WORKDIR}"/${PN}
LICENSE="GPL-2"
SLOT="0"
@@ -26,6 +26,11 @@ DEPEND="
"
RDEPEND="${DEPEND}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.3.2.9-compile.patch
+ "${FILESDIR}"/${PN}-2.3.2.9-ldflags-fix.patch
+)
+
src_unpack() {
unpack ${A}
cd "${S}" || die
@@ -45,17 +50,14 @@ src_unpack() {
src_prepare() {
default
- eapply "${FILESDIR}/compile.diff"
- eapply "${FILESDIR}/ldflags-fix.patch"
-
- # add oidentd
- use oidentd && eapply "${FILESDIR}/${P}-oidentd.patch"
+ # Add oidentd
+ use oidentd && PATCHES+=( "${FILESDIR}"/${P}-oidentd.patch )
- # add scripting support
- use scripting && eapply "${FILESDIR}/${P}-scripting.patch"
+ # Add scripting support
+ use scripting && PATCHES+=( "${FILESDIR}"/${P}-scripting.patch )
- # add multinetwork support
- use multinetwork && eapply "${FILESDIR}/${P}-multinetwork.patch"
+ # Add multinetwork support
+ use multinetwork && PATCHES+=( "${FILESDIR}"/${P}-multinetwork.patch )
# Prevent stripping the binary
sed -i -e "/@strip/ d" tools/autoconf.c || die
@@ -103,10 +105,10 @@ src_install() {
insinto /etc
doins "${FILESDIR}"/oidentd.conf.psybnc
fperms 640 /etc/oidentd.conf.psybnc
- # install init-script with oidentd-support
+ # Install init-script with oidentd-support
newinitd "${FILESDIR}"/psybnc-oidentd.initd psybnc
else
- # install init-script without oidentd-support
+ # Install init-script without oidentd-support
newinitd "${FILESDIR}"/psybnc.initd psybnc
fi
diff --git a/net-irc/psybnc/psybnc-2.4.3.ebuild b/net-irc/psybnc/psybnc-2.4.3.ebuild
new file mode 100644
index 000000000000..e4b61275e275
--- /dev/null
+++ b/net-irc/psybnc/psybnc-2.4.3.ebuild
@@ -0,0 +1,169 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_PV="$(ver_rs 3 -)"
+PSYBNC_HOME="/var/lib/psybnc"
+
+DESCRIPTION="A multi-user and multi-server gateway to IRC networks"
+HOMEPAGE="http://www.psybnc.at/index.html"
+SRC_URI="http://psybnc.org/download/psyBNC-${PV}.tar.gz"
+S="${WORKDIR}"/${PN}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+IUSE="ipv6 ssl oidentd scripting multinetwork"
+
+DEPEND="
+ acct-group/psybnc
+ acct-user/psybnc
+ ssl? ( >=dev-libs/openssl-0.9.7d:= )
+ oidentd? ( >=net-misc/oidentd-2.0 )
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.4.3-Fix-build-with-Clang-16.patch
+)
+
+src_unpack() {
+ unpack ${A}
+ cd "${S}" || die
+
+ # Useless files
+ rm -f */INFO || die
+
+ # Pretend we already have a certificate, we generate it in pkg_config
+ touch key/psybnc.cert.pem || die
+
+ if [[ -f "${EPREFIX}"/usr/share/psybnc/salt.h ]]; then
+ einfo "Using existing salt.h for password encryption"
+ cp "${EPREFIX}"/usr/share/psybnc/salt.h salt.h || die
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Add oidentd
+ use oidentd && PATCHES+=( "${FILESDIR}"/${P}-oidentd.patch )
+
+ # Add scripting support
+ use scripting && PATCHES+=( "${FILESDIR}"/${P}-scripting.patch )
+
+ # Add multinetwork support
+ use multinetwork && PATCHES+=( "${FILESDIR}"/${P}-multinetwork.patch )
+
+ # Prevent stripping the binary
+ sed -i -e "/@strip/ d" tools/autoconf.c || die
+}
+
+src_compile() {
+ if use ipv6; then
+ rm -f tools/chkipv6.c || die
+ fi
+
+ if use ssl; then
+ rm -f tools/chkssl.c || die
+ fi
+
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dobin psybnc
+
+ insinto /usr/share/psybnc
+ doins -r help lang salt.h
+ fperms 0600 /usr/share/psybnc/salt.h
+
+ insinto /etc/psybnc
+ doins "${FILESDIR}"/psybnc.conf
+
+ keepdir "${PSYBNC_HOME}"/{log,motd,scripts}
+ dosym ../../../usr/share/psybnc/lang "${PSYBNC_HOME}"/lang
+ dosym ../../../usr/share/psybnc/help "${PSYBNC_HOME}"/help
+
+ fowners psybnc:psybnc "${PSYBNC_HOME}"/{,log,motd,scripts} /etc/psybnc/psybnc.conf
+ fperms 0750 "${PSYBNC_HOME}"/{,log,motd,scripts}
+ fperms 0640 /etc/psybnc/psybnc.conf
+
+ if use ssl; then
+ keepdir /etc/psybnc/ssl
+ dosym ../../../etc/psybnc/ssl "${PSYBNC_HOME}"/key
+ else
+ # Drop SSL listener from psybnc.conf
+ sed -i -e "/^# Default SSL listener$/,+4 d" "${D}"/etc/psybnc/psybnc.conf || die
+ fi
+
+ if use oidentd; then
+ insinto /etc
+ doins "${FILESDIR}"/oidentd.conf.psybnc
+ fperms 640 /etc/oidentd.conf.psybnc
+ # Install init-script with oidentd-support
+ newinitd "${FILESDIR}"/psybnc-oidentd.initd psybnc
+ else
+ # Install init-script without oidentd-support
+ newinitd "${FILESDIR}"/psybnc.initd psybnc
+ fi
+
+ if use scripting ; then
+ dodoc SCRIPTING
+ fi
+
+ newconfd "${FILESDIR}"/psybnc.confd psybnc
+
+ dodoc CHANGES FAQ README TODO
+ docinto example-script
+ dodoc scripts/example/DEFAULT.SCRIPT
+}
+
+pkg_config() {
+ if use ssl; then
+ if [[ -f "${EROOT}"/etc/psybnc/ssl/psybnc.cert.pem || -f "${EROOT}"/etc/psybnc/ssl/psybnc.key.pem ]]; then
+ ewarn "Existing /etc/psybnc/psybnc.cert.pem or /etc/psybnc/psybnc.key.pem found!"
+ ewarn "Remove /etc/psybnc/psybnc.*.pem and run emerge --config =${CATEGORY}/${PF} again."
+ return
+ fi
+
+ einfo "Generating certificate request..."
+ openssl req -new -out "${ROOT}"/etc/psybnc/ssl/psybnc.req.pem \
+ -keyout "${ROOT}"/etc/psybnc/ssl/psybnc.key.pem -nodes || die
+
+ einfo "Generating self-signed certificate..."
+ openssl req -x509 -days 365 -in "${ROOT}"/etc/psybnc/ssl/psybnc.req.pem \
+ -key "${ROOT}"/etc/psybnc/ssl/psybnc.key.pem \
+ -out "${ROOT}"/etc/psybnc/ssl/psybnc.cert.pem || die
+
+ einfo "Setting permissions on files..."
+ chown root:psybnc "${ROOT}"/etc/psybnc/ssl/psybnc.{cert,key,req}.pem || die
+ chmod 0640 "${ROOT}"/etc/psybnc/ssl/psybnc.{cert,key,req}.pem || die
+ fi
+}
+
+pkg_postinst() {
+ if use ssl; then
+ elog
+ elog "Please run \"emerge --config =${CATEGORY}/${PF}\" to create the needed SSL certificates."
+ fi
+
+ if use oidentd; then
+ elog
+ elog "You have enabled oidentd-support. You will need to set"
+ elog "up your ${EROOT}/etc/oident.conf file before running psybnc. An example"
+ elog "for psyBNC can be found under ${EROOT}/etc/oidentd.conf.psybnc"
+ fi
+
+ elog
+ elog "You can connect to psyBNC on port 23998 with user gentoo and password gentoo."
+ elog "Please edit the psyBNC configuration at ${EROOT}/etc/psybnc/psybnc.conf to change this."
+ elog
+ elog "To be able to reuse an existing psybnc.conf, you need to make sure that the"
+ elog "old salt.h is available at ${EROOT}/usr/share/psybnc/salt.h when compiling a new"
+ elog "version of psyBNC. It is needed for password encryption and decryption."
+ elog
+}