rpms/mediatomb/devel mediatomb_fedora11.patch, NONE, 1.1 import.log, 1.3, 1.4 mediatomb.spec, 1.11, 1.12 mediatomb_curl.patch, 1.1, NONE mediatomb_fixcompile.sf2605394.patch, 1.1, NONE

Marc Wiriadisastra mwiriadi at fedoraproject.org
Sun Jun 28 04:10:26 UTC 2009


Author: mwiriadi

Update of /cvs/pkgs/rpms/mediatomb/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv23763/devel

Modified Files:
	import.log mediatomb.spec 
Added Files:
	mediatomb_fedora11.patch 
Removed Files:
	mediatomb_curl.patch mediatomb_fixcompile.sf2605394.patch 
Log Message:
Added patch from upstream that fixes the compile time errors and 
segfaults found in the mysql code.



mediatomb_fedora11.patch:

--- NEW FILE mediatomb_fedora11.patch ---
diff -Naur mediatomb-0.11.0/src/storage/mysql/mysql_storage.cc mediatomb-0.11.0_patched/src/storage/mysql/mysql_storage.cc
--- mediatomb-0.11.0/src/storage/mysql/mysql_storage.cc	2008-03-01 23:48:34.000000000 +0100
+++ mediatomb-0.11.0_patched/src/storage/mysql/mysql_storage.cc	2009-06-27 20:50:08.000000000 +0200
@@ -124,7 +124,6 @@
         throw _Exception(_("could not create pthread_key"));
     }
     mysql_server_init(0, NULL, NULL);
-    my_init();
     pthread_setspecific(mysql_init_key, (void *) 1);
     
     Ref<ConfigManager> config = ConfigManager::getInstance();
diff -Naur mediatomb-0.11.0/src/tools.cc mediatomb-0.11.0_patched/src/tools.cc
--- mediatomb-0.11.0/src/tools.cc	2008-03-01 23:48:36.000000000 +0100
+++ mediatomb-0.11.0_patched/src/tools.cc	2009-06-27 20:52:49.000000000 +0200
@@ -303,8 +303,8 @@
     Ref<StringBuffer> buf(new StringBuffer(len / 2));
     for (int i = 0; i < len; i += 2)
     {
-        char *chi = strchr(HEX_CHARS, ptr[i]);
-        char *clo = strchr(HEX_CHARS, ptr[i + 1]);
+        const char *chi = strchr(HEX_CHARS, ptr[i]);
+        const char *clo = strchr(HEX_CHARS, ptr[i + 1]);
         int hi, lo;
         
         if (chi)
@@ -397,7 +397,7 @@
             char clo = data[i++];
             int hi, lo;
 
-            char *pos;
+            const char *pos;
 
             pos = strchr(hex, chi);
             if (!pos)
@@ -981,15 +981,13 @@
 
 void getTimespecNow(struct timespec *ts)
 {
-#ifdef HAVE_CLOCK_GETTIME 
-    clock_gettime(CLOCK_REALTIME, ts);
-#else
-    
     struct timeval tv;
-    gettimeofday(&tv, NULL);
+    int ret = gettimeofday(&tv, NULL);
+    if (ret != 0)
+        throw _Exception(_("gettimeofday failed: ") + mt_strerror(errno));
+    
     ts->tv_sec = tv.tv_sec;
     ts->tv_nsec = tv.tv_usec * 1000;
-#endif
 }
 
 long getDeltaMillis(struct timespec *first)
@@ -1054,14 +1052,7 @@
 #ifndef __CYGWIN__
     if (path.charAt(0) != DIR_SEPARATOR)
 #else
-    #warning !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! this function is not finished for Cygwin
-    #warning !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! this function is not finished for Cygwin
-    #warning !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! this function is not finished for Cygwin
-    #warning !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! this function is not finished for Cygwin
-    #warning !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! this function is not finished for Cygwin
-    #warning !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! this function is not finished for Cygwin
-    #warning !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! this function is not finished for Cygwin
-    #warning !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! this function is not finished for Cygwin
+    #error !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! this function is not finished for Cygwin
     for (int i = 0; i < 20; i++)
         print_backtrace();
     /// \todo this doesn't seem to be correct...
@@ -1113,7 +1104,7 @@
         *(str++) = DIR_SEPARATOR;
     
     *str = 0;
-    
+    result->len = strlen(result->data);
     return String(result);
 }
 
