+function valgrind
[nethome.git] / .bashrc
diff --git a/.bashrc b/.bashrc
index 701f11e..afd754d 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -310,17 +310,56 @@ function pidof
   fi
 )}
 function sumlog { find "$@" ! -name config.log -name "*.log" -o -name "*.sum"; }
-function gdbcvscheckout {(set -ex
-       test -d src || test -d gdb-cvs || (set +x;cvs -z3 -d :pserver:anoncvs:@sourceware.org:/cvs/src checkout gdb)
-       mv src gdb-cvs
-       cd gdb-cvs
+function sourcewarecvscheckout {(set -ex
+       ! test -d src
+       ! test -d $1-cvs 
+       (set +x;cvs -z3 -d :pserver:anoncvs:@sourceware.org:/cvs/src checkout $1)
+       mv src $1-cvs
+       cd $1-cvs
        (set +x;cvs update)
        #(set +x;cvsignoresall)
        (set +x;ignoresall)
        );}
+function gdbcvscheckout { sourcewarecvscheckout gdb; }
+function binutilscvscheckout { sourcewarecvscheckout binutils; }
+function gdbdevelcvscheckout {(set -ex
+       ! test -d gdb-devel
+       (set +x;CVSROOT=:pserver:anonymous@cvs.fedoraproject.org:/cvs/pkgs cvs checkout -d gdb-devel rpms/gdb/devel)
+       cd gdb-devel
+       make test-srpm
+       rm `make verrel`.src.rpm
+       );}
 function uri_escape   { perl -MURI::Escape -le '$_=<>;chomp;print uri_escape   $_;'; };
 function uri_unescape { perl -MURI::Escape -le '$_=<>;chomp;print uri_unescape $_;'; };
 function n { if [ "$1" = "-p" ];then renice +19 "$@";ionice -c3 "$@";else nice -n19 ionice -c3 "$@";fi };
+function rpmsrclist
+{
+       if [ -z "$*" ]; then
+               echo >&2 "rpmsrclist gcc-4.3.2-7 [4.4.0-0.25 [-|http://kojipkgs.fedoraproject.org/packages/gcc/4.4.0/0.25/]]"
+       else
+               rpm -q --qf '%{SOURCERPM} %{name}-%{version}-%{release}.%{arch}\n' -a \
+                       | grep "^$1.src.rpm " | sed 's/^[^ ]* //' \
+                       | \
+                               if [ -z "$2" ]; then \
+                                       cat; \
+                               else \
+                                       sed "s/-$(echo "$1"|sed 's/^.*-\([^-]*-[^-]*\)$/\1/')/-$2/"
+                               fi \
+                       | \
+                               if [ -z "$3" ]; then \
+                                       cat; \
+                               else \
+                                       if [ "$3" != - ]; then
+                                               sed "s#.*#$3&.rpm#"; \
+                                       else \
+                                               base="$(echo "$1"|sed 's/^\(.*\)-[^-]*-[^-]*$/\1/')"; \
+                                               sed "s#^.*-\([^-]*\)-\([^-]*\)\.\([^.]*\)\$#http://kojipkgs.fedoraproject.org/packages/$base/\1/\2/\3/&.rpm#"; \
+                                       fi; \
+                               fi \
+                       | sort -u
+       fi
+}
+function valgrind {(unset valgrind;s=~/.python.valgrind;perl -e 'undef $/;$_=<>;1 while s/^(?:###)?({\n)(?:###)?( *ADDRESS_IN_RANGE.*\n(?:[^}#].*\n)*)###/$1$2/gm;print;' </usr/share/doc/python-devel-2.*/valgrind-python.supp >$s;valgrind --suppressions=$s "$@";);}
 
 ulimit -S -c 0
 set +H