poldek: poldek/Cellar/mvpkg.sh (NEW) - mvpkg draft

mis mis at pld-linux.org
Fri Feb 1 17:52:06 CET 2008


Author: mis                          Date: Fri Feb  1 16:52:06 2008 GMT
Module: poldek                        Tag: HEAD
---- Log message:
- mvpkg draft

---- Files affected:
poldek/poldek/Cellar:
   mvpkg.sh (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: poldek/poldek/Cellar/mvpkg.sh
diff -u /dev/null poldek/poldek/Cellar/mvpkg.sh:1.1
--- /dev/null	Fri Feb  1 17:52:06 2008
+++ poldek/poldek/Cellar/mvpkg.sh	Fri Feb  1 17:52:00 2008
@@ -0,0 +1,67 @@
+#!/bin/sh
+
+POLDEK="$HOME/poldek/cli/poldek"
+[ -f $POLDEK ] || POLDEK="$HOME/poldek/poldek/cli/poldek"
+TMPDIR="${TMPDIR:-/tmp}"
+
+echo "***************************************************************"
+echo "** If you want to do single test only if package is movable do:"
+echo "** poldek -n SOURCE --dn DESTINATION -uvt [PACKAGE...]"
+echo "***************************************************************"
+echo
+
+SESSIONDIR=""
+ARGV=""
+MKIDX_ARGV=""
+
+while test $# -gt 0 ; do
+    case "${1}" in
+        --destination)
+            echo "use --dn"; exit 1
+            shift;;
+
+        --dn)
+            shift
+            SESSIONDIR="$SESSIONDIR ${1}"
+            MKIDX_ARGV="$MKIDX_ARGV -n ${1}" 
+            shift;;
+
+
+        -n|-s)
+            ARGV="$ARGV ${1}"
+            shift
+            SESSIONDIR="$SESSIONDIR ${1}"
+            ARGV="$ARGV ${1}" 
+            shift;;
+
+        *)
+            ARGV="$ARGV ${1}"; shift ;;
+    esac
+done
+
+# create unique sessionid based on sources and destination
+SESSIONDIR=$(echo $SESSIONDIR | md5sum | cut -f1 -d' ')
+SESSIONDIR="$TMPDIR/mvpkg-$SESSIONDIR"
+
+if [ -d $SESSIONDIR ]; then
+    echo "** Using uncommitted move session (remove $SESSIONDIR to reset)"
+else 
+    echo "** Starting new move session $SESSIONDIR"
+    mkdir -p $SESSIONDIR
+    [ -d $SESSIONDIR ] || exit 1
+    # create uncompressed index - zfseek() slooows down with random seeks
+    $POLDEK $MKIDX_ARGV --mo=nodesc,nocompress --mkidx="$SESSIONDIR/packages.ndir"
+fi
+
+$POLDEK --destination $SESSIONDIR/packages.ndir -Oconflicts=no --nofetch --justdb \
+ --log $SESSIONDIR/log.$$ $ARGV
+
+[ $? -ne 0 ] && rm $SESSIONDIR/log.$$
+
+echo
+echo "** Session transacions:"
+for i in $SESSIONDIR/log.*; do
+    [ -f $i ] || continue
+    echo "--"
+    egrep '%(add|del)' $i
+done
================================================================


More information about the pld-cvs-commit mailing list