Skip to contentSkip to conversation

Added linux drivers backports project

PATCH Superseded Petr Vorel 4 participants 12 messages Apr 17, 2015 – Apr 20, 2015

v4 of 8 Superseded Latest is v8 →

lore
Share & tools
lore

Petr Vorel

author
#0 lore raw

PATCH v4 1/1 Added linux drivers backports project

https://backports.wiki.kernel.org

---
Changes v3->v4:
* Define LINUX_BACKPORTS_MAKE_ENV instead of LINUX_BACKPORTS_MAKE_OPTS, remove TARGET_MAKE_ENV from it.
* Add nconfig to LINUX_BACKPORTS_KCONFIG_EDITORS
* Clean formating of build commands.

---
 package/Config.in                            |  1 +
 package/linux-backports/Config.in            | 37 +++++++++++++++++++++
 package/linux-backports/linux-backports.hash |  2 ++
 package/linux-backports/linux-backports.mk   | 48 ++++++++++++++++++++++++++++
 4 files changed, 88 insertions(+)
 create mode 100644 package/linux-backports/Config.in
 create mode 100644 package/linux-backports/linux-backports.hash
 create mode 100644 package/linux-backports/linux-backports.mk
package/Config.in +1 -0
index 34b6017..c8e24a7 100644
@@ -365,6 +365,7 @@ endif
 	source "package/iucode-tool/Config.in"
 	source "package/kbd/Config.in"
 	source "package/lcdproc/Config.in"
+	source "package/linux-backports/Config.in"
 	source "package/lirc-tools/Config.in"
 	source "package/lm-sensors/Config.in"
 	source "package/lshw/Config.in"
package/linux-backports/Config.in new file +37 -0
new file mode 100644
index 0000000..3e4e383
@@ -0,0 +1,37 @@
+config BR2_PACKAGE_LINUX_BACKPORTS
+	bool "Linux kernel driver backports"
+	depends on BR2_LINUX_KERNEL
+	help
+	  The backports package includes many Linux drivers from recent
+	  kernels, backported to older ones.
+
+	  https://backports.wiki.kernel.org
+
+if BR2_PACKAGE_LINUX_BACKPORTS
+
+choice
+	prompt "Linux kernel driver backports configuration"
+	default BR2_PACKAGE_LINUX_BACKPORTS_USE_DEFCONFIG
+
+config BR2_PACKAGE_LINUX_BACKPORTS_USE_DEFCONFIG
+	bool "Using a defconfig"
+
+config BR2_PACKAGE_LINUX_BACKPORTS_USE_CUSTOM_CONFIG
+	bool "Using a custom config file"
+
+endchoice
+
+config BR2_PACKAGE_LINUX_BACKPORTS_DEFCONFIG
+	string "Defconfig name"
+	depends on BR2_PACKAGE_LINUX_BACKPORTS_USE_DEFCONFIG
+	help
+          Name of the backports defconfig file to use. The defconfig is located
+          in defconfigs/ directory in the backports tree.
+
+config BR2_PACKAGE_LINUX_BACKPORTS_CUSTOM_CONFIG_FILE
+	string "Configuration file path"
+	depends on BR2_PACKAGE_LINUX_BACKPORTS_USE_CUSTOM_CONFIG
+	help
+	  Path to the backports configuration file
+
+endif
package/linux-backports/linux-backports.hash new file +2 -0
new file mode 100644
index 0000000..42ea0b3
@@ -0,0 +1,2 @@
+# From: https://www.kernel.org/pub/linux/kernel/projects/backports/stable/v3.18.1/sha256sums.asc
+sha256 ff3d4d5192c4d57d7415dfcd60e02ea4fa21e0de224ae0ce2b5b9f2e9c815783  backports-3.18.1-1.tar.xz
package/linux-backports/linux-backports.mk new file +48 -0

48 lines not on this page · raw message

Signature · 1 line
1.8.0
#1 lore raw

PATCH v4 1/1 Added linux drivers backports project

Dear Petr Vorel,

Quoted 3 lines · Petr Vorel

https://backports.wiki.kernel.org

