spksrc icon indicating copy to clipboard operation
spksrc copied to clipboard

rutorrent: upgrade 4.3.7 => 5.1.5

Open smaarn opened this issue 11 months ago • 9 comments

Description

  • Fixes #6387
  • Cleanup installation logics related to DSM 6 support

Checklist

  • [x] Build rule all-supported completed successfully
  • [x] New installation of package completed successfully
  • [x] Package upgrade completed successfully (Manually install the package again)
  • [x] Package functionality was tested

Type of change

  • [x] Package update

Status

  • [x] Fix dump plugin (add dumptorrent)
  • [x] Fix ratio plugin loading
  • [ ] Update default logs (currently echoed into /tmp/errors.log)

smaarn avatar Jan 18 '25 14:01 smaarn

@smaarn I already have a local update to rutorrent 4.3.9 including updates for

  • cross/libtorrent-rakshasa from v0.13.8 with git hash 71a487c66b136524bce5519cb1f9e855621a9101 to official v0.14.0 (no hash required)
  • cross/rtorrent from v0.9.8 with git hash eacf9798e2787df7dd4d5c800a46bac7931ac41c to official v 0.10.0 (no hash required)
  • cross/xmlrpc-c from v1.51.06 to v1.59.03

and work on spk/rutorrent in progress to:

  • migrate to redesiged shared folders with SERVICE_WIZARD_SHARENAME
  • remove DSM 6 specific code in service-setup.sh

If you don't mind I could add the updated dependencies soon and help with the spk definitions later...

hgy59 avatar Jan 18 '25 14:01 hgy59

@smaarn I already have a local update to rutorrent 4.3.9 including updates for

  • cross/libtorrent-rakshasa from v0.13.8 with git hash 71a487c66b136524bce5519cb1f9e855621a9101 to official v0.14.0 (no hash required)
  • cross/rtorrent from v0.9.8 with git hash eacf9798e2787df7dd4d5c800a46bac7931ac41c to official v 0.10.0 (no hash required)
  • cross/xmlrpc-c from v1.51.06 to v1.59.03

and work on spk/rutorrent in progress to:

  • migrate to redesiged shared folders with SERVICE_WIZARD_SHARENAME
  • remove DSM 6 specific code in service-setup.sh

If you don't mind I could add the updated dependencies soon and help with the spk definitions later...

@hgy59 by all means, do ! This PR was just to kick off the upgrade work in a "minimal" effort mode (e.g. have the build passing, play with things to see if there needs to be more advanced config changes...).

smaarn avatar Jan 18 '25 14:01 smaarn

@smaarn dependencies updated (and master merged into this)

Thanks to #6255 the github prepare action takes now less than one minute including the source download.

For spk/rutorrent files, further investigation is required.

@mreid-tt shall we try to update this package for DSM 7.1 with PHP 8.0 and DSM 7.2 with PHP 8.2?

hgy59 avatar Jan 19 '25 00:01 hgy59

@mreid-tt shall we try to update this package for DSM 7.1 with PHP 8.0 and DSM 7.2 with PHP 8.2?

@hgy59, we can try both yes. I am a bit unsure why we are bumping the PHP version however since the release notes for ruTorrent don't seem to make any special mention of a minimum PHP 8 requirement.

