On Thu, 2008-02-28 at 16:03 -0500, Doug Chapman wrote:
A recent kernel change has change the behavior of chmod on fat filesystems:
commit 19c561a60ffe52df88dd63de0bff480ca094efe4 Author: Jan Engelhardt jengelh@computergmbh.de Date: Wed Feb 6 01:36:08 2008 -0800
fs/fat/: refine chmod checks
After this change rpm installs of kernels fail on ia64. This is because efi systems use vfat for the boot filesystem. RPM installs fail because cpio gets a error on chmod (before this kernel change it would fail silently).
My suggestion was to have anaconda set the "quiet" option (which makes chmod failures silent) for /boot/efi in fstab however they disagree (see BZ 435319).
So, it seems like the options are: revert the patch (probably not a good idea) make "quiet" the default for fat filesystems, or, convince anaconda to add "quiet" to the fstab. Or, hopefully someone else has a better idea.
thanks,
- Doug
Actually I came up with what I think is a cleaner fix for this. Since the default file permission on files on vfat are 755 anyway if the kernel is mode 755 rpm doesn't complain.
Anybody have thoughts on this specfile change? I build this as a scratch build on our ia64 koji server and it installs cleanly.
- Doug
*** kernel.spec.bad 2008-02-28 19:58:55.000000000 -0500 --- kernel.spec 2008-02-28 21:39:57.000000000 -0500 *************** BuildKernel() { *** 1301,1306 **** --- 1301,1310 ---- $CopyKernel $KernelImage \ $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer
+ %ifarch ia64 + chmod 755 $RPM_BUILD_ROOT/%{image_install_path}/$InstallName-$KernelVer + %endif + mkdir -p $RPM_BUILD_ROOT/lib/modules/$KernelVer make -s ARCH=$Arch INSTALL_MOD_PATH=$RPM_BUILD_ROOT modules_install KERNELRELEASE=$KernelVer %ifarch %{vdso_arches}