kmod: fix build with pkgconf 1.5.3
PATCH 1/1 kmod: fix build with pkgconf 1.5.3
Since the bump to 1.5.3, pkgconf prepends the sysroot to all absolute paths found in the .pc file. This is correct when the paths refer to something in STAGING_DIR (e.g. libdir, includedir), but not when it refers to something used for the target.
kmod uses the completionsdir variable from bash-completions.pc to decide where to install things. Since DESTDIR is prepended to the install destination, this will end up in the wrong location.
Until a better solution is found in pkgconf, pass the appdefaultdir to use explicitly instead of relying on bash-completions.pc.
Fixes:
- http://autobuild.buildroot.org/results/f8a1f956333062027294e766ff0ddab5c35d5887
--- package/kmod/kmod.mk | 4 ++++ 1 file changed, 4 insertions(+)
package/kmod/kmod.mk +4 -0
@@ -28,6 +28,10 @@ KMOD_CONF_OPTS = --disable-static --enable-shared KMOD_CONF_OPTS += --disable-manpages HOST_KMOD_CONF_OPTS = --disable-manpages +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) +KMOD_CONF_OPTS += --with-bashcompletiondir=/usr/share/bash-completion/completions +endif + ifeq ($(BR2_PACKAGE_ZLIB),y) KMOD_DEPENDENCIES += zlib KMOD_CONF_OPTS += --with-zlib
Signature · 1 line
2.14.1
PATCH 1/1 kmod: fix build with pkgconf 1.5.3
Quoted 27 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Fabrice" == Fabrice Fontaine <[email protected]> writes:
Since the bump to 1.5.3, pkgconf prepends the sysroot to all absolute paths found in the .pc file. This is correct when the paths refer to something in
STAGING_DIR(e.g. libdir, includedir), but not when it refers to something used for the target.kmod uses the completionsdir variable from bash-completions.pc to decide where to install things. Since DESTDIR is prepended to the install destination, this will end up in the wrong location.
Until a better solution is found in pkgconf, pass the appdefaultdir to use explicitly instead of relying on bash-completions.pc.
Fixes:
- http://autobuild.buildroot.org/results/f8a1f956333062027294e766ff0ddab5c35d5887Signed-off-by Fabrice Fontaine <[email protected]>--- package/kmod/kmod.mk | 4 ++++ 1 file changed, 4 insertions(+)package/kmod/kmod.mk +0
-0
package/kmod/kmod.mk KMOD_CONF_OPTS = --disable-static --enable-shared · line 33
Quoted 6 lines
package/kmod/kmod.mk +3
-0@@ -28,6 +28,10 @@ KMOD_CONF_OPTS = --disable-static --enable-shared KMOD_CONF_OPTS += --disable-manpages HOST_KMOD_CONF_OPTS = --disable-manpages +ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) +KMOD_CONF_OPTS += --with-bashcompletiondir=/usr/share/bash-completion/completions +endif
Hmm, how did this work before if there wasn't anything to ensure bash-completion was built before kmod? Just the alphabetical order?
Anyway, committed - Thanks.
Signature · 1 line
Bye, Peter Korsgaard
PATCH 1/1 kmod: fix build with pkgconf 1.5.3
Dear Peter,
Le ven. 14 d?c. 2018 ? 21:29, Peter Korsgaard <[email protected]> a ?crit :
Quoted 31 lines
Quoted 30 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
Quoted 2 lines
"Fabrice" == Fabrice Fontaine <[email protected]> writes:
Since the bump to 1.5.3, pkgconf prepends the sysroot to all absolute paths found in the .pc file. This is correct when the paths refer to something in
STAGING_DIR(e.g. libdir, includedir), but not when it refers to something used for the target.kmod uses the completionsdir variable from bash-completions.pc to decide where to install things. Since DESTDIR is prepended to the install destination, this will end up in the wrong location.
Until a better solution is found in pkgconf, pass the appdefaultdir to use explicitly instead of relying on bash-completions.pc.
Fixes:
- http://autobuild.buildroot.org/results/f8a1f956333062027294e766ff0ddab5c35d5887Signed-off-by Fabrice Fontaine <[email protected]>--- package/kmod/kmod.mk | 4 ++++ 1 file changed, 4 insertions(+)package/kmod/kmod.mk +0
-0@@ -28,6 +28,10 @@ KMOD_CONF_OPTS = --disable-static --enable-shared KMOD_CONF_OPTS += --disable-manpages HOST_KMOD_CONF_OPTS = --disable-manpages
Quoted 6 lines
package/kmod/kmod.mk KMOD_CONF_OPTS = --disable-static --enable-shared · line 33
Quoted 3 lines
package/kmod/kmod.mk +3
-0+ifeq ($(BR2_PACKAGE_BASH_COMPLETION),y) +KMOD_CONF_OPTS += --with-bashcompletiondir=/usr/share/bash-completion/completions +endifHmm, how did this work before if there wasn't anything to ensure bash-completion was built before kmod? Just the alphabetical order?
You're right, personally, I think that we should add a bash-completion dependency but bash-completion is not a "real" build time dependency, it's only needed to retrieve completionsdir.
Because I was told to remove udev dependency from alsa-utils during review of https://patchwork.ozlabs.org/patch/1013180, I applied the same logic for kmod.
Howerver if you want, I can send a new patch to add bash-completion dependency.
Quoted 5 lines
Anyway, committed - Thanks.
--
Bye, Peter Korsgaard
Best Regards,
Fabrice
PATCH 1/1 kmod: fix build with pkgconf 1.5.3
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line
"Fabrice" == Fabrice Fontaine <[email protected]> writes:
Hi,
Quoted 10 lines
Quoted 2 lines
Hmm, how did this work before if there wasn't anything to ensure bash-completion was built before kmod? Just the alphabetical order?
You're right, personally, I think that we should add a bash-completion dependency but bash-completion is not a "real" build time dependency, it's only needed to retrieve completionsdir.
Because I was told to remove udev dependency from alsa-utils during review of https://patchwork.ozlabs.org/patch/1013180, I applied the same logic for kmod.
Howerver if you want, I can send a new patch to add bash-completion dependency.
OK. As we now explicitly pass --with-completiondir (and hence not rely on bash-completion.pc) and the install logic creates the destination directory if needed, I don't think we really _NEED_ it.
Signature · 1 line
Bye, Peter Korsgaard