summaryrefslogtreecommitdiff
path: root/libre/linux-libre-lts/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'libre/linux-libre-lts/PKGBUILD')
-rw-r--r--libre/linux-libre-lts/PKGBUILD91
1 files changed, 48 insertions, 43 deletions
diff --git a/libre/linux-libre-lts/PKGBUILD b/libre/linux-libre-lts/PKGBUILD
index 0c9e95b83..2fd86a35a 100644
--- a/libre/linux-libre-lts/PKGBUILD
+++ b/libre/linux-libre-lts/PKGBUILD
@@ -2,22 +2,24 @@
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
+# Contributor (Parabola): Márcio Silva <coadde@adinet.com.uy>
pkgbase=linux-libre-lts
pkgname=('linux-libre-lts' 'linux-libre-lts-headers') # Build stock -LIBRE kernel
# pkgname=linux-custom # Build kernel with a different name
-_kernelname=${pkgname#linux-libre}
+_kernelname=-LIBRE-LTS
_basekernel=3.0
-pkgver=${_basekernel}.22
+_sublevel=25
+pkgver=${_basekernel}.${_sublevel}
+_lxopkgver=${_basekernel}.24 # nearly always the same as pkgver
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
makedepends=('xmlto' 'docbook-xsl')
options=('!strip')
-source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-libre/linux-${_basekernel}-libre.tar.xz"
- "http://linux-libre.fsfla.org/pub/linux-libre/releases/${pkgver}-libre/patch-${_basekernel}-libre-${pkgver}-libre.xz"
- "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/linux-patches-${pkgver}-libre-lemote_0lxo_mipsel.tar.bz2"
+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.i686' 'config.x86_64'
# standard config files for mkinitcpio ramdisk
@@ -27,25 +29,31 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-li
'boot-logo.patch'
'change-default-console-loglevel.patch'
'i915-fix-ghost-tv-output.patch'
- 'ext4-options.patch')
-md5sums=('44e7bc20c235a193f9b6123a8d5e9509'
- 'ddc0925df01b70f6eef95e9b4160f28a'
- '248d057fd2341d315ada5e844cdbdc1f'
- '054af37f538b74a8090fc3e783a2edfa'
- 'e195768d5b8cbe788dbe615561d4314f'
+ 'ext4-options.patch'
+ "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/linux-patches-${_lxopkgver}-libre-lemote_0lxo_mipsel.tar.bz2")
+md5sums=('5f64180fe7df4e574dac5911b78f5067'
+ 'f7b2ffc8ddec5819f8bac7d6c2afc629'
+ '8870dc3eff3ada9abf727892a9503350'
+ '33e7aa6dd13f780b8b65653dfa81c57e'
'd2c0701480bce49fd4b40dc46b9863f1'
'2967cecc3af9f954ccc822fd63dca6ff'
'8267264d9a8966e57fdacd1fa1fc65c4'
'04b21c79df0a952c22d681dd4f4562df'
'9d3c56a4b999c8bfbd4018089a62f662'
'263725f20c0b9eb9c353040792d644e5'
- '74d2b710d6c97aee441d7566f8f68815')
+ 'f36222e7ce20c8e4dc27376f9be60f6c'
+ '0b11552c826f65b666dfb53f2c8c12bb')
+if [ "$CARCH" != "mips64el" ]; then
+ # Don't use the Loongson-specific patches on non-mips64el arches.
+ unset source[${#source[@]}-1]
+ unset md5sums[${#md5sums[@]}-1]
+fi
build() {
cd "${srcdir}/linux-${_basekernel}"
if [ "${_basekernel}" != "${pkgver}" ]; then
- patch -Np1 -i "${srcdir}/patch-${_basekernel}-libre-${pkgver}-libre"
+ patch -Np1 -i "${srcdir}/patch-${_basekernel}-gnu-${pkgver}-gnu"
fi
# Add freedo as boot logo
@@ -71,16 +79,22 @@ build() {
if [ "$CARCH" == "mips64el" ]; then
sed -i "s|^EXTRAVERSION.*|EXTRAVERSION =-libre|" Makefile
+ sed -r "s|^( SUBLEVEL = ).*|\1$_sublevel|" \
+ < "${srcdir}/lxo-config.patch" > lxo-config.patch
msg2 "Adding loongson-community patches"
patch -Np1 -i ${srcdir}/${_basekernel}*-*-loongson-community.patch
- patch -Np0 -i "${srcdir}/lxo-config.patch"
+ patch -Np0 -i lxo-config.patch
-# ensure N32, add localversion and remove uevent helper as per
+# ensure N32, add localversion, remove uevent helper as per
# https://git.kernel.org/?p=linux/hotplug/udev.git;a=blob_plain;f=README
- sed -i -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \
+# and make USB storage support builtin (e.g. for booting from USB
+# disks without slowly loading an initramfs)
+ sed -ri -e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \
-e "s|CONFIG_MIPS32_N32=.*|CONFIG_MIPS32_N32=y|g" \
-e "s|CONFIG_UEVENT_HELPER_PATH=.*|CONFIG_UEVENT_HELPER_PATH=\"\"|g" \
- -e "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"-LIBRE\"|g" ./.config
+ -e "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"${_kernelname}\"|g" \
+ -e "s;(CONFIG_USB(_COMMON|_EHCI_HCD|_OHCI_HCD|_STORAGE.*|_UAS)?)=.*;\1=y;g" \
+ ./.config
else
cat "${srcdir}/config.${CARCH}" > ./.config # simpler
fi
@@ -114,7 +128,12 @@ build() {
# build!
if [ "$CARCH" == "mips64el" ]; then
- make ${MAKEFLAGS} vmlinuz modules
+ # The build system passes it directly to linker, disable to avoid
+ # having unknown -Wl,... options.
+ export LDFLAGS=""
+ # bzImage is arch-specific and not supported on mips; vmlinux is
+ # useful for oprofile.
+ make ${MAKEFLAGS} vmlinux vmlinuz modules
else
make ${MAKEFLAGS} bzImage modules
fi
@@ -122,14 +141,19 @@ build() {
package_linux-libre-lts() {
pkgdesc="The Linux-libre Kernel and modules - stable longtime supported kernel package suitable for servers"
- groups=('base')
- depends=('coreutils' 'module-init-tools>=3.16' 'mkinitcpio>=0.7')
+ depends=('coreutils' 'module-init-tools>=3.16')
optdepends=('crda: to set the correct wireless channels of your country')
provides=('kernel26-lts' "linux-lts=$pkgver")
conflicts=('kernel26-lts' 'kernel26-libre-lts' 'linux-lts')
replaces=('kernel26-lts' 'kernel26-libre-lts' 'linux-lts')
backup=("etc/mkinitcpio.d/${pkgname}.preset")
install=${pkgname}.install
+ if [ "$CARCH" = "mips64el" ]; then
+ optdepends+=('mkinitcpio: to make the initramfs (needs reinstall of this package)')
+ conflicts+=('mkinitcpio<0.7')
+ else
+ depends+=('mkinitcpio>=0.7')
+ fi
cd "${srcdir}/linux-${_basekernel}"
@@ -144,6 +168,7 @@ package_linux-libre-lts() {
if [ "$CARCH" == "mips64el" ]; then
cp vmlinuz "${pkgdir}/boot/vmlinuz-${pkgname}"
+ cp vmlinux "${pkgdir}/boot/vmlinux-${pkgname}"
else
cp "arch/${KARCH}/boot/bzImage" "${pkgdir}/boot/vmlinuz-${pkgname}"
fi
@@ -156,10 +181,6 @@ package_linux-libre-lts() {
# set correct depmod command for install
sed \
- -e "s/KERNEL_NAME=.*/KERNEL_NAME=${_kernelname}/g" \
- -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
- -i "${startdir}/${pkgname}.install"
- sed \
-e "s|ALL_kver=.*|ALL_kver=\"/boot/vmlinuz-${pkgname}\"|g" \
-e "s|default_image=.*|default_image=\"/boot/initramfs-${pkgname}.img\"|g" \
-e "s|fallback_image=.*|fallback_image=\"/boot/initramfs-${pkgname}-fallback.img\"|g" \
@@ -185,7 +206,7 @@ package_linux-libre-lts() {
}
package_linux-libre-lts-headers() {
- pkgdesc="Header files and scripts for building modules for linux-libre longtime supported kernel"
+ pkgdesc="Header files and scripts for building modules for linux-libre-lts-headers longtime supported kernel"
provides=('kernel26-lts-headers' "linux-lts-headers=${pkgver}")
conflicts=('kernel26-lts-headers' 'kernel26-libre-lts-headers' 'linux-lts-headers')
replaces=('kernel26-lts-headers' 'kernel26-libre-lts-headers' 'linux-lts-headers')
@@ -195,7 +216,7 @@ package_linux-libre-lts-headers() {
# In case of repackaging this is empty
if [ -z "${_kernver}" ]; then
- cd ${srcdir}/linux-$pkgver
+ cd "${srcdir}/linux-${_basekernel}"
_kernver="$(make kernelrelease)"
fi
@@ -229,7 +250,7 @@ package_linux-libre-lts-headers() {
if [ "$CARCH" = "mips64el" ]; then
cp "arch/${KARCH}/Kbuild" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
- cp "arch/${KARCH}/loongson" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
+ cp -a "arch/${KARCH}/loongson" "${pkgdir}/usr/src/linux-${_kernver}/arch/${KARCH}/"
cp "${srcdir}/Kbuild.platforms" "${pkgdir}/usr/src/linux-${_kernver}/arch/$KARCH/"
fi
@@ -335,19 +356,3 @@ package_linux-libre-lts-headers() {
fi
}
-package_linux-libre-docs() {
- pkgdesc="Kernel hackers manual - HTML documentation that comes with the Linux-libre kernel."
- provides=('kernel26-docs' "linux-docs=$pkgver")
- conflicts=('kernel26-docs' 'kernel26-libre-docs' 'linux-docs')
- replaces=('kernel26-docs' 'kernel26-libre-docs' 'linux-docs')
-
- cd "${srcdir}/linux-${_basekernel}"
-
- mkdir -p "${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"
-}