Branch off wheezy for stable builds

This commit is contained in:
cd-builder user 2013-05-06 13:08:31 +00:00
parent 8fc3bdf2fe
commit 16ddd8dc09
327 changed files with 115339 additions and 0 deletions

463
wheezy/CONF.sh Normal file
View File

@ -0,0 +1,463 @@
#
# 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
unset DEBOOTSTRAP_OPTS || true
unset ARCHIVE_KEYRING_PACKAGE || true
unset ARCHIVE_KEYRING_FILE || 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_ARCH_CPU 2>/dev/null || true`
if [ -z "$CPU" ]; then
CPU=`dpkg-architecture -qDEB_HOST_ARCH`
fi
KERNEL=`dpkg-architecture -qDEB_HOST_ARCH_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"
# Keyring (defaults):
#ARCHIVE_KEYRING_PACKAGE=debian-archive-keyring
# The path to the keyring file relative to $TDIR/archive-keyring/
#ARCHIVE_KEYRING_FILE=usr/share/keyrings/debian-archive-keyring.gpg
# By default we use debootstrap --no-check-gpg to find out the minimal set
# of packages because there's no reason to not trust the local mirror. But
# you can be paranoid and then you need to indicate the keyring to use to
# validate the mirror.
#export DEBOOTSTRAP_OPTS="--keyring $TDIR/archive-keyring/$ARCHIVE_KEYRING_FILE"
# 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. Note that your mirror must have repositories of
# source packages if you enable this option.
# 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

16
wheezy/DEDICATION.txt Normal file
View File

@ -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

450
wheezy/Makefile Executable file
View File

@ -0,0 +1,450 @@
#!/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
ifneq (,$(filter i386 amd64,$(ARCHES)))
export MKISOFS=xorriso
export MKISOFS_OPTS=-as mkisofs -r -checksum_algorithm_iso md5,sha1
else
export MKISOFS=$(shell which genisoimage mkisofs | head -1)
endif
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
ifndef ARCHIVE_KEYRING_PACKAGE
ARCHIVE_KEYRING_PACKAGE=debian-archive-keyring
endif
ifndef ARCHIVE_KEYRING_FILE
ARCHIVE_KEYRING_FILE=usr/share/keyrings/debian-archive-keyring.gpg
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
ifndef DEBOOTSTRAP_OPTS
DEBOOTSTRAP_OPTS=--no-check-gpg
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 DISKTYPE
@echo DISKTYPE 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
# Set up keyring so apt doesn't complain
@echo "Setting up archive-keyring"
$(Q)mkdir -p $(TDIR)/archive-keyring
$(Q)dpkg -x $(MIRROR)/$(shell $(which_deb) $(MIRROR) $(CODENAME) $(ARCHIVE_KEYRING_PACKAGE)) $(TDIR)/archive-keyring
$(Q)for ARCH in $(ARCHES); do \
mkdir -p $(ADIR)/$(CODENAME)-$$ARCH/apt/trusted.gpg.d; \
ln -s $(TDIR)/archive-keyring/$(ARCHIVE_KEYRING_FILE) $(ADIR)/$(CODENAME)-$$ARCH/apt/trusted.gpg.d; \
done
# Updating the apt database
$(Q)for ARCH in $(ARCHES); do \
export ARCH=$$ARCH; \
$(apt) update; \
done
# If we're doing a build using d-i from sid, we'll need sid sources too
if [ "$(INC_SOURCE)"x = "yes"x ] && \
[ "$(DI_CODENAME)"x != ""x ] && \
[ "$(DI_CODENAME)"x != "$(CODENAME)"x ] ; then \
mkdir -p $(ADIR)/$(DI_CODENAME)-source/apt/preferences.d ; \
:> $(ADIR)/$(DI_CODENAME)-source/status ; \
export CODENAME=$(DI_CODENAME); \
export ARCH=source; \
$(apt) update; \
fi
#
# 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 "mawk" >>$(BDIR)/rawlist; \
else \
echo "mawk" >>$(BDIR)/rawlist; \
echo "exim4-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 $(DEBOOTSTRAP_OPTS) --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 -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

335
wheezy/README Normal file
View File

@ -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/

75
wheezy/README.devel Normal file
View File

@ -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.

305
wheezy/README.easy-build Normal file
View File

@ -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.

90
wheezy/build.sh Executable file
View File

@ -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."

70
wheezy/build_all.sh Executable file
View File

