From 9a5f5c01e6c6fcfcf2527f884c5a022a8a5a50fcc9086a7e3a672b97caef0b17 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Thu, 2 Jan 2025 15:06:57 +0000 Subject: [PATCH] [info=5857fe05c1c1900aac7a237be3b537f77c0c3ab3488b24ee8d4f1fd4f897613c] OBS-URL: https://build.opensuse.org/package/show/filesharing/rtorrent?expand=0&rev=16 --- .gitattributes | 23 ++ .gitignore | 1 + _scmsync.obsinfo | 4 + build.specials.obscpio | 3 + rtorrent-0.15.0.tar.gz | 3 + rtorrent-0.15.1.tar.gz | 3 + rtorrent.1 | 560 +++++++++++++++++++++++++++++++++++++++++ rtorrent.changes | 158 ++++++++++++ rtorrent.desktop | 8 + rtorrent.service | 29 +++ rtorrent.spec | 98 ++++++++ 11 files changed, 890 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _scmsync.obsinfo create mode 100644 build.specials.obscpio create mode 100644 rtorrent-0.15.0.tar.gz create mode 100644 rtorrent-0.15.1.tar.gz create mode 100644 rtorrent.1 create mode 100644 rtorrent.changes create mode 100644 rtorrent.desktop create mode 100644 rtorrent.service create mode 100644 rtorrent.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_scmsync.obsinfo b/_scmsync.obsinfo new file mode 100644 index 0000000..1520428 --- /dev/null +++ b/_scmsync.obsinfo @@ -0,0 +1,4 @@ +mtime: 1735830402 +commit: 5857fe05c1c1900aac7a237be3b537f77c0c3ab3488b24ee8d4f1fd4f897613c +url: https://src.opensuse.org/jengelh/rtorrent +revision: master diff --git a/build.specials.obscpio b/build.specials.obscpio new file mode 100644 index 0000000..77a4dfe --- /dev/null +++ b/build.specials.obscpio @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5c6a47650ee6b43f5d65ec086d25800cd525250adc100ee3a95a92525405d30 +size 256 diff --git a/rtorrent-0.15.0.tar.gz b/rtorrent-0.15.0.tar.gz new file mode 100644 index 0000000..885b4f5 --- /dev/null +++ b/rtorrent-0.15.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cd2a590776974943fcd99ba914f15e92f8d957208e82b9538e680861a5c2168f +size 687336 diff --git a/rtorrent-0.15.1.tar.gz b/rtorrent-0.15.1.tar.gz new file mode 100644 index 0000000..e5a26f7 --- /dev/null +++ b/rtorrent-0.15.1.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1d5437d7a6828f2f72a6c309f25f136eda1be69b059d250bc52e0d4185420506 +size 688056 diff --git a/rtorrent.1 b/rtorrent.1 new file mode 100644 index 0000000..870b0f3 --- /dev/null +++ b/rtorrent.1 @@ -0,0 +1,560 @@ +.\" This manpage has been automatically generated by docbook2man +.\" from a DocBook document. This tool can be found at: +.\" +.\" Please send any bug reports, improvements, comments, patches, +.\" etc. to Steve Cheng . +.TH "RTORRENT" "1" "14 May 2009" "BitTorrent client for ncurses" "" + +.SH NAME +rtorrent \- a BitTorrent client for ncurses +.SH SYNOPSIS + +\fBrtorrent\fR [ \fB-h\fR ] [ \fB-n\fR ] [ \fB-o key1=opt1,...\fR ] [ \fB-O key=opt\fR ] [ \fBURL | FILE\fR\fI ...\fR ] + +.SH "DESCRIPTION" +.PP +\fBrtorrent\fR is a BitTorrent client for ncurses, using +the \fBlibtorrent\fR library. The client and library is +written in C++ with emphasis on speed and efficiency, while delivering +equivalent features to those found in GUI based clients in an ncurses +client. +.PP +Most of the options below have their own default unit in addition to +supporting B, K, M and G suffixes. +.SH "KEYBOARD CONTROL" +.PP +.SS "GLOBAL KEYS" +.TP +\fB^q\fR +Initiate shutdown, press again to force the shutdown and +skip sending the stop signal to trackers. +.TP +\fBup | down | left | right arrow keys\fR +.TP +\fB^P | ^N | ^B | ^F\fR +Select entries or change windows. The right arrow key or ^F is often +used for viewing details about the selected entry, while the left +arrow key or ^B often returns to the previous screen. +.TP +\fBa | s | d\fR +Increase the upload throttle by 1/5/50 KB. +.TP +\fBA | S | D\fR +Increase the download throttle by 1/5/50 KB. +.TP +\fBz | x | c\fR +Decrease the upload throttle by 1/5/50 KB. +.TP +\fBZ | X | C\fR +Decrease the download throttle by 1/5/50 KB. +.SS "MAIN VIEW KEYS" +.TP +\fB->\fR +View download. +.TP +\fB1 - 7\fR +Change view. +.TP +\fB^S\fR +Start download. +.TP +\fB^D\fR +Stop an active download, or remove a stopped download. +.TP +\fB^K\fR +Close a torrent and its files. +.TP +\fB^E\fR +Set the 'create/resize queued' flags on all files in a torrent. This +is necessary if the underlying files in a torrent have been deleted or +truncated, and thus rtorrent must recreate them. +.TP +\fB^R\fR +Initiate hash check of torrent. +.TP +\fB^O\fR +Change the destination directory of the download. The torrent must be +closed. +.TP +\fB^X\fR +Call commands or change settings. +.TP +\fB^B\fR +Set download to perform initial seeding. Only use when +you are the first and only seeder so far for the download. +.TP +\fB+ | -\fR +Change the priority of the download. +.TP +\fBbackspace\fR +Add torrent using an URL or file path. Use +\fBtab\fR to view directory content and do +auto-complete. +.TP +\fBl\fR +View log. Exit by pressing the space-bar. +.TP +\fBU\fR +Delete the file the torrent is tied to, and clear the association. +.TP +\fBI\fR +Toggle whether torrent ignores ratio settings. +.SS "DOWNLOAD VIEW KEYS" +.TP +\fB->\fR +View torrent file list. Use the space-bar to change the file priority +and \fB*\fR to change the priority of all +files. Use \fB/\fR to collapse the directories. OUTDATED +.TP +\fB1 | 2\fR +Adjust max uploads. +.TP +\fB3 | 4\fR +Adjust min peers. +.TP +\fB5 | 6\fR +Adjust max peers. +.TP +\fBu\fR +Display transfering blocks. +.TP +\fBi\fR +Display chunk rarity. +.TP +\fBo\fR +Display the tracker list. Cycle the trackers in a group with the +space-bar. +.TP +\fBp\fR +View peer and torrent information. +.TP +\fBt | T\fR +Initiate tracker request. Use capital T to force the request, ignoring +the "min interval" set by the tracker. +.TP +\fBk\fR +Disconnect peer. +.TP +\fB*\fR +Choke/Snub peer. +.SH "OPTIONS" +.TP +\fB-b \fIa.b.c.d\fB\fR +Bind listening socket and outgoing connections to this network +interface address. +.TP +\fB-d \fIdirectory\fB\fR +Set the default download directory. Defaults to "./". +.TP +\fB-h\fR +Display help and exit. +.TP +\fB-i \fIa.b.c.d\fB\fR +Set the address reported to the tracker. +.TP +\fB-n\fR +Don't load ~/.rtorrent.rc on startup. +.TP +\fB-o key1=opt1,...\fR +.TP +\fB-O key=opt\fR +Set any number of options, see the SETTINGS section. The options given +here override the resource files. Use capital \fB-O\fR +to allow comma in the option. +.TP +\fB-p \fIa-b\fB\fR +Try to open a listening port in the range \fBa\fR up to +and including \fBb\fR\&. +.TP +\fB-s \fIdirectory\fB\fR +Session management will be enabled and the torrent files for all open +downloads will be stored in this directory. Only one instance of +rtorrent should be used with each session directory, though at the +moment no locking is done. An empty string will disable the session +directory. +.SH "GENERAL SETTINGS" +.PP +.TP +\fBbind = \fIa.b.c.d\fB\fR +Bind listening socket and outgoing connections to this network +interface address. +.TP +\fBip = \fIa.b.c.d\fB\fR +.TP +\fBip = \fIhostname\fB\fR +Set the address reported to the tracker. +.TP +\fBport_range = \fIa-b\fB\fR +Try to open a listening port in the range \fBa\fR up to +and including \fBb\fR\&. +.TP +\fBport_random = \fIyes | no\fB\fR +Open the listening port at a random position in the port range. +.TP +\fBcheck_hash = \fIyes | no\fB\fR +Perform hash check on torrents that have finished downloading. +.TP +\fBdirectory = \fIdirectory\fB\fR +Set the default download directory. Defaults to "./". +.TP +\fBsession = \fIdirectory\fB\fR +Session management will be enabled and the torrent files for all open +downloads will be stored in this directory. Only one instance of +rtorrent can be used per session directory. An empty string will +disable the session directory. +.TP +\fBhttp_proxy = \fIurl\fB\fR +Use a http proxy. Use an empty string to disable. +.TP +\fBencoding_list = \fIencoding\fB\fR +Add a preferred filename encoding to the list. The encodings are +attempted in the order they are inserted, if none match the torrent +default is used. +.TP +\fBencryption = \fIoption\fB,\fI\&...\fB\fR +Set how rtorrent should deal with encrypted Bittorrent connections. By +default, encryption is disabled, equivalent to specifying the option +\fBnone\fR\&. Alternatively, any number of the following +options may be specified: + +\fBallow_incoming\fR (allow incoming encrypted connections), +\fBtry_outgoing\fR (use encryption for outgoing connections), +\fBrequire\fR (disable unencrypted handshakes), +\fBrequire_RC4\fR (also disable plaintext transmission after the +initial encrypted handshake), +\fBenable_retry\fR (if the initial outgoing connection fails, retry +with encryption turned on if it was off or off if it was on), +\fBprefer_plaintext\fR (choose plaintext when peer offers a choice +between plaintext transmission and RC4 encryption, otherwise RC4 will be used). +.TP +\fBpeer_exchange = \fIyes | no\fB\fR +Enable/disable peer exchange for torrents that aren't marked private. Disabled by default. +.TP +\fBschedule = \fIid\fB,\fIstart\fB,\fIinterval\fB,\fIcommand\fB\fR +Call \fBcommand\fR every \fBinterval\fR +seconds, starting from \fBstart\fR\&. An +\fBinterval\fR of zero calls the task once, while a +\fBstart\fR of zero calls it immediately. Currently +\fBcommand\fR is forwarded to the option handler. +\fBstart\fR and \fBinterval\fR may +optionally use a time format, \fBdd:hh:mm:ss\fR\&. F.ex to +start a task every day at \fB18:00\fR, use +\fB18:00:00,24:00:00\fR\&. +.TP +\fBschedule_remove = \fIid\fB\fR +Delete \fBid\fR from the scheduler. +.TP +\fBstart_tied =\fR +Start torrents that are tied to filenames that have been re-added. +.TP +\fBstop_untied =\fR +.TP +\fBclose_untied =\fR +.TP +\fBremove_untied =\fR +Stop, close or remove the torrents that are tied to filenames that +have been deleted. Clear the association with the 'U' key. +.TP +\fBclose_low_diskspace = \fIspace\fB\fR +Close any active torrents on filesystems with less than +\fBspace\fR diskspace left. Use with +the \fBschedule\fR option. A default scheduled event +with id \fBlow_diskspace\fR is set to 500Mb. +.TP +\fBload = \fIfile\fB\fR +.TP +\fBload_verbose = \fIfile\fB\fR +.TP +\fBload_start = \fIfile\fB\fR +.TP +\fBload_start_verbose = \fIfile\fB\fR +Load and possibly start a file, or possibly multiple files by using the +wild-card "*". This is meant for use with +\fBschedule\fR, though ensure that the +\fBstart\fR is non-zero. The loaded file will be tied +to the filename provided. +.TP +\fBimport = \fIfile\fB\fR +.TP +\fBtry_import = \fIfile\fB\fR +Load a resource file. \fBtry_import\fR does not throw +torrent::input_error exception on bad input. +.TP +\fBstop_on_ratio = \fImin_ratio\fB\fR +.TP +\fBstop_on_ratio = \fImin_ratio\fB,\fImin_upload\fB\fR +.TP +\fBstop_on_ratio = \fImin_ratio\fB,\fImin_upload\fB,\fImax_ratio\fB\fR +Stop torrents when they reach the given upload ratio +\fBmin_ratio\fR in percent. If the optional +\fBmin_upload\fR is given, require a total +upload amount of this many bytes as well. If the optional +\fBmax_ratio\fR is given, stop the torrent +when reaching this ratio regardless of the total upload +amount. Exclude certain torrent by pressing +\fBShift+I\fR in the downlist list. +Use with the \fBschedule\fR option. +.TP +\fBon_insert = \fIid\fB,\fIcommand\fB\fR +.TP +\fBon_erase = \fIid\fB,\fIcommand\fB\fR +.TP +\fBon_open = \fIid\fB,\fIcommand\fB\fR +.TP +\fBon_close = \fIid\fB,\fIcommand\fB\fR +.TP +\fBon_start = \fIid\fB,\fIcommand\fB\fR +.TP +\fBon_stop = \fIid\fB,\fIcommand\fB\fR +.TP +\fBon_hash_queued = \fIid\fB,\fIcommand\fB\fR +.TP +\fBon_hash_removed = \fIid\fB,\fIcommand\fB\fR +.TP +\fBon_hash_done = \fIid\fB,\fIcommand\fB\fR +.TP +\fBon_finished = \fIid\fB,\fIcommand\fB\fR +Call a command on a download when its state changes. Only a subset of +commands are available. +.SH "THROTTLE SETTINGS" +.TP +\fBupload_rate = \fIKB\fB\fR +.TP +\fBdownload_rate = \fIKB\fB\fR +Set the maximum global uploand and download rates. +.TP +\fBmin_peers = \fIvalue\fB\fR +.TP +\fBmax_peers = \fIvalue\fB\fR +Set the minimum and maximum number of peers to allow in each download. +.TP +\fBmin_peers_seed = \fIvalue\fB\fR +.TP +\fBmax_peers_seed = \fIvalue\fB\fR +Set the minimum nad maximum number of peers to allow while seeding, or +-1 (default) to use max_peers. +.TP +\fBmax_uploads = \fIvalue\fB\fR +Set the maximum number of simultaneous uploads per download. +.TP +\fBmax_uploads_div = \fIvalue\fB\fR +.TP +\fBmax_downloads_div = \fIvalue\fB\fR +Change the divider used to calculate the max upload and download slots +to use when the throttle is changed. Disable by +setting \fB0\fR\&. +.TP +\fBmax_uploads_global = \fIvalue\fB\fR +.TP +\fBmax_downloads_global = \fIvalue\fB\fR +Max upload and download slots allowed. Disable by +setting \fB0\fR\&. +.TP +\fBthrottle_up = \fIname\fB, \fIupload_rate\fB\fR +.TP +\fBthrottle_down = \fIname\fB, \fIdownload_rate\fB\fR +Define secondary throttle and/or set the given upload or download rate. Attach to a download with the d.set_throttle_name=name command +or switch throttles with Ctrl-T. Download must be stopped when changing throttles. Note that secondary throttles only work if the +global upload/download is throttled. Setting a download to use the \fBNULL\fR throttle makes the download unthrottled +even when there is a global throttle. Note that this special case bypasses the global throttle entirely, and as such its rate and +transfer amounts are not included in the global statistics. +.TP +\fBthrottle_ip = \fIname\fB, \fIhost\fB\fR +.TP +\fBthrottle_ip = \fIname\fB, \fInetwork/prefix\fB\fR +.TP +\fBthrottle_ip = \fIname\fB, \fIstart\fB, \fIend\fB\fR +Use the given secondary throttle for a host, CIDR network or IP range. All peers with a matching IP will use this throttle instead +of the global throttle or a custom download throttle. The name may be \fBNULL\fR to make these peers unthrottled, with +the same caveats as explained above. +.SH "TRACKER RELATED SETTINGS" +.PP +Tracker related settings. +.TP +\fBenable_trackers = \fIyes\fB\fR +Set to \fBno\fR to disable all tracker requests. Useful +for disabling rtorrent with the \fBschedule\fR command. +.TP +\fBtracker_dump = \fIfilename\fB\fR +Dump tracker requests to \fBfilename\fR, disable by +supplying an empty string. Only torrents loaded while +\fBtracker_dump\fR contains a non-empty string will be +logged at the moment, although disabling it will work as expected. +.TP +\fBtracker_numwant = \fInumber\fB\fR +Set the numwant field sent to the tracker, which indicates how many +peers we want. A negative value disables this feature. +.TP +\fBuse_udp_trackers = \fIyes\fB\fR +Use UDP trackers. Disable if you are behind a firewall, etc, that does +not allow connections to UDP trackers. +.TP +\fBdht = \fIdisabled|off|auto|on\fB\fR +Support for querying the distributed hash table (DHT) to find peers for trackerless +torrents or when all trackers are down. Set to \fBdisable\fR to completely +disable DHT, \fBoff\fR (default) to enable DHT but to not start the +DHT server, \fBauto\fR to automatically start and stop the DHT server +as needed or \fBon\fR for permanently keeping the DHT server running. +When set to automatic, the DHT server will start up when the first non-private torrent +is started, and will stop 15-30 minutes after the last non-private torrent is +stopped (or when rTorrent quits). For DHT to work, a session directory must be set (for +saving the DHT cache). +.TP +\fBdht_port = \fInumber\fB\fR +Set the UDP listen port for DHT. Defaults to 6881. +.TP +\fBdht_add_node = \fIhost[:port]\fB\fR +Not intended for use in the configuration file but as one-time option in the +client or on the command line to bootstrap an empty DHT node table. Contacts +the given node and attempts to bootstrap from it if it replies. +The port is optional, with port 6881 being used by default. +.TP +\fBhttp_capath = \fIpath\fB\fR +.TP +\fBhttp_cacert = \fIfilename\fB\fR +Set the certificates to use in http requests. See Curl's +CURLOPT_CAPATH and CURLOPT_CAINFO options for further information. +.SH "USER-INTERFACE SETTINGS" +.PP +Display related settings. +.TP +\fBview_add = \fIname\fB\fR +Create a new view. +.TP +\fBview_sort = \fIname\fB\fR +.TP +\fBview_sort = \fIname\fB,\fIseconds\fB\fR +Sort a view according the the criteria set by +\fBview_sort_current\fR\&. If the optional argument is +supplied, the view is not sorted if a change happened during the last +\fBseconds\fR\&. This command is meant to be used with +\fBschedule\fR\&. +.TP +\fBview_sort_new = \fIname\fB,\fI\&...\fB\fR +.TP +\fBview_sort_current = \fIname\fB,\fI\&...\fB\fR +Set the sorting criteria for when new elements inserted or +\fBview_sort\fR is called. The list can contain any +number of criteria, including zero, from the following: + +\fBname\fR, \fBname_reverse\fR, +\fBstopped\fR, \fBstarted\fR, +\fBcomplete\fR, \fBincomplete\fR, +\fBstate_changed\fR, +\fBstate_changed_reverse\fR +.TP +\fBkey_layout = \fIqwerty|azerty|qwertz|dvorak\fB\fR +Change the key-bindings. +.SH "FILE-SYSTEM SETTINGS" +.PP +File-system related settings. +.TP +\fBmax_file_size = \fIsize\fB\fR +Set the maximum size a file can have. Disable by +passing \fB-1\fR\&. +.TP +\fBsplit_file_size = \fIsize\fB\fR +Split files in a torrent larger than \fBsize\fR into +seperate files. Disable by passing \fB-1\fR\&. +.TP +\fBsplit_suffix = \fIstring\fB\fR +Set the suffix used on split files. Defaults +to \fB\&.part\fR\&. +.SH "DOWNLOAD SETTINGS" +.PP +Settings that require a download as a target, the options need to be +called through f.ex \fBon_finished\fR\&. +.TP +\fBcreate_link = \fItype\fB,\fIpath\fB,\fIsuffix\fB\fR +.TP +\fBdelete_link = \fItype\fB,\fIpath\fB,\fIsuffix\fB\fR +Create or delete a symbolic link. The link path is the concatenation +of \fBpath\fR, the result of +the \fBtype\fR on the download, +and \fBsuffix\fR\&. + +Available types are; \fBbase_path\fR uses the base path +of the download, \fBbase_filename\fR uses the base +filename of the download, \fBtied\fR uses the path of +the file the download is tied to, see \fBstart_tied\fR\&. +.SH "ADVANCED SETTINGS" +.PP +This list contains settings users shouldn't need to touch, some may +even cause crashes or similar if incorrectly set. +.TP +\fBhash_read_ahead = \fIMB\fB\fR +Configure how far ahead we ask the kernel to read when doing hash +checking. The hash checker uses madvise(..., MADV_WILLNEED) for the +requests. +.TP +\fBhash_interval = \fIms\fB\fR +Interval between attempts to check the hash when the chunk is not in +memory, in milliseconds. +.TP +\fBhash_max_tries = \fItries\fB\fR +Number of attempts to check the hash while using the mincore status, +before forcing. Overworked systems might need lower values to get a +decent hash checking rate. +.TP +\fBsafe_sync = \fIyes|no\fB\fR +Always use MS_SYNC rather than MS_ASYNC when syncing chunks. This may +be nessesary in case of filesystem bugs like NFS in linux ~2.6.13. +.TP +\fBmax_open_files = \fIvalue\fB\fR +Number of files to simultaneously keep open. LibTorrent dynamically +opens and closes files as necessary when mapping files to +memory. Default is based on sysconf(_SC_OPEN_MAX). +You probably only think you know what this option does, so don't touch +it. +.TP +\fBmax_open_sockets = \fIvalue\fB\fR +Number of network sockets to simultaneously keep open. This value is +set to a reasonable value based on \fBsysconf(_SC_OPEN_MAX)\fR\&. +.TP +\fBmax_open_http = \fIvalue\fB\fR +Number of sockets to simultaneously keep open. This value is set +to \fB32\fR by default. +.TP +\fBmax_memory_usage = \fIbytes\fB\fR +Set the max amount of memory space used to mapping file chunks. This +may also be set using \fBulimit -m\fR where 3/4 will be +allocated to file chunks. +.TP +\fBsend_buffer_size = \fIvalue\fB\fR +.TP +\fBreceive_buffer_size = \fIvalue\fB\fR +Adjust the send and receive buffer size for socket. +.TP +\fBumask = \fI0022\fB\fR +Set the umask for this process, which is applied to all files created +by the program. +.TP +\fBcwd = \fIdirectory\fB\fR +Changes the working directory of the process using +\fBchdir\fR\&. +.TP +\fBsession_on_completion = \fIyes\fB\fR +Controls if the session torrent is saved when a torrent finishes. By +default on. +.TP +\fBsession_lock = \fIyes\fB\fR +Controls if a lock file is created in the session directory on startup. +.TP +\fBsession_save = \fR +Save the session files for all downloads. +.TP +\fBtos = \fIdefault|lowdelay|throughput|reliability|mincost\fB\fR +.TP +\fBtos = \fIhex\fB\fR +Change the TOS of peer connections, by default set to +\fBthroughput\fR\&. If the option is set to +\fBdefault\fR then the system default TOS is used. A +hex value may be used for non-standard settings. +.TP +\fBhandshake_log = \fIyes\fB\fR +Enable logging of the peer handshake. This generates a large number of +log messages, but may be useful to debug connection problems. +.SH "AUTHORS" +.PP + +Jari "Rakshasa" Sundell diff --git a/rtorrent.changes b/rtorrent.changes new file mode 100644 index 0000000..41016ec --- /dev/null +++ b/rtorrent.changes @@ -0,0 +1,158 @@ +------------------------------------------------------------------- +Thu Jan 2 10:36:44 UTC 2025 - Jan Engelhardt + +- Update to release 0.15.1 + * Resolved scgi software crash with SIGPIPE exception. + +------------------------------------------------------------------- +Thu Dec 26 19:14:37 UTC 2024 - Jan Engelhardt + +- Update to release 0.15 + * Resolved scgi software crash with SIGPIPE exception. + * Resolved a crash with the curl stack during shutdown. + +------------------------------------------------------------------- +Sun Sep 29 12:10:54 UTC 2024 - Jan Engelhardt + +- 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 00:28:35 UTC 2022 - Aleksa Sarai + +- 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 12:09:53 UTC 2021 - Johannes Segitz + +- Added hardening to systemd service(s) (bsc#1181400). Modified: + * rtorrent.service + +------------------------------------------------------------------- +Fri Sep 4 14:21:00 UTC 2020 - Jan Engelhardt + +- Drop old specfile constructs. + +------------------------------------------------------------------- +Fri Jan 24 12:13:56 UTC 2020 - Jan Engelhardt + +- Add missing require on useradd. + +------------------------------------------------------------------- +Fri Aug 16 15:54:27 UTC 2019 - Jan Engelhardt + +- Add missing %service_* scriptlets + +------------------------------------------------------------------- +Wed Jul 24 17:52:33 UTC 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 23:27:20 UTC 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 13:31:29 UTC 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 11:05:42 UTC 2015 - mpluskal@suse.com + +- Enable xmlrpc on Tumbleweed + +------------------------------------------------------------------- +Fri Nov 13 11:35:23 UTC 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 10:00:34 UTC 2014 - jengelh@inai.de + +- It is supposed to be packageand(vim:rtorrent) + +------------------------------------------------------------------- +Sun Aug 3 08:40:33 UTC 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 00:09:19 UTC 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 17:51:21 UTC 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 10:58:53 UTC 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 04:21:18 UTC 2013 - jengelh@inai.de + +- Initial package (version 0.9.3) for OpenSUSE diff --git a/rtorrent.desktop b/rtorrent.desktop new file mode 100644 index 0000000..b2e1b34 --- /dev/null +++ b/rtorrent.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Categories= +Terminal=true +Exec=rtorrent +Type=Application +StartupNotify=false +Name=rtorrent +GenericName=BitTorrent Client diff --git a/rtorrent.service b/rtorrent.service new file mode 100644 index 0000000..d8ce8a4 --- /dev/null +++ b/rtorrent.service @@ -0,0 +1,29 @@ +[Unit] +Description=rTorrent daemon +Requires=network.target local-fs.target + +[Service] +# added automatically, for details please see +# https://en.opensuse.org/openSUSE:Security_Features#Systemd_hardening_effort +ProtectSystem=full +PrivateDevices=true +ProtectHostname=true +ProtectClock=true +ProtectKernelTunables=true +ProtectKernelModules=true +ProtectKernelLogs=true +ProtectControlGroups=true +RestrictRealtime=true +# end of automatic additions +Type=forking +RemainAfterExit=yes +KillMode=none +EnvironmentFile=-/etc/sysconfig/rtorrent +ExecStart=/usr/bin/screen -d -m -S rtorrentd /usr/bin/rtorrent +ExecStop=/usr/bin/screen -S rtorrentd -X quit +User=rtorrent +Group=rtorrent +WorkingDirectory=~ + +[Install] +WantedBy=multi-user.target \ No newline at end of file diff --git a/rtorrent.spec b/rtorrent.spec new file mode 100644 index 0000000..013114a --- /dev/null +++ b/rtorrent.spec @@ -0,0 +1,98 @@ +# +# 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.1 +Release: 0 +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 +BuildRequires: gcc-c++ +BuildRequires: libtool +BuildRequires: ncurses-devel +BuildRequires: update-desktop-files +BuildRequires: pkgconfig(cppunit) >= 1.9.6 +BuildRequires: pkgconfig(libcurl) >= 7.15.4 +BuildRequires: pkgconfig(libtorrent) >= 0.15.0 +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 +# It's full of type pun violations +export CFLAGS="%optflags -fno-strict-aliasing" +export CXXFLAGS="$CFLAGS" +export CXXFLAGS="$CXXFLAGS -std=gnu++14" +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