Re: [PATCH v2] build: create $(PKG_SYMVERS_DIR) if non-existent

2020-11-18 Thread Paul Spooren
On Tue Nov 17, 2020 at 9:05 PM HST, Felix Fietkau wrote:
>
> On 2020-11-18 06:54, Oldřich Jedlička wrote:
> > út 17. 11. 2020 v 23:00 odesílatel Sebastian Kemper
> >  napsal:
> >>
> >> Commit 5d76065 moved the creation of the symvers directory to
> >> include/kernel-build.mk. This is fine when building from scratch. But
> >> when unpacking an SDK the directory doesn't exist and because the kernel
> >> won't be built (again) this directory will not be created by the build
> >> system, causing build failure if make tries to copy files into it.
> >>
> >> This moves the creation of the symvers directory back into
> >> include/kernel.mk so that the directory is created in any case.
> >>
> >> Signed-off-by: Sebastian Kemper 
> >> ---
> >>  include/kernel-build.mk | 1 -
> >>  include/kernel.mk   | 1 +
> >>  2 files changed, 1 insertion(+), 1 deletion(-)
> >>
> >> diff --git a/include/kernel-build.mk b/include/kernel-build.mk
> >> index a698deec3c..22f7c4c7c7 100644
> >> --- a/include/kernel-build.mk
> >> +++ b/include/kernel-build.mk
> >> @@ -136,7 +136,6 @@ define BuildKernel
> >>$(LINUX_DIR)/.modules: export 
> >> PKG_CONFIG_LIBDIR=$$(STAGING_DIR_HOST)/lib/pkgconfig
> >>$(LINUX_DIR)/.modules: $(STAMP_CONFIGURED) $(LINUX_DIR)/.config FORCE
> >> $(Kernel/CompileModules)
> >> -   mkdir -p $(PKG_SYMVERS_DIR)
> >> touch $$@
> >>
> >>$(LINUX_DIR)/.image: export STAGING_PREFIX=$$(STAGING_DIR_HOST)
> >> diff --git a/include/kernel.mk b/include/kernel.mk
> >> index 1ae9c6be29..e803ff44e7 100644
> >> --- a/include/kernel.mk
> >> +++ b/include/kernel.mk
> >> @@ -140,6 +140,7 @@ endif
> >>  PKG_EXTMOD_SUBDIRS ?= .
> >>
> >>  PKG_SYMVERS_DIR = $(KERNEL_BUILD_DIR)/symvers
> >> +$(shell mkdir -p $(PKG_SYMVERS_DIR))
> > 
> > Wouldn't it be better to move this few lines below to the place which 
> > actually
> > uses the folder - into collect_module_symvers? Just before
> > 
> >   mv $(PKG_BUILD_DIR)/Module.symvers $(PKG_SYMVERS_DIR)/$(PKG_NAME).symvers
> Yes, that's a much better solution. Running mkdir inside make context
> shell expansion can easily trigger some really nasty build system
> performance issues.

That's good to know. Sebastian can you please create a v3?

>
> - Felix
>
> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [PATCH v2] build: create $(PKG_SYMVERS_DIR) if non-existent

2020-11-17 Thread Felix Fietkau

On 2020-11-18 06:54, Oldřich Jedlička wrote:
> út 17. 11. 2020 v 23:00 odesílatel Sebastian Kemper
>  napsal:
>>
>> Commit 5d76065 moved the creation of the symvers directory to
>> include/kernel-build.mk. This is fine when building from scratch. But
>> when unpacking an SDK the directory doesn't exist and because the kernel
>> won't be built (again) this directory will not be created by the build
>> system, causing build failure if make tries to copy files into it.
>>
>> This moves the creation of the symvers directory back into
>> include/kernel.mk so that the directory is created in any case.
>>
>> Signed-off-by: Sebastian Kemper 
>> ---
>>  include/kernel-build.mk | 1 -
>>  include/kernel.mk   | 1 +
>>  2 files changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/include/kernel-build.mk b/include/kernel-build.mk
>> index a698deec3c..22f7c4c7c7 100644
>> --- a/include/kernel-build.mk
>> +++ b/include/kernel-build.mk
>> @@ -136,7 +136,6 @@ define BuildKernel
>>$(LINUX_DIR)/.modules: export 
>> PKG_CONFIG_LIBDIR=$$(STAGING_DIR_HOST)/lib/pkgconfig
>>$(LINUX_DIR)/.modules: $(STAMP_CONFIGURED) $(LINUX_DIR)/.config FORCE
>> $(Kernel/CompileModules)
>> -   mkdir -p $(PKG_SYMVERS_DIR)
>> touch $$@
>>
>>$(LINUX_DIR)/.image: export STAGING_PREFIX=$$(STAGING_DIR_HOST)
>> diff --git a/include/kernel.mk b/include/kernel.mk
>> index 1ae9c6be29..e803ff44e7 100644
>> --- a/include/kernel.mk
>> +++ b/include/kernel.mk
>> @@ -140,6 +140,7 @@ endif
>>  PKG_EXTMOD_SUBDIRS ?= .
>>
>>  PKG_SYMVERS_DIR = $(KERNEL_BUILD_DIR)/symvers
>> +$(shell mkdir -p $(PKG_SYMVERS_DIR))
> 
> Wouldn't it be better to move this few lines below to the place which actually
> uses the folder - into collect_module_symvers? Just before
> 
>   mv $(PKG_BUILD_DIR)/Module.symvers $(PKG_SYMVERS_DIR)/$(PKG_NAME).symvers
Yes, that's a much better solution. Running mkdir inside make context
shell expansion can easily trigger some really nasty build system
performance issues.

