For userland we already got this through dpkg-buildflags, but it uses
the current directory rather than the source package's top directory
as the default 'old' path. Set DEB_BUILD_PATH to fix this.
- Add python-sphinx and python-sphinx-rtd-theme to Build-Depends-Indep
- Install files from both HTML output directories into the package
- Exclude RST sources from the package
usbip has its own version number which we combine with the source
package version, which is assigned to VERSION for the install-usbip
target (only). We find the version number by processing the config.h
file created by autoconf. The file always exists before the
install-usbip rule is invoked, but the target-specific definition of
VERSION is still evaluated whenever debian/rules.real is used,
resulting in confusing (though harmless) error messages about a
missing file.
We could change VERSION to be a recursively-expanded variable, but
then it would still be evaulated multiple times. Instead, move the
definition of VERSION into the target's commands.
Pass $(CROSS_COMPILE) or host GNU type through to upstream build rules.
debian/rules.real: Filter tools packages by host arch, not build arch
debian/rules.d/Makefile: Build the tools needed for headers_install in
a separate subdirectory
Currently we build-depend on the native python (via asciidoc), and on
the host python (via python-dev). As these are not coinstallable it
is impossible to perform a complete cross-build. Until that's resolved,
this will allow cross-building of most of the package with the
combination of the 'cross' and 'nopython' profiles.
(This also sidesteps the issue of perf wanting a multilib compiler.)
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.
Where we include the 'version' in paths, it needs to be what
debian/rules.real calls UPSTREAMVERSION (no -rcN, no Debian revision).
(We should really make the naming of version variables consistent
across all our makefiles.)
Our signing certificate isn't included in the source tarball and would
be pointless to include in custom kernels. Custom kernels also won't
have a separate signing stage. So remove our settings for
CONFIG_MODULE_SIG_ALL, CONFIG_MODULE_SIG_KEY and
CONFIG_SYSTEM_TRUSTED_KEYS. This should cause custom kernels based on
the included configs to follow the upstream default for signing, which
is to use a new key pair for each build.
* Rename the make macro from submake to make-tools
* Rename debian/stamps/build to debian/stamps/build-tools
* Build them all under debian/build/build-tools/
* 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
Also add a helper executable that implements the check for Hyper-V
(like ConditionVirtualization=microsoft in the systemd units).
(cherry picked from commit 50747480c882dae7d3c8f7b4d0df5cf3276c4ee5)
By passing both -C and -f options to make, we can separate makefiles
from the output directory without adding prefixes to all targets.
We can also reduce the 'clean' commands to little more than 'rm -rf'.
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.
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.
use source package name in templates so it's easier for derivatives like
src:linux-grsec to not conflict with binaries from src:linux.
Original patch by Ben Hutchings.
Upstream sets LC_ALL=C when building most things, and we do that in
one place to ensure consistent ordering. However the encoding of HTML
docs still differs. Choose 'C.UTF-8' instead of 'C' because it makes
the HTML docs slightly smaller.
liblockdep is in fairly bad shape - one patch needed to make it build
at all, another to make it build in a separate directory successfully,
and a third to fix the soname. And the install rule doesn't install
its public headers. But maybe it will be useful.
When we introduced the find | sort | xargs tar pipeline to make the
tarball reproducible, I was concerned that there could be so many
arguments that xargs would call tar more than once. I therefore
changed the tar -c option to -r so that it would append rather
than overwriting in this case.
However, the -a option seems to have no effect when -r is used, so
the tarball is no longer compressed.
Instead of using xargs, use tar's -T option and change the -r
back to -c.
$KBUILD_BUILD_TIMESTAMP is used in two places:
1. By mkcompile_h, to generate both the utsname::version string
2. By gen_initramfs_list.sh, to set the timestamps for the built-in initramfs
As we want utsname::version to contain the package version and not an
RFC822 timestamp, the current value doesn't work for (2).
Change mkcompile_h to prefer $KBUILD_BUILD_VERSION_TIMESTAMP over
$KBUILD_BUILD_TIMESTAMP, and set both variables in debian/rules.real.
svn path=/dists/trunk/linux/; revision=22647
Unfortunately it is not sufficient to provide virtual packages
that exactly match the ABI name. For example, 'reportbug kernel'
doesn't find the virtual package, and neither do dpkg commands
such as 'dpkg -l linux-image-$(uname -r)'.
svn path=/dists/sid/linux/; revision=22034
For arch-independent packages we don't need these, and the invocations
of dpkg-architecture with empty $(ARCH) result in error messages.
svn path=/dists/sid/linux/; revision=22033
* debian/bin/gencontrol.py: Export internal ABI.
* debian/lib/python/debian_linux/debian.py: Export three-part version.
* debian/rules.real
- Provide more variables.
- Make udeb generation easier.
- Use internal ABI for files.
* debian/templates/control.*: Provide name with internal ABI.
* debian/templates/image.plain.*: Use internal ABI.
svn path=/dists/sid/linux/; revision=22017
Currently we set KW_CHECK_NONFATAL=y when building for experimental or
an unreleased package. In theory people would be checking for
kernel-wedge errors in the build logs. In practice this meant we
didn't see them until they appear in unstable where they are fatal.
svn path=/dists/sid/linux/; revision=21830
The bulk of the
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain_image rule is
actually Device Tree stuff, so rename it accordingly and move
installation of the image (now a single generic command) up to the
install-image_$(ARCH)_$(FEATURESET)_$(FLAVOUR)_plain rule.
svn path=/dists/trunk/linux/; revision=21254
The filename of the kernel image to be installed, and the stem of the
installed name, varies between architectures, so we define several
different rules to install it for different sets of architectures.
However the basic fact that we need to install this file in /boot does
not.
We also duplicate this name information in gencontrol.py and in
debian/config/{armel,armhf,sh4}/defines (used by buildcheck.py).
To address this:
* Define [image]install-stem and [build]image-file for each architecture
* Copy these settings to make-flags in gencontrol.py
* Copy [image]install-stem to the image-stem template variable in
gencontrol.py
* Replace the per-architecture rules with a single rule using those
make-flags
The per-architecture rules for ARM and PowerPC also installed DTB
and DTS files, respectively. Include those commands in the single
rule with appropriate conditions around them.
svn path=/dists/trunk/linux/; revision=21253