[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#844122: linux: allow disabling linux-source-$ver build via config



Source: linux
Severity: wishlist
Tags: patch

Dear Maintainers,

Building linux-source-X.Y takes about ~10 minutes, and in the context
of a continuous integration build where the result is tested and then
discarded it is only a waste of time.
It would be nice if it where possible to add [packages] source: false to
disable it like for linux-docs, linux-tools etc.
Patch to implement this behaviour is attached. Default is still to build
linux-
source-$version.

Thank you!

Kind regards,
Luca Boccassi

-- System Information:
Debian Release: 8.6
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500,
'stable'), (104, 'testing'), (103, 'unstable'), (102, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.6.0-0.bpo.1-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

From 683726c35af4bf289a05b2caa1aa27d4d362e983 Mon Sep 17 00:00:00 2001
From: Luca Boccassi <lboccass@brocade.com>
Date: Thu, 29 Sep 2016 17:49:06 +0100
Subject: [PATCH] Allow to disable source package build via define

Building linux-source-X.Y takes about ~10 minutes, and in the context
of a continous integration build where the result is tested and then
discarded it is only a waste of time.
Allow to add [packages] source: false to disable it like for
linux-docs, linux-tools etc.
---
 debian/bin/gencontrol.py                 |  5 +++++
 debian/rules.real                        |  2 ++
 debian/templates/control.linux-source.in | 15 +++++++++++++++
 debian/templates/control.main.in         | 15 ---------------
 4 files changed, 22 insertions(+), 15 deletions(-)
 create mode 100644 debian/templates/control.linux-source.in

diff --git a/debian/bin/gencontrol.py b/debian/bin/gencontrol.py
index 76a1790..9aee13f 100755
--- a/debian/bin/gencontrol.py
+++ b/debian/bin/gencontrol.py
@@ -48,6 +48,7 @@ class Gencontrol(Base):
             'installer': config.SchemaItemBoolean(),
             'libc-dev': config.SchemaItemBoolean(),
             'tools': config.SchemaItemBoolean(),
+            'source': config.SchemaItemBoolean(),
         }
     }
 
@@ -109,6 +110,8 @@ class Gencontrol(Base):
             makeflags['DO_DOCS'] = False
         if not self.config.merge('packages').get('tools', True):
             makeflags['DO_TOOLS'] = False
+        if not self.config.merge('packages').get('source', True):
+            makeflags['DO_SOURCE'] = False
         super(Gencontrol, self).do_main_makefile(makefile, makeflags, extra)
 
         # linux-source-$UPSTREAMVERSION will contain all kconfig files
@@ -120,6 +123,8 @@ class Gencontrol(Base):
             packages.extend(self.process_packages(self.templates["control.docs"], self.vars))
         if self.config.merge('packages').get('tools', True):
             packages.extend(self.process_packages(self.templates["control.tools"], self.vars))
+        if self.config.merge('packages').get('source', True):
+            packages.extend(self.process_packages(self.templates["control.linux-source"], self.vars))
 
         self._substitute_file('lintian-overrides.perf', self.vars,
                               'debian/linux-perf-%s.lintian-overrides' %
diff --git a/debian/rules.real b/debian/rules.real
index 96411e4..7b83921 100644
--- a/debian/rules.real
+++ b/debian/rules.real
@@ -70,7 +70,9 @@ ifneq ($(DO_DOCS),False)
   binary-indep: install-manual
   build-indep: $(STAMPS_DIR)/build-doc
 endif
+ifneq ($(DO_SOURCE),False)
 binary-indep: install-source
+endif
 binary-indep: install-support
 
 ifneq ($(DO_TOOLS),False)
diff --git a/debian/templates/control.linux-source.in b/debian/templates/control.linux-source.in
new file mode 100644
index 0000000..7ed709d
--- /dev/null
+++ b/debian/templates/control.linux-source.in
@@ -0,0 +1,15 @@
+Package: @source_package@-source-@version@
+Build-Profiles: <!stage1>
+Architecture: all
+Section: kernel
+Depends: binutils, xz-utils, ${misc:Depends}
+Recommends: libc6-dev | libc-dev, gcc, make, bc
+Suggests: libncurses-dev | ncurses-dev, libqt4-dev, pkg-config
+Multi-Arch: foreign
+Description: Linux kernel source for version @version@ with Debian patches
+ This package provides source code for the Linux kernel version @version@.
+ This source closely tracks official Linux kernel releases.  Debian's
+ modifications to that source consist of security fixes, bug fixes, and
+ features that have already been (or are believed to be) accepted by the
+ upstream maintainers.
+
diff --git a/debian/templates/control.main.in b/debian/templates/control.main.in
index 80794db..22824b9 100644
--- a/debian/templates/control.main.in
+++ b/debian/templates/control.main.in
@@ -1,18 +1,3 @@
-Package: @source_package@-source-@version@
-Build-Profiles: <!stage1>
-Architecture: all
-Section: kernel
-Depends: binutils, xz-utils, ${misc:Depends}
-Recommends: libc6-dev | libc-dev, gcc, make, bc
-Suggests: libncurses-dev | ncurses-dev, libqt4-dev, pkg-config
-Multi-Arch: foreign
-Description: Linux kernel source for version @version@ with Debian patches
- This package provides source code for the Linux kernel version @version@.
- This source closely tracks official Linux kernel releases.  Debian's
- modifications to that source consist of security fixes, bug fixes, and
- features that have already been (or are believed to be) accepted by the
- upstream maintainers.
-
 Package: @source_package@-support-@abiname@
 Build-Profiles: <!stage1>
 Architecture: all
-- 
2.1.4


Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: