#!/usr/bin/env bash
# Created by Tobias Powalowski <tpowa@archlinux.org>

build ()
{
    add_checked_modules '/kernel/fs'
    apps="mkswap debugreiserfs mkreiserfs reiserfsck reiserfstune resize_reiserfs badblocks blkid debugfs dumpe2fs e2fsck \
	  e2image e2undo findfs fsck logsave mkfs.ext2 resize2fs chattr lsattr e2freefrag filefrag mkntfs \
	  ntfscp ntfsclone ntfslabel ntfsresize ntfsundelete ntfscat ntfscluster ntfscmp ntfsfix ntfsinfo ntfsls \
	  jfs_debugfs jfs_fsck jfs_fscklog jfs_logdump jfs_mkfs jfs_tune mkfs.xfs xfs_copy xfs_db xfs_estimate xfs_fsr xfs_io \
	  xfs_logprint xfs_mdrestore xfs_repair xfs_rtcp mkdosfs dosfsck fatlabel lowntfs-3g ntfs-3g mount.cifs \
	  cifs.upcall fsck.ext2 fsck.ext3 fsck.ext4 e2label tune2fs mkfs.ext3 mkfs.ext4 mke2fs fsck.jfs \
	  mkfs.jfs wipefs blockdev btrfs btrfs-convert btrfs-find-root btrfs-image btrfs-map-logical btrfs-select-super \
	  btrfsck btrfstune mkfs.btrfs mkfs.nilfs2 mount.nilfs2 nilfs_cleanerd \
	  umount.nilfs2 chcp dumpseg lscp lssu mkcp rmcp fsck.cramfs fsck.minix fsfreeze fstrim mkfs.bfs mkfs.cramfs mkfs.minix mkfs.f2fs \
	  dumpexfat exfatfsck exfatlabel mkexfatfs mount.exfat-fuse fusermount mount.fuse ulockmgr_server"
    for i in $apps; do
        add_binary "$i"
    done
    appfiles="/usr/bin/compile_et /usr/bin/mk_cmds /usr/bin/fsck.xfs /usr/bin/xfs_admin /usr/bin/xfs_bmap \
              /usr/bin/xfs_freeze /usr/bin/xfs_info /usr/bin/xfs_metadump /usr/bin/xfs_mkfile /usr/bin/xfs_ncheck" 
    for i in $appfiles; do
        add_file "$i"
    done
    symlinks="/usr/bin/fsck.msdos /usr/bin/fsck.vfat /usr/bin/fsck.reiserfs /usr/bin/mkfs.vfat /usr/bin/mkfs.msdos \
              /usr/bin/mkfs.ntfs /usr/bin/mkfs.reiserfs /usr/bin/mount.nfs4 /usr/bin/mount.ntfs /usr/bin/mount.lowntfs-3g \
              /usr/bin/mount.ntfs-3g /usr/bin/umount.nfs /usr/bin/umount.nfs4 /usr/bin/fsck.exfat /usr/bin/mkfs.exfat \
              /usr/bin/mount.exfat"
    for i in $symlinks; do
        add_binary "$(which $(basename $(readlink "$i")))"
        add_symlink "$i" "$(which $(basename $(readlink "$i")))"
    done
    add_file "/etc/nilfs_cleanerd.conf"
    add_file "/etc/fuse.conf"
    # fix licenses
    add_file "/usr/share/licenses/e2fsprogs/MIT-LICENSE"
}

help ()
{
cat<<HELPEOF
  This hook is responsible for including filesystems on an arch boot image.
HELPEOF
}
