initial import from debian-cd-2.1.90

This commit is contained in:
Adam Di Carlo 1999-11-11 17:10:42 +00:00
parent b248578f68
commit 9391c2663a
6 changed files with 431 additions and 650 deletions

432
README
View File

@ -1,317 +1,181 @@
README for slink_cd v 1.13, released Mar 31 1999
(c) Steve McIntyre <stevem@chiark.greenend.org.uk>
YACS - Yet Another CD Script :-)
================================
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.
Copyright 1999 Raphaël Hertzog <hertzog@debian.org>
This set of tools is licensed under the General Public License
version 2 or any later version. You can find it in
/usr/share/common-licenses/GPL on a Debian GNU system.
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.
Thanks to Steve McIntyre <stevem@chiark.greenend.org.uk> for his
work on slink_cd/debian_cd. Some ideas come from his script.
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?
What is needed ?
================
To be reading this, you must have extracted the tar file. Good
start. Next what you need to do is:
Software :
- the apt-get (>= 0.3.11.1) tool
- perl (>= 5.004)
- bash (or another POSIX shell)
- make
- mkisofs/mkhybrid
- dpkg-multicd package (for dpkg-scanpackages with -m option)
- the perl MD5 module
- dpkg-dev (>= 1.4.1.6) (for dpkg-scansources)
Other :
- lots of free space on your disks
- a Debian mirror (on a partition where you can write, if you can't write
on it then you may try to use a symlink farm but it's not the
recommended way to build Debian CDs)
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
-------------------------------
- GENERATING DEBIAN CD IMAGES -
-------------------------------
For people that do not have time, here's the quick explanation :
================================================================
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.
Edit the CONF.sh and change the PATHs for the mirror and so on.
$ vim CONF.sh
$ . CONF.sh
$ make potato_status
$ make list COMPLETE=1 SIZELIMIT1=576716800
$ make official_images
[ or if you want only binary images :
$ make bin-official_images ]
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.
But you really should consider reading further for more information.
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.
How to build a CD set - step by step
====================================
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.
If not yet done, first decompact the archive and cd to the "yacs" directory.
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:
The process of building a CD is decomposed as follow :
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)
- first configure what is needed in CONF.sh and source it
in your shell
$ . CONF.sh
The exported environment variables will be used by all the
tools involved here (Makefiles, perl scripts, shell scripts).
* ARCH is a special keyword - see below for more info.
If you want to build CD images for more than one arch, you will
have to build them one after the other (you may use a shell
script for this).
=============================================================================
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.
=============================================================================
- now we'll check if your mirror is ok (with good Packages files) :
$ make mirrorcheck
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.
- then you will have to launch this for initializing the
temporary directory used for the build :
$ make status
If this has failed then you'll have to launch :
$ make correctstatus
However note that make status should never fail if it is
used for building a CD set for the stable release ...
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.
NOTE: Actually (11/7/99) potato is in a bad state, I advise you
to use the potato.status file in the data dir as your status file,
to do so you can launch :
$ make potato_status
Other things to be configured:
- now you can decide what you want on your CDs
$ make list TASK=tasks/debian-2.2 COMPLETE=1
or
$ make list TASK=tasks/gnome COMPLETE=0 SIZELIMIT=576716800
or
$ export NONFREE=1; make list TASK=tasks/kde COMPLETE=1
or for something like an official image for the USA :
$ make COMPLETE=1 NONUS=0 NONFREE=0 SIZELIMIT1=576716800
.... take a look at the file tasks/* to see the options you can have :)
You can change the behaviour of this command with the following
variables :
- if NONUS is set, then packages from non-US will be allowed (remember
that the value of NONUS must be the path to the non-US mirror
if you have one)
- if NONFREE is set, then packages from non-free will be allowed
(NONFREE must be exported to all sub-shells)
- if COMPLETE is set, all packages that are not listed in the
selected task file will be included at the end
- if SIZELIMIT is set, it will be used as the maximum size that
we can put into each CD
- if SIZELIMIT<X> (with <X> beeing a integer) is set, it will be used
as the maximum size of the X'th binary CD. SIZELIMIT<X> overrides
SIZELIMIT ...
- if SRCSIZELIMIT is set, it's used as the maximum size for source CD
- if SRCSIZELIMIT<X> (with <X> beeing an integer) is set, it will be
used as the maximum size of the X'th source CD
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.
This target calls the targets "bin-list" and "src-list" that can be used to
build only binary CDs or only source CDs.
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.
- it may be time to add the disks-arch stuff and to make the CDs bootable
$ make bootable
This does affect only the binary CDs.
The CD Volume ID for each disk will be created from the contents of
slink<n>.volid.
- now, we'll add the binary packages to the temporary tree :
$ make packages
If you wish to configure other options in the CD ISO headers, edit
mkisofsrc. See the mkhybrid/mkisofs documentation for more details.
- and we'll add the sources to the temporary tree :
$ make sources
=============================================================================
Working examples for all of these files are given.
=============================================================================
- if you want to install additional files :
make bin-extras CD=1 ROOTSRC=/home/ftp/ DIR=goodies/wordperfect
make src-extras CD=3 ROOTSRC=/home/ftp/ DIR=goodies/kernel-2.3
* 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.
The first will copy /home/ftp/goodies/wordperfect/ on the first binary
CD. It will be in <root of the cd>/goodies/wordperfect ... you can call
make extras multiple times if you need more. Please note that
the files to be copied should be on the same partition than
your mirror (unless you use a symlink farm).
e.g. in slink1.list:
If you want to do customize your CD even more, you can use the hook
system. Read below about them.
dists/slink/main/binary-ARCH/Release
- We can add an md5sum.txt file on each CD to enable users to check their
files :
$ make md5list
This does call the targets 'bin-md5list' and 'src-md5list'. You can
choose to call only bin-md5list if you're building only binary images.
will become
- now we can create the images
$ make images
If you don't have enough space for all images, you can generate
only one image (of the second binary CD for example) with :
$ make bin-image CD=2
Of course if you want to build all binary images you'll use :
$ make bin-images
And "make src-images" will generate the sources images.
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
About the hook system
=====================
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!
A hook script can be executed at different times. You can specify the
script by setting the HOOK variable to the script filename. It will
get 2 arguments, the first is the CD number. The second depends on
where/when the hook script is called. It can be 'before-scanpackages'
or 'before-mkisofs' (their values are explicit ...). When the script
is called, the current directory will be the temporary directory used for
the build (aka $TDIR/$CODENAME-$ARCH).
N.B. "single_disk" should now be obsoleted due to changes in the
layouts, but should still work.
There are hooks only for binary CDs at the present time. If HOOK is not
set, it will look for a script $BASEDIR/tools/$CODENAME.hook.
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:
About the symlink farm
======================
"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]"
If you don't have write access on the disk where you have the mirror
or if for another reason hardlink cannot be used, you can try to
use a symlink farm. Instead of having real files, your temporary tree
will be filled with symlinks that mkhybrid will change into files when
it will build the image. You'll need to use a special options. You
have 2 lines of options in CONF.sh as examples.
I've never tested the symlink farm ... it may well generate unusable
images. Don't use it for ISO images that will used by many users.
Note that you will also need a patched mkhybrid that does support the
-F option. Have a look here about it :
http://www.chiark.greenend.org.uk/~stevem/DebianCD/
END.

399
debian/changelog vendored
View File

@ -1,248 +1,221 @@
slink-cd (1.13) unstable; urgency=low
debian-cd (2.1.90-1) 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...
* Moved to contrib because of the unzip and lha dependencies.
* Corrected the boot-m68k script (bvme600 -> bvme6000).
* YACS 0.5 :
* ----------
* tools/add_dirs: don't create section subdirectories for non-US.
* tools/*: full slink compliance. Should build slink disk even with
non-US. Thanks to the help of Filip Van Raemdonck <mechanix@dma.be>.
* Makefile: added an upgrade target called when building
official_images. It will call tools/$CODENAME/upgrade.sh if possible.
Created this upgrade.sh file for slink.
* YACS can/should generate complete slink images with this release.
Please test. In particular for non-i386 CD images. I want to check
if the scripts to make CD bootables are (still) working.
* tools/apt-selection: removed some bashisms.
* Many data has been splitted by codename. This is to allow
us to build slink and potato CD without much troubles.
* Updated the master file for potato. Added the old one for slink.
* Status file is now automatically generated when a provided one
is not available (data/$CODENAME/status.$ARCH).
* build.sh build_all.sh: convenience scripts to build CD images.
* YACS 0.4 :
* ----------
* New status file for potato i386.
* When including packages listed in the status file check that they
exist before.
* Call dpkg-scansources for generating Sources.gz file on the source
CD. And depends on dpkg-dev (>= 1.4.1.6) to be sure that we have it.
* Add dependency to libdigest-md5-perl.
* list2cds: try to select all suggested/recommended packages not only from
packages explicitely selectionned but also from packages listed
in dependencies.
* list2cds: many little checks added, now generates a log.list2cds
file (in the temp dir).
* YACS 0.3 :
* ----------
* This version has herited nothing from the previous debian-cd
package only the changelog has been added.
* It can now build sources CD.
* This package does now replace slink_cd and the old debian-cd.
I'll close the bugs (after checking that the new debian-cd behaves
correctly with the bug report situation) affected to those packages.
* The Packages.cd files are generated correctly (the same way than
slink_cd did).
* Added the good dependencies. Closes: #25710, #36109, #27758
* Some bugs are no more applicable. Closes: #24708, #25195, #31044, #24418
Closes: #36115, #36228
* No source URL in copyright file since this is a Debian native
package. Closes: #36111
* Full GPL isn't included. Closes: #36113
* Missing newlines added. Closes: #36114
* The README is a good documentation for building CD. Closes: #17540
* Added the support for hooks. Closes: #36112
* Added a link index.html -> install.html. Closes: #38402
* Files are better placed. Closes: #36110
* Rebuilding the Contents file is of no use. And if you really need
it, you can do it yourself with the hook system. Closes: #36116
* Internationalization is a boot-floppies problem. Closes: #25210
* Tried miniunz but it lacks important feature like -L ... still
uses unzip. And recommends it.
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Wed, 31 Mar 1999 17:43:22 +0100
-- Raphael Hertzog <hertzog@debian.org> Thu, 29 Jul 1999 18:26:09 +0200
slink-cd (1.12) unstable; urgency=low
debian-cd (2.0.2) 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
* get rid of .html from the errata URL
* add contents to README.official
-- Philip Hands <phil@hands.com> Fri, 24 Jul 1998 00:09:22 +0100
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Fri, 12 Mar 1999 15:07:22 -0000
debian-cd (2.0.1) unstable; urgency=low
slink-cd (1.11) unstable; urgency=low
* add the copyright/licence intro from the install docs to the main readme
* add a reference to http://www.debian.org/2.0/errata.html to the main README
* generally tidy up README's
* 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.
*
-- Philip Hands <phil@hands.com> Thu, 23 Jul 1998 18:41:23 +0100
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Sun, 07 Mar 1999 00:40:33 -0000
debian-cd (2.0.0) unstable; urgency=low
slink-cd (1.10) unstable; urgency=low
* Suggest cdrecord (rather than Depend) since it's not needed to create
images, only to write them.
* get rid of purge_duff_disks hack
* fix timestamp to use 24 hour clock and GMT
* add README.contrib to all CD images
* 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.
-- Philip Hands <phil@hands.com> Wed, 22 Jul 1998 12:16:16 +0100
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Wed, 03 Mar 1999 19:04:33 -0000
debian-cd (1.99.18) unstable; urgency=low
slink-cd (1.09) unstable; urgency=low
* add dependencies (closes: #9072, #19116)
* add $(init-dists) for contrib (closes: #24465)
* make check_mirror.pl able to deal with md5sums.gz (closes: 24418)
* 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.
-- Philip Hands <phil@hands.com> Fri, 17 Jul 1998 22:06:16 +0100
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Sun, 28 Feb 1999 15:26:58 -0000
debian-cd (1.99.17) unstable; urgency=low
slink-cd (1.08) unstable; urgency=low
* add -p option to tecra boot mkdir
* add missing define for ``install-source-x11''
* fix making of .mkisofsrc
* 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
-- Philip Hands <phil@hands.com> Wed, 15 Jul 1998 15:16:48 +0100
slink-cd (1.07) unstable; urgency=low
debian-cd (1.99.16) 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.
* add hack to get rid of old 2.0.6 disks
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Mon, 22 Feb 1999 18:38:50 -0000
-- Philip Hands <phil@hands.com> Wed, 8 Jul 1998 17:46:18 +0100
slink-cd (1.06) unstable; urgency=low
debian-cd (1.99.15) frozen 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.
* separate boot/ dir to get boot image near the start of the ISO image
resulting in bootable CD's for all (or so I hope)
* rework makefiles using defines instead of targets, and generally tidy up
* fix image-md5sum and image-date targets
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Thu, 11 Feb 1999 16:35:01 -0000
-- Philip Hands <phil@hands.com> Wed, 8 Jul 1998 13:29:52 +0100
slink-cd (1.05) unstable; urgency=low
debian-cd (1.99.14-4) frozen 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
* make mkisofs-source use resc1440tecra.bin as boot image (rather than the
cdboot.bin hack)
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Wed, 03 Feb 1999 17:38:53 -0000
-- Philip Hands <phil@hands.com> Tue, 7 Jul 1998 14:13:54 +0100
slink-cd (1.04) unstable; urgency=low
debian-cd (1.99.14-3) frozen 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
* fix typo in mkisofs-source target
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Sat, 23 Jan 1999 00:21:38 -0000
-- Philip Hands <phil@hands.com> Tue, 7 Jul 1998 14:03:34 +0100
slink-cd (1.03) unstable; urgency=low
debian-cd (1.99.14-2) frozen unstable; urgency=low
* use the normal resc1440 images for CD booting, since they are now built
with syslinux -s
* get rid of binary-all from the source image
-- Philip Hands <phil@hands.com> Tue, 7 Jul 1998 13:51:23 +0100
debian-cd (1.99.14-1) frozen unstable; urgency=low
* This should really go in hamm, so that the scripts to build the CD's
end up on the CD's. Of course this will probably require a few attempts
before the scripts here settle down, because other changes are still being
made to hamm that affect these.
* edit some README's and Configuration defaults. Done with a -1 version
so my diff's come out in the diff file
* put the hamm --> ../hamm link back into dists
-- Philip Hands <phil@hands.com> Fri, 3 Jul 1998 11:31:26 +0100
debian-cd (1.99.14) stable unstable; urgency=low
* use Andreas Jellinghaus's makefile system for building CD's (starting with
* 0.14)
-- Philip Hands <phil@hands.com> Tue, 30 Jun 1998 22:15:59 +0100
debian-cd (1.0.0) stable unstable; urgency=low
* What was in vars.sh is now individual files per variable in the
vars/ directory.
* Various edits from the experience of making the Official CDs.
-- Bruce Perens <bruce@debian.org> Sun, 10 Aug 1997 21:02:17 -0700
debian-cd (0.1.6) frozen unstable; urgency=low
* Remove quotes from strings in .mkisofsrc, they were being
put on the disc. Pad filesystems for Linux read-ahead bug.
-- Bruce Perens <bruce@debian.org> Fri, 13 Jun 1997 10:08:42 -0700
debian-cd (0.1.5) frozen unstable; urgency=low
* Put vars.sh in debian/conffiles, so that a user's altered one
will not be over-written.
* boot.bat was broken.
-- Bruce Perens <bruce@debian.org> Fri, 30 May 1997 10:46:33 -0700
debian-cd (0.1.4) frozen unstable; urgency=low
* Add COLOPHON.txt, a readme about how the CD was produced.
This is my last release before going on vacation, if anything
needs to be fixed in this package for 1.3, someone else must
fix it.
-- Bruce Perens <bruce@debian.org> Wed, 30 Apr 1997 12:35:02 -0700
debian-cd (0.1.3) frozen unstable; urgency=low
* Add SOURCE.txt, a readme about source-code availability, to the
binary CD. Make distribution both frozen and unstable.
-- Bruce Perens <bruce@debian.org> Wed, 23 Apr 1997 23:22:37 -0700
debian-cd (0.1.2) unstable; urgency=low
* Add El Torito bootable-CD patches from Helmut Geyer.
-- Bruce Perens <bruce@debian.org> Sun, 23 Apr 2000 10:31:08 -0700
debian-cd (0.1.1) unstable; urgency=low
* Change architecture to "all".
-- Bruce Perens <bruce@debian.org> Fri, 18 Apr 1997 22:51:36 -0700
debian-cd (0.1.0) unstable; urgency=low
* Initial Release.
-- Steve McIntyre <stevem@chiark.greenend.org.uk> Thu, 21 Jan 1999 00:01:58 -0000
-- Bruce Perens <bruce@debian.org> Fri, 18 Apr 1997 22:20:51 -0700
Local variables:
mode: debian-changelog

30
debian/control vendored
View File

@ -1,15 +1,21 @@
Source: slink-cd
Section: contrib/utils
Source: debian-cd
Section: contrib/admin
Priority: extra
Maintainer: Steve McIntyre <stevem@chiark.greenend.org.uk>
Standards-Version: 2.4.1.1
Maintainer: Raphael Hertzog <hertzog@debian.org>
Standards-Version: 3.0.1
Package: slink-cd
Package: debian-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.
Depends: perl5 | perl, libdigest-md5-perl | libmd5-perl, sysutils, apt (>= 0.3.11.1), dpkg-dev (>= 1.4.1.6), dpkg-multicd, make
Recommends: lha, unzip
Description: Tools for building (Official) Debian CD set
This package was formerly called YACS (for Yet Another CD
Script).
.
It's the official way of building CD for the potato release.
.
Its goal is to facilitate the creation of customized Debian
CD set.
.
You will need unzip for building i386 images and lha for m68k
images.

12
debian/copyright vendored
View File

@ -1,8 +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
debian-cd (formerly known as YACS)
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright 1999 Raphaël Hertzog <hertzog@debian.org>
This set of tools is licensed under the General Public License
version 2 or any later version. You can find it in
/usr/share/common-licenses/GPL on a Debian GNU system.
You may apply this or any later version, at your option.

5
debian/dirs vendored
View File

@ -1,3 +1,2 @@
usr/bin
usr/man/man1
usr/share/debian-cd
etc/debian-cd

203
debian/rules vendored
View File

@ -1,145 +1,84 @@
#!/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.
#
##############################################################################
#-*- makefile -*-
# Made with the aid of dh_make, by Craig Small
# Sample debian/rules that uses debhelper. GNU copyright 1997 by Joey Hess.
# Some lines taken from debmake, by Christoph Lameter.
# Include config file.
include debian/config
# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1
export DH_COMPAT=2
# Generate a makefile (via configure scriopt or xmkmf).
makefile-stamp:
ifeq ($(strip $(use_imakefile)),y)
xmkmf -a
endif
$(use_configure)
touch makefile-stamp
build: build-stamp
build-stamp:
dh_testdir
# 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
#CONFIGURE#
# Add here commands to compile the package.
#$(MAKE)
build: preserve-stamp makefile-stamp
$(checkdir)
$(build_command)
touch build
touch build-stamp
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
clean:
dh_testdir
dh_testroot
rm -f build-stamp install-stamp
# Build architecture-independent files here.
# (not yet set up to be used)
binary-indep: build
$(checkdir)
# Add here commands to clean up after the build process.
#-#CLEAN#
dh_clean
install: install-stamp
install-stamp: build-stamp
dh_testdir
dh_testroot
dh_clean -k
dh_installdirs
# Add here commands to install the package into debian/tmp.
cp -r tools tasks data Makefile README README.devel build.sh \
build_all.sh debian/debian-cd/usr/share/debian-cd/
cp debian/CONF.sh debian/debian-cd/etc/debian-cd/conf.sh
ln -sf /etc/debian-cd/conf.sh \
debian/debian-cd/usr/share/debian-cd/CONF.sh
touch install-stamp
# 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 ..
binary-arch: build install
# We have nothing to do by default.
# 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)
# Build architecture-independent files here.
binary-indep: build install
# dh_testversion
dh_testdir
dh_testroot
dh_installdocs README*
dh_installexamples
dh_installmenu
# dh_installemacsen
# dh_installinit
dh_installcron
dh_installmanpages
# dh_undocumented
dh_installchangelogs
dh_link
dh_strip
dh_compress
dh_fixperms
# You may want to make some executables suid here
dh_suidregister
# dh_makeshlibs
dh_installdeb
# dh_perl
dh_shlibdeps
dh_gencontrol
dh_md5sums
dh_builddeb
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
source diff:
@echo >&2 'source and diff are obsolete - use dpkg-source -b'; false
binary: binary-indep binary-arch
.PHONY: clean setperms binary
.PHONY: build clean binary-indep binary-arch binary