Builds source, tree and images. Images currently

break due to some stem issues.

svn path=/branches/kernel-image-2.6.11/; revision=3262
This commit is contained in:
Jurij Smakov 2005-05-29 04:46:18 +00:00
parent b430e6cb77
commit 3785485770
7 changed files with 78 additions and 107 deletions

58
debian/Makefile vendored
View File

@ -5,24 +5,23 @@
# Additionally, variables version, abiname and ktver are # Additionally, variables version, abiname and ktver are
# expected to be available (need to be exported from the parent process). # expected to be available (need to be exported from the parent process).
# It is possible to override the flavours by setting the flavours # It is possible to override the flavours by setting the flavours
# variable. # variable. It will also be passed a list of source files
# #
# This Makefile is run from the debian subdir # This Makefile is run from the debian subdir.
# #
SHELL := sh -e SHELL := sh -e
debver := $(version)-$(abiname) debver := $(version)-$(abiname)
uver := $(subst .,_,$(version)) uver := $(subst .,_,$(version))
debnum := -$(abiname) debnum := -$(abiname)
kbpkg := kernel-kbuild-$(version)-$(abiname) #
# This will eventually have to be changed to a command, applying # These variables control the behaviour of make-kpkg
# the debian's patches from the local tree (arch/patches?) #
kpatch := /usr/src/kernel-patches/all/$(version)/apply/debian $(version)-$(ktver)
DEBIAN_UPSTREAM_VERSION := $(version) DEBIAN_UPSTREAM_VERSION := $(version)
ifeq (,$(DEB_HOST_ARCH)) ifeq (,$(DEB_HOST_ARCH))
DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH) DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH)
endif endif
export version debnum DEBIAN_UPSTREAM_VERSION export version debnum DEBIAN_UPSTREAM_VERSION DEBIAN_STEM
karch := $(DEB_HOST_ARCH) karch := $(DEB_HOST_ARCH)
# #
@ -33,8 +32,9 @@ ifeq ($(subarch),none)
append := append :=
else else
basedir := arch/$(karch)/$(subarch) basedir := arch/$(karch)/$(subarch)
append := -$(subarch) append := $(subarch)-
endif endif
default := $(basedir)/config.default default := $(basedir)/config.default
configs := $(notdir $(wildcard $(basedir)/config.*)) configs := $(notdir $(wildcard $(basedir)/config.*))
configs := $(filter-out config.common config.default, $(configs)) configs := $(filter-out config.common config.default, $(configs))
@ -43,6 +43,8 @@ kdir := kernel-source-$(version)-$(subarch)
ifndef flavours ifndef flavours
flavours := $(patsubst config.%,%,$(configs)) flavours := $(patsubst config.%,%,$(configs))
endif endif
controls := templates/control.source.in templates/control.headers.in
controls += $(basedir)/control.in
-include $(basedir)/Makefile.inc -include $(basedir)/Makefile.inc
@ -54,8 +56,10 @@ endif
# replaced by the flavour for which the command is run. # replaced by the flavour for which the command is run.
# #
kpkg_headers_cmd := HEADER_CLEAN_HOOK='$(CURDIR)/header-install-$(subarch)' kpkg_headers_cmd := HEADER_CLEAN_HOOK='$(CURDIR)/header-install-$(subarch)'
kpkg_headers_cmd += make-kpkg --append-to-version $(debnum)$(append) kpkg_headers_cmd += make-kpkg --append-to-version $(append)$(debnum)
kpkg_build_cmd := make-kpkg --append-to-version $(debnum)-@flavour@ kpkg_headers_cmd += --stem linux
kpkg_build_cmd := make-kpkg --append-to-version $(debnum)-@flavour@
kpkg_build_cmd += --stem linux
ifdef added_patches ifdef added_patches
kpkg_headers_cmd += --added_patches $(subst @uver@,$(uver),$(added_patches)) kpkg_headers_cmd += --added_patches $(subst @uver@,$(uver),$(added_patches))
kpkg_build_cmd += --added_patches $(subst @uver@,$(uver),$(added_patches)) kpkg_build_cmd += --added_patches $(subst @uver@,$(uver),$(added_patches))
@ -119,9 +123,6 @@ install-stamp-$(subarch)-%: build-$(subarch)-% build-stamp-$(subarch)-%
touch install-stamp-$(subarch)-$* touch install-stamp-$(subarch)-$*
headers-stamp: $(kdir) headers-stamp: $(kdir)
dh_testdir
dh_clean -k
dh_installdirs
cp $(default) $(kdir)/.config cp $(default) $(kdir)/.config
cd $(kdir); $(kpkg_headers_cmd) cd $(kdir); $(kpkg_headers_cmd)
cat $(kdir)/debian/files >> files cat $(kdir)/debian/files >> files
@ -165,24 +166,23 @@ config.%:
# Flavour config file must be present # Flavour config file must be present
cat $(basedir)/$@ >> $@ cat $(basedir)/$@ >> $@
$(kdir): post-install-$(subarch) srcfiles := $(filter-out ../debian ../linux-source-$(version), $(shell echo ../*))
dh_testdir $(kdir): post-install-$(subarch) $(controls)
tar jxf /usr/src/$(tkdir).tar.bz2 mkdir -p $(tkdir)
cp -al $(srcfiles) $(tkdir)
mkdir -p $(tkdir)/debian mkdir -p $(tkdir)/debian
cp debian/changelog $(tkdir)/debian cp changelog $(tkdir)/debian
cp debian/control $(tkdir)/debian cp copyright $(tkdir)/debian
cp debian/copyright $(tkdir)/debian cat $(controls) | \
sed -e 's/@version@/$(version)/g' \
-e 's/@ltver@/$(ltver)/g' \
-e 's/@subarch@/$(append)/g' \
-e 's/@major@/$(major)/g' \
-e 's/@abiname@/$(abiname)/g' | \
sed '/^[[:space:]]*$$/d' | \
sed 's/^Package:/\n&/g' > $(tkdir)/debian/control
touch $(tkdir)/debian/official touch $(tkdir)/debian/official
install post-install-$(subarch) $(tkdir)/debian/post-install install post-install-$(subarch) $(tkdir)/debian/post-install
cd $(tkdir) && $(kpatch)
# Arch/subarch-specific patches
if [ -d $(basedir)/patches ] && \
[ -s $(basedir)/patches/list ]; then \
cd $(tkdir); \
for i in $$(cat ../$(basedir)/patches/list); do \
patch -p1 < ../$(basedir)/patches/$${i}; \
done; \
fi
mv $(tkdir) $@ mv $(tkdir) $@
# #
# This target performs a build for a particular flavour. Note # This target performs a build for a particular flavour. Note
@ -199,7 +199,6 @@ $(kdir): post-install-$(subarch)
# still needs variables headers_dirs and headers_extra set. # still needs variables headers_dirs and headers_extra set.
# #
build-stamp-$(subarch)-%: build-$(subarch)-% build-stamp-$(subarch)-%: build-$(subarch)-%
dh_testdir
PATH=$$PWD/bin:$$PATH; \ PATH=$$PWD/bin:$$PATH; \
cd $<; \ cd $<; \
$(subst @flavour@,$*,$(kpkg_build_cmd)); \ $(subst @flavour@,$*,$(kpkg_build_cmd)); \
@ -216,7 +215,6 @@ build-stamp-$(subarch)-%: build-$(subarch)-%
# Creates a build directory for a particular flavour # Creates a build directory for a particular flavour
# #
build-$(subarch)-%: $(kdir) config.% build-$(subarch)-%: $(kdir) config.%
dh_testdir
if [ ! -d $@ ]; then \ if [ ! -d $@ ]; then \
cp -al $(kdir) $@; \ cp -al $(kdir) $@; \
cp config.$* $@/.config; \ cp config.$* $@/.config; \

View File

@ -1,37 +1,20 @@
Package: kernel-headers-@version@-@abiname@-foo Package: linux-headers-2.6.11-1-686
Architecture: any
Section: devel
Priority: optional
Depends: coreutils | fileutils (>= 4.0)
Provides: kernel-headers, kernel-headers-2.6
Description: Header files related to Linux kernel version @version@
This package provides kernel header files for version @version@, generally
used for building out-of-tree kernel modules. See the 'module-assistant'
package for more information.
.
This package consists mostly of the common files between the subarchitecture
specific header packages, which should be used for building modules.
.
For more information you can also read:
/usr/share/doc/kernel-headers-@version@-@abiname@/debian.README.gz.
Package: kernel-headers-2.6.11-1-686
Architecture: i386 Architecture: i386
Section: devel Section: devel
Priority: optional Priority: optional
Depends: coreutils | fileutils (>= 4.0), kernel-headers-2.6.11-1 Depends: coreutils | fileutils (>= 4.0), kernel-headers-2.6.11-1
Provides: kernel-headers, kernel-headers-2.6 Provides: linux-headers, linux-headers-2.6
Description: Linux kernel headers 2.6.11 on PPro/Celeron/PII/PIII/P4 Description: Linux kernel headers 2.6.11 on PPro/Celeron/PII/PIII/P4
This package provides kernel header files for version 2.6.11 on This package provides kernel header files for version 2.6.11 on
Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4. Pentium Pro/Celeron/Pentium II/Pentium III/Pentium 4.
Please read /usr/share/doc/kernel-headers-2.6.11-1/debian.README.gz for Please read /usr/share/doc/kernel-headers-2.6.11-1/debian.README.gz for
details details
Package: kernel-image-2.6.11-1-686 Package: linux-image-2.6.11-1-686
Architecture: i386 Architecture: i386
Section: base Section: base
Priority: optional Priority: optional
Provides: kernel-image, kernel-image-2.6 Provides: linux-image, linux-image-2.6
Depends: initrd-tools (>= 0.1.76), coreutils | fileutils (>= 4.0), module-init-tools (>= 0.9.13) Depends: initrd-tools (>= 0.1.76), coreutils | fileutils (>= 4.0), module-init-tools (>= 0.9.13)
Conflicts: hotplug (<< 0.0.20040105-1) Conflicts: hotplug (<< 0.0.20040105-1)
Suggests: lilo (>= 19.1) | grub, fdutils, kernel-doc-2.6.11 | kernel-source-2.6.11 Suggests: lilo (>= 19.1) | grub, fdutils, kernel-doc-2.6.11 | kernel-source-2.6.11

53
debian/rules vendored
View File

@ -9,7 +9,6 @@ ltver := 5
# Generally nothing needs to be modified below this line # Generally nothing needs to be modified below this line
# #
SHELL := sh -e SHELL := sh -e
controls := $(wildcard debian/arch/*/control.in debian/arch/*/*/control.in)
karch := $(shell dpkg-architecture -qDEB_HOST_ARCH) karch := $(shell dpkg-architecture -qDEB_HOST_ARCH)
major := $(basename $(version)) major := $(basename $(version))
srcver := $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}') srcver := $(shell dpkg-parsechangelog | awk '/^Version:/ {print $$2}')
@ -43,7 +42,7 @@ endif
# #
source_files = $(filter-out debian linux-source-$(version), $(shell echo *)) source_files = $(filter-out debian linux-source-$(version), $(shell echo *))
export version abiname ltver kbuildver flavours export version abiname ltver kbuildver flavours major
patch: debian/patch-stamp patch: debian/patch-stamp
debian/patch-stamp: debian/bin/apply debian/patch-stamp: debian/bin/apply
@ -107,24 +106,24 @@ debian/tree-stamp:
dh_builddeb -p$(tpkg) dh_builddeb -p$(tpkg)
touch debian/tree-stamp touch debian/tree-stamp
unpack: debian/linux-source-$(version).tar.bz2 unpack-stamp unpack: debian/unpack-stamp
unpack-stamp: debian/unpack-stamp: debian/patch-stamp
dh_testdir dh_testdir
for i in $(subarchs); do \ for i in $(subarchs); do \
cd debian; \ cd debian; \
$(MAKE) subarch=$${i} source_files='$(source_files)' unpack; \ $(MAKE) subarch=$${i} unpack; \
done done
ln -s $$(command -v touch) debian/bin/touch.orig ln -s $$(command -v touch) debian/bin/touch.orig
touch unpack-stamp touch debian/unpack-stamp
build: build-stamp build: debian/build-stamp
build-stamp: unpack-stamp debian/build-stamp: debian/unpack-stamp
dh_testdir dh_testdir
for i in $(subarchs); do \ for i in $(subarchs); do \
cd debian; \ cd debian; \
$(MAKE) subarch=$${i} source_files='$(source_files)' build; \ $(MAKE) subarch=$${i} build; \
done done
touch build-stamp touch debian/build-stamp
clean: unpatch clean: unpatch
dh_testdir dh_testdir
@ -136,12 +135,12 @@ clean: unpatch
rm -rf kernel-source-* build-* install-* rm -rf kernel-source-* build-* install-*
dh_clean dh_clean
binary-indep: build binary-indep: source tree
binary-arch: build binary-arch: build
dh_testdir dh_testdir
for i in $(subarchs); do \ for i in $(subarchs); do \
cd debian; \ cd debian; \
$(MAKE) subarch=$${i} source_files='$(source_files)' binary; \ $(MAKE) subarch=$${i} binary; \
done done
binary: binary-indep binary-arch binary: binary-indep binary-arch
@ -151,7 +150,8 @@ binary: binary-indep binary-arch
# variable values into the template. # variable values into the template.
# #
debian/control: debian/templates/control.main.in debian/control: debian/templates/control.main.in
cat debian/templates/control.main.in | \ cat debian/templates/control.source.in \
debian/templates/control.main.in | \
sed -e 's/@version@/$(version)/g' \ sed -e 's/@version@/$(version)/g' \
-e 's/@major@/$(major)/g' \ -e 's/@major@/$(major)/g' \
-e 's/@ltver@/$(ltver)/g' \ -e 's/@ltver@/$(ltver)/g' \
@ -161,18 +161,5 @@ debian/control: debian/templates/control.main.in
-e 's/@abiname@/$(abiname)/g' | \ -e 's/@abiname@/$(abiname)/g' | \
sed '/^[[:space:]]*$$/d' | \ sed '/^[[:space:]]*$$/d' | \
sed 's/^Package:/\n&/g' > debian/control sed 's/^Package:/\n&/g' > debian/control
#
# If we ended up here, either we need to perform the linux-source
# build, or use the existing linux-source to unpack the kernels.
# This can be controlled by the use_existing_source variable.
#
debian/linux-source-$(version).tar.bz2: debian/Makefile.source
dh_testdir
if [ '$(use_existing_source)' = 'yes' ]; then \
ln -s /usr/src/linux-source-$(version).tar.bz2 \
debian/linux-source-$(version).tar.bz2; \
else \
$(MAKE) -f debian/Makefile.source binary; \
fi
.PHONY: clean build unpack binary-indep binary-arch binary patch unpatch source .PHONY: clean build unpack binary-indep binary-arch binary patch unpatch source tree