I wanted to apply your patch, and did a couple of updates to it (see below). However, there's a more fundamental problem to this package: it expects the linux package to be extracted/configured *before* the configuration of linux-backports. Unfortunately, this is not the case:
'linux' is only in LINUX_BACKPORTS_DEPENDENCIES, so it's only guaranteed to be here when linux-backports gets configured, not before.

So, when you run 'make linux-backports-menuconfig' from a clean Buildroot tree (i.e without doing a full 'make'), you get:

thomas at skate:~/projets/buildroot (master)$ make linux-backports-menuconfig
yes "" | /usr/bin/make -j5 -C /home/thomas/projets/buildroot/output/build/linux-backports-3.18.1-1 HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" ARCH=arm INSTALL_MOD_PATH=/home/thomas/projets/buildroot/output/target CROSS_COMPILE=" /home/thomas/projets/buildroot/output/host/usr/bin/arm-linux-" DEPMOD=/home/thomas/projets/buildroot/output/host/sbin/depmod KLIB_BUILD=/home/thomas/projets/buildroot/output/build/linux-4.0 KLIB=/home/thomas/projets/buildroot/output/target oldconfig make[1]: Entering directory '/home/thomas/projets/buildroot/output/build/linux-backports-3.18.1-1'
/--------------

| Your kernel headers are incomplete/not installed.
| Please install kernel headers, including a .config
| file or use the KLIB/KLIB_BUILD make variables to
| set the kernel to build against, e.g.
|   make KLIB=/lib/modules/3.1.7/
| to compile/install for the installed kernel 3.1.7
| (that isn't currently running.)

\--
Makefile:40: recipe for target 'oldconfig' failed
make[1]: *** [oldconfig] Error 1
make[1]: Leaving directory '/home/thomas/projets/buildroot/output/build/linux-backports-3.18.1-1' package/linux-backports/linux-backports.mk:38: recipe for target '/home/thomas/projets/buildroot/output/build/linux-backports-3.18.1-1/.stamp_kconfig_fixup_done' failed
make: *** [/home/thomas/projets/buildroot/output/build/linux-backports-3.18.1-1/.stamp_kconfig_fixup_done] Error 2

This is because output/build/linux-4.0 is currently empty, since the linux package has not been extracted yet.

I'm not sure yet of the possible solutions to this: add 'linux' to LINUX_BACKPORT_PATCH_DEPENDENCIES ? Use the linux extension mechanism as suggested by Arnout ?

As promised, here are the updates I did to your patch, please integrate them:

package/linux-backports/Config.in +4 -1
index 3e4e383..7853ba6 100644
@@ -1,5 +1,8 @@
+comment "linux-backports needs a Linux kernel to be built"
+       depends on !BR2_LINUX_KERNEL
+
 config BR2_PACKAGE_LINUX_BACKPORTS
-       bool "Linux kernel driver backports"
+       bool "linux-backports"
        depends on BR2_LINUX_KERNEL
        help
          The backports package includes many Linux drivers from recent
package/linux-backports/linux-backports.mk +15 -9
index 47cb206..73179a6 100644
@@ -1,10 +1,16 @@
-LINUX_BACKPORTS_VERSION  = 3.18.1
-LINUX_BACKPORTS_REVISION = 1
-LINUX_BACKPORTS_SOURCE   = backports-$(LINUX_BACKPORTS_VERSION)-$(LINUX_BACKPORTS_REVISION).tar.xz
-LINUX_BACKPORTS_SITE     = $(BR2_KERNEL_MIRROR)/linux/kernel/projects/backports/stable/v$(LINUX_BACKPORTS_VERSION)
+################################################################################
+#
+# linux-backports
+#
+################################################################################
+
+LINUX_BACKPORTS_VERSION_MAJOR = 3.18.1
+LINUX_BACKPORTS_VERSION = $(LINUX_BACKPORTS_VERSION_MAJOR)-1
+LINUX_BACKPORTS_SOURCE = backports-$(LINUX_BACKPORTS_VERSION).tar.xz
+LINUX_BACKPORTS_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/projects/backports/stable/v$(LINUX_BACKPORTS_VERSION_MAJOR)
 LINUX_BACKPORTS_DEPENDENCIES = linux
 
-LINUX_BACKPORTS_MAKE_ENV = \
+LINUX_BACKPORTS_MAKE_OPTS = \
        $(LINUX_MAKE_FLAGS) \
        KLIB_BUILD=$(LINUX_DIR) \
        KLIB=$(TARGET_DIR)
@@ -16,11 +22,11 @@ LINUX_BACKPORTS_KCONFIG_FILE = $(BR2_PACKAGE_LINUX_BACKPORTS_CUSTOM_CONFIG_FILE)
 endif
 
 define LINUX_BACKPORTS_BUILD_CMDS
-       $(LINUX_BACKPORTS_MAKE_ENV) $(MAKE) $(LINUX_BACKPORTS_MAKE_OPTS) -C $(@D)
+       $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_BACKPORTS_MAKE_OPTS) -C $(@D)
 endef
 
 define LINUX_BACKPORTS_INSTALL_TARGET_CMDS
