Commit Graph

463 Commits

Author SHA1 Message Date
Ben Hutchings e85bd66dc5 debian/bin/gencontrol_signed.py: Copy maintainer and date into template's changelog 2018-04-08 10:31:20 +02:00
Ben Hutchings 9f8aafcd1f debian/bin/gencontrol_signed.py: Make valid native version for signed source
dpkg-source strictly enforces that 3.0 (native) packages do not have
Debian revisions in their version strings, i.e. they cannot include
hyphens.

Replace the hyphen from the image binary version with a '+'.

Override this version back to what we want when building the signed
binary packages.
2018-04-08 10:31:20 +02: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
Ben Hutchings a25eb38372 debian/config: Rename [build]signed-modules setting to signed-code
This setting controls code signing in general, not just modules.
2018-04-08 10:30:49 +02:00
Bastian Blank a143fb1a02 stable-update: Support bare repos 2018-02-08 14:17:32 +01:00
Ben Hutchings 30fe681bff abiupdate.py: Add support for security mirrors 2018-01-12 02:36:06 +00:00
Ben Hutchings 2629671100 debian/bin/gencontrol.py: Set encoding to UTF-8 globally
I just made this change for firmware-nonfree, for which I wrote:

    We open some, but not all, files with an explicit UTF-8 encoding.  One
    of the open calls that I missed has just caused gencontrol.py to fail
    instead a pbuilder environment.  Instead of continuing to set an
    explicit encoding for each open call, use locale.setlocale to set it
    globally.

I haven't hit such a problem here, but let's do it anyway.

Keep using explicit encodings in debian/lib for now, since we can't
assume all calling programs will set the locale.
2017-10-20 02:56:35 +01:00
Ben Hutchings 5872c32060 debian/bin/buildcheck.py: Interpret ABI patterns more conventionally
Currently '*' and '**' match at least one character.  Change them to
match zero or more characters, as in shell patterns.

'*' matches anything but '!', but that has no special meaning in
symbol names or module filenames.  Change it to match anything but
'/', as in shell patterns.
2017-10-13 01:39:24 +01:00
Ben Hutchings 9fe724d67d linux-image-dbg: Override lintian errors for vDSOs
It currently reports errors binary-from-other-architecture and
shlib-without-PT_GNU_STACK-section, which are false positives.
2017-10-01 15:23:01 +01:00
Ben Hutchings a1b309111a Rename lintian-overrides template files to be consistent 2017-10-01 01:36:27 +01:00
Ben Hutchings 06c36b3662 debian/control: Move many build dependencies to Build-Depends-Arch field 2017-09-30 14:09:54 +01:00
Roger Shimizu 8d9993070b buildcheck.py: Add check for uncompressed Image size
Currently only armel/marvell flavour need this check
2017-09-02 00:30:02 +09:00
Ben Hutchings b4b1be4c52 Move debug symbols back to the main archive
dak currently allows a binary upload to include debug symbol packages
that don't appear in the overrides file or the Binary field of the
changes file, so long as they have the appropriate
'Auto-Built-Package' field and their name matches another binary
package in the upload plus the '-dbgsym' suffix.

For architectures with code signing enabled, our binary uploads never
match this condition as the corresponding binary package has the
'-unsigned' suffix and the debug symbols package does not.  Since we
do list the debug symbol packages in the Binary field, they do get
added to the overrides file when accepted through the NEW queue, but
they are automatically pruned from there some time later.  Later
uploads then have to go through NEW even though they are not
introducing new binary packages.  This would be a big problem for
stable security updates.

