Re: [PATCH v2] build: create $(PKG_SYMVERS_DIR) if non-existent
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
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
ú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
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