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 }