]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # Conditional build: | |
3 | %bcond_without ipv6 # without IPv6 support | |
4 | # | |
5 | Summary: An anonymous distributed secure network | |
6 | Summary(pl.UTF-8): Anonimowa, rozproszona, bezpieczna sieć | |
7 | Name: GNUnet | |
8 | Version: 0.6.5 | |
9 | Release: 0.1 | |
10 | License: GPL | |
11 | Group: Applications/Networking | |
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-tools | |
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 | |
40 | Requires: gdbm | |
41 | Requires: gtk+ >= 1.2 | |
42 | Requires: libextractor >= 0.3.10 | |
43 | Requires: openssl >= 0.9.7d | |
44 | Requires: rc-scripts | |
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 | <http://www.gnu.org/software/GNUnet/> and <http://www.ovmj.org/GNUnet/> | |
76 | ||
77 | Note that this RPM contains only plain directories database frontend; | |
78 | bdb, gdbm, mysql and tdb frontends are in separate subpackages. | |
79 | ||
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/). | |
84 | ||
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. | |
92 | ||
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. | |
98 | ||
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. | |
103 | ||
104 | Bardziej szczegółowy opis GNUnet można znaleźć na stronie: | |
105 | <http://www.gnu.org/software/GNUnet/> i <http://www.ovmj.org/GNUnet/> | |
106 | ||
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. | |
110 | ||
111 | %package bdb | |
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} | |
116 | ||
117 | %description bdb | |
118 | This package contains BerkeleyDB database frontend for GNUnet. | |
119 | ||
120 | %description bdb -l pl.UTF-8 | |
121 | Pakiet ten zawiera interfejs bazy danych BerkeleyDB dla GNUnet. | |
122 | ||
123 | %package gdbm | |
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} | |
128 | ||
129 | %description gdbm | |
130 | This package contains GDBM database frontend for GNUnet. | |
131 | ||
132 | %description gdbm -l pl.UTF-8 | |
133 | Pakiet ten zawiera interfejs bazy danych GDBM dla GNUnet. | |
134 | ||
135 | %package mysql | |
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 | |
141 | ||
142 | %description mysql | |
143 | This package contains MySQL database frontend for GNUnet. | |
144 | ||
145 | %description mysql -l pl.UTF-8 | |
146 | Pakiet ten zawiera interfejs bazy danych MySQL dla GNUnet. | |
147 | ||
148 | %package tdb | |
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} | |
153 | ||
154 | %description tdb | |
155 | This package contains TDB database frontend for GNUnet. | |
156 | ||
157 | %description tdb -l pl.UTF-8 | |
158 | Pakiet ten zawiera interfejs bazy danych TDB dla GNUnet. | |
159 | ||
160 | %prep | |
161 | %setup -q | |
162 | %patch0 -p1 | |
163 | %{?with_ipv6:%patch1 -p1} | |
164 | ||
165 | %build | |
166 | %{__gettextize} | |
167 | %{__libtoolize} --ltdl | |
168 | %{__aclocal} -I m4 | |
169 | %{__autoconf} | |
170 | %{__autoheader} | |
171 | %{__automake} | |
172 | %configure \ | |
173 | --disable-static \ | |
174 | --with-gdbm=/usr \ | |
175 | --with-mysql=/usr \ | |
176 | --with-tdb=/usr \ | |
177 | --with-crypto=/usr \ | |
178 | %{?with_ipv6:--enable-ipv6} | |
179 | ||
180 | %{__make} | |
181 | ||
182 | %install | |
183 | rm -rf $RPM_BUILD_ROOT | |
184 | ||
185 | %{__make} install \ | |
186 | DESTDIR=$RPM_BUILD_ROOT | |
187 | ||
188 | install -d $RPM_BUILD_ROOT/etc/{skel/.gnunet,/rc.d/init.d} \ | |
189 | $RPM_BUILD_ROOT%{_gnunethomedir}/{state.sdb,data/{afs,credit,hosts}} | |
190 | ||
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 | |
194 | ||
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 | |
199 | ||
200 | %find_lang %{name} | |
201 | ||
202 | %clean | |
203 | rm -rf $RPM_BUILD_ROOT | |
204 | ||
205 | %pre | |
206 | %groupadd -g 115 gnunet | |
207 | %useradd -o -u 115 -d /var/lib/GNUnet -s /bin/sh -g gnunet -c "GNUnet daemon" gnunet | |
208 | ||
209 | %post | |
210 | /sbin/ldconfig | |
211 | /sbin/chkconfig --add gnunet | |
212 | %service gnunet restart "GNUnet" | |
213 | ||
214 | %preun | |
215 | if [ "$1" = 0 ]; then | |
216 | %service gnunet stop | |
217 | /sbin/chkconfig --del gnunet | |
218 | fi | |
219 | ||
220 | %postun | |
221 | /sbin/ldconfig | |
222 | if [ "$1" = "0" ]; then | |
223 | %userremove gnunet | |
224 | %groupremove gnunet | |
225 | fi | |
226 | ||
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 | |
252 | ||
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 | |
259 | ||
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 | |
287 | %if %{with ipv6} | |
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 | |
292 | %endif | |
293 | ||
294 | %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnunet.conf | |
295 | /etc/skel/.gnunet | |
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 | |
323 | ||
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 | |
330 | ||
331 | %files bdb | |
332 | %defattr(644,root,root,755) | |
333 | %attr(755,root,root) %{_libdir}/libgnunetafs_database_bdb.so | |
334 | %{_libdir}/libgnunetafs_database_bdb.la | |
335 | ||
336 | %files gdbm | |
337 | %defattr(644,root,root,755) | |
338 | %attr(755,root,root) %{_libdir}/libgnunetafs_database_gdbm.so | |
339 | %{_libdir}/libgnunetafs_database_gdbm.la | |
340 | ||
341 | %files mysql | |
342 | %defattr(644,root,root,755) | |
343 | %attr(755,root,root) %{_libdir}/libgnunetafs_database_mysql.so | |
344 | %{_libdir}/libgnunetafs_database_mysql.la | |
345 | ||
346 | %files tdb | |
347 | %defattr(644,root,root,755) | |
348 | %attr(755,root,root) %{_libdir}/libgnunetafs_database_tdb.so | |
349 | %{_libdir}/libgnunetafs_database_tdb.la |