]> git.pld-linux.org Git - SPECS.git/blob - inspircd.spec
SPECS updated Wed 28 Jul 14:48:01 CEST 2021
[SPECS.git] / inspircd.spec
1 Summary:        Modular IRC daemon
2 Summary(pl.UTF-8):      Modularny demon IRC
3 Name:           inspircd
4 Version:        1.2.0rc2
5 Release:        1
6 License:        GPL v2
7 Group:          Networking/Daemons
8 Source0:        http://www.data2you.com.au/inspircd/InspIRCd-1.2.0rc2.tar.bz2
9 # Source0-md5:  c1bc89f37e804e7e268e2a6cbbca3d32
10 Source1:        %{name}.init
11 Source2:        %{name}.conf
12 Patch0:         %{name}-1.1b8_default_config.patch
13 Patch1:         %{name}-1.1.2-m_no_op_on_channel_create.patch
14 Patch2:         %{name}-modesoncreate.patch
15 Patch3:         %{name}-fixes.patch
16 URL:            http://www.inspircd.org/
17 BuildRequires:  libstdc++-devel
18 BuildRequires:  mysql-devel
19 BuildRequires:  openssl-devel
20 BuildRequires:  pcre-devel
21 BuildRequires:  pkgconfig
22 BuildRequires:  postgresql-devel
23 BuildRequires:  sqlite3-devel >= 3.3
24 BuildRequires:  zlib-devel
25 Provides:       group(inspircd)
26 Provides:       group(ircd)
27 Provides:       user(inspircd)
28 Obsoletes:      bircd
29 Obsoletes:      ircd
30 Obsoletes:      ircd-hybrid
31 Obsoletes:      ircd-ptlink
32 Obsoletes:      ircd6
33 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
34
35 %description
36 InspIRCd is a modular C++ IRC Daemon for Linux, BSD and Windows
37 systems created to provide a stable, modern, lightweight ircd (IRC
38 server) from scratch and provide a vast number of features in a
39 modularised form using an advanced module API. By keeping the
40 functionality of the main core to a minimum we hope to increase the
41 stability and speed of our project and make it customisable to the
42 needs of many users. InspIRCd is designed primarily to be a custom IRC
43 server for the chatspike IRC network (irc.chatspike.net) but we are
44 releasing it into the public domain under GPL so that you may benefit
45 yourself from our work. The project is written from scratch, avoiding
46 the inherent instability under large loads which can be seen in many
47 other IRC server distributions which have the same featureset.
48
49 %description -l pl.UTF-8
50 InspIRCd to modularny, napisany w C++ demon IRC dla Linuksa, BSD i
51 Windows stworzony od zera, aby zapewnić stabilny, nowoczesny i lekki
52 ircd (serwer IRC) o dużych możliwościach w zmodularyzowanej postaci
53 przy użyciu zaawansowanego API dla modułów. Utrzymując minimalną
54 funkcjonalność podstawowego serwera autorzy mają nadzieję zwiększyć
55 stabilność i szybkość, a także umożliwić dostosowywanie do potrzeb
56 wielu użytkowników. InspIRCd został zaprojektowany głównie jako własny
57 serwer IRC dla sieci chatspike (irc.chatspike.net), ale autorzy mają
58 nadzieję, że po udostępnieniu go na GPL także inni będą mogli
59 skorzystać z ich pracy. Projekt jest pisany od początku, aby uniknąć
60 dziedziczenia niestabilności pod dużym obciążeniem, jaką można
61 zaobserwować w wielu innych serwerach IRC o podobnych możliwościach.
62
63 %prep
64 %setup -q -n %{name}
65 %patch0 -p1
66 %patch1 -p1
67 %patch2 -p1
68 %patch3 -p1
69
70 find -type f -name '*.orig' -print0 | xargs -r0 rm -v
71 cd src/modules
72 for i in $(ls extra/*sql* extra/*pcre* extra/m_ssl_oper_cert.cpp extra/m_sslinfo.cpp | grep -v sqlite3 | grep -v mysql); do
73         ln -s -v $i .
74 done
75 ln -s -v extra/m_sqlite3.cpp .
76 ln -s -v extra/m_mysql.cpp .
77 ln -s -v extra/m_ziplink.cpp .
78
79 %build
80 # NOT autoconf
81 ./configure \
82         --disable-extras=m_mssql.cpp
83
84 ./configure \
85         --enable-ipv6 \
86         --enable-remote-ipv6 \
87         --enable-epoll \
88         --enable-openssl \
89         --prefix=%{_prefix}/lib/%{name}/ \
90         --config-dir=%{_sysconfdir}/%{name} \
91         --library-dir=%{_libdir}/%{name}/ \
92         --module-dir=%{_libdir}/%{name}/modules \
93         --binary-dir=%{_sbindir}
94
95 # Update makefiles
96 ./configure \
97         --modupdate
98
99 %{__make}
100
101 %install
102 rm -rf $RPM_BUILD_ROOT
103 install -d $RPM_BUILD_ROOT{/var/lib/%{name},/var/run/%{name},/var/log/%{name},/etc/rc.d/init.d}
104 %{__make} install \
105         INSTMODE="0755" \
106         DESTDIR=$RPM_BUILD_ROOT
107 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}
108
109 for file in $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/*.example; do
110         mv $file `echo $file | sed -e 's/.example//'`
111 done
112
113 install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
114
115 %clean
116 rm -rf $RPM_BUILD_ROOT
117
118 %pre
119 %groupadd -g 216 inspircd
120 %groupadd -g 75 ircd
121 %useradd -u 216 -d /var/lib/inspircd -c "InspIRCd User" -g inspircd inspircd
122 %addusertogroup inspircd ircd
123
124 %post
125 /sbin/chkconfig --add %{name}
126 %service %{name} restart "InspIRCd IRC Daemon"
127
128 %preun
129 if [ "$1" = "0" ]; then
130         %service %{name} stop
131         /sbin/chkconfig --del %{name}
132 fi
133
134 %postun
135 if [ "$1" = "0" ]; then
136         %userremove inspircd
137         %groupremove inspircd
138         %groupremove ircd
139 fi
140
141 %files
142 %defattr(644,root,root,755)
143 %doc docs/* extras/* conf/*
144 %attr(755,root,root) %{_sbindir}/inspircd
145 %attr(754,root,root) /etc/rc.d/init.d/%{name}
146 %dir %attr(750,root,inspircd) %{_sysconfdir}/%{name}
147 %config(noreplace) %attr(640,root,inspircd) %{_sysconfdir}/%{name}/inspircd.conf
148 %config(noreplace) %attr(640,root,inspircd) %{_sysconfdir}/%{name}/inspircd.quotes
149 %config(noreplace) %attr(640,root,inspircd) %{_sysconfdir}/%{name}/inspircd.rules
150 %config(noreplace) %attr(640,root,inspircd) %{_sysconfdir}/%{name}/inspircd.censor
151 %config(noreplace) %attr(640,root,inspircd) %{_sysconfdir}/%{name}/inspircd.filter
152 %config(noreplace) %attr(640,root,inspircd) %{_sysconfdir}/%{name}/inspircd.helpop
153 %config(noreplace) %attr(640,root,inspircd) %{_sysconfdir}/%{name}/inspircd.helpop-full
154 %config(noreplace) %attr(640,root,inspircd) %{_sysconfdir}/%{name}/inspircd.motd
155 %config(noreplace) %attr(640,root,inspircd) %{_sysconfdir}/%{name}/links.conf
156 %config(noreplace) %attr(640,root,inspircd) %{_sysconfdir}/%{name}/modules.conf
157 %config(noreplace) %attr(640,root,inspircd) %{_sysconfdir}/%{name}/opers.conf
158 %attr(750,inspircd,inspircd) /var/lib/%{name}
159 %attr(750,inspircd,inspircd) /var/run/%{name}
160 %attr(750,inspircd,inspircd) /var/log/%{name}
161
162 %dir %{_libdir}/%{name}
163 %attr(755,root,root) %{_libdir}/%{name}/cmd_*.so
164 %dir %{_libdir}/%{name}/modules
165 %attr(755,root,root) %{_libdir}/%{name}/modules/m_*.so
This page took 0.361886 seconds and 3 git commands to generate.