nas-server: New task, meta-package, and image for creating a network attached storage...
authorRod Whitby <rod@whitby.id.au>
Sun, 23 Dec 2007 12:01:43 +0000 (12:01 +0000)
committerRod Whitby <rod@whitby.id.au>
Sun, 23 Dec 2007 12:01:43 +0000 (12:01 +0000)
packages/images/nas-server-image.bb [new file with mode: 0644]
packages/meta/meta-nas-server.bb [new file with mode: 0644]
packages/tasks/task-nas-server.bb [new file with mode: 0644]

diff --git a/packages/images/nas-server-image.bb b/packages/images/nas-server-image.bb
new file mode 100644 (file)
index 0000000..d4a012c
--- /dev/null
@@ -0,0 +1,47 @@
+# This image is intended to provide a configuration
+# for a network attached storage server device.
+
+# Key features are:
+# 
+# 1) Must be able to mount attached storage devices like
+# internal disks, external USB disks, etc.  Should support
+# various filesystem choices, but ext2 at a minimum.
+#
+# 2) Must be able to boot from internal flash, or directly
+# from a filesystem stored on the attached storage.
+#
+# 3) Must be able to share that storage across the network
+# using various protocols like Samba, NFS, etc.
+#
+# 4) Bonus points for being able to support other central
+# network services like a central gateway machine might.
+
+# Although it is tested with the Angstrom distro, it is
+# intended to be distro-agnostic.
+
+DISTRO_SSH_DAEMON ?= "dropbear"
+DISTRO_PACKAGE_MANAGER ?= "ipkg ipkg-collateral"
+
+DEPENDS = "task-boot task-base-apex \
+            task-distro-base task-machine-base \
+            ${DISTRO_SSH_DAEMON} \
+            ${DISTRO_PACKAGE_MANAGER} \
+            task-base-usbhost task-base-ext2 \
+           task-nas-server-everything \
+           "
+
+IMAGE_INSTALL_TASKS = "\
+            task-nas-server-everything \
+           "
+
+IMAGE_INSTALL = "task-boot task-base-apex \
+            ${DISTRO_SSH_DAEMON} \
+            ${DISTRO_PACKAGE_MANAGER} \
+            task-base-usbhost task-base-ext2 \
+            ${IMAGE_INSTALL_TASKS} \
+          "
+
+export IMAGE_BASENAME = "nas-server-image"
+IMAGE_LINGUAS = ""
+
+inherit image
diff --git a/packages/meta/meta-nas-server.bb b/packages/meta/meta-nas-server.bb
new file mode 100644 (file)
index 0000000..3deb44c
--- /dev/null
@@ -0,0 +1,10 @@
+DESCRIPTION = "Meta-package for a network attached storage server"
+LICENSE = "MIT"
+PR = "r0"
+
+RDEPENDS = "\
+       task-nas-server-everything \
+       "
+
+inherit meta
+
diff --git a/packages/tasks/task-nas-server.bb b/packages/tasks/task-nas-server.bb
new file mode 100644 (file)
index 0000000..bfecfc8
--- /dev/null
@@ -0,0 +1,94 @@
+DESCRIPTION = "Tasks for a Network Attached Storage server"
+LICENSE = "MIT"
+PROVIDES = "task-nas-server-everything"
+PR = "r0"
+
+inherit task
+
+PACKAGES = "\
+       task-nas-server-everything \
+       ${NAS_SERVER_PACKAGES} \
+"
+
+NAS_SERVER_PACKAGES = "\
+       task-nas-server-base \
+       task-nas-server-samba \
+       task-nas-server-dnsmasq \
+       task-nas-server-iptables \
+       task-nas-server-tzdata \
+       task-nas-server-nfs \
+       task-nas-server-vfat \
+       task-nas-server-ntfs \
+       task-nas-server-ext3 \
+       task-nas-server-reiserfs \
+"
+
+RDEPENDS_task-nas-server-everything = "${NAS_SERVER_PACKAGES}"
+
+DESCRIPTION_task-nas-server-base = "NAS-Server: Base Packages"
+RDEPENDS_task-nas-server-base = "\
+"
+RRECOMMENDS_task-nas-server-base = "\
+"
+
+DESCRIPTION_task-nas-server-samba = "NAS-Server: Samba Server"
+RDEPENDS_task-nas-server-samba = "\
+       samba swat \
+"
+RRECOMMENDS_task-nas-server-samba = "\
+"
+
+DESCRIPTION_task-nas-server-dnsmasq = "NAS-Server: DNS/DHCP Server"
+RDEPENDS_task-nas-server-dnsmasq = "\
+       dnsmasq \
+"
+RRECOMMENDS_task-nas-server-dnsmasq = "\
+"
+
+DESCRIPTION_task-nas-server-iptables = "NAS-Server: Netfilter/Iptables Support"
+RDEPENDS_task-nas-server-iptables = "\
+       iptables \
+"
+RRECOMMENDS_task-nas-server-iptables = "\
+       kernel-module-iptable-nat \
+       kernel-module-iptable-mangle \
+       kernel-module-ipt-masquerade \
+"
+
+DESCRIPTION_task-nas-server-tzdata = "NAS-Server: Timezone Support"
+RDEPENDS_task-nas-server-tzdata = "\
+       tzdata \
+"
+RRECOMMENDS_task-nas-server-tzdata = "\
+"
+
+DESCRIPTION_task-nas-server-nfs = "NAS-Server: NFS Server"
+RDEPENDS_task-nas-server-nfs = "\
+       nfs-utils portmap \
+"
+RRECOMMENDS_task-nas-server-nfs = "\
+"
+
+DESCRIPTION_task-nas-server-vfat = "NAS-Server: FAT Filesystem"
+RDEPENDS_task-nas-server-vfat = "\
+"
+RRECOMMENDS_task-nas-server-vfat = "\
+"
+
+DESCRIPTION_task-nas-server-ntfs = "NAS-Server: NTFS Filesystem"
+RDEPENDS_task-nas-server-ntfs = "\
+"
+RRECOMMENDS_task-nas-server-ntfs = "\
+"
+
+DESCRIPTION_task-nas-server-ext3 = "NAS-Server: EXT3 Filesystem"
+RDEPENDS_task-nas-server-ext3 = "\
+"
+RRECOMMENDS_task-nas-server-ext3 = "\
+"
+
+DESCRIPTION_task-nas-server-reiserfs = "NAS-Server: ReiserFS Filesystem"
+RDEPENDS_task-nas-server-reiserfs = "\
+"
+RRECOMMENDS_task-nas-server-reiserfs = "\
+"