%define name gnunet %define gnunetuser gnunetd %define gnunethome /var/lib/gnunet %define major 0 %define util_major 2 %define libname %mklibname %name %major %define libutilname %mklibname %{name}util %util_major %define devname %mklibname -d %name %define distsuffix plf Name: %name Version: 0.7.3 Release: %mkrel 1 License: GPLv2+ Summary: Secure and anonymous peer-to-peer file sharing URL: http://gnunet.org/ Source0: http://gnunet.org/download/GNUnet-%{version}.tar.bz2 Source1: gnunetd.conf Source2: init_gnunetd Group: Networking/File transfer BuildRequires: libextractor-devel libxml2-devel libcurl-devel BuildRequires: libgcrypt-devel gawk libgmp-devel libgtk+2.0-devel BuildRequires: libglade2.0-devel gettext-devel sqlite3-devel BuildRequires: mysql-client mysql-devel guile-devel adns-devel BuildRequires: libmicrohttpd-devel libncursesw-devel libltdl-devel Requires: mysql-client Requires: %{libname} = %{version}-%{release} %description GNUnet is a framework for secure peer-to-peer networking that does not use any centralized or otherwise trusted services. A first service implemented on top of the networking layer allows anonymous censorship- resistant file-sharing. GNUnet uses a simple, excess-based economic model to allocate resources. Peers in GNUnet monitor each others behavior with respect to resource usage; peers that contribute to the network are rewarded with better service. This package is in PLF because it contains P2P software. %package -n %libname Summary: Libraries for GNUnet Group: System/Libraries Obsoletes: %{_lib}gnunet2 < 0.7.3-1plf Conflicts: %{_lib}gnunet1 < 0.7.3-1plf %description -n %libname Libraries for GNUnet. %package -n %libutilname Summary: Library for GNUnet Group: System/Libraries Conflicts: %{_lib}gnunet2 < 0.7.3-1plf %description -n %libutilname Library for GNUnet. %package -n %devname Summary: Development files for %{libname} Group: Development/C Provides: %{name}-devel = %{version}-%{release} Requires: %{libname} = %{version}-%{release} Requires: %{libutilname} = %{version}-%{release} %description -n %devname Development files for %{libname}. %prep %setup -q -n GNUnet-%{version} sed -i 's,"lib","%{_lib}",' src/util/os/installpath.c %build %configure --enable-ipv6 # makefile doesn't support running multiple jobs simultaneously %{__make} %install %{__rm} -Rf %{buildroot} %makeinstall %{__mkdir_p} %{buildroot}%{gnunethome} %{__mkdir_p} %{buildroot}%{_sysconfdir} %{__install} -m0644 %{SOURCE1} %{buildroot}%{_sysconfdir}/%{name}d.conf %{__mkdir_p} %{buildroot}%{_initrddir} %{__install} -m0755 %{SOURCE2} %{buildroot}%{_initrddir}/%{name}d %clean rm -rf %{buildroot} %pre %_pre_useradd %gnunetuser %gnunethome /bin/false %post %_post_service %{name}d %preun %_preun_service %{name}d %postun %_postun_userdel %gnunetuser %post -n %libname -p /sbin/ldconfig %postun -n %libname -p /sbin/ldconfig %files %doc AUTHORS ChangeLog NEWS PLATFORMS README README.fr UPDATING %attr(0700, %gnunetuser, %gnunetuser) %dir %gnunethome %config(noreplace) %{_sysconfdir}/%{name}d.conf %config %{_initrddir}/%{name}d %{_bindir}/%{name}* %{_libdir}/GNUnet %{_datadir}/GNUnet %{_datadir}/locale %{_mandir}/man1/%{name}*.1.* %{_mandir}/man5/%{name}*.5.* %files -n %libname %{_libdir}/lib%{name}*.so.%{major}* %files -n %libutilname %{_libdir}/lib%{name}util.so.%{util_major}* %files -n %devname %{_libdir}/lib%{name}*.so %{_libdir}/lib%{name}*.la %{_includedir}/GNUnet %changelog * Wed Apr 02 2008 Anssi Hannula <anssi@zarb.org> 0.7.3-1plf2008.1 - add to PLF - ensure major correctness - do not package COPYING, it is GPLv2+ - provide gnunet-devel - fix library groups - split library package due to different majors - fix plugin loading on lib64 systems - do not use daemonize * Fri Mar 21 2008 Nicolas Vigier <boklm@mars-attacks.org> 0.7.3-1mdv2008.1 - first version