All pastes #1833816 Raw Edit

Zoolooc

public shellscript v1 · immutable
#1833816 ·published 2010-03-11 14:57 UTC
rendered paste body
diff -Naur yacoto_orig/Makefile yacoto/Makefile--- yacoto_orig/Makefile	1970-01-01 01:00:00.000000000 +0100+++ yacoto/Makefile	2010-03-11 13:20:14.000000000 +0100@@ -0,0 +1,234 @@+PACKAGE  = yacoto-scripts+VERSION  = 0.0.3+ARCHIVE  = $(PACKAGE)-helau-$(VERSION)+prefix  ?= /usr+DOCDIR   = $(DESTDIR)$(prefix)/share/doc/$(PACKAGE)-$(VERSION)++YAC_CONF_DIR ?= /etc/vdr/plugins/yacoto+YAC_DIR ?= $(YAC_CONF_DIR)++#+# "detect" mandatory dependencies+HAVE_VDRSYNC ?= $(shell which vdrsync.pl &>/dev/null && echo "1")+HAVE_SCREEN ?= $(shell which screen &>/dev/null && echo "1")+HAVE_REPLEX ?= $(shell which replex &>/dev/null && echo "1")++#+# "detect" optional dependencies+HAVE_MJPEGTOOLS ?= $(shell which png2yuv &>/dev/null && echo "1")+HAVE_CDRTOOLS ?= $(shell which mkisofs &>/dev/null && echo "1")+HAVE_DVDPLUSRWTOOLS ?= $(shell which growisofs &>/dev/null && echo "1")+HAVE_IMAGEMAGICK ?= $(shell which convert &>/dev/null && echo "1")+HAVE_VAMPS ?= $(shell which vamps &>/dev/null && echo "1")+HAVE_DVDAUTHOR ?= $(shell which dvdauthor &>/dev/null && echo "1")+HAVE_MENCODER ?= $(shell which mencoder &>/dev/null && echo "1")+HAVE_FFMPEG ?= $(shell which ffmpeg &>/dev/null && echo "1")+HAVE_MP4BOX ?= $(shell which MP4Box &>/dev/null && echo "1")+HAVE_LAME ?= $(shell which lame &>/dev/null && echo "1")+HAVE_VORBISTOOLS ?= $(shell which oggenc &>/dev/null && echo "1")+++#+#+# "select" options+WITH_DVD ?= 1+WITH_3GP ?= 1+WITH_IPOD ?= 1+WITH_MP3 ?= 1+WITH_OGG ?= 1+WITH_H264 ?= 1+WITH_DIVX ?= 1++# these need mandatory deps only:+ENC_SCRIPTS = mpeg2+ENC_CONFIGS = mpeg2++# want DVD and have all the deps?+ifeq ($(WITH_DVD),1)+ifeq ($(HAVE_MJPEGTOOLS),1)+ifeq ($(HAVE_CDRTOOLS),1)+ifeq ($(HAVE_DVDPLUSRWTOOLS),1)+ifeq ($(HAVE_IMAGEMAGICK),1)+ifeq ($(HAVE_VAMPS),1)+ifeq ($(HAVE_DVDAUTHOR),1)+	ENC_SCRIPTS += dvd+	ENC_CONFIGS += dvd+endif+endif+endif+endif+endif+endif+endif++# if we have just mencoder+ifeq ($(HAVE_MENCODER),1)+	ENC_SCRIPTS += yac_enc_mencoder youtube+	ENC_CONFIGS += youtube+	ifeq ($(WITH_DIVX),1)+		ENC_SCRIPTS += divx divx_mobile+		ENC_CONFIGS += divx divx_mobile+	endif+	ifeq ($(HAVE_MP4BOX),1)+		ifeq ($(WITH_IPOD),1)+			ENC_SCRIPTS += ipod_menc+			ENC_CONFIGS += ipod_menc+		endif+	endif+	ifeq ($(WITH_H264),1)+		ENC_SCRIPTS += h264+		ENC_CONFIGS += h264+	endif+endif++# if we have just ffmpeg+ifeq ($(HAVE_FFMPEG),1)+	ENC_SCRIPTS += yac_enc_ffmpeg+	ifeq ($(WITH_DIVX),1)+		ENC_SCRIPTS += divx_ffmpeg+		ENC_CONFIGS += divx_ffmpeg+	endif+	ifeq ($(HAVE_MP4BOX),1)+		ifeq ($(WITH_IPOD),1)+			ENC_SCRIPTS += ipod_ffmpeg+			ENC_CONFIGS += ipod_ffmpeg+		endif+	endif+endif++# if we have both mencoder and ffmpeg+ifeq ($(HAVE_MENCODER),1)+	ifeq ($(HAVE_FFMPEG),1)+		ifeq ($(WITH_3GP),1)+			ENC_SCRIPTS += 3gp+			ENC_CONFIGS += 3gp+		endif+		ifeq ($(WITH_IPOD),1)+			ENC_SCRIPTS += ipod_nano+			ENC_CONFIGS += ipod_nano+		endif+	endif+endif++# if we have lame and possibly vorbis tools+ifeq ($(HAVE_LAME),1)+	ifeq ($(WITH_MP3),1)+		ENC_SCRIPTS += mp3+		ENC_CONFIGS += mp3+	endif+	ifeq ($(HAVE_VORBISTOOLS),1)+		ifeq ($(WITH_OGG),1)+			ENC_SCRIPTS += ogg+			ENC_CONFIGS += ogg+		endif+	endif+endif++++detect-deps:+	@echo ""+	@if ! [[ "$(HAVE_VDRSYNC)" = "1" ]] || ! [[ "$(HAVE_SCREEN)" = "1" ]] || ! [[ "$(HAVE_REPLEX)" = "1" ]]; then \+		if ! [[ "$(HAVE_VDRSYNC)" = "1" ]]; then \+			echo "Mandatory package 'vdrsync' not found !!!"; \+		fi; \+		if ! [[ "$(HAVE_SCREEN)" = "1" ]]; then \+			echo "Mandatory package 'screen' not found !!!"; \+		fi; \+		if ! [[ "$(HAVE_REPLEX)" = "1" ]]; then \+			echo "Mandatory package 'replex' not found !!!"; \+		fi; \+		echo ""; \+		echo "The scripts cannot work on your system and will not be installed."; \+		false; \+	fi+	@if [[ "$(WITH_DVD)" = "1" ]] && ! [[ "$(HAVE_MJPEGTOOLS)" = "1" ]]; then \+		echo "Optional package 'mjpegtools' not found !!!"; \+	fi+	@if [[ "$(WITH_DVD)" = "1" ]] && ! [[ "$(HAVE_CDRTOOLS)" = "1" ]]; then \+		echo "Optional package 'cdrtools' not found !!!"; \+	fi+	@if [[ "$(WITH_DVD)" = "1" ]] && ! [[ "$(HAVE_DVDPLUSRWTOOLS)" = "1" ]]; then \+		echo "Optional package 'dvd+rw-tools' not found !!!"; \+	fi+	@if [[ "$(WITH_DVD)" = "1" ]] && ! [[ "$(HAVE_IMAGEMAGICK)" = "1" ]]; then \+		echo "Optional package 'imagemagick' not found !!!"; \+	fi+	@if [[ "$(WITH_DVD)" = "1" ]] && ! [[ "$(HAVE_VAMPS)" = "1" ]]; then \+		echo "Optional package 'vamps' not found !!!"; \+	fi+	@if [[ "$(WITH_DVD)" = "1" ]] && ! [[ "$(HAVE_DVDAUTHOR)" = "1" ]]; then \+		echo "Optional package 'dvdauthor' not found !!!"; \+	fi+	@if [[ "$(WITH_3GP)" = "1" ]] || [[ "$(WITH_IPOD)" = "1" ]] || [[ "$(WITH_H264)" = "1" ]] || [[ "$(WITH_DIVX)" = "1" ]]; then \+		if ! [[ "$(HAVE_MENCODER)" = "1" ]]; then \+			echo "Optional package 'mencoder' (sometimes part of 'mplayer') not found !!!"; \+		fi; \+		if ! [[ "$(HAVE_FFMPEG)" = "1" ]]; then \+			echo "Optional package 'ffmpeg' not found !!!"; \+		fi; \+	fi+	@if [[ "$(WITH_IPOD)" = "1" ]]; then \+		if ! [[ "$(HAVE_MP4BOX)" = "1" ]]; then \+			echo "Optional package 'MP4Box' (sometimes part of 'gpac') not found !!!"; \+		fi; \+	fi+	@if [[ "$(WITH_MP3)" = "1" ]] || [[ "$(WITH_OGG)" = "1" ]]; then \+		if ! [[ "$(HAVE_LAME)" = "1" ]]; then \+			echo "Optional package 'Lame' not found !!!"; \+		fi; \+	fi+	@if [[ "$(WITH_OGG)" = "1" ]]; then \+		if ! [[ "$(HAVE_VORBISTOOLS)" = "1" ]]; then \+			echo "Optional package 'oggenc' (sometimes part of 'vorbis tools') not found !!!"; \+		fi; \+	fi+	@echo ""+	@echo "Scripts for these encoding profiles will be installed:"+	@echo " $(ENC_CONFIGS)"+	@echo ""++all: detect-deps+	@for scriptfile in $$(grep -r -l --include=*.sh 'YAC_CONF_DIR=' .); do \+		if ! [[ "$$(grep "YAC_CONF_DIR=" "$$scriptfile")" = 'YAC_CONF_DIR="$(YAC_CONF_DIR)"' ]]; then \+			sed -i $$scriptfile -e 's#$$(grep "YAC_CONF_DIR=" "$$scriptfile")#YAC_CONF_DIR=\"\${YAC_CONF_DIR\:=$(YAC_CONF_DIR)}\"#'; \+		fi; \+	done++install: all+	@mkdir -p $(DESTDIR)$(YAC_CONF_DIR)/conf+	@mkdir -p $(DESTDIR)$(YAC_DIR)/conf+	@mkdir -p $(DESTDIR)$(YAC_DIR)/queue+	@mkdir -p $(DESTDIR)/var/log/yacoto+	@cp --recursive --remove-destination --archive yac_*.sh $(DESTDIR)$(YAC_DIR)+	@cp --recursive --remove-destination --archive yacoto.conf.sample $(DESTDIR)$(YAC_CONF_DIR)+	@for cfg in $(ENC_CONFIGS); do \+		if [[ -d conf/"$$cfg" ]]; then \+			cp --archive --recursive conf/"$$cfg" $(DESTDIR)$(YAC_DIR)/conf; \+			mkdir -p $(DESTDIR)$(YAC_CONF_DIR)/conf/"$$cfg"; \+			mv $(DESTDIR)$(YAC_DIR)/conf/"$$cfg"/*.conf.sample $(DESTDIR)$(YAC_CONF_DIR)/conf/"$$cfg"; \+		fi; \+		if [[ -x conf/"$$cfg".conf.sh ]]; then \+			cp --recursive --remove-destination --archive conf/"$$cfg".conf.sh $(DESTDIR)$(YAC_DIR)/conf; \+		fi; \+		cp --recursive --remove-destination --archive conf/"$$cfg".conf.sample $(DESTDIR)$(YAC_CONF_DIR)/conf; \+	done+	@for cfg in $(ENC_SCRIPTS); do \+		cp --recursive --remove-destination --archive conf/"$$cfg".sh $(DESTDIR)$(YAC_DIR)/conf; \+	done+	@mkdir -p $(DOCDIR)+	@cp --recursive --remove-destination --archive HISTORY README README.en -t $(DOCDIR)++dist:+	@for cfgfile in $$(find . -name "*.conf"); do \+		mv $$cfgfile $$cfgfile.sample; \+	done+	@chmod +x $$(find . -name "*.sh")+	@tar -czvf ./$(ARCHIVE).tgz -C . --exclude=*.tgz --exclude=*.conf.old --exclude=*.org --exclude=*.conf.new \+		--exclude=status/* --exclude=queue/* --exclude=yacadmin.conf* ../yacoto/*+	@echo Distribution package created as ./$(ARCHIVE).tgz+#	@tar -tzvf "$(ARCHIVE).tgz"+	@sh ./yac_update.sh+++.PHONY: installdiff -Naur yacoto_orig/conf/dvd/dvd_menu.sh yacoto/conf/dvd/dvd_menu.sh--- yacoto_orig/conf/dvd/dvd_menu.sh	2008-12-18 20:00:15.000000000 +0100+++ yacoto/conf/dvd/dvd_menu.sh	2010-03-11 10:54:55.000000000 +0100@@ -1,15 +1,16 @@ #!/bin/sh #set -x-DVD_CONF_DIR="${YAC_DIR}/conf/dvd" -if [ "$DVD_MENU" != "" ] && [ -d ${YAC_DIR}/conf/dvd/${DVD_MENU} ] ; then+DVD_CONF_DIR="$(yac_choosedir conf/dvd/$DVD_MENU)/conf/dvd"++if [ "$DVD_MENU" != "" ] && [ -d ${DVD_CONF_DIR}/${DVD_MENU} ] ; then    if [ -f "${DVD_CONF_DIR}/${DVD_MENU}/menu.conf" ] ; then       source "${DVD_CONF_DIR}/${DVD_MENU}/menu.conf"    fi fi source "${DVD_CONF_DIR}/menu.conf" -CONVERT_VDR_INFO="${DVD_CONF_DIR}/format_info.sh"+CONVERT_VDR_INFO="$(yac_choosedir /conf/dvd/format_info.sh)/conf/dvd/format_info.sh" TEMP_DIR=${TEMP_DIR:=/tmp/dvd_menu}  [ ! -d "$TEMP_DIR" ] && mkdir "$TEMP_DIR"diff -Naur yacoto_orig/conf/dvd.conf.sh yacoto/conf/dvd.conf.sh--- yacoto_orig/conf/dvd.conf.sh	2008-12-18 20:00:12.000000000 +0100+++ yacoto/conf/dvd.conf.sh	2010-03-11 13:20:25.000000000 +0100@@ -1,23 +1,34 @@ #!/bin/sh #set -x-cd "$(dirname "$0")" -DVD_CONF="dvd.conf"+YAC_CONF_DIR="${YAC_CONF_DIR:=/etc/vdr/plugins/yacoto}"+DVD_CONF="${YAC_CONF_DIR}/conf/dvd.conf"+cd "$(dirname "$0")/.."+YAC_DIR="$(pwd)" -CONF_LINE="$(grep DVD_MENU dvd.conf)"+CONF_LINE="$(grep DVD_MENU $DVD_CONF)" act_conf="${CONF_LINE#*=\"}" act_conf="${act_conf%%\"*}" val_conf="none"  all_conf="none"-for dvd_menu in dvd/*/mm-button.png ; do-   [ ! -s $dvd_menu ] && break-   cfg=${dvd_menu%/*}-   all_conf="$all_conf,${cfg##*/}"-   [ "${cfg##*/}" = "$act_conf" ] && val_conf=$act_conf+for curr_basedir in ${YAC_CONF_DIR}/conf ${YAC_DIR}/conf; do+	if [ -d ${curr_basedir} ]; then+		cd ${curr_basedir}+		for dvd_menu in dvd/*/mm-button.png ; do+			if [[ ${curr_basedir} = ${YAC_DIR}/conf ]]; then+				[ ! -s $dvd_menu ] && break+			fi+			cfg=${dvd_menu%/*}+			if ! [[ $all_conf =~ ${cfg##*/} ]]; then+				all_conf="$all_conf,${cfg##*/}"+				[ "${cfg##*/}" = "$act_conf" ] && val_conf=$act_conf+			fi+		done+	fi done if [ "$act_conf" != "none" ] && [ "$act_conf" != "$val_conf" ] ; then    logger -s "Active dvd menu <$act_conf> is invalid"-fi   +fi  sed -i $DVD_CONF -e "s/\(^DVD_MENU=.*#~[^~]*~[^~]*~[^~]*~\).*/\1$all_conf~/"diff -Naur yacoto_orig/conf/dvd.sh yacoto/conf/dvd.sh--- yacoto_orig/conf/dvd.sh	2008-12-18 20:00:12.000000000 +0100+++ yacoto/conf/dvd.sh	2010-03-11 10:54:55.000000000 +0100@@ -5,7 +5,7 @@ [ "$CREATE_ISO" = "1" ] && CONV_STEPS=$(($CONV_STEPS+1)) [ "$BURN_DVD" = "1" ]   && CONV_STEPS=$(($CONV_STEPS+1)) -source "${YAC_DIR}/conf/dvd/dvd_menu.sh"+source "$(yac_choosedir /conf/dvd/dvd_menu.sh)/conf/dvd/dvd_menu.sh"  function yac_convert() {    if [ "$1" = "" ] ; then@@ -52,8 +52,7 @@ 	 mv -f $i.req $i       done    fi-   -   if [ "${DVD_MENU}" != "" -a -d ${YAC_DIR}/conf/dvd/${DVD_MENU} ] ; then+   if [ "${DVD_MENU}" != "" -a -d ${DVD_CONF_DIR}/${DVD_MENU} ]; then       dvd_make_menu $ID $DVD_DIR "$@"       elif [ "$SPLIT_MODE" = "chapters" -a "$2" != "" ] ; then       in_fls=""diff -Naur yacoto_orig/conf/ffmpeg.conf.sample yacoto/conf/ffmpeg.conf.sample--- yacoto_orig/conf/ffmpeg.conf.sample	2008-12-18 21:44:11.000000000 +0100+++ yacoto/conf/ffmpeg.conf.sample	1970-01-01 01:00:00.000000000 +0100@@ -1,13 +0,0 @@-REMUX_TYPE="remux_convert"  #~Remux mode~F~5~ ~-AUDIO_SOURCE="mp2"         #~Audio source~F~5~ ~-VCODEC="libxvid"           #~Video codec~F~15~ ~-VBITRATE="1400"            #~Video bitrate~I~5~100,2000~-ACODEC="libmp3lame"        #~Audio codec~F~15~ ~-ABITRATE="128"             #~Audio bitrate~I~5~40,256~-ASRATE="44100"             #~Resample rate~F~10~ ~-SCALE="640x480"            #~Skalierung~F~10~ ~-ZOOM="2"                   #~Zoom~F~1~ ~-CROP="1"                   #~CROP~F~1~ ~-SIZE="0"                   #~Groesse~F~10~ ~-EXT="avi"                  #~Format~F~5~ ~-SPECIALOPT="-deinterlace"  #~Zusatzoptionen~F~128~ ~diff -Naur yacoto_orig/mkdist.sh yacoto/mkdist.sh--- yacoto_orig/mkdist.sh	2008-12-18 21:35:34.000000000 +0100+++ yacoto/mkdist.sh	1970-01-01 01:00:00.000000000 +0100@@ -1,15 +0,0 @@-#!/bin/bash-#set -x-PACKAGE="yacoto-scripts-helau-0.0.2"--find . -name "*.conf" | while read i ; do-   mv "$i" "$i.sample"-done    -chmod +x $(find . -name "*.sh")-tar -czvf "${PACKAGE}.tgz" -C ../yacoto --exclude=*.tgz --exclude=*.conf.old --exclude=*.org --exclude=*.conf.new \-    --exclude=status/* --exclude=queue/* --exclude=yacadmin.conf* \-    ../yacoto/*-echo "Distribution package created as ${PACKAGE}.tgz :"-tar -tzvf "${PACKAGE}.tgz"--sh yac_update.shdiff -Naur yacoto_orig/yac_choosedir.sh yacoto/yac_choosedir.sh--- yacoto_orig/yac_choosedir.sh	1970-01-01 01:00:00.000000000 +0100+++ yacoto/yac_choosedir.sh	2010-03-11 10:54:55.000000000 +0100@@ -0,0 +1,26 @@+#!/bin/bash++#+# will return one of the base directories $YAC_CONF_DIR or $YAC_DIR (in+# this order of precedence) in which the file or directory (also+# possibly given with an absolute or relative path) is found, or return nothing+# if the file or directory is not found in either location+function yac_choosedir() {+	# trim away leading full path if applicable+	inpath=$1+	inpath=${inpath##$YAC_CONF_DIR/}+	if [ -e "$YAC_CONF_DIR/$inpath" ]; then+		echo "$YAC_CONF_DIR"+		return 0+	else+		# trim away leading full path if applicable+		inpath=$1+		inpath=${inpath##$YAC_DIR/}+		if [ -e "$YAC_DIR/$inpath" ]; then+			echo "$YAC_DIR"+			return 0+		fi+	fi+	echo "yac_choosedir_INVALID"+	return 1+}diff -Naur yacoto_orig/yac_exec.sh yacoto/yac_exec.sh--- yacoto_orig/yac_exec.sh	2008-12-18 20:00:05.000000000 +0100+++ yacoto/yac_exec.sh	2010-03-11 13:20:25.000000000 +0100@@ -18,10 +18,14 @@    logger -s "$*"    echo "$(date +"%D %T") - $*" >> $LOG } -YAC_DIR="$(pwd)"  [ "$DEBUG" = "1" ] && set -x +YAC_DIR="$(pwd)"+YAC_CONF_DIR="${YAC_CONF_DIR:=/etc/vdr/plugins/yacoto}"++source $YAC_DIR/yac_choosedir.sh+ #target_filename=${1// /_} target_name="$(echo "$1" | sed -e "s/[^abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789_]/_/g" | tr -s "_")" [ "$target_name" = "" ] && usage@@ -56,8 +60,7 @@  TEMP_DIR=${TEMP_DIR:=/tmp} TEMP_DIR="${TEMP_DIR}/YAC_$target_tempname"--source "conf/${CONFIG}.sh"+source "$(yac_choosedir conf/${CONFIG}.sh)/conf/${CONFIG}.sh" VDR_VIDEO=${VDR_VIDEO:=/video} TARGET_VIDEO=${TARGET_VIDEO:=/film} TARGET_AUDIO=${TARGET_AUDIO:=/audio/yacoto}@@ -156,7 +159,7 @@       fi       [ -f "$info_file" ] && info_file="${info_file%.info}.${act_date}.info"       	 -      sh $YAC_DIR/conf/dvd/format_info.sh "${REC_DIR[1]}/info.vdr" > "${info_file}"+      sh $(yac_choosedir conf/dvd/format_info.sh)/conf/dvd/format_info.sh "${REC_DIR[1]}/info.vdr" > "${info_file}"    fi    RC="SUCCESS" elsediff -Naur yacoto_orig/yac_manager.sh yacoto/yac_manager.sh--- yacoto_orig/yac_manager.sh	2008-12-18 20:00:05.000000000 +0100+++ yacoto/yac_manager.sh	2010-03-11 13:20:25.000000000 +0100@@ -6,14 +6,16 @@ if [ "$(pidof -o %PPID -x $0)" != "" ] ; then    logger -s "$0 is already running"    exit-fi   +fi++YAC_CONF_DIR="${YAC_CONF_DIR:=/etc/vdr/plugins/yacoto}"+YAC_CONF="${YAC_CONF_DIR}/yacoto.conf" -YAC_CONF="yacoto.conf"  if [ ! -f $YAC_CONF ] ; then    logger -s "Yac config <$CONFIG> nicht vorhanden"    exit-fi      +fi source $YAC_CONF if [ "$PARALLEL_EXECUTION" = "1" ] ; then    if [ $(grep "^processor" /proc/cpuinfo |wc -l) -lt 2 ] ; then@@ -41,6 +43,5 @@          mv $i.run $i.old       fi       sleep 15-   done      +   done done-diff -Naur yacoto_orig/yac_setcfgfiles.sh yacoto/yac_setcfgfiles.sh--- yacoto_orig/yac_setcfgfiles.sh	2008-12-18 20:00:05.000000000 +0100+++ yacoto/yac_setcfgfiles.sh	2010-03-11 13:20:25.000000000 +0100@@ -1,8 +1,9 @@ #!/bin/bash cd "$(dirname "$0")" YAC_DIR="$(pwd)"+YAC_CONF_DIR="${YAC_CONF_DIR:=/etc/vdr/plugins/yacoto}" -YAC_PLG_CONF="yacadmin.conf"+YAC_PLG_CONF="${YAC_CONF_DIR}/yacadmin.conf"  [ "$2" != "" ] && [ -f $2 ] && YAC_PLG_CONF=$2 @@ -28,7 +29,7 @@       VAL_INPUT=${ln%%~*}       ln=${ln#*~}       COMMENT=${ln%%~*}-      +       VARVAL="$VAR=\"$VAL\""       printf "%-25s  #~$COMMENT~$TYPE~$LENGTH~$VAL_INPUT~\n" "$VARVAL" >> $cfg_file    fidiff -Naur yacoto_orig/yac_setplgconf.sh yacoto/yac_setplgconf.sh--- yacoto_orig/yac_setplgconf.sh	2008-12-18 20:00:05.000000000 +0100+++ yacoto/yac_setplgconf.sh	2010-03-11 13:20:25.000000000 +0100@@ -1,7 +1,19 @@ #!/bin/bash cd "$(dirname "$0")" YAC_DIR="$(pwd)"-      +YAC_CONF_DIR="${YAC_CONF_DIR:=/etc/vdr/plugins/yacoto}"+YAC_CONF="${YAC_CONF_DIR}/yacoto.conf"++if [ ! -f $YAC_CONF ] ; then+   logger -s "Yac config <$CONFIG> nicht vorhanden"+   exit+fi++source $YAC_CONF+source $YAC_DIR/yac_choosedir.sh++YAC_PLG_CONF="${YAC_CONF_DIR}/yacadmin.conf"+ function getVals() {    ln=$1    VAR=${ln%%=*}@@ -32,8 +44,6 @@    [ "$COMMENT" = "" ] && COMMENT=$VAR } -YAC_PLG_CONF="yacadmin.conf"-YAC_CONF="yacoto.conf"  [ "$1" != "" ] && [ -f $1 ] && YAC_CONF=$1 [ "$2" != "" ] && [ -f $2 ] && YAC_PLG_CONF=$2@@ -45,22 +55,25 @@ [ -f $YAC_PLG_CONF ] && mv $YAC_PLG_CONF $YAC_PLG_CONF.old [ -f $YAC_PLG_CONF.new ] && rm $YAC_PLG_CONF.new -for cfg_file in conf/*.conf ; do-   [ -f $cfg_file.sh ] && sh $cfg_file.sh   -   [ ! -f $cfg_file ] && break-   cfg_name=${cfg_file##*/}-   cfg_name=${cfg_name%%\.*}-   CFG_NAMES="$CFG_NAMES,$cfg_name"-   echo ":$cfg_name" >> $YAC_PLG_CONF.new-   for i in $(grep "^[A-Z].*=" $cfg_file) ; do-      getVals "$i"--      case "$VAR" in-         *)-            echo "${YAC_DIR}/$cfg_file~$VAR~$VAL~$TYPE~$LENGTH~$VAL_INPUT~$COMMENT~" >> $YAC_PLG_CONF.new-            ;;-      esac-   done+for cfg_file in $YAC_CONF_DIR/conf/*.conf ; do+	profile=${cfg_file##*/}+	profile=${profile%%\.*}+	script_dir="$(yac_choosedir conf/$profile.sh)/conf"+	exitcode="$?"+	if [ $exitcode = 0 ]; then+		[ -f "$script_dir/$profile.conf.sh" ] && sh "$script_dir/$profile.conf.sh"+		[ ! -f "$script_dir/$profile.sh" ] && continue+		CFG_NAMES="$CFG_NAMES,$profile"+		echo ":$profile" >> $YAC_PLG_CONF.new+		for i in $(grep "^[A-Z].*=" $cfg_file) ; do+			getVals "$i"+			case "$VAR" in+				*)+					echo "$cfg_file~$VAR~$VAL~$TYPE~$LENGTH~$VAL_INPUT~$COMMENT~" >> $YAC_PLG_CONF.new+					;;+			esac+		done+	fi done  CFG_NAMES=${CFG_NAMES:1}@@ -101,11 +114,10 @@       *)          ;;    esac-   echo "${YAC_DIR}/$YAC_CONF~$VAR~$VAL~$TYPE~$LENGTH~$VAL_INPUT~$COMMENT~" >> $YAC_PLG_CONF+   echo "$YAC_CONF~$VAR~$VAL~$TYPE~$LENGTH~$VAL_INPUT~$COMMENT~" >> $YAC_PLG_CONF done  if [ "$ACT_CFG" != "" ] ; then-   echo "${YAC_DIR}/$YAC_CONF~CONFIG~$ACT_CFG~L~0~$CFG_NAMES~Konfiguration~" >> $YAC_PLG_CONF+   echo "$YAC_CONF~CONFIG~$ACT_CFG~L~0~$CFG_NAMES~Konfiguration~" >> $YAC_PLG_CONF fi cat $YAC_PLG_CONF.new >> $YAC_PLG_CONF -diff -Naur yacoto_orig/yac_start.sh yacoto/yac_start.sh--- yacoto_orig/yac_start.sh	2008-12-18 20:00:05.000000000 +0100+++ yacoto/yac_start.sh	2010-03-11 10:54:55.000000000 +0100@@ -1,17 +1,18 @@ #!/bin/bash-YAC_CONF="yacoto.conf"+YAC_CONF_DIR"/etc/vdr/plugins/yacoto"+YAC_CONF="${YAC_CONF_DIR}/yacoto.conf" cd "$(dirname "$0")" YAC_DIR="$(pwd)"  if [ ! -f $YAC_CONF ] ; then    logger -s "Yac config <$CONFIG> nicht vorhanden"    exit-fi      +fi source $YAC_CONF-if [ ! -f "conf/$CONFIG.conf" ] ; then-   logger -s "Yac config <conf/$CONFIG.conf> nicht vorhanden"+if [ ! -f "${YAC_CONF_DIR}/conf/$CONFIG.conf" ] ; then+   logger -s "Yac config <${YAC_CONF_DIR}/conf/$CONFIG.conf> nicht vorhanden"    exit-fi      +fi logger -s "$0"  NICE_LEVEL=${NICE_LEVEL:=10}@@ -28,7 +29,7 @@  echo "#!/bin/bash" >$tmpFile -cat conf/$CONFIG.conf  >> $tmpFile+cat ${YAC_CONF_DIR}/conf/$CONFIG.conf  >> $tmpFile echo ""  >> $tmpFile cat $YAC_CONF >> $tmpFile diff -Naur yacoto_orig/yac_update.sh yacoto/yac_update.sh--- yacoto_orig/yac_update.sh	2008-12-18 21:43:36.000000000 +0100+++ yacoto/yac_update.sh	2010-03-11 13:20:25.000000000 +0100@@ -1,8 +1,14 @@ #!/bin/bash++YAC_CONF_DIR="${YAC_CONF_DIR:=/etc/vdr/plugins/yacoto}"+cd "$(dirname "$0")"+YAC_DIR="$(pwd)"+cd "${YAC_CONF_DIR}" find . -name "*.conf.sample" | while read i ; do    if [ ! -f "${i%.sample}" ] ; then       cp -v "$i" "${i%.sample}"     else       echo "Keeping <${i%.sample}>"-   fi      -done    +   fi+done+cd "${YAC_DIR}"