From 7b8394f701a5e54da4b8129209f8f441e20c1d14 Mon Sep 17 00:00:00 2001 From: nico Date: Sun, 13 Nov 2011 22:16:28 +0000 Subject: [PATCH] packages/minidlna: various changes: * fix "invasive" patches (those introducing a STAGING_DIR var into upstream Makefiles) * pass proper target OS name/version, not host ones * change db path to /var/run/minidlna and log path to /var/log * use new service functions git-svn-id: svn://svn.openwrt.org/openwrt/packages@29081 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- multimedia/minidlna/Makefile | 41 +++++++++++-- multimedia/minidlna/files/minidlna.init | 11 ++-- .../minidlna/patches/010-genconfig-checks.patch | 71 ++++++++++++++++------ .../minidlna/patches/020-makefile-tweaks.patch | 40 ++++++------ 4 files changed, 115 insertions(+), 48 deletions(-) diff --git a/multimedia/minidlna/Makefile b/multimedia/minidlna/Makefile index 8adc0138f..b9bee58f8 100644 --- a/multimedia/minidlna/Makefile +++ b/multimedia/minidlna/Makefile @@ -9,7 +9,7 @@ include $(TOPDIR)/rules.mk PKG_NAME:=minidlna PKG_VERSION:=1.0.22 -PKG_RELEASE:=1 +PKG_RELEASE:=2 PKG_SOURCE:=$(PKG_NAME)_$(PKG_VERSION)_src.tar.gz PKG_SOURCE_URL:=@SF/minidlna @@ -17,13 +17,10 @@ PKG_MD5SUM:=3de2f6b54f43bb998dfad3c8fa75cef3 PKG_BUILD_PARALLEL:=0 +include $(INCLUDE_DIR)/kernel.mk include $(INCLUDE_DIR)/package.mk include $(INCLUDE_DIR)/nls.mk -MAKE_VARS += \ - ICONV_PREFIX="$(ICONV_PREFIX)" \ - INTL_PREFIX="$(INTL_PREFIX)" - define Package/minidlna SECTION:=multimedia CATEGORY:=Multimedia @@ -43,6 +40,40 @@ define Package/minidlna/conffiles /etc/minidlna.conf endef +TARGET_CPPFLAGS += \ + -I$(STAGING_DIR)/usr/include \ + -I$(STAGING_DIR)/usr/include/FLAC \ + -I$(STAGING_DIR)/usr/include/libavcodec \ + -I$(STAGING_DIR)/usr/include/libavformat \ + -I$(STAGING_DIR)/usr/include/libavutil \ + -I$(STAGING_DIR)/usr/include/libexif \ + -I$(STAGING_DIR)/usr/include/uuid \ + -I$(STAGING_DIR)/usr/include/vorbis \ + -I$(ICONV_PREFIX)/include \ + -I$(INTL_PREFIX)/include \ + -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 \ + +TARGET_LDFLAGS += \ + -L$(ICONV_PREFIX)/lib \ + -L$(INTL_PREFIX)/lib \ + -Wl,-rpath-link=$(STAGING_DIR)/usr/lib \ + +MAKE_FLAGS +=\ + CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \ + LDFLAGS="$(TARGET_LDFLAGS)" \ + ICONV_LIBS="-liconv" \ + +MAKE_VARS +=\ + PREFIX="$(STAGING_DIR)/usr" \ + ICONV_PREFIX="$(ICONV_PREFIX)" \ + INTL_PREFIX="$(INTL_PREFIX)" \ + OS_NAME="OpenWrt Linux" \ + OS_VERSION="$(LINUX_VERSION)" \ + OS_URL="http://openwrt.org/" \ + DB_PATH="/var/run/minidlna" \ + LOG_PATH="/var/log" \ + + define Package/minidlna/install $(INSTALL_DIR) $(1)/etc $(INSTALL_DATA) $(PKG_BUILD_DIR)/minidlna.conf $(1)/etc/ diff --git a/multimedia/minidlna/files/minidlna.init b/multimedia/minidlna/files/minidlna.init index 2886ef39e..64f9d3220 100644 --- a/multimedia/minidlna/files/minidlna.init +++ b/multimedia/minidlna/files/minidlna.init @@ -2,14 +2,15 @@ # Copyright (C) 2010 OpenWrt.org START=50 -BIN=/usr/bin/minidlna -PID=/var/run/minidlna.pid -SSD=start-stop-daemon + +SERVICE_USE_PID=1 start() { - $SSD -p $PID -S -x $BIN -- -P $PID + mkdir -m 0755 -p /var/log + mkdir -m 0755 -p /var/run/minidlna + service_start /usr/bin/minidlna } stop() { - $SSD -p $PID -K -s SIGINT + service_stop /usr/bin/minidlna } diff --git a/multimedia/minidlna/patches/010-genconfig-checks.patch b/multimedia/minidlna/patches/010-genconfig-checks.patch index 368f408a1..7e3be031b 100644 --- a/multimedia/minidlna/patches/010-genconfig-checks.patch +++ b/multimedia/minidlna/patches/010-genconfig-checks.patch @@ -1,6 +1,29 @@ --- a/genconfig.sh +++ b/genconfig.sh -@@ -41,22 +41,22 @@ ${RM} ${CONFIGFILE} +@@ -24,14 +24,18 @@ RM="rm -f" + CONFIGFILE="config.h" + CONFIGMACRO="__CONFIG_H__" + ++PREFIX="${PREFIX:-/usr}" ++ICONV_PREFIX="${ICONV_PREFIX:-$PREFIX}" ++INTL_PREFIX="${INTL_PREFIX:-$PREFIX}" ++ + # Database path +-DB_PATH="/tmp/minidlna" ++DB_PATH="${DB_PATH:-/tmp/minidlna}" + # Log path +-LOG_PATH="${DB_PATH}" ++LOG_PATH="${LOG_PATH:-$DB_PATH}" + + # detecting the OS name and version +-OS_NAME=`uname -s` +-OS_VERSION=`uname -r` ++OS_NAME="${OS_NAME:-$(uname -s)}" ++OS_VERSION="${OS_VERSION:-$(uname -r)}" + TIVO="/*#define TIVO_SUPPORT*/" + NETGEAR="/*#define NETGEAR*/" + READYNAS="/*#define READYNAS*/" +@@ -41,22 +45,22 @@ ${RM} ${CONFIGFILE} # Detect if there are missing headers # NOTE: This check only works with a normal distro @@ -20,26 +43,36 @@ -[ ! -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 "${STAGING_DIR}/usr/include/sqlite3.h" ] && MISSING="libsqlite3 $MISSING" -+[ ! -e "${STAGING_DIR}/usr/include/jpeglib.h" ] && MISSING="libjpeg $MISSING" -+[ ! -e "${STAGING_DIR}/usr/include/libexif/exif-loader.h" ] && MISSING="libexif $MISSING" -+[ ! -e "${STAGING_DIR}/usr/include/id3tag.h" ] && MISSING="libid3tag $MISSING" -+[ ! -e "${STAGING_DIR}/usr/include/ogg/ogg.h" ] && MISSING="libogg $MISSING" -+[ ! -e "${STAGING_DIR}/usr/include/vorbis/codec.h" ] && MISSING="libvorbis $MISSING" -+[ ! -e "${STAGING_DIR}/usr/include/FLAC/metadata.h" ] && MISSING="libflac $MISSING" -+[ ! -e "${STAGING_DIR}/usr/include/ffmpeg/avutil.h" -a \ -+ ! -e "${STAGING_DIR}/usr/include/libavutil/avutil.h" -a \ -+ ! -e "${STAGING_DIR}/usr/include/ffmpeg/libavutil/avutil.h" ] && MISSING="libavutil $MISSING" -+[ ! -e "${STAGING_DIR}/usr/include/ffmpeg/avformat.h" -a \ -+ ! -e "${STAGING_DIR}/usr/include/libavformat/avformat.h" -a \ -+ ! -e "${STAGING_DIR}/usr/include/ffmpeg/libavformat/avformat.h" ] && MISSING="libavformat $MISSING" -+[ ! -e "${STAGING_DIR}/usr/include/ffmpeg/avcodec.h" -a \ -+ ! -e "${STAGING_DIR}/usr/include/libavcodec/avcodec.h" -a \ -+ ! -e "${STAGING_DIR}/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" -@@ -184,7 +184,7 @@ fi +@@ -152,8 +156,7 @@ case $OS_NAME in + fi + ;; + *) +- echo "Unknown OS : $OS_NAME" +- exit 1 ++ echo "WARNING: Unknown OS : $OS_NAME" 1>&2 + ;; + esac + +@@ -184,7 +187,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} @@ -48,7 +81,7 @@ echo "#define HAVE_ICONV_H" >> ${CONFIGFILE} else echo -e "\nWARNING!! Iconv support not found. ID3 tag reading may not work." -@@ -193,7 +193,7 @@ fi +@@ -193,7 +196,7 @@ fi echo "" >> ${CONFIGFILE} echo "/* Enable if the system libintl.h exists for NLS support. */" >> ${CONFIGFILE} diff --git a/multimedia/minidlna/patches/020-makefile-tweaks.patch b/multimedia/minidlna/patches/020-makefile-tweaks.patch index 18d901cf7..887ebe45c 100644 --- a/multimedia/minidlna/patches/020-makefile-tweaks.patch +++ b/multimedia/minidlna/patches/020-makefile-tweaks.patch @@ -1,41 +1,43 @@ --- a/Makefile +++ b/Makefile -@@ -13,9 +13,22 @@ +@@ -10,19 +10,23 @@ + # or : + # $ make install + # ++PREFIX ?= /usr ++ICONV_PREFIX ?= $(PREFIX) ++INTL_PREFIX ?= $(PREFIX) #CFLAGS = -Wall -O -D_GNU_SOURCE -g -DDEBUG #CFLAGS = -Wall -g -Os -D_GNU_SOURCE CFLAGS = -Wall -g -O3 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 \ - -I/usr/include/ffmpeg \ - -I/usr/include/libavutil -I/usr/include/libavcodec -I/usr/include/libavformat \ - -I/usr/include/ffmpeg/libavutil -I/usr/include/ffmpeg/libavcodec -I/usr/include/ffmpeg/libavformat -+ -I$(STAGING_DIR)/usr/include \ -+ -I$(STAGING_DIR)/usr/include/FLAC \ -+ -I$(STAGING_DIR)/usr/include/libavcodec \ -+ -I$(STAGING_DIR)/usr/include/libavformat \ -+ -I$(STAGING_DIR)/usr/include/libavutil \ -+ -I$(STAGING_DIR)/usr/include/libexif \ -+ -I$(STAGING_DIR)/usr/include/uuid \ -+ -I$(STAGING_DIR)/usr/include/vorbis \ -+ -I$(ICONV_PREFIX)/include \ -+ -I$(INTL_PREFIX)/include -+LDFLAGS = -L$(STAGING_DIR)/usr/lib \ -+ -L$(ICONV_PREFIX)/lib \ -+ -L$(INTL_PREFIX)/include \ -+ -Wl,-rpath=$(STAGING_DIR)/usr/lib \ -+ -Wl,-rpath-link=$(STAGING_DIR)/usr/lib ++ -I$(PREFIX)/include/ffmpeg \ ++ -I$(PREFIX)/include/libavutil -I$(PREFIX)/include/libavcodec -I$(PREFIX)/include/libavformat \ ++ -I$(PREFIX)/include/ffmpeg/libavutil -I$(PREFIX)/include/ffmpeg/libavcodec -I$(PREFIX)/include/ffmpeg/libavformat + #STATIC_LINKING: CFLAGS += -DSTATIC #STATIC_LINKING: LDFLAGS = -static CC = gcc -@@ -37,7 +50,7 @@ BASEOBJS = minidlna.o upnphttp.o upnpdes + RM = rm -f + INSTALL = install + +-INSTALLPREFIX ?= $(DESTDIR)/usr ++INSTALLPREFIX ?= $(DESTDIR)$(PREFIX) + SBININSTALLDIR = $(INSTALLPREFIX)/sbin + ETCINSTALLDIR = $(DESTDIR)/etc + +@@ -37,7 +41,7 @@ BASEOBJS = minidlna.o upnphttp.o upnpdes ALLOBJS = $(BASEOBJS) $(LNXOBJS) -LIBS = -lpthread -lexif -ljpeg -lsqlite3 -lavformat -lavutil -lavcodec -lid3tag -lFLAC -logg -lvorbis -+LIBS = -liconv -lpthread -lexif -ljpeg -lsqlite3 -lavformat -lavutil -lavcodec -lid3tag -lFLAC -logg -lvorbis -luuid ++LIBS = -lpthread -lexif -ljpeg -lsqlite3 -lavformat -lavutil -lavcodec -lid3tag -lFLAC -logg -lvorbis -luuid $(ICONV_LIBS) #STATIC_LINKING: LIBS = -lvorbis -logg -lm -lsqlite3 -lpthread -lexif -ljpeg -lFLAC -lm -lid3tag -lz -lavformat -lavutil -lavcodec -lm TESTUPNPDESCGENOBJS = testupnpdescgen.o upnpdescgen.o -@@ -62,7 +75,7 @@ install: minidlna +@@ -62,7 +66,7 @@ install: minidlna $(INSTALL) -d $(ETCINSTALLDIR) $(INSTALL) --mode=0644 minidlna.conf $(ETCINSTALLDIR) -- 2.11.0