Author: glen                         Date: Sat Oct  1 17:53:16 2005 GMT
Module: SOURCES                       Tag: HEAD
---- Log message:
- script to update add mplayer skins to spec

---- Files affected:
SOURCES:
   mplayer-skins-generate.sh (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SOURCES/mplayer-skins-generate.sh
diff -u /dev/null SOURCES/mplayer-skins-generate.sh:1.1
--- /dev/null   Sat Oct  1 19:53:16 2005
+++ SOURCES/mplayer-skins-generate.sh   Sat Oct  1 19:53:11 2005
@@ -0,0 +1,122 @@
+#!/bin/sh
+# location for mplayer skins
+url='ftp://ftp1.mplayerhq.hu/MPlayer/Skin/'
+
+# this script must reside inSOURCES dir
+set -e
+dir=$(dirname "$0")
+cd "$dir"
+cd ../SOURCES # this makes sure we're in right place
+
+spec='../SPECS/mplayer-skins-new.spec'
+#rm -f .listing
+#wget -r -np -nd -c "$url" --no-remove-listing
+
+add_skin() {
+       local file="$1"; shift
+       local skin="$1"; shift
+       local version="$1"; shift
+       local tmpf=$(mktemp "${TMPDIR:-/tmp}/fragXXXXXX")
+
+       # add preamble
+       sed > $tmpf -e "
+       s,@file@,$file,g
+       s,@skin@,$skin,g
+       s,@version@,$version,g
+       " <<'EOF'
+%package -n [EMAIL PROTECTED]@
+Summary:       @skin@ skin
+Summary(pl):   Skórka @skin@
+Version:       @version@
+Group:         X11/Applications/Multimedia
+Requires:      gmplayer
+Provides:      mplayer-skin
+Obsoletes:     mplayer-skins
+
+EOF
+       sed -i -e "/NEW SKIN MARKER: PREAMBLE/r $tmpf" $spec
+
+       # add %post
+       sed > $tmpf -e "
+       s,@file@,$file,g
+       s,@skin@,$skin,g
+       s,@version@,$version,g
+       " <<'EOF'
+%post -n [EMAIL PROTECTED]@
+if [ "$1" = 1 ]; then
+       ln -snf @skin@ %{_skindir}/default
+fi
+
+EOF
+       sed -i -e "/NEW SKIN MARKER: POST/r $tmpf" $spec
+
+       # add %files
+       sed > $tmpf -e "
+       s,@file@,$file,g
+       s,@skin@,$skin,g
+       s,@version@,$version,g
+       " <<'EOF'
+
+%files -n [EMAIL PROTECTED]@
+%defattr(644,root,root,755)
+%{_skindir}/@skin@
+EOF
+       sed -i -e "/NEW SKIN MARKER: FILES/r $tmpf" $spec
+
+       # find free source nr
+       last=$(grep -o '^Source[0-9]\+' $spec | sed -s 's,^Source,,' | sort -n 
| tail -n 1)
+       nr=$((last + 1))
+       md5=$(awk '{print $1}' $file.md5)
+       sed -i -e "/^Source$last:/{n;a\
+Source$nr:     $url$file\\
+# Source$nr-md5:       $md5
+}" $spec
+
+       unpack="bzip2 -dc %{SOURCE$nr}"
+       # add unpack
+       sed > $tmpf -e "
+       s,@file@,$file,g
+       s,@skin@,$skin,g
+       s,@version@,$version,g
+       s,@unpack@,$unpack,g
+       " <<'EOF'
[EMAIL PROTECTED]@ | tar -x -C $RPM_BUILD_ROOT%{_skindir}
+EOF
+       sed -i -e "/NEW SKIN MARKER: UNPACK/r $tmpf" $spec
+
+       rm -f $tmpf
+}
+
+update_skin() {
+       local file="$1"; shift
+       local skin="$1"; shift
+       local version="$1"; shift
+
+       md5=$(awk '{print $1}' $file.md5)
+       sed -i -e "
+       /^Source[0-9]\+:.*\/$skin-[0-9]/{
+               s/$skin-.*/$file/
+               n
+               s/\(# Source[0-9]\+-md5:\t\).*/\1$md5/
+       }
+       " $spec
+
+       sed -i -e "/./{H;\$!d;};x;/%package -n mplayer-skin-$skin/{
+               /Version:/s/Version:\t[\.0-9]*/Version:\t$version/
+       }" $spec
+}
+
+files=$(grep -o '[^ ]*\.tar\.bz2' .listing | sort -u)
+for file in $files; do
+       skin=$(basename $file .tar.bz2)
+       name=$(echo "$skin" | sed -e 's,-[.0-9]\+,,')
+       version=$(echo "$skin" | sed -e 's,^.*-\([.0-9]\+\),\1,')
+       echo -n "$skin: $name $version "
+       if grep -q "^Source[0-9]\+:.*$name-" $spec; then
+               echo "HAVE"
+               update_skin $file $name $version
+       else
+               echo "DON'T HAVE"
+               add_skin $file $name $version
+       fi
+done
================================================================
_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to