Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package libupnp for openSUSE:Factory checked in at 2026-03-29 20:00:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libupnp (Old) and /work/SRC/openSUSE:Factory/.libupnp.new.8177 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libupnp" Sun Mar 29 20:00:27 2026 rev:45 rq:1343314 version:1.18.4 Changes: -------- --- /work/SRC/openSUSE:Factory/libupnp/libupnp.changes 2026-03-17 19:04:51.457567046 +0100 +++ /work/SRC/openSUSE:Factory/.libupnp.new.8177/libupnp.changes 2026-03-29 20:00:33.817113964 +0200 @@ -1,0 +2,6 @@ +Sat Mar 28 08:43:56 UTC 2026 - Jan Engelhardt <[email protected]> + +- Update to release 1.18.4 + * Only use SO_REUSEPORT from Linux >= 3.9 onwards + +------------------------------------------------------------------- Old: ---- libupnp-1.18.3.tar.bz2 New: ---- libupnp-1.18.4.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libupnp.spec ++++++ --- /var/tmp/diff_new_pack.gD0TEg/_old 2026-03-29 20:00:35.765194224 +0200 +++ /var/tmp/diff_new_pack.gD0TEg/_new 2026-03-29 20:00:35.789195213 +0200 @@ -20,7 +20,7 @@ %define pnpver 20 %define ixmlver 11 Name: libupnp -Version: 1.18.3 +Version: 1.18.4 Release: 0 Summary: An implementation of Universal Plug and Play (UPnP) License: BSD-3-Clause ++++++ _scmsync.obsinfo ++++++ --- /var/tmp/diff_new_pack.gD0TEg/_old 2026-03-29 20:00:36.069206749 +0200 +++ /var/tmp/diff_new_pack.gD0TEg/_new 2026-03-29 20:00:36.105208233 +0200 @@ -1,5 +1,5 @@ -mtime: 1773732073 -commit: 947383b0aa70cc2e7da1b8eba506c183078e71ee09462b18580007a63e9ab14f +mtime: 1774687646 +commit: c7d3028ed82d8e6a0aeb2e0c1b1a41db0e457dae86de5e43fbb05f32b6b46ec7 url: https://src.opensuse.org/jengelh/libupnp 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 2026-03-28 09:50:35.000000000 +0100 @@ -0,0 +1 @@ +.osc ++++++ libupnp-1.18.3.tar.bz2 -> libupnp-1.18.4.tar.bz2 ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libupnp-1.18.3/ChangeLog new/libupnp-1.18.4/ChangeLog --- old/libupnp-1.18.3/ChangeLog 2026-03-17 01:06:39.000000000 +0100 +++ new/libupnp-1.18.4/ChangeLog 2026-03-27 19:26:03.000000000 +0100 @@ -1,4 +1,12 @@ ******************************************************************************* +Version 1.18.4 +******************************************************************************* + +- PR #537: CMake: Fix exports. Fixes: #536. +- PR #539: ssdp_device.c: SO_REUSEPORT only exists from kernel 3.9 on. + Fixes #538. + +******************************************************************************* Version 1.18.3 ******************************************************************************* diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libupnp-1.18.3/README.md new/libupnp-1.18.4/README.md --- old/libupnp-1.18.3/README.md 2026-03-17 01:06:39.000000000 +0100 +++ new/libupnp-1.18.4/README.md 2026-03-27 19:26:03.000000000 +0100 @@ -100,6 +100,7 @@ | Release Number | Date | History | | -------------- | ---------- | ---------------------------------------- | +| 1.18.4 | 2026-03-27 | [Portable UPnP SDK][Portable UPnP SDK] | | 1.18.3 | 2026-03-16 | [Portable UPnP SDK][Portable UPnP SDK] | | 1.18.2 | 2026-03-10 | [Portable UPnP SDK][Portable UPnP SDK] | | 1.18.1 | 2026-03-01 | [Portable UPnP SDK][Portable UPnP SDK] | diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libupnp-1.18.3/configure new/libupnp-1.18.4/configure --- old/libupnp-1.18.3/configure 2026-03-17 01:06:43.000000000 +0100 +++ new/libupnp-1.18.4/configure 2026-03-27 19:26:06.000000000 +0100 @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for libupnp 1.18.3. +# Generated by GNU Autoconf 2.71 for libupnp 1.18.4. # # Report bugs to <[email protected]>. # @@ -621,8 +621,8 @@ # Identity of this package. PACKAGE_NAME='libupnp' PACKAGE_TARNAME='libupnp' -PACKAGE_VERSION='1.18.3' -PACKAGE_STRING='libupnp 1.18.3' +PACKAGE_VERSION='1.18.4' +PACKAGE_STRING='libupnp 1.18.4' PACKAGE_BUGREPORT='[email protected]' PACKAGE_URL='' @@ -1446,7 +1446,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 libupnp 1.18.3 to adapt to many kinds of systems. +\`configure' configures libupnp 1.18.4 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1517,7 +1517,7 @@ if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of libupnp 1.18.3:";; + short | recursive ) echo "Configuration of libupnp 1.18.4:";; esac cat <<\_ACEOF @@ -1667,7 +1667,7 @@ test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -libupnp configure 1.18.3 +libupnp configure 1.18.4 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2147,7 +2147,7 @@ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by libupnp $as_me 1.18.3, which was +It was created by libupnp $as_me 1.18.4, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3121,7 +3121,7 @@ LT_VERSION_IXML=12:8:1 -LT_VERSION_UPNP=20:3:0 +LT_VERSION_UPNP=20:4:0 ++++++++++++++ @@ -3643,7 +3643,7 @@ # Define the identity of the package. PACKAGE='libupnp' - VERSION='1.18.3' + VERSION='1.18.4' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -22117,7 +22117,7 @@ # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by libupnp $as_me 1.18.3, which was +This file was extended by libupnp $as_me 1.18.4, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -22185,7 +22185,7 @@ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -libupnp config.status 1.18.3 +libupnp config.status 1.18.4 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libupnp-1.18.3/configure.ac new/libupnp-1.18.4/configure.ac --- old/libupnp-1.18.3/configure.ac 2026-03-17 01:06:39.000000000 +0100 +++ new/libupnp-1.18.4/configure.ac 2026-03-27 19:26:03.000000000 +0100 @@ -23,9 +23,18 @@ dnl # *please update only once, before a formal release, not for each change* dnl # dnl ############################################################################ -AC_INIT([libupnp],[1.18.3],[[email protected]]) +AC_INIT([libupnp],[1.18.4],[[email protected]]) AC_SUBST([LT_VERSION_IXML], [12:8:1]) -AC_SUBST([LT_VERSION_UPNP], [20:3:0]) +AC_SUBST([LT_VERSION_UPNP], [20:4:0]) +dnl ############################################################################ +dnl # Release 1.18.4 +dnl # "current:revision:age" +dnl # +dnl # - Code has changed in upnp +dnl # revision: 3 -> 4 +dnl # +dnl #AC_SUBST([LT_VERSION_IXML], [12:8:1]) +dnl #AC_SUBST([LT_VERSION_UPNP], [20:4:0]) dnl ############################################################################ dnl # Release 1.18.3 dnl # "current:revision:age" diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libupnp-1.18.3/docs/Doxyfile new/libupnp-1.18.4/docs/Doxyfile --- old/libupnp-1.18.3/docs/Doxyfile 2026-03-17 01:06:39.000000000 +0100 +++ new/libupnp-1.18.4/docs/Doxyfile 2026-03-27 19:26:03.000000000 +0100 @@ -38,7 +38,7 @@ # could be handy for archiving the generated documentation or if some version # control system is used. -PROJECT_NUMBER = 1.18.3 +PROJECT_NUMBER = 1.18.4 # Using the PROJECT_BRIEF tag one can provide an optional one line description # for a project that appears at the top of each page and should give viewer a diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libupnp-1.18.3/ixml/CMakeLists.txt new/libupnp-1.18.4/ixml/CMakeLists.txt --- old/libupnp-1.18.3/ixml/CMakeLists.txt 2026-03-17 01:06:39.000000000 +0100 +++ new/libupnp-1.18.4/ixml/CMakeLists.txt 2026-03-27 19:26:03.000000000 +0100 @@ -19,7 +19,7 @@ list(APPEND IXML_HEADERS inc/ixml.h inc/ixmldebug.h) if(UPNP_BUILD_SHARED) - add_library(ixml_shared SHARED ${IXML_SOURCES}) + add_library(ixml_shared SHARED ${IXML_SOURCES} ${IXML_HEADERS}) add_library(IXML::Shared ALIAS ixml_shared) @@ -51,6 +51,7 @@ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/inc/> PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/inc/> PUBLIC $<BUILD_INTERFACE:${PUPNP_SOURCE_DIR}/upnp/inc/> + PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/upnp> ) install( @@ -58,21 +59,19 @@ EXPORT IXML ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_Development - INCLUDES - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_RunTime NAMELINK_COMPONENT UPNP_Development - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development + PUBLIC_HEADER + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp + COMPONENT UPNP_Development RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT UPNP_RunTime ) endif() if(UPNP_BUILD_STATIC) - add_library(ixml_static STATIC ${IXML_SOURCES}) + add_library(ixml_static STATIC ${IXML_SOURCES} ${IXML_HEADERS}) add_library(IXML::Static ALIAS ixml_static) @@ -104,6 +103,7 @@ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/inc/> PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/inc/> PUBLIC $<BUILD_INTERFACE:${PUPNP_SOURCE_DIR}/upnp/inc/> + PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/upnp> ) install( @@ -111,14 +111,12 @@ EXPORT IXML ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_Development - INCLUDES - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_RunTime NAMELINK_COMPONENT UPNP_Development - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development + PUBLIC_HEADER + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp + COMPONENT UPNP_Development RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT UPNP_RunTime ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libupnp-1.18.3/libupnp.spec new/libupnp-1.18.4/libupnp.spec --- old/libupnp-1.18.3/libupnp.spec 2026-03-17 01:06:39.000000000 +0100 +++ new/libupnp-1.18.4/libupnp.spec 2026-03-27 19:26:03.000000000 +0100 @@ -1,4 +1,4 @@ -Version: 1.18.3 +Version: 1.18.4 Summary: Universal Plug and Play (UPnP) SDK Name: libupnp-1.18 Release: 1%{?dist} diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libupnp-1.18.3/upnp/CMakeLists.txt new/libupnp-1.18.4/upnp/CMakeLists.txt --- old/libupnp-1.18.3/upnp/CMakeLists.txt 2026-03-17 01:06:39.000000000 +0100 +++ new/libupnp-1.18.4/upnp/CMakeLists.txt 2026-03-27 19:26:03.000000000 +0100 @@ -111,7 +111,7 @@ endif() if(UPNP_BUILD_SHARED) - add_library(upnp_shared SHARED ${UPNP_SOURCES}) + add_library(upnp_shared SHARED ${UPNP_SOURCES} ${UPNP_HEADERS}) add_library(UPNP::Shared ALIAS upnp_shared) @@ -145,6 +145,7 @@ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/inc/> PUBLIC $<BUILD_INTERFACE:${PUPNP_BINARY_DIR}/> PUBLIC $<BUILD_INTERFACE:${PUPNP_BINARY_DIR}/upnp/inc/> + PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/upnp> ) target_link_libraries( @@ -163,21 +164,19 @@ EXPORT UPNP ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_Development - INCLUDES - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_RunTime NAMELINK_COMPONENT UPNP_Development - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development + PUBLIC_HEADER + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp + COMPONENT UPNP_Development RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT UPNP_RunTime ) endif() if(UPNP_BUILD_STATIC) - add_library(upnp_static STATIC ${UPNP_SOURCES}) + add_library(upnp_static STATIC ${UPNP_SOURCES} ${UPNP_HEADERS}) add_library(UPNP::Static ALIAS upnp_static) @@ -212,6 +211,7 @@ PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/src/inc/> PUBLIC $<BUILD_INTERFACE:${PUPNP_BINARY_DIR}/> PUBLIC $<BUILD_INTERFACE:${PUPNP_BINARY_DIR}/upnp/inc/> + PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}/upnp> ) target_link_libraries( @@ -230,14 +230,12 @@ EXPORT UPNP ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_Development - INCLUDES - DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT UPNP_RunTime NAMELINK_COMPONENT UPNP_Development - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp - COMPONENT UPNP_Development + PUBLIC_HEADER + DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/upnp + COMPONENT UPNP_Development RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT UPNP_RunTime ) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/libupnp-1.18.3/upnp/src/ssdp/ssdp_device.c new/libupnp-1.18.4/upnp/src/ssdp/ssdp_device.c --- old/libupnp-1.18.3/upnp/src/ssdp/ssdp_device.c 2026-03-17 01:06:39.000000000 +0100 +++ new/libupnp-1.18.4/upnp/src/ssdp/ssdp_device.c 2026-03-27 19:26:03.000000000 +0100 @@ -249,6 +249,7 @@ #endif char buf_ntop[INET6_ADDRSTRLEN]; int ret = UPNP_E_SUCCESS; + int bindrc = 0; ReplySock = socket(res->ai_family, res->ai_socktype, res->ai_protocol); if (ReplySock == INVALID_SOCKET) { @@ -264,7 +265,8 @@ PROCESS_SOCKET_ERROR( __FILE__, __LINE__, rc, UPNP_E_SOCKET_ERROR, "setsockopt-1"); #if (defined(BSD) && !defined(__GNU__)) || \ - defined(__APPLE__) || defined(__linux__) + defined(__APPLE__) || \ + (defined(__linux__) && defined(SO_REUSEPORT)) rc = setsockopt(ReplySock, SOL_SOCKET, SO_REUSEPORT, @@ -272,8 +274,9 @@ sizeof(yes)); PROCESS_SOCKET_ERROR( __FILE__, __LINE__, rc, UPNP_E_SOCKET_ERROR, "setsockopt-1x"); - #endif /* BSD, __APPLE__, __linux__ */ - ssize_t bindrc = bind(ReplySock, res->ai_addr, res->ai_addrlen); + #endif /* (BSD && !__GNU__) || __APPLE__ || (__linux__ && \ + SO_REUSEPORT) */ + bindrc = bind(ReplySock, res->ai_addr, res->ai_addrlen); PROCESS_SOCKET_ERROR( __FILE__, __LINE__, bindrc, UPNP_E_SOCKET_BIND, "bind"); @@ -909,8 +912,8 @@ ret_code = UPNP_E_INVALID_PARAM; goto error_handler; } - /* If deviceis a root device , here we need to send 3 advertisement - * or reply */ + /* If device is a root device, here we need to send 3 advertisements or + * reply */ if (RootDev) { rc = snprintf( Mil_Usn, sizeof(Mil_Usn), "%s::upnp:rootdevice", Udn);
