Control: reassign -1 vlc 2.2.6-4 Hello,
On Fri, Jul 28, 2017 at 05:05:35PM +0200, Jean-Baptiste Kempf wrote: > Hello Sebastian, Bugreporters, > > On Fri, 21 Jul 2017, at 14:58, Sebastian Ramacher wrote: > > > On Thu, Jul 20, 2017 at 02:34:42PM +0200, Sebastian Ramacher wrote: > > > > > currently there are two versions of libupnp in the archive (libupnp6 > > > > > and > > > > > libupnp-1.8-10). To be able to remove libupnp6 (i.e. the older of the > > > > > two) it is necessary to port vlc (and all other rdepends) to > > > > > libupnp-1.8. > > > > > > > > > > The patch below implements this for vlc. With this applied I can still > > > > > playback videos with vlc. > > > > > > > > As long as the adoption to upnp 1.8 requires to add -1.8 everywhere > > > > (are we > > > > supposed to change it to -1.9 next month with the next upstream > > > > release?), this > > > > was explicitly NAKed upstream. > > > > > > Which upstream? vlc I suppose? Do you have a link to the discussion > > > handy? > > > > Yes, vlc upstream. This was over IRC and I don't have logs. But I'm sure > > J-B will repeat it if necessary (CCed) > > Sure. > > Since when releasing a new version of a library requires changing all > the includes and all the pkg-config detection? > > SO names are done to notate API/ABI changes within a library and > PKG-CONFIG files are done to show where to find the includes folder and > how to link. > > If you do a moderate breaking change, you change the API, the ABI, and > bump the library version name majorly. And people linking against you > will need to adapt, when they bump the requirements. This was done for > almost every minor C/C++ library, since forever. > > So, sorry, but this way of renaming the headers folder name and changing > the .pc files is completely backward; and sorry, totally not justified, > because it's justified for complete rewrites, not for a moderate change. OK, libupnp-1.8 was fixed in 1.8.2, I added the updated patch at the end of the mail. I hope it is acceptable as is now. I'm rereassigning back to vlc accordingly. One thing I'd like to point out to prevent surprises: Theoretically libupnp should also compile and work on Windows. Depending on how much you (vlc) care about your Windows port you might want to evaluate that first. I quickly tried to compile libupnp on Windows which failed, but the same is true for the 1.6 branch, so this might just be me being unable to use the Windows compiler. Best regards Uwe From 7ccf2d2ed3dcc23bbd6f2a3dbf6ba428fc641d1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Uwe=20Kleine-K=C3=B6nig?= <uklei...@debian.org> Date: Wed, 19 Jul 2017 17:26:52 +0200 Subject: [PATCH] Port vlc to libupnp-1.8 --- debian/changelog | 6 ++ debian/control | 2 +- debian/patches/0014-port-to-libupnp-1.8.patch | 94 +++++++++++++++++++++++++++ debian/patches/series | 1 + 4 files changed, 102 insertions(+), 1 deletion(-) create mode 100644 debian/patches/0014-port-to-libupnp-1.8.patch diff --git a/debian/changelog b/debian/changelog index 767b9c2567eb..7476b8575930 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +vlc (2.2.6-5) UNRELEASED; urgency=medium + + * port to libupnp-1.8 + + -- Uwe Kleine-König <uklei...@debian.org> Tue, 29 Aug 2017 18:48:43 +0000 + vlc (2.2.6-4) unstable; urgency=medium * debian/upstream: Add DEP-12 metadata. diff --git a/debian/control b/debian/control index c9ae459a5545..84bcaa7e9eb6 100644 --- a/debian/control +++ b/debian/control @@ -86,7 +86,7 @@ Build-Depends: autopoint, libtheora-dev (>= 1.0), libtwolame-dev (>= 0.3.8), libudev-dev [linux-any], - libupnp-dev, + libupnp1.8-dev, libv4l-dev [linux-any], libva-dev [kfreebsd-any linux-any], libvcdinfo-dev (>= 0.7.22), diff --git a/debian/patches/0014-port-to-libupnp-1.8.patch b/debian/patches/0014-port-to-libupnp-1.8.patch new file mode 100644 index 000000000000..8e842412cd0c --- /dev/null +++ b/debian/patches/0014-port-to-libupnp-1.8.patch @@ -0,0 +1,94 @@ +--- a/modules/services_discovery/upnp.cpp ++++ b/modules/services_discovery/upnp.cpp +@@ -80,7 +80,7 @@ + /* + * Local prototypes + */ +-static int Callback( Upnp_EventType event_type, void* p_event, void* p_user_data ); ++static int Callback( Upnp_EventType event_type, const void* p_event, void* p_user_data ); + + const char* xml_getChildElementValue( IXML_Element* p_parent, + const char* psz_tag_name ); +@@ -325,7 +325,7 @@ + /* + * Handles all UPnP events + */ +-static int Callback( Upnp_EventType event_type, void* p_event, void* p_user_data ) ++static int Callback( Upnp_EventType event_type, const void* p_event, void* p_user_data ) + { + services_discovery_t* p_sd = ( services_discovery_t* ) p_user_data; + services_discovery_sys_t* p_sys = p_sd->p_sys; +@@ -336,22 +336,23 @@ + case UPNP_DISCOVERY_ADVERTISEMENT_ALIVE: + case UPNP_DISCOVERY_SEARCH_RESULT: + { +- struct Upnp_Discovery* p_discovery = ( struct Upnp_Discovery* )p_event; ++ const UpnpDiscovery* p_discovery = ( const UpnpDiscovery* )p_event; + + IXML_Document *p_description_doc = 0; + + int i_res; +- i_res = UpnpDownloadXmlDoc( p_discovery->Location, &p_description_doc ); ++ i_res = UpnpDownloadXmlDoc( UpnpDiscovery_get_Location_cstr( p_discovery ), ++ &p_description_doc ); + if ( i_res != UPNP_E_SUCCESS ) + { + msg_Warn( p_sd, "Could not download device description! " + "Fetching data from %s failed: %s", +- p_discovery->Location, UpnpGetErrorMessage( i_res ) ); ++ UpnpDiscovery_get_Location_cstr( p_discovery ), UpnpGetErrorMessage( i_res ) ); + return i_res; + } + + MediaServer::parseDeviceDescription( p_description_doc, +- p_discovery->Location, p_sd ); ++ UpnpDiscovery_get_Location_cstr(p_discovery), p_sd ); + + ixmlDocument_free( p_description_doc ); + } +@@ -359,18 +360,18 @@ + + case UPNP_DISCOVERY_ADVERTISEMENT_BYEBYE: + { +- struct Upnp_Discovery* p_discovery = ( struct Upnp_Discovery* )p_event; ++ const UpnpDiscovery* p_discovery = ( const UpnpDiscovery* )p_event; + +- p_sys->p_server_list->removeServer( p_discovery->DeviceId ); ++ p_sys->p_server_list->removeServer( UpnpDiscovery_get_DeviceID_cstr( p_discovery ) ); + + } + break; + + case UPNP_EVENT_RECEIVED: + { +- Upnp_Event* p_e = ( Upnp_Event* )p_event; ++ const UpnpEvent* p_e = ( const UpnpEvent* )p_event; + +- MediaServer* p_server = p_sys->p_server_list->getServerBySID( p_e->Sid ); ++ MediaServer* p_server = p_sys->p_server_list->getServerBySID( UpnpEvent_get_SID_cstr( p_e ) ); + if ( p_server ) p_server->fetchContents(); + } + break; +@@ -380,9 +381,9 @@ + { + /* Re-subscribe. */ + +- Upnp_Event_Subscribe* p_s = ( Upnp_Event_Subscribe* )p_event; ++ const UpnpEventSubscribe* p_s = ( const UpnpEventSubscribe* )p_event; + +- MediaServer* p_server = p_sys->p_server_list->getServerBySID( p_s->Sid ); ++ MediaServer* p_server = p_sys->p_server_list->getServerBySID( UpnpEventSubscribe_get_SID_cstr( p_s ) ); + if ( p_server ) p_server->subscribeToContentDirectory(); + } + break; +--- a/configure.ac ++++ b/configure.ac +@@ -4040,7 +4040,7 @@ + dnl + dnl UPnP Plugin (Intel SDK) + dnl +-PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp], [Intel UPNP SDK],[auto]) ++PKG_ENABLE_MODULES_VLC([UPNP], [upnp], [libupnp >= 1.8.2], [Intel UPNP SDK],[auto]) + + EXTEND_HELP_STRING([Misc options:]) + diff --git a/debian/patches/series b/debian/patches/series index 8733a5586d5e..34b9f10cb668 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -11,3 +11,4 @@ 0011-codec-avcodec-check-avcodec-visible-sizes.patch 0012-decoder-check-visible-size-when-creating-buffer.patch 0013-codec-flac-fix-heap-write-overflow-on-frame-format-c.patch +0014-port-to-libupnp-1.8.patch -- 2.14.1
signature.asc
Description: PGP signature