Add spec-cleaner script
[opensuse:spec-cleaner.git] / spec-polish-macros
1 #!/bin/sh
2
3 sed -i '
4 # use /^%files/ instead of 1 below when you want to replace macros only in %files section
5 # otherwise all macros are replaced until line with %changelog is hit
6
7 1,/^%changelog/ {
8
9 # replace prefix /usr
10
11 s:%_prefix:%{_prefix}:g
12 s:/usr:%{_prefix}:g
13 s:%prefix:%{_prefix}:g
14 s:%{prefix}:%{_prefix}:g
15
16 # replace bindir /usr/bin
17
18 s:%_bindir:%{_bindir}:g
19 s:%{_prefix}/bin:%{_bindir}:g
20
21 # replace sbindir /usr/sbin
22
23 s:%_sbindir:%{_sbindir}:g
24 s:%{_prefix}/sbin:%{_sbindir}:g
25
26 # replace includedir /usr/include
27
28 s:%_includedir:%{_includedir}:g
29 s:%{_prefix}/include:%{_includedir}:g
30
31 # replace datadir /usr/share
32
33 s:%_datadir:%{_datadir}:g
34 s:%{_prefix}/share:%{_datadir}:g
35
36 # replace mandir /usr/share/man
37
38 s:%_mandir:%{_mandir}:g
39 s:%{_datadir}/man:%{_mandir}:g
40
41 # replace infodir /usr/share/info
42
43 s:%_infodir:%{_infodir}:g
44 s:%{_datadir}/info:%{_infodir}:g
45
46 # replace lib
47
48 s:%_lib:%{_lib}:g
49
50 # replace libdir (unfortunately cannot replace /usr/lib{,64} directly - could be libexecdir)
51
52 s:%_libdir:%{_libdir}:g
53 s:%{_prefix}/%{_lib}:%{_libdir}:g
54
55 # replace libexecdir
56
57 s:%_libexecdir:%{_libexecdir}:g
58
59 # replace sysconfdir /etc
60
61 s:%_sysconfdir:%{_sysconfdir}:g
62 s:/etc:%{_sysconfdir}:g
63
64 # replace localstatedir /var
65
66 s:%_localstatedir:%{_localstatedir}:g
67 s:/var:%{_localstatedir}:g
68
69 # replace buildroot
70
71 s:${RPM_BUILD_ROOT}:%{buildroot}:g
72 s:$RPM_BUILD_ROOT:%{buildroot}:g
73 s:%buildroot:%{buildroot}:g
74
75 # replace optflags
76
77 s:${RPM_OPT_FLAGS}:%{optflags}:g
78 s:$RPM_OPT_FLAGS:%{optflags}:g
79 s:%optflags:%{optflags}:g
80
81 }
82 ' *.spec