Name: mldonkey Version: 3.1.3 Release: 3%{?dist} Summary: Multiple P2P Network Client License: GPLv2+ URL: http://mldonkey.sourceforge.net Source0: http://downloads.sourceforge.net/project/%{name}/%{name}/%{version}/%{name}-%{version}.tar.bz2 Source1: mldonkey.logrotate Source2: mldonkey.service Source3: mldonkey.tmpfiles.conf BuildRequires: bzip2-devel BuildRequires: desktop-file-utils BuildRequires: file-devel BuildRequires: gtk2-devel BuildRequires: librsvg2-devel #BuildRequires: miniupnpc-devel GD BuildRequires: ncurses-devel BuildRequires: ocaml BuildRequires: ocaml-camlp4-devel BuildRequires: ocaml-lablgtk-devel BuildRequires: systemd BuildRequires: zlib-devel ExcludeArch: sparc64 s390 s390x Requires: logrotate # for kill_mldonkey Requires: perl(LWP::UserAgent) # for mldonkey_command Requires: nc %description MLDonkey is a door to the 'donkey' network, a decentralized network used to exchange big files on the Internet. It is written in a wonderful language, called Objective-Caml, and present most features of the basic Windows donkey client, plus some more: - It should work on most UNIX-compatible platforms. - You can remotely command your client, either by telnet (port 4000), by a WEB browser (http://localhost:4080), or with a classical client interface (see http://www.nongnu.org/mldonkey) - You can connect to several servers, and each search will query all the connected servers. - You can select mp3s by bitrates in queries (useful ?). - You can select the name of a downloaded file before moving it to your incoming directory. - You can have several queries in the graphical user interface at the same time. - You can remember your old queries results in the command-line interface. - You can search in the history of all files you have seen on the network. Several different file-sharing networks supported: - ED2K (and Kademlia and Overnet) - BitTorrent - DC++ - (FastTrack, SoulSeek, Gnutella and G2 need work) %package gui Summary: Graphical frontend for mldonkey based on GTK2 Requires: hicolor-icon-theme # TODO requirement for mldonkey_previewer # Requires: mplayer %description gui The GTK interface for mldonkey provides a convenient way of managing all mldonkey operations. It gives details about conected servers, downloaded files, friends and lets one search for files in a pleasing way. %package server Summary: Enables mldonkey as a system daemon Requires: %{name}%{?_isa} = %{version}-%{release} Requires(pre): shadow-utils Requires(post): systemd Requires(preun): systemd Requires(postun): systemd %description server Contains init and configs to launch mldonkey as a service. NOTE: by default incoming dir is located in %{_localstatedir}/lib/mldonkey/incoming and temp dir in %{_localstatedir}/lib/cache/mldonkey. Mlondkey is launched with the mldonkey user (created after installation). NOTE: If you are using a password for your mldonkey, you need to specify it in your %{_sysconfdir}/sysconfig/mldonkey, because mldonkey now stores it encrypted. %package -n konqueror-mldonkey-ed2k-support Summary: Easy way to download a ed2k-link from Konqueror Requires: perl(LWP::UserAgent) Requires: kde-filesystem %description -n konqueror-mldonkey-ed2k-support This package contains tool which gives you an easy way to add an ed2k-link (like ed2k://|file|filename.exe|21352658|72b0b287cab7d875ccc1d89ebe910b9g|) with a single click to your mldonkey download queue. You need to edit %{_sysconfdir}/sysconfig/mldonkey_submit %prep %setup -q # Let's make rpmlint happy sed -i 's|\r||g' distrib/ed2k_submit/README.MLdonkeySubmit sed -i 's|\r||g' docs/slavanap.txt iconv -f iso8859-1 -t UTF-8 docs/gnutella.txt > docs/gnutella.utf8 && mv docs/gnutella.{utf8,txt} iconv -f iso8859-1 -t UTF-8 distrib/Authors.txt > distrib/Authors.utf8 && mv distrib/Authors.{utf8,txt} chmod 644 src/utils/lib/fst_hash.c chmod 644 src/networks/fasttrack/fst_crypt_ml.c %build ./configure --sysconfdir=%{_sysconfdir}/mldonkey \ --sharedstatedir=%{_localstatedir}/lib/mldonkey \ --localstatedir=%{_localstatedir}/mldonkey \ --prefix=%{_prefix} \ --disable-rpath \ --enable-pthread \ --enable-ocamlver=%(rpm -q --qf '%%{version}' ocaml) \ --enable-gui=newgui2 \ --disable-gd \ --enable-checks # --enable-upnp-natpmp without libnatpmp make depend make %{?_smp_mflags} make utils %{?_smp_mflags} perl -pi -e 's|/etc/sysconfig/mldonkey|/etc/sysconfig/mldonkey_submit|' distrib/ed2k_submit/mldonkey_submit %install DONT_GPRINTIFY=1 export DONT_GPRINTIFY make install DESTDIR=%{buildroot} # core install -d -m 755 %{buildroot}%{_bindir} install -d -m 755 %{buildroot}%{_libdir}/mldonkey install -p -m 755 distrib/mldonkey_command %{buildroot}%{_bindir}/mldonkey_command install -p -m 755 distrib/kill_mldonkey %{buildroot}%{_bindir}/kill_mldonkey # utils for util in copysources mld_hash get_range svg_converter subconv; do install -p -m 755 $util %{buildroot}%{_bindir}/$util ; done # in order to avoid conflicts with rb_libtorrent (see bz# 484885, 484884) install -p -m 755 make_torrent %{buildroot}%{_bindir}/mldonkey_make_torrent # gui install -p -m 755 mlguistarter %{buildroot}%{_bindir}/mlguistarter # install preview utility install -p -m 755 distrib/mldonkey_previewer %{buildroot}%{_bindir}/mldonkey_previewer # menu and pixmaps install packages/rpm/mldonkey-icon-16.png -D -m 644 %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/mldonkey.png install packages/rpm/mldonkey-icon-32.png -D -m 644 %{buildroot}%{_datadir}/icons/hicolor/32x32/apps/mldonkey.png install packages/rpm/mldonkey-icon-48.png -D -m 644 %{buildroot}%{_datadir}/icons/hicolor/48x48/apps/mldonkey.png install -d -m 755 %{buildroot}%{_datadir}/pixmaps ln -s ../icons/hicolor/48x48/apps/mldonkey.png %{buildroot}%{_datadir}/pixmaps/mldonkey.png desktop-file-install --dir %{buildroot}%{_datadir}/applications distrib/%{name}.desktop # create directory for storing log-file install -d -m 755 %{buildroot}%{_localstatedir}/log/mldonkey # install logrotate script for /var/log/mldonkey/mldonkey.log install -pDm644 %{S:1} %{buildroot}%{_sysconfdir}/logrotate.d/mldonkey sed -i 's,/var,%{_localstatedir},g' %{buildroot}%{_sysconfdir}/logrotate.d/mldonkey install -pDm644 %{S:2} %{buildroot}%{_unitdir}/mldonkey.service # Install tmpfiles.d entry install -D -m 644 %{S:3} %{buildroot}%{_tmpfilesdir}/%{name}.conf # Create necessary directories for server install -d -m 755 %{buildroot}%{_localstatedir}/cache/mldonkey install -d -m 755 %{buildroot}%{_localstatedir}/lib/%{name}/incoming install -d -m 755 %{buildroot}%{_localstatedir}/run/%{name} # create downloads.ini echo -e \ "temp_directory = \"%{_localstatedir}/cache/mldonkey\"\n"\ "incoming_directory = \"%{_localstatedir}/lib/%{name}/incoming\"\n"\ "mldonkey_gui = \"%{_bindir}/mlgui\"\n"\ "mldonkey_bin = \"%{_bindir}/mldonkey\"\n"\ "log_file = \"%{_localstatedir}/log/mldonkey/mldonkey.log\"\n"\ > %{buildroot}%{_localstatedir}/lib/%{name}/downloads.ini # ed2k for konqueror support mkdir -p %{_sysconfdir}/sysconfig install -pm 755 distrib/ed2k_submit/mldonkey_submit %{buildroot}%{_bindir}/mldonkey_submit install -pDm 644 distrib/ed2k_submit/mldonkey %{buildroot}%{_sysconfdir}/sysconfig/mldonkey_submit sed -i 's,myusername,,;s,mypassword,,' %{buildroot}%{_sysconfdir}/sysconfig/mldonkey_submit install -pDm644 distrib/ed2k_submit/ed2k.protocol %{buildroot}%{_datadir}/services/ed2k.protocol %pre server getent group %{name} >/dev/null || groupadd -r %{name} getent passwd %{name} >/dev/null || \ useradd -r -g %{name} -d %{_localstatedir}/lib/%{name} -s /bin/bash \ -c "MLDonkey server" %{name} %post gui touch --no-create %{_datadir}/icons/hicolor &>/dev/null || : %post server %systemd_post %{S:2} %postun gui if [ $1 -eq 0 ] ; then touch --no-create %{_datadir}/icons/hicolor &>/dev/null gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : fi %posttrans gui gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || : %preun server %systemd_preun %{S:2} %postun server %systemd_postun_with_restart %{S:2} %triggerun -- mldonkey-server < 3.0.3-5 # Save the current service runlevel info # User must manually run systemd-sysv-convert --apply httpd # to migrate them to systemd targets /usr/bin/systemd-sysv-convert --save mldonkey >/dev/null 2>&1 ||: # Run these because the SysV package being removed won't do them /sbin/chkconfig --del mldonkey >/dev/null 2>&1 || : /bin/systemctl try-restart mldonkey.service >/dev/null 2>&1 || : %files %doc Copying.txt distrib/Authors.txt distrib/Bugs.txt distrib/ChangeLog distrib/Developers.txt %doc docs %{_bindir}/copysources %{_bindir}/get_range %{_bindir}/kill_mldonkey %{_bindir}/mldonkey_make_torrent %{_bindir}/mlbt %{_bindir}/mld_hash %{_bindir}/mldc %{_bindir}/mlnet %{_bindir}/mldonkey_command %{_bindir}/mldonkey %{_bindir}/mlgnut %{_bindir}/mlslsk %{_bindir}/subconv %{_bindir}/svg_converter %files gui %doc Copying.txt distrib/Authors.txt distrib/Bugs.txt distrib/ChangeLog distrib/Developers.txt %{_bindir}/mlbt+gui %{_bindir}/mldc+gui %{_bindir}/mldonkey+gui %{_bindir}/mldonkey_gui %{_bindir}/mldonkey_previewer %{_bindir}/mlgnut+gui %{_bindir}/mlgui %{_bindir}/mlguistarter %{_bindir}/mlnet+gui %{_bindir}/mlslsk+gui %{_datadir}/applications/*.desktop %{_datadir}/icons/hicolor/*x*/apps/%{name}.png %{_datadir}/pixmaps/mldonkey.png %files server %doc Copying.txt %config(noreplace) %{_sysconfdir}/logrotate.d/mldonkey %{_unitdir}/mldonkey.service %{_tmpfilesdir}/%{name}.conf %attr(750,mldonkey,mldonkey) %dir %{_localstatedir}/log/mldonkey %attr(750,mldonkey,mldonkey) %dir %{_localstatedir}/cache/mldonkey %attr(750,mldonkey,mldonkey) %dir %{_localstatedir}/lib/mldonkey %ghost %attr(755,mldonkey,mldonkey) %dir %{_localstatedir}/run/mldonkey %attr(770,mldonkey,mldonkey) %dir %{_localstatedir}/lib/mldonkey/incoming %config(noreplace) %{_localstatedir}/lib/mldonkey/downloads.ini %files -n konqueror-mldonkey-ed2k-support %doc Copying.txt distrib/ed2k_submit/README.MLdonkeySubmit %config(noreplace) %{_sysconfdir}/sysconfig/mldonkey_submit %{_bindir}/mldonkey_submit %{_datadir}/services/ed2k.protocol # Prepare to enable UPnP support. %changelog * Fri Sep 06 2013 Peter Lemenkov - 3.1.3-3 - Marked directory in tmpfs as ghost * Fri Sep 06 2013 Peter Lemenkov - 3.1.3-2 - Add tmpfiles.d entry - Restore optional support for sysconfig files * Sat Aug 10 2013 Christopher Meng - 3.1.3-1 - Major upgrade. - SPEC cleanup(systemd macro, obsoleted tags) * Wed Jul 17 2013 Petr Pisar - 3.0.3-9 - Perl 5.18 rebuild * Thu Feb 14 2013 Toshio Kuratomi - 3.0.3-8 - Stop using --vendor with F19+ .desktop files * Thu Feb 14 2013 Fedora Release Engineering - 3.0.3-7 - Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild * Fri Jul 20 2012 Fedora Release Engineering - 3.0.3-6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild * Wed Feb 15 2012 Jon Ciesla - 3.0.3-5 - Migrate to systemd, BZ 789784. - gcc47 patch. * Fri Jan 13 2012 Fedora Release Engineering - 3.0.3-4 - Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild * Tue Dec 06 2011 Adam Jackson - 3.0.3-3 - Rebuild for new libpng * Tue Feb 08 2011 Fedora Release Engineering - 3.0.3-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild * Fri Aug 13 2010 Peter Lemenkov 3.0.3-1 - Ver. 3.0.3 - Fixed rhbz #616128 - Fixed rhbz #589261 (forced log to syslog) * Thu Aug 12 2010 Peter Lemenkov 3.0.2-2 - Fixed rhbz #623627 * Fri Jun 11 2010 Peter Lemenkov 3.0.2-1 - Ver. 3.0.2 * Mon Mar 15 2010 Peter Lemenkov 3.0.1-2 - Disable probing for GUI libraries in EPEL - Fixed DSO linking with newest GCC * Tue Jan 26 2010 Peter Lemenkov 3.0.1-1 - Ver. 3.0.1 - Greatly changed init-script - Disabled GUI for EPEL * Tue Sep 22 2009 Dennis Gilmore - 3.0.0-3 - ExlcudeArch sparc64 s390 s390x since they dont have ocaml * Sat Jul 25 2009 Fedora Release Engineering - 3.0.0-2 - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild * Sat Mar 14 2009 Peter Lemenkov 3.0.0-1 - Ver. 3.0.0 - Dropped patch1 * Thu Feb 26 2009 Richard W.M. Jones - 2.9.7-4 - Fix remote arbitrary file disclosure via a GET request with more than one leading / (slash) character in the filename (rhbz#487132). * Wed Feb 25 2009 Fedora Release Engineering - 2.9.7-3 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild * Tue Feb 10 2009 Peter Lemenkov 2.9.7-2 - Fixed bz# 484884 * Sun Feb 8 2009 Peter Lemenkov 2.9.7-1 - Ver. 2.9.7 * Mon Jan 26 2009 Peter Lemenkov 2.9.6-3 - Temporarily disable mozilla support * Sat Dec 6 2008 Peter Lemenkov 2.9.6-2 - Fixed installation of sysconfig-file * Mon Aug 25 2008 Peter Lemenkov 2.9.6-1 - Ver. 2.9.6 * Mon Jun 23 2008 Peter Lemenkov 2.9.5-1 - Ver. 2.9.5 * Sun Jan 27 2008 Peter Lemenkov 2.9.3-1 - Ver. 2.9.3 * Sun Jan 13 2008 Peter Lemenkov 2.9.2-2 - Correct BR for perl modules - More robust iconv usage - Fixed desktop file - Changed BR for scriplets * Sun Nov 4 2007 Peter Lemenkov 2.9.2-1 - Ver. 2.9.2 - BR ocaml >= 3.10.0 - BR lablgtk > 2.10.0 * Tue Sep 25 2007 Peter Lemenkov 2.9.1-1 - Ver. 2.9.1 - converted two non-UTF8 text-files * Sun Aug 19 2007 Peter Lemenkov 2.9.0-2 - fixed License tag as required in Fedora * Sun Aug 5 2007 Peter Lemenkov 2.9.0-1 - Added shadow-utils as required - Ver. 2.9.0 - Disabled Gnutella/G2 (unmaintained) - Added BR file-devel (for libmagic) * Wed Jun 6 2007 Peter Lemenkov 2.8.7-1 - Ver. 2.8.7 - Added DC++ back * Sun May 20 2007 Peter Lemenkov 2.8.5-6 - Splitted ed2k-support to mozilla-mldonkey-ed2k-support and konqueror-mldonkey-ed2k-support * Sun May 13 2007 Peter Lemenkov 2.8.5-5 - Fixed bug #1421 * Sat May 5 2007 Peter Lemenkov 2.8.5-4 - Fixed file conflicts - Removed soulseek support (broken) * Sat May 5 2007 Peter Lemenkov 2.8.5-3 - Removed mysterious Requires kdelibs * Fri May 4 2007 Peter Lemenkov 2.8.5-2 - Added BR ncurses-devel * Mon Apr 23 2007 Peter Lemenkov 2.8.5-1 - version 2.8.5 - graphical stats disabled (temporarily?), see bug #1191 - mlchat removed from upstream * Sun May 21 2006 Aurelien Bompard 2.7.6-1 - version 2.7.6 * Mon Apr 17 2006 Aurelien Bompard 2.7.5-1 - version 2.7.5 * Wed Mar 15 2006 Aurelien Bompard 2.7.3-1 - version 2.7.3 - drop patch 0 & patch 1 (applied upstream) * Thu Mar 09 2006 Andreas Bierfert - switch to new release field * Tue Feb 28 2006 Andreas Bierfert - add dist * Fri Dec 02 2005 Aurelien Bompard 2.7.0-0.lvn.2 - patch init script to add condrestart - use condrestart in logrotate * Sun Nov 20 2005 Aurelien Bompard 2.7.0-0.lvn.1 - version 2.7.0 - fix logrotate file * Mon Sep 05 2005 Aurelien Bompard 2.6.4-0.lvn.1 - version 2.6.4 * Mon Aug 22 2005 Aurelien Bompard 2.6.3-0.lvn.1 - version 2.6.3 * Thu Aug 11 2005 Aurelien Bompard 2.6.2-0.lvn.1 - version 2.6.2 * Wed Aug 10 2005 Aurelien Bompard 2.6.1-0.lvn.1 - version 2.6.1 - don't start initscript on boot by default * Fri Jul 22 2005 Aurelien Bompard 2.6.0-0.lvn.1 - update to 2.6.0 - drop explicit Epoch * Mon Jun 27 2005 Aurelien Bompard 0:2.5.30.16-0.lvn.1 - version 2.5.30.16 - add missing scriptlets requirements - don't remove the mldonkey user on uninstall - init script: sync with upstream - sysconfig file: sync with upstream - start script: sync with upstream * Sun Feb 13 2005 Aurelien Bompard 0:2.5.28-0.lvn.1 - version 2.5.28 - enable gui - disable direct-connect (broken at the moment) * Wed Aug 04 2004 Aurelien Bompard 0:2.5.22-0.lvn.1 - version 2.5.22 - get ready for the new gui based on GTK2 (upstream says "still a little buggy", and it does not build yet) * Thu May 06 2004 Aurelien Bompard 0:2.5.21-0.lvn.1 - version 2.5.21 (bugfix again...) * Tue May 04 2004 Aurelien Bompard 0:2.5.20-0.lvn.1 - version 2.5.20 (bugfix) * Mon May 03 2004 Aurelien Bompard 0:2.5.19-0.lvn.1 - version 2.5.19 * Sun Apr 25 2004 Aurelien Bompard 0:2.5.18-0.lvn.1 - version 2.5.18 * Mon Mar 08 2004 Aurelien Bompard 0:2.5.16-0.lvn.1 - update to version 2.5.16 - new subconv tool to convert movie subtitles * Mon Mar 01 2004 Aurelien Bompard 0:2.5.12-0.lvn.1 - Initial Fedora package, ported from Mandrake/PLF