From 50294fafc38323e6519253e6a7ac5782768d231b Mon Sep 17 00:00:00 2001 From: Markham Date: Thu, 11 Feb 2016 03:13:27 +0100 Subject: [PATCH] fix building uShare with uClibc --- archive-patches/ushare1.1a.diff | 425 ++++++++++++++++++-------------- 1 file changed, 236 insertions(+), 189 deletions(-) diff --git a/archive-patches/ushare1.1a.diff b/archive-patches/ushare1.1a.diff index 84f5f48..9f2c8e9 100644 --- a/archive-patches/ushare1.1a.diff +++ b/archive-patches/ushare1.1a.diff @@ -1,6 +1,6 @@ diff -uNr ushare-1.1a/configure ushare-1.1b/configure ---- ushare-1.1a/configure 2007-12-09 08:03:36.000000000 -0500 -+++ ushare-1.1b/configure 2012-03-25 17:35:07.000000000 -0400 +--- ushare-1.1a/configure 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/configure 2016-02-11 02:17:48.788843889 +0100 @@ -42,6 +42,9 @@ echo " --with-libdlna-dir=DIR check for libdlna installed in DIR" echo "" @@ -100,8 +100,8 @@ diff -uNr ushare-1.1a/configure ushare-1.1b/configure diff -uNr ushare-1.1a/scripts/Makefile ushare-1.1b/scripts/Makefile ---- ushare-1.1a/scripts/Makefile 2007-12-09 08:03:36.000000000 -0500 -+++ ushare-1.1b/scripts/Makefile 2012-03-25 17:35:07.000000000 -0400 +--- ushare-1.1a/scripts/Makefile 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/scripts/Makefile 2016-02-11 02:17:48.788843889 +0100 @@ -3,6 +3,11 @@ endif include ../config.mak @@ -125,54 +125,69 @@ diff -uNr ushare-1.1a/scripts/Makefile ushare-1.1b/scripts/Makefile $(INSTALL) -d $(sysconfdir) $(INSTALL) -m 644 $(CONF_FILE) $(sysconfdir) $(INSTALL) -d $(sysconfdir)/init.d -diff -uNr ushare-1.1a/src/Makefile ushare-1.1b/src/Makefile ---- ushare-1.1a/src/Makefile 2007-12-09 08:03:36.000000000 -0500 -+++ ushare-1.1b/src/Makefile 2012-03-25 17:35:07.000000000 -0400 -@@ -3,6 +3,15 @@ - endif - include ../config.mak +diff -uNr ushare-1.1a/scripts/ushare.conf ushare-1.1b/scripts/ushare.conf +--- ushare-1.1a/scripts/ushare.conf 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/scripts/ushare.conf 2016-02-11 02:17:48.796843888 +0100 +@@ -2,11 +2,11 @@ + # Configuration file for uShare -+ifeq ($(DEVELOPER),yes) -+ ifeq ($(HAVE_ETAGS),yes) -+ BUILD_RULES += TAGS -+ endif -+ ifeq ($(HAVE_CTAGS),yes) -+ BUILD_RULES += tags -+ endif -+endif -+ - PROG = ushare + # uShare UPnP Friendly Name (default is 'uShare'). +-USHARE_NAME= ++USHARE_NAME=coolstream - EXTRADIST = ushare.1 \ -@@ -50,7 +59,7 @@ + # Interface to listen to (default is eth0). + # Ex : USHARE_IFACE=eth1 +-USHARE_IFACE= ++USHARE_IFACE=eth0 - .SUFFIXES: .c .o + # Port to listen to (default is random from IANA Dynamic Ports range) + # Ex : USHARE_PORT=49200 +@@ -18,7 +18,7 @@ --all: depend $(PROG) -+all: depend $(BUILD_RULES) $(PROG) + # Directories to be shared (space or CSV list). + # Ex: USHARE_DIR=/dir1,/dir2 +-USHARE_DIR= ++USHARE_DIR=/media/sda1,media/sdb1 - .c.o: - $(CC) -c $(CFLAGS) $(OPTFLAGS) -o $@ $< -@@ -58,6 +67,14 @@ - $(PROG): $(OBJS) - $(CC) $(OBJS) $(LDFLAGS) $(EXTRALIBS) -o $@ + # Use to override what happens when iconv fails to parse a file name. + # The default uShare behaviour is to not add the entry in the media list +@@ -28,7 +28,7 @@ + # as is. (Umlauts for all!) + # + # Options are TRUE/YES/1 for override and anything else for default behaviour +-USHARE_OVERRIDE_ICONV_ERR= ++USHARE_OVERRIDE_ICONV_ERR=yes -+TAGS: -+ @rm -f $@; \ -+ ( find -name '*.[chS]' -print ) | xargs etags -a -+ -+tags: -+ @rm -f $@; \ -+ ( find -name '*.[chS]' -print ) | xargs ctags -a; -+ - clean: - -$(RM) -f *.o $(PROG) - -$(RM) -f .depend -diff --git a/src/ctrl_telnet.c b/src/ctrl_telnet.c -index 0849d80..b3e9e8d 100644 ---- a/src/ctrl_telnet.c -+++ b/src/ctrl_telnet.c -@@ -202,6 +202,7 @@ ctrl_telnet_start (int port) + # Enable Web interface (yes/no) + ENABLE_WEB= +diff -uNr ushare-1.1a/src/cds.c ushare-1.1b/src/cds.c +--- ushare-1.1a/src/cds.c 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/src/cds.c 2016-02-11 02:17:48.796843888 +0100 +@@ -19,7 +19,9 @@ + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + ++#include + #include ++#include + #include + #include + +diff -uNr ushare-1.1a/src/cms.c ushare-1.1b/src/cms.c +--- ushare-1.1a/src/cms.c 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/src/cms.c 2016-02-11 02:17:48.796843888 +0100 +@@ -20,6 +20,7 @@ + */ + + #include ++#include + #include + #include + +diff -uNr ushare-1.1a/src/ctrl_telnet.c ushare-1.1b/src/ctrl_telnet.c +--- ushare-1.1a/src/ctrl_telnet.c 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/src/ctrl_telnet.c 2016-02-11 02:17:48.792843889 +0100 +@@ -202,6 +202,7 @@ void ctrl_telnet_stop (void) { @@ -180,7 +195,7 @@ index 0849d80..b3e9e8d 100644 pthread_mutex_lock (&startstop_lock); if (!started) -@@ -211,7 +212,7 @@ ctrl_telnet_stop (void) +@@ -211,7 +212,7 @@ } /* yes is int, which is bigger then char, so this should be safe */ @@ -189,44 +204,18 @@ index 0849d80..b3e9e8d 100644 pthread_mutex_unlock (&startstop_lock); pthread_join (ttd.thread, NULL); -diff --git a/src/mime.c b/src/mime.c -index 66c48ab..bf0121b 100644 ---- a/src/mime.c -+++ b/src/mime.c -@@ -144,7 +144,8 @@ char *mime_get_protocol (struct mime_type_t *mime) - if (!mime) - return NULL; +diff -uNr ushare-1.1a/src/http.c ushare-1.1b/src/http.c +--- ushare-1.1a/src/http.c 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/src/http.c 2016-02-11 02:17:48.796843888 +0100 +@@ -25,6 +25,7 @@ + #include + #include + #include ++#include + #include + #include -- sprintf (protocol, mime->mime_protocol); -+ //sprintf (protocol, mime->mime_protocol); -+ strcpy (protocol, mime->mime_protocol); - strcat (protocol, "*"); - return strdup (protocol); - } -diff --git a/src/mime.c b/src/mime.c -index bf0121b..f38deca 100644 ---- a/src/mime.c -+++ b/src/mime.c -@@ -53,6 +53,7 @@ const struct mime_type_t MIME_Type_List[] = { - { "mpeg2", UPNP_VIDEO, "http-get:*:video/mpeg2:"}, - { "m4v", UPNP_VIDEO, "http-get:*:video/mp4:"}, - { "m4p", UPNP_VIDEO, "http-get:*:video/mp4:"}, -+ { "mp4", UPNP_VIDEO, "http-get:*:video/mp4:"}, - { "mp4ps", UPNP_VIDEO, "http-get:*:video/x-nerodigital-ps:"}, - { "ts", UPNP_VIDEO, "http-get:*:video/mpeg2:"}, - { "ogm", UPNP_VIDEO, "http-get:*:video/mpeg:"}, -@@ -79,7 +80,6 @@ const struct mime_type_t MIME_Type_List[] = { - { "mp1", UPNP_AUDIO, "http-get:*:audio/mp1:"}, - { "mp2", UPNP_AUDIO, "http-get:*:audio/mp2:"}, - { "mp3", UPNP_AUDIO, "http-get:*:audio/mpeg:"}, -- { "mp4", UPNP_AUDIO, "http-get:*:audio/mp4:"}, - { "m4a", UPNP_AUDIO, "http-get:*:audio/mp4:"}, - { "ogg", UPNP_AUDIO, "http-get:*:audio/x-ogg:"}, - { "wav", UPNP_AUDIO, "http-get:*:audio/wav:"}, -diff -wbBur ushare-1.1a/src/http.c ushare-1.1a.my/src/http.c ---- ushare-1.1a/src/http.c 2007-12-09 13:03:36.000000000 +0000 -+++ ushare-1.1a.my/src/http.c 2010-10-29 11:13:07.000000000 +0000 -@@ -77,8 +77,7 @@ +@@ -77,8 +78,7 @@ info->content_type = ixmlCloneDOMString (content_type); } @@ -236,7 +225,7 @@ diff -wbBur ushare-1.1a/src/http.c ushare-1.1a.my/src/http.c { extern struct ushare_t *ut; struct upnp_entry_t *entry = NULL; -@@ -197,8 +196,7 @@ +@@ -197,8 +197,7 @@ return ((UpnpWebFileHandle) file); } @@ -246,7 +235,7 @@ diff -wbBur ushare-1.1a/src/http.c ushare-1.1a.my/src/http.c { extern struct ushare_t *ut; struct upnp_entry_t *entry = NULL; -@@ -251,8 +249,7 @@ +@@ -251,8 +250,7 @@ return ((UpnpWebFileHandle) file); } @@ -256,7 +245,7 @@ diff -wbBur ushare-1.1a/src/http.c ushare-1.1a.my/src/http.c { struct web_file_t *file = (struct web_file_t *) fh; ssize_t len = -1; -@@ -286,8 +283,7 @@ +@@ -286,8 +284,7 @@ return len; } @@ -266,7 +255,7 @@ diff -wbBur ushare-1.1a/src/http.c ushare-1.1a.my/src/http.c char *buf __attribute__((unused)), size_t buflen __attribute__((unused))) { -@@ -296,8 +292,7 @@ +@@ -296,8 +293,7 @@ return 0; } @@ -276,7 +265,7 @@ diff -wbBur ushare-1.1a/src/http.c ushare-1.1a.my/src/http.c { struct web_file_t *file = (struct web_file_t *) fh; off_t newpos = -1; -@@ -371,8 +366,7 @@ +@@ -371,8 +367,7 @@ return 0; } @@ -286,7 +275,7 @@ diff -wbBur ushare-1.1a/src/http.c ushare-1.1a.my/src/http.c { struct web_file_t *file = (struct web_file_t *) fh; -@@ -402,13 +396,3 @@ +@@ -402,13 +397,3 @@ return 0; } @@ -300,9 +289,9 @@ diff -wbBur ushare-1.1a/src/http.c ushare-1.1a.my/src/http.c - http_seek, - http_close - }; -diff -wbBur ushare-1.1a/src/http.h ushare-1.1a.my/src/http.h ---- ushare-1.1a/src/http.h 2007-12-09 13:03:36.000000000 +0000 -+++ ushare-1.1a.my/src/http.h 2010-10-29 11:13:11.000000000 +0000 +diff -uNr ushare-1.1a/src/http.h ushare-1.1b/src/http.h +--- ushare-1.1a/src/http.h 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/src/http.h 2016-02-11 02:17:48.792843889 +0100 @@ -25,6 +25,13 @@ #include #include @@ -318,9 +307,135 @@ diff -wbBur ushare-1.1a/src/http.h ushare-1.1a.my/src/http.h +int http_get_info (const char *filename, struct File_Info *info); #endif /* _HTTP_H_ */ -diff -wbBur ushare-1.1a/src/ushare.c ushare-1.1a.my/src/ushare.c ---- ushare-1.1a/src/ushare.c 2007-12-09 13:03:36.000000000 +0000 -+++ ushare-1.1a.my/src/ushare.c 2010-10-29 11:17:45.000000000 +0000 +diff -uNr ushare-1.1a/src/Makefile ushare-1.1b/src/Makefile +--- ushare-1.1a/src/Makefile 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/src/Makefile 2016-02-11 02:17:48.788843889 +0100 +@@ -3,6 +3,15 @@ + endif + include ../config.mak + ++ifeq ($(DEVELOPER),yes) ++ ifeq ($(HAVE_ETAGS),yes) ++ BUILD_RULES += TAGS ++ endif ++ ifeq ($(HAVE_CTAGS),yes) ++ BUILD_RULES += tags ++ endif ++endif ++ + PROG = ushare + + EXTRADIST = ushare.1 \ +@@ -50,7 +59,7 @@ + + .SUFFIXES: .c .o + +-all: depend $(PROG) ++all: depend $(BUILD_RULES) $(PROG) + + .c.o: + $(CC) -c $(CFLAGS) $(OPTFLAGS) -o $@ $< +@@ -58,6 +67,14 @@ + $(PROG): $(OBJS) + $(CC) $(OBJS) $(LDFLAGS) $(EXTRALIBS) -o $@ + ++TAGS: ++ @rm -f $@; \ ++ ( find -name '*.[chS]' -print ) | xargs etags -a ++ ++tags: ++ @rm -f $@; \ ++ ( find -name '*.[chS]' -print ) | xargs ctags -a; ++ + clean: + -$(RM) -f *.o $(PROG) + -$(RM) -f .depend +diff -uNr ushare-1.1a/src/mime.c ushare-1.1b/src/mime.c +--- ushare-1.1a/src/mime.c 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/src/mime.c 2016-02-11 02:17:48.792843889 +0100 +@@ -53,6 +53,7 @@ + { "mpeg2", UPNP_VIDEO, "http-get:*:video/mpeg2:"}, + { "m4v", UPNP_VIDEO, "http-get:*:video/mp4:"}, + { "m4p", UPNP_VIDEO, "http-get:*:video/mp4:"}, ++ { "mp4", UPNP_VIDEO, "http-get:*:video/mp4:"}, + { "mp4ps", UPNP_VIDEO, "http-get:*:video/x-nerodigital-ps:"}, + { "ts", UPNP_VIDEO, "http-get:*:video/mpeg2:"}, + { "ogm", UPNP_VIDEO, "http-get:*:video/mpeg:"}, +@@ -79,7 +80,6 @@ + { "mp1", UPNP_AUDIO, "http-get:*:audio/mp1:"}, + { "mp2", UPNP_AUDIO, "http-get:*:audio/mp2:"}, + { "mp3", UPNP_AUDIO, "http-get:*:audio/mpeg:"}, +- { "mp4", UPNP_AUDIO, "http-get:*:audio/mp4:"}, + { "m4a", UPNP_AUDIO, "http-get:*:audio/mp4:"}, + { "ogg", UPNP_AUDIO, "http-get:*:audio/x-ogg:"}, + { "wav", UPNP_AUDIO, "http-get:*:audio/wav:"}, +@@ -144,7 +144,8 @@ + if (!mime) + return NULL; + +- sprintf (protocol, mime->mime_protocol); ++ //sprintf (protocol, mime->mime_protocol); ++ strcpy (protocol, mime->mime_protocol); + strcat (protocol, "*"); + return strdup (protocol); + } +diff -uNr ushare-1.1a/src/presentation.c ushare-1.1b/src/presentation.c +--- ushare-1.1a/src/presentation.c 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/src/presentation.c 2016-02-11 02:17:48.796843888 +0100 +@@ -18,7 +18,9 @@ + * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + */ + ++#include + #include ++#include + + #if HAVE_LANGINFO_CODESET + # include +diff -uNr ushare-1.1a/src/services.c ushare-1.1b/src/services.c +--- ushare-1.1a/src/services.c 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/src/services.c 2016-02-11 02:17:48.796843888 +0100 +@@ -20,6 +20,7 @@ + */ + + #include ++#include + #include + #include + +diff -uNr ushare-1.1a/src/trace.c ushare-1.1b/src/trace.c +--- ushare-1.1a/src/trace.c 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/src/trace.c 2016-02-11 02:58:25.784764698 +0100 +@@ -57,7 +57,11 @@ + va_end (va); + } + ++#ifdef __UCLIBC__ ++extern inline void ++#else + inline void ++#endif + start_log (void) + { + openlog (PACKAGE_NAME, LOG_PID, LOG_DAEMON); +diff -uNr ushare-1.1a/src/trace.h ushare-1.1b/src/trace.h +--- ushare-1.1a/src/trace.h 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/src/trace.h 2016-02-11 02:57:24.632766685 +0100 +@@ -29,7 +29,11 @@ + + void print_log (log_level level, const char *format, ...) + __attribute__ ((format (printf, 2, 3))); ++#ifdef __UCLIBC__ ++extern inline void start_log (void); ++#else + inline void start_log (void); ++#endif + + /* log_info + * Normal print, to replace printf +diff -uNr ushare-1.1a/src/ushare.c ushare-1.1b/src/ushare.c +--- ushare-1.1a/src/ushare.c 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/src/ushare.c 2016-02-11 02:59:53.076761861 +0100 @@ -188,7 +188,7 @@ if (strcmp (request->DevUDN + 5, ut->udn)) return; @@ -379,97 +494,29 @@ diff -wbBur ushare-1.1a/src/ushare.c ushare-1.1a.my/src/ushare.c if (res != UPNP_E_SUCCESS) { log_error (_("Cannot set virtual directory callbacks\n")); -diff -uNr ushare-1.1a.a/src/cds.c ushare-1.1a.b/src/cds.c ---- ushare-1.1a.a/src/cds.c 2007-12-09 08:03:36.000000000 -0500 -+++ ushare-1.1a.b/src/cds.c 2012-05-27 11:28:42.000000000 -0400 -@@ -19,7 +19,9 @@ - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -+#include - #include -+#include - #include - #include - -diff -uNr ushare-1.1a.a/src/cms.c ushare-1.1a.b/src/cms.c ---- ushare-1.1a.a/src/cms.c 2007-12-09 08:03:36.000000000 -0500 -+++ ushare-1.1a.b/src/cms.c 2012-05-27 11:25:03.000000000 -0400 -@@ -20,6 +20,7 @@ - */ - - #include -+#include - #include - #include - -diff -uNr ushare-1.1a.a/src/http.c ushare-1.1a.b/src/http.c ---- ushare-1.1a.a/src/http.c 2012-05-27 11:23:32.000000000 -0400 -+++ ushare-1.1a.b/src/http.c 2012-05-27 11:25:13.000000000 -0400 -@@ -25,6 +25,7 @@ - #include - #include - #include -+#include - #include - #include - -diff -uNr ushare-1.1a.a/src/presentation.c ushare-1.1a.b/src/presentation.c ---- ushare-1.1a.a/src/presentation.c 2007-12-09 08:03:36.000000000 -0500 -+++ ushare-1.1a.b/src/presentation.c 2012-05-27 11:30:08.000000000 -0400 -@@ -18,7 +18,9 @@ - * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - -+#include - #include -+#include - - #if HAVE_LANGINFO_CODESET - # include -diff -uNr ushare-1.1a.a/src/services.c ushare-1.1a.b/src/services.c ---- ushare-1.1a.a/src/services.c 2007-12-09 08:03:36.000000000 -0500 -+++ ushare-1.1a.b/src/services.c 2012-05-27 11:25:26.000000000 -0400 -@@ -20,6 +20,7 @@ - */ - - #include -+#include - #include - #include - -diff -Naur ushare-1.1a/scripts/ushare.conf ushare-1.1a_/scripts/ushare.conf ---- ushare-1.1a/scripts/ushare.conf 2007-12-09 14:03:36.000000000 +0100 -+++ ushare-1.1a_/scripts/ushare.conf 2012-07-05 09:35:00.000000000 +0200 -@@ -2,11 +2,11 @@ - # Configuration file for uShare - - # uShare UPnP Friendly Name (default is 'uShare'). --USHARE_NAME= -+USHARE_NAME=coolstream - - # Interface to listen to (default is eth0). - # Ex : USHARE_IFACE=eth1 --USHARE_IFACE= -+USHARE_IFACE=eth0 - - # Port to listen to (default is random from IANA Dynamic Ports range) - # Ex : USHARE_PORT=49200 -@@ -18,7 +18,7 @@ - - # Directories to be shared (space or CSV list). - # Ex: USHARE_DIR=/dir1,/dir2 --USHARE_DIR= -+USHARE_DIR=/media/sda1,media/sdb1 - - # Use to override what happens when iconv fails to parse a file name. - # The default uShare behaviour is to not add the entry in the media list -@@ -28,7 +28,7 @@ - # as is. (Umlauts for all!) - # - # Options are TRUE/YES/1 for override and anything else for default behaviour --USHARE_OVERRIDE_ICONV_ERR= -+USHARE_OVERRIDE_ICONV_ERR=yes +@@ -718,7 +758,11 @@ + } + } - # Enable Web interface (yes/no) - ENABLE_WEB= ++#ifdef __UCLIBC__ ++extern inline void ++#else + inline void ++#endif + display_headers (void) + { + printf (_("%s (version %s), a lightweight UPnP A/V and DLNA Media Server.\n"), +diff -uNr ushare-1.1a/src/ushare.h ushare-1.1b/src/ushare.h +--- ushare-1.1a/src/ushare.h 2007-12-09 14:03:36.000000000 +0100 ++++ ushare-1.1b/src/ushare.h 2016-02-11 02:59:16.980763034 +0100 +@@ -127,6 +127,9 @@ + struct service_t *service; + }; + ++#ifdef __UCLIBC__ ++extern inline void display_headers (void); ++#else + inline void display_headers (void); +- ++#endif + #endif /* _USHARE_H_ */ -- 2.39.5