1999-11-11 16:10:37 -01:00
|
|
|
#!/usr/bin/make -f
|
|
|
|
|
2005-12-10 23:39:10 -01:00
|
|
|
# Main Makefile for debian-cd
|
1999-11-11 16:10:37 -01:00
|
|
|
#
|
2006-12-29 05:05:30 -01:00
|
|
|
# Copyright 1999 Rapha?l Hertzog <hertzog@debian.org>
|
1999-11-11 16:10:37 -01:00
|
|
|
# See the README file for the license
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
#
|
|
|
|
# Significantly modified 2005-2006 Steve McIntyre <93sam@debian.org>
|
|
|
|
# for multi-arch and mixed bin/src discs
|
|
|
|
#
|
1999-11-11 16:10:37 -01:00
|
|
|
# The environment variables must have been set
|
|
|
|
# before. For this you can source the CONF.sh
|
|
|
|
# file in your shell
|
|
|
|
|
|
|
|
|
|
|
|
## DEFAULT VALUES
|
2000-08-25 16:54:03 +00:00
|
|
|
ifndef VERBOSE_MAKE
|
|
|
|
Q=@
|
|
|
|
endif
|
1999-11-11 16:10:37 -01:00
|
|
|
ifndef TASK
|
2008-12-05 13:12:36 -01:00
|
|
|
TASK=Debian-generic
|
1999-11-11 16:10:37 -01:00
|
|
|
endif
|
|
|
|
ifndef MKISOFS
|
2013-03-01 07:00:03 -01:00
|
|
|
ifneq (,$(filter i386 amd64,$(ARCHES)))
|
|
|
|
export MKISOFS=xorriso
|
|
|
|
export MKISOFS_OPTS=-as mkisofs -r -checksum_algorithm_iso md5,sha1
|
|
|
|
else
|
2008-03-05 14:55:17 -01:00
|
|
|
export MKISOFS=$(shell which genisoimage mkisofs | head -1)
|
1999-11-11 16:10:37 -01:00
|
|
|
endif
|
2013-03-01 07:00:03 -01:00
|
|
|
endif
|
1999-11-11 16:10:37 -01:00
|
|
|
ifndef MKISOFS_OPTS
|
|
|
|
#For normal users
|
2004-06-09 18:54:35 +00:00
|
|
|
MKISOFS_OPTS=-r
|
1999-11-11 16:10:37 -01:00
|
|
|
#For symlink farmers
|
2004-06-09 18:54:35 +00:00
|
|
|
#MKISOFS_OPTS=-r -F .
|
1999-11-11 16:10:37 -01:00
|
|
|
endif
|
|
|
|
ifndef HOOK
|
|
|
|
HOOK=$(BASEDIR)/tools/$(CODENAME).hook
|
|
|
|
endif
|
|
|
|
|
2006-12-10 14:14:21 -01:00
|
|
|
export BUILD_DATE=$(shell date -u +%Y%m%d-%H:%M)
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
export ARCHES_NOSRC=$(shell echo $(ARCHES) | sed 's/source//')
|
|
|
|
ifeq ($(ARCHES),source)
|
|
|
|
export SOURCEONLY=yes
|
2005-11-14 23:28:07 -01:00
|
|
|
endif
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
ifeq ($(shell echo $(ARCHES) | sed 's/.*source.*/1/'),1)
|
|
|
|
export INC_SOURCE=yes
|
2005-11-14 23:28:07 -01:00
|
|
|
endif
|
2003-05-07 18:06:52 +00:00
|
|
|
|
2010-12-27 22:17:44 -01:00
|
|
|
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}
|
2010-12-24 22:28:44 -01:00
|
|
|
endif
|
2013-03-01 10:00:36 -01:00
|
|
|
ifndef DEBOOTSTRAP_OPTS
|
|
|
|
ifeq (yes,$(shell dpkg --compare-versions `dpkg-query -f'$${Version}' -W debootstrap` ge 1.0.30 && echo -n yes))
|
|
|
|
DEBOOTSTRAP_OPTS=--no-check-gpg
|
|
|
|
endif
|
|
|
|
endif
|
2010-12-24 22:28:44 -01:00
|
|
|
|
1999-11-11 16:10:37 -01:00
|
|
|
## Internal variables
|
|
|
|
apt=$(BASEDIR)/tools/apt-selection
|
2008-11-01 22:08:01 -01:00
|
|
|
sort_deps=$(BASEDIR)/tools/sort_deps
|
2005-09-14 18:28:10 +00:00
|
|
|
md5sum=md5sum
|
2005-12-06 23:12:11 -01:00
|
|
|
jigdo_cleanup=$(BASEDIR)/tools/jigdo_cleanup
|
|
|
|
grab_md5=$(BASEDIR)/tools/grab_md5
|
2005-12-08 21:55:19 -01:00
|
|
|
make_image=$(BASEDIR)/tools/make_image
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
merge_package_lists=$(BASEDIR)/tools/merge_package_lists
|
|
|
|
update_popcon=$(BASEDIR)/tools/update_popcon
|
2006-12-29 05:05:30 -01:00
|
|
|
update_tasks=$(BASEDIR)/tools/update_tasks
|
2007-04-19 23:38:29 +00:00
|
|
|
grab_source_list=$(BASEDIR)/tools/grab_source_list
|
2008-09-15 23:09:18 +00:00
|
|
|
which_deb=$(BASEDIR)/tools/which_deb
|
1999-11-11 16:10:37 -01:00
|
|
|
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
BDIR=$(TDIR)/$(CODENAME)
|
2008-11-13 22:19:30 -01:00
|
|
|
TASKDIR=$(BDIR)/tasks
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
ADIR=$(APTTMP)
|
|
|
|
DB_DIR=$(BDIR)/debootstrap
|
1999-11-11 16:10:37 -01:00
|
|
|
|
2007-11-19 22:34:22 -01:00
|
|
|
export DEBOOTSTRAP_DIR := $(DB_DIR)/usr/lib/debootstrap
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
export PATH := $(DB_DIR)/usr/sbin:$(PATH)
|
2008-06-06 23:24:11 +00:00
|
|
|
export BDIR
|
2008-11-13 22:19:30 -01:00
|
|
|
export TASKDIR
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
|
2000-05-18 22:49:02 +00:00
|
|
|
## DEBUG STUFF ##
|
|
|
|
|
2003-07-28 21:19:56 +00:00
|
|
|
default:
|
|
|
|
@echo "Please refer to the README file for more information"
|
|
|
|
@echo "about the different targets available."
|
|
|
|
|
1999-11-11 16:10:37 -01:00
|
|
|
## CHECKS ##
|
|
|
|
|
|
|
|
# Basic checks in order to avoid problems
|
2003-07-28 21:19:56 +00:00
|
|
|
ok:
|
2012-03-13 13:34:22 -01:00
|
|
|
ifdef FORCE_FAIL
|
|
|
|
@echo Debug variable FORCE_FAIL defined -- abort now; false
|
|
|
|
endif
|
1999-11-11 16:10:37 -01:00
|
|
|
ifndef TDIR
|
2003-09-10 11:32:17 +00:00
|
|
|
@echo TDIR undefined -- set up CONF.sh; false
|
1999-11-11 16:10:37 -01:00
|
|
|
endif
|
|
|
|
ifndef BASEDIR
|
2003-09-10 11:32:17 +00:00
|
|
|
@echo BASEDIR undefined -- set up CONF.sh; false
|
1999-11-11 16:10:37 -01:00
|
|
|
endif
|
|
|
|
ifndef MIRROR
|
2003-09-10 11:32:17 +00:00
|
|
|
@echo MIRROR undefined -- set up CONF.sh; false
|
1999-11-11 16:10:37 -01:00
|
|
|
endif
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
ifndef ARCHES
|
|
|
|
@echo ARCHES undefined -- set up CONF.sh; false
|
1999-11-11 16:10:37 -01:00
|
|
|
endif
|
|
|
|
ifndef CODENAME
|
2003-09-10 11:32:17 +00:00
|
|
|
@echo CODENAME undefined -- set up CONF.sh; false
|
1999-11-11 16:10:37 -01:00
|
|
|
endif
|
|
|
|
ifndef OUT
|
2003-09-10 11:32:17 +00:00
|
|
|
@echo OUT undefined -- set up CONF.sh; false
|
1999-11-11 16:10:37 -01:00
|
|
|
endif
|
2000-06-06 17:19:27 +00:00
|
|
|
ifdef NONFREE
|
|
|
|
ifdef EXTRANONFREE
|
2003-07-28 21:19:56 +00:00
|
|
|
@echo Never use NONFREE and EXTRANONFREE at the same time; false
|
2000-06-06 17:19:27 +00:00
|
|
|
endif
|
|
|
|
endif
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
@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
|
1999-11-11 16:10:37 -01:00
|
|
|
|
|
|
|
## INITIALIZATION ##
|
|
|
|
|
|
|
|
# Creation of the directories needed
|
2008-11-13 22:19:30 -01:00
|
|
|
init: ok $(OUT) $(TDIR) $(BDIR) $(ADIR) $(TASKDIR) $(BDIR)/DATE $(DB_DIR) unstable-map
|
2004-06-24 09:41:22 +00:00
|
|
|
$(OUT):
|
|
|
|
$(Q)mkdir -p $(OUT)
|
1999-11-11 16:10:37 -01:00
|
|
|
$(TDIR):
|
2000-08-25 16:54:03 +00:00
|
|
|
$(Q)mkdir -p $(TDIR)
|
1999-11-11 16:10:37 -01:00
|
|
|
$(BDIR):
|
2000-08-25 16:54:03 +00:00
|
|
|
$(Q)mkdir -p $(BDIR)
|
2000-03-14 03:02:29 -01:00
|
|
|
$(ADIR):
|
2000-08-25 16:54:03 +00:00
|
|
|
$(Q)mkdir -p $(ADIR)
|
2008-11-13 22:19:30 -01:00
|
|
|
$(TASKDIR):
|
2009-02-11 23:22:17 -01:00
|
|
|
ifneq ($(ARCHES),source)
|
2008-12-05 13:12:10 -01:00
|
|
|
$(Q)echo "Updating task files..."
|
2008-11-13 22:19:30 -01:00
|
|
|
$(Q)mkdir -p $(TASKDIR)
|
2008-12-28 09:51:49 -01:00
|
|
|
$(Q)echo "- copying task files from 'tasks/$(DI_CODENAME)/'"
|
2008-11-13 22:19:30 -01:00
|
|
|
$(Q)cp -r $(BASEDIR)/tasks/$(CODENAME)/* $(TASKDIR)
|
2008-12-28 09:51:49 -01:00
|
|
|
$(Q)echo "- generating dynamic task files"
|
2008-11-13 22:19:30 -01:00
|
|
|
$(Q)set -e; cd $(TASKDIR); \
|
|
|
|
$(BASEDIR)/tools/update_tasks; \
|
|
|
|
$(BASEDIR)/tools/generate_di_list; \
|
|
|
|
$(BASEDIR)/tools/generate_di+k_list
|
2011-06-10 16:28:24 +00:00
|
|
|
ifeq ($(FORCE_FIRMWARE),1)
|
2011-06-10 16:21:32 +00:00
|
|
|
# Generate firmware task file using the contents of the archive
|
2011-06-10 17:00:00 +00:00
|
|
|
$(Q)$(BASEDIR)/tools/generate_firmware_task "$(ARCHES)" $(TASKDIR)/firmware
|
2009-02-11 23:22:17 -01:00
|
|
|
endif
|
2011-06-10 16:28:24 +00:00
|
|
|
endif
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
$(BDIR)/DATE:
|
2011-07-01 12:36:59 +00:00
|
|
|
$(Q)date -u '+%Y%m%d' > $(BDIR)/DATE
|
|
|
|
$(Q)date -u '+%Y%m%dT%H%M%SZ' > $(BDIR)/DATE-zulu
|
2008-10-17 08:38:37 +00:00
|
|
|
|
|
|
|
ifdef MIRROR
|
2008-11-23 17:19:25 -01:00
|
|
|
LATEST_DB := $(MIRROR)/$(shell $(which_deb) $(MIRROR) $(CODENAME) debootstrap)
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
$(DB_DIR): $(LATEST_DB)
|
|
|
|
@rm -rf $(DB_DIR)
|
2008-10-14 08:21:54 +00:00
|
|
|
$(Q)dpkg -x $(LATEST_DB) $(DB_DIR)
|
|
|
|
$(Q)if [ ! -e $(DEBOOTSTRAP_DIR) ] ; then \
|
2007-11-19 22:44:35 -01:00
|
|
|
ln -sf share $(DB_DIR)/usr/lib ; \
|
|
|
|
fi
|
2008-10-17 08:38:37 +00:00
|
|
|
endif
|
2007-11-19 22:44:35 -01:00
|
|
|
|
2011-02-07 21:30:21 -01:00
|
|
|
# Make sure unstable/sid points to testing/wheezy, as there is no build
|
2005-09-07 15:21:11 +00:00
|
|
|
# rule for unstable/sid.
|
2004-07-11 09:34:59 +00:00
|
|
|
unstable-map:
|
|
|
|
$(Q)if [ ! -d $(BASEDIR)/data/sid ] ; then \
|
2011-02-07 21:30:21 -01:00
|
|
|
ln -s wheezy $(BASEDIR)/data/sid ; \
|
2004-07-11 09:34:59 +00:00
|
|
|
fi
|
|
|
|
$(Q)if [ ! -d $(BASEDIR)/tools/boot/sid ] ; then \
|
2011-02-07 21:30:21 -01:00
|
|
|
ln -s wheezy $(BASEDIR)/tools/boot/sid ; \
|
2004-07-11 09:34:59 +00:00
|
|
|
fi
|
1999-11-11 16:10:37 -01:00
|
|
|
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
#################
|
|
|
|
## CLEAN RULES ##
|
|
|
|
#################
|
1999-11-11 16:10:37 -01:00
|
|
|
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
# Cleans the current arch tree (but not packages selection info)
|
|
|
|
clean: ok dir-clean
|
|
|
|
dir-clean:
|
2004-08-18 17:07:28 +00:00
|
|
|
$(Q)rm -rf $(BDIR)/CD[1234567890]*
|
2008-11-13 22:19:30 -01:00
|
|
|
$(Q)rm -rf $(TASKDIR)
|
2003-07-30 13:26:55 +00:00
|
|
|
$(Q)rm -f $(BDIR)/*.filelist*
|
2006-12-19 00:58:41 -01:00
|
|
|
$(Q)rm -f $(BDIR)/packages-stamp $(BDIR)/upgrade-stamp $(BDIR)/md5-check
|
1999-11-11 16:10:37 -01:00
|
|
|
|
|
|
|
# Completely cleans the current arch tree
|
|
|
|
realclean: distclean
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
distclean: ok clean
|
|
|
|
$(Q)echo "Cleaning the build directory"
|
2003-07-30 13:26:55 +00:00
|
|
|
$(Q)rm -rf $(ADIR)
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
$(Q)rm -rf $(TDIR)
|
1999-11-11 16:10:37 -01:00
|
|
|
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
####################
|
1999-11-11 16:10:37 -01:00
|
|
|
## STATUS and APT ##
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
####################
|
1999-11-11 16:10:37 -01:00
|
|
|
|
2006-12-28 01:38:00 -01:00
|
|
|
$(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
|
|
|
|
|
1999-11-11 16:10:37 -01:00
|
|
|
# Regenerate the status file with only packages that
|
|
|
|
# are of priority standard or higher
|
2000-03-14 03:02:29 -01:00
|
|
|
status: init $(ADIR)/status
|
|
|
|
$(ADIR)/status:
|
1999-11-11 16:10:37 -01:00
|
|
|
@echo "Generating a fake status file for apt-get and apt-cache..."
|
2006-12-10 14:14:21 -01:00
|
|
|
$(Q)for ARCH in $(ARCHES); do \
|
2009-08-23 11:08:30 +00:00
|
|
|
mkdir -p $(ADIR)/$(CODENAME)-$$ARCH/apt/preferences.d; \
|
2010-05-27 13:33:26 +00:00
|
|
|
if [ $$ARCH = "source" -o "$(INSTALLER_CD)" = "1" -o "$(INSTALLER_CD)" = "2" -o "$(INSTALLER_CD)" = "C" ];then \
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
:> $(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
|
2013-03-19 14:33:53 -01:00
|
|
|
|
|
|
|
# Set up keyring so apt doesn't complain
|
|
|
|
@echo "Setting up debian-archive-keyring"
|
|
|
|
$(Q)mkdir -p $(TDIR)/debian-archive-keyring
|
|
|
|
$(Q)dpkg -x $(MIRROR)/$(shell $(which_deb) $(MIRROR) $(CODENAME) debian-archive-keyring) $(TDIR)/debian-archive-keyring
|
|
|
|
$(Q)for ARCH in $(ARCHES); do \
|
|
|
|
mkdir -p $(ADIR)/$(CODENAME)-$$ARCH/apt/trusted.gpg.d; \
|
|
|
|
ln -s $(TDIR)/debian-archive-keyring/usr/share/keyrings/* $(ADIR)/$(CODENAME)-$$ARCH/apt/trusted.gpg.d; \
|
|
|
|
done
|
|
|
|
|
|
|
|
# Updating the apt database
|
2006-12-10 14:14:21 -01:00
|
|
|
$(Q)for ARCH in $(ARCHES); do \
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
export ARCH=$$ARCH; \
|
2006-12-10 14:14:21 -01:00
|
|
|
$(apt) update; \
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
done
|
2013-02-01 02:49:49 -01:00
|
|
|
|
|
|
|
# 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 ] && \
|
2013-02-05 09:34:29 -01:00
|
|
|
[ "$(DI_CODENAME)"x != "$(CODENAME)"x ] ; then \
|
2013-02-01 02:49:49 -01:00
|
|
|
mkdir -p $(ADIR)/$(DI_CODENAME)-source/apt/preferences.d ; \
|
|
|
|
:> $(ADIR)/$(DI_CODENAME)-source/status ; \
|
|
|
|
export CODENAME=$(DI_CODENAME); \
|
|
|
|
export ARCH=source; \
|
|
|
|
$(apt) update; \
|
|
|
|
fi
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
#
|
|
|
|
# Checking the consistency of the standard system
|
|
|
|
# If this does fail, then launch make correctstatus
|
|
|
|
#
|
2006-12-10 14:14:21 -01:00
|
|
|
$(Q)for ARCH in $(ARCHES); do \
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
export ARCH=$$ARCH; \
|
2006-12-10 14:14:21 -01:00
|
|
|
$(apt) check || $(MAKE) correctstatus; \
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
done
|
1999-11-11 16:10:37 -01:00
|
|
|
|
|
|
|
# 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
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
# You may need to launch correctstatus more than one time
|
|
|
|
# in order to correct all dependencies
|
|
|
|
#
|
|
|
|
# Removing packages from the system :
|
2000-08-25 16:54:03 +00:00
|
|
|
$(Q)set -e; \
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
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 :
|
2000-08-25 16:54:03 +00:00
|
|
|
$(Q)set -e; \
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
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 \
|
2006-12-10 14:14:21 -01:00
|
|
|
ARCH=$$ARCH $(apt) check; \
|
1999-11-11 16:10:37 -01:00
|
|
|
done
|
|
|
|
|
|
|
|
apt-update: status
|
2006-12-10 14:14:21 -01:00
|
|
|
$(Q)if [ "$(ARCHES)" != "source" ] ; then \
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
for ARCH in $(ARCHES); do \
|
2007-01-05 06:32:09 -01:00
|
|
|
echo "Apt-get is updating its files ..."; \
|
2006-12-10 14:14:21 -01:00
|
|
|
ARCH=$$ARCH $(apt) update; \
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
done; \
|
|
|
|
fi
|
1999-11-11 16:10:37 -01:00
|
|
|
|
|
|
|
## GENERATING LISTS ##
|
|
|
|
|
|
|
|
# Deleting the list only
|
|
|
|
deletelist: ok
|
2000-08-25 16:54:03 +00:00
|
|
|
$(Q)-rm $(BDIR)/rawlist
|
|
|
|
$(Q)-rm $(BDIR)/list
|
2000-06-16 23:42:50 +00:00
|
|
|
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
packagelists: ok apt-update genlist
|
1999-11-11 16:10:37 -01:00
|
|
|
|
|
|
|
# Build the raw list (cpp output) with doubles and spaces
|
|
|
|
$(BDIR)/rawlist:
|
2008-10-14 12:39:32 +00:00
|
|
|
# Dirty workaround for saving space, we add some hints to break ties.
|
2008-11-01 22:08:01 -01:00
|
|
|
# This is just a temporal solution, sort_deps should be a little bit less
|
2008-10-14 12:39:32 +00:00
|
|
|
# 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 \
|
|
|
|
: ; \
|
2010-05-27 13:33:26 +00:00
|
|
|
elif [ "$(INSTALLER_CD)"x = "2"x -o "$(INSTALLER_CD)"x = "C"x ] ; then \
|
2012-09-17 00:49:36 +00:00
|
|
|
echo "mawk" >>$(BDIR)/rawlist; \
|
2008-10-14 12:39:32 +00:00
|
|
|
else \
|
2012-09-17 00:49:36 +00:00
|
|
|
echo "mawk" >>$(BDIR)/rawlist; \
|
|
|
|
echo "exim4-daemon-light" >>$(BDIR)/rawlist; \
|
2008-10-14 12:39:32 +00:00
|
|
|
fi; \
|
|
|
|
fi
|
|
|
|
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
$(Q)if [ "$(SOURCEONLY)"x != "yes"x ] ; then \
|
2006-12-10 14:14:21 -01:00
|
|
|
if [ _$(INSTALLER_CD) != _1 ]; then \
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
for ARCH in $(ARCHES_NOSRC); do \
|
2008-01-19 09:17:09 -01:00
|
|
|
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"; \
|
2013-03-01 10:00:36 -01:00
|
|
|
debootstrap $(DEBOOTSTRAP_OPTS) --arch $$ARCH \
|
2007-10-06 18:25:30 +00:00
|
|
|
--print-debs \
|
2008-01-19 09:17:09 -01:00
|
|
|
$$BINCLUDE $$BEXCLUDE \
|
2007-10-06 18:25:30 +00:00
|
|
|
$(CODENAME) \
|
|
|
|
$(TDIR)/debootstrap.tmp \
|
|
|
|
file:$(MIRROR) \
|
|
|
|
$(DEBOOTSTRAP_SCRIPT) 2>/dev/null \
|
2007-11-19 22:44:35 -01:00
|
|
|
| tr ' ' '\n' > $(BDIR)/debootstrap-list; \
|
|
|
|
cat $(BDIR)/debootstrap-list >>$(BDIR)/rawlist; \
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
rm -rf $(TDIR)/debootstrap.tmp; \
|
|
|
|
done; \
|
|
|
|
fi; \
|
|
|
|
fi
|
2006-12-10 14:14:21 -01:00
|
|
|
|
|
|
|
$(Q)for ARCH in $(ARCHES_NOSRC); do \
|
2010-08-20 15:04:23 +00:00
|
|
|
ARCHDEFS="$$ARCHDEFS -D ARCH_`echo $$ARCH | sed 's/-/_/'`"; \
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
ARCHUNDEFS="$$ARCHUNDEFS -U $$ARCH"; \
|
|
|
|
done; \
|
2009-08-09 14:32:55 +00:00
|
|
|
for VARIANT in $(VARIANTS); do \
|
|
|
|
VARIANTDEFS="$$VARIANTDEFS -D VARIANT_$$VARIANT"; \
|
|
|
|
done; \
|
2011-06-10 16:39:38 +00:00
|
|
|
if [ "$(FORCE_FIRMWARE)"x = "1"x ] ; then \
|
2010-05-27 00:52:25 +00:00
|
|
|
ARCHDEFS="$$ARCHDEFS -DFORCE_FIRMWARE"; \
|
|
|
|
fi; \
|
2010-10-18 14:26:39 +00:00
|
|
|
if [ "$(EXCLUDE_486_KERNEL)"x = "1"x ] ; then \
|
|
|
|
ARCHDEFS="$$ARCHDEFS -DARCH_i386_EXCLUDE_486_KERNEL"; \
|
|
|
|
fi; \
|
2006-12-10 14:14:21 -01:00
|
|
|
if [ "$(SOURCEONLY)"x != "yes"x ] ; then \
|
2008-11-13 22:19:30 -01:00
|
|
|
cat $(TASKDIR)/$(TASK) | \
|
2009-08-09 14:32:55 +00:00
|
|
|
cpp -nostdinc -nostdinc++ -P -undef $$ARCHDEFS $$VARIANTDEFS\
|
2006-12-10 14:14:21 -01:00
|
|
|
$$ARCHUNDEFS -U i386 -U linux -U unix \
|
|
|
|
-DFORCENONUSONCD1=0 \
|
2008-11-13 22:19:30 -01:00
|
|
|
-I $(TASKDIR) - - >> $(BDIR)/rawlist; \
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
fi
|
2006-12-10 14:14:21 -01:00
|
|
|
|
|
|
|
# If we're *only* doing source, then we need to build a list of all the
|
|
|
|
# available source packages. Deliberately ignore the tasks too.
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
$(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
|
1999-11-11 16:10:37 -01:00
|
|
|
|
2006-12-28 01:38:00 -01:00
|
|
|
# Generate the complete listing of packages from the task
|
|
|
|
# Build a nice list without doubles and without spaces
|
2008-11-01 22:06:59 -01:00
|
|
|
genlist: ok $(BDIR)/list
|
2006-12-28 01:38:00 -01:00
|
|
|
$(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
|
1999-11-11 16:10:37 -01:00
|
|
|
|
|
|
|
## IMAGE BUILDING ##
|
|
|
|
|
2006-12-28 01:38:00 -01:00
|
|
|
image-trees: ok genlist
|
2008-11-01 22:08:01 -01:00
|
|
|
# Use sort_deps to do the dependency sorting
|
2006-12-28 01:38:00 -01:00
|
|
|
$(Q)for ARCH in $(ARCHES_NOSRC); do \
|
2008-11-01 22:08:01 -01:00
|
|
|
ARCH=$$ARCH $(sort_deps) $(BDIR)/list; \
|
2006-12-28 01:38:00 -01:00
|
|
|
done
|
|
|
|
$(Q)if [ "$(SOURCEONLY)"x = "yes"x ] ; then \
|
2007-04-19 23:38:29 +00:00
|
|
|
$(grab_source_list) $(BDIR) $(ADIR) $(BDIR)/list $(BDIR)/packages; \
|
2006-12-28 01:38:00 -01:00
|
|
|
else \
|
|
|
|
$(merge_package_lists) $(BDIR) $(ADIR) "$(ARCHES)" $(BDIR)/packages; \
|
|
|
|
fi
|
2008-03-20 08:43:22 -01:00
|
|
|
$(Q)if [ "$(INC_SOURCE)"x = "yes"x ] ; then \
|
2008-12-05 13:12:01 -01:00
|
|
|
grep ^source $(BDIR)/packages > $(BDIR)/packages.source; \
|
2008-03-20 08:43:22 -01:00
|
|
|
fi
|
2011-01-08 22:32:45 -01:00
|
|
|
$(Q)$(BASEDIR)/tools/make_disc_trees.pl $(BASEDIR) $(MIRROR) $(TDIR) $(CODENAME) "$(ARCHES)" "$(MKISOFS)" "$(MKISOFS_OPTS) $(JIGDO_OPTS)"
|
2006-12-28 01:38:00 -01:00
|
|
|
|
2007-02-21 13:13:35 -01:00
|
|
|
images: ok $(OUT) $(BDIR)/md5-check
|
2008-09-10 22:16:18 +00:00
|
|
|
$(Q)$(make_image) "$(BDIR)" "$(ARCHES)" "$(OUT)" "$(DEBVERSION)" "$(MIRROR)" "$(MKISOFS)" "$(MKISOFS_OPTS)" "$(JIGDO_OPTS)" "$(jigdo_cleanup)"
|
1999-11-11 16:10:37 -01:00
|
|
|
|
2005-12-08 21:55:19 -01:00
|
|
|
check-number-given:
|
1999-11-11 16:10:37 -01:00
|
|
|
@test -n "$(CD)" || (echo "Give me a CD=<num> parameter !" && false)
|
|
|
|
|
2005-12-08 21:55:19 -01:00
|
|
|
# Generate only one image number $(CD)
|
2006-12-19 00:58:41 -01:00
|
|
|
image: check-number-given images
|
1999-11-11 16:10:37 -01:00
|
|
|
|
2006-11-25 01:08:38 -01:00
|
|
|
# Calculate the md5sums for the images (if available), or get from templates
|
1999-11-11 16:10:37 -01:00
|
|
|
imagesums:
|
2008-12-17 22:34:11 -01:00
|
|
|
$(Q)$(BASEDIR)/tools/imagesums $(OUT) $(SUMS_EXTENSION)
|
2002-01-28 22:00:17 -01:00
|
|
|
|
1999-11-11 16:10:37 -01:00
|
|
|
## MISC TARGETS ##
|
|
|
|
|
2007-02-21 13:13:35 -01:00
|
|
|
$(BDIR)/md5-check: mirrorcheck
|
|
|
|
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
mirrorcheck: ok
|
|
|
|
$(Q)$(grab_md5) $(MIRROR) "$(ARCHES)" $(CODENAME) $(DI_CODENAME) $(BDIR)/md5-check
|
2007-01-02 00:42:10 -01:00
|
|
|
$(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
|
1999-11-11 16:10:37 -01:00
|
|
|
|
2004-08-12 03:57:24 +00:00
|
|
|
update-popcon:
|
2008-11-13 22:19:30 -01:00
|
|
|
$(update_popcon) tasks/$(CODENAME)/popularity-contest
|
2006-12-29 05:05:30 -01:00
|
|
|
|
1999-11-11 16:10:37 -01:00
|
|
|
# Little trick to simplify things
|
Merge of changes from Steve's development branch to take us to
debian-cd version 3.0.0. Highlights:
* Support now added for multi-arch CDs/DVDs, including mixed
binary/source discs. Multi-arch discs should be bootable on those
multiple arches, modulo boot-sector clashes. Extra support added
in boot-i386 and boot-amd64 to make the 2 main arches happily
co-exist.
* Disc sizing is now much more intelligent - sizes are defined
depending on the disk type chosen at the start, and discs are now
filled exactly to those sizes while files are added rather than
the old up-front guessing method. Equally, the metadata on the
disc (Packages, Packages.gz, Sources, Sources.gz, md5sums.txt) is
generated as much as possible while this is happening to make the
sizing code incredibly accurate. Using this method of disc sizing
means that customising discs should be much easier/safer - either
add custom contents at the start and debian-cd will fill the
remainder of the disc, or afterwards roll back the packages on the
disc and add extras later.
* Source is now treated as (almost) just another arch, with most of
the special casing for source hidden internally. If asking for
source-only discs, they will simply be built using all the
available sources. If combined with other arches, the sources will
automatically be chosen to match the binary packages. Meeting GPL
requirements was never so easy!
* Removed lots of old cruft to clean up the codebase:
+ non-US support
+ woody support
+ lots of old support scripts that have been made redundant
+ significantly simpler Makefile, much easier to follow
+ old boot-$ARCH.calc files for estimating boot-file sizes are now
(obviously) obsolete and therefore gone
2006-12-07 22:09:01 -01:00
|
|
|
official_images: ok init packagelists image-trees images
|