Greetings fellow linuxer's,
My site's system administrator has given me permission to set up a
small anonymous ftp site in order to support Linux. Rather than become
yet another binary/source distribution center I am considering making
our site a center for distributing patches.
The reasoning is as follows:
1) There is an incredible amount of software available for various
*nix flavors from hundreds of ftp sites around the world. It
would, IMHO, be nice to be able to download the sources for
program A from wherever it is offered, download linux specific
patches from a linux patch distribution center, and compile the
program quickly and painlessly.
2) I have spent alot of time porting software (esp. X-Windows stuff)
only to find that one or more other people have done likewise and
have posted their binaries about the same time I would have. Having
a central point from which patches may be achieved might help
prevent people from duplicating efforts, or at least make software
ports more quickly available. With any luck, this might lead to
an even wider variety of software being made available (grin).
3) Our space is limited. Patches for many more programs can be kept
on disk than entire binary or source distributions. As this is
a service which does not appear to exist anywhere else, this
seems like a reasonable niche for our site to fill.
I would greatly appreciate comments and suggestions as to how this
might best benefit the linux community. I envision a directory tree
similar to tsx-11's /pub/linux/sources, i.e. perhaps:
pub/linux/-+-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
I foresee each patch contained in a .tar.Z file which, in addition
to the patch(es) itself, would also include a README file, explaining
where to get the sources, how to apply the patch, and a short step-by-
step synopsis of how to compile the sources.
For example, foo.tar.Z might untar into files:
foo.patch
README.foo
with the README.foo looking something like (for an X-windows client):
[ start README.foo ]
---
Original Sources: foo.tar.Z
File Size: 499,241 bytes
Available From: ftp.site.edu
In: /pub/ftp/directory
Or use ARCHIE to locate foo.tar.Z at other ftp sites.
---
Patch submitted: 7 Aug 1992
By: joe_contributer@contributers.email.address.edu
Compiled with: gcc 2.2.2d
Under: Linux 0.97 pl 1
---
Installation:
1) Get the original sources (foo.tar.Z) from ftp.site.edu
2) Extract sources into /usr/src/foo
- cd /usr/src
- uncompress /PATH/foo.tar.Z
- tar xvf /PATH/foo.tar
3) Create Makefile
- edit Imakefile for personal preferences (see /usr/src/foo/README
for specific options which may be configured and change Imakefile
accordingly)
- xmkmf
4) Apply Patch (this might patch Makefile as well)
- patch -p0 < foo.patch
5) Compile source
- make depend
- make all
- make install
- make clean
[ end README.patch ]
Also, how does everyone make patches? I usually have two directories,
one which compiles under linux (/usr/src/foo) and the original sources
as untarred from foo.tar.Z (/usr/src/foo.orig)
diff -w -c -r foo.orig foo > foo.patch
Is this the best way to make a patch for the entire directory tree?
Are there other switches people commonly use, which I have overlooked.
Many comments and suggestions are very welcome, as this will be my
first attempt at something like this.
Thanks for your input,
Jean.
--
Jean Liddle | == Bill Clinton for President ==
Computer Science, Illinois State University |
e-mail: jliddle@ilstu.edu | - Carol Mosley Braun for Senat -
| Chuck Ebbert | Why do so many machines need "noapic"? |
| Linus Torvalds | Linux 2.6.27 |
| Alan Cox | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Bart Van Assche | Re: Integration of SCST in the mainstream Linux kernel |
git: | |
| Frank Lichtenheld | Re: Trying to use git-filter-branch to compress history by removing large, obsolet... |
| Imran M Yousuf | Re: [kernel.org users] [RFD] On deprecating "git-foo" for builtins |
| Petr Baudis | Re: VCS comparison table |
| Aubrey Li | git clone problem through HTTP |
| Richard Stallman | Real men don't attack straw men |
| Marcos Laufer | dmesg IBM x3650 OpenBSD 4.3 |
| Parvinder Bhasin | OpenBSD and SYNFlood / DDoS protection |
| sonjaya | openvpn on openbsd 4.1 |
| Hugh Dickins | Re: [bug?] tg3: Failed to load firmware "tigon/tg3_tso.bin" |
| Arjan van de Ven | Re: [GIT]: Networking |
| Jens Axboe | Re: [BUG] New Kernel Bugs |
| Francois Romieu | Re: 8169 Intermittent ifup Failure Issue With RTL8102E Chipset in Intel's New D945... |
| Shared swap partition | 10 hours ago | Linux general |
| high memory | 2 days ago | Linux kernel |
| semaphore access speed | 2 days ago | Applications and Utilities |
| the kernel how to power off the machine | 2 days ago | Linux kernel |
| Easter Eggs in windows XP | 2 days ago | Windows |
| Root password | 2 days ago | Linux general |
| Where/when DNOTIFY is used? | 2 days ago | Linux kernel |
| How to convert Linux Kernel built-in module into a loadable module | 2 days ago | Linux kernel |
| Linux 2.6.24 and I/O schedulers | 2 days ago | Linux kernel |
| USB Driver -- Interrupt Polling -- A Little Help Please | 3 days ago | Linux general |