-       $(LINUX_BACKPORTS_MAKE_ENV) $(MAKE) $(LINUX_BACKPORTS_MAKE_OPTS) \
+       $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_BACKPORTS_MAKE_OPTS) \
                -C $(LINUX_DIR) M=$(@D) \
                INSTALL_MOD_DIR=backports \
                modules_install
@@ -35,13 +41,13 @@ $(eval $(kconfig-package))
 ifeq ($(filter source,$(MAKECMDGOALS)),)
 ifeq ($(BR2_PACKAGE_LINUX_BACKPORTS_USE_DEFCONFIG),y)
 ifeq ($(call qstrip,$(BR2_PACKAGE_LINUX_BACKPORTS_DEFCONFIG)),)
-$(error No kernel defconfig name specified, check your BR2_PACKAGE_LINUX_BACKPORTS_DEFCONFIG setting)
+$(error No linux-backports defconfig name specified, check your BR2_PACKAGE_LINUX_BACKPORTS_DEFCONFIG setting)
 endif
 endif
 
 ifeq ($(BR2_PACKAGE_LINUX_BACKPORTS_USE_CUSTOM_CONFIG),y)
 ifeq ($(call qstrip,$(BR2_PACKAGE_LINUX_BACKPORTS_CUSTOM_CONFIG_FILE)),)
-$(error No kernel configuration file specified, check your BR2_PACKAGE_LINUX_BACKPORTS_CUSTOM_CONFIG_FILE setting)
+$(error No linux-backports configuration file specified, check your BR2_PACKAGE_LINUX_BACKPORTS_CUSTOM_CONFIG_FILE setting)
 endif
 endif
 

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#2 lore raw

PATCH v4 1/1 Added linux drivers backports project

Thomas, Petr, All,

On 2015-04-19 11:03 +0200, Thomas Petazzoni spake thusly:
--SNIP--]

Quoted 6 lines

I wanted to apply your patch, and did a couple of updates to it (see below). However, there's a more fundamental problem to this package: it expects the linux package to be extracted/configured *before* the configuration of linux-backports. Unfortunately, this is not the case:
'linux' is only in LINUX_BACKPORTS_DEPENDENCIES, so it's only guaranteed to be here when linux-backports gets configured, not before.

[--SNIP--]

Quoted 3 lines

I'm not sure yet of the possible solutions to this: add 'linux' to LINUX_BACKPORT_PATCH_DEPENDENCIES ? Use the linux extension mechanism as suggested by Arnout ?

Adding 'linux' to _PATCH_DEPENDENCIES will not be enough, because all _PATCH_DEPENDENCIES guarantees is that such dependencies are extracted and patched, not that they are configured/built or whatever.

So, the only option left would be to treat them as a linux extension, and drop the build+install commands from linux-backports, and use the integration strategy (instead of the packaging strategy), see:
https://backports.wiki.kernel.org/index.php/Documentation/integration

However, it seems to be quite involved...

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#3 lore raw

PATCH v4 1/1 Added linux drivers backports project

In reply to Thomas Petazzoni
Quoted 5 lines · Thomas Petazzoni

Dear Petr Vorel,

Quoted 2 lines · Petr Vorel

https://backports.wiki.kernel.org

