]> git.pld-linux.org Git - packages/GNUnet.git/blob - GNUnet.spec
- build fix, BR gmp-devel
[packages/GNUnet.git] / GNUnet.spec
1 #
2 # Conditional build:
3 %bcond_without  ipv6    # without IPv6 support
4 #
5 Summary:        An anonymous distributed secure network
6 Summary(pl):    Anonimowa, rozproszona, bezpieczna sieæ
7 Name:           GNUnet
8 Version:        0.6.5
9 Release:        0.1
10 Group:          Applications/Networking
11 License:        GPL
12 Source0:        http://www.ovmj.org/GNUnet/download/%{name}-%{version}.tar.bz2
13 # Source0-md5:  8bca32b55dccdb5bde7bd2b38df9df03
14 Source1:        gnunet.init
15 Patch0:         %{name}-nolibs.patch
16 Patch1:         %{name}-ipv6.patch
17 URL:            http://www.gnu.org/software/GNUnet/
18 BuildRequires:  autoconf >= 2.57
19 BuildRequires:  automake
20 BuildRequires:  db-devel
21 BuildRequires:  gdbm-devel
22 BuildRequires:  gettext-devel
23 BuildRequires:  gmp-devel >= 4.0.0
24 BuildRequires:  gtk+2-devel >= 2.4
25 BuildRequires:  libextractor-devel >= 0.3.10
26 BuildRequires:  libltdl-devel
27 BuildRequires:  libtool >= 1:1.4.2-9
28 BuildRequires:  mysql-devel >= 3.23.56
29 BuildRequires:  openssl-devel >= 0.9.7d
30 BuildRequires:  rpmbuild(macros) >= 1.159
31 BuildRequires:  tdb-devel
32 PreReq:         rc-scripts
33 Requires(pre):  /bin/id
34 Requires(pre):  /usr/bin/getgid
35 Requires(pre):  /usr/sbin/groupadd
36 Requires(pre):  /usr/sbin/useradd
37 Requires(postun):       /usr/sbin/groupdel
38 Requires(postun):       /usr/sbin/userdel
39 Requires(post,postun):  /sbin/ldconfig
40 Requires(post,preun):   /sbin/chkconfig
41 Requires:       gdbm
42 Requires:       gtk+ >= 1.2
43 Requires:       libextractor >= 0.3.10
44 Requires:       openssl >= 0.9.7d
45 Provides:       group(gnunet)
46 Provides:       user(gnunet)
47 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
48
49 %define _gnunethomedir  /var/lib/GNUnet
50
51 %description
52 GNUnet is framework for secure peer-to-peer networking. The primary
53 application for GNUnet is anonymous file-sharing. GNUnet is part of
54 the GNU project (http://www.gnu.org/).
55
56 While GNUnet file-sharing provides anonymity for its users, it also
57 provides accounting to perform better resource allocation.
58 Contributing users are rewarded with better service. Peers monitor the
59 behavior of other peers and allocate resources for peers that are
60 economically trusted. The content encoding makes it hard for peers to
61 circumvent the reward system.
62
63 GNUnet supports multiple transport protocols, currently UDP, TCP and
64 SMTP. The framework automatically chooses a cheap transport that is
65 currently available by both peers for any given link. It is possible
66 to run GNUnet peers behind NAT boxes and almost all firewall
67 configurations.
68
69 This is a beta version. The important features have been implemented
70 and tested. The security features are in place, but note that
71 anonymity may be limited due to the small number of active
72 participants.
73
74 For a more detailed description of GNUnet, see our webpages at:
75
76 http://www.gnu.org/software/GNUnet/ and http://www.ovmj.org/GNUnet/
77
78 Note that this RPM contains only plain directories database frontend;
79 bdb, gdbm, mysql and tdb frontends are in separate subpackages.
80
81 %description -l pl
82 GNUnet stanowi szkielet bezpiecznej sieci typu peer-to-peer.
83 Podstawow± aplikacj± GNUnet jest anonimowe wspó³dzielenie plików.
84 GNUnet stanowi czê¶æ projektu GNU (http://www.gnu.org/).
85
86 Podczas gdy wspó³dzielenie plików za pomoc± GNUnet zapewnia
87 u¿ytkownikom anonimowo¶æ, umo¿liwia ono równie¿ ewidencjonowanie dla
88 zapewnienia lepszego gospodarowania zasobami. U¿ytkownicy wnosz±cy
89 co¶ s± nagradzani lepsz± jako¶ci± us³ugi. Ka¿dy z równorzêdnych
90 u¿ytkowników monitoruje zachowanie pozosta³ych i przydziela zasoby
91 u¿ytkownikom, którzy s± ekonomicznie wiarygodni. Kodowanie tre¶ci
92 czyni system nagród trudnym do przechytrzenia.
93
94 GNUnet wspiera wiele protoko³ów transportowych, aktualnie: UDP, TCP i
95 SMTP. Szkielet automatycznie wybiera tani± metodê transportu dostêpn±
96 w danej chwili dla obu u¿ytkowników przy dowolnym po³±czeniu. GNUnet
97 mo¿e dzia³aæ pomiêdzy dwiema maszynami znajduj±cymi siê za NAT i z
98 prawie wszystkimi konfiguracjami firewalli.
99
100 Jest to wersja beta. Najwa¿niejsze funkcje zosta³y zaimplementowane i
101 przetestowane. Funkcje zapewniaj±ce bezpieczeñstwo s± na swoim
102 miejscu, lecz nale¿y zauwa¿yæ, ¿e anonimowo¶æ mo¿e byæ ograniczona ze
103 wzglêdu na ma³± liczbê aktywnych uczestników.
104
105 Bardziej szczegó³owy opis GNUnet mo¿na znale¼æ na stronie:
106
107 http://www.gnu.org/software/GNUnet/ i http://www.ovmj.org/GNUnet/
108
109 Nale¿y te¿ zauwa¿yæ, ¿e ten pakiet zawiera tylko interfejs bazodanowy
110 dla zwyk³ych katalogów; wtyczki obs³uguj±ce bazy bdb, gdbm, mysql i
111 tdb znajduj± siê w osobnych podpakietach.
112
113 %package bdb
114 Summary:        BerkeleyDB database support for GNUnet
115 Summary(pl):    Obs³uga bazy BerkeleyDB dla GNUnet
116 Group:          Applications/Network
117 Requires:       %{name} = %{version}-%{release}
118
119 %description bdb
120 This package contains BerkeleyDB database frontend for GNUnet.
121
122 %description bdb -l pl
123 Pakiet ten zawiera interfejs bazy danych BerkeleyDB dla GNUnet.
124
125 %package gdbm
126 Summary:        GDBM database support for GNUnet
127 Summary(pl):    Obs³uga bazy GDBM dla GNUnet
128 Group:          Applications/Network
129 Requires:       %{name} = %{version}-%{release}
130
131 %description gdbm
132 This package contains GDBM database frontend for GNUnet.
133
134 %description gdbm -l pl
135 Pakiet ten zawiera interfejs bazy danych GDBM dla GNUnet.
136
137 %package mysql
138 Summary:        MySQL database support for GNUnet
139 Summary(pl):    Obs³uga bazy MySQL dla GNUnet
140 Group:          Applications/Network
141 Requires:       %{name} = %{version}-%{release}
142 Requires:       mysql-libs >= 3.23.56
143
144 %description mysql
145 This package contains MySQL database frontend for GNUnet.
146
147 %description mysql -l pl
148 Pakiet ten zawiera interfejs bazy danych MySQL dla GNUnet.
149
150 %package tdb
151 Summary:        TDB database support for GNUnet
152 Summary(pl):    Obs³uga bazy TDB dla GNUnet
153 Group:          Applications/Network
154 Requires:       %{name} = %{version}-%{release}
155
156 %description tdb
157 This package contains TDB database frontend for GNUnet.
158
159 %description tdb -l pl
160 Pakiet ten zawiera interfejs bazy danych TDB dla GNUnet.
161
162 %prep
163 %setup -q
164 %patch0 -p1
165 %{?with_ipv6:%patch1 -p1}
166
167 %build
168 %{__gettextize}
169 %{__libtoolize} --ltdl
170 %{__aclocal} -I m4
171 %{__autoconf}
172 %{__autoheader}
173 %{__automake}
174 %configure \
175         --disable-static \
176         --with-gdbm=/usr \
177         --with-mysql=/usr \
178         --with-tdb=/usr \
179         --with-crypto=/usr \
180         %{?with_ipv6:--enable-ipv6}
181
182 %{__make}
183
184 %install
185 rm -rf $RPM_BUILD_ROOT
186
187 %{__make} install \
188         DESTDIR=$RPM_BUILD_ROOT
189
190 install -d $RPM_BUILD_ROOT/etc/{skel/.gnunet,/rc.d/init.d} \
191         $RPM_BUILD_ROOT%{_gnunethomedir}/{state.sdb,data/{afs,credit,hosts}}
192
193 install contrib/gnunet.root $RPM_BUILD_ROOT%{_sysconfdir}/gnunet.conf
194 install contrib/gnunet.user $RPM_BUILD_ROOT%{_sysconfdir}/skel/.gnunet/gnunet.conf
195 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/gnunet
196
197 # these are normal, dynamically linked libraries - there is no -devel, so *.la not needed
198 rm -f $RPM_BUILD_ROOT%{_libdir}/{libgnunetutil,libgnunet_afs_esed2,libgnunetdht_api}.la \
199         $RPM_BUILD_ROOT%{_libdir}/{libgnunetdht_datastore_memory,libgnunetrpc_util}.la \
200         $RPM_BUILD_ROOT%{_includedir}/*.h
201
202 %find_lang %{name}
203
204 %clean
205 rm -rf $RPM_BUILD_ROOT
206
207 %pre
208 if [ -n "`/usr/bin/getgid gnunet`" ]; then
209         if [ "`/usr/bin/getgid gnunet`" != 115 ]; then
210                 echo "Error: group gnunet doesn't have gid=115. Correct this before installing GNUnet." 1>&2
211                 exit 1
212         fi
213 else
214         /usr/sbin/groupadd -g 115 gnunet 1>&2
215 fi
216 if [ -n "`/bin/id -u gnunet 2>/dev/null`" ]; then
217         if [ "`/bin/id -u gnunet`" != 115 ]; then
218                 echo "Error: user gnunet doesn't have uid=115. Correct this before installing GNUnet." 1>&2
219                 exit 1
220         fi
221 else
222         /usr/sbin/useradd -o -u 115 -d /var/lib/GNUnet -s /bin/sh -g gnunet \
223                 -c "GNUnet daemon" gnunet 1>&2
224 fi
225
226 %post
227 /sbin/ldconfig
228 /sbin/chkconfig --add gnunet
229 if [ -f /var/lock/subsys/gnunet ]; then
230          /etc/rc.d/init.d/gnunet restart >&2
231 else
232         echo "Run \"/etc/rc.d/init.d/gnunet start\" to start GNUnet." >&2
233 fi
234
235 %preun
236 if [ -f /var/lock/subsys/gnunet ]; then
237         /etc/rc.d/init.d/gnunet stop
238 fi
239 /sbin/chkconfig --del gnunet
240
241 %postun
242 /sbin/ldconfig
243 if [ "$1" = "0" ]; then
244         %userremove gnunet
245         %groupremove gnunet
246 fi
247
248 %files -f %{name}.lang
249 %defattr(644,root,root,755)
250 %doc AUTHORS ChangeLog NEWS PLATFORMS README UPDATING
251 %attr(755,root,root) %{_bindir}/gnunet-chat
252 %attr(755,root,root) %{_bindir}/gnunet-check
253 %attr(755,root,root) %{_bindir}/gnunet-convert
254 %attr(755,root,root) %{_bindir}/gnunet-delete
255 %attr(755,root,root) %{_bindir}/gnunet-dht-join
256 %attr(755,root,root) %{_bindir}/gnunet-dht-query
257 %attr(755,root,root) %{_bindir}/gnunet-directory
258 %attr(755,root,root) %{_bindir}/gnunet-download
259 #%attr(755,root,root) %{_bindir}/gnunet-download-manager.scm
260 %attr(755,root,root) %{_bindir}/gnunet-gtk
261 %attr(755,root,root) %{_bindir}/gnunet-insert
262 %attr(755,root,root) %{_bindir}/gnunet-peer-info
263 %attr(755,root,root) %{_bindir}/gnunet-pseudonym
264 %attr(755,root,root) %{_bindir}/gnunet-search
265 %attr(755,root,root) %{_bindir}/gnunet-setup
266 %attr(755,root,root) %{_bindir}/gnunet-stats
267 %attr(755,root,root) %{_bindir}/gnunet-tbench
268 %attr(755,root,root) %{_bindir}/gnunet-testbed
269 %attr(755,root,root) %{_bindir}/gnunet-tracekit
270 %attr(755,root,root) %{_bindir}/gnunet-transport-check
271 %attr(755,root,root) %{_bindir}/gnunet-update
272 %attr(755,root,root) %{_bindir}/gnunetd
273
274 # normal, dynamically linked libraries
275 %attr(755,root,root) %{_libdir}/libgnunet_afs_esed2.so.0.0.0
276 %attr(755,root,root) %{_libdir}/libgnunetdht_api.so.0.0.0
277 %attr(755,root,root) %{_libdir}/libgnunetdht_datastore_memory.so.0.0.0
278 %attr(755,root,root) %{_libdir}/libgnunetrpc_util.so.0.0.0
279 %attr(755,root,root) %{_libdir}/libgnunetutil.so.0.0.0
280
281 # ltdlopened plugins - these must have *.la
282 %attr(755,root,root) %{_libdir}/libgnunetafs_database_directory.so
283 %{_libdir}/libgnunetafs_database_directory.la
284 %attr(755,root,root) %{_libdir}/libgnunetafs_protocol.so
285 %{_libdir}/libgnunetafs_protocol.la
286 %attr(755,root,root) %{_libdir}/libgnunetchat_protocol.so
287 %{_libdir}/libgnunetchat_protocol.la
288 %attr(755,root,root) %{_libdir}/libgnunetdht_protocol.so
289 %{_libdir}/libgnunetdht_protocol.la
290 %attr(755,root,root) %{_libdir}/libgnunetrpc_protocol.so
291 %{_libdir}/libgnunetrpc_protocol.la
292 %attr(755,root,root) %{_libdir}/libgnunettbench_protocol.so
293 %{_libdir}/libgnunettbench_protocol.la
294 %attr(755,root,root) %{_libdir}/libgnunettestbed_protocol.so
295 %{_libdir}/libgnunettestbed_protocol.la
296 %attr(755,root,root) %{_libdir}/libgnunettracekit_protocol.so
297 %{_libdir}/libgnunettracekit_protocol.la
298 %attr(755,root,root) %{_libdir}/libgnunettransport_http.so
299 %{_libdir}/libgnunettransport_http.la
300 %attr(755,root,root) %{_libdir}/libgnunettransport_nat.so
301 %{_libdir}/libgnunettransport_nat.la
302 %attr(755,root,root) %{_libdir}/libgnunettransport_smtp.so
303 %{_libdir}/libgnunettransport_smtp.la
304 %attr(755,root,root) %{_libdir}/libgnunettransport_tcp.so
305 %{_libdir}/libgnunettransport_tcp.la
306 %attr(755,root,root) %{_libdir}/libgnunettransport_udp.so
307 %{_libdir}/libgnunettransport_udp.la
308 %if %{with ipv6}
309 %attr(755,root,root) %{_libdir}/libgnunettransport_tcp6.so
310 %{_libdir}/libgnunettransport_tcp6.la
311 %attr(755,root,root) %{_libdir}/libgnunettransport_udp6.so
312 %{_libdir}/libgnunettransport_udp6.la
313 %endif
314
315 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/gnunet.conf
316 %{_sysconfdir}/skel/.gnunet
317 %attr(754,root,root) /etc/rc.d/init.d/gnunet
318 %{_mandir}/man1/gnunet-chat.1*
319 %{_mandir}/man1/gnunet-check.1*
320 %{_mandir}/man1/gnunet-convert.1*
321 %{_mandir}/man1/gnunet-delete.1*
322 %{_mandir}/man1/gnunet-directory.1*
323 %{_mandir}/man1/gnunet-download-manager.1*
324 %{_mandir}/man1/gnunet-download.1*
325 %{_mandir}/man1/gnunet-gtk.1*
326 %{_mandir}/man1/gnunet-insert.1*
327 %{_mandir}/man1/gnunet-peer-info.1*
328 %{_mandir}/man1/gnunet-pseudonym.1*
329 %{_mandir}/man1/gnunet-search.1*
330 %{_mandir}/man1/gnunet-stats.1*
331 %{_mandir}/man1/gnunet-tbench.1*
332 %{_mandir}/man1/gnunet-testbed.1*
333 %{_mandir}/man1/gnunet-tracekit.1*
334 %{_mandir}/man1/gnunet-transport-check.1*
335 %{_mandir}/man1/gnunet-update.1*
336 %{_mandir}/man1/gnunetd.1*
337 %{_mandir}/man5/gnunet.conf.5*
338 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}
339 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data
340 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data/afs
341 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data/credit
342 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data/hosts
343 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/state.sdb
344
345 # these (and *.so for them) should be in -devel or /dev/null
346 #%{_libdir}/libgnunetutil.la
347 #%{_libdir}/libgnunet_afs_esed2.la
348 #%{_libdir}/libgnunetdht_api.la
349 #%{_libdir}/libgnunetdht_datastore_memory.la
350 #%{_libdir}/libgnunetrpc_util.la
351
352 %files bdb
353 %defattr(644,root,root,755)
354 %attr(755,root,root) %{_libdir}/libgnunetafs_database_bdb.so
355 %{_libdir}/libgnunetafs_database_bdb.la
356
357 %files gdbm
358 %defattr(644,root,root,755)
359 %attr(755,root,root) %{_libdir}/libgnunetafs_database_gdbm.so
360 %{_libdir}/libgnunetafs_database_gdbm.la
361
362 %files mysql
363 %defattr(644,root,root,755)
364 %attr(755,root,root) %{_libdir}/libgnunetafs_database_mysql.so
365 %{_libdir}/libgnunetafs_database_mysql.la
366
367 %files tdb
368 %defattr(644,root,root,755)
369 %attr(755,root,root) %{_libdir}/libgnunetafs_database_tdb.so
370 %{_libdir}/libgnunetafs_database_tdb.la
This page took 0.227749 seconds and 4 git commands to generate.