]> git.pld-linux.org Git - packages/GNUnet.git/blob - GNUnet.spec
- updated to 0.6.5, BR, strict internal deps
[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:  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
31 PreReq:         rc-scripts
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
40 Requires:       gdbm
41 Requires:       gtk+ >= 1.2
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)
47
48 %define _gnunethomedir  /var/lib/GNUnet
49
50 %description
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/).
54
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.
61
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
66 configurations.
67
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
71 participants.
72
73 For a more detailed description of GNUnet, see our webpages at:
74
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
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
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.
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
106 http://www.gnu.org/software/GNUnet/ i http://www.ovmj.org/GNUnet/
107
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.
111
112 %package bdb
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}
117
118 %description bdb
119 This package contains BerkeleyDB database frontend for GNUnet.
120
121 %description bdb -l pl
122 Pakiet ten zawiera interfejs bazy danych BerkeleyDB dla GNUnet.
123
124 %package gdbm
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}
129
130 %description gdbm
131 This package contains GDBM database frontend for GNUnet.
132
133 %description gdbm -l pl
134 Pakiet ten zawiera interfejs bazy danych GDBM dla GNUnet.
135
136 %package mysql
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
142
143 %description mysql
144 This package contains MySQL database frontend for GNUnet.
145
146 %description mysql -l pl
147 Pakiet ten zawiera interfejs bazy danych MySQL dla GNUnet.
148
149 %package tdb
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}
154
155 %description tdb
156 This package contains TDB database frontend for GNUnet.
157
158 %description tdb -l pl
159 Pakiet ten zawiera interfejs bazy danych TDB dla GNUnet.
160
161 %prep
162 %setup -q
163 %patch0 -p1
164 %{?with_ipv6:%patch1 -p1}
165
166 %build
167 %{__gettextize}
168 %{__libtoolize} --ltdl
169 %{__aclocal}
170 %{__autoconf}
171 %{__autoheader}
172 %{__automake}
173 %configure \
174         --disable-static \
175         --with-gdbm=/usr \
176         --with-mysql=/usr \
177         --with-tdb=/usr \
178         --with-crypto=/usr \
179         %{?with_ipv6:--enable-ipv6}
180
181 %{__make}
182
183 %install
184 rm -rf $RPM_BUILD_ROOT
185
186 %{__make} install \
187         DESTDIR=$RPM_BUILD_ROOT
188
189 install -d $RPM_BUILD_ROOT/etc/{skel/.gnunet,/rc.d/init.d} \
190         $RPM_BUILD_ROOT%{_gnunethomedir}/{state.sdb,data/{afs,credit,hosts}}
191
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
195
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
200
201 %find_lang %{name}
202
203 %clean
204 rm -rf $RPM_BUILD_ROOT
205
206 %pre
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
210                 exit 1
211         fi
212 else
213         /usr/sbin/groupadd -g 115 gnunet 1>&2
214 fi
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
218                 exit 1
219         fi
220 else
221         /usr/sbin/useradd -o -u 115 -d /var/lib/GNUnet -s /bin/sh -g gnunet \
222                 -c "GNUnet daemon" gnunet 1>&2
223 fi
224
225 %post
226 /sbin/ldconfig
227 /sbin/chkconfig --add gnunet
228 if [ -f /var/lock/subsys/gnunet ]; then
229          /etc/rc.d/init.d/gnunet restart >&2
230 else
231         echo "Run \"/etc/rc.d/init.d/gnunet start\" to start GNUnet." >&2
232 fi
233
234 %preun
235 if [ -f /var/lock/subsys/gnunet ]; then
236         /etc/rc.d/init.d/gnunet stop
237 fi
238 /sbin/chkconfig --del gnunet
239
240 %postun
241 /sbin/ldconfig
242 if [ "$1" = "0" ]; then
243         %userremove gnunet
244         %groupremove gnunet
245 fi
246
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
272
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
279
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
307 %if %{with ipv6}
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
312 %endif
313
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
343
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
350
351 %files bdb
352 %defattr(644,root,root,755)
353 %attr(755,root,root) %{_libdir}/libgnunetafs_database_bdb.so
354 %{_libdir}/libgnunetafs_database_bdb.la
355
356 %files gdbm
357 %defattr(644,root,root,755)
358 %attr(755,root,root) %{_libdir}/libgnunetafs_database_gdbm.so
359 %{_libdir}/libgnunetafs_database_gdbm.la
360
361 %files mysql
362 %defattr(644,root,root,755)
363 %attr(755,root,root) %{_libdir}/libgnunetafs_database_mysql.so
364 %{_libdir}/libgnunetafs_database_mysql.la
365
366 %files tdb
367 %defattr(644,root,root,755)
368 %attr(755,root,root) %{_libdir}/libgnunetafs_database_tdb.so
369 %{_libdir}/libgnunetafs_database_tdb.la
This page took 0.110512 seconds and 4 git commands to generate.