summaryrefslogtreecommitdiff
path: root/libre/linux-libre
diff options
context:
space:
mode:
authorMichał Masłowski <mtjm@mtjm.eu>2012-03-03 19:35:59 +0100
committerMichał Masłowski <mtjm@mtjm.eu>2012-03-03 19:35:59 +0100
commit8288f4022c5673fa36117598c7e7a3f6c2dfb1e2 (patch)
tree35b688c3ea6cc6a70169239cbc4cce363280f27b /libre/linux-libre
parent3d7ac901b631943e595c15f8405b6d66770573e9 (diff)
parentd8fb549de0ef3299436c448f7b45fd8ebee8e733 (diff)
Merge branch 'master' of ssh://parabolagnulinux.org:1863/home/parabola/abslibre-pre-mips64el
Conflicts: community-testing/virtualbox-modules/PKGBUILD community/duplicity/PKGBUILD extra/bind/PKGBUILD libre/linux-libre/PKGBUILD multilib-testing/lib32-glibc/PKGBUILD multilib-testing/lib32-glibc/glibc-2.12.2-ignore-origin-of-privileged-program.patch multilib-testing/lib32-glibc/glibc-2.15-ifunc.patch multilib-testing/lib32-glibc/glibc-2.15-revert-netlink-cache.patch multilib-testing/lib32-glibc/glibc-2.15-scanf.patch multilib/lib32-gnutls/PKGBUILD multilib/lib32-libdrm/PKGBUILD multilib/lib32-libpng/PKGBUILD multilib/lib32-sdl/PKGBUILD testing/lirc/PKGBUILD
Diffstat (limited to 'libre/linux-libre')
-rw-r--r--libre/linux-libre/PKGBUILD56
-rw-r--r--libre/linux-libre/ext4-options.patch49
-rw-r--r--libre/linux-libre/linux-libre.install14
3 files changed, 99 insertions, 20 deletions
diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD
index 3cb6108d5..2002392ab 100644
--- a/libre/linux-libre/PKGBUILD
+++ b/libre/linux-libre/PKGBUILD
@@ -4,13 +4,16 @@
# Maintainer (Parabola): Nicolás Reynolds <fauno@kiwwwi.com.ar>
# Maintainer (Parabola): Sorin-Mihai Vârgolici <smv@yobicore.org>
# Maintainer (Parabola): André Silva <andre.paulista@adinet.com.uy>
+# Maintainer (Parabola): Michał Masłowski <mtjm@mtjm.eu>
pkgbase=linux-libre
pkgname=('linux-libre' 'linux-libre-headers' 'linux-libre-docs') # Build stock -LIBRE kernel
# pkgname=linux-custom # Build kernel with a different name
_kernelname=${pkgname#linux-libre}
_basekernel=3.2
-pkgver=${_basekernel}.7
+_sublevel=9
+pkgver=${_basekernel}.${_sublevel}
+_lxopkgver=${_basekernel}.7 # nearly always the same as pkgver
pkgrel=1
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
@@ -19,7 +22,6 @@ 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"
# the main kernel config files
'config.i686' 'config.x86_64'
# standard config files for mkinitcpio ramdisk
@@ -29,10 +31,11 @@ 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'
- 'i915-gpu-finish.patch')
+ 'i915-gpu-finish.patch'
+ '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=('27c641c4f6785fc647cdd3e44963a55c'
- '37a0fdc7ad19c9489faf09925b4fae5b'
- '690e6201d219638544d2fba3996dc822'
+ '8e601878ccdd37111cc84500ebd81387'
'79db8a444fd149e409f706830d8cee9a'
'e26dbcb367a2b48f5ed09560e2ae8fa0'
'a8a3843046926eb7ab81312cd438c5c5'
@@ -41,7 +44,14 @@ md5sums=('27c641c4f6785fc647cdd3e44963a55c'
'04b21c79df0a952c22d681dd4f4562df'
'9d3c56a4b999c8bfbd4018089a62f662'
'263725f20c0b9eb9c353040792d644e5'
- '4cd79aa147825837dc8bc9f6b736c0a0')
+ '4cd79aa147825837dc8bc9f6b736c0a0'
+ 'f36222e7ce20c8e4dc27376f9be60f6c'
+ '690e6201d219638544d2fba3996dc822')
+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}"
@@ -71,21 +81,28 @@ build() {
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
patch -Np1 -i "${srcdir}/change-default-console-loglevel.patch"
+ # fix ext4 module to mount ext3/2 correct
+ # https://bugs.archlinux.org/task/28653
+ patch -Np1 -i "${srcdir}/ext4-options.patch"
+
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
-
- sed -e "s|# \(CONFIG_BATMAN_ADV\) is not set|\1=m\n\1_DEBUG=n|" \
- -i ./.config
+ -e "s|CONFIG_LOCALVERSION=.*|CONFIG_LOCALVERSION=\"-LIBRE\"|g" \
+ -e "s|(CONFIG_USB(_COMMON|_EHCI_HCD|_OHCI_HCD|_STORAGE.*|_UAS)?)=.*|\1=y|g"
+ ./.config
else
cat "${srcdir}/config.${CARCH}" > ./.config # simpler
fi
@@ -119,7 +136,9 @@ build() {
# build!
if [ "$CARCH" == "mips64el" ]; then
- make ${MAKEFLAGS} vmlinuz modules
+ # 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
@@ -128,13 +147,19 @@ build() {
package_linux-libre() {
pkgdesc="The Linux-libre Kernel and modules"
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' "linux=$pkgver")
conflicts=('kernel26' 'kernel26-libre' 'linux')
replaces=('kernel26' 'kernel26-libre' 'linux')
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}"
@@ -149,6 +174,7 @@ package_linux-libre() {
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
diff --git a/libre/linux-libre/ext4-options.patch b/libre/linux-libre/ext4-options.patch
new file mode 100644
index 000000000..ef1b2417d
--- /dev/null
+++ b/libre/linux-libre/ext4-options.patch
@@ -0,0 +1,49 @@
+Report: https://bbs.archlinux.org/profile.php?id=33804
+Signed-off-by: Tom Gundersen <teg@jklm.no>
+Cc: Thomas Baechler <thomas@archlinux.org>
+Cc: Tobias Powalowski <tobias.powalowski@googlemail.com>
+Cc: Dave Reisner <d@falconindy.com>
+---
+ fs/ext4/super.c | 15 +++++++++++++++
+ 1 file changed, 15 insertions(+)
+
+diff --git a/fs/ext4/super.c b/fs/ext4/super.c
+index 502c61f..30de9cd 100644
+--- a/fs/ext4/super.c
++++ b/fs/ext4/super.c
+@@ -1333,6 +1333,7 @@ enum {
+ Opt_inode_readahead_blks, Opt_journal_ioprio,
+ Opt_dioread_nolock, Opt_dioread_lock,
+ Opt_discard, Opt_nodiscard, Opt_init_itable, Opt_noinit_itable,
++ Opt_nocheck, Opt_reservation, Opt_noreservation, Opt_journal_inum,
+ };
+
+ static const match_table_t tokens = {
+@@ -1408,6 +1409,10 @@ static const match_table_t tokens = {
+ {Opt_init_itable, "init_itable=%u"},
+ {Opt_init_itable, "init_itable"},
+ {Opt_noinit_itable, "noinit_itable"},
++ {Opt_nocheck, "nocheck"},
++ {Opt_reservation, "reservation"},
++ {Opt_noreservation, "noreservation"},
++ {Opt_journal_inum, "journal=%u"},
+ {Opt_err, NULL},
+ };
+
+@@ -1904,6 +1909,16 @@ set_qf_format:
+ case Opt_noinit_itable:
+ clear_opt(sb, INIT_INODE_TABLE);
+ break;
++#ifdef CONFIG_EXT4_USE_FOR_EXT23
++ case Opt_nocheck:
++ case Opt_reservation:
++ case Opt_noreservation:
++ case Opt_journal_inum:
++ ext4_msg(sb, KERN_WARNING,
++ "ext3 mount option \"%s\" ignored "
++ "by ext4 module", p);
++ break;
++#endif
+ default:
+ ext4_msg(sb, KERN_ERR,
+ "Unrecognized mount option \"%s\" "
diff --git a/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install
index 6e3e16986..62f5d13bc 100644
--- a/libre/linux-libre/linux-libre.install
+++ b/libre/linux-libre/linux-libre.install
@@ -2,14 +2,16 @@
# arg 2: the old package version
KERNEL_NAME=
-KERNEL_VERSION=3.2.7-1-LIBRE
+KERNEL_VERSION=3.2.9-1-LIBRE
post_install () {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
depmod ${KERNEL_VERSION}
- echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
- mkinitcpio -p linux-libre${KERNEL_NAME}
+ if [ command -v mkinitcpio 2>&1 > /dev/null ]; then
+ echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
+ mkinitcpio -p linux-libre${KERNEL_NAME}
+ fi
# compat symlinks for the official kernels only
if [ -z "${KERNEL_NAME}" -o "${KERNEL_NAME}" = "-lts" ]; then
@@ -50,8 +52,10 @@ post_upgrade() {
# updating module dependencies
echo ">>> Updating module dependencies. Please wait ..."
depmod ${KERNEL_VERSION}
- echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
- mkinitcpio -p linux-libre${KERNEL_NAME}
+ if [ command -v mkinitcpio 2>&1 > /dev/null ]; then
+ echo ">>> Generating initial ramdisk, using mkinitcpio. Please wait..."
+ mkinitcpio -p linux-libre${KERNEL_NAME}
+ fi
}
post_remove() {