r6743 - in /vdr/vdr/trunk/debian: changelog patches/81_Make_config.dpatch plugin-loader.sh rules vdr.postrm

tiber-guest at users.alioth.debian.org tiber-guest at users.alioth.debian.org
Sat Apr 12 21:38:00 UTC 2008


Author: tiber-guest
Date: Sat Apr 12 21:38:00 2008
New Revision: 6743

URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/?sc=1&rev=6743
Log:
* Modified 81_Make_config.dpatch to set the default CXXFLAGS and CFLAGS
  required for building VDR and VDR plugins. This was necessary, because newer
  versions of dpkg-buildpackage export CXXFLAGS. Because the upstream's
  Makefile of VDR and VDR plugins usually define the compiler arguments
  as "CXXFLAGS ?=...", these settings are ignored when an environment variable
  CXXFLAGS exists. On non-i386 builds this causes a FTBFS for all plugins,
  because of the missing -fPIC. Plugins, that require special compiler
  arguments, should from now on pass CXXFLAGS as an arguemtn to the make call
  in debian/rules. (closes: #475710)
* Added caching to plugin-loader.sh to speed up the initial startup of vdr
  (Patch provided by Michael Burian <michael.burian at sbg.at>)

Modified:
    vdr/vdr/trunk/debian/changelog
    vdr/vdr/trunk/debian/patches/81_Make_config.dpatch
    vdr/vdr/trunk/debian/plugin-loader.sh
    vdr/vdr/trunk/debian/rules
    vdr/vdr/trunk/debian/vdr.postrm

Modified: vdr/vdr/trunk/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/changelog?rev=6743&op=diff
==============================================================================
--- vdr/vdr/trunk/debian/changelog (original)
+++ vdr/vdr/trunk/debian/changelog Sat Apr 12 21:38:00 2008
@@ -3,6 +3,17 @@
   [ Tobias Grimm ]
   * Removed makedev dependency (not needed anymore since 1.4.7-2)
   * Added dependency to at (required by shutdown scripts)
+  * Modified 81_Make_config.dpatch to set the default CXXFLAGS and CFLAGS
+    required for building VDR and VDR plugins. This was necessary, because newer
+    versions of dpkg-buildpackage export CXXFLAGS. Because the upstream's
+    Makefile of VDR and VDR plugins usually define the compiler arguments
+    as "CXXFLAGS ?=...", these settings are ignored when an environment variable
+    CXXFLAGS exists. On non-i386 builds this causes a FTBFS for all plugins,
+    because of the missing -fPIC. Plugins, that require special compiler
+    arguments, should from now on pass CXXFLAGS as an arguemtn to the make call
+    in debian/rules. (closes: #475710)
+  * Added caching to plugin-loader.sh to speed up the initial startup of vdr
+    (Patch provided by Michael Burian <michael.burian at sbg.at>)
 
   [ Thomas Günther ]
   * Upgraded make-special-vdr.sh to version 0.8

Modified: vdr/vdr/trunk/debian/patches/81_Make_config.dpatch
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/patches/81_Make_config.dpatch?rev=6743&op=diff
==============================================================================
--- vdr/vdr/trunk/debian/patches/81_Make_config.dpatch (original)
+++ vdr/vdr/trunk/debian/patches/81_Make_config.dpatch Sat Apr 12 21:38:00 2008
@@ -6,17 +6,29 @@
 ## DP: Add Make.config to compile debug versions.
 
 @DPATCH@
-diff -urNad vdr-1.3.49~/Make.config vdr-1.3.49/Make.config
---- vdr-1.3.49~/Make.config	1970-01-01 01:00:00.000000000 +0100
-+++ vdr-1.3.49/Make.config	2006-04-30 15:58:07.000000000 +0200
-@@ -0,0 +1,10 @@
-+# 
-+# Create an unoptimized binary with debug symbols for gdb, if VDRDEBUG
-+# is set
+diff -urNad vdr-1.6.0~/Make.config vdr-1.6.0/Make.config
+--- vdr-1.6.0~/Make.config	1970-01-01 01:00:00.000000000 +0100
++++ vdr-1.6.0/Make.config	2008-04-12 21:40:20.000000000 +0200
+@@ -0,0 +1,22 @@
++#
++# The following compiler settings are requiered for Debian builds and will be
++# included by the Makefile of VDR and most plug-ins.
 +#
 +
-+ifdef VDRDEBUG
-+    CXXFLAGS += -O0 -g -ggdb
-+    CFLAGS += -O0 -g -ggdb
++CFLAGS   = -g -Wall
++CXXFLAGS = -g -Wall -Woverloaded-virtual -Wno-parentheses
++
++ifndef VDRDEBUG
++    CXXFLAGS += -O2
++    CFLAGS += -O2
++else
++    # No Optimization for debug builds
++    CXXFLAGS += -O0
++    CFLAGS += -O0
 +    DEFINES += -DVDRDEBUG
 +endif
++
++ifndef BUILDVDR
++    # Requiered for plug-ins only, not for VDR itself
++    CXXFLAGS += -fPIC
++endif

Modified: vdr/vdr/trunk/debian/plugin-loader.sh
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/plugin-loader.sh?rev=6743&op=diff
==============================================================================
--- vdr/vdr/trunk/debian/plugin-loader.sh (original)
+++ vdr/vdr/trunk/debian/plugin-loader.sh Sat Apr 12 21:38:00 2008
@@ -20,20 +20,39 @@
 
     vdrcmd="/usr/bin/vdr -u $USER $OPTIONS"
 
+    CACHE_DIR="/var/cache/vdr"
+    CACHE_FILE="${CACHE_DIR}/plugin_search_cache"
+    CACHE_MD5="${CACHE_FILE}.md5"
+
     version=`eval "$vdrcmd -V -L/usr/bin/vdr 2>/dev/null | sed 's/.*(\(.*\)).*/\1/'"`
     test "$version" || version="unknown version"
 
     PLUGINS=""
 
-    echo -ne "\nSearching for plugins (VDR $version):"
+    echo -ne "\nSearching for plugins (VDR $version) "
 
     # find installed plugins
     version=`echo "$version" | sed 's:.*/::'`
-    plugins=(`find ${PLUGIN_DIR} -maxdepth 1 \
-                   -name "${PLUGIN_PREFIX}*.so.${version}" | \
-              xargs -r dpkg -S 2>&1 | \
-              sed "s/^dpkg:/'':/" | \
-              sed "s/:.*${PLUGIN_PREFIX}\([^\.]\+\)\.so\.${version}.*$/:\1/"`)
+    # cached plugin index up to date ?
+    if [ -e ${CACHE_MD5} ] && \
+       [ -e ${CACHE_FILE} ] && \
+       md5sum ${PLUGIN_DIR}/*.so.* ${CACHE_FILE} | diff -q ${CACHE_MD5} /dev/stdin 1>/dev/null
+    then
+        plugins=`cat ${CACHE_FILE}`
+        echo -ne "(cache hit):"
+    else
+        echo -ne "(cache miss):"
+        # clear stale cache files
+        rm -f ${CACHE_FILE} ${CACHE_MD5}
+        plugins=(`find ${PLUGIN_DIR} -maxdepth 1 \
+                       -name "${PLUGIN_PREFIX}*.so.${version}" | \
+                   xargs -r dpkg -S 2>&1 | \
+                   sed "s/^dpkg:/'':/" | \
+                   sed "s/:.*${PLUGIN_PREFIX}\([^\.]\+\)\.so\.${version}.*$/:\1/"`)
+        # write results into cache
+        echo ${plugins[@]} > ${CACHE_FILE}
+        md5sum ${PLUGIN_DIR}/*.so.* ${CACHE_FILE} > ${CACHE_MD5}
+    fi
     installed_plugins=(`echo ${plugins[@]} | sed 's/[^ ]*://g'`)
     packages=(   vdr   `echo ${plugins[@]} | sed 's/:[^ ]*//g'`)
 

Modified: vdr/vdr/trunk/debian/rules
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/rules?rev=6743&op=diff
==============================================================================
--- vdr/vdr/trunk/debian/rules (original)
+++ vdr/vdr/trunk/debian/rules Sat Apr 12 21:38:00 2008
@@ -44,13 +44,13 @@
 
 	# build unoptimized vdr with debugging symbols
 	touch po/vdr.pot po/*.po
-	$(MAKE) all $(MAKE_OPTIONS) VDRDEBUG=yes
+	$(MAKE) all $(MAKE_OPTIONS) BUILDVDR=yes VDRDEBUG=yes
 	cp vdr vdr-dbg
 	$(MAKE) -o .dependencies clean $(MAKE_OPTIONS)
 
 	# build "productive" vdr
 	touch po/vdr.pot po/*.po
-	$(MAKE) all $(MAKE_OPTIONS)
+	$(MAKE) all $(MAKE_OPTIONS) BUILDVDR=yes
 	ln -f vdr vdr-kbd
 
 	# plugins

Modified: vdr/vdr/trunk/debian/vdr.postrm
URL: http://svn.debian.org/wsvn/pkg-vdr-dvb/vdr/vdr/trunk/debian/vdr.postrm?rev=6743&op=diff
==============================================================================
--- vdr/vdr/trunk/debian/vdr.postrm (original)
+++ vdr/vdr/trunk/debian/vdr.postrm Sat Apr 12 21:38:00 2008
@@ -20,6 +20,7 @@
 
 case "$1" in
     purge)
+        rm -f /var/cache/vdr/plugin_search_cache* > /dev/null 2>&1 || true
         rm -f /var/cache/vdr/commands.conf > /dev/null 2>&1 || true
         rm -f /var/cache/vdr/reccmds.conf > /dev/null 2>&1 || true
         rm -f /var/cache/vdr/epg.data > /dev/null 2>&1 || true




More information about the pkg-vdr-dvb-changes mailing list