]> git.pld-linux.org Git - packages/rpm-build-macros.git/blob - rpm-build.sh
- new macro: %ld_rpmldflags - rpmldflags for 'ld' used as linker
[packages/rpm-build-macros.git] / rpm-build.sh
1 # shell aliases and functions for PLD Developer
2 # $Id$
3
4 alias cv='cvs status -v'
5 alias ac='poldek -q --sn ac --cmd'
6 alias ac-requires='ac what-requires'
7 alias ac-provides='ac what-provides'
8 alias ac-verify='poldek --sn ac --sn ac-ready --verify=deps'
9 alias ac-tag='./builder -cf -T AC-branch -r HEAD'
10 alias adif="dif -x '*.m4' -x ltmain.sh -x install-sh -x depcomp -x 'Makefile.in' -x compile -x 'config.*' -x configure -x missing -x mkinstalldirs -x autom4te.cache"
11 alias pclean="sed -i~ -e '/^\(?\|=\+$\|unchanged:\|diff\|only\|Only\|Files\|Common\|Index:\|RCS file\|retrieving\)/d'"
12
13 # merges two patches
14 # requires: patchutils
15 pmerge() {
16         combinediff -p1 $1 $2 > m.patch || return
17         pclean m.patch
18         dif $1 m.patch
19 }
20
21 # makes diff from PLD CVS urls
22 urldiff() {
23         local url="$1"
24         if [ -z "$url" ]; then
25                 echo >&2 "Reading STDIN"
26                 read url
27         fi
28
29         echo >&2 "Process $url"
30         local file="$url"
31         file=${file#*SPECS/}
32         file=${file#*SOURCES/}
33         file=${file##*/}
34         local r1=${file#*r1=}
35         local r2=${r1#*r2=}
36         r2=${r2%[&;]*}
37         r1=${r1%%[&;]*}
38         file=${file%\?*}
39         file=${file%.diff}
40
41         echo >&2 "$file: $r1 -> $r2"
42
43         if [ -t 1 ]; then
44                 pipe=' | tee m.patch | diffcol'
45         fi
46         cvs diff -u -r$r1 -r$r2 $file $pipe
47 }
48
49 # downloads sourceforge url from specific mirror
50 sfget() {
51         local url="$1"
52         url="${url%?download}"
53         url="http://dl.${url#http://prdownloads.}"
54         # use mirror
55         local mirror="http://nchc.dl.sourceforge.net"
56         url="$mirror/sourceforge/${url#http://dl.sourceforge.net/}"
57         wget -c "$url"
58 }
59
60 # displays latest used tag for a specfile
61 autotag() {
62         local out
63         for a in "$@"; do
64                 out=$(cvs status -v $a | awk '/auto-ac-/{if (!a++) print $1}')
65                 echo "$a:$out"
66         done
67 }
68
69 dif() {
70         if [ -t 1 ]; then
71                 diff -ur "$@" | diffcol | less -R
72         else
73                 diff -ur "$@"
74         fi
75 }
76
77 diffcol() {
78 sed -e '
79         s,\e,\e[44m^[\e[49m,g;
80         s,\a,\e[44m^G\e[49m,g;
81         s,^\(Index:\|diff\|---\|+++\) .*$,\e[32m&,;
82         s,^@@ ,\e[33m&,;
83         s,^-,\e[35m&,;
84         s,^+,\e[36m&,;
85         s,\r,\e[44m^M\e[49m,g;
86         s,      ,    ,g;
87         s,\([^[:space:]]\)\([[:space:]]\+\)$,\1\e[41m\2\e[49m,g;
88         s,$,\e[0m,
89 ' "$@"
90 }
91
92 # chdir to file location and do 'cvs log'
93 cvslog() {
94         local f="$1"
95         local d="${f%/*}"
96         [ "$d" = "$f" ] && d=.
97         (builtin cd $d && cvs log ${f##*/})
98 }
This page took 0.026292 seconds and 3 git commands to generate.