[Fedora-xen] Re: [Patch] fix rpmbuild for xen-ia64

Aron Griffis aron at hp.com
Fri May 26 01:08:07 UTC 2006


Akio Takebe wrote:  [Thu May 25 2006, 07:53:11PM EDT]
> I fixed my patch to install xenU to /boot.
> How about this?
> 
> Signed-off-by: Akio Takebe <takebe_akio at jp.fujitsu.com>

Thanks, comments below.

> diff -r f8ab3683a4fb SPECS/kernel-2.6.spec
> --- a/SPECS/kernel-2.6.spec	Wed May 24 22:19:50 2006 -0400
> +++ b/SPECS/kernel-2.6.spec	Sun May 28 23:31:13 2006 +0900
> @@ -3,7 +3,7 @@ Summary: The Linux kernel (the core of t
>  # What parts do we want to build?  We must build at least one kernel.
>  # These are the kernels that are built IF the architecture allows it.
>  
> -%define buildup 1
> +%define buildup 0
>  %define buildsmp 0
>  %define buildpae 0
>  # Whether to apply the Xen patches, leave this enabled.
> @@ -12,7 +12,7 @@ Summary: The Linux kernel (the core of t
>  %define buildxen 1
>  %define buildxenPAE 0
>  %define builddoc 0
> -%define buildkdump 1
> +%define buildkdump 0
>  %define buildheaders 0

These defines shouldn't be changed.  They're overridden by the
architecture-specific parts lower down.  I left this out.

>  # Versions of various parts
> @@ -1146,12 +1146,16 @@ BuildKernel() {
>      mkdir -p $RPM_BUILD_ROOT/%{image_install_path}
>      install -m 644 .config $RPM_BUILD_ROOT/boot/config-$KernelVer
>      install -m 644 System.map $RPM_BUILD_ROOT/boot/System.map-
> $KernelVer
> -    cp $KernelImage $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz-
> $KernelVer
> +    if [ x"$Flavour" == x"xenU" ]; then
> +        cp $KernelImage $RPM_BUILD_ROOT/boot/vmlinuz-$KernelVer
> +    else
> +        cp $KernelImage $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz-
> $KernelVer
> +    fi

This is a good idea, but doesn't cover the PAE kernels for the other
architectures.  Thanks for showing it can be easier than my initial
attempt.  Here is what I committed:

+    if [[ $Flavour == *xenU* ]]; then
+      # xenU kernels should always install to /boot
+      # because they're never needed for system boot
+      cp $KernelImage $RPM_BUILD_ROOT/root/vmlinuz-$KernelVer
+    else
+      cp $KernelImage $RPM_BUILD_ROOT/%{image_install_path}/vmlinuz-$KernelVer
+    fi

> -    if [ "$Flavour" == "kdump" ]; then
> +    if [ x"$Flavour" == x"kdump" ]; then

This shell technique was popularized as a way to guarantee a string
isn't empty, to prevent poor interpreters from exploding.  It was
never necessary if quoting was done right, and is certainly not needed
with bash :-)

Regards,
Aron
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 191 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/fedora-xen/attachments/20060525/49ccb57f/attachment.sig>


More information about the Fedora-xen mailing list