]> git.pld-linux.org Git - packages/GNUnet.git/blob - GNUnet.spec
- updated gettext BR
[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.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
This page took 0.050169 seconds and 3 git commands to generate.