17
debian/templates/control.headers.in vendored Normal file
View File

@ -0,0 +1,17 @@
Package: linux-headers@subarch@-@version@-@abiname@
Architecture: any
Section: devel
Priority: optional
Depends: coreutils | fileutils (>= 4.0)
Provides: linux-headers, linux-headers-@major@
Description: Common architecture-specific header files for Linux kernel @version@
This package provides the architecture-specific common kernel header files
for Linux kernel version @version@, generally used for building out-of-tree
kernel modules. To obtain a complete set of headers you also need to install
the linux-headers-@version@-@abiname@-(flavour) package, matching the flavour
of the kernel you intend the build for. To obtain such a set for the currently
running kernel it is sufficient to run a command
apt-get install linux-headers-@version@-@abiname@-$(uname -r)
.
and it will be unpacked in /usr/src/linux-headers-@version@-@abiname@-(flavour).

View File

@ -1,10 +1,3 @@
Source: linux-source-@version@
Section: devel
Priority: optional
Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org>
Standards-Version: 3.6.1.0
Build-Depends: Build-Depends: gcc (>= 4:3.3), debhelper (>= 4), kernel-package, module-init-tools, sparc-utils [sparc]
Package: linux-source-@version@ Package: linux-source-@version@
Architecture: all Architecture: all
Section: devel Section: devel
@ -73,19 +66,6 @@ Description: Linux kernel source tree for building Debian kernel images
The package serves no purpose outside of the Debian build and The package serves no purpose outside of the Debian build and
archive infrastructure. archive infrastructure.
Package: linux-headers-@version@-@abiname@
Architecture: all
Section: devel
Priority: optional
Depends: coreutils | fileutils (>= 4.0)
Provides: linux-headers, linux-headers-@major@
Description: Architecture-independent header files for Linux kernel @version@
This package provides the architecture-independent kernel header files
for Linux kernel version @version@, generally used for building out-of-tree
kernel modules. It does not include the header files for (sub)architectures
which require additional unmerged patches to build, for those separate
header packages are provided.
Package: linux-scripts-@version@-@abiname@ Package: linux-scripts-@version@-@abiname@
Architecture: any Architecture: any
Section: devel Section: devel

