[gmediaserver] fix build, rebuild for broken deps

Tom Callaway spot at fedoraproject.org
Wed Oct 26 21:28:18 UTC 2011


commit 74091e5f43f6a9f3da23fbd9a941861041c26789
Author: Tom "spot" Callaway <tcallawa at redhat.com>
Date:   Wed Oct 26 17:28:16 2011 -0400

    fix build, rebuild for broken deps

 gmediaserver-0.13.0-compilefix.patch |  104 ++++++++++++++++++++++++++++++++++
 gmediaserver.spec                    |   14 ++---
 2 files changed, 110 insertions(+), 8 deletions(-)
---
diff --git a/gmediaserver-0.13.0-compilefix.patch b/gmediaserver-0.13.0-compilefix.patch
new file mode 100644
index 0000000..71620c5
--- /dev/null
+++ b/gmediaserver-0.13.0-compilefix.patch
@@ -0,0 +1,104 @@
+diff -up gmediaserver-0.13.0/src/contentdir.c.fix gmediaserver-0.13.0/src/contentdir.c
+--- gmediaserver-0.13.0/src/contentdir.c.fix	2011-10-26 17:20:36.682507046 -0400
++++ gmediaserver-0.13.0/src/contentdir.c	2011-10-26 17:20:41.629444465 -0400
+@@ -22,6 +22,7 @@
+ #include <stdint.h>		/* Gnulib/C99 */
+ #include <inttypes.h>		/* ? */
+ #include <sys/stat.h>		/* POSIX */
++#include <assert.h>		/* C89 */
+ #include "gettext.h"		/* Gnulib/gettext */
+ #define _(s) gettext(s)
+ #define N_(s) gettext_noop(s)
+@@ -436,7 +437,7 @@ add_result_entry(TMap *results, Entry *e
+     tmap_put(results, entry, strbuf_free_to_string(result));
+ }
+ 
+-static char *
++static const char *
+ operator_name(int type)
+ {
+     switch (type) {
+diff -up gmediaserver-0.13.0/src/gmediaserver.h.fix gmediaserver-0.13.0/src/gmediaserver.h
+--- gmediaserver-0.13.0/src/gmediaserver.h.fix	2011-10-26 17:15:42.262233398 -0400
++++ gmediaserver-0.13.0/src/gmediaserver.h	2011-10-26 17:16:31.745606862 -0400
+@@ -262,6 +262,17 @@ int32_t upnp_get_i4(ActionEvent *event,
+ void notify_change(const char *service_id, ServiceVariable *var);
+ 
+ /* webserver.c */
++#ifndef UpnpVirtualDirCallbacks 
++struct UpnpVirtualDirCallbacks 
++{ 
++	int (*get_info) ( IN  const char *filename,    OUT struct File_Info *info  ); 
++	UpnpWebFileHandle (*open)( IN const char *filename, IN enum UpnpOpenFileMode Mode ); 
++	int (*read) ( IN UpnpWebFileHandle fileHnd, OUT char *buf,  IN size_t buflen ); 
++	int (*write) ( IN UpnpWebFileHandle fileHnd, IN char *buf, IN size_t buflen  ); 
++	int (*seek) ( IN UpnpWebFileHandle fileHnd, IN off_t offset,IN int origin  ); 
++	int (*close) ( IN UpnpWebFileHandle fileHnd ); 
++}; 
++#endif
+ extern struct UpnpVirtualDirCallbacks virtual_dir_callbacks;
+ 
+ /* webclient.c */
+diff -up gmediaserver-0.13.0/src/upnp.c.fix gmediaserver-0.13.0/src/upnp.c
+--- gmediaserver-0.13.0/src/upnp.c.fix	2011-10-26 17:03:36.356338485 -0400
++++ gmediaserver-0.13.0/src/upnp.c	2011-10-26 17:19:51.559077929 -0400
+@@ -265,7 +265,7 @@ handle_get_var_request(struct Upnp_State
+     say(3, _("Event device UDN: %s\n"), quotearg(request->DevUDN));
+     say(3, _("Event service ID: %s\n"), quotearg(request->ServiceID));
+     say(3, _("Event variable name: %s\n"), quotearg(request->StateVarName));
+-    say(3, _("Event source: %s\n"), inet_ntoa(request->CtrlPtIPAddr));
++    say(3, _("Event source: %s\n"), inet_ntoa(*(struct in_addr *)&request->CtrlPtIPAddr));
+ 
+     if (strcmp(request->DevUDN, device_udn) != 0) {
+         say(1, _("Discarding event - event device UDN (%s) not recognized\n"), quotearg(request->DevUDN));
+@@ -306,7 +306,7 @@ handle_action_request(struct Upnp_Action
+     say(3, _("Event device UDN: %s\n"), quotearg(request->DevUDN));
+     say(3, _("Event service ID: %s\n"), quotearg(request->ServiceID));
+     say(3, _("Event action name: %s\n"), quotearg(request->ActionName));
+-    say(3, _("Event source: %s\n"), inet_ntoa(request->CtrlPtIPAddr));
++    say(3, _("Event source: %s\n"), inet_ntoa(*(struct in_addr *)&request->CtrlPtIPAddr));
+     say_document(4, _("Event action request:\n"), request->ActionRequest);
+ 
+     if (strcmp(request->DevUDN, device_udn) != 0) {
+@@ -481,6 +481,32 @@ upnp_add_response(ActionEvent *event, ch
+     return true;
+ }
+ 
++static
++int set_virtual_dir_callbacks( struct UpnpVirtualDirCallbacks *vd_callbacks ){ 
++    int res = 0; 
++#ifdef UpnpSetVirtualDirCallbacks
++    res = UpnpSetVirtualDirCallbacks(vd_callbacks);
++#else
++    res = UpnpVirtualDir_set_GetInfoCallback(vd_callbacks->get_info);
++    if (res != UPNP_E_SUCCESS)
++	return res;
++    res = UpnpVirtualDir_set_OpenCallback(vd_callbacks->open);
++    if (res != UPNP_E_SUCCESS)
++	return res;
++    res = UpnpVirtualDir_set_ReadCallback(vd_callbacks->read);
++    if (res != UPNP_E_SUCCESS)
++	return res;
++    res = UpnpVirtualDir_set_WriteCallback(vd_callbacks->write);
++    if (res != UPNP_E_SUCCESS)
++	return res;
++    res = UpnpVirtualDir_set_SeekCallback(vd_callbacks->seek);
++    if (res != UPNP_E_SUCCESS)
++	return res;
++    res = UpnpVirtualDir_set_CloseCallback(vd_callbacks->close);
++    return res;
++#endif
++}
++
+ void
+ init_upnp(const char *listenip, uint16_t listenport)
+ {
+@@ -502,7 +528,7 @@ init_upnp(const char *listenip, uint16_t
+     res = UpnpEnableWebserver(TRUE);
+     if (res != UPNP_E_SUCCESS)
+         die(_("cannot enable UPnP web server - %s\n"), upnp_errmsg(res));
+-    res = UpnpSetVirtualDirCallbacks(&virtual_dir_callbacks);
++    res = set_virtual_dir_callbacks(&virtual_dir_callbacks);
+     if (res != UPNP_E_SUCCESS)
+         die(_("cannot set virtual directory callbacks - %s\n"), upnp_errmsg(res));
+     res = UpnpAddVirtualDir("/files");
diff --git a/gmediaserver.spec b/gmediaserver.spec
index a1099d9..0de421c 100644
--- a/gmediaserver.spec
+++ b/gmediaserver.spec
@@ -1,7 +1,7 @@
 %define mediadir /var/lib/gmediaserver
 Name:           gmediaserver
 Version:        0.13.0
-Release:        7%{?dist}
+Release:        8%{?dist}
 Summary:        UPnP compatible media server for the GNU system
 
 Group:          Applications/Multimedia
@@ -12,7 +12,7 @@ Source1:        %{name}.init
 Source2:        %{name}.conf
 Source3:        %{name}.logrotate
 Patch0:         %{name}-infofix.patch
-BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+Patch1:		gmediaserver-0.13.0-compilefix.patch
 
 BuildRequires:  libupnp-devel gettext taglib-devel flex byacc id3lib-devel e2fsprogs-devel pkgconfig
 BuildRequires:  file-devel
@@ -33,6 +33,7 @@ the network.
 %prep
 %setup -q
 %patch0 -p0 -b .infofix
+%patch1 -p1 -b .fix
 
 
 %build
@@ -44,8 +45,6 @@ mv -f AUTHORSfixed AUTHORS
 mv -f NEWSfixed NEWS
 
 %install
-rm -rf $RPM_BUILD_ROOT
-
 mkdir -p $RPM_BUILD_ROOT%{mediadir}
 mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/%{name}
 touch $RPM_BUILD_ROOT%{_localstatedir}/log/%{name}/%{name}.log
@@ -64,9 +63,6 @@ mv $RPM_BUILD_ROOT%{_bindir}/%{name} $RPM_BUILD_ROOT%{_sbindir}/%{name}
 %find_lang %{name}
 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
 
-%clean
-rm -rf $RPM_BUILD_ROOT
-
 %post
 /sbin/install-info %{_infodir}/%{name}.info.gz %{_infodir}/dir || :
 /sbin/chkconfig --add %{name} || :
@@ -96,7 +92,6 @@ if [ "$1" -ge "1" ] ; then
 fi
 
 %files -f %{name}.lang
-%defattr(-,root,root,-)
 %doc AUTHORS COPYING NEWS README TODO
 %{_sbindir}/%{name}
 %{_infodir}/%{name}.info.gz
@@ -109,6 +104,9 @@ fi
 %attr(-,%{name},%{name}) %{mediadir}
 
 %changelog
+* Wed Oct 26 2011 Tom Callaway <spot at fedoraproject.org> - 0.13.0-8
+- rebuild
+
 * Wed Feb 09 2011 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.13.0-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
 


More information about the scm-commits mailing list