diff mbox

[v6] kbuild: fix error when building from src rpm

Message ID 20130607162533.19157.25779.stgit@phlsvslse11.ph.intel.com (mailing list archive)
State New, archived
Headers show

Commit Message

Marciniszyn, Mike June 7, 2013, 4:25 p.m. UTC
The following issue can be reproduced with Linus' tree on
and x86_64 server.

>+ cp /home/user/rpmbuild-test/BUILDROOT/kernel-3.9.2.x86_64/boot/vmlinuz-3.9.2
>cp: missing destination file operand after
>/home/user/rpmbuild-test/BUILDROOT/kernel-3.9.2-1.x86_64/boot/vmlinuz-3.9.2'
>Try `cp --help' for more information.
>error: Bad exit status from /var/tmp/rpm-tmp.R4o0iI (%install)

Here are the commands to reproduce:

make defconfig
make rpm-pkg

Use the resulting src rpm to build as follows:

mkdir ~/rpmbuild-test
cd ~/rpmbuild-test
rpmbuild --rebuild --define "_topdir `pwd`" -vv ~/rpmbuild/SRPMS/kernel-3.10.0_rc1+-1.src.rpm

The issue is because the %install script uses $KBUILD_IMAGE and it hasn't
been set since it is only available in the kbuild system and not in the
%install script.

This patch adds a Makefile target to emit the image_name that can be used
and modifies the mkspec to use the dynamic name in %install.

Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
---
 Makefile               |    6 ++++++
 scripts/package/mkspec |    1 +
 2 files changed, 7 insertions(+)


--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

Marciniszyn, Mike June 7, 2013, 4:27 p.m. UTC | #1
> Subject: [PATCH v6] kbuild: fix error when building from src rpm

> 

This version fixes a spelling error in the Makefile patch.

Mike
Michal Marek June 23, 2013, 8:29 p.m. UTC | #2
Hi Mike, sorry for the late feedback.

Dne 7.6.2013 18:25, Mike Marciniszyn napsal(a):
> The following issue can be reproduced with Linus' tree on
> and x86_64 server.
> 
>> + cp /home/user/rpmbuild-test/BUILDROOT/kernel-3.9.2.x86_64/boot/vmlinuz-3.9.2
>> cp: missing destination file operand after
>> /home/user/rpmbuild-test/BUILDROOT/kernel-3.9.2-1.x86_64/boot/vmlinuz-3.9.2'
>> Try `cp --help' for more information.
>> error: Bad exit status from /var/tmp/rpm-tmp.R4o0iI (%install)
> 
> Here are the commands to reproduce:
> 
> make defconfig
> make rpm-pkg
> 
> Use the resulting src rpm to build as follows:
> 
> mkdir ~/rpmbuild-test
> cd ~/rpmbuild-test
> rpmbuild --rebuild --define "_topdir `pwd`" -vv ~/rpmbuild/SRPMS/kernel-3.10.0_rc1+-1.src.rpm
> 
> The issue is because the %install script uses $KBUILD_IMAGE and it hasn't
> been set since it is only available in the kbuild system and not in the
> %install script.
> 
> This patch adds a Makefile target to emit the image_name that can be used
> and modifies the mkspec to use the dynamic name in %install.
> 
> Signed-off-by: Mike Marciniszyn <mike.marciniszyn@intel.com>
> ---
>  Makefile               |    6 ++++++
>  scripts/package/mkspec |    1 +
>  2 files changed, 7 insertions(+)
> 
> diff --git a/Makefile b/Makefile
> index cd11e88..5b2217c 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -1275,6 +1275,12 @@ clean: $(clean-dirs)
>  		-o -name modules.builtin -o -name '.tmp_*.o.*' \
>  		-o -name '*.gcno' \) -type f -print | xargs rm -f
>  
> +# For probing for image name
> +# ---------------------------------------------------------------------------
> +.PHONY += image_name

The variable name is without the leading dot.


> +image_name: FORCE
> +	@echo $(KBUILD_IMAGE)

There is no need for FORCE, after you properly mark the target as phony.
Also, please move it next to the similar 'kernelrelease' and
'kernelversion' targets.

Michal
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Marciniszyn, Mike June 24, 2013, 12:54 p.m. UTC | #3
> There is no need for FORCE, after you properly mark the target as phony.

> Also, please move it next to the similar 'kernelrelease' and 'kernelversion'

> targets.

> 

> Michal There is a v7 patch that I think addresses all the issues:


http://marc.info/?l=linux-kbuild&m=137207812307394&w=2

Mike
diff mbox

Patch

diff --git a/Makefile b/Makefile
index cd11e88..5b2217c 100644
--- a/Makefile
+++ b/Makefile
@@ -1275,6 +1275,12 @@  clean: $(clean-dirs)
 		-o -name modules.builtin -o -name '.tmp_*.o.*' \
 		-o -name '*.gcno' \) -type f -print | xargs rm -f
 
+# For probing for image name
+# ---------------------------------------------------------------------------
+.PHONY += image_name
+image_name: FORCE
+	@echo $(KBUILD_IMAGE)
+
 # Generate tags for editors
 # ---------------------------------------------------------------------------
 quiet_cmd_tags = GEN     $@
diff --git a/scripts/package/mkspec b/scripts/package/mkspec
index fbbfd08..fdd3fbf 100755
--- a/scripts/package/mkspec
+++ b/scripts/package/mkspec
@@ -74,6 +74,7 @@  echo ""
 fi
 
 echo "%install"
+echo 'KBUILD_IMAGE=$(make image_name)'
 echo "%ifarch ia64"
 echo 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules'
 echo 'mkdir -p $RPM_BUILD_ROOT/lib/firmware'