- Felix

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [PATCH v2] build: create $(PKG_SYMVERS_DIR) if non-existent

2020-11-17 Thread Oldřich Jedlička
út 17. 11. 2020 v 23:00 odesílatel Sebastian Kemper
 napsal:
>
> Commit 5d76065 moved the creation of the symvers directory to
> include/kernel-build.mk. This is fine when building from scratch. But
> when unpacking an SDK the directory doesn't exist and because the kernel
> won't be built (again) this directory will not be created by the build
> system, causing build failure if make tries to copy files into it.
>
> This moves the creation of the symvers directory back into
> include/kernel.mk so that the directory is created in any case.
>
> Signed-off-by: Sebastian Kemper 
> ---
>  include/kernel-build.mk | 1 -
>  include/kernel.mk   | 1 +
>  2 files changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/kernel-build.mk b/include/kernel-build.mk
> index a698deec3c..22f7c4c7c7 100644
> --- a/include/kernel-build.mk
> +++ b/include/kernel-build.mk
> @@ -136,7 +136,6 @@ define BuildKernel
>$(LINUX_DIR)/.modules: export 
> PKG_CONFIG_LIBDIR=$$(STAGING_DIR_HOST)/lib/pkgconfig
>$(LINUX_DIR)/.modules: $(STAMP_CONFIGURED) $(LINUX_DIR)/.config FORCE
> $(Kernel/CompileModules)
> -   mkdir -p $(PKG_SYMVERS_DIR)
> touch $$@
>
>$(LINUX_DIR)/.image: export STAGING_PREFIX=$$(STAGING_DIR_HOST)
> diff --git a/include/kernel.mk b/include/kernel.mk
> index 1ae9c6be29..e803ff44e7 100644
> --- a/include/kernel.mk
> +++ b/include/kernel.mk
> @@ -140,6 +140,7 @@ endif
>  PKG_EXTMOD_SUBDIRS ?= .
>
>  PKG_SYMVERS_DIR = $(KERNEL_BUILD_DIR)/symvers
> +$(shell mkdir -p $(PKG_SYMVERS_DIR))

Wouldn't it be better to move this few lines below to the place which actually
uses the folder - into collect_module_symvers? Just before

  mv $(PKG_BUILD_DIR)/Module.symvers $(PKG_SYMVERS_DIR)/$(PKG_NAME).symvers

To have the same usage pattern as it is in ModuleAutoload (creation of
/etc/modules-boot.d before usage) and kmod-*/install (creation of MODULES_SUBDIR
before usage),

Or are there any other dependencies on PKG_SYMBERS_DIR existence before the
actual install step?

>
>  define collect_module_symvers
> for subdir in $(PKG_EXTMOD_SUBDIRS); do \
> --
> 2.26.2
>
>
> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Oldrich.

___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel


Re: [PATCH v2] build: create $(PKG_SYMVERS_DIR) if non-existent

2020-11-17 Thread Paul Spooren
On Tue Nov 17, 2020 at 11:59 AM HST, Sebastian Kemper wrote:
> Commit 5d76065 moved the creation of the symvers directory to
> include/kernel-build.mk. This is fine when building from scratch. But
> when unpacking an SDK the directory doesn't exist and because the kernel
> won't be built (again) this directory will not be created by the build
> system, causing build failure if make tries to copy files into it.
>
> This moves the creation of the symvers directory back into
> include/kernel.mk so that the directory is created in any case.
>
> Signed-off-by: Sebastian Kemper 

Acked-by: Paul Spooren 

> ---
> include/kernel-build.mk | 1 -
> include/kernel.mk | 1 +
> 2 files changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/kernel-build.mk b/include/kernel-build.mk
> index a698deec3c..22f7c4c7c7 100644
> --- a/include/kernel-build.mk
> +++ b/include/kernel-build.mk
> @@ -136,7 +136,6 @@ define BuildKernel
> $(LINUX_DIR)/.modules: export
> PKG_CONFIG_LIBDIR=$$(STAGING_DIR_HOST)/lib/pkgconfig
> $(LINUX_DIR)/.modules: $(STAMP_CONFIGURED) $(LINUX_DIR)/.config FORCE
> $(Kernel/CompileModules)
> - mkdir -p $(PKG_SYMVERS_DIR)
> touch $$@
>
> $(LINUX_DIR)/.image: export STAGING_PREFIX=$$(STAGING_DIR_HOST)
> diff --git a/include/kernel.mk b/include/kernel.mk
> index 1ae9c6be29..e803ff44e7 100644
> --- a/include/kernel.mk
> +++ b/include/kernel.mk
> @@ -140,6 +140,7 @@ endif
> PKG_EXTMOD_SUBDIRS ?= .
>
> PKG_SYMVERS_DIR = $(KERNEL_BUILD_DIR)/symvers
> +$(shell mkdir -p $(PKG_SYMVERS_DIR))
>
> define collect_module_symvers
> for subdir in $(PKG_EXTMOD_SUBDIRS); do \
> --
> 2.26.2
>
>
> ___
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel


___
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel