NAME
rpmerizor - build an rpm package from installed files
VERSION
2.5
DESCRIPTION
Rpmerizor is a script that allows you to create an RPM package from
installed files. You simply have to specify files on the command line
and answering a few interactive questions to fill rpm meta-data (package
name, version ...). You can also use it in batch mode with command line
options for meta-data.
USAGE
to build an rpm from installed files :
rpmerizor {options} file|dir [file|dir [file|dir]]
to build an rpm from a chrooted directory which contain only the
software you want to package
rpmerizor --rootdir directory
REQUIRED ARGUMENTS
Files and directories to include in rpm package
Files are included as they are on their current filesystem.
Only include dirs that should be _owned_ by the package.
Since 2.2 version, giving a directory means giving all
files under it : this is recursive
OPTIONS
--help : show short help text
--man : show full help text
--Version : display rpmerizor version and exit
--verbose : better rpm build diagnostics
--buildall : build also src.rpm package
--edit_spec : build spec file and edit it using EDITOR variable
--spec_only : build spec file and exit
--sign : sign rpm package with your gpg key
--list_group : display the list of available rpm groups
--exclude 'foo[|bar]: give a pattern to exclude some files
--rootdir dir : include all files as chrooted to dir directory. In this
case, name and version meta-data are guessed from directory name
--compat : build rpm package with compatibility with old rpm release (md5)
--default : fill release and group with default values
--stdin : read file list from stdin. in this case, you have to give all
meta-data from command line.
meta-informations for batch use
--name pack_name: package name
--version number : package version
--release number : package release
--group rpm_group : package group (use --list_group to list all values)
--summary "package summary": short one line description
--description "package description": multi-line description
--buildarch arch : (optionnal) should be one of noarch/i386/i586/x86_64/...
--url http://website : (optionnal) url of project
--packager "your name" : (optionnal) name of rpm packager
DEPENDENCIES
rpm, perl
AUTHOR
initial author : Paul Miller
current maintener : Eric Gerbier
url : http://freshmeat.net/projects/rpmerizor
LICENSE AND COPYRIGHT
Copyright (C) 2001 by Paul Miller
This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the
Free Software Foundation; either version 2 of the License, or (at your
option) any later version.
EXAMPLES
rpmerizor /opt/software /etc/software.conf
will ask for meta informations and build rpm
rpmerizor -buildall /opt/software /etc/software.conf
will ask for meta informations and build rpm and src.rpm
rpmerizor -e /opt/software /etc/software.conf
will ask for meta informations, edit specfile and build rpm
rpmerizor -name software -version 1.0 -release 1 -group rpmerizor \
-summary "software is ..." -description "software is ... " /opt/software /etc/software.conf
will build rpm without any question (batch mode)
rpmerizor -name software -version 1.0 -default \
-summary "software is ..." -description "software is ... " /opt/software /etc/software.conf
will build rpm without any question (batch mode), release and group use default value
rpmerizor --spec_only /opt/software /etc/software.conf
rpmbuild -bb --buildroot=/tmp/rpmerizor_buildroot software.spec
will first build the specfile, then build rpm package from specfile
rpmerizor --exclude 'foo|bar' /opt/software
will package files under /opt/software and exclude all files/directories
which contain 'foo' or 'bar'
rpmerizor --rootdir /tmp/foo-2.0/
will build a package with all files under /tmp/foo-2.0/, but remove
'/tmp/foo-2.0/' from path
if /tmp/foo-2.0 looks like :
/tmp/foo-2.0
|-- etc
| `-- foo.conf
`-- usr
`-- local
|-- bin
| `-- foo.bin
`-- lib
`-- foo.so
the rpm package will be named foo, will be version 2.0, release 1
and will contain the files:
/etc/foo.conf
/usr/local/bin/foo.bin
/usr/local/lib/foo.so
rpmerizor --rootdir /tmp/foo-2.0/ --compat
build on fedora 14 (for example) for redhat/centos compatibility
cat list | rpmerizor --stdin --default -name foo --version 1.2b --summary foo --description "toto"
get list of directories/file from a pipe
DIAGNOSTICS
rpmerizor uses the prefix WARNING and ERROR for diagnostics
EXIT STATUS
0 if all is OK
>= 1 if the script detect a problem
CONFIGURATION
no configuration file yet
INCOMPATIBILITIES
it is designed to work with rpm version 4 and greater
BUGS AND LIMITATIONS
you can send your bug reports to gerbier@users.sourceforge.net
ENVIRONMENT VARIABLES
to edit the specfile, the code use EDITOR if exists. Else, it use the vi
editor
SEE ALSO
if you want to build an rpm package from a tar file, which contain a
makefile, you should use checkinstall
(http://asic-linux.com.mx/~izto/checkinstall/)