From 9391c2663a676a9c8d07a8819d097112a6513753 Mon Sep 17 00:00:00 2001 From: Adam Di Carlo Date: Thu, 11 Nov 1999 17:10:42 +0000 Subject: [PATCH] initial import from debian-cd-2.1.90 --- README | 432 ++++++++++++++++------------------------------- debian/changelog | 399 ++++++++++++++++++++----------------------- debian/control | 30 ++-- debian/copyright | 12 +- debian/dirs | 5 +- debian/rules | 203 ++++++++-------------- 6 files changed, 431 insertions(+), 650 deletions(-) diff --git a/README b/README index e6d6fa02..cdd911eb 100644 --- a/README +++ b/README @@ -1,317 +1,181 @@ -README for slink_cd v 1.13, released Mar 31 1999 -(c) Steve McIntyre +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 +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 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.{needed,useful,list}) if necessary - edit slink.info (dselect multicd disk info) - list any extras in slink.extras - edit slink.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.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. 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 (with beeing a integer) is set, it will be used + as the maximum size of the X'th binary CD. SIZELIMIT overrides + SIZELIMIT ... + - if SRCSIZELIMIT is set, it's used as the maximum size for source CD + - if SRCSIZELIMIT (with 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.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.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.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 /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//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 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. diff --git a/debian/changelog b/debian/changelog index 5a940b66..98a301df 100644 --- a/debian/changelog +++ b/debian/changelog @@ -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 . + * 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 Wed, 31 Mar 1999 17:43:22 +0100 + -- Raphael Hertzog 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 Fri, 24 Jul 1998 00:09:22 +0100 - -- Steve McIntyre 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 Thu, 23 Jul 1998 18:41:23 +0100 - -- Steve McIntyre 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 Wed, 22 Jul 1998 12:16:16 +0100 - -- Steve McIntyre 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 Fri, 17 Jul 1998 22:06:16 +0100 - -- Steve McIntyre 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 Thu, 25 Feb 1999 09:21:56 -0000 + -- Philip Hands 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 - * others: - * Added README.1ST.m68k from Chris Lawrence . - * 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 Mon, 22 Feb 1999 18:38:50 -0000 + -- Philip Hands 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 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 " - * 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 Thu, 11 Feb 1999 16:35:01 -0000 + -- Philip Hands 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 Wed, 03 Feb 1999 17:38:53 -0000 + -- Philip Hands 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 Sat, 23 Jan 1999 00:21:38 -0000 + -- Philip Hands 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 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 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 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 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 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 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 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 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 Sun, 23 Apr 2000 10:31:08 -0700 + +debian-cd (0.1.1) unstable; urgency=low + + * Change architecture to "all". + + -- Bruce Perens Fri, 18 Apr 1997 22:51:36 -0700 + +debian-cd (0.1.0) unstable; urgency=low * Initial Release. - -- Steve McIntyre Thu, 21 Jan 1999 00:01:58 -0000 + -- Bruce Perens Fri, 18 Apr 1997 22:20:51 -0700 Local variables: mode: debian-changelog diff --git a/debian/control b/debian/control index baba2cd4..c2e53e8e 100644 --- a/debian/control +++ b/debian/control @@ -1,15 +1,21 @@ -Source: slink-cd -Section: contrib/utils +Source: debian-cd +Section: contrib/admin Priority: extra -Maintainer: Steve McIntyre -Standards-Version: 2.4.1.1 +Maintainer: Raphael Hertzog +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. diff --git a/debian/copyright b/debian/copyright index 9f00b81a..da1b8853 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,8 +1,8 @@ -slink_cd was originally written and is maintained by Steve McIntyre -. 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 + +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. diff --git a/debian/dirs b/debian/dirs index 5c011386..85e4536b 100644 --- a/debian/dirs +++ b/debian/dirs @@ -1,3 +1,2 @@ -usr/bin -usr/man/man1 - +usr/share/debian-cd +etc/debian-cd diff --git a/debian/rules b/debian/rules index eec951b8..fc2bff6f 100755 --- a/debian/rules +++ b/debian/rules @@ -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 -# -############################################################################## -# -# 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