UBUNTU: Sync debian rules with master-next

Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
This commit is contained in:
Tim Gardner
2013-05-10 09:43:04 -06:00
committed by Tim Gardner
parent 83f989f56f
commit 81eb078124
39 changed files with 974 additions and 364 deletions

View File

@@ -26,11 +26,10 @@ Architecture: ARCH
Section: admin
Priority: optional
Pre-Depends: dpkg (>= 1.10.24)
#Provides: linux-image, linux-image-2.6, fuse-module, =PROVIDES=
Depends: ${misc:Depends}, ${shlibs:Depends}, initramfs-tools (>= 0.36ubuntu6), coreutils | fileutils (>= 4.0), module-init-tools (>= 3.3-pre11-4ubuntu3), wireless-crda
Conflicts: hotplug (<< 0.0.20040105-1)
Recommends: BOOTLOADER
Suggests: fdutils, SRCPKGNAME-doc-PKGVER | SRCPKGNAME-source-PKGVER, SRCPKGNAME-tools
Suggests: fdutils, SRCPKGNAME-source-PKGVER
Description: Linux kernel image for version PKGVER on DESC
This package contains the Linux kernel image for version PKGVER on
DESC.
@@ -51,8 +50,7 @@ Package: linux-headers-PKGVER-ABINUM-FLAVOUR
Architecture: ARCH
Section: devel
Priority: optional
Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), linux-headers-PKGVER-ABINUM, ${shlibs:Depends}
#Provides: SRCPKGNAME-headers, SRCPKGNAME-headers-2.6
Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0), SRCPKGNAME-headers-PKGVER-ABINUM, ${shlibs:Depends}
Description: Linux kernel headers for version PKGVER on DESC
This package provides kernel header files for version PKGVER on
DESC.
@@ -60,7 +58,7 @@ Description: Linux kernel headers for version PKGVER on DESC
This is for sites that want the latest kernel headers. Please read
/usr/share/doc/SRCPKGNAME-headers-PKGVER-ABINUM/debian.README.gz for details.
Package: linux-image-PKGVER-ABINUM-FLAVOUR-dbgsym
Package: SRCPKGNAME-image-PKGVER-ABINUM-FLAVOUR-dbgsym
Architecture: ARCH
Section: devel
Priority: optional

View File

@@ -8,12 +8,11 @@ Build-Depends-Indep: xmlto, docbook-utils, ghostscript, transfig, bzip2, sharuti
Build-Conflicts: findutils (= 4.4.1-1ubuntu1)
Vcs-Git: git://kernel.ubuntu.com/ubuntu/ubuntu-saucy.git manta
Package: linux-headers-PKGVER-ABINUM
Package: SRCPKGNAME-headers-PKGVER-ABINUM
Architecture: armhf
Section: devel
Priority: optional
Depends: ${misc:Depends}, coreutils | fileutils (>= 4.0)
#Provides: SRCPKGNAME-headers, SRCPKGNAME-headers-2.6
Description: Header files related to Linux kernel version PKGVER
This package provides kernel header files for version PKGVER, for sites
that want the latest kernel headers. Please read

View File

View File

@@ -11,9 +11,9 @@
#
# to the commit, and you can remove all other tags (except UBUNTU:).
#
UBUNTU:
UBUNTU:
ExternalDriver:
ExternalDriver:
Description:
Url:
Mask:

View File

@@ -5,7 +5,7 @@
#
# SAUCE refers to the fact that this patch might not go upstream, but we need to
# carry it to successive releases. In most cases you DONOT want to use this
# template.
# template.
#
# An example of a SAUCE patch is the ACPI DSDT-in-initramfs patch which has been
# refused upstream, but still provides useful functionality to users with broken
@@ -29,12 +29,12 @@
#
# Ignore: yes will keep this commit from showing up in the changelog.
#
UBUNTU: SAUCE:
UBUNTU: SAUCE:
<Why is this patch not going upstream?>
# OriginalAuthor:
# OriginalLocation:
# OriginalAuthor:
# OriginalLocation:
# BugLink: http://bugs.launchpad.net/bugs/<enter bug# here>
# Ignore: yes
# Other text below here.

View File

@@ -20,8 +20,8 @@
#
UBUNTU: [Upstream]
# OriginalAuthor:
# OriginalLocation:
# OriginalAuthor:
# OriginalLocation:
# BugLink: http://bugs.launchpad.net/bugs/<enter bug# here>
# Ignore: yes
# Other text below here.

View File

@@ -1,5 +1,5 @@
#!/usr/bin/perl
# -*- Mode: Cperl -*-
# -*- Mode: Cperl -*-
# debian.postinst ---
# Author : Manoj Srivastava ( srivasta@pilgrim.umass.edu )
# Created On : Sat Apr 27 05:42:43 1996

View File

