From: John Newnham (ashtray@yoyo.cc.monash.edu.au)
Date: 08/28/92


From: ashtray@yoyo.cc.monash.edu.au (John Newnham)
Subject: a better way to package files
Date: Fri, 28 Aug 1992 08:41:36 GMT

First, to the people who have worked (and are working) on linux: T*H*A*N*K*S

In article <714677373snx@tehanu.wa.com> bruce@tehanu.wa.com (Bruce L. Bevelheimer) writes:
>
>In article <1992Aug24.061316.14052@muddcs.claremont.edu> jwinstea@fenris.claremont.edu writes:
>
> >
> > Did you read the README file for GCC? And the FAQ? It covers
> > installation. The quick answer: no, you're wrong. You run the
> > install.2.x script in the directory that ocntains all the .tar.Z files.
> >
>
>Actually, I had the same problem - it wasn't clear to me, after
>several readings of all the doc's, that the .tar.Z files needed to be
>in the same directory as install.2.x. I solved that by reading the
>install script. Then I found that install still couldn't find what it
>needed because it was looking for files with names more than 14
>characters long which it couldn't find in my standard fs. I fixed
>that by editing install.2.x and changing ".tar.Z" to ".t.Z" (and

I expected this to be a problem on our system, but linux ignored it:
2.2.2ddlib.tar.Z gets truncated to 2.2.2ddlib.tar.
but the utils don't notice, and the shell script runs fine!

>changing the file names, of course :-)). Since all this was on my
>first Linux install, I assumed that it must have been obvious to
>everyone else out there so I didn't bother to comment!
>

Last night myself and a friend installed GCC 2.2.2d on a 0.97pl1 system.
It was easy once we knew what to do. But we may have missed getting a few
of the files from the FTP site. We also had a problem with compress barfing
on the garbage at the end of a raw-written disk. It would core dump, but
the tar file was usually (NOT always) okay.

We had a simple idea that would make things a little easier on most people: put
the files in .tar.Z.tar format. This means that compress will not core dump,
because the compressed file is built on the hard-disk and is stripped of its
garbage by tar, and it means that one or two simple files can be included at the
start, where they will be read. Just be careful of filename length.

EG: each of the GCC files could have had a file called HOW_TO_INSTALL in the
.tar.Z.tar. It would go something like:
========================================================================
Before installing this software you must have installed the files contained in:
binutils.tar.Z.tar
0.97pl1inc.tar.Z.tar

To install this software:
mv the .tar.Z file to a temporary location such as /tmp/install;
do the same for the .tar.Z files located in 2.2.2dg1.tar.Z.tar ...;
[Insert relevant list of files];
Then copy the file install.2.x (contained in 2.2.2misc.tar.Z.tar) into that dir;
change into that directory ("cd /usr/install");
run the installation script ("sh install.2.x").

DO NOT UNTAR THE .tar.Z FILES : THIS IS DONE BY THE INSTALLATION SCRIPT
========================================================================

I realise that this file would be uncompressed, but I think it would save a lot
of problems for some people. It would have saved us a LOT of time. It avoids
the problem of people missing some files at FTP sites - or ftp-mail etc. And it
fixes the core-dumps from compress (zcat). We also read the FAQ and README that
were in the .tar.Z - but that means that we had already untarred them - *shrug*.

BTW: we did not have ANY kernel source available: we installed the files in
0.97pl1inc.tar.Z, and install.2.x barfed - no include/linux/include/asm.

So I created the directory, mumbled "touch bullshit.h" so that it was not empty,
and install.2.x ran perfectly. gcc even compiled hello-world. Does this mean
the docs (which say you MUST have the kernel stuff) are out of date? Or is our
compiler going to crash horribly some day soon?

Regards, and congrats to Linus and team
Ashtray

-- 
#include <std.disclaimer>
When I say a word, it means exactly what I want it to mean, no more and no less
 -- Humpty Dumpty to Alice (Lewis Carroll)