add linux-git
remove bcachefs-tools-git remove linux-bcachefs-git
This commit is contained in:
parent
00a3ee19a7
commit
953950af57
repo
bcachefs-tools-git
linux-bcachefs-git
linux-git
|
@ -1,58 +0,0 @@
|
||||||
# Maintainer: Kyle De'Vir (QuartzDragon) <kyle.devir.mykolab.com>
|
|
||||||
|
|
||||||
pkgname=bcachefs-tools-git
|
|
||||||
pkgver=1132
|
|
||||||
pkgrel=1
|
|
||||||
pkgdesc="BCacheFS filesystem utilities"
|
|
||||||
url="https://github.com/koverstreet/bcachefs-tools"
|
|
||||||
arch=("x86_64")
|
|
||||||
license=("GPL2")
|
|
||||||
install="$pkgname.install"
|
|
||||||
|
|
||||||
provides=(bcachefs-tools)
|
|
||||||
dependsarray="attr cargo clang fuse3 git keyutils libaio libscrypt libsodium liburcu libutil-linux pkgconf python-docutils systemd valgrind zlib"
|
|
||||||
makedepends=(${dependsarray})
|
|
||||||
depends=(${dependsarray})
|
|
||||||
|
|
||||||
options=('!strip')
|
|
||||||
|
|
||||||
_reponame="bcachefs-tools"
|
|
||||||
_repo_url="https://github.com/koverstreet/$_reponame"
|
|
||||||
|
|
||||||
source=(
|
|
||||||
"git+$_repo_url"
|
|
||||||
"add-mkinitcpio-hook-for-Arch.patch"
|
|
||||||
)
|
|
||||||
sha512sums=('SKIP'
|
|
||||||
'5ebb0c6b17e7a61ccd2c157a0a833bc51e1d66cdf9711c8038c9e695ba22bf4098695658401bef9560ec02722787de0d89e1ccf7b8a716f9eeb136ad2e59daca')
|
|
||||||
|
|
||||||
prepare() {
|
|
||||||
cd "$srcdir/$_reponame"
|
|
||||||
|
|
||||||
PName="add-mkinitcpio-hook-for-Arch.patch"
|
|
||||||
msg2 "Patching with $PName ..."
|
|
||||||
patch -Np1 -i "../$PName"
|
|
||||||
}
|
|
||||||
|
|
||||||
pkgver() {
|
|
||||||
cd "$srcdir/$_reponame"
|
|
||||||
|
|
||||||
echo "$(git rev-list --count HEAD)"
|
|
||||||
}
|
|
||||||
|
|
||||||
build() {
|
|
||||||
cd "$srcdir/$_reponame"
|
|
||||||
|
|
||||||
make
|
|
||||||
}
|
|
||||||
|
|
||||||
package() {
|
|
||||||
cd "$srcdir/$_reponame"
|
|
||||||
|
|
||||||
make DESTDIR="$pkgdir" PREFIX="/usr" ROOT_SBINDIR="/usr/bin" INITRAMFS_DIR="/etc/initcpio" install
|
|
||||||
|
|
||||||
install -Dm644 "arch/etc/initcpio/hooks/bcachefs" \
|
|
||||||
"$pkgdir/etc/initcpio/hooks/bcachefs"
|
|
||||||
install -Dm644 "arch/etc/initcpio/install/bcachefs" \
|
|
||||||
"$pkgdir/etc/initcpio/install/bcachefs"
|
|
||||||
}
|
|
|
@ -1,130 +0,0 @@
|
||||||
From ad41c2fb76a96f772d75f3b4b7687fcd29aa0574 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Christophe B Billheimer <cbillhei@gmu.edu>
|
|
||||||
Date: Sat, 28 Jul 2018 22:54:36 -0400
|
|
||||||
Subject: [PATCH] add mkinitcpio hook for Arch and sample /etc/mkinitcpio.conf
|
|
||||||
|
|
||||||
---
|
|
||||||
arch/etc/initcpio/hooks/bcachefs | 14 +++++++
|
|
||||||
arch/etc/initcpio/install/bcachefs | 17 ++++++++
|
|
||||||
arch/etc/mkinitcpio.conf | 66 ++++++++++++++++++++++++++++++
|
|
||||||
3 files changed, 97 insertions(+)
|
|
||||||
create mode 100644 arch/etc/initcpio/hooks/bcachefs
|
|
||||||
create mode 100644 arch/etc/initcpio/install/bcachefs
|
|
||||||
create mode 100644 arch/etc/mkinitcpio.conf
|
|
||||||
|
|
||||||
diff --git a/arch/etc/initcpio/hooks/bcachefs b/arch/etc/initcpio/hooks/bcachefs
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..cc2ed7e
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/arch/etc/initcpio/hooks/bcachefs
|
|
||||||
@@ -0,0 +1,14 @@
|
|
||||||
+#!/usr/bin/bash
|
|
||||||
+
|
|
||||||
+run_hook() {
|
|
||||||
+
|
|
||||||
+# check if $root needs unlocking
|
|
||||||
+if bcachefs unlock -c $root >/dev/null 2>&1; then
|
|
||||||
+ echo "Unlocking $root:"
|
|
||||||
+ while true; do
|
|
||||||
+ bcachefs unlock $root && break
|
|
||||||
+ done
|
|
||||||
+fi
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+# vim: set ft=sh ts=4 sw=4 et:
|
|
||||||
diff --git a/arch/etc/initcpio/install/bcachefs b/arch/etc/initcpio/install/bcachefs
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..67ce186
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/arch/etc/initcpio/install/bcachefs
|
|
||||||
@@ -0,0 +1,17 @@
|
|
||||||
+#!/bin/bash
|
|
||||||
+
|
|
||||||
+build() {
|
|
||||||
+ add_module "bcachefs"
|
|
||||||
+ add_binary "bcachefs"
|
|
||||||
+
|
|
||||||
+ add_runscript
|
|
||||||
+
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+help() {
|
|
||||||
+ cat <<HELPEOF
|
|
||||||
+This hook is for getting the bcachefs unlock prompt at boot
|
|
||||||
+HELPEOF
|
|
||||||
+}
|
|
||||||
+
|
|
||||||
+# vim set ft=sh ts=4 sw=4 et:
|
|
||||||
diff --git a/arch/etc/mkinitcpio.conf b/arch/etc/mkinitcpio.conf
|
|
||||||
new file mode 100644
|
|
||||||
index 0000000..f395e18
|
|
||||||
--- /dev/null
|
|
||||||
+++ b/arch/etc/mkinitcpio.conf
|
|
||||||
@@ -0,0 +1,66 @@
|
|
||||||
+# vim:set ft=sh
|
|
||||||
+# MODULES
|
|
||||||
+# The following modules are loaded before any boot hooks are
|
|
||||||
+# run. Advanced users may wish to specify all system modules
|
|
||||||
+# in this array. For instance:
|
|
||||||
+# MODULES=(piix ide_disk reiserfs)
|
|
||||||
+MODULES=(bcachefs)
|
|
||||||
+
|
|
||||||
+# BINARIES
|
|
||||||
+# This setting includes any additional binaries a given user may
|
|
||||||
+# wish into the CPIO image. This is run last, so it may be used to
|
|
||||||
+# override the actual binaries included by a given hook
|
|
||||||
+# BINARIES are dependency parsed, so you may safely ignore libraries
|
|
||||||
+BINARIES=(bcachefs)
|
|
||||||
+
|
|
||||||
+# FILES
|
|
||||||
+# This setting is similar to BINARIES above, however, files are added
|
|
||||||
+# as-is and are not parsed in any way. This is useful for config files.
|
|
||||||
+FILES=()
|
|
||||||
+
|
|
||||||
+# HOOKS
|
|
||||||
+# This is the most important setting in this file. The HOOKS control the
|
|
||||||
+# modules and scripts added to the image, and what happens at boot time.
|
|
||||||
+# Order is important, and it is recommended that you do not change the
|
|
||||||
+# order in which HOOKS are added. Run 'mkinitcpio -H <hook name>' for
|
|
||||||
+# help on a given hook.
|
|
||||||
+# 'base' is _required_ unless you know precisely what you are doing.
|
|
||||||
+# 'udev' is _required_ in order to automatically load modules
|
|
||||||
+# 'filesystems' is _required_ unless you specify your fs modules in MODULES
|
|
||||||
+# Examples:
|
|
||||||
+## This setup specifies all modules in the MODULES setting above.
|
|
||||||
+## No raid, lvm2, or encrypted root is needed.
|
|
||||||
+# HOOKS="base"
|
|
||||||
+#
|
|
||||||
+## This setup will autodetect all modules for your system and should
|
|
||||||
+## work as a sane default
|
|
||||||
+# HOOKS="base udev autodetect block filesystems"
|
|
||||||
+#
|
|
||||||
+## This setup will generate a 'full' image which supports most systems.
|
|
||||||
+## No autodetection is done.
|
|
||||||
+# HOOKS="base udev block filesystems"
|
|
||||||
+#
|
|
||||||
+## This setup assembles a pata mdadm array with an encrypted root FS.
|
|
||||||
+## Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
|
|
||||||
+# HOOKS="base udev block mdadm encrypt filesystems"
|
|
||||||
+#
|
|
||||||
+## This setup loads an lvm2 volume group on a usb device.
|
|
||||||
+# HOOKS="base udev block lvm2 filesystems"
|
|
||||||
+#
|
|
||||||
+## NOTE: If you have /usr on a separate partition, you MUST include the
|
|
||||||
+# usr, fsck and shutdown hooks.
|
|
||||||
+HOOKS=(base udev autodetect modconf block filesystems bcachefs keyboard fsck)
|
|
||||||
+
|
|
||||||
+# COMPRESSION
|
|
||||||
+# Use this to compress the initramfs image. By default, gzip compression
|
|
||||||
+# is used. Use 'cat' to create an uncompressed image.
|
|
||||||
+#COMPRESSION="gzip"
|
|
||||||
+#COMPRESSION="bzip2"
|
|
||||||
+#COMPRESSION="lzma"
|
|
||||||
+#COMPRESSION="xz"
|
|
||||||
+#COMPRESSION="lzop"
|
|
||||||
+#COMPRESSION="lz4"
|
|
||||||
+
|
|
||||||
+# COMPRESSION_OPTIONS
|
|
||||||
+# Additional options for the compressor
|
|
||||||
+#COMPRESSION_OPTIONS=""
|
|
||||||
|
|
|
@ -1,16 +0,0 @@
|
||||||
post_upgrade() {
|
|
||||||
echo "If you haven't already, please manually add 'bcachefs' to mkinitcpio.conf variables 'MODULES=()' and 'HOOKS=()', and also add '/usr/bin/bcachefs' to 'BINARIES=()'"
|
|
||||||
echo "and then run 'mkinitcpio -p linux-bcachefs-git'"
|
|
||||||
}
|
|
||||||
|
|
||||||
post_install() {
|
|
||||||
echo "Please manually add 'bcachefs' to mkinitcpio.conf variables 'MODULES=()' and 'HOOKS=()', and also add '/usr/bin/bcachefs' to 'BINARIES=()'"
|
|
||||||
echo "and then run 'mkinitcpio -p linux-bcachefs-git'"
|
|
||||||
}
|
|
||||||
|
|
||||||
post_remove() {
|
|
||||||
echo "Please manually remove 'bcachefs' from mkinitcpio.conf variables 'MODULES=()' and 'HOOKS=()', and also remove '/usr/bin/bcachefs' from 'BINARIES=()'"
|
|
||||||
echo "and then run 'mkinitcpio -p linux-bcachefs-git'"
|
|
||||||
}
|
|
||||||
|
|
||||||
# vim:set ft=sh ts=8 sts=2 sw=2 et:
|
|
|
@ -1,390 +0,0 @@
|
||||||
# Maintainer: Kyle De'Vir (QuartzDragon) <kyle[dot]devir[at]mykolab[dot]com>
|
|
||||||
# Original package maintainer: Jan Alexander Steffens (heftig) <heftig@archlinux.org>
|
|
||||||
|
|
||||||
### BUILD OPTIONS
|
|
||||||
|
|
||||||
# Set these variables to ANYTHING that is not null to enable them
|
|
||||||
|
|
||||||
# Set to force building with a particular commit ~ takes precedence over _bcachefs_branch
|
|
||||||
_bcachefs_commit=
|
|
||||||
|
|
||||||
# Set to force building with a particular branch
|
|
||||||
_bcachefs_branch=
|
|
||||||
|
|
||||||
# Tweak kernel options prior to a build via nconfig
|
|
||||||
_makenconfig=
|
|
||||||
|
|
||||||
# Optionally select a sub architecture by number if building in a clean chroot
|
|
||||||
# Leaving this entry blank will require user interaction during the build
|
|
||||||
# which will cause a failure to build if using makechrootpkg. Note that the
|
|
||||||
# generic (default) option is 40.
|
|
||||||
#
|
|
||||||
# Note - the march=native option is unavailable by this method, use the nconfig
|
|
||||||
# and manually select it.
|
|
||||||
#
|
|
||||||
# 1. AMD Opteron/Athlon64/Hammer/K8 (MK8)
|
|
||||||
# 2. AMD Opteron/Athlon64/Hammer/K8 with SSE3 (MK8SSE3)
|
|
||||||
# 3. AMD 61xx/7x50/PhenomX3/X4/II/K10 (MK10)
|
|
||||||
# 4. AMD Barcelona (MBARCELONA)
|
|
||||||
# 5. AMD Bobcat (MBOBCAT)
|
|
||||||
# 6. AMD Jaguar (MJAGUAR)
|
|
||||||
# 7. AMD Bulldozer (MBULLDOZER)
|
|
||||||
# 8. AMD Piledriver (MPILEDRIVER)
|
|
||||||
# 9. AMD Steamroller (MSTEAMROLLER)
|
|
||||||
# 10. AMD Excavator (MEXCAVATOR)
|
|
||||||
# 11. AMD Zen (MZEN)
|
|
||||||
# 12. AMD Zen 2 (MZEN2)
|
|
||||||
# 13. AMD Zen 3 (MZEN3)
|
|
||||||
# 14. AMD Zen 4 (MZEN4)
|
|
||||||
# 15. Intel P4 / older Netburst based Xeon (MPSC)
|
|
||||||
# 16. Intel Core 2 (MCORE2)
|
|
||||||
# 17. Intel Atom (MATOM)
|
|
||||||
# 18. Intel Nehalem (MNEHALEM)
|
|
||||||
# 19. Intel Westmere (MWESTMERE)
|
|
||||||
# 20. Intel Silvermont (MSILVERMONT)
|
|
||||||
# 21. Intel Goldmont (MGOLDMONT)
|
|
||||||
# 22. Intel Goldmont Plus (MGOLDMONTPLUS)
|
|
||||||
# 23. Intel Sandy Bridge (MSANDYBRIDGE)
|
|
||||||
# 24. Intel Ivy Bridge (MIVYBRIDGE)
|
|
||||||
# 25. Intel Haswell (MHASWELL)
|
|
||||||
# 26. Intel Broadwell (MBROADWELL)
|
|
||||||
# 27. Intel Skylake (MSKYLAKE)
|
|
||||||
# 28. Intel Skylake X (MSKYLAKEX)
|
|
||||||
# 29. Intel Cannon Lake (MCANNONLAKE)
|
|
||||||
# 30. Intel Ice Lake (MICELAKE)
|
|
||||||
# 31. Intel Cascade Lake (MCASCADELAKE)
|
|
||||||
# 32. Intel Cooper Lake (MCOOPERLAKE)
|
|
||||||
# 33. Intel Tiger Lake (MTIGERLAKE)
|
|
||||||
# 34. Intel Sapphire Rapids (MSAPPHIRERAPIDS)
|
|
||||||
# 35. Intel Rocket Lake (MROCKETLAKE)
|
|
||||||
# 36. Intel Alder Lake (MALDERLAKE)
|
|
||||||
# 37. Intel Raptor Lake (MRAPTORLAKE)
|
|
||||||
# 38. Intel Meteor Lake (MMETEORLAKE)
|
|
||||||
# 39. Intel Emerald Rapids (MEMERALDRAPIDS)
|
|
||||||
# 40. Generic-x86-64 (GENERIC_CPU)
|
|
||||||
# 41. Generic-x86-64-v2 (GENERIC_CPU2)
|
|
||||||
# 42. Generic-x86-64-v3 (GENERIC_CPU3)
|
|
||||||
# 43. Generic-x86-64-v4 (GENERIC_CPU4)
|
|
||||||
# 44. Intel-Native optimizations autodetected by the compiler (MNATIVE_INTEL)
|
|
||||||
# 45. AMD-Native optimizations autodetected by the compiler (MNATIVE_AMD)
|
|
||||||
_subarch=40
|
|
||||||
|
|
||||||
# Compile ONLY used modules to VASTLY reduce 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=
|
|
||||||
|
|
||||||
pkgbase=linux-bcachefs-git
|
|
||||||
pkgver=6.5.6.arch2.r1204794.77373a45a734
|
|
||||||
pkgrel=1
|
|
||||||
pkgdesc="Linux"
|
|
||||||
_srcver_tag=6.5.6.arch2
|
|
||||||
url="https://github.com/koverstreet/bcachefs"
|
|
||||||
arch=(x86_64)
|
|
||||||
license=(GPL2)
|
|
||||||
makedepends=(
|
|
||||||
bc
|
|
||||||
cpio
|
|
||||||
gettext
|
|
||||||
libelf
|
|
||||||
pahole
|
|
||||||
perl
|
|
||||||
python
|
|
||||||
tar
|
|
||||||
xz
|
|
||||||
|
|
||||||
# htmldocs
|
|
||||||
graphviz
|
|
||||||
imagemagick
|
|
||||||
python-sphinx
|
|
||||||
texlive-latexextra
|
|
||||||
)
|
|
||||||
options=('!strip')
|
|
||||||
|
|
||||||
_reponame="linux-bcachefs"
|
|
||||||
_repo_url="https://github.com/koverstreet/bcachefs.git"
|
|
||||||
|
|
||||||
_repo_url_arch="https://github.com/archlinux/linux.git"
|
|
||||||
|
|
||||||
_reponame_upstream="linux"
|
|
||||||
_repo_url_upstream="https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"
|
|
||||||
|
|
||||||
_reponame_kernel_patch="kernel_compiler_patch"
|
|
||||||
_repo_url_kernel_patch="https://github.com/graysky2/${_reponame_kernel_patch}.git"
|
|
||||||
_kernel_patch_name="more-uarches-for-kernel-5.17+.patch"
|
|
||||||
|
|
||||||
_pkgdesc_extra="~ featuring Kent Overstreet's bcachefs filesystem"
|
|
||||||
|
|
||||||
_kernel_base_string="${_reponame}::git+${_repo_url}"
|
|
||||||
if [ -n "${_bcachefs_commit}" ]; then
|
|
||||||
kernel_source_string="${_kernel_base_string}#commit=${_bcachefs_commit}"
|
|
||||||
elif [ -n "${_bcachefs_branch}" ]; then
|
|
||||||
kernel_source_string="${_kernel_base_string}#branch=${_bcachefs_branch}"
|
|
||||||
else
|
|
||||||
kernel_source_string="${_kernel_base_string}#branch=master"
|
|
||||||
fi
|
|
||||||
|
|
||||||
source=(
|
|
||||||
${kernel_source_string}
|
|
||||||
#"${_reponame_upstream}::git+${_repo_url_upstream}"
|
|
||||||
"git+${_repo_url_kernel_patch}"
|
|
||||||
config # the main kernel config file
|
|
||||||
)
|
|
||||||
validpgpkeys=(
|
|
||||||
ABAF11C65A2970B130ABE3C479BE3E4300411886 # Linus Torvalds
|
|
||||||
647F28654894E3BD457199BE38DBBDC86092693E # Greg Kroah-Hartman
|
|
||||||
A2FF3A36AAA56654109064AB19802F8B0D70FC30 # Jan Alexander Steffens (heftig)
|
|
||||||
C7E7849466FE2358343588377258734B41C31549 # David Runge <dvzrv@archlinux.org>
|
|
||||||
)
|
|
||||||
b2sums=('SKIP'
|
|
||||||
'SKIP'
|
|
||||||
'005c7e306101f99fc0211dbc7e63b13d37aec10d6e8aeb0120200894088e436cd9921675b7ae205df80d7505aceee3002c94ef9b2b1c6b4f571a24d1fd8678e5')
|
|
||||||
|
|
||||||
export KBUILD_BUILD_HOST=archlinux
|
|
||||||
export KBUILD_BUILD_USER=$pkgbase
|
|
||||||
export KBUILD_BUILD_TIMESTAMP="$(date -Ru${SOURCE_DATE_EPOCH:+d @$SOURCE_DATE_EPOCH})"
|
|
||||||
|
|
||||||
_make() {
|
|
||||||
test -s version
|
|
||||||
make KERNELRELEASE="$(<version)" "$@"
|
|
||||||
}
|
|
||||||
|
|
||||||
prepare() {
|
|
||||||
git config --global user.email "lilac@noreply.bgme.me"
|
|
||||||
git config --global user.name "Lilac"
|
|
||||||
|
|
||||||
cd "$srcdir/$_reponame"
|
|
||||||
|
|
||||||
msg2 "Fetch and merge stable tag from ${_repo_url_arch} ..."
|
|
||||||
git remote add arch_stable "${_repo_url_arch}" || true
|
|
||||||
git fetch arch_stable "v${_srcver_tag%.*}-${_srcver_tag##*.}"
|
|
||||||
git merge --no-edit --no-commit FETCH_HEAD
|
|
||||||
|
|
||||||
#msg2 "Fetch and merge tag ${_srcver_tag//.arch*/} from Linux stable upstream repository..."
|
|
||||||
#git remote add upstream_stable "${srcdir}/${_reponame_upstream}" || true
|
|
||||||
#git fetch upstream_stable $v{_srcver_tag//.arch*/}
|
|
||||||
#git merge --no-edit --no-commit FETCH_HEAD
|
|
||||||
|
|
||||||
msg2 "Setting version..."
|
|
||||||
echo "-$pkgrel" > localversion.10-pkgrel
|
|
||||||
echo "${pkgbase#linux}" > localversion.20-pkgname
|
|
||||||
pkgver > version
|
|
||||||
make defconfig
|
|
||||||
make -s kernelrelease
|
|
||||||
make mrproper
|
|
||||||
|
|
||||||
FullPatchesArray=(
|
|
||||||
$_reponame_kernel_patch/$_kernel_patch_name
|
|
||||||
)
|
|
||||||
for MyPatch in "${FullPatchesArray[@]}"
|
|
||||||
do
|
|
||||||
msg2 "Applying patch $MyPatch..."
|
|
||||||
patch -Np1 -i "$srcdir/$MyPatch"
|
|
||||||
done
|
|
||||||
|
|
||||||
msg2 "Setting config..."
|
|
||||||
cp ../config .config
|
|
||||||
|
|
||||||
if [ -n "$_subarch" ]; then
|
|
||||||
yes "$_subarch" | _make oldconfig
|
|
||||||
else
|
|
||||||
_make prepare
|
|
||||||
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
|
|
||||||
msg2 "Running Steven Rostedt's make localmodconfig now"
|
|
||||||
_make LSMOD=$HOME/.config/modprobed.db localmodconfig
|
|
||||||
else
|
|
||||||
msg2 "No modprobed.db data found"
|
|
||||||
exit
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
# do not run 'make olddefconfig' as it sets default options
|
|
||||||
yes "" | _make config >/dev/null
|
|
||||||
|
|
||||||
msg2 "Showing config diff"
|
|
||||||
diff -u ../config .config || :
|
|
||||||
|
|
||||||
msg2 "Prepared $pkgbase version $(<version)"
|
|
||||||
|
|
||||||
[[ -z "$_makenconfig" ]] || _make nconfig
|
|
||||||
|
|
||||||
# save configuration for later reuse
|
|
||||||
cat .config > "$startdir/config.last"
|
|
||||||
}
|
|
||||||
|
|
||||||
pkgver() {
|
|
||||||
cd "${srcdir}/${_reponame}"
|
|
||||||
printf "%s.r%s.%s" "${_srcver_tag//-/.}" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
|
|
||||||
}
|
|
||||||
|
|
||||||
build() {
|
|
||||||
cd $_reponame
|
|
||||||
_make all
|
|
||||||
_make htmldocs
|
|
||||||
}
|
|
||||||
|
|
||||||
_package() {
|
|
||||||
pkgdesc="The $pkgdesc kernel and modules $_pkgdesc_extra"
|
|
||||||
depends=(
|
|
||||||
coreutils
|
|
||||||
initramfs
|
|
||||||
kmod
|
|
||||||
bcachefs-tools-git
|
|
||||||
)
|
|
||||||
optdepends=(
|
|
||||||
'wireless-regdb: to set the correct wireless channels of your country'
|
|
||||||
'linux-firmware: firmware images needed for some devices'
|
|
||||||
)
|
|
||||||
provides=(
|
|
||||||
KSMBD-MODULE
|
|
||||||
VIRTUALBOX-GUEST-MODULES
|
|
||||||
WIREGUARD-MODULE
|
|
||||||
)
|
|
||||||
replaces=(
|
|
||||||
virtualbox-guest-modules-arch
|
|
||||||
wireguard-arch
|
|
||||||
)
|
|
||||||
|
|
||||||
cd $_reponame
|
|
||||||
local modulesdir="$pkgdir/usr/lib/modules/$(<version)"
|
|
||||||
|
|
||||||
msg2 "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"
|
|
||||||
|
|
||||||
msg2 "Installing modules..."
|
|
||||||
ZSTD_CLEVEL=19 _make INSTALL_MOD_PATH="$pkgdir/usr" INSTALL_MOD_STRIP=1 \
|
|
||||||
DEPMOD=/doesnt/exist modules_install # Suppress depmod
|
|
||||||
|
|
||||||
# remove build and source links
|
|
||||||
rm "$modulesdir"/{source,build}
|
|
||||||
}
|
|
||||||
|
|
||||||
_package-headers() {
|
|
||||||
pkgdesc="Headers and scripts for building modules for the $pkgdesc kernel $_pkgdesc_extra"
|
|
||||||
depends=(pahole)
|
|
||||||
|
|
||||||
cd $_reponame
|
|
||||||
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
|
|
||||||
|
|
||||||
msg2 "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
|
|
||||||
|
|
||||||
# required when STACK_VALIDATION is enabled
|
|
||||||
install -Dt "$builddir/tools/objtool" tools/objtool/objtool
|
|
||||||
|
|
||||||
# required when DEBUG_INFO_BTF_MODULES is enabled
|
|
||||||
install -Dt "$builddir/tools/bpf/resolve_btfids" tools/bpf/resolve_btfids/resolve_btfids
|
|
||||||
|
|
||||||
msg2 "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
|
|
||||||
|
|
||||||
# https://bugs.archlinux.org/task/13146
|
|
||||||
install -Dt "$builddir/drivers/media/i2c" -m644 drivers/media/i2c/msp3400-driver.h
|
|
||||||
|
|
||||||
# https://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
|
|
||||||
|
|
||||||
# https://bugs.archlinux.org/task/71392
|
|
||||||
install -Dt "$builddir/drivers/iio/common/hid-sensors" -m644 drivers/iio/common/hid-sensors/*.h
|
|
||||||
|
|
||||||
msg2 "Installing KConfig files..."
|
|
||||||
find . -name 'Kconfig*' -exec install -Dm644 {} "$builddir/{}" \;
|
|
||||||
|
|
||||||
msg2 "Removing unneeded architectures..."
|
|
||||||
local arch
|
|
||||||
for arch in "$builddir"/arch/*/; do
|
|
||||||
[[ $arch = */x86/ ]] && continue
|
|
||||||
echo "Removing $(basename "$arch")"
|
|
||||||
rm -r "$arch"
|
|
||||||
done
|
|
||||||
|
|
||||||
msg2 "Removing documentation..."
|
|
||||||
rm -r "$builddir/Documentation"
|
|
||||||
|
|
||||||
msg2 "Removing broken symlinks..."
|
|
||||||
find -L "$builddir" -type l -printf 'Removing %P\n' -delete
|
|
||||||
|
|
||||||
msg2 "Removing loose objects..."
|
|
||||||
find "$builddir" -type f -name '*.o' -printf 'Removing %P\n' -delete
|
|
||||||
|
|
||||||
msg2 "Stripping build tools..."
|
|
||||||
local file
|
|
||||||
while read -rd '' file; do
|
|
||||||
case "$(file -Sib "$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"
|
|
||||||
|
|
||||||
msg2 "Adding symlink..."
|
|
||||||
mkdir -p "$pkgdir/usr/src"
|
|
||||||
ln -sr "$builddir" "$pkgdir/usr/src/$pkgbase"
|
|
||||||
}
|
|
||||||
|
|
||||||
_package-docs() {
|
|
||||||
pkgdesc="Documentation for the $pkgdesc kernel $_pkgdesc_extra"
|
|
||||||
|
|
||||||
cd $_srcname
|
|
||||||
local builddir="$pkgdir/usr/lib/modules/$(<version)/build"
|
|
||||||
|
|
||||||
msg2 "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)
|
|
||||||
|
|
||||||
msg2 "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:
|
|
File diff suppressed because it is too large
Load diff
|
@ -1,13 +0,0 @@
|
||||||
#!/usr/bin/env python3
|
|
||||||
|
|
||||||
from lilaclib import *
|
|
||||||
|
|
||||||
|
|
||||||
def pre_build():
|
|
||||||
aur_pre_build()
|
|
||||||
for line in edit_file('PKGBUILD'):
|
|
||||||
if line.startswith('_subarch='):
|
|
||||||
line = '_subarch=40'
|
|
||||||
if line.startswith('prepare() {'):
|
|
||||||
line = line + '\n git config --global user.email "lilac@noreply.bgme.me"\n git config --global user.name "Lilac"\n'
|
|
||||||
print(line)
|
|
|
@ -1,18 +0,0 @@
|
||||||
maintainers:
|
|
||||||
- github: yingziwu
|
|
||||||
email: i@bgme.me
|
|
||||||
|
|
||||||
repo_depends:
|
|
||||||
- bcachefs-tools-git
|
|
||||||
|
|
||||||
time_limit_hours: 3
|
|
||||||
|
|
||||||
build_prefix: extra-x86_64
|
|
||||||
|
|
||||||
post_build: aur_post_build
|
|
||||||
|
|
||||||
update_on:
|
|
||||||
- source: aur
|
|
||||||
aur: linux-bcachefs-git
|
|
||||||
- source: github
|
|
||||||
github: koverstreet/bcachefs
|
|
|
@ -2,9 +2,6 @@ maintainers:
|
||||||
- github: yingziwu
|
- github: yingziwu
|
||||||
email: i@bgme.me
|
email: i@bgme.me
|
||||||
|
|
||||||
repo_depends:
|
|
||||||
- libscrypt
|
|
||||||
|
|
||||||
build_prefix: extra-x86_64
|
build_prefix: extra-x86_64
|
||||||
|
|
||||||
pre_build: aur_pre_build
|
pre_build: aur_pre_build
|
||||||
|
@ -13,6 +10,8 @@ post_build: aur_post_build
|
||||||
|
|
||||||
update_on:
|
update_on:
|
||||||
- source: aur
|
- source: aur
|
||||||
aur: bcachefs-tools-git
|
aur: linux-git
|
||||||
- source: github
|
- source: git
|
||||||
github: koverstreet/bcachefs-tools
|
git: https://kernel.googlesource.com/pub/scm/linux/kernel/git/torvalds/linux
|
||||||
|
use_commit: true
|
||||||
|
lilac_throttle: 1d
|
Loading…
Reference in a new issue