Initial revision

This commit is contained in:
Steve McIntyre 1999-04-01 06:58:02 +00:00
parent 17906aa6b1
commit 5a701fc07a
62 changed files with 7892 additions and 0 deletions

340
COPYING Normal file
View File

@ -0,0 +1,340 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Library General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) 19yy <name of author>
This program 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 of the License, or
(at your option) any later version.
This program 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 this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) 19yy name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Library General
Public License instead of this License.

3
EOP Normal file
View File

@ -0,0 +1,3 @@
# END_OF_PROCESSING must be here to catch the end of this file - the next file
# is actual package data and we need a separator.
END_OF_PROCESSING

317
README Normal file
View File

@ -0,0 +1,317 @@
README for slink_cd v 1.13, released Mar 31 1999
(c) Steve McIntyre <stevem@chiark.greenend.org.uk>
What this program does
======================
It will create CDs of Debian from a local set of files. You will
probably need to mirror most of the Debian site; check out the Debian
mirror package for an example of how to this. A full mirror will take
about 7GB at the time of writing.
What this program doesn't do
============================
It does not fix world hunger or bring peace on earth. And it's not
guaranteed to work at all, in fact. But if you have any problems,
please contact me and tell me about them. I'll be glad to help and to
fix any bugs that you might find.
What it needs
=============
You will almost definitely need a Linux box to run the scripts here,
preferably a Debian one. I haven't had the chance to test on other
machines, but I'm fairly certain there are bits that won't run.
To make the full set of images you will need a lot of disk space -
each CD image will take up ~600MB. And of course you'll need the
mirror itself for the files. But this no longer has to be local - see
"Making a symlink-farm" below.
In terms of other software, you'll need
perl
bash
sed
awk (any awk should do)
These _should_ be standard on any Linux system. You'll also need:
mkisofs/mkhybrid (a recent version - the standard one in Debian slink
should do)
a PATCHED mkhybrid (if you want to use the symlink-farm method - see below)
slice (to create the slink1.needed file from master)
dpkg-multicd (VERY Debian-specific. Maybe it will work on other systems,
but I don't know and you'll probably have to play with it)
cdwrite/cdrecord (to write the images once you've created them. They will
be standard ISO images, so even most *spit* Windoze CD
creation programs should be able to write them at a
push.)
sysutils
pkg-order
dpkg-perl
unzip (for i386 bootable CDs)
lha (for m68k CDs)
silo (if you want to create sparc disks - this may be problematic
on non-sparc machines)
isomarkboot (for alpha CDs - source is in the aboot package, binaries
for i386 and alpha are contained in this tar file)
m68k-cd-misc.tar.gz (from the same place you got this package,
for m68k CDs. Copy it to $BASEDIR before you start.)
hfsutils (for Mac stuff on m68k CDs)
There may be other things too, but for now these are all I can think of.
How do I use it?
================
To be reading this, you must have extracted the tar file. Good
start. Next what you need to do is:
customise the file lists (slink<n>.{needed,useful,list}) if necessary
edit slink<n>.info (dselect multicd disk info)
list any extras in slink<n>.extras
edit slink<n>.volid (ISO VOLID)
edit mkisofsrc (other ISO headers)
list any packages to be excluded in exclude-$ARCH if necessary
set up parameters in slink_cd or in the environment
run slink_cd with appropriate parameters
Huh?
====
Customise the file lists if you want to. The lists distributed with
this program should work for most people, and will be the basis of the
official Debian slink CD images when they are made.
The (Debian) contents of discs 1 and 2 are calculated at run-time to
match as closely as possible the list of files needed by the Debian
install programs, and then the rest of the packages are split
(hopefully) sensibly. If you wish to produce a single standalone disc
of the key parts of Debian, this is easy - see "Single Debian discs"
below. If you want to create more complete sets, this is also easy.
The file "master" lists the packages that are REQUIRED for all the
standard suggested systems to work at first install. These packages
come to about 300MB in total. The file "slink1.useful" contains a list
of further packages that I and others thought should also go on the
first disc and these take about 220MB more. This second list can
easily be modified if you so desire, but if you do please be careful
that the dependencies are met, as I did. The package "pkg-order" is
very useful here. When the lists for disc 1 is created, these packages
plus any others of "important", "standard" or "required" priority will
be marked to go on disc 1. The rest of the binary packages from the
main section will go onto disc 2, taking about 325 MB.
And, finally, list the packages you want to _completely_ exclude from
the CDs in exclude-$ARCH. Reasons for doing this may include unmet
dependencies, broken packages, broken Packages files etc.
Beyond this list of packages, the rest of the specification is quite
easy. For each disc, a file slink<n>.list should contain a list of
files to go onto that disc. These can list directories or files,
either will work. The standard layout will look something like:
1: main binary-ARCH section 1
docs
install stuff
boot disks
2: main binary-ARCH section 2
contrib (binary-ARCH and source)
(OPTIONAL) non-US (binary-ARCH and source)
project
3: main source section 1
4: main source section 2
5: (OPTIONAL) non-free (binary-ARCH and source)
* ARCH is a special keyword - see below for more info.
=============================================================================
NOTE: The non-free section is not part of Debian and the programs contained
within are not endorsed by Debian, but they have been packaged as a
service to our users who may still need them until free alternatives
have been made available.
=============================================================================
The non-US section is slightly complicated by the fact that in most
cases it will have to be mirrored separately, as the main Debian
servers in the USA cannot legally export this software. <sigh> More on
the non-US configuration later.
To generate the 5th (non-free) CD you will need to specify "non-free"
as a command-line option when running slink_cd. To add the non-US
section on disk 2 you will need to specify "non-US" as an option.
Other things to be configured:
The dselect (installation) multi-cd install method uses the contents
of a file .disk/info on each CD when determining the contents of a
disc and in deciding which discs are needed. The .info file for each
disc will be created using slink<n>.info. Edit these accordingly, and
the date will automatically be added by the script when used.
Extra files may be added to each disc if you desire. Many OEM
producers of Debian CDs may want to use this - it allows you to
customise the contents of your CDs, for example if you wish to add
extra software of your own or other local content. Simply list them in
slink<n>.extras.
The CD Volume ID for each disk will be created from the contents of
slink<n>.volid.
If you wish to configure other options in the CD ISO headers, edit
mkisofsrc. See the mkhybrid/mkisofs documentation for more details.
=============================================================================
Working examples for all of these files are given.
=============================================================================
* In ALL of these files, the keyword "ARCH" is magic and will be
replaced by the appropriate architecture (i386,m68k,powerpc,sparc,alpha)
when you run the scripts here. This makes it easier to produce images for
several platforms in one run.
e.g. in slink1.list:
dists/slink/main/binary-ARCH/Release
will become
dists/slink/main/binary-i386/Release
when run to produce i386 disks.
The other things to configure are found in the main slink_cd script itself:
ARCH - the target architecture
MIRROR - the location of your Debian mirror
NONUS - the location of the non-US part of your Debian mirror,
if applicable
MKISOFS - the location of your mkisofs/mkhybrid program
MKISOFS_OPTS - the options to use with your mkisofs/mkhybrid program
TDIR - the location of the temporary directory to use. This must be
on the same partition as your mirror, unless you use the
"genlinks" option to create a sym-link farm (below)
OUT - the directory in which we should write the completed images
BOOTDIR - (sparc specific) - where do we find silo?
All of these can be changed by using environment variables, which is
especially useful when making CDs for multiple architecture in one
run. See the "arch" script for an example of this.
Making a sym-link farm
======================
When slink_cd is run, temporary trees/files will be made under
$TDIR. This no longer MUST be on the same partition as the mirror,
for the hard-links hack to work. There is now a new option,
"genlinks", which will create a tree of sym-links for you from a
mirror elsewhere, be it scattered across several mount points (small
disks) or mounted readonly via NFS from another machine. The CD images
can then be created from the sym-link farm. There are a couple of
limitations to this method, so the original hard-links method will
still be preferred and is the default. These limitations are:
speed: the sym-links method is much slower, for a variety of reasons
reliability: the final "du" output of the script is no use with sym-links,
so you will probably have to create the CD images to make sure
all is well in testing.
compatibility: the hard-links method will work with any recent version of
mkhybrid/mkisofs, but to use the sym-links method you need a
specially patched version of mkhybrid.
There is a patch for mkhybrid 1.12a4.7 included with this
program. Grab the original source from
http://www.ps.ucl.ac.uk/~jcpearso/mkhybrid.html or
http://www.chiark.greenend.org.uk/~stevem/DebianCD/ . There is also a
statically-linked i386 binary at the latter site. You will also need
to add the "-F" option to the mkhybrid command line for this sym-links
hack to work.
Non-US
======
To make Debian CDs with the non-US section you will need to specify
the location of your non-US mirror, and also add "non-US" to the
slink_cd command line. The default place for the non-US stuff is on
disc 2, but this can be changed.
Non-free
========
To make a set of Debian CDs with the non-free section you will need to
add "non-free" to the slink_cd command line. This will create a tree
etc. for the fifth disc, containing non-free. Attempting to create the
fifth disc without specifying "non-free" will fail. See the earlier
disclaimer about the non-free section. CD producers should definitely
read the copyrights of non-free packages to check they can sell them on
CD before doing so. Debian packages contain copyright information in
/usr/doc/<package-name>/copyright.
Single Debian discs
===================
Some producers may want to make single Debian CDs that will work on
their own without mentioning packages that would be on the other
CDs. The "single_disk" option should work for these people. And check
the extras lists above if you want to add more of your own
software/data to this single disc - the layout has been specifically
optimised so you have ~100MB of space there for you. Of course, this
layout will mean that many of the Debian binary packages will not be
packaged up and also there will be no source. Check the GPL and other
licenses to see what this means to you...
Complete options list
=====================
You can specify any combination of steps to do on the command-line:
clean removes old link trees
genlist creates a list of files optimised to make disc#1 as standalone
as possible, with ~100MB spare for local customisations
(see "extras"). Check the contents of "slink1.useful" -
this lists the Priority: optional main binary-$ARCH packages
that will be moved to CD#1. Also checks that the Packages file
is up-to-date (maybe not on a borken mirror) and creates a new
one if not.
genlinks creates a sym-link farm in $TDIR/tmp-mirror to work from
tree creates new link trees
single_disk makes a single disc (#1) which will stand alone (SEE BELOW)
flatten goes through the trees removing sym-links outside of the
selected dist
md5check checks the md5sums of all the packages and boot disks
in the trees
packages creates Packages.cd files to go on each CD, and then checks them
for consistency of dependencies
boot adds the bootable CD and install tools as appropriate
extras adds specified extras to the CDs (see below)
md5list creates a complete md5sum of each CD tree to go on the disk
images actually create all the ISO images. Make sure all the necessary
steps above have been run first, or these images may be
complete garbage
image<x> Create image number x, where x is 1-4 or can also be 5 if
non-free is built.
imagesums Once the images are made, make md5sums of them into "MD5SUMS"
i386 targets binary-i386
m68k targets binary-m68k
alpha targets binary-alpha
sparc targets binary-sparc
powerpc targets binary-powerpc
non-free adds the stuff for CD #5 (non-free)
non-US adds the non-US stuff for CD #2.
-v increments the debug level. Default level is 0, maximum is 3
force_deps continue on even if the pkg-order check fails in "packages"
above. Use with care!
N.B. "single_disk" should now be obsoleted due to changes in the
layouts, but should still work.
If you specify no command-line options then the standard set of
commands (see below) will be done in order. THIS WILL NOT MAKE ANY
IMAGES.
Some options will not work together. Some options depend on others
Some of these combinations are obvious, but in particular:
"tree" needs "genlist"
"flatten" will not work with "genlinks"
"image5" needs "non-free"
"single_disk" will not work with "non-free" or "non-US"
"imagesums" needs at least one "image[12345x]"
END.

30
README.1ST.alpha Normal file
View File

@ -0,0 +1,30 @@
README for Debian 2.1 CD installation (Alpha architecture).
==========================================================
To boot the installation system from CD, you will need the instructions
in /dists/stable/main/disks-alpha/README, then insert CD#1 in your CD-ROM drive
and boot.
CD#1 contains milos and kernels for all architectures supported by Linux.
If your system will not boot from CD:
- Make boot floppies from the images on the first CD, in the directory
\dists\stable\main\disks-alpha\current.
From a Unix (including Linux) system use:
dd bs=18k if=/dists/stable/main/disks-alpha/current/xxx/resc1440.bin of=<flo
ppydevice>
dd bs=18k if=/dists/stable/main/disks-alpha/current/root1440.bin of=<floppyd
evice>
From a DOS system, the program rawrite2.exe will also write the floppy images. e.g.
d: (change to the CD drive)
cd \dists\stable\main\disks-alpha\current
rawrite2 -f resc1440.bin -d a: (a: is the 1.44 MB floppy drive)
See /install/install.txt for more information, and /README.multicd for
last-minute information about the multi-cd installation method.
Loic Prylli <lprylli@graville.fdn.fr> 3 Mar 1999

33
README.1ST.i386 Normal file
View File

@ -0,0 +1,33 @@
README for Debian 2.1 CD installation.
======================================
To boot the installation system from CD, you will need to insert
either CD#1 or CD#2 in your CD-ROM drive and reboot.
CD#1 contains a normal kernel that should work for most people and
contains many drivers.
CD#2 is a smaller system based on the "tecra" kernel - this is smaller
because it has fewer drivers compiled in to avoid a known problem with
large kernels on laptops, especially the Toshiba Tecra series.
If your system will not boot from CD, there are other options:
1.Boot a DOS system with CD drivers, then run boot.bat from the
\install direcory on the first CD.
2.Make boot floppies from the images on the first CD, in the directory
\dists\stable\main\disks-i386\current. The program rawrite2.exe in
that directory will write the floppy images under DOS. e.g.
d: (change to the CD drive)
cd \dists\stable\main\disks-i386\current
rawrite2 -f resc1440.bin -d a: (a: is the 1.44 MB floppy drive)
See \install\install.txt for more information, and \README.multicd for
last-minute information about the multi-cd installation method.
Steve McIntyre <stevem@chiark.greenend.org.uk> 15 Feb 1999

18
README.1ST.m68k Normal file
View File

@ -0,0 +1,18 @@
README for Debian 2.1 CD installation.
======================================
If you have a BVME 4000 or 6000, you can boot the installation system
from CD. You will need to insert CD#1 in your CD-ROM drive and reboot.
If your system will not boot from CD, you should run the appropriate
installation program for your system. They are in subdirectories of
install for each platform (amiga, atari, mac, vme).
See \install\install.txt for more information. Some more detailed
notes about this CD set are in \README.m68k. Also check \README.multicd for
last-minute information about the multi-cd installation method.
Chris Lawrence <lawrencc@debian.org> 12 Feb 1999

50
README.1ST.sparc Normal file
View File

@ -0,0 +1,50 @@
README for Debian 2.1 CD installation.
======================================
To boot the installation system from CD, you will need to insert
either CD#1 in your CD-ROM drive, drop to the PROM prompt (Stop-A),
and enter: "boot cdrom" (if you have an older PROM, you may have to
use "b sd(0,6,0)" instead).
This CD should boot on sun4c, sun4m, and sun4u systems. At the silo
prompt you will be given a choice of linux or linux-2.2.1 (if you just
press return, you get linux). The former provides the officially
supported 2.0.35 kernel, and the latter provides a 2.2.1 kernel.
Some sun4m systems have been known to not boot the 2.0.35 kernel, so if it
locks up while the background is still white, try the 2.2.1 kernel.
There is no 2.0.35 kernel for Ultras, so on those machines you will get
the 2.2.1 kernel regardless of what you select.
If your system will not boot from CD, there are other options:
1. Make boot floppies from the images on the first CD, in the directory
/dists/stable/main/dists-sparc/current. The program rawrite2.exe in
the /tools directory will write the floppy images under DOS. e.g.
cd /dists/stable/main/disks-sparc/current
rawrite2 -f resc1440.bin -d a:
Under Unix, this can be done with "dd" or "cat" (see the documentation
in the /install directory).
2. Use tftp booting (documented in the /install directory). The tftp
boot images are also in /dists/stable/main/dists-sparc/current. The
file tftpboot.img supports 32-bit sparc machines and uses a 2.0 kernel
and the file tftpboot-2.2.1.img supports all sparc machines and
uses a 2.2.1 kernel.
See /install/install.txt for more information, and /README.multicd for
last-minute information about the multi-cd installation method.
The install documentation in /install was up to date when this CD image
was created. The Debian web site has the most up-to-date information at
http://www.debian.org/releases/slink/sparc
which may document issues that were discovered after these CD images
were created.
Steve Dunham <dunham@debian.org>
March 6, 1999

157
README.m68k Normal file
View File

@ -0,0 +1,157 @@
README for Debian/m68k 2.1 CD-ROM set
-------------------------------------
The Debian/m68k CD-ROM set consists of two binary CDs containing the
contents of the Debian GNU/Linux 2.1 ("slink") distribution for m68k
systems; as the source CDs are identical for all Debian platforms,
those are omitted in this particular set. There is no Debian/m68k
non-free CD-ROM image containing additional software that does not fit
the Debian Free Software Guidelines (like Aladdin Ghostscript, pine
and xv). Some non-free packages compiled for m68k are available at
your local Debian mirror (see README.mirrors.txt for a list).
Non-US software has been excluded from these images as well. These
packages are available at most Debian mirrors outside North America,
and many of them can be freely imported into the United States and
Canada. However, they cannot be exported from the United States.
The packages on these CDs should be compatible with Linux/m68k 2.0 and
2.2 kernels, although they have only been extensively tested with the
former. All of them should work on any Linux/m68k platform (including
those we don't officially support yet), with the exception of the
platform-specific kernels and certain programs that take advantage of
platform-specific features (like the setsscserial package).
If you are installing for the first time and running a 2.2 kernel, you
may have problems; try switching to the second virtual console
(left-alt-F2) and typing 'dinstall' if the installation program
doesn't come up during the boot process.
Supported Platforms
-------------------
Please note that on any system the minimum requirements are a 68020,
68030, 68040 or 68060 processor with a memory management unit and a
floating point unit (either on-chip or on a separate chip). At least
6 MB of usable system RAM will be necessary to install Debian.
As of the Debian 2.1 release, the following m68k platforms are
officially supported by Debian/m68k.
* Amiga (and possibly some clones; DraCo definitely NOT supported)
* Atari ST/TT/Falcon/Medusa
* Apple Macintosh (most non-Powerbook models; for the latest, check
http://www.mac.linux-m68k.org/)
* BVM Ltd. BVME 4000 and 6000 single-board computers
(see http://www.sleepie.demon.co.uk/linuxvme/)
* Motorola VMEbus (MVME 162, 166, 167) single-board computers
(see http://www.sleepie.demon.co.uk/linuxvme/)
Please consult the Linux/m68k FAQ (included on the first CD) to see if
your specific system configuration is supported.
You may be able to use Debian on other m68k platforms with kernels
that are distributed elsewhere; however, Debian does not officially
support any platforms not on the list above. Reports of success and
failure will be appreciated by the developers.
Extras
------
The first CD includes several extra directories that are not included
in Debian CDs for other platforms:
* m68k-faq: Includes the most recent version of the Linux/m68k FAQ.
If you don't have a web browser, you can read the text version
(however, you need gzip to decompress it) or the PDF version (using
Adobe Acrobat, xpdf or Ghostscript).
Please pay particular attention to the hardware requirements for
your system type.
* m68k-tools: In subdirectories for Amigas and Ataris, versions of
GNU zip and GNU tar. The Amiga directory also includes an ancient
version of ixemul.library, which may be necessary to run amiboot,
gzip and/or tar. The Atari directory includes "rawwrite.ttp", which
may be useful for creating installation floppies (if you choose to
install that way).
* install: In subdirectories for each m68k platform, the unpacked
contents of the installation kits. A copy of the official
Debian 2.1 installation guide and unofficial Linux/m68k-specific
installation guides for Amiga, Atari and Mac users are included
here.
The install directory itself contains the base tarfile
(base2_1.tgz), which is used by the installation program to install
your base system. It also includes the Debian Installation Guide
and a tutorial on how to use "dselect"; both of these documents are
available in HTML (for use with a web browser) and as plain text files.
Subdirectories contain the other files which are needed for each
platform, which are generally named as follows:
1. A driver disk image (drv1440.bin)
2. A rescue disk image (resc1440.bin)
3. A compressed root disk image (root.bin)
4. A compressed Linux/m68k 2.0.36 kernel image (linux)
5. A compressed kernel mapfile (sysmap.gz; useful for debugging)
6. A bootstrap program (name varies).
7. A text file with detailed installation instructions
(on the Amiga, Atari and Mac only at present).
Note that in the vme directory, the bvme6000 files are also used on
the BVME 4000, and the mvme167 files are also used on the MVME 166.
The Intel-specific "tools" directory is provided for people who have
access to Intel hardware to make bootable floppies. These tools are
not necessary for most users, however, since Debian GNU/Linux can be
installed directly from these CD-ROMs.
In addition, the first CD is bootable on some of BVM Ltd.'s BVME
single-board computers; this feature should drop BVME users directly
into the Debian installation process by booting the rescue disk image.
Additional file:
* update-mirror: A Python script that may help in keeping a Debian/m68k
binaries-only mirror up-to-date. Requires python-base and rsync.
Upgrading from 2.0
------------------
If you have a Debian/m68k 2.0 (hamm) installation, refer to the
Release Notes (/Release-Notes) for details on how to cleanly upgrade
your installation. I recommend using the 'apt' method, either through
'dselect' or directly with apt-get. Systems running other
Debian-based distributions may also be upgradable using this method;
however, we make no guarantees, as we only tested with official Debian
systems.
Install the new libc6 package BEFORE installing the new dpkg version.
The pre-dependencies on dpkg are set to require this ordering.
Thanks
------
Thanks to the following people who helped make this CD-ROM set possible:
* Frank Neumann for getting the whole Debian/m68k project started,
writing the Amiga installation guide, and putting together the Amiga
installation kit.
* Michael Schmitz for putting together the Atari and Mac installation
kits and installation guides.
* Nick Holgate for putting together the VMEbus installation kit and
writing tftplilo.
* Roman Hodek and James Troup for the build daemons, which have saved
eons for the Debian/m68k developers.
* Steve McIntyre for writing the slink_cd script.
* Adam Di Carlo (the former Adam P. Harris) for maintaining the official
installation manual and incorporating our ruminations into it.
* Linus and everyone else who contributed to Linux and Linux/m68k.
* Last, but not least, the users of Debian/m68k, for using Debian,
filing bug reports and suggesting improvements to our distribution.
Updated information, as always, will be on the web at
http://www.debian.org/ and http://www.linux-m68k.org/
Until we release "potato"...
Chris Lawrence <lawrencc@debian.org>
Oxford, Mississippi, USA
13 February 1999

21
README.multicd Normal file
View File

@ -0,0 +1,21 @@
Multicd installation instructions
=================================
Once you have installed the base system and rebooted your machine, you
will need to go through and configure parts of the system (root
password etc.). After this you will be presented with dselect, the
standard package installation program on a Debian system.
If you wish to use the multicd installation method, as is the default
for CD-based installs, you should be careful to insert the LAST BINARY
CD of your set when you start, e.g.:
if you have a single CD, insert that single CD
if you have a 2-CD binary set, insert CD#2
if you have an official 4-CD set, insert CD#2
(#3 and #4 should contain source only)
etc.
README.multicd
23 Feb 1999
Steve McIntyre <stevem@chiark.greenend.org.uk>

23
arch Executable file
View File

@ -0,0 +1,23 @@
#!/bin/bash
# Example script to use with slink_cd - this will create trees for
# i386, m68k, sparc and alpha.
# (c) Steve McIntyre 11 Feb 1999, released under GPL
for ARCH in m68k i386 alpha sparc
do
echo TDIR=/debian/local/slinkcd-$ARCH OUT=/debian/local/OUT-$ARCH \
MIRROR=/debian NONUS=/debian/Debian-non-US \
./slink_cd \
clean genlist tree flatten md5check packages boot \
extras $ARCH md5list images imagesums
TDIR=/debian/local/slinkcd-$ARCH OUT=/debian/local/OUT-$ARCH \
MIRROR=/debian NONUS=/debian/Debian-non-US \
BOOTDIR=/usr/lib/silo \
./slink_cd \
clean genlist tree flatten md5check packages boot \
extras $ARCH md5list images imagesums
done

106
boot-alpha Executable file
View File

@ -0,0 +1,106 @@
#!/bin/bash
#
# boot-alpha v 1.13 (c) Steve McIntyre <stevem@chiark.greenend.org.uk>
# and Loic Prylli <Loic.Prylli@ens-lyon.fr>
# Released under GPL 31 Mar 1999
# See the file COPYING for license details
# Released as part of the slink_cd package, not much use standalone
#
# Do install stuff for alpha, including making bootable CDs
#
# $1 is Debian-mirror location
# $2 is start directory location (where the scripts live)
# $3 is tmpdir location
# $4 is the binary arch
# $5 is debug level
# $6 is $BOOTDIR (not needed for i386, but let's stay consistent)
MIRROR=$1
BASEDIR=$2
TDIR=$3
ARCH=$4
VERBOSE=$5
BOOTDIR=$6
. $BASEDIR/vecho # Include local definitions for vecho, vvecho, vvvecho
# Now check the boot-disks; make sure they exist and we
# have a "current" directory. If not, exit
if [ ! -e slink1/dists/stable/main/disks-$ARCH ] ; then
echo "No boot disks found for arch $ARCH."
echo "Exit."
exit 1
fi
cd slink1/dists/stable/main/disks-$ARCH
if [ ! -e current ] ; then
echo "No \"current\" boot disks found for arch $ARCH."
echo "Exit."
exit 1
fi
# OK, we have what we need. Now check and see what mess
# things are in. We _don't_ need more than one set of boot
# disks and it would be useful if the ftp maintainers
# would remove old versions instead of leaving them
# around...
if [ -L current ] ; then
# Find the link, rename it for safety then put it back
CURRENT_LINK=`ls -l current | awk '{print $11}'`
mv $CURRENT_LINK .tmp_link
rm -rf 2*
mv .tmp_link $CURRENT_LINK
else
# We can simply remove all the others if current is a directory
rm -rf 2*
fi
cd $TDIR
# Hack for bootable disks
vecho "Copying boot images to <root>/boot for disc 1"
echo "extract aboot(bootlx) from sable set"
echo dump srmbootcode boot1/boot/bootlx |\
debugfs slink1/dists/stable/main/disks-$ARCH/current/sable/resc1440.bin
for subarch in avanti avanti-s xl xlt cabriolet eb66 eb66p eb64p eb164 pc164 \
lx164 sx164 jensen noname takara mikasa mikasa-p noritake noritake-p alcor miata \
sable sable-g book1 ruffian; do
mkdir boot1/boot/$subarch
echo "drive m: file=\"$TDIR/slink1/dists/stable/main/disks-$ARCH/current/$subarch/resc1440.bin\"" > mtoolsrc.tmp
echo "extracting stuff for $subarch"
case $subarch in
jensen|noritake*|mikasa-p|sable*|book1|miata-s|avanti-s|generic)
echo dump linux boot1/boot/$subarch/linux |\
debugfs slink1/dists/stable/main/disks-$ARCH/current/$subarch/resc1440.bin
;;
ruffian)
MTOOLSRC=$TDIR/mtoolsrc.tmp mcopy m:linux m:milo m:ldmilo.exe boot1/boot/$subarch/.
;;
*)
MTOOLSRC=$TDIR/mtoolsrc.tmp mcopy m:linux m:milo m:linload.exe boot1/boot/$subarch/.
;;
esac
done
mkdir slink1/tools/rawrite1
(cd slink1/tools/rawrite1; \
unzip -Lq $MIRROR/tools/rawrite1.zip )
mkdir slink1/tools/rawrite2
(cd slink1/tools/rawrite2; \
unzip -Lq $MIRROR/tools/rawrite2.zip; \
rm rawrite2.c )
(echo "Tools for DOS :" ; \
echo "rawrite1/ rawrite 1.3 : create disks from disk images (*.bin)";
\
echo "rawrite2/ rawrite 2.0 : create disks from disk images (*.bin)";
\
echo " rawrite 2.0 is much faster, but it locks up on some machines";\
) |todos > slink1/tools/README.tools
cp slink1/tools/rawrite1/rawrite3.com slink1/install/rw1_3.com
cp slink1/tools/rawrite2/rawrite2.exe slink1/install/rw2_0.exe
exit 0

110
boot-i386 Executable file
View File

@ -0,0 +1,110 @@
#!/bin/bash
#
# boot-i386 v 1.13 (c) Steve McIntyre <stevem@chiark.greenend.org.uk>
# Released under GPL 31 Mar 1999
# See the file COPYING for license details
# Released as part of the slink_cd package, not much use standalone
#
# Do install stuff for i386, including making bootable CDs
#
# $1 is Debian-mirror location
# $2 is start directory location (where the scripts live)
# $3 is tmpdir location
# $4 is the binary arch
# $5 is debug level
# $6 is $BOOTDIR (not needed for i386, but let's stay consistent)
MIRROR=$1
BASEDIR=$2
TDIR=$3
ARCH=$4
VERBOSE=$5
BOOTDIR=$6
. $BASEDIR/vecho # Include local definitions for vecho, vvecho, vvvecho
# Now check the boot-disks; make sure they exist and we
# have a "current" directory. If not, exit
if [ ! -e slink1/dists/stable/main/disks-$ARCH ] ; then
echo "No boot disks found for arch $ARCH."
echo "Exit."
exit 1
fi
(cd slink1/dists/stable/main/disks-$ARCH/current/ ; \
cp resc*.bin linux root.bin $TDIR/slink1/install )
cd slink1/dists/stable/main/disks-$ARCH
if [ ! -e current ] ; then
echo "No \"current\" boot disks found for arch $ARCH."
echo "Exit."
exit 1
fi
# OK, we have what we need. Now check and see what mess
# things are in. We _don't_ need more than one set of boot
# disks and it would be useful if the ftp maintainers
# would remove old versions instead of leaving them
# around...
if [ -L current ] ; then
# Find the link, rename it for safety then put it back
CURRENT_LINK=`ls -l current | awk '{print $11}'`
mv $CURRENT_LINK .tmp_link
rm -rf 2*
mv .tmp_link $CURRENT_LINK
else
# We can simply remove all the others if current is a directory
rm -rf 2*
fi
cd $TDIR
# Hack for bootable disks
vecho "Copying boot image to <root>/boot for disc 1"
cp slink1/dists/stable/main/disks-$ARCH/current/resc1440.bin \
boot1/boot
if [ -e slink1/dists/stable/main/disks-$ARCH/current/resc1440tecra.bin ] ; then
mkdir -p boot2/boot
vecho "Copying tecra boot image to <root>/boot for disc 2"
cp slink1/dists/stable/main/disks-$ARCH/current/resc1440tecra.bin \
boot2/boot
fi
vecho "Extracting tools for disc 1"
mkdir -p slink1/tools/fips20
(cd slink1/tools/fips20; \
unzip -Lq $MIRROR/tools/fips20.zip; \
rm restorrb source -rf)
(cd slink1/tools; \
unzip -Lq $MIRROR/tools/lodlin16.zip; \
rm lodlin16/src lodlin16/initrd loadlin16/debian -rf )
mkdir slink1/tools/rawrite1
(cd slink1/tools/rawrite1; \
unzip -Lq $MIRROR/tools/rawrite1.zip )
mkdir slink1/tools/rawrite2
(cd slink1/tools/rawrite2; \
unzip -Lq $MIRROR/tools/rawrite2.zip; \
rm rawrite2.c )
(echo "Tools for DOS :" ; \
echo "fips20/ non-destructively shorten a FAT partition" ; \
echo "lodlin16/ load Linux kernel from DOS" ;\
echo "rawrite1/ rawrite 1.3 : create disks from disk images (*.bin)"; \
echo "rawrite2/ rawrite 2.0 : create disks from disk images (*.bin)"; \
echo " rawrite 2.0 is much faster, but it locks up on some machines";\
) |todos > slink1/tools/README.tools
cp slink1/tools/lodlin16/*.exe slink1/install
cp slink1/tools/rawrite1/rawrite3.com slink1/install/rw1_3.com
cp slink1/tools/rawrite2/rawrite2.exe slink1/install/rw2_0.exe
cp slink1/tools/fips*/*.exe slink1/install
(echo "@ echo off" ; \
echo "rem Flush any write-cached disk blocks before we leave DOS. " ; \
echo "smartdrv /c" ; \
echo "loadlin.exe linux root=/dev/ram ro initrd=root.bin" ; \
) |todos > slink1/install/boot.bat

180
boot-m68k Executable file
View File

@ -0,0 +1,180 @@
#!/bin/bash
#
# boot-m68k v 1.13 (c) Steve McIntyre <stevem@chiark.greenend.org.uk>,
# Chris Lawrence <lawrencc@debian.org>, Christian Steigies <cts@debian.org>,
# Michael Schmitz <MSchmitz@lbl.gov>
# Released under GPL 31 Mar 1999
# See the file COPYING for license details
# Released as part of the slink_cd package, not much use standalone
#
# Do install stuff for sparc, including making bootable CDs
#
# $1 is Debian-mirror location
# $2 is start directory location (where the scripts live)
# $3 is tmpdir location
# $4 is the binary arch
# $5 is debug level
# $6 is $BOOTDIR
#
# Enjoy! This is all completely free.
# - Chris Lawrence <lawrencc@debian.org>
#
# Rewritten by Steve McIntyre <stevem@chiark.greenend.org.uk> in sh to
# interface better with the slink_cd package and cope with the mirror
# layout, 28 Feb 1999.
# Hopefully this will do the same job as the python map stuff did, it
# appears to...
#
# If you're burning a CD, use the mkhybrid in potato (HFS is broken in the
# slink version of mkhybrid; at least it is for me). Please don't use Joliet
# extensions; some Mac kernels have apparently been known to choke on them
# (and you really shouldn't be supporting a Microsoft Standard anyway :-)
#
# You may also want the following:
# * A copy of the Linux/m68k FAQ
# * A copy of my m68k-specific README and m68k-tools directories
# * The m68k kernel sources from sunsite.auc.dk:/projects/680x0
# (Sunsite-Denmark is rsync-capable at sunsite.auc.dk::ftp)
# I recommend getting the 2.0.36 and 2.2.1-pre2 sources at least.
# (Actually 2.0.36 is non-essential since it's on the CDs already;
# you probably DO want the 2.2.1-pre2 tree however [under v2.1!]).
#
# MVME/BVME users will love you if you also include the "tools" directory
# from the FTP site, since they may want/need rawwrite for MS-DOS.
#
# The first two items are in a tar file at master.debian.org:~lawrencc, along
# with a silly rsync script that will accomplish the last item.
MIRROR=$1
BASEDIR=$2
TDIR=$3
ARCH=$4
VERBOSE=$5
BOOTDIR=$6
. $BASEDIR/vecho # Include local definitions for vecho, vvecho, vvvecho
DISKSROOT="$MIRROR/dists/slink/main/disks-m68k/current"
CDROOT="$TDIR/slink1"
INSTALLDIR="$CDROOT/install"
cd $INSTALLDIR
vecho Installing Amiga files
lha xqf $DISKSROOT/amiga/amigainstall.lha
mv debian amiga
mv debian.info amiga.info
cp $DISKSROOT/amiga/* amiga
# Needs to be executable
chmod a+x amiga/amiboot-5.6
# Add .info files for amiga
tar -C .. -xzf $BASEDIR/cts_amiga_info.tar.gz
for file in `tar tzf $BASEDIR/cts_amiga_info.tar.gz`
do
chmod a+r ../$file
done
# And fix a few things up...
mkdir common
mv basecont.txt.info common
mv ../README.info ../README.m68k.info
cp ../README.1ST.info ../README.multicd.info
vecho Installing Atari files
lha xqf $DISKSROOT/atari/install.lzh
mv debian atari
cp $DISKSROOT/atari/* atari
vecho Installing Mac files
tar -C .. -zxf $DISKSROOT/source/macinstall.tar.gz
cp $DISKSROOT/mac/* mac
for TYPE in common bvme6000 mvme162 mvme167 source
do
vecho Installing $TYPE files
if [ ! -d $TYPE ] ; then
mkdir $TYPE
fi
cp $DISKSROOT/$TYPE/* $TYPE
done
vecho hexbin Mac files
cd $INSTALLDIR/mac
hexbin *.hqx
vecho Installing m68k FAQ and tools
mkdir $CDROOT/tmp
cd $CDROOT/tmp
tar xzf $BASEDIR/m68k-cd-misc.tar.gz
mv m68k-faq m68k-tools ..
mv update-kernels ../update-kernels.m68k
cd ..
rm -rf tmp
cd $CDROOT
# make mountpoint and temp HFS filesystem image
rm -rf /var/tmp/mnt-macinstall
mkdir /var/tmp/mnt-macinstall
dd if=/dev/zero of=/var/tmp/macinstall-temp.img bs=1024 count=1440
hformat /var/tmp/macinstall-temp.img
# mount it (':' is top dir) using hfsutils
hmount /var/tmp/macinstall-temp.img
# copy booter and preferences files in place (color table missing but
# Penguin-17 has colors fixed anyway
hcopy -b install/mac/Penguin-17.hqx :
hcopy -b install/mac/Penguin_Prefs.hqx :"Penguin Prefs"
hcopy -b "install/mac/Penguin_Prefs_(autoboot).hqx" :"Penguin Prefs (autoboot)"
# unmount HFS image
humount /var/tmp/macinstall-temp.img
# mount this HFS floppy image again as netatalk using the loopback mount command
if [ ! 'mount -t hfs -o loop,fork=netatalk,afpd /var/tmp/macinstall-temp.img /var/tmp/mnt-macinstall' ] ; then
# We managed to mount it loop-back
# copy over both Penguin-15 and .AppleDouble/Penguin-15
# copy over both Penguin Prefs and .AppleDouble/Penguin Prefs
# (.AppleDouble files go into .AppleDouble subdir of target dir)
cp /var/tmp/mnt-macinstall/Penguin* install/mac/
mkdir install/mac/.AppleDouble
cp /var/tmp/mnt-macinstall/.AppleDouble/Penguin* install/mac/.AppleDouble/
# unmount, cleanup
umount /var/tmp/mnt-macinstall
rm /var/tmp/macinstall-temp.img
rmdir /var/tmp/mnt-macinstall
else
# We failed to mount it. Use the fallback tar.gz that we have
vecho HFS loopback mount failed on /var/tmp/macinstall-temp.img
vecho This is not fatal, but check that you have permissions to do this
vecho and that you have HFS support in your kernel...
vecho Extracting $BASEDIR/macinstall-cd.tar.gz instead.
tar xzf $BASEDIR/macinstall-cd.tar.gz
fi
#
# can remove the .hqx stuff now I guess.
#
# make CD image using the command
# mkhybrid -map <mapfile> --netatalk -a -j -hfs -r -V <label> -o <image> <source dir>
#
# map file contains stuff like
# # ext. xlate creator type comment
# .hqx Ascii 'BnHx' 'TEXT' "BinHex file"
# .mov Raw 'TVOD' 'MooV' "QuickTime Movie"
# .deb Raw 'Debn' 'bina' "Debian package"
# .bin Raw 'Debn' 'bina' "Floppy or ramdisk image"
# * Ascii 'ttxt' 'TEXT' "Text file"
#
# Note that we can't use MacBinary mapping for .bin files due to
# name clashes with the binary image files, so we have to provide
# all encoded Mac files in BinHex format.
#
# Kudos Brad Midgley, <brad@pht.com> for the tricks!
#
# Possible alternative: convert .hqx in MacBinary files, but we'd need
# to use a different extension as .bin is taken by the disk images.
# i.e. hexbin -s Penguin-17.hqx > Penguin-17.mac
# and use .mac as MacBinary extension. I don't know offhand what the
# creator/type for MacBinary is. --netatalk would be replaced by
# --macbin, possibly together with --probe.

78
boot-sparc Executable file
View File

@ -0,0 +1,78 @@
#!/bin/bash
#
# boot-sparc v 1.13 (c) Steve Dunham <dunham@cse.msu.edu>, Eric
# Delaunay <delaunay@lix.polytechnique.fr>, Steve McIntyre
# <stevem@chiark.greenend.org.uk>
# Released under GPL 31 Mar 1999
# See the file COPYING for license details
# Released as part of the slink_cd package, not much use standalone
#
# Do install stuff for sparc, including making bootable CDs
#
# $1 is Debian-mirror location
# $2 is start directory location (where the scripts live)
# $3 is tmpdir location
# $4 is the binary arch
# $5 is debug level
# $6 is $BOOTDIR
MIRROR=$1
BASEDIR=$2
TDIR=$3
ARCH=$4
VERBOSE=$5
BOOTDIR=$6
. $BASEDIR/vecho # Include local definitions for vecho, vvecho, vvvecho
rm -fr boot1
# temporary mount point (eg. for silo to create the bootable CD image)
# only needed for Sparc so far...
if [ "$ARCH"x = "sparc"x ] ; then
vecho Checking for temporary mount point for SILO
mountpoint=/var/tmp/slink_cd.mnt
if [ -d $mountpoint ]; then
umount $mountpoint || true
else
mkdir -p $mountpoint
fi
fi
# put the relevant parts of SILO boot loader
mkdir -p boot1/boot
cp -p $BOOTDIR/cd.b $BOOTDIR/second.b boot1/boot
cat - > boot1/boot/silo.conf << __EOF__
message=!cd1
timeout=300
root=/dev/ram
image[sun4c,sun4d,sun4m]=!cd2
label=linux
initrd=!cd5
image[sun4u]=!cd4
label=linux
initrd=!cd5
image[sun4c,sun4d,sun4m]=!cd3
label=linux-2.2
initrd=!cd5
image[sun4u]=!cd4
label=linux-2.2
initrd=!cd5
__EOF__
# linux kernel & co are fetched directly from the install dir
# ... put the message banner in boot/debian.txt
(cd slink1/dists/slink/main/disks-$ARCH/current/ ; \
cp -p linux-a.out linux-2.2.1-sun4u-a.out \
linux-2.2.1-a.out root.bin sparc_release_note.txt \
$TDIR/slink1/install )
echo mount -r -o loop \
$MIRROR/dists/slink/main/disks-$ARCH/current/resc1440.bin \
$mountpoint
mount -r -o loop \
$MIRROR/dists/slink/main/disks-$ARCH/current/resc1440.bin \
$mountpoint
cp -p $mountpoint/debian.txt boot1/boot/debian.txt
umount $mountpoint

BIN
cts_amiga_info.tar.gz Normal file

Binary file not shown.

249
debian/changelog vendored Normal file
View File

@ -0,0 +1,249 @@
slink-cd (1.13) unstable; urgency=low
* slink_cd changes:
* Link $TDIR/.mkisofsrc to .mkisofs - different versions of
mkhybrid/mksiofs need different versions. Thanks to Peter Kundrat
* Removed the now unnecessary frozen sym-link
* Put sym-links in doc/ for *.txt in /install, not *.doc
* Make sure the sparc install tree is in boot1 for CD 1
* When generating md5lists, grep out things under the "dists/stable"
sym-link - we only need one copy of the md5 sum for each file...
* Fiddle with isomarkboot line for Alpha - it won't follow sym-links
* others:
* Added pkg-order to requirements in README
* Added details about isomarkboot in README
* Removed "rm -fr boot1" from boot-m68k that caused VME m68k
CDs not tbe made bootable
* other small fixes for boot-m68k
* minor patch for boot-sparc from Eric Delaunay: mount the loopback
image readonly
* Santiago Vila: mklist now makes sure all Section: base packages are
on CD 1, and I've added all the hamm base packages that still exist
in slink into useful so they will also go into CD 1. Avoid disc
swapping...
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Wed, 31 Mar 1999 17:43:22 +0100
slink-cd (1.12) unstable; urgency=low
* slink_cd changes:
* use munged list files in $TDIR, not in $BASEDIR. Easier
for non-US removal...
* check for Release before playing with it
* fixed pkg-order usage - make sure it doesn't check installed
packages first
* added --netatalk option to MKISOFS_OPTS for m68k/powerpc (macs)
* fixed broken sparc changes from boot-ARCH split
* others:
* thinko in README.1ST.alpha - s/i386/alpha/
* added hfsutils to README
* added README.1ST.sparc from Steve Dunham
* added more subarch support in boot-alpha
* fixed README.tools - update details of fips - in boot-i386
* fixed boot-m68k; don't remove $INSTALLDIR before we start; it
contains useful stuff!
* moved amiga .info files around a little in boot-m68k
* added mac fork stuff in boot-m68k
* added macinstall-cd.tar.gz for mac forks
* updated exclude-alpha to match the released version
* updated exclude-sparc to match the released version
* updated master to match the released version
* fix mklist - slink is now stable, not frozen
* removed unnecessary slink?.list.1 files
* re-added non-US into slink2.list; will be removed at runtime
if necessary
* added newt0.25 and whiptail to useful - depends for pppconfig
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Fri, 12 Mar 1999 15:07:22 -0000
slink-cd (1.11) unstable; urgency=low
* Mainly last-minute cleanups for final CD builds.
* slink_cd changes:
* Changed boot target slightly, less warnings on non-i386.
* Now using new isomarkboot, new options.
* others:
* Added sysutils and dpkg-perl to list of requirements in README.
* Added exclude details to README.
* boot-alpha changes from Loic.
* moved some i386-specific boot stuff to boot-i386.
* Fixed several small bugs/typos in boot-m68k.
* Added amiga .info files in boot-m68k, and tar file from Christian.
* Updated master file.
* Exclude support in mklist.
* Added exclude-$ARCH files.
* Fixed mklist bug - check right location for newer files.
*
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Sun, 07 Mar 1999 00:40:33 -0000
slink-cd (1.10) unstable; urgency=low
* slink_cd changes:
* Very slight changes to date handling - previously we could have made
broken discs across midnight!
* slink1.useful is now generated from "useful" using slice - better for
multi-arch setup.
* Tiny cosmetic changes.
* Make sure the source discs are _identical_ for all the arches - no
arch-specific mentions/options anywhere now.
* Fix the Release files to say "stable" rather than "frozen".
* Check for zero-length files when md5dumming.
* Call custom version of pkg-order, we don't need to see conflicts list.
* Changed output image file names to include $ARCH for binary CDs.
* others:
* Fixed cut'n'paste errors in boot-alpha, now appears to work.
* Added missing " to boot-m68k, now works.
* Removed m68k.old - no longer necessary.
* Added custom version of pkg-order, with option not to check/display
conflicts. Patch sent upstream.
* Removed slink1.useful, replaced with slice input file "useful".
* Removed ARCH from slink[34].volid - no ARCH on source disks.
* Cosmetic changes to vecho.
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Wed, 03 Mar 1999 19:04:33 -0000
slink-cd (1.09) unstable; urgency=low
* slink_cd changes:
* We can now cope with alpha disks!
* Moved the $mountpoint stuff to boot-sparc where it belongs.
* Redirect all pkg-order output to a file.
* Added extra "force_deps" option to continue even if pkg-order fails.
Use with care!
* Added pointer to slink_cd location to README.1ST.
* Changed use of TMPDIR to TDIR - apparently caused problems with
dpkg-deb on sparc. libc problem?
* others:
* Added boot-alpha script.
* Rewrote boot-m68k script in bash, the python one wouldn't work
with the mirror layout.
* Fixed boot-sparc, $mountpoint broke with split.
* Add more files to the .deb.
* Changed use of TMPDIR to TDIR for other files.
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Sun, 28 Feb 1999 15:26:58 -0000
slink-cd (1.08) unstable; urgency=low
* slink_cd changes:
* Only put Packages files on binary CDs now, so we should get common
source disks.
* For i386, only use Joliet on binary CDs. Same reason.
* Munge packages files - each binary CD only know about itself and
earlier CDs - now single_disk is no longer necessary, as normal disc 1
will do the same job. Users now need to be told to use the last disk
first on dselect "update" run.
* Moved partition checking a bit later - allow the script to create
TMPDIR if necessary before complaining it doesn't exist...!
* Check that "slice master" works before continuing.
* Copy on README.ARCH if it exists.
* Fixed thinko in source md5 checking - should now work again instead
of just dropping out.
* Moved vecho etc. definitions into a separate file, source it
where necessary.
* Split boot stuff off into separate scripts, one per arch.
* Added small extra stuff for m68k - boot vme stuff on CD 1.
* Moved volid-reading code to each image step, avoid errors.
* others:
* Created README.multicd explaining order of CDs.
* Changed *.info to now say ?/4 instead of ?/5 - only 4 official CDs.
* Created vecho - vecho definitions file.
* Altered mklist to use vecho.
* Created new boot-ARCH scripts for sparc and i386.
* Slightly modified Chris Lawrence's m68k install-disks python script
to do the same job, now called boot-m68k.
* Added ipx to slink1.useful, needed for ncpfs. How did this ever get
through?
* Updated to "master" version 1.26 1999/02/24.
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Thu, 25 Feb 1999 09:21:56 -0000
slink-cd (1.07) unstable; urgency=low
* Almost ready for addition into slink for release.
* slink_cd changes:
* Build slink1.needed from "master" file from boot-floppies.
* Now uses pkg-order to check dependencies - check CD 1 doesn't depend
on any others, then check ALL Depends: and Recommends: . Fail if CD 1
fails, if the whole set fails then either
a) give a warning about this if we haven't included non-free
or non-US (it's reasonable - contrib depends on non-free)
b) fail if we have.
* Added work-around for broken metro-motif-man package for the pkg-order
step.
* Added upgrade-2.0-i386 and upgrade-older-i386 links at top-level.
* Removed upgrade-i386 at top level.
* Added latest sparc patch from Steve Dunham <dunham@cse.msu.edu>
* others:
* Added README.1ST.m68k from Chris Lawrence <quango@watervalley.net>.
* Removed slink1.needed from package, replaced with master.
* Added more upgrade stuff to slink1.list.
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Mon, 22 Feb 1999 18:38:50 -0000
slink-cd (1.06) unstable; urgency=low
* slink_cd changes:
* handle non-US links better
* Copy Release Notes onto all CDs
* Create README.1ST - lists slink_cd version, creation date, disk label
(from .disk/info) and gives simple instructions on what to do to run
the installation system.
* Copy the full set of files for the installation manual to /install.
* Add sym-links for the installation manual into /doc.
* Added hfs.map stuff for Apple people.
* Added $MKISOFS_OPTS_DISC<n> support, makes life easier for special
mkhybrid requirements for different arches.
* others:
* Changed the default volid for each disk to be
"Debian-ARCH 2.1 Disc <n>"
* Created README.1ST.i386 - template for README.1ST above.
* Removed test genlinks option from arch.
* Added hfs.map for Apple people
* Added mkisofsrc to packaging.
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Thu, 11 Feb 1999 16:35:01 -0000
slink-cd (1.05) unstable; urgency=low
* slink_cd changes:
* now uses a BASEDIR variable so you don't have to start in the
slink_cd directory.
* added more obvious pointers for -F flag for farmers.
* check for "$NU", not "$NONUS" when looking for non-US files
* cope with non-absolute paths; create things if necessary
* check we're using the -F mkhybrid option in genlinks
* remove the non-US entries from the list files if we're not using them
* fixed up the genlinks stuff to cope with a more convoluted tree;
seems slower...
* we don't need to do the sed thing twice for the volid files...
* others:
* arch no longer runs non-free by default
* added mkisofsrc to .deb package
* fixed mklinks regexp to be more careful on the binary-all links stage
* fixed mklinks regexp to be more careful on the current links stage
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Wed, 03 Feb 1999 17:38:53 -0000
slink-cd (1.04) unstable; urgency=low
* slink_cd changes:
* mkisofs and options now separate (add -J for i386, not others)
* debug level now configurable, default output is now minimal
* single_disk should now work
* user-configurable mkisofsrc
* others:
* added extra packages to slink1.{needed,useful}, mainly for m68k
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Sat, 23 Jan 1999 00:21:38 -0000
slink-cd (1.03) unstable; urgency=low
* Initial Release.
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Thu, 21 Jan 1999 00:01:58 -0000
Local variables:
mode: debian-changelog
End:

74
debian/config vendored Normal file
View File

@ -0,0 +1,74 @@
# Edit this file to configure debian/rules to build a package.
# No modification of debian/rules should be neccessary. (Famous last words!)
#
# Copied from setup by Joey Hess <jeh22@cornell.edu>
# What is the name of this package?
package=slink-cd
STRIP=strip
# Files that go in directories under /doc.
docs=README
examples=
copyright=debian/copyright
# List here all executables that are produced, that we should run
# dpkg-shlibdeps on.
binfiles=slink_cd flatten mklinks mklist
# What file must exist in the current directory if the package is
# properly unpacked here?
test_file=slink_cd
# Does this package build from an Imakefile?
# If so, uncomment the line below.
#use_imakefile=y
# Does this package build from a Configure script?
# If so, uncomment the line below and enter the command to run to run the
# Configure script (ie: "./Configure")
#use_configure=./Configure
# What commands to run to build the package?
define build_command
echo
endef
# What commands to run to clean up after a build?
define clean_command
echo
endef
# List here any files that must be removed during "debian/rules clean"
# that clean_command doesn't take care of.
clean_files=
# List here any files that should be preserved during a build, and restored
# to their original state during a clean. For example, if the package comes
# with both an Imakefile and a Makefile, and xmkmf is run, list the original
# Makefile here so it will be backed up before it is overwritten my xmkmf.
preserve_files=
# What command to run to install the package into debian/tmp?
# You might want to edit the package's Makefile and add $(PREFIX)
# to all the paths it installs files to. or, you can just write
# your own install commands here instead.
#
# Note that debian/* and the files in /usr/doc will be installed
# properly for you, you don't need to do that here.
#
define install_command
install -d debian/tmp/usr/src/slink_cd
for file in * ; \
do \
cp -v $$file debian/tmp/usr/src/slink_cd ; \
done
endef
# After being installed in debian/tmp, everything is chowned to root.root,
# and chmod g-ws is run on everything. Enter below any chmod commands you
# need to run to set files to the proper permissions. This is where you
# can make programs be suid, etc.
# (Note that these commands will be run as root.)
define ch_commands
endef

15
debian/control vendored Normal file
View File

@ -0,0 +1,15 @@
Source: slink-cd
Section: contrib/utils
Priority: extra
Maintainer: Steve McIntyre <stevem@chiark.greenend.org.uk>
Standards-Version: 2.4.1.1
Package: slink-cd
Architecture: all
Depends: unzip, lha, dpkg-multicd, slice, pkg-order, python-base, macutils
Recommends: cdwrite|cdrecord, mkhybrid
Description: Build Debian slink CD images
slink_cd is the set of scripts used to generate Debian CDs from the archive.
Likely to be useful for vendors and any Debian users wanting to make their
own CDs.

8
debian/copyright vendored Normal file
View File

@ -0,0 +1,8 @@
slink_cd was originally written and is maintained by Steve McIntyre
<stevem@chiark.greenend.org.uk>. Many others have contributed
patches. The license used is the
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
You may apply this or any later version, at your option.

3
debian/dirs vendored Normal file
View File

@ -0,0 +1,3 @@
usr/bin
usr/man/man1

145
debian/rules vendored Executable file
View File

@ -0,0 +1,145 @@
#!/usr/bin/make -f
##############################################################################
# Generic debian/rules file. Based on:
#
#> Sample debian.rules file - for GNU Hello (1.3).
#> Copyright 1994,1995 by Ian Jackson.
#> I hereby give you perpetual unlimited permission to copy,
#> modify and relicense this file, provided that you do not remove
#> my name from the file itself. (I assert my moral right of
#> paternity under the Copyright, Designs and Patents Act 1988.)
#
# Heavily modified by Joey Hess <jeh22@cornell.edu>
#
##############################################################################
#
# NOTE: You shouldn't have to edit this file. Edit debian/config instead.
# If you must edit this file to get your package to build properly, then
# I have failed. Let me know; mail jeh22@cornell.edu.
#
# (Currently not handled: multiple binary packages from 1 source package,
# and binary-indep rule.)
#
# NOTE: This file is designed so it doesn't need to be run as root. For
# actions that require that the user be root, the root password will be
# prompted for, if you're not already root.
#
##############################################################################
# Include config file.
include debian/config
# Generate a makefile (via configure scriopt or xmkmf).
makefile-stamp:
ifeq ($(strip $(use_imakefile)),y)
xmkmf -a
endif
$(use_configure)
touch makefile-stamp
# Preserve some files that may get deleted/overwritten/modified otherwise.
preserve-stamp:
ifneq ($(strip $(preserve_files)),)
$(foreach file,$(preserve_files),-cp $(file) $(file).preserved)
endif
touch preserve-stamp
build: preserve-stamp makefile-stamp
$(checkdir)
$(build_command)
touch build
clean: preserve-stamp makefile-stamp
$(checkdir)
# Do actual cleaning up here.
-rm -f build
$(clean_command)
-rm -rf *~ debian/*~ debian/files* $(clean_files)
$(clean_tmp)
# Remove Makefile that xmkmf creates.
ifeq ($(strip $(use_imakefile)),y)
-rm -f Makefile
endif
# If we preserved some files, we need to restore them now.
ifneq ($(strip $(preserve_files)),)
$(foreach file,$(preserve_files),-mv -f $(file).preserved $(file))
endif
-rm -f preserve-stamp makefile-stamp
# Build architecture-independent files here.
# (not yet set up to be used)
binary-indep: build
$(checkdir)
# Build architecture-dependent files here.
binary-arch: build
echo $(checkdir)
$(checkdir)
echo $(clean_tmp)
$(clean_tmp)
install -d debian/tmp debian/tmp/DEBIAN debian/tmp/usr/doc/$(package)
$(install_command)
# Compress manpages
-gzip -9v -r debian/tmp/usr/man/ debian/tmp/usr/X11R6/man/
# Install documentation files, compressed.
ifneq ($(strip $(docs)),)
cp $(docs) debian/tmp/usr/doc/$(package)
gzip -9v debian/tmp/usr/doc/$(package)/*
endif
# Install copyright file, don't compress.
ifneq ($(strip $(copyright)),)
cp $(copyright) debian/tmp/usr/doc/$(package)/copyright
endif
# Install examples, compressed.
ifneq ($(strip $(examples)),)
install -d debian/tmp/usr/doc/examples/$(package)
cp $(examples) debian/tmp/usr/doc/examples/$(package)
gzip -9v debian/tmp/usr/doc/examples/$(package)/*
endif
# Install other debian files if they exist.
-install -m 644 debian/changelog debian/tmp/usr/doc/$(package)/changelog
-gzip -9v debian/tmp/usr/doc/$(package)/changelog
-install -m 644 debian/conffiles debian/tmp/DEBIAN/conffiles
-install -m 755 debian/preinst debian/tmp/DEBIAN/preinst
-install -m 755 debian/postinst debian/tmp/DEBIAN/postinst
-install -m 755 debian/prerm debian/tmp/DEBIAN/prerm
-install -m 755 debian/postrm debian/tmp/DEBIAN/postrm
# Generate control file.
dpkg-shlibdeps $(binfiles)
dpkg-gencontrol
# Set permissions.
[ "`whoami`" != root ] && \
echo -e "\n ** Enter root password to set file permissions."; \
debian/rules setperms
# echo debian/rules setperms
# su -c "debian/rules setperms"
# Actually build the .deb file.
echo dpkg --build debian/tmp ..
dpkg --build debian/tmp ..
# This must be run suid root, it sets the file permissions in debian/tmp
setperms:
chown -R root.root debian/tmp
chmod -R g-ws debian/tmp
$(ch_commands)
define checkdir
@test -f $(test_file) -a -f debian/rules || (echo -e "\n\
** \"$(test_file)\" or \"debian/rules\" does not exist.\n\
** Either \"$(package)\" is not unpacked in this directory, or\n\
** an incorrect test_file is specified in debian/config.\n" && false)
endef
# This rm's the debian/tmp directory.
define clean_tmp
-rm -rf debian/tmp >/dev/null 2>&1
@if [ -d debian/tmp ]; then \
if [ "`whoami`" != root ]; then \
echo -e "\n ** Enter root password to remove debian/tmp."; \
fi; \
rm -rf debian/tmp; \
fi
endef
binary: binary-indep binary-arch
.PHONY: clean setperms binary

0
debian/substvars vendored Normal file
View File

3
exclude-alpha Normal file
View File

@ -0,0 +1,3 @@
wine-doc
# gnome-utils may work by now, but we leave it out by default
gnome-utils

0
exclude-i386 Normal file
View File

18
exclude-m68k Normal file
View File

@ -0,0 +1,18 @@
wine-doc
xlockmore-gl
egon
siag-common
siagoffice-plugins
tsiag
wdm
xpw
xsiag
gem
gnurobots
gstep-base-examples
gtop
palm-doctoolkit
pilot-manager
python-history
scwm
svncviewer

9
exclude-sparc Normal file
View File

@ -0,0 +1,9 @@
wine-doc
dia
ivtools-dev
libcompface1
libdl1-altdev
libwcsmbs
metro-motif-demobin
metro-motif-lib
svncviewer

81
flatten Executable file
View File

@ -0,0 +1,81 @@
#!/usr/bin/perl -w
# This is a perl rewrite of the flatten subsection of
# the slink_cd script.
#flatten: expects a list of files as standard
# input. leaves symlinks into the current tree alone,
# changes other links. Needs the directories of the mirror
# and the non-us mirror.
# syntax: "cat <files > | flatten mirror non-us debug_level"
# (c) 1998 Jens Ritter
# Apply the GNU Public License V 2 or later if necessary.
#
# Released with slink_cd v 1.13 31 Mar 1999
# We extensively work on $_!
while (<STDIN>)
{
print "$3\n" if $3;
chop; # Chop "\n" from end.
if ( ! -l ) # If not symlink, next.
{
print $_, ": normal file\n" if $3;
next;
}
/^(.*)\/(.*)$/; # regexps are greedy (replaces basename and dirname).
$dirname = $1;
# Count the number of slashes in $dirname and in the
# sym-link. If the sym-link has more then we need to
# remove the (external) sym-link and make a hard link
$dirslash = $dirname =~ s/\//\//g ; # counts the number of slashes
# (by replacing "/" with "/")
$linkname = readlink;
$linkslash = $linkname =~ s/\//\//g ;
$linkname =~ s/\.\.\///g;
$abslink = $ARGV[0] . "/dists/" . $linkname;
# Gross hack for non-US. Sort out the tree!!!
if ( /non-US/ )
{
$linkslash = $linkslash + 3;
$abslink = $ARGV[1] . "/" . $linkname;
}
# And now for the top-level docs packages; why are these sym-links?
if ( /package-developer/ )
{
$abslink = $ARGV[0] . "/" . $linkname;
}
if ($dirslash < $linkslash)
{
print $_, " out of tree; replacing\n" if $3;
# Debugging output.
print "remove: $_\n" if $3;
print "link: $abslink, $_\n" if $3;
# Uncomment next to lines to remove safeguard.
unlink;
link $abslink, $_;
}
else
{
print $_, " inside of tree; leaving alone\n" if $3;
}
# print $_,",", $i,",", $abslink,".\n";
}

0
foo Normal file
View File

6
hfs.map Normal file
View File

@ -0,0 +1,6 @@
# ext. xlate creator type comment
.hqx Ascii 'BnHx' 'TEXT' "BinHex file"
.mov Raw 'TVOD' 'MooV' "QuickTime Movie"
.deb Raw 'Debn' 'bina' "Debian package"
.bin Raw 'Debn' 'bina' "Floppy or ramdisk image"
* Ascii 'ttxt' 'TEXT' "Text file"

BIN
isomarkboot-alpha Normal file

Binary file not shown.

BIN
isomarkboot-i386 Normal file

Binary file not shown.

BIN
macinstall-cd.tar.gz Normal file

Binary file not shown.

1233
master Normal file

File diff suppressed because it is too large Load Diff

929
mkhybrid.diff Normal file
View File

@ -0,0 +1,929 @@
--- mkhybrid-1.12a4.7/mkisofs.c Mon Aug 24 20:12:55 1998
+++ mkhybrid-1.12a4.7.new/mkisofs.c Thu Jan 14 11:53:57 1999
@@ -91,6 +91,7 @@
int verbose = 1;
int all_files = 0;
int follow_links = 0;
+int follow_links_sensible = 0;
int rationalize = 0;
int generate_tables = 0;
int print_size = 0;
@@ -106,6 +107,7 @@
char * system_id = SYSTEM_ID_DEFAULT;
char * boot_catalog = BOOT_CATALOG_DEFAULT;
char * boot_image = BOOT_IMAGE_DEFAULT;
+char follow_links_base[256];
int omit_period = 0; /* Violates iso9660, but these are a pain */
int transparent_compression = 0; /* So far only works with linux */
@@ -237,6 +239,8 @@
'D', NULL, "Disable deep directory relocation", ONE_DASH },
{ {"follow-links", no_argument, NULL, 'f'},
'f', NULL, "Follow symbolic links", ONE_DASH },
+ { {"follow-outside-links", required_argument, NULL, 'F'},
+ 'F', NULL, "Follow symbolic links which point outside the CD base directory", ONE_DASH },
#ifdef APPLE_HYB
{ {"apple", no_argument, NULL, 'g'},
'g', NULL, "Add Apple ISO9660 extensions", ONE_DASH },
@@ -682,6 +686,8 @@
char *log_file = 0; /* stderr log file re-direct */
#endif /* APPLE_HYB */
+ char old_dir[256];
+
if (argc < 2)
usage();
@@ -773,181 +779,189 @@
}
break;
case 'A':
- appid = optarg;
- if(strlen(appid) > 128) {
- fprintf(stderr,"Application-id string too long\n");
- exit(1);
- };
- break;
+ appid = optarg;
+ if(strlen(appid) > 128)
+ {
+ fprintf(stderr,"Application-id string too long\n");
+ exit(1);
+ }
+ break;
case 'd':
- omit_period++;
- break;
+ omit_period++;
+ break;
case 'D':
- RR_relocation_depth = 32767;
- break;
+ RR_relocation_depth = 32767;
+ break;
case 'f':
- follow_links++;
- break;
+ follow_links++;
+ break;
+ case 'F':
+ follow_links_sensible++;
+ getcwd (old_dir, 256);
+ chdir (optarg);
+ getcwd (follow_links_base, 256);
+ chdir (old_dir);
+ break;
case 'l':
- full_iso9660_filenames++;
- break;
+ full_iso9660_filenames++;
+ break;
case 'L':
- allow_leading_dots++;
- break;
+ allow_leading_dots++;
+ break;
case 'M':
- merge_image = optarg;
- break;
+ merge_image = optarg;
+ break;
case 'N':
- omit_version_number++;
- break;
+ omit_version_number++;
+ break;
case 'o':
- outfile = optarg;
- break;
+ outfile = optarg;
+ break;
case 'p':
- preparer = optarg;
- if(strlen(preparer) > 128) {
- fprintf(stderr,"Preparer string too long\n");
- exit(1);
- };
- break;
+ preparer = optarg;
+ if(strlen(preparer) > 128) {
+ fprintf(stderr,"Preparer string too long\n");
+ exit(1);
+ };
+ break;
case OPTION_PRINT_SIZE:
- print_size++;
- break;
+ print_size++;
+ break;
case 'P':
- publisher = optarg;
- if(strlen(publisher) > 128) {
- fprintf(stderr,"Publisher string too long\n");
- exit(1);
- };
- break;
+ publisher = optarg;
+ if(strlen(publisher) > 128) {
+ fprintf(stderr,"Publisher string too long\n");
+ exit(1);
+ };
+ break;
case OPTION_QUIET:
- verbose = 0;
- break;
+ verbose = 0;
+ break;
case 'R':
- use_RockRidge++;
- break;
+ use_RockRidge++;
+ break;
case 'r':
- rationalize++;
- use_RockRidge++;
- break;
+ rationalize++;
+ use_RockRidge++;
+ break;
case OPTION_SPLIT_OUTPUT:
- split_output++;
- break;
+ split_output++;
+ break;
#ifdef APPLE_HYB
case OPTION_TRANS_TBL:
- trans_tbl = optarg;
- /* fall through */
+ trans_tbl = optarg;
+ /* fall through */
#endif /* APPLE_HYB */
case 'T':
- generate_tables++;
- break;
+ generate_tables++;
+ break;
case 'V':
- volume_id = optarg;
- break;
+ volume_id = optarg;
+ break;
case 'v':
- verbose++;
- break;
+ verbose++;
+ break;
case 'z':
#ifdef VMS
- fprintf(stderr,"Transparent compression not supported with VMS\n");
- exit(1);
+ fprintf(stderr,"Transparent compression not supported with VMS\n");
+ exit(1);
#else
- transparent_compression++;
+ transparent_compression++;
#endif
- break;
+ break;
case 'x':
case 'm':
- /*
- * Somehow two options to do basically the same thing got added somewhere along
- * the way. The 'match' code supports limited globbing, so this is the one
- * that got selected. Unfortunately the 'x' switch is probably more intuitive.
+ /*
+ * Somehow two options to do basically the same thing got added somewhere along
+ * the way. The 'match' code supports limited globbing, so this is the one
+ * that got selected. Unfortunately the 'x' switch is probably more intuitive.
*/
- add_match(optarg);
- break;
+ add_match(optarg);
+ break;
case OPTION_I_HIDE:
- i_add_match(optarg);
- break;
+ i_add_match(optarg);
+ break;
case OPTION_J_HIDE:
- j_add_match(optarg);
- break;
+ j_add_match(optarg);
+ break;
case OPTION_HELP:
- usage ();
- exit (0);
- break;
+ usage ();
+ exit (0);
+ break;
case OPTION_NOSPLIT_SL_COMPONENT:
- split_SL_component = 0;
- break;
+ split_SL_component = 0;
+ break;
case OPTION_NOSPLIT_SL_FIELD:
- split_SL_field = 0;
- break;
+ split_SL_field = 0;
+ break;
#ifdef APPLE_HYB
case 'H':
- afpfile = optarg;
- hfs_last = MAP_LAST;
- break;
+ afpfile = optarg;
+ hfs_last = MAP_LAST;
+ break;
case 'h':
- apple_hyb = 1;
- break;
+ apple_hyb = 1;
+ break;
case 'g':
- apple_ext = 1;
- break;
+ apple_ext = 1;
+ break;
case OPTION_PROBE:
- probe = 1;
- break;
+ probe = 1;
+ break;
case OPTION_MACNAME:
- mac_name = 1;
- break;
+ mac_name = 1;
+ break;
case OPTION_NOMACFILES:
- nomacfiles = 1;
- break;
+ nomacfiles = 1;
+ break;
case OPTION_BOOT_HFS_FILE:
- hfs_boot_file = optarg;
- break;
+ hfs_boot_file = optarg;
+ break;
case OPTION_MAGIC_FILE:
- magic_file = optarg;
- hfs_last = MAG_LAST;
- break;
- /* Mac/Unix types to include */
+ magic_file = optarg;
+ hfs_last = MAG_LAST;
+ break;
+ /* Mac/Unix types to include */
case OPTION_CAP:
- hfs_select |= DO_CAP;
- break;
+ hfs_select |= DO_CAP;
+ break;
case OPTION_NETA:
- hfs_select |= DO_NETA;
- break;
+ hfs_select |= DO_NETA;
+ break;
case OPTION_DBL:
- hfs_select |= DO_DBL;
- break;
+ hfs_select |= DO_DBL;
+ break;
case OPTION_ESH:
case OPTION_USH:
- hfs_select |= DO_ESH;
- break;
+ hfs_select |= DO_ESH;
+ break;
case OPTION_FE:
- hfs_select |= DO_FEU;
- hfs_select |= DO_FEL;
- break;
+ hfs_select |= DO_FEU;
+ hfs_select |= DO_FEL;
+ break;
case OPTION_SGI:
case OPTION_XIN:
- hfs_select |= DO_SGI;
- break;
+ hfs_select |= DO_SGI;
+ break;
case OPTION_MBIN:
- hfs_select |= DO_MBIN;
- break;
+ hfs_select |= DO_MBIN;
+ break;
case OPTION_SGL:
- hfs_select |= DO_SGL;
- break;
+ hfs_select |= DO_SGL;
+ break;
case OPTION_CREATE_DT:
- create_dt = 0;
- break;
+ create_dt = 0;
+ break;
case OPTION_HFS_HIDE:
- hfs_add_match(optarg);
- break;
+ hfs_add_match(optarg);
+ break;
case OPTION_LOG_FILE:
- log_file = optarg;
- break;
+ log_file = optarg;
+ break;
#endif /* APPLE_HYB */
default:
- usage();
- exit(1);
+ usage();
+ exit(1);
}
parse_input_files:
diff -u mkhybrid-1.12a4.7/mkisofs.h mkhybrid-1.12a4.7.new/mkisofs.h
--- mkhybrid-1.12a4.7/mkisofs.h Mon Aug 24 19:55:07 1998
+++ mkhybrid-1.12a4.7.new/mkisofs.h Tue Jan 12 11:27:10 1999
@@ -280,6 +280,8 @@
extern int use_Joliet;
extern int rationalize;
extern int follow_links;
+extern int follow_links_sensible;
+extern char follow_links_base[];
extern int verbose;
extern int all_files;
extern int generate_tables;
--- mkhybrid-1.12a4.7/tree.c Mon Aug 24 20:06:37 1998
+++ mkhybrid-1.12a4.7.new/tree.c Thu Jan 14 12:03:29 1999
@@ -827,165 +827,181 @@
char *, path,
struct directory_entry *, de)
{
- DIR * current_dir;
- char whole_path[1024];
- struct dirent * d_entry;
- struct directory * parent;
- int dflag;
- char * old_path;
+ DIR * current_dir;
+ char whole_path[1024];
+ struct dirent * d_entry;
+ struct directory * parent;
+ int dflag;
+ char * old_path;
- current_dir = opendir(path);
- d_entry = NULL;
+ current_dir = opendir(path);
+ d_entry = NULL;
- /* Apparently NFS sometimes allows you to open the directory, but
- then refuses to allow you to read the contents. Allow for this */
+ /* Apparently NFS sometimes allows you to open the directory, but
+ then refuses to allow you to read the contents. Allow for this */
- old_path = path;
+ old_path = path;
- if(current_dir) d_entry = readdir(current_dir);
+ if(current_dir) d_entry = readdir(current_dir);
- if(!current_dir || !d_entry)
+ if(!current_dir || !d_entry)
{
- fprintf(stderr,"Unable to open directory %s\n", path);
- de->isorec.flags[0] &= ~2; /* Mark as not a directory */
- if(current_dir) closedir(current_dir);
- return 0;
+ fprintf(stderr,"Unable to open directory %s\n", path);
+ de->isorec.flags[0] &= ~2; /* Mark as not a directory */
+ if(current_dir) closedir(current_dir);
+ return 0;
}
- parent = de->filedir;
- /* Set up the struct for the current directory, and insert it into the
- tree */
+ parent = de->filedir;
+ /* Set up the struct for the current directory, and insert it into the
+ tree */
#ifdef VMS
- vms_path_fixup(path);
+ vms_path_fixup(path);
#endif
- /*
- * if entry for this sub-directory is hidden, then hide this directory
- */
- if (de->de_flags & INHIBIT_ISO9660_ENTRY)
- this_dir->dir_flags |= INHIBIT_ISO9660_ENTRY;
+ /*
+ * if entry for this sub-directory is hidden, then hide this directory
+ */
+ if (de->de_flags & INHIBIT_ISO9660_ENTRY)
+ this_dir->dir_flags |= INHIBIT_ISO9660_ENTRY;
- if (de->de_flags & INHIBIT_JOLIET_ENTRY)
- this_dir->dir_flags |= INHIBIT_JOLIET_ENTRY;
+ if (de->de_flags & INHIBIT_JOLIET_ENTRY)
+ this_dir->dir_flags |= INHIBIT_JOLIET_ENTRY;
- /*
- * Now we scan the directory itself, and look at what is inside of it.
- */
- dflag = 0;
- while(1==1){
+ /*
+ * Now we scan the directory itself, and look at what is inside of it.
+ */
+ dflag = 0;
+ while(1==1)
+ {
- /* The first time through, skip this, since we already asked for
- the first entry when we opened the directory. */
- if(dflag) d_entry = readdir(current_dir);
- dflag++;
-
- if(!d_entry) break;
-
- /* OK, got a valid entry */
-
- /* If we do not want all files, then pitch the backups. */
- if(!all_files){
- if( strchr(d_entry->d_name,'~')
- || strchr(d_entry->d_name,'#'))
- {
- if( verbose > 0 )
- {
- fprintf(stderr, "Ignoring file %s\n", d_entry->d_name);
- }
- continue;
- }
- }
+ /* The first time through, skip this, since we already asked for
+ the first entry when we opened the directory. */
+ if(dflag)
+ d_entry = readdir(current_dir);
+ dflag++;
+
+ if(!d_entry)
+ break;
+
+ /* OK, got a valid entry */
+
+ /* If we do not want all files, then pitch the backups. */
+ if(!all_files)
+ {
+ if(strchr(d_entry->d_name,'~') || strchr(d_entry->d_name,'#'))
+ {
+ if( verbose > 0 )
+ fprintf(stderr, "Ignoring file %s\n", d_entry->d_name);
+ continue;
+ }
+ }
#ifdef APPLE_HYB
- if (apple_both) {
- /* exclude certain HFS type files/directories for the time being */
- if (hfs_exclude(d_entry->d_name))
- continue;
- }
+ if (apple_both) {
+ /* exclude certain HFS type files/directories for the time being */
+ if (hfs_exclude(d_entry->d_name))
+ continue;
+ }
#endif /* APPLE_HYB */
- if(strlen(path)+strlen(d_entry->d_name) + 2 > sizeof(whole_path)){
- fprintf(stderr, "Overflow of stat buffer\n");
- exit(1);
- };
+ if(strlen(path)+strlen(d_entry->d_name) + 2 > sizeof(whole_path))
+ {
+ fprintf(stderr, "Overflow of stat buffer\n");
+ exit(1);
+ };
- /* Generate the complete ASCII path for this file */
- strcpy(whole_path, path);
+ /* Generate the complete ASCII path for this file */
+ strcpy(whole_path, path);
#ifndef VMS
- if(whole_path[strlen(whole_path)-1] != '/')
- strcat(whole_path, "/");
+ if(whole_path[strlen(whole_path)-1] != '/')
+ strcat(whole_path, "/");
#endif
- strcat(whole_path, d_entry->d_name);
+ strcat(whole_path, d_entry->d_name);
- /** Should we exclude this file ? */
- if (matches(d_entry->d_name) || matches(whole_path)) {
- if (verbose > 1) {
- fprintf(stderr, "Excluded by match: %s\n", whole_path);
- }
- continue;
- }
+ /** Should we exclude this file ? */
+ if (matches(d_entry->d_name) || matches(whole_path))
+ {
+ if (verbose > 1)
+ fprintf(stderr, "Excluded by match: %s\n", whole_path);
+ continue;
+ }
- if( generate_tables
#ifdef APPLE_HYB
- && strcmp(d_entry->d_name, trans_tbl) == 0 )
+ if(generate_tables && strcmp(d_entry->d_name, trans_tbl) == 0 )
#else
- && strcmp(d_entry->d_name, "TRANS.TBL") == 0 )
+ if(generate_tables && strcmp(d_entry->d_name, "TRANS.TBL") == 0 )
#endif /* APPLE_HYB */
- {
- /*
- * Ignore this entry. We are going to be generating new
- * versions of these files, and we need to ignore any
- * originals that we might have found.
- */
- if (verbose > 1)
- {
- fprintf(stderr, "Excluded: %s\n",whole_path);
- }
- continue;
- }
-
- /*
- * If we already have a '.' or a '..' entry, then don't
- * insert new ones.
- */
- if( strcmp(d_entry->d_name, ".") == 0
- && this_dir->dir_flags & DIR_HAS_DOT )
- {
- continue;
- }
-
- if( strcmp(d_entry->d_name, "..") == 0
- && this_dir->dir_flags & DIR_HAS_DOTDOT )
- {
- continue;
- }
+ {
+ /*
+ * Ignore this entry. We are going to be generating new
+ * versions of these files, and we need to ignore any
+ * originals that we might have found.
+ */
+ if (verbose > 1)
+ fprintf(stderr, "Excluded: %s\n",whole_path);
+ continue;
+ }
+
+ /*
+ * If we already have a '.' or a '..' entry, then don't
+ * insert new ones.
+ */
+ if(strcmp(d_entry->d_name,".") == 0 && this_dir->dir_flags & DIR_HAS_DOT)
+ continue;
+
+ if(strcmp(d_entry->d_name,"..") == 0 && this_dir->dir_flags&DIR_HAS_DOTDOT)
+ continue;
#if 0
- if (verbose > 1) fprintf(stderr, "%s\n",whole_path);
+ if (verbose > 1) fprintf(stderr, "%s\n",whole_path);
#endif
- /*
+ /*
* This actually adds the entry to the directory in question.
*/
#ifdef APPLE_HYB
- insert_file_entry(this_dir, whole_path, d_entry->d_name, 0);
+ insert_file_entry(this_dir, whole_path, d_entry->d_name, 0);
#else
- insert_file_entry(this_dir, whole_path, d_entry->d_name);
+ insert_file_entry(this_dir, whole_path, d_entry->d_name);
#endif /* APPLE_HYB */
- }
- closedir(current_dir);
+ }
+
+ closedir(current_dir);
#ifdef APPLE_HYB
- /* if we cached the HFS info stuff for this directory, then delete it */
- if (this_dir->hfs_info) {
- del_hfs_info(this_dir->hfs_info);
- this_dir->hfs_info = 0;
- }
+/* if we cached the HFS info stuff for this directory, then delete it */
+ if (this_dir->hfs_info) {
+ del_hfs_info(this_dir->hfs_info);
+ this_dir->hfs_info = 0;
+ }
#endif /* APPLE_HYB */
-
- return 1;
+ return 1;
}
+/* check_dirlevel: returns 1 if
+ * name is below the tree of follow_links_base */
+int check_dirlevel (char *name)
+{
+ char old[256] = {0,}, buf[256] = {0,}, b2[256], *c;
+
+ strcpy (b2, name);
+ c = strrchr (b2, '/');
+ if (c)
+ {
+ *c = '\0';
+ getcwd (old, 256);
+ chdir (b2);
+ getcwd (buf, 256);
+ chdir (old);
+
+ if (!strncmp (buf, follow_links_base, strlen (follow_links_base)))
+ return 1;
+ return 0;
+ }
+ else
+ return 1;
+}
/*
* Function: insert_file_entry
@@ -1008,132 +1024,170 @@
char *, short_name,
int, have_rsrc)
#else
-int
+ int
FDECL3(insert_file_entry,struct directory *, this_dir,
char *, whole_path,
char *, short_name)
#endif /* APPLE_HYB */
{
- struct stat statbuf, lstatbuf;
- struct directory_entry * s_entry, *s_entry1;
- int lstatus;
- int status;
- int deep_flag;
+ struct stat statbuf, lstatbuf;
+ struct directory_entry * s_entry, *s_entry1;
+ int lstatus;
+ int status;
+ int deep_flag;
#ifdef APPLE_HYB
- int x_hfs = 0;
- int htype;
+ int x_hfs = 0;
+ int htype;
#endif /* APPLE_HYB */
+ char link_buf[256];
+ int do_follow_links = 0;
- status = stat_filter(whole_path, &statbuf);
+ status = stat_filter(whole_path, &statbuf);
- lstatus = lstat_filter(whole_path, &lstatbuf);
+ lstatus = lstat_filter(whole_path, &lstatbuf);
- if( (status == -1) && (lstatus == -1) )
+ if( (status == -1) && (lstatus == -1) )
{
- /*
- * This means that the file doesn't exist, or isn't accessible.
- * Sometimes this is because of NFS permissions problems.
- */
- fprintf(stderr, "Non-existant or inaccessible: %s\n",whole_path);
- return 0;
+ /*
+ * This means that the file doesn't exist, or isn't accessible.
+ * Sometimes this is because of NFS permissions problems.
+ */
+ fprintf(stderr, "Non-existant or inaccessible: %s\n",whole_path);
+ return 0;
}
- if(this_dir == root && strcmp(short_name, ".") == 0)
- root_statbuf = statbuf; /* Save this for later on */
+ if(this_dir == root && strcmp(short_name, ".") == 0)
+ root_statbuf = statbuf; /* Save this for later on */
/* We do this to make sure that the root entries are consistent */
- if(this_dir == root && strcmp(short_name, "..") == 0)
+ if(this_dir == root && strcmp(short_name, "..") == 0)
{
- statbuf = root_statbuf;
- lstatbuf = root_statbuf;
+ statbuf = root_statbuf;
+ lstatbuf = root_statbuf;
}
- if(S_ISLNK(lstatbuf.st_mode))
- {
+ if(S_ISLNK(lstatbuf.st_mode))
+ {
- /* Here we decide how to handle the symbolic links. Here
- we handle the general case - if we are not following
- links or there is an error, then we must change
- something. If RR is in use, it is easy, we let RR
- describe the file. If not, then we punt the file. */
+ /* Here we decide how to handle the symbolic links. Here
+ we handle the general case - if we are not following
+ links or there is an error, then we must change
+ something. If RR is in use, it is easy, we let RR
+ describe the file. If not, then we punt the file. */
- if((status || !follow_links))
- {
- if(use_RockRidge)
- {
- status = 0;
- statbuf.st_size = 0;
- STAT_INODE(statbuf) = UNCACHED_INODE;
- statbuf.st_dev = (dev_t) UNCACHED_DEVICE;
- statbuf.st_mode = (statbuf.st_mode & ~S_IFMT) | S_IFREG;
- } else {
- if(follow_links)
+ /* First check for the sensible follow_links option */
+ if (follow_links_sensible)
{
- fprintf(stderr,
- "Unable to stat file %s - ignoring and continuing.\n",
- whole_path);
+ /* Where does the link point to? */
+ memset (link_buf, 0, 256);
+ readlink (whole_path, link_buf, 255);
+ if (check_dirlevel (link_buf))
+ {
+ /* Treat it as a symlink */
+ if (!use_RockRidge)
+ {
+ fprintf (stderr, "Ignoring symlink %s (which wouldn't be followed)\n",
+ whole_path);
+ }
+ else
+ {
+ do_follow_links = 0;
+ if (status)
+ {
+ status = 0;
+ statbuf.st_size = 0;
+ STAT_INODE(statbuf) = UNCACHED_INODE;
+ statbuf.st_dev = (dev_t) UNCACHED_DEVICE;
+ statbuf.st_mode = (statbuf.st_mode & ~S_IFMT) | S_IFREG;
+ }
+ }
+ }
+ else
+ {
+ /* Follow the link */
+ do_follow_links = 1;
+ }
}
- else
+ else if (!follow_links_sensible)
+ do_follow_links = follow_links;
+
+ if((status || !do_follow_links))
{
- fprintf(stderr,
- "Symlink %s ignored - continuing.\n",
- whole_path);
- return 0; /* Non Rock Ridge discs - ignore all symlinks */
+ if(use_RockRidge)
+ {
+ status = 0;
+ statbuf.st_size = 0;
+ STAT_INODE(statbuf) = UNCACHED_INODE;
+ statbuf.st_dev = (dev_t) UNCACHED_DEVICE;
+ statbuf.st_mode = (statbuf.st_mode & ~S_IFMT) | S_IFREG;
+ } else {
+ if(do_follow_links)
+ {
+ fprintf(stderr,
+ "Unable to stat file %s - ignoring and continuing.\n",
+ whole_path);
+ }
+ else
+ {
+ fprintf(stderr,
+ "Symlink %s ignored - continuing.\n",
+ whole_path);
+ return 0; /* Non Rock Ridge discs - ignore all symlinks */
+ }
+ }
}
- }
- }
- /* Here we handle a different kind of case. Here we have
- a symlink, but we want to follow symlinks. If we run
- across a directory loop, then we need to pretend that
- we are not following symlinks for this file. If this
- is the first time we have seen this, then make this
- seem as if there was no symlink there in the first
- place */
+ /* Here we handle a different kind of case. Here we have
+ a symlink, but we want to follow symlinks. If we run
+ across a directory loop, then we need to pretend that
+ we are not following symlinks for this file. If this
+ is the first time we have seen this, then make this
+ seem as if there was no symlink there in the first
+ place */
- if( follow_links
- && S_ISDIR(statbuf.st_mode) )
- {
- if( strcmp(short_name, ".")
- && strcmp(short_name, "..") )
- {
- if(find_directory_hash(statbuf.st_dev, STAT_INODE(statbuf)))
+ if( do_follow_links
+ && S_ISDIR(statbuf.st_mode) )
{
- if(!use_RockRidge)
- {
- fprintf(stderr, "Already cached directory seen (%s)\n",
- whole_path);
- return 0;
- }
- statbuf.st_size = 0;
- STAT_INODE(statbuf) = UNCACHED_INODE;
- statbuf.st_dev = (dev_t) UNCACHED_DEVICE;
- statbuf.st_mode = (statbuf.st_mode & ~S_IFMT) | S_IFREG;
+ if( strcmp(short_name, ".")
+ && strcmp(short_name, "..") )
+ {
+ if(find_directory_hash(statbuf.st_dev, STAT_INODE(statbuf)))
+ {
+ if(!use_RockRidge)
+ {
+ fprintf(stderr, "Already cached directory seen (%s)\n",
+ whole_path);
+ return 0;
+ }
+ statbuf.st_size = 0;
+ STAT_INODE(statbuf) = UNCACHED_INODE;
+ statbuf.st_dev = (dev_t) UNCACHED_DEVICE;
+ statbuf.st_mode = (statbuf.st_mode & ~S_IFMT) | S_IFREG;
+ }
+ else
+ {
+ lstatbuf = statbuf;
+ add_directory_hash(statbuf.st_dev, STAT_INODE(statbuf));
+ }
+ }
}
- else
+
+ /*
+ * For non-directories, we just copy the stat information over
+ * so we correctly include this file.
+ */
+ if( do_follow_links
+ && !S_ISDIR(statbuf.st_mode) )
{
- lstatbuf = statbuf;
- add_directory_hash(statbuf.st_dev, STAT_INODE(statbuf));
+ lstatbuf = statbuf;
}
- }
- }
-
- /*
- * For non-directories, we just copy the stat information over
- * so we correctly include this file.
- */
- if( follow_links
- && !S_ISDIR(statbuf.st_mode) )
- {
- lstatbuf = statbuf;
- }
}
/*
* Add directories to the cache so that we don't waste space even
* if we are supposed to be following symlinks.
*/
- if( follow_links
+ if( do_follow_links
&& strcmp(short_name, ".")
&& strcmp(short_name, "..")
&& S_ISDIR(statbuf.st_mode) )
@@ -1158,7 +1212,7 @@
/* Add this so that we can detect directory loops with hard links.
If we are set up to follow symlinks, then we skip this checking. */
- if( !follow_links
+ if( !do_follow_links
&& S_ISDIR(lstatbuf.st_mode)
&& strcmp(short_name, ".")
&& strcmp(short_name, "..") )

7
mkisofsrc Normal file
View File

@ -0,0 +1,7 @@
APPI=Debian GNU/Linux 2.1
COPY=Copyrighted by SPI and others.
PUBL=Software in the Public Interest
PREP=Steve McIntyre stevem@chiark.greenend.org.uk
SYSI=Linux
VOLI=Debian
VOLS=Debian GNU/Linux 2.1 (slink). A distribution of a free-software Linux system. For information, please see http://www.debian.org/ . Fri Jan 22 10:28:48 GMT 1999

69
mklinks Executable file
View File

@ -0,0 +1,69 @@
#!/usr/bin/perl -w
# mklinks v 1.13 (c) Steve McIntyre <stevem@chiark.greenend.org.uk>
# Released under GPL 31 Mar 1999
# See the file COPYING for license details
# Released as part of the slink_cd package, not much use standalone
#
# Given a list of *files* on stdin, will work through them replacing
# links into binary-all as appropriate, and will also fix the
# boot-disks current/ symlink as necessary. Designed to work with the
# "genlinks" option in slink_cd.
#
# Takes no parameters. Inspired by the "flatten" script by Jens Ritter
# $1 is the debug level
# We extensively work on $_!
while (<STDIN>)
{
chop;
if ( -l )
{
# Check if we have a file that we can link to binary-all
if ( /binary-(i386|alpha|sparc|powerpc|arm|hurd-i386|m68k)\/.*/ )
{
$allfile = $_;
$allfile =~ s/binary-\w*/binary-all/;
$allfile =~ s/\.\///;
if ( -e $allfile)
{
# We have a winner!
unlink;
if ( /non-US/ )
{
# broken layout...
symlink( "../../$allfile", $_);
}
else
{
symlink( "../../../$allfile", $_);
}
}
}
# And also check for the "current" boot-disks sym-link - this
# will break the sym-links farm when we try to link to it later...
if ( /disks-(i386|alpha|sparc|powerpc|arm|hurd-i386|m68k)\/current$/ )
{
if($1)
{
print "Fixing the disks-ARCH/current sym-link for our purposes\n";
}
$currentdir = $_;
$diskdir = readlink $currentdir;
unlink $currentdir;
mkdir $currentdir,0755;
opendir(DIR, "$diskdir/" ) || die "can't opendir $diskdir: $!";
while ($file = readdir(DIR))
{
if( ! -d "$diskdir/$file" )
{
symlink( "$diskdir/$file","$currentdir/$file" );
}
}
closedir DIR;
}
}
}

185
mklist Executable file
View File

@ -0,0 +1,185 @@
#!/bin/bash
# mklist v 1.13 (c) Steve McIntyre <stevem@chiark.greenend.org.uk>
# Released under GPL 31 Mar 1999
# See the file COPYING for license details
# Released as part of the slink_cd package, not much use standalone
#
# $1 is Debian-mirror location
# $2 is start directory location (where the scripts live)
# $3 is tmpdir location
# $4 is the binary arch
# $5 is debug level
VERBOSE=$5
. $2/vecho # Local definitions for vecho, vvecho, vvvecho
vecho Creating file lists for CDs 1 and 2
cd $3
rm -rf list
mkdir list
if [ -f $1/dists/slink/main/binary-$4/Packages.gz ]; then
PACKAGES=$1/dists/slink/main/binary-$4/Packages.gz
elif [ -f $1/dists/slink/main/binary-$4/Packages ]; then
PACKAGES=$1/dists/slink/main/binary-$4/Packages
else
echo "$0: Could not find packages file. Exit."
exit 1
fi
# AAAAAAAAaargh! We're f**ked if the Packages file is out-of-date
# (e.g. borken mirror), so check if there are any newer files in the
# archive _now_. If so, we'll need to create a newer copy for our own
# purposes. Warn the user a _lot_, as this may be a symptom of a
# really broken setup...
find $1/dists/slink/main/binary-$4 -type f -follow -newer $PACKAGES >$TDIR/newer.packages
if [ -s $3/newer.packages ] ; then
PACKAGES=$3/Packages.regenerated
echo " Awooga!"
echo " Awooga!"
echo " Awooga!"
echo " Awooga! The main Packages file in the mirror is out of date."
echo " Generating a new one in $PACKAGES."
echo " Your md5sums results will be bogus, and so might your images."
echo " Awooga!"
echo " Awooga!"
echo " Awooga!"
echo " Awooga!"
(cd $1/dists/slink/main && \
dpkg-scanpackages binary-$4 $1/indices/override.slink.gz \
dists/stable/main/ > $PACKAGES)
ls -al $PACKAGES
fi
# optional/extra packages that should be on disc 1 should be listed in
# slink1.needed. Important/required/standard packages will
# automatically go there, and duplication is OK. slink1.needed no
# longer needs to be up-to-date with the boot-floppies package, as we
# generate it from their master file now.
# Remove hashed-out lines to allow hash comments...
# And use EOP as a header between sections
# the first section should be the list of packages to go on CD 1
# the second section should be the list of packages to remove _completely_
# the third is the Packages file, i.e. the raw data that we're going to use.
# Output will go to list1 for CD 1, list2 for CD 2, EXCLUDED for removed.
zcat -f $3/slink1.needed $3/slink1.useful $2/EOP $2/exclude-$4 $2/EOP $PACKAGES | grep -v '^#' | awk -v verbose=$VERBOSE '
/END_OF_PROCESSING/ {leave_done++}
/.*/ {
if(!leave_done)
{
leave[$1]++
}
else
{
if(leave_done==1)
{
remove[$1]++
}
}
}
/^Package:/ {
if(leave_done==2)
{
priority="unlisted";
package=$2;
list="list2"
}
}
/^Priority:/ {
if(leave_done==2)
{
priority = $2;
if(leave[package])
{
list="list1"
}
if(remove[package])
{
list="EXCLUDED"
}
}
}
/^Section:/ {
if(leave_done==2)
{
section=$2;
}
}
/^Filename:/ {
if(leave_done==2)
{
filename = $2
}
}
/^Size:/ {if(leave_done==2)
{
if(match(priority,"^required")) {list="list1"}
if(match(priority,"^important")) {list="list1"}
if(match(priority,"^standard")) {list="list1"}
if(match(section,"^base")) {list="list1"}
if(verbose>1) {print priority, section, "package ", package, "moved to", list}
print package,filename," ",$2 >>"list/"list
print package,filename," ",$2 >>"list/"priority
}
}
'
cd list
for file in *
do
sort $file -o $file.1
mv $file.1 $file
done
vecho "Sizes for each priority in main binary-$4 (bytes):"
for file in required important standard optional extra unlisted
do
if [ -e $file ] ; then
vecho -n $file
if [ "$VERBOSE" -gt 0 ] ; then
cat $file | awk '{size=size+$3};END{print " ",size}'
fi
fi
done
vecho
vecho "Sizes for each disc (bytes):"
for file in list1 list2 EXCLUDED
do
touch $file # so we don't get ENOENT
vecho -n $file
if [ "$VERBOSE" -gt 0 ] ; then
cat $file | awk '{size=size+$3};END{print " ",size}'
fi
done
vecho "These only count packages in main binary-$4. Other"
vecho "sections will fill these two discs up further"
cd $1
for i in 1 2
do
vecho "Filling in binary-all links... $i"
for file in `cat $3/list/list$i | sed 's/frozen/slink/g;s/stable/slink/g' | awk -v ARCH=$4 '{print $2; REPL=sprintf("binary-%s/",ARCH);gsub(REPL,"binary-all/",$2); print $2}'`
do
if [ -f $file ] ; then
vvecho $file
echo $file >>/$3/list/OUT$i
fi
done
done

415
pkg-order Executable file
View File

@ -0,0 +1,415 @@
#!/usr/bin/perl -w
eval 'exec /usr/bin/perl -w -S $0 ${1+"$@"}'
if 0; # not running under some shell
# -*- Mode: Perl -*-
# Debian-pkg.pm ---
# Author : Manoj Srivastava ( srivasta@tiamat.datasync.com )
# Created On : Wed Jan 22 09:53:33 1997
# Created On Node : tiamat.datasync.com
# Last Modified By : Manoj Srivastava
# Last Modified On : Sat Mar 14 13:08:24 1998
# Last Machine Used: tiamat.datasync.com
# Update Count : 346
# Status : Unknown, Use with caution!
# HISTORY :
# Description :
#
#
use strict;
use diagnostics;
use Carp;
require 5.001;
use Debian::Package::Dependency_List;
use Debian::Package::Package;
use Debian::Package::List;
use Getopt::Long;
package main;
#Handle The auto generated eval line.
use vars qw($running_under_some_shell);
=head1 NAME
pkg-order - A Package dependency checker and install ordering tool.
=cut
=head1 SYNOPSIS
usage: pkg-order [options] <Package-file-for-new-packages>
where the options are:
=over 2
=item --nocheck-depends
=item --check-depends Do a dependency check as well as the ordering [ON]
=item --nostrict-depends
=item --strict-depends Do not carry on ordering after dependency failure [ON]
=item --nooutput-order
=item --output-order Do a package ordering [ON]
=item --nocheck-recommends
=item --check-recommends Check the Recommends field as well [OFF]
=item --nocheck-suggests
=item --check-suggests Check the Suggests field as well [OFF]
=item --nocheck-consistency
=item --check-consistency Make sure that extra warning are issued if the
new packages are not consistent [ON]
=item --noprint-failures
=item --print-failures Make a full report of dependency failures [ON]
=item --noprint-dependencies
=item --print-dependencies Print fulfilled dependencies as well [OFF]
=item --installed-packages <Package-file-for-installed-packages>
=back
=cut
=head1 DESCRIPTION
This utility does dependency checks, if you wish. It knows the
difference between installed, new (and available) packages, and the
relationship fields (pre-depends, depends, recommends, and
suggests). (For example, the current packages list need not be read
in unless you want dependency checks; you may already have done that
and now merely wish an ordering). It comes with a Test::Harness test
suite, to protect the world against my typos. Oh, it knows about
epochs as well if your dpkg does. This could be the basis of mass
compiling the packages on a new architecture, or to build a release
from scratch.
It creates associative arrays of currently installed packages
(/var/lib/dpkg/status), and new packages (given a packages file at
the command line). Then, in the checking dependency phase, for each
package in the new packages list, it looks at the dependencies, and
ensure that each dependency is satisfied in either the new list or
the installed list If the directive is satisfied from the new list,
add a line to an output file with the format required by tsort, which
is the entity that gives us the ordered list.
The default is to assume that the list of installed packages may be
derived from the file I</var/lib/dpkg/status>, but the user may
override this by providing a I<Packages> file listing all the
packages that are assumed to be already installed.
=cut
sub main {
my $installed;
my $candidates;
my $ret;
my $do_depends = 1;
my $strict_depends = 1;
my $do_conflicts = 1;
my $do_order = 1;
my $recommends = 0;
my $suggests = 0;
my $consistent = 1;
my $print_failures = 1;
my $print_found = 0;
my $dohelp = 0;
my $filename = '';
my $usage = '';
my $installed_packages = '';
my $MYNAME = '';
($MYNAME = $0) =~ s|.*/||;
$usage= <<EOUSAGE;
usage: $MYNAME [options] <Package-file-for-new-packages>
where the options are:
--help This message.
--nocheck-depends
--check-depends Do a dependency check as well as the ordering [ON]
--nostrict-depends
--strict-depends Die on failing to satisfy dependency. [ON]
--nocheck-conflicts
--check-conflicts Do a conflicts check [ON]
--nooutput-order
--output-order Do a package ordering [ON]
--nocheck-recommends
--check-recommends Check the Recommends field as well [OFF]
--nocheck-suggests
--check-suggests Check the Suggests field as well [OFF]
--nocheck-consistency
--check-consistency Make sure that extra warning are issued if the
new packages are not consistent [ON]
--noprint-failures
--print-failures Make a full report of dependency failures [ON]
--noprint-dependencies
--print-dependencies Print fulfilled dependencies as well [OFF]
--installed-packages <Package-file-for-installed-packages>
EOUSAGE
$ret = GetOptions("check-depends!" => \$do_depends,
"strict-depends!" => \$strict_depends,
"output-order!" => \$do_order,
"check-recommends!" => \$recommends,
"check-suggests!" => \$suggests,
"check-conflicts!" => \$do_conflicts,
"check-consistency!" => \$consistent,
"print-failures!" => \$print_failures,
"print-dependencies!" => \$print_found,
"help" => \$dohelp,
"installed-packages=s" => \$installed_packages);
if ($dohelp) {
print "$usage";
exit (0);
}
die "$usage" unless $ret;
$filename = shift @ARGV;
die "Need a New packages file (Packages))"
unless $filename;
die "Could not find new Packages file $filename"
unless -f $filename;
######################################################################
# Phase One: Gather data #
######################################################################
# Installed file (default value taken from status file)
if ($do_depends) {
if (-f $installed_packages) {
$installed = Debian::Package::New->new('filename' => $installed_packages);
}
else {
$installed = Debian::Package::Installed->new();
}
}
# The new candidates (taken from the packages file)
$candidates = Debian::Package::New->new('filename' => $filename);
######################################################################
# Phase Two: Check dependencies #
######################################################################
# Omit phase Two and Three unless $do_depends is TRUE
if ($do_depends) {
# This sets Types which will show up as critical errors. Does not
# change what errors are recorded.
$candidates->set_fatal_failure_on_types('Type List' =>
"Pre-Depends Depends Conflict");
# Check Pre-Dependencies
$candidates->check_relations('Consistent' => $consistent,
'Installed' => $installed,
'Field' => 'Pre-Depends');
# Check Dependencies
$candidates->check_relations('Consistent' => $consistent,
'Installed' => $installed,
'Field' => 'Depends');
# Check Conflicts
$candidates->check_relations('Consistent' => $consistent,
'Installed' => $installed,
'Field' => 'Conflicts')
if $do_conflicts;
# Check Recommendations
$candidates->check_relations('Consistent' => $consistent,
'Installed' => $installed,
'Warn' => 'True',
'Field' => 'Recommendations')
if $recommends;
# Check Suggestions
$candidates->check_relations('Consistent' => $consistent,
'Installed' => $installed,
'Warn' => 'True',
'Field' => 'Suggestions')
if $suggests;
######################################################################
# Phase Three: Print Results #
######################################################################
if ($print_failures) {
my $result_string =
$candidates->result_as_string('Type' => 'All',
'Category' => 'Failed');
if ($result_string) {
print STDERR "=" x70, "\n";
print STDERR "Failed:\n";
print "$result_string";
print STDERR "=" x70, "\n";
}
my $unknowns =
$candidates->result_as_string('Type' => 'All',
'Category' => 'Unknown');
if ($unknowns) {
print STDERR "=" x70, "\n";
print STDERR "Unknown:\n";
print "$unknowns";
print STDERR "=" x70, "\n";
}
# Different from above to see an example of print result
my $numconflicts =
$candidates->check_result('Type' => 'All',
'Category' => 'Conflict');
if ($numconflicts > 0) {
print STDERR "=" x70, "\n";
print STDERR "Conflicted:\n";
$candidates->print_result('Type' => 'All',
'Category' => 'Conflict');;
print STDERR "=" x70, "\n";
}
}
if ($print_found) {
my $result_string =
$candidates->result_as_string('Type' => 'All',
'Category' => 'Found');
if ($result_string) {
print STDERR "=" x70, "\n";
print STDERR "Found:\n";
print "$result_string";
print STDERR "=" x70, "\n";
}
}
if ($strict_depends) {
my $critical_errors =
$candidates->check_result('Type' => "Critical",
'Category' => 'Failed')
+ $candidates->check_result('Type' => "Critical",
'Category' => 'Conflict')
+ $candidates->check_result('Type' => "Critical",
'Category' => 'Unknown');
if ($critical_errors > 0) {
print "$critical_errors Critical errors encountered. Exiting.\n";
exit ($critical_errors);
}
}
}
######################################################################
# Phase Four: Gather ordering data #
######################################################################
return 0 unless $do_order;
# Order Pre-Dependencies
$candidates->order('Field' => 'Pre-Depends');
# Order Dependencies
$candidates->order('Field' => 'Depends');
# Order Conflicts
$candidates->order('Field' => 'Conflicts', 'Installed' => $installed);
######################################################################
# Phase Five: Do ordering #
######################################################################
# Get ordering info and do topological sorting
my $order_string = $candidates->get_ordering();
# This is the raw order string
# print $order_string;
print "No packages to order. Exiting.\n" unless $order_string;
return 2 unless $order_string;
# This is the first method used to insert Breaks
my $order_one =
$candidates->insert_breaks('Ordered List' => $order_string);
print "$order_one\n";
# This is another way to insert breaks
# print "=" x 70;
# my $order_two =
# $candidates->{' _Targets'}->insert_breaks('Ordered List' => $order_string);
# print "$order_two\n";
my %force_options = $candidates->list_marks("Mark" => '\-\-');
my $forced_pkg;
foreach $forced_pkg (keys %force_options) {
my $option;
my @options = split ' ', $force_options{$forced_pkg};
for $option (@options) {
next unless $option =~ /\-\-/o;
print "Package $forced_pkg will need $option for installation)\n";
}
}
exit 0;
}
=head2 list_diff
This is an example of how to detect packages and list packages in list
A that are not in list B. Takes two Package::List objects, and returns
a list object. This is how one may take an installed list, a final
list, and figure out the packages to be removed, and the new
packages, by just taking A - B and B - A set differences.
=cut
sub list_diff {
my %params = @_;
my $ListA;
my $ListB;
my $ListC;
croak("Need argument 'List A'") unless defined $params{'List A'};
croak("Need argument 'List B'") unless defined $params{'List B'};
$ListA = $params{'List A'};
$ListB = $params{'List B'};
$ListC = Debian::Package::New->new();
my $name;
for $name (sort keys %{$ListA}) {
my $pkg;
next if $name =~ /^\s+_/o;
$pkg = $ListA->{$name};
next if $ListB->{$name}->{'Package'};
$ListC->add('Package_desc' => $pkg->print());
}
return $ListC;
}
=head1 CAVEATS
This is very inchoate, at the moment, and needs testing.
=cut
=head1 BUGS
None Known so far.
=cut
=head1 AUTHOR
Manoj Srivastava <srivasta@debian.org>
=cut
&main::main();
__END__

1
slink1.info Normal file
View File

@ -0,0 +1 @@
Debian GNU/Linux slink (2.1) 1/4 main binary-ARCH section 1 SAM

5
slink1.list Normal file
View File

@ -0,0 +1,5 @@
dists/slink/main/disks-ARCH
dists/slink/main/upgrade-*ARCH*/
doc
README.*
tools

795
slink1.needed Normal file
View File

@ -0,0 +1,795 @@
# Packages needed for initial installation suggested setups. Keep up-to-date
# with the boot-floppies package.
3dchess
a2ps
aalib-bin
aalib1
aalib1-dev
abc2ps
abcmidi
abuse
abuse-lib
acct
acidwarp
acm
addressbook
af
afbackup
afbackup-client
afio
afterstep
alias
alien
amanda-client
amanda-common
amanda-server
amaya
amiga-bootstrap
amiga-fdisk
an
anacron
analog
apache
apache-common
apache-dev
apache-doc
apcalc
apcalc-dev
arena
ascd
asmail
asmixer
asmodem
at
atari-bootstrap
atari-fdisk
auctex
aumix
autoconf
automake
bbdb
bc
bibindex
bibtool
biff
bin86
bind
bind-doc
bing
binstats
binutils
bison
bitchx
blast
bonnie
bplay
bsdgames
bsdmainutils
buffer
bug
bzip2
c2man
calc
cam
catdoc
cbb
cdda2wav
cddb
cdrecord
cdtool
cdwrite
cfengine
cfingerd
cflow
cftp
cgi-scripts
cgilib
cgoban
checker
chimera2
clisp
compface
cpio
cpp
cracklib2
cracklib-runtime
cron
cti-ifhp
ctwm
cutils
cvs
cvs-buildpackage
cvs-pcl
cweb
cweb-latex
cxhextris
cxref
data-dumper
dc
ddd
debhelper
debian-policy
debiandoc-sgml
debmake
debsums
dejagnu
developers-reference
devscripts
dftp
dhelp
diald
dialdcost
dialog
diffstat
dist
djtools
dnsutils
doc-debian
doc-linux-html
doc-linux-text
docbook
docbook-doc
docbook-stylesheets
dome
dotfile
dotfile-bash
dotfile-elm
dotfile-emacs
dotfile-fvwm1
dotfile-fvwm2
dotfile-ipfwadm
dotfile-procmail
dotfile-rtin
dotfile-tcsh
dpkg-dev
dpkg-ftp
dpkg-http
dpkg-mountable
dpkg-perl
dpkg-repack
dump
dupload
dvidvi
dxpc
e2fsprogs
echoping
ed
ee
egcc
electric-fence
elib
elk
elkdoc
elm-me+
emacs19
emacs19-el
emacs20
emacs20-el
emacsen-common
eperl
epic
et
eterm
eterm-backgrounds
exim
exmh
expect5.24
expect5.24-dev
exuberant-ctags
f2c
fakeroot
fdflush
fdutils
felt
felt-doc
fetchmail
figlet
file
filerunner
filters
flex
floatbg
flying
fmirror
fort77
fortune-mod
fortunes
freeciv
freetype1
freetype2
ftape-module-2.0.34
ftape-util
fte
ftnchek
fvwm
fvwm-common
fvwm2
fvwm95
fvwmconf
fweb
g++
g77
gawk
gcal
gcc
gcl
gclinfo
gdb
gedit
ghostview
gimp
gimp-data-extras
gltt2
glut-data
glut-doc
glutg3
glutg3-dev
gmemusage
gmp2
gnuchess
gnuchess-book
gnugo
gnuplot
gnushogi
gobjc
gom
gom-x
gpm
groff
gs
gsfonts
gtimer
guile1.3
gv
gzilla
htdig
hyperlatex
hypermail
hyphen-show
iamerican
ibritish
ical
icewm
imagemagick
imlib-base
imlib1
indent
inewsinn
info
inn
innfeed
int-fiction
iplogger
iptraf
ircii
ispell
ivtools
ivtools-bin
ivtools-dev
ivtools-doc
jade
jargon
jed
jed-common
jered
jgraph
joe
jpeginfo
junkbuster
kernel-headers-2.0.35
kernel-package
knews
koules
lacheck
lapack
lapack-dev
lapack-doc
leave
less
lesstifg
lftp
lg-base
lg-issue01to08
lg-issue09
lg-issue10
lg-issue11
lg-issue12
lg-issue13
lg-issue14
lg-issue15
lg-issue16
lg-issue17
lg-issue18
lg-issue19
lg-issue20
lg-issue21
lg-issue22
lg-issue23
lg-issue24
lg-issue25
lg-issue26
lg-issue27
lg-issue28
libc5
libc6-dev
libcgi-perl
libcompfaceg1
libcompress-zlib-perl
libcurses-perl
libdb2
libdelimmatch-perl
libdnd1
libelfg0
libg++2.8.2
libg++272
libgdbm1
libgdbmg1
libgdbmg1-dev
libgimp1
libglib1.1
libgpmg1
libgtk-dev
libgtk-doc
libgtk-perl
libgtk1
libgtk1.1
libgtkmm
libgtkmm-dev
libguile4
libguile4-dev
libhdf4g
libhtml-parser-perl
libident
libio-stringy-perl
libjpeg62
libjpegg6a
liblockdev0-perl
liblockfile0
libmagick4g
libmd5-perl
libmime-base64-perl
libmime-perl
libmpeg1
libncurses4-dev
libnet-perl
libpam0g
libpam0g-util
libpaperg
libpcap0
libpcre1
libpgperl
libpgsql
libpgtcl
libpng0g
libpng2
libproplist0
libpwdb0g
libreadlineg2-dev
librpm1
librx1g
libsp1
libstdc++2.8
libstdc++2.9-dev
libstringlist0
libterm-readkey-perl
libtiff3g
libtime-hires-perl
libtime-period-perl
libtimedate-perl
libtool
libungif3g
libwraster1
libwww-perl
libxbase-perl
lilo
lincity
lincity-svga
lincity-x
liwc
loadmeter
locales
lprng
lprng-doc
lrzsz
lsof-2.0.35
ltrace
lurkftp
luxman
lynx
m4
mac-bootstrap
mac-fdisk
magicfilter
mailtools
mailx
make
make-doc
makepatch
man-db
manpages
manpages-dev
maplay
mc
mctools-lite
megahal
menu
mesa-doc
mesag-dev
mesag3
metamail
mgt
mh
mime-support
mirrordir
mixviews
mkhybrid
mkisofs
mmv
mon
moonlight
most
motifnls
mpack
mpage
mtools
mtr
mtx
multitee
mutt
nas-lib
ncftp
ncurses-term
ncurses3.4
netbase
netcat
netcdfg3
netdiag
nethack
netmaze
netpbm
netpbm1
netris
netstd
nfs-server
nighthawk
nis
nn
nosql
nvi
octave
octave-ci
octave-doc
oleo
olvwm
olwm
omniorb
oneko
packaging-manual
pacman
patch
pdksh
pdl
pdmenu
pente
perl
perl-suid
perl-tk
perlmagick
perlmenu
perlsgml
pftp
pgapack
phalanx
php3
php3-dev
php3-doc
pixmap
pkg-order
plan
playmidi
plotutils
pmac-fdisk-cross
postgresql
postgresql-dev
postgresql-doc
ppp
ppp-pam
printop
procmail
procmail-lib
procmeter
proftpd
psgml
psmisc
pstoedit
pstotext
psutils
publib-dev
purity
pwgen
python-base
python-bsddb
python-curses
python-dev
python-doc
python-elisp
python-examples
python-misc
python-mpz
python-net
python-numeric
python-pmw
python-tk
python-wpy
python-zlib
qpopper
queso
quota
r-base
r-cran
raidtools
razzle
rcs
recode
regina0
rgrep
rpm
rpncalc
rscheme
rsync
ruari-diff
rxvt
s3mod
sac
samba
sane
sash
sc
sced
scm
scotty
scwm
seesat5
sendfile
sgb
sgml-base
sgml-data
sgml-tools
sgmlspm
sharutils
shhmsg
shhopt
signify
sigrot
sirc
slang1-dev
slay
slib
slrn
slsc
smartlist
snake4
sortmail
sox
sp
spider
spline
squid
squidclient
stat
stow
strace
sudo
super
svgalibg1
swish++
swisswatch
symlinks
synaesthesia
sysnews
sysutils
talk
talkd
tama
taper
tcl7.6
tcl8.0
tcl8.0-dev
tcpdump
tcsh
tcsh-i18n
telnet
telnetd
tetex-base
tetex-bin
tetex-doc
tetex-extra
tf
the
the-doc
thrust
time
timidity
timidity-patches
tinyirc
tix41
tk4.2
tk8.0
tk8.0-dev
tkcvs
tkdesk
tkdiff
tkfont
tkinfo
tkirc
tkmail
tkmixer
tkps
tkrat
tkstep8.0
tm
tmpreaper
tob
transfig
tree
trn
ttysnoop
typist
untex
urlview
uudeview
v-dev
v1g
vgacardgames
vgagamespack
vim
vim-rt
visual-tcl
vm-dev
vm1
vmelilo
vrweb
vtwm
w3-el-e20
w3mir
wdiff
wenglish
wget
wm2
wmaker
wmaker-data
wmload
wmmail
word2x
wordplay
workbone
worklog
workman
wvdial
www-pgsql
www-search
wxhelp
wxxt1
wzip
xabacus
xacc
xarclock
xasteroids
xaw-wrappers
xaw3dg
xbanner
xbase-clients
xbattle
xbill
xbl
xblast
xblast-sound
xbmbrowser
xboard
xboing
xbuffy
xcal
xcdroast
xcolors
xcolorsel
xconq
xconq-doc
xcontrib
xcoral
xdaliclock
xdemineur
xdigger
xemacs20-bin
xemacs20-nomule
xemacs20-support
xemeraldia
xevil
xfig
xfig-doc
xfishtank
xflip
xfonts-100dpi
xfonts-75dpi
xfonts-base
xfonts-pex
xfonts-scalable
xftp
xgammon
xjewel
xjig
xkobo
xlaby
xlbiff
xless
xlib6
xlib6g
xlib6g-dev
xlife
xlispstat
xloadimage
xlockmore
xmaddressbook
xmailbox
xmailtool
xmanpages
xmcd
xmcpustate
xmgr
xmille
xmix
xmorph
xmotd
xmountains
xnetload
xntp3
xntp3-doc
xodo
xoids
xoj
xonix
xonix-jahu
xosview
xpaint
xpat2
xphoon
xpilot
xpm4g
xpm4g-dev
xproc
xpuzzles
xroach
xscavenger
xscreensaver
xscreensaver-gl
xserver-common
xserver-fbdev
xserver-mach64
xserver-s3
xserver-svga
xserver-vga16
xshogi
xskat
xsok
xsoldier
xspread
xsysinfo
xtoolwait
xtris
xtrlock
xtron
xtv
xvier
xview-clients
xviewg
xvt
xwave
xzip
xzoom
yorick
ytalk
zed
zgv
zile
zircon
zlib1g
# End of packages for boot-floppies.

1
slink1.volid Normal file
View File

@ -0,0 +1 @@
Debian-ARCH 2.1 Disc 1

3
slink2.extras Normal file
View File

@ -0,0 +1,3 @@
/debian/local/slink2-ARCH.extras/*
/debian/local/slink2-all.extras/*
/debian/local/kernel/

1
slink2.info Normal file
View File

@ -0,0 +1 @@
Debian GNU/Linux slink (2.1) 2/4 main binary-ARCH section 2, contrib SAM

8
slink2.list Normal file
View File

@ -0,0 +1,8 @@
dists/slink/contrib/binary-ARCH
dists/slink/contrib/binary-all
dists/slink/contrib/source
dists/slink/non-US/binary-ARCH
dists/slink/non-US/binary-all
dists/slink/non-US/source
doc
README.*

416
slink2.optional Normal file
View File

@ -0,0 +1,416 @@
boot-floppies
cfengine_1
cruft
dotfile-bash
dotfile-doc
dotfile-elm
dotfile-emacs
dotfile-fvwm1
dotfile-fvwm2
dotfile-ipfwadm
dotfile-procmail
dotfile-rtin
dotfile-tcsh
dotfile
eql
gtop
karpski
makepasswd
mingetty
moodss
open
slay
stow
sysnews
tmpreaper
ttysnoop
xezmlm
xlogmaster
adbbs
uqwk
atfs-dev
bcc
c-client-dev
c2man
ccmaloc
cflow
checker
cmucl-clm
cmucl-clx
cmucl-hemlock
cmucl
blt8.0-dev
blt8.0-unoff-dev
curves
cxref
dejagnu
dh-make
diffstat
dist
elk
elkdoc
elks-libc
eperl
et
expect5.24-dev
f2c_19971204
f77reorder
freetype1-dev
freetype2-dev
ftnchek
fweb
gettext
glade
gltt2
glutg3
gmp1
gnat
gnats-tk
gnats-user
gnats
gperf
gsl-dev
gtkglarea-dev
gtkglareamm-dev
gtkglareamm
hello-debhelper
hello
hp48cc
icmake
icon-doc
icon-ipl
iconc
icont
iconx
indent
itcl3.0-dev
ivtools-dev
kwnn-dev
lam
lapack-dev
lapack-doc
lesstif-bin
lesstifg-dbg
lesstifg-dev
libatalk1-dev
libaudiofile-dev
libawe0.4-dev
libc6-pic
libcanna1g-dev
libcapplet-dev
libch-dev
libdb2++-dbg
libdb2++-dev
libdb2-dbg
libdb2-dev
libdnd1-dev
libelfg0-dev
libesd0-dev
libgg0-dev
libggi1-dev
libgii0-dev
libgimp-dev
libglib-dbg
libglib-dev
libgnome-dev
libgpmg1-dev
libgsm-bin
libgsm1-dev
libgtk-dbg
libgtk-dev
libgtk1.1-dbg
libgtk1.1-dev
libgtkada0-dev
libgtkmm-dev
libgtkxmhtml-dev
libgtkxmhtml0
libgtop-dev
libguile3-dev
libguile4-dev
libguilegtk-dev
libident-dev
libjs0-dev
liblockdev0g
liblockdev0g-dev
liblockfile-dev
liblzo-dev
libmpeg-dev
libncurses4-dbg
libobgnome-dev
libobgtk-dev
liborbit-dev
liborbit0
libpam0g-dbg
libpam0g-dev
libpanel-applet-dev
libpcap-dev
libpcre1-dev
libproc-dev
libproplist0-dev
libpwdb-doc
libpwdb0g-dbg
libpwdb0g-dev
libreadlineg2-dbg
libreadlineg2-dev
librx1g-dbg
librx1g-dev
libsp1-dev
libstringlist-dev
libtclobjc-dev
libtcp4u3-dev
libwings-dev
libwmaker0-dev
libwn-dev
libwraster1-dev
libxmltok1-dev
libzephyr-dev
libzvt-dev
liwc
m2c
mercury
mesag-dev
ncbi-tools6-dev
newt0.25-dev
omniorb
oo2c
openc++
opt
orbit
pccts
plplot-dev
popt
postgresql-dev
publib-dev
ratfor
regina0-dev
rscheme
series
shhmsg
shhopt
sipp-dev
slang1-pic
slib
smalleiffel
sml-nj
tix41-dev
tkstep4.2-dev
tkstep8.0-dev
v-bin
v-dbg
v-dev
visual-tcl
vm-dbg
vm-dev
wnn-dev
wordnet-dev
wxxt1-dev
angband-doc
asr-manpages
bible-kjv-text
bible-kjv
crossfire-doc
doc-rfc
dstool-doc
dstooltk-doc
elisp-manual
emacs-lisp-intro
fte-cfgdocs
funny-manpages
gclinfo-html
gclinfo
guile1.3-doc
eise-register
jargon
lg-base
lg-issue09
lg-issue10
lg-issue11
lg-issue12
lg-issue13
lg-issue14
lg-issue15
lg-issue16
lg-issue17
lg-issue18
lg-issue19
lg-issue20
lg-issue21
lg-issue22
lg-issue23
lg-issue25
lg-issue26
lg-issue27
lg-issue28
lg-issue29
lg-issue30
lg-issue31
lg-issue32
lg-issue33
libc6-doc21
libggi-doc
libhdf4g-doc
postgresql-doc
selfhtml
tochnog-doc
verse_0.20
vnc-doc
addressbook
acs
geda
gwave
heyu
pcb
x10-automate
x10
xtend
crossfire-maps
crossfire-client
crossfire-server
gnuchess-book
koules
sabre
xblast-sound
xblast
xconq-doc
xconq
imlib-dev
mesa-doc
netpbm-dev
xfig-doc
colrconv
morse
pileup
sccw
twclock
twlog
unixcw
xconvers
z8530-utils
clisp
gcl
gforth
intercal
perl-tk
swi-prolog
swig-doc
swig-examples
swig
yabasic
yforth
bbdb
abacus
admesh
apcalc-dev
apcalc
aribas
bugsx
calc
circlepack
cln
dome
drawmap
dstool
dstooltk
felt-doc
felt
fftw-dev
fftw2
g2
geg
geomview
gnumeric
gnuplot
grace
grafix
gsl
jgraph
meschach-dev
meschach
netcdf-bin
netcdf-doc
netcdf-perl
netcdfg-dev
netcdfg3
octave-ci
octave-doc
octave-htmldoc
octave-plplot
octave-sp
octave-staticlibs
octave
oleo
pdl
pgapack
plotmtv
plotutils
plplot-doc
plplot-tcl
plplot
pspp
python-netcdf
python-numeric
python-plplot
quickplot
r-base
r-cran
r-pdl
rasmol
rpncalc
saml
sciplot
seesat5
sgb
siag-common
slsc
spline
ssystem
tela
tochnog
tsiag
vis5d-doc
vis5d
wzip
x48
xbs
xlispstat
xmgr
xsiag
xtide
yorick-dev
yorick-gist
yorick
bl
display-dhammapada
gstalker
megahal
cfingerd
inn-dev
lesstif-altdev
lesstif-altdbg
libc5-altdbg
libc5-altdev
libcgic1-altdev
libcompface1-altdev
libdl1-altdev
libg++27-altdev
libgd1-altdev
libgdbm1-altdev
libgpm1-altdev
libjpeg-altdev
libpng0-altdev
libpwdb0-altdev
libreadline2-altdev
libregex0-altdev
librx1-altdev
libtiff3-altdev
ncurses3.0-altdev
netcdf-altdev
svgalib1-altdev
tcl76-altdev
tk42-altdev
xlib6-altdev
xpm4-altdev
xview-altdev
zlib1-altdev
END_OF_PROCESSING

1
slink2.volid Normal file
View File

@ -0,0 +1 @@
Debian-ARCH 2.1 Disc 2

2
slink3.extras Normal file
View File

@ -0,0 +1,2 @@
/debian/local/slink3-ARCH.extras/*
/debian/local/slink3-all.extras/*

1
slink3.info Normal file
View File

@ -0,0 +1 @@
Debian GNU/Linux slink (2.1) 3/4 main source section 1, project SAM

12
slink3.list Normal file
View File

@ -0,0 +1,12 @@
project
doc
README.*
dists/slink/main/source/admin
dists/slink/main/source/base
dists/slink/main/source/comm
dists/slink/main/source/devel
dists/slink/main/source/doc
dists/slink/main/source/editors
dists/slink/main/source/electronics
dists/slink/main/source/games
dists/slink/main/source/graphics

1
slink3.volid Normal file
View File

@ -0,0 +1 @@
Debian 2.1 Disc 3

2
slink4.extras Normal file
View File

@ -0,0 +1,2 @@
/debian/local/slink4-ARCH.extras/*
/debian/local/slink4-all.extras/*

1
slink4.info Normal file
View File

@ -0,0 +1 @@
Debian GNU/Linux slink (2.1) 4/4 main source section 2 SAM

19
slink4.list Normal file
View File

@ -0,0 +1,19 @@
doc
README.*
dists/slink/main/source/hamradio
dists/slink/main/source/interpreters
dists/slink/main/source/libs
dists/slink/main/source/mail
dists/slink/main/source/math
dists/slink/main/source/misc
dists/slink/main/source/net
dists/slink/main/source/news
dists/slink/main/source/oldlibs
dists/slink/main/source/otherosfs
dists/slink/main/source/shells
dists/slink/main/source/sound
dists/slink/main/source/tex
dists/slink/main/source/text
dists/slink/main/source/utils
dists/slink/main/source/web
dists/slink/main/source/x11

1
slink4.volid Normal file
View File

@ -0,0 +1 @@
Debian 2.1 Disc 4

2
slink5.extras Normal file
View File

@ -0,0 +1,2 @@
/debian/local/slink5-ARCH.extras/*
/debian/local/slink5-all.extras/*

1
slink5.info Normal file
View File

@ -0,0 +1 @@
Debian GNU/Linux slink (2.1) 5/5 binary-ARCH/source non-free SAM

5
slink5.list Normal file
View File

@ -0,0 +1,5 @@
doc
README.*
dists/slink/non-free/binary-ARCH
dists/slink/non-free/binary-all
dists/slink/non-free/source

1
slink5.volid Normal file
View File

@ -0,0 +1 @@
Debian-ARCH 2.1 Disc 5

1280
slink_cd Executable file

File diff suppressed because it is too large Load Diff

396
useful Normal file
View File

@ -0,0 +1,396 @@
%!slice -o (I386uUNDEFuNOT_*)\NOT_I386:useful.i386 -o (SPARCuUNDEFuNOT_*)\NOT_SPARC:useful.sparc -o (ALPHAuUNDEFuNOT_*)\NOT_ALPHA:useful.alpha -o (M68KuUNDEFuNOT_*)\NOT_M68K:useful.m68k -o (ARMuUNDEFuNOT_*)\NOT_ARM:useful.arm
[DONOTKEEP:
# Do not touch the above line, except to add a new architecture.
:DONOTKEEP]
# "useful" file.
# Maintained by Steve McIntyre <stevem@chiark.greenend.org.uk> in the
# slink_cd package.
[DONOTKEEP:
# You can have system-dependent parts with the slices of slice(1) (Debian
# package "slice". See examples hereunder, starting with [. Or see slice
# documentation, "man slice" or http://www.engelschall.com/sw/slice/.
:DONOTKEEP]
# The packages here are taken to fill space, trying to find useful ones
adjtimex
alsa-modules
alsalib
alsautils
amd
apcd
[I386:
[ALPHA:
apmd
:ALPHA]
:I386]
apsfilter
apt
arpd
ash
[I386:
[ALPHA:
awe-drv
awe-midi
awe-netscape
:ALPHA]
:I386]
ax25-utils
bash-builtins
bl
cdparanoia
cdrdao
console-tools
console-tools-data
console-tools-dev
console-tools-libs
dds2tar
debview
defrag
deliver
dhcp
dhcp-beta
dhcp-client-beta
dhcp-relay-beta
dhcpd
dict
dict-easton
dict-elements
dict-foldoc
dict-gazetteer
dict-hitchcock
dict-jargon
dict-wn
dictd
dns-browse
doc-base
doc-debian-es
doc-debian-fr
doc-linux-de
doc-linux-es
doc-linux-fr
doc-linux-it
doc-linux-ja
doc-linux-ko
doc-linux-pl
doc-linux-pl-html
doc-linux-sv
doc-linux-zh
doc-rfc
[I386:
dosemu
:I386]
dosfstools
dpkg-awk
dpkg-multicd
dwww
eject
elvis
emacspeak
emacspeak-bs-tcl
emacspeak-dt
emacspeak-dt-tcl
emacspeak-ss
enlightenment
enlightenment-docs
enlightenment-theme
enscript
emusic
emusic-data
emusic-docs
es
esound
exim-doc
eximon
faqomatic
fbset
floppybackup
fnlib-data
fortunes-cs
fortunes-it
fortunes-min
fortunes-off
freeamp
fvwm95-icons
gcc-docs
gdk-imlib1
geomview
gettext
giftrans
gimp-manual
gnome-admin
gnome-card-games
gnome-control-center
gnome-core
gnome-games
gnome-gnobots
gnome-gnomine
gnome-gnothello
gnome-gturing
gnome-guile
gnome-gxsnmp
gnome-gyahtzee
gnome-hello
gnome-mahjongg
gnome-media
gnome-panel
gnome-same-gnome
gnome-session
gnome-stones
gnome-terminal
gnome-utils
gnotepad+
gnotes
gnumeric
gnurobots
gnus
hdparm
[I386:
hwtools
:I386]
ibrazilian
idanish
idutch
ifrench
ifrench-gut
igerman
iitalian
inorwegian
installmanual-de
ipac
ipmasq
iportuguese
ipx
[I386:
[ALPHA:
isapnptools
isdnutils
:ALPHA]
:I386]
ispanish
iswedish
jaztool
joe
kernel-doc-2.0.33
kernel-doc-2.0.34
kernel-doc-2.0.35
kernel-doc-2.0.36
kernel-doc-2.1.125
kernel-headers-2.0.33
kernel-headers-2.0.34
kernel-headers-2.0.35
kernel-headers-2.0.36
kernel-image-2.0.33
kernel-image-2.0.34
kernel-image-2.0.35
kernel-image-2.0.36
kernel-source-2.0.33
kernel-source-2.0.34
kernel-source-2.0.35
kernel-source-2.0.36
kernel-source-2.1.125
lesstif
libatalk1
libaudiofile0
[I386:
[ALPHA:
libawe0.4
:ALPHA]
:I386]
libc6-dbg
libc6.1-dbg
libcapplet0
libcgic1
libcomerr2
libdb1
libdb2++
libemusic0
libesd0
libfnlib0
libg++2.8
libg++27
libgd1
libgd1g
libglib-dev
libgnome-perl
libgnome0
libgpm1
libgtk1.1-dbg
libgtk1.1-dev
libgtk1.1-doc
libgtkxmhtml0
libgtop1
libguilegtk0
libnet-dns-perl
liborbit0
libpam-doc
libpanel-applet0
libpng0
libreadline2
libstringlist0
libwine0.0.971116
libxml0
libzvt0
lout
m4-doc
mailagent
mailcheck
maildrop
mailleds
mailman
mailto
man2html
manpages-de
manpages-de-dev
manpages-es
manpages-fr
manpages-it
manpages-ja
manpages-ko
mc
mdutils
mgetty
mgetty-docs
mgetty-fax
mgetty-viewfax
mgetty-voice
mikmod
minicom
mirror
miscfiles
miscutils
modconf
[I386:
mozilla
:I386]
mswordview
nas
nas-bin
nas-doc
nasm
ncftp2
ncpfs
ncurses3.0
netatalk
newsx
newt0.25
nextawg
pmake
popularity-contest
pppconfig
samba-doc
screen
sendmail
[I386:
set6x86
:I386]
smail
smbfs
smbfsx
spell
spellprogs
suck
suidmanager
svgalib-dummyg1
[I386:
svgalibg1
svgalibg1-dev
:I386]
svgatextmode
svncviewer
syslinux
[I386:
toshiba-fan
toshiba-hotkey
:I386]
twm
[I386:
ultra
ultra-mod2.0.35
ultra-utils
:I386]
umsdos
upsd
userv
user-de
uucp
uucpsend
uutraf
vnc-doc
vncserver
wav2cdr
wavtools
watchdog
wdutch
wfrench
wgerman
whiptail
[I386:
wine
wine-doc
:I386]
witalian
wnorwegian
wordnet
wordnet-base
wordnet-dev
wordnet-doc
wspanish
wswedish
xaw95g
xbooks
xdm
xemacs20-mule
xemacs20-supportel
xf86setup
xfreecd
xfs
xfstt
xkeycaps
xmh
xmodmap
xpaste
xpdf
xpm4.7
xserver-8514
xserver-agx
xserver-i128
xserver-mach32
xserver-mach8
xserver-mono
xserver-p9000
xserver-s3v
xserver-w32
xterm
xvfb
xvncviewer
xxgdb
zlib1
zlib1g-dev
zsh
# End of useful packages list
[DONOTKEEP:
# Empty slices to keep slice happy
:DONOTKEEP]
[SPARC:
:SPARC]
[ALPHA:
:ALPHA]
[M68K:
:M68K]
[ARM:
:ARM]
[NOT_SPARC:
:NOT_SPARC]
[NOT_ALPHA:
:NOT_ALPHA]
[NOT_M68K:
:NOT_M68K]
[NOT_I386:
:NOT_I386]
[NOT_ARM:
:NOT_ARM]

22
vecho Normal file
View File

@ -0,0 +1,22 @@
# Local definitions for vecho and friends, source when necessary.
function vecho ()
{
if [ $VERBOSE -gt 0 ] ; then
echo "$@"
fi
}
function vvecho ()
{
if [ $VERBOSE -gt 1 ] ; then
echo "$@"
fi
}
function vvvecho ()
{
if [ $VERBOSE -gt 2 ] ; then
echo "$@"
fi
}