3 %bcond_without ipv6 # without IPv6 support
5 Summary: An anonymous distributed secure network
6 Summary(pl.UTF-8): Anonimowa, rozproszona, bezpieczna sieć
11 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: gmp-devel >= 4.0.0
24 BuildRequires: gtk+2-devel >= 2: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.268
31 BuildRequires: tdb-devel
32 Requires(post,postun): /sbin/ldconfig
33 Requires(post,preun): /sbin/chkconfig
34 Requires(postun): /usr/sbin/groupdel
35 Requires(postun): /usr/sbin/userdel
36 Requires(pre): /bin/id
37 Requires(pre): /usr/bin/getgid
38 Requires(pre): /usr/sbin/groupadd
39 Requires(pre): /usr/sbin/useradd
42 Requires: libextractor >= 0.3.10
43 Requires: openssl >= 0.9.7d
45 Provides: group(gnunet)
46 Provides: user(gnunet)
47 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
49 %define _gnunethomedir /var/lib/GNUnet
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/>.
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.
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
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
74 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.
80 %description -l pl.UTF-8
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 coś
88 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:
105 <http://www.gnu.org/software/GNUnet/> i <http://www.ovmj.org/GNUnet/>
107 Należy też zauważyć, że ten pakiet zawiera tylko interfejs bazodanowy
108 dla zwykłych katalogów; wtyczki obsługujące bazy bdb, gdbm, mysql i
109 tdb znajdują się w osobnych podpakietach.
112 Summary: BerkeleyDB database support for GNUnet
113 Summary(pl.UTF-8): Obsługa bazy BerkeleyDB dla GNUnet
114 Group: Applications/Networking
115 Requires: %{name} = %{version}-%{release}
118 This package contains BerkeleyDB database frontend for GNUnet.
120 %description bdb -l pl.UTF-8
121 Pakiet ten zawiera interfejs bazy danych BerkeleyDB dla GNUnet.
124 Summary: GDBM database support for GNUnet
125 Summary(pl.UTF-8): Obsługa bazy GDBM dla GNUnet
126 Group: Applications/Networking
127 Requires: %{name} = %{version}-%{release}
130 This package contains GDBM database frontend for GNUnet.
132 %description gdbm -l pl.UTF-8
133 Pakiet ten zawiera interfejs bazy danych GDBM dla GNUnet.
136 Summary: MySQL database support for GNUnet
137 Summary(pl.UTF-8): Obsługa bazy MySQL dla GNUnet
138 Group: Applications/Networking
139 Requires: %{name} = %{version}-%{release}
140 Requires: mysql-libs >= 3.23.56
143 This package contains MySQL database frontend for GNUnet.
145 %description mysql -l pl.UTF-8
146 Pakiet ten zawiera interfejs bazy danych MySQL dla GNUnet.
149 Summary: TDB database support for GNUnet
150 Summary(pl.UTF-8): Obsługa bazy TDB dla GNUnet
151 Group: Applications/Networking
152 Requires: %{name} = %{version}-%{release}
155 This package contains TDB database frontend for GNUnet.
157 %description tdb -l pl.UTF-8
158 Pakiet ten zawiera interfejs bazy danych TDB dla GNUnet.
163 %{?with_ipv6:%patch1 -p1}
167 %{__libtoolize} --ltdl
178 %{?with_ipv6:--enable-ipv6}
183 rm -rf $RPM_BUILD_ROOT
186 DESTDIR=$RPM_BUILD_ROOT
188 install -d $RPM_BUILD_ROOT/etc/{skel/.gnunet,/rc.d/init.d} \
189 $RPM_BUILD_ROOT%{_gnunethomedir}/{state.sdb,data/{afs,credit,hosts}}
191 install contrib/gnunet.root $RPM_BUILD_ROOT%{_sysconfdir}/gnunet.conf
192 install contrib/gnunet.user $RPM_BUILD_ROOT%{_sysconfdir}/skel/.gnunet/gnunet.conf
193 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/gnunet
195 # these are normal, dynamically linked libraries - there is no -devel, so *.la not needed
196 rm -f $RPM_BUILD_ROOT%{_libdir}/{libgnunetutil,libgnunet_afs_esed2,libgnunetdht_api}.la \
197 $RPM_BUILD_ROOT%{_libdir}/{libgnunetdht_datastore_memory,libgnunetrpc_util}.la \
198 $RPM_BUILD_ROOT%{_includedir}/*.h
203 rm -rf $RPM_BUILD_ROOT
206 %groupadd -g 115 gnunet
207 %useradd -o -u 115 -d /var/lib/GNUnet -s /bin/sh -g gnunet -c "GNUnet daemon" gnunet
211 /sbin/chkconfig --add gnunet
212 %service gnunet restart "GNUnet"
215 if [ "$1" = 0 ]; then
217 /sbin/chkconfig --del gnunet
222 if [ "$1" = "0" ]; then
227 %files -f %{name}.lang
228 %defattr(644,root,root,755)
229 %doc AUTHORS ChangeLog NEWS PLATFORMS README UPDATING
230 %attr(755,root,root) %{_bindir}/gnunet-chat
231 %attr(755,root,root) %{_bindir}/gnunet-check
232 %attr(755,root,root) %{_bindir}/gnunet-convert
233 %attr(755,root,root) %{_bindir}/gnunet-delete
234 %attr(755,root,root) %{_bindir}/gnunet-dht-join
235 %attr(755,root,root) %{_bindir}/gnunet-dht-query
236 %attr(755,root,root) %{_bindir}/gnunet-directory
237 %attr(755,root,root) %{_bindir}/gnunet-download
238 #%attr(755,root,root) %{_bindir}/gnunet-download-manager.scm
239 %attr(755,root,root) %{_bindir}/gnunet-gtk
240 %attr(755,root,root) %{_bindir}/gnunet-insert
241 %attr(755,root,root) %{_bindir}/gnunet-peer-info
242 %attr(755,root,root) %{_bindir}/gnunet-pseudonym
243 %attr(755,root,root) %{_bindir}/gnunet-search
244 %attr(755,root,root) %{_bindir}/gnunet-setup
245 %attr(755,root,root) %{_bindir}/gnunet-stats
246 %attr(755,root,root) %{_bindir}/gnunet-tbench
247 %attr(755,root,root) %{_bindir}/gnunet-testbed
248 %attr(755,root,root) %{_bindir}/gnunet-tracekit
249 %attr(755,root,root) %{_bindir}/gnunet-transport-check
250 %attr(755,root,root) %{_bindir}/gnunet-update
251 %attr(755,root,root) %{_bindir}/gnunetd
253 # normal, dynamically linked libraries
254 %attr(755,root,root) %{_libdir}/libgnunet_afs_esed2.so.0.0.0
255 %attr(755,root,root) %{_libdir}/libgnunetdht_api.so.0.0.0
256 %attr(755,root,root) %{_libdir}/libgnunetdht_datastore_memory.so.0.0.0
257 %attr(755,root,root) %{_libdir}/libgnunetrpc_util.so.0.0.0
258 %attr(755,root,root) %{_libdir}/libgnunetutil.so.0.0.0
260 # ltdlopened plugins - these must have *.la
261 %attr(755,root,root) %{_libdir}/libgnunetafs_database_directory.so
262 %{_libdir}/libgnunetafs_database_directory.la
263 %attr(755,root,root) %{_libdir}/libgnunetafs_protocol.so
264 %{_libdir}/libgnunetafs_protocol.la
265 %attr(755,root,root) %{_libdir}/libgnunetchat_protocol.so
266 %{_libdir}/libgnunetchat_protocol.la
267 %attr(755,root,root) %{_libdir}/libgnunetdht_protocol.so
268 %{_libdir}/libgnunetdht_protocol.la
269 %attr(755,root,root) %{_libdir}/libgnunetrpc_protocol.so
270 %{_libdir}/libgnunetrpc_protocol.la
271 %attr(755,root,root) %{_libdir}/libgnunettbench_protocol.so
272 %{_libdir}/libgnunettbench_protocol.la
273 %attr(755,root,root) %{_libdir}/libgnunettestbed_protocol.so
274 %{_libdir}/libgnunettestbed_protocol.la
275 %attr(755,root,root) %{_libdir}/libgnunettracekit_protocol.so
276 %{_libdir}/libgnunettracekit_protocol.la
277 %attr(755,root,root) %{_libdir}/libgnunettransport_http.so
278 %{_libdir}/libgnunettransport_http.la
279 %attr(755,root,root) %{_libdir}/libgnunettransport_nat.so
280 %{_libdir}/libgnunettransport_nat.la
281 %attr(755,root,root) %{_libdir}/libgnunettransport_smtp.so
282 %{_libdir}/libgnunettransport_smtp.la
283 %attr(755,root,root) %{_libdir}/libgnunettransport_tcp.so
284 %{_libdir}/libgnunettransport_tcp.la
285 %attr(755,root,root) %{_libdir}/libgnunettransport_udp.so
286 %{_libdir}/libgnunettransport_udp.la
288 %attr(755,root,root) %{_libdir}/libgnunettransport_tcp6.so
289 %{_libdir}/libgnunettransport_tcp6.la
290 %attr(755,root,root) %{_libdir}/libgnunettransport_udp6.so
291 %{_libdir}/libgnunettransport_udp6.la
294 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnunet.conf
296 %attr(754,root,root) /etc/rc.d/init.d/gnunet
297 %{_mandir}/man1/gnunet-chat.1*
298 %{_mandir}/man1/gnunet-check.1*
299 %{_mandir}/man1/gnunet-convert.1*
300 %{_mandir}/man1/gnunet-delete.1*
301 %{_mandir}/man1/gnunet-directory.1*
302 %{_mandir}/man1/gnunet-download-manager.1*
303 %{_mandir}/man1/gnunet-download.1*
304 %{_mandir}/man1/gnunet-gtk.1*
305 %{_mandir}/man1/gnunet-insert.1*
306 %{_mandir}/man1/gnunet-peer-info.1*
307 %{_mandir}/man1/gnunet-pseudonym.1*
308 %{_mandir}/man1/gnunet-search.1*
309 %{_mandir}/man1/gnunet-stats.1*
310 %{_mandir}/man1/gnunet-tbench.1*
311 %{_mandir}/man1/gnunet-testbed.1*
312 %{_mandir}/man1/gnunet-tracekit.1*
313 %{_mandir}/man1/gnunet-transport-check.1*
314 %{_mandir}/man1/gnunet-update.1*
315 %{_mandir}/man1/gnunetd.1*
316 %{_mandir}/man5/gnunet.conf.5*
317 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}
318 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data
319 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data/afs
320 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data/credit
321 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data/hosts
322 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/state.sdb
324 # these (and *.so for them) should be in -devel or /dev/null
325 #%{_libdir}/libgnunetutil.la
326 #%{_libdir}/libgnunet_afs_esed2.la
327 #%{_libdir}/libgnunetdht_api.la
328 #%{_libdir}/libgnunetdht_datastore_memory.la
329 #%{_libdir}/libgnunetrpc_util.la
332 %defattr(644,root,root,755)
333 %attr(755,root,root) %{_libdir}/libgnunetafs_database_bdb.so
334 %{_libdir}/libgnunetafs_database_bdb.la
337 %defattr(644,root,root,755)
338 %attr(755,root,root) %{_libdir}/libgnunetafs_database_gdbm.so
339 %{_libdir}/libgnunetafs_database_gdbm.la
342 %defattr(644,root,root,755)
343 %attr(755,root,root) %{_libdir}/libgnunetafs_database_mysql.so
344 %{_libdir}/libgnunetafs_database_mysql.la
347 %defattr(644,root,root,755)
348 %attr(755,root,root) %{_libdir}/libgnunetafs_database_tdb.so
349 %{_libdir}/libgnunetafs_database_tdb.la