#!/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 fsck.ext4dev e2label tune2fs mkfs.ext3 mkfs.ext4 mke2fs fsck.jfs \
	  mkfs.jfs wipefs blockdev btrfs btrfs-convert btrfs-debug-tree btrfs-find-root btrfs-image btrfs-map-logical btrfs-select-super btrfs-show-super \
	  btrfs-zero-log 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"
    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"
    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"
    # 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
}