For now, move debug symbols back to the main archive with the old
'-dbg' suffix.  Keep them enabled for all architectures.
2017-04-16 18:53:35 +01:00
Ben Hutchings fc4d14f63f test-patches: Set default number of jobs to number of available processors
With the current default of 1, most users are going to be kept waiting
unncessarily.
2017-02-08 02:05:30 +00:00
Ben Hutchings bd4315df9c test-patches: Use the pkg.linux.notools build profile
test-patches never builds tools, and this greatly reduces the
build-dependencies.
2017-02-07 23:47:20 +00:00
Ben Hutchings b5cdf98158 [rt] genpatch.py: Verify tag and tarball signatures 2017-01-25 04:30:46 +00:00
Ben Hutchings 97dc926bb7 Revert "Remove debug symbol packages from debian/control to work around dak bug"
This reverts commit 99d37f9b16, which
caused most binary uploads to be rejected.  dak's allows upload of
debug symbol packages not listed in the Binary field only if there is
a corresponding binary package without the -dbgsym suffix, which is
not the case on architectures where we use a -unsigned suffix.
2017-01-12 15:44:11 +00:00
Ben Hutchings 99d37f9b16 Remove debug symbol packages from debian/control to work around dak bug
Any packages listed in debian/control that are not installed in the
main archive will always be seen as NEW.  This might be fixable by
archive configuration changes, but for now we'll generate them in a
similar way to debhelper.
2017-01-07 21:48:47 +00:00
Ben Hutchings 2c8163e1f1 abiupdate.py: Add support for incoming.ports.debian.org 2017-01-07 18:00:21 +00:00
Ben Hutchings 2ee6bc5ea0 abiupdate.py: Update base URLs
- incoming.debian.org now uses pool layout
- deb.debian.org is a better default than ftp.de.debian.org
- ftp.debian-ports.org redirects to ftp.ports.debian.org, so use the
  latter directly
2017-01-07 17:57:38 +00:00
Ben Hutchings f3ddd1118d abiupdate.py: Use current config instead of downloading previous config
Until we authenticate downloads we should not do this as pickle.load
allows running arbitrary code.
2017-01-07 17:43:24 +00:00
Ben Hutchings 6ad80b7201 abiupdate.py: Drop import fallback for Python 2 compatibility 2017-01-07 17:41:44 +00:00
Ben Hutchings f5af248fc0 genorig.py: Verify tag signatures (based on work by Yves-Alexis Perez)
I changed the wrapper to call gpgv instead of gpg.  It is much easier
and cleaner to use local configuration this way, and it won't produce
a warning that the key isn't trusted.

I also removed used of an environment variable, as we (currently) only
pass one keyring filename here.
2017-01-07 02:57:59 +00:00
Ben Hutchings aa27137298 [amd64] Remove xen-linux-system-<version> package
Since there are no amd64 kernel configurations without Xen dom0
support, these meta-packages don't provide much value any more.
2016-12-04 16:21:18 +00:00
Ben Hutchings 2661eeaf78 debian/bin/buildcheck.py: Add check for symbols with version CRC of 0 2016-12-02 02:49:08 +00:00
Ben Hutchings eeb496a241 linux-headers-common: Make these packages architecture-independent
Include headers for all architectures that we build a kernel for.
This allows co-installation of per-flavour header packages for
multiple Debian architectures, and fixes the problem of arm64 headers
depending on arm headers that we did not include.
2016-12-01 20:08:30 +00:00
Ben Hutchings be7e4761f8 debian/bin/gencontrol.py: Fix cross-build-dependencies if invoked under dpkg-buildpackage
By default dpkg-architecture lets the current environment override the
architecture specified by the -a option.  We mustn't let that happen
here as we are considering all architectures.  Use the -f option to
force use of our specified architecture.
2016-09-26 22:31:21 +01:00
Ben Hutchings 6d39ffde84 Change names and descriptions of debug symbol packages to match debhelper 2016-07-14 11:42:15 +01:00
Ben Hutchings 0aceb8739a debian/control: Fix build-dependencies for cross-building
The current cross-compiler packages don't set the Multi-Arch field, so
specify that the cross-compiler package must be native, rather than any
architecture.

