summaryrefslogtreecommitdiff
path: root/debian/local/btrfs.hook
diff options
context:
space:
mode:
Diffstat (limited to 'debian/local/btrfs.hook')
-rw-r--r--debian/local/btrfs.hook33
1 files changed, 33 insertions, 0 deletions
diff --git a/debian/local/btrfs.hook b/debian/local/btrfs.hook
new file mode 100644
index 00000000..f4dbb9da
--- /dev/null
+++ b/debian/local/btrfs.hook
@@ -0,0 +1,33 @@
+#!/bin/sh
+
+set -e
+
+PREREQ=""
+
+prereqs()
+{
+ echo "${PREREQ}"
+}
+
+case "${1}" in
+ prereqs)
+ prereqs
+ exit 0
+ ;;
+esac
+
+. /usr/share/initramfs-tools/hook-functions
+
+if [ -x /bin/btrfs ]
+then
+ copy_exec /bin/btrfs /bin
+ copy_exec /bin/btrfs-zero-log
+ if [ ! -x /usr/share/initramfs-tools/hooks/fsck ] && [ ! -x /etc/initramfs-tools/hooks/fsck ]
+ then
+ copy_exec /bin/fsck.btrfs /bin
+ fi
+ LIBC_DIR=$(ldd /bin/btrfs | sed -nr 's#.* => (/lib.*)/libc\.so\.[0-9.-]+ \(0x[[:xdigit:]]+\)$#\1#p')
+ find -L "$LIBC_DIR" -maxdepth 1 -name 'libgcc_s.*' -type f | while read so; do
+ copy_exec "$so"
+ done
+fi