From: jliddle@rs6000.cmp.ilstu.edu (Jean Liddle)
Subject: Patch Repository Now Open: rs6000.cmp.ilstu.edu
Date: Sun, 06 Sep 1992 19:15:43 GMT
Organization: Illinois State University

Greetings fellow Linuxers!

At long last, after 2 weeks of testing, the Patch Repository is
open for business :).

rs6000.cmp.ilstu.edu [138.87.1.2]: pub/linux

pub/linux/Incoming is rwxt for everyone, so contributions can be put
there.

What follows are the README and README.template files which
can be found under pub/linux.  When uploading patches, please use
the README.template file and edit it according to the requirements
of the patch you have made.  It is hoped that a Patch Repository will
encourage people to upload diffs (unified diffs made with diff -ur
are preferred as they are usually much smaller than cdiffs, although
no patch will be turned away! :)) to programs they have ported to
linux even when they may be reluctant to upload entire binaries or
patched sources.  Thus, hopefully an even wider variety of software
will be easilly installable by both casual and expert linux users.

Also, if you find programs on the net which compile strait out of the
box, please feel free to upload a note on where the file can be gotten
and what special steps, compile options, etc. you used to get it to
compile successfully.  If you would like to use the README.template for
this purpose as well, so much the better.  The goal is to make compiling
and installing diverse software as easy as possible for users, assuming
they have a working gcc installed.

Suggestions, etc. can be sent to jliddle@ilstu.edu.

If you find a patch outdated or have an improvement, please feel free to
upload it as well.  Uploads which are accompanied by a note to me at the
e-mail address above will probably be noticed sooner than those simply
placed in incoming with no notice.

BTW - I have made incoming xrw by everyone (with sticky bit on:)), so
contributers will probably want to make sure read permissions are set
for group and other so that others can download new patches even before
I get around to moving them to the proper directories.

[ start README ]

this site is intended as a collection and distribution center for
any and all patches which are to be applied to any and all software
so that it can be compiled and run under LINUX.  It is hoped that,
by making patches available to users which can be applied to
packages commonly available on the internet, more users will have
access to a greater variety of software, and less duplication of
effort will occur.

HOW TO FIND THE PATCH YOU NEED

The "root" directory of the linux stuff is in /u/ftp/pub/linux.
Beneath this, the directory tree is organized as follows:

pub/linux/-+-Incoming/ (Writable by everyone, this is where you
           |            put your contributions.  Don't forget
           |            to email me and let me know its there!)
           |
           +-Utilities/ (patches to standard gnu/linux utilities
           |             such as gmake, flex, bison, etc. with 
           |             pointers to the original code from the FSF
           |             or other sites)
           |
           +-Applications/ (patches to unix apps to run under linux)
           |
           +-System/ (this would be the only directory with actual
           |          source code in addition to patches, for linux
           |          kernel sources and patches, and system
           |          software such as filesystems, etc.)
           |
           +-X11R5/-+-mit  (X11 stuff.  The tree would resemble
                    |       the mit R5untarred tree structure at
                    |       export, with patches for clients, libs,
                    |       etc., in the appropriate directories)
                    +-contrib (third party x windows
                               contributions, such as xasteroids,
                               etc. :))

Filenames for Incoming stuff will be whatever the person submitting
the patch feels like calling it.  Once I move it to the appropriate
place in the directory tree, I will rename it so that the filename
describes what version of the program the patch applies to, what
version of linux it was compiled under, and what version of GCC was
used.  So, for example, a patch for progname Version 2.15, compiled
under linux 0.97.1 with gcc 2.2.2 would be called:

progname215.097-1.222.tar.Z

WHAT IS IN THE .tar.Z FILE

progname.p01 - The patch file, which you will apply to the
               source.
README.progname - Instructions on where to find the source
               to which the patch will be applied, how to
               apply the patch, and what, if any, special
               steps must be taken to compile the patched 
               source.

HOW TO APPLY PATCHES

