diff options
Diffstat (limited to 'kernels/linux-libre-xen/PKGBUILD')
-rw-r--r-- | kernels/linux-libre-xen/PKGBUILD | 100 |
1 files changed, 48 insertions, 52 deletions
diff --git a/kernels/linux-libre-xen/PKGBUILD b/kernels/linux-libre-xen/PKGBUILD index bdbc9d9d8..4514af889 100644 --- a/kernels/linux-libre-xen/PKGBUILD +++ b/kernels/linux-libre-xen/PKGBUILD @@ -1,6 +1,6 @@ -# $Id$ -# Maintainer (Arch): Tobias Powalowski <tpowa@archlinux.org> -# Maintainer (Arch): Thomas Baechler <thomas@archlinux.org> +# $Id: PKGBUILD 216782 2014-07-11 06:19:46Z tpowa $ +# Contributor (Arch): Tobias Powalowski <tpowa@archlinux.org> +# Contributor (Arch): Thomas Baechler <thomas@archlinux.org> # Maintainer: André Silva <emulatorman@parabola.nu> # Contributor: Nicolás Reynolds <fauno@kiwwwi.com.ar> # Contributor: Sorin-Mihai Vârgolici <smv@yobicore.org> @@ -8,47 +8,41 @@ # Contributor: Márcio Silva <coadde@parabola.nu> # Contributor: Luke Shumaker <lukeshu@sbcglobal.net> -pkgbase=linux-libre-xen - -_srcbase=linux -_srcmajor=3.15 -_srcminor=3 -pkgver=${_srcmajor}.${_srcminor} - +pkgbase=linux-libre-xen # Build stock -LIBRE-XEN kernel +#pkgbase=linux-libre-custom # Build kernel with a different name +_basekernel=3.15 +pkgver=${_basekernel}.5 pkgrel=2 arch=('i686') url="http://linux-libre.fsfla.org/" license=('GPL2') makedepends=('xmlto' 'docbook-xsl' 'kmod' 'inetutils' 'bc') options=('!strip') -source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_srcmajor}-gnu/linux-libre-${_srcmajor}-gnu.tar.xz" +source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gnu/linux-libre-${_basekernel}-gnu.tar.xz" + "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_basekernel}-gnu-${pkgver}-gnu.xz" # the main kernel config files 'config' # standard config files for mkinitcpio ramdisk - 'linux.preset' + "${pkgbase}.preset" 'boot-logo.patch' 'change-default-console-loglevel.patch' - ) -if [[ $pkgver != $_srcmajor ]]; then - source+=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-gnu/patch-${_srcmajor}-gnu-${pkgver}-gnu.xz") -fi - + '0013-efistub-fix.patch') sha256sums=('93450dc189131b6a4de862f35c5087a58cc7bae1c24caa535d2357cc3301b688' + '17ee14d488733298eef21d4a82986376199d92150ed9de00c25f5d9997eb02ae' '276d16a06e9fa55b79e2f5604a500071b6a42f00836175aa3e4b045f469d43a8' - 'f0d90e756f14533ee67afda280500511a62465b4f76adcc5effa95a40045179c' + '7a475ada892857397cf80d2de777825ae94758dc2d9dfa3754ae3d670f4a2f02' '8303b426b1a6dce456b2350003558ae312d21cab0ae6c1f0d7b9d21395f4e177' 'faced4eb4c47c4eb1a9ee8a5bf8a7c4b49d6b4d78efbe426e410730e6267d182' - 'dfd23e705edfc0f6fcf0df1a98e58ec7ae835ec780d7092810b664093d91cd5f') + '937dc895b4f5948381775a75bd198ed2f157a9f356da0ab5a5006f9f1dacde5c') -_srcname=linux-${_srcmajor} -_kernelname=${pkgbase#linux} -_replaces=(kernel26 kernel26-libre linux) +_kernelname=${pkgbase#linux-libre} +_localversionname=-libre-xen prepare() { - cd "${srcdir}/${_srcname}" + cd "${srcdir}/linux-${_basekernel}" - if [ "${_srcmajor}" != "${pkgver}" ]; then - patch -p1 -i "${srcdir}/patch-${_srcmajor}-gnu-${pkgver}-gnu" + if [ "${_basekernel}" != "${pkgver}" ]; then + patch -p1 -i "${srcdir}/patch-${_basekernel}-gnu-${pkgver}-gnu" fi # add freedo as boot logo @@ -62,10 +56,14 @@ prepare() { # (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227) patch -p1 -i "${srcdir}/change-default-console-loglevel.patch" - cat "${srcdir}/config" > ./.config + # fix efistub hang #33745 + # https://git.kernel.org/cgit/linux/kernel/git/mfleming/efi.git/patch/?id=c7fb93ec51d462ec3540a729ba446663c26a0505 + patch -Np1 -i "${srcdir}/0013-efistub-fix.patch" + + cat "${srcdir}/config" > ./.config # simpler if [ "${_kernelname}" != "" ]; then - sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config + sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_localversionname}\"|g" ./.config sed -i "s|CONFIG_LOCALVERSION_AUTO=.*|CONFIG_LOCALVERSION_AUTO=n|" ./.config fi @@ -91,23 +89,23 @@ prepare() { } build() { - cd "${srcdir}/${_srcname}" + cd "${srcdir}/linux-${_basekernel}" make ${MAKEFLAGS} LOCALVERSION= bzImage modules } _package() { - pkgdesc="The ${pkgbase/linux/Linux} kernel and modules" + pkgdesc="The ${pkgbase^} kernel and modules with Xen guest support" [ "${pkgbase}" = "linux-libre" ] && groups=('base') depends=('coreutils' 'linux-libre-firmware' 'kmod' 'mkinitcpio>=0.7') optdepends=('crda: to set the correct wireless channels of your country') - provides=( "${_replaces[@]/%/${_kernelname#-libre}=${pkgver}}") - conflicts=("${_replaces[@]/%/${_kernelname#-libre}}") - replaces=( "${_replaces[@]/%/${_kernelname#-libre}}") + provides=("kernel26${_kernelname}=${pkgver}" "linux${_kernelname}=${pkgver}") + conflicts=("kernel26${_kernelname}" "kernel26-libre${_kernelname}" "linux${_kernelname}") + replaces=("kernel26${_kernelname}" "kernel26-libre${_kernelname}" "linux${_kernelname}") backup=("etc/mkinitcpio.d/${pkgbase}.preset") - install=linux.install + install=${pkgbase}.install - cd "${srcdir}/${_srcname}" + cd "${srcdir}/linux-${_basekernel}" KARCH=x86 @@ -118,7 +116,7 @@ _package() { mkdir -p "${pkgdir}"/{lib/modules,lib/firmware,boot} make LOCALVERSION= INSTALL_MOD_PATH="${pkgdir}" modules_install - cp arch/$KARCH/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}" + cp arch/${KARCH}/boot/bzImage "${pkgdir}/boot/vmlinuz-${pkgbase}" # set correct depmod command for install cp -f "${startdir}/${install}" "${startdir}/${install}.pkg" @@ -129,9 +127,9 @@ _package() { -i "${startdir}/${install}" # install mkinitcpio preset file for kernel - install -D -m644 "${srcdir}/linux.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" + install -D -m644 "${srcdir}/${pkgbase}.preset" "${pkgdir}/etc/mkinitcpio.d/${pkgbase}.preset" sed \ - -e "1s|'linux.*'|'${pkgbase}'|" \ + -e "1s|'linux*.*'|'${pkgbase}'|" \ -e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgbase}\"|" \ -e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgbase}.img\"|" \ -e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgbase}-fallback.img\"|" \ @@ -144,10 +142,10 @@ _package() { # gzip -9 all modules to save 100MB of space find "${pkgdir}" -name '*.ko' -exec gzip -9 {} \; # make room for external modules - ln -s "../extramodules-${_basekernel}${_kernelname:--ARCH}" "${pkgdir}/lib/modules/${_kernver}/extramodules" + ln -s "../extramodules-${_basekernel}${_localversionname:--libre-xen}" "${pkgdir}/lib/modules/${_kernver}/extramodules" # add real version for building modules and running depmod from post_install/upgrade - mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}" - echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--ARCH}/version" + mkdir -p "${pkgdir}/lib/modules/extramodules-${_basekernel}${_localversionname:--libre-xen}" + echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_localversionname:--libre-xen}/version" # Now we call depmod... depmod -b "${pkgdir}" -F System.map "${_kernver}" @@ -161,16 +159,14 @@ _package() { } _package-headers() { - pkgdesc="Header files and scripts for building modules for ${pkgbase/linux/Linux} kernel" - provides=( "${_replaces[@]/%/${_kernelname#-libre}-headers=${pkgver}}") - conflicts=("${_replaces[@]/%/${_kernelname#-libre}-headers}") - replaces=( "${_replaces[@]/%/${_kernelname#-libre}-headers}") - - KARCH=x86 + pkgdesc="Header files and scripts for building modules for ${pkgbase^} kernel" + provides=("kernel26${_kernelname}-headers=${pkgver}" "linux${_kernelname}-headers=${pkgver}") + conflicts=("kernel26${_kernelname}-headers" "kernel26-libre${_kernelname}-headers" "linux${_kernelname}-headers") + replaces=("kernel26${_kernelname}-headers" "kernel26-libre${_kernelname}-headers" "linux${_kernelname}-headers") install -dm755 "${pkgdir}/usr/lib/modules/${_kernver}" - cd "${srcdir}/${_srcname}" + cd "${srcdir}/linux-${_basekernel}" install -D -m644 Makefile \ "${pkgdir}/usr/lib/modules/${_kernver}/build/Makefile" install -D -m644 kernel/Makefile \ @@ -282,12 +278,12 @@ _package-headers() { } _package-docs() { - pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase/linux/Linux} kernel" - provides=( "${_replaces[@]/%/${_kernelname#-libre}-docs=${pkgver}}") - conflicts=("${_replaces[@]/%/${_kernelname#-libre}-docs}") - replaces=( "${_replaces[@]/%/${_kernelname#-libre}-docs}") + pkgdesc="Kernel hackers manual - HTML documentation that comes with the ${pkgbase^} kernel" + provides=("kernel26${_kernelname}-docs=${pkgver}" "linux${_kernelname}-docs=${pkgver}") + conflicts=("kernel26${_kernelname}-docs" "kernel26-libre${_kernelname}-docs" "linux${_kernelname}-docs") + replaces=("kernel26${_kernelname}-docs" "kernel26-libre${_kernelname}-docs" "linux${_kernelname}-docs") - cd "${srcdir}/${_srcname}" + cd "${srcdir}/linux-${_basekernel}" mkdir -p "${pkgdir}/usr/lib/modules/${_kernver}/build" cp -al Documentation "${pkgdir}/usr/lib/modules/${_kernver}/build" |