mirror of
https://salsa.debian.org/images-team/debian-cd.git
synced 2024-11-24 15:19:51 -01:00
* Improve support for different disk types. Specify DISKTYPE in CONF.sh, and it will affect both the output name later (so it's now possible to distinguish between CDs and DVDs). Defaults to CD if not otherwise set. DISKTYPE will be used more in the future for sizing too, but that merge can wait a while longer yet. Closes: #361422 * Use DISKTYPE and COMPLETE values to create the file .disk/cd_type for the installer to use.
356 lines
13 KiB
Bash
356 lines
13 KiB
Bash
#
|
|
# 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 NOSOURCE || true
|
|
unset SRCEXCLUDE || true
|
|
unset NORECOMMENDS || true
|
|
unset NOSUGGESTS || true
|
|
unset DOJIGDO || 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
|
|
unset MAXCDS || true
|
|
unset SPLASHPNG || true
|
|
unset OMIT_MANUAL || true
|
|
unset OMIT_RELEASE_NOTES || true
|
|
|
|
# The debian-cd dir
|
|
# Where I am (hoping I'm in the debian-cd dir)
|
|
export BASEDIR=`pwd`
|
|
|
|
# Building etch cd set ...
|
|
export CODENAME=etch
|
|
|
|
# By default use Debian installer packages from $CODENAME
|
|
if [ ! "$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="4.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
|
|
CPU=`dpkg-architecture -qDEB_HOST_DPKG_CPU 2>/dev/null || true`
|
|
if [ "$CPU"x = ""x ] ; then
|
|
CPU=`dpkg-architecture -qDEB_HOST_ARCH`
|
|
fi
|
|
KERNEL=`dpkg-architecture -qDEB_HOST_DPKG_OS 2>/dev/null || true`
|
|
if [ "$KERNEL"x = ""x ] ; then
|
|
KERNEL=linux
|
|
fi
|
|
if [ $KERNEL = linux ] ; then
|
|
ARCH=$CPU
|
|
else
|
|
ARCH="$KERNEL-$CPU"
|
|
fi
|
|
export CPU KERNEL ARCH
|
|
|
|
# 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=/mirror/debian
|
|
|
|
# Comment the following line if you don't have/want non-US
|
|
#export NONUS=/ftp/debian-non-US
|
|
|
|
# And this option will make you 2 copies of CD1 - one with all the
|
|
# non-US packages on it, one with none. Useful if you're likely to
|
|
# need both.
|
|
#export FORCENONUSONCD1=1
|
|
|
|
# Path of the temporary directory
|
|
export TDIR=/mirror/tmp
|
|
|
|
# Path where the images will be written
|
|
export OUT=/mirror/debian-cd-test
|
|
|
|
# Where we keep the temporary apt stuff.
|
|
# This cannot reside on an NFS mount.
|
|
export APTTMP=/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
|
|
|
|
# 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=mkisofs
|
|
# export MKISOFS_OPTS="-r" #For normal users
|
|
# export MKISOFS_OPTS="-r -F ." #For symlink farmers
|
|
|
|
# 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
|
|
|
|
# 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
|
|
|
|
# Set your disk size here in MB. Used in calculating package and
|
|
# source file layouts in build.sh and build_all.sh. Defaults are for
|
|
# CD-R, try ~4400 for DVD-R.
|
|
export DEFBINSIZE=630
|
|
export DEFSRCSIZE=635
|
|
|
|
# Set the disk type, used later in various places. Soon this will also
|
|
# be used to work out the disk size automatically
|
|
if [ "$DISKTYPE"x = ""x ] ; then
|
|
DISKTYPE=CD
|
|
fi
|
|
export DISKTYPE
|
|
|
|
# We don't want certain packages to take up space on CD1...
|
|
#export EXCLUDE="$BASEDIR"/tasks/exclude-$CODENAME
|
|
# ...but they are okay for other CDs (UNEXCLUDEx == may be included on CD >= x)
|
|
#export UNEXCLUDE2="$BASEDIR"/tasks/unexclude-CD2-$CODENAME
|
|
# Any packages listed in EXCLUDE but not in any UNEXCLUDE will be
|
|
# excluded completely.
|
|
|
|
# We also exclude some source packages
|
|
#export SRCEXCLUDE="$BASEDIR"/tasks/exclude-src-$CODENAME
|
|
|
|
# Set this if building source packages CDs should be skipped.
|
|
# You won't need source packages on your local mirror in that case.
|
|
# (Setting IMAGETARGET is now deprecated, though still supported.)
|
|
#export NOSOURCE=1
|
|
|
|
# Set this if the recommended packages should be skipped when adding
|
|
# package on the CD. The default is 'false'.
|
|
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
|
|
|
|
# Produce jigdo files:
|
|
# 0/unset = Don't do jigdo at all, produce only the full iso image.
|
|
# 1 = Produce both the iso image and jigdo stuff.
|
|
# 2 = Produce ONLY jigdo stuff by piping mkisofs directly into jigdo-file,
|
|
# no temporary iso image is created (saves lots of disk space).
|
|
# NOTE: The no-temp-iso will not work for (at least) alpha and powerpc
|
|
# since they need the actual .iso to make it bootable. For these archs,
|
|
# the temp-iso will be generated, but deleted again immediately after the
|
|
# jigdo stuff is made; needs temporary space as big as the biggest image.
|
|
#export DOJIGDO=2
|
|
#
|
|
# jigdo-file command & options
|
|
# Note: building the cache takes hours, so keep it around for the next run
|
|
#export JIGDOCMD="/usr/local/bin/jigdo-file --cache=$HOME/jigdo-cache.db"
|
|
#
|
|
# 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"
|
|
|
|
# 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 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 0"
|
|
|
|
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
|
|
|
|
# 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=tasks/debian-installer-$CODENAME)
|
|
# INSTALLER_CD=2: add d-i and base (use TASK=tasks/debian-installer+kernel-$CODENAME)
|
|
#export INSTALLER_CD=2
|
|
|
|
# Parameters to pass to kernel (or d-i) when the CD boots. Not currently
|
|
# supported for all architectures.
|
|
#export KERNEL_PARAMS="DEBCONF_PRIORITY=critical"
|
|
|
|
# If set, limits the number of binary CDs to produce.
|
|
# 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 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)
|
|
export OFFICIAL_VAL=1
|
|
;;
|
|
*)
|
|
export OFFICIAL_VAL=0
|
|
;;
|
|
esac
|