+function rpmsrclist
authorjkratoch <>
Fri, 13 Mar 2009 21:36:54 +0000 (21:36 +0000)
committerjkratoch <>
Fri, 13 Mar 2009 21:36:54 +0000 (21:36 +0000)
.bashrc

diff --git a/.bashrc b/.bashrc
index f95bb65..e8f03db 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -330,6 +330,33 @@ function gdbdevelcvscheckout {(set -ex
 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/&#"; \
+                                       else \
+                                               base="$(echo "$1"|sed 's/^\(.*\)-[^-]*-[^-]*$/\1/')"; \
+                                               sed "s#^.*-\([^-]*\)-\([^-]*\)\.\([^.]*\)\$#http://kojipkgs.fedoraproject.org/packages/$base/\1/\2/\3/&#"; \
+                                       fi; \
+                               fi \
+                       | sort -u
+       fi
+}
 
 ulimit -S -c 0
 set +H