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
This commit is contained in:
nico 2011-11-13 22:16:28 +00:00
parent 94bb1f0d7c
commit 7b8394f701
4 changed files with 115 additions and 48 deletions

View File

@ -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/

View File

@ -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
}

View File

@ -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}

View File

@ -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)