Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package android-tools for openSUSE:Factory 
checked in at 2026-09-22 20:52:30
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/android-tools (Old)
 and      /work/SRC/openSUSE:Factory/.android-tools.new.383539 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "android-tools"

Tue Sep 22 20:52:30 2026 rev:30 rq:1379725 version:37.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/android-tools/android-tools.changes      
2026-08-09 21:46:19.920764527 +0200
+++ /work/SRC/openSUSE:Factory/.android-tools.new.383539/android-tools.changes  
2026-09-22 20:52:55.453459667 +0200
@@ -1,0 +2,13 @@
+Tue Sep 15 10:02:50 UTC 2026 - [email protected]
+
+- Add fix-rust-based-mDNS-backend.patch
+  * Add option to enable new Rust based mDNS backend
+- Add fix-protobuf-36-absl-log-macros.patch
+  * adb: keep libbase logging macros after protobuf includes
+- Add vendor.tar.zst for rust based mDNS backend
+- Add prepare.sh - helper script for creating vendor.tar.zst
+  (required until the next version includes PR 209)
+- Create specpart with "Provides: bundled(rust-crate:_name_) = x.y"
+- Remove fix-mdns-references.patch (obsolete)
+
+-------------------------------------------------------------------

Old:
----
  fix-mdns-references.patch

New:
----
  _service
  fix-protobuf-36-absl-log-macros.patch
  fix-rust-based-mDNS-backend.patch
  prepare.sh
  vendor.tar.zst

----------(Old B)----------
  Old:- Create specpart with "Provides: bundled(rust-crate:_name_) = x.y"
- Remove fix-mdns-references.patch (obsolete)
----------(Old E)----------

----------(New B)----------
  New:  * Add option to enable new Rust based mDNS backend
- Add fix-protobuf-36-absl-log-macros.patch
  * adb: keep libbase logging macros after protobuf includes
  New:
- Add fix-rust-based-mDNS-backend.patch
  * Add option to enable new Rust based mDNS backend
----------(New E)----------

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

Other differences:
------------------
++++++ android-tools.spec ++++++
--- /var/tmp/diff_new_pack.v8SMNx/_old  2026-09-22 20:52:57.072527549 +0200
+++ /var/tmp/diff_new_pack.v8SMNx/_new  2026-09-22 20:52:57.074527633 +0200
@@ -23,6 +23,11 @@
 %bcond_with     bundled_libfmt
 %bcond_with     bundled_libusb
 %endif
+%if 0%{?suse_version} < 1699
+%bcond_without  bundled_corrosion
+%else
+%bcond_with     bundled_corrosion
+%endif
 
 Name:           android-tools
 Version:        37.0.0
@@ -32,13 +37,20 @@
 # https://developer.android.com/tools/releases/platform-tools
 URL:            https://github.com/nmeum/android-tools
 Source0:        %{url}/releases/download/%{version}/%{name}-%{version}.tar.xz
-# PATCH-FIX-OPENSUSE fix-mdns-references.patch [email protected] -- Remove 
all references to mDNS from the man page
-Patch0:         fix-mdns-references.patch
+Source1:        vendor.tar.zst
+Source99:       prepare.sh
+# PATCH-FEATURE-UPSTREAM fix-rust-based-mDNS-backend.patch -- based on PR 209
+Patch0:         fix-rust-based-mDNS-backend.patch
+# PATCH-FIX-OPENSUSE fix-protobuf-36-absl-log-macros.patch -- based on arch 
linux patch
+# 
https://gitlab.archlinux.org/archlinux/packaging/packages/android-tools/-/raw/03fecd370e9633927b8157ab94a7db11e7b8cf16/protobuf-36-absl-log-macros.patch
+Patch1:         fix-protobuf-36-absl-log-macros.patch
+BuildRequires:  cargo
 BuildRequires:  cmake >= 3.12
 BuildRequires:  llvm-gold
 BuildRequires:  ninja
 BuildRequires:  pkgconfig
 BuildRequires:  python-rpm-macros
