Commit Graph

531 Commits

Author SHA1 Message Date
Ben Hutchings fdd6dadb4a Use dh_listpackages to determine which packages to build
The packages we should build are restricted by:

* Package configuration in debian/config (limits which binary packages are
  included in debian/control)
* Architecture (specified per package in debian/templates/control.* and
  then in debian/control)
* Build profile (specified per package in debian/templates/control.* and
  then in debian/control)

The logic for these restrictions is currently repeated in
debian/rules.real, but sometimes it becomes inconsistent with
debian/control (as with my recent changes for libbpf).

dh_listpackages reads debian/control and filters it by the current
host architecture and build profiles, so that it reliably reports
which packages we should build.

Therefore:

* Replace the logic in debian/rules.real with checks for package names
  in the output of dh_listpackages
* Remove the redundant flag variables passed by debian/rules and
  debian/rules.gen
* Remove the special-casing of stage1 in debian/rules and
  debian/rules.gen
2019-01-01 18:29:56 +00:00
Ben Hutchings 46fcfa88d1 [ia64,m68k] libbpf: Really don't build on architectures without perf events
The architecture filtering needs to be done in debian/rules.real as well.
2019-01-01 16:38:41 +00:00
Ben Hutchings 562a1601c8 [powerpc,powerpcspe,ppc64] linux-config: Eliminate config.*_bootwrapper.gz files
On powerpc architectures that may use a bootwrapper, we create a
temporary build_<arch>_<featureset>_<flavour>_bootwrapper directory
for each kernel configuration to hold the related tools which we won't
install for real (because they are always native).

This directory is then matched by the wildcard used in building
linux-config, causing linux-config packages to contain spurious
(empty) kconfig files based on these directories in addition to the
real kconfig files.

