diff options
Diffstat (limited to 'scripts/package/mkspec')
| -rwxr-xr-x | scripts/package/mkspec | 47 |
1 files changed, 41 insertions, 6 deletions
diff --git a/scripts/package/mkspec b/scripts/package/mkspec index fbbfd08853d3..13957602f7ca 100755 --- a/scripts/package/mkspec +++ b/scripts/package/mkspec | |||
| @@ -1,7 +1,7 @@ | |||
| 1 | #!/bin/sh | 1 | #!/bin/sh |
| 2 | # | 2 | # |
| 3 | # Output a simple RPM spec file that uses no fancy features requiring | 3 | # Output a simple RPM spec file. |
| 4 | # RPM v4. This is intended to work with any RPM distro. | 4 | # This version assumes a minimum of RPM 4.0.3. |
| 5 | # | 5 | # |
| 6 | # The only gothic bit here is redefining install_post to avoid | 6 | # The only gothic bit here is redefining install_post to avoid |
| 7 | # stripping the symbols from files in the kernel which we want | 7 | # stripping the symbols from files in the kernel which we want |
| @@ -59,6 +59,14 @@ echo "header files define structures and constants that are needed for" | |||
| 59 | echo "building most standard programs and are also needed for rebuilding the" | 59 | echo "building most standard programs and are also needed for rebuilding the" |
| 60 | echo "glibc package." | 60 | echo "glibc package." |
| 61 | echo "" | 61 | echo "" |
| 62 | echo "%package devel" | ||
| 63 | echo "Summary: Development package for building kernel modules to match the $__KERNELRELEASE kernel" | ||
| 64 | echo "Group: System Environment/Kernel" | ||
| 65 | echo "AutoReqProv: no" | ||
| 66 | echo "%description -n kernel-devel" | ||
| 67 | echo "This package provides kernel headers and makefiles sufficient to build modules" | ||
| 68 | echo "against the $__KERNELRELEASE kernel package." | ||
| 69 | echo "" | ||
| 62 | 70 | ||
| 63 | if ! $PREBUILT; then | 71 | if ! $PREBUILT; then |
| 64 | echo "%prep" | 72 | echo "%prep" |
| @@ -74,15 +82,17 @@ echo "" | |||
| 74 | fi | 82 | fi |
| 75 | 83 | ||
| 76 | echo "%install" | 84 | echo "%install" |
| 85 | echo 'KBUILD_IMAGE=$(make image_name)' | ||
| 77 | echo "%ifarch ia64" | 86 | echo "%ifarch ia64" |
| 78 | echo 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules' | 87 | echo 'mkdir -p $RPM_BUILD_ROOT/boot/efi $RPM_BUILD_ROOT/lib/modules' |
| 79 | echo 'mkdir -p $RPM_BUILD_ROOT/lib/firmware' | ||
| 80 | echo "%else" | 88 | echo "%else" |
| 81 | echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules' | 89 | echo 'mkdir -p $RPM_BUILD_ROOT/boot $RPM_BUILD_ROOT/lib/modules' |
| 82 | echo 'mkdir -p $RPM_BUILD_ROOT/lib/firmware' | ||
| 83 | echo "%endif" | 90 | echo "%endif" |
| 91 | echo 'mkdir -p $RPM_BUILD_ROOT'"/lib/firmware/$KERNELRELEASE" | ||
| 84 | 92 | ||
| 85 | echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{?_smp_mflags} KBUILD_SRC= modules_install' | 93 | echo 'INSTALL_MOD_PATH=$RPM_BUILD_ROOT make %{?_smp_mflags} KBUILD_SRC= mod-fw= modules_install' |
| 94 | echo 'INSTALL_FW_PATH=$RPM_BUILD_ROOT'"/lib/firmware/$KERNELRELEASE" | ||
| 95 | echo 'make INSTALL_FW_PATH=$INSTALL_FW_PATH' firmware_install | ||
| 86 | echo "%ifarch ia64" | 96 | echo "%ifarch ia64" |
| 87 | echo 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/efi/vmlinuz-$KERNELRELEASE" | 97 | echo 'cp $KBUILD_IMAGE $RPM_BUILD_ROOT'"/boot/efi/vmlinuz-$KERNELRELEASE" |
| 88 | echo 'ln -s '"efi/vmlinuz-$KERNELRELEASE" '$RPM_BUILD_ROOT'"/boot/" | 98 | echo 'ln -s '"efi/vmlinuz-$KERNELRELEASE" '$RPM_BUILD_ROOT'"/boot/" |
| @@ -107,18 +117,43 @@ echo 'mv vmlinux.bz2 $RPM_BUILD_ROOT'"/boot/vmlinux-$KERNELRELEASE.bz2" | |||
| 107 | echo 'mv vmlinux.orig vmlinux' | 117 | echo 'mv vmlinux.orig vmlinux' |
| 108 | echo "%endif" | 118 | echo "%endif" |
| 109 | 119 | ||
| 120 | echo 'rm -f $RPM_BUILD_ROOT'"/lib/modules/$KERNELRELEASE/{build,source}" | ||
| 121 | echo "mkdir -p "'$RPM_BUILD_ROOT'"/usr/src/kernels/$KERNELRELEASE" | ||
| 122 | echo "EXCLUDES=\"$RCS_TAR_IGNORE --exclude .tmp_versions --exclude=*vmlinux* --exclude=*.o --exclude=*.ko --exclude=*.cmd --exclude=Documentation --exclude=firmware --exclude .config.old --exclude .missing-syscalls.d\"" | ||
| 123 | echo "tar "'$EXCLUDES'" -cf- . | (cd "'$RPM_BUILD_ROOT'"/usr/src/kernels/$KERNELRELEASE;tar xvf -)" | ||
| 124 | echo 'cd $RPM_BUILD_ROOT'"/lib/modules/$KERNELRELEASE" | ||
| 125 | echo "ln -sf /usr/src/kernels/$KERNELRELEASE build" | ||
| 126 | echo "ln -sf /usr/src/kernels/$KERNELRELEASE source" | ||
| 127 | |||
| 110 | echo "" | 128 | echo "" |
| 111 | echo "%clean" | 129 | echo "%clean" |
| 112 | echo 'rm -rf $RPM_BUILD_ROOT' | 130 | echo 'rm -rf $RPM_BUILD_ROOT' |
| 113 | echo "" | 131 | echo "" |
| 132 | echo "%post" | ||
| 133 | echo "if [ -x /sbin/installkernel -a -r /boot/vmlinuz-$KERNELRELEASE -a -r /boot/System.map-$KERNELRELEASE ]; then" | ||
| 134 | echo "cp /boot/vmlinuz-$KERNELRELEASE /boot/vmlinuz-$KERNELRELEASE-rpm" | ||
| 135 | echo "cp /boot/System.map-$KERNELRELEASE /boot/System.map-$KERNELRELEASE-rpm" | ||
| 136 | echo "rm -f /boot/vmlinuz-$KERNELRELEASE /boot/System.map-$KERNELRELEASE" | ||
| 137 | echo "/sbin/installkernel $KERNELRELEASE /boot/vmlinuz-$KERNELRELEASE-rpm /boot/System.map-$KERNELRELEASE-rpm" | ||
| 138 | echo "rm -f /boot/vmlinuz-$KERNELRELEASE-rpm /boot/System.map-$KERNELRELEASE-rpm" | ||
| 139 | echo "fi" | ||
| 140 | echo "" | ||
| 114 | echo "%files" | 141 | echo "%files" |
| 115 | echo '%defattr (-, root, root)' | 142 | echo '%defattr (-, root, root)' |
| 116 | echo "%dir /lib/modules" | 143 | echo "%dir /lib/modules" |
| 117 | echo "/lib/modules/$KERNELRELEASE" | 144 | echo "/lib/modules/$KERNELRELEASE" |
| 118 | echo "/lib/firmware" | 145 | echo "%exclude /lib/modules/$KERNELRELEASE/build" |
| 146 | echo "%exclude /lib/modules/$KERNELRELEASE/source" | ||
| 147 | echo "/lib/firmware/$KERNELRELEASE" | ||
| 119 | echo "/boot/*" | 148 | echo "/boot/*" |
| 120 | echo "" | 149 | echo "" |
| 121 | echo "%files headers" | 150 | echo "%files headers" |
| 122 | echo '%defattr (-, root, root)' | 151 | echo '%defattr (-, root, root)' |
| 123 | echo "/usr/include" | 152 | echo "/usr/include" |
| 124 | echo "" | 153 | echo "" |
| 154 | echo "%files devel" | ||
| 155 | echo '%defattr (-, root, root)' | ||
| 156 | echo "/usr/src/kernels/$KERNELRELEASE" | ||
| 157 | echo "/lib/modules/$KERNELRELEASE/build" | ||
| 158 | echo "/lib/modules/$KERNELRELEASE/source" | ||
| 159 | echo "" | ||
