Add --version and use 0.1 as initial version for spec-cleaner
[opensuse:spec-cleaner.git] / spec-polish-macros
1 #!/bin/sh
2 # vim: set ts=4 sw=4 et: coding=UTF-8
3
4 #
5 # Copyright (c) 2009, Novell, Inc.
6 # All rights reserved.
7 #
8 # Redistribution and use in source and binary forms, with or without
9 # modification, are permitted provided that the following conditions are met:
10 #
11 #  * Redistributions of source code must retain the above copyright notice,
12 #    this list of conditions and the following disclaimer.
13 #  * Redistributions in binary form must reproduce the above copyright notice,
14 #    this list of conditions and the following disclaimer in the documentation
15 #    and/or other materials provided with the distribution.
16 #  * Neither the name of the <ORGANIZATION> nor the names of its contributors
17 #    may be used to endorse or promote products derived from this software
18 #    without specific prior written permission.
19 #
20 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 # AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 # IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 # ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24 # LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 # POSSIBILITY OF SUCH DAMAGE.
31 #
32 #
33 # (Licensed under the simplified BSD license)
34 #
35 # Authors:
36 #   Vincent Untz <vuntz@novell.com>
37 #   Pavol Rusnak <prusnak@opensuse.org>
38 #
39
40 sed -i '
41 # use /^%files/ instead of 1 below when you want to replace macros only in %files section
42 # otherwise all macros are replaced until line with %changelog is hit
43
44 1,/^%changelog/ {
45
46 # replace prefix /usr
47
48 s:%_prefix:%{_prefix}:g
49 s:/usr:%{_prefix}:g
50 s:%prefix:%{_prefix}:g
51 s:%{prefix}:%{_prefix}:g
52
53 # replace bindir /usr/bin
54
55 s:%_bindir:%{_bindir}:g
56 s:%{_prefix}/bin:%{_bindir}:g
57
58 # replace sbindir /usr/sbin
59
60 s:%_sbindir:%{_sbindir}:g
61 s:%{_prefix}/sbin:%{_sbindir}:g
62
63 # replace includedir /usr/include
64
65 s:%_includedir:%{_includedir}:g
66 s:%{_prefix}/include:%{_includedir}:g
67
68 # replace datadir /usr/share
69
70 s:%_datadir:%{_datadir}:g
71 s:%{_prefix}/share:%{_datadir}:g
72
73 # replace mandir /usr/share/man
74
75 s:%_mandir:%{_mandir}:g
76 s:%{_datadir}/man:%{_mandir}:g
77
78 # replace infodir /usr/share/info
79
80 s:%_infodir:%{_infodir}:g
81 s:%{_datadir}/info:%{_infodir}:g
82
83 # replace lib
84
85 s:%_lib:%{_lib}:g
86
87 # replace libdir (unfortunately cannot replace /usr/lib{,64} directly - could be libexecdir)
88
89 s:%_libdir:%{_libdir}:g
90 s:%{_prefix}/%{_lib}:%{_libdir}:g
91
92 # replace libexecdir
93
94 s:%_libexecdir:%{_libexecdir}:g
95
96 # replace sysconfdir /etc
97
98 s:%_sysconfdir:%{_sysconfdir}:g
99 s:/etc:%{_sysconfdir}:g
100
101 # replace localstatedir /var
102
103 s:%_localstatedir:%{_localstatedir}:g
104 s:/var:%{_localstatedir}:g
105
106 # replace buildroot
107
108 s:${RPM_BUILD_ROOT}:%{buildroot}:g
109 s:$RPM_BUILD_ROOT:%{buildroot}:g
110 s:%buildroot:%{buildroot}:g
111
112 # replace optflags
113
114 s:${RPM_OPT_FLAGS}:%{optflags}:g
115 s:$RPM_OPT_FLAGS:%{optflags}:g
116 s:%optflags:%{optflags}:g
117
118 }
119 ' *.spec