1rpmrebuild_plugins(1) rpm tools rpmrebuild_plugins(1)
2
3
4
6 rpmrebuild_plugins - is an engine to expand rpmrebuild functionality.
7
9 rpmrebuild [non-plugins-option] [plugins-option] <packagename>
10 or
11 rpm --rpmrebuild [non-plugins-option] [plugins-option] <packagename>
12
14 rpmrebuild itself try to do it's best to reconstruct rpm package as
15 close to original as possible.
16
17 rpmrebuild plugins's aim is opposite - somehow change rebuilded rpm.
18
20 Without plugins process of rpm rebuilding looks like:
21
22 query -
23 Query rpm to be rebuilded for the different pieces of informa‐
24 tion.
25
26 concatenate -
27 Create from these pieces specfile.
28
29 build -
30 Use specfile to build rpm.
31
33 With plugins process of rpm rebuilding looks like:
34
35 query -
36 Query rpm to be rebuilded for the different pieces of informa‐
37 tion.
38
39 change parts -
40 Change parts of the spec created by query.
41
42 concatenate -
43 Create specfile from the pieces.
44
45 change whole -
46 Change concatenated specfile.
47
48 build -
49 use specfile to build rpm.
50
52 Query" queries for the following information:
53 preamble
54 conflicts
55 obsoletes
56 provides
57 requires
58 description
59 files
60 triggers
61 pre
62 post
63 preun
64 postun
65 verifyscript
66 changelog
67
69 Concatenate" create 'full' specfile from the pieces. It do following:
70
71 add AutoReq / AutoProv tags
72 add BuildRoot tag
73 add some defines to adjust rpm's behaviour.
74 double all '%' - it'll prevent rpm from attempting expand %something as
75 macro.
76 add '%description' before description
77 add '%files' before files
78 add '%changelog' before changelog
79
81 rpm building (or rebuilding) process has two inputs: specfile and pack‐
82 age's files under buildroot directory. So, there are two plugins type:
83
84 - for specfile modification.
85
86 - for files (under buildroot) modification.
87
89 Plugins are executed AFTER rpm package is queried and BEFORE new pack‐
90 age is rebuilded in the order specified on the command line.
91
92 Exit status
93 Any plugin should exit with status 0 on success, and any other
94 value on failure. Failed plugin will immediately terminate
95 whole rpmrebuild.
96
97 Environment variables
98 all plugins get following environment variables:
99
100 RPMREBUILD_TMPDIR
101 directory for plugin's temporaries files. plugin no need
102 remove this directory - rpmrebuild will care.
103
104 RPMREBUILD_PLUGINS_DIR
105 directory with plugins.
106
107 RPMREBUILD_COMMENT_MISSING
108 if 'yes' missing files commented in the 'files' part of
109 specfile
110
111 RPMREBUILD_PUG_FROM_FS
112 if 'yes' permission owner and group in the part file were
113 taken from filesystem, otherwise - from rpm's database.
114
115 RPMREBUILD_WARNING
116 if 'yes' rpmrebuild will produce warning for filenames
117 with glob characters.
118
119 PATH This variable is set to $RPMREBUILD_PLUGINS_DIR:$PATH
120
121 LONG_OPTION
122 Contains long option (without --) which was used to
123 invoke plugin.
124
125 RPM_BUILD_ROOT
126 For plugins modifying files under buildroot set to build‐
127 root. For other plugins - empty.
128
129 stdin and stdout
130 Plugins for specfile modification (i.e., invoked with --spec-got
131 "source" spec file from stdin and have to write resulting spec
132 file to stdout.
133
135 Three plugins are given as examples :
136
137 demo.plug: a "dummy" plugin to show how plugins works
138
139 uniq.plug: a very simple plugin to sort and clean duplicate spec lines
140
141 file2pacDep.plug: a "real" plugin to convert file dependencies to pack‐
142 age dependencies
143
144 nodoc.plug : a plugin to remove documentation from a package
145
147 If you are going to write plugin (and manpage for it) it's strongly
148 recommended than manpage's file looks like name.1rrp - this way command
149 'man -k rrp' will provide list of all rpmrebuild's plugins installed.
150 Please note, that makewhatis should be run before newly installed man‐
151 pages will be available for 'man -k rrp'
152
154 Eric Gerbier <gerbier@users.sourceforge.net>
155 Valery Reznic <valery_reznic@users.sourceforge.net>
156
157 See <URL:http://rpmrebuild.sourceforge.net/>.
158
160 rpm(8), rpmbuild(8), rpmrebuild(1), demo_plug(1), nodoc.plug(1),
161 uniq.plug(1), file2pacDep.plug(1), 'man -k rrp' for plugins specific
162 manpages
163
164
165
166
167Valery Reznic 2.1.1 rpmrebuild_plugins(1)