summaryrefslogtreecommitdiff
path: root/packages/unionfs
diff options
context:
space:
mode:
Diffstat (limited to 'packages/unionfs')
-rw-r--r--packages/unionfs/unionfs-modules.inc4
-rw-r--r--packages/unionfs/unionroot-utils_0.1.1.bb41
-rw-r--r--packages/unionfs/unionroot_0.1.1.bb38
3 files changed, 81 insertions, 2 deletions
diff --git a/packages/unionfs/unionfs-modules.inc b/packages/unionfs/unionfs-modules.inc
index 9083e4519c..327ac91e03 100644
--- a/packages/unionfs/unionfs-modules.inc
+++ b/packages/unionfs/unionfs-modules.inc
@@ -27,8 +27,8 @@ do_compile () {
}
do_install () {
- install -d ${D}/lib/modules/${KERNEL_VERSION}/kernel/fs
- install -m 0644 unionfs${KERNEL_OBJECT_SUFFIX} ${D}/lib/modules/${KERNEL_VERSION}/kernel/fs/
+ install -d ${D}/${base_libdir}/modules/${KERNEL_VERSION}/kernel/fs
+ install -m 0644 unionfs${KERNEL_OBJECT_SUFFIX} ${D}/${base_libdir}/modules/${KERNEL_VERSION}/kernel/fs/
install -d ${D}/${mandir}/man4
install -m 0644 man/unionfs.4 ${D}/${mandir}/man4/
diff --git a/packages/unionfs/unionroot-utils_0.1.1.bb b/packages/unionfs/unionroot-utils_0.1.1.bb
index e69de29bb2..4af7cd7ef4 100644
--- a/packages/unionfs/unionroot-utils_0.1.1.bb
+++ b/packages/unionfs/unionroot-utils_0.1.1.bb
@@ -0,0 +1,41 @@
+LICENSE = "GPL"
+
+DESCRIPTION = "Tools for administering a system that utilises unionroot."
+DEPENDS = "ipkg-collateral unionroot busybox"
+RDEPENDS = "ipkg-collateral unionroot busybox"
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Chris Lord <cwiiis@handhelds.org>"
+
+SRC_URI = "file://mount.unionroot \
+ file://umount.unionroot"
+
+do_install () {
+ install -d ${D}/${base_bindir}
+ install -m 0755 ${WORKDIR}/mount.unionroot ${D}/${base_bindir}/
+ install -m 0755 ${WORKDIR}/umount.unionroot ${D}/${base_bindir}/
+}
+
+pkg_postinst () {
+ update-alternatives --install /bin/mount mount /bin/mount.unionroot 100
+ update-alternatives --install /bin/umount umount /bin/umount.unionroot 100
+
+ # Alter /etc/ipkg.conf
+ mv $D/${sysconfdir}/ipkg.conf $D/${sysconfdir}/ipkg.conf.old
+ awk 'BEGIN { print "# Altered by unionroot" }
+ { if ( $3 == "/" )
+ {
+ print $1 " " $2 " /media/realroot"
+ }
+ else
+ {
+ print $0
+ }
+ }' $D/${sysconfdir}/ipkg.conf.old > $D/${sysconfdir}/ipkg.conf
+}
+
+pkg_prerm () {
+ update-alternatives --remove mount /bin/mount.unionroot
+ update-alternatives --remove umount /bin/umount.unionroot
+}
+
diff --git a/packages/unionfs/unionroot_0.1.1.bb b/packages/unionfs/unionroot_0.1.1.bb
index e69de29bb2..ba07cc1695 100644
--- a/packages/unionfs/unionroot_0.1.1.bb
+++ b/packages/unionfs/unionroot_0.1.1.bb
@@ -0,0 +1,38 @@
+LICENSE = "GPL"
+
+DESCRIPTION = "Provides an init script that changes the root file-system to unionfs."
+DEPENDS = "busybox base-files"
+RDEPENDS = "busybox base-files"
+SECTION = "base"
+PRIORITY = "optional"
+MAINTAINER = "Chris Lord <cwiiis@handhelds.org>"
+
+SRC_URI = "file://init.unionroot"
+
+inherit update-alternatives
+
+ALTERNATIVE_NAME = "init"
+ALTERNATIVE_LINK = "/sbin/init"
+ALTERNATIVE_PATH = "/sbin/init.unionroot"
+ALTERNATIVE_PRIORITY = "100"
+
+do_install () {
+ install -d ${D}/${base_sbindir}
+ install -m 0755 ${WORKDIR}/init.unionroot ${D}/${base_sbindir}/
+}
+
+pkg_postinst () {
+ # Alter /etc/fstab
+ mv $D/${sysconfdir}/fstab $D/${sysconfdir}/fstab.old
+ awk 'BEGIN { print "# Altered by unionroot" }
+ { if ( $2 == "/" )
+ {
+ print $1 "\t/media/realroot\t" $3 "\t" $4 "\t" $5 "\t" $6
+ }
+ else
+ {
+ print $0
+ }
+ }' $D/${sysconfdir}/fstab.old > $D/${sysconfdir}/fstab
+}
+