Quoted 8 lines
Quoted 1 line

I wanted to apply your patch, and did a couple of updates to it (see below). However, there's a more fundamental problem to this package: it expects the linux package to be extracted/configured *before* the configuration of linux-backports. Unfortunately, this is not the case:
'linux' is only in LINUX_BACKPORTS_DEPENDENCIES, so it's only guaranteed to be here when linux-backports gets configured, not before.

Perhaps that's a problem in the kconfig infrastructure. The configure step
depends on the DEPENDENCIES, and I'd consider the *config targets conceptually part of the configure step. Currently, *config only depends on the patch step (through $(2)_KCONFIG_FILE), perhaps we should add the depends step to that.

Regards,
Arnout

Quoted 24 lines

So, when you run 'make linux-backports-menuconfig' from a clean Buildroot tree (i.e without doing a full 'make'), you get:

thomas at skate:~/projets/buildroot (master)$ make linux-backports-menuconfig
yes "" | /usr/bin/make -j5 -C /home/thomas/projets/buildroot/output/build/linux-backports-3.18.1-1 HOSTCC="/usr/bin/gcc" HOSTCFLAGS="" ARCH=arm INSTALL_MOD_PATH=/home/thomas/projets/buildroot/output/target CROSS_COMPILE=" /home/thomas/projets/buildroot/output/host/usr/bin/arm-linux-" DEPMOD=/home/thomas/projets/buildroot/output/host/sbin/depmod KLIB_BUILD=/home/thomas/projets/buildroot/output/build/linux-4.0 KLIB=/home/thomas/projets/buildroot/output/target oldconfig make[1]: Entering directory '/home/thomas/projets/buildroot/output/build/linux-backports-3.18.1-1'
/--------------

