Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package android-file-transfer-linux for 
openSUSE:Factory checked in at 2026-10-24 22:04:19
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/android-file-transfer-linux (Old)
 and      /work/SRC/openSUSE:Factory/.android-file-transfer-linux.new.2252680 
(New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "android-file-transfer-linux"

Sat Oct 24 22:04:19 2026 rev:6 rq:1392104 version:4.6

Changes:
--------
--- 
/work/SRC/openSUSE:Factory/android-file-transfer-linux/android-file-transfer-linux.changes
  2025-11-24 14:14:06.689695421 +0100
+++ 
/work/SRC/openSUSE:Factory/.android-file-transfer-linux.new.2252680/android-file-transfer-linux.changes
     2026-10-24 22:05:53.442785978 +0200
@@ -1,0 +2,13 @@
+Fri Oct 23 15:21:03 UTC 2026 - Martin Pluskal <[email protected]>
+
+- Update to version 4.6:
+  * Fix double-counting files and folders on upload
+  * Fix reading and writing files the user has no permission for
+  * CLI: ignore device friendly name and battery level when the
+    device advertises but won't return them
+  * macOS: link IOKit and CoreFoundation into the shared library,
+    default its install rpath, and make the deployment target a
+    cache variable
+  * Python example: use InquirerPy and add pyproject.toml
+
+-------------------------------------------------------------------

Old:
----
  android-file-transfer-linux-4.5.tar.gz

New:
----
  android-file-transfer-linux-4.6.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ android-file-transfer-linux.spec ++++++
--- /var/tmp/diff_new_pack.uQqV7z/_old  2026-10-24 22:05:54.470829481 +0200
+++ /var/tmp/diff_new_pack.uQqV7z/_new  2026-10-24 22:05:54.471829524 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package android-file-transfer-linux
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,14 +17,15 @@
 
 
 Name:           android-file-transfer-linux
-Summary:        Android file fransfer for Linux
-Version:        4.5
+Version:        4.6
 Release:        0
+Summary:        Android file fransfer for Linux
+License:        LGPL-2.1-only
 URL:            https://github.com/whoozle/android-file-transfer-linux
 Source0:        %{name}-%{version}.tar.gz
-License:        LGPL-2.1-only
 BuildRequires:  cmake
 BuildRequires:  hicolor-icon-theme
+BuildRequires:  pkgconfig
 BuildRequires:  readline-devel
 BuildRequires:  cmake(Qt6LinguistTools)
 BuildRequires:  cmake(Qt6NetworkAuth)

++++++ _service ++++++
--- /var/tmp/diff_new_pack.uQqV7z/_old  2026-10-24 22:05:54.524831766 +0200
+++ /var/tmp/diff_new_pack.uQqV7z/_new  2026-10-24 22:05:54.534832190 +0200
@@ -5,7 +5,7 @@
     <param 
name="url">https://github.com/whoozle/android-file-transfer-linux</param>
     <param name="versionformat">@PARENT_TAG@</param>
     <param name="versionrewrite-pattern">v(.*)</param>
-    <!-- <param name="revision">master</param> -->
+        <param name="revision">v4.6</param>
     <!-- <param name="versionprefix">4.5.0</param> -->
     <!-- <param name="versionformat">%ci.%h</param> -->
     <param name="changesgenerate">enable</param>

++++++ _servicedata ++++++
--- /var/tmp/diff_new_pack.uQqV7z/_old  2026-10-24 22:05:54.587834433 +0200
+++ /var/tmp/diff_new_pack.uQqV7z/_new  2026-10-24 22:05:54.591834602 +0200
@@ -1,6 +1,6 @@
 <servicedata>
 <service name="tar_scm">
                 <param 
name="url">https://github.com/whoozle/android-file-transfer-linux</param>
-              <param 
name="changesrevision">d5c18820c2bae0656043ca127f4b05b756ea1479</param></service></servicedata>
+              <param 
name="changesrevision">712dce6ea71793f6f8454e8ce75a0fd4ea553226</param></service></servicedata>
 (No newline at EOF)
 

++++++ android-file-transfer-linux-4.5.tar.gz -> 
android-file-transfer-linux-4.6.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/android-file-transfer-linux-4.5/CMakeLists.txt 
new/android-file-transfer-linux-4.6/CMakeLists.txt
--- old/android-file-transfer-linux-4.5/CMakeLists.txt  2025-05-15 
00:28:05.000000000 +0200
+++ new/android-file-transfer-linux-4.6/CMakeLists.txt  2026-10-08 
15:21:42.000000000 +0200
@@ -25,7 +25,7 @@
 
 if (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
        set(USB_BACKEND_DARWIN TRUE)
-       set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13)
+       set(CMAKE_OSX_DEPLOYMENT_TARGET 10.13 CACHE STRING "Minimum OS X 
deployment version")
        find_program(OTOOL_BIN otool)
 endif()
 
@@ -102,6 +102,10 @@
 
 option(BUILD_QT_UI "Build reference Qt application" ON)
 option(BUILD_SHARED_LIB "Build shared library" OFF)
+if (BUILD_SHARED_LIB AND ${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT 
CMAKE_INSTALL_RPATH)
+       # CMake drops the build tree rpath on install; let installed 
executables find libmtp-ng.dylib in ../lib
+       set(CMAKE_INSTALL_RPATH "@loader_path/../lib${LIB_SUFFIX}")
+endif()
 
 option(USB_BACKEND_LIBUSB "Use libusb-1.0" OFF)
 if (USB_BACKEND_LIBUSB)
@@ -167,6 +171,7 @@
        find_library(CORE_LIBRARY CoreFoundation)
        find_library(IOKIT_LIBRARY IOKit)
        list(APPEND MTP_LIBRARIES ${IOKIT_LIBRARY} ${CORE_LIBRARY})
+       list(APPEND MTP_SHARED_LIBRARIES ${IOKIT_LIBRARY} ${CORE_LIBRARY})
        list(APPEND SOURCES
                mtp/backend/darwin/usb/Context.cpp
                mtp/backend/darwin/usb/Device.cpp
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/android-file-transfer-linux-4.5/cli/Session.cpp 
new/android-file-transfer-linux-4.6/cli/Session.cpp
--- old/android-file-transfer-linux-4.5/cli/Session.cpp 2025-05-15 
00:28:05.000000000 +0200
+++ new/android-file-transfer-linux-4.6/cli/Session.cpp 2026-10-08 
15:21:42.000000000 +0200
@@ -76,7 +76,8 @@
                _showEvents(false),
                _showPrompt(showPrompt),
                _terminalWidth(80),
-               _batterySupported(false)
+               _batterySupported(false),
+               _deviceFriendlyNameSupported(false)
        {
                using namespace mtp;
                using namespace std::placeholders;
@@ -333,14 +334,24 @@
                        std::stringstream ss;
                        ss << _gdi.Manufacturer << " " << _gdi.Model;
                        if (_deviceFriendlyNameSupported) {
-                               auto name = 
_session->GetDeviceStringProperty(mtp::DeviceProperty::DeviceFriendlyName);
-                               if (!name.empty())
-                                       ss << " / " << name;
+                               try {
+                                       auto name = 
_session->GetDeviceStringProperty(mtp::DeviceProperty::DeviceFriendlyName);
+                                       if (!name.empty())
+                                               ss << " / " << name;
+                               } catch (const std::exception &ex) {
+                                       mtp::debug("failed to get device 
friendly name: ", ex.what());
+                                       _deviceFriendlyNameSupported = false;
+                               }
                        }
                        if (_batterySupported)
                        {
-                               auto level = 
_session->GetDeviceIntegerProperty(mtp::DeviceProperty::BatteryLevel);
-                               ss <<  " [" << level << "%]";
+                               try {
+                                       auto level = 
_session->GetDeviceIntegerProperty(mtp::DeviceProperty::BatteryLevel);
+                                       ss <<  " [" << level << "%]";
+                               } catch (const std::exception &ex) {
+                                       mtp::debug("failed to get battery 
level: ", ex.what());
+                                       _batterySupported = false;
+                               }
                        }
                        if (!_csName.empty())
                                ss << ":" << _csName;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/android-file-transfer-linux-4.5/pyproject.toml 
new/android-file-transfer-linux-4.6/pyproject.toml
--- old/android-file-transfer-linux-4.5/pyproject.toml  1970-01-01 
01:00:00.000000000 +0100
+++ new/android-file-transfer-linux-4.6/pyproject.toml  2026-10-08 
15:21:42.000000000 +0200
@@ -0,0 +1,17 @@
+[project]
+name = "android-file-transfer-linux"
+version = "4.6"
+
+[build-system]
+requires = ["scikit-build-core", "pybind11"]
+build-backend = "scikit_build_core.build"
+
+[tool.scikit-build]
+build.targets = ["aftl"]
+install.components = ["aftl"]
+# Rely only on CMake install.
+wheel.packages = []
+
+[tool.scikit-build.cmake.define]
+BUILD_FUSE = false
+BUILD_QT_UI = false
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/android-file-transfer-linux-4.5/python/CMakeLists.txt 
new/android-file-transfer-linux-4.6/python/CMakeLists.txt
--- old/android-file-transfer-linux-4.5/python/CMakeLists.txt   2025-05-15 
00:28:05.000000000 +0200
+++ new/android-file-transfer-linux-4.6/python/CMakeLists.txt   2026-10-08 
15:21:42.000000000 +0200
@@ -4,3 +4,7 @@
 
 pybind11_add_module(aftl aftl.cpp)
 target_link_libraries(aftl PRIVATE ${LIB_NAME})
+# Use destination `.` to place `.so` file in `site-packages`, then it can be 
`import aftl`.
+# Set component to only install this target `.so` file.
+# See `pyproject.toml`.
+install(TARGETS aftl DESTINATION . COMPONENT aftl)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/android-file-transfer-linux-4.5/python/example/menu.py 
new/android-file-transfer-linux-4.6/python/example/menu.py
--- old/android-file-transfer-linux-4.5/python/example/menu.py  2025-05-15 
00:28:05.000000000 +0200
+++ new/android-file-transfer-linux-4.6/python/example/menu.py  2026-10-08 
15:21:42.000000000 +0200
@@ -5,7 +5,7 @@
 hierarchical prompt usage example
 """
 from __future__ import print_function, unicode_literals
-from PyInquirer import style_from_dict, Token, prompt, Separator
+from InquirerPy import prompt, separator
 
 import aftl
 
@@ -52,7 +52,7 @@
                'message': 'Object Action (press h for help)',
                'choices': [
                        { 'key': 'b', 'name': 'Back', 'value': 'back' },
-                       Separator(),
+                       separator.Separator(),
                        { 'key': 'd', 'name': 'Download', 'value': 'download' },
                ]
        }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/android-file-transfer-linux-4.5/python/example/requirements.txt 
new/android-file-transfer-linux-4.6/python/example/requirements.txt
--- old/android-file-transfer-linux-4.5/python/example/requirements.txt 
2025-05-15 00:28:05.000000000 +0200
+++ new/android-file-transfer-linux-4.6/python/example/requirements.txt 
2026-10-08 15:21:42.000000000 +0200
@@ -1 +1 @@
-pyinquirer
+InquirerPy ~= 0.3.4
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/android-file-transfer-linux-4.5/qt/fileuploader.cpp 
new/android-file-transfer-linux-4.6/qt/fileuploader.cpp
--- old/android-file-transfer-linux-4.5/qt/fileuploader.cpp     2025-05-15 
00:28:05.000000000 +0200
+++ new/android-file-transfer-linux-4.6/qt/fileuploader.cpp     2026-10-08 
15:21:42.000000000 +0200
@@ -119,7 +119,6 @@
                                else if (fi.isDir())
                                {
                                        commands.push_back(new 
MakeDirectory(next));
-                                       files.push_back(next);
                                }
                        }
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/android-file-transfer-linux-4.5/qt/qtobjectstream.h 
new/android-file-transfer-linux-4.6/qt/qtobjectstream.h
--- old/android-file-transfer-linux-4.5/qt/qtobjectstream.h     2025-05-15 
00:28:05.000000000 +0200
+++ new/android-file-transfer-linux-4.6/qt/qtobjectstream.h     2026-10-08 
15:21:42.000000000 +0200
@@ -35,14 +35,15 @@
        QFile           _file;
        qint64          _size;
        int                     _progress;
+       bool            _valid;
 
 public:
        QtObjectInputStream(const QString &file) : _file(file), 
_size(_file.size()), _progress(-1) {
-               _file.open(QFile::ReadOnly);
+               _valid = _file.open(QFile::ReadOnly);
        }
 
        bool Valid() const
-       { return _file.isOpen(); }
+       { return _valid; }
 
        virtual mtp::u64 GetSize() const
        { return _size; }
@@ -74,13 +75,14 @@
 private:
        QFile           _file;
        qint64          _size;
+       bool            _valid;
 
 public:
        QtObjectOutputStream(const QString &file): _file(file)
-       { _file.open(QFile::WriteOnly | QFile::Truncate); }
+       { _valid = _file.open(QFile::WriteOnly | QFile::Truncate); }
 
        bool Valid() const
-       { return _file.isOpen(); }
+       { return _valid; }
 
        virtual size_t Write(const mtp::u8 *data, size_t size)
        {

Reply via email to