create debian-edu experimentation branch
|
@ -0,0 +1,448 @@
|
|||
#
|
||||
# This file will have to be sourced where needed
|
||||
|
||||
# To prevent sourcing this file twice when using scripts to build CD images,
|
||||
# use the following code at the top of your script:
|
||||
# CF=CONF.sh
|
||||
# . $CF
|
||||
# export DEBIAN_CD_CONF_SOURCED=true
|
||||
|
||||
# Allow to prevent double sourcing of this file
|
||||
if [ "$DEBIAN_CD_CONF_SOURCED" = true ]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
# Unset all optional variables first to start from a clean state
|
||||
unset NONFREE || true
|
||||
unset CONTRIB || true
|
||||
unset EXTRANONFREE || true
|
||||
unset LOCAL || true
|
||||
unset LOCALDEBS || true
|
||||
unset SECURITY || true
|
||||
unset PROPOSED_UPDATES || true
|
||||
unset BOOTDIR || true
|
||||
unset SYMLINK || true
|
||||
unset COPYLINK || true
|
||||
unset MKISOFS || true
|
||||
unset MKISOFS_OPTS || true
|
||||
unset ISOLINUX || true
|
||||
unset EXCLUDE || true
|
||||
unset NORECOMMENDS || true
|
||||
unset NOSUGGESTS || true
|
||||
unset IMAGESUMS || true
|
||||
unset JIGDOTEMPLATEURL || true
|
||||
unset JIGDOFALLBACKURLS || true
|
||||
unset JIGDOINCLUDEURLS || true
|
||||
unset JIGDOSCRIPT || true
|
||||
unset JIGDO_OPTS || true
|
||||
unset PUBLISH_URL || true
|
||||
unset PUBLISH_PATH || true
|
||||
unset UDEB_INCLUDE || true
|
||||
unset UDEB_EXCLUDE || true
|
||||
unset BASE_INCLUDE || true
|
||||
unset BASE_EXCLUDE || true
|
||||
unset INSTALLER_CD || true
|
||||
unset MAXCDS || true
|
||||
unset MAXISOS || true
|
||||
unset MAXJIGDOS || true
|
||||
unset SPLASHPNG || true
|
||||
unset OMIT_MANUAL || true
|
||||
unset OMIT_RELEASE_NOTES || true
|
||||
unset OMIT_DOC_TOOLS || true
|
||||
unset MAX_PKG_SIZE || true
|
||||
|
||||
# The debian-cd dir
|
||||
# Where I am (hoping I'm in the debian-cd dir)
|
||||
export BASEDIR=`pwd`
|
||||
|
||||
# Name of the distribution for the image filename (Defaults to 'debian')
|
||||
# export CDNAME=debian
|
||||
|
||||
# Building wheezy cd set ...
|
||||
export CODENAME=wheezy
|
||||
|
||||
# By default use Debian installer packages from $CODENAME
|
||||
if [ -z "$DI_CODENAME" ]; then
|
||||
export DI_CODENAME=$CODENAME
|
||||
fi
|
||||
|
||||
# If set, controls where the d-i components are downloaded from.
|
||||
# This may be an url, or "default", which will make it use the default url
|
||||
# for the daily d-i builds. If not set, uses the official d-i images from
|
||||
# the Debian mirror.
|
||||
#export DI_WWW_HOME=default
|
||||
|
||||
# Version number, "2.2 r0", "2.2 r1" etc.
|
||||
export DEBVERSION="7.0"
|
||||
|
||||
# Official or non-official set.
|
||||
# NOTE: THE "OFFICIAL" DESIGNATION IS ONLY ALLOWED FOR IMAGES AVAILABLE
|
||||
# ON THE OFFICIAL DEBIAN CD WEBSITE http://cdimage.debian.org
|
||||
export OFFICIAL="Unofficial"
|
||||
#export OFFICIAL="Official"
|
||||
#export OFFICIAL="Official Beta"
|
||||
|
||||
# ... for arch
|
||||
if [ -z "$ARCHES" ]; then
|
||||
CPU=`dpkg-architecture -qDEB_HOST_DPKG_CPU 2>/dev/null || true`
|
||||
if [ -z "$CPU" ]; then
|
||||
CPU=`dpkg-architecture -qDEB_HOST_ARCH`
|
||||
fi
|
||||
KERNEL=`dpkg-architecture -qDEB_HOST_DPKG_OS 2>/dev/null || true`
|
||||
if [ -z "$KERNEL" ]; then
|
||||
KERNEL=linux
|
||||
fi
|
||||
if [ $KERNEL = linux ] ; then
|
||||
ARCHES=$CPU
|
||||
else
|
||||
ARCHES="$KERNEL-$CPU"
|
||||
fi
|
||||
export ARCHES
|
||||
fi
|
||||
|
||||
# IMPORTANT : The 4 following paths must be on the same partition/device.
|
||||
# If they aren't then you must set COPYLINK below to 1. This
|
||||
# takes a lot of extra room to create the sandbox for the ISO
|
||||
# images, however. Also, if you are using an NFS partition for
|
||||
# some part of this, you must use this option.
|
||||
# Paths to the mirrors
|
||||
export MIRROR=/srv/mirror/debian
|
||||
|
||||
# Path of the temporary directory
|
||||
export TDIR=/srv/mirror/tmp
|
||||
|
||||
# Path where the images will be written
|
||||
export OUT=/srv/mirror/debian-cd-test
|
||||
|
||||
# Where we keep the temporary apt stuff.
|
||||
# This cannot reside on an NFS mount.
|
||||
export APTTMP=/srv/mirror/tmp/apt
|
||||
|
||||
# Do I want to have NONFREE merged in the CD set
|
||||
# export NONFREE=1
|
||||
|
||||
# Do I want to have CONTRIB merged in the CD set
|
||||
export CONTRIB=1
|
||||
|
||||
# Do I want to have NONFREE on a separate CD (the last CD of the CD set)
|
||||
# WARNING: Don't use NONFREE and EXTRANONFREE at the same time !
|
||||
# export EXTRANONFREE=1
|
||||
|
||||
# Do I want to force (potentially non-free) firmware packages to be
|
||||
# placed on disc 1? Will make installation much easier if systems
|
||||
# contain hardware that depends on this firmware
|
||||
# export FORCE_FIRMWARE=1
|
||||
|
||||
# If you have a $MIRROR/dists/$CODENAME/local/binary-$ARCH dir with
|
||||
# local packages that you want to put on the CD set then
|
||||
# uncomment the following line
|
||||
# export LOCAL=1
|
||||
|
||||
# If your local packages are not under $MIRROR, but somewhere else,
|
||||
# you can uncomment this line and edit to to point to a directory
|
||||
# containing dists/$CODENAME/local/binary-$ARCH
|
||||
# export LOCALDEBS=/home/joey/debian/va/debian
|
||||
|
||||
# Where to find the security patches. This directory should be the
|
||||
# top directory of a security.debian.org mirror.
|
||||
#export SECURITY="$TOPDIR"/debian/debian-security
|
||||
|
||||
# Include proposed updates
|
||||
# Note that on the CDs it will not be visible where packages came from:
|
||||
# from the released archive or from proposed updates archive.
|
||||
# NOTE: intended to be used for pre-release testing, not for publication!
|
||||
#export PROPOSED_UPDATES=$CODENAME-proposed-updates
|
||||
|
||||
# Sparc only : bootdir (location of cd.b and second.b)
|
||||
# export BOOTDIR=/boot
|
||||
|
||||
# Symlink farmers should uncomment this line :
|
||||
# export SYMLINK=1
|
||||
|
||||
# Use this to force copying the files instead of symlinking or hardlinking
|
||||
# them. This is useful if your destination directories are on a different
|
||||
# partition than your source files.
|
||||
# export COPYLINK=1
|
||||
|
||||
# Options
|
||||
# export MKISOFS=mkisofs
|
||||
# export MKISOFS_OPTS="-r" #For normal users
|
||||
# export MKISOFS_OPTS="-r -F ." #For symlink farmers
|
||||
|
||||
# Override for i386 and amd64 to use xorriso instead of
|
||||
# mkisofs/genisoimage. Allows creation of isohybrid images: ISO images
|
||||
# that will burn correctly onto a CD and also can be written raw to a
|
||||
# USB stick. xorriso 0.6.5 and later has working support for this.
|
||||
#export i386_MKISOFS="xorriso"
|
||||
#export i386_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1"
|
||||
#export amd64_MKISOFS="xorriso"
|
||||
#export amd64_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1"
|
||||
|
||||
# ISOLinux support for multiboot on CD1 for i386
|
||||
export ISOLINUX=1
|
||||
|
||||
# uncomment this to if you want to see more of what the Makefile is doing
|
||||
#export VERBOSE_MAKE=1
|
||||
|
||||
# The maximum size allowed for an individual package, in bytes; if
|
||||
# larger than this, it will be excluded (and all dependents, of
|
||||
# course). We'll create a README.excluded in the root of CD1 listing
|
||||
# them too
|
||||
export MAX_PKG_SIZE=600000000
|
||||
|
||||
# Should build_all.sh try to build a simple CD image if the proper official
|
||||
# CD run does not work?
|
||||
ATTEMPT_FALLBACK=yes
|
||||
|
||||
# Set your disk type here. Known types are:
|
||||
# BC (businesscard): 650 MiB max (should be limited elsewhere,
|
||||
# should never fill a CD anyway)
|
||||
# NETINST: 650 MiB max (ditto)
|
||||
# CD: standard 74-min CD (650 MiB)
|
||||
# CD700: (semi-)standard 80-min CD (700 MiB)
|
||||
# DVD: standard 4.7 GB DVD
|
||||
# DLDVD: standard 8.5 GB dual-layer DVD
|
||||
# BD: standard 25 GB blu-ray
|
||||
# DLBD: standard 50 GB dual-layer blu-ray
|
||||
# STICK1GB: 1GB USB stick or similar
|
||||
# STICK2GB: 2GB USB stick or similar
|
||||
# STICK4GB: 4GB USB stick or similar
|
||||
# STICK8GB: 8GB USB stick or similar
|
||||
# CUSTOM: up to you - specify a size to go with it (in 2K blocks)
|
||||
export DISKTYPE=CD
|
||||
#export DISKTYPE=CUSTOM
|
||||
#export CUSTOMSIZE=XXXX
|
||||
# If you want to over-ride this choice (e.g. to make a larger version of a given disk),
|
||||
# you can do the following:
|
||||
# export FORCE_CD_SIZE=<type> to change all the sizes in a given run
|
||||
# export FORCE_CD_SIZE1=<type> to change the size of disk 1 (only)
|
||||
|
||||
# Extra variants to enable. See docs/README.variants for more information.
|
||||
export VARIANTS=
|
||||
|
||||
# We don't want certain packages to take up space on CD1...
|
||||
#export EXCLUDE1=exclude
|
||||
# ...but they are okay for other CDs (UNEXCLUDEx == may be included
|
||||
# on CD x if not already covered)
|
||||
#export UNEXCLUDE2=unexclude-CD2
|
||||
# Any packages listed in EXCLUDEx but not in any UNEXCLUDE will be
|
||||
# excluded completely. The same goes for packages listed in EXCLUDE.
|
||||
|
||||
# Set this if the recommended packages should be skipped when adding
|
||||
# package on the CD. The default is 'true'.
|
||||
# export NORECOMMENDS=1
|
||||
|
||||
# Set this if the suggested packages should be skipped when adding
|
||||
# package on the CD. The default is 'true'.
|
||||
# export NOSUGGESTS=1
|
||||
|
||||
# Set to 1 to generate MD5/SHA1/SHA256/SHA512 sums for generated images
|
||||
export IMAGESUMS=1
|
||||
|
||||
# And define the set of checksum algorithms you want here. Default is
|
||||
# all of: md5 sha1 sha512 sha256
|
||||
# export CHECKSUMS="md5 sha1 sha512 sha256"
|
||||
|
||||
# We may have to extract files from packages to put them onto the CD
|
||||
# (e.g. bootloader files). If you make those packages (and their
|
||||
# sources) available somewhere, list it here so that README.source
|
||||
# can point to it
|
||||
export ARCHIVE_EXTRACTED_SOURCES="http://cdimage.debian.org/cdimage/cd-sources/"
|
||||
|
||||
# Produce iso/jigdo files: specify how many iso/jigdo files should be
|
||||
# produced in your set. If not set or when the value is "ALL" they will
|
||||
# be created for all images. One of the variables can be set to zero if
|
||||
# either iso or jigdo files are not wanted.
|
||||
# Replaces the old "DOJIGDO" setting with something much more flexible.
|
||||
#export MAXISOS=0
|
||||
#export MAXJIGDOS=0
|
||||
|
||||
# HTTP/FTP URL for directory where you intend to make the templates
|
||||
# available. You should not need to change this; the default value ""
|
||||
# means "template in same dir as the .jigdo file", which is usually
|
||||
# correct. If it is non-empty, it needs a trailing slash. "%ARCH%"
|
||||
# will be substituted by the current architecture.
|
||||
#export JIGDOTEMPLATEURL=""
|
||||
#
|
||||
# Name of a directory on disc to create data for a fallback server in.
|
||||
# Should later be made available by you at the URL given in
|
||||
# JIGDOFALLBACKURLS. In the directory, two subdirs named "Debian" and
|
||||
# "Non-US" will be created, and filled with hard links to the actual
|
||||
# files in your FTP archive. Because of the hard links, the dir must
|
||||
# be on the same partition as the FTP archive! If unset, no fallback
|
||||
# data is created, which may cause problems - see README.
|
||||
#export JIGDOFALLBACKPATH="$(OUT)/snapshot/"
|
||||
#
|
||||
# Space-separated list of label->URL mappings for "jigdo fallback
|
||||
# server(s)" to add to .jigdo file. If unset, no fallback URL is
|
||||
# added, which may cause problems - see README.
|
||||
#export JIGDOFALLBACKURLS="Debian=http://myserver/snapshot/Debian/ Non-US=http://myserver/snapshot/Non-US/"
|
||||
#
|
||||
# Space-separated list of "include URLs" to add to the .jigdo file.
|
||||
# The included files are used to provide an up-to-date list of Debian
|
||||
# mirrors to the jigdo _GUI_application_ (_jigdo-lite_ doesn't support
|
||||
# "[Include ...]").
|
||||
export JIGDOINCLUDEURLS="http://cdimage.debian.org/debian-cd/debian-servers.jigdo"
|
||||
#
|
||||
# $JIGDOTEMPLATEURL and $JIGDOINCLUDEURLS are passed to
|
||||
# "tools/jigdo_header", which is used by default to generate the
|
||||
# [Image] and [Servers] sections of the .jigdo file. You can provide
|
||||
# your own script if you need the .jigdo file to contain different
|
||||
# data.
|
||||
#export JIGDOSCRIPT="myscript"
|
||||
|
||||
# A couple of things used only by publish_cds, so it can tweak the
|
||||
# jigdo files, and knows where to put the results.
|
||||
# You need to run publish_cds manually, it is not run by the Makefile.
|
||||
export PUBLISH_URL="http://cdimage.debian.org/jigdo-area"
|
||||
export PUBLISH_PATH="/home/jigdo-area/"
|
||||
|
||||
# Specify files and directories to *exclude* from jigdo processing. These
|
||||
# files on each CD are expected to be different to those on the mirror, or
|
||||
# are often subject to change. Any files matching entries in this list will
|
||||
# simply be placed straight into the template file.
|
||||
export JIGDO_EXCLUDE="'README*' /doc/ /md5sum.txt /.disk/ /pics/ 'Release*' 'Packages*' 'Sources*'"
|
||||
|
||||
# Specify files that MUST match entries in the externally-supplied
|
||||
# md5-list. If they do not, the CD build process will fail; something
|
||||
# must have been corrupted. Replaces the old mirrorcheck code.
|
||||
export JIGDO_INCLUDE="/pool/"
|
||||
|
||||
# Specify the minimum file size to consider for jigdo processing. Any files
|
||||
# smaller than this will simply be placed straight into the template file.
|
||||
export JIGDO_OPTS="-jigdo-min-file-size 1024"
|
||||
|
||||
for EXCL in $JIGDO_EXCLUDE; do
|
||||
JIGDO_OPTS="$JIGDO_OPTS -jigdo-exclude $EXCL"
|
||||
done
|
||||
|
||||
for INCL in $JIGDO_INCLUDE; do
|
||||
JIGDO_OPTS="$JIGDO_OPTS -jigdo-force-md5 $INCL"
|
||||
done
|
||||
|
||||
# Base link for snapshot.debian.org or similar
|
||||
# "SNAPDATETIME" will be replaced at runtime with the correct data
|
||||
# Leave this unset to not add this entry
|
||||
export SNAPURL=Debian=http://snapshot.debian.org/archive/debian/SNAPDATETIME/
|
||||
|
||||
# File with list of packages to include when fetching modules for the
|
||||
# first stage installer (debian-installer). One package per line.
|
||||
# Lines starting with '#' are comments. The package order is
|
||||
# important, as the packages will be installed in the given order.
|
||||
#export UDEB_INCLUDE="$BASEDIR"/data/$CODENAME/udeb_include
|
||||
|
||||
# File with list of packages to exclude as above.
|
||||
#export UDEB_EXCLUDE="$BASEDIR"/data/$CODENAME/udeb_exclude
|
||||
|
||||
# File with list of packages to include when running debootstrap from
|
||||
# the first stage installer (currently only supported in
|
||||
# debian-installer). One package per line. Lines starting with '#'
|
||||
# are comments. The package order is important, as the packages will
|
||||
# be installed in the given order.
|
||||
#export BASE_INCLUDE="$BASEDIR"/data/$CODENAME/base_include
|
||||
|
||||
# File with list of packages to exclude as above.
|
||||
#export BASE_EXCLUDE="$BASEDIR"/data/$CODENAME/base_exclude
|
||||
|
||||
# Only put the installer onto the cd (set NORECOMMENDS,... as well,
|
||||
# and if you're not using build.sh then also make sure you set TASK
|
||||
# appropriately here)
|
||||
# INSTALLER_CD=0: nothing special (default)
|
||||
# INSTALLER_CD=1: just add debian-installer (use TASK=debian-installer)
|
||||
# INSTALLER_CD=2: add d-i and base (use TASK=debian-installer+kernel)
|
||||
#export INSTALLER_CD=2
|
||||
#export TASK=debian-installer+kernel
|
||||
|
||||
# Parameters to pass to kernel (or d-i) when the CD boots. Not currently
|
||||
# supported for all architectures.
|
||||
#export KERNEL_PARAMS="DEBCONF_PRIORITY=critical"
|
||||
|
||||
# Default desktop (currently only used by win32-loader)
|
||||
#export DESKTOP=kde
|
||||
|
||||
# If set, limits the number of images to produce. The maximum
|
||||
# value of MAXISOS and MAXJIGDOS are limited to this setting.
|
||||
#export MAXCDS=1
|
||||
|
||||
# If set, overrides the boot picture used.
|
||||
#export SPLASHPNG="$BASEDIR/data/$CODENAME/splash-img.png"
|
||||
|
||||
# Set to 1 to save space by omitting the installation manual.
|
||||
# If so the README will link to the manual on the web site.
|
||||
#export OMIT_MANUAL=1
|
||||
|
||||
# Set to 1 to save space by omitting the release notes
|
||||
# If so we will link to them on the web site.
|
||||
export OMIT_RELEASE_NOTES=1
|
||||
|
||||
# Set this to override the default location
|
||||
#export RELEASE_NOTES_LOCATION="http://www.debian.org/releases/$CODENAME"
|
||||
|
||||
# Set to 1 to not include the doc/tools directories on CD1
|
||||
# Useful to save space and avoids failures if you have a mirror
|
||||
# without those directories.
|
||||
#export OMIT_DOC_TOOLS=1
|
||||
|
||||
case "$OFFICIAL" in
|
||||
"Official")
|
||||
export OFFICIAL_VAL=2
|
||||
;;
|
||||
"Official Beta")
|
||||
export OFFICIAL_VAL=1
|
||||
;;
|
||||
*)
|
||||
export OFFICIAL_VAL=0
|
||||
;;
|
||||
esac
|
||||
|
||||
# Set this to force the Release file(s) to say "stable". Used in first
|
||||
# Etch builds to allow us to build before the archive updated
|
||||
#EARLY_BUILD_HACK=1
|
||||
|
||||
##################################
|
||||
# LOCAL HOOK DEFINITIONS
|
||||
##################################
|
||||
#
|
||||
# Set these to point to scripts/programs to be called at various
|
||||
# points in the debian-cd image-making process. This is the ideal place
|
||||
# to customise what's on the CDs, for example to add extra files or
|
||||
# modify existing ones. Each will be called with the arguments in order:
|
||||
#
|
||||
# $TDIR (the temporary dir containing the build tree)
|
||||
# $MIRROR (the location of the mirror)
|
||||
# $DISKNUM (the image number in the set)
|
||||
# $CDDIR (the root of the temp disc tree)
|
||||
# $ARCHES (the set of architectures chosen)
|
||||
#
|
||||
# BE CAREFUL about what you do at each point: in the first couple of
|
||||
# cases, files and directories you're looking to use may not exist yet,
|
||||
# you may need to worry about adding entries into md5sum.txt yourself
|
||||
# and (in the last couple of cases) if you add any extra files you may
|
||||
# end up over-filling the disc. If you *do* need to add files at the end
|
||||
# of the process, see RESERVED_BLOCKS_HOOK below. It's strongly
|
||||
# recommended to do this kind of customisation up-front if you can, it's
|
||||
# much simpler that way!
|
||||
|
||||
# The disc_start hook. This will be called near the beginning of the
|
||||
# start_new_disc script, just after the directory tree has been created
|
||||
# but before any files have been added
|
||||
#export DISC_START_HOOK=/bin/true
|
||||
|
||||
# The disc_pkg hook. This will be called just after the
|
||||
# start_new_disc script has finished, just before make_disc_trees.pl
|
||||
# starts to add package files.
|
||||
#export DISC_PKG_HOOK=/bin/true
|
||||
|
||||
# The reserved_blocks hook; if set, this script should print the
|
||||
# number of 2K blocks that need to be reserved for data to be added
|
||||
# *after* a disc tree is filled with packages.
|
||||
#export RESERVED_BLOCKS_HOOK=/bin/true
|
||||
|
||||
# The disc_finish hook. This will be called once a disc image is full,
|
||||
# just after the last package rollback but before the last bits of
|
||||
# cleanup are done on the temp disc tree
|
||||
#export DISC_FINISH_HOOK=/bin/true
|
||||
|
||||
# The disc_end hook. This will be called *right* at the end of the
|
||||
# image-making process in make_disc_trees.pl.
|
||||
#export DISC_END_HOOK=/bin/true
|
|
@ -0,0 +1,16 @@
|
|||
My good friend Frans Pop died on the 20th of August 2010. We had
|
||||
worked together for several years within Debian (especially within the
|
||||
Debian CD team), and we had become firm friends during that time. He
|
||||
was great to work with, always ready to help design new features or
|
||||
pick holes and find the bugs in the stuff I was developing myself,
|
||||
happy for others to dig into his own projects. On the more personal
|
||||
side, we met up many times at different Free Software events like
|
||||
DebConf and FOSDEM, and also for pure social things like BBQs and
|
||||
parties. We shared a lot of good times.
|
||||
|
||||
This release of debian-cd (version 3.1.4) is the last release that
|
||||
he contributed towards directly. I dedicate it to his memory.
|
||||
|
||||
Rest In Peace, my friend. You will be missed.
|
||||
|
||||
Steve McIntyre, 14th November 2010
|
|
@ -0,0 +1,411 @@
|
|||
#!/usr/bin/make -f
|
||||
|
||||
# Main Makefile for debian-cd
|
||||
#
|
||||
# Copyright 1999 Rapha?l Hertzog <hertzog@debian.org>
|
||||
# See the README file for the license
|
||||
#
|
||||
# Significantly modified 2005-2006 Steve McIntyre <93sam@debian.org>
|
||||
# for multi-arch and mixed bin/src discs
|
||||
#
|
||||
# The environment variables must have been set
|
||||
# before. For this you can source the CONF.sh
|
||||
# file in your shell
|
||||
|
||||
|
||||
## DEFAULT VALUES
|
||||
ifndef VERBOSE_MAKE
|
||||
Q=@
|
||||
endif
|
||||
ifndef TASK
|
||||
TASK=Debian-generic
|
||||
endif
|
||||
ifndef MKISOFS
|
||||
export MKISOFS=$(shell which genisoimage mkisofs | head -1)
|
||||
endif
|
||||
ifndef MKISOFS_OPTS
|
||||
#For normal users
|
||||
MKISOFS_OPTS=-r
|
||||
#For symlink farmers
|
||||
#MKISOFS_OPTS=-r -F .
|
||||
endif
|
||||
ifndef HOOK
|
||||
HOOK=$(BASEDIR)/tools/$(CODENAME).hook
|
||||
endif
|
||||
|
||||
export BUILD_DATE=$(shell date -u +%Y%m%d-%H:%M)
|
||||
export ARCHES_NOSRC=$(shell echo $(ARCHES) | sed 's/source//')
|
||||
ifeq ($(ARCHES),source)
|
||||
export SOURCEONLY=yes
|
||||
endif
|
||||
ifeq ($(shell echo $(ARCHES) | sed 's/.*source.*/1/'),1)
|
||||
export INC_SOURCE=yes
|
||||
endif
|
||||
|
||||
UNDER_ARCHES=$(shell echo $(ARCHES) | sed 's/\ /_/g')
|
||||
ARCH_MKISOFS = ${${UNDER_ARCHES}_MKISOFS}
|
||||
ARCH_MKISOFS_OPTS = ${${UNDER_ARCHES}_MKISOFS_OPTS}
|
||||
ifneq (${ARCH_MKISOFS},)
|
||||
MKISOFS = ${ARCH_MKISOFS}
|
||||
endif
|
||||
ifneq (${ARCH_MKISOFS_OPTS},)
|
||||
MKISOFS_OPTS = ${ARCH_MKISOFS_OPTS}
|
||||
endif
|
||||
|
||||
## Internal variables
|
||||
apt=$(BASEDIR)/tools/apt-selection
|
||||
sort_deps=$(BASEDIR)/tools/sort_deps
|
||||
md5sum=md5sum
|
||||
jigdo_cleanup=$(BASEDIR)/tools/jigdo_cleanup
|
||||
grab_md5=$(BASEDIR)/tools/grab_md5
|
||||
make_image=$(BASEDIR)/tools/make_image
|
||||
merge_package_lists=$(BASEDIR)/tools/merge_package_lists
|
||||
update_popcon=$(BASEDIR)/tools/update_popcon
|
||||
update_tasks=$(BASEDIR)/tools/update_tasks
|
||||
grab_source_list=$(BASEDIR)/tools/grab_source_list
|
||||
which_deb=$(BASEDIR)/tools/which_deb
|
||||
|
||||
BDIR=$(TDIR)/$(CODENAME)
|
||||
TASKDIR=$(BDIR)/tasks
|
||||
ADIR=$(APTTMP)
|
||||
DB_DIR=$(BDIR)/debootstrap
|
||||
|
||||
export DEBOOTSTRAP_DIR := $(DB_DIR)/usr/lib/debootstrap
|
||||
export PATH := $(DB_DIR)/usr/sbin:$(PATH)
|
||||
export BDIR
|
||||
export TASKDIR
|
||||
|
||||
## DEBUG STUFF ##
|
||||
|
||||
default:
|
||||
@echo "Please refer to the README file for more information"
|
||||
@echo "about the different targets available."
|
||||
|
||||
## CHECKS ##
|
||||
|
||||
# Basic checks in order to avoid problems
|
||||
ok:
|
||||
ifdef FORCE_FAIL
|
||||
@echo Debug variable FORCE_FAIL defined -- abort now; false
|
||||
endif
|
||||
ifndef TDIR
|
||||
@echo TDIR undefined -- set up CONF.sh; false
|
||||
endif
|
||||
ifndef BASEDIR
|
||||
@echo BASEDIR undefined -- set up CONF.sh; false
|
||||
endif
|
||||
ifndef MIRROR
|
||||
@echo MIRROR undefined -- set up CONF.sh; false
|
||||
endif
|
||||
ifndef ARCHES
|
||||
@echo ARCHES undefined -- set up CONF.sh; false
|
||||
endif
|
||||
ifndef CODENAME
|
||||
@echo CODENAME undefined -- set up CONF.sh; false
|
||||
endif
|
||||
ifndef OUT
|
||||
@echo OUT undefined -- set up CONF.sh; false
|
||||
endif
|
||||
ifdef NONFREE
|
||||
ifdef EXTRANONFREE
|
||||
@echo Never use NONFREE and EXTRANONFREE at the same time; false
|
||||
endif
|
||||
endif
|
||||
@if [ $(DISKTYPE) = "NETINST" -o $(DISKTYPE) = "BC" ] ; then \
|
||||
if [ "$(INC_SOURCE)"x = "yes"x ] ; then \
|
||||
echo "Including source is not supported on a netinst/bc CD"; \
|
||||
false; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
## INITIALIZATION ##
|
||||
|
||||
# Creation of the directories needed
|
||||
init: ok $(OUT) $(TDIR) $(BDIR) $(ADIR) $(TASKDIR) $(BDIR)/DATE $(DB_DIR) unstable-map
|
||||
$(OUT):
|
||||
$(Q)mkdir -p $(OUT)
|
||||
$(TDIR):
|
||||
$(Q)mkdir -p $(TDIR)
|
||||
$(BDIR):
|
||||
$(Q)mkdir -p $(BDIR)
|
||||
$(ADIR):
|
||||
$(Q)mkdir -p $(ADIR)
|
||||
$(TASKDIR):
|
||||
ifneq ($(ARCHES),source)
|
||||
$(Q)echo "Updating task files..."
|
||||
$(Q)mkdir -p $(TASKDIR)
|
||||
$(Q)echo "- copying task files from 'tasks/$(DI_CODENAME)/'"
|
||||
$(Q)cp -r $(BASEDIR)/tasks/$(CODENAME)/* $(TASKDIR)
|
||||
$(Q)echo "- generating dynamic task files"
|
||||
$(Q)set -e; cd $(TASKDIR); \
|
||||
$(BASEDIR)/tools/update_tasks; \
|
||||
$(BASEDIR)/tools/generate_di_list; \
|
||||
$(BASEDIR)/tools/generate_di+k_list
|
||||
ifeq ($(FORCE_FIRMWARE),1)
|
||||
# Generate firmware task file using the contents of the archive
|
||||
$(Q)$(BASEDIR)/tools/generate_firmware_task "$(ARCHES)" $(TASKDIR)/firmware
|
||||
endif
|
||||
endif
|
||||
$(BDIR)/DATE:
|
||||
$(Q)date -u '+%Y%m%d' > $(BDIR)/DATE
|
||||
$(Q)date -u '+%Y%m%dT%H%M%SZ' > $(BDIR)/DATE-zulu
|
||||
|
||||
ifdef MIRROR
|
||||
LATEST_DB := $(MIRROR)/$(shell $(which_deb) $(MIRROR) $(CODENAME) debootstrap)
|
||||
$(DB_DIR): $(LATEST_DB)
|
||||
@rm -rf $(DB_DIR)
|
||||
$(Q)dpkg -x $(LATEST_DB) $(DB_DIR)
|
||||
$(Q)if [ ! -e $(DEBOOTSTRAP_DIR) ] ; then \
|
||||
ln -sf share $(DB_DIR)/usr/lib ; \
|
||||
fi
|
||||
endif
|
||||
|
||||
# Make sure unstable/sid points to testing/wheezy, as there is no build
|
||||
# rule for unstable/sid.
|
||||
unstable-map:
|
||||
$(Q)if [ ! -d $(BASEDIR)/data/sid ] ; then \
|
||||
ln -s wheezy $(BASEDIR)/data/sid ; \
|
||||
fi
|
||||
$(Q)if [ ! -d $(BASEDIR)/tools/boot/sid ] ; then \
|
||||
ln -s wheezy $(BASEDIR)/tools/boot/sid ; \
|
||||
fi
|
||||
|
||||
#################
|
||||
## CLEAN RULES ##
|
||||
#################
|
||||
|
||||
# Cleans the current arch tree (but not packages selection info)
|
||||
clean: ok dir-clean
|
||||
dir-clean:
|
||||
$(Q)rm -rf $(BDIR)/CD[1234567890]*
|
||||
$(Q)rm -rf $(TASKDIR)
|
||||
$(Q)rm -f $(BDIR)/*.filelist*
|
||||
$(Q)rm -f $(BDIR)/packages-stamp $(BDIR)/upgrade-stamp $(BDIR)/md5-check
|
||||
|
||||
# Completely cleans the current arch tree
|
||||
realclean: distclean
|
||||
distclean: ok clean
|
||||
$(Q)echo "Cleaning the build directory"
|
||||
$(Q)rm -rf $(ADIR)
|
||||
$(Q)rm -rf $(TDIR)
|
||||
|
||||
####################
|
||||
## STATUS and APT ##
|
||||
####################
|
||||
|
||||
$(CODENAME)_status: ok init
|
||||
$(Q)for ARCH in $(ARCHES_NOSRC); do \
|
||||
echo "Using the provided status file for $(CODENAME)-$$ARCH ..."; \
|
||||
cp $(BASEDIR)/data/$(CODENAME)/status.$$ARCH $(ADIR)/$(CODENAME)-$$ARCH/status 2>/dev/null || $(MAKE) status || $(MAKE) correctstatus ; \
|
||||
done
|
||||
|
||||
# Regenerate the status file with only packages that
|
||||
# are of priority standard or higher
|
||||
status: init $(ADIR)/status
|
||||
$(ADIR)/status:
|
||||
@echo "Generating a fake status file for apt-get and apt-cache..."
|
||||
$(Q)for ARCH in $(ARCHES); do \
|
||||
mkdir -p $(ADIR)/$(CODENAME)-$$ARCH/apt/preferences.d; \
|
||||
if [ $$ARCH = "source" -o "$(INSTALLER_CD)" = "1" -o "$(INSTALLER_CD)" = "2" -o "$(INSTALLER_CD)" = "C" ];then \
|
||||
:> $(ADIR)/$(CODENAME)-$$ARCH/status ; \
|
||||
else \
|
||||
zcat $(MIRROR)/dists/$(CODENAME)/main/binary-$$ARCH/Packages.gz | \
|
||||
perl -000 -ne 's/^(Package: .*)$$/$$1\nStatus: install ok installed/m; print if (/^Priority: (required|important|standard)/m or /^Section: base/m);' \
|
||||
>> $(ADIR)/$(CODENAME)-$$ARCH/status ; \
|
||||
fi; \
|
||||
done;
|
||||
:> $(ADIR)/status
|
||||
# Updating the apt database
|
||||
$(Q)for ARCH in $(ARCHES); do \
|
||||
export ARCH=$$ARCH; \
|
||||
$(apt) update; \
|
||||
done
|
||||
#
|
||||
# Checking the consistency of the standard system
|
||||
# If this does fail, then launch make correctstatus
|
||||
#
|
||||
$(Q)for ARCH in $(ARCHES); do \
|
||||
export ARCH=$$ARCH; \
|
||||
$(apt) check || $(MAKE) correctstatus; \
|
||||
done
|
||||
|
||||
# Only useful if the standard system is broken
|
||||
# It tries to build a better status file with apt-get -f install
|
||||
correctstatus: status apt-update
|
||||
# You may need to launch correctstatus more than one time
|
||||
# in order to correct all dependencies
|
||||
#
|
||||
# Removing packages from the system :
|
||||
$(Q)set -e; \
|
||||
if [ "$(ARCHES)" != "source" ] ; then \
|
||||
for ARCH in $(ARCHES_NOSRC); do \
|
||||
export ARCH=$$ARCH; \
|
||||
for i in `$(apt) deselected -f install`; do \
|
||||
echo $$ARCH:$$i; \
|
||||
perl -i -000 -ne "print unless /^Package: \Q$$i\E/m" \
|
||||
$(ADIR)/$(CODENAME)-$$ARCH/status; \
|
||||
done; \
|
||||
done; \
|
||||
fi
|
||||
#
|
||||
# Adding packages to the system :
|
||||
$(Q)set -e; \
|
||||
if [ "$(ARCHES)" != "source" ] ; then \
|
||||
for ARCH in $(ARCHES_NOSRC); do \
|
||||
export ARCH=$$ARCH; \
|
||||
for i in `$(apt) selected -f install`; do \
|
||||
echo $$ARCH:$$i; \
|
||||
$(apt) cache dumpavail | perl -000 -ne \
|
||||
"s/^(Package: .*)\$$/\$$1\nStatus: install ok installed/m; \
|
||||
print if /^Package: \Q$$i\E\s*\$$/m;" \
|
||||
>> $(ADIR)/$(CODENAME)-$$ARCH/status; \
|
||||
done; \
|
||||
done; \
|
||||
fi
|
||||
#
|
||||
# Showing the output of apt-get check :
|
||||
$(Q)for ARCH in $(ARCHES_NOSRC); do \
|
||||
ARCH=$$ARCH $(apt) check; \
|
||||
done
|
||||
|
||||
apt-update: status
|
||||
$(Q)if [ "$(ARCHES)" != "source" ] ; then \
|
||||
for ARCH in $(ARCHES); do \
|
||||
echo "Apt-get is updating its files ..."; \
|
||||
ARCH=$$ARCH $(apt) update; \
|
||||
done; \
|
||||
fi
|
||||
|
||||
## GENERATING LISTS ##
|
||||
|
||||
# Deleting the list only
|
||||
deletelist: ok
|
||||
$(Q)-rm $(BDIR)/rawlist
|
||||
$(Q)-rm $(BDIR)/list
|
||||
|
||||
packagelists: ok apt-update genlist
|
||||
|
||||
# Build the raw list (cpp output) with doubles and spaces
|
||||
$(BDIR)/rawlist:
|
||||
# Dirty workaround for saving space, we add some hints to break ties.
|
||||
# This is just a temporal solution, sort_deps should be a little bit less
|
||||
# silly so that this is not needed. For more info have a look at
|
||||
# http://lists.debian.org/debian-cd/2004/debian-cd-200404/msg00093.html
|
||||
$(Q)if [ "$(SOURCEONLY)"x != "yes"x ] ; then \
|
||||
if [ "$(INSTALLER_CD)"x = "1"x ] ; then \
|
||||
: ; \
|
||||
elif [ "$(INSTALLER_CD)"x = "2"x -o "$(INSTALLER_CD)"x = "C"x ] ; then \
|
||||
echo -e "mawk" >>$(BDIR)/rawlist; \
|
||||
else \
|
||||
echo -e "mawk\nexim4-daemon-light" >>$(BDIR)/rawlist; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
$(Q)if [ "$(SOURCEONLY)"x != "yes"x ] ; then \
|
||||
if [ _$(INSTALLER_CD) != _1 ]; then \
|
||||
for ARCH in $(ARCHES_NOSRC); do \
|
||||
BINCLUDE=`[ -n "$(BASE_INCLUDE)" ] && cat $(BASE_INCLUDE) | tr "\n" "," | sed 's!,$$!!g'`; \
|
||||
[ -z "$$BINCLUDE" ] || BINCLUDE="--include=$$BINCLUDE"; \
|
||||
BEXCLUDE=`[ -n "$(BASE_EXCLUDE)" ] && cat $(BASE_EXCLUDE) | tr "\n" "," | sed 's!,$$!!g'`; \
|
||||
[ -z "$$BEXCLUDE" ] || BEXCLUDE="--exclude=$$BEXCLUDE"; \
|
||||
debootstrap --arch $$ARCH \
|
||||
--print-debs \
|
||||
$$BINCLUDE $$BEXCLUDE \
|
||||
$(CODENAME) \
|
||||
$(TDIR)/debootstrap.tmp \
|
||||
file:$(MIRROR) \
|
||||
$(DEBOOTSTRAP_SCRIPT) 2>/dev/null \
|
||||
| tr ' ' '\n' > $(BDIR)/debootstrap-list; \
|
||||
cat $(BDIR)/debootstrap-list >>$(BDIR)/rawlist; \
|
||||
rm -rf $(TDIR)/debootstrap.tmp; \
|
||||
done; \
|
||||
fi; \
|
||||
fi
|
||||
|
||||
$(Q)for ARCH in $(ARCHES_NOSRC); do \
|
||||
ARCHDEFS="$$ARCHDEFS -D ARCH_`echo $$ARCH | sed 's/-/_/'`"; \
|
||||
ARCHUNDEFS="$$ARCHUNDEFS -U $$ARCH"; \
|
||||
done; \
|
||||
for VARIANT in $(VARIANTS); do \
|
||||
VARIANTDEFS="$$VARIANTDEFS -D VARIANT_$$VARIANT"; \
|
||||
done; \
|
||||
if [ "$(FORCE_FIRMWARE)"x = "1"x ] ; then \
|
||||
ARCHDEFS="$$ARCHDEFS -DFORCE_FIRMWARE"; \
|
||||
fi; \
|
||||
if [ "$(EXCLUDE_486_KERNEL)"x = "1"x ] ; then \
|
||||
ARCHDEFS="$$ARCHDEFS -DARCH_i386_EXCLUDE_486_KERNEL"; \
|
||||
fi; \
|
||||
if [ "$(SOURCEONLY)"x != "yes"x ] ; then \
|
||||
cat $(TASKDIR)/$(TASK) | \
|
||||
cpp -nostdinc -nostdinc++ -P -undef $$ARCHDEFS $$VARIANTDEFS\
|
||||
$$ARCHUNDEFS -U i386 -U linux -U unix \
|
||||
-DFORCENONUSONCD1=0 \
|
||||
-I $(TASKDIR) - - >> $(BDIR)/rawlist; \
|
||||
fi
|
||||
|
||||
# If we're *only* doing source, then we need to build a list of all the
|
||||
# available source packages. Deliberately ignore the tasks too.
|
||||
$(Q)if [ "$(SOURCEONLY)"x = "yes"x ] ; then \
|
||||
awk '/^Package:/ {print $$2}' $(ADIR)/$(CODENAME)-source/apt-state/lists/*Sources | \
|
||||
sort -u > $(BDIR)/rawlist; \
|
||||
fi
|
||||
# ls -al $(BDIR)/rawlist
|
||||
|
||||
# Generate the complete listing of packages from the task
|
||||
# Build a nice list without doubles and without spaces
|
||||
genlist: ok $(BDIR)/list
|
||||
$(BDIR)/list: $(BDIR)/rawlist
|
||||
@echo "Generating the complete list of packages to be included in $(BDIR)/list..."
|
||||
$(Q)perl -ne 'chomp; next if /^\s*$$/; \
|
||||
print "$$_\n" if not $$seen{$$_}; $$seen{$$_}++;' \
|
||||
$(BDIR)/rawlist \
|
||||
> $(BDIR)/list
|
||||
|
||||
## IMAGE BUILDING ##
|
||||
|
||||
image-trees: ok genlist
|
||||
# Use sort_deps to do the dependency sorting
|
||||
$(Q)for ARCH in $(ARCHES_NOSRC); do \
|
||||
ARCH=$$ARCH $(sort_deps) $(BDIR)/list; \
|
||||
done
|
||||
$(Q)if [ "$(SOURCEONLY)"x = "yes"x ] ; then \
|
||||
$(grab_source_list) $(BDIR) $(ADIR) $(BDIR)/list $(BDIR)/packages; \
|
||||
else \
|
||||
$(merge_package_lists) $(BDIR) $(ADIR) "$(ARCHES)" $(BDIR)/packages; \
|
||||
fi
|
||||
$(Q)if [ "$(INC_SOURCE)"x = "yes"x ] ; then \
|
||||
grep ^source $(BDIR)/packages > $(BDIR)/packages.source; \
|
||||
fi
|
||||
$(Q)$(BASEDIR)/tools/make_disc_trees.pl $(BASEDIR) $(MIRROR) $(TDIR) $(CODENAME) "$(ARCHES)" "$(MKISOFS)" "$(MKISOFS_OPTS) $(JIGDO_OPTS)"
|
||||
|
||||
images: ok $(OUT) $(BDIR)/md5-check
|
||||
$(Q)$(make_image) "$(BDIR)" "$(ARCHES)" "$(OUT)" "$(DEBVERSION)" "$(MIRROR)" "$(MKISOFS)" "$(MKISOFS_OPTS)" "$(JIGDO_OPTS)" "$(jigdo_cleanup)"
|
||||
|
||||
check-number-given:
|
||||
@test -n "$(CD)" || (echo "Give me a CD=<num> parameter !" && false)
|
||||
|
||||
# Generate only one image number $(CD)
|
||||
image: check-number-given images
|
||||
|
||||
# Calculate the md5sums for the images (if available), or get from templates
|
||||
imagesums:
|
||||
$(Q)$(BASEDIR)/tools/imagesums $(OUT) $(SUMS_EXTENSION)
|
||||
|
||||
## MISC TARGETS ##
|
||||
|
||||
$(BDIR)/md5-check: mirrorcheck
|
||||
|
||||
mirrorcheck: ok
|
||||
$(Q)$(grab_md5) $(MIRROR) "$(ARCHES)" $(CODENAME) $(DI_CODENAME) $(BDIR)/md5-check
|
||||
$(Q)for ARCH in $(ARCHES); do \
|
||||
if [ -e $(BASEDIR)/data/$(CODENAME)/$$ARCH/extra-sources ]; then \
|
||||
echo "Extra dedicated source added; need to grab source MD5 info too"; \
|
||||
$(grab_md5) $(MIRROR) source $(CODENAME) $(DI_CODENAME) $(BDIR)/md5-check; \
|
||||
fi; \
|
||||
done
|
||||
|
||||
update-popcon:
|
||||
$(update_popcon) tasks/$(CODENAME)/popularity-contest
|
||||
|
||||
# Little trick to simplify things
|
||||
official_images: ok init packagelists image-trees images
|
|
@ -0,0 +1,335 @@
|
|||
debian-cd
|
||||
=========
|
||||
|
||||
Copyright 1999-2001 Raphaël Hertzog <hertzog@debian.org> and others,
|
||||
2004-2010 Steve McIntyre <steve@einval.com>
|
||||
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.
|
||||
|
||||
Some of the ideas here (a loooong time ago) came from Steve McIntyre's
|
||||
slink_cd script.
|
||||
|
||||
Thanks also to all the contributors on the debian-cd mailing list.
|
||||
|
||||
What is needed?
|
||||
===============
|
||||
Software:
|
||||
- the apt-get (>= 0.3.11.1) tool
|
||||
- perl (>= 5.004)
|
||||
- bash (or another POSIX shell)
|
||||
- make
|
||||
- cpp
|
||||
- mkisofs/genisoimage
|
||||
- the perl Digest::MD5 module
|
||||
- the perl Compress::Zlib module
|
||||
- lynx (for text version of README.html) and todos from sysutils
|
||||
to convert docs to DOS format (although you can rip that out, too)
|
||||
- if you want to generate jigdo files: jigdo-file (see below)
|
||||
Other:
|
||||
- apt-utils (for apt-ftparchive)
|
||||
- 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.
|
||||
|
||||
|
||||
-------------------------------
|
||||
- GENERATING DEBIAN CD IMAGES -
|
||||
-------------------------------
|
||||
|
||||
|
||||
For the people that don't have time, here's the quick explanation
|
||||
=================================================================
|
||||
|
||||
Edit the CONF.sh and change the PATHs for the mirror and so on.
|
||||
$ sensible-editor CONF.sh
|
||||
$ . CONF.sh
|
||||
$ make distclean
|
||||
$ make status
|
||||
$ make official_images
|
||||
|
||||
However, you really should consider reading further for more information.
|
||||
You can also take a look at build.sh and build_all.sh for an automated
|
||||
way of building CD images.
|
||||
|
||||
The script easy-build.sh offers the easiest way to build a specific image
|
||||
or set of images, but is still very flexible and powerful. It is the
|
||||
recommended tool for building test images and for people new to debian-cd.
|
||||
See the file README.easy-build for further info.
|
||||
|
||||
How to build a CD set - step by step
|
||||
====================================
|
||||
|
||||
If you haven't already, change to the /usr/share/debian-cd/ directory
|
||||
(or, alternatively, set the variable BASEDIR in CONF.sh to point
|
||||
there).
|
||||
|
||||
The process of building a CD is composed of the following steps:
|
||||
|
||||
- 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).
|
||||
|
||||
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 that the temporary dir must be on the same device as the
|
||||
mirror because debian-cd uses hardlinks for generating an image
|
||||
tree. If you can't do this, you'll have to use a symlink farm.
|
||||
The symlink farm is explained at the end of this README.
|
||||
|
||||
Keep in mind that the environment variables will stay in the
|
||||
environment after your debian-cd run, and may interfere with
|
||||
other program using the same variables (e.g. kernel-package).
|
||||
So if you want to be 100% safe, run debian-cd in a
|
||||
separate shell that you can leave after you're done.
|
||||
|
||||
- then we clean everything that may still be there from previous runs:
|
||||
|
||||
$ make distclean
|
||||
|
||||
- then we initialize the temporary directory used for the build:
|
||||
|
||||
$ make status
|
||||
|
||||
If this has failed then this will be automatically launched:
|
||||
|
||||
$ make correctstatus
|
||||
|
||||
Note however that "make status" should never fail if it is
|
||||
used for building a CD set for the stable release...
|
||||
|
||||
- now you can decide what you want on your CDs
|
||||
|
||||
Note that task files are always taken from the subdirectory in ./tasks/
|
||||
that matches the CODENAME environment variable. At the beginning of a
|
||||
build these "static" task files are copied to the working directory.
|
||||
During the build some additional task files - that are referenced from
|
||||
the static task files - are generated automatically using scripts from
|
||||
the ./tools directory.
|
||||
|
||||
Examples:
|
||||
|
||||
$ make packagelists TASK=Debian-generic COMPLETE=1
|
||||
|
||||
or
|
||||
|
||||
$ make packagelists TASK=Debian-kde COMPLETE=0
|
||||
|
||||
or
|
||||
|
||||
$ export NONFREE=1; make packagelists TASK=your-task-here COMPLETE=1
|
||||
|
||||
or for something like an official image for the USA (without non-free):
|
||||
|
||||
$ make packagelists COMPLETE=1
|
||||
|
||||
.... 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 NONFREE is set, then packages from non-free will be allowed
|
||||
(NONFREE must be exported to all sub-shells)
|
||||
- if EXTRANONFREE is set, then non-free packages will be included
|
||||
on an extra CD (the last CD in fact). Don't use NONFREE and
|
||||
EXTRANONFREE at the same time!
|
||||
(EXTRANONFREE 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
|
||||
- setting INSTALLER_CD will use an appropriate task file for
|
||||
building small CDs (businesscard and netinst)
|
||||
|
||||
- now, we'll start making temporary trees:
|
||||
|
||||
$ make image-trees
|
||||
|
||||
This will first work sort the list of packages for each architecture
|
||||
into order so that standard, required, important and base packages
|
||||
are placed first, then other packages will be added in the order
|
||||
given modulo dependency ordering. Once the sorted list is created,
|
||||
the different architecture lists will be merged (if more than one
|
||||
architecture is selected).
|
||||
|
||||
Then the code will start laying out temporary directory trees for
|
||||
the CDs. In order, this includes the following steps:
|
||||
|
||||
- Creating an empty directory layout
|
||||
- Generating an image label and volume ID and other metadata such as
|
||||
debian-installer information files
|
||||
- Add documentation and installation/upgrade tools
|
||||
- Add Release files and other archive metadata
|
||||
- Make the image bootable for the selected architecture(s)
|
||||
- Start generating the md5sum.txt file
|
||||
|
||||
If you want to use boot-floppies built by yourself you can add
|
||||
a parameter BOOTDISKS=<dir> which specifies the directory where
|
||||
they are. Note that $BOOTDISKS/current must be a symlink to the
|
||||
real directory and it must follow the same setup as the FTP
|
||||
mirror. Your boot-floppies must also be on the same partition as
|
||||
your mirror and temporary dir (hardlinks are used here too).
|
||||
|
||||
Once the disc tree has all of this start data, we start filling the
|
||||
directory trees with packages from the sorted list. The size of the
|
||||
image to be created is set using DISKTYPE in CONF.sh; if the
|
||||
standard sizes do not match what you're after, use DISKTYPE=CUSTOM
|
||||
and specify your own size using CUSTOMSIZE. The algorithm is simple
|
||||
for adding packages:
|
||||
|
||||
- link the package into the temporary disc tree
|
||||
- append the metadata to the appropriate Packages or Sources file
|
||||
- add md5sum information for the added file(s) to the md5sum.txt file
|
||||
|
||||
This continues until the temporary tree grows one package *too
|
||||
large* for the selected image size. At that point, we roll back the
|
||||
last set of changes associated with that package. Then:
|
||||
|
||||
- check if the disc contains all the packages needed to install a base system
|
||||
- finish off the Release file, using the checksums of the
|
||||
Packages/Sources files we generated
|
||||
- finish off the md5sum.txt file
|
||||
|
||||
Next, we continue to the next disc tree, using the same process:
|
||||
start it, copy packages in until they overflow, roll back and
|
||||
finish. And repeat. Each time a package is found to be too large to
|
||||
fit inside an image, it will be kept back and will (obviously) be
|
||||
the first package placed into the next disc tree.
|
||||
|
||||
- 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 CD for example) with:
|
||||
|
||||
$ make image CD=2
|
||||
|
||||
Note: here we use "make images", but you could as well use
|
||||
"make official_images" since the latter is the same as the former
|
||||
with some dependencies on targets that you already launched
|
||||
(make bootable packages sources).
|
||||
|
||||
- if you want to generate a MD5SUMS file with the md5sums of the
|
||||
images you can do it with:
|
||||
|
||||
$ make imagesums
|
||||
|
||||
Official images
|
||||
===============
|
||||
|
||||
If you use make official_images you're building CD images that have
|
||||
the same properties than official CD images but they still doesn't
|
||||
have the name of "Official Images". The name of the images is given
|
||||
by setting the OFFICIAL and DEBVERSION environment variable (check
|
||||
CONF.sh).
|
||||
|
||||
Please never ever use the "Official" name for a CD image that you
|
||||
built yourself. The only images that can be called "Official" are the
|
||||
ones built by Debian itself and which are provided on Debian's
|
||||
servers.
|
||||
|
||||
The default configuration shipped with this package will automatically
|
||||
name the images "Unofficial". CD will work exactly in the same way
|
||||
with all Debian tools, only the label is different. That means you
|
||||
can use build.sh and build_all.sh to build your "Unofficial" images
|
||||
without modifying anything.
|
||||
|
||||
|
||||
Local packages
|
||||
==============
|
||||
|
||||
If you provide some custom made packages and you want to put them on
|
||||
Debian CD set you can do it. Simply put your packages in
|
||||
$MIRROR/dists/$CODENAME/local/binary-$ARCH/<section>.
|
||||
The organization of this sub-tree is the same than what you can find
|
||||
in the main, contrib or non-free part. You may use different section
|
||||
names if you want. Be sure to create Packages files (and Sources.gz if you
|
||||
include sources).
|
||||
|
||||
You can also put your local packages under $MIRROR/pool/local (just a new
|
||||
facility for people who don't want packages under dists/). To include local
|
||||
packages, the LOCAL environment variable must be set to "1" while building
|
||||
the CDs.
|
||||
|
||||
You can also set the LOCALDEBS environment variable, and it will be used
|
||||
instead of MIRROR when looking for local packages.
|
||||
|
||||
|
||||
Additional targets
|
||||
==================
|
||||
|
||||
Jigdo
|
||||
-----
|
||||
You may also want to make the CD images available in jigdo format.
|
||||
Jigsaw Download, the successor to the Pseudo-Image Kit.
|
||||
See http://www.debian.org/CD/jigdo-cd/ for more information on jigdo.
|
||||
|
||||
Set the DOJIGDO and related variables in CONF.sh. This is no separate target
|
||||
for jigdo, merely a modification of the "images" targets. You can choose
|
||||
only .iso generation (default), only .jigdo generation (for highly reduced
|
||||
disk usage), or both .iso and .jigdo generation.
|
||||
|
||||
To generate the jigdo files and templates, you need an
|
||||
appropriately-patched version of mkisofs/genisoimage, as shipped in
|
||||
Debian Etch.
|
||||
|
||||
The MD5SUMS file generated by the "imagesums" target will contain the MD5
|
||||
checksums of all generated images, regardless of the DOJIGDO setting. If
|
||||
no full iso image is available, the MD5sum will be extracted from the
|
||||
.template file. A note in the Makefile shows how the original file size
|
||||
can be extracted from the .template in a similar way.
|
||||
|
||||
About jigdo "fallback servers":
|
||||
|
||||
jigdo works by downloading individual packages and other files from a
|
||||
normal Debian mirror, and using them to regenerate a CD/DVD image.
|
||||
However, the content of Debian mirrors changes over time, files are
|
||||
added and removed. But jigdo must have access to all files needed for
|
||||
the image it has to regenerate, even those that have been removed from
|
||||
the normal Debian mirrors.
|
||||
|
||||
A fallback server contains a backup of the Debian FTP space for the
|
||||
moment the .jigdo files were generated. This backup is made available
|
||||
under a certain URL which is written to the .jigdo files. jigdo will
|
||||
*only* revert to the fallback server after an unsuccessful attempt to
|
||||
retrieve a file from the normal user-selected Debian mirror, so the
|
||||
bandwidth requirements are modest.
|
||||
|
||||
A fallback is even necessary for .jigdo files of the stable release,
|
||||
because some files (typically documentation or boot floppies) can
|
||||
change at any time.
|
||||
|
||||
debian-cd allows you to automatically create a directory on disc which
|
||||
is suitable for use as a fallback mirror. It is populated with hard
|
||||
links to the archive contents. In CONF.sh, simply supply as
|
||||
JIGDOFALLBACKPATH the name of the directory, and as JIGDOFALLBACKURLS
|
||||
the URLs under which it will be made available.
|
||||
|
||||
About the hook system
|
||||
=====================
|
||||
|
||||
A hook script can be executed at different times during the CD build
|
||||
process to customise your CDs. You can specify the script by setting
|
||||
the various HOOK variables in CONF.sh; look there for more information
|
||||
about what hook points are available.
|
||||
|
||||
About the symlink farm
|
||||
======================
|
||||
|
||||
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/
|
|
@ -0,0 +1,75 @@
|
|||
README for those who want to hack on debian-cd
|
||||
----------------------------------------------
|
||||
|
||||
Organisation :
|
||||
--------------
|
||||
|
||||
The main source is in the Debian svn. If you want to hack on debian-cd
|
||||
and if you want to send me patches, please work on the latest version
|
||||
available in svn.
|
||||
|
||||
auth: svn+ssh://svn.debian.org/svn/debian-cd/trunk
|
||||
anon: svn://svn.debian.org/debian-cd/trunk
|
||||
web: http://svn.debian.org/wsvn/debian-cd
|
||||
|
||||
If you want to discuss anything related to the debian-cd development,
|
||||
mail the debian-cd@lists.debian.org mailing list where all people
|
||||
interested in the debian-cd development are subscribed.
|
||||
|
||||
Technical details :
|
||||
-------------------
|
||||
|
||||
The Makefile which is the main directory will be used to launch
|
||||
each step of the install process. Try to comment each target of
|
||||
the makefile so that other can know why it's here. If you need
|
||||
specific programs (perl or shell scripts), please put them
|
||||
in the tools directory.
|
||||
|
||||
The tasks directory will contain files listing packages (the
|
||||
order in which package are listed is important, each package
|
||||
added will be added to the current CD until it's full).
|
||||
|
||||
The data dir will contains useful data (not directly task
|
||||
related) like the master file from boot-floppies and so on.
|
||||
|
||||
Each tool is self-documented, if you want to know what it
|
||||
does read the sources (they are scripts).
|
||||
|
||||
Debugging debian-cd :
|
||||
---------------------
|
||||
|
||||
If you want to read more about what YACS is doing you can set
|
||||
the VERBOSE environment variable to 1, 2 or 3 depending on the
|
||||
level of noise that you want.
|
||||
|
||||
Some scripts generates their own log files in the temp dir. You
|
||||
can take a look at them if you want to check for warnings
|
||||
and so on.
|
||||
Log files :
|
||||
- $TDIR/$CODENAME/log.list2cds
|
||||
- $TDIR/$CODENAME/make_disc_trees.log
|
||||
|
||||
TODO list :
|
||||
-----------
|
||||
+ put the doc directory only on the first binary CD
|
||||
+ a way to force the inclusion of packages (even broken)
|
||||
+ possibility to add project/* to the last CD
|
||||
|
||||
Bugs / Problems :
|
||||
-----------------
|
||||
* make list will not add contrib packages if you do not
|
||||
select NONFREE too. That's because contrib is broken
|
||||
without non-free. And the building process only allow
|
||||
functional packages to be added.
|
||||
|
||||
Technical choices :
|
||||
-------------------
|
||||
|
||||
For the multiboot on the first CD of an i386 CD set, we had two options
|
||||
isolinux and el-torito native multiboot. We selected isolinux
|
||||
because it works well and it lets you display information to the user.
|
||||
The el-torito multiboot just displays a menu with each item
|
||||
being the same "2.88Mb boot image". Both multiboot mechanism may
|
||||
not work on older hardware with very old BIOSes however the el-torito
|
||||
one works a bit better because it's usually able to boot the first choice
|
||||
without displaying the menu then.
|
|
@ -0,0 +1,305 @@
|
|||
debian-cd easy-build
|
||||
====================
|
||||
|
||||
INTRODUCTION
|
||||
============
|
||||
easy-build.sh is a "wrapper" script around the more basic build.sh build
|
||||
script. It is designed to make building a specific image or set or images
|
||||
as easy as possible, while still offering all the flexibility of debian-cd.
|
||||
|
||||
easy-build.sh supports the following variations:
|
||||
- businesscard, netinst and full CD images, and DVD images
|
||||
- single-architecture and multi-architecture images
|
||||
- optionally include source packages
|
||||
- select to install GNOME (default), KDE, LXDE or Xfce desktops as desktop
|
||||
task
|
||||
- create a combined LXDE/Xfce "light desktop" CD
|
||||
- create a businesscard or netinst CD, or DVD set supporting all four
|
||||
desktop environments
|
||||
- creates ISO files by default; creating jigdo files is possible
|
||||
- specify which Debian release to use
|
||||
- include custom versions of packages (debs)
|
||||
- specify which Debian Installer (D-I) version and source to use, including
|
||||
custom images
|
||||
- include custom versions of Debian Installer components (udebs)
|
||||
|
||||
Using easy-build.sh is somewhat simpler than calling make directly or even
|
||||
than using build.sh as it splits the complex configuration of debian-cd
|
||||
into three levels:
|
||||
1) CONF.sh: basic configuration such as paths
|
||||
2) easy-build.sh: characteristicts of the CD/DVD set, for example:
|
||||
- Debian release
|
||||
- D-I version and source of D-I images
|
||||
- number of CDs or DVDs to generate
|
||||
3) command line parameters:
|
||||
- type of image (businesscard, netinst, full CD or DVD
|
||||
- which architecture(s)
|
||||
- which desktop to install
|
||||
|
||||
easy-build.sh also ensures that "task files" are automatically updated as
|
||||
needed. If custom packages are included it can automatically generate a
|
||||
Packages file for the local repository: just copy the packages to the
|
||||
correct location and let easy-build.sh do the rest.
|
||||
|
||||
Types of images & task definitions
|
||||
----------------------------------
|
||||
easy-build.sh can be used to create four types of images:
|
||||
- businesscard CD: only contains Debian Installer; any packages neede for
|
||||
the installed system are retrieved from a mirror during the installation
|
||||
- netinst CD: contains Debian Installer and all packages needed to install a
|
||||
Debian "base system" (packages with priority important or higher)
|
||||
- full CD: same as netinst CD, but filled to capacity with additional
|
||||
packages based on "task" definitions; image size is 680MB
|
||||
- DVD: same as full CD, but with an image size of 4.7GB
|
||||
|
||||
The businesscard and netinst CD are always a single image. The size of these
|
||||
images depends on the architecture. For i386 they are around 40MB and 150MB
|
||||
respectively.
|
||||
|
||||
The full CD and DVD are sets of images, but the set can be limited to any
|
||||
number. The first image of the set always includes Debian Installer and
|
||||
packages needed for the base system. After that the first and following
|
||||
images are filled up to capacity with packages in the following order:
|
||||
- "essential" packages from tasksel tasks
|
||||
- "optional" packages from tasksel tasks
|
||||
- other packages sorted by popularity (popcon score)
|
||||
|
||||
The basic order in which packages are included on full CDs and DVDs is
|
||||
defined in 'tasks/<CODENAME>/Debian'. The order in which tasksel tasks are
|
||||
included is defined in 'tasks/<CODENAME>/task.list*'.
|
||||
|
||||
Current GNOME and KDE desktop environments are so large that only the
|
||||
packages needed to install one of them can be included on the first full CD.
|
||||
Therefore debian-cd supports creating a CD or DVD set targeted at a specific
|
||||
desktop environment: either GNOME, or KDE, or Xfce.
|
||||
The default 'task.list' is targeted at the GNOME desktop environment.
|
||||
|
||||
It is possible to customize the debian-cd task definitions and even to
|
||||
customize tasksel, but that falls outside the scope of this document.
|
||||
|
||||
CREATING A MIRROR OF THE ARCHIVE
|
||||
================================
|
||||
debian-cd requires you to have a local mirror of the Debian archive,
|
||||
normally on the same machine where you run debian-cd. There are lots of
|
||||
methods to create a (partial) local archive.
|
||||
|
||||
Make sure the following are included in your local archive:
|
||||
- ./dists/<codename>/main/debian-installer/binary-<arch>/
|
||||
contains Debian Installer components (udebs)
|
||||
- ./doc/
|
||||
- ./tools/
|
||||
and optionally:
|
||||
- ./dists/<codename>/main/installer-<arch>/
|
||||
contains Debian Installer images (official releases)
|
||||
|
||||
One method is to use debmirror. An example script for creating a full or
|
||||
partial local mirror using debmirror suitable for use with debian-cd can be
|
||||
found at: http://alioth.debian.org/~fjp/debmirror/.
|
||||
|
||||
BASIC CONFIGURATION
|
||||
===================
|
||||
Most of the variables in CONF.sh can be left at their default values. Some
|
||||
just because their default value should be OK for most purposes, some
|
||||
because their value is set by easy-build.sh itself.
|
||||
|
||||
The following variables that define paths *must* be set in CONF.sh:
|
||||
- MIRROR
|
||||
- TDIR
|
||||
- OUT
|
||||
- APTTMP
|
||||
|
||||
You may also want to change the following variables:
|
||||
- CONTRIB: comment out if you only want to include packages from main
|
||||
- IMAGESUMS: comment out to skip creating MD5/SHA5 sums for images
|
||||
- OMIT_MANUAL
|
||||
- OMIT_RELEASE_NOTES / RELEASE_NOTES_LOCATION
|
||||
|
||||
Note that if you want to vary the value of a variable for differbent builds
|
||||
you can also "add" it in easy-build.sh and set it there.
|
||||
|
||||
BUILDING IMAGES
|
||||
===============
|
||||
After the basic configuration has been done, there are still a few variables
|
||||
that need to be checked in easy-build.sh itself:
|
||||
- CODENAME: set to the codename (e.g. etch, lenny, sid) of the Debian release
|
||||
for which you want to build CD/DVD images
|
||||
- DI_CODENAME: set to the codename of Debian release from which D-I
|
||||
*components* (udebs) should be taken; normally same value as CODENAME
|
||||
- DI_DIST/DI_WWW_HOME/DI_DIR: location from where D-I *images* should be
|
||||
taken; value must "match" the specified DI_CODENAME
|
||||
- MAX_CDS, MAX_DVDS: only used when building full CD or DVD images
|
||||
|
||||
D-I images and components
|
||||
-------------------------
|
||||
It is essential that D-I images and components used to build the CD match.
|
||||
For example, the kernel version included in the D-I image must be the same
|
||||
as the kernel version of the kernel module udebs copied to the CD.
|
||||
|
||||
The easy-build.sh script offers four mutually exclusive options to specify
|
||||
the source of D-I images. In theory more are possible, but the included
|
||||
options should cover most use cases.
|
||||
Make sure you have only one of the four options uncommented! And don't let
|
||||
yourself be confused by the fact that the four options use different
|
||||
variables.
|
||||
|
||||
If you keep to the following basic rules you should be OK.
|
||||
1) If DI_CODENAME is a real Debian release (e.g. etch or lenny, but not sid)
|
||||
you should normally use the 1st or 2nd option. Use the 1st option if your
|
||||
local mirror includes D-I images, else use the the 2nd option.
|
||||
2) If you use daily built D-I images (3rd option), DI_CODENAME should be set
|
||||
to "sid".
|
||||
3) If you use custom images (4th option), DI_CODENAME should match the branch
|
||||
of the your D-I SVN checkout and build environment; further explanation of
|
||||
this is outside the scope of this document.
|
||||
|
||||
Examples
|
||||
--------
|
||||
Below are some basic examples how to run easy-build.sh. Examples for some
|
||||
more advanced usages will be given in later sections.
|
||||
|
||||
1) Build a lenny netinst CD image for i386
|
||||
- set CODENAME and DI_CODENAME to "lenny"
|
||||
- select appropriate source for D-I images (1st or 2nd option)
|
||||
- run './easy-build.sh NETINST'
|
||||
|
||||
2) Build the first three CD images for amd64 with KDE as desktop environment
|
||||
- set MAX_CDS to "3"
|
||||
- run './easy-build.sh -d kde CD amd64'
|
||||
|
||||
3) Build the full set of DVD images for sparc
|
||||
- comment out MAX_DVDS
|
||||
- run './easy-build.sh DVD sparc'
|
||||
|
||||
4) Build an i386 netinst to install testing using daily built D-I images
|
||||
- set CODENAME to the codename for the current testing release
|
||||
- set DI_CODENAME to "sid"
|
||||
- select the 3rd option as source for D-I images
|
||||
- run './easy-build.sh NETINST'
|
||||
|
||||
BUILDING MULTI-ARCH IMAGES
|
||||
==========================
|
||||
Multi-arch images are CDs or DVDs that can be used to install more than one
|
||||
architecture. However, architectures cannot be randomly combined. The main
|
||||
limitations for combining architectures are:
|
||||
- boot loader files and configuration cannot conflict
|
||||
- image size
|
||||
|
||||
The following architectures can safely be combined on a single image:
|
||||
- i386, amd64 and powerpc
|
||||
- alpha, hppa and ia64
|
||||
|
||||
When you combine two or three architectures on a single 680MB CD there
|
||||
remains very little space after Debian Installer and base system packages
|
||||
have been included. For that reason multi-arch CDs are normally created as
|
||||
a netinst image. For example:
|
||||
$ ./easy-build.sh NETINST i386 amd64 powerpc
|
||||
|
||||
A DVD has a lot more space and can easily include packages needed to install
|
||||
a desktop environment. For example:
|
||||
$ ./easy-build.sh DVD -d kde i386 amd64
|
||||
|
||||
It is even possible to include source packages on a DVD, which makes it
|
||||
suitable to hand out at trade shows. For example:
|
||||
$ ./easy-build.sh DVD i386 amd64 source
|
||||
|
||||
INCLUDING CUSTOM PACKAGES, D-I COMPONENTS and D-I IMAGES
|
||||
========================================================
|
||||
easy-build.sh makes it relatively simple to include custom packages, both
|
||||
regular packages (debs) and debian-installer components (udebs), in CD
|
||||
images. The main rule to keep in mind is that if the package also exists
|
||||
in the official archive, the version number of your custom package must
|
||||
be higher than the one of the official package.
|
||||
|
||||
Besides custom debian-installer components (udebs), you can also use custom
|
||||
or locally built debian-installer images (kernel, initrd and related files).
|
||||
|
||||
You should always ensure that udebs included on a CD match the udebs used
|
||||
when building the debian-installer image you include. For example kernel
|
||||
versions need to match, but also versioned dependensies between udebs
|
||||
(and note that not all dependencies between udebs are declared explicitly).
|
||||
And two udebs from the same source package should in principle have the
|
||||
same version even if one is included in the initrd and the other is loaded
|
||||
from the CD during the installation.
|
||||
|
||||
Whether custom debs and udebs are used is determined by the environment
|
||||
variable LOCAL. Whether custom D-I images are used is determined by
|
||||
selecting the correct source from them, in most cases that will be by
|
||||
setting DI_DIR (see comments in easy-build.sh). Both variables can be set
|
||||
in easy-build.sh.
|
||||
|
||||
Using custom packages
|
||||
---------------------
|
||||
The repository for the custom packages has the same basic structure as an
|
||||
official mirror. The main difference is the category: instead of "main"
|
||||
(or "contrib" or "non-free") this has to be "local". You should also make
|
||||
sure to use the release codename and not the suite.
|
||||
|
||||
So you get for example:
|
||||
.../dists/lenny/local/binary-amd64/
|
||||
.../dists/lenny/local/binary-i386/
|
||||
.../dists/lenny/local/debian-installer/binary-amd64/
|
||||
.../dists/lenny/local/debian-installer/binary-i386/
|
||||
.../dists/sid/local/binary-amd64/
|
||||
.../dists/sid/local/binary-i386/
|
||||
.../dists/sid/local/debian-installer/binary-amd64/
|
||||
.../dists/sid/local/debian-installer/binary-i386/
|
||||
|
||||
Note that debs will be taken from 'dists/$CODENAME/...' while udebs will be
|
||||
taken from 'dists/$DI_CODENAME/...'. So if CODENAME and DI_CODENAME have
|
||||
different values (e.g. when taking debs from testing but using D-I based on
|
||||
unstable), you will need to place your custom debs and udebs under different
|
||||
codenames.
|
||||
|
||||
The local category does not need to have a Release file, but each
|
||||
'binary-<arch>' directory must have a Packages file.
|
||||
|
||||
It is possible to have the packages themselves in a pool directory, but it
|
||||
is probably easier to just place them under the 'binary-<arch>' directories.
|
||||
You can group packages in subdirectories.
|
||||
|
||||
By default debian-cd will look for the "local" category in the same place
|
||||
as the official mirror (as defined by the envvar MIRROR), but in most cases
|
||||
it will be simpler to specify an alternative location by setting the
|
||||
environment variable LOCALDEBS in your CONF.sh. In that case you can also
|
||||
let easy-build.sh take care of generating an updated Packages.gz file for
|
||||
each source that is used in a build by setting the envvar UPDATE_LOCAL in
|
||||
easy-build.sh (see tools/Packages-gen).
|
||||
|
||||
Example, assuming we are building for and i386 CD for lenny:
|
||||
1) in CONF.sh, set for example:
|
||||
export MIRROR=/srv/mirror/debian
|
||||
export LOCALDEBS=/srv/mirror/custom
|
||||
2) create the following directories:
|
||||
/srv/mirror/custom/dists/lenny/local/binary-i386
|
||||
/srv/mirror/custom/dists/lenny/local/debian-installer/binary-i386
|
||||
3) copy your custom debs to the first directory
|
||||
4) copy your custom udebs to the second directory
|
||||
5) in easy-build.sh, set:
|
||||
export LOCAL=1
|
||||
UPDATE_LOCAL=1
|
||||
|
||||
Note that debian-cd will fail if you set LOCAL but the "local" directory for
|
||||
a codename/arch/section that is referenced in a build does not exist.
|
||||
You will need to create the 'dists/<codename>/local' directories, but if
|
||||
UPDATE_LOCAL is set, easy-build.sh will automatically create any missing
|
||||
'binary-<codename>' subdirectories and (empty) Packages.gz files.
|
||||
|
||||
Using custom debian-installer images
|
||||
------------------------------------
|
||||
Note that the build target used and the way images are organized under the
|
||||
build/dest directory by the debian-installer build system varies per
|
||||
architecture. The example below should work for i386 and amd64, but may need
|
||||
to be adjusted for other architectures.
|
||||
|
||||
Example:
|
||||
1) create a directory, for example:
|
||||
/srv/mirror/custom/images/i386/
|
||||
2) build the d-i images (in the installer/build directory) using:
|
||||
$ make reallyclean; fakeroot make build_cdrom_isolinux
|
||||
3) copy the images using:
|
||||
$ cp -r dest/cdrom /srv/mirror/custom/images/i386/
|
||||
4) in easy-build.sh, set:
|
||||
export DI_DIR="/srv/mirror/custom/images/%ARCH%"
|
||||
|
||||
'%ARCH%' will be automatically expanded to the correct architecture whe
|
||||
debian-cd is run.
|
|
@ -0,0 +1,90 @@
|
|||
#!/bin/bash -e
|
||||
|
||||
# Script to build images for one or more architectures and/or source
|
||||
|
||||
if [ -z "$CF" ] ; then
|
||||
CF=./CONF.sh
|
||||
fi
|
||||
. $CF
|
||||
|
||||
START=`date -u`
|
||||
echo "$START: Using CONF from $CF."
|
||||
|
||||
if [ -z "$COMPLETE" ] ; then
|
||||
export COMPLETE=1
|
||||
fi
|
||||
|
||||
if [ $# -gt 1 ] ; then
|
||||
echo "ERROR: too many arguments." >&2
|
||||
exit 1
|
||||
elif [ -n "$1" ] ; then
|
||||
export ARCHES="$1"
|
||||
fi
|
||||
|
||||
PATH=$BASEDIR/tools:$PATH
|
||||
export PATH
|
||||
|
||||
if [ "$TASK"x = ""x ] ; then
|
||||
case "$INSTALLER_CD"x in
|
||||
"1"x)
|
||||
TASK=debian-installer
|
||||
unset COMPLETE
|
||||
;;
|
||||
"2"x|"C"x)
|
||||
TASK=debian-installer+kernel
|
||||
unset COMPLETE
|
||||
;;
|
||||
*)
|
||||
COMPLETE=1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
export TASK COMPLETE
|
||||
|
||||
make distclean
|
||||
make ${CODENAME}_status
|
||||
echo " ... checking your mirror"
|
||||
RET=""
|
||||
make mirrorcheck || RET=$?
|
||||
if [ "$RET" ]; then
|
||||
echo "ERROR: Your mirror has a problem, please correct it." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$IMAGETARGET" ] ; then
|
||||
IMAGETARGET="official_images"
|
||||
fi
|
||||
echo " ... building the images; using target(s) \"$IMAGETARGET\""
|
||||
|
||||
if [ "$MAXISOS"x = ""x ] ; then
|
||||
export MAXISOS="ALL"
|
||||
fi
|
||||
if [ "$MAXJIGDOS"x = ""x ] ; then
|
||||
export MAXJIGDOS="ALL"
|
||||
fi
|
||||
|
||||
if [ "$MAXISOS" = "all" ] || [ "$MAXISOS" = "ALL" ] ; then
|
||||
NUMISOS="all available"
|
||||
elif [ "$MAXISOS" -eq 0 ] ; then
|
||||
NUMISOS="no"
|
||||
else
|
||||
NUMISOS="up to $MAXISOS"
|
||||
fi
|
||||
if [ "$MAXJIGDOS" = "all" ] || [ "$MAXJIGDOS" = "ALL" ] ; then
|
||||
NUMJIGDOS="all available"
|
||||
elif [ "$MAXJIGDOS" -eq 0 ] ; then
|
||||
NUMJIGDOS="no"
|
||||
else
|
||||
NUMJIGDOS="up to $MAXJIGDOS"
|
||||
fi
|
||||
echo "Building $NUMJIGDOS jigdos and $NUMISOS isos for $ARCHES $DISKTYPE"
|
||||
|
||||
make $IMAGETARGET
|
||||
|
||||
if [ "$IMAGESUMS"x = 1x ]; then
|
||||
make imagesums
|
||||
fi
|
||||
|
||||
END=`date -u`
|
||||
echo "$END: Finished."
|
|
@ -0,0 +1,70 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Script to build everything possible : sources and binaries for all archs
|
||||
|
||||
if [ -z "$CF" ] ; then
|
||||
CF=./CONF.sh
|
||||
fi
|
||||
. $CF
|
||||
|
||||
echo "Using CONF from $CF"
|
||||
|
||||
if [ -z "$COMPLETE" ] ; then
|
||||
export COMPLETE=1
|
||||
fi
|
||||
|
||||
PATH=$BASEDIR/tools:$PATH
|
||||
export PATH
|
||||
|
||||
if [ "$TASK"x = ""x ] ; then
|
||||
case "$INSTALLER_CD"x in
|
||||
"1"x)
|
||||
TASK=debian-installer
|
||||
unset COMPLETE
|
||||
;;
|
||||
"2"x|"C"x)
|
||||
TASK=debian-installer+kernel
|
||||
unset COMPLETE
|
||||
;;
|
||||
*)
|
||||
COMPLETE=1
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
export TASK COMPLETE
|
||||
|
||||
TMP_OUT=$OUT
|
||||
|
||||
if [ -z "$IMAGETARGET" ] ; then
|
||||
IMAGETARGET="official_images"
|
||||
fi
|
||||
|
||||
for ARCHES in i386 amd64 armel armhf ia64 mips mipsel powerpc s390 s390x sparc kfreebsd-amd64 kfreebsd-i386 source
|
||||
do
|
||||
export ARCHES
|
||||
echo "Now we're going to build CD for $ARCHES !"
|
||||
echo " ... cleaning"
|
||||
|
||||
make distclean
|
||||
make ${CODENAME}_status
|
||||
echo " ... checking your mirror"
|
||||
RET=""
|
||||
make mirrorcheck || RET=$?
|
||||
if [ "$RET" ]; then
|
||||
echo "ERROR: Your mirror has a problem, please correct it." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
OUT="$TMP_OUT/$ARCHES"
|
||||
export OUT
|
||||
mkdir -p $OUT
|
||||
echo " ... building the images; using target(s) \"$IMAGETARGET\""
|
||||
make $IMAGETARGET
|
||||
|
||||
if [ "$IMAGESUMS"x = 1x ]; then
|
||||
make imagesums
|
||||
fi
|
||||
|
||||
echo "--------------- `date` ---------------"
|
||||
done
|
|
@ -0,0 +1,320 @@
|
|||
#
|
||||
# This file will have to be sourced where needed
|
||||
#
|
||||
|
||||
# Unset all optional variables first to start from a clean state
|
||||
unset NONUS || true
|
||||
unset FORCENONUSONCD1 || true
|
||||
unset NONFREE || true
|
||||
unset CONTRIB || true
|
||||
unset EXTRANONFREE || true
|
||||
unset LOCAL || true
|
||||
unset LOCALDEBS || true
|
||||
unset SECURED || true
|
||||
unset SECURITY || true
|
||||
unset BOOTDIR || true
|
||||
unset BOOTDISKS || true
|
||||
unset SYMLINK || true
|
||||
unset COPYLINK || true
|
||||
unset MKISOFS || true
|
||||
unset MKISOFS_OPTS || true
|
||||
unset ISOLINUX || true
|
||||
unset EXCLUDE || true
|
||||
unset SRCEXCLUDE || true
|
||||
unset NORECOMMENDS || true
|
||||
unset NOSUGGESTS || true
|
||||
unset IMAGESUMS || true
|
||||
unset JIGDOCMD || true
|
||||
unset JIGDOTEMPLATEURL || true
|
||||
#unset JIGDOFALLBACKURLS || true
|
||||
unset JIGDOINCLUDEURLS || true
|
||||
unset JIGDOSCRIPT || true
|
||||
unset JIGDO_OPTS || true
|
||||
#unset DEFBINSIZE || true
|
||||
#unset DEFSRCSIZE || true
|
||||
unset FASTSUMS || true
|
||||
unset PUBLISH_URL || true
|
||||
unset PUBLISH_NONUS_URL || true
|
||||
unset PUBLISH_PATH || true
|
||||
unset UDEB_INCLUDE || true
|
||||
unset UDEB_EXCLUDE || true
|
||||
unset BASE_INCLUDE || true
|
||||
unset BASE_EXCLUDE || true
|
||||
#unset INSTALLER_CD || true
|
||||
|
||||
|
||||
# The debian-cd dir
|
||||
# Where I am (hoping I'm in the debian-cd dir)
|
||||
export BASEDIR=`pwd`
|
||||
|
||||
# Building wheezy cd set ...
|
||||
export CODENAME=wheezy
|
||||
|
||||
if [ ! "$DI_CODENAME" ]
|
||||
then
|
||||
export DI_CODENAME=$CODENAME
|
||||
fi
|
||||
|
||||
# Version number, "2.2 r0", "2.2 r1" etc.
|
||||
#export DEBVERSION="Lenny-DI-rc2"
|
||||
export DEBVERSION="testing"
|
||||
|
||||
# Official or non-official set.
|
||||
# NOTE: THE "OFFICIAL" DESIGNATION IS ONLY ALLOWED FOR IMAGES AVAILABLE
|
||||
# ON THE OFFICIAL DEBIAN CD WEBSITE http://cdimage.debian.org
|
||||
#export OFFICIAL="Unofficial"
|
||||
export OFFICIAL="Official Snapshot"
|
||||
#export OFFICIAL="Official RC"
|
||||
#export OFFICIAL="Official"
|
||||
|
||||
# ... for arch
|
||||
if [ ! "$ARCH" ]
|
||||
then
|
||||
export ARCH=`dpkg --print-installation-architecture`
|
||||
fi
|
||||
|
||||
# IMPORTANT : The 4 following paths must be on the same partition/device.
|
||||
# If they aren't then you must set COPYLINK below to 1. This
|
||||
# takes a lot of extra room to create the sandbox for the ISO
|
||||
# images, however. Also, if you are using an NFS partition for
|
||||
# some part of this, you must use this option.
|
||||
# Paths to the mirrors
|
||||
if [ "$MIRROR"x = ""x ] ; then
|
||||
export MIRROR=/org/cdbuilder.debian.org/src/ftp/debian
|
||||
fi
|
||||
|
||||
NUM_ARCHES=`echo $ARCH | wc -w`
|
||||
if [ "$NUM_ARCHES"x = "1"x ] ; then
|
||||
OUTARCH=$ARCH
|
||||
else
|
||||
OUTARCH=multi-arch
|
||||
fi
|
||||
|
||||
# Path of the temporary directory
|
||||
export TDIR=/org/cdbuilder.debian.org/src/deb-cd/tmp/"$INSTALLER_CD""$DI""$OUTARCH"
|
||||
|
||||
# Path where the images will be written
|
||||
if [ "$OUT"x = ""x ] ; then
|
||||
export OUT=/org/cdbuilder.debian.org/dst/deb-cd/out/"$INSTALLER_CD""$DI""$OUTARCH"
|
||||
fi
|
||||
|
||||
# Where we keep the temporary apt stuff.
|
||||
# This cannot reside on an NFS mount.
|
||||
export APTTMP=$TDIR/apt
|
||||
|
||||
# Do I want to have NONFREE merged in the CD set
|
||||
# export NONFREE=1
|
||||
|
||||
# Do I want to have CONTRIB merged in the CD set
|
||||
export CONTRIB=1
|
||||
|
||||
# Do I want to have NONFREE on a separate CD (the last CD of the CD set)
|
||||
# WARNING: Don't use NONFREE and EXTRANONFREE at the same time !
|
||||
# export EXTRANONFREE=1
|
||||
|
||||
# If you have a $MIRROR/dists/$CODENAME/local/binary-$ARCH dir with
|
||||
# local packages that you want to put on the CD set then
|
||||
# uncomment the following line
|
||||
# export LOCAL=1
|
||||
|
||||
# If your local packages are not under $MIRROR, but somewhere else,
|
||||
# you can uncomment this line and edit to to point to a directory
|
||||
# containing dists/$CODENAME/local/binary-$ARCH
|
||||
# export LOCALDEBS=/home/joey/debian/va/debian
|
||||
|
||||
# If you want a <codename>-secured tree with a copy of the signed
|
||||
# Release.gpg and files listed by this Release file, then
|
||||
# uncomment this line
|
||||
# export SECURED=1
|
||||
|
||||
# Where to find the security patches. This directory should be the
|
||||
# top directory of a security.debian.org mirror.
|
||||
#export SECURITY="$TOPDIR"/debian/debian-security
|
||||
|
||||
# Sparc only : bootdir (location of cd.b and second.b)
|
||||
# export BOOTDIR=/boot
|
||||
|
||||
# Symlink farmers should uncomment this line :
|
||||
# export SYMLINK=1
|
||||
|
||||
# Use this to force copying the files instead of symlinking or hardlinking
|
||||
# them. This is useful if your destination directories are on a different
|
||||
# partition than your source files.
|
||||
# export COPYLINK=1
|
||||
|
||||
# Options
|
||||
#export MKISOFS="$BASEDIR/../mkisofs/usr/bin/mkisofs"
|
||||
#export MKISOFS="$BASEDIR/../genisoimage/usr/bin/genisoimage"
|
||||
#export MKISOFS="$BASEDIR/../genisoimage"
|
||||
#export MKISOFS_OPTS="-jigdo-template-compress bzip2 -r -checksum_algorithm_iso md5,sha1,sha256,sha512"
|
||||
#export MKISOFS_OPTS="-joliet-long -jigdo-template-compress bzip2 -r -checksum_algorithm_iso md5,sha1,sha256,sha512" #-checksum_algorithm_iso md5,sha1"
|
||||
# export MKISOFS_OPTS="-r" #For normal users
|
||||
# export MKISOFS_OPTS="-r -F ." #For symlink farmers
|
||||
export MKISOFS="/home/93sam/xorriso"
|
||||
export MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1,sha256,sha512"
|
||||
|
||||
# Override for i386,amd64,multi to use xorriso.
|
||||
# BE AWARE: for multi-arch the order of the arches here will have to
|
||||
# match the order they're declared in the build
|
||||
#export i386_MKISOFS="/home/93sam/xorriso"
|
||||
#export i386_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1,sha256,sha512"
|
||||
#export amd64_MKISOFS="/home/93sam/xorriso"
|
||||
#export amd64_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1,sha256,sha512"
|
||||
#export amd64_i386_MKISOFS="/home/93sam/xorriso"
|
||||
#export amd64_i386_MKISOFS_OPTS="-as mkisofs -r -checksum_algorithm_iso md5,sha1,sha256,sha512"
|
||||
#export i386_amd64_source_MKISOFS="/home/93sam/xorriso"
|
||||
#export i386_amd64_source_MKISOFS_OPTS="-as mkisofs -joliet-long -r -checksum_algorithm_iso md5,sha1,sha256,sha512"
|
||||
export powerpc_MKISOFS="$BASEDIR/../genisoimage"
|
||||
export powerpc_MKISOFS_OPTS="-joliet-long -jigdo-template-compress bzip2 -r -checksum_algorithm_iso md5,sha1,sha256,sha512" #-checksum_algorithm_iso md5,sha1"
|
||||
|
||||
# ISOLinux support for multiboot on CD1 for i386
|
||||
export ISOLINUX=1
|
||||
|
||||
# uncomment this to if you want to see more of what the Makefile is doing
|
||||
export VERBOSE_MAKE=1
|
||||
|
||||
# The maximum size allowed for an individual package, in bytes; if
|
||||
# larger than this, it will be excluded (and all dependents, of
|
||||
# course)
|
||||
#export MAX_PKG_SIZE=600000000
|
||||
|
||||
# uncoment this to make build_all.sh try to build a simple CD image if
|
||||
# the proper official CD run does not work
|
||||
#ATTEMPT_FALLBACK=yes
|
||||
|
||||
if [ "$DISKTYPE"x = ""x ] ; then
|
||||
DISKTYPE=CD
|
||||
fi
|
||||
export DISKTYPE
|
||||
|
||||
# List of languages for which language tasks from tasksel should be
|
||||
# included. See tasks/README.tasksel for further info.
|
||||
export TASK_LANGLIST=tasksel_d-i.languages
|
||||
|
||||
# We don't want certain packages to take up space on CD1...
|
||||
#export EXCLUDE1=exclude
|
||||
# ...but they are okay for other CDs (UNEXCLUDEx == will be included on CD x if not already covered)
|
||||
#export UNEXCLUDE2=unexclude-CD2
|
||||
# Any packages listed in EXCLUDE but not in any UNEXCLUDE will be
|
||||
# excluded completely.
|
||||
|
||||
# We also exclude some source packages
|
||||
#export SRCEXCLUDE=exclude-src
|
||||
|
||||
# Set this if the recommended packages should be skipped when adding
|
||||
# package on the CD. The default is 'false'.
|
||||
export NORECOMMENDS=0
|
||||
|
||||
# Set this if the suggested packages should be skipped when adding
|
||||
# package on the CD. The default is 'true'.
|
||||
#export NOSUGGESTS=1
|
||||
|
||||
# Set to 1 to generate MD5 and SHA1 sums for generated images
|
||||
export IMAGESUMS=1
|
||||
|
||||
# We may have to extract files from packages to put them onto the CD
|
||||
# (e.g. bootloader files). If you make those packages (and their
|
||||
# sources) available somewhere, list it here so that README.source
|
||||
# can point to it
|
||||
export ARCHIVE_EXTRACTED_SOURCES="http://cdimage.debian.org/cdimage/cd-sources/"
|
||||
|
||||
# Produce iso/jigdo files: specify how many iso/jigdo files should be
|
||||
# produced in your set. If not set or when the value is "ALL" they will
|
||||
# be created for all images. One of the variables can be set to zero if
|
||||
# either iso or jigdo files are not wanted, but not both.
|
||||
# Replaces the old "DOJIGDO" setting with something much more flexible.
|
||||
#export MAXISOS=0
|
||||
#export MAXJIGDOS=0
|
||||
|
||||
# Space-separated list of "include URLs" to add to the .jigdo file.
|
||||
# The included files are used to provide an up-to-date list of Debian
|
||||
# mirrors to the jigdo _GUI_application_ (_jigdo-lite_ doesn't support
|
||||
# "[Include ...]").
|
||||
export JIGDOINCLUDEURLS="http://cdimage.debian.org/debian-cd/debian-servers.jigdo"
|
||||
#
|
||||
# $JIGDOTEMPLATEURL and $JIGDOINCLUDEURLS are passed to
|
||||
# "tools/jigdo_header", which is used by default to generate the
|
||||
# [Image] and [Servers] sections of the .jigdo file. You can provide
|
||||
# your own script if you need the .jigdo file to contain different
|
||||
# data.
|
||||
#export JIGDOSCRIPT="myscript"
|
||||
|
||||
# If set, use the md5sums from the main archive, rather than calculating
|
||||
# them locally
|
||||
export FASTSUMS=1
|
||||
|
||||
# A couple of things used only by publish_cds, so it can tweak the
|
||||
# jigdo files, and knows where to put the results.
|
||||
# You need to run publish_cds manually, it is not run by the Makefile.
|
||||
#export PUBLISH_URL="http://cdimage.debian.org/jigdo-area"
|
||||
#export PUBLISH_NONUS_URL="http://non-US.cdimage.debian.org/jigdo-area"
|
||||
#export PUBLISH_PATH="/home/jigdo-area/"
|
||||
|
||||
# Specify files and directories to *exclude* from jigdo processing. These
|
||||
# files on each CD are expected to be different to those on the mirror, or
|
||||
# are often subject to change. Any files matching entries in this list will
|
||||
# simply be placed straight into the template file.
|
||||
export JIGDO_EXCLUDE="'README*' /doc/ /md5sum.txt /.disk/ /pics/ 'Release*' 'Packages*' 'Sources*'"
|
||||
|
||||
# Specify the minimum file size to consider for jigdo processing. Any files
|
||||
# smaller than this will simply be placed straight into the template file.
|
||||
export JIGDO_OPTS="-jigdo-min-file-size 1024"
|
||||
|
||||
for EXCL in $JIGDO_EXCLUDE
|
||||
do
|
||||
JIGDO_OPTS="$JIGDO_OPTS -jigdo-exclude $EXCL"
|
||||
done
|
||||
|
||||
export IGNORE_MISSING_BOOT_SCRIPT=1
|
||||
|
||||
# Where to find the boot disks
|
||||
#export BOOTDISKS=$TOPDIR/ftp/skolelinux/boot-floppies
|
||||
|
||||
# File with list of packages to include when fetching modules for the
|
||||
# first stage installer (debian-installer). One package per line.
|
||||
# Lines starting with '#' are comments. The package order is
|
||||
# important, as the packages will be installed in the given order.
|
||||
#export UDEB_INCLUDE="$BASEDIR"/data/$CODENAME/udeb_include
|
||||
|
||||
# File with list of packages to exclude as above.
|
||||
#export UDEB_EXCLUDE="$BASEDIR"/data/$CODENAME/udeb_exclude
|
||||
|
||||
# File with list of packages to include when running debootstrap from
|
||||
# the first stage installer (currently only supported in
|
||||
# debian-installer). One package per line. Lines starting with '#'
|
||||
# are comments. The package order is important, as the packages will
|
||||
# be installed in the given order.
|
||||
#export BASE_INCLUDE="$BASEDIR"/data/$CODENAME/base_include
|
||||
|
||||
# File with list of packages to exclude as above.
|
||||
#export BASE_EXCLUDE="$BASEDIR"/data/$CODENAME/base_exclude
|
||||
|
||||
# Only put the installer onto the cd (set NORECOMMENDS,... as well).
|
||||
# INSTALLER_CD=0: nothing special (default)
|
||||
# INSTALLER_CD=1: just add debian-installer (use TASK=debian-installer)
|
||||
# INSTALLER_CD=2: add d-i and base (use TASK=debian-installer+kernel)
|
||||
#export INSTALLER_CD=0
|
||||
|
||||
# Set to 1 to save space by omitting the release notes
|
||||
# If so we will link to them on the web site.
|
||||
export OMIT_RELEASE_NOTES=1
|
||||
|
||||
# Set this to override the defaul location
|
||||
#export RELEASE_NOTES_LOCATION="http://www.debian.org/releases/$CODENAME"
|
||||
|
||||
case "$OFFICIAL"x in
|
||||
"Official"x)
|
||||
export OFFICIAL_VAL=2
|
||||
;;
|
||||
"Official Beta"x|"Official Snapshot"x)
|
||||
export OFFICIAL_VAL=1
|
||||
;;
|
||||
*)
|
||||
export OFFICIAL_VAL=0
|
||||
;;
|
||||
esac
|
||||
|
||||
# Base link for snapshot.debian.org or similar
|
||||
# "SNAPDATETIME" will be replaced at runtime with the correct data
|
||||
# Leave this unset to not add this entry
|
||||
export SNAPURL=Debian=http://snapshot.debian.org/archive/debian/SNAPDATETIME/
|
|
@ -0,0 +1,103 @@
|
|||
# Common handy shell script functions
|
||||
|
||||
l=/var/run/reboot-lock
|
||||
|
||||
reboot_lock () {
|
||||
exec 3<$l
|
||||
if ! flock --shared -w 0 3; then
|
||||
echo 2>&1 "Cannot acquire reboot lock."
|
||||
#exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
reboot_unlock () {
|
||||
flock --shared -u 3
|
||||
}
|
||||
|
||||
now () {
|
||||
date -u +%F:%H:%M:%S
|
||||
}
|
||||
|
||||
build_description () {
|
||||
case $1 in
|
||||
CD)
|
||||
DESC="Full CD";;
|
||||
DVD)
|
||||
DESC="Full DVD";;
|
||||
BD)
|
||||
DESC="Blu-ray";;
|
||||
DLBD)
|
||||
DESC="Dual-layer Blu-ray";;
|
||||
KDE)
|
||||
DESC="KDE CD";;
|
||||
LIGHTCD)
|
||||
DESC="XFCE/lxde CD";;
|
||||
*)
|
||||
DESC="UNKNOWN";;
|
||||
esac
|
||||
echo "$DESC"
|
||||
}
|
||||
|
||||
calc_time () {
|
||||
echo $1 $2 | awk '
|
||||
{
|
||||
split($1, start, ":")
|
||||
start_time = (3600*start[2]) + (60*start[3]) + start[4]
|
||||
split($2, end, ":")
|
||||
end_time = (3600*end[2]) + (60*end[3]) + end[4]
|
||||
# Cope with going to a new day; do not worry about more than 1 day!
|
||||
if (start[1] != end[1]) { end_time += 86400 }
|
||||
time_taken = end_time - start_time
|
||||
hours = int(time_taken / 3600)
|
||||
time_taken -= (hours * 3600)
|
||||
minutes = int(time_taken / 60)
|
||||
time_taken -= (minutes * 60)
|
||||
seconds = time_taken
|
||||
printf("%dh%2.2dm%2.2ds\n", hours, minutes, seconds)
|
||||
}'
|
||||
}
|
||||
|
||||
build_started () {
|
||||
export BUILDNAME=$1
|
||||
BUILDS_RUNNING="$BUILDS_RUNNING $BUILDNAME"
|
||||
export ${BUILDNAME}START=`now`
|
||||
}
|
||||
|
||||
build_finished () {
|
||||
ARCH="$1"
|
||||
BUILDNAME="$2"
|
||||
BUILDNAMESTART="${BUILDNAME}START"
|
||||
start=${!BUILDNAMESTART}
|
||||
|
||||
. $PUBDIRJIG/$ARCH/$BUILDNAME-trace
|
||||
|
||||
time_spent=`calc_time $start $end`
|
||||
echo " $ARCH $BUILDNAME build started at $start, ended at $end (took $time_spent), error $error"
|
||||
if [ $error -ne 0 ] ; then
|
||||
arch_error="$arch_error "$BUILDNAME"FAIL/$error/$end/$logfile"
|
||||
fi
|
||||
}
|
||||
|
||||
catch_parallel_builds () {
|
||||
# Catch parallel builds here
|
||||
while [ "$BUILDS_RUNNING"x != ""x ] ; do
|
||||
BUILDS_STILL_RUNNING=""
|
||||
for BUILDNAME in $BUILDS_RUNNING; do
|
||||
if [ -e $PUBDIRJIG/$arch/$BUILDNAME-trace ] ; then
|
||||
build_finished $arch $BUILDNAME
|
||||
else
|
||||
BUILDS_STILL_RUNNING="$BUILDS_STILL_RUNNING $BUILDNAME"
|
||||
fi
|
||||
done
|
||||
BUILDS_RUNNING=$BUILDS_STILL_RUNNING
|
||||
if [ "$BUILDS_RUNNING"x != ""x ] ; then
|
||||
sleep 1
|
||||
fi
|
||||
done
|
||||
if [ "$arch_error"x = ""x ] ; then
|
||||
arch_error="none"
|
||||
fi
|
||||
arch_end=`now`
|
||||
arch_time=`calc_time $arch_start $arch_end`
|
||||
echo "$ARCH build started at $arch_start, ended at $arch_end (took $arch_time), error(s) $arch_error"
|
||||
}
|
|
@ -0,0 +1,265 @@
|
|||
#!/bin/bash
|
||||
|
||||
TOPDIR=$(dirname $0)
|
||||
|
||||
. $TOPDIR/settings.sh
|
||||
|
||||
export PUBDIRJIG=$PUBDIR/daily-builds
|
||||
export DATE_BUILD="$DATE-$BUILDNUM"
|
||||
export TESTING_SUITE=wheezy
|
||||
BUILDS_RUNNING=""
|
||||
|
||||
export SID_WANTED=1
|
||||
|
||||
. $TOPDIR/common.sh
|
||||
|
||||
# Make sure the machine isn't rebooted while we're busy
|
||||
reboot_lock
|
||||
|
||||
# If we're doing a normal set of daily/weekly builds, leave the
|
||||
# checksum filenames alone. Otherwise, make life easier for people
|
||||
# combining things later and append a suitable name as we build.
|
||||
if [ "$DEBVERSION"x != "testing"x ] ; then
|
||||
export SUMS_EXTENSION=".small"
|
||||
fi
|
||||
|
||||
finalise_arch_dir () {
|
||||
ARCH=$1
|
||||
INST_VER=$2
|
||||
TYPE=$3
|
||||
|
||||
if [ "$TYPE" = "free" ] ; then
|
||||
ARCH_DIR=$PUBDIRJIG/${INST_VER}_d-i/$DATE_BUILD/$ARCH/
|
||||
elif [ "$TYPE" = "firmware" ] ; then
|
||||
ARCH_DIR=$PUBDIRJIG-firmware/${INST_VER}_d-i/$DATE_BUILD/$ARCH
|
||||
else
|
||||
echo "Uncaught finalise_arch_dir TYPE \"$TYPE\""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Only keep things / do any work here if there are any files in the ARCH_DIR
|
||||
NUM_FILES=`find $ARCH_DIR -type f | wc -l`
|
||||
if [ $NUM_FILES = 0 ] ; then
|
||||
rm -rf $ARCH_DIR
|
||||
else
|
||||
ARCH_ISO_DIR=${ARCH_DIR}/iso-cd
|
||||
ARCH_JIGDO_DIR=${ARCH_DIR}/jigdo-cd
|
||||
|
||||
cd $ARCH_ISO_DIR
|
||||
DATESTRING=`date -u`
|
||||
if [ "$TYPE" = "free" ] ; then
|
||||
sed "s/ARCH/$ARCH/g;s/DATE/$DATESTRING/g;s/BUILDNUM/$BUILDNUM/g;s/INST_VER/$INST_VER/g" $TOPDIR/daily.html > HEADER.html
|
||||
else
|
||||
sed "s/ARCH/$ARCH/g;s/DATE/$DATESTRING/g;s/BUILDNUM/$BUILDNUM/g;s/INST_VER/$INST_VER/g" $TOPDIR/daily-firmware.html > HEADER.html
|
||||
fi
|
||||
$TOPDIR/debian-cd/tools/imagesums $ARCH_JIGDO_DIR $SUMS_EXTENSION
|
||||
cp $ARCH_JIGDO_DIR/*SUMS* $ARCH_ISO_DIR
|
||||
cd ..
|
||||
~/build/mktorrent iso-cd/*iso
|
||||
~/build/mklist iso-cd/*iso
|
||||
cp iso-cd/*SUMS* bt-cd
|
||||
cd $TOPDIR
|
||||
fi
|
||||
}
|
||||
|
||||
export RSYNC_TARGET_FREE=/mnt/nfs-cdimage/daily-builds
|
||||
export RSYNC_TARGET_FIRMWARE=/mnt/nfs-cdimage/unofficial/non-free/cd-including-firmware/daily-builds
|
||||
|
||||
if [ "$ARCHES"x = ""x ] ; then
|
||||
ARCHES="amd64 armel armhf i386 ia64 mips mipsel powerpc sparc multi-arch kfreebsd-amd64 kfreebsd-i386"
|
||||
# ARCHES="amd64"
|
||||
fi
|
||||
|
||||
if [ "$ARCHES_FIRMWARE"x = ""x ] ; then
|
||||
ARCHES_FIRMWARE="amd64 i386 powerpc multi-arch"
|
||||
# ARCHES_FIRMWARE="amd64"
|
||||
fi
|
||||
|
||||
cd $TOPDIR &&
|
||||
if lockfile -r0 .debian-cd.lock ; then
|
||||
|
||||
echo "svn update debian-cd:"
|
||||
cd debian-cd && svn cleanup ; svn up ; cd ..
|
||||
|
||||
cd $TOPDIR
|
||||
|
||||
. images4testing_d-i
|
||||
|
||||
# Allow desktop selection in isolinux menu for i386 and amd64
|
||||
# For other arches this is a harmless no-op
|
||||
export DESKTOP=all
|
||||
export KERNEL_PARAMS="desktop=all"
|
||||
|
||||
for arch in $ARCHES; do
|
||||
rm -rf $PUBDIRJIG/$arch
|
||||
arch_error=""
|
||||
arch_start=`now`
|
||||
|
||||
echo "Building $arch:"
|
||||
for ARCHDIR in \
|
||||
${PUBDIRJIG}/${TESTING_SUITE}_d-i/${DATE_BUILD}/${arch} \
|
||||
${PUBDIRJIG}-firmware/${TESTING_SUITE}_d-i/${DATE_BUILD}/${arch} \
|
||||
; do
|
||||
mkdir -p ${ARCHDIR}/iso-cd ${ARCHDIR}/jigdo-cd
|
||||
done
|
||||
|
||||
if [ "$SID_WANTED" = "1" ] ; then
|
||||
for ARCHDIR in \
|
||||
${PUBDIRJIG}/sid_d-i/${DATE_BUILD}/${arch} \
|
||||
${PUBDIRJIG}-firmware/sid_d-i/${DATE_BUILD}/${arch} \
|
||||
; do
|
||||
mkdir -p ${ARCHDIR}/iso-cd ${ARCHDIR}/jigdo-cd
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$arch" = "multi-arch" ] ; then
|
||||
for arch1 in $ARCHES_FIRMWARE; do
|
||||
if [ "$arch" = "$arch1" ] ; then
|
||||
if [ "$SID_WANTED" = "1" ] ; then
|
||||
build_started SIDNIFIRMWARE
|
||||
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
|
||||
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=C \
|
||||
FORCE_FIRMWARE=1 CDNAME=firmware \
|
||||
TASK=debian-installer+kernel LOGAPPEND="-1" \
|
||||
MAXISOS=ALL MAXJIGDOS=ALL \
|
||||
DI=sid DI_DIST="$DI_DIST" VARIANTS=xen \
|
||||
DI_WWW_HOME=default ./testingcds "amd64 i386" &
|
||||
fi
|
||||
|
||||
build_started TESTINGNIFIRMWARE
|
||||
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
|
||||
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=C \
|
||||
FORCE_FIRMWARE=1 CDNAME=firmware \
|
||||
TASK=debian-installer+kernel LOGAPPEND="-1" \
|
||||
MAXISOS=ALL MAXJIGDOS=ALL \
|
||||
DI=${TESTING_SUITE} DI_DIST="$DI_DIST" VARIANTS=xen \
|
||||
./testingcds "amd64 i386" &
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$SID_WANTED" = "1" ] ; then
|
||||
build_started SIDNI
|
||||
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
|
||||
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \
|
||||
TASK=debian-installer+kernel LOGAPPEND="-1" \
|
||||
MAXISOS=ALL MAXJIGDOS=ALL \
|
||||
DI=sid DI_DIST="$DI_DIST" VARIANTS=xen \
|
||||
DI_WWW_HOME=default ./testingcds "amd64 i386" &
|
||||
fi
|
||||
|
||||
build_started TESTINGNI
|
||||
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
|
||||
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \
|
||||
TASK=debian-installer+kernel LOGAPPEND="-1" \
|
||||
MAXISOS=ALL MAXJIGDOS=ALL \
|
||||
DI=${TESTING_SUITE} DI_DIST="$DI_DIST" VARIANTS=xen \
|
||||
./testingcds "amd64 i386" &
|
||||
|
||||
catch_parallel_builds
|
||||
rm -rf $PUBDIRJIG/$arch
|
||||
if [ "$arch_error"x = "none"x ] ; then
|
||||
finalise_arch_dir $arch ${TESTING_SUITE} free
|
||||
finalise_arch_dir $arch ${TESTING_SUITE} firmware
|
||||
if [ "$SID_WANTED" = "1" ] ; then
|
||||
finalise_arch_dir $arch sid free
|
||||
finalise_arch_dir $arch sid firmware
|
||||
fi
|
||||
fi
|
||||
|
||||
else # end of m-a
|
||||
|
||||
for arch1 in $ARCHES_FIRMWARE; do
|
||||
if [ "$arch" = "$arch1" ] ; then
|
||||
if [ "$SID_WANTED" = "1" ] ; then
|
||||
build_started SIDNIFIRMWARE
|
||||
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
|
||||
FORCE_FIRMWARE=1 CDNAME=firmware \
|
||||
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=C \
|
||||
TASK=debian-installer+kernel MAXISOS=ALL MAXJIGDOS=ALL \
|
||||
DI=sid DI_WWW_HOME=default DI_DIR="$ARCH_DI_DIR" \
|
||||
./testingcds "$arch" &
|
||||
fi
|
||||
|
||||
build_started TESTINGNIFIRMWARE
|
||||
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
|
||||
FORCE_FIRMWARE=1 CDNAME=firmware \
|
||||
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=C \
|
||||
TASK=debian-installer+kernel MAXISOS=ALL MAXJIGDOS=ALL \
|
||||
DI=${TESTING_SUITE} DI_DIST="$DI_DIST" \
|
||||
./testingcds "$arch" &
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$SID_WANTED" = "1" ] ; then
|
||||
build_started SIDBC
|
||||
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
|
||||
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=1 \
|
||||
TASK=debian-installer MAXISOS=ALL MAXJIGDOS=ALL \
|
||||
DI=sid DI_WWW_HOME=default DI_DIR="$ARCH_DI_DIR" \
|
||||
./testingcds "$arch" &
|
||||
|
||||
build_started SIDNI
|
||||
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
|
||||
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \
|
||||
TASK=debian-installer+kernel MAXISOS=ALL MAXJIGDOS=ALL \
|
||||
DI=sid DI_WWW_HOME=default DI_DIR="$ARCH_DI_DIR" \
|
||||
./testingcds "$arch" &
|
||||
fi
|
||||
|
||||
build_started TESTINGBC
|
||||
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
|
||||
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=1 \
|
||||
TASK=debian-installer MAXISOS=ALL MAXJIGDOS=ALL \
|
||||
DI=${TESTING_SUITE} DI_DIST="$DI_DIST" \
|
||||
./testingcds "$arch" &
|
||||
|
||||
build_started TESTINGNI
|
||||
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
|
||||
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \
|
||||
TASK=debian-installer+kernel MAXISOS=ALL MAXJIGDOS=ALL \
|
||||
DI=${TESTING_SUITE} DI_DIST="$DI_DIST" \
|
||||
./testingcds "$arch" &
|
||||
|
||||
catch_parallel_builds
|
||||
rm -rf $PUBDIRJIG/$arch
|
||||
if [ "$arch_error"x = "none"x ] ; then
|
||||
finalise_arch_dir $arch ${TESTING_SUITE} free
|
||||
finalise_arch_dir $arch ${TESTING_SUITE} firmware
|
||||
if [ "$SID_WANTED" = "1" ] ; then
|
||||
finalise_arch_dir $arch sid free
|
||||
finalise_arch_dir $arch sid firmware
|
||||
fi
|
||||
fi
|
||||
|
||||
fi # end of normal arch build
|
||||
done
|
||||
|
||||
if [ "$NOSYNC"x = ""x ] ; then
|
||||
|
||||
echo "Clean up old builds on build machine:"
|
||||
for DIR in $PUBDIRJIG/* $PUBDIRJIG-firmware/* ; do
|
||||
cd $DIR
|
||||
for THIS in 20* ; do
|
||||
if [ $THIS != $DATE-$BUILDNUM ] ; then
|
||||
echo " Deleting $DIR/$THIS"
|
||||
rm -rf $DIR/$THIS
|
||||
fi
|
||||
done
|
||||
done
|
||||
|
||||
echo "Sync normal builds across to output dir: $RSYNC_TARGET_FREE"
|
||||
rsync -rHltv $PUBDIRJIG/ $RSYNC_TARGET_FREE/
|
||||
echo "Remove extra builds for normal dailies:"
|
||||
~/bin/remove_extra_dailies $RSYNC_TARGET_FREE "$ARCHES"
|
||||
|
||||
echo "Sync firmware builds across to output dir: $RSYNC_TARGET_FIRMWARE"
|
||||
rsync -rHltv $PUBDIRJIG-firmware/ $RSYNC_TARGET_FIRMWARE/
|
||||
echo "Remove extra builds for firmware dailies:"
|
||||
~/bin/remove_extra_dailies $RSYNC_TARGET_FIRMWARE "$ARCHES_FIRMWARE"
|
||||
|
||||
echo "$DATE-$BUILDNUM" > $RSYNC_TARGET_FREE/daily-trace
|
||||
fi
|
||||
|
||||
cd $TOPDIR
|
||||
rm -f .debian-cd.lock
|
||||
fi
|
|
@ -0,0 +1,254 @@
|
|||
#!/bin/bash
|
||||
|
||||
export TOPDIR=$(dirname $0)
|
||||
|
||||
. $TOPDIR/settings.sh
|
||||
|
||||
export PUBDIRJIG=$PUBDIR/weekly-builds
|
||||
export DATE_BUILD="$DATE-$BUILDNUM"
|
||||
|
||||
. $TOPDIR/common.sh
|
||||
|
||||
# Make sure the machine isn't rebooted while we're busy
|
||||
reboot_lock
|
||||
|
||||
export RSYNC_TARGET=/mnt/nfs-cdimage/weekly-builds
|
||||
|
||||
# If we're doing a normal set of daily/weekly builds, leave the
|
||||
# checksum filenames alone. Otherwise, make life easier for people
|
||||
# combining things later and append a suitable name as we build.
|
||||
if [ "$DEBVERSION"x != "testing"x ] ; then
|
||||
export SUMS_EXTENSION=".large"
|
||||
fi
|
||||
|
||||
. images4testing_d-i
|
||||
|
||||
# Uncomment the following to use daily d-i builds for weekly images
|
||||
# rather than what's in the archive
|
||||
#USE_DAILY_DI=Y
|
||||
|
||||
if [ "$USE_DAILY_DI"x = "Y"x ] ; then
|
||||
export DI=sid
|
||||
export DI_WWW_HOME=default
|
||||
else
|
||||
unset DI_WWW_HOME
|
||||
fi
|
||||
|
||||
export DI_DIST
|
||||
export DI_CODENAME
|
||||
|
||||
BUILDS_RUNNING=""
|
||||
|
||||
if [ "$ARCHES"x = ""x ] ; then
|
||||
ARCHES="i386 source amd64 multi powerpc armel armhf ia64 mips mipsel s390 s390x sparc kfreebsd-amd64 kfreebsd-i386"
|
||||
fi
|
||||
|
||||
if lockfile -r0 $TOPDIR/.debian-cd.lock ; then
|
||||
# echo "NOT checking for svn updates"
|
||||
echo "svn update debian-cd"
|
||||
cd debian-cd && svn cleanup; svn up ; cd ..
|
||||
|
||||
# echo "NOT checking for popcon updates"
|
||||
cd debian-cd && ./tools/update_popcon tasks/wheezy/popularity-contest ; cd ..
|
||||
|
||||
cd $TOPDIR
|
||||
mkdir -p $PUBDIRJIG/trace
|
||||
mkdir -p $RSYNC_TARGET
|
||||
|
||||
for arch in $ARCHES; do
|
||||
# Reset envvars for next iteration
|
||||
arch_error=""
|
||||
if [ "$arch" != multi ] ; then
|
||||
rm -rf $PUBDIRJIG/$arch
|
||||
mkdir -p $PUBDIRJIG/$arch
|
||||
arch_start=`now`
|
||||
|
||||
# export DI_DIR="$ARCH_DI_DIR"
|
||||
export VARIANTS=""
|
||||
|
||||
# Full CD set
|
||||
if [ "$NOCD"x = ""x ] && [ "$NOFULLCD"x = ""x ] ; then
|
||||
unset FORCE_CD_SIZE1
|
||||
export MAX_PKG_SIZE=500000000
|
||||
case $arch in
|
||||
i386|amd64|source)
|
||||
export MAXISOS=ALL; export MAXJIGDOS=ALL ;;
|
||||
powerpc)
|
||||
export MAXISOS=8; export MAXJIGDOS=ALL ;;
|
||||
*)
|
||||
export MAXISOS=3; export MAXJIGDOS=ALL ;;
|
||||
esac
|
||||
build_started CD
|
||||
./testingcds "$arch" &
|
||||
fi
|
||||
|
||||
# Full DVD set
|
||||
if [ "$NODVD"x = ""x ] ; then
|
||||
unset FORCE_CD_SIZE1
|
||||
export MAX_PKG_SIZE=999999999999
|
||||
case $arch in
|
||||
i386|amd64)
|
||||
export MAXISOS=ALL
|
||||
export MAXJIGDOS=ALL
|
||||
export VARIANTS=xen
|
||||
# Special case: make DVD1 fit on a 4GB USB
|
||||
# stick (#612074)
|
||||
export FORCE_CD_SIZE1=STICK4GB
|
||||
;;
|
||||
source)
|
||||
export MAXISOS=ALL; export MAXJIGDOS=ALL ;;
|
||||
*)
|
||||
export MAXISOS=1; export MAXJIGDOS=ALL ;;
|
||||
esac
|
||||
export DESKTOP=all
|
||||
build_started DVD
|
||||
INSTALLER_CD=3 TASK=Debian-all \
|
||||
KERNEL_PARAMS='desktop=all' \
|
||||
./testingcds "$arch" &
|
||||
fi
|
||||
|
||||
# Full BD set
|
||||
if [ "$NOBD"x = ""x ] ; then
|
||||
unset DESKTOP
|
||||
unset FORCE_CD_SIZE1
|
||||
export MAX_PKG_SIZE=999999999999
|
||||
case $arch in
|
||||
i386|amd64|source)
|
||||
export MAXISOS=0
|
||||
export MAXJIGDOS=ALL
|
||||
export DESKTOP=all
|
||||
export VARIANTS=xen
|
||||
build_started BD
|
||||
INSTALLER_CD=9 TASK=Debian-all \
|
||||
KERNEL_PARAMS='desktop=all' \
|
||||
./testingcds "$arch" &
|
||||
;;
|
||||
*)
|
||||
echo " Not running BD build for $arch"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# Full DLBD set
|
||||
if [ "$NOBD"x = ""x ] ; then
|
||||
unset DESKTOP
|
||||
unset FORCE_CD_SIZE1
|
||||
export MAX_PKG_SIZE=999999999999
|
||||
case $arch in
|
||||
i386|amd64|source)
|
||||
export MAXISOS=0
|
||||
export MAXJIGDOS=ALL
|
||||
export DESKTOP=all
|
||||
export VARIANTS=xen
|
||||
build_started DLBD
|
||||
INSTALLER_CD=D TASK=Debian-all \
|
||||
KERNEL_PARAMS='desktop=all' \
|
||||
./testingcds "$arch" &
|
||||
;;
|
||||
*)
|
||||
echo " Not running DLBD build for $arch"
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
# kde and xfce/lxde cds
|
||||
if [ "$arch"x != "source"x ] && [ "$NOCD"x = ""x ] ; then
|
||||
if [ "$NOKDECD"x = ""x ] ; then
|
||||
export MAX_PKG_SIZE=300000000
|
||||
export DESKTOP=kde
|
||||
export MAXISOS=1; export MAXJIGDOS=1
|
||||
unset FORCE_CD_SIZE1
|
||||
export VARIANTS=""
|
||||
build_started KDECD
|
||||
INSTALLER_CD=4 TASK=Debian-kde \
|
||||
KERNEL_PARAMS='desktop=kde' \
|
||||
MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \
|
||||
./testingcds "$arch" &
|
||||
fi
|
||||
|
||||
if [ "$NOLIGHTCD"x = ""x ] ; then
|
||||
export MAX_PKG_SIZE=300000000
|
||||
export DESKTOP=light
|
||||
export MAXISOS=1; export MAXJIGDOS=1
|
||||
unset FORCE_CD_SIZE1
|
||||
export VARIANTS=""
|
||||
build_started LIGHTCD
|
||||
INSTALLER_CD=B TASK=Debian-light \
|
||||
KERNEL_PARAMS='desktop=light' \
|
||||
MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \
|
||||
./testingcds "$arch" &
|
||||
fi
|
||||
fi
|
||||
|
||||
catch_parallel_builds
|
||||
|
||||
if [ "$NOSYNC"x = ""x ] ; then
|
||||
if [ "$arch_error"x = "none"x ] ; then
|
||||
echo " Running ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ $arch &"
|
||||
~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ $arch &
|
||||
else
|
||||
~/build/report_build_error $RSYNC_TARGET $arch "$arch_error"
|
||||
fi
|
||||
fi
|
||||
else # multi
|
||||
rm -rf $PUBDIRJIG/multi-arch
|
||||
for i in iso-dvd jigdo-dvd; do
|
||||
mkdir -p $PUBDIRJIG/multi-arch/$i
|
||||
done
|
||||
|
||||
if [ "$NODVD"x = ""x ] ; then
|
||||
export MAX_PKG_SIZE=999999999999
|
||||
export DESKTOP=all
|
||||
# Special case: make DVD1 fit on a 4GB USB
|
||||
# stick (#612074)
|
||||
build_started DVD
|
||||
export FORCE_CD_SIZE1=STICK4GB
|
||||
INSTALLER_CD=6 TASK=Debian-all \
|
||||
KERNEL_PARAMS='desktop=all' \
|
||||
MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \
|
||||
VARIANTS=xen \
|
||||
./testingcds "i386 amd64 source"
|
||||
# We don't do multi in parallel, only one build type
|
||||
# to do!
|
||||
build_finished $arch $BUILDNAME $DVDSTART
|
||||
|
||||
mv $PUBDIRJIG/multi/jigdo-dvd/debian* $PUBDIRJIG/multi-arch/jigdo-dvd
|
||||
for file in $PUBDIRJIG/multi/jigdo-dvd/*SUMS$SUMS_EXTENSION; do
|
||||
outfile=$PUBDIRJIG/multi-arch/jigdo-dvd/`basename $file`
|
||||
cat $file >> $outfile
|
||||
done
|
||||
|
||||
mv $PUBDIRJIG/multi/iso-dvd/debian* $PUBDIRJIG/multi-arch/iso-dvd
|
||||
for file in $PUBDIRJIG/multi/iso-dvd/*SUMS$SUMS_EXTENSION; do
|
||||
outfile=$PUBDIRJIG/multi-arch/iso-dvd/`basename $file`
|
||||
cat $file >> $outfile
|
||||
done
|
||||
|
||||
rm -rf $PUBDIRJIG/multi
|
||||
fi
|
||||
|
||||
if [ "$NOSYNC"x = ""x ] ; then
|
||||
if [ "$arch_error"x = "none"x ] || [ "$arch_error"x = ""x ] ; then
|
||||
echo " Running ~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch &"
|
||||
~/build/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch &
|
||||
else
|
||||
~/build/report_build_error $RSYNC_TARGET multi-arch "$arch_error"
|
||||
fi
|
||||
fi
|
||||
fi # end of multi
|
||||
|
||||
done
|
||||
|
||||
if [ "$NOFW"x = ""x ] ; then
|
||||
~/build/generate_firmware_images wheezy
|
||||
~/build/generate_firmware_images sid
|
||||
fi
|
||||
|
||||
if [ "$NOSNAP"x = ""x ] ; then
|
||||
~/bin/weekly-snapshots
|
||||
fi
|
||||
|
||||
date -u > $PUBDIRJIG/trace/cdimage.debian.org
|
||||
|
||||
rm -f $TOPDIR/.debian-cd.lock
|
||||
fi
|
|
@ -0,0 +1,13 @@
|
|||
<h1>Daily "firmware" build #BUILDNUM for ARCH, using installer build from INST_VER</h1>
|
||||
|
||||
<p>These images will install the testing version of Debian, currently
|
||||
<strong>Wheezy</strong>. They include non-free firmware to make
|
||||
installation easier on some systems requiring proprietary but
|
||||
redistributable
|
||||
firmware. See <a href="http://wiki.debian.org/Firmware">http://wiki.debian.org/Firmware</a>
|
||||
for more details. </p>
|
||||
|
||||
<p>See the <a href="/cdimage/daily-builds/">top-level daily
|
||||
directory</a> for more information about the daily builds.</p>
|
||||
|
||||
<p>This build finished at <strong>DATE</strong>.</p>
|
|
@ -0,0 +1,9 @@
|
|||
<h1>Daily build #BUILDNUM for ARCH, using installer build from INST_VER</h1>
|
||||
|
||||
<p>These images will install the testing version of Debian, currently
|
||||
<strong>Wheezy</strong>.</p>
|
||||
|
||||
<p>See the <a href="/cdimage/daily-builds/">top-level daily
|
||||
directory</a> for more information about the daily builds.</p>
|
||||
|
||||
<p>This build finished at <strong>DATE</strong>.</p>
|
|
@ -0,0 +1,111 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
TOPDIR=`pwd`
|
||||
. $TOPDIR/settings.sh
|
||||
. $TOPDIR/.ftp.buildnum
|
||||
|
||||
MYCOPY=$TOPDIR/.ftp.cron
|
||||
BUILDLOCK=$TOPDIR/.debian-cd.lock
|
||||
MAILLIST=$TOPDIR/.debian-cd.mail
|
||||
|
||||
# Change these to abort daily/weekly builds as appropriate
|
||||
ABORT_DAILY=n
|
||||
ABORT_WEEKLY=n
|
||||
|
||||
if [ "$1"x = "-f"x ] ; then
|
||||
FORCE=1
|
||||
fi
|
||||
|
||||
mail_list() {
|
||||
if [ -e "$MAILLIST" ] ; then
|
||||
MYEMAIL=`grep -v "^#" "$MAILLIST"`
|
||||
else
|
||||
MYEMAIL=`whoami`
|
||||
fi
|
||||
for i in $MYEMAIL
|
||||
do
|
||||
cat "$MYCOPY"|mail -s "$1" "$i"
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
if [ -f "$TRACE" ] ; then
|
||||
if [ "$FORCE"x = "1"x ] || ! /usr/bin/cmp -s "$MYCOPY".lastbuild "$TRACE" ; then
|
||||
if [ -e "$BUILDLOCK" ]; then
|
||||
if ! /usr/bin/cmp -s "$MYCOPY" "$TRACE" ; then
|
||||
if ! /usr/bin/cmp -s "$MYCOPY" "$MYCOPY".building ; then
|
||||
mail_list "testingcds missed the daily build for the pulse because of a lock"
|
||||
fi
|
||||
cp "$TRACE" "$MYCOPY"
|
||||
cat "$MYCOPY" >> "$MYCOPY".stats
|
||||
fi
|
||||
else
|
||||
if ! /usr/bin/cmp -s "$MYCOPY" "$TRACE" ; then
|
||||
cp "$TRACE" "$MYCOPY"
|
||||
cat "$MYCOPY" >> "$MYCOPY".stats
|
||||
fi
|
||||
|
||||
# Work out the next build date/number combo
|
||||
if [ "$LASTDATE"x != "$DATE"x ] ; then
|
||||
BUILDNUM=1
|
||||
else
|
||||
BUILDNUM=$(($LASTBUILDNUM + 1))
|
||||
fi
|
||||
echo "LASTDATE=$DATE" > $TOPDIR/.ftp.buildnum
|
||||
echo "LASTBUILDNUM=$BUILDNUM" >> $TOPDIR/.ftp.buildnum
|
||||
export DATE BUILDNUM
|
||||
|
||||
echo "Last build was $LASTDATE-$LASTBUILDNUM"
|
||||
echo "New build will be $DATE-$BUILDNUM"
|
||||
|
||||
cp "$MYCOPY" "$MYCOPY".building
|
||||
|
||||
# "Daily" builds
|
||||
# Only run certain builds, otherwise we're just wasting
|
||||
# time reproducing identical results:
|
||||
# - archive changes are likely to be minimal
|
||||
# - packages only get uploaded at best once daily for most buildds
|
||||
# - it's fairly unlikely they'll actually affect/improve installs,
|
||||
# especially for the small images
|
||||
# - D-I images only get built once or at most twice daily
|
||||
DAILIES_DESIRED="1 5"
|
||||
ODD_BUILD=`echo "$BUILDNUM % 2" | bc`
|
||||
if [ "$ABORT_DAILY"x = "y"x ] && [ "$FORCE"x != "1"x ] ; then
|
||||
echo "BAILING OUT OF DAILY BUILD"
|
||||
mail_list "$HOSTNAME BAILING OUT OF DAILY BUILD"
|
||||
elif [ "$ODD_BUILD" = "0" ] && [ "$FORCE"x != "1"x ] ; then
|
||||
echo "Not running even-numbered daily build #$BUILDNUM"
|
||||
else
|
||||
echo "Running daily build #$BUILDNUM."
|
||||
if [ "$FORCE"x = "1"x ] ; then
|
||||
echo "Build forced by hand"
|
||||
else
|
||||
echo "Triggered by mirror pulse:"
|
||||
cat "$TRACE"
|
||||
fi
|
||||
$TOPDIR/cronjob.daily
|
||||
cp "$MYCOPY" "$MYCOPY".lastbuild
|
||||
if ! /usr/bin/cmp -s "$MYCOPY".lastbuild "$TRACE" ; then
|
||||
mail_list "testingcds has detected a pulse while we were building dailies"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Weekly build
|
||||
if [ `date +%a` = "Mon" -a "$BUILDNUM"x = "1"x ] ; then
|
||||
if [ "$ABORT_WEEKLY"x = "y"x ] && [ "$FORCE"x != "1"x ] ; then
|
||||
echo "BAILING OUT OF WEEKLY BUILD"
|
||||
mail_list "$HOSTNAME BAILING OUT OF WEEKLY BUILD"
|
||||
else
|
||||
$TOPDIR/cronjob.weekly
|
||||
fi
|
||||
fi
|
||||
cd $HOME && ./bin/cdbuilder_log_analyser > build/log/analysis.html
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
exit 1
|
||||
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/sh
|
||||
|
||||
set -e
|
||||
|
||||
OUT=/mnt/nfs-cdimage/unofficial/non-free/firmware
|
||||
TOPDIR=~/build
|
||||
SUITE=$1
|
||||
|
||||
. $TOPDIR/CONF.sh
|
||||
|
||||
if [ "$SUITE"x = ""x ] ; then
|
||||
echo "Need to know what to produce!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Do stuff here!
|
||||
export TDIR=/org/cdbuilder.debian.org/dst/deb-cd/tmp/firmware
|
||||
export BASEDIR=$TOPDIR/debian-cd
|
||||
mkdir -p $TDIR
|
||||
fakeroot $BASEDIR/tools/make-firmware-image $MIRROR $SUITE $TDIR
|
||||
|
||||
DATE=`date +%Y%m%d`
|
||||
mkdir -p $OUT/$SUITE/$DATE
|
||||
mv $TDIR/firmware*.* $OUT/$SUITE/$DATE/
|
||||
|
||||
# Update the current link, and delete the old surplus builds. Keep up
|
||||
# to 3
|
||||
cd $OUT/$SUITE
|
||||
rm -f current
|
||||
ln -sf $DATE current
|
||||
|
||||
echo "Removing old firmware directories:"
|
||||
NUM=`ls -d 20*/ 2>/dev/null |wc -l`
|
||||
NUM=$(($NUM-6))
|
||||
if [ "$NUM" -gt "0" ] ; then
|
||||
REMOVE=`ls -1d 20* 2>/dev/null|head -n $NUM`
|
||||
echo " $REMOVE"
|
||||
rm -rf $REMOVE
|
||||
fi
|
|
@ -0,0 +1,173 @@
|
|||
#!/usr/bin/perl -w
|
||||
#
|
||||
# Grab bug information from the Debian BTS via SOAP, and update the
|
||||
# HEADER.html pages on cdimage.debian.org using that information
|
||||
#
|
||||
# Copyright 2011 Steve McIntyre <93sam@debian.org>
|
||||
# GPL v2
|
||||
|
||||
use strict;
|
||||
use lib '/usr/share/devscripts';
|
||||
use Devscripts::Debbugs;
|
||||
use Getopt::Long;
|
||||
use Data::Dumper;
|
||||
|
||||
my ($daily_out, $weekly_out, $release_out);
|
||||
GetOptions ("daily=s" => \$daily_out,
|
||||
"weekly=s" => \$weekly_out,
|
||||
"release=s" => \$release_out);
|
||||
|
||||
my $bugs;
|
||||
my $num_bugs;
|
||||
my $status;
|
||||
my %severities = (
|
||||
wishlist => 1,
|
||||
minor => 2,
|
||||
normal => 3,
|
||||
important => 4,
|
||||
serious => 5,
|
||||
grave => 6,
|
||||
critical => 7
|
||||
);
|
||||
my (@dailies, @weeklies, @releases);
|
||||
my $text;
|
||||
my $time_text;
|
||||
|
||||
sub get_time()
|
||||
{
|
||||
my @tm;
|
||||
my $text;
|
||||
|
||||
@tm = gmtime();
|
||||
$text = sprintf("%4d-%02d-%02d %02d:%02d:%02d UTC",
|
||||
(1900 + $tm[5]),(1 + $tm[4]),$tm[3],$tm[2],$tm[1],$tm[0]);
|
||||
return $text;
|
||||
}
|
||||
|
||||
sub sort_bug ($$)
|
||||
{
|
||||
my $a = shift;
|
||||
my $b = shift;
|
||||
if ($severities{$status->{$a}{"severity"}} > $severities{$status->{$b}{"severity"}}) {
|
||||
return -1;
|
||||
}
|
||||
if ($severities{$status->{$a}{"severity"}} < $severities{$status->{$b}{"severity"}}) {
|
||||
return 1;
|
||||
}
|
||||
return ($a cmp $b);
|
||||
}
|
||||
|
||||
sub print_bugs (\@)
|
||||
{
|
||||
my $listref = shift;
|
||||
my @list = @$listref;
|
||||
my $last_severity = "GUARD";
|
||||
my $num_bugs = scalar (@list);
|
||||
my $text = "";
|
||||
|
||||
if ($num_bugs) {
|
||||
for my $bug (@list) {
|
||||
my $severity = $status->{$bug}{"severity"};
|
||||
if ($severity !~ $last_severity) {
|
||||
if ($last_severity !~ "GUARD") {
|
||||
$text .= " </ul>\n";
|
||||
} else {
|
||||
$text .= "<ul>\n";
|
||||
}
|
||||
$text .= " <li>Severity: $severity\n";
|
||||
$text .= " <ul>\n";
|
||||
}
|
||||
$last_severity = $severity;
|
||||
$text .= " <li><a href=\"http://bugs.debian.org/$bug\">$bug</a>: ";
|
||||
$text .= $status->{$bug}{"subject"} . "\n";
|
||||
}
|
||||
$text .= " </ul>\n";
|
||||
$text .= "</ul>\n";
|
||||
} else {
|
||||
$text .= "<p>No bugs found</p>\n";
|
||||
}
|
||||
}
|
||||
|
||||
sub update_file($$$)
|
||||
{
|
||||
my $file = shift;
|
||||
my $text = shift;
|
||||
my $time_text = shift;
|
||||
my $update = 0;
|
||||
|
||||
if (-f $file) {
|
||||
open(IN, "<", $file) or die "Can't open input file \"$file\" for reading\n";
|
||||
open(OUT, ">", "$file.new") or die "Can't open output file \"$file.new\" for writing\n";
|
||||
|
||||
while (my $line = <IN>) {
|
||||
if ($line =~ /<!-- END BUGS -->/)
|
||||
{
|
||||
print OUT "<p>Last bug check: $time_text</p>\n";
|
||||
$update = 0;
|
||||
}
|
||||
if (!$update) {
|
||||
print OUT $line;
|
||||
}
|
||||
if ($line =~ /<!-- START BUGS -->/)
|
||||
{
|
||||
$update = 1;
|
||||
print OUT $text;
|
||||
}
|
||||
}
|
||||
close(IN);
|
||||
close(OUT);
|
||||
rename "$file.new", "$file";
|
||||
}
|
||||
}
|
||||
|
||||
$bugs = Devscripts::Debbugs::select("package:cdimage.debian.org", "tags:d-i", "status", "tags");
|
||||
if (not defined $bugs) {
|
||||
die "Error while retrieving bugs from SOAP server";
|
||||
}
|
||||
|
||||
$status = Devscripts::Debbugs::status(@{$bugs});
|
||||
for my $bug (keys %{$status}) {
|
||||
my @versions = (@{$status->{$bug}{"found_versions"}});
|
||||
my $version;
|
||||
if (!$status->{$bug}{"done"}) {
|
||||
foreach my $tmpver (@versions) {
|
||||
if ($tmpver =~ m/daily-image-(.*)$/) {
|
||||
$version = $1;
|
||||
push(@dailies, $bug);
|
||||
} elsif ($tmpver =~ m/weekly-image/) {
|
||||
$version = "";
|
||||
push(@weeklies, $bug);
|
||||
} elsif ($tmpver =~ m/(\S*)-image/) {
|
||||
$version = $1;
|
||||
push(@releases, $bug);
|
||||
} else {
|
||||
print "unknown ver: " . $tmpver . "\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$time_text = get_time();
|
||||
my $num_files = 0;
|
||||
|
||||
if (defined ($daily_out)) {
|
||||
@dailies = sort sort_bug @dailies;
|
||||
$text = print_bugs(@dailies);
|
||||
update_file($daily_out, $text, $time_text);
|
||||
$num_files++;
|
||||
}
|
||||
if (defined ($weekly_out)) {
|
||||
@weeklies = sort sort_bug @weeklies;
|
||||
$text = print_bugs(@weeklies);
|
||||
update_file($weekly_out, $text, $time_text);
|
||||
$num_files++;
|
||||
}
|
||||
if (defined ($release_out)) {
|
||||
@releases = sort sort_bug @releases;
|
||||
$text = print_bugs(@releases);
|
||||
update_file($release_out, $text, $time_text);
|
||||
$num_files++;
|
||||
}
|
||||
if (!$num_files) {
|
||||
die "No output files defined\n";
|
||||
}
|
|
@ -0,0 +1,97 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# Helper for image creation
|
||||
#
|
||||
PUBDIRJIG=$1
|
||||
RSYNC_TARGET=$2
|
||||
ARCH=$3
|
||||
|
||||
LOG=~/build/log/$ARCH.iso_run
|
||||
HOSTNAME=`hostname -f`
|
||||
LOCK=~/iso_run.lock
|
||||
START=`date -u +%H:%M:%S`
|
||||
|
||||
# Check to see if another sync is in progress
|
||||
if lockfile -! -l 43200 -r-1 "$LOCK"; then
|
||||
echo $HOSTNAME is not doing another iso_run, lock file $LOCK exists
|
||||
exit 1
|
||||
fi
|
||||
trap "rm -f $LOCK > /dev/null 2>&1" exit
|
||||
|
||||
rm -f $LOG
|
||||
|
||||
# Given an ISO image:
|
||||
# 1. create the torrent file
|
||||
# 2. copy all of them into place
|
||||
process_iso() {
|
||||
FILE=$1
|
||||
OUTDIR=$2
|
||||
|
||||
BTFILE=`echo $FILE.torrent | sed 's/iso-/bt-/'`
|
||||
~/build/mktorrent $FILE >> $LOG
|
||||
|
||||
echo $OUTDIR/$FILE >> $LOG
|
||||
cp -a $FILE $OUTDIR/$FILE
|
||||
echo $OUTDIR/$BTFILE >> $LOG
|
||||
cp -a $BTFILE $OUTDIR/$BTFILE
|
||||
}
|
||||
|
||||
# Poor man's rsync, but with some local optimisations
|
||||
copy_files() {
|
||||
SRC=$1
|
||||
TARGET=$2
|
||||
ARCHES=$3
|
||||
|
||||
CURRENT=`pwd`
|
||||
cd $SRC
|
||||
for ARCH in $ARCHES
|
||||
do
|
||||
for DISKTYPE in dvd cd bd dlbd; do
|
||||
for DIRTYPE in bt iso jigdo list; do
|
||||
mkdir -p -m775 $TARGET/$ARCH.tmp/$DIRTYPE-$DISKTYPE
|
||||
done
|
||||
done
|
||||
|
||||
cd $ARCH
|
||||
find . -name '*.jigdo' -o -name '*.template' \
|
||||
-o -name '*.list.gz' -o -name '*SUMS*' | \
|
||||
xargs tar cf - | (cd $TARGET/$ARCH.tmp/ && tar xvf -) >> $LOG
|
||||
|
||||
rm -rf bt-*
|
||||
mkdir bt-cd bt-dvd bt-bd bt-dlbd
|
||||
for FILE in iso-*/*.iso; do
|
||||
if [ -e $FILE ] ; then
|
||||
process_iso $FILE $TARGET/$ARCH.tmp
|
||||
fi
|
||||
done
|
||||
for DISKTYPE in dvd cd bd dlbd; do
|
||||
for FILE in $TARGET/$ARCH.tmp/iso-$DISKTYPE/*SUMS*; do
|
||||
if [ -e $FILE ] ; then
|
||||
cp -al $FILE $TARGET/$ARCH.tmp/bt-$DISKTYPE/
|
||||
fi
|
||||
done
|
||||
done
|
||||
DATE=`date -u`
|
||||
sed "s/ARCH/$ARCH/g;s/DATE/$DATE/g" ~/build/weekly.html \
|
||||
> $TARGET/$ARCH.tmp/HEADER.html
|
||||
cd ..
|
||||
done
|
||||
cd $CURRENT
|
||||
}
|
||||
|
||||
copy_files $PUBDIRJIG $RSYNC_TARGET $ARCH
|
||||
|
||||
echo "$START: Starting $ARCH sync from $PUBDIRJIG to $RSYNC_TARGET" >> $LOG
|
||||
if [ -e $RSYNC_TARGET/$ARCH ] ; then
|
||||
mv -f $RSYNC_TARGET/$ARCH $RSYNC_TARGET/$ARCH.old
|
||||
fi
|
||||
mv $RSYNC_TARGET/$ARCH.tmp $RSYNC_TARGET/$ARCH
|
||||
rm -rf $RSYNC_TARGET/$ARCH.old &
|
||||
|
||||
# Update the trace file now to force a sync on free.hands.com after each arch
|
||||
mkdir -p $RSYNC_TARGET/trace
|
||||
date -u > $RSYNC_TARGET/trace/cdimage.debian.org
|
||||
|
||||
END=`date -u +%H:%M:%S`
|
||||
echo "$ARCH synced across; started at $START, ended at $END"
|
||||
echo "$END: Finished" >> $LOG
|
|
@ -0,0 +1,55 @@
|
|||
#!/bin/bash
|
||||
|
||||
STATE=/home/stevem/watch-state
|
||||
|
||||
R_HOST=cd-builder.debian.net
|
||||
R_LOC=testing/weekly-builds
|
||||
R_WEBROOT=$R_LOC
|
||||
R_RSYNCROOT=/org/cdimage.debian.org/www/$R_LOC
|
||||
R_USER=steve
|
||||
|
||||
CACHE_DIR=/org/jigdo-snapshots
|
||||
OUT_DIR=/org/jigdo-area/testing
|
||||
MIRROR=/org/ftp/debian
|
||||
SNAP_AREA=/org/jigdo-area/snapshot
|
||||
LOCK=$STATE/lock
|
||||
|
||||
# Check to see if another sync is in progress
|
||||
if lockfile -! -l 43200 -r 0 "$LOCK" >/dev/null 2>&1 ; then
|
||||
# echo `hostname` is unable to start CD sync, lock file exists
|
||||
exit 1
|
||||
fi
|
||||
trap "rm -f $LOCK > /dev/null 2>&1" exit
|
||||
|
||||
wget -q -O $STATE/cd.new http://$R_HOST/$R_WEBROOT/trace/bla.wolffelaar.nl
|
||||
OLD=`cat $STATE/cd`
|
||||
NEW=`cat $STATE/cd.new`
|
||||
if [ "$OLD"x != "$NEW"x ] ; then
|
||||
echo "Old date $OLD, New $NEW"
|
||||
echo "Time to get new jigdos"
|
||||
mv -f $STATE/cd.new $STATE/cd
|
||||
|
||||
rsync -rvtlz --delete \
|
||||
$R_USER@$R_HOST:$R_RSYNCROOT/ \
|
||||
$OUT_DIR/
|
||||
|
||||
SNAP_DATE=`date +%Y%m%d`
|
||||
echo "And snapshot to $SNAP_DATE"
|
||||
|
||||
mkdir -p $CACHE_DIR/$SNAP_DATE
|
||||
cd $OUT_DIR
|
||||
find . -name '*.jigdo' | xargs tar cf - | ( cd $CACHE_DIR/$SNAP_DATE && tar xf - )
|
||||
|
||||
# Now generate a list of all the jigdo files that we should be
|
||||
# looking at
|
||||
find $CACHE_DIR -name '*.jigdo' > $CACHE_DIR/jigdo.list
|
||||
|
||||
# And now update and check the snapshot from those jigdo files
|
||||
DATE=`date`
|
||||
echo "$DATE: Updating snapshot"
|
||||
|
||||
~/bin/mkjigsnap -m $MIRROR -d $SNAP_AREA/Debian -j $CACHE_DIR/jigdo.list -t ~/tmp
|
||||
|
||||
DATE=`date`
|
||||
echo " $DATE: done"
|
||||
fi
|
|
@ -0,0 +1,40 @@
|
|||
#!/bin/sh
|
||||
|
||||
export LANG=C
|
||||
export LC_ALL=C
|
||||
|
||||
if [ "$1"x = ""x ] ; then
|
||||
echo "$0: tell me which dir to target!"
|
||||
echo "abort"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
CHECK=`ls -al $1/*/iso-* 2>/dev/null`
|
||||
if [ "$CHECK"x = ""x ] ; then
|
||||
echo "$0: could not find stuff to work on in $1"
|
||||
echo "abort"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for DIR in $1/*/*-*; do
|
||||
cd $DIR
|
||||
CHECK=`ls -al *SUMS.* 2>/dev/null`
|
||||
if [ "$CHECK"x != ""x ] ; then
|
||||
cat MD5SUMS.* | sort -k2 | uniq > MD5SUMS
|
||||
cat SHA1SUMS.* | sort -k2 | uniq > SHA1SUMS
|
||||
cat SHA256SUMS.* | sort -k2 | uniq > SHA256SUMS
|
||||
cat SHA512SUMS.* | sort -k2 | uniq > SHA512SUMS
|
||||
for ISOFILE in `cat MD5SUMS SHA1SUMS | awk '{print $2}'`; do
|
||||
JIGDOFILE=${ISOFILE%iso}jigdo
|
||||
TEMPLATEFILE=${ISOFILE%iso}template
|
||||
if [ ! -e $ISOFILE ] && [ ! -e $JIGDOFILE ] && [ ! -e $TEMPLATEFILE ] ; then
|
||||
echo "$ISOFILE/$JIGDOFILE/$TEMPLATEFILE missing in $DIR!"
|
||||
# echo "abort"
|
||||
# exit 1
|
||||
fi
|
||||
done
|
||||
echo "$DIR done"
|
||||
else
|
||||
echo "Ignoring $DIR: no checksum files"
|
||||
fi
|
||||
done
|
|
@ -0,0 +1,226 @@
|
|||
#!/bin/sh
|
||||
#
|
||||
# mkjigsnap
|
||||
#
|
||||
# (c) 2004 Steve McIntyre
|
||||
#
|
||||
# Server-side wrapper; run this on a machine with a mirror to set up
|
||||
# the snapshots for jigit
|
||||
#
|
||||
# GPL v2 - see COPYING
|
||||
#
|
||||
# Some things needed:
|
||||
# location of the mirror
|
||||
# the keyword to look for (e.g. Debian)
|
||||
# the snapshot dirname (e.g. today's date)
|
||||
# the jigdo files
|
||||
# Example:
|
||||
# ./mkjigsnap -m /tmp/mirror \
|
||||
# -k Debian -k Non-US \
|
||||
# -d 20041017 \
|
||||
# jigdo1 jigdo2 jigdo3 ...
|
||||
|
||||
STARTDATE=`date`
|
||||
|
||||
while [ $# -gt 0 ]
|
||||
do
|
||||
case "$1"x in
|
||||
"-m"x)
|
||||
shift
|
||||
MIRROR=$1
|
||||
shift
|
||||
;;
|
||||
"-d"x)
|
||||
shift
|
||||
DIRNAME=$1
|
||||
shift
|
||||
;;
|
||||
"-j"x)
|
||||
shift
|
||||
JIGDOLIST=$1
|
||||
shift
|
||||
;;
|
||||
"-t"x)
|
||||
shift
|
||||
TF_TMPDIR="--directory $1"
|
||||
SORT_TMPDIR="-T $1"
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
JIGDOS="$JIGDOS $1"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ "$MIRROR"x = ""x ] ; then
|
||||
echo "You must specify the location of the mirror!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$DIRNAME"x = ""x ] ; then
|
||||
echo "You must specify the snapshot directory name!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$JIGDOS"x = ""x ] ; then
|
||||
if [ "$JIGDOLIST"x = ""x ] ; then
|
||||
echo "You must specify some jigdo files!"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
TMPFILE=`tempfile $TF_TMPDIR`
|
||||
if [ "$JIGDOLIST"x != ""x ] ; then
|
||||
for JIGDO in `cat $JIGDOLIST`
|
||||
do
|
||||
zcat -f $JIGDO | sed -n "s/^.*Debian://gp" >> $TMPFILE
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$JIGDOS"x != ""x ] ; then
|
||||
zcat -f $JIGDOS | sed -n "s/^.*Debian://gp" >> $TMPFILE
|
||||
fi
|
||||
|
||||
LISTDONEDATE=`date`
|
||||
|
||||
TMPFILE1=`tempfile $TF_TMPDIR`
|
||||
TOTAL_FILES=`wc -l < $TMPFILE`
|
||||
|
||||
cat $TMPFILE | sort -u $SORT_TMPDIR > $TMPFILE1
|
||||
|
||||
SORTDONEDATE=`date`
|
||||
NUM_FILES=`wc -l < $TMPFILE1`
|
||||
|
||||
mv -f $TMPFILE1 $TMPFILE
|
||||
|
||||
NUM=`cat $TMPFILE | wc -l`
|
||||
|
||||
LINKS_DONE=0
|
||||
(echo $NUM; echo $MIRROR; echo $DIRNAME; cat $TMPFILE ) | perl -we '
|
||||
|
||||
use File::Basename;
|
||||
use File::Find;
|
||||
my $num;
|
||||
my $mirrorpath;
|
||||
my $outdir;
|
||||
my $dirname;
|
||||
my $filename;
|
||||
my $done = 0;
|
||||
my $failed = 0;
|
||||
my @file_list;
|
||||
my $old_deleted = 0;
|
||||
my $link;
|
||||
$| = 1;
|
||||
|
||||
# Make a dir tree
|
||||
sub mkdirs {
|
||||
my $input = shift;
|
||||
my $dir;
|
||||
my @components;
|
||||
my $need_slash = 0;
|
||||
|
||||
if (! -d $input) {
|
||||
@components = split /\//,$input;
|
||||
foreach $component (@components) {
|
||||
if ($need_slash) {
|
||||
$dir = join ("/", $dir, $component);
|
||||
} else {
|
||||
$dir = $component;
|
||||
$need_slash = 1;
|
||||
}
|
||||
if (! -d $dir) {
|
||||
mkdir $dir;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
sub delete_redundant {
|
||||
my $ref;
|
||||
|
||||
if (-f) {
|
||||
$ref = $file_list{$File::Find::name};
|
||||
if (!defined($ref)) {
|
||||
unlink($File::Find::name);
|
||||
$old_deleted++;
|
||||
if ( !($old_deleted % 1000) ) {
|
||||
print "$old_deleted\n";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
while (<>) {
|
||||
chomp;
|
||||
|
||||
if (!defined($num)) {
|
||||
$num = $_;
|
||||
next;
|
||||
}
|
||||
if (!defined($mirrorpath)) {
|
||||
$mirrorpath = $_;
|
||||
next;
|
||||
}
|
||||
if (!defined($outdir)) {
|
||||
$outdir = $_;
|
||||
print "Linking $num files from $mirrorpath to $outdir\n";
|
||||
next;
|
||||
}
|
||||
|
||||
$outfile = $outdir . "/" . $_;
|
||||
$file_list{$outfile}++;
|
||||
if (! -e $outfile) {
|
||||
$dirname = dirname($_);
|
||||
$filename = basename($_);
|
||||
|
||||
mkdirs($outdir . "/" . $dirname);
|
||||
my $link_ok = 0;
|
||||
foreach $mirror (split /:/,$mirrorpath) {
|
||||
$infile = $mirror . "/" . $_;
|
||||
if (-l $infile) {
|
||||
$link = readlink($infile);
|
||||
if ($link =~ m#^/#) {
|
||||
$infile = $link;
|
||||
} else {
|
||||
$infile = dirname($infile) . "/" . $link;
|
||||
}
|
||||
}
|
||||
$outfile = $outdir . "/" . $_;
|
||||
if (link ($infile, $outfile)) {
|
||||
$link_ok = 1;
|
||||
last;
|
||||
}
|
||||
$infile = $mirror . "/" . $filename;
|
||||
# print "Falling back to $infile\n";
|
||||
if (link ($infile, $outfile)) {
|
||||
$link_ok = 1;
|
||||
last;
|
||||
}
|
||||
}
|
||||
if ($link_ok == 0) {
|
||||
print "\nFailed to create link $outfile\n";
|
||||
$failed++;
|
||||
}
|
||||
}
|
||||
$done++;
|
||||
if ( !($done % 1000) ) {
|
||||
print "$done/$num\n";
|
||||
}
|
||||
}
|
||||
print " Finished: $done/$num, $failed failed\n\n";
|
||||
|
||||
# Now walk the tree and delete files that we no longer need
|
||||
print "Scanning for now-redundant files\n";
|
||||
find(\&delete_redundant, $outdir);
|
||||
print " Finished: $old_deleted old files removed\n";
|
||||
'
|
||||
|
||||
rm -f $TMPFILE
|
||||
echo
|
||||
|
||||
echo "$STARTDATE: startup"
|
||||
echo "$LISTDONEDATE: $TOTAL_FILES found"
|
||||
echo "$SORTDONEDATE: $NUM_FILES after sorting"
|
||||
echo `date`": mkjigsnap finished successfully"
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
#!/bin/sh
|
||||
|
||||
export LC_ALL=C
|
||||
|
||||
for FILE in $@; do
|
||||
if [ -e "$FILE" ] ; then
|
||||
ISODIR=`dirname $FILE`
|
||||
LISTDIR=`echo $ISODIR | sed 's/iso-/list-/'`
|
||||
if [ ! -d $LISTDIR ] ; then
|
||||
mkdir -p $LISTDIR
|
||||
fi
|
||||
LISTFILE=`echo $FILE | sed 's/\.iso$/.list.gz/g'`
|
||||
|
||||
isoinfo -fR -i $FILE | perl -e '
|
||||
while (<>) {
|
||||
chomp;m,^/pool/[^/]+/[^/]+/[^/]+/(.*), and print "$1\n";
|
||||
}' | sort | gzip -9 > $LISTFILE
|
||||
mv $LISTFILE $LISTDIR
|
||||
fi
|
||||
done
|
|
@ -0,0 +1,14 @@
|
|||
#!/bin/sh
|
||||
|
||||
for FILE in $@; do
|
||||
MKTORRENT=/home/debian-cd/bt/btmakemetafile.py
|
||||
ISODIR=`dirname $FILE`
|
||||
BTDIR=`echo $ISODIR | sed 's/iso-/bt-/;s/usb-/bt-/'`
|
||||
if [ ! -d $BTDIR ] ; then
|
||||
mkdir -p $BTDIR
|
||||
fi
|
||||
$MKTORRENT http://bttracker.debian.org:6969/announce \
|
||||
--comment '"Debian CD from cdimage.debian.org"' \
|
||||
$FILE | grep -v complete
|
||||
mv $FILE.torrent $BTDIR
|
||||
done
|
|
@ -0,0 +1,40 @@
|
|||
#!/bin/sh
|
||||
|
||||
export TOPDIR=$(dirname $0)
|
||||
|
||||
. $TOPDIR/settings.sh
|
||||
. $TOPDIR/common.sh
|
||||
|
||||
OUTDIR=$1
|
||||
ARCH=$2
|
||||
RESULTS=$3
|
||||
|
||||
OUTFILE=$OUTDIR/$ARCH/HEADER.html
|
||||
INLOGS="/org/cdbuilder.debian.org/dst/deb-cd/log"
|
||||
OUTLOGS="build-logs/$DATE"
|
||||
|
||||
grep -q WARNING $OUTFILE
|
||||
if [ $? -ne 0 ] ; then
|
||||
echo >> $OUTFILE
|
||||
echo "<p><strong>WARNING:</strong>" >> $OUTFILE
|
||||
echo "This build is not up to date; it is the most recent successful build.</p>" >> $OUTFILE
|
||||
echo >> $OUTFILE
|
||||
echo "<p>Later weekly builds failed with errors:</p>" >> $OUTFILE
|
||||
fi
|
||||
|
||||
echo "<hr>" >> $OUTFILE
|
||||
echo "<ul>" >> $OUTFILE
|
||||
mkdir -p ${OUTDIR}/${ARCH}/${OUTLOGS}
|
||||
for RESULT in $RESULTS; do
|
||||
TYPE=`echo $RESULT | awk -F / '{print $1}'`
|
||||
ERROR=`echo $RESULT | awk -F / '{print $2}'`
|
||||
DATE=`echo $RESULT | awk -F / '{print $3}'`
|
||||
LOGFILE=`echo $RESULT | awk -F / '{print $4}'`
|
||||
BUILDTYPE=`echo $TYPE | sed 's/FAIL//g'`
|
||||
cp ${INLOGS}/${LOGFILE} ${OUTDIR}/${ARCH}/${OUTLOGS}/${BUILDTYPE}.log
|
||||
DESC=`build_description ${BUILDTYPE}`
|
||||
echo "<li>$DESC build failed with error $ERROR at $DATE; <a href=\"$OUTLOGS/${BUILDTYPE}.log\">logfile</a>" >> $OUTFILE
|
||||
|
||||
done
|
||||
echo "</ul>" >> $OUTFILE
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
export TRACE=/org/cdbuilder.debian.org/src/ftp/debian/project/trace/pettersson.debian.org
|
||||
export ARCH_DI_DIR=/org/cdbuilder.debian.org/src/deb-cd/d-i
|
||||
export HOSTNAME=`hostname -f`
|
||||
|
||||
export PUBDIR=/org/cdbuilder.debian.org/dst/deb-cd
|
||||
|
||||
export MIRROR=/org/cdbuilder.debian.org/src/ftp/debian
|
||||
export BASEDIR=~/build/debian-cd
|
||||
export MKISOFS=~/build/mkisofs/usr/bin/mkisofs
|
||||
if [ "$DATE"x = ""x ] ; then
|
||||
export DATE=`date -u +%Y%m%d`
|
||||
fi
|
||||
|
||||
export EXTRACTED_SOURCES=/mnt/nfs-cdimage/cd-sources
|
|
@ -0,0 +1,280 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# testingcds (c) 2005 Santiago Garcia Mantinan <manty@manty.net>
|
||||
#
|
||||
# Updates since then by:
|
||||
# Joey Hess <joey@kitenet.net>
|
||||
# Steve McIntyre <steve@einval.com>
|
||||
#
|
||||
# GPL v2
|
||||
#
|
||||
# See cronjob.weekly and cronjob.daily for examples of how to call this script
|
||||
|
||||
#set -x
|
||||
|
||||
if [ "$CONF"x = ""x ] ; then
|
||||
CONF=~/build/CONF.sh
|
||||
fi
|
||||
export CF=$CONF
|
||||
if [ "$DCD_DIR"x = ""x ] ; then
|
||||
DCD_DIR=~/build/debian-cd
|
||||
fi
|
||||
export CF=$CONF
|
||||
|
||||
now () {
|
||||
date -u +%F:%H:%M:%S
|
||||
}
|
||||
|
||||
# Set up and cleaning
|
||||
if [ $# -lt 1 ] ; then
|
||||
echo $0 \$ARCH
|
||||
echo "variables: PUBDIR[ISO|JIG]"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! "$DATE_BUILD" ] ; then
|
||||
DATE_BUILD=`/bin/date -u +%Y%m%d`
|
||||
fi
|
||||
|
||||
export ARCH="$1"
|
||||
NUM_ARCHES=`echo $ARCH | wc -w`
|
||||
|
||||
if [ ! "$JIGDOFALLBACKURLS" ] ; then
|
||||
export JIGDOFALLBACKURLS="Debian=http://us.cdimage.debian.org/cdimage/snapshot/Debian/"
|
||||
fi
|
||||
|
||||
# $DI is used to set DI_CODENAME and also to specify the directory for images
|
||||
if [ "$DI" ] ; then
|
||||
export DI_CODENAME="$DI"
|
||||
fi
|
||||
|
||||
export LOG="`pwd`/log/"
|
||||
if [ "$NUM_ARCHES"x = "1"x ] ; then
|
||||
export OUTARCH=$ARCH
|
||||
else
|
||||
export OUTARCH="multi-arch"
|
||||
fi
|
||||
export RUN="$INSTALLER_CD$DI$OUTARCH$LOGAPPEND"
|
||||
export LOGFILE="$LOG/$RUN"
|
||||
|
||||
case "$INSTALLER_CD" in
|
||||
1)
|
||||
export DISKTYPE=BC;;
|
||||
2|7|8|C)
|
||||
export DISKTYPE=NETINST;;
|
||||
3|6)
|
||||
export OUT_TYPE=dvd
|
||||
export DISKTYPE=DVD;;
|
||||
4)
|
||||
export DISKTYPE=kde-CD;;
|
||||
5)
|
||||
export DISKTYPE=xfce-CD;;
|
||||
A)
|
||||
export DISKTYPE=lxde-CD;;
|
||||
B)
|
||||
export DISKTYPE=xfce+lxde-CD;;
|
||||
9)
|
||||
export OUT_TYPE=bd
|
||||
export DISKTYPE=BD;;
|
||||
D)
|
||||
export OUT_TYPE=dlbd
|
||||
export DISKTYPE=DLBD;;
|
||||
*) export DISKTYPE=CD;;
|
||||
esac
|
||||
|
||||
if [ "$OUT_TYPE"x = ""x ] ; then
|
||||
OUT_TYPE=cd
|
||||
fi
|
||||
|
||||
export IMAGETARGET=official_images
|
||||
cd $DCD_DIR && . $CONF
|
||||
|
||||
if [ "$OUT"x = ""x ] ; then
|
||||
echo Config error
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ "$BUILDNAME"x = ""x ] ; then
|
||||
TRACEFILE="$OUT_TYPE-trace"
|
||||
echo " Making $ARCH ${DISKTYPE} in $OUT"
|
||||
else
|
||||
TRACEFILE="$BUILDNAME-trace"
|
||||
echo " Making $ARCH ${DISKTYPE} (${BUILDNAME}) in $OUT"
|
||||
fi
|
||||
|
||||
if [ "$INSTALLER_CD" = "1" ] ; then
|
||||
export OFFICIAL="Official BusinessCard Snapshot"
|
||||
elif [ "$INSTALLER_CD" = "2" ] ; then
|
||||
export OFFICIAL="Official NetInst Snapshot"
|
||||
elif [ "$INSTALLER_CD" = "4" ]; then
|
||||
export OFFICIAL="Official KDE CD Snapshot"
|
||||
elif [ "$INSTALLER_CD" = "5" ]; then
|
||||
export OFFICIAL="Official Xfce CD Snapshot"
|
||||
elif [ "$INSTALLER_CD" = "A" ]; then
|
||||
export OFFICIAL="Official LXDE CD Snapshot"
|
||||
elif [ "$INSTALLER_CD" = "B" ]; then
|
||||
export OFFICIAL="Official Xfce/LXDE CD Snapshot"
|
||||
elif [ "$INSTALLER_CD" = "6" ]; then
|
||||
export OFFICIAL="Official Multi-Arch DVD"
|
||||
elif [ "$INSTALLER_CD" = "7" ]; then
|
||||
export OFFICIAL="Official Multi-Arch Netinst"
|
||||
elif [ "$INSTALLER_CD" = "8" ]; then
|
||||
export OFFICIAL="Official Multi-Arch Netinst"
|
||||
elif [ "$INSTALLER_CD" = "C" ]; then
|
||||
export OFFICIAL="Unofficial Netinst including firmware"
|
||||
fi
|
||||
|
||||
rm -rf "$OUT"
|
||||
mkdir -p "$OUT"
|
||||
rm -f "$PUBDIRJIG"/$OUTARCH/$TRACEFILE
|
||||
#mkdir -p "$LOG"
|
||||
|
||||
overview_log="$LOG/overview"
|
||||
overview () {
|
||||
if [ -e $overview_log ]; then
|
||||
grep -v " $1 " $overview_log > $overview_log.new
|
||||
mv $overview_log.new $overview_log
|
||||
fi
|
||||
LANG=C echo "$(dpkg --print-architecture) ($(date)) $(whoami)@$(hostname | cut -d . -f 1) $1 $2" >> $overview_log
|
||||
}
|
||||
|
||||
> $LOGFILE
|
||||
|
||||
# Do the actual building
|
||||
START=`now`
|
||||
if ./build.sh "$ARCH" >>"$LOGFILE" 2>&1 ; then
|
||||
# if it went ok get things ready for publishing
|
||||
# we treat the daily netinst images in a different way
|
||||
if [ "$INSTALLER_CD" = "1" -o "$INSTALLER_CD" = "2" ] ; then
|
||||
|
||||
##################################
|
||||
# NETINST STUFF
|
||||
##################################
|
||||
|
||||
ARCHDIR="$PUBDIRJIG"/${DI}_d-i/$DATE_BUILD/$OUTARCH
|
||||
mkdir -p $ARCHDIR/list-cd
|
||||
|
||||
# put the isos and jigdos in their place
|
||||
for i in "$OUT"/*-1.iso; do
|
||||
BASE=`basename $i .iso`
|
||||
NETINSTNAME=`echo $BASE | sed 's/-BC-1/-businesscard/g;s/-NETINST-1/-netinst/g'`
|
||||
mv $OUT/$BASE.iso $ARCHDIR/iso-cd/$NETINSTNAME.iso
|
||||
cat $OUT/$BASE.jigdo | \
|
||||
sed 's/-BC-1/-businesscard/g;s/-NETINST-1/-netinst/g' | \
|
||||
gzip --best --no-name > $ARCHDIR/jigdo-cd/$NETINSTNAME.jigdo
|
||||
rm $OUT/$BASE.jigdo
|
||||
mv $OUT/$BASE.template $ARCHDIR/jigdo-cd/$NETINSTNAME.template
|
||||
# Make sure that the ISO is as new/newer than the jigdo file; #587774
|
||||
touch $ARCHDIR/iso-cd/$NETINSTNAME.iso
|
||||
mv $OUT/$BASE.list.gz $ARCHDIR/list-cd/$NETINSTNAME.list.gz
|
||||
done
|
||||
rm -f "$OUT"/*
|
||||
END=`now`
|
||||
mkdir -p "$PUBDIRJIG"/$OUTARCH
|
||||
echo -e "start=$START\nend=$END\nerror=0\nlogfile=$RUN\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE
|
||||
|
||||
elif [ "$INSTALLER_CD" = "C" ] ; then
|
||||
|
||||
##################################
|
||||
# FIRMWARE NETINST STUFF
|
||||
##################################
|
||||
|
||||
ARCHDIR="$PUBDIRJIG"-firmware/${DI}_d-i/$DATE_BUILD/$OUTARCH
|
||||
|
||||
# put the isos and jigdos in their place
|
||||
for i in "$OUT"/*-1.iso; do
|
||||
BASE=`basename $i .iso`
|
||||
NETINSTNAME=`echo $BASE | sed 's/-BC-1/-businesscard/g;s/-NETINST-1/-netinst/g'`
|
||||
mv $OUT/$BASE.iso $ARCHDIR/iso-cd/$NETINSTNAME.iso
|
||||
cat $OUT/$BASE.jigdo | \
|
||||
sed 's/-BC-1/-businesscard/g;s/-NETINST-1/-netinst/g' | \
|
||||
gzip --best --no-name > $ARCHDIR/jigdo-cd/$NETINSTNAME.jigdo
|
||||
rm $OUT/$BASE.jigdo
|
||||
mv $OUT/$BASE.template $ARCHDIR/jigdo-cd/$NETINSTNAME.template
|
||||
# Make sure that the ISO is as new/newer than the jigdo file; #587774
|
||||
touch $ARCHDIR/iso-cd/$NETINSTNAME.iso
|
||||
done
|
||||
rm -f "$OUT"/*
|
||||
END=`now`
|
||||
mkdir -p "$PUBDIRJIG"/$OUTARCH
|
||||
echo -e "start=$START\nend=$END\nerror=0\nlogfile=$RUN\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE
|
||||
else
|
||||
|
||||
#######################################
|
||||
# NORMAL STUFF - full builds (weekly)
|
||||
#######################################
|
||||
|
||||
# finish up the jigdos (compress & move them)
|
||||
gzip --best --no-name "$OUT"/*.jigdo
|
||||
for i in "$OUT"/*.jigdo.gz; do
|
||||
mv $i ${i%.gz}
|
||||
done
|
||||
|
||||
# Make sure that the ISOs are as new/newer than the jigdo files; #587774
|
||||
for file in "$OUT"/*.iso; do
|
||||
if [ -e $file ] ; then
|
||||
touch $file
|
||||
fi
|
||||
done
|
||||
|
||||
mkdir -p "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE}
|
||||
for file in "$OUT"/*SUMS${SUMS_EXTENSION}; do
|
||||
outfile="$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE}/`basename $file`
|
||||
cat $file >> $outfile
|
||||
done
|
||||
mv "$OUT"/*.template "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE}
|
||||
mv "$OUT"/*.jigdo "$PUBDIRJIG"/$OUTARCH/jigdo-${OUT_TYPE}
|
||||
|
||||
mkdir -p "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE}
|
||||
for file in "$OUT"/*SUMS${SUMS_EXTENSION}; do
|
||||
outfile="$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE}/`basename $file`
|
||||
cat $file >> $outfile
|
||||
done
|
||||
mv "$OUT"/*.iso "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE}
|
||||
|
||||
mkdir -p "$PUBDIRJIG"/$OUTARCH/list-${OUT_TYPE}
|
||||
mv "$OUT"/*list*gz "$PUBDIRJIG"/$OUTARCH/list-${OUT_TYPE}
|
||||
|
||||
END=`now`
|
||||
echo -e "start=$START\nend=$END\nerror=0\nlogfile=$RUN\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE
|
||||
fi
|
||||
|
||||
touch $TDIR/$CODENAME/1.pkgs_extracted # so we don't get errors below
|
||||
for file in `cat $TDIR/$CODENAME/*.pkgs_extracted | sort | uniq`; do
|
||||
basefile=`basename $file`
|
||||
if [ ! -e $EXTRACTED_SOURCES/$file ] ; then
|
||||
cp -a $MIRROR/$file $EXTRACTED_SOURCES
|
||||
fi
|
||||
done
|
||||
|
||||
# Mail the sizes of the images
|
||||
if [ -e "../.debian-cd.mail" ] ; then
|
||||
MYEMAIL=`grep -v "^#" "../.debian-cd.mail"`
|
||||
else
|
||||
MYEMAIL=`whoami`
|
||||
fi
|
||||
|
||||
for i in $MYEMAIL
|
||||
do
|
||||
grep -e "extents written" -e "Written to medi." "$LOGFILE"|mail -s "testingcds $RUN went ok" "$i"
|
||||
done
|
||||
overview "$RUN" success
|
||||
|
||||
else
|
||||
# Run failed
|
||||
if [ -e "../.debian-cd.mail" ] ; then
|
||||
MYEMAIL=`grep -v "^#" "../.debian-cd.mail"`
|
||||
else
|
||||
MYEMAIL=`whoami`
|
||||
fi
|
||||
for i in $MYEMAIL
|
||||
do
|
||||
(echo Error when trying to create cds for $RUN ; cat $LOGFILE) | \
|
||||
mail -s "testingcds $RUN has failed; log included" "$i"
|
||||
done
|
||||
overview "$RUN" failed
|
||||
END=`now`
|
||||
mkdir -p "$PUBDIRJIG"/$OUTARCH
|
||||
echo -e "start=$START\nend=$END\nerror=1\nlogfile=$RUN\n" > "$PUBDIRJIG"/$OUTARCH/$TRACEFILE
|
||||
exit 1
|
||||
fi
|
|
@ -0,0 +1,6 @@
|
|||
<h1>Weekly build for ARCH</h1>
|
||||
|
||||
<p>See the <a href="../">parent directory</a> for more
|
||||
information about the weekly builds.</p>
|
||||
|
||||
<p>This build finished at <strong>DATE</strong>.</p>
|
|
@ -0,0 +1,12 @@
|
|||
# ext. xlate creator type comment
|
||||
.hqx Ascii 'BnHx' 'TEXT' "BinHex file"
|
||||
.sit Raw 'SIT!' 'SITD' "StuffIT Expander"
|
||||
.mov Raw 'TVOD' 'MooV' "QuickTime Movie"
|
||||
.deb Raw 'Debn' 'bina' "Debian package"
|
||||
.bin Raw 'ddsk' 'DDim' "Floppy or ramdisk image"
|
||||
.img Raw 'ddsk' 'DDim' "Floppy or ramdisk image"
|
||||
.b Raw 'UNIX' 'tbxi' "bootstrap"
|
||||
yaboot Raw 'UNIX' 'boot' "bootstrap"
|
||||
vmlinux Raw 'UNIX' 'boot' "bootstrap"
|
||||
.conf Raw 'UNIX' 'conf' "bootstrap"
|
||||
* Ascii '????' '????' "Text file"
|
After Width: | Height: | Size: 294 B |
After Width: | Height: | Size: 266 B |
After Width: | Height: | Size: 280 B |
After Width: | Height: | Size: 290 B |
After Width: | Height: | Size: 8.2 KiB |
After Width: | Height: | Size: 3.9 KiB |
After Width: | Height: | Size: 353 B |
After Width: | Height: | Size: 299 B |
After Width: | Height: | Size: 321 B |
After Width: | Height: | Size: 344 B |
|
@ -0,0 +1 @@
|
|||
wheezy
|
|
@ -0,0 +1,493 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
||||
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
||||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
||||
<title>Debian DEBIAN_KERNEL -- The Universal Operating System</title>
|
||||
<meta name="Description" content="Debian DEBIAN_KERNEL is a free distribution of the DEBIAN_KERNEL operating system. It is maintained and updated through the work of many users who volunteer their time and effort." />
|
||||
<meta name="Keywords" content="debian, GNU, linux, unix, open source, free, DFSG" />
|
||||
<meta name="Language" content="English" />
|
||||
<meta name="Author" content="J.A. Bezemer, debian-boot@lists.debian.org" />
|
||||
<link rev="made" href="mailto:debian-boot@lists.debian.org" />
|
||||
<link href="css/debinstall.css" rel="stylesheet" type="text/css" />
|
||||
<link href="css/debinstall-print.css" media="print" rel="stylesheet" type="text/css" />
|
||||
</head>
|
||||
<body id="readme">
|
||||
|
||||
<!-- The HTML and TEXT file are NOT the actual source code. -->
|
||||
<!-- For that, see http://svn.debian.org/wsvn/debian-cd -->
|
||||
#if 0
|
||||
If you read THIS, you're viewing the actual source file ;-)
|
||||
#endif
|
||||
|
||||
#undef i386
|
||||
#undef amd64
|
||||
#undef alpha
|
||||
#undef powerpc
|
||||
#undef ppc
|
||||
#undef sparc
|
||||
#undef ultrasparc
|
||||
#undef m68k
|
||||
#undef arm
|
||||
#undef binary
|
||||
#undef bin
|
||||
#undef source
|
||||
#undef src
|
||||
|
||||
#if OUTPUTtext
|
||||
#define href nothing
|
||||
#endif
|
||||
|
||||
#include <README.diskdefines>
|
||||
|
||||
<div id="header">
|
||||
#if OUTPUThtml
|
||||
<div id="upperheader">
|
||||
<div id="logo">
|
||||
<a href="http://www.debian.org/" title="www.debian.org"><img
|
||||
src="pics/openlogo-nd-50.png" width="70" height="120"
|
||||
alt="www.debian.org" /></a>
|
||||
</div><!-- end logo -->
|
||||
<p class="section"><em>Installer</em></p>
|
||||
</div><!-- end upperheader -->
|
||||
<!--UdmComment-->
|
||||
#endif
|
||||
|
||||
#if OUTPUTtext
|
||||
<p align="center">DISKNAME <br /><br /></p>
|
||||
<p align="right">(HTML version in README.html)<br /></p>
|
||||
#endif
|
||||
|
||||
<div id="intro">
|
||||
<div id="splash">
|
||||
#if OUTPUTtext
|
||||
<h1 align="center">
|
||||
#else
|
||||
<h1>
|
||||
#endif
|
||||
Welcome to the exciting world of
|
||||
#if OUTPUTtext
|
||||
<br />
|
||||
#endif
|
||||
<span id="debian-img"><img
|
||||
src="pics/debian-61.png" alt="Debian DEBIAN_KERNEL"
|
||||
height="94" width="211" /></span></h1>
|
||||
|
||||
#if (defined(DISKTYPEBC) || defined(DISKTYPENETINST))
|
||||
<p>This disc contains the installer for the
|
||||
#else
|
||||
<p>This is one disc in a set containing the
|
||||
#endif
|
||||
<a href="http://www.debian.org/">Debian DEBIAN_KERNEL</a> distribution.
|
||||
Debian is a very extensive collection of software. But it
|
||||
is more. It is a complete Operating System (OS) for your
|
||||
computer. And it is <a href=
|
||||
"http://www.debian.org/intro/free">free</a> (as in
|
||||
“freedom”).</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
#if OUTPUThtml
|
||||
<p id="breadcrumbs">
|
||||
<span class="alt">(<a href= "README.txt">Text version</a>)</span>
|
||||
DISKNAME
|
||||
</p>
|
||||
#endif
|
||||
</div><!-- end header -->
|
||||
|
||||
<div id="outer">
|
||||
#if OUTPUTtext
|
||||
<p>CONTENTS:</p>
|
||||
#endif
|
||||
<ul class="toc">
|
||||
<li><a href="#introduction">Introduction</a></li>
|
||||
<li><a href="#thisdisc">About This Disc</a></li>
|
||||
<li><a href="#install">Installing</a></li>
|
||||
<li><a href="#lastmin">Last-Minute Notes</a></li>
|
||||
<li><a href="#apt">Installing software using Apt</a></li>
|
||||
<li><a href="#cdmanuf">CD/DVD Manufacturers</a></li>
|
||||
<li><a href="#other">More Information</a></li>
|
||||
<li><a href=".">Browse This Disc</a></li>
|
||||
</ul>
|
||||
|
||||
<h2 id="introduction">
|
||||
Introduction
|
||||
#ifdef OUTPUTtext
|
||||
<br />============
|
||||
#endif
|
||||
</h2>
|
||||
|
||||
<p>An operating system is the set of basic programs and utilities
|
||||
that make your computer run. At the core of an operating system is
|
||||
the kernel. The kernel is the most fundamental program on the
|
||||
computer, which does all the basic housekeeping and lets you start
|
||||
other programs. Debian is kernel independent. It currently uses
|
||||
either the <a href= "http://www.linux.org/">Linux</a>
|
||||
or <a href="http://www.freebsd.org/">FreeBSD</a> kernel. Most of
|
||||
the basic operating system tools come from the <a href=
|
||||
"http://www.gnu.org/">GNU project</a>; hence the name
|
||||
DEBIAN_KERNEL.</p>
|
||||
|
||||
<p>Debian is available for various kinds of computers
|
||||
(“architectures”), like “IBM-compatible” PCs (<em>i386</em>),
|
||||
Compaq's <em>Alpha</em>, Sun's <em>Sparc</em>, Motorola/IBM's
|
||||
<em>PowerPC</em>, and <em>(Strong)ARM</em> processors. Check the
|
||||
<a href="http://www.debian.org/ports">ports</a> page for more
|
||||
information.</p>
|
||||
|
||||
#if OUTPUTtext
|
||||
<p>Read more at:<br /> </br />
|
||||
http://www.debian.org/intro/about</p>
|
||||
#endif
|
||||
#if OUTPUThtml
|
||||
<p><a href="http://www.debian.org/intro/about">Read more...</a></p>
|
||||
#endif
|
||||
|
||||
<h2 id="thisdisc">
|
||||
About This Disc
|
||||
#ifdef OUTPUTtext
|
||||
<br />===============
|
||||
#endif
|
||||
</h2>
|
||||
|
||||
<p>This disc is labeled
|
||||
#if OUTPUTtext
|
||||
</p><p align="center">DISKNAME</p><p>
|
||||
#else
|
||||
<small><strong>DISKNAME</strong></small>
|
||||
#endif
|
||||
#ifndef UNOFFEXTRAS
|
||||
# if !(defined(DISKTYPEBC) || defined(DISKTYPENETINST))
|
||||
which means that this disc is number DISKNUM of a set of TOTALNUM discs
|
||||
# endif
|
||||
# if OUTPUThtml
|
||||
.
|
||||
# endif
|
||||
# if TYPEbinary
|
||||
It contains programs ("binaries") for `ARCH' computers.</p>
|
||||
# if ARCHia64 && !ARCHamd64
|
||||
<p><strong>Note:</strong> this image only supports systems based on
|
||||
Intel Itanium processors; for the more common Intel EM64T processors,
|
||||
please see the Debian amd64 architecture.</p>
|
||||
# endif
|
||||
# if defined(DISKTYPEBC)
|
||||
<p>This disc is a <em>business card</em> image. It contains only the
|
||||
installer and will download the base system and the remaining packages from
|
||||
the network.</p>
|
||||
# elif defined(DISKTYPENETINST)
|
||||
<p>This disc is a <em>netinst</em> image. It contains the installer and
|
||||
a very basic system. Any other packages you might want to install will
|
||||
be downloaded from the network.</p>
|
||||
# else
|
||||
<p>The programs on the Binary discs are ordered by popularity. The Binary-1
|
||||
disc contains the most popular programs and the installation tools; it is
|
||||
possible to install and run Debian with only the Binary-1 disc. The other
|
||||
discs, up to Binary-TOTALNUM, contain mostly special-interest programs.</p>
|
||||
# endif
|
||||
# if (OFFICIAL_VAL == 2)
|
||||
# if OMIT_RELEASE_NOTES
|
||||
<p>The Release Notes for "squeeze" are available on the
|
||||
<a href="http://www.debian.org/releases/squeeze/releasenotes">Debian web
|
||||
site</a>.</p>
|
||||
# else
|
||||
# if DISKNUM == 1
|
||||
<p>The Release Notes for Debian DEBIAN_KERNEL "squeeze" are included on this disc
|
||||
in <a href=%%""doc/release-notes/%%"">/doc/release-notes/</a>, in
|
||||
several languages. Additional translations and updated versions for
|
||||
the Release Notes may be available from the
|
||||
<a href="http://www.debian.org/releases/squeeze/releasenotes">Debian web
|
||||
site</a>.</p>
|
||||
# else
|
||||
<p>See the first disc in this set for the "squeeze" Release Notes.</p>
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# endif
|
||||
# if TYPEsource
|
||||
This set includes the source code of programs in the Debian OS.</p>
|
||||
# endif
|
||||
# if FORCE_FIRMWARE == 1
|
||||
# if DISKNUM == 1
|
||||
|
||||
<p>This disc includes non-free firmware to make installation
|
||||
easier on some systems requiring proprietary but
|
||||
redistributable firmware. See
|
||||
<a href="http://wiki.debian.org/Firmware">http://wiki.debian.org/Firmware</a>
|
||||
for more details.</p>
|
||||
|
||||
|
||||
# endif
|
||||
# endif
|
||||
#else
|
||||
</p>
|
||||
# include <unoffextrascd.html.in>
|
||||
#endif
|
||||
|
||||
<h2 id="install">
|
||||
Installing
|
||||
#ifdef OUTPUTtext
|
||||
<br />==========
|
||||
#endif
|
||||
</h2>
|
||||
|
||||
#if TYPEbinary
|
||||
<p>Because Debian is a complete Operating System, the
|
||||
installation procedure may seem a bit unusual. You can install
|
||||
Debian DEBIAN_KERNEL either <em>alongside</em> your current OS, or as
|
||||
the <em>only</em> OS on your computer.</p>
|
||||
# if (OFFICIAL_VAL == 2)
|
||||
# if OMIT_MANUAL
|
||||
<p>An <b>Installation Guide</b> for this disc is available from
|
||||
<a href="http://www.debian.org/releases/squeeze/installmanual">the
|
||||
Debian web site</a>.</p>
|
||||
# else
|
||||
<p>An <b>Installation Guide</b> is included on this disc at
|
||||
<tt><a href="doc/manual/en/index.html">doc/manual/en/index.html</a></tt>
|
||||
(English version)</p>
|
||||
|
||||
<p>Several translations of the Installation Guide are included on this disc in
|
||||
the <tt><a href="doc">doc/</a></tt> directory, along with various other
|
||||
documents.</p>
|
||||
|
||||
<p>Note: additional translations, other formats (like PDF and TXT) and
|
||||
updated versions for the Installation Guide are available from
|
||||
<a href="http://www.debian.org/releases/squeeze/installmanual">the Debian web site</a>.
|
||||
</p>
|
||||
# endif
|
||||
# else
|
||||
<p>As this is not an official squeeze release disc, then the
|
||||
installation guide many not be released yet. It will appear on <a
|
||||
href="http://www.debian.org/releases/squeeze/installmanual">the
|
||||
Debian web site</a> when ready, but before then you could try <a
|
||||
href="http://d-i.alioth.debian.org/manual/">the development
|
||||
version of the manual</a>.
|
||||
</p>
|
||||
# endif
|
||||
|
||||
# if ARCHi386 || ARCHamd64 || ARCHia64 || ARCHalpha || ARCHpowerpc || ARCHsparc
|
||||
<p>For the impatient ones: you can start the installation program easily by
|
||||
booting off this disc. Note that not all (esp. older) systems support
|
||||
this.</p>
|
||||
# endif
|
||||
|
||||
# if ARCHi386 || ARCHamd64 || ARCHpowerpc
|
||||
<p>You can also examine the <tt><a href="install/">/install/</a></tt>
|
||||
directory; you might be able to start the installation system directly
|
||||
from there.</p>
|
||||
# endif
|
||||
|
||||
#else
|
||||
<p>The installation tools of the Debian Operating System are located on the
|
||||
Binary-1 disc. See the README on that disc for more info.</p>
|
||||
#endif
|
||||
|
||||
#ifndef UNOFFEXTRAS
|
||||
<h2 id="lastmin">
|
||||
Last-Minute Notes
|
||||
#ifdef OUTPUTtext
|
||||
<br />=================
|
||||
#endif
|
||||
</h2>
|
||||
|
||||
<ul>
|
||||
# if OFFICIAL_VAL == 0
|
||||
<li>You should keep in mind that this is an unofficial disc of the Debian
|
||||
system. This means that all sorts of bugs may be present anywhere in the
|
||||
system. Please report any bugs you find to the person that gave you this
|
||||
disc, not Debian.</li>
|
||||
# endif
|
||||
# if (OFFICIAL_VAL == 1)
|
||||
<li>You should keep in mind that this is a beta disc of the current
|
||||
development version of the Debian system. This means that all sorts of
|
||||
bugs may be present anywhere in the system. Please report any bugs you
|
||||
find in the Debian Bug Tracking System; details at <a
|
||||
href="http://bugs.debian.org/">bugs.debian.org</a>.</li>
|
||||
#endif
|
||||
# if (OFFICIAL_VAL == 2)
|
||||
<li>This is an official release of the Debian system. Please report any
|
||||
bugs you find in the Debian Bug Tracking System; details at <A
|
||||
HREF="http://bugs.debian.org/">bugs.debian.org</A>.
|
||||
#endif
|
||||
<li>If you're reporting bugs against this disc or the installation
|
||||
system, please also mention the version of this disc; this can be found
|
||||
in the file <tt><a href=".disk/info">/.disk/info</a></tt>.</li>
|
||||
|
||||
</ul>
|
||||
#endif
|
||||
|
||||
#if TYPEbinary
|
||||
<h2 id="apt">
|
||||
Installing software using Apt
|
||||
#ifdef OUTPUTtext
|
||||
<br />=============================
|
||||
#endif
|
||||
</h2>
|
||||
|
||||
<p>After installing or upgrading, Debian's packaging system can
|
||||
use CDs, DVDs, local collections, or networked servers (FTP,
|
||||
HTTP) to automatically install software from (.deb
|
||||
<em>packages</em>). This is done preferably with the ‘apt’ and
|
||||
‘aptitude’ programs.</p>
|
||||
|
||||
<p>You can install packages from the commandline using
|
||||
apt-get. For example, if you want to install the
|
||||
packages ‘commprog’ and ‘maxgame’, you can give the
|
||||
command:</p>
|
||||
|
||||
<p>
|
||||
#if OUTPUTtext
|
||||
|
||||
#endif
|
||||
<code>apt-get install commprog maxgame</code>
|
||||
</p>
|
||||
|
||||
<p>Note that you don't have to enter the complete path, or the
|
||||
‘.deb’ extension. ‘Apt’ will figure this out
|
||||
itself.</p>
|
||||
|
||||
<p>Or use aptitude for a full screen interactive selection of
|
||||
available Debian packages.</p>
|
||||
#endif
|
||||
|
||||
#ifndef UNOFFEXTRAS
|
||||
<h2 id="cdmanuf">
|
||||
CD/DVD Manufacturers
|
||||
#ifdef OUTPUTtext
|
||||
<br />====================
|
||||
#endif
|
||||
</h2>
|
||||
|
||||
<p>You are completely free to manufacture and re-distribute CDs/DVDs of the
|
||||
Debian DEBIAN_KERNEL Operating System, like this one. There is no charge from
|
||||
us (but of course donations are always welcome).</p>
|
||||
|
||||
<p>For all needed information and contact addresses, please
|
||||
refer to:</p>
|
||||
|
||||
<p>
|
||||
#ifdef OUTPUTtext
|
||||
|
||||
#endif
|
||||
<a href="http://www.debian.org/CD/">http://www.debian.org/CD/</a>
|
||||
</p>
|
||||
#endif
|
||||
|
||||
<h2 id="other">
|
||||
More Information
|
||||
#ifdef OUTPUTtext
|
||||
<br />================
|
||||
#endif
|
||||
</h2>
|
||||
|
||||
#if DISKNUM1 && TYPEbinary
|
||||
|
||||
<p>There is much more information present on this disc. Besides
|
||||
the already mentioned installation and upgrading procedures,
|
||||
this is the most interesting:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
# if OUTPUTtext
|
||||
/doc/FAQ
|
||||
|
||||
# endif
|
||||
<a href="doc/FAQ/">Debian FAQ</a>
|
||||
</li>
|
||||
<li>
|
||||
# if OUTPUTtext
|
||||
/doc/constitution.txt
|
||||
|
||||
# endif
|
||||
<a href="doc/constitution.txt">The Debian Constitution</a>
|
||||
</li>
|
||||
<li>
|
||||
# if OUTPUTtext
|
||||
/doc/debian-manifesto
|
||||
|
||||
# endif
|
||||
<a href="doc/debian-manifesto">The Debian Manifesto</a>
|
||||
</li>
|
||||
<li>
|
||||
# if OUTPUTtext
|
||||
/doc/social-contract.txt
|
||||
|
||||
# endif
|
||||
<a href="doc/social-contract.txt">Debian's Social Contract</a>
|
||||
</li>
|
||||
<li>
|
||||
# if OUTPUTtext
|
||||
/doc/bug-reporting.txt
|
||||
|
||||
# endif
|
||||
<a href="doc/bug-reporting.txt">Bug reporting instructions</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
#else
|
||||
|
||||
<p>The Binary-1 disc contains much more information about various aspects
|
||||
of the Debian Operating System and the Debian organization. See the README
|
||||
on that disc for more info.</p>
|
||||
|
||||
#endif
|
||||
|
||||
<p>Also on the Internet are many resources. To name a few:</p>
|
||||
|
||||
<ul>
|
||||
<li>
|
||||
#if OUTPUTtext
|
||||
http://www.debian.org/
|
||||
|
||||
#endif
|
||||
<a href="http://www.debian.org/">The Debian homepage</a>
|
||||
</li>
|
||||
<li>
|
||||
#if OUTPUTtext
|
||||
http://www.debian.org/doc/
|
||||
|
||||
#endif
|
||||
<a href="http://www.debian.org/doc/">Debian Documentation</a>
|
||||
</li>
|
||||
<li>
|
||||
#if OUTPUTtext
|
||||
http://www.debian.org/support/
|
||||
#endif
|
||||
<a href="http://www.debian.org/support">Debian User Support</a>
|
||||
</li>
|
||||
<li>
|
||||
#if OUTPUTtext
|
||||
http://www.tldp.org/
|
||||
|
||||
#endif
|
||||
<a href="http://www.tldp.org/">The Linux Documentation Project</a>
|
||||
</li>
|
||||
<li>
|
||||
#if OUTPUTtext
|
||||
http://www.linux.org/
|
||||
|
||||
#endif
|
||||
<a href="http://www.linux.org/">General Linux homepage</a>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
#if OUTPUTtext
|
||||
<p> </p>
|
||||
<p> </p>
|
||||
#endif
|
||||
|
||||
<div id="fineprint">
|
||||
#if OUTPUTtext
|
||||
<p align="center">
|
||||
#else
|
||||
<p>
|
||||
#endif
|
||||
See the Debian <a href=
|
||||
"http://www.debian.org/contact">contact page</a>
|
||||
#if OUTPUTtext
|
||||
(http://www.debian.org/contact)
|
||||
#endif
|
||||
for information on contacting us.</p>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
|
@ -0,0 +1,4 @@
|
|||
choose-mirror
|
||||
netcfg
|
||||
ethdetect
|
||||
fdisk-udeb
|
|
@ -0,0 +1,3 @@
|
|||
netcfg
|
||||
ethdetect
|
||||
fdisk-udeb
|
|
@ -0,0 +1,3 @@
|
|||
netcfg
|
||||
ethdetect
|
||||
fdisk-udeb
|
|
@ -0,0 +1,4 @@
|
|||
choose-mirror
|
||||
netcfg
|
||||
ethdetect
|
||||
pcmciautils-udeb
|
|
@ -0,0 +1,3 @@
|
|||
netcfg
|
||||
ethdetect
|
||||
pcmciautils-udeb
|
|
@ -0,0 +1,3 @@
|
|||
netcfg
|
||||
ethdetect
|
||||
pcmciautils-udeb
|
|
@ -0,0 +1,266 @@
|
|||
<chrp-boot>
|
||||
<description>Debian/GNU Linux Installation on IBM CHRP hardware</description>
|
||||
<os-name>Debian/GNU Linux for PowerPC</os-name>
|
||||
<boot-script>boot &device;:\install\yaboot</boot-script>
|
||||
<icon size=64,64 color-space=3,3,2>
|
||||
<bitmap>
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
|
||||
</bitmap>
|
||||
</icon>
|
||||
</chrp-boot>
|
||||
|
After Width: | Height: | Size: 7.8 KiB |
|
@ -0,0 +1,5 @@
|
|||
choose-mirror
|
||||
netcfg
|
||||
ethdetect
|
||||
pcmciautils-udeb
|
||||
debian-edu-install-udeb
|
|
@ -0,0 +1,69 @@
|
|||
/*
|
||||
|
||||
Debian Installation Medium print media CSS
|
||||
to be used in conjuction the all media CSS file
|
||||
Created by: Kalle Söderman
|
||||
|
||||
*/
|
||||
|
||||
body {
|
||||
margin: 0 1em 0 70px;
|
||||
font: normal 10pt sans-serif;
|
||||
color:black;
|
||||
background-image:none;
|
||||
}
|
||||
.alt {
|
||||
display:none;
|
||||
}
|
||||
.section {
|
||||
display:none;
|
||||
}
|
||||
#logo {
|
||||
z-index: 0;
|
||||
}
|
||||
h1 {
|
||||
z-index:100;
|
||||
}
|
||||
em {
|
||||
color: #666;
|
||||
}
|
||||
code {
|
||||
background-color: transparent;
|
||||
border:0;
|
||||
}
|
||||
tt a {
|
||||
font-family: monospace;
|
||||
background-color: transparent;
|
||||
border:0;
|
||||
}
|
||||
.toc li {
|
||||
border-bottom: 0.5pt dotted black;
|
||||
}
|
||||
#outer ul {
|
||||
line-height:1.2em;
|
||||
}
|
||||
#intro {
|
||||
border-bottom: 1pt solid black
|
||||
}
|
||||
#breadcrumbs {
|
||||
font-weight:bold;
|
||||
border-bottom: 1pt solid black;
|
||||
}
|
||||
#fineprint, #breadcrumbs {
|
||||
background: transparent;
|
||||
}
|
||||
#fineprint {
|
||||
color:black;
|
||||
border-top:1px solid black;
|
||||
}
|
||||
#fineprint p {
|
||||
line-height:1.5em;
|
||||
}
|
||||
p a:link {
|
||||
background-image: url('../pics/dot_bw.gif');
|
||||
background-repeat:repeat-x;
|
||||
background-position:bottom left;
|
||||
}
|
||||
a:link, a:visited, a:link:visited {
|
||||
color:black;
|
||||
}
|
|
@ -0,0 +1,294 @@
|
|||
/*
|
||||
|
||||
Debian Installation Medium CSS
|
||||
Created by: Kalle Söderman
|
||||
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
html {
|
||||
height:100%;
|
||||
}
|
||||
body {
|
||||
margin: 0px 10px 0 70px;
|
||||
font: normal 16px sans-serif;
|
||||
background-color: white;
|
||||
background-image:url('../pics/gradient.png');
|
||||
background-position: top left;
|
||||
background-repeat: repeat-x;
|
||||
color:black;
|
||||
}
|
||||
|
||||
/* --------------- Main Divs --------------- */
|
||||
|
||||
#header {
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
#upperheader {
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
#logo {
|
||||
position:absolute;
|
||||
top:0;
|
||||
left:0;
|
||||
}
|
||||
#intro {
|
||||
border-bottom:1px solid #c70036;
|
||||
}
|
||||
#mirrors #intro {
|
||||
margin:0;
|
||||
padding:0;
|
||||
}
|
||||
#intro #splash {
|
||||
margin-top:70px;
|
||||
margin-bottom: 0px;
|
||||
text-align:center;
|
||||
}
|
||||
#debian-img {
|
||||
margin-top:10px;
|
||||
clear:both;
|
||||
display:block;
|
||||
}
|
||||
|
||||
#intro p,.intro {
|
||||
margin-bottom: 0.75em;
|
||||
padding:0;
|
||||
line-height:1.2em;
|
||||
text-align: left;
|
||||
font-size:118%;
|
||||
}
|
||||
.alt {
|
||||
float:right;
|
||||
}
|
||||
.toc {
|
||||
font-size: 0.73em;
|
||||
list-style:none;
|
||||
margin: 0 0 1em 0;
|
||||
line-height:1.5em;
|
||||
}
|
||||
#mirrors .toc {
|
||||
border-top: 1px solid #d3d6df;
|
||||
}
|
||||
.toc li {
|
||||
border-bottom: 1px solid #d3d6df;
|
||||
padding:3px 3px 3px 3px;
|
||||
}
|
||||
#maincol {
|
||||
clear:both;
|
||||
}
|
||||
.clr {
|
||||
border-top:1px solid black;
|
||||
}
|
||||
#footer {
|
||||
margin:0;
|
||||
|
||||
clear:both;
|
||||
}
|
||||
|
||||
#maincol ul, #mailheader {
|
||||
text-indent:0;
|
||||
list-style-position:outside;
|
||||
margin:0.5em 0 1em 0;
|
||||
padding:0;
|
||||
}
|
||||
ul {
|
||||
list-style-position:outside;
|
||||
margin:0.5em 0 1em 0;
|
||||
|
||||
padding:0;
|
||||
}
|
||||
ul ul, ul ul ul, ul ul ul ul {
|
||||
padding-left:1em;
|
||||
}
|
||||
|
||||
#breadcrumbs {
|
||||
font-size:0.68em;
|
||||
margin:0 0 0 0;
|
||||
padding:0.25em;
|
||||
background-color: #f2f3f7;
|
||||
border-bottom: 1px solid #e2e3e7;
|
||||
text-transform:lowercase;
|
||||
}
|
||||
.hidecss {
|
||||
display:none;
|
||||
}
|
||||
#fineprint {
|
||||
font-size:0.68em;
|
||||
color: #333;
|
||||
margin:2em 0 0 0;
|
||||
padding:0.25em;
|
||||
background-color: #f2f3f7;
|
||||
border-top: 1px solid #e2e3e7;
|
||||
text-transform:lowercase;
|
||||
}
|
||||
#fineprint p {
|
||||
margin:0;
|
||||
line-height:1em;
|
||||
}
|
||||
.nonvisual {
|
||||
display:none;
|
||||
}
|
||||
.clear {clear:both}
|
||||
#clear {
|
||||
clear:both;
|
||||
}
|
||||
|
||||
/* --------------- Images --------------- */
|
||||
|
||||
img {border:0;}
|
||||
|
||||
|
||||
|
||||
/* --------------- Typography --------------- */
|
||||
#intro h1 {
|
||||
margin:0;
|
||||
line-height:0.8em;
|
||||
}
|
||||
dd {
|
||||
margin: 0 0 1em 1em;
|
||||
}
|
||||
.section {
|
||||
font-family:monospace;
|
||||
font-size: 0.9em;
|
||||
position:absolute;
|
||||
top: 0px;
|
||||
left:70px;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.08em;
|
||||
background-color: #c70036;
|
||||
line-height: 20px;
|
||||
color:white;
|
||||
padding: 0 5px 0 5px;
|
||||
margin:0;
|
||||
}
|
||||
.section em {
|
||||
font-style:normal;
|
||||
color:white;
|
||||
}
|
||||
strong {
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: 0.1em 0 0.4em 0;
|
||||
line-height:1.5em;
|
||||
}
|
||||
em {
|
||||
color: #666;
|
||||
}
|
||||
|
||||
h1, h2, h3, h4, h5, h6 {
|
||||
font-weight: normal;
|
||||
}
|
||||
h1 {
|
||||
font-size: 218%; margin:0.5em 0 0.5em 0;
|
||||
}
|
||||
h2 {
|
||||
font-size: 164%; margin: 1em 0 0.25em 0;
|
||||
}
|
||||
h3 {
|
||||
font-size: 145%;
|
||||
}
|
||||
h4 {
|
||||
font-size: 118%;
|
||||
}
|
||||
blockquote {
|
||||
margin: 0;
|
||||
}
|
||||
hr {
|
||||
background-color:#cdcdcd;
|
||||
height:1px;
|
||||
border:0;
|
||||
display:none;
|
||||
}
|
||||
pre {
|
||||
font-family: monospace;
|
||||
font-size: 0.73em;
|
||||
line-height:1.5em;
|
||||
}
|
||||
|
||||
th {
|
||||
text-align:left;
|
||||
}
|
||||
blockquote {
|
||||
margin-left: 1em;
|
||||
font-size:0.73em;
|
||||
}
|
||||
code {
|
||||
background-color: #f2f3f7;
|
||||
border: 1px solid #e2e3e7;
|
||||
padding: 0 0.25em 0 0.25em;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
tt a {
|
||||
background-color: #fffede;
|
||||
border: 1px solid #eae9cb;
|
||||
padding: 0 0.25em 0 0.25em;
|
||||
text-decoration:none;
|
||||
}
|
||||
tt a:hover {
|
||||
background-color:transparent;
|
||||
border-color:transparent;
|
||||
}
|
||||
|
||||
dt {
|
||||
font-weight:bold;
|
||||
margin:0;
|
||||
}
|
||||
dd {
|
||||
margin-left:1em;
|
||||
}
|
||||
#mirrors h1 {
|
||||
margin-top:70px;
|
||||
padding: 0.25em 0 0 0;
|
||||
border-top: 1px solid #c70036;
|
||||
}
|
||||
#mirrors pre {
|
||||
font-size:0.75em;
|
||||
}
|
||||
#mirrors td, #mirrors th {
|
||||
font-size:0.73em;
|
||||
padding-right:1em;
|
||||
}
|
||||
#mirrors code {
|
||||
background:transparent;
|
||||
border:none;
|
||||
}
|
||||
/*--------------- Small Type Group -------------*/
|
||||
|
||||
.small, #footer,#news, #security,.planet #sidebar, .planet .date, .wikitoc, .wiki #sidebar, .wiki #pageinfo.info, .wiki #spotlight {
|
||||
font-size:0.73em;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* --------------------- Links ---------------------- */
|
||||
|
||||
a:link {
|
||||
color: #0035c7;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
a:link:hover {
|
||||
text-decoration: underline;
|
||||
color: #2e00c7;
|
||||
}
|
||||
a:visited {
|
||||
text-decoration:none;
|
||||
color: #0035c7;
|
||||
}
|
||||
a:visited:hover {
|
||||
text-decoration:underline;
|
||||
}
|
||||
a:link:active {
|
||||
color: #c70036;
|
||||
background-color:transparent;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,19 @@
|
|||
# DECstations with R4000 CPU
|
||||
label=linux-kn04
|
||||
append="initrd=/boot/initrd.gz ramdisk_size=8192"
|
||||
image=/boot/vmlinux-r4k-kn04
|
||||
|
||||
# DECstations with R4000 CPU, expert mode
|
||||
label=expert-kn04
|
||||
append="DEBCONF_PRIORITY=low initrd=/boot/initrd.gz ramdisk_size=8192"
|
||||
image=/boot/vmlinux-r4k-kn04
|
||||
|
||||
# DECstations with R3000 CPU
|
||||
label=linux-kn02
|
||||
append="initrd=/boot/initrd.gz ramdisk_size=8192"
|
||||
image=/boot/vmlinux-r3k-kn02
|
||||
|
||||
# DECstations with R3000 CPU, expert mode
|
||||
label=expert-kn02
|
||||
append="DEBCONF_PRIORITY=low initrd=/boot/initrd.gz ramdisk_size=8192"
|
||||
image=/boot/vmlinux-r3k-kn02
|
After Width: | Height: | Size: 43 B |
|
@ -0,0 +1,140 @@
|
|||
# These udebs build the d-i cdrom initrd. As such, there is no reason
|
||||
# to keep another copy of them on the CD in udeb form.
|
||||
#
|
||||
# This duplicates data found in the file build/pkg-lists/kernel, in d-i svn
|
||||
kernel-image-*
|
||||
# build/pkg-lists/base in d-i svn
|
||||
archdetect
|
||||
rootskel
|
||||
main-menu
|
||||
cdebconf-udeb
|
||||
udpkg
|
||||
anna
|
||||
di-utils
|
||||
di-utils-shell
|
||||
di-utils-reboot
|
||||
lowmemcheck
|
||||
# build/pkg-lists/cdrom/common, in d-i svn (also included in the
|
||||
# root+cd-drivers floppies)
|
||||
busybox-udeb
|
||||
installation-locale
|
||||
localechooser
|
||||
iso-3166-udeb
|
||||
hw-detect
|
||||
cdrom-detect
|
||||
cdrom-retriever
|
||||
load-cdrom
|
||||
cdrom-checker
|
||||
bogl-bterm-udeb
|
||||
di-utils-terminfo
|
||||
cdebconf-priority
|
||||
cdebconf-newt-udeb
|
||||
usb-discover
|
||||
preseed-common
|
||||
initrd-preseed
|
||||
file-preseed
|
||||
nano-udeb
|
||||
floppy-retriever
|
||||
libfribidi0-udeb
|
||||
# Already on the initrd as dependencies
|
||||
libdebconfclient0-udeb
|
||||
libdebian-installer4-udeb
|
||||
libdebian-installer-extra4-udeb
|
||||
# These udebs are only useful in building the boot floppy image
|
||||
busybox-floppy-udeb
|
||||
rootskel-bootfloppy
|
||||
# Graphical installer: common udebs included in initrd
|
||||
rootskel-gtk
|
||||
cdebconf-gtk-udeb
|
||||
fontconfig-udeb
|
||||
gtk2-engines-udeb
|
||||
libatk1.0-udeb
|
||||
libexpat1-udeb
|
||||
libfreetype6-udeb
|
||||
libglib2.0-udeb
|
||||
libgtk2-engines-udeb
|
||||
libpango1.0-udeb
|
||||
libpcre3-udeb
|
||||
libpixman-1-0-udeb
|
||||
libpng12-0-udeb
|
||||
libsdl1.2debian-udeb
|
||||
mouse-modules-*
|
||||
ttf-*
|
||||
fbset-udeb
|
||||
# Graphical installer: udebs for directfb
|
||||
libdirectfb-*-udeb
|
||||
libcairo-directfb2-udeb
|
||||
libgtk-directfb-2.0-0-udeb
|
||||
# Graphical installer: udebs for X.Org
|
||||
xserver-xorg-core-udeb
|
||||
xserver-xorg-input-evdev-udeb
|
||||
xserver-xorg-video-fbdev-udeb
|
||||
x11-xkb-utils-udeb
|
||||
xkb-data-udeb
|
||||
libcairo2-udeb
|
||||
libdrm2-udeb
|
||||
libfontenc1-udeb
|
||||
libgtk-x11-udeb
|
||||
libpciaccess0-udeb
|
||||
libx11-6-udeb
|
||||
libxau6-udeb
|
||||
libxcb1-udeb
|
||||
libxcursor1-udeb
|
||||
libxdmcp6-udeb
|
||||
libxext6-udeb
|
||||
libxfixes3-udeb
|
||||
libxfont1-udeb
|
||||
libxft2-udeb
|
||||
libxi6-udeb
|
||||
libxinerama1-udeb
|
||||
libxkbfile1-udeb
|
||||
libxrender1-udeb
|
||||
# Graphical installer: terminal support is included in initrd
|
||||
cdebconf-gtk-terminal
|
||||
libvte9-udeb
|
||||
# Not currently used
|
||||
cdebootstrap-udeb
|
||||
hdparm-udeb
|
||||
dhcp-client-udeb
|
||||
# This package is only useful in the d-i-demo
|
||||
di-utils-exit-installer
|
||||
# No need for these loaders.
|
||||
download-installer
|
||||
load-floppy
|
||||
# Only useful in the hd-media initrd
|
||||
iso-scan
|
||||
load-iso
|
||||
# These are not really needed, the regular netcfg subsumes them
|
||||
netcfg-static
|
||||
# skolelinux stuff, not for the stock CDs
|
||||
debian-edu-install-udeb
|
||||
debian-edu-profile-udeb
|
||||
debian-edu-archive-keyring-udeb
|
||||
ltsp-client-builder
|
||||
autopartkit
|
||||
# live CD stuff
|
||||
live-installer
|
||||
simple-cdd-profiles
|
||||
# If needed, will be on the initrd already
|
||||
module-init-tools-udeb
|
||||
env-preseed
|
||||
rescue-check
|
||||
cdebconf-text-udeb
|
||||
brltty-udeb
|
||||
klibc-utils-udeb
|
||||
libklibc-udeb
|
||||
udev-udeb
|
||||
udev-gtk-udeb
|
||||
ai-choosers
|
||||
auto-install
|
||||
libslang2-udeb
|
||||
kbd-chooser
|
||||
kbd-udeb
|
||||
console-setup-*
|
||||
# Currently unused
|
||||
debian-ports-archive-keyring-udeb
|
||||
emdebian-archive-keyring-udeb
|
||||
nbd-client-udeb
|
||||
pwgen-udeb
|
||||
# Eh?
|
||||
gnumach-udeb
|
|
@ -0,0 +1,42 @@
|
|||
# These udebs are in the d-i cdrom initrd and the hd-media initrd.
|
||||
# As such, there is no reason to keep another copy of them on the CD
|
||||
# in udeb form.
|
||||
console-keymaps-at
|
||||
console-keymaps-usb
|
||||
kbd-chooser
|
||||
acpi-modules-*
|
||||
ata-modules-*
|
||||
cdrom-core-modules-*
|
||||
core-modules-*
|
||||
fat-modules-*
|
||||
fb-modules-*
|
||||
ide-core-modules-*
|
||||
ide-modules-*
|
||||
input-modules-*
|
||||
isofs-modules-*
|
||||
mmc-modules-*
|
||||
nls-core-modules-*
|
||||
parport-modules-*
|
||||
pcmcia-modules-*
|
||||
sata-modules-*
|
||||
scsi-common-modules-*
|
||||
scsi-core-modules-*
|
||||
scsi-modules-*
|
||||
serial-modules-*
|
||||
speakup-modules-*
|
||||
usb-modules-*
|
||||
usb-serial-modules-*
|
||||
usb-storage-modules-*
|
||||
# Not used on amd64
|
||||
console-keymaps-acorn
|
||||
console-keymaps-amiga
|
||||
console-keymaps-atari
|
||||
console-keymaps-dec
|
||||
console-keymaps-sun
|
||||
# Not needed with the 2.6 kernel on amd64.
|
||||
userdevfs
|
||||
# Only needed on arches that use partconf or autopartkit.
|
||||
partconf-mkfstab
|
||||
# Not needed on arches that use partman
|
||||
mdcfg
|
||||
lvmcfg
|
|
@ -0,0 +1,44 @@
|
|||
# These udebs are in the d-i cdrom initrd and the cd-drivers+root floppies.
|
||||
# As such, there is no reason to keep another copy of them on the CD
|
||||
# in udeb form.
|
||||
console-keymaps-at
|
||||
console-keymaps-usb
|
||||
kbd-chooser
|
||||
acpi-modules-*
|
||||
ata-modules-*
|
||||
cdrom-core-modules-*
|
||||
core-modules-*
|
||||
fat-modules-*
|
||||
fb-modules-*
|
||||
ide-core-modules-*
|
||||
ide-modules-*
|
||||
input-modules-*
|
||||
isofs-modules-*
|
||||
mmc-modules-*
|
||||
nls-core-modules-*
|
||||
parport-modules-*
|
||||
pcmcia-modules-*
|
||||
sata-modules-*
|
||||
scsi-common-modules-*
|
||||
scsi-core-modules-*
|
||||
scsi-modules-*
|
||||
serial-modules-*
|
||||
speakup-modules-*
|
||||
usb-modules-*
|
||||
usb-serial-modules-*
|
||||
usb-storage-modules-*
|
||||
# 686-bigmem kernel udebs are only used for the Xen netboot image
|
||||
*-686-bigmem-di !xen
|
||||
# Not used on i386
|
||||
console-keymaps-acorn
|
||||
console-keymaps-amiga
|
||||
console-keymaps-atari
|
||||
console-keymaps-dec
|
||||
console-keymaps-sun
|
||||
# Not needed with the 2.4 kernel on i386.
|
||||
userdevfs
|
||||
# Only needed on arches that use partconf or autopartkit.
|
||||
partconf-mkfstab
|
||||
# Not needed on arches that use partman
|
||||
mdcfg
|
||||
lvmcfg
|
|
@ -0,0 +1,26 @@
|
|||
# These udebs build the d-i cdrom initrd. As such, there is no reason
|
||||
# to keep another copy of them on the CD in udeb form.
|
||||
#
|
||||
acpi-modules-*
|
||||
cdrom-modules-*
|
||||
i2c-modules-*
|
||||
isofs-modules-*
|
||||
kernel-image-*
|
||||
parport-modules-*
|
||||
sata-modules-*
|
||||
scsi-core-modules-*
|
||||
scsi-extra-modules-*
|
||||
scsi-modules-*
|
||||
serial-modules-*
|
||||
|
||||
# Not yet support on GNU/kFreeBSD
|
||||
partman-auto-crypto
|
||||
partman-auto-lvm
|
||||
partman-auto-raid
|
||||
partman-crypto-dm
|
||||
partman-crypto-loop
|
||||
partman-ext3
|
||||
partman-jfs
|
||||
partman-lvm
|
||||
partman-md
|
||||
partman-multipath
|
|
@ -0,0 +1,26 @@
|
|||
# These udebs build the d-i cdrom initrd. As such, there is no reason
|
||||
# to keep another copy of them on the CD in udeb form.
|
||||
#
|
||||
acpi-modules-*
|
||||
cdrom-modules-*
|
||||
i2c-modules-*
|
||||
isofs-modules-*
|
||||
kernel-image-*
|
||||
parport-modules-*
|
||||
sata-modules-*
|
||||
scsi-core-modules-*
|
||||
scsi-extra-modules-*
|
||||
scsi-modules-*
|
||||
serial-modules-*
|
||||
|
||||
# Not yet support on GNU/kFreeBSD
|
||||
partman-auto-crypto
|
||||
partman-auto-lvm
|
||||
partman-auto-raid
|
||||
partman-crypto-dm
|
||||
partman-crypto-loop
|
||||
partman-ext3
|
||||
partman-jfs
|
||||
partman-lvm
|
||||
partman-md
|
||||
partman-multipath
|
|
@ -0,0 +1,28 @@
|
|||
# These udebs build the d-i cdrom initrd. As such, there is no reason
|
||||
# to keep another copy of them on the CD in udeb form.
|
||||
#
|
||||
# This duplicates data found in the file build/pkg-lists/cdrom/powerpc,
|
||||
# in d-i Subversion.
|
||||
|
||||
cdrom-core-modules-*
|
||||
console-keymaps-at
|
||||
console-keymaps-usb
|
||||
eject-udeb
|
||||
firewire-core-modules-*
|
||||
fs-common-modules-*
|
||||
ide-modules-*
|
||||
input-modules-*
|
||||
kbd-chooser
|
||||
scsi-common-modules-*
|
||||
scsi-core-modules-*
|
||||
scsi-modules-*
|
||||
socket-modules-*
|
||||
usb-modules-*
|
||||
usb-storage-modules-*
|
||||
# Not needed with the 2.4 kernel on powerpc.
|
||||
userdevfs
|
||||
# Only needed on arches that use partconf or autopartkit.
|
||||
partconf-mkfstab
|
||||
# Not needed on arches that use partman
|
||||
mdcfg
|
||||
lvmcfg
|
|
@ -0,0 +1,5 @@
|
|||
# Only needed on arches that use partconf or autopartkit.
|
||||
partconf-mkfstab
|
||||
# Not needed on arches that use partman
|
||||
mdcfg
|
||||
lvmcfg
|
After Width: | Height: | Size: 254 B |
|
@ -0,0 +1,3 @@
|
|||
choose-mirror
|
||||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,4 @@
|
|||
choose-mirror
|
||||
netcfg
|
||||
ethdetect
|
||||
pcmciautils-udeb
|
|
@ -0,0 +1,3 @@
|
|||
netcfg
|
||||
ethdetect
|
||||
pcmciautils-udeb
|
|
@ -0,0 +1,3 @@
|
|||
netcfg
|
||||
ethdetect
|
||||
pcmciautils-udeb
|
|
@ -0,0 +1,3 @@
|
|||
choose-mirror
|
||||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,3 @@
|
|||
choose-mirror
|
||||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,3 @@
|
|||
choose-mirror
|
||||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,3 @@
|
|||
choose-mirror
|
||||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,3 @@
|
|||
choose-mirror
|
||||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,3 @@
|
|||
choose-mirror
|
||||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
After Width: | Height: | Size: 1.4 KiB |
|
@ -0,0 +1,89 @@
|
|||
\ FORTH is identifed by a forth comment at first line
|
||||
\
|
||||
\ terminal control stuff
|
||||
\
|
||||
: TTY.CSI d# 27 EMIT ASCII [ EMIT ;
|
||||
: TTY.HOME TTY.CSI ASCII H EMIT ;
|
||||
: TTY.CLR_EOS TTY.CSI ASCII J EMIT ;
|
||||
: TTY.HOME_CLR TTY.HOME TTY.CLR_EOS ;
|
||||
\
|
||||
\ boot menu stuff
|
||||
\
|
||||
: my-max-boot-num 4 ;
|
||||
: my-boot-default 1 ;
|
||||
: my-boot-delay d# 300 ; \ unit = 100 ms
|
||||
: my-print-menu ( -- )
|
||||
TTY.HOME_CLR
|
||||
." " cr
|
||||
." Welcome to Debian GNU/Linux ${DEBIAN_VERSION}!" cr
|
||||
." " cr
|
||||
." This is a Debian installation ${MEDIA_TYPE}," cr
|
||||
." built on ${BUILD_DATE}." cr
|
||||
." " cr
|
||||
." The default option is (1) 'install'. For maximum" cr
|
||||
." control, you can use the (2) 'expert' option." cr
|
||||
." " cr
|
||||
." ************************************" cr
|
||||
." If in doubt, just choose (1) 'install'" cr
|
||||
." ************************************" cr
|
||||
." " cr
|
||||
." 1: install" cr
|
||||
." 2: expert" cr
|
||||
." 3: rescue" cr
|
||||
." 4: return to OF prompt" cr
|
||||
." " cr
|
||||
;
|
||||
: my-boot-case ( num -- )
|
||||
." " cr
|
||||
case
|
||||
1 of " cd install/powerpc/vmlinuz-chrp.initrd --" endof
|
||||
2 of " cd install/powerpc/vmlinuz-chrp.initrd DEBCONF_PRIORITY=low --" endof
|
||||
3 of " cd install/powerpc/vmlinuz-chrp.initrd rescue/enable=true --" endof
|
||||
4 of " none" endof
|
||||
endcase
|
||||
$boot
|
||||
;
|
||||
: my-input-num ( wait-period max-boot-num default-num -- boot-num )
|
||||
1 \ loop-inc = 1
|
||||
3 pick 0 do
|
||||
0d emit
|
||||
." press 1-"
|
||||
( wait-period max-boot-num default-num loop-inc )
|
||||
2 pick ascii 0 + emit
|
||||
dup 1 = if
|
||||
." within "
|
||||
3 pick i - d# 10 / .d
|
||||
." seconds"
|
||||
then
|
||||
." (default: "
|
||||
over ascii 0 + emit
|
||||
." ) : "
|
||||
d# 100 ms
|
||||
key? if
|
||||
key
|
||||
( wait-period max-boot-num default-num loop-inc key )
|
||||
dup 0d = if \ return pressed
|
||||
drop leave
|
||||
then
|
||||
|
||||
ascii 0 -
|
||||
( wait-period max-boot-num default-num loop-inc num )
|
||||
dup 1 5 pick
|
||||
( wait-period max-boot-num default-num loop-inc num num 1 max-boot-num )
|
||||
between if
|
||||
rot drop swap leave
|
||||
then
|
||||
|
||||
( wait-period max-boot-num default-num loop-inc num )
|
||||
2drop 0 \ loop-inc = 0
|
||||
then
|
||||
dup +loop
|
||||
drop
|
||||
( wait-period max-boot-num boot-num )
|
||||
nip nip
|
||||
;
|
||||
|
||||
|
||||
my-print-menu
|
||||
my-boot-delay my-max-boot-num my-boot-default my-input-num
|
||||
my-boot-case
|
|
@ -0,0 +1,3 @@
|
|||
choose-mirror
|
||||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,3 @@
|
|||
netcfg
|
||||
ethdetect
|
||||
pcmciautils-udeb
|
|
@ -0,0 +1,24 @@
|
|||
About the S/390 installation CD
|
||||
===============================
|
||||
|
||||
It is possible to "boot" the installation system off this CD using
|
||||
the files provided in the /boot directory.
|
||||
|
||||
Note that the /boot/d390oco.* files are only provided as an example
|
||||
as Debian cannot ship the object-code-only-modules-ramdisk (oco.bin).
|
||||
|
||||
Although you can boot the installer from this CD, the installation
|
||||
itself is *not* actually done from the CD. Once the initrd is loaded,
|
||||
the installer will ask you to configure your network connection and
|
||||
uses the network-console component to allow you to continue the
|
||||
installation over SSH. The rest of the installation is done over the
|
||||
network: all installer components and Debian packages are retrieved
|
||||
from a mirror.
|
||||
|
||||
|
||||
Tip for users of the Hercules emulator
|
||||
--------------------------------------
|
||||
If you want to ipl the installer off this CD, mount it on the host
|
||||
system (e.g. on /media/cdrom) and enter the following in the Hercules
|
||||
management console:
|
||||
ipl /media/cdrom/boot/d390.ins
|
|
@ -0,0 +1,6 @@
|
|||
* Debian GNU/Linux for S/390 (boot from CD-ROM or FTP-Server)
|
||||
linux_vm 0x00000000
|
||||
root.off 0x0001040c
|
||||
root.siz 0x00010414
|
||||
parmfile 0x00010480
|
||||
root.bin 0x00800000
|
|
@ -0,0 +1,7 @@
|
|||
@TDF
|
||||
H:\BOOT\LINUX_TP UNDEFINED RECSIZE 1024
|
||||
H:\BOOT\PARMFILE UNDEFINED RECSIZE 1024
|
||||
H:\BOOT\ROOT.BIN UNDEFINED RECSIZE 1024
|
||||
TM
|
||||
TM
|
||||
EOT
|
|
@ -0,0 +1,7 @@
|
|||
* Debian GNU/Linux for S/390 (boot from CD-ROM or FTP-Server with OCO-Modules)
|
||||
linux_vm 0x00000000
|
||||
root.off 0x0001040c
|
||||
root.siz 0x00010414
|
||||
parmfile 0x00010480
|
||||
root.bin 0x00800000
|
||||
oco.bin 0x00c00000
|
|
@ -0,0 +1,8 @@
|
|||
@TDF
|
||||
H:\BOOT\LINUX_TP UNDEFINED RECSIZE 1024
|
||||
H:\BOOT\PARMFILE UNDEFINED RECSIZE 1024
|
||||
H:\BOOT\ROOT.BIN UNDEFINED RECSIZE 1024
|
||||
H:\BOOT\OCO.BIN UNDEFINED RECSIZE 1024
|
||||
TM
|
||||
TM
|
||||
EOT
|
|
@ -0,0 +1,3 @@
|
|||
choose-mirror
|
||||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|
|
@ -0,0 +1,2 @@
|
|||
netcfg
|
||||
ethdetect
|