1rpmrebuild_plugins(1)              rpm tools             rpmrebuild_plugins(1)
2
3
4

NAME

6       rpmrebuild_plugins - is an engine to expand rpmrebuild functionality.
7

SYNOPSIS

9       rpmrebuild [non-plugins-option] [plugins-option] <packagename>
10

DESCRIPTION

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

RPMREBUILD WITHOUT PLUGINS

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

RPMREBUILD WITH PLUGINS

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

SPECFILE PIECES

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

SPECFILE CONCATENATION

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

PLUGINS TYPES

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

PLUGIN'S INTERFACE

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

PLUGIN'S EXAMPLES

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

PLUGINS' MANPAGES FILENAME CONVENTION

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

AUTHORS

161       Eric Gerbier <gerbier@users.sourceforge.net>
162       Valery Reznic <valery_reznic@users.sourceforge.net>
163
164       See <URL:http://rpmrebuild.sourceforge.net/>.
165

SEE ALSO

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)
Impressum