blob: 52b726ba057f7979f3ad03e869693056406f84b0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/net-irc/irc-server/irc-server-2.10.3_p7.ebuild,v 1.5 2004/07/12 23:04:08 swegener Exp $
inherit eutils
MY_P=irc${PV/_/}
DESCRIPTION="RFC compliant IRC server"
HOMEPAGE="http://www.irc.org/"
SRC_URI="ftp://ftp.irc.org/irc/server/${MY_P}.tgz"
LICENSE="GPL-1"
SLOT="0"
KEYWORDS="~x86 ~ppc"
IUSE="zlib ipv6"
RDEPEND="virtual/libc
sys-libs/ncurses
zlib? ( sys-libs/zlib )"
DEPEND="${RDEPEND}
sys-apps/sed
sys-apps/grep"
S=${WORKDIR}/${MY_P}
src_unpack() {
unpack ${A}
epatch ${FILESDIR}/${PV}-gentoo.patch || die
}
src_compile () {
IRCUID=`grep ^ircd: /etc/passwd | cut -d : -f 3`
IRCGID=`grep ^ircd: /etc/group | cut -d : -f 3`
if [ -z "$IRCGID" ]
then
IRCGID=`grep ^ircd: /etc/passwd | cut -d : -f 4`
fi
if [ -z "$IRCUID" ]
then
IRCUID=0
until [ -z "`cut -d : -f 3 /etc/passwd | grep $IRCUID`" ]
do
IRCUID=$RANDOM
done
fi
if [ -z "$IRCGID" ]
then
IRCGID=0
until [ -z "`cut -d : -f 3 /etc/group | grep $IRCGID`" ]
do
IRCGID=$RANDOM
done
fi
echo -n "$IRCUID" > ${T}/user
echo -n "$IRCGID" > ${T}/group
cd ${S}/support
sed \
-e "s/^#undef\tOPER_KILL$/#define\tOPER_KILL/" \
-e "s/^#undef\tOPER_RESTART$/#define\tOPER_RESTART/" \
-e "s/^#undef TIMEDKLINES$/#define\tTIMEDKLINES\t60/" \
-e "s/^#undef\tR_LINES$/#define\tR_LINES/" \
-e "s/^#undef\tCRYPT_OPER_PASSWORD$/#define\tCRYPT_OPER_PASSWORD/" \
-e "s/^#undef\tCRYPT_LINK_PASSWORD$/#define\tCRYPT_LINK_PASSWORD/" \
-e "s/^#undef\tIRC_UID$/#define\tIRC_UID\t$IRCUID/" \
-e "s/^#undef\tIRC_GID$/#define\tIRC_GID\t$IRCGID/" \
-e "s/^#undef USE_SERVICES$/#define\tUSE_SERVICES/" \
config.h.dist > config.h.dist~
mv -f config.h.dist~ config.h.dist
use zlib && sed -e "s/^#undef\tZIP_LINKS$/#define\tZIP_LINKS/" config.h.dist > config.h.dist~
mv -f config.h.dist~ config.h.dist
cd ..
use zlib && myconf="--with-zlib" || myconf="--without-zlib"
use ipv6 && myconf="$myconf --with-ip6" || myconf="$myconf --without-ip6"
./configure \
--prefix=/usr \
--host=i686-pc-linux-gnu \
'--mandir=${prefix}/share/man' \
--sysconfdir=/etc/ircd \
--localstatedir=/var/run/ircd \
--logdir=/var/log \
$myconf || die
cd `support/config.guess`
emake LDFLAGS=-lm ircd iauth chkconf ircd-mkpasswd ircdwatch tkserv || die
}
src_install() {
cd `support/config.guess`
make \
prefix=${D}/usr \
ircd_conf_dir=${D}/etc/ircd \
ircd_var_dir=${D}/var/run/ircd \
ircd_log_dir=${D}/var/log \
install-server install-tkserv || die
fowners `cat ${T}/user`:`cat ${T}/group` /var/run/ircd
cd ../doc
dodoc *-New alt-irc-faq Authors BUGS ChangeLog Etiquette example.conf \
iauth-internals.txt INSTALL.appendix INSTALL.* LICENSE \
m4macros README RELEASE* rfc* SERVICE*
docinto Juped
dodoc Juped/Advertisement Juped/ChangeLog.* Juped/INSTALL
docinto Juped/US-Admin
dodoc Juped/US-Admin/Networking
docinto Nets
dodoc Nets/IRCNet
docinto Nets/Europe
dodoc Nets/Europe/*
exeinto /etc/init.d
newexe ${FILESDIR}/ircd.rc ircd
}
pkg_postinst() {
groupadd -g `cat ${T}/group` -o ircd
useradd -c "IRCd server user" -d /etc/ircd -g `cat ${T}/group` -o -s /bin/false -u `cat ${T}/user` ircd
}
|