Assuming you have untarred the source.tar.Z file into the
directory /usr/src/source, applying the patch is very simple.
$ cd /usr/src
$ patch -p0 < patchfile

where "patchfile" is the complete path to "source.pNN", the 
patch which you downloaded.

Detailed instructions on how to patch and compile the source
are included in the README.progname file, included in the
patch.tar file you downloaded.  Some applications will require
additional configuration, which is generally specified in the
README, install.doc, or similar file contained in the source.tar.Z
file you downloaded.

HOW TO SUBMIT PATCHES

1. Just put the progname.p01 and README.progname files
   in the /u/ftp/pub/linux/Incoming directory, either as
   seperate files or already archived into a .tar file
   and ...
2. send mail to jliddle@ilstu.edu, so I know it's there.

   I have made the Incoming directory readable and writable
   by everyone, so people can download patches even before
   I get to them `a la sunsite.unc.edu.  Nevertheless, I will
   try to move patches to the appropriate directory as quickly
   as possible.

HOW TO MAKE PATCHES FOR DISTRIBUTION

In order to make life as painless as possible for those
downloading and applying patches, patches submitted should have
the following properties:

o Assuming the source code is in /usr/src/source, the user
  should be able to apply the patch from /usr/src and have all 
  of the necessary changes made throughout the entire directory
  tree beneath /usr/src/source

o A README file, based on the README.template in
  /u/ftp/pub/linux should be included.  This will help the user
  find the same source files from which you made that patch, and
  guide him or her through any special steps necessary to apply
  the patch and compile the sources.  A good example is the
  README.xzap-1.0 file included with the xzap patches in X11R5/contrib/clients.
  It points out several things the user must do to compile the
  program successfully before and after applying the patch
  (e.g. running xmkmf before applying the patch so that patch
  can also update the resulting Makefile)

And, since space on our site is limited, Please use

diff -ur

to make patches, instead of diff -crw.  The resulting diffs are usually
much smaller, and patch has no trouble with them.  -- Thanks!

-------
The following is how I make patches - you might want to do
something similar.

Assume the source code I have hacked so that it compiles and
runs successfully under linux is in /usr/src/source.

Assume my current working directory is /usr/src/source

1. Clean up the mess I've made compiling stuff
   $ make clean
   (or, rm *.o core, etc. if make clean doesn't work)

2. change directory to parent
   $ cd ..
   (`pwd` -> /usr/src)

3. move /usr/src/source to /usr/src/source.new
   $ mv source source.new

4. untar the original sources again
   $ tar xvf /downloadpath/source.tar
   (which creates /usr/src/source and its respective subdirs)

5. make a unified diff against the original sources
   $ diff -ur source source.new > source.p01

6. copy the readme template to README.source, type in the
   needed info, and put the two into a .tar file for uploading.
   $ cp README.template README.source
   $ joe README.source
   $ tar clvf source10.097-1.222.tar source.p01 README.source

If you are using the minix filesystem and cannot make the
filename descriptive, don't worry about it.  As long as the
pertinant info (program version, linux version/patchlevel, and
gcc version) are in the README.source file, I can rename the 
file accordingly.

Please send any suggestions, ideas, and constructive criticism to
jliddle@ilstu.edu.
[ end README ]

[ start README.template ]
Program: 
Description:
Requirements:
   -
   - Linux ver.      * 
* May work under earlier version, but untested.
----
Source: 
File Size: 
Available From: 
In:

Or use ARCHIE to locate file at other ftp sites 
----
Patch submitted: 
By: 
Compiled With: 
Under: 
====
How to compile 
----
0. (untar the source)
   $ tar xvf 
1.
2. (apply the patch)
   $ patch -p0 < 
3. $ make
----
Files
----
README.  - This File
  - Patch to apply
[ end README.template ]

-- 
Jean Liddle                                 | == Bill Clinton for President ==
Computer Science, Illinois State University | 
e-mail:  jliddle@ilstu.edu                  | - Carol Mosley Braun for Senat -
Newsgroups: comp.os.linux