Commit 7bf659ab authored by Simon Dawson's avatar Simon Dawson Committed by Peter Korsgaard
Browse files

minidlna: new package



[Peter: license is GPLv2, fix license file, drop unneeded standard include]
Signed-off-by: default avatarSimon Dawson <spdawson@gmail.com>
Signed-off-by: default avatarPeter Korsgaard <jacmet@sunsite.dk>
parent 2ea220d5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -745,6 +745,7 @@ source "package/linphone/Config.in"
source "package/lrzsz/Config.in"
source "package/macchanger/Config.in"
source "package/mii-diag/Config.in"
source "package/minidlna/Config.in"
source "package/mongoose/Config.in"
source "package/mongrel2/Config.in"
source "package/mrouted/Config.in"
+21 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_MINIDLNA
	bool "minidlna"
	depends on BR2_LARGEFILE # ffmpeg
	depends on BR2_INET_IPV6 # ffmpeg
	depends on BR2_USE_MMU # fork
	select BR2_PACKAGE_FFMPEG
	select BR2_PACKAGE_FLAC
	select BR2_PACKAGE_LIBVORBIS # selects libogg
	select BR2_PACKAGE_LIBOGG
	select BR2_PACKAGE_LIBID3TAG # selects zlib
	select BR2_PACKAGE_LIBEXIF
	select BR2_PACKAGE_LIBJPEG
	select BR2_PACKAGE_SQLITE
	help
	  MiniDLNA (aka ReadyDLNA) is server software with the aim of being
	  fully compliant with DLNA/UPnP-AV clients.

	  http://minidlna.sourceforge.net/

comment "minidlna requires a toolchain with LARGEFILE and IPV6 support"
	depends on !(BR2_LARGEFILE && BR2_INET_IPV6)
+95 −0
Original line number Diff line number Diff line
Fix the genconfig.sh script, which has a hard-coded host prefix.

N.B. The upstream CVS HEAD has been converted to GNU autotools, but a
tarball has not yet been released. When the next release tarball is made
available, this patch can be removed.

Signed-off-by: Simon Dawson <spdawson@gmail.com>

diff -Nurp a/genconfig.sh b/genconfig.sh
--- a/genconfig.sh	2012-01-21 00:34:13.000000000 +0000
+++ b/genconfig.sh	2013-05-04 21:05:12.025002800 +0100
@@ -27,6 +27,8 @@ CONFIGMACRO="__CONFIG_H__"
 DB_PATH="/tmp/minidlna"
 # Log path
 LOG_PATH="${DB_PATH}"
+# Host prefix
+PREFIX=${PREFIX:-/usr}
 
 # detecting the OS name and version
 OS_NAME=`uname -s`
@@ -40,22 +42,22 @@ ${RM} ${CONFIGFILE}
 
 # Detect if there are missing headers
 # NOTE: This check only works with a normal distro
-[ ! -e "/usr/include/sqlite3.h" ] && MISSING="libsqlite3 $MISSING"
-[ ! -e "/usr/include/jpeglib.h" ] && MISSING="libjpeg $MISSING"
-[ ! -e "/usr/include/libexif/exif-loader.h" ] && MISSING="libexif $MISSING"
-[ ! -e "/usr/include/id3tag.h" ] && MISSING="libid3tag $MISSING"
-[ ! -e "/usr/include/ogg/ogg.h" ] && MISSING="libogg $MISSING"
-[ ! -e "/usr/include/vorbis/codec.h" ] && MISSING="libvorbis $MISSING"
-[ ! -e "/usr/include/FLAC/metadata.h" ] && MISSING="libflac $MISSING"
-[ ! -e "/usr/include/ffmpeg/avutil.h" -a \
-  ! -e "/usr/include/libavutil/avutil.h" -a \
-  ! -e "/usr/include/ffmpeg/libavutil/avutil.h" ] && MISSING="libavutil $MISSING"
-[ ! -e "/usr/include/ffmpeg/avformat.h" -a \
-  ! -e "/usr/include/libavformat/avformat.h" -a \
-  ! -e "/usr/include/ffmpeg/libavformat/avformat.h" ] && MISSING="libavformat $MISSING"
-[ ! -e "/usr/include/ffmpeg/avcodec.h" -a \
-  ! -e "/usr/include/libavcodec/avcodec.h" -a \
-  ! -e "/usr/include/ffmpeg/libavcodec/avcodec.h" ] && MISSING="libavcodec $MISSING"
+[ ! -e "$PREFIX/include/sqlite3.h" ] && MISSING="libsqlite3 $MISSING"
+[ ! -e "$PREFIX/include/jpeglib.h" ] && MISSING="libjpeg $MISSING"
+[ ! -e "$PREFIX/include/libexif/exif-loader.h" ] && MISSING="libexif $MISSING"
+[ ! -e "$PREFIX/include/id3tag.h" ] && MISSING="libid3tag $MISSING"
+[ ! -e "$PREFIX/include/ogg/ogg.h" ] && MISSING="libogg $MISSING"
+[ ! -e "$PREFIX/include/vorbis/codec.h" ] && MISSING="libvorbis $MISSING"
+[ ! -e "$PREFIX/include/FLAC/metadata.h" ] && MISSING="libflac $MISSING"
+[ ! -e "$PREFIX/include/ffmpeg/avutil.h" -a \
+  ! -e "$PREFIX/include/libavutil/avutil.h" -a \
+  ! -e "$PREFIX/include/ffmpeg/libavutil/avutil.h" ] && MISSING="libavutil $MISSING"
+[ ! -e "$PREFIX/include/ffmpeg/avformat.h" -a \
+  ! -e "$PREFIX/include/libavformat/avformat.h" -a \
+  ! -e "$PREFIX/include/ffmpeg/libavformat/avformat.h" ] && MISSING="libavformat $MISSING"
+[ ! -e "$PREFIX/include/ffmpeg/avcodec.h" -a \
+  ! -e "$PREFIX/include/libavcodec/avcodec.h" -a \
+  ! -e "$PREFIX/include/ffmpeg/libavcodec/avcodec.h" ] && MISSING="libavcodec $MISSING"
 if [ -n "$MISSING" ]; then
 	echo -e "\nERROR!  Cannot continue."
 	echo -e "The following required libraries are either missing, or are missing development headers:\n"
