debian/control,debian/rules: Support a 'stage1' build profile (Closes: #695243)

This builds only linux-libc-dev, needed by native compilers.
This commit is contained in:
Ben Hutchings 2015-11-10 13:25:18 +00:00
parent 3d3a4891f7
commit be6de683ed
15 changed files with 47 additions and 9 deletions

View File

@ -154,7 +154,7 @@ class Gencontrol(Base):
cmds_binary_arch = ["$(MAKE) -f debian/rules.real binary-arch-arch %s" % makeflags]
makefile.add('binary-arch_%s_real' % arch, cmds=cmds_binary_arch)
# Shortcut to aid architecture bootstrapping
# For stage1 build profile
makefile.add('binary-libc-dev_%s' % arch,
['source_none_real'],
["$(MAKE) -f debian/rules.real install-libc-dev_%s %s" %
@ -187,6 +187,10 @@ class Gencontrol(Base):
raise RuntimeError('kernel-wedge exited with code %d' %
kw_proc.returncode)
# kernel-wedge currently chokes on Build-Profiles so add it now
for package in udeb_packages:
package['Build-Profiles'] = '<!stage1>'
self.merge_packages(packages, udeb_packages, arch)
# These packages must be built after the per-flavour/
@ -265,9 +269,14 @@ class Gencontrol(Base):
compiler = config_entry_base.get('compiler', 'gcc')
# Work out dependency from linux-headers to compiler. Strip
# restrictions, as they don't apply to binary Depends.
relations_compiler_headers = PackageRelation(
config_entry_relations.get('headers%' + compiler) or
config_entry_relations.get(compiler))
for group in relations_compiler_headers:
for entry in group:
entry.restrictions = []
relations_compiler_build_dep = PackageRelation(config_entry_relations[compiler])
for group in relations_compiler_build_dep:

2
debian/changelog vendored
View File

@ -4,6 +4,8 @@ linux (4.3-1~exp2) UNRELEASED; urgency=medium
* mv643xx_eth: Re-enable TSO, fixed upstream in 4.3
* debian/control: Move patchutils from Build-Depends to Build-Depends-Indep,
as we only use filterdiff when building linux-source-<version>
* debian/control,debian/rules: Support a 'stage1' build profile which
builds only linux-libc-dev (Closes: #695243)
-- Ben Hutchings <ben@decadent.org.uk> Sat, 07 Nov 2015 14:18:48 +0000

10
debian/config/defines vendored
View File

@ -46,11 +46,11 @@ type: plain
[relations]
# compilers
gcc-4.6: gcc-4.6
gcc-4.7: gcc-4.7
gcc-4.8: gcc-4.8
gcc-4.9: gcc-4.9
gcc-5: gcc-5
gcc-4.6: gcc-4.6 <!stage1>
gcc-4.7: gcc-4.7 <!stage1>
gcc-4.8: gcc-4.8 <!stage1>
gcc-4.9: gcc-4.9 <!stage1>
gcc-5: gcc-5 <!stage1>
# initramfs-generators
initramfs-fallback: linux-initramfs-tool

View File

@ -22,5 +22,5 @@ hardware: multiprocessor 64-bit PA-RISC
hardware-long: HP PA-RISC 64-bit SMP systems with support for more than 4 GB RAM
[relations]
gcc-4.9: gcc-4.9, binutils-hppa64, gcc-4.9-hppa64
gcc-4.9: gcc-4.9 <!stage1>, binutils-hppa64 <!stage1>, gcc-4.9-hppa64 <!stage1>

11
debian/rules vendored
View File

@ -15,6 +15,7 @@ endif
ifdef DEBIAN_KERNEL_JOBS
MAKEFLAGS += -j$(DEBIAN_KERNEL_JOBS)
endif
BUILD_STAGE1 := $(filter stage1,$(DEB_BUILD_PROFILES))
.NOTPARALLEL:
@ -30,21 +31,31 @@ build: build-arch build-indep
build-arch: debian/control
dh_testdir
ifndef BUILD_STAGE1
$(MAKE) -f debian/rules.gen build-arch_$(DEB_HOST_ARCH)
endif
build-indep: debian/control
dh_testdir
ifndef BUILD_STAGE1
$(MAKE) -f debian/rules.gen build-indep
endif
binary: binary-indep binary-arch
binary-arch:
dh_testdir
ifdef BUILD_STAGE1
$(MAKE) -f debian/rules.gen binary-libc-dev_$(DEB_HOST_ARCH)
else
$(MAKE) -f debian/rules.gen binary-arch_$(DEB_HOST_ARCH)
endif
binary-indep:
dh_testdir
ifndef BUILD_STAGE1
$(MAKE) -f debian/rules.gen binary-indep
endif
DIR_ORIG = ../orig/$(SOURCE)-$(VERSION_UPSTREAM)
TAR_ORIG_NAME = $(SOURCE)_$(VERSION_UPSTREAM).orig.tar.xz

View File

@ -1,4 +1,5 @@
Package: linux-compiler-gcc-4.9-arm
Build-Profiles: <!stage1>
Depends: gcc-4.9, ${misc:Depends}
Architecture: armel armhf
Multi-Arch: foreign
@ -7,6 +8,7 @@ Description: Compiler for Linux on ARM (meta-package)
Linux on armel and armhf.
Package: linux-compiler-gcc-4.8-s390
Build-Profiles: <!stage1>
Depends: gcc-4.8, ${misc:Depends}
Architecture: s390 s390x
Multi-Arch: foreign
@ -15,6 +17,7 @@ Description: Compiler for Linux on IBM zSeries (meta-package)
Linux on s390 and s390x.
Package: linux-compiler-gcc-5-x86
Build-Profiles: <!stage1>
Depends: gcc-5, ${misc:Depends}
Architecture: amd64 i386 x32
Multi-Arch: foreign

View File

@ -1,4 +1,5 @@
Package: linux-headers-@abiname@-all
Build-Profiles: <!stage1>
Depends: linux-headers-@abiname@-all-${kernel:Arch} (= ${binary:Version}), ${misc:Depends}
Description: All header files for Linux @version@ (meta-package)
This package depends against all architecture-specific kernel header files
@ -6,6 +7,7 @@ Description: All header files for Linux @version@ (meta-package)
kernel modules.
Package: linux-headers-@abiname@-all-@arch@
Build-Profiles: <!stage1>
Depends: ${misc:Depends}
Description: All header files for Linux @version@ (meta-package)
This package depends against all architecture-specific kernel header files

View File

@ -1,4 +1,5 @@
Package: linux-headers-@abiname@-common@localversion_headers@
Build-Profiles: <!stage1>
Depends: ${misc:Depends}
Description: Common header files for Linux @abiname@@localversion_headers@
This package provides the architecture-specific common kernel header files

View File

@ -1,4 +1,5 @@
Package: linux-headers-@abiname@@localversion@
Build-Profiles: <!stage1>
Depends: linux-headers-@abiname@-common@localversion_headers@ (= ${binary:Version}), linux-kbuild-@version@, ${misc:Depends}
Description: Header files for Linux @abiname@@localversion@
This package provides the architecture-specific kernel header files

View File

@ -1,4 +1,5 @@
Package: linux-image-@abiname@@localversion@-dbg
Build-Profiles: <!stage1>
Depends: ${misc:Depends}
Section: debug
Priority: extra

View File

@ -1,4 +1,5 @@
Package: linux-image-@abiname@@localversion@
Build-Profiles: <!stage1>
Provides: linux-modules-@abiname@@localversion@
Pre-Depends: debconf | debconf-2.0
Depends: kmod, linux-base (>= 3~), ${misc:Depends}

View File

@ -1,4 +1,5 @@
Package: linux-image-@abiname@@localversion@
Build-Profiles: <!stage1>
Provides: linux-image
Suggests: linux-doc-@version@
Depends: ${misc:Depends}

View File

@ -1,4 +1,5 @@
Package: linux-source-@version@
Build-Profiles: <!stage1>
Architecture: all
Section: kernel
Depends: binutils, xz-utils, ${misc:Depends}
@ -13,6 +14,7 @@ Description: Linux kernel source for version @version@ with Debian patches
upstream maintainers.
Package: linux-doc-@version@
Build-Profiles: <!stage1>
Architecture: all
Depends: ${misc:Depends}
Section: doc
@ -26,6 +28,7 @@ Description: Linux kernel specific documentation for version @version@
for the detailed description of the contents.
Package: linux-manual-@version@
Build-Profiles: <!stage1>
Architecture: all
Depends: ${misc:Depends}
Section: doc
@ -44,6 +47,7 @@ Description: Linux kernel API manual pages for version @version@
documentation in other formats is free from such restriction.
Package: linux-support-@abiname@
Build-Profiles: <!stage1>
Architecture: all
Section: devel
Depends: ${python3:Depends}, ${misc:Depends}

View File

@ -3,8 +3,9 @@ Priority: optional
Maintainer: Debian Kernel Team <debian-kernel@lists.debian.org>
Uploaders: Bastian Blank <waldi@debian.org>, maximilian attems <maks@debian.org>, Ben Hutchings <ben@decadent.org.uk>
Standards-Version: 3.9.5
Build-Depends: debhelper, cpio, kmod, python3, xz-utils, kernel-wedge, quilt, bc
Build-Depends-Indep: patchutils, xmlto
Build-Depends: debhelper, python3, quilt,
cpio <!stage1>, kmod <!stage1>, xz-utils <!stage1>, kernel-wedge <!stage1>, bc <!stage1>
Build-Depends-Indep: patchutils <!stage1>, xmlto <!stage1>
Vcs-Git: https://anonscm.debian.org/git/kernel/linux.git
Vcs-Browser: https://anonscm.debian.org/cgit/kernel/linux.git
Homepage: https://www.kernel.org/

View File

@ -1,4 +1,5 @@
Package: xen-linux-system-@abiname@@localversion@
Build-Profiles: <!stage1>
Section: metapackages
Depends: linux-image-@abiname@@localversion@ (= ${binary:Version}), ${misc:Depends}
Description: Xen system with Linux @upstreamversion@ on @class@ (meta-package)