Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package rtorrent for openSUSE:Factory checked in at 2025-08-25 20:37:38 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/rtorrent (Old) and /work/SRC/openSUSE:Factory/.rtorrent.new.30751 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "rtorrent" Mon Aug 25 20:37:38 2025 rev:19 rq:1301060 version:0.15.6 Changes: -------- --- /work/SRC/openSUSE:Factory/rtorrent/rtorrent.changes 2025-06-23 15:06:00.971594473 +0200 +++ /work/SRC/openSUSE:Factory/.rtorrent.new.30751/rtorrent.changes 2025-08-25 20:38:29.205067849 +0200 @@ -1,0 +2,6 @@ +Sat Aug 23 09:22:37 UTC 2025 - Jan Engelhardt <jeng...@inai.de> + +- Update to release 0.15.6 + * Use getaddrinfo for numeric hostname lookups in UdnsResolver. + +------------------------------------------------------------------- Old: ---- rtorrent-0.15.5.tar.gz New: ---- rtorrent-0.15.6.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ rtorrent.spec ++++++ --- /var/tmp/diff_new_pack.3RUt6f/_old 2025-08-25 20:38:29.957099354 +0200 +++ /var/tmp/diff_new_pack.3RUt6f/_new 2025-08-25 20:38:29.957099354 +0200 @@ -17,7 +17,7 @@ Name: rtorrent -Version: 0.15.5 +Version: 0.15.6 Release: 0 Summary: Console-based BitTorrent client License: SUSE-GPL-2.0+-with-openssl-exception ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.3RUt6f/_old 2025-08-25 20:38:29.993100863 +0200 +++ /var/tmp/diff_new_pack.3RUt6f/_new 2025-08-25 20:38:29.997101030 +0200 @@ -1,5 +1,5 @@ -mtime: 1750624182 -commit: 6f7f5705345badbf4f44fdab8316ddbf5488a0a40687f9d1c2b3f9fcadcc36ed +mtime: 1755940968 +commit: df244f80e86edcb8ec926ef5e854f76701baf266de70d979a0fa96cb55dd78e5 url: https://src.opensuse.org/jengelh/rtorrent revision: master ++++++ build.specials.obscpio ++++++ ++++++ build.specials.obscpio ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/.gitignore new/.gitignore --- old/.gitignore 1970-01-01 01:00:00.000000000 +0100 +++ new/.gitignore 2025-08-23 11:22:57.000000000 +0200 @@ -0,0 +1 @@ +.osc ++++++ rtorrent-0.15.5.tar.gz -> rtorrent-0.15.6.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rtorrent-0.15.5/configure new/rtorrent-0.15.6/configure --- old/rtorrent-0.15.5/configure 2025-06-22 18:25:49.000000000 +0200 +++ new/rtorrent-0.15.6/configure 2025-08-23 10:00:03.000000000 +0200 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.72 for rtorrent 0.15.5. +# Generated by GNU Autoconf 2.72 for rtorrent 0.15.6. # # Report bugs to <sundell.softw...@gmail.com>. # @@ -614,8 +614,8 @@ # Identity of this package. PACKAGE_NAME='rtorrent' PACKAGE_TARNAME='rtorrent' -PACKAGE_VERSION='0.15.5' -PACKAGE_STRING='rtorrent 0.15.5' +PACKAGE_VERSION='0.15.6' +PACKAGE_STRING='rtorrent 0.15.6' PACKAGE_BUGREPORT='sundell.softw...@gmail.com' PACKAGE_URL='' @@ -1422,7 +1422,7 @@ # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -'configure' configures rtorrent 0.15.5 to adapt to many kinds of systems. +'configure' configures rtorrent 0.15.6 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1493,7 +1493,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of rtorrent 0.15.5:";; + short | recursive ) echo "Configuration of rtorrent 0.15.6:";; esac cat <<\_ACEOF @@ -1651,7 +1651,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -rtorrent configure 0.15.5 +rtorrent configure 0.15.6 generated by GNU Autoconf 2.72 Copyright (C) 2023 Free Software Foundation, Inc. @@ -2334,7 +2334,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by rtorrent $as_me 0.15.5, which was +It was created by rtorrent $as_me 0.15.6, which was generated by GNU Autoconf 2.72. Invocation command line was $ $0$ac_configure_args_raw @@ -4027,7 +4027,7 @@ # Define the identity of the package. PACKAGE='rtorrent' - VERSION='0.15.5' + VERSION='0.15.6' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -17723,7 +17723,7 @@ -printf "%s\n" "#define API_VERSION 14" >>confdefs.h +printf "%s\n" "#define API_VERSION 15" >>confdefs.h # Filter out unwanted flags added by autoconf on some systems, e.g. MacOS. @@ -23070,19 +23070,19 @@ fi pkg_failed=no -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libtorrent >= 0.15.5" >&5 -printf %s "checking for libtorrent >= 0.15.5... " >&6; } +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for libtorrent >= 0.15.6" >&5 +printf %s "checking for libtorrent >= 0.15.6... " >&6; } if test -n "$DEPENDENCIES_CFLAGS"; then pkg_cv_DEPENDENCIES_CFLAGS="$DEPENDENCIES_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent >= 0.15.5\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libtorrent >= 0.15.5") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent >= 0.15.6\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libtorrent >= 0.15.6") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_DEPENDENCIES_CFLAGS=`$PKG_CONFIG --cflags "libtorrent >= 0.15.5" 2>/dev/null` + pkg_cv_DEPENDENCIES_CFLAGS=`$PKG_CONFIG --cflags "libtorrent >= 0.15.6" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -23094,12 +23094,12 @@ pkg_cv_DEPENDENCIES_LIBS="$DEPENDENCIES_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ - { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent >= 0.15.5\""; } >&5 - ($PKG_CONFIG --exists --print-errors "libtorrent >= 0.15.5") 2>&5 + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libtorrent >= 0.15.6\""; } >&5 + ($PKG_CONFIG --exists --print-errors "libtorrent >= 0.15.6") 2>&5 ac_status=$? printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then - pkg_cv_DEPENDENCIES_LIBS=`$PKG_CONFIG --libs "libtorrent >= 0.15.5" 2>/dev/null` + pkg_cv_DEPENDENCIES_LIBS=`$PKG_CONFIG --libs "libtorrent >= 0.15.6" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes @@ -23120,14 +23120,14 @@ _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then - DEPENDENCIES_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libtorrent >= 0.15.5" 2>&1` + DEPENDENCIES_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libtorrent >= 0.15.6" 2>&1` else - DEPENDENCIES_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libtorrent >= 0.15.5" 2>&1` + DEPENDENCIES_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libtorrent >= 0.15.6" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$DEPENDENCIES_PKG_ERRORS" >&5 - as_fn_error $? "Package requirements (libtorrent >= 0.15.5) were not met: + as_fn_error $? "Package requirements (libtorrent >= 0.15.6) were not met: $DEPENDENCIES_PKG_ERRORS @@ -24762,7 +24762,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by rtorrent $as_me 0.15.5, which was +This file was extended by rtorrent $as_me 0.15.6, which was generated by GNU Autoconf 2.72. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -24830,7 +24830,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -rtorrent config.status 0.15.5 +rtorrent config.status 0.15.6 configured by $0, generated by GNU Autoconf 2.72, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rtorrent-0.15.5/configure.ac new/rtorrent-0.15.6/configure.ac --- old/rtorrent-0.15.5/configure.ac 2025-06-22 18:25:31.000000000 +0200 +++ new/rtorrent-0.15.6/configure.ac 2025-08-23 09:59:41.000000000 +0200 @@ -1,6 +1,6 @@ m4_pattern_allow([PKG_CHECK_EXISTS]) -AC_INIT([rtorrent],[0.15.5],[sundell.softw...@gmail.com]) +AC_INIT([rtorrent],[0.15.6],[sundell.softw...@gmail.com]) AC_CONFIG_HEADERS([config.h]) AC_CONFIG_MACRO_DIRS([scripts]) @@ -10,7 +10,7 @@ LT_INIT AC_PROG_CXX -AC_DEFINE([API_VERSION], [14], [api version]) +AC_DEFINE([API_VERSION], [15], [api version]) # Filter out unwanted flags added by autoconf on some systems, e.g. MacOS. TORRENT_REMOVE_UNWANTED(CXX, $CXX, -std=c++11 -std=gnu++11) @@ -54,7 +54,7 @@ PKG_CHECK_MODULES([LIBCURL], [libcurl],, [LIBCURL_CHECK_CONFIG]) PKG_CHECK_MODULES([CPPUNIT], [cppunit],, [no_cppunit="yes"]) -PKG_CHECK_MODULES([DEPENDENCIES], [libtorrent >= 0.15.5]) +PKG_CHECK_MODULES([DEPENDENCIES], [libtorrent >= 0.15.6]) AC_LANG_PUSH(C++) TORRENT_WITH_XMLRPC_C diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rtorrent-0.15.5/src/command_download.cc new/rtorrent-0.15.6/src/command_download.cc --- old/rtorrent-0.15.5/src/command_download.cc 2025-06-22 18:25:31.000000000 +0200 +++ new/rtorrent-0.15.6/src/command_download.cc 2025-08-23 09:59:41.000000000 +0200 @@ -547,19 +547,20 @@ // torrent::Object -d_list_push_back(core::Download* download, const torrent::Object& rawArgs, const char* first_key, const char* second_key) { - download_get_variable(download, first_key, second_key).as_list().push_back(rawArgs); +d_list_push_back_string(core::Download* download, const torrent::Object& rawArgs, const char* first_key, const char* second_key) { + auto& arg = rawArgs.as_string(); + download_get_variable(download, first_key, second_key).as_list().push_back(arg); return torrent::Object(); } torrent::Object -d_list_push_back_unique(core::Download* download, const torrent::Object& rawArgs, const char* first_key, const char* second_key) { - const torrent::Object& args = (rawArgs.is_list() && !rawArgs.as_list().empty()) ? rawArgs.as_list().front() : rawArgs; +d_list_push_back_unique_string(core::Download* download, const torrent::Object& rawArgs, const char* first_key, const char* second_key) { + auto& arg = rawArgs.as_string(); torrent::Object::list_type& list = download_get_variable(download, first_key, second_key).as_list(); - if (std::find_if(list.begin(), list.end(), [args](const torrent::Object& obj) { return torrent::object_equal(obj, args); }) == list.end()) - list.push_back(rawArgs); + if (std::none_of(list.begin(), list.end(), [arg](const torrent::Object& obj) { return torrent::object_equal(obj, arg); })) + list.push_back(arg); return torrent::Object(); } @@ -569,7 +570,7 @@ const torrent::Object& args = (rawArgs.is_list() && !rawArgs.as_list().empty()) ? rawArgs.as_list().front() : rawArgs; torrent::Object::list_type& list = download_get_variable(download, first_key, second_key).as_list(); - return (int64_t)(std::find_if(list.begin(), list.end(), [args](const torrent::Object& obj) { return torrent::object_equal(obj, args); }) != list.end()); + return (int64_t)(std::any_of(list.begin(), list.end(), [args](const auto& obj) { return torrent::object_equal(obj, args); })); } torrent::Object @@ -776,8 +777,8 @@ CMD2_DL ("d.views", std::bind(&download_get_variable, std::placeholders::_1, "rtorrent", "views")); CMD2_DL ("d.views.has", std::bind(&d_list_has, std::placeholders::_1, std::placeholders::_2, "rtorrent", "views")); CMD2_DL ("d.views.remove", std::bind(&d_list_remove, std::placeholders::_1, std::placeholders::_2, "rtorrent", "views")); - CMD2_DL ("d.views.push_back", std::bind(&d_list_push_back, std::placeholders::_1, std::placeholders::_2, "rtorrent", "views")); - CMD2_DL ("d.views.push_back_unique", std::bind(&d_list_push_back_unique, std::placeholders::_1, std::placeholders::_2, "rtorrent", "views")); + CMD2_DL ("d.views.push_back", std::bind(&d_list_push_back_string, std::placeholders::_1, std::placeholders::_2, "rtorrent", "views")); + CMD2_DL ("d.views.push_back_unique", std::bind(&d_list_push_back_unique_string, std::placeholders::_1, std::placeholders::_2, "rtorrent", "views")); // This command really needs to be improved, so we have proper // logging support. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rtorrent-0.15.5/src/command_ui.cc new/rtorrent-0.15.6/src/command_ui.cc --- old/rtorrent-0.15.5/src/command_ui.cc 2025-06-22 18:25:31.000000000 +0200 +++ new/rtorrent-0.15.6/src/command_ui.cc 2025-08-23 09:59:41.000000000 +0200 @@ -768,6 +768,7 @@ torrent::Object apply_set_color(int color_id, const torrent::Object::string_type& color_str) { control->object_storage()->set_str_string(display::color_vars[color_id], color_str); + display::Canvas::build_colors(); return torrent::Object(); } @@ -875,9 +876,11 @@ // Build set/get methods for all color definitions for (int color_id = 1; color_id < display::RCOLOR_MAX; color_id++) { control->object_storage()->insert_str(display::color_vars[color_id], "", rpc::object_storage::flag_string_type); + CMD2_ANY_STRING(std::string(display::color_vars[color_id]) + ".set", [color_id](const auto&, const auto& arg) { return apply_set_color(color_id, arg); }); + CMD2_ANY(display::color_vars[color_id], [color_id](const auto&, const auto&) { return control->object_storage()->get_str(display::color_vars[color_id]); }); diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rtorrent-0.15.5/src/main.cc new/rtorrent-0.15.6/src/main.cc --- old/rtorrent-0.15.5/src/main.cc 2025-06-22 18:25:31.000000000 +0200 +++ new/rtorrent-0.15.6/src/main.cc 2025-08-23 09:59:41.000000000 +0200 @@ -309,6 +309,8 @@ "schedule2 = prune_file_status,3600,86400,((system.file_status_cache.prune))\n" "protocol.encryption.set=allow_incoming,prefer_plaintext,enable_retry\n" + + "ui.color.focus.set=reverse\n" ); // Functions that might not get depracted as they are nice for diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rtorrent-0.15.5/test/rpc/test_xmlrpc.cc new/rtorrent-0.15.6/test/rpc/test_xmlrpc.cc --- old/rtorrent-0.15.5/test/rpc/test_xmlrpc.cc 2025-06-22 18:25:31.000000000 +0200 +++ new/rtorrent-0.15.6/test/rpc/test_xmlrpc.cc 2025-08-23 09:59:41.000000000 +0200 @@ -11,7 +11,15 @@ CPPUNIT_TEST_SUITE_REGISTRATION(TestXmlrpc); -torrent::Object xmlrpc_cmd_test_reflect([[maybe_unused]] rpc::target_type t, const torrent::Object& obj) { return obj; } +torrent::Object +xmlrpc_cmd_test_reflect([[maybe_unused]] rpc::target_type t, const torrent::Object& obj) { + return obj; +} + +torrent::Object +xmlrpc_cmd_test_reflect_string([[maybe_unused]] rpc::target_type t, const std::string& obj) { + return obj; +} void initialize_command_dynamic(); @@ -96,7 +104,12 @@ std::make_tuple("Invalid - non-boolean boolean", "<?xml version=\"1.0\"?><methodCall><methodName>xmlrpc_reflect</methodName><params><param><value><boolean>string value</boolean></value></param></params></methodCall>", - "<?xml version=\"1.0\"?><methodResponse><fault><value><struct><member><name>faultCode</name><value><i8>-501</i8></value></member><member><name>faultString</name><value><string>unknown boolean value: string value</string></value></member></struct></value></fault></methodResponse>") + "<?xml version=\"1.0\"?><methodResponse><fault><value><struct><member><name>faultCode</name><value><i8>-501</i8></value></member><member><name>faultString</name><value><string>unknown boolean value: string value</string></value></member></struct></value></fault></methodResponse>"), + + std::make_tuple("CMD2_ANY_STRING", + "<?xml version=\"1.0\"?><methodCall><methodName>xmlrpc_reflect_string</methodName><params><param><value><string></string></value></param><param><value><string>test</string></value></param></params></methodCall>", + "<?xml version=\"1.0\"?><methodResponse><params><param><value><string>test</string></value></param></params></methodResponse>") + }; void @@ -109,9 +122,11 @@ setlocale(LC_ALL, ""); control = new Control; - if (rpc::commands.find("xmlrpc_reflect") == rpc::commands.end()) { + if (rpc::commands.find("xmlrpc_reflect") == rpc::commands.end()) CMD2_ANY("xmlrpc_reflect", &xmlrpc_cmd_test_reflect); - } + + if (rpc::commands.find("xmlrpc_reflect_string") == rpc::commands.end()) + CMD2_ANY_STRING("xmlrpc_reflect_string", &xmlrpc_cmd_test_reflect_string); } void diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/rtorrent-0.15.5/test/rpc/test_xmlrpc.h new/rtorrent-0.15.6/test/rpc/test_xmlrpc.h --- old/rtorrent-0.15.5/test/rpc/test_xmlrpc.h 2025-06-22 18:25:31.000000000 +0200 +++ new/rtorrent-0.15.6/test/rpc/test_xmlrpc.h 2025-08-23 09:59:41.000000000 +0200 @@ -27,6 +27,4 @@ std::unique_ptr<TestMainThread> m_test_main_thread; rpc::XmlRpc m_xmlrpc; - rpc::CommandMap m_map; - rpc::command_base m_commands[cmd_size]; };