@@ -1201,6 +1192,9 @@
 Ref<Array<StringBase> > parseCommandLine(String line, String in, String out)
 {
     Ref<Array<StringBase> > params = split_string(line, ' ');
+    if ((in == nil) && (out == nil))
+        return params;
+
     for (int i = 0; i < params->size(); i++)
     {
         String param = params->get(i);
@@ -1302,6 +1296,11 @@
     FILE *f;
     char buffer[7];
     f = fopen(ogg_filename.c_str(), "rb");
+    if (!f)
+    {
+        throw _Exception(_("Error opening ") + ogg_filename + _(" : ") + 
+                    mt_strerror(errno));
+    }
     
     if (fread(buffer, 1, 4, f) != 4)
     {
@@ -1439,13 +1438,12 @@
     }
     else
     {
-        sum->tv_nsec += 1000000000 + now.tv_nsec - last_start->tv_nsec;
-        //log_debug("adding 1 sec %ld nsec\n", 1000000000 + now.tv_nsec - last_start->tv_nsec);
-        sum->tv_sec ++;
+        sum->tv_nsec += 1000000000L - last_start->tv_nsec + now.tv_nsec;
+        sum->tv_sec --;
     }
-    if (sum->tv_nsec >= 1000000000)
+    if(sum->tv_nsec >= 1000000000L)
     {
-        sum->tv_nsec -= 1000000000;
+        sum->tv_nsec -= 1000000000L;
         sum->tv_sec ++;
     }
     
diff -Naur mediatomb-0.11.0/src/url.cc mediatomb-0.11.0_patched/src/url.cc
--- mediatomb-0.11.0/src/url.cc	2008-03-01 23:48:36.000000000 +0100
+++ mediatomb-0.11.0_patched/src/url.cc	2009-06-27 20:53:49.000000000 +0200
@@ -75,7 +75,7 @@
 
     if (only_header)
     {
-        curl_easy_setopt(curl_handle, CURLOPT_NOBODY);
+        curl_easy_setopt(curl_handle, CURLOPT_NOBODY, 1);
         curl_easy_setopt(curl_handle, CURLOPT_HEADERFUNCTION, URL::dl);
         curl_easy_setopt(curl_handle, CURLOPT_HEADERDATA, 
                          (void *)buffer.getPtr());


Index: import.log
===================================================================
RCS file: /cvs/pkgs/rpms/mediatomb/devel/import.log,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -p -r1.3 -r1.4
--- import.log	24 Jan 2009 04:56:43 -0000	1.3
+++ import.log	28 Jun 2009 04:09:56 -0000	1.4
@@ -1,3 +1,4 @@
 mediatomb-0_11_0-2_fc9:HEAD:mediatomb-0.11.0-2.fc9.src.rpm:1223381865
 mediatomb-0_11_0-3_fc9:HEAD:mediatomb-0.11.0-3.fc9.src.rpm:1223383635
 mediatomb-0_11_0-5_fc10:HEAD:mediatomb-0.11.0-5.fc10.src.rpm:1232772951
+mediatomb-0_11_0-8_fc11:HEAD:mediatomb-0.11.0-8.fc11.src.rpm:1246162149


Index: mediatomb.spec
===================================================================
RCS file: /cvs/pkgs/rpms/mediatomb/devel/mediatomb.spec,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -p -r1.11 -r1.12
--- mediatomb.spec	26 Feb 2009 00:08:02 -0000	1.11
+++ mediatomb.spec	28 Jun 2009 04:09:56 -0000	1.12
@@ -1,18 +1,17 @@
 Version: 0.11.0
 Summary: UPnP AV MediaServer 
 Name: mediatomb
-Release: 7%{?dist}
+Release: 8%{?dist}
 Summary: MediaTomb - UPnP AV Mediaserver for Linux
 License: GPLv2
 Group: Applications/Multimedia
 Source: http://downloads.sourceforge.net/mediatomb/%{name}-%{version}.tar.gz
 Patch0: mediatomb-service-disable.patch
-Patch1: mediatomb_curl.patch
-Patch2: mediatomb_fixcompile.sf2605394.patch
+Patch1: mediatomb_fedora11.patch
 URL: http://mediatomb.cc
 Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) 
 BuildRequires: sqlite-devel, mysql-devel, libexif-devel, id3lib-devel, file-devel, js-devel, zlib-devel, taglib-devel
-BuildRequires: expat-devel
+BuildRequires: expat-devel, libcurl-devel
 %if 0%{?fedora} >= 9
 BuildRequires: xulrunner-devel
 %else
@@ -35,7 +34,6 @@ be found on http://www.upnp.org/.
 %setup -q
 %patch0 -p1
 %patch1 -p1
-%patch2 -p1
 
 %build
 %if 0%{?fedora} >= 9
@@ -101,6 +99,9 @@ fi
 %{_initrddir}/mediatomb
 
 %changelog
+* Sun Jun 28 2009 Marc Wiriadisastra <marc at mwiriadi.id.au> - 0.11.0-8
+- Added upstream patch which fixes compile time errors and a couple of segfaults
+
 * Wed Feb 25 2009 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 0.11.0-7
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
 


--- mediatomb_curl.patch DELETED ---


--- mediatomb_fixcompile.sf2605394.patch DELETED ---




More information about the fedora-extras-commits mailing list