Control: clone -1 -2
Control: reassign -2 ftp.debian.org
Control: retitle -2 RM: gmediaserver -- RoQA; unmaintained upstream and in 
Debian
Control: severity -2 normal

On 2018-05-19 22:11:42, Uwe Kleine-König wrote:
> Hello,
> 
> On Tue, Dec 12, 2017 at 10:06:44PM +0100, Sebastian Ramacher wrote:
> > Source: gmediaserver
> > Version: 0.13.0-8
> > Severity: important
> > Tags: sid buster
> > 
> > gmediaserver FTBFS against upnp 1.8 (available in experimental):
> > | gcc -DHAVE_CONFIG_H -I. -I. -I..  -I../lib -I../lib   -Wall 
> > -I/usr/include/uuid -pthread -I/usr/include/upnp -I/usr/include/taglib -g 
> > -O2 -c upnp.c
> > | upnp.c:210:36: warning: 'struct Upnp_Subscription_Request' declared 
> > inside parameter list will not be visible outside of this definition or 
> > declaration
> > |  handle_subscription_request(struct Upnp_Subscription_Request *request)
> > |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~
> > | upnp.c: In function 'handle_subscription_request':
> > | upnp.c:218:57: error: dereferencing pointer to incomplete type 'struct 
> > Upnp_Subscription_Request'
> > |      say(3, _("Event device UDN: %s\n"), quotearg(request->UDN));
> > |                                                          ^~
> > | upnp.c: At top level:
> > | upnp.c:261:31: warning: 'struct Upnp_State_Var_Request' declared inside 
> > parameter list will not be visible outside of this definition or declaration
> > |  handle_get_var_request(struct Upnp_State_Var_Request *request)
> > |                                ^~~~~~~~~~~~~~~~~~~~~~
> > | upnp.c: In function 'handle_get_var_request':
> > | upnp.c:269:52: error: dereferencing pointer to incomplete type 'struct 
> > Upnp_State_Var_Request'
> > |      error = getnameinfo((struct sockaddr *)&request->CtrlPtIPAddr, 
> > sizeof(request->CtrlPtIPAddr),
> > |                                                     ^~
> > | upnp.c: In function 'handle_action_request':
> > | upnp.c:317:52: error: dereferencing pointer to incomplete type 'struct 
> > Upnp_Action_Request'
> > |      error = getnameinfo((struct sockaddr *)&request->CtrlPtIPAddr, 
> > sizeof(request->CtrlPtIPAddr),
> > |                                                     ^~
> > | upnp.c: In function 'device_callback_event_handler':
> > | upnp.c:369:37: warning: passing argument 1 of 
> > 'handle_subscription_request' from incompatible pointer type 
> > [-Wincompatible-pointer-types]
> > |          handle_subscription_request((struct Upnp_Subscription_Request *) 
> > event);
> > |                                      ^
> > | upnp.c:210:1: note: expected 'struct Upnp_Subscription_Request *' but 
> > argument is of type 'struct Upnp_Subscription_Request *'
> > |  handle_subscription_request(struct Upnp_Subscription_Request *request)
> > |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~
> > | upnp.c:372:32: warning: passing argument 1 of 'handle_get_var_request' 
> > from incompatible pointer type [-Wincompatible-pointer-types]
> > |          handle_get_var_request((struct Upnp_State_Var_Request *) event);
> > |                                 ^
> > | upnp.c:261:1: note: expected 'struct Upnp_State_Var_Request *' but 
> > argument is of type 'struct Upnp_State_Var_Request *'
> > |  handle_get_var_request(struct Upnp_State_Var_Request *request)
> > |  ^~~~~~~~~~~~~~~~~~~~~~
> > | upnp.c: In function 'init_upnp':
> > | upnp.c:521:11: warning: implicit declaration of function 
> > 'UpnpSetVirtualDirCallbacks'; did you mean 'UpnpAddVirtualDir'? 
> > [-Wimplicit-function-declaration]
> > |      res = UpnpSetVirtualDirCallbacks(&virtual_dir_callbacks);
> > |            ^~~~~~~~~~~~~~~~~~~~~~~~~~
> > |            UpnpAddVirtualDir
> > | upnp.c:524:11: error: too few arguments to function 'UpnpAddVirtualDir'
> > |      res = UpnpAddVirtualDir("/files");
> > |            ^~~~~~~~~~~~~~~~~
> > | In file included from upnp.c:23:0:
> > | /usr/include/upnp/upnp.h:2741:17: note: declared here
> > |  EXPORT_SPEC int UpnpAddVirtualDir(
> > |                  ^~~~~~~~~~~~~~~~~
> > | upnp.c:527:11: error: too few arguments to function 'UpnpAddVirtualDir'
> > |      res = UpnpAddVirtualDir("/upnp");
> > |            ^~~~~~~~~~~~~~~~~
> > | In file included from upnp.c:23:0:
> > | /usr/include/upnp/upnp.h:2741:17: note: declared here
> > |  EXPORT_SPEC int UpnpAddVirtualDir(
> > |                  ^~~~~~~~~~~~~~~~~
> > | upnp.c:544:44: warning: passing argument 5 of 'UpnpRegisterRootDevice2' 
> > from incompatible pointer type [-Wincompatible-pointer-types]
> > |                strlen(mediaserver_desc), 1, 
> > device_callback_event_handler, NULL, &device);
> > |                                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> > | In file included from upnp.c:23:0:
> > | /usr/include/upnp/upnp.h:800:17: note: expected 'Upnp_FunPtr {aka int 
> > (*)(enum Upnp_EventType_e,  const void *, void *)}' but argument is of type 
> > 'int (*)(Upnp_EventType,  void *, void *) {aka int (*)(enum 
> > Upnp_EventType_e,  void *, void *)}'
> > |  EXPORT_SPEC int UpnpRegisterRootDevice2(
> > |                  ^~~~~~~~~~~~~~~~~~~~~~~
> > | Makefile:598: recipe for target 'upnp.o' failed
> 
> I looked into patching gmediaserver for building with libupnp-1.8, but
> it's not trivial. The code modifies data that is owned by libupnp, for
> example see
> https://sources.debian.org/src/gmediaserver/0.13.0-8/src/upnp.c/#L330.
> With libupnp-1.8 the program only gets a const pointer to these
> structures and so the way requests are handled need to be changed.
> 
> Given that gmediaserver was orphaned (#878730), didn't see an upload in
> the last 6 years and the last upstream release is from 2007 and the last
> upstream commit from 2009, I suggest to remove gmediaserver from Debian.

So, let's request its removal. Dear FTP masters, please remove gmediaserver
from unstable. It's unmaintained upstream and in Debian. It will become RC buggy
once we start the transition to upnp 1.8.

Cheers
-- 
Sebastian Ramacher

Attachment: signature.asc
Description: PGP signature

Reply via email to