@@ -254,16 +254,16 @@ sub test_relative {
# while (@work) {
# my $seg = shift @work;
# if ($seg eq "." || $seg eq "") {
# }
# }
# elsif ($seg eq "..") {
# if (@out && $out[-1] ne "..") {
# pop @out;
# }
# }
# else {
# # Leading "..", or "../..", etc.
# push @out, $seg;
# }
# }
# }
# else {
# push @out, $seg;
# }
@@ -332,7 +332,7 @@ sub really_move_image {
" $target");
if ($ret) {
die("Failed to move " . $src_dir . "$target to "
. $dest_dir . "$target.\n");
. $dest_dir . "$target");
}
# Ok, now we may clobber the previous .old files
if (-e "$target.$$") {
@@ -342,9 +342,9 @@ sub really_move_image {
}
}
# Normally called after really_move_image; and only called if we asked for
# reversed link this routine reverses the symbolic link that is notmally
# created. Since the real kernel image has been moved over to
# Normally called after really_move_image; and only called if we asked for
# reversed link this routine reverses the symbolic link that is notmally
# created. Since the real kernel image has been moved over to
# $image_dest/$kimage-$version. So, this routine links
# From: $image_dest/$kimage-$version (/vmlinuz-2.6.12)
# To: $realimageloc/$kimage-$version (/boot/vmlinuz-2.6.12)
@@ -366,14 +366,14 @@ sub really_reverse_link {
if ($use_hard_links =~ m/YES/i) {
link($Old . "$link_name", $src_dir . "$link_name") ||
die("Failed to link " . $dest_dir . "$link_name to " . $src_dir .
"$link_name .\n");
die("Failed to link " . $dest_dir . "$link_name to " . $src_dir .
"$link_name:$!");
warn "ln " . $Old . "$link_name " . $src_dir . "$link_name" if $DEBUG;
}
else {
symlink($Old . "$link_name", $src_dir . "$link_name") ||
die("Failed to symbolic-link " . $dest_dir . "$link_name to " . $src_dir
. "$link_name : $!\n");
. "$link_name:$!");
warn "ln -s " . $Old . "$link_name " . $src_dir . "$link_name" if $DEBUG;
}
}
@@ -385,8 +385,8 @@ sub really_reverse_link {
sub move_p {
my $kimage = $_[0]; # Name of the symbolic link
my $image_dest = $_[1]; # The directory the links goes into
my $image_name = $_[2];
my $src_dir = $_[3];
my $image_name = $_[2];
my $src_dir = $_[3];
my $force_move = 0;
warn "Move?: kimage=$kimage, image_dest=$image_dest, \n" .
"\timage_name=$image_name, src_dir=$src_dir" if $DEBUG;
@@ -448,24 +448,24 @@ sub move_p {
$force_move = 1;
warn "DEBUG: Old link ($old_target) does not point to us ($target)\n"
if $DEBUG;
}
}
else { # The .old points to the current
warn "$kimage.old --> $target -- doing nothing";
$force_move = 0;
}
}
else {
}
else {
warn "DEBUG: Well, the old link does not exist -- so we move\n"
if $DEBUG;
$force_move = 1;
}
}
}
else {
warn "DEBUG: No .old link -- OK to move\n"
if $DEBUG;
$force_move = 1;
}
}
}
else {
warn "DEBUG: ok, minimal swap is no-- so we move.\n"
if $DEBUG;
@@ -486,8 +486,8 @@ sub move_p {
sub really_move_link {
my $kimage = $_[0]; # Name of the symbolic link
my $image_dest = $_[1]; # The directory the links goes into
my $image_name = $_[2];
my $src_dir = $_[3];
my $image_name = $_[2];
my $src_dir = $_[3];
warn "really_move_link: kimage=$kimage, image_dest=$image_dest\n" .
"\t image_name=$image_name, src_dir=$src_dir" if $DEBUG;
@@ -512,15 +512,15 @@ sub really_move_link {
if (! link("${Old}${image_name}", "$kimage")) {
rename("$kimage.$$", "$kimage");
die("Failed to link ${Old}${image_name} to " .
"${image_dest}${kimage}.\n");
"${image_dest}${kimage}:$!");
}
}
}
else {
warn "ln -s ${Old}${image_name} $kimage" if $DEBUG;
if (! symlink("${Old}${image_name}", "$kimage")) {
rename("$kimage.$$", "$kimage");
die("Failed to symbolic-link ${Old}${image_name} to " .
"${image_dest}${kimage}: $!\n");
"${image_dest}${kimage}:$!");
}
}
@@ -544,8 +544,8 @@ sub really_move_link {
sub handle_missing_link {
my $kimage = $_[0]; # Name of the symbolic link
my $image_dest = $_[1]; # The directory the links goes into
my $image_name = $_[2];
my $src_dir = $_[3];
my $image_name = $_[2];
my $src_dir = $_[3];
warn "handle_missing_link: kimage=$kimage, image_dest=$image_dest\n" .
"\t image_name=$image_name, src_dir=$src_dir" if $DEBUG;
@@ -555,18 +555,18 @@ sub handle_missing_link {
"$image_name " . " $kimage");
if ($ret) {
die("Failed to copy " . $realimageloc . "$image_name to "
. $image_dest . "$kimage .\n");
. $image_dest . "$kimage");
}
}
}
elsif ($reverse_symlink) {
warn "mv -f $realimageloc$image_name $kimage" if $DEBUG;
my $ret = system("mv -f " . $realimageloc . "$image_name "
. "$kimage");
if ($ret) {
die("Failed to move " . $realimageloc . "$image_name to "
. $image_dest . "$kimage .\n");
. $image_dest . "$kimage");
}
}
}
else {
if (! $have_conffile) {
my $ret;
@@ -612,28 +612,28 @@ sub handle_missing_link {
$Old ="" if $rel_path =~ m/^\s*$/o;
symlink($Old . "$Name", "$Link_Dest") ||
die("Failed to symbolic-link ${Old}$Name to $Link_Dest: $!\n");
die("Failed to symbolic-link ${Old}$Name to $Link_Dest:$!");
warn "ln -s ${Old}$Name $Link_Dest" if $DEBUG;
}
}
# This routine handles the rest of the cases, where the user has requested
# This routine handles the rest of the cases, where the user has requested
# non-traditional handling, like using cp, or reverse symlinks, or hard links.
sub handle_non_symlinks {
my $kimage = $_[0]; # Name of the symbolic link
my $image_dest = $_[1]; # The directory the links goes into
my $image_name = $_[2];
my $src_dir = $_[3];
my $image_name = $_[2];
my $src_dir = $_[3];
warn "handle_non_link: kimage=$kimage, image_dest=$image_dest\n" .
"\t image_name=$image_name, src_dir=$src_dir" if $DEBUG;
# Save the current image. We do this in all four cases
rename("$kimage", "$kimage.$$") ||
rename("$kimage", "$kimage.$$") ||
die "failed to move " . $image_dest . "$kimage:$!";
warn "mv $kimage $kimage.$$" if $DEBUG;
##,####
##,####
# case One
#`####
if ($no_symlink) {
@@ -647,10 +647,10 @@ sub handle_non_symlinks {
warn "mv $kimage.$$ $kimage" if $DEBUG;
}
die("Failed to copy " . $realimageloc . "$image_name to "
. $image_dest . "$kimage .\n");
. $image_dest . "$kimage");
}
}
##,####
##,####
# case Two
#`####
elsif ($reverse_symlink) { # Maybe /$image_dest is on a dos system?
@@ -663,7 +663,7 @@ sub handle_non_symlinks {
warn "mv $kimage.$$ $kimage" if $DEBUG;
}
die("Failed to move " . $realimageloc . "$image_name to "
. $image_dest . "$kimage .\n");
. $image_dest . "$kimage");
}
my $Old = $image_dest;
if (test_relative ('Old Dir' => $Old, 'New Dir' => $realimageloc,
@@ -711,7 +711,7 @@ sub handle_non_symlinks {
warn "mv $kimage.$$ $kimage" if $DEBUG;
rename("$kimage.$$", "$kimage");
die("Failed to link " . $realimageloc . "$image_name to "
. $image_dest . "$kimage .\n");
. $image_dest . "$kimage");
}
}
##,####
@@ -728,7 +728,7 @@ sub handle_non_symlinks {
rename("$kimage.$$", "$kimage");
}
die("Failed to copy " . $realimageloc . "$image_name to "
. $image_dest . "$kimage .\n");
. $image_dest . "$kimage");
}
}
# Ok, now we may clobber the previous .old file
@@ -811,7 +811,7 @@ sub find_initrd_tool {
print STDERR "Finding valid ramdisk creators.\n";
my @ramdisks =
grep {
my $args =
my $args =
"$_ " .
"--supported-host-version=$hostversion " .
"--supported-target-version=$version " .
@@ -863,7 +863,7 @@ if ($initrd) {
}
else { # Not making an initrd emage
if (-l "initrd.img") {
# Ooh, last image was an initrd image? in any case, we should move it.
# Ooh, last image was an initrd image? in any case, we should move it.
my $target = readlink "initrd.img";
my $real_target = '';
$real_target = abs_path($target) if defined ($target);
@@ -900,7 +900,7 @@ if (! defined $ARGV[1] || ! $ARGV[1] || $ARGV[1] =~ m/<unknown>/og) {
}
else {
if (! -e "$kimage") {
handle_missing_link($kimage, $image_dest, "$kimage-$version",
handle_missing_link($kimage, $image_dest, "$kimage-$version",
$realimageloc);
}
else {
@@ -1092,3 +1092,4 @@ sub run_lilo (){
exit 0;
__END__

View File

@@ -1,7 +1,7 @@
#! /usr/bin/perl
# -*- Mode: Cperl -*-
# image.postrm ---
# Author : Manoj Srivastava ( srivasta@glaurung.green-gryphon.com )
# -*- Mode: Cperl -*-
# image.postrm ---
# Author : Manoj Srivastava ( srivasta@glaurung.green-gryphon.com )
# Created On : Sat May 15 11:05:13 1999
# Created On Node : glaurung.green-gryphon.com
# Last Modified By : Manoj Srivastava
@@ -9,14 +9,14 @@
# Last Machine Used: glaurung.internal.golden-gryphon.com
# Update Count : 57
# Status : Unknown, Use with caution!
# HISTORY :
# Description :
#
# HISTORY :
# Description :
#
# $Id: image.postrm,v 1.31 2003/10/07 16:24:20 srivasta Exp $
#
#
#
#use strict; #for debugging
use Cwd 'abs_path';
@@ -52,7 +52,7 @@ my $kernel_arch = "=B";
my $ramdisk = "/usr/sbin/update-initramfs";
my $package_name = "linux-image-$version";
my $Loader = "NoLOADER"; #
my $Loader = "NoLOADER"; #
$Loader = "LILO" if $loader =~ /^lilo/io;
$Loader = "SILO" if $loader =~ /^silo/io;
$Loader = "QUIK" if $loader =~ /^quik/io;
@@ -189,7 +189,7 @@ sub remove_sym_link {
my $bad_image = $_[0];
warn "Removing symbolic link $bad_image \n";
if ($loader =~ /lilo/i)
if ($loader =~ /lilo/i)
{
warn "Unless you used the optional flag in lilo, \n";
}
@@ -236,8 +236,8 @@ sub CanonicalizePath {
############
######################################################################
######################################################################
# This removes dangling symlinks. What do we do about hard links? Surely a
# something with the nane $image_dest . "$kimage" ought not to be left behind?
# This removes dangling symlinks. What do we do about hard links? Surely a
# something with the nane $image_dest . "$kimage" ought not to be left behind?
sub image_magic {
my $kimage = $_[0];
my $image_dest = $_[1];
@@ -353,3 +353,9 @@ if ($ARGV[0] !~ /upgrade/) {
exit 0;
__END__

View File

@@ -90,6 +90,15 @@ die "Pre inst Internal error. Aborting." unless $version;
exit 0 if $ARGV[0] =~ /abort-upgrade/;
exit 1 unless $ARGV[0] =~ /(install|upgrade)/;
$arch = `uname -i`;
if ($arch =~ m/86/) {
system ("grep -q ' pae ' /proc/cpuinfo");
if ($?) {
print STDERR "This kernel does not support a non-PAE CPU.\n";
exit 1;
}
}
# remove multiple leading slashes; make sure there is at least one.
$realimageloc =~ s|^/*|/|o;
$realimageloc =~ s|/+|/|o;
@@ -163,7 +172,7 @@ sub find_initrd_tool {
my $version = shift;
my @ramdisks =
grep {
my $args =
my $args =
"$_ " .
"--supported-host-version=$hostversion " .
"--supported-target-version=$version " .
@@ -302,3 +311,5 @@ print STDERR "Done.\n";
exit 0;
__END__

View File

@@ -1,7 +1,7 @@
#! /usr/bin/perl
# -*- Mode: Perl -*-
# image.prerm ---
# Author : root ( root@melkor.pilgrim.umass.edu )
# -*- Mode: Perl -*-
# image.prerm ---
# Author : root ( root@melkor.pilgrim.umass.edu )
# Created On : Fri May 17 03:28:59 1996
# Created On Node : melkor.pilgrim.umass.edu
# Last Modified By : Manoj Srivastava
@@ -9,13 +9,13 @@
# Last Machine Used: glaurung.internal.golden-gryphon.com
# Update Count : 85
# Status : Unknown, Use with caution!
# HISTORY :
# Description :
#
# HISTORY :
# Description :
#
#
# $Id: image.prerm,v 1.22 2003/10/07 16:24:20 srivasta Exp $
#
#
#
#use strict;
$|=1;
@@ -47,7 +47,7 @@ my $kernel_arch = "=B";
my $ramdisk = "/usr/sbin/update-initramfs";
my $package_name = "linux-image-$version";
my $Loader = "NoLOADER"; #
my $Loader = "NoLOADER"; #
$Loader = "LILO" if $loader =~ /^lilo/io;
$Loader = "SILO" if $loader =~ /^silo/io;
$Loader = "QUIK" if $loader =~ /^quik/io;
@@ -272,7 +272,7 @@ if (-x "$prerm_hook") {
}
if (-d "/etc/kernel/prerm.d") {
print STDERR "Examining /etc/kernel/prerm.d.\n";
system ("run-parts --verbose --exit-on-error --arg=$version " .
system ("run-parts --verbose --exit-on-error --arg=$version " .
"--arg=$realimageloc$kimage-$version /etc/kernel/prerm.d") &&
die "Failed to process /etc/kernel/prerm.d";
}
@@ -305,3 +305,8 @@ sub success () {
&success();
exit 0;
__END__

View File

@@ -22,7 +22,7 @@ order to continue to keep the minimal number of modules.
A module inclusion list is applied on a per-flavour basis. For example,
debian.<BRANCH>/control.d/${flavour}.inclusion-list. For example, the
config for virtual is very close to server and generic, but the inclusion list
causes the virtual package to be constructed with _only_ the modules described
causes the virtual package to be constructed with _only_ the modules described
in the inclusion list.
The inclusion list format is a simple bash regular expression list of files. For example,

14
debian/rules vendored
View File

@@ -29,8 +29,11 @@ include $(DROOT)/rules.d/0-common-vars.mk
# Maintainer targets
include $(DROOT)/rules.d/1-maintainer.mk
# Stages
# Stages -- support both DEB_STAGE=stage1 and DEB_BUILD_PROFILE=bootstrap
ifeq ($(DEB_STAGE),stage1)
DEB_BUILD_PROFILE=bootstrap
endif
ifeq ($(DEB_BUILD_PROFILE),bootstrap)
do_tools=false
do_doc_package=false
do_source_package=false
@@ -38,6 +41,12 @@ ifeq ($(DEB_STAGE),stage1)
do_flavour_header_package=false
endif
# autopkgtest -- rebuild support
# only build the first flavour on the assumption it is representative
ifeq ($(DEB_BUILD_PROFILE),autopkgtest)
flavours := $(firstword $(flavours))
endif
# Debian Build System targets
binary: binary-indep binary-arch
@@ -82,6 +91,7 @@ include $(DROOT)/rules.d/3-binary-indep.mk
include $(DROOT)/rules.d/4-checks.mk
# Misc stuff
.PHONY: $(DEBIAN)/control.stub
$(DEBIAN)/control.stub: $(DEBIAN)/d-i/kernel-versions.in \
$(DROOT)/scripts/control-create \
$(DEBIAN)/control.stub.in \
@@ -92,6 +102,7 @@ $(DEBIAN)/control.stub: $(DEBIAN)/d-i/kernel-versions.in \
cat $$i | sed -e 's/PKGVER/$(release)/g' \
-e 's/ABINUM/$(abinum)/g' \
-e 's/SRCPKGNAME/$(src_pkg_name)/g' \
-e 's/=HUMAN=/$(human_arch)/g' \
> $$new; \
done
flavours="$(wildcard $(DEBIAN)/control.d/vars.* $(DEBIAN)/sub-flavours/*.vars)";\
@@ -100,6 +111,7 @@ $(DEBIAN)/control.stub: $(DEBIAN)/d-i/kernel-versions.in \
sed -e 's/PKGVER/$(release)/g' \
-e 's/ABINUM/$(abinum)/g' \
-e 's/SRCPKGNAME/$(src_pkg_name)/g' \
-e 's/=HUMAN=/$(human_arch)/g' \
>> $(DEBIAN)/control.stub; \
done
cp $(DEBIAN)/control.stub $(DEBIAN)/control

View File

@@ -4,13 +4,14 @@
src_pkg_name=$(shell sed -n '1s/^\(.*\) (.*).*$$/\1/p' $(DEBIAN)/changelog)
# Get some version info
series := maverick
release := $(shell sed -n '1s/^$(src_pkg_name).*(\(.*\)-.*).*$$/\1/p' $(DEBIAN)/changelog)
revisions := $(shell sed -n 's/^$(src_pkg_name)\ .*($(release)-\(.*\)).*$$/\1/p' $(DEBIAN)/changelog | tac)
revision ?= $(word $(words $(revisions)),$(revisions))
prev_revisions := $(filter-out $(revision),0.0 $(revisions))
prev_revision := $(word $(words $(prev_revisions)),$(prev_revisions))
prev_fullver ?= $(shell dpkg-parsechangelog -l$(DEBIAN)/changelog -o1 -c1 | sed -ne 's/^Version: *//p')
family=ubuntu
# This is an internally used mechanism for the daily kernel builds. It
@@ -23,16 +24,6 @@ family=ubuntu
# or configs.
AUTOBUILD=
#
# This is a way to support some external variables. A good example is
# a local setup for ccache and distcc See LOCAL_ENV_CC and
# LOCAL_ENV_DISTCC_HOSTS in the definition of kmake.
# For example:
# LOCAL_ENV_CC="ccache distcc"
# LOCAL_ENV_DISTCC_HOSTS="localhost 10.0.2.5 10.0.2.221"
#
-include $(CURDIR)/../.$(series)-env
ifneq ($(AUTOBUILD),)
skipabi = true
skipmodule = true
@@ -51,7 +42,7 @@ ubuntu_log_opts += --print-shas
endif
# Get the kernels own extra version to be added to the release signature.
extraversion=$(shell awk '/EXTRAVERSION =/ { print $$3 }' <Makefile)
raw_kernelversion=$(shell make kernelversion)
#
# full_build -- are we doing a full buildd style build
@@ -79,17 +70,48 @@ ifneq ($(full_build),false)
uploadnum := $(uploadnum)-Ubuntu
endif
# We force the sublevel to be exactly what we want. The actual source may
# be an in development git tree. We want to force it here instead of
# committing changes to the top level Makefile
SUBLEVEL := $(shell echo $(release) | awk -F. '{print $$3}')
# XXX: linux-libc-dev got bumped to -803.N inadvertantly by a ti-omap4 upload
# shift our version higher for this package only. Ensure this only
# occurs for the v2.6.35 kernel so that we do not propogate this into
# any other series.
raw_uploadnum := $(shell echo $(revision) | sed -e 's/.*\.//')
libc_dev_version :=
ifeq ($(DEBIAN),debian.master)
ifeq ($(release),2.6.35)
libc_dev_version := -v$(release)-$(shell expr "$(abinum)" + 1000).$(raw_uploadnum)
endif
endif
DEB_HOST_MULTIARCH = $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
DEB_HOST_GNU_TYPE = $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE = $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_ARCH = $(shell dpkg-architecture -qDEB_HOST_ARCH)
DEB_BUILD_ARCH = $(shell dpkg-architecture -qDEB_BUILD_ARCH)
#
# Detect invocations of the form 'fakeroot debian/rules binary arch=armhf'
# within an x86'en schroot. This only gets you part of the way since the
# packaging phase fails, but you can at least compile the kernel quickly.
#
arch := $(DEB_HOST_ARCH)
ifneq ($(arch),$(DEB_HOST_ARCH))
CROSS_COMPILE ?= $(shell dpkg-architecture -a$(arch) -qDEB_HOST_GNU_TYPE -f 2>/dev/null)-
endif
#
# Detect invocations of the form 'dpkg-buildpackage -B -aarmhf' within
# an x86'en schroot. This is the only way to build all of the packages
# (except for tools).
#
ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
CROSS_COMPILE ?= $(DEB_HOST_GNU_TYPE)-
endif
arch := $(shell dpkg-architecture -qDEB_HOST_ARCH)
abidir := $(CURDIR)/$(DEBIAN)/abi/$(release)-$(revision)/$(arch)
prev_abidir := $(CURDIR)/$(DEBIAN)/abi/$(release)-$(prev_revision)/$(arch)
commonconfdir := $(CURDIR)/$(DEBIAN)/config
archconfdir := $(CURDIR)/$(DEBIAN)/config/$(arch)
sharedconfdir := $(CURDIR)/$(DEBIAN)/config
sharedconfdir := $(CURDIR)/debian.master/config
builddir := $(CURDIR)/debian/build
stampdir := $(CURDIR)/debian/stamps
@@ -99,7 +121,10 @@ stampdir := $(CURDIR)/debian/stamps
# assumption that the binary package always starts with linux-image will never change.
#
bin_pkg_name=linux-image-$(abi_release)
extra_pkg_name=linux-image-extra-$(abi_release)
hdrs_pkg_name=linux-headers-$(abi_release)
indep_hdrs_pkg_name=$(src_pkg_name)-headers-$(abi_release)
#
# The generation of content in the doc package depends on both 'AUTOBUILD=' and
# 'do_doc_package_content=true'. There are usually build errors during the development
@@ -134,9 +159,14 @@ do_full_source=false
# build tools
ifneq ($(wildcard $(CURDIR)/tools),)
do_tools?=true
ifeq ($(do_tools),)
ifneq ($(DEB_BUILD_GNU_TYPE),$(DEB_HOST_GNU_TYPE))
do_tools=false
endif
endif
do_tools?=true
else
do_tools?=false
do_tools?=false
endif
tools_pkg_name=$(src_pkg_name)-tools-$(abi_release)
tools_common_pkg_name=$(src_pkg_name)-tools-common
@@ -179,8 +209,22 @@ conc_level = -j$(CONCURRENCY_LEVEL)
# target_flavour is filled in for each step
kmake = make ARCH=$(build_arch) \
EXTRAVERSION=-$(abinum)-$(target_flavour) \
CONFIG_DEBUG_SECTION_MISMATCH=y SUBLEVEL=$(SUBLEVEL) \
CROSS_COMPILE=$(CROSS_COMPILE) \
KERNELVERSION=$(abi_release)-$(target_flavour) \
CONFIG_DEBUG_SECTION_MISMATCH=y \
KBUILD_BUILD_VERSION="$(uploadnum)" \
LOCALVERSION= localver-extra= \
CC=gcc-4.7
LOCALVERSION= localver-extra=
ifneq ($(LOCAL_ENV_CC),)
kmake += CC=$(LOCAL_ENV_CC) DISTCC_HOSTS=$(LOCAL_ENV_DISTCC_HOSTS)
endif
# Locking is required in parallel builds to prevent loss of contents
# of the debian/files.
lockme_file = $(CURDIR)/debian/.LOCK
lockme_cmd = flock -w 60
lockme = $(lockme_cmd) $(lockme_file)
# Checks if a var is overriden by the custom rules. Called with var and
# flavour as arguments.
custom_override = \
$(shell if [ -n "$($(1)_$(2))" ]; then echo "$($(1)_$(2))"; else echo "$($(1))"; fi)

View File

@@ -39,39 +39,14 @@ help:
printdebian:
@echo "$(DEBIAN)"
updateconfigs:
updateconfigs defaultconfigs editconfigs genconfigs dumpconfigs:
dh_testdir;
$(SHELL) $(DROOT)/scripts/misc/kernelconfig oldconfig
$(SHELL) $(DROOT)/scripts/misc/kernelconfig $@
rm -rf build
defaultconfigs:
updateportsconfigs defaultportsconfigs editportsconfigs genportsconfigs askconfigs:
dh_testdir;
yes "" | $(SHELL) $(DROOT)/scripts/misc/kernelconfig defaultconfig
rm -rf build
editconfigs:
dh_testdir
$(SHELL) $(DROOT)/scripts/misc/kernelconfig editconfig
rm -rf build
genconfigs:
dh_testdir
$(SHELL) $(DROOT)/scripts/misc/kernelconfig genconfig
rm -rf build
updateportsconfigs:
dh_testdir;
$(SHELL) $(DROOT)/scripts/misc/kernelconfig oldconfig ports
rm -rf build
editportsconfigs:
dh_testdir
$(SHELL) $(DROOT)/scripts/misc/kernelconfig editconfig ports
rm -rf build
genportsconfigs:
dh_testdir
$(SHELL) $(DROOT)/scripts/misc/kernelconfig genconfig ports
$(SHELL) $(DROOT)/scripts/misc/kernelconfig $@ ports
rm -rf build
printenv:
@@ -90,9 +65,6 @@ printenv:
@echo "skipmodule = $(skipmodule)"
@echo "skipdbg = $(skipdbg)"
@echo "ubuntu_log_opts = $(ubuntu_log_opts)"
ifneq ($(SUBLEVEL),)
@echo "SUBLEVEL = $(SUBLEVEL)"
endif
@echo "CONCURRENCY_LEVEL = $(CONCURRENCY_LEVEL)"
@echo "bin package name = $(bin_pkg_name)"
@echo "hdr package name = $(hdrs_pkg_name)"
@@ -108,15 +80,22 @@ endif
@echo "do_full_source = $(do_full_source)"
@echo "do_tools = $(do_tools)"
@echo "full_build = $(full_build)"
@echo "libc_dev_version = $(libc_dev_version)"
@echo "DEB_HOST_GNU_TYPE = $(DEB_HOST_GNU_TYPE)"
@echo "DEB_BUILD_GNU_TYPE = $(DEB_BUILD_GNU_TYPE)"
@echo "DEB_HOST_ARCH = $(DEB_HOST_ARCH)"
@echo "DEB_BUILD_ARCH = $(DEB_BUILD_ARCH)"
@echo "arch = $(arch)"
@echo "kmake = $(kmake)"
printchanges:
@baseCommit=$$(git log --pretty=format:'%H %s' | \
awk '/UBUNTU: '".*Ubuntu.*-$(release)-$(prev_revision)"'$$/ { print $$1; exit }'); \
awk '/UBUNTU: '".*Ubuntu-$(prev_fullver)"'$$/ { print $$1; exit }'); \
git log "$$baseCommit"..HEAD | \
perl -w -f $(DROOT)/scripts/misc/git-ubuntu-log $(ubuntu_log_opts)
insertchanges:
@perl -w -f $(DROOT)/scripts/misc/insert-changes.pl $(DROOT) $(DEBIAN)
@perl -w -f $(DROOT)/scripts/misc/insert-changes.pl $(DROOT) $(DEBIAN)
diffupstream:
@git diff-tree -p refs/remotes/linux-2.6/master..HEAD $(shell ls | grep -vE '^(ubuntu|$(DEBIAN)|\.git.*)')
@@ -137,3 +116,4 @@ startnewrelease:
$(DEBIAN)/changelog.new ; \
cat $(DEBIAN)/changelog >> $(DEBIAN)/changelog.new; \
mv $(DEBIAN)/changelog.new $(DEBIAN)/changelog

View File

@@ -10,89 +10,135 @@ build_cd =
build_O = O=$(builddir)/build-$*
endif
prepare-%: $(stampdir)/stamp-prepare-%
@# Empty for make to be happy
$(stampdir)/stamp-prepare-%: $(stampdir)/stamp-prepare-tree-% prepare-checks-%
$(stampdir)/stamp-prepare-%: config-prepare-check-%
@echo Debug: $@
@touch $@
$(stampdir)/stamp-prepare-tree-%: target_flavour = $*
$(stampdir)/stamp-prepare-tree-%: $(commonconfdir)/config.common.$(family) $(archconfdir)/config.common.$(arch) $(archconfdir)/config.flavour.%
@echo "Preparing $*..."
@echo Debug: $@
install -d $(builddir)/build-$*
touch $(builddir)/build-$*/ubuntu-build
[ "$(do_full_source)" != 'true' ] && true || \
rsync -a --exclude debian --exclude debian.master --exclude $(DEBIAN) * $(builddir)/build-$*
cat $^ | sed -e 's/.*CONFIG_VERSION_SIGNATURE.*/CONFIG_VERSION_SIGNATURE="Ubuntu $(release)-$(revision)-$* $(release)$(extraversion)"/' > $(builddir)/build-$*/.config
cat $^ | sed -e 's/.*CONFIG_VERSION_SIGNATURE.*/CONFIG_VERSION_SIGNATURE="Ubuntu $(release)-$(revision)-$* $(raw_kernelversion)"/' > $(builddir)/build-$*/.config
find $(builddir)/build-$* -name "*.ko" | xargs rm -f
$(build_cd) $(kmake) $(build_O) silentoldconfig prepare scripts
$(build_cd) $(kmake) $(build_O) -j1 silentoldconfig prepare scripts
touch $@
# Do the actual build, including image and modules
# Used by developers as a shortcut to prepare a tree for compilation.
prepare-%: $(stampdir)/stamp-prepare-%
@echo Debug: $@
# Used by developers to allow efficient pre-building without fakeroot.
build-%: $(stampdir)/stamp-build-%
@# Empty for make to be happy
@echo Debug: $@
# Do the actual build, including image and modules
$(stampdir)/stamp-build-%: target_flavour = $*
$(stampdir)/stamp-build-%: prepare-%
@echo "Building $*..."
$(build_cd) $(kmake) $(build_O) $(conc_level) $(build_image)
$(build_cd) $(kmake) $(build_O) $(conc_level) modules
$(stampdir)/stamp-build-%: bldimg = $(call custom_override,build_image,$*)
$(stampdir)/stamp-build-%: dtb_target = $(dtb_files_$*)
$(stampdir)/stamp-build-%: $(stampdir)/stamp-prepare-%
@echo Debug: $@ build_image $(build_image) bldimg $(bldimg)
$(build_cd) $(kmake) $(build_O) $(conc_level) $(bldimg) modules $(dtb_target)
@touch $@
# Install the finished build
install-%: pkgdir = $(CURDIR)/debian/$(bin_pkg_name)-$*
install-%: pkgdir_ex = $(CURDIR)/debian/$(extra_pkg_name)-$*
install-%: bindoc = $(pkgdir)/usr/share/doc/$(bin_pkg_name)-$*
install-%: dbgpkgdir = $(CURDIR)/debian/$(bin_pkg_name)-$*-dbgsym
install-%: signed = $(CURDIR)/debian/$(bin_pkg_name)-signed
install-%: basepkg = $(hdrs_pkg_name)
install-%: indeppkg = $(indep_hdrs_pkg_name)
install-%: kernfile = $(call custom_override,kernel_file,$*)
install-%: instfile = $(call custom_override,install_file,$*)
install-%: hdrdir = $(CURDIR)/debian/$(basepkg)-$*/usr/src/$(basepkg)-$*
install-%: target_flavour = $*
install-%: $(stampdir)/stamp-build-% checks-%
install-%: dtb_files = $(dtb_files_$*)
install-%: checks-%
@echo Debug: $@ kernel_file $(kernel_file) kernfile $(kernfile) install_file $(install_file) instfile $(instfile)
dh_testdir
dh_testroot
dh_prep -p$(bin_pkg_name)-$*
dh_prep -p$(hdrs_pkg_name)-$*
dh_prep -p$(dbg_pkg_name)-$*
dh_prep -p$(tools_pkg_name)-$*
dh_clean -k -p$(bin_pkg_name)-$*
dh_clean -k -p$(hdrs_pkg_name)-$*
ifneq ($(skipdbg),true)
dh_clean -k -p$(dbg_pkg_name)-$*
endif
# The main image
# compress_file logic required because not all architectures
# generate a zImage automatically out of the box
ifeq ($(compress_file),)
install -m644 -D $(builddir)/build-$*/$(kernel_file) \
$(pkgdir)/boot/$(install_file)-$(abi_release)-$*
install -m600 -D $(builddir)/build-$*/$(kernfile) \
$(pkgdir)/boot/$(instfile)-$(abi_release)-$*
else
install -d $(pkgdir)/boot
gzip -c9v $(builddir)/build-$*/$(kernel_file) > \
$(pkgdir)/boot/$(install_file)-$(abi_release)-$*
chmod 644 $(pkgdir)/boot/$(install_file)-$(abi_release)-$*
gzip -c9v $(builddir)/build-$*/$(kernfile) > \
$(pkgdir)/boot/$(instfile)-$(abi_release)-$*
chmod 600 $(pkgdir)/boot/$(instfile)-$(abi_release)-$*
endif
ifeq ($(arch),amd64)
ifeq ($(uefi_signed),true)
install -d $(signed)/$(release)-$(revision)
# Check to see if this supports handoff, if not do not sign it.
# Check the identification area magic and version >= 0x020b
handoff=`dd if="$(pkgdir)/boot/$(instfile)-$(abi_release)-$*" bs=1 skip=514 count=6 2>/dev/null | od -s | awk '($$1 == 0 && $$2 == 25672 && $$3 == 21362 && $$4 >= 523) { print "GOOD" }'`; \
if [ "$$handoff" = "GOOD" ]; then \
cp -p $(pkgdir)/boot/$(instfile)-$(abi_release)-$* \
$(signed)/$(release)-$(revision)/$(instfile)-$(abi_release)-$*.efi; \
fi
endif
endif
install -m644 $(builddir)/build-$*/.config \
$(pkgdir)/boot/config-$(abi_release)-$*
install -m644 $(abidir)/$* \
$(pkgdir)/boot/abi-$(abi_release)-$*
install -m644 $(builddir)/build-$*/System.map \
install -m600 $(builddir)/build-$*/System.map \
$(pkgdir)/boot/System.map-$(abi_release)-$*
if [ "$(dtb_files)" ]; then \
install -d $(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree; \
for dtb_file in $(dtb_files); do \
install -m644 $(builddir)/build-$*/arch/$(build_arch)/boot/dts/$$dtb_file \
$(pkgdir)/lib/firmware/$(abi_release)-$*/device-tree/$$dtb_file; \
done \
fi
ifeq ($(no_dumpfile),)
makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \
-x $(builddir)/build-$*/vmlinux
chmod 0600 $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$*
endif
$(build_cd) $(kmake) $(build_O) modules_install \
$(build_cd) $(kmake) $(build_O) $(conc_level) modules_install \
INSTALL_MOD_STRIP=1 INSTALL_MOD_PATH=$(pkgdir)/ \
INSTALL_FW_PATH=$(pkgdir)/lib/firmware/$(abi_release)-$*
ifeq ($(do_extras_package),true)
#
# Remove all modules not in the inclusion list.
#
if [ -f $(DEBIAN)/control.d/$(target_flavour).inclusion-list ] ; then \
$(DROOT)/scripts/module-inclusion $(pkgdir)/lib/modules/$(abi_release)-$*/kernel \
mkdir -p $(pkgdir_ex)/lib/modules/$(abi_release)-$*; \
mv $(pkgdir)/lib/modules/$(abi_release)-$*/kernel \
$(pkgdir_ex)/lib/modules/$(abi_release)-$*/kernel; \
$(SHELL) $(DROOT)/scripts/module-inclusion --master \
$(pkgdir_ex)/lib/modules/$(abi_release)-$*/kernel \
$(pkgdir)/lib/modules/$(abi_release)-$*/kernel \
$(DEBIAN)/control.d/$(target_flavour).inclusion-list 2>&1 | \
tee $(target_flavour).inclusion-list.log; \
/sbin/depmod -b $(pkgdir) -ea -F $(pkgdir)/boot/System.map-$(abi_release)-$* \
$(abi_release)-$* 2>&1 |tee $(target_flavour).depmod.log; \
if [ `grep -c 'unknown symbol' $(target_flavour).depmod.log` -gt 0 ]; then \
echo "EE: Unresolved module dependencies in base package!"; \
exit 1; \
fi \
fi
endif
ifeq ($(no_dumpfile),)
makedumpfile -g $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$* \
-x $(builddir)/build-$*/vmlinux
chmod 0600 $(pkgdir)/boot/vmcoreinfo-$(abi_release)-$*
endif
rm -f $(pkgdir)/lib/modules/$(abi_release)-$*/build
rm -f $(pkgdir)/lib/modules/$(abi_release)-$*/source
@@ -107,11 +153,23 @@ endif
# Now the image scripts
install -d $(pkgdir)/DEBIAN
for script in postinst postrm preinst prerm; do \
sed -e 's/=V/$(abi_release)-$*/g' -e 's/=K/$(install_file)/g' \
sed -e 's/=V/$(abi_release)-$*/g' -e 's/=K/$(instfile)/g' \
-e 's/=L/$(loader)/g' -e 's@=B@$(build_arch)@g' \
$(DROOT)/control-scripts/$$script > $(pkgdir)/DEBIAN/$$script; \
chmod 755 $(pkgdir)/DEBIAN/$$script; \
done
ifeq ($(do_extras_package),true)
# Install the postinit/postrm scripts in the extras package.
if [ -f $(DEBIAN)/control.d/$(target_flavour).inclusion-list ] ; then \
install -d $(pkgdir_ex)/DEBIAN; \
for script in postinst postrm ; do \
sed -e 's/=V/$(abi_release)-$*/g' -e 's/=K/$(instfile)/g' \
-e 's/=L/$(loader)/g' -e 's@=B@$(build_arch)@g' \
debian/control-scripts/$$script > $(pkgdir_ex)/DEBIAN/$$script; \
chmod 755 $(pkgdir_ex)/DEBIAN/$$script; \
done; \
fi
endif
# Install the full changelog.
ifeq ($(do_doc_package),true)
@@ -131,7 +189,7 @@ ifneq ($(skipsub),true)
install -d debian/$(bin_pkg_name)-$$sub/DEBIAN; \
for script in postinst postrm preinst prerm; do \
sed -e 's/=V/$(abi_release)-$*/g' \
-e 's/=K/$(install_file)/g' \
-e 's/=K/$(instfile)/g' \
-e 's/=L/$(loader)/g' \
-e 's@=B@$(build_arch)@g' \
$(DROOT)/control-scripts/$$script > \
@@ -147,6 +205,15 @@ ifneq ($(skipdbg),true)
$(dbgpkgdir)/usr/lib/debug/boot/vmlinux-$(abi_release)-$*
$(build_cd) $(kmake) $(build_O) modules_install \
INSTALL_MOD_PATH=$(dbgpkgdir)/usr/lib/debug
# Add .gnu_debuglink sections to each stripped .ko
# pointing to unstripped verson
find $(pkgdir) -name '*.ko' | sed 's|$(pkgdir)||'| while read module ; do \
if [[ -f "$(dbgpkgdir)/usr/lib/debug/$$module" ]] ; then \
$(CROSS_COMPILE)objcopy \
--add-gnu-debuglink=$(dbgpkgdir)/usr/lib/debug/$$module \
$(pkgdir)/$$module; \
fi; \
done
rm -f $(dbgpkgdir)/usr/lib/debug/lib/modules/$(abi_release)-$*/build
rm -f $(dbgpkgdir)/usr/lib/debug/lib/modules/$(abi_release)-$*/source
rm -f $(dbgpkgdir)/usr/lib/debug/lib/modules/$(abi_release)-$*/modules.*
@@ -160,20 +227,20 @@ endif
sed -e 's/.*CONFIG_DEBUG_INFO=.*/# CONFIG_DEBUG_INFO is not set/g' > \
$(hdrdir)/.config
chmod 644 $(hdrdir)/.config
$(kmake) O=$(hdrdir) silentoldconfig prepare scripts
$(kmake) O=$(hdrdir) -j1 silentoldconfig prepare scripts
# We'll symlink this stuff
rm -f $(hdrdir)/Makefile
rm -rf $(hdrdir)/include2
rm -rf $(hdrdir)/include2 $(hdrdir)/source
# Copy over the compilation version.
cp "$(builddir)/build-$*/include/generated/compile.h" \
"$(hdrdir)/include/generated/compile.h"
# powerpc seems to need some .o files for external module linking. Add them in.
ifeq ($(arch),powerpc)
mkdir -p $(hdrdir)/arch/powerpc/lib
cp $(builddir)/build-$*/arch/powerpc/lib/*.o $(hdrdir)/arch/powerpc/lib
endif
# Script to symlink everything up
$(SHELL) $(DROOT)/scripts/link-headers "$(hdrdir)" "$(basepkg)" "$*"
# Setup the proper asm symlink
rm -f $(hdrdir)/include/asm
ln -s asm-$(asm_link) $(hdrdir)/include/asm
$(SHELL) $(DROOT)/scripts/link-headers "$(hdrdir)" "$(indeppkg)" "$*"
# The build symlink
install -d debian/$(basepkg)-$*/lib/modules/$(abi_release)-$*
ln -s /usr/src/$(basepkg)-$* \
@@ -185,7 +252,7 @@ endif
# Now the header scripts
install -d $(CURDIR)/debian/$(basepkg)-$*/DEBIAN
for script in postinst; do \
sed -e 's/=V/$(abi_release)-$*/g' -e 's/=K/$(install_file)/g' \
sed -e 's/=V/$(abi_release)-$*/g' -e 's/=K/$(instfile)/g' \
$(DROOT)/control-scripts/headers-$$script > \
$(CURDIR)/debian/$(basepkg)-$*/DEBIAN/$$script; \
chmod 755 $(CURDIR)/debian/$(basepkg)-$*/DEBIAN/$$script; \
@@ -197,12 +264,12 @@ endif
PREV_REVISION="$(prev_revision)" ABI_NUM="$(abinum)" \
PREV_ABI_NUM="$(prev_abinum)" BUILD_DIR="$(builddir)/build-$*" \
INSTALL_DIR="$(pkgdir)" SOURCE_DIR="$(CURDIR)" \
run-parts -v $(DROOT)/tests
run-parts -v $(DROOT)/tests-build
#
# Remove files which are generated at installation by postinst,
# except for modules.order and modules.builtin
#
#
# NOTE: need to keep this list in sync with postrm
#
mkdir $(pkgdir)/lib/modules/$(abi_release)-$*/_
@@ -220,14 +287,15 @@ endif
headers_tmp := $(CURDIR)/debian/tmp-headers
headers_dir := $(CURDIR)/debian/linux-libc-dev
hmake := $(MAKE) -C $(CURDIR) O=$(headers_tmp) SUBLEVEL=$(SUBLEVEL) \
EXTRAVERSION=-$(abinum) INSTALL_HDR_PATH=$(headers_tmp)/install \
hmake := $(MAKE) -C $(CURDIR) O=$(headers_tmp) \
KERNELVERSION=$(abi_release) INSTALL_HDR_PATH=$(headers_tmp)/install \
SHELL="$(SHELL)" ARCH=$(header_arch)
install-arch-headers:
@echo Debug: $@
dh_testdir
dh_testroot
dh_prep -plinux-libc-dev
dh_clean -k -plinux-libc-dev
rm -rf $(headers_tmp)
install -d $(headers_tmp) $(headers_dir)/usr/include/
@@ -244,47 +312,72 @@ install-arch-headers:
find . -name '.' -o -name '.*' -prune -o -print | \
cpio -pvd --preserve-modification-time \
$(headers_dir)/usr/include/ )
mkdir $(headers_dir)/usr/include/$(DEB_HOST_MULTIARCH)
mv $(headers_dir)/usr/include/asm $(headers_dir)/usr/include/$(DEB_HOST_MULTIARCH)/
rm -rf $(headers_tmp)
binary-arch-headers: install-arch-headers
@echo Debug: $@
dh_testdir
dh_testroot
ifeq ($(do_libc_dev_package),true)
ifneq ($(DEBIAN),debian.master)
echo "non-master branch building linux-libc-dev, aborting"
exit 1
endif
dh_installchangelogs -plinux-libc-dev
dh_installdocs -plinux-libc-dev
dh_compress -plinux-libc-dev
dh_fixperms -plinux-libc-dev
dh_installdeb -plinux-libc-dev
dh_gencontrol -plinux-libc-dev
$(lockme) dh_gencontrol -plinux-libc-dev -- $(libc_dev_version)
dh_md5sums -plinux-libc-dev
dh_builddeb -plinux-libc-dev
endif
binary-%: pkgimg = $(bin_pkg_name)-$*
binary-%: pkgimg_ex = $(extra_pkg_name)-$*
binary-%: pkghdr = $(hdrs_pkg_name)-$*
binary-%: dbgpkg = $(bin_pkg_name)-$*-dbgsym
binary-%: dbgpkgdir = $(CURDIR)/debian/$(bin_pkg_name)-$*-dbgsym
binary-%: target_flavour = $*
binary-%: install-%
@echo Debug: $@
dh_testdir
dh_testroot
dh_installchangelogs -p$(pkgimg)
dh_installdocs -p$(pkgimg)
dh_compress -p$(pkgimg)
dh_fixperms -p$(pkgimg)
dh_fixperms -p$(pkgimg) -X/boot/
dh_installdeb -p$(pkgimg)
dh_shlibdeps -p$(pkgimg)
dh_gencontrol -p$(pkgimg)
$(lockme) dh_gencontrol -p$(pkgimg)
dh_md5sums -p$(pkgimg)
dh_builddeb -p$(pkgimg) -- -Zbzip2 -z9
ifeq ($(do_extras_package),true)
if [ -f $(DEBIAN)/control.d/$(target_flavour).inclusion-list ] ; then \
dh_installchangelogs -p$(pkgimg_ex); \
dh_installdocs -p$(pkgimg_ex); \
dh_compress -p$(pkgimg_ex); \
dh_fixperms -p$(pkgimg_ex) -X/boot/; \
dh_installdeb -p$(pkgimg_ex); \
dh_shlibdeps -p$(pkgimg_ex); \
$(lockme) dh_gencontrol -p$(pkgimg_ex); \
dh_md5sums -p$(pkgimg_ex); \
dh_builddeb -p$(pkgimg_ex) -- -Zbzip2 -z9; \
fi
endif
dh_installchangelogs -p$(pkghdr)
dh_installdocs -p$(pkghdr)
dh_compress -p$(pkghdr)
dh_fixperms -p$(pkghdr)
dh_shlibdeps -p$(pkghdr)
dh_installdeb -p$(pkghdr)
dh_gencontrol -p$(pkghdr)
$(lockme) dh_gencontrol -p$(pkghdr)
dh_md5sums -p$(pkghdr)
dh_builddeb -p$(pkghdr)
@@ -294,10 +387,10 @@ ifneq ($(skipsub),true)
dh_installchangelogs -p$$pkg; \
dh_installdocs -p$$pkg; \
dh_compress -p$$pkg; \
dh_fixperms -p$$pkg; \
dh_fixperms -p$$pkg -X/boot/; \
dh_shlibdeps -p$$pkg; \
dh_installdeb -p$$pkg; \
dh_gencontrol -p$$pkg; \
$(lockme) dh_gencontrol -p$$pkg; \
dh_md5sums -p$$pkg; \
dh_builddeb -p$$pkg; \
done
@@ -309,7 +402,7 @@ ifneq ($(skipdbg),true)
dh_compress -p$(dbgpkg)
dh_fixperms -p$(dbgpkg)
dh_installdeb -p$(dbgpkg)
dh_gencontrol -p$(dbgpkg)
$(lockme) dh_gencontrol -p$(dbgpkg)
dh_md5sums -p$(dbgpkg)
dh_builddeb -p$(dbgpkg)
@@ -322,74 +415,123 @@ ifneq ($(skipdbg),true)
mv ../$(dbgpkg)_$(release)-$(revision)_$(arch).deb \
../$(dbgpkg)_$(release)-$(revision)_$(arch).ddeb
set -e; \
if grep -qs '^Build-Debug-Symbols: yes$$' /CurrentlyBuilding; then \
sed -i '/^$(dbgpkg)_/s/\.deb /.ddeb /' debian/files; \
else \
grep -v '^$(dbgpkg)_.*$$' debian/files > debian/files.new; \
mv debian/files.new debian/files; \
fi
( \
$(lockme_cmd) 9 || exit 1; \
if grep -qs '^Build-Debug-Symbols: yes$$' /CurrentlyBuilding; then \
sed -i '/^$(dbgpkg)_/s/\.deb /.ddeb /' debian/files; \
else \
grep -v '^$(dbgpkg)_.*$$' debian/files > debian/files.new; \
mv debian/files.new debian/files; \
fi; \
) 9>$(lockme_file)
# Now, the package wont get into the archive, but it will get put
# into the debug system.
endif
$(stampdir)/stamp-flavours:
@echo $(flavours) > $@
ifneq ($(full_build),false)
# Clean out this flavours build directory.
rm -rf $(builddir)/build-$*
# Clean out the debugging package source directory.
rm -rf $(dbgpkgdir)
endif
#
# per-architecture packages
#
builddirpa = $(builddir)/tools-perarch
$(stampdir)/stamp-prepare-perarch:
@echo "Preparing perarch ..."
@echo Debug: $@
ifeq ($(do_tools),true)
install -d $(builddir)/tools-$*
for i in *; do ln -sf $(CURDIR)/$$i $(builddir)/tools-$*/; done
rm $(builddir)/tools-$*/tools
rsync -a tools/ $(builddir)/tools-$*/tools/
rm -rf $(builddirpa)
install -d $(builddirpa)
for i in *; do ln -s $(CURDIR)/$$i $(builddirpa); done
rm $(builddirpa)/tools
rsync -a tools/ $(builddirpa)/tools/
endif
touch $@
$(stampdir)/stamp-build-perarch: prepare-perarch
$(stampdir)/stamp-build-perarch: $(stampdir)/stamp-prepare-perarch
@echo Debug: $@
ifeq ($(do_tools),true)
cd $(builddir)/tools-$*/tools/perf && make
ifeq ($(do_tools_perf),true)
cd $(builddirpa)/tools/perf && \
make HAVE_CPLUS_DEMANGLE=1 CROSS_COMPILE=$(CROSS_COMPILE) NO_LIBPYTHON=1 NO_LIBPERL=1 PYTHON=python2.7
endif
if [ "$(arch)" = "amd64" ] || [ "$(arch)" = "i386" ]; then \
cd $(builddirpa)/tools/power/x86/x86_energy_perf_policy && make CROSS_COMPILE=$(CROSS_COMPILE); \
cd $(builddirpa)/tools/power/x86/turbostat && make CROSS_COMPILE=$(CROSS_COMPILE); \
if [ "$(do_hyperv)" = "true" ]; then \
cd $(builddirpa)/tools/hv && make CROSS_COMPILE=$(CROSS_COMPILE); \
fi; \
fi
endif
@touch $@
install-perarch: toolspkgdir = $(CURDIR)/debian/$(tools_pkg_name)
install-perarch: $(stampdir)/stamp-build-perarch
@echo Debug: $@
# Add the tools.
ifeq ($(do_tools),true)
install -d $(toolspkgdir)/usr/bin
install -m755 $(builddir)/tools-$*/tools/perf/perf \
ifeq ($(do_tools_perf),true)
install -s -m755 $(builddirpa)/tools/perf/perf \
$(toolspkgdir)/usr/bin/perf_$(abi_release)
endif
if [ "$(arch)" = "amd64" ] || [ "$(arch)" = "i386" ]; then \
install -s -m755 $(builddirpa)/tools/power/x86/x86_energy_perf_policy/x86_energy_perf_policy \
$(toolspkgdir)/usr/bin/x86_energy_perf_policy_$(abi_release); \
install -s -m755 $(builddirpa)/tools/power/x86/turbostat/turbostat \
$(toolspkgdir)/usr/bin/turbostat_$(abi_release); \
if [ "$(do_hyperv)" = "true" ]; then \
install -d $(toolspkgdir)/usr/sbin; \
install -s -m755 $(builddirpa)/tools/hv/hv_kvp_daemon \
$(toolspkgdir)/usr/sbin/hv_kvp_daemon_$(abi_release); \
fi; \
fi
endif
binary-perarch: toolspkg = $(tools_pkg_name)
binary-perarch: install-perarch
@# Empty for make to be happy
@echo Debug: $@
ifeq ($(do_tools),true)
dh_installchangelogs -p$(toolspkg)
dh_installdocs -p$(toolspkg)
dh_compress -p$(toolspkg)
dh_fixperms -p$(toolspkg)
dh_strip -p$(toolspkg)
dh_shlibdeps -p$(toolspkg)
dh_installdeb -p$(toolspkg)
dh_gencontrol -p$(toolspkg)
$(lockme) dh_gencontrol -p$(toolspkg)
dh_md5sums -p$(toolspkg)
dh_builddeb -p$(toolspkg)
endif
binary-debs: binary-perarch $(stampdir)/stamp-flavours $(addprefix binary-,$(flavours))
binary-debs: signed = $(CURDIR)/debian/$(bin_pkg_name)-signed
binary-debs: signedv = $(CURDIR)/debian/$(bin_pkg_name)-signed/$(release)-$(revision)
binary-debs: signed_tar = $(src_pkg_name)_$(release)-$(revision)_$(arch).tar.gz
binary-debs: binary-perarch $(addprefix binary-,$(flavours))
@echo Debug: $@
ifeq ($(arch),amd64)
ifeq ($(uefi_signed),true)
echo $(release)-$(revision) > $(signedv)/version
cd $(signedv) && ls *.efi >flavours
cd $(signed) && tar czvf ../../../$(signed_tar) .
dpkg-distaddfile $(signed_tar) raw-uefi -
endif
endif
build-arch-deps-$(do_flavour_image_package) += $(addprefix build-,$(flavours))
build-arch-deps-$(do_flavour_image_package) += $(addprefix $(stampdir)/stamp-build-,$(flavours))
build-arch: $(build-arch-deps-true)
@echo Debug: $@
binary-arch-deps-$(do_flavour_image_package) = binary-debs
ifeq ($(AUTOBUILD),)
binary-arch-deps-$(do_flavour_image_package) += binary-udebs
else
binary-arch-deps-$(do_flavour_image_package) = binary-debs
endif
binary-arch-deps-$(do_libc_dev_package) += binary-arch-headers
ifneq ($(do_common_headers_indep),true)
binary-arch-deps-$(do_flavour_header_package) += binary-headers
endif
binary-arch: $(binary-arch-deps-true)
@echo Debug: $@

View File

@@ -1,11 +1,40 @@
build-indep:
@echo Debug: $@
# The binary-indep dependency chain is:
#
# install-headers <- install-doc <- install-source <- install-tools <- install-indep <- binary-indep
# install-headers <- binary-headers
#
indep_hdrpkg = $(indep_hdrs_pkg_name)
indep_hdrdir = $(CURDIR)/debian/$(indep_hdrpkg)/usr/src/$(indep_hdrpkg)
install-headers:
@echo Debug: $@
dh_testdir
dh_testroot
dh_prep
ifeq ($(do_flavour_header_package),true)
install -d $(indep_hdrdir)
find . -path './debian' -prune -o -path './$(DEBIAN)' -prune \
-o -path './include/*' -prune \
-o -path './scripts/*' -prune -o -type f \
\( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Kbuild*' -o \
-name '*.sh' -o -name '*.pl' -o -name '*.lds' \) \
-print | cpio -pd --preserve-modification-time $(indep_hdrdir)
cp -a scripts include $(indep_hdrdir)
(find arch -name include -type d -print | \
xargs -n1 -i: find : -type f) | \
cpio -pd --preserve-modification-time $(indep_hdrdir)
endif
docpkg = $(doc_pkg_name)
docdir = $(CURDIR)/debian/$(docpkg)/usr/share/doc/$(docpkg)
install-doc:
install-doc: install-headers
@echo Debug: $@
ifeq ($(do_doc_package),true)
dh_testdir
dh_testroot
dh_prep -p$(docpkg)
install -d $(docdir)
ifeq ($(do_doc_package_content),true)
@@ -22,36 +51,14 @@ endif
cp -a Documentation/* $(docdir)
rm -rf $(docdir)/DocBook
find $(docdir) -name .gitignore | xargs rm -f
indep_hdrpkg = $(hdrs_pkg_name)
indep_hdrdir = $(CURDIR)/debian/$(indep_hdrpkg)/usr/src/$(indep_hdrpkg)
install-headers:
dh_testdir
dh_testroot
dh_prep -p$(indep_hdrpkg)
install -d $(indep_hdrdir)
find . -path './debian' -prune -o -path './$(DEBIAN)' -prune \
-o -path './include/*' -prune \
-o -path './scripts/*' -prune -o -type f \
\( -name 'Makefile*' -o -name 'Kconfig*' -o -name 'Kbuild*' -o \
-name '*.sh' -o -name '*.pl' -o -name '*.lds' \) \
-print | cpio -pd --preserve-modification-time $(indep_hdrdir)
cp -a drivers/media/dvb/dvb-core/*.h $(indep_hdrdir)/drivers/media/dvb/dvb-core
cp -a drivers/media/video/*.h $(indep_hdrdir)/drivers/media/video
cp -a drivers/media/dvb/frontends/*.h $(indep_hdrdir)/drivers/media/dvb/frontends
cp -a scripts include $(indep_hdrdir)
(find arch -name include -type d -print | \
xargs -n1 -i: find : -type f) | \
cpio -pd --preserve-modification-time $(indep_hdrdir)
endif
srcpkg = $(src_pkg_name)-source-$(release)
srcdir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg)
balldir = $(CURDIR)/debian/$(srcpkg)/usr/src/$(srcpkg)/$(srcpkg)
install-source:
dh_testdir
dh_testroot
dh_prep -p$(srcpkg)
install-source: install-doc
@echo Debug: $@
ifeq ($(do_source_package),true)
install -d $(srcdir)
ifeq ($(do_source_package_content),true)
@@ -72,60 +79,76 @@ ifeq ($(do_source_package_content),true)
cpio -pd --preserve-modification-time $(srcdir)
ln -s $(srcpkg)/$(srcpkg).tar.bz2 $(srcdir)/..
endif
endif
install-tools: toolspkg = $(tools_common_pkg_name)
install-tools: toolsbin = $(CURDIR)/debian/$(toolspkg)/usr/bin
install-tools: toolssbin = $(CURDIR)/debian/$(toolspkg)/usr/sbin
install-tools: toolsman = $(CURDIR)/debian/$(toolspkg)/usr/share/man
install-tools:
dh_testdir
dh_testroot
dh_prep -p$(toolspkg)
install-tools: install-source $(stampdir)/stamp-build-perarch
@echo Debug: $@
ifeq ($(do_tools),true)
install -d $(toolsbin)
install -d $(toolsman)/man1
ifeq ($(do_tools_perf),true)
install -m755 debian/tools/perf $(toolsbin)/perf
endif
if [ "$(arch)" = "amd64" ] || [ "$(arch)" = "i386" ]; then \
install -m755 debian/tools/x86_energy_perf_policy $(toolsbin)/x86_energy_perf_policy; \
install -m755 debian/tools/turbostat $(toolsbin)/turbostat; \
if [ "$(do_hyperv)" = "true" ]; then \
install -d $(toolssbin) ; \
install -m755 debian/tools/generic $(toolssbin)/hv_kvp_daemon; \
fi; \
fi
rm -rf $(builddir)/tools
install -d $(builddir)/tools
for i in *; do ln -sf $(CURDIR)/$$i $(builddir)/tools/; done
for i in *; do ln -s $(CURDIR)/$$i $(builddir)/tools/; done
rm $(builddir)/tools/tools
rsync -a tools/ $(builddir)/tools/tools/
ifeq ($(do_tools_perf),true)
cd $(builddir)/tools/tools/perf && make man
install -m644 $(builddir)/tools/tools/perf/Documentation/*.1 \
$(toolsman)/man1
ifeq ($(do_common_headers_indep),true)
install-indep-deps-$(do_flavour_header_package) += install-headers
endif
install-indep-deps-$(do_doc_package) += install-doc
install-indep-deps-$(do_source_package) += install-source
install-indep-deps-$(do_tools) += install-tools
install-indep: $(install-indep-deps-true)
if [ "$(arch)" = "amd64" ] || [ "$(arch)" = "i386" ]; then \
install -d $(toolsman)/man8; \
install -m644 $(CURDIR)/tools/power/x86/x86_energy_perf_policy/*.8 $(toolsman)/man8; \
install -m644 $(CURDIR)/tools/power/x86/turbostat/*.8 $(toolsman)/man8; \
if [ "$(do_hyperv)" = "true" ]; then \
install -m644 $(CURDIR)/tools/hv/*.8 $(toolsman)/man8; \
fi; \
fi
endif
install-indep: install-tools
@echo Debug: $@
# This is just to make it easy to call manually. Normally done in
# binary-indep target during builds.
binary-headers: install-headers
dh_testdir
dh_testroot
@echo Debug: $@
dh_installchangelogs -p$(indep_hdrpkg)
dh_installdocs -p$(indep_hdrpkg)
dh_compress -p$(indep_hdrpkg)
dh_fixperms -p$(indep_hdrpkg)
dh_installdeb -p$(indep_hdrpkg)
dh_gencontrol -p$(indep_hdrpkg)
$(lockme) dh_gencontrol -p$(indep_hdrpkg)
dh_md5sums -p$(indep_hdrpkg)
dh_builddeb -p$(indep_hdrpkg)
binary-indep: install-indep
dh_testdir
dh_testroot
@echo Debug: $@
dh_installchangelogs -i
dh_installdocs -i
dh_compress -i
dh_fixperms -i
dh_installdeb -i
dh_gencontrol -i
$(lockme) dh_gencontrol -i
dh_md5sums -i
dh_builddeb -i

View File

@@ -1,34 +1,27 @@
# Check ABI for package against last release (if not same abinum)
abi-%: $(abidir)/%
@# Empty for make to be happy
$(abidir)/%: $(stampdir)/stamp-build-%
abi-check-%: $(stampdir)/stamp-build-%
@echo Debug: $@
install -d $(abidir)
sed -e 's/^\(.\+\)[[:space:]]\+\(.\+\)[[:space:]]\(.\+\)$$/\3 \2 \1/' \
$(builddir)/build-$*/Module.symvers | sort > $@
abi-check-%: $(abidir)/%
$(builddir)/build-$*/Module.symvers | sort > $(abidir)/$*
@perl -f $(DROOT)/scripts/abi-check "$*" "$(prev_abinum)" "$(abinum)" \
"$(prev_abidir)" "$(abidir)" "$(skipabi)"
# Check the module list against the last release (always)
module-%: $(abidir)/%.modules
@# Empty for make to be happy
$(abidir)/%.modules: $(stampdir)/stamp-build-%
module-check-%: $(stampdir)/stamp-build-%
@echo Debug: $@
install -d $(abidir)
find $(builddir)/build-$*/ -name \*.ko | \
sed -e 's/.*\/\([^\/]*\)\.ko/\1/' | sort > $@
module-check-%: $(abidir)/%.modules
sed -e 's/.*\/\([^\/]*\)\.ko/\1/' | sort > $(abidir)/$*.modules
@perl -f $(DROOT)/scripts/module-check "$*" \
"$(prev_abidir)" "$(abidir)" $(skipmodule)
checks-%: abi-check-% module-check-%
@# Will be calling more stuff later
checks-%: module-check-% abi-check-%
@echo Debug: $@
# Check the config against the known options list.
config-prepare-check-%: $(stampdir)/stamp-prepare-tree-%
@echo Debug: $@
@perl -f $(DROOT)/scripts/config-check \
$(builddir)/build-$*/.config "$(arch)" "$*" "$(sharedconfdir)" "$(skipconfig)"
prepare-checks-%: config-prepare-check-%
@# Will be calling more stuff later

View File

@@ -1,11 +1,13 @@
# Do udebs if not disabled in the arch-specific makefile
binary-udebs: binary-debs debian/control
binary-udebs: binary-debs
@echo Debug: $@
ifeq ($(disable_d_i),)
@$(MAKE) --no-print-directory -f $(DROOT)/rules DEBIAN=$(DEBIAN) \
do-binary-udebs
endif
do-binary-udebs:
do-binary-udebs: debian/control
@echo Debug: $@
dh_testdir
dh_testroot
@@ -16,6 +18,10 @@ do-binary-udebs:
for i in $$imagelist; do \
dpkg -x $$(ls ../linux-image-$$i\_$(release)-$(revision)_${arch}.deb) \
debian/d-i-${arch}; \
if [ -f ../linux-image-extra-$$i\_$(release)-$(revision)_${arch}.deb ] ; then \
dpkg -x ../linux-image-extra-$$i\_$(release)-$(revision)_${arch}.deb \
debian/d-i-${arch}; \
fi; \
/sbin/depmod -b debian/d-i-${arch} $$i; \
done
@@ -26,13 +32,13 @@ do-binary-udebs:
export SOURCEDIR=$(CURDIR)/debian/d-i-${arch} && \
cd $(builddir) && \
kernel-wedge install-files && \
kernel-wedge check || true
kernel-wedge check
# Build just the udebs
dilist=$$(dh_listpackages -s | grep "\-di$$") && \
[ -z "$dilist" ] || \
for i in $$dilist; do \
dh_fixperms -p$$i; \
dh_gencontrol -p$$i; \
$(lockme) dh_gencontrol -p$$i; \
dh_builddeb -p$$i; \
done

View File

@@ -32,7 +32,7 @@ sub pred_first {
my $off;
my $char;
my $pred;
for ($off = 0; $off <= length($rest); $off++) {
$char = substr($rest, $off, 1);
if ($char eq '(') {
@@ -59,19 +59,26 @@ sub pred_first {
#print "pred<$pred> rest<$rest> char<$char>\n";
($pred, $rest, $char);
}
sub pred_do {
my ($pred) = @_;
my (@a) = split(' ', $pred);
my $possible;
if ($a[0] eq 'arch') {
die "$P: $pred: malformed -- $pred <arch>\n" if ($#a != 1);
#print " *** ARCH<$arch ?? $a[1]>\n";
return ($arch eq $a[1])
die "$P: $pred: malformed -- $pred <arch>\n" if ($#a < 1);
for $possible (@a[1..$#a]) {
#print " *** ARCH<$flavour ?? $possible>\n";
return 1 if ($arch eq $possible);
}
return 0;
} elsif ($a[0] eq 'flavour') {
die "$P: $pred: malformed -- $pred <flavour>\n" if ($#a != 1);
#print " *** FLAVOUR<$flavour ?? $a[1]>\n";
return ($flavour eq $a[1])
die "$P: $pred: malformed -- $pred <flavour>\n" if ($#a < 1);
for $possible (@a[1..$#a]) {
#print " *** FLAVOUR<$flavour ?? $possible>\n";
return 1 if ($flavour eq $possible);
}
return 0;
} elsif ($a[0] eq 'value') {
die "$P: $pred: malformed -- $pred <name> <val>\n" if ($#a != 2);
#print " *** CHECK<$a[1] $a[2] ?? " . $values{$a[1]} . ">\n";
@@ -87,6 +94,7 @@ sub pred_do {
sub pred_exec {
my ($rest) = @_;
my $pred;
my $cut = 0;
my $res;
my $sep;
@@ -97,12 +105,19 @@ sub pred_exec {
# Leading ! implies inversion.
if ($pred =~ /^\s*!\s*(.*)$/) {
#print " invert<$1>\n";
$res = !pred_exec($1);
($cut, $res) = pred_exec($1);
$res = !$res;
# Leading / implies a CUT operation.
} elsif ($pred =~ /^\s*\/\s*(.*)$/) {
#print " cut<$1>\n";
($cut, $res) = pred_exec($1);
$cut = 1;
# Recurse left for complex expressions.
} elsif ($pred =~ /^\s*\((.*)\)\s*$/) {
#print " left<$1>\n";
$res = pred_exec($1);
($cut, $res) = pred_exec($1);
# Check for common syntax issues.
} elsif ($pred eq '') {
@@ -111,7 +126,7 @@ sub pred_exec {
} else {
die "$P: $pred$rest: syntax error\n";
}
# A predicate, execute it.
} else {
#print " DO<$pred> sep<$sep>\n";
@@ -121,23 +136,23 @@ sub pred_exec {
#print " pre-return res<$res> sep<$sep>\n";
if ($sep eq '') {
#
# Recurse right for binary operators -- note these are lazy.
} elsif ($sep eq '&' || $sep eq '|') {
#print " right<$rest> ? sep<$sep> res<$res>\n";
if ($rest =~ /^\s*($|\||\&)/) {
die "$P: $pred$rest: malformed binary operator\n";
}
if (($res && $sep eq '&') || (!$res && $sep eq '|')) {
if ($cut == 0 && (($res && $sep eq '&') || (!$res && $sep eq '|'))) {
#print " right<$rest>\n";
$res = pred_exec($rest);
($cut, $res) = pred_exec($rest);
}
} else {
die "$P: $pred$rest: malformed predicate\n";
}
#print " return res<$res> sep<$sep>\n";
return $res;
#warn " return cut<$cut> res<$res> sep<$sep>\n";
return ($cut, $res);
}
#
@@ -147,7 +162,7 @@ my $test_total = 1;
my $test_good = 0;
sub pred_test {
my ($pred, $eres, $eerr) = @_;
my ($res, $err, $fail);
my ($cut, $res, $err, $fail);
$test_total++;
if ($test != 0 && $test != $test_total - 1) {
@@ -155,7 +170,7 @@ sub pred_test {
}
eval {
$res = pred_exec($pred);
($cut, $res) = pred_exec($pred);
};
$err = $@;
chomp($err);
@@ -174,7 +189,7 @@ sub pred_test {
} elsif (!defined $eerr && $err ne '') {
$fail = "error missmatch, expected success returned '$err'";
}
if ($fail eq '') {
$test_good++;
} else {
@@ -199,13 +214,18 @@ if ($test >= 0) {
pred_test('nosuchcommand', undef, $eunkn);
pred_test('arch', undef, $epred);
pred_test('arch MYARCH MYARCH', undef, $epred);
pred_test('arch MYARCH', 1, undef);
pred_test('arch MYARCH NOTMYARCH', 1, undef);
pred_test('arch NOTMYARCH MYARCH', 1, undef);
pred_test('arch NOTMYARCH NOTMYARCH MYARCH', 1, undef);
pred_test('arch NOTMYARCH MYARCH NOTMYARCH', 1, undef);
pred_test('arch NOTMYARCH', 0, undef);
pred_test('flavour', undef, $epred);
pred_test('flavour MYFLAVOUR myflavour', undef, $epred);
pred_test('flavour MYFLAVOUR', 1, undef);
pred_test('flavour NOTMYFLAVOUR MYFLAVOUR', 1, undef);
pred_test('flavour NOTMYFLAVOUR NOTMYFLAVOUR MYFLAVOUR', 1, undef);
pred_test('flavour NOTMYFLAVOUR MYFLAVOUR NOTMYFLAVOUR', 1, undef);
pred_test('flavour NOTMYFLAVOUR', 0, undef);
pred_test('value', undef, $epred);
@@ -222,7 +242,7 @@ if ($test >= 0) {
pred_test('exists DISABLED', 1, undef);
pred_test('exists MISSING', 0, undef);
print "TEST: $test_total: inversion tests ...\n";
print "TEST: $test_total: inversion tests ...\n";
pred_test('!exists ENABLED', 0, undef);
pred_test('!exists MISSING', 1, undef);
pred_test('!!exists ENABLED', 1, undef);
@@ -230,7 +250,7 @@ if ($test >= 0) {
pred_test('!!!exists ENABLED', 0, undef);
pred_test('!!!exists MISSING', 1, undef);
print "TEST: $test_total: parentheses tests ...\n";
print "TEST: $test_total: parentheses tests ...\n";
pred_test('(exists ENABLED)', 1, undef);
pred_test('((exists ENABLED))', 1, undef);
pred_test('(((exists ENABLED)))', 1, undef);
@@ -333,6 +353,10 @@ if ($test >= 0) {
pred_test('exists ENABLED & exists ENABLED | exists MISSING', 1, undef);
pred_test('exists ENABLED & exists ENABLED | exists ENABLED', 1, undef);
print "TEST: $test_total: cut tests ...\n";
pred_test('(arch MYARCH & exists MISSING) | exists ENABLED', 1, undef);
pred_test('(arch MYARCH &/ exists MISSING) | exists ENABLED', 0, undef);
$test_total--;
print "TEST: $test_good/$test_total succeeded\n";
@@ -373,7 +397,7 @@ while (<CHECKS>) {
#print "CHECK: <$line>\n";
$total++;
my $result = pred_exec($line);
my (undef, $result) = pred_exec($line);
if (!$result) {
print "$P: FAIL: $line\n";
$exit_val = $fail_exit;

91
debian/scripts/misc/find-obsolete-firmware vendored Executable file
View File

@@ -0,0 +1,91 @@
#!/bin/bash
#
# Find all duplicate or obsolete firmware that is being carried
# in the kernel firmware directory. Compare these files against
# the linux-firmware package for the approriate release. For example,
# assuming this is raring, then compare the kernel firmware files
# against the raring branch of linux-firmware.
#
# Example: $0 ~/ubuntu/linux-firmware-raring
USEAGE="$0 LINUX-FIRMWARE"
. debian/debian.env
NFWINFO="`find $DEBIAN -name fwinfo|wc -l`"
if [ ! "$NFWINFO" = "1" ]
then
echo Your repo is hosed. There can only be one fwinfo file.
find $DEBIAN -name fwinfo
exit 1
fi
FWINFO="`pwd`/`find $DEBIAN -name fwinfo`"
if [ "$1" = "" ]
then
echo $USEAGE
exit 1
fi
FW="$1"
if [ ! -f $FW/WHENCE ]
then
echo Bogus linux-firmware directory
exit 1
fi
if ! egrep -q "^firmware:" $FWINFO
then
echo Bogus firmware info file
exit 1
fi
#
# Prepare the tree and make firmware.
#
TEE="tee -a"
LO=`pwd`/firmware.txt
LF=`pwd`/lib/firmware
rm -rf debian/build $LF $LO
fakeroot debian/rules clean prepare-generic
cp debian/build/build-generic/.config .
mkdir -p $LF
make firmware_install INSTALL_MOD_PATH=`pwd`
(cd $LF
find . -type f | while read f
do
BN="`basename $f`"
if ! grep -q $BN $FWINFO
then
echo "Unused firmware: $f" | $TEE $LO
else
if [ -f $FW/$f ]
then
if ! cmp $FW/$f $f
then
echo "$f differs" | $TEE $LO
else
echo "$f is duplicated" | $TEE $LO
fi
else
echo "$f does not exist in $FW" | $TEE $LO
fi
fi
done)
#
# Check for firmware files referenced by the kernel
# that do not exist in either location.
#
cat $FWINFO | while read fwi f
do
if [ -s lib/firmware/$f ] || [ -s $FW/$f ]
then
continue
else
echo "Missing firmware $f" | $TEE $LO
fi
done

18
debian/scripts/misc/fw-to-ihex.sh vendored Executable file
View File

@@ -0,0 +1,18 @@
#!/bin/bash
F=$1
if [ "$F" = "" ]
then
echo You must supply a firmware file.
exit 1
fi
echo "unsigned char d[] = {" > $F.c
hexdump -v -e '"\t" 8/1 "0x%02x, " "\n"' $F >> $F.c
echo "};" >> $F.c
sed -i 's/0x .*$//' $F.c
O="`dirname $F`/`basename $F`.o"
gcc -o $O -c $F.c
objcopy -Oihex $F.o $F.ihex

62
debian/scripts/misc/get-firmware vendored Executable file
View File

@@ -0,0 +1,62 @@
#!/bin/bash
#
# Find all files in linux-firmware that are new or different since the previous release
# and copy them into the kernel firmware directory. You should only do this on the
# backport branch since it would be redundant on the released kernel. It assumed you've
# unpacked linux-firmware from each release into separate directories.
#
# Example: $0 ~/ubuntu/linux-firmware-precise ~/ubuntu/linux-firmware-quantal
if [ "$1" = "" ] || [ "$2" = "" ] || [ ! -f $1/WHENCE ] || [ ! -f $2/WHENCE ]
then
echo You must supply 2 firmware directories.
exit 1
fi
if [ ! -f debian/debian.env ]
then
echo You must run this script from the root of the repo
exit 1
fi
. debian/debian.env
NFWINFO="`find $DEBIAN -name fwinfo|wc -l`"
if [ ! "$NFWINFO" = "1" ]
then
echo Your repo is hosed. There can only be one fwinfo file.
find $DEBIAN -name fwinfo
exit 1
fi
FWINFO="`pwd`/`find $DEBIAN -name fwinfo`"
CDIR=`pwd`
OFW=$1
NFW=$2
cd $NFW
#
# Find all files in $NFW that are new or different from $1
#
(find . -type f | egrep -v "debian|git|LICEN|WHEN|READ|Make|configure" | sed 's;\./;;' | \
while read f
do
if grep -q $f $FWINFO
then
if [ ! -f $OFW/$f ]
then
echo $f
elif ! cmp $f $OFW/$f > /dev/null
then
echo $f
fi
fi
done) |\
while read f
do
mkdir -p $CDIR/firmware/`dirname $f`
if [ ! -f $CDIR/firmware/`dirname $f`/`basename $f`.ihex ]
then
cp -v $f $CDIR/firmware/`dirname $f`
fi
done

View File

@@ -1,12 +1,14 @@
#!/bin/bash
. debian/debian.env
if [ "$#" != "2" ]; then
echo "Usage: $0 <release> <revision>" 1>&2
exit 1
fi
if [ "$DEBIAN" = "" ]; then
. debian/debian.env
fi
ver=$1
revision=$2
abi=$(echo $revision | awk -F. '{print $1}')
@@ -14,16 +16,19 @@ abi=$(echo $revision | awk -F. '{print $1}')
verabi=$ver-$abi
verfull=$ver-$revision
src_pkg_name=$(dpkg-parsechangelog -l${DEBIAN}/changelog|grep Source|sed 's/^.*Source: //')
WGET="wget --quiet -c"
WGET="wget --tries=1 --timeout=10 --quiet -c"
abidir="`pwd`/$DEBIAN/abi/$verfull"
tmpdir="`pwd`/abi-tmp-$verfull"
origdir="`pwd`"
fwinfo=$abidir/fwinfo
test -d $tmpdir || mkdir $tmpdir
package_prefixes() {
__package_prefixes="$@"
}
getall() {
arch=$1
shift
@@ -35,19 +40,34 @@ getall() {
echo "Exists: $sub"
continue
fi
echo -n "Fetching $sub..."
filename=linux-image-${verabi}-${sub}_${verfull}_${arch}.deb
echo -n "Fetching $sub($arch)..."
prefixes=""
filenames=""
cd $tmpdir
for r in "${repo_list[@]}"
for prefix in $__package_prefixes
do
url="`echo $r | sed 's/linux$/'${src_pkg_name}'/'`"
if ! [ -f $filename ]; then
$WGET $url/$filename
fi
filename=${prefix}-${verabi}-${sub}_${verfull}_${arch}.deb
for r in "${repo_list[@]}"
do
if ! [ -f $filename ]; then
$WGET $r/$filename
fi
if [ -f $filename ]; then
prefixes="$prefixes $prefix"
filenames="$filenames $filename"
break
fi
done
done
if [ "$?" = "0" ]; then
echo -n "extracting..."
dpkg-deb --extract $filename tmp
if [ "$filenames" != "" ]; then
echo -n "extracting$prefixes..."
for filename in $filenames
do
dpkg-deb --extract $filename tmp
done
find tmp -name "*.ko" | while read f; do
modinfo $f | grep ^firmware >> $fwinfo
done
if [ -f tmp/boot/abi-* ]; then
mv tmp/boot/abi-* $abidir/$arch/$sub
else
@@ -56,7 +76,24 @@ getall() {
(cd tmp; find lib/modules/$verabi-$sub/kernel -name '*.ko') | \
sed -e 's/.*\/\([^\/]*\)\.ko/\1/' | sort > \
$abidir/$arch/$sub.modules
rm -rf tmp $filename
(
cd tmp;
# Prevent exposing some errors when called by python scripts. SIGPIPE seems to get
# exposed when using the `find ...` form of the command.
ko=$(find lib/modules/$verabi-$sub/kernel \
-name '*.ko' | head -1)
readelf -p .comment "$ko" | awk '
($1 == "[") {
printf("%s", $3);
for (n=4; n<=NF; n++) {
printf(" %s", $n);
}
print ""
}' | sort -u >$abidir/$arch/$sub.compiler
version=`cat $abidir/$arch/$sub.compiler`
echo -n "$version..."
)
rm -rf tmp $filenames
echo "done."
else
echo "FAILED."
@@ -74,6 +111,16 @@ echo $abi > $abidir/abiname
# NOTE: The flavours are hardcoded, because they may have changed from the
# current build.
__package_prefixes="linux-image"
. $DEBIAN/etc/getabis
compilers=`cat $abidir/*/*.compiler | sort -u | wc -l`
if [ "$compilers" != 1 ]; then
echo "WARNING: inconsistant compiler versions detected" 1>&2
fi
sort < $fwinfo | uniq > fwinfo.tmp
mv fwinfo.tmp $fwinfo
rmdir $tmpdir

View File

@@ -215,7 +215,7 @@ sub changelog_input {
$pstate++;
}
}
else {
die "invalid parse state $pstate";
}
@@ -223,7 +223,7 @@ sub changelog_input {
foreach $entry (@reverts) {
add_entry($entry);
}
}
}
&changelog_input;

42
debian/scripts/misc/insert-mainline-changes vendored Executable file
View File

@@ -0,0 +1,42 @@
#!/usr/bin/perl
if ($#ARGV != 2) {
warn "Usage: $0 <changelog> <to> <range>\n";
die " $0 debian.master/changelog v3.2.3 v3.2.2..v3.2.3\n";
}
my ($changelog, $to, $range) = @ARGV;
my @changes = ();
push(@changes, "\n");
push(@changes, " [ Upstream Kernel Changes ]\n\n");
push(@changes, " * rebase to $to\n");
open(LOG, "git log '$range'|") || die "$0: git log failed: - $!\n";
while (<LOG>) {
if (m@BugLink: .*launchpad.net/.*/([0-9]+)\s$@) {
push(@changes, " - LP: #$1\n");
}
}
close(LOG);
open(CHANGELOG, "< $changelog") or die "Cannot open changelog";
open(NEW, "> $changelog.new") or die "Cannot open new changelog";
$printed = 3;
while (<CHANGELOG>) {
if (/^ CHANGELOG: /) {
$printed--;
print NEW;
if ($printed == 0) {
print NEW @changes;
}
next;
}
print NEW;
}
close(NEW);
close(CHANGELOG);
rename("$changelog.new", "$changelog");

View File

@@ -10,7 +10,7 @@ $start =~ s/.*\.//;
my @changes = ();
my $output = 0;
open(CHG, "<debian.manta/changelog") ||
open(CHG, "<debian.master/changelog") ||
open(CHG, "<debian/changelog") ||
die "$0: debian/changelog: open failed - $!\n";
while (<CHG>) {

View File

@@ -12,17 +12,19 @@ if [ ! -f MAINTAINERS ] || [ ! -f Makefile ]; then
fi
mode=${1:?"Usage: $0 [oldconfig|editconfig]"}
yes=0
case "$mode" in
oldconfig) ;; # All is good
defaultconfig) ;; # All is good
editconfig) ;; # All is good
genconfig) ;; # All is good
update*configs) mode='silentoldconfig' ;;
default*configs) mode='oldconfig'; yes=1 ;;
edit*configs) ;; # All is good
gen*configs) mode='genconfigs' ;; # All is good
dump*configs) mode='config'; yes=1 ;;
*) echo "$0 called with invalid mode" 1>&2
exit 1 ;;
esac
kerneldir="`pwd`"
confdir="$kerneldir/${DEBIAN}/config"
sharedconfdir="$kerneldir/debian.manta/config"
sharedconfdir="$kerneldir/debian.master/config"
variant="$2"
. $DEBIAN/etc/kernelconfig
@@ -32,7 +34,7 @@ common_conf="$confdir/config.common.$family"
tmpdir=`mktemp -d`
mkdir "$tmpdir/CONFIGS"
if [ "$mode" = "genconfig" ]; then
if [ "$mode" = "genconfigs" ]; then
keep=1
mode="oldconfig"
test -d CONFIGS || mkdir CONFIGS
@@ -44,12 +46,12 @@ for arch in $archs; do
# Map debian archs to kernel archs
case "$arch" in
amd64) kernarch="x86_64" ;;
lpia) kernarch="x86" ;;
sparc) kernarch="sparc64" ;;
armel) kernarch="arm" ;;
armhf) kernarch="arm" ;;
*) kernarch="$arch" ;;
ppc64) kernarch="powerpc" ;;
amd64) kernarch="x86_64" ;;
lpia) kernarch="x86" ;;
sparc) kernarch="sparc64" ;;
armel|armhf) kernarch="arm" ;;
*) kernarch="$arch" ;;
esac
archconfdir=$confdir/$arch
@@ -84,20 +86,12 @@ for arch in $archs; do
cat "$fullconf" > build/.config
# Call oldconfig or menuconfig
case "$mode" in
oldconfig)
# Weed out incorrect config parameters
echo "* Run silentoldconfig on $arch/$config ..."
make O=`pwd`/build ARCH=$kernarch silentoldconfig ;;
defaultconfig)
# Weed out incorrect config parameters
echo "* Run oldconfig on $arch/$config ..."
make O=`pwd`/build ARCH=$kernarch oldconfig ;;
editconfig)
editconfigs)
# Interactively edit config parameters
while : ; do
echo -n "Do you want to edit config: $arch/$config? [Y/n] "
read choice
case "$choice" in
y* | Y* | "" )
make O=`pwd`/build ARCH=$kernarch menuconfig
@@ -109,8 +103,13 @@ for arch in $archs; do
esac
done
;;
*) # Bad!
exit 1 ;;
*)
echo "* Run $mode (yes=$yes) on $arch/$config ..."
if [ "$yes" -eq 1 ]; then
yes "" | make O=`pwd`/build ARCH=$kernarch "$mode"
else
make O=`pwd`/build ARCH=$kernarch "$mode"
fi ;;
esac
cat build/.config > $archconfdir/$config
cat build/.config > "$tmpdir/CONFIGS/$arch-$config"
@@ -128,7 +127,7 @@ for arch in $archs; do
# Can we make this more robust by avoiding $tmpdir completely?
# This approach was used for now because I didn't want to change
# splitconfig.pl
(cd $archconfdir; $bindir/splitconfig.pl; mv config.common \
(cd $archconfdir; $bindir/splitconfig.pl config.flavour.*; mv config.common \
config.common.$arch; cp config.common.$arch $tmpdir)
done
@@ -136,7 +135,7 @@ rm -f $common_conf
# Now run splitconfig.pl on all the config.common.<arch> copied to
# $tmpdir
(cd $tmpdir; $bindir/splitconfig.pl)
(cd $tmpdir; $bindir/splitconfig.pl *)
(
cd $confdir;
rm -f *-full
@@ -155,9 +154,10 @@ for arch in $archs; do
archconfdir=$confdir/$arch
flavourconfigs=$(cd $archconfdir && ls config.flavour.*)
for config in $flavourconfigs; do
flavour="${config##*.}"
if [ -f $archconfdir/$config ]; then
fullconf="$tmpdir/CONFIGS/$arch-$config"
"$bindir/../config-check" "$fullconf" "$arch" "$config" "$sharedconfdir" "0" || let "fail=$fail+1"
"$bindir/../config-check" "$fullconf" "$arch" "$flavour" "$sharedconfdir" "0" || let "fail=$fail+1"
fi
done
done
@@ -169,3 +169,4 @@ if [ "$fail" != 0 ]; then
fi
rm -rf build

View File

@@ -5,9 +5,7 @@
print "Reading config's ...\n";
opendir(DIR, ".");
while (defined($config = readdir(DIR))) {
for $config (@ARGV) {
# Only config.*
next if $config !~ /^config\..*/;
# Nothing that is disabled, or remnant
@@ -33,8 +31,6 @@ while (defined($config = readdir(DIR))) {
print "done.\n";
}
closedir(DIR);
print "\n";
print "Merging lists ... \n";

View File

@@ -5,17 +5,33 @@
# The includsion list format must be a bash regular expression.
#
# usage: $0 ROOT INCLUSION_LIST
# example: $0 debian/build/build-virtual debian.linaro/control.d/virtual.inclusion-list
ROOT=$1
ILIST=$2
# example: $0 debian/build/build-virtual \
# debian/build/build-virtual-ALL debian/build/build-virtual \
# debian.master/control.d/virtual.inclusion-list
master=0
if [ "$1" = "--master" ]; then
master=1
shift
fi
NROOT=${ROOT}.new
ROOT=$1
NROOT=$2
ILIST=$3
#
# Prep a destination directory.
#
mkdir -p ${NROOT}
rsync -a --exclude="*.ko" ${ROOT}/ ${NROOT}
# Copy over the framework...
if [ "$master" -eq 1 ]; then
(cd ${ROOT}; find . ! -name "*.ko" -type f) | \
while read f
do
mkdir -p ${NROOT}/`dirname $f`
mv ${ROOT}/$f ${NROOT}/$f
done
fi
cat ${ILIST} |while read i
do
@@ -27,13 +43,13 @@ do
(cd ${ROOT}; eval find "${i}" -name "*.ko") |while read f
do
mkdir -p ${NROOT}/`dirname $f`
cp ${ROOT}/$f ${NROOT}/$f
mv ${ROOT}/$f ${NROOT}/$f
done
else
if [ -f "${ROOT}/$i" ]
then
mkdir -p ${NROOT}/`dirname $i`
cp ${ROOT}/$i ${NROOT}/$i
mv ${ROOT}/$i ${NROOT}/$i
else
echo Warning: Could not find ${ROOT}/$i
fi
@@ -41,10 +57,4 @@ do
done
#
# Cleanup
#
rm -rf ${ROOT}
mv ${NROOT} ${ROOT}
exit 0

View File

@@ -11,7 +11,9 @@ from_moddir="debian/$from_pkg/lib/modules/$ABI_RELEASE-$FROM"
to_moddir="debian/$to_pkg/lib/modules/$ABI_RELEASE-$FROM"
install -d "debian/$to_pkg/boot"
install -m644 debian/$from_pkg/boot/{vmlinuz,System.map,config}-$ABI_RELEASE-$FROM \
install -m644 debian/$from_pkg/boot/config-$ABI_RELEASE-$FROM \
debian/$to_pkg/boot/
install -m600 debian/$from_pkg/boot/{vmlinuz,System.map}-$ABI_RELEASE-$FROM \
debian/$to_pkg/boot/
#

View File

@@ -1 +1 @@
3.0 (native)
1.0

21
debian/tests-build/README vendored Normal file
View File

@@ -0,0 +1,21 @@
Scripts placed in this directory get called one at a time by run-parts(8).
The scripts are expected to perform some sort of sanity checks on the
finished build. Scripts will be called once for each flavour.
Some environment variables are exported to make life a little easier:
DPKG_ARCH : The dpkg architecture (e.g. "amd64")
KERN_ARCH : The kernel architecture (e.g. "x86_64")
FLAVOUR : The specific flavour for this run (e.g. "generic")
VERSION : The full version of this build (e.g. 2.6.22-1)
REVISION : The exact revision of this build (e.g. 1.3)
PREV_REVISION : The revision prior to this one
ABI_NUM : The specific ABI number for this build (e.g. 2)
PREV_ABI_NUM : The previous ABI number. Can be the same as ABI_NUM.
BUILD_DIR : The directory where this build took place
INSTALL_DIR : The directory where the package is prepared
SOURCE_DIR : Where the main kernel source is
Scripts are expected to have a zero exit status when no problems occur,
and non-zero when an error occurs that should stop the build. Scripts
should print whatever info they deem needed to deduce the problem.

24
debian/tests-build/check-aliases vendored Executable file
View File

@@ -0,0 +1,24 @@
#!/usr/bin/perl -w
my %map;
print "Checking for dupe aliases in $ENV{'FLAVOUR'}...\n";
$aliases =
"$ENV{'INSTALL_DIR'}/lib/modules/$ENV{'VERSION'}-$ENV{'FLAVOUR'}/modules.alias";
open(ALIASES, "< $aliases") or die "Could not open $aliases";
while (<ALIASES>) {
chomp;
my ($junk, $alias, $module) = split;
if (defined($map{$alias})) {
printf("%s %20s / %-20s : %s \n", ("$map{$alias}" eq "$module")
? "INT" : " ", $map{$alias}, $module, $alias);
} else {
$map{$alias} = $module;
}
}
exit(0);

3
debian/tests/control vendored Normal file
View File

@@ -0,0 +1,3 @@
Tests: rebuild
Depends:
Restrictions: build-needed

1
debian/tests/rebuild vendored Executable file
View File

@@ -0,0 +1 @@
#!/bin/true

16
debian/tools/generic vendored Normal file
View File

@@ -0,0 +1,16 @@
#!/bin/bash
full_version=`uname -r`
# Removing flavour from version i.e. generic or server.
flavour_abi=${full_version#*-}
flavour=${flavour_abi#*-}
version=${full_version%-$flavour}
this="$0_$version"
if [ ! -f "$this" ]; then
echo "$this not found" >&2
echo "You may need to install linux-tools-$version" >&2
exit 2
fi
exec "$this" "$@"

16
debian/tools/turbostat vendored Normal file
View File

@@ -0,0 +1,16 @@
#!/bin/bash
full_version=`uname -r`
# Removing flavour from version i.e. generic or server.
flavour_abi=${full_version#*-}
flavour=${flavour_abi#*-}
version=${full_version%-$flavour}
turbostat="turbostat_$version"
if ! which "$turbostat" > /dev/null; then
echo "$turbostat not found" >&2
echo "You may need to install linux-tools-$version" >&2
exit 2
fi
exec "$turbostat" "$@"

16
debian/tools/x86_energy_perf_policy vendored Normal file
View File

@@ -0,0 +1,16 @@
#!/bin/bash
full_version=`uname -r`
# Removing flavour from version i.e. generic or server.
flavour_abi=${full_version#*-}
flavour=${flavour_abi#*-}
version=${full_version%-$flavour}
x86_energy_perf_policy="x86_energy_perf_policy_$version"
if ! which "$x86_energy_perf_policy" > /dev/null; then
echo "$x86_energy_perf_policy not found" >&2
echo "You may need to install linux-tools-$version" >&2
exit 2
fi
exec "$x86_energy_perf_policy" "$@"