]> git.pld-linux.org Git - packages/GNUnet.git/blob - GNUnet.spec
- %%userremove/%%groupremove support, some unification
[packages/GNUnet.git] / GNUnet.spec
1 Summary:        An anonymous distributed secure network
2 Summary(pl):    Anonimowa, rozproszona, bezpieczna sieæ
3 Name:           GNUnet
4 Version:        0.6.2a
5 Release:        0.1
6 Group:          Applications/Networking
7 License:        GPL
8 Source0:        http://www.ovmj.org/GNUnet/download/%{name}-%{version}.tar.bz2
9 # Source0-md5:  5b318dc50ca3f410ec7ef4cea0cc3c96
10 Source1:        gnunet.init
11 Patch0:         %{name}-nolibs.patch
12 URL:            http://www.gnu.org/software/GNUnet/
13 BuildRequires:  autoconf >= 2.57
14 BuildRequires:  automake
15 BuildRequires:  db-devel
16 BuildRequires:  gdbm-devel
17 BuildRequires:  gtk+-devel >= 1.2
18 BuildRequires:  libextractor-devel >= 0.2.6
19 BuildRequires:  libltdl-devel
20 BuildRequires:  libtool >= 1:1.4.2-9
21 BuildRequires:  mysql-devel >= 3.23.56
22 BuildRequires:  openssl-devel >= 0.9.7d
23 BuildRequires:  rpmbuild(macros) >= 1.159
24 BuildRequires:  tdb-devel
25 PreReq:         rc-scripts
26 Requires(pre):  /bin/id
27 Requires(pre):  /usr/bin/getgid
28 Requires(pre):  /usr/sbin/groupadd
29 Requires(pre):  /usr/sbin/useradd
30 Requires(postun):       /usr/sbin/groupdel
31 Requires(postun):       /usr/sbin/userdel
32 Requires(post,postun):  /sbin/ldconfig
33 Requires(post,preun):   /sbin/chkconfig
34 Requires:       gdbm
35 Requires:       gtk+ >= 1.2
36 Requires:       libextractor >= 0.2.3
37 Requires:       openssl >= 0.9.5
38 Provides:       group(gnunet)
39 Provides:       user(gnunet)
40 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
41
42 %define _gnunethomedir  /var/lib/GNUnet
43
44 %description
45 GNUnet is framework for secure peer-to-peer networking. The primary
46 application for GNUnet is anonymous file-sharing. GNUnet is part of
47 the GNU project (http://www.gnu.org/).
48
49 While GNUnet file-sharing provides anonymity for its users, it also
50 provides accounting to perform better resource allocation.
51 Contributing users are rewarded with better service. Peers monitor the
52 behavior of other peers and allocate resources for peers that are
53 economically trusted. The content encoding makes it hard for peers to
54 circumvent the reward system.
55
56 GNUnet supports multiple transport protocols, currently UDP, TCP and
57 SMTP. The framework automatically chooses a cheap transport that is
58 currently available by both peers for any given link. It is possible
59 to run GNUnet peers behind NAT boxes and almost all firewall
60 configurations.
61
62 This is a beta version. The important features have been implemented
63 and tested. The security features are in place, but note that
64 anonymity may be limited due to the small number of active
65 participants.
66
67 For a more detailed description of GNUnet, see our webpages at:
68
69 http://www.gnu.org/software/GNUnet/ and http://www.ovmj.org/GNUnet/
70
71 Note that this RPM contains only plain directories database frontend;
72 bdb, gdbm, mysql and tdb frontends are in separate subpackages.
73
74 %description -l pl
75 GNUnet stanowi szkielet bezpiecznej sieci typu peer-to-peer.
76 Podstawow± aplikacj± GNUnet jest anonimowe wspó³dzielenie plików.
77 GNUnet stanowi czê¶æ projektu GNU (http://www.gnu.org/).
78
79 Podczas gdy wspó³dzielenie plików za pomoc± GNUnet zapewnia
80 u¿ytkownikom anonimowo¶æ, umo¿liwia ono równie¿ ewidencjonowanie dla
81 zapewnienia lepszego gospodarowania zasobami. U¿ytkownicy wnosz±cy
82 co¶ s± nagradzani lepsz± jako¶ci± us³ugi. Ka¿dy z równorzêdnych
83 u¿ytkowników monitoruje zachowanie pozosta³ych i przydziela zasoby
84 u¿ytkownikom, którzy s± ekonomicznie wiarygodni. Kodowanie tre¶ci
85 czyni system nagród trudnym do przechytrzenia.
86
87 GNUnet wspiera wiele protoko³ów transportowych, aktualnie: UDP, TCP i
88 SMTP. Szkielet automatycznie wybiera tani± metodê transportu dostêpn±
89 w danej chwili dla obu u¿ytkowników przy dowolnym po³±czeniu. GNUnet
90 mo¿e dzia³aæ pomiêdzy dwiema maszynami znajduj±cymi siê za NAT i z
91 prawie wszystkimi konfiguracjami firewalli.
92
93 Jest to wersja beta. Najwa¿niejsze funkcje zosta³y zaimplementowane i
94 przetestowane. Funkcje zapewniaj±ce bezpieczeñstwo s± na swoim
95 miejscu, lecz nale¿y zauwa¿yæ, ¿e anonimowo¶æ mo¿e byæ ograniczona ze
96 wzglêdu na ma³± liczbê aktywnych uczestników.
97
98 Bardziej szczegó³owy opis GNUnet mo¿na znale¼æ na stronie:
99
100 http://www.gnu.org/software/GNUnet/ i http://www.ovmj.org/GNUnet/
101
102 Nale¿y te¿ zauwa¿yæ, ¿e ten pakiet zawiera tylko interfejs bazodanowy
103 dla zwyk³ych katalogów; wtyczki obs³uguj±ce bazy bdb, gdbm, mysql i
104 tdb znajduj± siê w osobnych podpakietach.
105
106 %package bdb
107 Summary:        BerkeleyDB database support for GNUnet
108 Summary(pl):    Obs³uga bazy BerkeleyDB dla GNUnet
109 Group:          Applications/Network
110 Requires:       %{name} = %{version}
111
112 %description bdb
113 This package contains BerkeleyDB database frontend for GNUnet.
114
115 %description bdb -l pl
116 Pakiet ten zawiera interfejs bazy danych BerkeleyDB dla GNUnet.
117
118 %package gdbm
119 Summary:        GDBM database support for GNUnet
120 Summary(pl):    Obs³uga bazy GDBM dla GNUnet
121 Group:          Applications/Network
122 Requires:       %{name} = %{version}
123
124 %description gdbm
125 This package contains GDBM database frontend for GNUnet.
126
127 %description gdbm -l pl
128 Pakiet ten zawiera interfejs bazy danych GDBM dla GNUnet.
129
130 %package mysql
131 Summary:        MySQL database support for GNUnet
132 Summary(pl):    Obs³uga bazy MySQL dla GNUnet
133 Group:          Applications/Network
134 Requires:       %{name} = %{version}
135 Requires:       mysql-libs >= 3.23.56
136
137 %description mysql
138 This package contains MySQL database frontend for GNUnet.
139
140 %description mysql -l pl
141 Pakiet ten zawiera interfejs bazy danych MySQL dla GNUnet.
142
143 %package tdb
144 Summary:        TDB database support for GNUnet
145 Summary(pl):    Obs³uga bazy TDB dla GNUnet
146 Group:          Applications/Network
147 Requires:       %{name} = %{version}
148
149 %description tdb
150 This package contains TDB database frontend for GNUnet.
151
152 %description tdb -l pl
153 Pakiet ten zawiera interfejs bazy danych TDB dla GNUnet.
154
155 %prep
156 %setup -q
157 %patch0 -p1
158
159 %build
160 %{__libtoolize}
161 %{__aclocal}
162 %{__autoconf}
163 %{__autoheader}
164 %{__automake}
165 %configure \
166         --disable-static \
167         --with-gdbm=/usr \
168         --with-mysql=/usr \
169         --with-tdb=/usr \
170         --with-crypto=/usr \
171         --enable-ipv6
172
173 %{__make}
174
175 %install
176 rm -rf $RPM_BUILD_ROOT
177
178 %{__make} install \
179         DESTDIR=$RPM_BUILD_ROOT
180
181 install -d $RPM_BUILD_ROOT/etc/{skel/.gnunet,/rc.d/init.d} \
182         $RPM_BUILD_ROOT%{_gnunethomedir}/{state.sdb,data/{afs,credit,hosts}}
183
184 install contrib/gnunet.root $RPM_BUILD_ROOT%{_sysconfdir}/gnunet.conf
185 install contrib/gnunet.user $RPM_BUILD_ROOT%{_sysconfdir}/skel/.gnunet/gnunet.conf
186 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/gnunet
187
188 # these are normal, dynamically linked libraries - there is no -devel, so *.la not needed
189 rm -f $RPM_BUILD_ROOT%{_libdir}/{libgnunetutil,libgnunet_afs_esed2}.la
190
191 %clean
192 rm -rf $RPM_BUILD_ROOT
193
194 %pre
195 if [ -n "`/usr/bin/getgid gnunet`" ]; then
196         if [ "`/usr/bin/getgid gnunet`" != 115 ]; then
197                 echo "Error: group gnunet doesn't have gid=115. Correct this before installing GNUnet." 1>&2
198                 exit 1
199         fi
200 else
201         /usr/sbin/groupadd -g 115 gnunet 1>&2
202 fi
203 if [ -n "`/bin/id -u gnunet 2>/dev/null`" ]; then
204         if [ "`/bin/id -u gnunet`" != 115 ]; then
205                 echo "Error: user gnunet doesn't have uid=115. Correct this before installing GNUnet." 1>&2
206                 exit 1
207         fi
208 else
209         /usr/sbin/useradd -o -u 115 -d /var/lib/GNUnet -s /bin/sh -g gnunet \
210                 -c "GNUnet daemon" gnunet 1>&2
211 fi
212
213 %post
214 /sbin/ldconfig
215 /sbin/chkconfig --add gnunet
216 if [ -f /var/lock/subsys/gnunet ]; then
217          /etc/rc.d/init.d/gnunet restart >&2
218 else
219         echo "Run \"/etc/rc.d/init.d/gnunet start\" to start GNUnet." >&2
220 fi
221
222
223 %preun
224 if [ -f /var/lock/subsys/gnunet ]; then
225         /etc/rc.d/init.d/gnunet stop
226 fi
227 /sbin/chkconfig --del gnunet
228
229 %postun
230 /sbin/ldconfig
231 if [ "$1" = "0" ]; then
232         %userremove gnunet
233         %groupremove gnunet
234 fi
235
236 %files
237 %defattr(644,root,root,755)
238 %doc AUTHORS ChangeLog NEWS PLATFORMS README UPDATING
239 %attr(755,root,root) %{_bindir}/gnunetd
240 %attr(755,root,root) %{_bindir}/gnunet-insert
241 %attr(755,root,root) %{_bindir}/gnunet-search
242 %attr(755,root,root) %{_bindir}/gnunet-download
243 %attr(755,root,root) %{_bindir}/gnunet-gtk
244 %attr(755,root,root) %{_bindir}/gnunet-chat
245 %attr(755,root,root) %{_bindir}/gnunet-delete
246 %attr(755,root,root) %{_bindir}/gnunet-stats
247 %attr(755,root,root) %{_bindir}/gnunet-check
248 %attr(755,root,root) %{_bindir}/gnunet-convert
249 %attr(755,root,root) %{_bindir}/gnunet-transport-check
250 %attr(755,root,root) %{_bindir}/gnunet-tbench
251 %attr(755,root,root) %{_bindir}/gnunet-peer-info
252 %attr(755,root,root) %{_bindir}/gnunet-tracekit
253 %attr(755,root,root) %{_bindir}/gnunet-directory
254 %attr(755,root,root) %{_bindir}/gnunet-pseudonym
255 %attr(755,root,root) %{_bindir}/gnunet-setup
256 %attr(755,root,root) %{_bindir}/gnunet-testbed
257
258 # normal, dynamically linked libraries
259 %attr(755,root,root) %{_libdir}/libgnunetutil.so.0.0.0
260 %attr(755,root,root) %{_libdir}/libgnunet_afs_esed2.so.0.0.0
261
262 # ltdlopened plugins - these must have *.la
263 %attr(755,root,root) %{_libdir}/libgnunetafs_database_directory.so
264 %{_libdir}/libgnunetafs_database_directory.la
265 %attr(755,root,root) %{_libdir}/libgnunetafs_protocol.so
266 %{_libdir}/libgnunetafs_protocol.la
267 %attr(755,root,root) %{_libdir}/libgnunettestbed_protocol.so
268 %{_libdir}/libgnunettestbed_protocol.la
269 %attr(755,root,root) %{_libdir}/libgnunettransport_nat.so
270 %{_libdir}/libgnunettransport_nat.la
271 %attr(755,root,root) %{_libdir}/libgnunetchat_protocol.so
272 %{_libdir}/libgnunetchat_protocol.la
273 %attr(755,root,root) %{_libdir}/libgnunettbench_protocol.so
274 %{_libdir}/libgnunettbench_protocol.la
275 %attr(755,root,root) %{_libdir}/libgnunettracekit_protocol.so
276 %{_libdir}/libgnunettracekit_protocol.la
277 %attr(755,root,root) %{_libdir}/libgnunettransport_smtp.so
278 %{_libdir}/libgnunettransport_smtp.la
279 %attr(755,root,root) %{_libdir}/libgnunettransport_http.so
280 %{_libdir}/libgnunettransport_http.la
281 %attr(755,root,root) %{_libdir}/libgnunettransport_tcp.so
282 %{_libdir}/libgnunettransport_tcp.la
283 %attr(755,root,root) %{_libdir}/libgnunettransport_tcp6.so
284 %{_libdir}/libgnunettransport_tcp6.la
285 %attr(755,root,root) %{_libdir}/libgnunettransport_udp.so
286 %{_libdir}/libgnunettransport_udp.la
287 %attr(755,root,root) %{_libdir}/libgnunettransport_udp6.so
288 %{_libdir}/libgnunettransport_udp6.la
289
290 %attr(640,root,root) %config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/gnunet.conf
291 %{_sysconfdir}/skel/.gnunet
292 %attr(754,root,root) /etc/rc.d/init.d/gnunet
293 %{_mandir}/man1/gnunetd.1*
294 %{_mandir}/man1/gnunet-convert.1*
295 %{_mandir}/man1/gnunet-gtk.1*
296 %{_mandir}/man1/gnunet-download.1*
297 %{_mandir}/man1/gnunet-delete.1*
298 %{_mandir}/man1/gnunet-insert.1*
299 %{_mandir}/man1/gnunet-search.1*
300 %{_mandir}/man1/gnunet-check.1*
301 %{_mandir}/man1/gnunet-transport-check.1*
302 %{_mandir}/man1/gnunet-chat.1*
303 %{_mandir}/man1/gnunet-tbench.1*
304 %{_mandir}/man1/gnunet-tracekit.1*
305 %{_mandir}/man1/gnunet-stats.1*
306 %{_mandir}/man1/gnunet-peer-info.1*
307 %{_mandir}/man1/gnunet-directory.1*
308 %{_mandir}/man1/gnunet-pseudonym.1*
309 %{_mandir}/man1/gnunet-testbed.1*
310 %{_mandir}/man5/gnunet.conf.5*
311 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}
312 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data
313 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data/afs
314 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data/credit
315 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/data/hosts
316 %attr(2770,gnunet,gnunet) %dir %{_gnunethomedir}/state.sdb
317
318 # these (and *.so for them) should be in -devel or /dev/null
319 #%{_libdir}/libgnunetutil.la
320 #%{_libdir}/libgnunet_afs_esed2.la
321
322 %files bdb
323 %defattr(644,root,root,755)
324 %attr(755,root,root) %{_libdir}/libgnunetafs_database_bdb.so
325 %{_libdir}/libgnunetafs_database_bdb.la
326
327 %files gdbm
328 %defattr(644,root,root,755)
329 %attr(755,root,root) %{_libdir}/libgnunetafs_database_gdbm.so
330 %{_libdir}/libgnunetafs_database_gdbm.la
331
332 %files mysql
333 %defattr(644,root,root,755)
334 %attr(755,root,root) %{_libdir}/libgnunetafs_database_mysql.so
335 %{_libdir}/libgnunetafs_database_mysql.la
336
337 %files tdb
338 %defattr(644,root,root,755)
339 %attr(755,root,root) %{_libdir}/libgnunetafs_database_tdb.so
340 %{_libdir}/libgnunetafs_database_tdb.la
This page took 0.049 seconds and 4 git commands to generate.