Add support for the nopython build profile, disabling the linux-perf package

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.)
This commit is contained in:
Ben Hutchings 2016-06-13 00:21:42 +01:00
parent 0aceb8739a
commit a7ebaf2684
6 changed files with 23 additions and 14 deletions

View File

@ -236,3 +236,5 @@ Several build profiles are understood and supported:
- cross: Needed when cross-building. Currently this must be used
together with pkg.linux.notools as not all the userland tools can be
cross-built.
- nopython: Disable Python bindings. This currently disables building the
linux-perf-<version> package, as the perf program embeds Python.

1
debian/changelog vendored
View File

@ -17,6 +17,7 @@ linux (4.7~rc2-1~exp1) UNRELEASED; urgency=medium
* linux-cpupower: Define PACKAGE_BUGREPORT to refer to reportbug, not upstream
* debian/README.source: Document the supported build profiles
* debian/control: Fix build-dependencies for cross-building
* Add support for the nopython build profile, disabling the linux-perf package
-- Ben Hutchings <ben@decadent.org.uk> Tue, 07 Jun 2016 19:37:55 +0100

View File

@ -1,5 +1,7 @@
include $(top_rulesdir)/Makefile.inc
ifeq ($(filter nopython,$(DEB_BUILD_PROFILES)),)
DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU)
ifeq ($(DEB_HOST_ARCH_CPU),alpha)
@ -74,3 +76,5 @@ endif
rmdir --ignore-fail-on-non-empty $(DESTDIR)/etc
# Check for unversioned files that are likely to result in file conflicts
! find $(DESTDIR) -name '*perf*' \! -path '*[_-]$(VERSION)*' | grep .
endif # !nopython

4
debian/rules.real vendored
View File

@ -75,7 +75,9 @@ ifneq ($(DO_TOOLS),False)
build-arch-arch: $(STAMPS_DIR)/build-tools
binary-arch-arch: install-kbuild install-usbip install-liblockdep install-cpupower
ifneq ($(filter alpha amd64 arm64 armel armhf hppa i386 mips mips64 mips64el mipsel powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64,$(DEB_BUILD_ARCH)),)
binary-arch-arch: install-perf
ifeq ($(filter nopython,$(DEB_BUILD_PROFILES)),)
binary-arch-arch: install-perf
endif
endif
ifneq ($(filter i386 amd64 x32,$(DEB_BUILD_ARCH)),)
binary-arch-arch: install-hyperv-daemons

View File

@ -26,18 +26,18 @@ Build-Depends:
asciidoc <!stage1 !nodoc !pkg.linux.notools>,
xmlto <!stage1 !nodoc !pkg.linux.notools>,
# used by upstream to build perf
bison <!stage1 !pkg.linux.notools>,
flex:native <!stage1 !pkg.linux.notools>,
gcc-multilib [amd64 ppc64 s390x sparc64] <!stage1 !pkg.linux.notools>,
libaudit-dev <!stage1 !pkg.linux.notools>,
libdw-dev <!stage1 !pkg.linux.notools>,
libelf-dev <!stage1 !pkg.linux.notools>,
libiberty-dev <!stage1 !pkg.linux.notools>,
libnewt-dev <!stage1 !pkg.linux.notools>,
libnuma-dev [amd64 arm64 hppa i386 mips mips64 mips64el mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el powerpc powerpcspe ppc64 ppc64el sparc x32] <!stage1 !pkg.linux.notools>,
libperl-dev <!stage1 !pkg.linux.notools>,
libunwind8-dev [amd64 armel armhf arm64 i386] <!stage1 !pkg.linux.notools>,
python-dev <!stage1 !pkg.linux.notools>,
bison <!stage1 !pkg.linux.notools !nopython>,
flex:native <!stage1 !pkg.linux.notools !nopython>,
gcc-multilib [amd64 ppc64 s390x sparc64] <!stage1 !pkg.linux.notools !nopython>,
libaudit-dev <!stage1 !pkg.linux.notools !nopython>,
libdw-dev <!stage1 !pkg.linux.notools !nopython>,
libelf-dev <!stage1 !pkg.linux.notools !nopython>,
libiberty-dev <!stage1 !pkg.linux.notools !nopython>,
libnewt-dev <!stage1 !pkg.linux.notools !nopython>,
libnuma-dev [amd64 arm64 hppa i386 mips mips64 mips64el mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el powerpc powerpcspe ppc64 ppc64el sparc x32] <!stage1 !pkg.linux.notools !nopython>,
libperl-dev <!stage1 !pkg.linux.notools !nopython>,
libunwind8-dev [amd64 armel armhf arm64 i386] <!stage1 !pkg.linux.notools !nopython>,
python-dev <!stage1 !pkg.linux.notools !nopython>,
# used by upstream to build usbip
autoconf <!stage1 !pkg.linux.notools>,
automake <!stage1 !pkg.linux.notools>,

View File

@ -39,7 +39,7 @@ Description: CPU frequency and voltage scaling tools for Linux (development file
This package contains the 'power/cpupower' headers and library shared objects.
Package: linux-perf-@version@
Build-Profiles: <!stage1 !pkg.linux.notools>
Build-Profiles: <!stage1 !pkg.linux.notools !nopython>
Section: devel
Architecture: alpha amd64 arm64 armel armhf hppa i386 mips mips64 mips64el mipsel mipsn32 mipsn32el mipsr6 mipsr6el mipsn32r6 mipsn32r6el mips64r6 mips64r6el powerpc powerpcspe ppc64 ppc64el s390 s390x sh4 sparc sparc64
Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}, ${python:Depends}