wok-undigest annotate ovzkernel/receipt @ rev 1223
copied libxext recipe from wok-next
author | Hans-G?nter Theisgen |
---|---|
date | Fri Nov 15 17:38:29 2019 +0100 (2019-11-15) |
parents | d69a9ebd2ff0 |
children |
rev | line source |
---|---|
erjo@218 | 1 # SliTaz package receipt. |
erjo@218 | 2 |
erjo@218 | 3 PACKAGE="ovzkernel" |
erjo@218 | 4 VERSION="2.6.32" |
pascal@736 | 5 CATEGORY="base-system" |
erjo@218 | 6 SHORT_DESC="Vanilla Linux Kernel for OpenVZ" |
erjo@218 | 7 MAINTAINER="erjo@slitaz.org" |
pascal@1038 | 8 LICENSE="GPL2" |
erjo@218 | 9 DEPENDS="depmod" |
pascal@943 | 10 BUILD_DEPENDS="slitaz-toolchain perl wget" |
erjo@218 | 11 SOURCE="linux" |
pascal@940 | 12 TARBALL="$SOURCE-$VERSION.tar.xz" |
erjo@218 | 13 WEB_SITE="http://www.kernel.org/" |
pascal@955 | 14 WGET_URL="https://www.kernel.org/pub/linux/kernel/v${VERSION:0:3}/$TARBALL" |
erjo@218 | 15 PROVIDE="linux" |
erjo@218 | 16 EXTRAVERSION="-i686" |
erjo@218 | 17 |
erjo@218 | 18 # Rules to configure and make the package. |
erjo@218 | 19 compile_rules() |
erjo@218 | 20 { |
erjo@218 | 21 LOCALVERSION="-ovz" ; export LOCALVERSION |
erjo@218 | 22 |
erjo@218 | 23 cd $src |
erjo@218 | 24 |
erjo@218 | 25 [ -d OpenVZ ] && rm -rf openvz || mkdir OpenVZ |
erjo@218 | 26 |
pascal@974 | 27 zcat $stuff/patch-dzhanibekov.1-combined.gz > OpenVZ/patch-dzhanibekov.1-combined.u |
pascal@974 | 28 cp $stuff/*.ovz OpenVZ |
pascal@974 | 29 cp $stuff/*.sh OpenVZ |
erjo@218 | 30 |
erjo@218 | 31 # Apply patches |
erjo@218 | 32 while read patch_file; do |
erjo@218 | 33 echo "$patch_file" >> OpenVZ/patches |
pascal@974 | 34 #~ cp $stuff/$patch_file OpenVZ |
erjo@218 | 35 if [ -f done.$patch_file ]; then |
erjo@218 | 36 echo "Skipping $patch_file" |
erjo@218 | 37 continue |
erjo@218 | 38 fi |
erjo@218 | 39 echo "Apply $patch_file" |
erjo@218 | 40 patch -p1 < OpenVZ/$patch_file || exit 1 |
erjo@218 | 41 touch done.$patch_file |
erjo@218 | 42 done <<EOT |
erjo@218 | 43 patch-dzhanibekov.1-combined.u |
erjo@218 | 44 EOT |
pascal@977 | 45 sed -i 's/m elf_x86_64/m64/;s/m elf_i386/m32/' arch/x86/vdso/Makefile |
pascal@988 | 46 sed -i 's|video4linux/ ||' Documentation/Makefile |
pascal@977 | 47 |
erjo@218 | 48 # Prepare to build |
erjo@218 | 49 make mrproper |
erjo@218 | 50 |
erjo@218 | 51 # Copy old kernel config |
erjo@218 | 52 cp OpenVZ/linux-2.6.32-i686.config.ovz .config |
erjo@218 | 53 |
erjo@218 | 54 # Add LOCALVERSION support |
erjo@218 | 55 sed -i s/CONFIG_LOCALVERSION_AUTO.*/CONFIG_LOCALVERSION_AUTO=y/ .config |
erjo@218 | 56 |
erjo@218 | 57 # Disable Source Versio Control detection |
pascal@991 | 58 [ -f scripts/setlocalversion ] && |
pascal@991 | 59 cp scripts/setlocalversion scripts/setlocalversion.disabled && |
pascal@991 | 60 sed -i '1!d' scripts/setlocalversion |
erjo@218 | 61 |
erjo@218 | 62 # Apply kernel config and build |
pascal@955 | 63 yes '' | make oldconfig && \ |
erjo@218 | 64 make LOCALVERSION=${LOCALVERSION} prepare |
pascal@977 | 65 make bzImage && |
pascal@977 | 66 make modules && |
erjo@218 | 67 |
erjo@218 | 68 # Install modules and headers |
pascal@991 | 69 make -j 1 INSTALL_MOD_PATH=$_pkg modules_install 2>&1 | grep -v modules.builtin && |
pascal@991 | 70 make -j 1 INSTALL_HDR_PATH=$_pkg/usr headers_install |
erjo@218 | 71 |
erjo@218 | 72 # Get kernel release |
erjo@218 | 73 KERNELRELEASE=$( cat include/config/kernel.release 2> /dev/null) ; export KERNELRELEASE |
erjo@218 | 74 |
erjo@218 | 75 [ -s arch/x86/boot/bzImage ] || return 1 |
pascal@991 | 76 mkdir -p $_pkg/boot 2> /dev/null |
pascal@991 | 77 cp -a arch/x86/boot/bzImage $_pkg/boot/vmlinuz-${KERNELRELEASE} |
erjo@218 | 78 |
erjo@218 | 79 # Compress all modules. |
pascal@991 | 80 $WOK/$PACKAGE/stuff/gztazmod.sh $_pkg/lib/modules/${KERNELRELEASE} |
erjo@218 | 81 ln System.map System.map-modules |
erjo@218 | 82 ln Module.symvers Module.symvers-modules |
erjo@218 | 83 } |
erjo@218 | 84 |
erjo@218 | 85 # Rules to gen a SliTaz package suitable for Tazpkg. |
erjo@218 | 86 genpkg_rules() |
erjo@218 | 87 { |
erjo@218 | 88 local path |
erjo@218 | 89 KERNELRELEASE=$( cat $src/include/config/kernel.release 2> /dev/null) |
erjo@218 | 90 path=$fs/lib/modules/${KERNELRELEASE}/kernel |
erjo@218 | 91 |
erjo@218 | 92 mkdir -p $fs/lib \ |
erjo@218 | 93 $fs/boot \ |
erjo@218 | 94 $fs/lib/modules/${KERNELRELEASE} \ |
erjo@218 | 95 $path \ |
erjo@218 | 96 $fs/etc/ovzkernel |
erjo@218 | 97 |
erjo@218 | 98 #cp -a $_pkg/lib/modules $fs/lib |
erjo@218 | 99 cp -a $_pkg/lib/firmware $fs/lib |
erjo@218 | 100 cp -a $_pkg/boot $fs/ |
erjo@218 | 101 |
erjo@218 | 102 #~ # Get the base modules |
erjo@218 | 103 export src |
erjo@218 | 104 export _pkg |
erjo@218 | 105 |
erjo@218 | 106 cp -a $src/include/config/kernel.release $fs/etc/ovzkernel |
erjo@218 | 107 cp -a $_pkg/lib/modules/${KERNELRELEASE}/mo* \ |
erjo@218 | 108 $fs/lib/modules/${KERNELRELEASE} |
erjo@218 | 109 |
erjo@218 | 110 $src/OpenVZ/list_modules.sh ${KERNELRELEASE} \ |
pascal@974 | 111 $(cat $stuff/modules-$VERSION.list) > $src/modules.list |
erjo@218 | 112 while read module; do |
erjo@218 | 113 dir=$(dirname $module) |
erjo@218 | 114 [ -d $path/$dir ] || mkdir -p $path/$dir |
erjo@218 | 115 cp -a $_pkg/lib/modules/${KERNELRELEASE}/kernel/$module $path/$dir |
erjo@218 | 116 done < $src/modules.list |
erjo@218 | 117 |
erjo@218 | 118 # Remove unresolved links |
erjo@218 | 119 rm -f $fs/lib/modules/${KERNELRELEASE}/build |
erjo@218 | 120 rm -f $fs/lib/modules/${KERNELRELEASE}/source |
erjo@218 | 121 # Cook all packages with a kernel module |
erjo@218 | 122 #~ for i in $(cd $WOK ; ls -d ovzkernel-*; cd -) |
erjo@218 | 123 #~ do |
erjo@218 | 124 #~ tazwok cook ${i%/receipt} |
erjo@218 | 125 #~ done |
erjo@218 | 126 } |
erjo@218 | 127 |
erjo@218 | 128 # Pre and post install commands for Tazpkg. |
erjo@218 | 129 post_install() |
erjo@218 | 130 { |
erjo@218 | 131 echo "Processing post-install commands..." |
erjo@218 | 132 KERNELRELEASE=$(cat $1/etc/ovzkernel/kernel.release) |
erjo@218 | 133 |
erjo@218 | 134 chroot "$1/" depmod -a ${KERNELRELEASE} |
erjo@218 | 135 |
erjo@218 | 136 # GRUB stuff. |
erjo@218 | 137 if [ -f "$1/boot/grub/menu.lst" ]; then |
erjo@218 | 138 root_dev=`cat $1/boot/grub/menu.lst | grep root= | sed 's/.*root=\([^ ]*\).*/\1/' | head -n 1` |
erjo@218 | 139 grub_dev=`cat $1/boot/grub/menu.lst | grep "root (" | head -n 1` |
erjo@218 | 140 # Add new kernel entry in case of upgrade for installed system. |
erjo@218 | 141 if ! grep -q ${KERNELRELEASE} $1/boot/grub/menu.lst; then |
erjo@218 | 142 cat >> $1/boot/grub/menu.lst << EOT |
erjo@218 | 143 |
erjo@218 | 144 title SliTaz GNU/Linux (Kernel ${KERNELRELEASE}) |
erjo@218 | 145 $grub_dev |
erjo@218 | 146 kernel /boot/vmlinuz-${KERNELRELEASE} root=$root_dev |
erjo@218 | 147 EOT |
erjo@218 | 148 fi |
erjo@218 | 149 # Display information message. |
erjo@218 | 150 cat <<EOT |
erjo@218 | 151 ---- |
erjo@218 | 152 GRUB is installed, these tree lines must be in your /boot/grub/menu.lst: |
erjo@218 | 153 |
erjo@218 | 154 title SliTaz GNU/Linux (Kernel ${KERNELRELEASE}) |
erjo@218 | 155 $grub_dev |
erjo@218 | 156 kernel /boot/vmlinuz-${KERNELRELEASE} root=$root_dev |
erjo@218 | 157 ---- |
erjo@218 | 158 EOT |
erjo@218 | 159 fi |
erjo@218 | 160 } |
erjo@218 | 161 |
erjo@218 | 162 clean_wok() |
erjo@218 | 163 { |
erjo@218 | 164 [ -d ${SOURCE}-${VERSION} ] && rm -rf $SOURCE-$VERSION |
erjo@218 | 165 } |