We should really only install ld.so.conf files from packages
that actually have CONFIG_XEN enabled, but it would be
slightly messy to have only kernel-PAE.i686 and kernel.x86_64
include it.

Since it won't actually be used unless it's enabled by the
xen kernel at runtime, let's be lazy and have all variants
install them.

Index: devel/kernel.spec
===================================================================
--- devel.orig/kernel.spec      2008-07-23 14:05:27.000000000 +0100
+++ devel.orig/kernel.spec      2008-07-23 14:05:27.000000000 +0100
@@ -407,7 +407,7 @@ Summary: The Linux kernel
 #
 # The ld.so.conf.d file we install uses syntax older ldconfig's don't grok.
 #
-%define kernel_xen_conflicts glibc < 2.3.5-1, xen < 3.0.1
+%define nosegneg_conflicts glibc < 2.3.5-1, xen < 3.0.1
 
 # upto and including kernel 2.4.9 rpms, the 4Gb+ kernel was called 
kernel-enterprise
 # now that the smp kernel offers this capability, obsolete the old kernel
@@ -440,6 +440,7 @@ Provides: kernel-uname-r = %{KVERREL}%{?
 Requires(pre): %{kernel_prereq}\
 Conflicts: %{kernel_dot_org_conflicts}\
 Conflicts: %{package_conflicts}\
+Conflicts: %{nosegneg_conflicts}\
 %{?1:%{expand:%%{?kernel%{?1:_%{1}}_conflicts:Conflicts: 
%%{kernel%{?1:_%{1}}_conflicts}}}}\
 %{?1:%{expand:%%{?kernel%{?1:_%{1}}_obsoletes:Obsoletes: 
%%{kernel%{?1:_%{1}}_obsoletes}}}}\
 %{?1:%{expand:%%{?kernel%{?1:_%{1}}_provides:Provides: 
%%{kernel%{?1:_%{1}}_provides}}}}\
@@ -1440,6 +1441,18 @@ BuildKernel() {
     mkdir -p $RPM_BUILD_ROOT/usr/src/kernels
     mv $RPM_BUILD_ROOT/lib/modules/$KernelVer/build $RPM_BUILD_ROOT/$DevelDir
     ln -sf ../../..$DevelDir $RPM_BUILD_ROOT/lib/modules/$KernelVer/build
+
+    mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
+    rm -f $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-$KernelVer.nosegneg.conf
+    cat > $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-$KernelVer.nosegneg.conf 
<<EOF
+# This directive teaches ldconfig to search in nosegneg subdirectories
+# and cache the DSOs there with extra bit 0 set in their hwcap match
+# fields.  In Xen guest kernels, the vDSO tells the dynamic linker to
+# search in nosegneg subdirectories and to match this extra hwcap bit
+# in the ld.so.cache file.
+hwcap 0 nosegneg
+EOF
+    chmod 444 
$RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-$KernelVer.nosegneg.conf
 }
 
 ###
@@ -1521,22 +1534,6 @@ BuildKernel vmlinux vmlinux kdump vmlinu
 
 cd linux-%{kversion}.%{_target_cpu}
 
-%if %{includexen}
-%if %{with_xen}
-mkdir -p $RPM_BUILD_ROOT/etc/ld.so.conf.d
-rm -f $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-%{KVERREL}.xen.conf
-cat > $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-%{KVERREL}.xen.conf <<\EOF
-# This directive teaches ldconfig to search in nosegneg subdirectories
-# and cache the DSOs there with extra bit 0 set in their hwcap match
-# fields.  In Xen guest kernels, the vDSO tells the dynamic linker to
-# search in nosegneg subdirectories and to match this extra hwcap bit
-# in the ld.so.cache file.
-hwcap 0 nosegneg
-EOF
-chmod 444 $RPM_BUILD_ROOT/etc/ld.so.conf.d/kernelcap-%{KVERREL}.xen.conf
-%endif
-%endif
-
 %if %{with_doc}
 mkdir -p $RPM_BUILD_ROOT/usr/share/doc/kernel-doc-%{kversion}/Documentation
 
@@ -1745,6 +1742,7 @@ fi
 /lib/modules/%{KVERREL}%{?2:.%{2}}/modules.networking\
 /lib/modules/%{KVERREL}%{?2:.%{2}}/modules.order\
 %ghost /boot/initrd-%{KVERREL}%{?2:.%{2}}.img\
+/etc/ld.so.conf.d/kernelcap-%{KVERREL}%{?2:.%{2}}.nosegneg.conf\
 %{?-e:%{-e*}}\
 %{expand:%%files %{?2:%{2}-}devel}\
 %defattr(-,root,root)\
@@ -1777,7 +1775,7 @@ fi
 %kernel_variant_files %{with_pae} PAE
 %kernel_variant_files %{with_pae_debug} PAEdebug
 %kernel_variant_files -k vmlinux %{with_kdump} kdump
-%kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL}.xen -e 
/etc/ld.so.conf.d/kernelcap-%{KVERREL}.xen.conf %{with_xen} xen
+%kernel_variant_files -a /%{image_install_path}/xen*-%{KVERREL}.xen 
%{with_xen} xen
 
 %changelog
 * Tue Jul 22 2008 Dave Jones <[EMAIL PROTECTED]>

-- 

_______________________________________________
Fedora-kernel-list mailing list
Fedora-kernel-list@redhat.com
https://www.redhat.com/mailman/listinfo/fedora-kernel-list

Reply via email to