if features and features.provides and features.conflicts then -- Advanced dependencies guard -- Kernel -- Install("kmod-ata-ahci", { priority = 40 }) -- File systems Install("kmod-fs-afs", "kmod-fs-autofs4", "kmod-fs-btrfs", "kmod-fs-cifs", "kmod-fs-configfs", "kmod-fs-cramfs", "kmod-fs-exfat", "kmod-fs-exportfs", "kmod-fs-ext4", "kmod-fs-fscache", "kmod-fs-f2fs", "kmod-fs-hfs", "kmod-fs-hfsplus", "kmod-fs-isofs", "kmod-fs-jfs", "kmod-fs-minix", "kmod-fs-msdos", "kmod-fs-nfs", "kmod-fs-nfsd", "kmod-fs-ntfs", "kmod-fs-udf", "kmod-fs-vfat", "kmod-fs-xfs", { priority = 40 }) -- Native language support Install("kmod-nls-cp1250", "kmod-nls-cp1251", "kmod-nls-cp437", "kmod-nls-cp775", "kmod-nls-cp850", "kmod-nls-cp852", "kmod-nls-cp862", "kmod-nls-cp864", "kmod-nls-cp866", "kmod-nls-cp932", "kmod-nls-iso8859-1", "kmod-nls-iso8859-13", "kmod-nls-iso8859-15", "kmod-nls-iso8859-2", "kmod-nls-iso8859-6", "kmod-nls-iso8859-8", "kmod-nls-koi8r", "kmod-nls-utf8", { priority = 40 }) -- Raid Install("kmod-md-linear", "kmod-md-multipath", "kmod-md-raid0", "kmod-md-raid1", "kmod-md-raid10", "kmod-md-raid456", { priority = 40 }) -- Additional kernel drivers Install("kmod-usb-storage-extras", "kmod-usb-storage-uas", { priority = 40 }) if model and model:match("[Oo]mnia") then Install("kmod-ata-ahci-platform", "kmod-ata-mvebu-ahci", "kmod-crypto-marvell-cesa", "blkdiscard", "fstrim", "asm1062-fix", { priority = 40 }) elseif model and model:match("^[Tt]urris$") then Install("kmod-mmc-fsl-p2020", "kmod-fs-reiserfs", "reiserfsprogs", { priority = 40 }) end -- Tools -- Install("mount-utils", "losetup", "lsblk", "blkid", "file", { priority = 40 }) Install("fdisk", "cfdisk", "hdparm", "resize2fs", "partx-utils", { priority = 40 }) Install("acl", "attr", { priority = 40 }) Install("mountd", "smartd", "smartmontools", { priority = 40 }) Install("swap-utils", { priority = 40 }) Install("foris-storage-plugin", { priority = 40 }) if for_l10n then for_l10n("foris-storage-plugin-l10n-") end -- File systems Install("lvm2", "mdadm", "mkdosfs", "mkhfs", "btrfs-progs", "davfs2", "e2fsprogs", "fuse-utils", "xfs-mkfs", { priority = 40 }) Install("block-mount", "badblocks", "cifsmount", "dosfsck", "hfsfsck", "xfs-fsck", "xfs-growfs", { priority = 40 }) Install("nfs-kernel-server", "nfs-kernel-server-utils", { priority = 40 }) Install("ntfs-3g", "ntfs-3g-utils", { priority = 40 }) Install("sshfs", { priority = 40 }) -- Network Install("wget", "rsync", "rsyncd", "samba36-client", "samba36-server", { priority = 40 }) -- Luci Install("luci-app-hd-idle", "luci-app-minidlna", "luci-app-samba", { priority = 40 }) Install("luci-mod-admin-full", { priority = 40 }) local luci_i18n = {["en"] = true} -- we always install English localization for _, lang in pairs(l10n or {}) do luci_i18n[lang] = true end for lang in pairs(luci_i18n) do for _, pkg in pairs({"hd-idle", "minidlna", "samba"}) do Install("luci-i18n-" .. pkg .. "-" .. lang, { ignore = {"missing"}, priority = 40 }) end end -- Encryption -- Install("cryptsetup-openssl", "kmod-cryptodev", "kmod-crypto-user", { priority = 40 }) Install("kmod-crypto-cbc", "kmod-crypto-ctr", "kmod-crypto-pcbc", "kmod-crypto-des", "kmod-crypto-ecb", "kmod-crypto-xts", { priority = 40 }) Install("kmod-crypto-cmac", "kmod-crypto-crc32c", "kmod-crypto-sha1", "kmod-crypto-sha256", "kmod-crypto-sha512", "kmod-crypto-md4", "kmod-crypto-md5", "kmod-crypto-hmac", { priority = 40 }) Install("kmod-crypto-seqiv", "kmod-crypto-ccm", "kmod-crypto-deflate", { priority = 40 }) end