summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorKyle De'Vir2019-01-14 15:14:48 +1000
committerKyle De'Vir2019-01-14 15:14:48 +1000
commit78e7d76284c45b8863d779cc647369c8f1dc3aeb (patch)
tree73e5ce82d5cdaf32a1bcfb1e5b287bb944e42335
parent54b730827425531056960f930f66d0d244341b5b (diff)
downloadaur-78e7d76284c45b8863d779cc647369c8f1dc3aeb.tar.gz
414 ~ add Arch Linux hook support
-rw-r--r--.SRCINFO4
-rw-r--r--PKGBUILD18
-rw-r--r--ad41c2fb76a96f772d75f3b4b7687fcd29aa0574.patch130
3 files changed, 145 insertions, 7 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 0ce76459244a..9001ef4c5e40 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,6 +1,6 @@
pkgbase = bcachefs-tools-git
pkgdesc = bcachefs filesystem utilities
- pkgver = 395
+ pkgver = 414
pkgrel = 1
url = https://evilpiepirate.org/git/bcachefs-tools.git/
arch = x86_64
@@ -16,7 +16,9 @@ pkgbase = bcachefs-tools-git
makedepends = liburcu
provides = bcachefs-tools
source = git+https://evilpiepirate.org/git/bcachefs-tools
+ source = ad41c2fb76a96f772d75f3b4b7687fcd29aa0574.patch
sha512sums = SKIP
+ sha512sums = 0468db1a0b50fd368c0ded997c027ae87178f53293543151510f9683f3435c949462ee5c5f57fc1b790d304a01f2c9ece1cb893b6afc5f6e285ea39d01a95a24
pkgname = bcachefs-tools-git
diff --git a/PKGBUILD b/PKGBUILD
index e2a37f82f98a..04a0edb2949c 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,7 +1,7 @@
# Maintainer: Kyle De'Vir (QuartzDragon) <kyle[dot]devir[at]mykolab[dot]com>
pkgname=bcachefs-tools-git
-pkgver=395
+pkgver=414
pkgrel=1
pkgdesc="bcachefs filesystem utilities"
url="https://evilpiepirate.org/git/bcachefs-tools.git/"
@@ -11,8 +11,10 @@ license=("GPL2")
provides=("bcachefs-tools")
makedepends=("git" "libscrypt" "libsodium" "attr" "libutil-linux" "keyutils" "pkgconf" "zlib" "liburcu")
-source=("git+https://evilpiepirate.org/git/bcachefs-tools")
-sha512sums=('SKIP')
+source=("git+https://evilpiepirate.org/git/bcachefs-tools"
+ "ad41c2fb76a96f772d75f3b4b7687fcd29aa0574.patch")
+sha512sums=('SKIP'
+ '0468db1a0b50fd368c0ded997c027ae87178f53293543151510f9683f3435c949462ee5c5f57fc1b790d304a01f2c9ece1cb893b6afc5f6e285ea39d01a95a24')
pkgver() {
cd bcachefs-tools
@@ -20,11 +22,13 @@ pkgver() {
echo $(git rev-list --count HEAD)
}
-build() {
+prepare() {
cd bcachefs-tools
+ patch -Np1 < ../ad41c2fb76a96f772d75f3b4b7687fcd29aa0574.patch
+}
- #export CFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
- #export CXXFLAGS="-march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -fno-plt"
+build() {
+ cd bcachefs-tools
make
}
@@ -33,4 +37,6 @@ package() {
cd bcachefs-tools
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"
}
diff --git a/ad41c2fb76a96f772d75f3b4b7687fcd29aa0574.patch b/ad41c2fb76a96f772d75f3b4b7687fcd29aa0574.patch
new file mode 100644
index 000000000000..a930780763fe
--- /dev/null
+++ b/ad41c2fb76a96f772d75f3b4b7687fcd29aa0574.patch
@@ -0,0 +1,130 @@
+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/ash
++
++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=""
+