@ -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

320
wheezy/contrib/CONF.sh Normal file
View File

@ -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=0
# 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/

109
wheezy/contrib/common.sh Normal file
View File

@ -0,0 +1,109 @@
# 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
NI)
DESC="Netinst CD";;
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";;
XFCECD)
DESC="XFCE CD";;
LXDECD)
DESC="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"
}

285
wheezy/contrib/cronjob.daily Executable file
View File

@ -0,0 +1,285 @@
#!/bin/bash
TOPDIR=$(dirname $0)
if [ "$TOPDIR" = "." ] ; then
TOPDIR=`pwd`
fi
export TOPDIR
. $TOPDIR/settings.sh
BUILDLOCK=$HOME/.debian-cd.lock
export PUBDIRJIG=$PUBDIR/daily-builds
export DATE_BUILD="$DATE-$BUILDNUM"
export TESTING_SUITE=wheezy
BUILDS_RUNNING=""
if [ "$RELEASE_BUILD"x = ""x ] ; then
export SID_WANTED=1
export OUT_FREE_TST=${PUBDIRJIG}/${TESTING_SUITE}_d-i/${DATE_BUILD}
export OUT_FW_TST=${PUBDIRJIG}-firmware/${TESTING_SUITE}_d-i/${DATE_BUILD}
export OUT_FREE_SID=${PUBDIRJIG}/sid_d-i/${DATE_BUILD}
export OUT_FW_SID=${PUBDIRJIG}-firmware/sid_d-i/${DATE_BUILD}
export RSYNC_TARGET_FREE=/mnt/nfs-cdimage/daily-builds
export RSYNC_TARGET_FIRMWARE=/mnt/nfs-cdimage/unofficial/non-free/cd-including-firmware/daily-builds
else
export SID_WANTED=0
export OUT_FREE_TST=${PUBDIRJIG}-$RELEASE_BUILD
export OUT_FW_TST=${PUBDIRJIG}-$RELEASE_BUILD-firmware
export OUT_FREE_SID=""
export OUT_FW_SID=""
export RSYNC_TARGET_FREE=/mnt/nfs-cdimage/.${RELEASE_BUILD}
export RSYNC_TARGET_FIRMWARE=/mnt/nfs-cdimage/unofficial/non-free/cd-including-firmware/.${RELEASE_BUILD}
export CONF=~/build.wheezy/CONF.sh.${RELEASE_BUILD}
export RELEASE_BUILD=$RELEASE_BUILD
fi
export BC_WANTED=0
export NI_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
for OUT_DIR in $OUT_FREE_TST $OUT_FW_TST $OUT_FREE_SID $OUT_FW_SID; do
ARCH_DIR=$OUT_DIR/$ARCH
# 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
if [ "$RELEASE_BUILD"x = ""x ] ; then
DATESTRING=`date -u`
case $ARCH_ISO_DIR in
*firmware*)
INFILE=$TOPDIR/daily-firmware.html;;
*)
INFILE=$TOPDIR/daily.html;;
esac
sed "s/ARCH/$ARCH/g;s/DATE/$DATESTRING/g;s/BUILDNUM/$BUILDNUM/g;s/INST_VER/$INST_VER/g" \
$INFILE > $ARCH_DIR/HEADER.html
fi
$TOPDIR/debian-cd/tools/imagesums $ARCH_JIGDO_DIR $SUMS_EXTENSION
cp $ARCH_JIGDO_DIR/*SUMS* $ARCH_ISO_DIR
cd $ARCH_DIR
# Only make torrent files for release builds
if [ "$RELEASE_BUILD"x != ""x ] ; then
~/build.wheezy/mktorrent iso-cd/*iso
cp iso-cd/*SUMS* bt-cd
fi
~/build.wheezy/mklist iso-cd/*iso
cd $TOPDIR
fi
done
}
cd $TOPDIR &&
if lockfile -r0 $BUILDLOCK ; 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
# We don't do source daily builds
if [ "$arch" = "source" ] ; then
continue
fi
rm -rf $PUBDIRJIG/$arch
arch_error=""
arch_start=`now`
for OUT_DIR in $OUT_FREE_TST $OUT_FW_TST $OUT_FREE_SID $OUT_FW_SID; do
mkdir -p ${OUT_DIR}/${arch}/iso-cd ${OUT_DIR}/${arch}/jigdo-cd
done
if [ "$arch" = "multi-arch" ] ; then
for arch1 in $ARCHES_FIRMWARE; do
if [ "$arch" = "$arch1" ] ; then
if [ "$SID_WANTED" = "1" ] ; then
if [ "$NI_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
fi
if [ "$NI_WANTED" = "1" ] ; then
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
fi
done
if [ "$SID_WANTED" = "1" ] ; then
if [ "$NI_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
fi
if [ "$NI_WANTED" = "1" ] ; then
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" &
fi
catch_parallel_builds
rm -rf $PUBDIRJIG/$arch
if [ "$arch_error"x = "none"x ] ; then
finalise_arch_dir $arch
fi
else # end of m-a
for arch1 in $ARCHES_FIRMWARE; do
if [ "$arch" = "$arch1" ] ; then
if [ "$SID_WANTED" = "1" ] ; then
if [ "$NI_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
fi
if [ "$NI_WANTED" = "1" ] ; then
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
fi
done
if [ "$SID_WANTED" = "1" ] ; then
if [ "$BC_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" &
fi
if [ "$NI_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 MAXISOS=ALL MAXJIGDOS=ALL \
DI=sid DI_WWW_HOME=default DI_DIR="$ARCH_DI_DIR" \
./testingcds "$arch" &
fi
fi
if [ "$BC_WANTED" = "1" ] ; then
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" &
fi
if [ "$NI_WANTED" = "1" ] ; then
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" &
fi
catch_parallel_builds
rm -rf $PUBDIRJIG/$arch
if [ "$arch_error"x = "none"x ] ; then
finalise_arch_dir $arch
fi
fi # end of normal arch build
done
if [ "$NOSYNC"x = ""x ] ; then
if [ "$RELEASE_BUILD"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
else # Release build
echo "Sync normal builds for $RELEASE_BUILD across to output dir: $RSYNC_TARGET_FREE"
rsync -rHltv $OUT_FREE_TST/ $RSYNC_TARGET_FREE/
echo "Sync firmware builds for $RELEASE_BUILD across to output dir: $RSYNC_TARGET_FIRMWARE"
rsync -rHltv $OUT_FW_TST/ $RSYNC_TARGET_FIRMWARE/
fi
fi
cd $TOPDIR
rm -f $BUILDLOCK
fi

343
wheezy/contrib/cronjob.weekly Executable file
View File

@ -0,0 +1,343 @@
#!/bin/bash
TOPDIR=$(dirname $0)
if [ "$TOPDIR" = "." ] ; then
TOPDIR=`pwd`
fi
export TOPDIR
. $TOPDIR/settings.sh
export PUBDIRJIG=$PUBDIR/weekly-builds
export DATE_BUILD="$DATE-$BUILDNUM"
BUILDLOCK=$HOME/.debian-cd.lock
. $TOPDIR/common.sh
# Make sure the machine isn't rebooted while we're busy
reboot_lock
# Uncomment the following to use daily d-i builds for these images
# rather than what's in the archive
USE_DAILY_DI=Y
if [ "$RELEASE_BUILD"x = ""x ] ; then
export RSYNC_TARGET=/mnt/nfs-cdimage/weekly-builds
export RSYNC_TARGET_FIRMWARE=/mnt/nfs-cdimage/unofficial/non-free/cd-including-firmware/weekly-builds
else
export RSYNC_TARGET=/mnt/nfs-cdimage/.${RELEASE_BUILD}
export RSYNC_TARGET_FIRMWARE=/mnt/nfs-cdimage/unofficial/non-free/cd-including-firmware/.${RELEASE_BUILD}
export CONF=~/build.wheezy/CONF.sh.${RELEASE_BUILD}
export RELEASE_BUILD=$RELEASE_BUILD
# 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.
export SUMS_EXTENSION=".large"
USE_DAILY_DI=N
fi
. images4testing_d-i
if [ "$USE_DAILY_DI"x = "Y"x ] ; then
export DI=sid
export DI_WWW_HOME=default
export DI_DIR="$ARCH_DI_DIR"
else
unset DI_WWW_HOME
fi
export DI_DIST
export DI_CODENAME
BUILDS_RUNNING=""
if lockfile -r0 $BUILDLOCK ; 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"
if [ "$NOPOPCON"x = ""x ] ; then
cd debian-cd && ./tools/update_popcon tasks/wheezy/popularity-contest ; cd ..
fi
cd $TOPDIR
mkdir -p $PUBDIRJIG/trace
mkdir -p $RSYNC_TARGET
for arch in $ARCHES; do
# Reset envvars for next iteration
arch_error=""
arch_start=`now`
if [ "$arch" != multi-arch ] ; then
rm -rf $PUBDIRJIG/$arch
mkdir -p $PUBDIRJIG/$arch
# 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)
export MAXISOS=8; export MAXJIGDOS=ALL ;;
source)
# don't make CD ISOs for source, DVD will do
export MAXISOS=0; 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=3
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 ;;
powerpc)
# Special case: make DVD1 fit on a 4GB USB
# stick (#686471)
export FORCE_CD_SIZE1=STICK4GB
export MAXISOS=1; 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 ] && [ "$NODLBD"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, xfce and 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 [ "$NOXFCECD"x = ""x ] ; then
export MAX_PKG_SIZE=300000000
export DESKTOP=xfce
export MAXISOS=1; export MAXJIGDOS=1
unset FORCE_CD_SIZE1
export VARIANTS=""
build_started XFCECD
INSTALLER_CD=5 TASK=Debian-xfce \
KERNEL_PARAMS='desktop=xfce' \
MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \
./testingcds "$arch" &
fi
if [ "$NOLXDECD"x = ""x ] ; then
export MAX_PKG_SIZE=300000000
export DESKTOP=lxde
export MAXISOS=1; export MAXJIGDOS=1
unset FORCE_CD_SIZE1
export VARIANTS=""
build_started LXDECD
INSTALLER_CD=A TASK=Debian-lxde \
KERNEL_PARAMS='desktop=lxde' \
MAXCDS=1 MAXISOS=ALL MAXJIGDOS=ALL \
./testingcds "$arch" &
fi
fi
# netinst CD
if [ "$arch"x != "source"x ] && [ "$NOCD"x = ""x ] && [ "$NONI"x = ""x ] ; then
export MAX_PKG_SIZE=300000000
export DESKTOP=all
export MAXISOS=1; export MAXJIGDOS=1
unset FORCE_CD_SIZE1
export VARIANTS=""
export OUT_FREE_SID=$PUBDIRJIG
export OUT_FREE_TST=$PUBDIRJIG
export OUT_FW_SID=${PUBDIRJIG}-firmware
export OUT_FW_TST=${PUBDIRJIG}-firmware
build_started NI
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \
KERNEL_PARAMS="desktop=all" \
DESKTOP=all VARIANTS=xen \
TASK=debian-installer+kernel MAXISOS=ALL MAXJIGDOS=ALL \
DI=${DI} DI_DIST=${DI} \
./testingcds "$arch" &
for arch1 in $ARCHES_FIRMWARE; do
if [ "$arch" = "$arch1" ] ; then
build_started NIFIRMWARE
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=C \
FORCE_FIRMWARE=1 CDNAME=firmware \
KERNEL_PARAMS="desktop=all" \
DESKTOP=all VARIANTS=xen \
TASK=debian-installer+kernel MAXISOS=ALL MAXJIGDOS=ALL \
DI=${DI} DI_DIST=${DI} \
./testingcds "$arch" &
fi
done
fi
catch_parallel_builds
if [ "$NOSYNC"x = ""x ] ; then
if [ "$arch_error"x = "none"x ] ; then
echo " Running ~/build.wheezy/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ $arch &"
~/build.wheezy/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ $arch &
if [ -d $PUBDIRJIG-firmware/$arch ] ; then
echo " Running ~/build.wheezy/iso_run ${PUBDIRJIG}-firmware/ $RSYNC_TARGET_FIRMWARE/ $arch &"
~/build.wheezy/iso_run ${PUBDIRJIG}-firmware/ $RSYNC_TARGET_FIRMWARE/ $arch &
fi
else
~/build.wheezy/report_build_error $RSYNC_TARGET $arch "$arch_error"
fi
fi
else # multi-arch
rm -rf $PUBDIRJIG/multi-arch
for i in iso-dvd jigdo-dvd iso-cd jigdo-cd; 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" &
fi
if [ "$NOCD"x = ""x ] && [ "$NONI"x = ""x ] ; then
export DESKTOP=all
export OUT_FREE_SID=$PUBDIRJIG
export OUT_FREE_TST=$PUBDIRJIG
build_started NI
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=2 \
KERNEL_PARAMS="desktop=all" \
DESKTOP=all VARIANTS=xen \
TASK=debian-installer+kernel \
MAXISOS=ALL MAXJIGDOS=ALL \
DI=${DI} DI_DIST=${DI} \
./testingcds "amd64 i386" &
for arch1 in $ARCHES_FIRMWARE; do
if [ "$arch" = "$arch1" ] ; then
build_started NIFIRMWARE
OMIT_RELEASE_NOTES=1 OMIT_MANUAL=1 NORECOMMENDS=1 \
NOSUGGESTS=1 COMPLETE=0 INSTALLER_CD=C \
FORCE_FIRMWARE=1 CDNAME=firmware \
KERNEL_PARAMS="desktop=all" \
DESKTOP=all VARIANTS=xen \
TASK=debian-installer+kernel \
MAXISOS=ALL MAXJIGDOS=ALL \
DI=${DI} DI_DIST=${DI} \
./testingcds "amd64 i386" &
fi
done
fi
catch_parallel_builds
if [ "$NOSYNC"x = ""x ] ; then
if [ "$arch_error"x = "none"x ] || [ "$arch_error"x = ""x ] ; then
echo " Running ~/build.wheezy/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch &"
~/build.wheezy/iso_run $PUBDIRJIG/ $RSYNC_TARGET/ multi-arch &
if [ -d $PUBDIRJIG-firmware/multi-arch ] ; then
echo " Running ~/build.wheezy/iso_run ${PUBDIRJIG}-firmware/ $RSYNC_TARGET_FIRMWARE/ multi-arch &"
~/build.wheezy/iso_run ${PUBDIRJIG}-firmware/ $RSYNC_TARGET_FIRMWARE/ multi-arch &
fi
else
~/build.wheezy/report_build_error $RSYNC_TARGET multi-arch "$arch_error"
fi
fi
fi # end of multi-arch
done
if [ "$NOFW"x = ""x ] ; then
~/build.wheezy/generate_firmware_images wheezy
~/build.wheezy/generate_firmware_images sid
fi
if [ "$NOSNAP"x = ""x ] ; then
~/bin/weekly-snapshots
fi
date -u > $PUBDIRJIG/trace/cdimage.debian.org
rm -f $BUILDLOCK
fi

View File

@ -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>

View File

@ -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>

111
wheezy/contrib/ftp.cron Executable file
View File

@ -0,0 +1,111 @@
#!/bin/sh
set -e
TOPDIR=`pwd`
. $TOPDIR/settings.sh
. $TOPDIR/.ftp.buildnum
MYCOPY=$TOPDIR/.ftp.cron
BUILDLOCK=$HOME/.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

View File

@ -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

173
wheezy/contrib/grab_cdimage_bugs Executable file
View File

@ -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";
}

130
wheezy/contrib/iso_run Executable file
View File

@ -0,0 +1,130 @@
#!/bin/sh
#
# Helper for image creation
#
PUBDIRJIG=$1
RSYNC_TARGET=$2
ARCH=$3
LOG=~/build.wheezy/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
COPY_START=`date -u +%H:%M:%S`
rm -f $LOG
# Given an ISO image:
# 1. create the torrent file if desired (only for release builds)
# 2. copy all of them into place
process_iso() {
FILE=$1
OUTDIR=$2
echo $OUTDIR/$FILE >> $LOG
cp -a $FILE $OUTDIR/$FILE
if [ "$RELEASE_BUILD"x != ""x ] ; then
~/build.wheezy/mktorrent $FILE >> $LOG
BTFILE=`echo $FILE.torrent | sed 's/iso-/bt-/'`
echo $OUTDIR/$BTFILE >> $LOG
cp -a $BTFILE $OUTDIR/$BTFILE
fi
}
# Poor man's rsync, but with some local optimisations
copy_files() {
SRC=$1
TARGET=$2
ARCHES=$3
DISKTYPES="cd dvd bd dlbd"
DIRTYPES="iso jigdo list"
# Only make torrent files and dirs for release builds
if [ "$RELEASE_BUILD"x != ""x ] ; then
DIRTYPES="$DIRTYPES bt"
fi
CURRENT=`pwd`
cd $SRC
for ARCH in $ARCHES
do
for DISKTYPE in $DISKTYPES; do
for DIRTYPE in $DIRTYPES; 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
# Only make torrent files and dirs for release builds
rm -rf bt-*
for DISKTYPE in $DISKTYPES; do
if [ "$RELEASE_BUILD"x != ""x ] ; then
mkdir bt-$DISKTYPE
fi
for FILE in iso-$DISKTYPE/*.iso; do
if [ -e $FILE ] ; then
process_iso $FILE $TARGET/$ARCH.tmp
fi
done
if [ "$RELEASE_BUILD"x != ""x ] ; then
for FILE in $TARGET/$ARCH.tmp/iso-$DISKTYPE/*SUMS*; do
if [ -e $FILE ] ; then
cp -al $FILE $TARGET/$ARCH.tmp/bt-$DISKTYPE/
fi
done
fi
done
if [ "$RELEASE_BUILD"x = ""x ] ; then
# Only populate the HEADER.html file for regular weekly
# builds; we don't want it for releases
DATE=`date -u`
sed "s/ARCH/$ARCH/g;s/DATE/$DATE/g" ~/build.wheezy/weekly.html \
> $TARGET/$ARCH.tmp/HEADER.html
fi
# Now clean up any directories without any real content
# (i.e. empty dir, or just containing checksum files)
for dir in $TARGET/$ARCH.tmp/*-* ; do
num=`ls -l $dir | grep -v -e SUMS -e total | wc -l`
if [ $num = 0 ] ; then
rm -rf $dir
fi
done
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 to $RSYNC_TARGET; started at $START, copying started at $COPY_START, ended at $END"
echo "$END: Finished" >> $LOG

55
wheezy/contrib/jigdo-watcher Executable file
View File

@ -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

40
wheezy/contrib/merge-sums Executable file
View File

@ -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

226
wheezy/contrib/mkjigsnap Executable file
View File

@ -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"

20
wheezy/contrib/mklist Executable file
View File

@ -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

14
wheezy/contrib/mktorrent Executable file
View File

@ -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

View File

@ -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

View File

@ -0,0 +1,24 @@
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.wheezy/debian-cd
export MKISOFS=~/build.wheezy/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
if [ "$ARCHES"x = ""x ] ; then
ARCHES="i386 source amd64 multi-arch powerpc armel armhf ia64 mips mipsel s390 s390x sparc kfreebsd-amd64 kfreebsd-i386"
fi
if [ "$ARCHES_FIRMWARE"x = ""x ] ; then
ARCHES_FIRMWARE="amd64 i386 powerpc multi-arch"
# ARCHES_FIRMWARE="amd64"
fi

279
wheezy/contrib/testingcds Normal file
View File

@ -0,0 +1,279 @@
#!/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.wheezy/CONF.sh
fi
export CF=$CONF
if [ "$DCD_DIR"x = ""x ] ; then
DCD_DIR=~/build.wheezy/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" ] || \
[ "$INSTALLER_CD" = "2" ] || \
[ "$INSTALLER_CD" = "C" ] ; then
##################################
# NETINST STUFF
##################################
if [ "$INSTALLER_CD" = "C" ] ; then
if [ "${DI}" = "sid" ] ; then
ARCHDIR=$OUT_FW_SID/$OUTARCH
else
ARCHDIR=$OUT_FW_TST/$OUTARCH
fi
else # non-FW build
if [ "${DI}" = "sid" ] ; then
ARCHDIR=$OUT_FREE_SID/$OUTARCH
else
ARCHDIR=$OUT_FREE_TST/$OUTARCH
fi
fi
mkdir -p $ARCHDIR/list-cd $ARCHDIR/jigdo-cd $ARCHDIR/iso-cd
# put the isos and jigdos in their place
$TOPDIR/debian-cd/tools/imagesums $OUT $SUMS_EXTENSION >> "$LOGFILE"
sed -i 's/-BC-1/-businesscard/g;s/-NETINST-1/-netinst/g' $OUT/*SUMS*
cp $OUT/*SUMS* $ARCHDIR/iso-cd
cp $OUT/*SUMS* $ARCHDIR/jigdo-cd
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
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
for file in "$OUT"/*.iso; do
if [ -e $file ] ; then
mv $file "$PUBDIRJIG"/$OUTARCH/iso-${OUT_TYPE}
fi
done
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 "$RELEASE_BUILD testingcds $RUN ($OUTARCH $DISKTYPE) 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

View File

@ -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>

Binary file not shown.

12
wheezy/data/hfs.map Normal file
View File

@ -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"

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 280 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 290 B

BIN
wheezy/data/pics/debian.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 353 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 344 B

1
wheezy/data/sid Symbolic link
View File

@ -0,0 +1 @@
wheezy

View File

@ -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
&ldquo;freedom&rdquo;).</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
(&ldquo;architectures&rdquo;), like &ldquo;IBM-compatible&rdquo; 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 />&nbsp;</br />
&nbsp; 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 &lsquo;apt&rsquo; and
&lsquo;aptitude&rsquo; programs.</p>
<p>You can install packages from the commandline using
apt-get. For example, if you want to install the
packages &lsquo;commprog&rsquo; and &lsquo;maxgame&rsquo;, you can give the
command:</p>
<p>
#if OUTPUTtext
&nbsp;
#endif
<code>apt-get install commprog maxgame</code>
</p>
<p>Note that you don't have to enter the complete path, or the
&lsquo;.deb&rsquo; extension. &lsquo;Apt&rsquo; 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
&nbsp;
#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
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# endif
<a href="doc/FAQ/">Debian FAQ</a>
</li>
<li>
# if OUTPUTtext
/doc/constitution.txt
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# endif
<a href="doc/constitution.txt">The Debian Constitution</a>
</li>
<li>
# if OUTPUTtext
/doc/debian-manifesto
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# endif
<a href="doc/debian-manifesto">The Debian Manifesto</a>
</li>
<li>
# if OUTPUTtext
/doc/social-contract.txt
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# endif
<a href="doc/social-contract.txt">Debian's Social Contract</a>
</li>
<li>
# if OUTPUTtext
/doc/bug-reporting.txt
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
# 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/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#endif
<a href="http://www.debian.org/">The Debian homepage</a>
</li>
<li>
#if OUTPUTtext
http://www.debian.org/doc/
&nbsp;&nbsp;&nbsp;&nbsp;
#endif
<a href="http://www.debian.org/doc/">Debian Documentation</a>
</li>
<li>
#if OUTPUTtext
http://www.debian.org/support/&nbsp;
#endif
<a href="http://www.debian.org/support">Debian User Support</a>
</li>
<li>
#if OUTPUTtext
http://www.tldp.org/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#endif
<a href="http://www.tldp.org/">The Linux Documentation Project</a>
</li>
<li>
#if OUTPUTtext
http://www.linux.org/
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
#endif
<a href="http://www.linux.org/">General Linux homepage</a>
</li>
</ul>
#if OUTPUTtext
<p>&nbsp;</p>
<p>&nbsp;</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>

View File

@ -0,0 +1,4 @@
choose-mirror
netcfg
ethdetect
fdisk-udeb

View File

@ -0,0 +1,3 @@
netcfg
ethdetect
fdisk-udeb

View File

@ -0,0 +1,3 @@
netcfg
ethdetect
fdisk-udeb

View File

@ -0,0 +1,4 @@
choose-mirror
netcfg
ethdetect
pcmciautils-udeb

View File

@ -0,0 +1,3 @@
netcfg
ethdetect
pcmciautils-udeb

View File

@ -0,0 +1,3 @@
netcfg
ethdetect
pcmciautils-udeb

View File

@ -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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

View File

@ -0,0 +1,5 @@
choose-mirror
netcfg
ethdetect
pcmciautils-udeb
debian-edu-install-udeb

View File

@ -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;
}

View File

@ -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;
}

View File

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 B

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,5 @@
# Only needed on arches that use partconf or autopartkit.
partconf-mkfstab
# Not needed on arches that use partman
mdcfg
lvmcfg

Binary file not shown.

After

Width:  |  Height:  |  Size: 254 B

View File

@ -0,0 +1,3 @@
choose-mirror
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,4 @@
choose-mirror
netcfg
ethdetect
pcmciautils-udeb

View File

@ -0,0 +1,3 @@
netcfg
ethdetect
pcmciautils-udeb

View File

@ -0,0 +1,3 @@
netcfg
ethdetect
pcmciautils-udeb

View File

@ -0,0 +1,3 @@
choose-mirror
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,3 @@
choose-mirror
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,3 @@
choose-mirror
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,3 @@
choose-mirror
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,3 @@
choose-mirror
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,3 @@
choose-mirror
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

@ -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

View File

@ -0,0 +1,3 @@
choose-mirror
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,3 @@
netcfg
ethdetect
pcmciautils-udeb

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -0,0 +1,3 @@
choose-mirror
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

View File

@ -0,0 +1,2 @@
netcfg
ethdetect

Some files were not shown because too many files have changed in this diff Show More