diff options
-rw-r--r-- | libre/linux-libre/PKGBUILD | 34 |
1 files changed, 25 insertions, 9 deletions
diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD index 602f7b1db..135fb3839 100644 --- a/libre/linux-libre/PKGBUILD +++ b/libre/linux-libre/PKGBUILD @@ -10,8 +10,9 @@ 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}.9 +_sublevel=9 +pkgver=${_basekernel}.${_sublevel} +_lxopkgver=${_basekernel}.7 # nearly always the same as pkgver pkgrel=2 arch=('i686' 'x86_64' 'mips64el') url="http://linux-libre.fsfla.org/" @@ -31,7 +32,7 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-li 'i915-fix-ghost-tv-output.patch' 'i915-gpu-finish.patch' 'ext4-options.patch' - "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/linux-patches-${pkgver}-libre-lemote_0lxo_mipsel.tar.bz2") + "http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/linux-patches-${_lxopkgver}-libre-lemote_0lxo_mipsel.tar.bz2") md5sums=('27c641c4f6785fc647cdd3e44963a55c' '8e601878ccdd37111cc84500ebd81387' '921f108c7a4985f7f8b41d72ca9bf915' @@ -85,16 +86,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=\"-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 @@ -128,7 +135,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 @@ -137,13 +146,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}" @@ -158,6 +173,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 |