+BuildRequires:  zstd
 BuildRequires:  pkgconfig(gtest)
 BuildRequires:  pkgconfig(libbrotlicommon)
 BuildRequires:  pkgconfig(liblz4)
@@ -57,10 +69,11 @@
 Provides:       adb = 1.0.41
 Provides:       avbtool = 1.4.0
 Provides:       sload_f2fs = 1.16.0
-Provides:       bundled(boringssl)
+Provides:       bundled(boringssl) = 0.20260113.d32c35e
 ExcludeArch:    ppc ppc64 s390x
 %if 0%{?suse_version} < 1600
-BuildRequires:  clang15
+BuildRequires:  gcc11
+BuildRequires:  gcc11-PIE
 BuildRequires:  gcc11-c++
 BuildRequires:  python311-base
 Requires:       python311-base
@@ -69,6 +82,9 @@
 BuildRequires:  python3-base
 Requires:       python3-base
 %endif
+%if %{without bundled_corrosion}
+BuildRequires:  cmake(Corrosion) >= 0.6.1
+%endif
 %if %{with bundled_libfmt}
 Provides:       bundled(fmt) = 12.0.0
 %else
@@ -101,7 +117,7 @@
 This package contains the Android dynamic partition tools.
 
 %prep
-%autosetup -p1
+%autosetup -a1 -p1
 
 # fix empty adb man page title
 %define man_date %(LC_ALL=C date -u -d@$SOURCE_DATE_EPOCH '+%%B %%Y')
@@ -112,8 +128,8 @@
 %define __builder ninja
 %cmake \
 %if 0%{?suse_version} < 1600
-       -DCMAKE_C_COMPILER=clang-15 \
-       -DCMAKE_CXX_COMPILER=clang++-15 \
+       -DCMAKE_C_COMPILER=gcc-11 \
+       -DCMAKE_CXX_COMPILER=g++-11 \
 %else
        -DCMAKE_C_COMPILER=clang \
        -DCMAKE_CXX_COMPILER=clang++ \
@@ -121,6 +137,10 @@
 %ifarch %{ix86}
        -DOPENSSL_NO_ASM=ON \
 %endif
+       -DANDROID_TOOLS_ADB_ENABLE_MDNS=ON \
+%if %{with bundled_corrosion}
+       -DANDROID_TOOLS_USE_BUNDLED_CORROSION=ON \
+%endif
 %if %{with bundled_libfmt}
        -DANDROID_TOOLS_USE_BUNDLED_FMT=ON \
 %endif
@@ -131,6 +151,17 @@
        -DBUILD_SHARED_LIBS=OFF
 %cmake_build
 
+# create specpart with "Provides: bundled(rust-crate:_name_) = x.y.z"
+# (based in part on fedora's %%cargo_vendor_manifest)
+pushd ../vendor/adb/client/adbmdns
+CARGO_HOME=.cargo cargo tree --workspace --offline --edges normal,build \
+       --no-dedupe --all-features --prefix none --format "{p}" \
+       | grep -v "$(pwd)" | sed -e "s: (proc-macro)::" | sort -u \
+       | sed -E -e 's/^(.*) v(.*)$/Provides: bundled(rust-crate:\1) =\n\2/' \
+       | sed -e '1n;s/-/_/g;n' | sed -e 'N;s/\n/ /' | tee rust-crate.specpart
+test -d "%{?specpartsdir}" && cp -p rust-crate.specpart %{specpartsdir}
+popd
+
 %install
 %cmake_install
 
@@ -140,6 +171,7 @@
 # fix non-executable-script
 chmod 0755 
%{buildroot}%{_datadir}/%{name}/mkbootimg/gki/generate_gki_certificate.py
 
