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