File rtorrent.spec of Package rtorrent
#
# spec file for package rtorrent
#
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
Name: rtorrent
Version: 0.15.5
Release: lp156.1.1
Summary: Console-based BitTorrent client
License: SUSE-GPL-2.0+-with-openssl-exception
Group: Productivity/Networking/File-Sharing
URL: https://github.com/rakshasa/rtorrent
Source: https://github.com/rakshasa/rtorrent/releases/download/v%version/%name-%version.tar.gz
Source2: rtorrent.desktop
# This manpage copied from the 0.9.2 tarball as it was missing in later versions
Source3: rtorrent.1
Source4: rtorrent.service
BuildRequires: autoconf-archive
BuildRequires: automake
%if 0%{?suse_version} && 0%{?suse_version} < 1600
BuildRequires: gcc13-c++
%else
BuildRequires: gcc-c++
%endif
BuildRequires: libtool
BuildRequires: ncurses-devel
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(cppunit) >= 1.9.6
BuildRequires: pkgconfig(libcurl) >= 7.15.4
BuildRequires: pkgconfig(libtorrent) >= %version
BuildRequires: sysuser-tools
Provides: bundled(tinyxml2) = 10.0.0
%sysusers_requires
%description
rTorrent is a console-based BitTorrent client. It aims to be a
fully-featured and efficient client with the ability to run in the
background using screen. It supports fast-resume and session
management.
%prep
%autosetup -p1
%build
%if 0%{?suse_version} && 0%{?suse_version} < 1600
export CXX=g++-13
%endif
# It's full of type pun violations
export CFLAGS="%optflags -fno-strict-aliasing"
export CXXFLAGS="$CFLAGS"
autoreconf -fiv
%configure --with-xmlrpc-tinyxml2 --enable-ipv6
%make_build
%install
b="%buildroot"
%make_install
install -Dm0644 "%{S:2}" "$b/%_datadir/applications/%name.desktop"
mkdir -p "$b/%_mandir/man1"
install -pm0644 "%{S:3}" "$b/%_mandir/man1/"
%suse_update_desktop_file -r "%name" Network P2P
install -Dm0644 "%{S:4}" "$b/%_unitdir/rtorrent.service"
echo 'u rtorrent - "rtorrent daemon"' >system-user-rtorrent.conf
mkdir -p "$b/%_sysusersdir"
cp -a system-user-rtorrent.conf "$b/%_sysusersdir/"
%sysusers_generate_pre system-user-rtorrent.conf random system-user-rtorrent.conf
%pre -f random.pre
%service_add_pre rtorrent.service
%post
%service_add_post rtorrent.service
%preun
%service_del_preun rtorrent.service
%postun
%service_del_postun rtorrent.service
%files
%doc doc/rtorrent.rc
%license COPYING
%_bindir/rtorrent
%_datadir/applications/%name.desktop
%_mandir/man1/rtorrent.1*
%_unitdir/rtorrent.service
%_sysusersdir/*
%changelog
* Sun Oct 5 2025 Pavel A. Yakovlev
- Update to release 0.15.7
* Sun Jun 22 2025 Jan Engelhardt <jengelh@inai.de>
- Update to release 0.15.5
* Fixed corrupted stack in curl stack due to wrong argument type.
* Fix file descriptor leak in session file saving.
* Mon Jun 2 2025 Jan Engelhardt <jengelh@inai.de>
- Update to release 0.15.4
* Refactoring of threads, polling and scheduler code.
* Added `system.files.advise_random.hashing.set` for speeding
up initial hashing of files in a torrent. This can be used in
conjunction with `system.files.advise_random.set` to reduce
disk I/O on SSDs.
* Enabling `system.files.advise_random.set` will reduce
unnecessary disk I/O on SSDs, while disabling
`system.files.advise_random.hashing.set` ensures that the
initial hashing retains the benefits of sequential disk
read-ahead.
* Fri May 2 2025 Jan Engelhardt <jengelh@inai.de>
- Update to release 0.15.3
* Fixed slow SCGI replies
* Cleaned up thread/scheduler code
- Delete 0001-Added-default-switch-cases-to-RpcManager.patch
(merged)
* Fri Mar 28 2025 Jan Engelhardt <jengelh@inai.de>
- Update to release 0.15.2
* Colors, LUA and json-rpc are now supported in the client
- Add 0001-Added-default-switch-cases-to-RpcManager.patch
* Thu Jan 2 2025 Jan Engelhardt <jengelh@inai.de>
- Update to release 0.15.1
* Resolved scgi software crash with SIGPIPE exception.
* Thu Dec 26 2024 Jan Engelhardt <jengelh@inai.de>
- Update to release 0.15
* Resolved scgi software crash with SIGPIPE exception.
* Resolved a crash with the curl stack during shutdown.
* Sun Sep 29 2024 Jan Engelhardt <jengelh@inai.de>
- Update to release 0.10.0
* A fix for a torrent client stack overflow crash with the lockfile
buffer.
* New trackers.delay_scrape command for .rtorrent.rc to avoid
crashes with thousands of torrents and allow instant startups.
* A fix for a critical memory leak with RPC commands which may
waste an alarming amount of memory.
* A fix for critical torrent client breakage if a power
outage/failure occurs during a session saving interval
- Delete 0001-utils-lockfile-avoid-stack-overflow-for-lockfile-buf.patch
(merged)
* Tue Jun 21 2022 Aleksa Sarai <asarai@suse.com>
- Backport fix which resolves a crashing issue on startup on openSUSE.
https://github.com/rakshasa/rtorrent/pull/1169
+ 0001-utils-lockfile-avoid-stack-overflow-for-lockfile-buf.patch
* Tue Nov 16 2021 Johannes Segitz <jsegitz@suse.com>
- Added hardening to systemd service(s) (bsc#1181400). Modified:
* rtorrent.service
* Fri Sep 4 2020 Jan Engelhardt <jengelh@inai.de>
- Drop old specfile constructs.
* Fri Jan 24 2020 Jan Engelhardt <jengelh@inai.de>
- Add missing require on useradd.
* Fri Aug 16 2019 Jan Engelhardt <jengelh@inai.de>
- Add missing %%service_* scriptlets
* Wed Jul 24 2019 hiwatari.seiji@gmail.com
- Update to 0.9.8
* Close log files when reusing a name. (pyroscope)
* Increased max timeout for tracker requests.
* Set max piece size 512mb.
* Switch to C++11 MRT RNG for random bytes. (lps-rocks)
* Added support for openssl 1.1.
* Fix honoring throttle.min_peers* settings in rtorrent. (chros)
* Improved failed tracker bencode parsing. (chros)
* Added example rtorrent.rc. (g0tmi1k)
* Added a temporary name filter. (Toff)
* Added 'log.close' command.
* Added 'd.tracker_announce.force' command.
* Added 'event.system.startup_done/shutdown' commands/events. (chros)
* Added 'd.custom.if_z' command. (pyroscope)
* Added 'd.multicall.filtered' command. (pyroscope)
* Added 'event.view.hide/show' commands. (pyroscope)
- Update to 0.9.7
* Fixed ip filter memory usage. (sallyswiss/chros73)
* Add space to fmt str in log_gz_file_write. (pastly)
* Fix compilation issue with gcc v6.x and empty CXXFLAGS. (chros73)
* Fix BEP7 compatibility with IPv6 trackers and IPv4 peers.
* Include SCGI/XMLRPC example in rtorrent.rc. (ss23)
* Handle SIGHUP like SIGINT. (pyroscope)
* Fix Throttle args. (chros73)
* Fix missing ranlib - not defined but used. (duraki)
* Fix no // are at start of expanded paths. (pyroscope)
* Fix ncurses header include. (theirix)
* Fix segfault when viewing a magnet download in the leeching view. (slingamn)
- Remove rtorrent-vim package because it was made for the old (now discouraged) config syntax
* See: https://github.com/rakshasa/rtorrent/wiki/CONFIG-Template
* Mon Dec 11 2017 jengelh@inai.de
- Update to new snapshot 0.9.6.g113
* Support for new libtorrent API regarding logging file
descriptors and IPv6 binds.
* Tue Jun 6 2017 jengelh@inai.de
- Update to new snapshot 0.9.6.g93
* IPv6 support
* add support for the XDG base dir spec for rtorrent.rc
* daemonization support
* maximum supported filesize now 512 GB
- Change from requiring libxmlrpc-c-devel to xmlrpc-c-devel
[boo#1042228]
* Sun Nov 15 2015 mpluskal@suse.com
- Enable xmlrpc on Tumbleweed
* Fri Nov 13 2015 tampakrap@opensuse.org
- Update to new upstream release 0.9.6
* Added 'log.open_file_pid' and 'log.open_gz_file_pid' commands
that appends the pid automatically.
- Moved fully to github, change URL and Source accordingly
* Tue Aug 5 2014 jengelh@inai.de
- It is supposed to be packageand(vim:rtorrent)
* Sun Aug 3 2014 tampakrap@opensuse.org
- Add Supplements: packageand(vim,rtorrent), in order to trigger automatic
installation for users of both packages. Suggested by dimstar
* Sun Jul 27 2014 tampakrap@opensuse.org
- Add vim as BuildRequirement and Requirement for rtorrent-vim, so that it
doesn't own vim's directories
* Sat Jul 19 2014 tampakrap@opensuse.org
- Vim syntax file for rTorrent's config file, .rtorrent.rc
The files are taken from http://www.vim.org/scripts/script.php?script_id=2234
* Sat Jul 19 2014 jengelh@inai.de
- Update to new upstream release 0.9.4
* Added unordered curve to plot
* Added 'network.listen.backlog{,.set}' commands
* Added 'log.open_gz_file' option
* Fri Feb 8 2013 jengelh@inai.de
- Initial package (version 0.9.3) for OpenSUSE