| Your kernel headers are incomplete/not installed.
| Please install kernel headers, including a .config
| file or use the KLIB/KLIB_BUILD make variables to
| set the kernel to build against, e.g.
|   make KLIB=/lib/modules/3.1.7/
| to compile/install for the installed kernel 3.1.7
| (that isn't currently running.)

\--
Makefile:40: recipe for target 'oldconfig' failed
make[1]: *** [oldconfig] Error 1
make[1]: Leaving directory '/home/thomas/projets/buildroot/output/build/linux-backports-3.18.1-1' package/linux-backports/linux-backports.mk:38: recipe for target '/home/thomas/projets/buildroot/output/build/linux-backports-3.18.1-1/.stamp_kconfig_fixup_done' failed
make: *** [/home/thomas/projets/buildroot/output/build/linux-backports-3.18.1-1/.stamp_kconfig_fixup_done] Error 2

This is because output/build/linux-4.0 is currently empty, since the linux package has not been extracted yet.

[snip]

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#4 lore raw

PATCH v4 1/1 Added linux drivers backports project

Arnout, All,

On 2015-04-19 18:20 +0200, Arnout Vandecappelle spake thusly:

Quoted 16 lines · Thomas Petazzoni
Quoted 5 lines

Dear Petr Vorel,

Quoted 2 lines · Petr Vorel

https://backports.wiki.kernel.org

Quoted 8 lines
Quoted 1 line

I wanted to apply your patch, and did a couple of updates to it (see below). However, there's a more fundamental problem to this package: it expects the linux package to be extracted/configured *before* the configuration of linux-backports. Unfortunately, this is not the case:
'linux' is only in LINUX_BACKPORTS_DEPENDENCIES, so it's only guaranteed to be here when linux-backports gets configured, not before.

Quoted 4 lines

Perhaps that's a problem in the kconfig infrastructure. The configure step
depends on the DEPENDENCIES, and I'd consider the *config targets conceptually part of the configure step. Currently, *config only depends on the patch step (through $(2)_KCONFIG_FILE), perhaps we should add the depends step to that.

Well, I would not be very happy with that, since that would make the following use-case a real pain:

    $ make foo_defconfig
    $ make linux-menuconfig

Currently, all it needs is the linux kernel to be extracted and patched, and none of its depedencies to be built. Otherwise, it would require the toolchain to be built, plus a sh.tload of other stuff (lzo, for one, and all its own dependencies).

That's what we had before the kconfig-package infra, and that was such a pain...

However, I understand we have a hole for now, nad that we need to plug it. If that requires foo-*condif to be moved as part of the configure step, then so be it, but that would be really, really painfull.

At the very worse, we could manually add the proper dependencies... But that would be ugly as well.

Maybe we should have a clean way of doing it with a proper dependency handling (well, I'd rather avoid introducing yet another _DEPENDENCIES variable if at all possible, either).

Not an easy problem... :-(

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#5 lore raw

PATCH v4 1/1 Added linux drivers backports project

Dear Yann E. MORIN,

Quoted 10 lines · Yann E. MORIN

Well, I would not be very happy with that, since that would make the following use-case a real pain:

    $ make foo_defconfig
    $ make linux-menuconfig

Currently, all it needs is the linux kernel to be extracted and patched, and none of its depedencies to be built. Otherwise, it would require the toolchain to be built, plus a sh.tload of other stuff (lzo, for one, and all its own dependencies).

We could remove the mandatory host-lzo dependency from the linux package, by adding an option for that. Remember the recent patches also adding host-xz to the dependencies of linux, which I rejected?

This would leave host-kmod as the only dependency of the linux package I believe. But well host-kmod as AUTORECONF = YES, so it pulls a whole bunch of crap.

I agree that being able to do "make <foo>-menuconfig" without waiting too long is really a great feature.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
author
#6 lore raw

PATCH v4 1/1 Added linux drivers backports project

Thank you Thomas for testing, thanks a lot to all of you for the comments. Sorry that I didn't test it well, I didn't expect to be able to use 'make menuconfig' without calling make or 'make linux-backports' before.

I send v5 where I integrated Thomass' changes. So is it blind alley (if you don't want to tweak custom requirements), and I should try to add it as linux extension using integration strategy?

Petr

Quoted 27 lines

Dear Yann E. MORIN,

Quoted 10 lines · Yann E. MORIN

Well, I would not be very happy with that, since that would make the following use-case a real pain:

    $ make foo_defconfig
    $ make linux-menuconfig

Currently, all it needs is the linux kernel to be extracted and patched, and none of its depedencies to be built. Otherwise, it would require the toolchain to be built, plus a sh.tload of other stuff (lzo, for one, and all its own dependencies).

We could remove the mandatory host-lzo dependency from the linux package, by adding an option for that. Remember the recent patches also adding host-xz to the dependencies of linux, which I rejected?

This would leave host-kmod as the only dependency of the linux package I believe. But well host-kmod as AUTORECONF = YES, so it pulls a whole bunch of crap.

I agree that being able to do "make <foo>-menuconfig" without waiting too long is really a great feature.

Thomas

#7 lore raw

PATCH v4 1/1 Added linux drivers backports project

Petr, All,

On 2015-04-19 23:19 +0200, Petr Vorel spake thusly:

Quoted 7 lines

Thank you Thomas for testing, thanks a lot to all of you for the comments. Sorry that I didn't test it well, I didn't expect to be able to use 'make menuconfig' without calling make or 'make linux-backports' before.

I send v5 where I integrated Thomass' changes. So is it blind alley (if you don't want to tweak custom requirements), and I should try to add it as linux extension using integration strategy?

Well, I'm not even sure going with the integration strategy is doable either.

From what I understand, the integration strategy works by cherry-picking commits onto an earlier version, which requires a git tree, and we do not use a git tree.

OTOH, the packaging strategy does not work currently for the previously explained reasons.

I can have a further look into that, but it will take some time before I can dedicate time to it...

Anyway, thank you for your continued efforts into getting support for backports upstreamed! :-)

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#8 lore raw

PATCH v4 1/1 Added linux drivers backports project

In reply to Thomas Petazzoni
Quoted 15 lines · Thomas Petazzoni

Dear Yann E. MORIN,

Quoted 10 lines · Yann E. MORIN

Well, I would not be very happy with that, since that would make the following use-case a real pain:

    $ make foo_defconfig
    $ make linux-menuconfig

Currently, all it needs is the linux kernel to be extracted and patched, and none of its depedencies to be built. Otherwise, it would require the toolchain to be built, plus a sh.tload of other stuff (lzo, for one, and all its own dependencies).

