Diff
checker
Testo
Testo
Immagini
Documenti
Excel
Cartelle
Legal
Enterprise
Applicazione per desktop
Prezzi
Accedi
Scarica Diffchecker Desktop
Confronta il testo
Trova la differenza tra due file di testo
Strumenti
Cronologia
Editor live
Comprimi invariate
Senza a capo
Layout
Diviso
Unificato
Livello di dettaglio
Intelligente
Parola
Carattere
Evidenziazione sintassi
Scegli sintassi
Ignora
Trasforma testo
Vai alla prima modifica
Modifica input
Diffchecker Desktop
Il modo più sicuro per usare Diffchecker. Ottieni l'app Diffchecker Desktop: i tuoi diff non lasciano mai il tuo computer!
Ottieni Desktop
Untitled Diff
Creato
5 anni fa
Il diff non scade mai
Eliminare
Esporta
Condividere
Spiegare
56 rimozioni
Linee
Totale
Rimosso
Caratteri
Totale
Rimosso
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
198 linee
Copia tutti
221 aggiunte
Linee
Totale
Aggiunto
Caratteri
Totale
Aggiunto
Per continuare a utilizzare questa funzione, aggiorna a
Diff
checker
Pro
Visualizza prezzi
351 linee
Copia tutti
Copia
Copiato
Copia
Copiato
# Maintainer:
David Runge <dvzrv
@archlinux.org>
# Maintainer:
Piotr Gorski <lucjan.lucjanov@gmail.com>
#
Maintainer: Joakim Hernberg <jbh@alchemy.lu
>
# Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
# Contributor: Tobias Powalowski <tpowa
@archlinux.org>
#
Contributor: Thomas Baechler <thomas@archlinux.org
>
Copia
Copiato
Copia
Copiato
pkgbase=linux-rt
### BUILD OPTIONS
pkgver=5.11.4.11.arch1
# Set these variables to ANYTHING that is not null to enable them
pkgrel=1
pkgdesc='Linux RT'
### Tweak kernel options prior to a build via nconfig
_makenconfig=
### Tweak kernel options prior to a build via menuconfig
_makemenuconfig=
### Tweak kernel options prior to a build via xconfig
_makexconfig=
### Tweak kernel options prior to a build via gconfig
_makegconfig=
### Running with a 1000 HZ tick rate
_1k_HZ_ticks=y
# NUMA is optimized for multi-socket motherboards.
# A single multi-core CPU actually runs slower with NUMA enabled.
# See, https://bugs.archlinux.org/task/31187
_NUMAdisable=y
# Compile ONLY used modules to VASTLYreduce the number of modules built
# and the build time.
#
# To keep track of which modules are needed for your specific system/hardware,
# give module_db script a try: https://aur.archlinux.org/packages/modprobed-db
# This PKGBUILD read the database kept if it exists
#
# More at this wiki page ---> https://wiki.archlinux.org/index.php/Modprobed-db
_localmodcfg=
# Use the current kernel's .config file
# Enabling this option will use the .config of the RUNNING kernel rather than
# the ARCH defaults. Useful when the package gets updated and you already went
# through the trouble of customizing your config options. NOT recommended when
# a new kernel is released, but again, convenient for package bumps.
_use_current=
### Do not edit below this line unless you know what you're doing
pkgbase=linux-rt-bfq-dev
# pkgname=('linux-rt-bfq-dev' 'linux-rt-bfq-dev-headers' 'linux-rt-bfq-dev-docs')
_major=5.11
_minor=4
_rtver=11
_rtpatchver=rt${_rtver}
pkgver=${_major}.${_minor}.${_rtpatchver}
_pkgver=${_major}.${_minor}
_srcname=linux-${_pkgver}
pkgrel=13
pkgdesc='Linux RT-BFQ-dev'
arch=('x86_64')
arch=('x86_64')
Copia
Copiato
Copia
Copiato
url="https://
wiki.linuxfoundation.org/realtime/start
"
url="https://
github.com/sirlucjan/bfq-mq-lucjan
"
license=('GPL2')
license=('GPL2')
Copia
Copiato
Copia
Copiato
makedepends=('bc' 'git' 'graphviz' 'imagemagick' 'kmod' 'libelf' 'pahole'
'python-sphinx' 'python-sphinx_rtd_theme' 'xmlto')
options=('!strip')
options=('!strip')
Copia
Copiato
Copia
Copiato
source=(
makedepends=('kmod' 'bc' 'libelf' 'python-sphinx' 'python-sphinx_rtd_theme'
"git+https://gitlab.archlinux.org/dvzrv/linux-rt#tag=v${pkgver}?signed"
'graphviz' 'imagemagick' 'pahole' 'cpio' 'perl' 'tar' 'xz')
config
#_lucjanpath="https://raw.githubusercontent.com/sirlucjan/kernel-patches/master/${_major}"
)
_lucjanpath="https://gitlab.com/sirlucjan/kernel-patches/raw/master/${_major}"
sha512sums=('SKIP'
# Some patches for BFQ conflict with patches for BFQ-dev.
'977ac2ff9c344619758aa30aeb1c9fd6ad2777c99774a5a2b6956cd85c38640a00a4f292a53195fca15e645e2cba3bb725a4d0ca043b3a03261d456504512824')
# To use linux-bfq-dev smoothly apply bfq-reverts before bfq-dev patch.
b2sums=('SKIP'
# Otherwise the kernel will not compile.
'56cd37f1ac075db2cd4b30a9bb2bedcb0a9c4648cc23e408a121a529d090b894c7e919b9ea996e30ca23f559fde6172594935af3083e69ce5e1c62719e3658fa')
#_bfq_rev_path="bfq-reverts-all"
validpgpkeys=(
#_bfq_rev_patch="0001-bfq-reverts.patch"
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman <gregkh@kernel.org>
#_bfq_path="bfq-dev-lucjan"
'64254695FFF0AA4466CC19E67B96E8162A8CF5D1' # Sebastian Andrzej Siewior
#_bfq_ver="v14"
'C7E7849466FE2358343588377258734B41C31549' # David Runge <dvzrv@archlinux.org>
#_bfq_rel="r2K210223"
)
#_bfq_patch="${_major}-${_bfq_path}-${_bfq_ver}-${_bfq_rel}.patch"
_bfq_path="bfq-lucjan"
_bfq_rel="r2K210325"
_bfq_patch="${_major}-${_bfq_path}-${_bfq_rel}.patch"
_gcc_path="cpu-patches-v4-sep"
_gcc_patch="0001-cpu-${_major}-merge-graysky-s-patchset.patch"
source=("https://www.kernel.org/pub/linux/kernel/v5.x/${_srcname}.tar.xz"
"https://www.kernel.org/pub/linux/kernel/v5.x/${_srcname}.tar.sign"
"http://www.kernel.org/pub/linux/kernel/projects/rt/${_major}/patch-${_pkgver}-${_rtpatchver}.patch.xz"
"http://www.kernel.org/pub/linux/kernel/projects/rt/${_major}/patch-${_pkgver}-${_rtpatchver}.patch.sign"
#"${_lucjanpath}/${_bfq_rev_path}/${_bfq_rev_patch}"
"${_lucjanpath}/${_bfq_path}/${_bfq_patch}"
"${_lucjanpath}/${_gcc_path}/${_gcc_patch}"
"${_lucjanpath}/arch-patches-v9/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch"
# the main kernel config files
'config')
export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_HOST=archlinux
export KBUILD_BUILD_USER=$pkgbase
export KBUILD_BUILD_USER=$pkgbase
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
prepare() {
prepare() {
Copia
Copiato
Copia
Copiato
cd
"${pkgbase}"
cd
$_srcname
Copia
Copiato
Copia
Copiato
echo "Setting version..."
### Add rt patch
scripts/setlocalversion --save-scmversion
echo "Add rt patch"
echo "-$pkgrel" > localversion.10-pkgrel
patch -Np1 -i ../patch-${_pkgver}-${_rtpatchver}.patch
echo "${pkgbase#linux}" > localversion.20-pkgname
Copia
Copiato
Copia
Copiato
local src
### Setting version
for src in "${source[@]}"; do
echo "Setting version...
"
src="${src%%::*}"
scripts/setlocalversion --save-scmversion
src="${src##*/}
"
echo "
-$pkgrel" > localversion.10-pkgrel
# picking up the RT patch
echo "${pkgbase#linux}" > localversion.20-pkgname
src="${src//patch.xz/patch}"
[[ $src = *.patch ]] || continue
echo "
Applying patch $src..."
patch -Np1 < "../$src"
done
Copia
Copiato
Copia
Copiato
echo "
Setting config
..."
### Patching sources
cp
../
config .config
local src
make olddefconfig
for src in "${source[@]}"; do
# make nconfig
src="${src%%::*}"
src="${src##*/}"
[[ $src = *.patch ]] || continue
echo "
Applying patch $src
..."
patch -Np1 < "
../
$src"
done
Copia
Copiato
Copia
Copiato
make -s kernelrelease > version
### Setting config
echo "Prepared $pkgbase version $(<version)"
echo "Setting config..."
cp ../config .config
make olddefconfig
### Prepared version
make -s kernelrelease > version
echo "Prepared $pkgbase version $(<version)"
### Optionally use running kernel's config
# code originally by nous; http://aur.archlinux.org/packages.php?ID=40191
if [ -n "$_use_current" ]; then
if [[ -s /proc/config.gz ]]; then
echo "Extracting config from /proc/config.gz..."
# modprobe configs
zcat /proc/config.gz > ./.config
else
warning "Your kernel was not compiled with IKCONFIG_PROC!"
warning "You cannot read the current config!"
warning "Aborting!"
exit
fi
fi
### Optionally set tickrate to 1000
if [ -n "$_1k_HZ_ticks" ]; then
echo "Setting tick rate to 1k..."
scripts/config --disable CONFIG_HZ_300
scripts/config --enable CONFIG_HZ_1000
scripts/config --set-val CONFIG_HZ 1000
fi
### Optionally disable NUMA for 64-bit kernels only
# (x86 kernels do not support NUMA)
if [ -n "$_NUMAdisable" ]; then
echo "Disabling NUMA from kernel config..."
scripts/config --disable CONFIG_NUMA
fi
### Optionally load needed modules for the make localmodconfig
# See https://aur.archlinux.org/packages/modprobed-db
if [ -n "$_localmodcfg" ]; then
if [ -f $HOME/.config/modprobed.db ]; then
echo "Running Steven Rostedt's make localmodconfig now"
make LSMOD=$HOME/.config/modprobed.db localmodconfig
else
echo "No modprobed.db data found"
exit
fi
fi
### Running make nconfig
[[ -z "$_makenconfig" ]] || make nconfig
### Running make menuconfig
[[ -z "$_makemenuconfig" ]] || make menuconfig
### Running make xconfig
[[ -z "$_makexconfig" ]] || make xconfig
### Running make gconfig
[[ -z "$_makegconfig" ]] || make gconfig
### Save configuration for later reuse
cat .config > "${startdir}/config.last"
}
}
build() {
build() {
Copia
Copiato
Copia
Copiato
cd
"${pkgbase}"
cd
$_srcname
make all
make all
make htmldocs
make htmldocs
}
}
_package() {
_package() {
Copia
Copiato
Copia
Copiato
pkgdesc="The $pkgdesc kernel and modules"
pkgdesc="The $pkgdesc kernel and modules"
depends=(
coreutils
initramfs
kmod)
depends=(
'
coreutils
' 'kmod' '
initramfs
')
optdepends=('crda: to set the correct wireless channels of your country'
optdepends=('crda: to set the correct wireless channels of your country'
'linux-firmware: firmware images needed for some devices'
)
'linux-firmware: firmware images needed for some devices'
provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE
)
'modprobed-db: Keeps track of EVERY kernel module that has ever been probed - useful for those of us who make localmodconfig')
provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE
linux-rt-bfq)
replaces=('linux-rt-bfq')
conflicts=('linux-rt-bfq'
)
Copia
Copiato
Copia
Copiato
cd
"${pkgbase}"
cd
$_srcname
local kernver="$(<version)"
local kernver="$(<version)"
local modulesdir="$pkgdir/usr/lib/modules/$kernver"
local modulesdir="$pkgdir/usr/lib/modules/$kernver"
echo "Installing boot image..."
echo "Installing boot image..."
# systemd expects to find the kernel here to allow hibernation
# systemd expects to find the kernel here to allow hibernation
# https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
# https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344
install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz"
install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz"
# Used by mkinitcpio to name the kernel
# Used by mkinitcpio to name the kernel
echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"
echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase"
echo "Installing modules..."
echo "Installing modules..."
make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 modules_install
make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 modules_install
# remove build and source links
# remove build and source links
rm "$modulesdir"/{source,build}
rm "$modulesdir"/{source,build}
}
}
_package-headers() {
_package-headers() {
Copia
Copiato
Copia
Copiato
pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel"
pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel"
depends=(
pahole
)
depends=(
'linux-rt-bfq-dev' '
pahole
')
replaces=('linux-rt-bfq-headers')
conflicts=('linux-rt-bfq-headers')
provides=('linux-rt-bfq-headers')
Copia
Copiato
Copia
Copiato
cd
"${pkgbase}"
cd
$_srcname
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
echo "Installing build files..."
echo "Installing build files..."
install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \
install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \
localversion.* version vmlinux
localversion.* version vmlinux
install -Dt "$builddir/kernel" -m644 kernel/Makefile
install -Dt "$builddir/kernel" -m644 kernel/Makefile
install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile
install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile
cp -t "$builddir" -a scripts
cp -t "$builddir" -a scripts
# add objtool for external module building and enabled VALIDATION_STACK option
# add objtool for external module building and enabled VALIDATION_STACK option
install -Dt "$builddir/tools/objtool" tools/objtool/objtool
install -Dt "$builddir/tools/objtool" tools/objtool/objtool
# add xfs and shmem for aufs building
# add xfs and shmem for aufs building
mkdir -p "$builddir"/{fs/xfs,mm}
mkdir -p "$builddir"/{fs/xfs,mm}
echo "Installing headers..."
echo "Installing headers..."
cp -t "$builddir" -a include
cp -t "$builddir" -a include
cp -t "$builddir/arch/x86" -a arch/x86/include
cp -t "$builddir/arch/x86" -a arch/x86/include
install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s
install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s
install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h
install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h
install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h
install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h
# http://bugs.archlinux.org/task/13146
# http://bugs.archlinux.org/task/13146
install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
# http://bugs.archlinux.org/task/20402
# http://bugs.archlinux.org/task/20402
install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h
install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h
install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h
install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h
echo "Installing KConfig files..."
echo "Installing KConfig files..."
find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;
find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;
echo "Removing unneeded architectures..."
echo "Removing unneeded architectures..."
local arch
local arch
for arch in "$builddir"/arch/*/; do
for arch in "$builddir"/arch/*/; do
[[ $arch = */x86/ ]] && continue
[[ $arch = */x86/ ]] && continue
echo "Removing $(basename "$arch")"
echo "Removing $(basename "$arch")"
rm -r "$arch"
rm -r "$arch"
done
done
echo "Removing documentation..."
echo "Removing documentation..."
rm -r "$builddir/Documentation"
rm -r "$builddir/Documentation"
echo "Removing broken symlinks..."
echo "Removing broken symlinks..."
find -L "$builddir" -type l -printf 'Removing %P\n' -delete
find -L "$builddir" -type l -printf 'Removing %P\n' -delete
echo "Removing loose objects..."
echo "Removing loose objects..."
find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete
find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete
echo "Stripping build tools..."
echo "Stripping build tools..."
local file
local file
while read -rd '' file; do
while read -rd '' file; do
case "$(file -bi "$file")" in
case "$(file -bi "$file")" in
application/x-sharedlib\;*) # Libraries (.so)
application/x-sharedlib\;*) # Libraries (.so)
strip -v $STRIP_SHARED "$file" ;;
strip -v $STRIP_SHARED "$file" ;;
application/x-archive\;*) # Libraries (.a)
application/x-archive\;*) # Libraries (.a)
strip -v $STRIP_STATIC "$file" ;;
strip -v $STRIP_STATIC "$file" ;;
application/x-executable\;*) # Binaries
application/x-executable\;*) # Binaries
strip -v $STRIP_BINARIES "$file" ;;
strip -v $STRIP_BINARIES "$file" ;;
application/x-pie-executable\;*) # Relocatable binaries
application/x-pie-executable\;*) # Relocatable binaries
strip -v $STRIP_SHARED "$file" ;;
strip -v $STRIP_SHARED "$file" ;;
esac
esac
done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0)
done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0)
echo "Stripping vmlinux..."
echo "Stripping vmlinux..."
strip -v $STRIP_STATIC "$builddir/vmlinux"
strip -v $STRIP_STATIC "$builddir/vmlinux"
echo "Adding symlink..."
echo "Adding symlink..."
mkdir -p "$pkgdir/usr/src"
mkdir -p "$pkgdir/usr/src"
ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"
ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"
}
}
_package-docs() {
_package-docs() {
Copia
Copiato
Copia
Copiato
pkgdesc="Documentation for the $pkgdesc kernel"
pkgdesc="Documentation for the $pkgdesc kernel"
depends=('linux-rt-bfq-dev')
replaces=('linux-rt-bfq-docs')
conflicts=('linux-rt-bfq-docs')
provides=('linux-rt-bfq-docs')
Copia
Copiato
Copia
Copiato
cd
"${pkgbase}"
cd
$_srcname
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
echo "Installing documentation..."
echo "Installing documentation..."
local src dst
local src dst
while read -rd '' src; do
while read -rd '' src; do
dst="${src#Documentation/}"
dst="${src#Documentation/}"
dst="$builddir/Documentation/${dst#output/}"
dst="$builddir/Documentation/${dst#output/}"
install -Dm644 "$src" "$dst"
install -Dm644 "$src" "$dst"
done < <(find Documentation -name '.*' -prune -o ! -type d -print0)
done < <(find Documentation -name '.*' -prune -o ! -type d -print0)
echo "Adding symlink..."
echo "Adding symlink..."
mkdir -p "$pkgdir/usr/share/doc"
mkdir -p "$pkgdir/usr/share/doc"
ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase"
ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase"
}
}
pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs")
for _p in "${pkgname[@]}"; do
for _p in "${pkgname[@]}"; do
eval "package_$_p() {
eval "package_$_p() {
$(declare -f "_package${_p#$pkgbase}")
$(declare -f "_package${_p#$pkgbase}")
_package${_p#$pkgbase}
_package${_p#$pkgbase}
}"
}"
done
done
Copia
Copiato
Copia
Copiato
# vim:set ts=8 sts=2 sw=2 et:
sha512sums=('69bf72b99b0ef55cb9cd8c37bc9670e0dc7d97ab1f5b9f7edd2c161e8489d3aac43eeb23fd52f32fb78a627dc74fbaeaeb7df63bf93420f5ae588fe9f457e98e'
'SKIP'
'e37ebf7e6c0f669f35bbc96bbbb096ae37541aeb65c540caa1201fcc11ebd7b7cca1a6a5f42b92e1da4040c92f882fb7830d054051d5b37a7b178a2de5ca3e24'
'SKIP'
'64a5b940cac72be8fc50c3feb93550e1da140df4708fe70da15a39c304021707d5638be6b75c7077a2ca56637025dfed50f00919972eafd270be59ba6c079312'
'08ba50a763f71267215ebf00f136edf68c63aa8afa362c30d6b06fbf38d5cd03c4300165eebb9db9571e7c47150eaa6efbbb7a7f53053b05570cb11f3b4a8303'
'14b28af9ba68e82aaba77a7a857f8ba5d71f862f6d008fcd416e455f0dcca61c51d3ad0ec4867c06e0bb273a6a28b50f07f20552acc1ed46aead8a1dc09bba22'
'105c632754bf9a8cffd3c90680d5d1eac4e597746df442df65033d1598d57ec250ce95637908e1e7af9fe6a46d5c0515494893678808a8247b9320f3f9a4fe77')
validpgpkeys=(
'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds
'647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman
'64254695FFF0AA4466CC19E67B96E8162A8CF5D1' # Sebastian Andrzej Siewior
'5ED9A48FC54C0A22D1D0804CEBC26CDB5A56DE73' # Steven Rostedt
'E644E2F1D45FA0B2EAA02F33109F098506FF0B14' # Thomas Gleixner
)
Diff salvati
Testo originale
Apri file
# Maintainer: David Runge <dvzrv@archlinux.org> # Maintainer: Joakim Hernberg <jbh@alchemy.lu> pkgbase=linux-rt pkgver=5.11.4.11.arch1 pkgrel=1 pkgdesc='Linux RT' arch=('x86_64') url="https://wiki.linuxfoundation.org/realtime/start" license=('GPL2') makedepends=('bc' 'git' 'graphviz' 'imagemagick' 'kmod' 'libelf' 'pahole' 'python-sphinx' 'python-sphinx_rtd_theme' 'xmlto') options=('!strip') source=( "git+https://gitlab.archlinux.org/dvzrv/linux-rt#tag=v${pkgver}?signed" config ) sha512sums=('SKIP' '977ac2ff9c344619758aa30aeb1c9fd6ad2777c99774a5a2b6956cd85c38640a00a4f292a53195fca15e645e2cba3bb725a4d0ca043b3a03261d456504512824') b2sums=('SKIP' '56cd37f1ac075db2cd4b30a9bb2bedcb0a9c4648cc23e408a121a529d090b894c7e919b9ea996e30ca23f559fde6172594935af3083e69ce5e1c62719e3658fa') validpgpkeys=( '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman <gregkh@kernel.org> '64254695FFF0AA4466CC19E67B96E8162A8CF5D1' # Sebastian Andrzej Siewior 'C7E7849466FE2358343588377258734B41C31549' # David Runge <dvzrv@archlinux.org> ) export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" prepare() { cd "${pkgbase}" echo "Setting version..." scripts/setlocalversion --save-scmversion echo "-$pkgrel" > localversion.10-pkgrel echo "${pkgbase#linux}" > localversion.20-pkgname local src for src in "${source[@]}"; do src="${src%%::*}" src="${src##*/}" # picking up the RT patch src="${src//patch.xz/patch}" [[ $src = *.patch ]] || continue echo "Applying patch $src..." patch -Np1 < "../$src" done echo "Setting config..." cp ../config .config make olddefconfig # make nconfig make -s kernelrelease > version echo "Prepared $pkgbase version $(<version)" } build() { cd "${pkgbase}" make all make htmldocs } _package() { pkgdesc="The $pkgdesc kernel and modules" depends=(coreutils initramfs kmod) optdepends=('crda: to set the correct wireless channels of your country' 'linux-firmware: firmware images needed for some devices') provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE) cd "${pkgbase}" local kernver="$(<version)" local modulesdir="$pkgdir/usr/lib/modules/$kernver" echo "Installing boot image..." # systemd expects to find the kernel here to allow hibernation # https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344 install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz" # Used by mkinitcpio to name the kernel echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase" echo "Installing modules..." make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 modules_install # remove build and source links rm "$modulesdir"/{source,build} } _package-headers() { pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel" depends=(pahole) cd "${pkgbase}" local builddir="$pkgdir/usr/lib/modules/$(<version)/build" echo "Installing build files..." install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \ localversion.* version vmlinux install -Dt "$builddir/kernel" -m644 kernel/Makefile install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile cp -t "$builddir" -a scripts # add objtool for external module building and enabled VALIDATION_STACK option install -Dt "$builddir/tools/objtool" tools/objtool/objtool # add xfs and shmem for aufs building mkdir -p "$builddir"/{fs/xfs,mm} echo "Installing headers..." cp -t "$builddir" -a include cp -t "$builddir/arch/x86" -a arch/x86/include install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h # http://bugs.archlinux.org/task/13146 install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h # http://bugs.archlinux.org/task/20402 install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h echo "Installing KConfig files..." find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \; echo "Removing unneeded architectures..." local arch for arch in "$builddir"/arch/*/; do [[ $arch = */x86/ ]] && continue echo "Removing $(basename "$arch")" rm -r "$arch" done echo "Removing documentation..." rm -r "$builddir/Documentation" echo "Removing broken symlinks..." find -L "$builddir" -type l -printf 'Removing %P\n' -delete echo "Removing loose objects..." find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete echo "Stripping build tools..." local file while read -rd '' file; do case "$(file -bi "$file")" in application/x-sharedlib\;*) # Libraries (.so) strip -v $STRIP_SHARED "$file" ;; application/x-archive\;*) # Libraries (.a) strip -v $STRIP_STATIC "$file" ;; application/x-executable\;*) # Binaries strip -v $STRIP_BINARIES "$file" ;; application/x-pie-executable\;*) # Relocatable binaries strip -v $STRIP_SHARED "$file" ;; esac done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0) echo "Stripping vmlinux..." strip -v $STRIP_STATIC "$builddir/vmlinux" echo "Adding symlink..." mkdir -p "$pkgdir/usr/src" ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase" } _package-docs() { pkgdesc="Documentation for the $pkgdesc kernel" cd "${pkgbase}" local builddir="$pkgdir/usr/lib/modules/$(<version)/build" echo "Installing documentation..." local src dst while read -rd '' src; do dst="${src#Documentation/}" dst="$builddir/Documentation/${dst#output/}" install -Dm644 "$src" "$dst" done < <(find Documentation -name '.*' -prune -o ! -type d -print0) echo "Adding symlink..." mkdir -p "$pkgdir/usr/share/doc" ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase" } pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs") 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:
Testo modificato
Apri file
# Maintainer: Piotr Gorski <lucjan.lucjanov@gmail.com> # Contributor: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> # Contributor: Tobias Powalowski <tpowa@archlinux.org> # Contributor: Thomas Baechler <thomas@archlinux.org> ### BUILD OPTIONS # Set these variables to ANYTHING that is not null to enable them ### Tweak kernel options prior to a build via nconfig _makenconfig= ### Tweak kernel options prior to a build via menuconfig _makemenuconfig= ### Tweak kernel options prior to a build via xconfig _makexconfig= ### Tweak kernel options prior to a build via gconfig _makegconfig= ### Running with a 1000 HZ tick rate _1k_HZ_ticks=y # NUMA is optimized for multi-socket motherboards. # A single multi-core CPU actually runs slower with NUMA enabled. # See, https://bugs.archlinux.org/task/31187 _NUMAdisable=y # Compile ONLY used modules to VASTLYreduce the number of modules built # and the build time. # # To keep track of which modules are needed for your specific system/hardware, # give module_db script a try: https://aur.archlinux.org/packages/modprobed-db # This PKGBUILD read the database kept if it exists # # More at this wiki page ---> https://wiki.archlinux.org/index.php/Modprobed-db _localmodcfg= # Use the current kernel's .config file # Enabling this option will use the .config of the RUNNING kernel rather than # the ARCH defaults. Useful when the package gets updated and you already went # through the trouble of customizing your config options. NOT recommended when # a new kernel is released, but again, convenient for package bumps. _use_current= ### Do not edit below this line unless you know what you're doing pkgbase=linux-rt-bfq-dev # pkgname=('linux-rt-bfq-dev' 'linux-rt-bfq-dev-headers' 'linux-rt-bfq-dev-docs') _major=5.11 _minor=4 _rtver=11 _rtpatchver=rt${_rtver} pkgver=${_major}.${_minor}.${_rtpatchver} _pkgver=${_major}.${_minor} _srcname=linux-${_pkgver} pkgrel=13 pkgdesc='Linux RT-BFQ-dev' arch=('x86_64') url="https://github.com/sirlucjan/bfq-mq-lucjan" license=('GPL2') options=('!strip') makedepends=('kmod' 'bc' 'libelf' 'python-sphinx' 'python-sphinx_rtd_theme' 'graphviz' 'imagemagick' 'pahole' 'cpio' 'perl' 'tar' 'xz') #_lucjanpath="https://raw.githubusercontent.com/sirlucjan/kernel-patches/master/${_major}" _lucjanpath="https://gitlab.com/sirlucjan/kernel-patches/raw/master/${_major}" # Some patches for BFQ conflict with patches for BFQ-dev. # To use linux-bfq-dev smoothly apply bfq-reverts before bfq-dev patch. # Otherwise the kernel will not compile. #_bfq_rev_path="bfq-reverts-all" #_bfq_rev_patch="0001-bfq-reverts.patch" #_bfq_path="bfq-dev-lucjan" #_bfq_ver="v14" #_bfq_rel="r2K210223" #_bfq_patch="${_major}-${_bfq_path}-${_bfq_ver}-${_bfq_rel}.patch" _bfq_path="bfq-lucjan" _bfq_rel="r2K210325" _bfq_patch="${_major}-${_bfq_path}-${_bfq_rel}.patch" _gcc_path="cpu-patches-v4-sep" _gcc_patch="0001-cpu-${_major}-merge-graysky-s-patchset.patch" source=("https://www.kernel.org/pub/linux/kernel/v5.x/${_srcname}.tar.xz" "https://www.kernel.org/pub/linux/kernel/v5.x/${_srcname}.tar.sign" "http://www.kernel.org/pub/linux/kernel/projects/rt/${_major}/patch-${_pkgver}-${_rtpatchver}.patch.xz" "http://www.kernel.org/pub/linux/kernel/projects/rt/${_major}/patch-${_pkgver}-${_rtpatchver}.patch.sign" #"${_lucjanpath}/${_bfq_rev_path}/${_bfq_rev_patch}" "${_lucjanpath}/${_bfq_path}/${_bfq_patch}" "${_lucjanpath}/${_gcc_path}/${_gcc_patch}" "${_lucjanpath}/arch-patches-v9/0001-ZEN-Add-sysctl-and-CONFIG-to-disallow-unprivileged-C.patch" # the main kernel config files 'config') export KBUILD_BUILD_HOST=archlinux export KBUILD_BUILD_USER=$pkgbase export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})" prepare() { cd $_srcname ### Add rt patch echo "Add rt patch" patch -Np1 -i ../patch-${_pkgver}-${_rtpatchver}.patch ### Setting version echo "Setting version..." scripts/setlocalversion --save-scmversion echo "-$pkgrel" > localversion.10-pkgrel echo "${pkgbase#linux}" > localversion.20-pkgname ### Patching sources local src for src in "${source[@]}"; do src="${src%%::*}" src="${src##*/}" [[ $src = *.patch ]] || continue echo "Applying patch $src..." patch -Np1 < "../$src" done ### Setting config echo "Setting config..." cp ../config .config make olddefconfig ### Prepared version make -s kernelrelease > version echo "Prepared $pkgbase version $(<version)" ### Optionally use running kernel's config # code originally by nous; http://aur.archlinux.org/packages.php?ID=40191 if [ -n "$_use_current" ]; then if [[ -s /proc/config.gz ]]; then echo "Extracting config from /proc/config.gz..." # modprobe configs zcat /proc/config.gz > ./.config else warning "Your kernel was not compiled with IKCONFIG_PROC!" warning "You cannot read the current config!" warning "Aborting!" exit fi fi ### Optionally set tickrate to 1000 if [ -n "$_1k_HZ_ticks" ]; then echo "Setting tick rate to 1k..." scripts/config --disable CONFIG_HZ_300 scripts/config --enable CONFIG_HZ_1000 scripts/config --set-val CONFIG_HZ 1000 fi ### Optionally disable NUMA for 64-bit kernels only # (x86 kernels do not support NUMA) if [ -n "$_NUMAdisable" ]; then echo "Disabling NUMA from kernel config..." scripts/config --disable CONFIG_NUMA fi ### Optionally load needed modules for the make localmodconfig # See https://aur.archlinux.org/packages/modprobed-db if [ -n "$_localmodcfg" ]; then if [ -f $HOME/.config/modprobed.db ]; then echo "Running Steven Rostedt's make localmodconfig now" make LSMOD=$HOME/.config/modprobed.db localmodconfig else echo "No modprobed.db data found" exit fi fi ### Running make nconfig [[ -z "$_makenconfig" ]] || make nconfig ### Running make menuconfig [[ -z "$_makemenuconfig" ]] || make menuconfig ### Running make xconfig [[ -z "$_makexconfig" ]] || make xconfig ### Running make gconfig [[ -z "$_makegconfig" ]] || make gconfig ### Save configuration for later reuse cat .config > "${startdir}/config.last" } build() { cd $_srcname make all make htmldocs } _package() { pkgdesc="The $pkgdesc kernel and modules" depends=('coreutils' 'kmod' 'initramfs') optdepends=('crda: to set the correct wireless channels of your country' 'linux-firmware: firmware images needed for some devices' 'modprobed-db: Keeps track of EVERY kernel module that has ever been probed - useful for those of us who make localmodconfig') provides=(VIRTUALBOX-GUEST-MODULES WIREGUARD-MODULE linux-rt-bfq) replaces=('linux-rt-bfq') conflicts=('linux-rt-bfq') cd $_srcname local kernver="$(<version)" local modulesdir="$pkgdir/usr/lib/modules/$kernver" echo "Installing boot image..." # systemd expects to find the kernel here to allow hibernation # https://github.com/systemd/systemd/commit/edda44605f06a41fb86b7ab8128dcf99161d2344 install -Dm644 "$(make -s image_name)" "$modulesdir/vmlinuz" # Used by mkinitcpio to name the kernel echo "$pkgbase" | install -Dm644 /dev/stdin "$modulesdir/pkgbase" echo "Installing modules..." make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 modules_install # remove build and source links rm "$modulesdir"/{source,build} } _package-headers() { pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel" depends=('linux-rt-bfq-dev' 'pahole') replaces=('linux-rt-bfq-headers') conflicts=('linux-rt-bfq-headers') provides=('linux-rt-bfq-headers') cd $_srcname local builddir="$pkgdir/usr/lib/modules/$(<version)/build" echo "Installing build files..." install -Dt "$builddir" -m644 .config Makefile Module.symvers System.map \ localversion.* version vmlinux install -Dt "$builddir/kernel" -m644 kernel/Makefile install -Dt "$builddir/arch/x86" -m644 arch/x86/Makefile cp -t "$builddir" -a scripts # add objtool for external module building and enabled VALIDATION_STACK option install -Dt "$builddir/tools/objtool" tools/objtool/objtool # add xfs and shmem for aufs building mkdir -p "$builddir"/{fs/xfs,mm} echo "Installing headers..." cp -t "$builddir" -a include cp -t "$builddir/arch/x86" -a arch/x86/include install -Dt "$builddir/arch/x86/kernel" -m644 arch/x86/kernel/asm-offsets.s install -Dt "$builddir/drivers/md" -m644 drivers/md/*.h install -Dt "$builddir/net/mac80211" -m644 net/mac80211/*.h # http://bugs.archlinux.org/task/13146 install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h # http://bugs.archlinux.org/task/20402 install -Dt "$builddir/drivers/media/usb/dvb-usb" -m644 drivers/media/usb/dvb-usb/*.h install -Dt "$builddir/drivers/media/dvb-frontends" -m644 drivers/media/dvb-frontends/*.h install -Dt "$builddir/drivers/media/tuners" -m644 drivers/media/tuners/*.h echo "Installing KConfig files..." find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \; echo "Removing unneeded architectures..." local arch for arch in "$builddir"/arch/*/; do [[ $arch = */x86/ ]] && continue echo "Removing $(basename "$arch")" rm -r "$arch" done echo "Removing documentation..." rm -r "$builddir/Documentation" echo "Removing broken symlinks..." find -L "$builddir" -type l -printf 'Removing %P\n' -delete echo "Removing loose objects..." find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete echo "Stripping build tools..." local file while read -rd '' file; do case "$(file -bi "$file")" in application/x-sharedlib\;*) # Libraries (.so) strip -v $STRIP_SHARED "$file" ;; application/x-archive\;*) # Libraries (.a) strip -v $STRIP_STATIC "$file" ;; application/x-executable\;*) # Binaries strip -v $STRIP_BINARIES "$file" ;; application/x-pie-executable\;*) # Relocatable binaries strip -v $STRIP_SHARED "$file" ;; esac done < <(find "$builddir" -type f -perm -u+x ! -name vmlinux -print0) echo "Stripping vmlinux..." strip -v $STRIP_STATIC "$builddir/vmlinux" echo "Adding symlink..." mkdir -p "$pkgdir/usr/src" ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase" } _package-docs() { pkgdesc="Documentation for the $pkgdesc kernel" depends=('linux-rt-bfq-dev') replaces=('linux-rt-bfq-docs') conflicts=('linux-rt-bfq-docs') provides=('linux-rt-bfq-docs') cd $_srcname local builddir="$pkgdir/usr/lib/modules/$(<version)/build" echo "Installing documentation..." local src dst while read -rd '' src; do dst="${src#Documentation/}" dst="$builddir/Documentation/${dst#output/}" install -Dm644 "$src" "$dst" done < <(find Documentation -name '.*' -prune -o ! -type d -print0) echo "Adding symlink..." mkdir -p "$pkgdir/usr/share/doc" ln -sr "$builddir/Documentation" "$pkgdir/usr/share/doc/$pkgbase" } pkgname=("$pkgbase" "$pkgbase-headers" "$pkgbase-docs") for _p in "${pkgname[@]}"; do eval "package_$_p() { $(declare -f "_package${_p#$pkgbase}") _package${_p#$pkgbase} }" done sha512sums=('69bf72b99b0ef55cb9cd8c37bc9670e0dc7d97ab1f5b9f7edd2c161e8489d3aac43eeb23fd52f32fb78a627dc74fbaeaeb7df63bf93420f5ae588fe9f457e98e' 'SKIP' 'e37ebf7e6c0f669f35bbc96bbbb096ae37541aeb65c540caa1201fcc11ebd7b7cca1a6a5f42b92e1da4040c92f882fb7830d054051d5b37a7b178a2de5ca3e24' 'SKIP' '64a5b940cac72be8fc50c3feb93550e1da140df4708fe70da15a39c304021707d5638be6b75c7077a2ca56637025dfed50f00919972eafd270be59ba6c079312' '08ba50a763f71267215ebf00f136edf68c63aa8afa362c30d6b06fbf38d5cd03c4300165eebb9db9571e7c47150eaa6efbbb7a7f53053b05570cb11f3b4a8303' '14b28af9ba68e82aaba77a7a857f8ba5d71f862f6d008fcd416e455f0dcca61c51d3ad0ec4867c06e0bb273a6a28b50f07f20552acc1ed46aead8a1dc09bba22' '105c632754bf9a8cffd3c90680d5d1eac4e597746df442df65033d1598d57ec250ce95637908e1e7af9fe6a46d5c0515494893678808a8247b9320f3f9a4fe77') validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman '64254695FFF0AA4466CC19E67B96E8162A8CF5D1' # Sebastian Andrzej Siewior '5ED9A48FC54C0A22D1D0804CEBC26CDB5A56DE73' # Steven Rostedt 'E644E2F1D45FA0B2EAA02F33109F098506FF0B14' # Thomas Gleixner )
Trovare la differenza