@@ -88,7 +90,7 @@ case $OS_NAME in
 		OS_URL=http://www.openbsd.org/
 		;;
 	FreeBSD)
-		VER=`grep '#define __FreeBSD_version' /usr/include/sys/param.h | awk '{print $3}'`
+		VER=`grep '#define __FreeBSD_version' $PREFIX/include/sys/param.h | awk '{print $3}'`
 		if [ $VER -ge 700049 ]; then
 			echo "#define PFRULE_INOUT_COUNTS" >> ${CONFIGFILE}
 		fi
@@ -175,7 +177,7 @@ echo "#define USE_DAEMON" >> ${CONFIGFIL
 echo "" >> ${CONFIGFILE}
 
 echo "/* Enable if the system inotify.h exists.  Otherwise our own inotify.h will be used. */" >> ${CONFIGFILE}
-if [ -f /usr/include/sys/inotify.h ]; then
+if [ -f $PREFIX/include/sys/inotify.h ]; then
 echo "#define HAVE_INOTIFY_H" >> ${CONFIGFILE}
 else
 echo "/*#define HAVE_INOTIFY_H*/" >> ${CONFIGFILE}
@@ -183,7 +185,7 @@ fi
 echo "" >> ${CONFIGFILE}
 
 echo "/* Enable if the system iconv.h exists.  ID3 tag reading in various character sets will not work properly otherwise. */" >> ${CONFIGFILE}
-if [ -f /usr/include/iconv.h ]; then
+if [ -f $PREFIX/include/iconv.h ]; then
 echo "#define HAVE_ICONV_H" >> ${CONFIGFILE}
 else
 echo -e "\nWARNING!!  Iconv support not found.  ID3 tag reading may not work."
@@ -192,7 +194,7 @@ fi
 echo "" >> ${CONFIGFILE}
 
 echo "/* Enable if the system libintl.h exists for NLS support. */" >> ${CONFIGFILE}
-if [ -f /usr/include/libintl.h ]; then
+if [ -f $PREFIX/include/libintl.h ]; then
 echo "#define ENABLE_NLS" >> ${CONFIGFILE}
 else
 echo "/*#define ENABLE_NLS*/" >> ${CONFIGFILE}
+20 −0
Original line number Diff line number Diff line
Fix the Makefile.

N.B. The upstream CVS HEAD has been converted to GNU autotools, but a
tarball has not yet been released. When the next release tarball is made
available, this patch can be removed.

Signed-off-by: Simon Dawson <spdawson@gmail.com>

diff -Nurp a/Makefile b/Makefile
--- a/Makefile	2012-01-17 22:49:01.000000000 +0000
+++ b/Makefile	2013-05-04 22:29:19.947073948 +0100
@@ -64,7 +64,7 @@ install-conf:
 	$(INSTALL) -d $(ETCINSTALLDIR)
 	$(INSTALL) --mode=0644 minidlna.conf $(ETCINSTALLDIR)
 
-minidlna:	$(BASEOBJS) $(LNXOBJS) $(LIBS)
+minidlna:	$(BASEOBJS) $(LNXOBJS)
 	@echo Linking $@
 	@$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(BASEOBJS) $(LNXOBJS) $(LIBS)
 
+19 −0
Original line number Diff line number Diff line
Fix a missing header include, required for S_ISVTX et al.

N.B. This change is in the upstream CVS HEAD, but is not in the latest
released tarball. When the next release tarball is made available, this
patch can be removed.

Signed-off-by: Simon Dawson <spdawson@gmail.com>

diff -Nurp a/minidlna.c b/minidlna.c
--- a/minidlna.c	2012-05-08 01:10:42.000000000 +0100
+++ b/minidlna.c	2013-05-04 21:28:35.372717737 +0100
@@ -57,6 +57,7 @@
 #include <arpa/inet.h>
 #include <fcntl.h>
 #include <sys/file.h>
+#include <sys/stat.h>
 #include <sys/time.h>
 #include <time.h>
 #include <signal.h>
Loading