]> git.pld-linux.org Git - packages/GNUnet.git/blob - GNUnet.spec
- adapterized
[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: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.202
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 co¶
89 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 ######          Unknown group!
118 Requires:       %{name} = %{version}-%{release}
119
120 %description bdb
121 This package contains BerkeleyDB database frontend for GNUnet.
122
123 %description bdb -l pl
124 Pakiet ten zawiera interfejs bazy danych BerkeleyDB dla GNUnet.
125
126 %package gdbm
127 Summary:        GDBM database support for GNUnet
128 Summary(pl):    Obs³uga bazy GDBM dla GNUnet
129 Group:          Applications/Network
130 ######          Unknown group!
131 Requires:       %{name} = %{version}-%{release}
132
133 %description gdbm
134 This package contains GDBM database frontend for GNUnet.
135
136 %description gdbm -l pl
137 Pakiet ten zawiera interfejs bazy danych GDBM dla GNUnet.
138
139 %package mysql
140 Summary:        MySQL database support for GNUnet
141 Summary(pl):    Obs³uga bazy MySQL dla GNUnet
142 Group:          Applications/Network
143 ######          Unknown group!
144 Requires:       %{name} = %{version}-%{release}
145 Requires:       mysql-libs >= 3.23.56
146
147 %description mysql
148 This package contains MySQL database frontend for GNUnet.
149
150 %description mysql -l pl
151 Pakiet ten zawiera interfejs bazy danych MySQL dla GNUnet.
152
153 %package tdb
154 Summary:        TDB database support for GNUnet
155 Summary(pl):    Obs³uga bazy TDB dla GNUnet
156 Group:          Applications/Network
157 ######          Unknown group!
158 Requires:       %{name} = %{version}-%{release}
159
160 %description tdb
161 This package contains TDB database frontend for GNUnet.
162
163 %description tdb -l pl
164 Pakiet ten zawiera interfejs bazy danych TDB dla GNUnet.
165
166 %prep
167 %setup -q
168 %patch0 -p1
169 %{?with_ipv6:%patch1 -p1}
170
171 %build
172 %{__gettextize}
173 %{__libtoolize} --ltdl
174 %{__aclocal} -I m4
175 %{__autoconf}
176 %{__autoheader}
177 %{__automake}
178 %configure \
179         --disable-static \
180         --with-gdbm=/usr \
181         --with-mysql=/usr \
182         --with-tdb=/usr \
183         --with-crypto=/usr \
184         %{?with_ipv6:--enable-ipv6}
185
186 %{__make}
187
188 %install
189 rm -rf $RPM_BUILD_ROOT
190
191 %{__make} install \
192         DESTDIR=$RPM_BUILD_ROOT
193
194 install -d $RPM_BUILD_ROOT/etc/{skel/.gnunet,/rc.d/init.d} \
195         $RPM_BUILD_ROOT%{_gnunethomedir}/{state.sdb,data/{afs,credit,hosts}}
196
197 install contrib/gnunet.root $RPM_BUILD_ROOT%{_sysconfdir}/gnunet.conf
198 install contrib/gnunet.user $RPM_BUILD_ROOT%{_sysconfdir}/skel/.gnunet/gnunet.conf
199 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/gnunet
200
201 # these are normal, dynamically linked libraries - there is no -devel, so *.la not needed
202 rm -f $RPM_BUILD_ROOT%{_libdir}/{libgnunetutil,libgnunet_afs_esed2,libgnunetdht_api}.la \
203         $RPM_BUILD_ROOT%{_libdir}/{libgnunetdht_datastore_memory,libgnunetrpc_util}.la \
204         $RPM_BUILD_ROOT%{_includedir}/*.h
205
206 %find_lang %{name}
207
208 %clean
209 rm -rf $RPM_BUILD_ROOT
210
211 %pre
212 %groupadd -g 115 gnunet
213 %useradd -o -u 115 -d /var/lib/GNUnet -s /bin/sh -g gnunet -c "GNUnet daemon" gnunet
214
215 %post
216 /sbin/ldconfig
217 /sbin/chkconfig --add gnunet
218 if [ -f /var/lock/subsys/gnunet ]; then
219         /etc/rc.d/init.d/gnunet restart >&2
220 else
221         echo "Run \"/etc/rc.d/init.d/gnunet start\" to start GNUnet." >&2
222 fi
223
224 %preun
225 if [ -f /var/lock/subsys/gnunet ]; then
226         /etc/rc.d/init.d/gnunet stop
227 fi
228 /sbin/chkconfig --del gnunet
229
230 %postun
231 /sbin/ldconfig
232 if [ "$1" = "0" ]; then
233         %userremove gnunet
234         %groupremove gnunet
235 fi
236
237 %files -f %{name}.lang
238 %defattr(644,root,root,755)
239 %doc AUTHORS ChangeLog NEWS PLATFORMS README UPDATING
240 %attr(755,root,root) %{_bindir}/gnunet-chat
241 %attr(755,root,root) %{_bindir}/gnunet-check
242 %attr(755,root,root) %{_bindir}/gnunet-convert
243 %attr(755,root,root) %{_bindir}/gnunet-delete
244 %attr(755,root,root) %{_bindir}/gnunet-dht-join
245 %attr(755,root,root) %{_bindir}/gnunet-dht-query
246 %attr(755,root,root) %{_bindir}/gnunet-directory
247 %attr(755,root,root) %{_bindir}/gnunet-download
248 #%attr(755,root,root) %{_bindir}/gnunet-download-manager.scm
249 %attr(755,root,root) %{_bindir}/gnunet-gtk
250 %attr(755,root,root) %{_bindir}/gnunet-insert
251 %attr(755,root,root) %{_bindir}/gnunet-peer-info
252 %attr(755,root,root) %{_bindir}/gnunet-pseudonym
253 %attr(755,root,root) %{_bindir}/gnunet-search
254 %attr(755,root,root) %{_bindir}/gnunet-setup
255 %attr(755,root,root) %{_bindir}/gnunet-stats
256 %attr(755,root,root) %{_bindir}/gnunet-tbench
257 %attr(755,root,root) %{_bindir}/gnunet-testbed
258 %attr(755,root,root) %{_bindir}/gnunet-tracekit
259 %attr(755,root,root) %{_bindir}/gnunet-transport-check
260 %attr(755,root,root) %{_bindir}/gnunet-update
261 %attr(755,root,root) %{_bindir}/gnunetd
262
263 # normal, dynamically linked libraries
264 %attr(755,root,root) %{_libdir}/libgnunet_afs_esed2.so.0.0.0
265 %attr(755,root,root) %{_libdir}/libgnunetdht_api.so.0.0.0
266 %attr(755,root,root) %{_libdir}/libgnunetdht_datastore_memory.so.0.0.0
267 %attr(755,root,root) %{_libdir}/libgnunetrpc_util.so.0.0.0
268 %attr(755,root,root) %{_libdir}/libgnunetutil.so.0.0.0
269
270 # ltdlopened plugins - these must have *.la
271 %attr(755,root,root) %{_libdir}/libgnunetafs_database_directory.so
272 %{_libdir}/libgnunetafs_database_directory.la
273 %attr(755,root,root) %{_libdir}/libgnunetafs_protocol.so
274 %{_libdir}/libgnunetafs_protocol.la
275 %attr(755,root,root) %{_libdir}/libgnunetchat_protocol.so
276 %{_libdir}/libgnunetchat_protocol.la
277 %attr(755,root,root) %{_libdir}/libgnunetdht_protocol.so
278 %{_libdir}/libgnunetdht_protocol.la
279 %attr(755,root,root) %{_libdir}/libgnunetrpc_protocol.so
280 %{_libdir}/libgnunetrpc_protocol.la
281 %attr(755,root,root) %{_libdir}/libgnunettbench_protocol.so
282 %{_libdir}/libgnunettbench_protocol.la
283 %attr(755,root,root) %{_libdir}/libgnunettestbed_protocol.so
284 %{_libdir}/libgnunettestbed_protocol.la
285 %attr(755,root,root) %{_libdir}/libgnunettracekit_protocol.so
286 %{_libdir}/libgnunettracekit_protocol.la
287 %attr(755,root,root) %{_libdir}/libgnunettransport_http.so
288 %{_libdir}/libgnunettransport_http.la
289 %attr(755,root,root) %{_libdir}/libgnunettransport_nat.so
290 %{_libdir}/libgnunettransport_nat.la
291 %attr(755,root,root) %{_libdir}/libgnunettransport_smtp.so
292 %{_libdir}/libgnunettransport_smtp.la
293 %attr(755,root,root) %{_libdir}/libgnunettransport_tcp.so
294 %{_libdir}/libgnunettransport_tcp.la
295 %attr(755,root,root) %{_libdir}/libgnunettransport_udp.so
296 %{_libdir}/libgnunettransport_udp.la
297 %if %{with ipv6}
298 %attr(755,root,root) %{_libdir}/libgnunettransport_tcp6.so
299 %{_libdir}/libgnunettransport_tcp6.la
300 %attr(755,root,root) %{_libdir}/libgnunettransport_udp6.so
301 %{_libdir}/libgnunettransport_udp6.la
302 %endif
303
304 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/gnunet.conf
305 %{_sysconfdir}/skel/.gnunet
306 %attr(754,root,root) /etc/rc.d/init.d/gnunet
307 %{_mandir}/man1/gnunet-chat.1*
308 %{_mandir}/man1/gnunet-check.1*
309 %{_mandir}/man1/gnunet-convert.1*
310 %{_mandir}/man1/gnunet-delete.1*
311 %{_mandir}/man1/gnunet-directory.1*
312 %{_mandir}/man1/gnunet-download-manager.1*
313 %{_mandir}/man1/gnunet-download.1*
314 %{_mandir}/man1/gnunet-gtk.1*
315 %{_mandir}/man1/gnunet-insert.1*
316 %{_mandir}/man1/gnunet-peer-info.1*
317 %{_mandir}/man1/gnunet-pseudonym.1*
318 %{_mandir}/man1/gnunet-search.1*
319 %{_mandir}/man1/gnunet-stats.1*
320 %{_mandir}/man1/gnunet-tbench.1*
321 %{_mandir}/man1/gnunet-testbed.1*
322 %{_mandir}/man1/gnunet-tracekit.1*
323 %{_mandir}/man1/gnunet-transport-check.1*
324 %{_mandir}/man1/gnunet-update.1*
325 %{_mandir}/man1/gnunetd.1*
326 %{_mandir}/man5/gnunet.conf.5*
327 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}
328 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data
329 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data/afs
330 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data/credit
331 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data/hosts
332 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/state.sdb
333
334 # these (and *.so for them) should be in -devel or /dev/null
335 #%{_libdir}/libgnunetutil.la
336 #%{_libdir}/libgnunet_afs_esed2.la
337 #%{_libdir}/libgnunetdht_api.la
338 #%{_libdir}/libgnunetdht_datastore_memory.la
339 #%{_libdir}/libgnunetrpc_util.la
340
341 %files bdb
342 %defattr(644,root,root,755)
343 %attr(755,root,root) %{_libdir}/libgnunetafs_database_bdb.so
344 %{_libdir}/libgnunetafs_database_bdb.la
345
346 %files gdbm
347 %defattr(644,root,root,755)
348 %attr(755,root,root) %{_libdir}/libgnunetafs_database_gdbm.so
349 %{_libdir}/libgnunetafs_database_gdbm.la
350
351 %files mysql
352 %defattr(644,root,root,755)
353 %attr(755,root,root) %{_libdir}/libgnunetafs_database_mysql.so
354 %{_libdir}/libgnunetafs_database_mysql.la
355
356 %files tdb
357 %defattr(644,root,root,755)
358 %attr(755,root,root) %{_libdir}/libgnunetafs_database_tdb.so
359 %{_libdir}/libgnunetafs_database_tdb.la
This page took 0.12498 seconds and 4 git commands to generate.