+# note: check when support for Leap < 16.0 (sle?) can be removed (eol)
 # fix env-script-interpreter (Leap < 16.0 requires special handling)
 %if 0%{?suse_version} < 1600
 %define 
python3_fix_shebang_path(+abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_-=)
 \

++++++ _service ++++++
<services>
  <service name="download_files" mode="manual"/>
  <service name="cargo_vendor" mode="manual">
    <param name="src">android-tools-*.tar.xz</param>
    <param name="custom-root">vendor/adb/client/adbmdns</param>
    <param name="update">true</param>
    <param name="filter">true</param>
  </service>
</services>

++++++ fix-protobuf-36-absl-log-macros.patch ++++++
>From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Felix Yan <[email protected]>
Date: Thu, 27 Aug 2026 16:00:00 +0800
Subject: [PATCH] adb: keep libbase logging macros after protobuf includes

Protobuf 36's descriptor.h includes absl/log/log.h, which defines the
short LOG and VLOG macros. Several adb sources include generated protobuf
headers after adb's libbase logging/trace headers; those protobuf headers
then replace adb's macros and make adb_trace.h's LOG(DEBUG) expand as
Abseil logging, where DEBUG is not a valid severity.

sysdeps.h is the first include for most adb translation units. Extend its
existing protobuf-first include to cover descriptor.h as well, so Abseil's
short logging macros are seen before android-base/logging.h and adb_trace.h
install adb's macros. Include sysdeps.h first from mdns_tracker.cpp too,
matching the rest of adb host sources.

This keeps adb's logging behavior intact and avoids per-include macro
save/restore blocks.
---
 vendor/adb/client/mdns_tracker.cpp | 2 ++
 vendor/adb/sysdeps.h               | 7 +++++--
 2 files changed, 7 insertions(+), 2 deletions(-)

diff --git a/vendor/adb/client/mdns_tracker.cpp 
b/vendor/adb/client/mdns_tracker.cpp
index 92ef35086b18..0f21f5054164 100644
--- a/vendor/adb/client/mdns_tracker.cpp
+++ b/vendor/adb/client/mdns_tracker.cpp
@@ -14,6 +14,8 @@
  * limitations under the License.
  */
 
+#include "sysdeps.h"
+
 #include "mdns_tracker.h"
 
 #include <list>
diff --git a/vendor/adb/sysdeps.h b/vendor/adb/sysdeps.h
index 970e7cf27b4d..da2a8830317e 100644
--- a/vendor/adb/sysdeps.h
+++ b/vendor/adb/sysdeps.h
@@ -24,9 +24,12 @@
 #  undef _WIN32
 #endif
 
-// Include this protobuf header first, because it uses some write() calls
-// that we will redefine later. Not all modules that include sysdeps.h use
-// protobufs, so only include it if it exists.
+// Include protobuf headers first, because they expose Abseil's LOG/VLOG macros
+// and use some write() calls that we will redefine later. Not all modules that
+// include sysdeps.h use protobufs, so only include them if they exist.
+#if __has_include("google/protobuf/descriptor.h")
+#include "google/protobuf/descriptor.h"
+#endif
 #if __has_include("google/protobuf/io/coded_stream.h")
 #include "google/protobuf/io/coded_stream.h"
 #endif

++++++ fix-rust-based-mDNS-backend.patch ++++++
++++ 4447 lines (skipped)

++++++ prepare.sh ++++++
#!/usr/bin/bash
#
# sudo zypper in osc obs-service-cargo
#

f=android-tools-37.0.0

rm -rf ${f}
tar xf ${f}.tar.xz
patch -p1 -d ${f} -i ../fix-rust-based-mDNS-backend.patch
mv -v ${f}.tar.xz ${f}.tar.xz.org
tar cfJ ${f}.tar.xz ${f}
rm -rf ${f}
osc service manualrun cargo_vendor
rm -v ${f}.tar.xz
mv -v ${f}.tar.xz.org ${f}.tar.xz

Reply via email to