If this is in fact needed then a build for different versions of PHP will show errors when run with incompatible versions (similar to https://github.com/SynoCommunity/spksrc/pull/6229).

mreid-tt avatar Jan 19 '25 01:01 mreid-tt

@mreid-tt shall we try to update this package for DSM 7.1 with PHP 8.0 and DSM 7.2 with PHP 8.2?

@hgy59, we can try both yes. I am a bit unsure why we are bumping the PHP version however since the release notes for ruTorrent don't seem to make any special mention of a minimum PHP 8 requirement.

If this is in fact needed then a build for different versions of PHP will show errors when run with incompatible versions (similar to #6229).

@mreid-tt actually I was under the impression that I couldn't install PHP 7.4 on my DSM (7.2). Turns out I was wrong. We can definitely avoid upgrading then. I'm not sure, though, about a "build" for different versions of PHP causing incompatibilities (it's only runtime dependencies from what I recall), right ?

I will revert the PHP upgrade anyway since it would minimize the "risk" of this upgrade.

smaarn avatar Jan 19 '25 12:01 smaarn

Status: installation successful but get the following warnings at startup:

[01.02.2025 21:35:26] WebUI started.
[01.02.2025 21:35:27] ratio: Le plugin ne peut pas démarrer pour une raison inconnue.
[01.02.2025 21:35:27] dump: Le plugin ne fonctionnera pas. rTorrent ne peut pas accéder au(x) programme(s) externe(s). (dumptorrent).

smaarn avatar Feb 01 '25 20:02 smaarn

Summary of situation:

  • dump plugin fixed
  • ratio plugin cannot work against latest version of rtorrent (get a lot of "command not supported" errors in the logs)

@hgy59 do you recall what were the reasoning behind the version upgrades and why you picked those specific versions (and not others) ?

smaarn avatar Feb 05 '25 21:02 smaarn

@hgy59 do you recall what were the reasoning behind the version upgrades and why you picked those specific versions (and not others) ?

cross/libtorrent-rakshasa

  • take latest release

cross/rtorrent

  • take latest release

cross/xmlrpc-c

  • take latest release (but update to v1.60.04 is available now)

what else?

hgy59 avatar Feb 05 '25 21:02 hgy59

@hgy59 do you recall what were the reasoning behind the version upgrades and why you picked those specific versions (and not others) ?

cross/libtorrent-rakshasa

  • take latest release

cross/rtorrent

  • take latest release

cross/xmlrpc-c

  • take latest release (but update to v1.60.04 is available now)

what else?

Will be having a crack at reverting the upgrade of libtorrent and rtorrent to the "unstable" version and see how it goes. It turns out that 0.9.8 is the latest "stable" version and the recommended one for rutorrent so we may not even have a choice, but let's try with the 0.10.0 version.

smaarn avatar Feb 05 '25 22:02 smaarn

hey @smaarn, just checking in — how’s this coming along? Let me know if there’s anything I can help with.

mreid-tt avatar Mar 26 '25 01:03 mreid-tt

hey @smaarn, just checking in — how’s this coming along? Let me know if there’s anything I can help with.

hey @mreid-tt, thanks for the message, sorry for not replying earlier. I've been lacking cycles lately but basically this PR is ready to go except for one thing which is actually a concern wider than this PR: the upgrade process. Essentially we currently "keep" plugin configuration files systematically. And this is actually problematic because they are sometimes updated obviously. Didn't have time to think / find a suitable solution, yet. Open to ideas if you do have some ;)

smaarn avatar Apr 01 '25 19:04 smaarn

I've been lacking cycles lately but basically this PR is ready to go except for one thing which is actually a concern wider than this PR: the upgrade process. Essentially we currently "keep" plugin configuration files systematically. And this is actually problematic because they are sometimes updated obviously. Didn't have time to think / find a suitable solution, yet. Open to ideas if you do have some ;)

I had to do a bit of digging as I'm not very familiar with ruTorrent, but I think I understand the issue. Based on the Unofficial Guide to ruTorrent, plugin files are typically located at:

  • /var/www/rutorrent/plugins [or]
  • /var/services/web_package/rutorrent/plugins (on Synology)

During installation, these directories are populated with the default plugins from the source repo. However, when a package update occurs, we run a service_save() then a service_restore() as follows:

  • Service Save - Line 194-196 https://github.com/SynoCommunity/spksrc/blob/0e69755b14e3570cbd194858216a999d1df8d166/spk/rutorrent/src/service-setup.sh#L194-L196
  • Service Restore - Line 246-253 https://github.com/SynoCommunity/spksrc/blob/0e69755b14e3570cbd194858216a999d1df8d166/spk/rutorrent/src/service-setup.sh#L246-L253

This approach merges backed-up plugins over the newly deployed ones, which introduces a few risks:

  1. Stale Plugin Components: If the backup contains plugin files that are no longer part of the updated version, they will be restored regardless.
  2. Date Conflicts: If a backup file has a newer timestamp than the newly deployed file (even if the content is older), it will be restored, potentially overwriting updates.

Proposed Solution:

One possible approach could be to treat each plugin folder as a separate entity and perform a more precise comparison using the plugin.info file within each folder. The process might look like this:

  1. Extract Version: For each plugin folder in the backup, extract the plugin.version value from the plugin.info file (let's call it version (a)).
  2. Compare with Deployed Version: Check the plugin.version value (version (b)) from the new deployment's plugin.info.
  3. Decision Logic:
    • If (a) > (b), remove the existing plugin folder in the target and replace it with the backup.
    • If (a) exists but (b) does not, copy the plugin folder from the backup.
  4. Third-Party Plugins: Leave any third-party or manually installed plugins unaffected, requiring manual updates.

This way, the new deployment would maintain a clean set of plugins from the source repo unless explicitly replaced by a more recent backup.

Would this approach address the issue you're encountering? Let me know your thoughts.

EDIT: Alternatively, check if the backup folder is absent in the target. If it is, copy it; otherwise, take no action. This approach is used for restoring apps in ownCloud as follows:

https://github.com/SynoCommunity/spksrc/blob/7f3339634fd85b20c340c4a621137a4fc5762185/spk/owncloud/src/service-setup.sh#L598-L604

mreid-tt avatar Apr 01 '25 23:04 mreid-tt

I've been lacking cycles lately but basically this PR is ready to go except for one thing which is actually a concern wider than this PR: the upgrade process. Essentially we currently "keep" plugin configuration files systematically. And this is actually problematic because they are sometimes updated obviously. Didn't have time to think / find a suitable solution, yet. Open to ideas if you do have some ;)

I had to do a bit of digging as I'm not very familiar with ruTorrent, but I think I understand the issue. Based on the Unofficial Guide to ruTorrent, plugin files are typically located at:

  • /var/www/rutorrent/plugins [or]
  • /var/services/web_package/rutorrent/plugins (on Synology)

During installation, these directories are populated with the default plugins from the source repo. However, when a package update occurs, we run a service_save() then a service_restore() as follows:

  • Service Save - Line 194-196 https://github.com/SynoCommunity/spksrc/blob/0e69755b14e3570cbd194858216a999d1df8d166/spk/rutorrent/src/service-setup.sh#L194-L196
  • Service Restore - Line 246-253 https://github.com/SynoCommunity/spksrc/blob/0e69755b14e3570cbd194858216a999d1df8d166/spk/rutorrent/src/service-setup.sh#L246-L253

This approach merges backed-up plugins over the newly deployed ones, which introduces a few risks:

  1. Stale Plugin Components: If the backup contains plugin files that are no longer part of the updated version, they will be restored regardless.
  2. Date Conflicts: If a backup file has a newer timestamp than the newly deployed file (even if the content is older), it will be restored, potentially overwriting updates.

Proposed Solution:

One possible approach could be to treat each plugin folder as a separate entity and perform a more precise comparison using the plugin.info file within each folder. The process might look like this:

  1. Extract Version: For each plugin folder in the backup, extract the plugin.version value from the plugin.info file (let's call it version (a)).

  2. Compare with Deployed Version: Check the plugin.version value (version (b)) from the new deployment's plugin.info.

  3. Decision Logic:

    • If (a) > (b), remove the existing plugin folder in the target and replace it with the backup.
    • If (a) exists but (b) does not, copy the plugin folder from the backup.
  4. Third-Party Plugins: Leave any third-party or manually installed plugins unaffected, requiring manual updates.

This way, the new deployment would maintain a clean set of plugins from the source repo unless explicitly replaced by a more recent backup.

Would this approach address the issue you're encountering? Let me know your thoughts.

EDIT: Alternatively, check if the backup folder is absent in the target. If it is, copy it; otherwise, take no action. This approach is used for restoring apps in ownCloud as follows:

https://github.com/SynoCommunity/spksrc/blob/7f3339634fd85b20c340c4a621137a4fc5762185/spk/owncloud/src/service-setup.sh#L598-L604

Though the approach would be interesting it would seem the plugin.info file only matches the rutorrent version (and doesn't even mention the minor version). Not sure we'd go very far with it unfortunately.

Which makes me realize that there is a 5.1.6 version which has been released two weeks ago 🤷

smaarn avatar Apr 06 '25 16:04 smaarn

Though the approach would be interesting it would seem the plugin.info file only matches the rutorrent version (and doesn't even mention the minor version). Not sure we'd go very far with it unfortunately.

Got it. I suppose the approach I use with ownCloud would work best here – only restoring entire plugin folders from the backup if they don’t already exist in the upgraded binaries.

mreid-tt avatar Apr 06 '25 16:04 mreid-tt

fyi, noticed a 5.1.7 hot-fix...

th0ma7 avatar Apr 10 '25 22:04 th0ma7

Looks like the CI did not build an artifact for the 5.1.7 commit? In other news, 5.2 is now stable https://github.com/Novik/ruTorrent/releases/tag/v5.2.0

Stanzilla avatar Apr 25 '25 22:04 Stanzilla

Hi @smaarn, would you like me to push some commits to this PR to help complete it? I can implement the updates to retain the updated plugins and also migrate the package to Python 3.12, if that works for you.

mreid-tt avatar May 20 '25 11:05 mreid-tt

Hi @smaarn, would you like me to push some commits to this PR to help complete it? I can implement the updates to retain the updated plugins and also migrate the package to Python 3.12, if that works for you.

You could even do it the other way around but by all mean, do! Sorry I haven't had time brain time over the past weeks/months to finish this

smaarn avatar May 20 '25 12:05 smaarn

@smaarn, I've completed the change to the plugin restore function. I've also bumped to rutorrent to 5.1.12. Finally, I've migrated the package to Python 3.12. Will see how the build completes and then do some testing.

mreid-tt avatar Jun 16 '25 18:06 mreid-tt

Install and update are successful on DSM 7:

Install Log
2025/06/16 18:15:05	install rutorrent 5.1.12-18 Begin preinst
2025/06/16 18:15:05	Begin initialize_variables
2025/06/16 18:15:05	Shared folder configured with SHARE_NAME [downloads] and SHARE_PATH [/volume1/downloads/]
2025/06/16 18:15:05	End initialize_variables
2025/06/16 18:15:05	===> Step preinst. STATUS=INSTALL USER=rutorrent GROUP=sc-download SHARE_PATH=/volume1/downloads/
2025/06/16 18:15:05	install rutorrent 5.1.12-18 End preinst ret=[0]
2025/06/16 18:15:07	install rutorrent 5.1.12-18 Begin /bin/mkdir -p /volume1/@appstore/rutorrent -m 755
2025/06/16 18:15:07	install rutorrent 5.1.12-18 End /bin/mkdir -p /volume1/@appstore/rutorrent -m 755 ret=[0]
2025/06/16 18:15:07	install rutorrent 5.1.12-18 Begin /bin/rm -rf /volume1/@appstore/rutorrent
2025/06/16 18:15:07	install rutorrent 5.1.12-18 End /bin/rm -rf /volume1/@appstore/rutorrent ret=[0]
2025/06/16 18:15:07	install rutorrent 5.1.12-18 Begin /bin/mv -f /volume1/@tmp/synopkg/install.VEx0hZ/package /volume1/@appstore/rutorrent
2025/06/16 18:15:07	install rutorrent 5.1.12-18 End /bin/mv -f /volume1/@tmp/synopkg/install.VEx0hZ/package /volume1/@appstore/rutorrent ret=[0]
2025/06/16 18:15:07	install rutorrent 5.1.12-18 Begin /bin/rm -rf /var/packages/rutorrent
2025/06/16 18:15:07	install rutorrent 5.1.12-18 End /bin/rm -rf /var/packages/rutorrent ret=[0]
2025/06/16 18:15:07	install rutorrent 5.1.12-18 Begin /bin/mkdir -p /var/packages/rutorrent -m 755
2025/06/16 18:15:07	install rutorrent 5.1.12-18 End /bin/mkdir -p /var/packages/rutorrent -m 755 ret=[0]
2025/06/16 18:15:07	install rutorrent 5.1.12-18 Begin /bin/touch /var/packages/rutorrent/installing
2025/06/16 18:15:07	install rutorrent 5.1.12-18 End /bin/touch /var/packages/rutorrent/installing ret=[0]
2025/06/16 18:15:07	install rutorrent 5.1.12-18 Begin /bin/mv -f /volume1/@tmp/synopkg/install.VEx0hZ/INFO /var/packages/rutorrent/INFO
2025/06/16 18:15:07	install rutorrent 5.1.12-18 End /bin/mv -f /volume1/@tmp/synopkg/install.VEx0hZ/INFO /var/packages/rutorrent/INFO ret=[0]
2025/06/16 18:15:07	install rutorrent 5.1.12-18 Begin /bin/rm -rf /var/packages/rutorrent/scripts
2025/06/16 18:15:07	install rutorrent 5.1.12-18 End /bin/rm -rf /var/packages/rutorrent/scripts ret=[0]
2025/06/16 18:15:07	install rutorrent 5.1.12-18 Begin /bin/mv -f /volume1/@tmp/synopkg/install.VEx0hZ/scripts /var/packages/rutorrent/scripts
2025/06/16 18:15:07	install rutorrent 5.1.12-18 End /bin/mv -f /volume1/@tmp/synopkg/install.VEx0hZ/scripts /var/packages/rutorrent/scripts ret=[0]
2025/06/16 18:15:07	install rutorrent 5.1.12-18 Begin /bin/rm -rf /var/packages/rutorrent/WIZARD_UIFILES
2025/06/16 18:15:07	install rutorrent 5.1.12-18 End /bin/rm -rf /var/packages/rutorrent/WIZARD_UIFILES ret=[0]
2025/06/16 18:15:07	install rutorrent 5.1.12-18 Begin /bin/mv -f /volume1/@tmp/synopkg/install.VEx0hZ/WIZARD_UIFILES /var/packages/rutorrent/WIZARD_UIFILES
2025/06/16 18:15:07	install rutorrent 5.1.12-18 End /bin/mv -f /volume1/@tmp/synopkg/install.VEx0hZ/WIZARD_UIFILES /var/packages/rutorrent/WIZARD_UIFILES ret=[0]
2025/06/16 18:15:07	install rutorrent 5.1.12-18 Begin /bin/rm -rf /var/packages/rutorrent/conf
2025/06/16 18:15:07	install rutorrent 5.1.12-18 End /bin/rm -rf /var/packages/rutorrent/conf ret=[0]
2025/06/16 18:15:07	install rutorrent 5.1.12-18 Begin /bin/mv -f /volume1/@tmp/synopkg/install.VEx0hZ/conf /var/packages/rutorrent/conf
2025/06/16 18:15:07	install rutorrent 5.1.12-18 End /bin/mv -f /volume1/@tmp/synopkg/install.VEx0hZ/conf /var/packages/rutorrent/conf ret=[0]
2025/06/16 18:15:18	install rutorrent 5.1.12-18 Begin postinst
2025/06/16 18:15:18	Begin initialize_variables
2025/06/16 18:15:18	Shared folder configured with SHARE_NAME [downloads] and SHARE_PATH [/volume1/downloads/]
2025/06/16 18:15:18	End initialize_variables
2025/06/16 18:15:18	===> Step postinst. STATUS=INSTALL USER=rutorrent GROUP=sc-download SHARE_PATH=/volume1/downloads/
2025/06/16 18:15:18	Begin save_wizard_variables
2025/06/16 18:15:18	End save_wizard_variables
2025/06/16 18:15:18	Begin syno_sync_var_folder
2025/06/16 18:15:18	Install files from var folder
2025/06/16 18:15:18	/bin/rsync -avh --ignore-existing --remove-source-files /volume1/@appstore/rutorrent/var/ /volume1/@appdata/rutorrent
2025/06/16 18:15:18	sending incremental file list
2025/06/16 18:15:18	./
2025/06/16 18:15:18	rtorrent.rc
2025/06/16 18:15:18	.session/
2025/06/16 18:15:18	sent 889 bytes  received 54 bytes  1.89K bytes/sec
2025/06/16 18:15:18	total size is 717  speedup is 0.76
2025/06/16 18:15:18	/bin/rsync -avh --remove-source-files /volume1/@appstore/rutorrent/var/ /volume1/@appdata/rutorrent
2025/06/16 18:15:18	sending incremental file list
2025/06/16 18:15:18	./
2025/06/16 18:15:18	sent 107 bytes  received 20 bytes  254.00 bytes/sec
2025/06/16 18:15:18	total size is 0  speedup is 0.00
2025/06/16 18:15:18	End syno_sync_var_folder
2025/06/16 18:15:18	Begin service_postinst
2025/06/16 18:15:19	Python 3.12.10
2025/06/16 18:15:23	Default pip version 24.3.1
2025/06/16 18:15:39	Install packages from wheels
2025/06/16 18:15:39	Install packages from wheels [/volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt]
2025/06/16 18:15:42	Looking in links: /volume1/@appstore/rutorrent/share/wheelhouse
2025/06/16 18:15:43	Collecting cloudscraper==1.2.71 (from -r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:15:43	  Downloading cloudscraper-1.2.71-py2.py3-none-any.whl.metadata (19 kB)
2025/06/16 18:15:46	Collecting pyparsing>=2.4.7 (from cloudscraper==1.2.71->-r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:15:46	  Downloading pyparsing-3.2.3-py3-none-any.whl.metadata (5.0 kB)
2025/06/16 18:15:49	Collecting requests>=2.9.2 (from cloudscraper==1.2.71->-r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:15:49	  Downloading requests-2.32.4-py3-none-any.whl.metadata (4.9 kB)
2025/06/16 18:15:50	Collecting requests-toolbelt>=0.9.1 (from cloudscraper==1.2.71->-r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:15:50	  Downloading requests_toolbelt-1.0.0-py2.py3-none-any.whl.metadata (14 kB)
2025/06/16 18:15:51	Collecting charset_normalizer<4,>=2 (from requests>=2.9.2->cloudscraper==1.2.71->-r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:15:51	  Downloading charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)
2025/06/16 18:15:53	Collecting idna<4,>=2.5 (from requests>=2.9.2->cloudscraper==1.2.71->-r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:15:53	  Downloading idna-3.10-py3-none-any.whl.metadata (10 kB)
2025/06/16 18:15:54	Collecting urllib3<3,>=1.21.1 (from requests>=2.9.2->cloudscraper==1.2.71->-r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:15:54	  Downloading urllib3-2.4.0-py3-none-any.whl.metadata (6.5 kB)
2025/06/16 18:15:55	Collecting certifi>=2017.4.17 (from requests>=2.9.2->cloudscraper==1.2.71->-r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:15:55	  Downloading certifi-2025.6.15-py3-none-any.whl.metadata (2.4 kB)
2025/06/16 18:15:56	Downloading cloudscraper-1.2.71-py2.py3-none-any.whl (99 kB)
2025/06/16 18:15:56	Downloading pyparsing-3.2.3-py3-none-any.whl (111 kB)
2025/06/16 18:15:57	Downloading requests-2.32.4-py3-none-any.whl (64 kB)
2025/06/16 18:15:58	Downloading requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 kB)
2025/06/16 18:15:58	Downloading certifi-2025.6.15-py3-none-any.whl (157 kB)
2025/06/16 18:15:59	Downloading charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (148 kB)
2025/06/16 18:16:00	Downloading idna-3.10-py3-none-any.whl (70 kB)
2025/06/16 18:16:01	Downloading urllib3-2.4.0-py3-none-any.whl (128 kB)
2025/06/16 18:16:03	Installing collected packages: urllib3, pyparsing, idna, charset_normalizer, certifi, requests, requests-toolbelt, cloudscraper
2025/06/16 18:16:07	  Attempting uninstall: certifi
2025/06/16 18:16:07	    Found existing installation: certifi 2025.1.31
2025/06/16 18:16:07	    Not uninstalling certifi at /volume1/@appstore/python312/lib/python3.12/site-packages, outside environment /volume1/@appstore/rutorrent/env
2025/06/16 18:16:07	    Can't uninstall 'certifi'. No files were found to uninstall.
2025/06/16 18:16:10	Successfully installed certifi-2025.6.15 charset_normalizer-3.4.2 cloudscraper-1.2.71 idna-3.10 pyparsing-3.2.3 requests-2.32.4 requests-toolbelt-1.0.0 urllib3-2.4.0
2025/06/16 18:16:10	Installed modules:
2025/06/16 18:16:12	certifi==2025.6.15
2025/06/16 18:16:12	charset-normalizer==3.4.2
2025/06/16 18:16:12	cloudscraper==1.2.71
2025/06/16 18:16:12	distlib==0.3.9
2025/06/16 18:16:12	filelock==3.18.0
2025/06/16 18:16:12	idna==3.10
2025/06/16 18:16:12	platformdirs==4.3.7
2025/06/16 18:16:12	pyparsing==3.2.3
2025/06/16 18:16:12	requests==2.32.4
2025/06/16 18:16:12	requests-toolbelt==1.0.0
2025/06/16 18:16:12	setuptools==78.1.0
2025/06/16 18:16:12	six==1.17.0
2025/06/16 18:16:12	urllib3==2.4.0
2025/06/16 18:16:12	virtualenv==20.30.0
2025/06/16 18:16:12	wheel==0.45.1
2025/06/16 18:16:12	Fixing shared folder rights for /volume1/@appstore/rutorrent/tmp
2025/06/16 18:16:12	Fixing shared folder access for everyone
2025/06/16 18:16:12	ACL version: 1 
2025/06/16 18:16:12	Archive: has_ACL,is_support_ACL 
2025/06/16 18:16:12	Owner: [sc-rutorrent(user)] 
2025/06/16 18:16:12	--------------------- 
2025/06/16 18:16:12		 [0] everyone::allow:r-x----------:fd-- (level:0)
2025/06/16 18:16:12	Fixing shared folder access for user:sc-rutorrent
2025/06/16 18:16:12	ACL version: 1 
2025/06/16 18:16:12	Archive: has_ACL,is_support_ACL 
2025/06/16 18:16:12	Owner: [sc-rutorrent(user)] 
2025/06/16 18:16:12	--------------------- 
2025/06/16 18:16:12		 [0] everyone::allow:r-x----------:fd-- (level:0)
2025/06/16 18:16:12		 [1] user:sc-rutorrent:allow:rwxpdDaARWc--:fd-- (level:0)
2025/06/16 18:16:12	Fixing shared folder access for group:sc-download
2025/06/16 18:16:12	(synoacltool.c, 305)No such Group 
2025/06/16 18:16:12	Fixing shared folder access for user:http
2025/06/16 18:16:12	ACL version: 1 
2025/06/16 18:16:12	Archive: has_ACL,is_support_ACL 
2025/06/16 18:16:12	Owner: [sc-rutorrent(user)] 
2025/06/16 18:16:12	--------------------- 
2025/06/16 18:16:12		 [0] everyone::allow:r-x----------:fd-- (level:0)
2025/06/16 18:16:12		 [1] user:http:allow:rwxp-D-------:fd-- (level:0)
2025/06/16 18:16:12		 [2] user:sc-rutorrent:allow:rwxpdDaARWc--:fd-- (level:0)
2025/06/16 18:16:12	Fixing shared folder access for group:http
2025/06/16 18:16:12	ACL version: 1 
2025/06/16 18:16:12	Archive: has_ACL,is_support_ACL 
2025/06/16 18:16:12	Owner: [sc-rutorrent(user)] 
2025/06/16 18:16:12	--------------------- 
2025/06/16 18:16:12		 [0] everyone::allow:r-x----------:fd-- (level:0)
2025/06/16 18:16:12		 [1] group:http:allow:rwxp-D-------:fd-- (level:0)
2025/06/16 18:16:12		 [2] user:sc-rutorrent:allow:rwxpdDaARWc--:fd-- (level:0)
2025/06/16 18:16:12		 [3] user:http:allow:rwxp-D-------:fd-- (level:0)
2025/06/16 18:16:13	find "/volume1/@appstore/rutorrent/tmp" -mindepth 1 -type d -exec synoacltool -enforce-inherit {} \;
2025/06/16 18:16:13	Fixing shared folder rights for /var/services/web_packages/rutorrent/share
2025/06/16 18:16:13	Fixing shared folder access for everyone
2025/06/16 18:16:13	ACL version: 1 
2025/06/16 18:16:13	Archive: has_ACL,is_support_ACL 
2025/06/16 18:16:13	Owner: [sc-rutorrent(user)] 
2025/06/16 18:16:13	--------------------- 
2025/06/16 18:16:13		 [0] everyone::allow:r-x----------:fd-- (level:0)
2025/06/16 18:16:13	Fixing shared folder access for user:sc-rutorrent
2025/06/16 18:16:13	ACL version: 1 
2025/06/16 18:16:13	Archive: has_ACL,is_support_ACL 
2025/06/16 18:16:13	Owner: [sc-rutorrent(user)] 
2025/06/16 18:16:13	--------------------- 
2025/06/16 18:16:13		 [0] everyone::allow:r-x----------:fd-- (level:0)
2025/06/16 18:16:13		 [1] user:sc-rutorrent:allow:rwxpdDaARWc--:fd-- (level:0)
2025/06/16 18:16:13	Fixing shared folder access for group:sc-download
2025/06/16 18:16:13	(synoacltool.c, 305)No such Group 
2025/06/16 18:16:13	Fixing shared folder access for user:http
2025/06/16 18:16:13	ACL version: 1 
2025/06/16 18:16:13	Archive: has_ACL,is_support_ACL 
2025/06/16 18:16:13	Owner: [sc-rutorrent(user)] 
2025/06/16 18:16:13	--------------------- 
2025/06/16 18:16:13		 [0] everyone::allow:r-x----------:fd-- (level:0)
2025/06/16 18:16:13		 [1] user:http:allow:rwxp-D-------:fd-- (level:0)
2025/06/16 18:16:13		 [2] user:sc-rutorrent:allow:rwxpdDaARWc--:fd-- (level:0)
2025/06/16 18:16:13	Fixing shared folder access for group:http
2025/06/16 18:16:13	ACL version: 1 
2025/06/16 18:16:13	Archive: has_ACL,is_support_ACL 
2025/06/16 18:16:13	Owner: [sc-rutorrent(user)] 
2025/06/16 18:16:13	--------------------- 
2025/06/16 18:16:13		 [0] everyone::allow:r-x----------:fd-- (level:0)
2025/06/16 18:16:13		 [1] group:http:allow:rwxp-D-------:fd-- (level:0)
2025/06/16 18:16:13		 [2] user:sc-rutorrent:allow:rwxpdDaARWc--:fd-- (level:0)
2025/06/16 18:16:13		 [3] user:http:allow:rwxp-D-------:fd-- (level:0)
2025/06/16 18:16:13	find "/var/services/web_packages/rutorrent/share" -mindepth 1 -type d -exec synoacltool -enforce-inherit {} \;
2025/06/16 18:16:13	End service_postinst
2025/06/16 18:16:13	install rutorrent 5.1.12-18 End postinst ret=[0]
2025/06/16 18:16:17	install rutorrent 5.1.12-18 Begin start-stop-status start
2025/06/16 18:16:17	install rutorrent 5.1.12-18 End start-stop-status start ret=[0]
Upgrade Log
2025/06/16 18:36:24	upgrade rutorrent 5.1.12-18 Begin start-stop-status stop
2025/06/16 18:36:25	upgrade rutorrent 5.1.12-18 End start-stop-status stop ret=[0]
2025/06/16 18:36:30	upgrade rutorrent 5.1.12-18 Begin preupgrade
2025/06/16 18:36:30	Begin initialize_variables
2025/06/16 18:36:30	Shared folder configured with SHARE_NAME [downloads] and SHARE_PATH [/volume1/downloads/]
2025/06/16 18:36:30	End initialize_variables
2025/06/16 18:36:30	===> Step preupgrade. STATUS=UPGRADE USER=rutorrent GROUP=sc-download SHARE_PATH=/volume1/downloads/
2025/06/16 18:36:30	Begin service_save
2025/06/16 18:36:31	End service_save
2025/06/16 18:36:31	upgrade rutorrent 5.1.12-18 End preupgrade ret=[0]
2025/06/16 18:36:32	upgrade rutorrent 5.1.12-18 Begin preuninst
2025/06/16 18:36:32	Begin initialize_variables
2025/06/16 18:36:32	Shared folder configured with SHARE_NAME [downloads] and SHARE_PATH [/volume1/downloads/]
2025/06/16 18:36:32	End initialize_variables
2025/06/16 18:36:32	===> Step preuninst. STATUS=UPGRADE USER=rutorrent GROUP=sc-download SHARE_PATH=/volume1/downloads/
2025/06/16 18:36:32	upgrade rutorrent 5.1.12-18 End preuninst ret=[0]
2025/06/16 18:36:34	upgrade rutorrent 5.1.12-18 Begin /bin/rm -rf /volume1/@appstore/rutorrent
2025/06/16 18:36:35	upgrade rutorrent 5.1.12-18 End /bin/rm -rf /volume1/@appstore/rutorrent ret=[0]
2025/06/16 18:36:35	upgrade rutorrent 5.1.12-18 Begin /bin/rm -rf /volume1/@apptemp/rutorrent
2025/06/16 18:36:35	upgrade rutorrent 5.1.12-18 End /bin/rm -rf /volume1/@apptemp/rutorrent ret=[0]
2025/06/16 18:36:36	upgrade rutorrent 5.1.12-18 Begin postuninst
2025/06/16 18:36:36	Begin initialize_variables
2025/06/16 18:36:36	Shared folder configured with SHARE_NAME [downloads] and SHARE_PATH [/volume1/downloads/]
2025/06/16 18:36:36	End initialize_variables
2025/06/16 18:36:36	===> Step postuninst. STATUS=UPGRADE USER=rutorrent GROUP=sc-download SHARE_PATH=/volume1/downloads/
2025/06/16 18:36:36	Begin service_postuninst
2025/06/16 18:36:36	End service_postuninst
2025/06/16 18:36:36	upgrade rutorrent 5.1.12-18 End postuninst ret=[0]
2025/06/16 18:36:37	upgrade rutorrent 5.1.12-18 Begin preinst
2025/06/16 18:36:37	Begin initialize_variables
2025/06/16 18:36:37	End initialize_variables
2025/06/16 18:36:37	===> Step preinst. STATUS=UPGRADE USER=rutorrent GROUP=sc-download SHARE_PATH=
2025/06/16 18:36:37	upgrade rutorrent 5.1.12-18 End preinst ret=[0]
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 Begin /bin/mkdir -p /volume1/@appstore/rutorrent -m 755
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 End /bin/mkdir -p /volume1/@appstore/rutorrent -m 755 ret=[0]
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 Begin /bin/rm -rf /volume1/@appstore/rutorrent
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 End /bin/rm -rf /volume1/@appstore/rutorrent ret=[0]
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 Begin /bin/mv -f /volume1/@tmp/synopkg/install.8r2N5I/package /volume1/@appstore/rutorrent
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 End /bin/mv -f /volume1/@tmp/synopkg/install.8r2N5I/package /volume1/@appstore/rutorrent ret=[0]
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 Begin /bin/rm -rf /var/packages/rutorrent
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 End /bin/rm -rf /var/packages/rutorrent ret=[0]
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 Begin /bin/mkdir -p /var/packages/rutorrent -m 755
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 End /bin/mkdir -p /var/packages/rutorrent -m 755 ret=[0]
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 Begin /bin/touch /var/packages/rutorrent/installing
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 End /bin/touch /var/packages/rutorrent/installing ret=[0]
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 Begin /bin/mv -f /volume1/@tmp/synopkg/install.8r2N5I/INFO /var/packages/rutorrent/INFO
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 End /bin/mv -f /volume1/@tmp/synopkg/install.8r2N5I/INFO /var/packages/rutorrent/INFO ret=[0]
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 Begin /bin/rm -rf /var/packages/rutorrent/scripts
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 End /bin/rm -rf /var/packages/rutorrent/scripts ret=[0]
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 Begin /bin/mv -f /volume1/@tmp/synopkg/install.8r2N5I/scripts /var/packages/rutorrent/scripts
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 End /bin/mv -f /volume1/@tmp/synopkg/install.8r2N5I/scripts /var/packages/rutorrent/scripts ret=[0]
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 Begin /bin/rm -rf /var/packages/rutorrent/WIZARD_UIFILES
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 End /bin/rm -rf /var/packages/rutorrent/WIZARD_UIFILES ret=[0]
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 Begin /bin/mv -f /volume1/@tmp/synopkg/install.8r2N5I/WIZARD_UIFILES /var/packages/rutorrent/WIZARD_UIFILES
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 End /bin/mv -f /volume1/@tmp/synopkg/install.8r2N5I/WIZARD_UIFILES /var/packages/rutorrent/WIZARD_UIFILES ret=[0]
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 Begin /bin/rm -rf /var/packages/rutorrent/conf
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 End /bin/rm -rf /var/packages/rutorrent/conf ret=[0]
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 Begin /bin/mv -f /volume1/@tmp/synopkg/install.8r2N5I/conf /var/packages/rutorrent/conf
2025/06/16 18:36:38	upgrade rutorrent 5.1.12-18 End /bin/mv -f /volume1/@tmp/synopkg/install.8r2N5I/conf /var/packages/rutorrent/conf ret=[0]
2025/06/16 18:36:45	upgrade rutorrent 5.1.12-18 Begin postinst
2025/06/16 18:36:45	Begin initialize_variables
2025/06/16 18:36:45	Shared folder configured with SHARE_NAME [downloads] and SHARE_PATH [/volume1/downloads/]
2025/06/16 18:36:45	End initialize_variables
2025/06/16 18:36:45	===> Step postinst. STATUS=UPGRADE USER=rutorrent GROUP=sc-download SHARE_PATH=/volume1/downloads/
2025/06/16 18:36:45	Begin save_wizard_variables
2025/06/16 18:36:45	End save_wizard_variables
2025/06/16 18:36:45	Begin syno_sync_var_folder
2025/06/16 18:36:45	Install files from var folder
2025/06/16 18:36:45	/bin/rsync -avh --ignore-existing --remove-source-files /volume1/@appstore/rutorrent/var/ /volume1/@appdata/rutorrent
2025/06/16 18:36:45	sending incremental file list
2025/06/16 18:36:45	./
2025/06/16 18:36:45	rtorrent.rc
2025/06/16 18:36:45	.session/
2025/06/16 18:36:45	sent 885 bytes  received 50 bytes  1.87K bytes/sec
2025/06/16 18:36:45	total size is 717  speedup is 0.77
2025/06/16 18:36:45	/bin/rsync -avh --remove-source-files /volume1/@appstore/rutorrent/var/ /volume1/@appdata/rutorrent
2025/06/16 18:36:45	sending incremental file list
2025/06/16 18:36:45	./
2025/06/16 18:36:45	sent 107 bytes  received 20 bytes  254.00 bytes/sec
2025/06/16 18:36:45	total size is 0  speedup is 0.00
2025/06/16 18:36:45	End syno_sync_var_folder
2025/06/16 18:36:45	Begin service_postinst
2025/06/16 18:36:45	Python 3.12.10
2025/06/16 18:36:46	Default pip version 24.3.1
2025/06/16 18:37:02	Install packages from wheels
2025/06/16 18:37:02	Install packages from wheels [/volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt]
2025/06/16 18:37:04	Looking in links: /volume1/@appstore/rutorrent/share/wheelhouse
2025/06/16 18:37:05	Collecting cloudscraper==1.2.71 (from -r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:37:05	  Using cached cloudscraper-1.2.71-py2.py3-none-any.whl.metadata (19 kB)
2025/06/16 18:37:05	Collecting pyparsing>=2.4.7 (from cloudscraper==1.2.71->-r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:37:05	  Using cached pyparsing-3.2.3-py3-none-any.whl.metadata (5.0 kB)
2025/06/16 18:37:06	Collecting requests>=2.9.2 (from cloudscraper==1.2.71->-r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:37:06	  Using cached requests-2.32.4-py3-none-any.whl.metadata (4.9 kB)
2025/06/16 18:37:06	Collecting requests-toolbelt>=0.9.1 (from cloudscraper==1.2.71->-r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:37:06	  Using cached requests_toolbelt-1.0.0-py2.py3-none-any.whl.metadata (14 kB)
2025/06/16 18:37:07	Collecting charset_normalizer<4,>=2 (from requests>=2.9.2->cloudscraper==1.2.71->-r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:37:07	  Using cached charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (35 kB)
2025/06/16 18:37:08	Collecting idna<4,>=2.5 (from requests>=2.9.2->cloudscraper==1.2.71->-r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:37:08	  Using cached idna-3.10-py3-none-any.whl.metadata (10 kB)
2025/06/16 18:37:09	Collecting urllib3<3,>=1.21.1 (from requests>=2.9.2->cloudscraper==1.2.71->-r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:37:09	  Using cached urllib3-2.4.0-py3-none-any.whl.metadata (6.5 kB)
2025/06/16 18:37:10	Collecting certifi>=2017.4.17 (from requests>=2.9.2->cloudscraper==1.2.71->-r /volume1/@appstore/rutorrent/share/wheelhouse/requirements.txt (line 1))
2025/06/16 18:37:10	  Using cached certifi-2025.6.15-py3-none-any.whl.metadata (2.4 kB)
2025/06/16 18:37:10	Using cached cloudscraper-1.2.71-py2.py3-none-any.whl (99 kB)
2025/06/16 18:37:10	Using cached pyparsing-3.2.3-py3-none-any.whl (111 kB)
2025/06/16 18:37:10	Using cached requests-2.32.4-py3-none-any.whl (64 kB)
2025/06/16 18:37:10	Using cached requests_toolbelt-1.0.0-py2.py3-none-any.whl (54 kB)
2025/06/16 18:37:10	Using cached certifi-2025.6.15-py3-none-any.whl (157 kB)
2025/06/16 18:37:10	Using cached charset_normalizer-3.4.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (148 kB)
2025/06/16 18:37:10	Using cached idna-3.10-py3-none-any.whl (70 kB)
2025/06/16 18:37:10	Using cached urllib3-2.4.0-py3-none-any.whl (128 kB)
2025/06/16 18:37:10	Installing collected packages: urllib3, pyparsing, idna, charset_normalizer, certifi, requests, requests-toolbelt, cloudscraper
2025/06/16 18:37:16	  Attempting uninstall: certifi
2025/06/16 18:37:16	    Found existing installation: certifi 2025.1.31
2025/06/16 18:37:16	    Not uninstalling certifi at /volume1/@appstore/python312/lib/python3.12/site-packages, outside environment /volume1/@appstore/rutorrent/env
2025/06/16 18:37:16	    Can't uninstall 'certifi'. No files were found to uninstall.
2025/06/16 18:37:20	Successfully installed certifi-2025.6.15 charset_normalizer-3.4.2 cloudscraper-1.2.71 idna-3.10 pyparsing-3.2.3 requests-2.32.4 requests-toolbelt-1.0.0 urllib3-2.4.0
2025/06/16 18:37:21	Installed modules:
2025/06/16 18:37:22	certifi==2025.6.15
2025/06/16 18:37:22	charset-normalizer==3.4.2
2025/06/16 18:37:22	cloudscraper==1.2.71
2025/06/16 18:37:22	distlib==0.3.9
2025/06/16 18:37:22	filelock==3.18.0
2025/06/16 18:37:22	idna==3.10
2025/06/16 18:37:22	platformdirs==4.3.7
2025/06/16 18:37:22	pyparsing==3.2.3
2025/06/16 18:37:22	requests==2.32.4
2025/06/16 18:37:22	requests-toolbelt==1.0.0
2025/06/16 18:37:22	setuptools==78.1.0
2025/06/16 18:37:22	six==1.17.0
2025/06/16 18:37:22	urllib3==2.4.0
2025/06/16 18:37:22	virtualenv==20.30.0
2025/06/16 18:37:22	wheel==0.45.1
2025/06/16 18:37:23	Fixing shared folder rights for /volume1/@appstore/rutorrent/tmp
2025/06/16 18:37:23	Fixing shared folder access for everyone
2025/06/16 18:37:23	ACL version: 1 
2025/06/16 18:37:23	Archive: has_ACL,is_support_ACL 
2025/06/16 18:37:23	Owner: [sc-rutorrent(user)] 
2025/06/16 18:37:23	--------------------- 
2025/06/16 18:37:23		 [0] everyone::allow:r-x----------:fd-- (level:0)
2025/06/16 18:37:23	Fixing shared folder access for user:sc-rutorrent
2025/06/16 18:37:23	ACL version: 1 
2025/06/16 18:37:23	Archive: has_ACL,is_support_ACL 
2025/06/16 18:37:23	Owner: [sc-rutorrent(user)] 
2025/06/16 18:37:23	--------------------- 
2025/06/16 18:37:23		 [0] everyone::allow:r-x----------:fd-- (level:0)
2025/06/16 18:37:23		 [1] user:sc-rutorrent:allow:rwxpdDaARWc--:fd-- (level:0)
2025/06/16 18:37:23	Fixing shared folder access for group:sc-download
2025/06/16 18:37:23	(synoacltool.c, 305)No such Group 
2025/06/16 18:37:23	Fixing shared folder access for user:http
2025/06/16 18:37:23	ACL version: 1 
2025/06/16 18:37:23	Archive: has_ACL,is_support_ACL 
2025/06/16 18:37:23	Owner: [sc-rutorrent(user)] 
2025/06/16 18:37:23	--------------------- 
2025/06/16 18:37:23		 [0] everyone::allow:r-x----------:fd-- (level:0)
2025/06/16 18:37:23		 [1] user:http:allow:rwxp-D-------:fd-- (level:0)
2025/06/16 18:37:23		 [2] user:sc-rutorrent:allow:rwxpdDaARWc--:fd-- (level:0)
2025/06/16 18:37:23	Fixing shared folder access for group:http
2025/06/16 18:37:23	ACL version: 1 
2025/06/16 18:37:23	Archive: has_ACL,is_support_ACL 
2025/06/16 18:37:23	Owner: [sc-rutorrent(user)] 
2025/06/16 18:37:23	--------------------- 
2025/06/16 18:37:23		 [0] everyone::allow:r-x----------:fd-- (level:0)
2025/06/16 18:37:23		 [1] group:http:allow:rwxp-D-------:fd-- (level:0)
2025/06/16 18:37:23		 [2] user:sc-rutorrent:allow:rwxpdDaARWc--:fd-- (level:0)
2025/06/16 18:37:23		 [3] user:http:allow:rwxp-D-------:fd-- (level:0)
2025/06/16 18:37:23	find "/volume1/@appstore/rutorrent/tmp" -mindepth 1 -type d -exec synoacltool -enforce-inherit {} \;
2025/06/16 18:37:23	End service_postinst
2025/06/16 18:37:23	upgrade rutorrent 5.1.12-18 End postinst ret=[0]
2025/06/16 18:37:23	upgrade rutorrent 5.1.12-18 Begin postupgrade
2025/06/16 18:37:23	Begin initialize_variables
2025/06/16 18:37:23	Shared folder configured with SHARE_NAME [downloads] and SHARE_PATH [/volume1/downloads/]
2025/06/16 18:37:23	End initialize_variables
2025/06/16 18:37:23	===> Step postupgrade. STATUS=UPGRADE USER=rutorrent GROUP=sc-download SHARE_PATH=/volume1/downloads/
2025/06/16 18:37:23	Begin service_restore
2025/06/16 18:37:23	Restoring http custom security file /var/services/web_packages/rutorrent/.htaccess
2025/06/16 18:37:23	Restoring rtorrent configuration /var/services/web_packages/rutorrent/conf/rtorrent.rc
2025/06/16 18:37:23	Restoring rutorrent web shared directory /var/services/web_packages/rutorrent/share
2025/06/16 18:37:23	Restoring rutorrent custom plugins configuration /var/services/web_packages/rutorrent/conf/plugins.ini
2025/06/16 18:37:23	Restoring rutorrent custom plugins /var/services/web_packages/rutorrent/plugins
2025/06/16 18:37:23	Restoring rutorrent global configuration /var/services/web_packages/rutorrent/conf/config.php
2025/06/16 18:37:24	End service_restore
2025/06/16 18:37:24	Resore var folder from DSM6
2025/06/16 18:37:24	/bin/rsync -avh /volume1/@tmp/synopkg.tmp/rutorrent/ /volume1/@appdata/rutorrent
2025/06/16 18:37:24	sending incremental file list
2025/06/16 18:37:24	./
2025/06/16 18:37:24	.session/
2025/06/16 18:37:24	sent 176 bytes  received 23 bytes  398.00 bytes/sec
2025/06/16 18:37:24	total size is 55  speedup is 0.28
2025/06/16 18:37:24	Begin syno_sync_var_folder
2025/06/16 18:37:24	End syno_sync_var_folder
2025/06/16 18:37:24	upgrade rutorrent 5.1.12-18 End postupgrade ret=[0]
2025/06/16 18:37:27	upgrade rutorrent 5.1.12-18 Begin start-stop-status start
2025/06/16 18:37:27	upgrade rutorrent 5.1.12-18 End start-stop-status start ret=[0]
Service Log
Mon Jun 16 18:37:27 -04 2025
Starting rutorrent command env RUTORRENT_WEB_DIR=/var/services/web_packages/rutorrent SYNOPKG_PKGVAR=/volume1/@appdata/rutorrent SYNOPKG_PKGDEST=/volume1/@appstore/rutorrent /var/packages/rutorrent/target/bin/rtorrent-daemon
tail: /var/packages/rutorrent/var/rtorrent.log: file truncated
1750113447 W Ignoring rtorrent.rc.
Stopping rutorrent ...
Mon Jun 16 18:45:36 -04 2025
Stopping rutorrent service : screen (12215)
Terminated

mreid-tt avatar Jun 16 '25 22:06 mreid-tt

@smaarn, @th0ma7, @hgy59, I believe this package is good to go now. Do provide your review and approvals for merging.

mreid-tt avatar Jun 16 '25 22:06 mreid-tt

I would suggest updating already modified dependencies to it's latest version. While doing that, would it be worthwile updating rutorrent to the 5.2.x branch?

I initially had it set to the 5.2.x branch, but I noticed there are other packages that might also need updates. I can handle updating the download references and version numbers, but several of them include patch files and explicit PLIST files, which would be difficult for me to update without a development environment. I'm happy to take care of the basic version updates, but I’d need assistance with the more detailed components.

mreid-tt avatar Jun 17 '25 00:06 mreid-tt

Gotcha, maybe then just updating the few trivial dependencies (if any) and leaving the rest for a subsequent PR? As this is already a big update on its own for the rutorrent package.

th0ma7 avatar Jun 17 '25 00:06 th0ma7

Gotcha, maybe then just updating the few trivial dependencies (if any) and leaving the rest for a subsequent PR? As this is already a big update on its own for the rutorrent package.

I've done some testing with the latest versions and these are the findings:

  • With rutorrent 5.2.9 we get the following error:
    • JS error: [http://localhost/rutorrent/js/category-list.js: 70] TypeError: this.torrentLabelTree is undefined
  • With libtorrent-rakshasa and rtorrent to v0.15.1 we get the following error:
    • ratio: Plugin failed to start.

As such, I've rolled these back and left everything else updated and am running some final tests.

mreid-tt avatar Jun 17 '25 12:06 mreid-tt

@smaarn, I believe we have a working version now following my testing. I'm still getting one error in the log:

JS error: [http://localhost/rutorrent/ line 2 > injectedScript : 98] ReferenceError: theOptionsSwitcher is not defined

But this does not seem to affect the app functionality. All plugins (including ratio) are loaded and enabled.

EDIT: Correction to my previous message. After performing a clean uninstall and reinstall, the error no longer appears. It’s possible that some cached data in my browser from earlier tests may have contributed to the issue. For now, the startup is running clean.

Screenshot 2025-06-17 at 8 21 18 PM

mreid-tt avatar Jun 17 '25 13:06 mreid-tt