Rename the temporary directory to avoid matching that wildcard.
2018-12-25 23:20:03 +00:00
Hilko Bengen 9eeeda7c0d Add versioned libbpf, libbpf-dev package (Closes: #914428) 2018-12-09 22:11:42 +01:00
Ben Hutchings 63b7ced1fc debian/rules.real: Mark most targets as phony 2018-12-01 18:59:32 +00:00
Luca Boccassi 6de833bc7e Do not ship python2-only call-graph-from-sql. 2018-11-30 14:03:52 +00:00
Luca Boccassi f5f169ba99 Split build rules for tools to allow skipping them.
Split the rules in d/rules.real so that the [un]versioned_tools
knobs can be used to avoid building them.

This is necessary since the build-dependency were moved to be
conditional on those knobs, so the build fails when the
unversioned tools are set to disabled as libpci-dev is not
installed but the tools are built and fail due to it missing.

Signed-off-by: Luca Boccassi <bluca@debian.org>
2018-11-30 14:03:52 +00:00
Ben Hutchings 78e084811d debian/rules.real: Fix build failure with pkg.linux.nosource profile 2018-10-22 11:47:56 +01:00
Ben Hutchings be3a9537f5 Move generation of CONFIG_BUILD_SALT to gencontrol.py
CONFIG_DEBUG_INFO and CONFIG_MODULE_SIG are added in gencontrol.py,
so be consistent with that.

This unfortunately requires some ugly escaping of quotes.
2018-10-14 21:37:57 +01:00
Ben Hutchings 9cfb948048 debian/bin, debian/rules.real: Add symlink to Python package directory instead of editing path
This fixes one of the remaining classes of pycodestyle errors.
2018-10-01 21:41:58 +01:00
Ben Hutchings 79ecbb0832 Release linux (4.18.10-1).
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEErCspvTSmr92z9o8157/I7JWGEQkFAluyLtYACgkQ57/I7JWG
 EQkvcBAAl2AxUxQKDRyS4mgohOa881NpHGdwfcxIXyEVIsPVVtUE+Dg5dzGku/J2
 C1iA6R8tbOZuxOWQbNkGTFZml3JjfcikH21EGD1aqq5z1PmRudA/XBXdl2aItMUi
 lV6HMQcG4GWTjMC/cwrxW5D7rrIqGfp+CCAiACheGbK7mrwAwpioCP3u4JUQm0+F
 kGU4znfQbCScXtoegAwRBHB5nUWRbKZMHMe4vNgVl4Na5wTy4dL4Eh3qWulwOzGx
 94OiJPsV9thctA6vusqrub5DpABjQveDPJyHt2EgvAt2W8MrE/NUiU+4ol2tTNcT
 Ev4P66Jz2bmr3pisx5Cz+3fUXcesrllvWJx5RxPV8f4gCj4/A3zNNz0UdcqcIR/h
 ptTMM9fDC8srz6bnKSYWSii3cmnxMVx5OjNztaoeJMFY6M7rn58rW9e53pkVWeJf
 eKZ27T7RvNMoGDr99u10ca+zb8qBygxQBQea1rKL49T2Jl/5ROkkPvoQ0SNT5kIe
 DL9Z7MDwBI5H5kQW7e9jCiOH65PG/DeVwddko3FeHQy9INxgd6toKiiU0HM4U+8Y
 lsUbuAHRHeVsuLQ1U5YTFHrG56CjqYeU10A7UnxRbqvIOd2MTfp/4fAcM4X+15yZ
 2Q1MRd/fCXIlRBMGfGRnNMX9327/I+XQ8kamktE5H55JWF+KyeI=
 =eMi7
 -----END PGP SIGNATURE-----

Merge tag 'debian/4.18.10-1'

Release linux (4.18.10-1).

- Drop new patches that are already included upstream
- Keep ABI number set to "trunk"
- Refresh arm64 APEI workaround patch for 4.19
2018-10-01 15:37:28 +01:00
Vagrant Cascadian 65bccba1ae debian/rules.real: Generate linux-source tarball with root user and
group specified, to fix reproducibility issues.
2018-09-18 12:59:03 -07:00
Ben Hutchings 337682dc35 Release linux (4.18.8-1).
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEErCspvTSmr92z9o8157/I7JWGEQkFAluhDZUACgkQ57/I7JWG
 EQkLvQ//QqqAfJXjwZt3Iy+dcYieLqmhy4/KtjVvFP8EKSyfdeWl0awb3szbmMs5
 cy2p5q17mafVZTx9MCppp4y1modMBZrMC6hmB9UAoU0j1GnKHNbtddzA3+uo1dmw
 i2LudGseb8LSL5z6g95P4SozSNNeFPIOLSYxkGVnlG3sUdlhlRYCvYf9k8BKUEbx
 sU0yDXQOhf0kBLsRXW8QfJEBHv5ivr9/Q+s9e71NUpVWaEOZwgfJacM/QWcY8+J4
 2o0XlHtS9+r0Ik0RK5Zyt8eun1sH1cb4Lta9LZjvRLWpCqXNpPSus6V8qENngcyw
 X9ZGWi3nMiR4OOuEMGMxbzXXzWreg9MNPyM5/kVfJKlsLi1xP7ufhnstR+j2/tTJ
 guVLDw73B4RyOwH2p4Kh1Pk0hACagI9AeKfjSBTMMlv2rD6FDfuJlSgEYUIK/NLl
 lsefkkKu2EZVdhIBEGDnu80+V2AuoTYXpEknvbnvlYZ1wLNXb73GIFptWu18dfOy
 fZ4cEWDxuKd52nbsjKlQmaxlFGSfjmmWliorhrU84FZsRjvFARGWWPwnjk8fwcpD
 +D0GASqx37iw1gQK8yNQER3dxHzVh1blIKhADgEWJXsaeHcfyDHziShX7FZ8n6G5
 HQBaynaG0Qc9fWd8O6xmX6wsP/vGRFJchbWwa5Gd7L2cCmur1Vk=
 =lopf
 -----END PGP SIGNATURE-----

Merge tag 'debian/4.18.8-1'

Release linux (4.18.8-1).

- Drop ABI reference files and ABI maintenance patch
- Replace ccp driver patch with upstream version that applies to 4.19
2018-09-18 15:49:53 +01:00
Ben Hutchings 337c56fa46 linux-image-*-signed-template: Include changelog and copyright files 2018-09-13 11:19:42 +01:00
Ben Hutchings 9ee715feb5 debian/rules{,.real}: Use /usr/share/dpkg/architecture.mk
Currently we don't set all the architecture variables, so direct use
of these makefiles (not under dpkg-architecture or dpkg-buildpackage)
may fail.

In case ARCH and DEB_HOST_ARCH don't match in rules.real, we really
should fail, so add an explicit check for that.

This also fixes lintian warning
debian-rules-sets-dpkg-architecture-variable.
2018-09-13 11:18:26 +01:00
Ben Hutchings b100ac012c linux-headers: Stop linking the doc directory, which is not binNMU-safe
Since the linux-headers-common package was changed to be
architecture-independent, it won't include any binNMU changelog
fragment that should be installed for a per-flavour linux-headers
package.
2018-09-13 01:53:05 +01:00
Ben Hutchings 26224f8bb8 Move featureset patches and series file to debian/patches-<featureset>.
Fixes lintian warning patch-file-present-but-not-mentioned-in-series.

Also preparation for using dgit, which will remove everything except
the main patch series under debian/patches.
2018-09-13 01:52:52 +01:00
Ben Hutchings c0f447ca76 linux-perf: Fix generation of Perl and Python interpreter dependencies
It works better if we specify the correct directories containing
modules.  This has been broken since linux-tools 4.0.2-1.

Closes: #908547
2018-09-11 01:59:13 +01:00
Ben Hutchings cbebd8c763 udeb: Merge configuration directories and files across architectures
Merge the configuration and default-configuration directories,
using per-architecture overrides in package-list.

This requires a newer version of kernel-wedge to support
Depends_<arch> properly.

The only immediate change to debian/control is to remove the
different description for nic-modules on sparc64.
2018-09-03 18:01:21 +01:00
Ben Hutchings 33d2e14d4d Build with KBUILD_VERBOSE=1 by default
Also support overriding this by putting "terse" in DEB_BUILD_OPTIONS.
2018-08-02 23:32:05 +08:00
Ben Hutchings 16bdbaf76f Release linux (4.17.6-2).
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEErCspvTSmr92z9o8157/I7JWGEQkFAltL4ZwACgkQ57/I7JWG
 EQniUw//V7Vhq6IQ5FKEg+UHcI8b12GhOVWWVJoReQErFllaIkSOJax6GDXo9UYa
 EQ+xezR902ze99eetQfqJFqNm/fu9qi9Lc/Na3dIztFTkbonQmOOF5y5uM129wBi
 l8WKrcnGY175yuN2aQDgRZtZgMWvNy7pbreDX3i5WliOKiOYbG7ZaJvdSEQ12CjJ
 lnVctItwOhDqgXGoW8nW7YxC3Awi25Rk2dZNQNSVfa3Lq9DAA1HXsNVM7/jdMzv8
 OVE32Srq2LsWqt+dK0sARKCucVXZRDTWEjie32ZxyAISUYkuzxmLOpmfYXS+CVtj
 7gIe6nBPX1mnXSHh1CvFGJrHRDfKAtq7gfHoBSg255quuBYY9btCneVV/ebCuFR3
 OSmupwF74Kt6QMhDpe322SFQD/40gH2OEATRzgzNjaJFnWwDTx78EZIu7/SHul9g
 k6YKRyK03bGgfeTeEzsVwXUj71Fh8oF22kk1ViYpDMSEKu3xOB71poDwGmP+e11U
 rH3IV+F5ECzfiekNsbehPabG7dyY/t1TIGBmu+7rnK75EDCQzFfOI0MXEJCJG5X2
 c6QUBXcz8ygvR7Zec9kw4YeBRuDvUv4sXf8516kMc2dSwf7JY+BYyy+9Knb9Gy67
 K/Tw/4keQIgzjg52g9GxqVqI4N/DknWoe1FT3xU4uuLIgYkEilA=
 =JUfi
 -----END PGP SIGNATURE-----

Merge tag 'debian/4.17.6-2'

Release linux (4.17.6-2).

- Drop the ABI maintenance patch
- Resolve conflict between changes to config file generation in sid
  (delete CONFIG_BUILD_SALT) and master (putting them in
  arch-dependent packages)
2018-07-16 01:44:06 +01:00
Ben Hutchings 98b1cf0710 Fix file conflicts between debug packages where a vDSO is identical
Closes: #872263

- kbuild: Add build salt to the kernel and modules
- [arm64,powerpc,x86] Add build salt to the vDSO
- Set BUILD_SALT equal to the release string
2018-07-13 00:26:16 +01:00
Ben Hutchings 1446e940ce debian/rules.real: Pass KERNEL_ARCH variable down to debian/rules.d 2018-07-12 17:42:24 +01:00
Ben Hutchings 3885cfb63f Release linux (4.17.6-1).
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEErCspvTSmr92z9o8157/I7JWGEQkFAltG0zUACgkQ57/I7JWG
 EQlb3Q//auZ2SJEu0MV/X+Mu7vjoUNZhi5VlPC2GBZaClEjrRG6iW0n2bO7fC1jd
 H8HSfVXy9F3vPiTUcMXyKq6vosLh/9Ie7jH1fGOCBoT7YbLcuoVmAPpAePOv6qTX
 gPdtWUvCT8lTviBX8LSFOG8zBewfcocU8MvNjIGKfu2b0CNykq5Z+yg9P7OAHaTt
 cfUU44v91YYwn8eo1Asi909kK73IO0V3SpIPUvgv5K2shCS44xKI19F2FIOuWRuD
 2COH0pSTV1oEjRGtkOJOzQqpEmO3sHZZfAUQTrKzxpTv43NzK80c148sd7/u6Hp1
 c+CszjeI3RJSX/YDie5noyL4BfYxXb+NGcLa41YOr2l1MM01fDOxKk1L/2imr1kV
 Ic73KR5h1fOD3JZmVTRwFpBgrxI9tNBQ7LP2fP666DqvMolRwr8vL5UvTqIF67l9
 uf/765rIgOhg6gwW9GghbuN08gMUfB8DTlsJerNbh1LKLZ8uN+7HzXoYjn44IINn
 Gbp09tQEx3lBl55zLH80MRUlo+mWlpxL2krDGrBTc/QxxDofl4ag+aRYTNmUut2+
 b54PEEpe2H1h6poMVOIjQlwvhKlWEez+8Syh8XKab0ZnMHipf316pX9UMAJIBtyb
 3iTjqMCgNQuraSzKT8/PfrMSV6HGfDN2FQo1vSf3kCQuigFsrA8=
 =VAyl
 -----END PGP SIGNATURE-----

Merge tag 'debian/4.17.6-1'

Release linux (4.17.6-1).

- Drop patches for ABI maintenance or that are already upstream
- Drop ABI reference files
2018-07-12 05:07:12 +01:00
Ben Hutchings b8c95ad3b9 [powerpc,powerpcspe,ppc64] Fix cross-build (Closes: #903096)
- Introduce linux-bootwrapper-<abiname> package containing boot wrapper
  tools for the host architecture
- linux-image: Install symlinks to boot wrapper tools instead of the
  native tools built by kbuild
2018-07-07 22:07:03 +01:00
Ben Hutchings 07eb9ee019 linux-perf: Use Python 3 for scripts 2018-07-07 00:14:59 +01:00
Ben Hutchings 8b0549f036 Build docs using Python 3 version of Sphinx 2018-07-06 21:05:11 +01:00
Ben Hutchings 49db810924 linux-perf: Disable building for powerpcspe
James Clarke had a go at fixing it but hasn't succeeded yet.
2018-07-06 05:21:53 +01:00
Ben Hutchings a14e37b110 Move config files from linux-source to an arch-dependent linux-config package
In Linux 4.18, various compiler version and feature tests are invoked
via kconfig rather than via kbuild.  This means that we generally
cannot generate kconfig files for foreign architectures.

Move the config files to a new linux-config-<version> package which is
arch-dependent (and also M-A: same).

Make linux-config-<version> and linux-source-<version> recommend each
other.
2018-07-03 15:12:33 +01:00
Ben Hutchings 7f113f9112 Release linux (4.17.3-1).
-----BEGIN PGP SIGNATURE-----
 
 iQIzBAABCgAdFiEErCspvTSmr92z9o8157/I7JWGEQkFAls6toYACgkQ57/I7JWG
 EQnUyQ/9GCNcKyhvUX+JW534f1vCai0GujvXCgEBWyDuj0AXcgthJT27cs7kXUYH
 tCfL9xTikeUIgNR+JTWFnZSHIUKaQ8RJPdR4l1KyqdDxqrEx9BqdXRW0dzS4OtTQ
 jgnVLkEfCtllgXkEh6L+ZKZ3NRFKc6OcYFrWa+Q+ovk1mY23P5y5YyPuaV4j+cKI
 8M1pMYCxTGpy9+SncKEnWHD9hq1AsySe19Q/yd5WzhDMu6kLg61S+n/iiVZJA8lK
 qHmMEhtEbiQN+/79C3dgH8nDV5yceqPZxon2GmPrUXrLTM0cX2J3VZpNFOH4SCr8
 AZa1nzzD8UXNDHVVb91QpwMGQrmjAwuLQtJPOCrOnuS71ba+q2w5ylYgjbbs7AMn
 SJpakcYBKBYoMI7fk+qKRVneBIhPDEBWe6yf//XL7N+Nfsf02bkb5k81NPTF65dE
 RESMNI/wXjhFkCWjqxZQiJqvG2mvyTGFs4iEk7NWjFfyqRz4bFNP+SbMHfGwVI1u
 xnlK2e31h25kWuFuQjq6eVXg+jyWjagM1/aa4lI1H4j2Rk9iXVU/52wVZGatmUj0
 1zbqYL2noJpD46/Q4jtbatZu9TI+ynjr+mbmZYys8BfFMNKPjL2TavW7RNWARk/p
 VmgvS7qS5JmJz22LBGRU1S5aKbDhXmyt8IcJS9LCUwEU0yL+u4U=
 =n9qI
 -----END PGP SIGNATURE-----

Merge tag 'debian/4.17.3-1'

Release linux (4.17.3-1).
2018-07-03 00:45:29 +01:00
YunQiang Su c1576cbc2f Build linux-perf package in rules.real 2018-07-02 13:09:47 +08:00
YunQiang Su 9e9759394c Enable dtb building for boston 2018-07-02 13:09:40 +08:00
Ben Hutchings 419ed037e5 debian/rules.real: Delete unused install-manual rule 2018-07-02 00:10:02 +01:00
Ben Hutchings ae6ef24f0d Fix linux-{doc,manual,source,support} package names in rules.real
I only fixed the control file before.

(cherry picked from commit 146c11a13da5643966cd6d07f437b183dc34a19e)
2018-07-02 00:08:22 +01:00
Bastian Blank d8dc672de1 Don't use special copyright file for signing template 2018-05-29 10:27:27 +02:00
Luca Boccassi b3be450737 Add build profile and config/defines for disabling linux-source
Add a new "pkg.linux.nosource" to let users disable building the
linux-source-* package, and allow to set "source: false" to modify
the default behaviour when no rofile is used.
When doing development builds this can save up to 15 minutes of build
time, especially on IO-strapped build workers.
2018-05-08 19:17:15 +01:00
Ben Hutchings 923552dcc8 Reclassify lockdep packages as unversioned tools
The liblockdep<version> package is obviously versioned, but the others
aren't and it's not very useful to build just that one.
2018-05-08 17:01:41 +01:00
Luca Boccassi 7e07ef0202 nodoc: don't build linux-doc and don't install tools documentation
Fully disable building and installing any documentation when the nodoc
build-profile is used.
Among other things this will help reducing build times when doing
development builds, especially on IO-limited build workers.
2018-05-02 12:59:55 +01:00
Ben Hutchings 7b34ddf467 Add support for building only versioned tools packages
We already had support for disabling the tools build, used by
src:linux-grsec.  However in this case, where we're using a different
based version to src:linux, we do still need to build the versioned
tools packages (linux-kbuild-4.9 and linux-perf-4.9).  Split the
control template, config setting and rules accordingly.

(cherry picked from commit cb62c945f27ddee476631fa85c6aa67e50ed3bee)
2018-04-29 21:16:01 +01:00
Jan Blunck c33c43727d Fix stripped module signatures if CONFIG_DEBUG_INFO
If building with CONFIG_MODULE_SIG_ALL and CONFIG_DEBUG_INFO the
objcopy call that adds the debuglink has the side-effect of removing
the signature added to the kernel module. Let's explicitly sign the
installed modules again in that case.

Closes: #852715
2018-04-25 09:39:12 +01:00
Ben Hutchings a5cb9ae406 debian/rules.real: Stop enabling verbose output for listnewconfig target 2018-04-19 23:46:11 +01:00
Ben Hutchings 083ddaa564 Add support for compilers installed outside the default PATH
The obvious way to do this is to edit the PATH in .kernelvariables.
But this obvious way doesn't work due to a bug in make (#895835).

(cherry picked from commit 4c6213fbbbff44710dda2091a7b26e0f0ea0a610)
2018-04-16 23:15:33 +01:00
Ben Hutchings 3b3e6ad4cb Use a dummy build profile for udebs that we test-build before signing
debhelper no longer fully trusts the package list specified with -p,
but only processes packages that are listed in debian/control and
enabled in the current build profile.  This breaks the test build of
udebs that we build for real after code signing.

Work around this by adding the udebs to the control file, conditional
on a new build profile (pkg.linux.udeb-unsigned-test-build).  Override
the build profile during the test build.
2018-04-08 10:31:20 +02:00
Ben Hutchings be394a26da Add template source package to support code signing 2018-04-08 10:31:20 +02:00
Salvatore Bonaccorso b2de3f8c6a linux-headers: Add symlink to linux-kbuild tools directory for objtool in architecture-specific headers package
Thanks: Luca Boccassi

Closes: #886366
2018-01-06 08:06:27 +01:00
Ben Hutchings f5177a853e linux-headers: Add symlink to linux-kbuild tools directory for objtool 2018-01-06 07:41:12 +01:00
Ben Hutchings 3c9fb40bbb linux-kbuild: Add objtool 2018-01-06 07:38:02 +01:00
Ben Hutchings cc91d0cfa2 usbip: Stop building broken libusbip-dev package
It has a lintian error (non-empty-dependency_libs-in-la-file) and it
also seems to be missing a header (the newly added
usbip_host_common.h) since Linux 4.7.  No-one seems to have noticed,
and it has nothing build-depending on it, so get rid of it.
2017-10-01 01:05:52 +01:00
Ben Hutchings 604a4a5743 debian/rules.real: Stop using the mandocs target
The upstream doc build system still implements the old mandocs target,
but it's now a no-op.  Stop using it, as it will presumably be removed
at some point.
2017-09-30 14:47:20 +01:00
Ben Hutchings cd2b0b1742 Install copyright file when the nodoc profile is used
Revert to running dh_installdocs unconditionally, although that
currently installs more than we want (which is permitted by policy).

When we upgrade to debhelper compat level 11, dh_installdocs will
become sensitive to the profile and will install only the copyright
file in this case.  But we shouldn't do that until development of
this level is complete and supported in stretch-backports.
2017-09-30 13:50:34 +01:00