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