summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD128
1 files changed, 76 insertions, 52 deletions
diff --git a/PKGBUILD b/PKGBUILD
index aa3d9c3940a2..4da66a587f73 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,82 +1,106 @@
-# Maintainer: Haruue Icymoon <haruue@caoyue.com.cn>
-# Contributor: Lucjan Lucjanov <lucjan.lucjanov@gmail.com>
+# Maintainer: Piotr Gorski <lucjan.lucjanov@gmail.com>
+# Contributor: Haruue Icymoon <haruue@caoyue.com.cn>
-pkgname=linux-usermode
-true && pkgname=(linux-usermode linux-usermode-modules)
pkgbase=linux-usermode
+pkgname=('linux-usermode' 'linux-usermode-modules')
_kernelname=-usermodelinux
-_srcname=linux-4.20
-pkgver=4.20.4
+_major=6.9
+_minor=2
+pkgver=${_major}.${_minor}
+_srcname=linux-${pkgver}
pkgrel=1
pkgdesc="User mode Linux kernel and modules"
arch=('x86_64')
license=('GPL2')
url="http://user-mode-linux.sourceforge.net/"
depends=('coreutils')
-makedepends=('bc' 'inetutils' 'gcc7')
-source=(
- http://www.kernel.org/pub/linux/kernel/v4.x/${_srcname}.tar.{xz,sign}
-# http://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.{xz,sign}
- http://www.kernel.org/pub/linux/kernel/v4.x/patch-${pkgver}.xz
- config)
-
-sha256sums=('ad0823183522e743972382df0aa08fb5ae3077f662b125f1e599b0b2aaa12438'
+makedepends=('bc' 'inetutils')
+options=(!debug)
+#_lucjanpath="https://raw.githubusercontent.com/sirlucjan/kernel-patches/master/${_major}"
+_lucjanpath="https://gitlab.com/sirlucjan/kernel-patches/raw/master/${_major}"
+
+source=("https://www.kernel.org/pub/linux/kernel/v6.x/linux-${pkgver}.tar.xz"
+ "https://www.kernel.org/pub/linux/kernel/v6.x/linux-${pkgver}.tar.sign"
+ 'config'
+ '70-uml.hook')
+
+sha256sums=('d46c5bdf2c5961cc2a4dedefe0434d456865e95e4a7cd9f93fff054f9090e5f9'
'SKIP'
- '24ee94fbbf9c356ace420e7eedfff4c9d3f2e8645011bc8947c22421dea5a8ba'
- '0c6ca2df8b072b1fa1c13d290e2c1f0c97d872419f4bf8c2fd813a29e79c5626')
+ '195e93d3c4aa7b13f636c3239781c63a1fff3765bb71248019890c95071348b5'
+ '05ea4e00d1e99bf8140a21c94e3c42acf17b9debad9c6f5decbe1dd1fe04332c')
validpgpkeys=(
- 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
- '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
-)
+ 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
+ '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
+ )
prepare() {
- cd "${srcdir}/${_srcname}"
-
- # add upstream patch
- patch -p1 -i "${srcdir}/patch-${pkgver}"
-
- cat ../config - >.config <<END
-CONFIG_LOCALVERSION="${_kernelname}"
-CONFIG_LOCALVERSION_AUTO=n
-END
+ cd ${_srcname}
+
+ echo "Setting version..."
+ sed -e "/^EXTRAVERSION =/s/=.*/=/" -i Makefile
+ echo "-$pkgrel" > localversion.10-pkgrel
+ echo "$_kernelname" > localversion.20-pkgname
+
+ local src
+ for src in "${source[@]}"; do
+ src="${src%%::*}"
+ src="${src##*/}"
+ [[ $src = *.patch ]] || continue
+ echo "Applying patch $src..."
+ patch -Np1 < "../$src"
+ done
+
+ echo "Setting config..."
+ cp ../config .config
+ yes "" | make ARCH=um config >/dev/null
+ diff -u ../config .config || :
- # set extraversion to pkgrel
- sed -i "/^EXTRAVERSION =/s/=.*/= -${pkgrel}/" Makefile
+ make ARCH=um kernelrelease > version
+ echo "Prepared $pkgbase version $(<version)"
- # rewrite configuration
- yes "" | make ARCH=um config >/dev/null
+ echo "Save configuration for later reuse"
+ cat .config > "${startdir}/config.last"
}
build() {
- cd "${srcdir}/${_srcname}"
+ cd ${_srcname}
unset LDFLAGS CFLAGS
-
- make ARCH=um CC=gcc-7 vmlinux modules
+ make ARCH=um vmlinux modules
}
-package_linux-usermode() {
- cd "${srcdir}/${_srcname}"
+_package() {
+
+ cd ${_srcname}
mkdir -p "$pkgdir/usr/bin" "$pkgdir/usr/share/kernel-usermode"
install -m 644 System.map ${pkgdir}/usr/share/kernel-usermode/System.map
install -m 755 vmlinux ${pkgdir}/usr/bin/
}
-package_linux-usermode-modules() {
- install=modules.install
-
- cd "${srcdir}/${_srcname}"
-
- # get kernel version, but discard the first result
- make ARCH=um kernelrelease > /dev/null
- _kernver="$(make ARCH=um kernelrelease)"
-
- # make ARCH=um INSTALL_MOD_PATH="${pkgdir}/usr" modules_install
- make ARCH=um INSTALL_MOD_PATH="${pkgdir}/usr" _modinst_
- rm -f $pkgdir/usr/lib/modules/${_kernver}/{source,build}
- sed \
- -e "s/KERNEL_VERSION=.*/KERNEL_VERSION=${_kernver}/g" \
- -i "${startdir}/modules.install"
+_package-modules() {
+ depends=('kmod')
+
+ cd ${_srcname}
+ local kernver="$(<version)"
+ make ARCH=um INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 \
+ DEPMOD=/doesnt/exist modules_install # Suppress depmod
+ rm -f $pkgdir/usr/lib/modules/${kernver}/{source,build}
+ # sed expression for following substitutions
+ local _subst="
+ s|%PKGBASE%|${pkgbase}|g
+ s|%KERNVER%|${kernver}|g
+ "
+ # install pacman hook
+ sed "${_subst}" ../70-uml.hook |
+ install -Dm644 /dev/stdin "${pkgdir}/usr/share/libalpm/hooks/70-uml.hook"
}
+pkgname=("${pkgbase}" "${pkgbase}-modules")
+for _p in ${pkgname[@]}; do
+ eval "package_${_p}() {
+ $(declare -f "_package${_p#${pkgbase}}")
+ _package${_p#${pkgbase}}
+ }"
+done
+
# vim:set ts=8 sts=2 sw=2 et: