From 2261f191b0333d5a31dbd0fae70047616bfbe94d Mon Sep 17 00:00:00 2001 From: Henning Heinold Date: Mon, 1 Sep 2008 12:34:16 +0000 Subject: aufs: added aufs(another union filesystem) * patch provided by Bernhard Guillon aka mr_nice * closes bug 4524 --- conf/distro/include/sane-srcdates.inc | 1 + packages/aufs/.mtn2git_empty | 0 packages/aufs/aufs/.mtn2git_empty | 0 packages/aufs/aufs/aufs_create_no_manpage.patch | 34 ++++++++++++++ packages/aufs/aufs_cvs.bb | 62 +++++++++++++++++++++++++ 5 files changed, 97 insertions(+) create mode 100644 packages/aufs/.mtn2git_empty create mode 100644 packages/aufs/aufs/.mtn2git_empty create mode 100644 packages/aufs/aufs/aufs_create_no_manpage.patch create mode 100644 packages/aufs/aufs_cvs.bb diff --git a/conf/distro/include/sane-srcdates.inc b/conf/distro/include/sane-srcdates.inc index f6888e760f..e8783abb4d 100644 --- a/conf/distro/include/sane-srcdates.inc +++ b/conf/distro/include/sane-srcdates.inc @@ -51,6 +51,7 @@ SRCDATE_gnome-vfs ?= "20060119" SRCDATE_gtkhtml2 ?= "20060323" # Misc packages, sorted by alphabet +SRCDATE_aufs ?= "20080826" SRCDATE_avetanabt ?= "20060814" SRCDATE_bl ?= "20060814" SRCDATE_python-pydirectfb = "20071210" diff --git a/packages/aufs/.mtn2git_empty b/packages/aufs/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/aufs/aufs/.mtn2git_empty b/packages/aufs/aufs/.mtn2git_empty new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/aufs/aufs/aufs_create_no_manpage.patch b/packages/aufs/aufs/aufs_create_no_manpage.patch new file mode 100644 index 0000000000..ec7c0c1138 --- /dev/null +++ b/packages/aufs/aufs/aufs_create_no_manpage.patch @@ -0,0 +1,34 @@ +OE-only: +comment: Not building the manpage is just a hack. + +diff -Nur aufs.vanilla/util/Makefile aufs/util/Makefile +--- aufs.vanilla/util/Makefile 2008-08-23 13:00:37.000000000 +0200 ++++ aufs/util/Makefile 2008-08-23 15:40:26.000000000 +0200 +@@ -1,25 +1,10 @@ + + # $Id: Makefile,v 1.10 2008/05/26 04:02:40 sfjro Exp $ + +-all: aufs.5 aulchown ++all: aulchown + test -x ./mount.aufs || chmod a+x ./mount.aufs + +-aufs.5: aufs.in.5 ./c2tmac +- ${RM} $@ +- ./c2tmac > $@ +- awk '{ \ +- gsub(/\140[^\047]*\047/, "\\[oq]&\\[cq]"); \ +- gsub(/\\\[oq\]\140/, "\\[oq]"); \ +- gsub(/\047\\\[cq\]/, "\\[cq]"); \ +- gsub(/\047/, "\\[aq]"); \ +- print; \ +- }' aufs.in.5 >> $@ +- chmod a-w $@ +- + CFLAGS += -O2 -Wall ${EXTRA_CFLAGS} ${ccflags-y} + +-.INTERMEDIATE: c2tmac.o c2tmac +-c2tmac.o: c2tmac.c ../include/linux/aufs_type.h +- + clean: +- ${RM} c2tmac aulchown aufs.5 *~ .*~ ++ ${RM} aulchown *~ .*~ diff --git a/packages/aufs/aufs_cvs.bb b/packages/aufs/aufs_cvs.bb new file mode 100644 index 0000000000..e83071fa0b --- /dev/null +++ b/packages/aufs/aufs_cvs.bb @@ -0,0 +1,62 @@ +DESCRIPTION = "Aufs is a stackable unification filesystem such as Unionfs, which unifies several directories and provides a merged single directory." +HOMEPAGE = "http://aufs.sourceforge.net/" +LICENSE = "GPL" +RDEPENDS = "kernel (${KERNEL_VERSION})" +DEPENDS = "virtual/kernel sed-native" +PV = "cvs${SRCDATE}" +PR = "r0" +S = "${WORKDIR}/aufs" +inherit module + +# We do not create the manpage for aufs because we do not install it anyway. +# If you want to have the manpage created you will need to add host cc to +# the makefile else it will fail to crosscompile. +# See http://svn.exactcode.de/t2/trunk/package/filesystem/aufs/compile.patch.cross +# as an example how this could be done. + +SRC_URI = "cvs://anonymous@aufs.cvs.sourceforge.net/cvsroot/aufs;module=aufs;date=${SRCDATE} \ + file://aufs_create_no_manpage.patch;patch=1 " + +EXTRA_OEMAKE = "KDIR=${STAGING_KERNEL_DIR} -f local.mk" + +# We need to check the architecture and the kernel version to +# configure properly lokal.mk. We ignore the export CONFIG_AUFS_STAT option. +# If you want to have CONFIG_AUFS_STAT enabled you have to add some other ARCH checks. +# Debian does not enable CONFIG_AUFS_STAT for arm. +# We disable CONFIG_AUFS_SYSAUFS for arm because arm does not know about cmpxchg. +# If you want this feature enabled you have to define it. +# I suggest you to read http://osdir.com/ml/linux.kernel.tracing/2006-12/msg00020.html + +do_configure() { +echo ${S} > /home/nice/sdir + K_VERSION=$(echo ${KERNEL_VERSION} | awk 'BEGIN{FS="."}{print $3}') + cd ${S} + if [ $K_VERSION -ge 24 ] ; then + sed -i 's/CONFIG_AUFS_FAKE_DM\ =\ y/CONFIG_AUFS_FAKE_DM\ =/g' local.mk + fi + if [ $K_VERSION -eq 25 ] || [ $ARCH = "arm" ] ; then + sed -i 's/CONFIG_AUFS_SYSAUFS\ =\ y/CONFIG_AUFS_SYSAUFS\ =/g' local.mk + fi +} + +do_compile(){ + LDFLAGS="" + oe_runmake +} + +do_install() { + install -m 500 -p mount.aufs umount.aufs auplink aulchown ${D}/${sbindir} + mkdir -p ${D}/etc/default + echo FLUSH=ALL > ${D}/etc/default/auplink + mkdir -p ${D}/${base_libdir}/modules/${KERNEL_VERSION}/drivers/extra/ + cp aufs.ko ${D}/${base_libdir}/modules/${KERNEL_VERSION}/drivers/extra/ +} + +pkg_postinst() { +if test "x$D" != "x"; then + exit 1 +else + depmod -ae +fi +} + -- cgit v1.2.3