6
debian/templates/control.source.in vendored Normal file
View File

@ -0,0 +1,6 @@
Source: linux-source-@version@
Section: devel
Priority: optional
Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org>
Standards-Version: 3.6.1.0
Build-Depends: Build-Depends: gcc (>= 4:3.3), debhelper (>= 4), kernel-package, module-init-tools, sparc-utils [sparc]

View File

@ -28,14 +28,14 @@ debhelper_post() {
# prefix=$(version)-$(abiname) # prefix=$(version)-$(abiname)
# prefix is then used to form a destination directory # prefix is then used to form a destination directory
# to link to. For cases with subarch we need to link # to link to. For cases with subarch we need to link
# to kernel-headers-$(version)-$(abiname)-$(subarch), # to kernel-headers-$(subarch)-$(version)-$(abiname),
# not just kernel-headers-$(version)-$(abiname). Note # not just kernel-headers-$(version)-$(abiname). Note
# that the append_subarch substitution must contain a # that the append_subarch substitution must contain a
# dash, if it is non-empty. # trailing dash, if it is non-empty.
# #
append='@append_subarch@' append='@append_subarch@'
suffix=${version#*$debnum-} suffix=${version#*$debnum-}
prefix=${version%%-*}${debnum}${append} prefix=${append}${version%%-*}${debnum}
pkg=kernel-headers-$version pkg=kernel-headers-$version
top=$PWD/debian/$pkg top=$PWD/debian/$pkg
dir=$top/usr/src/kernel-headers-$version dir=$top/usr/src/kernel-headers-$version