From f62c8e3e9a18d9af4f93cf325b5aa76e40d4904c Mon Sep 17 00:00:00 2001 From: Ricardo Salveti de Araujo Date: Tue, 10 Nov 2009 15:37:25 -0300 Subject: [PATCH 114/118] swapfile: Package created to provide swap over a loop file inside filesystem Signed-off-by: Aloisio Almeida Jr Signed-off-by: Ricardo Salveti de Araujo --- recipes/mamona/swapfile/swapfile | 52 ++++++++++++++++++++++++++++++++++++++ recipes/mamona/swapfile_0.1.bb | 33 ++++++++++++++++++++++++ 2 files changed, 85 insertions(+), 0 deletions(-) create mode 100644 recipes/mamona/swapfile/swapfile create mode 100644 recipes/mamona/swapfile_0.1.bb diff --git a/recipes/mamona/swapfile/swapfile b/recipes/mamona/swapfile/swapfile new file mode 100644 index 0000000..810cc2d --- /dev/null +++ b/recipes/mamona/swapfile/swapfile @@ -0,0 +1,52 @@ +#! /bin/sh +# +# swapfile Create a loop swap file in filesystem +# +# Authors: Aloisio Almeida Jr +# +# Version: 0.1-1 11-Dec-2008 +# + +set -e + +NAME=swapfile +SCRIPTNAME=/etc/init.d/$NAME + +SWAPFILE_PATH=/var/cache/swapfile +LOOPDEV_PATH=/dev/loop0 + +swap_start() { + /sbin/losetup $LOOPDEV_PATH $SWAPFILE_PATH + /sbin/mkswap $LOOPDEV_PATH + /sbin/swapon $LOOPDEV_PATH +} + +swap_stop() { + /sbin/swapoff $LOOPDEV_PATH || true + /sbin/losetup -d $LOOPDEV_PATH || true +} + +case "$1" in + start) + echo -n "Starting $NAME... " + swap_start + echo "done." + ;; + stop) + echo -n "Stopping $NAME... " + swap_stop + echo "done." + ;; + restart|force-reload) + echo -n "Restarting $NAME... " + swap_stop + swap_start + echo "done." + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/recipes/mamona/swapfile_0.1.bb b/recipes/mamona/swapfile_0.1.bb new file mode 100644 index 0000000..9e51282 --- /dev/null +++ b/recipes/mamona/swapfile_0.1.bb @@ -0,0 +1,33 @@ +DESCRIPTION = "Create a loop swap file in filesystem" +RDEPENDS = "busybox" +PR = "r1" + +PACKAGES = "${PN}" +SWAPSIZE = 16 + +SRC_URI = "file://swapfile" + +inherit update-rc.d + +INITSCRIPT_NAME = "swapfile" +INITSCRIPT_PARAMS = "defaults" + +do_install() { + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/swapfile ${D}${sysconfdir}/init.d/ +} + +PACKAGE_ARCH = "all" + +pkg_postinst_${PN}() { + echo -n "Generating swapfile... " + rm -f /var/cache/swapfile + dd if=/dev/zero of=/var/cache/swapfile bs=1048576 count=${SWAPSIZE} + echo "done." +} + +pkg_postrm_${PN}() { + echo -n "Removing swapfile... " + rm -f /var/cache/swapfile + echo "done." +} -- 1.6.3.3