r36215 - /website/tips.pod

dmn at users.alioth.debian.org dmn at users.alioth.debian.org
Sat May 23 13:56:31 UTC 2009


Author: dmn
Date: Sat May 23 13:56:25 2009
New Revision: 36215

URL: http://svn.debian.org/wsvn/?sc=1&rev=36215
Log:
infuse my functions

Modified:
    website/tips.pod

Modified: website/tips.pod
URL: http://svn.debian.org/wsvn/website/tips.pod?rev=36215&op=diff
==============================================================================
--- website/tips.pod (original)
+++ website/tips.pod Sat May 23 13:56:25 2009
@@ -78,6 +78,128 @@
         apt-file search $(echo "$@" | sed -e 's;::;/;g' -e 's;$;.pm;') | uniq
     }
 
+    # extract package details. used in the rest below
+    pkg_info()
+    {
+        dpkg-parsechangelog|grep ^$1|cut -f2 -d' '
+    }
+
+    # run lintian and diffstat on the package built in pbuilder result/
+    # directory
+    # package name is deduced from ./debian.
+    # all argumentts are given to lintian
+    lpdb()
+    {
+        local PKG=`pkg_info Source:`
+        local VER=`pkg_info Version:|sed 's/^.\+://'`
+        local ARCH=`dpkg-architecture -qDEB_HOST_ARCH`
+
+        local PDB=/var/cache/pbuilder/result
+
+        local CMD="lintian $@ -I --color=auto ${PDB}/${PKG}_${VER}_${ARCH}.changes"
+        echo $CMD
+        $CMD
+
+        if [ -e ${PDB}/${PKG}_${VER}.diff.gz ]; then
+            echo diffstat ${PDB}/${PKG}_${VER}.diff.gz
+            diffstat ${PDB}/${PKG}_${VER}.diff.gz
+        else
+            echo Native package.
+        fi
+    }
+
+    # show upstream/debian/binary differences between the version in the
+    # archive and the built package in pbuilder result/ directory
+    # package name deduced from ./debian/
+    dpdb()
+    {
+        local PKG=`pkg_info Source:`
+        local VER=`pkg_info Version:|sed 's/^.\+://'`
+        local ARCH=`dpkg-architecture -qDEB_HOST_ARCH`
+
+        local PDB=/var/cache/pbuilder/result
+        BINS=`awk '/^Package: /{print $2}' < debian/control`
+
+        TMP=`mktemp -d`
+        trap "rm -r $TMP" INT TERM QUIT
+        (cd $TMP && apt-get -t sid -d source ${PKG})
+        ( echo "UPSTREAM DIFF"; debdiff -w $TMP/*.dsc ${PDB}/${PKG}_${VER}.dsc \
+            | filterdiff -x '*/debian/*' ) \
+                | tee $PDB/${PKG}_${VER}-upstream.diff | colordiff | less -R
+        ( echo "DEBIAN DIFF"; debdiff -w $TMP/*.dsc ${PDB}/${PKG}_${VER}.dsc \
+            | filterdiff -i '*/debian/*' ) \
+                | tee ${PDB}/${PKG}_${VER}-debian.diff | colordiff | less -R
+        ( cd $TMP && mkdir -p archives/partial && for b in $BINS; do apt-get -o Dir::Cache=. -o Debug::NoLocking=1 install --reinstall -y -d -t sid $b/unstable; done )
+        ( cd $TMP && for p in $BINS; do echo "DEBDIFF $p"; echo "============"; debdiff --wl archives/${p}_*.deb ${PDB}/${p}_${VER}*.deb; echo; done ) \
+            | tee ${PDB}/${PKG}_${VER}-deb.diff \
+            | less -R
+    }
+
+    # debc on the package in the pbuilder result/ directory
+    cpdb()
+    {
+        local PKG=`pkg_info Source:`
+        local VER=`pkg_info Version:|sed 's/^.\+://'`
+        local ARCH=`dpkg-architecture -qDEB_HOST_ARCH`
+
+        local PDB=/var/cache/pbuilder/result
+
+        echo debc ${PDB}/${PKG}_${VER}_${ARCH}.changes
+        debc ${PDB}/${PKG}_${VER}_${ARCH}.changes|less
+    }
+
+    # sign and upload the package from pbuilder result/ directory
+    # any arguments are passed to debsign (-k $SELF useful when sponsoring)
+    spdb()
+    {
+        local PKG=`pkg_info Source:`
+        local VER=`pkg_info Version:|sed 's/^.\+://'`
+        local ARCH=`dpkg-architecture -qDEB_HOST_ARCH`
+
+        local PDB=/var/cache/pbuilder/result
+
+        echo debsign $* ${PDB}/${PKG}_${VER}_${ARCH}.changes
+        debsign $* ${PDB}/${PKG}_${VER}_${ARCH}.changes
+
+        echo dupload --to debian ${PDB}/${PKG}_${VER}_${ARCH}.changes
+        dupload --to debian ${PDB}/${PKG}_${VER}_${ARCH}.changes
+    }
+
+    # upload package from pbuilder result/ directory to local apt reposutory
+    # useful for making packages in NEW available to pbuilder
+    lupdb()
+    {
+        local DEST
+        DEST=$1
+        if [ -z "$DEST" ]; then
+            echo "Synopsys: lpdb DEST"
+            return 1
+        fi
+
+        local PKG=`pkg_info Source:`
+        local VER=`pkg_info Version:|sed 's/^.\+://'`
+        local ARCH=`dpkg-architecture -qDEB_HOST_ARCH`
+
+        local PDB=/var/cache/pbuilder/result
+
+        reprepro -b /disk1/test-repo/$DEST include sid ${PDB}/${PKG}_${VER}_${ARCH}.changes
+    }
+
+    # inject new package into pkg-perl SVN repository
+    pkg-perl-inject() {
+        local PKG=`pkg_info 'Source: '`
+        local VER=`pkg_info 'Version: '`
+        local DSC="../${PKG}_${VER}.dsc"
+        if ! [ -f "$DSC" ]; then
+            echo "'$DSC' not found"
+            return 1
+        fi
+
+        local CMD="svn-inject -l2 -c0 $DSC svn+ssh://svn.debian.org/svn/pkg-perl"
+        echo $CMD
+        $CMD
+    }
+
 =head1 Authors and Contributors
 
 =over 2
@@ -87,6 +209,8 @@
 =item * Ryan Niebur <ryanryan52 at gmail.com>
 
 =item * gregor herrmann <gregoa at debian.org>
+
+=item * Damyan Ivanov <dmn at debian.org>
 
 =back
 




More information about the Pkg-perl-cvs-commits mailing list