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