Quoted 7 lines

We could remove the mandatory host-lzo dependency from the linux package, by adding an option for that. Remember the recent patches also adding host-xz to the dependencies of linux, which I rejected?

This would leave host-kmod as the only dependency of the linux package I believe. But well host-kmod as AUTORECONF = YES, so it pulls a whole bunch of crap.

As mentioned before, it pulls in the toolchain as well. That's a lot worse than
host-lzo and host-xz - even extracting an external toolchain takes longer than host-xz (at least for me).

However, we can add the dependency specifically for linux-backports. There is
something to be said for the reasoning that usually/sometimes you don't need the dependencies to be present, so doing it per package sounds OK.

So in this case, adding

$(LINUX_BACKPORTS_KCONFIG_FILE): linux

to linux-backports.mk should be sufficient.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#9 lore raw

PATCH v4 1/1 Added linux drivers backports project

Dear Arnout Vandecappelle,

Quoted 9 lines · Arnout Vandecappelle

However, we can add the dependency specifically for linux-backports. There is
something to be said for the reasoning that usually/sometimes you don't need the dependencies to be present, so doing it per package sounds OK.

So in this case, adding

$(LINUX_BACKPORTS_KCONFIG_FILE): linux

to linux-backports.mk should be sufficient.

If we do this, we must also keep the 'linux' dependency in LINUX_BACKPORTS_DEPENDENCIES as well, so that the package infra remains aware of this dependency.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#10 lore raw

PATCH v4 1/1 Added linux drivers backports project

Quoted 10 lines · Thomas Petazzoni

Dear Arnout Vandecappelle,

Quoted 6 lines · Arnout Vandecappelle

However, we can add the dependency specifically for linux-backports. There is
something to be said for the reasoning that usually/sometimes you don't need the dependencies to be present, so doing it per package sounds OK.

So in this case, adding

Quoted 7 lines
Quoted 3 lines

$(LINUX_BACKPORTS_KCONFIG_FILE): linux

to linux-backports.mk should be sufficient.

If we do this, we must also keep the 'linux' dependency in LINUX_BACKPORTS_DEPENDENCIES as well, so that the package infra remains aware of this dependency.

Yes of course.

Regards,
Arnout

Signature · 6 lines
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7CB5 E4CC 6C2E EFD4 6E3D A754 F963 ECAB 2450 2F1F
#11 lore raw

PATCH v4 1/1 Added linux drivers backports project

In reply to Arnout Vandecappelle

Arnout, All,

On 2015-04-20 22:42 +0200, Arnout Vandecappelle spake thusly:

Quoted 33 lines · Thomas Petazzoni
Quoted 15 lines

Dear Yann E. MORIN,

Quoted 10 lines · Yann E. MORIN

Well, I would not be very happy with that, since that would make the following use-case a real pain:

    $ make foo_defconfig
    $ make linux-menuconfig

Currently, all it needs is the linux kernel to be extracted and patched, and none of its depedencies to be built. Otherwise, it would require the toolchain to be built, plus a sh.tload of other stuff (lzo, for one, and all its own dependencies).

Quoted 7 lines

We could remove the mandatory host-lzo dependency from the linux package, by adding an option for that. Remember the recent patches also adding host-xz to the dependencies of linux, which I rejected?

This would leave host-kmod as the only dependency of the linux package I believe. But well host-kmod as AUTORECONF = YES, so it pulls a whole bunch of crap.

As mentioned before, it pulls in the toolchain as well. That's a lot worse than
host-lzo and host-xz - even extracting an external toolchain takes longer than host-xz (at least for me).

However, we can add the dependency specifically for linux-backports. There is
something to be said for the reasoning that usually/sometimes you don't need the dependencies to be present, so doing it per package sounds OK.

Quoted 5 lines

So in this case, adding

$(LINUX_BACKPORTS_KCONFIG_FILE): linux

to linux-backports.mk should be sufficient.

Yes, I have the same reasoning, and I think what you suggest is good enough to be considered the good solution.

If we end up having more such cases, we can revisit this in the future.

Regards,
Yann E. MORIN.

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'