$Id: README,v 1.12 2002/03/11 15:35:40 guillomovitch Exp $

Authors: 	Vincent Danen <vdanen@mandrakesoft.com>
		Guillaume Rousse <rousse@ccr.jussieu.fr>
Homepage: 	www.freezer-burn.org/scripts/rpmproc.php


What it does...
---------------

rpmproc is a perl script to manage RPM files in a flexible manner.  It
processes i386/i586/i686/noarch RPM packages by giving you an easy interface
to build and redistribute your custom-made RPM packages.


How to use it...
----------------

rpmproc [flags] [actions] [packages]

  flags are:
    [-c|--config <file>]         uses <file> as an additional config file
    [-w|--with <option>=<value>] add <option> with <value> to current config

  actions are:
    [--help]          display this help message and stop
    [--dump]          dump configuration information and stop
    [--build]         build rpm
    [--local]         upload to local rpms dir
    [--scp]           upload to remote rpms dir by scp
    [--ftp]           upload to remote rpms dir by ftp
    [--mail]          announce changelog to mailing list

  packages is the list of packages to process

Using --build will clean old RPM files and build new source and binary files.
It will sign or not sign packages with PGP/GPG at your discretion.

Using --noarch will clean old RPM files and build new SRPM and noarch RPM
files.  It will sign or not sign packages with PGP/GPG at your discretion.

Using --mail will announce the changelog for your RPM to a configured
mailing list.

Using --remote will upload your RPMs to a remote FTP site (ie.
ftp.linux-mandrake.com/incoming) for inclusion into a contribution site.  It
can use FTP or SCP.

Using --local will move your files to a new directory tree with each
program being stored in it's own subdirectory (ie.
/home/ftp/pub/custom/[program]/) or a specified directory (configurable via
the config file).

[package] is the name of the specfile without the .spec suffix (ie. to
process gkrellm.spec, you would simply use gkrellm).


Configuration
-------------

rpmproc configuration is done in the /etc/rpmproc.conf file, the
~/.rpmprocrc file, or a file you specify on the commandline. Additional
options can also be specified by command-line option --with.
Please look at the default rpmproc.conf that comes with the package for
descriptions of what each option does.

Thanks
------

The changes from version 1.4 to 1.5 were done solely by Alexander Skwar
<ASkwar@DigitalProjects.com>.  Thanks for the excellent improvements!

All of the changes in 1.8-1.10 with the exception of a little work in 1.10
was done solely by Guillaume Rousse <rousse@ccr.jussieu.fr>.  Because a lot
of it was written, I decided it only fair to name Guillaume as a co-author
of the project.  =)  Thank you!

Update
------

(Guillaume talking)
As Vincent was quite overwhelmed by the multiple patches, patch fixes,
and patch fixes fixes i sent him, the 2.x branch was long delayed.
Now rpmproc is hosted on Sourceforge, and releases should be more regular.
The new three digit versionning scheme is intended to differentiate bugfixes
only releases (revision number change) from feature change releases (minor number
change).

License
-------

rpmproc 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, or (at your option)
any later version.

rpmproc is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with rpmproc; see the file COPYING.  If not, write to the
Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.


TODO
----

I don't believe in unecessary files, so my small TODO is here:

- make md5sums and transfer it for remote uploads (done)
- change processing from "all actions for a single package" to
  "all packages for a single action" mode (done)
- a more complete manual (done)
- a CVS task
