summaryrefslogtreecommitdiff
path: root/kernels/linux-libre-xen/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'kernels/linux-libre-xen/PKGBUILD')
-rw-r--r--kernels/linux-libre-xen/PKGBUILD57
1 files changed, 32 insertions, 25 deletions
diff --git a/kernels/linux-libre-xen/PKGBUILD b/kernels/linux-libre-xen/PKGBUILD
index d581db9e4..94fd22800 100644
--- a/kernels/linux-libre-xen/PKGBUILD
+++ b/kernels/linux-libre-xen/PKGBUILD
@@ -8,8 +8,8 @@ pkgbase=linux-libre-xen
pkgname=('linux-libre-xen' 'linux-libre-xen-headers' 'linux-libre-xen-docs') # Build stock -LIBRE kernel
# pkgname=linux-custom # Build kernel with a different name
_kernelname=${pkgname#linux-libre}
-_basekernel=3.0
-pkgver=${_basekernel}.4
+_basekernel=3.1
+pkgver=${_basekernel}.5
pkgrel=1
arch=('i686' 'x86_64')
url="http://linux-libre.fsfla.org/"
@@ -23,8 +23,10 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-li
# standard config files for mkinitcpio ramdisk
"${pkgname}.preset"
'boot-logo.patch'
- 'fix-i915.patch'
- 'change-default-console-loglevel.patch')
+ 'change-default-console-loglevel.patch'
+ 'i915-fix-ghost-tv-output.patch'
+ 'i915-fix-incorrect-error-message.patch'
+ 'usb-add-reset-resume-quirk-for-several-webcams.patch')
build() {
cd "${srcdir}/linux-${_basekernel}"
@@ -34,8 +36,23 @@ build() {
# Add freedo as boot logo
patch -Np1 -i "${srcdir}/boot-logo.patch"
- # fix #19234 i1915 display size
- patch -Np1 -i "${srcdir}/fix-i915.patch"
+ # Some chips detect a ghost TV output
+ # mailing list discussion: http://lists.freedesktop.org/archives/intel-gfx/2011-April/010371.html
+ # Arch Linux bug report: FS#19234
+ #
+ # It is unclear why this patch wasn't merged upstream, it was accepted,
+ # then dropped because the reasoning was unclear. However, it is clearly
+ # needed.
+ patch -Np1 -i "${srcdir}/i915-fix-ghost-tv-output.patch"
+
+ # In 3.1.1, a DRM_DEBUG message is falsely declared as DRM_ERROR. This
+ # worries users, as this message is displayed even at loglevel 4. Fix
+ # this.
+ patch -Np1 -i "${srcdir}/i915-fix-incorrect-error-message.patch"
+
+ # Add the USB_QUIRK_RESET_RESUME for several webcams
+ # FS#26528
+ patch -Np1 -i "${srcdir}/usb-add-reset-resume-quirk-for-several-webcams.patch"
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
# remove this when a Kconfig knob is made available by upstream
@@ -48,14 +65,8 @@ build() {
sed -i "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" ./.config
fi
- # remove the "-libre" extraversion from Makefile
- sed -i 's|^EXTRAVERSION =.*$|EXTRAVERSION =|g' Makefile
-
- # remove the sublevel from Makefile
- # this ensures our kernel version is always 3.X-LIBRE
- # this way, minor kernel updates will not break external modules
- # we need to change this soon, see FS#16702
- sed -ri 's|^(SUBLEVEL =).*|\1|' Makefile
+ # set extraversion to pkgrel
+ sed -ri "s|^(EXTRAVERSION =).*|\1 -${pkgrel}|" Makefile
# get kernel version
make prepare
@@ -124,8 +135,13 @@ package_linux-libre-xen() {
rm -f "${pkgdir}"/lib/modules/${_kernver}/{source,build}
# remove the firmware
rm -rf "${pkgdir}/lib/firmware"
- # gzip -9 all modules to safe 100MB of space
+ # 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:--LIBRE}" "${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:--LIBRE}"
+ echo "${_kernver}" > "${pkgdir}/lib/modules/extramodules-${_basekernel}${_kernelname:--LIBRE}/version"
}
package_linux-libre-xen-headers() {
@@ -268,19 +284,10 @@ package_linux-libre-xen-docs() {
cd "${srcdir}/linux-${_basekernel}"
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}"
- cp -r Documentation "${pkgdir}/usr/src/linux-${_kernver}"
+ cp -al Documentation "${pkgdir}/usr/src/linux-${_kernver}"
find "${pkgdir}" -type f -exec chmod 444 {} \;
find "${pkgdir}" -type d -exec chmod 755 {} \;
# remove a file already in linux package
rm -f "${pkgdir}/usr/src/linux-${_kernver}/Documentation/DocBook/Makefile"
}
-
-md5sums=('44e7bc20c235a193f9b6123a8d5e9509'
- 'f17e9c5f801be0b17efe78aaff0f2a0e'
- 'd998ae9f06ee1f93164d43f85b295613'
- '4328c5ecc3fb20979392fa6372802144'
- '67463f7a6e88305d7cd14a430e9efe92'
- '04b21c79df0a952c22d681dd4f4562df'
- '263725f20c0b9eb9c353040792d644e5'
- '9d3c56a4b999c8bfbd4018089a62f662')