flex doesn't support multi-arch, and this would require splitting it
(#611230, #761449).  Force use of the native package for now.

openssl doesn't support multi-arch but probably easily could (#827028).
Force use of the native package for now.

We need the native libssl-dev while building the kernel itself and the
host libssl-dev while building tools for linux-kbuild.

Document the state of cross-building in README.source.
2016-06-13 02:02:54 +01:00
Ben Hutchings 72f58e83ea linux-image: Add '-unsigned' suffix to packages with modules that will later be signed 2016-06-10 14:47:47 +01:00
Ben Hutchings 5a1dc12690 udeb: Drop packages for modules that will later be signed
These packages will be taken over by src:linux-signed.  Still do
everything but building the packages so we find configuration
errors before building linux-signed.
2016-06-10 02:54:44 +01:00
Ben Hutchings fb5d796272 Move merge_packages function from debian/bin/gencontrol.py to gencontrol module
linux-signed will use this function in future.
2016-06-08 23:24:07 +01:00
Ben Hutchings cab1f743c8 Disable MODULE_SIG for architectures not supported by linux-signed 2016-06-06 18:12:47 +01:00
Ben Hutchings 3df161c94f linux-image: Use linux-check-removal command in prerm; remove debconf templates
This removes most of the remaining complexity from the script.
2016-06-06 17:21:34 +01:00
Yves-Alexis Perez 0dd643da08 fix tools disabling in arch-specific rules
(cherry picked from commit 3aa2269f2b3162772d052154d8bed726ff18df1e)

[bwh: Note this in debian/changelog.  Neaten vertical spacing.]
2016-05-14 19:07:15 +01:00
Ben Hutchings 12fe9efbc6 stable-update: Rewrite stable-update.sh in Python
This fixes some of the problems dch was causing:
- Putting the stable log in the wrong place
- Updating the date unnecessarily

Change stable-update.sh to be a wrapper for stable-update.

Delete ckt-stable-update.sh; if we need it again in future, it can be
implemented more cleanly as part of the new script.
2016-05-06 21:37:36 +01:00
Ben Hutchings 516d9dac1d debian/config: Add config variable to control module signing in linux-signed
- Enable it by default
- Disable it for armel/marvell since signature verification is not enabled.
- Disable it for mips and mipsel so linux-signed can be uploaded without
  waiting for them to build
- Disable it for all architectures not in the main archive, as linux-signed
  won't support them (at least, not initially).

We don't need a variable to control signing of the image, because
we should do that for all flavours that have CONFIG_EFI_STUB=y.
2016-04-04 10:41:48 +01:00
Ben Hutchings a5f7516c0c Merge linux-tools source package into linux (Closes: #550379, #573483, #816500)
* Drop redundant gitignore.patch from linux-tools
* Rename linux-tools' debian/templates/control.main.in to
  debian/templates/control.tools.in
* Combine changelogs, putting all entries for each upstream release
  cycle in chronological order
* Combine rules and gencontrol.py code
2016-03-21 01:32:16 +00:00
Ben Hutchings d7b31e0e23 debian/rules.real: Rename build-arch and setup-flavour rules for consistency 2016-03-20 21:51:13 +00:00
Ben Hutchings eaff86e9e2 gencontrol.py: Change substitute_file() from local function to method
We will need to use it in multiple methods of Gencontrol.
2016-03-20 21:39:38 +00:00
Ben Hutchings 466e99f397 linux-perf: Override lintian errors for perf-read-vdso{,x}32 in 64-bit packages 2016-03-20 19:08:47 +00:00
Ben Hutchings 65d6c09bbd Remove residual support for multiple image package types
We only really support the 'plain' type.  Remove all the conditions on
image type and remove 'plain' from all target and file names.
2016-01-27 19:52:52 +00:00
Ben Hutchings 87a5fb1450 Remove all support for monolithic kernel packages
The last such package (s390-tape variant) was removed in
3.6.8-1~experimental.1.
2016-01-27 19:52:48 +00:00
Ben Hutchings 6f7f065366 genorig.py: Make orig tarballs really reproducible
- Override umask while extracting/exporting files
- Override user and group names in tarball
2016-01-19 00:28:31 +00:00
Ben Hutchings 9a6aa4816a linux-image-dbg: Include debugging symbols for VDSOs 2016-01-13 15:08:47 +00:00
Ben Hutchings 0c23e53745 genorig.py: Make orig tarballs really reproducible
- Override umask while extracting/exporting files
- Override user and group names in tarball
2016-01-08 19:31:40 +00:00
Ben Hutchings 8571d54a8b Add config parameter to disable linux-headers-all packages
The linux-grsec source package needs a way to explicitly disable these
binary packages which are already built by the linux source package.
We already do that when there are no actual kernels for the target
architecture.  Rename the FOREIGN_KERNEL make variable and combine the
two conditions.

Based on work by Yves-Alexis Perez.
2015-12-19 16:57:10 +00:00
Ben Hutchings e221f869d0 debian/bin/genorig.py: Add more files under arch/*/include/asm to file list
Fixes FTBFS on several architectures.
2015-12-14 00:43:27 +00:00
Ben Hutchings 02e867b636 Fix parallel builds of both arch and indep binaries
A parallel 'debian/rules build' will now invoke 'debian/rules.real
build' twice in parallel, which is disastrous.

- Add and use proper build-arch and build-indep targets in
  debian/rules.gen and debian/rules.real
- Assign a separate temporary directory to each target in
  debian/rules.real.  Add the directories to .gitignore and
  the clean rule.
- Pull installation of the lockdep wrapper (which is indep)
  up into debian/rules.real so that we don't end up building
  liblockdep twice in parallel.
2015-12-10 02:44:23 +00:00