$Id: README,v 1.4 1998/01/30 20:22:54 deas Exp $

1. Why

When following rapid development like KDE, the upgrading task ( getting
sources/patches, patching, compiling, installation and packaging )
can get quite a pain. The more packages you a trying to follow, the
more you find yourself spending time on those tasks. The idea of
kupgrade is to automate the upgrading process as much as possible, so
that you spend your time with more pleasant stuff like testing,coding
and sending bug-reports. :)
I hope to encourage developers of non-KDE-core-packages to provide
diff.gz's like the ones one gets from kde-patches.

This packages contains two little perl-scipts:

- kupgrade : Is for easy automated upgrading
- kcvsdiff : For developers to create/send patches for their testers

2. Requirements

kupgrade:
   - rpm	  ( For compiling,packaging and installation only )
   - bzip2        ( Only if you use .bz2 patches )
   - patch
   - uudecode     ( Only if you receive the patches as a diff.tgz via mail )
   - procmail     ( Recommended you receive the patches as a diff.tgz via
                    mail. )

kcvsdiff:
   - cvs
   - mail

both:
   - perl
   - tar, gzip

3. Installation

3.1 kupgrade

Copy kupgrade.rc to ~/.kupgrade and modify it to fit your needs.
Put the perl-scipt kupgrade it in your $PATH.
Follow 3.1.1-3.1.3 depending on what you plan to do with it.

3.1.1 If you want it to patch the sources or create new tarballs from
      patched sources

Extract the source tarballs kfoo-YYMMDD.tar.gz to kupgrade/src, put
all the patches ( kfoo-YYMMDD-YYMMDD.diff.gz and/or
 kfoo-YYMMDD-YYMMDD.bins.tar.gz ) in kupgrade/patches and apply the
patches manually. ( When running it the first time, it assumes the
patches have been applied ). Run kupgrade and check the file
kupgrade/log/VERSION to see, if everything went ok.

3.1.2 If you get patches via mail as a diff.tgz containing
      kfoo-YYMMDD-YYMMDD.diff.{gz,bz2} and/or kfoo-YYMMDD-YYMMDD.bins.tar.gz
      like the ones kde-patches sends, and you have procmail installed

Here is a sample recipe for ~/.procmailrc to patch the sources and
mail errors if occured:

:0 i
* ^X-Mailing-List: <kde-patches@fiwi02.wiwi.uni-tuebingen.de>
| /path/to/kupgrade/kupgrade -upvm

3.1.3 If you want it for compilation/rpm-packaging

Make sure that you have write permission in rpm's
SPECS,SRPMS,RPMS/<ARCH> and SOURCES directories.

3.2 kcvsdiff

Put it somewhere in your $PATH and run it without any arguments.
A directory ~/kvsdiff will be created. You'll find a kcvsdiff.cfg and
a directory patches for the patches. Editing the kcvsdiff.cfg should
be self explaining. A status-file ~/kcvsdiff/kcvsdiff.status will be
created as you start using it.

4 Usage

The scripts may have bugs. Please tell me, if you've found one.
I would strongly recommend, to *NOT* run kupgrade as root, unless you
need the "-U" option. (You can also install as a "normal" user, if you
have su1(1) installed properly)
I hope they are both be pretty straight forward. Just run them without any
commandline options, or with "-h".
Both scripts write logfiles to help you track what they did.
I tried to make kupgrade "do the right thing" by default, so that you
one can run it non-interactively when trusting it. kupgrade
creates a lockfile kupgrade/LOCK. If it seems to hang, it is most
likely there is a stale lockfile.

5 Tested versions

I have tested this with the following programs:

- cvs-1.9
- rcs-5.7
- bzip2-0.1pl2
- gzip-1.2.4
- GNU tar-1.11.8
- patch-2.5 (recommended)
- rpm-2.4.9
- diff-2.7

6 Future

I am in general willing to continue working on/improving this little
package. This depends on feedback.

				Enjoy !

Andreas Steffan <deas@rrz.uni-hamburg.de>