summaryrefslogtreecommitdiffstats
path: root/import-layers/meta-openembedded/meta-filesystems
diff options
context:
space:
mode:
Diffstat (limited to 'import-layers/meta-openembedded/meta-filesystems')
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/COPYING.MIT17
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/README140
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/conf/layer.conf16
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb20
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb15
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb26
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb39
-rwxr-xr-ximport-layers/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/owhttpd60
-rwxr-xr-ximport-layers/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/owserver59
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb68
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb13
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch42
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch11
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb26
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb17
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb17
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb36
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/0001-fuse-fix-the-return-value-of-help-option.patch28
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/aarch64.patch33
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/fuse.conf1
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/gold-unversioned-symbol.patch92
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.4.bb64
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb11
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch29
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch37
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h419
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb53
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb31
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/dmapi_aarch64_configure_support.patch37
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/remove-install-as-user.patch205
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.2.3.bb21
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch32
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb17
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/remove-install-as-user.patch205
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb36
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/drop-configure-check-for-aio.patch93
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove-install-as-user.patch205
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/xfsprogs-generate-crctable-which-is-moved-into-runti.patch170
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb52
-rw-r--r--import-layers/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.4.0.bb29
40 files changed, 2522 insertions, 0 deletions
diff --git a/import-layers/meta-openembedded/meta-filesystems/COPYING.MIT b/import-layers/meta-openembedded/meta-filesystems/COPYING.MIT
new file mode 100644
index 000000000..89de35479
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/COPYING.MIT
@@ -0,0 +1,17 @@
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in
+all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
diff --git a/import-layers/meta-openembedded/meta-filesystems/README b/import-layers/meta-openembedded/meta-filesystems/README
new file mode 100644
index 000000000..026c13238
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/README
@@ -0,0 +1,140 @@
+This README file contains information on the contents of the
+filesystems layer.
+
+Please see the corresponding sections below for details.
+
+
+Dependencies
+============
+
+This layer depends on:
+
+ URI: git://git.openembedded.org/bitbake
+ branch: 1.28
+
+ URI: git://git.openembedded.org/openembedded-core
+ layers: meta
+ branch: krogoth
+
+ URI: git://git.openembedded.org/meta-openembedded
+ layers: meta-oe
+ branch: krogoth
+
+Patches
+=======
+
+Please submit any patches against the filesystems layer to the
+OpenEmbedded development mailing list (openembedded-devel@lists.openembedded.org)
+with '[meta-filesystems][krogoth]' in the subject.
+
+Maintainers List:
+ physfs Andreas Müller <schnitzeltony@googlemail.com>
+
+ fuse Koen Kooi <koen@dominion.thruhere.net>
+ Philip Balister <philip@balister.org>
+ hongxu jia <hongxu.jia@windriver.com>
+
+ ifuse Sander van Grieken <sander@outrightsolutions.nl>
+ Koen Kooi <koen@dominion.thruhere.net>
+
+ sshfs-fuse Philip Balister <philip@balister.org>
+ Koen Kooi <koen@dominion.thruhere.net>
+
+ owfs Otavio Salvador <otavio@ossystems.com.br>
+ Koen Kooi <koen@dominion.thruhere.net>
+ hongxu jia <hongxu.jia@windriver.com>
+
+ ntfs-3g-ntfsprogs Otavio Salvador <otavio@ossystems.com.br>
+ hongxu jia <hongxu.jia@windriver.com>
+
+ cramfs Koen Kooi <koen@dominion.thruhere.net>
+
+ smbnetfs Sander van Grieken <sander@outrightsolutions.nl>
+ Koen Kooi <koen@dominion.thruhere.net>
+
+ fuse-exfat hongxu jia <hongxu.jia@windriver.com>
+
+ exfat-utils hongxu jia <hongxu.jia@windriver.com>
+
+ f2fs-tools Martin Jansa <Martin.Jansa@gmail.com>
+ Koen Kooi <koen@dominion.thruhere.net>
+
+ xfsprogs Koen Kooi <koen@dominion.thruhere.net>
+ hongxu jia <hongxu.jia@windriver.com>
+
+When sending single patches, please use something like:
+
+ git send-email -1 -M \
+ --to openembedded-devel@lists.openembedded.org \
+ --subject-prefix=meta-filesystems][krogoth][PATCH
+
+krogoth Branch Maintainer:
+Armin Kuster <akuster808@gmail.com>
+
+Table of Contents
+=================
+
+ I. Adding the filesystems layer to your build
+ II. Misc
+
+
+I. Adding the filesystems layer to your build
+=================================================
+
+In order to use this layer, you need to make the build system aware of
+it.
+
+Assuming the filesystems layer exists at the top-level of your
+yocto build tree, you can add it to the build system by adding the
+location of the filesystems layer to bblayers.conf, along with any
+other layers needed. e.g.:
+
+ BBLAYERS ?= " \
+ /path/to/yocto/meta \
+ /path/to/yocto/meta-oe \
+ /path/to/yocto/meta-filesystems \
+ "
+
+
+II. Misc
+========
+
+ --- physfs ---
+ A library to provide abstract access to various archives
+
+ --- fuse ---
+ Filesystem in Userspace (FUSE) is a simple interface for userspace programs
+ to export a virtual filesystem to the Linux kernel.
+
+ --- ifuse ---
+ A fuse filesystem to access the contents of an iPhone or iPod Touch
+
+ --- sshfs-fuse ---
+ A filesystem client based on the SSH File Transfer Protocol
+
+ --- owfs ---
+ An easy way to use the 1-Wire file system
+
+ --- ntfs-3g-ntfsprogs ---
+ The ntfs-3g is a freely available read/write NTFS driver for Linux and
+ ntfsprogs includes utilities for doing all required tasks to NTFS partitions.
+
+ --- cramfs ---
+ Builds cramfs filesystems for embedded systems
+
+ --- smbnetfs ---
+ SMBNetFS is a Linux/FreeBSD filesystem that allow you to use samba/microsoft
+ network in the same manner as the network neighborhood in Microsoft Windows.
+
+ --- fuse-exfat ---
+ A read and write exFAT driver for FUSE
+
+ --- exfat-utils ---
+ Utilities to create, check, label and dump exFAT filesystem
+
+ --- f2fs-tools ---
+ Tools needed for creating and managing f2fs partitions
+
+ --- xfsprogs ---
+ It provides XFS filesystem utilities.
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/conf/layer.conf b/import-layers/meta-openembedded/meta-filesystems/conf/layer.conf
new file mode 100644
index 000000000..9ed6d1b73
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/conf/layer.conf
@@ -0,0 +1,16 @@
+# We have a conf and classes directory, add to BBPATH
+BBPATH .= ":${LAYERDIR}"
+
+# We have recipes-* directories, add to BBFILES
+BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
+ ${LAYERDIR}/recipes-*/*/*.bbappend"
+
+BBFILE_COLLECTIONS += "filesystems-layer"
+BBFILE_PATTERN_filesystems-layer = "^${LAYERDIR}/"
+BBFILE_PRIORITY_filesystems-layer = "6"
+
+# This should only be incremented on significant changes that will
+# cause compatibility issues with other layers
+LAYERVERSION_filesystems-layer = "1"
+
+LAYERDEPENDS_filesystems-layer = "core openembedded-layer"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb
new file mode 100644
index 000000000..639e33cfa
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/fuse-exfat/fuse-exfat_1.2.3.bb
@@ -0,0 +1,20 @@
+SUMMARY = "read and write exFAT driver for FUSE"
+DESCRIPTION = "fuse-exfat is a read and write driver implementing the \
+extended file allocation table as a filesystem in userspace. A mounthelper \
+is provided under the name mount.exfat-fuse. \
+"
+HOMEPAGE = "http://code.google.com/p/exfat/"
+SECTION = "universe/otherosfs"
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+SRC_URI = "${DEBIAN_MIRROR}/main/f/fuse-exfat/fuse-exfat_${PV}.orig.tar.gz \
+"
+DEPENDS = "fuse virtual/libc"
+RRECOMMENDS_${PN} = "util-linux-mount"
+
+inherit autotools pkgconfig
+
+SRC_URI[md5sum] = "fca71e6598f79d037a3c7c969cb5710c"
+SRC_URI[sha256sum] = "f2e06eba5a21c621aac1d6da21b12a5a324fdd1e20f9c8acd357dd463c2355d9"
+
+S = "${WORKDIR}/${PN}-${PV}"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb
new file mode 100644
index 000000000..f0b58b967
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ifuse/ifuse_1.1.2.bb
@@ -0,0 +1,15 @@
+SUMMARY = "A fuse filesystem to access the contents of an iPhone or iPod Touch"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://COPYING;md5=6ab17b41640564434dda85c06b7124f7"
+HOMEPAGE ="http://www.libimobiledevice.org/"
+
+DEPENDS = "fuse libimobiledevice"
+
+SRC_URI = " \
+ http://www.libimobiledevice.org/downloads/ifuse-${PV}.tar.bz2 \
+"
+
+SRC_URI[md5sum] = "4152526b2ac3c505cb41797d997be14d"
+SRC_URI[sha256sum] = "47835c8afb72588b3202fe0b206d7ea37a68663d9aa4eaf73f0a4bcb6215fc05"
+
+inherit autotools pkgconfig
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb
new file mode 100644
index 000000000..32ebec83d
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/logfsprogs/logfsprogs_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "LogFS Programs: used to create LogFS file system"
+DESCRIPTION = "\
+LogFS is a Linux log-structured and scalable flash file system, intended \
+for use on large devices of flash memory. It is written by Jörn Engel and \
+in part sponsored by the CE Linux Forum. \
+LogFS is included in the mainline Linux kernel and was introduced in \
+version 2.6.34, released on May 16, 2010."
+HOMEPAGE = "https://github.com/prasad-joshi/logfsprogs"
+SECTION = "base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://fsck.c;md5=3859dc73da97909ff1d0125e88a27e02"
+DEPENDS = "zlib"
+
+SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git"
+SRCREV = "45b72c81ce3c6fa17ca19bafc207ea93e76312f4"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE = "CC="${CC}" LD="${LD}" AR="${AR}""
+
+do_install () {
+ mkdir -p ${D}${bindir}
+ install -m 0755 ${S}/mklogfs ${D}${bindir}/mklogfs
+}
+
+BBCLASSEXTEND = "native nativesdk"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb
new file mode 100644
index 000000000..6957ea92b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/ntfs-3g-ntfsprogs/ntfs-3g-ntfsprogs_2013.1.13.bb
@@ -0,0 +1,39 @@
+DESCRIPTION = "The NTFS-3G driver is an open source, freely available NTFS driver for Linux with read and write support."
+HOMEPAGE = "http://www.ntfs-3g.org/"
+DEPENDS = "fuse libgcrypt"
+PROVIDES = "ntfsprogs ntfs-3g"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
+ file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
+
+SRC_URI = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${PV}.tgz"
+S = "${WORKDIR}/ntfs-3g_ntfsprogs-${PV}"
+
+SRC_URI[md5sum] = "2d6fb47ddf62b51733227126fe9227fe"
+SRC_URI[sha256sum] = "4b383f0074a3ab7683339d1f18222b107aaeb4983db119292c43c2b275cefb27"
+
+inherit autotools pkgconfig
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[uuid] = "--with-uuid,--without-uuid,util-linux"
+
+# required or it calls ldconfig at install step
+EXTRA_OEMAKE = "LDCONFIG=echo"
+
+PACKAGES =+ "ntfs-3g ntfsprogs libntfs-3g"
+
+FILES_ntfs-3g = "${base_sbindir}/*.ntfs-3g ${bindir}/ntfs-3g* ${base_sbindir}/mount.ntfs"
+RDEPENDS_ntfs-3g += "fuse"
+RRECOMMENDS_ntfs-3g = "util-linux-mount"
+
+FILES_ntfsprogs = "${base_sbindir}/* ${bindir}/* ${sbindir}/*"
+FILES_libntfs-3g = "${libdir}/*${SOLIBS}"
+
+do_install_append() {
+ # Standard mount will execute the program /sbin/mount.TYPE
+ # when called. Add the symbolic to let mount could find ntfs.
+ ln -sf mount.ntfs-3g ${D}/${base_sbindir}/mount.ntfs
+}
+
+# Satisfy the -dev runtime dependency
+ALLOW_EMPTY_${PN} = "1"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/owhttpd b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/owhttpd
new file mode 100755
index 000000000..5d74d13d9
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/owhttpd
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+PATH=/sbin:/bin:/usr/bin
+
+DAEMON="owhttpd"
+
+test -f /usr/bin/${DAEMON} || exit 0
+
+if test -f /etc/default/${DAEMON} ; then
+. /etc/default/${DAEMON}
+else
+:
+fi
+
+if [ "$START_OWHTTPD" != "yes" ]
+then
+ exit 0
+fi
+
+
+startdaemon(){
+ echo -n "Starting ${DAEMON}: "
+ start-stop-daemon --start -x /usr/bin/${DAEMON} -- ${CMDLINE} --pid_file /var/run/${DAEMON}.pid
+ echo "done"
+}
+
+stopdaemon(){
+ echo -n "Stopping ${DAEMON}: "
+ start-stop-daemon --stop -p /var/run/${DAEMON}.pid
+ echo "done"
+}
+
+
+
+case "$1" in
+ start)
+ startdaemon
+ ;;
+ stop)
+ stopdaemon
+ ;;
+ force-reload)
+ stopdaemon
+ startdaemon
+ ;;
+ restart)
+ stopdaemon
+ startdaemon
+ ;;
+ reload)
+ stopdaemon
+ startdaemon
+ ;;
+ *)
+ echo "Usage: ${DAEMON} { start | stop | restart | reload }" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/owserver b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/owserver
new file mode 100755
index 000000000..b69ea53e3
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs/owserver
@@ -0,0 +1,59 @@
+#!/bin/sh
+
+PATH=/sbin:/bin:/usr/bin
+
+DAEMON="owserver"
+
+test -f /usr/bin/${DAEMON} || exit 0
+
+if test -f /etc/default/${DAEMON} ; then
+. /etc/default/${DAEMON}
+else
+:
+fi
+
+if [ "$START_OWSERVER" != "yes" ]
+then
+ exit 0
+fi
+
+startdaemon(){
+ echo -n "Starting ${DAEMON}: "
+ start-stop-daemon --start -x /usr/bin/${DAEMON} -- ${CMDLINE} --pid_file /var/run/${DAEMON}.pid
+ echo "done"
+}
+
+stopdaemon(){
+ echo -n "Stopping ${DAEMON}: "
+ start-stop-daemon --stop -p /var/run/${DAEMON}.pid
+ echo "done"
+}
+
+
+
+case "$1" in
+ start)
+ startdaemon
+ ;;
+ stop)
+ stopdaemon
+ ;;
+ force-reload)
+ stopdaemon
+ startdaemon
+ ;;
+ restart)
+ stopdaemon
+ startdaemon
+ ;;
+ reload)
+ stopdaemon
+ startdaemon
+ ;;
+ *)
+ echo "Usage: ${DAEMON} { start | stop | restart | reload }" >&2
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb
new file mode 100644
index 000000000..21fd7e93e
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/owfs/owfs_2.9p1.bb
@@ -0,0 +1,68 @@
+SUMMARY = "1-Wire file system"
+DESCRIPTION = "OWFS is an easy way to use the powerful 1-wire system of Dallas/Maxim"
+HOMEPAGE = "http://www.owfs.org/"
+SECTION = "console/network"
+
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=a0bc427f423a41220ab79a0b392218bd \
+ file://COPYING.LIB;md5=865c4bd642d9e04f43925ad7e929ae87"
+
+DEPENDS = "fuse virtual/libusb0"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/owfs/owfs-${PV}.tar.gz \
+ file://owhttpd \
+ file://owserver "
+SRC_URI[md5sum] = "56ba145be208002e58775a7203369851"
+SRC_URI[sha256sum] = "9d22dbff72d235476688c02669f7171b23e21dffadf40bbdd3b8263908218424"
+
+inherit autotools-brokensep update-rc.d
+
+EXTRA_OECONF = " \
+ --with-fuseinclude=${STAGING_INCDIR} \
+ --with-fuselib=${STAGING_LIBDIR} \
+ --enable-owfs \
+ --enable-owhttpd \
+ --enable-w1 \
+ --disable-swig \
+ --disable-owtcl \
+ --disable-owphp \
+ --disable-owpython \
+ --disable-owperl \
+"
+
+do_install_prepend() {
+ install -d ${D}${sysconfdir}/default/
+ install -d ${D}${sysconfdir}/init.d/
+ install -m 0755 ${WORKDIR}/owhttpd ${D}${sysconfdir}/init.d/owhttpd
+ install -m 0755 ${WORKDIR}/owserver ${D}${sysconfdir}/init.d/owserver
+}
+
+PACKAGES =+ "owftpd owhttpd owserver owshell libowcapi libow libownet owmon owtap"
+
+DESCRIPTION_owftpd = "Anoymous FTP server for 1-wire access"
+DESCRIPTION_owhttpd = "Tiny webserver for 1-wire control"
+DESCRIPTION_owserver = "Backend server (daemon) for 1-wire control"
+DESCRIPTION_owshell = "owdir owread owwrite owpresent owget - lightweight owserver access"
+DESCRIPTION_libowcapi = "easy C-language 1-wire interface "
+DESCRIPTION_libow = "easy C-language 1-wire interface to the owserver protocol"
+DESCRIPTION_libownet = "easy C-language 1-wire interface to the owserver protocol"
+DESCRIPTION_owmon = "Monitor for owserver settings and statistics"
+DESCRIPTION_owtap = "Packet sniffer for the owserver protocol"
+
+FILES_owftpd = "${bindir}/owftpd"
+FILES_owhttpd = "${bindir}/owhttpd ${sysconfdir}/init.d/owhttpd"
+FILES_owserver = "${bindir}/owserver ${sysconfdir}/init.d/owserver"
+FILES_owshell = "${bindir}/owread ${bindir}/owwrite \
+ ${bindir}/owdir ${bindir}/owpresent \
+ ${bindir}/owget ${bindir}/owside"
+FILES_owmon = "${bindir}/owmon"
+FILES_owtap = "${bindir}/owtap"
+FILES_libowcapi = "${libdir}/libowcapi-*"
+FILES_libow = "${libdir}/libow-*"
+FILES_libownet = "${libdir}/libownet-*"
+
+INITSCRIPT_PACKAGES = "owhttpd owserver"
+INITSCRIPT_NAME_owserver = "owserver"
+INITSCRIPT_NAME_owhttpd = "owhttpd"
+INITSCRIPT_PARAMS_owserver = "defaults 20"
+INITSCRIPT_PARAMS_owhttpd = "defaults 21"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb
new file mode 100644
index 000000000..f85977fd5
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/simple-mtpfs/simple-mtpfs_git.bb
@@ -0,0 +1,13 @@
+DESCRIPTION = "SIMPLE-MTPFS is a FUSE based filsystem for MTP devices connected via USB"
+HOMEPAGE = "https://github.com/phatina/simple-mtpfs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
+
+DEPENDS = "fuse libmtp"
+
+inherit autotools pkgconfig
+
+SRC_URI = "git://github.com/phatina/simple-mtpfs.git;protocol=https;branch=master"
+SRCREV = "a7ab64c7e4d7aca155cbc7ce9412aaf68ef6e404"
+
+S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch
new file mode 100644
index 000000000..f05f09f61
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch
@@ -0,0 +1,42 @@
+From 7a524d49b3d4459280f18942df2980603400ec52 Mon Sep 17 00:00:00 2001
+From: Bian Naimeng <biannm@cn.fujitsu.com>
+Date: Fri, 19 Jun 2015 11:54:44 +0900
+Subject: [PATCH] Using PKG_CHECK_MODULES to found headers and libraries of
+ smbclient
+
+Signed-off-by: Bian Naimeng <biannm@cn.fujitsu.com>
+---
+ configure.in | 5 +++++
+ src/Makefile.am | 3 +++
+ 2 files changed, 8 insertions(+)
+
+diff --git a/configure.in b/configure.in
+index ce21aef..ecd7119 100644
+--- a/configure.in
++++ b/configure.in
+@@ -125,6 +125,11 @@ AC_CHECK_LIB(smbclient, smbc_setOptionUserData,
+ )]
+ )
+
++dnl *****************************************************************
++dnl *** Check libsmbclient by pkgconfig to get cflags and ldflags ***
++dnl *****************************************************************
++PKG_CHECK_MODULES(SMBCLIENT, smbclient)
++
+ dnl ******************
+ dnl *** Final step ***
+ dnl ******************
+diff --git a/src/Makefile.am b/src/Makefile.am
+index 41519d8..9fc97e9 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -16,3 +16,6 @@ smbnetfs_SOURCES = \
+ event.c event.h \
+ reconfigure.c reconfigure.h \
+ main.c
++
++smbnetfs_CFLAGS=${SMBCLIENT_CFLAGS}
++smbnetfs_LDFLAGS=${SMBCLIENT_LDFLAGS}
+--
+1.8.4.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch
new file mode 100644
index 000000000..c80fed187
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs/configure.patch
@@ -0,0 +1,11 @@
+Index: git/configure.in
+===================================================================
+--- git.orig/configure.in 2014-06-18 16:06:16.040721349 +0000
++++ git/configure.in 2014-07-18 07:49:17.085552256 +0000
+@@ -1,5 +1,5 @@
+ AC_INIT([SMBNetFS],[0.5.3а])
+-AM_INIT_AUTOMAKE
++AM_INIT_AUTOMAKE([foreign])
+ AC_CONFIG_HEADERS([src/config.h])
+ AC_PROG_CC
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
new file mode 100644
index 000000000..f1420fbed
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/smbnetfs/smbnetfs_git.bb
@@ -0,0 +1,26 @@
+SUMMARY = "FUSE module for mounting an entire SMB/NMB network in a single directory"
+DESCRIPTION = "SMBNetFS is a Linux/FreeBSD filesystem that allow you to use \
+ samba/microsoft network in the same manner as the network \
+ neighborhood in Microsoft Windows. Please donate me to help \
+ in SMBNetFS development."
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
+HOMEPAGE ="http://sourceforge.net/projects/smbnetfs"
+
+DEPENDS = "fuse samba"
+
+inherit autotools gitpkgv pkgconfig
+
+PKGV = "${GITPKGVTAG}"
+
+SRCREV = "ace1c519d45fe488b9b7e6cc77a2bcadb6c83464"
+
+SRC_URI = "git://smbnetfs.git.sourceforge.net/gitroot/smbnetfs/smbnetfs;branch=master \
+ file://configure.patch \
+ file://Using-PKG_CHECK_MODULES-to-found-headers-and-libraries.patch"
+
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gnome-keyring] = "--with-gnome-keyring=yes,--with-gnome-keyring=no,libgnome-keyring"
+
+S = "${WORKDIR}/git"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb
new file mode 100644
index 000000000..c54cfcbd2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/sshfs-fuse/sshfs-fuse_2.5.bb
@@ -0,0 +1,17 @@
+SUMMARY = "This is a filesystem client based on the SSH File Transfer Protocol using FUSE"
+AUTHOR = "Miklos Szeredi <miklos@szeredi.hu>"
+HOMEPAGE = "http://fuse.sourceforge.net/sshfs.html"
+SECTION = "console/network"
+LICENSE = "GPLv2"
+DEPENDS = "glib-2.0 fuse"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/fuse/${BP}.tar.gz"
+S = "${WORKDIR}/${BP}"
+
+inherit autotools pkgconfig
+
+FILES_${PN} += "${libdir}/sshnodelay.so"
+
+SRC_URI[md5sum] = "17494910db8383a366b1301e5f5148a9"
+SRC_URI[sha256sum] = "e9171452e5d0150b9c6a2158fd2e2dcefb5d5d03ba4d208949e00a3a46c6e63e"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb
new file mode 100644
index 000000000..7df9c39a4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/unionfs-fuse/unionfs-fuse_0.26.bb
@@ -0,0 +1,17 @@
+SUMMARY = "A FUSE based implemention of unionfs"
+HOMEPAGE = "http://podgorny.cz/moin/UnionFsFuse"
+SECTION = "console/network"
+LICENSE = "BSD-3-Clause"
+DEPENDS = "fuse"
+LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8abab00b483a1b7943a32"
+
+SRC_URI = "http://podgorny.cz/unionfs-fuse/releases/${BP}.tar.xz"
+
+SRC_URI[md5sum] = "689c636484756f6f7a728ef354cbeac2"
+SRC_URI[sha256sum] = "8d5c9dcb51ecb9a9b03890e16d17e37d602b0c1f23ed6a9ddec2b0f719c9f662"
+
+do_install() {
+ oe_runmake install DESTDIR=${D} PREFIX=${exec_prefix}
+}
+
+RDEPENDS_${PN} += "bash"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
new file mode 100644
index 000000000..253ea627b
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-filesystems/yaffs2/yaffs2-utils_git.bb
@@ -0,0 +1,36 @@
+SUMMARY = "Yet Another Flash File System"
+DESCRIPTION = "Tools for managing 'yaffs2' file systems."
+
+SECTION = "base"
+HOMEPAGE = "http://www.yaffs.net"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://utils/mkyaffs2image.c;beginline=12;endline=14;md5=5f5464f9b3e981ca574e65b00e438561"
+
+PV = "0.0+git${SRCPV}"
+
+DEPENDS = "mtd-utils"
+
+# Source is the HEAD of master branch at the time of writing this recipe
+SRC_URI = "git://www.aleph1.co.uk/yaffs2;protocol=git;branch=master"
+SRCREV = "bc76682d93955cfb33051beb503ad9f8a5450578"
+S = "${WORKDIR}/git"
+
+CFLAGS_append = " -I.. -DCONFIG_YAFFS_UTIL -DCONFIG_YAFFS_DEFINES_TYPES"
+EXTRA_OEMAKE = "-e MAKEFLAGS="
+
+do_compile() {
+ cd utils && oe_runmake
+}
+
+INSTALL_FILES = "mkyaffsimage \
+ mkyaffs2image \
+ "
+do_install() {
+ install -d ${D}${sbindir}/
+ for i in ${INSTALL_FILES}; do
+ install -m 0755 utils/$i ${D}${sbindir}/
+ done
+}
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/0001-fuse-fix-the-return-value-of-help-option.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/0001-fuse-fix-the-return-value-of-help-option.patch
new file mode 100644
index 000000000..577dbb5b2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/0001-fuse-fix-the-return-value-of-help-option.patch
@@ -0,0 +1,28 @@
+From 2182c423c6cd235c052e6c420203f24ec9bcd6ab Mon Sep 17 00:00:00 2001
+From: Lu Chong <Chong.Lu@windriver.com>
+Date: Wed, 30 Oct 2013 15:27:00 +0800
+Subject: [PATCH] fuse: fix the return value of "--help" option
+
+Upstream-Status: Pending
+
+Signed-off-by: Lu Chong <Chong.Lu@windriver.com>
+---
+ util/fusermount.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/util/fusermount.c b/util/fusermount.c
+index b2e87d9..70d7c75 100644
+--- a/util/fusermount.c
++++ b/util/fusermount.c
+@@ -1168,7 +1168,7 @@ static void usage(void)
+ " -q quiet\n"
+ " -z lazy unmount\n",
+ progname);
+- exit(1);
++ exit(0);
+ }
+
+ static void show_version(void)
+--
+1.7.9.5
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/aarch64.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/aarch64.patch
new file mode 100644
index 000000000..050d1146a
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/aarch64.patch
@@ -0,0 +1,33 @@
+fuse: add aarch64 support
+
+u64/u32 is not defined in sys/types.h, include linux/types.h like
+the kernel version of fuse.h does. Patch sent to upstream mailing list.
+
+Upstream-Status: Submitted
+Signed-off-by: Riku Voipio <riku.voipio@linaro.org>
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ include/fuse_kernel.h | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/include/fuse_kernel.h b/include/fuse_kernel.h
+index c632b58..e804278 100644
+--- a/include/fuse_kernel.h
++++ b/include/fuse_kernel.h
+@@ -88,12 +88,7 @@
+ #ifndef _LINUX_FUSE_H
+ #define _LINUX_FUSE_H
+
+-#include <sys/types.h>
+-#define __u64 uint64_t
+-#define __s64 int64_t
+-#define __u32 uint32_t
+-#define __s32 int32_t
+-#define __u16 uint16_t
++#include <linux/types.h>
+
+ /*
+ * Version negotiation:
+--
+1.8.1.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/fuse.conf b/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/fuse.conf
new file mode 100644
index 000000000..a517c488f
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/fuse.conf
@@ -0,0 +1 @@
+fuse
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/gold-unversioned-symbol.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/gold-unversioned-symbol.patch
new file mode 100644
index 000000000..d47f692c0
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/files/gold-unversioned-symbol.patch
@@ -0,0 +1,92 @@
+fuse: Fix linking issues with gold linker
+
+fuse has problems when linking with gold since it uses version
+scripts in a way thats so perticular to bfd ld
+
+/home/kraj/work/angstrom/build/tmp-angstrom_2010_x-eglibc/sysroots/x86_64-linux/usr/libexec/armv5te-angstrom-linux-gnueabi/gcc/arm-angstro
+error: symbol __fuse_exited has undefined version
+| collect2: ld returned 1 exit status
+| make[1]: *** [libfuse.la] Error 1
+| make[1]: *** Waiting for unfinished jobs....
+
+For more details
+
+http://blog.flameeyes.eu/2011/06/01/gold-readiness-obstacle-2-base-versioning
+http://sources.redhat.com/bugzilla/show_bug.cgi?id=10861
+http://comments.gmane.org/gmane.comp.file-systems.fuse.devel/9524
+http://www.airs.com/blog/archives/300
+
+Upstream-Status: Pending
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ lib/fuse.c | 10 +++++-----
+ lib/fuse_mt.c | 2 +-
+ lib/fuse_versionscript | 3 +++
+ lib/helper.c | 6 +++---
+ 4 files changed, 12 insertions(+), 9 deletions(-)
+
+diff --git a/lib/fuse.c b/lib/fuse.c
+index 067d0dc..6d27711 100644
+--- a/lib/fuse.c
++++ b/lib/fuse.c
+@@ -4873,11 +4873,11 @@ struct fuse *fuse_new_compat1(int fd, int flags,
+ 11);
+ }
+
+-FUSE_SYMVER(".symver fuse_exited,__fuse_exited@");
+-FUSE_SYMVER(".symver fuse_process_cmd,__fuse_process_cmd@");
+-FUSE_SYMVER(".symver fuse_read_cmd,__fuse_read_cmd@");
+-FUSE_SYMVER(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@");
+-FUSE_SYMVER(".symver fuse_new_compat2,fuse_new@");
++FUSE_SYMVER(".symver fuse_exited,__fuse_exited@FUSE_UNVERSIONED");
++FUSE_SYMVER(".symver fuse_process_cmd,__fuse_process_cmd@FUSE_UNVERSIONED");
++FUSE_SYMVER(".symver fuse_read_cmd,__fuse_read_cmd@FUSE_UNVERSIONED");
++FUSE_SYMVER(".symver fuse_set_getcontext_func,__fuse_set_getcontext_func@FUSE_UNVERSIONED");
++FUSE_SYMVER(".symver fuse_new_compat2,fuse_new@FUSE_UNVERSIONED");
+ FUSE_SYMVER(".symver fuse_new_compat22,fuse_new@FUSE_2.2");
+
+ #endif /* __FreeBSD__ || __NetBSD__ */
+diff --git a/lib/fuse_mt.c b/lib/fuse_mt.c
+index f6dbe71..fd5ac23 100644
+--- a/lib/fuse_mt.c
++++ b/lib/fuse_mt.c
+@@ -119,4 +119,4 @@ int fuse_loop_mt(struct fuse *f)
+ return res;
+ }
+
+-FUSE_SYMVER(".symver fuse_loop_mt_proc,__fuse_loop_mt@");
++FUSE_SYMVER(".symver fuse_loop_mt_proc,__fuse_loop_mt@FUSE_UNVERSIONED");
+diff --git a/lib/fuse_versionscript b/lib/fuse_versionscript
+index 8d91887..de16ab2 100644
+--- a/lib/fuse_versionscript
++++ b/lib/fuse_versionscript
+@@ -1,3 +1,6 @@
++FUSE_UNVERSIONED {
++};
++
+ FUSE_2.2 {
+ global:
+ fuse_destroy;
+diff --git a/lib/helper.c b/lib/helper.c
+index b644012..c5349bf 100644
+--- a/lib/helper.c
++++ b/lib/helper.c
+@@ -436,10 +436,10 @@ int fuse_mount_compat1(const char *mountpoint, const char *args[])
+ return fuse_mount_compat22(mountpoint, NULL);
+ }
+
+-FUSE_SYMVER(".symver fuse_setup_compat2,__fuse_setup@");
++FUSE_SYMVER(".symver fuse_setup_compat2,__fuse_setup@FUSE_UNVERSIONED");
+ FUSE_SYMVER(".symver fuse_setup_compat22,fuse_setup@FUSE_2.2");
+-FUSE_SYMVER(".symver fuse_teardown,__fuse_teardown@");
+-FUSE_SYMVER(".symver fuse_main_compat2,fuse_main@");
++FUSE_SYMVER(".symver fuse_teardown,__fuse_teardown@FUSE_UNVERSIONED");
++FUSE_SYMVER(".symver fuse_main_compat2,fuse_main@FUSE_UNVERSIONED");
+ FUSE_SYMVER(".symver fuse_main_real_compat22,fuse_main_real@FUSE_2.2");
+
+ #endif /* __FreeBSD__ || __NetBSD__ */
+--
+1.8.1.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.4.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.4.bb
new file mode 100644
index 000000000..8cc6dbd16
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse_2.9.4.bb
@@ -0,0 +1,64 @@
+SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
+DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
+ programs to export a virtual filesystem to the Linux kernel. FUSE \
+ also aims to provide a secure method for non privileged users to \
+ create and mount their own filesystem implementations. \
+ "
+HOMEPAGE = "http://fuse.sf.net"
+SECTION = "libs"
+LICENSE = "GPLv2 & LGPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
+ file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
+
+SRC_URI = "${SOURCEFORGE_MIRROR}/fuse/fuse-${PV}.tar.gz \
+ file://gold-unversioned-symbol.patch \
+ file://aarch64.patch \
+ file://0001-fuse-fix-the-return-value-of-help-option.patch \
+ file://fuse.conf \
+"
+SRC_URI[md5sum] = "ecb712b5ffc6dffd54f4a405c9b372d8"
+SRC_URI[sha256sum] = "6be9c0bff6af8c677414935f31699ea5a7f8f5f791cfa5205be02ea186b97ce1"
+
+inherit autotools pkgconfig update-rc.d systemd
+
+INITSCRIPT_NAME = "fuse"
+
+SYSTEMD_SERVICE_${PN} = ""
+
+DEPENDS = "gettext-native"
+
+PACKAGES =+ "fuse-utils-dbg fuse-utils libulockmgr libulockmgr-dev libulockmgr-dbg"
+
+# Fusermount requires features from the util-linux version of mount.
+RDEPENDS_${PN} += "util-linux-mount"
+
+RRECOMMENDS_${PN} = "kernel-module-fuse libulockmgr fuse-utils"
+
+FILES_${PN} += "${libdir}/libfuse.so.*"
+FILES_${PN}-dev += "${libdir}/libfuse*.la"
+
+FILES_libulockmgr = "${libdir}/libulockmgr.so.*"
+FILES_libulockmgr-dev += "${libdir}/libulock*.la"
+FILES_libulockmgr-dbg += "${libdir}/.debug/libulock*"
+
+# Forbid auto-renaming to libfuse-utils
+FILES_fuse-utils = "${bindir} ${base_sbindir}"
+FILES_fuse-utils-dbg = "${bindir}/.debug ${base_sbindir}/.debug"
+DEBIAN_NOAUTONAME_fuse-utils = "1"
+DEBIAN_NOAUTONAME_fuse-utils-dbg = "1"
+
+do_install_append() {
+ rm -rf ${D}${base_prefix}/dev
+
+ # systemd class remove the sysv_initddir only if systemd_system_unitdir
+ # contains anything, but it's not needed if sysvinit is not in DISTRO_FEATURES
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then
+ rm -rf ${D}${sysconfdir}/init.d/
+ fi
+
+ # Install systemd related configuration file
+ if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
+ install -d ${D}${sysconfdir}/modules-load.d
+ install -m 0644 ${WORKDIR}/fuse.conf ${D}${sysconfdir}/modules-load.d
+ fi
+}
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb
new file mode 100644
index 000000000..5618f28a6
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-support/physfs/physfs_2.0.3.bb
@@ -0,0 +1,11 @@
+SUMMARY = "PhysicsFS is a library to provide abstract access to various archives"
+HOMEAPAGE = "http://icculus.org/physfs"
+LICENSE = "Zlib"
+LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=5d94e3eaaa10b00ca803ba35a3e87cde"
+DEPENDS = "readline zlib"
+
+inherit cmake
+
+SRC_URI = "http://icculus.org/${BPN}/downloads/${BP}.tar.bz2"
+SRC_URI[md5sum] = "c2c727a8a8deb623b521b52d0080f613"
+SRC_URI[sha256sum] = "ca862097c0fb451f2cacd286194d071289342c107b6fe69079c079883ff66b69"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch
new file mode 100644
index 000000000..5c3558689
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch
@@ -0,0 +1,29 @@
+Subject: [PATCH] aufs-util: add tool concept to Makefile for cross compiling
+ purpose
+
+In a cross compilation environment, c2sh, c2tmac and ver need to be created first.
+Add a tools target to Makefile to allow for this.
+
+Upstream-Status: Pending
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 2f905ad..49c3cd5 100644
+--- a/Makefile
++++ b/Makefile
+@@ -85,7 +85,7 @@ aufs.5: aufs.in.5 c2tmac
+ chmod a-w $@
+
+ c2sh c2tmac ver: CC = ${HOSTCC}
+-.INTERMEDIATE: c2sh c2tmac ver
++tools: c2sh c2tmac ver
+
+ Install = install -o root -g root -p
+ install_sbin: File = auibusy auplink mount.aufs umount.aufs
+--
+1.7.9.5
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch
new file mode 100644
index 000000000..fe2a6a576
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs-util-don-t-strip-executables.patch
@@ -0,0 +1,37 @@
+From 244863eca77fcaa1187884836c3e28d6b6d1504a Mon Sep 17 00:00:00 2001
+From: Bruce Ashfield <bruce.ashfield@windriver.com>
+Date: Tue, 9 Apr 2013 18:50:34 -0700
+Subject: [PATCH] aufs-util: don't strip executables
+
+By default, aufs-util strips its binaries. This produces QA warnings
+as follows:
+
+ WARNING: File '/sbin/mount.aufs' from aufs-util was already stripped, this will prevent future debugging!
+ WARNING: File '/sbin/auplink' from aufs-util was already stripped, this will prevent future debugging!
+ WARNING: File '/sbin/umount.aufs' from aufs-util was already stripped, this will prevent future debugging!
+ WARNING: File '/sbin/auibusy' from aufs-util was already stripped, this will prevent future debugging!
+ WARNING: File '/usr/lib/libau.so.2.6' from aufs-util was already stripped, this will prevent future debugging!
+
+To prevent this, we remove -s from LDFLAGS.
+
+Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
+---
+ Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 2f905ad..e0c6dcd 100644
+--- a/Makefile
++++ b/Makefile
+@@ -56,7 +56,7 @@ all: ver_test ${Man} ${Bin} ${Etc}
+ ver_test: ver
+ ./ver
+
+-${Bin}: override LDFLAGS += -static -s
++${Bin}: override LDFLAGS += -static
+ ${Bin}: LDLIBS = -L. -lautil
+ ${BinObj}: %.o: %.c ${LibUtilHdr} ${LibUtil}
+
+--
+1.7.10.4
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h
new file mode 100644
index 000000000..c948033a4
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util/aufs_type.h
@@ -0,0 +1,419 @@
+/*
+ * Copyright (C) 2005-2015 Junjiro R. Okajima
+ *
+ * This program, aufs is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __AUFS_TYPE_H__
+#define __AUFS_TYPE_H__
+
+#define AUFS_NAME "aufs"
+
+#ifdef __KERNEL__
+/*
+ * define it before including all other headers.
+ * sched.h may use pr_* macros before defining "current", so define the
+ * no-current version first, and re-define later.
+ */
+#define pr_fmt(fmt) AUFS_NAME " %s:%d: " fmt, __func__, __LINE__
+#include <linux/sched.h>
+#undef pr_fmt
+#define pr_fmt(fmt) \
+ AUFS_NAME " %s:%d:%.*s[%d]: " fmt, __func__, __LINE__, \
+ (int)sizeof(current->comm), current->comm, current->pid
+#else
+#include <stdint.h>
+#include <sys/types.h>
+#endif /* __KERNEL__ */
+
+#include <linux/limits.h>
+
+#define AUFS_VERSION "3.18-20150406"
+
+/* todo? move this to linux-2.6.19/include/magic.h */
+#define AUFS_SUPER_MAGIC ('a' << 24 | 'u' << 16 | 'f' << 8 | 's')
+
+/* ---------------------------------------------------------------------- */
+
+#ifdef CONFIG_AUFS_BRANCH_MAX_127
+typedef int8_t aufs_bindex_t;
+#define AUFS_BRANCH_MAX 127
+#else
+typedef int16_t aufs_bindex_t;
+#ifdef CONFIG_AUFS_BRANCH_MAX_511
+#define AUFS_BRANCH_MAX 511
+#elif defined(CONFIG_AUFS_BRANCH_MAX_1023)
+#define AUFS_BRANCH_MAX 1023
+#elif defined(CONFIG_AUFS_BRANCH_MAX_32767)
+#define AUFS_BRANCH_MAX 32767
+#endif
+#endif
+
+#ifdef __KERNEL__
+#ifndef AUFS_BRANCH_MAX
+#error unknown CONFIG_AUFS_BRANCH_MAX value
+#endif
+#endif /* __KERNEL__ */
+
+/* ---------------------------------------------------------------------- */
+
+#define AUFS_FSTYPE AUFS_NAME
+
+#define AUFS_ROOT_INO 2
+#define AUFS_FIRST_INO 11
+
+#define AUFS_WH_PFX ".wh."
+#define AUFS_WH_PFX_LEN ((int)sizeof(AUFS_WH_PFX) - 1)
+#define AUFS_WH_TMP_LEN 4
+/* a limit for rmdir/rename a dir and copyup */
+#define AUFS_MAX_NAMELEN (NAME_MAX \
+ - AUFS_WH_PFX_LEN * 2 /* doubly whiteouted */\
+ - 1 /* dot */\
+ - AUFS_WH_TMP_LEN) /* hex */
+#define AUFS_XINO_FNAME "." AUFS_NAME ".xino"
+#define AUFS_XINO_DEFPATH "/tmp/" AUFS_XINO_FNAME
+#define AUFS_XINO_DEF_SEC 30 /* seconds */
+#define AUFS_XINO_DEF_TRUNC 45 /* percentage */
+#define AUFS_DIRWH_DEF 3
+#define AUFS_RDCACHE_DEF 10 /* seconds */
+#define AUFS_RDCACHE_MAX 3600 /* seconds */
+#define AUFS_RDBLK_DEF 512 /* bytes */
+#define AUFS_RDHASH_DEF 32
+#define AUFS_WKQ_NAME AUFS_NAME "d"
+#define AUFS_MFS_DEF_SEC 30 /* seconds */
+#define AUFS_MFS_MAX_SEC 3600 /* seconds */
+#define AUFS_FHSM_CACHE_DEF_SEC 30 /* seconds */
+#define AUFS_PLINK_WARN 50 /* number of plinks in a single bucket */
+
+/* pseudo-link maintenace under /proc */
+#define AUFS_PLINK_MAINT_NAME "plink_maint"
+#define AUFS_PLINK_MAINT_DIR "fs/" AUFS_NAME
+#define AUFS_PLINK_MAINT_PATH AUFS_PLINK_MAINT_DIR "/" AUFS_PLINK_MAINT_NAME
+
+#define AUFS_DIROPQ_NAME AUFS_WH_PFX ".opq" /* whiteouted doubly */
+#define AUFS_WH_DIROPQ AUFS_WH_PFX AUFS_DIROPQ_NAME
+
+#define AUFS_BASE_NAME AUFS_WH_PFX AUFS_NAME
+#define AUFS_PLINKDIR_NAME AUFS_WH_PFX "plnk"
+#define AUFS_ORPHDIR_NAME AUFS_WH_PFX "orph"
+
+/* doubly whiteouted */
+#define AUFS_WH_BASE AUFS_WH_PFX AUFS_BASE_NAME
+#define AUFS_WH_PLINKDIR AUFS_WH_PFX AUFS_PLINKDIR_NAME
+#define AUFS_WH_ORPHDIR AUFS_WH_PFX AUFS_ORPHDIR_NAME
+
+/* branch permissions and attributes */
+#define AUFS_BRPERM_RW "rw"
+#define AUFS_BRPERM_RO "ro"
+#define AUFS_BRPERM_RR "rr"
+#define AUFS_BRATTR_COO_REG "coo_reg"
+#define AUFS_BRATTR_COO_ALL "coo_all"
+#define AUFS_BRATTR_FHSM "fhsm"
+#define AUFS_BRATTR_UNPIN "unpin"
+#define AUFS_BRATTR_ICEX "icex"
+#define AUFS_BRATTR_ICEX_SEC "icexsec"
+#define AUFS_BRATTR_ICEX_SYS "icexsys"
+#define AUFS_BRATTR_ICEX_TR "icextr"
+#define AUFS_BRATTR_ICEX_USR "icexusr"
+#define AUFS_BRATTR_ICEX_OTH "icexoth"
+#define AUFS_BRRATTR_WH "wh"
+#define AUFS_BRWATTR_NLWH "nolwh"
+#define AUFS_BRWATTR_MOO "moo"
+
+#define AuBrPerm_RW 1 /* writable, hardlinkable wh */
+#define AuBrPerm_RO (1 << 1) /* readonly */
+#define AuBrPerm_RR (1 << 2) /* natively readonly */
+#define AuBrPerm_Mask (AuBrPerm_RW | AuBrPerm_RO | AuBrPerm_RR)
+
+#define AuBrAttr_COO_REG (1 << 3) /* copy-up on open */
+#define AuBrAttr_COO_ALL (1 << 4)
+#define AuBrAttr_COO_Mask (AuBrAttr_COO_REG | AuBrAttr_COO_ALL)
+
+#define AuBrAttr_FHSM (1 << 5) /* file-based hsm */
+#define AuBrAttr_UNPIN (1 << 6) /* rename-able top dir of
+ branch. meaningless since
+ linux-3.18-rc1 */
+
+/* ignore error in copying XATTR */
+#define AuBrAttr_ICEX_SEC (1 << 7)
+#define AuBrAttr_ICEX_SYS (1 << 8)
+#define AuBrAttr_ICEX_TR (1 << 9)
+#define AuBrAttr_ICEX_USR (1 << 10)
+#define AuBrAttr_ICEX_OTH (1 << 11)
+#define AuBrAttr_ICEX (AuBrAttr_ICEX_SEC \
+ | AuBrAttr_ICEX_SYS \
+ | AuBrAttr_ICEX_TR \
+ | AuBrAttr_ICEX_USR \
+ | AuBrAttr_ICEX_OTH)
+
+#define AuBrRAttr_WH (1 << 12) /* whiteout-able */
+#define AuBrRAttr_Mask AuBrRAttr_WH
+
+#define AuBrWAttr_NoLinkWH (1 << 13) /* un-hardlinkable whiteouts */
+#define AuBrWAttr_MOO (1 << 14) /* move-up on open */
+#define AuBrWAttr_Mask (AuBrWAttr_NoLinkWH | AuBrWAttr_MOO)
+
+#define AuBrAttr_CMOO_Mask (AuBrAttr_COO_Mask | AuBrWAttr_MOO)
+
+/* #warning test userspace */
+#ifdef __KERNEL__
+#ifndef CONFIG_AUFS_FHSM
+#undef AuBrAttr_FHSM
+#define AuBrAttr_FHSM 0
+#endif
+#ifndef CONFIG_AUFS_XATTR
+#undef AuBrAttr_ICEX
+#define AuBrAttr_ICEX 0
+#undef AuBrAttr_ICEX_SEC
+#define AuBrAttr_ICEX_SEC 0
+#undef AuBrAttr_ICEX_SYS
+#define AuBrAttr_ICEX_SYS 0
+#undef AuBrAttr_ICEX_TR
+#define AuBrAttr_ICEX_TR 0
+#undef AuBrAttr_ICEX_USR
+#define AuBrAttr_ICEX_USR 0
+#undef AuBrAttr_ICEX_OTH
+#define AuBrAttr_ICEX_OTH 0
+#endif
+#endif
+
+/* the longest combination */
+/* AUFS_BRATTR_ICEX and AUFS_BRATTR_ICEX_TR don't affect here */
+#define AuBrPermStrSz sizeof(AUFS_BRPERM_RW \
+ "+" AUFS_BRATTR_COO_REG \
+ "+" AUFS_BRATTR_FHSM \
+ "+" AUFS_BRATTR_UNPIN \
+ "+" AUFS_BRATTR_ICEX_SEC \
+ "+" AUFS_BRATTR_ICEX_SYS \
+ "+" AUFS_BRATTR_ICEX_USR \
+ "+" AUFS_BRATTR_ICEX_OTH \
+ "+" AUFS_BRWATTR_NLWH)
+
+typedef struct {
+ char a[AuBrPermStrSz];
+} au_br_perm_str_t;
+
+static inline int au_br_writable(int brperm)
+{
+ return brperm & AuBrPerm_RW;
+}
+
+static inline int au_br_whable(int brperm)
+{
+ return brperm & (AuBrPerm_RW | AuBrRAttr_WH);
+}
+
+static inline int au_br_wh_linkable(int brperm)
+{
+ return !(brperm & AuBrWAttr_NoLinkWH);
+}
+
+static inline int au_br_cmoo(int brperm)
+{
+ return brperm & AuBrAttr_CMOO_Mask;
+}
+
+static inline int au_br_fhsm(int brperm)
+{
+ return brperm & AuBrAttr_FHSM;
+}
+
+/* ---------------------------------------------------------------------- */
+
+/* ioctl */
+enum {
+ /* readdir in userspace */
+ AuCtl_RDU,
+ AuCtl_RDU_INO,
+
+ AuCtl_WBR_FD, /* pathconf wrapper */
+ AuCtl_IBUSY, /* busy inode */
+ AuCtl_MVDOWN, /* move-down */
+ AuCtl_BR, /* info about branches */
+ AuCtl_FHSM_FD /* connection for fhsm */
+};
+
+/* borrowed from linux/include/linux/kernel.h */
+#ifndef ALIGN
+#define ALIGN(x, a) __ALIGN_MASK(x, (typeof(x))(a)-1)
+#define __ALIGN_MASK(x, mask) (((x)+(mask))&~(mask))
+#endif
+
+/* borrowed from linux/include/linux/compiler-gcc3.h */
+#ifndef __aligned
+#define __aligned(x) __attribute__((aligned(x)))
+#endif
+
+#ifdef __KERNEL__
+#ifndef __packed
+#define __packed __attribute__((packed))
+#endif
+#endif
+
+struct au_rdu_cookie {
+ uint64_t h_pos;
+ int16_t bindex;
+ uint8_t flags;
+ uint8_t pad;
+ uint32_t generation;
+} __aligned(8);
+
+struct au_rdu_ent {
+ uint64_t ino;
+ int16_t bindex;
+ uint8_t type;
+ uint8_t nlen;
+ uint8_t wh;
+ char name[0];
+} __aligned(8);
+
+static inline int au_rdu_len(int nlen)
+{
+ /* include the terminating NULL */
+ return ALIGN(sizeof(struct au_rdu_ent) + nlen + 1,
+ sizeof(uint64_t));
+}
+
+union au_rdu_ent_ul {
+ struct au_rdu_ent *e;
+ uint64_t ul;
+};
+
+enum {
+ AufsCtlRduV_SZ,
+ AufsCtlRduV_End
+};
+
+struct aufs_rdu {
+ /* input */
+ union {
+ uint64_t sz; /* AuCtl_RDU */
+ uint64_t nent; /* AuCtl_RDU_INO */
+ };
+ union au_rdu_ent_ul ent;
+ uint16_t verify[AufsCtlRduV_End];
+
+ /* input/output */
+ uint32_t blk;
+
+ /* output */
+ union au_rdu_ent_ul tail;
+ /* number of entries which were added in a single call */
+ uint64_t rent;
+ uint8_t full;
+ uint8_t shwh;
+
+ struct au_rdu_cookie cookie;
+} __aligned(8);
+
+/* ---------------------------------------------------------------------- */
+
+struct aufs_wbr_fd {
+ uint32_t oflags;
+ int16_t brid;
+} __aligned(8);
+
+/* ---------------------------------------------------------------------- */
+
+struct aufs_ibusy {
+ uint64_t ino, h_ino;
+ int16_t bindex;
+} __aligned(8);
+
+/* ---------------------------------------------------------------------- */
+
+/* error code for move-down */
+/* the actual message strings are implemented in aufs-util.git */
+enum {
+ EAU_MVDOWN_OPAQUE = 1,
+ EAU_MVDOWN_WHITEOUT,
+ EAU_MVDOWN_UPPER,
+ EAU_MVDOWN_BOTTOM,
+ EAU_MVDOWN_NOUPPER,
+ EAU_MVDOWN_NOLOWERBR,
+ EAU_Last
+};
+
+/* flags for move-down */
+#define AUFS_MVDOWN_DMSG 1
+#define AUFS_MVDOWN_OWLOWER (1 << 1) /* overwrite lower */
+#define AUFS_MVDOWN_KUPPER (1 << 2) /* keep upper */
+#define AUFS_MVDOWN_ROLOWER (1 << 3) /* do even if lower is RO */
+#define AUFS_MVDOWN_ROLOWER_R (1 << 4) /* did on lower RO */
+#define AUFS_MVDOWN_ROUPPER (1 << 5) /* do even if upper is RO */
+#define AUFS_MVDOWN_ROUPPER_R (1 << 6) /* did on upper RO */
+#define AUFS_MVDOWN_BRID_UPPER (1 << 7) /* upper brid */
+#define AUFS_MVDOWN_BRID_LOWER (1 << 8) /* lower brid */
+#define AUFS_MVDOWN_FHSM_LOWER (1 << 9) /* find fhsm attr for lower */
+#define AUFS_MVDOWN_STFS (1 << 10) /* req. stfs */
+#define AUFS_MVDOWN_STFS_FAILED (1 << 11) /* output: stfs is unusable */
+#define AUFS_MVDOWN_BOTTOM (1 << 12) /* output: no more lowers */
+
+/* index for move-down */
+enum {
+ AUFS_MVDOWN_UPPER,
+ AUFS_MVDOWN_LOWER,
+ AUFS_MVDOWN_NARRAY
+};
+
+/*
+ * additional info of move-down
+ * number of free blocks and inodes.
+ * subset of struct kstatfs, but smaller and always 64bit.
+ */
+struct aufs_stfs {
+ uint64_t f_blocks;
+ uint64_t f_bavail;
+ uint64_t f_files;
+ uint64_t f_ffree;
+};
+
+struct aufs_stbr {
+ int16_t brid; /* optional input */
+ int16_t bindex; /* output */
+ struct aufs_stfs stfs; /* output when AUFS_MVDOWN_STFS set */
+} __aligned(8);
+
+struct aufs_mvdown {
+ uint32_t flags; /* input/output */
+ struct aufs_stbr stbr[AUFS_MVDOWN_NARRAY]; /* input/output */
+ int8_t au_errno; /* output */
+} __aligned(8);
+
+/* ---------------------------------------------------------------------- */
+
+union aufs_brinfo {
+ /* PATH_MAX may differ between kernel-space and user-space */
+ char _spacer[4096];
+ struct {
+ int16_t id;
+ int perm;
+ char path[0];
+ };
+} __aligned(8);
+
+/* ---------------------------------------------------------------------- */
+
+#define AuCtlType 'A'
+#define AUFS_CTL_RDU _IOWR(AuCtlType, AuCtl_RDU, struct aufs_rdu)
+#define AUFS_CTL_RDU_INO _IOWR(AuCtlType, AuCtl_RDU_INO, struct aufs_rdu)
+#define AUFS_CTL_WBR_FD _IOW(AuCtlType, AuCtl_WBR_FD, \
+ struct aufs_wbr_fd)
+#define AUFS_CTL_IBUSY _IOWR(AuCtlType, AuCtl_IBUSY, struct aufs_ibusy)
+#define AUFS_CTL_MVDOWN _IOWR(AuCtlType, AuCtl_MVDOWN, \
+ struct aufs_mvdown)
+#define AUFS_CTL_BRINFO _IOW(AuCtlType, AuCtl_BR, union aufs_brinfo)
+#define AUFS_CTL_FHSM_FD _IOW(AuCtlType, AuCtl_FHSM_FD, int)
+
+#endif /* __AUFS_TYPE_H__ */
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
new file mode 100644
index 000000000..8980980ee
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/aufs-util/aufs-util_git.bb
@@ -0,0 +1,53 @@
+SUMMARY = "Tools for managing AUFS mounts"
+SECTION = "base"
+HOMEPAGE = "http://aufs.sourceforge.net/"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
+
+DEPENDS = "aufs-util-native"
+DEPENDS_class-native = ""
+
+SRCREV = "b59a2167a135ceea37581ee33997de278cf8a30a"
+SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs3.14 \
+ file://aufs-util-don-t-strip-executables.patch \
+ file://aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch \
+ file://aufs_type.h \
+"
+
+PV = "3.14+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+do_configure_append () {
+ install -d ${S}/include/linux/
+ cp ${WORKDIR}/aufs_type.h ${S}/include/linux/
+}
+
+do_configure_append_class-target () {
+ for i in ver c2sh c2tmac; do
+ cp ${STAGING_BINDIR_NATIVE}/aufs-util-${PV}/$i ./
+ done
+}
+
+do_compile () {
+ oe_runmake CPPFLAGS="-I${S}/include -I${S}/libau"
+}
+
+do_compile_class-native () {
+ oe_runmake tools CPPFLAGS="-I${S}/include -I${S}/libau"
+}
+
+do_install () {
+ oe_runmake 'DESTDIR=${D}' install_sbin install_ubin install_etc
+}
+
+do_install_class-native () {
+ install -d ${D}${bindir}/aufs-util-${PV}
+ for i in ver c2sh c2tmac; do
+ install -m 755 $i ${D}${bindir}/aufs-util-${PV}/$i
+ done
+}
+
+RRECOMMENDS_${PN} += "kernel-module-aufs"
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb
new file mode 100644
index 000000000..4ff95f977
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/dmapi_2.2.12.bb
@@ -0,0 +1,31 @@
+SUMMARY = "Library functions to get attribute bits"
+DESCRIPTION = "The Data Management API (DMAPI/XDSM) allows implementation \
+ of hierarchical storage management software with no kernel \
+ modifications as well as high-performance dump programs \
+ without requiring "raw" access to the disk and knowledge \
+ of filesystem structures.This interface is implemented by \
+ the libdm library."
+
+HOMEPAGE = "http://oss.sgi.com/projects/xfs"
+SECTION = "base"
+LICENSE = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=1678edfe8de9be9564d23761ae2fa794"
+DEPENDS = "xfsprogs"
+
+SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/dmapi-${PV}.tar.gz \
+ file://remove-install-as-user.patch \
+ file://dmapi_aarch64_configure_support.patch \
+ "
+SRC_URI[md5sum] = "cd825d4e141c16011367e0a0dd98c9c5"
+SRC_URI[sha256sum] = "b18e34f47374f6adf7c164993c26df36986a009b86aa004ef9444102653aea69"
+
+inherit autotools-brokensep
+
+PARALLEL_MAKE = ""
+EXTRA_OEMAKE += "LIBTOOL="${HOST_SYS}-libtool --tag=CC" V=1"
+
+do_install () {
+ export DIST_ROOT=${D}
+ install -d ${D}${libdir}
+ oe_runmake install install-dev PKG_DEVLIB_DIR=${libdir}
+}
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/dmapi_aarch64_configure_support.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/dmapi_aarch64_configure_support.patch
new file mode 100644
index 000000000..98753b742
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/dmapi_aarch64_configure_support.patch
@@ -0,0 +1,37 @@
+Add config support to cross compile dmapi for
+aarch64 architecture
+
+Upstream-Status: Pending
+
+Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
+
+--- dmapi-2.2.12_org/config.sub 2012-12-12 23:03:05.000000000 +0530
++++ dmapi-2.2.12/config.sub 2014-03-24 16:49:56.771993523 +0530
+@@ -246,6 +246,7 @@ case $basic_machine in
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \
++ | aarch64 | aarch64be \
+ | bfin \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+@@ -326,6 +327,7 @@ case $basic_machine in
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
++ | aarch64-* | aarch64be-* \
+ | avr-* | avr32-* \
+ | bfin-* | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+--- dmapi-2.2.12_org/config.guess 2012-12-12 23:03:05.000000000 +0530
++++ dmapi-2.2.12/config.guess 2014-03-24 16:49:56.771993523 +0530
+@@ -864,6 +864,9 @@ EOF
+ echo ${UNAME_MACHINE}-unknown-linux-gnueabi
+ fi
+ exit ;;
++ aarch64*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-gnu
++ exit;;
+ avr32*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit ;;
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/remove-install-as-user.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/remove-install-as-user.patch
new file mode 100644
index 000000000..e761db371
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/dmapi/files/remove-install-as-user.patch
@@ -0,0 +1,205 @@
+remove install as user
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ include/buildmacros | 2 +-
+ include/install-sh | 95 ++++++++---------------------------------------------
+ 2 files changed, 14 insertions(+), 83 deletions(-)
+
+diff --git a/include/buildmacros b/include/buildmacros
+index 7a01880..0840d55 100644
+--- a/include/buildmacros
++++ b/include/buildmacros
+@@ -30,7 +30,7 @@ OBJECTS = $(ASFILES:.s=.o) \
+ $(LFILES:.l=.o) \
+ $(YFILES:%.y=%.tab.o)
+
+-INSTALL = $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
++INSTALL = $(TOPDIR)/install-sh
+
+ IMAGES_DIR = $(TOPDIR)/all-images
+ DIST_DIR = $(TOPDIR)/dist
+diff --git a/include/install-sh b/include/install-sh
+index c952a71..b9d66f7 100755
+--- a/include/install-sh
++++ b/include/install-sh
+@@ -24,11 +24,11 @@
+ # set set | yes yes
+ #
+ _usage() {
+- echo "Usage: $prog [-o owner] [-g group] [-m mode] -d directory"
+- echo "or $prog [-D] [-o owner] [-g group] [-m mode] file directory/file"
+- echo "or $prog [-o owner] [-g group] [-m mode] file [file ...] directory"
++ echo "Usage: $prog [-m mode] -d directory"
++ echo "or $prog [-m mode] file directory/file"
++ echo "or $prog [-m mode] file [file ...] directory"
+ echo "or $prog -S file target (creates \"target\" symlink)"
+- echo "or $prog -T lt_arg [-o owner] [-g group] [-m mode] libtool.lai directory"
++ echo "or $prog -T lt_arg [-m mode] libtool.lai directory"
+ echo ""
+ echo "The \$DIST_MANIFEST and \$DIST_ROOT environment variables affect the"
+ echo "behaviour of this command - see comments in the script."
+@@ -38,32 +38,6 @@ _usage() {
+ exit 1
+ }
+
+-_chown ()
+-{
+- _st=255
+- if [ $# -eq 3 ] ; then
+- chown $1:$2 $3
+- _st=$?
+- if [ $_st -ne 0 ] ; then
+- if [ $REAL_UID != '0' ] ; then
+- if [ ! -f $DIST_ROOT/.chown.quiet ] ; then
+- echo '==============================================='
+- echo Ownership of files under ${DIST_ROOT:-/}
+- echo cannot be changed
+- echo '==============================================='
+- if [ -n "$DIST_ROOT" ] ; then
+- touch $DIST_ROOT/.chown.quiet
+- fi
+- fi
+- _st=0
+- fi
+- fi
+- fi
+-
+- return $_st
+-}
+-
+-
+ _manifest ()
+ {
+ echo $* | sed -e 's/\/\//\//g' >>${DIST_MANIFEST:-/dev/null}
+@@ -77,9 +51,6 @@ Sflag=false
+ Tflag=false
+ DIRMODE=755
+ FILEMODE=644
+-OWNER=`id -u`
+-GROUP=`id -g`
+-REAL_UID=$OWNER
+
+ # default is to install and don't append manifest
+ INSTALL=true
+@@ -94,24 +65,16 @@ MANIFEST=:
+
+ if $INSTALL
+ then
+- CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod; CHOWN=_chown
++ CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod;
+ else
+- CP=true; LN=true; MKDIR=true; CHMOD=true; CHOWN=true
++ CP=true; LN=true; MKDIR=true; CHMOD=true;
+ fi
+
+-[ -n "$DIST_ROOT" -a $REAL_UID -ne 0 ] && CHOWN=true
+-
+-while getopts "Dcm:d:S:o:g:T:" c $*
++while getopts "Dcm:d:S:T:" c $*
+ do
+ case $c in
+ c)
+ ;;
+- g)
+- GROUP=$OPTARG
+- ;;
+- o)
+- OWNER=$OPTARG
+- ;;
+ m)
+ DIRMODE=`expr $OPTARG`
+ FILEMODE=$DIRMODE
+@@ -146,18 +109,7 @@ then
+ # first usage
+ #
+ $MKDIR -p $dir
+- status=$?
+- if [ $status -eq 0 ]
+- then
+- $CHMOD $DIRMODE $dir
+- status=$?
+- fi
+- if [ $status -eq 0 ]
+- then
+- $CHOWN $OWNER $GROUP $dir
+- status=$?
+- fi
+- $MANIFEST d $DIRMODE $OWNER $GROUP ${dir#$DIST_ROOT}
++ $MANIFEST d $DIRMODE ${dir#$DIST_ROOT}
+ elif $Sflag
+ then
+ #
+@@ -203,7 +155,7 @@ then
+ install_name=$target/$solib
+ $CP $solib $install_name
+ status=$?
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$solib ${install_name#$DIST_ROOT}
++ $MANIFEST f $FILEMODE $HERE/$solib ${install_name#$DIST_ROOT}
+ break
+ fi
+ done
+@@ -254,7 +206,7 @@ then
+ install_name=$target/$old_library
+ $CP $old_library $install_name
+ status=$?
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$old_library ${install_name#$DIST_ROOT}
++ $MANIFEST f $FILEMODE $HERE/$old_library ${install_name#$DIST_ROOT}
+ ;;
+ *)
+ echo "$prog: -T $lt_install invalid"
+@@ -267,7 +219,6 @@ then
+ if [ $status -eq 0 ]
+ then
+ $CHMOD $FILEMODE $install_name
+- $CHOWN $OWNER $GROUP $install_name
+ fi
+ ;;
+ esac
+@@ -292,23 +243,10 @@ else
+ then
+ if [ -f $dir/$f ]
+ then
+- $CHMOD $FILEMODE $dir/$f
+- status=$?
+- if [ $status -eq 0 ]
+- then
+- $CHOWN $OWNER $GROUP $dir/$f
+- status=$?
+- fi
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f
++ $MANIFEST f $FILEMODE $HERE/$f ${dir#$DIST_ROOT}/$f
+ else
+ $CHMOD $FILEMODE $dir
+- status=$?
+- if [ $status -eq 0 ]
+- then
+- $CHOWN $OWNER $GROUP $dir
+- status=$?
+- fi
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$dir ${dir#$DIST_ROOT}
++ $MANIFEST f $FILEMODE $HERE/$dir ${dir#$DIST_ROOT}
+ fi
+ fi
+ else
+@@ -334,14 +272,7 @@ else
+ status=$?
+ if [ $status -eq 0 ]
+ then
+- $CHMOD $FILEMODE $dir/$f
+- status=$?
+- if [ $status -eq 0 ]
+- then
+- $CHOWN $OWNER $GROUP $dir/$f
+- status=$?
+- fi
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f
++ $MANIFEST f $FILEMODE $HERE/$f ${dir#$DIST_ROOT}/$f
+ fi
+ [ $status -ne 0 ] && break
+ done
+--
+1.8.1.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.2.3.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.2.3.bb
new file mode 100644
index 000000000..3019db7ab
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/exfat-utils/exfat-utils_1.2.3.bb
@@ -0,0 +1,21 @@
+SUMMARY = "utilities to create, check, label and dump exFAT filesystem"
+DESCRIPTION = "Utilities to manage extended file allocation table filesystem. \
+This package provides tools to create, check and label the filesystem. It \
+contains \
+ - dumpexfat to dump properties of the filesystem \
+ - exfatfsck / fsck.exfat to report errors found on a exFAT filesystem \
+ - exfatlabel to label a exFAT filesystem \
+ - mkexfatfs / mkfs.exfat to create a exFAT filesystem. \
+"
+HOMEPAGE = "http://code.google.com/p/exfat/"
+SECTION = "universe/otherosfs"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+SRC_URI = "${DEBIAN_MIRROR}/main/e/exfat-utils/exfat-utils_${PV}.orig.tar.gz \
+"
+DEPENDS = "virtual/libc"
+
+inherit pkgconfig autotools
+
+SRC_URI[md5sum] = "f4e564450aa8159e26dde2869563d242"
+SRC_URI[sha256sum] = "80d3b3f21242d60d36a38a4ddb05cb7cc3a7d4eef5793e8314814937b938fcea"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch
new file mode 100644
index 000000000..cf844bf87
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools/0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch
@@ -0,0 +1,32 @@
+From 3b3c6e6376babcd9a0b0db312b0e1e3bb3ab833e Mon Sep 17 00:00:00 2001
+From: Sven Ebenfeld <sven.ebenfeld@vaillant.de>
+Date: Wed, 26 Nov 2014 10:36:44 +0100
+Subject: [PATCH] Remove AC_CHECK_FILE for cross compilation
+
+---
+ configure.ac | 7 +------
+ 1 file changed, 1 insertion(+), 6 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 0111e72..8c286d4 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -20,14 +20,9 @@ AC_DEFINE([F2FS_MINOR_VERSION], m4_bpatsubst(f2fs_tools_version,
+ [\([0-9]*\).\([0-9]*\)\(\w\|\W\)*], [\2]),
+ [Minor version for f2fs-tools])
+
+-AC_CHECK_FILE(.git,
+- AC_DEFINE([F2FS_TOOLS_DATE],
+- "m4_bpatsubst(f2fs_tools_gitdate,
+- [\([0-9-]*\)\(\w\|\W\)*], [\1])",
+- [f2fs-tools date based on Git commits]),
+ AC_DEFINE([F2FS_TOOLS_DATE],
+ "f2fs_tools_date",
+- [f2fs-tools date based on Source releases]))
++ [f2fs-tools date based on Source releases])
+
+ AC_CONFIG_SRCDIR([config.h.in])
+ AC_CONFIG_HEADER([config.h])
+--
+1.8.1.rc3
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb
new file mode 100644
index 000000000..1a558e715
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/f2fs-tools/f2fs-tools_1.4.0.bb
@@ -0,0 +1,17 @@
+SUMMARY = "Tools for Flash-Friendly File System (F2FS)"
+HOMEPAGE = "http://sourceforge.net/projects/f2fs-tools/"
+
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://COPYING;md5=362b4b2594cd362b874a97718faa51d3"
+
+# to provide libuuid
+DEPENDS = "util-linux"
+
+SRCREV = "baac4b4e6f41ceb02511da49dd3707674f3fea21"
+SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git \
+ file://0001-Remove-AC_CHECK_FILE-for-cross-compilation.patch"
+S = "${WORKDIR}/git"
+
+inherit pkgconfig autotools
+
+BBCLASSEXTEND = "native"
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/remove-install-as-user.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/remove-install-as-user.patch
new file mode 100644
index 000000000..e761db371
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/files/remove-install-as-user.patch
@@ -0,0 +1,205 @@
+remove install as user
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ include/buildmacros | 2 +-
+ include/install-sh | 95 ++++++++---------------------------------------------
+ 2 files changed, 14 insertions(+), 83 deletions(-)
+
+diff --git a/include/buildmacros b/include/buildmacros
+index 7a01880..0840d55 100644
+--- a/include/buildmacros
++++ b/include/buildmacros
+@@ -30,7 +30,7 @@ OBJECTS = $(ASFILES:.s=.o) \
+ $(LFILES:.l=.o) \
+ $(YFILES:%.y=%.tab.o)
+
+-INSTALL = $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
++INSTALL = $(TOPDIR)/install-sh
+
+ IMAGES_DIR = $(TOPDIR)/all-images
+ DIST_DIR = $(TOPDIR)/dist
+diff --git a/include/install-sh b/include/install-sh
+index c952a71..b9d66f7 100755
+--- a/include/install-sh
++++ b/include/install-sh
+@@ -24,11 +24,11 @@
+ # set set | yes yes
+ #
+ _usage() {
+- echo "Usage: $prog [-o owner] [-g group] [-m mode] -d directory"
+- echo "or $prog [-D] [-o owner] [-g group] [-m mode] file directory/file"
+- echo "or $prog [-o owner] [-g group] [-m mode] file [file ...] directory"
++ echo "Usage: $prog [-m mode] -d directory"
++ echo "or $prog [-m mode] file directory/file"
++ echo "or $prog [-m mode] file [file ...] directory"
+ echo "or $prog -S file target (creates \"target\" symlink)"
+- echo "or $prog -T lt_arg [-o owner] [-g group] [-m mode] libtool.lai directory"
++ echo "or $prog -T lt_arg [-m mode] libtool.lai directory"
+ echo ""
+ echo "The \$DIST_MANIFEST and \$DIST_ROOT environment variables affect the"
+ echo "behaviour of this command - see comments in the script."
+@@ -38,32 +38,6 @@ _usage() {
+ exit 1
+ }
+
+-_chown ()
+-{
+- _st=255
+- if [ $# -eq 3 ] ; then
+- chown $1:$2 $3
+- _st=$?
+- if [ $_st -ne 0 ] ; then
+- if [ $REAL_UID != '0' ] ; then
+- if [ ! -f $DIST_ROOT/.chown.quiet ] ; then
+- echo '==============================================='
+- echo Ownership of files under ${DIST_ROOT:-/}
+- echo cannot be changed
+- echo '==============================================='
+- if [ -n "$DIST_ROOT" ] ; then
+- touch $DIST_ROOT/.chown.quiet
+- fi
+- fi
+- _st=0
+- fi
+- fi
+- fi
+-
+- return $_st
+-}
+-
+-
+ _manifest ()
+ {
+ echo $* | sed -e 's/\/\//\//g' >>${DIST_MANIFEST:-/dev/null}
+@@ -77,9 +51,6 @@ Sflag=false
+ Tflag=false
+ DIRMODE=755
+ FILEMODE=644
+-OWNER=`id -u`
+-GROUP=`id -g`
+-REAL_UID=$OWNER
+
+ # default is to install and don't append manifest
+ INSTALL=true
+@@ -94,24 +65,16 @@ MANIFEST=:
+
+ if $INSTALL
+ then
+- CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod; CHOWN=_chown
++ CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod;
+ else
+- CP=true; LN=true; MKDIR=true; CHMOD=true; CHOWN=true
++ CP=true; LN=true; MKDIR=true; CHMOD=true;
+ fi
+
+-[ -n "$DIST_ROOT" -a $REAL_UID -ne 0 ] && CHOWN=true
+-
+-while getopts "Dcm:d:S:o:g:T:" c $*
++while getopts "Dcm:d:S:T:" c $*
+ do
+ case $c in
+ c)
+ ;;
+- g)
+- GROUP=$OPTARG
+- ;;
+- o)
+- OWNER=$OPTARG
+- ;;
+ m)
+ DIRMODE=`expr $OPTARG`
+ FILEMODE=$DIRMODE
+@@ -146,18 +109,7 @@ then
+ # first usage
+ #
+ $MKDIR -p $dir
+- status=$?
+- if [ $status -eq 0 ]
+- then
+- $CHMOD $DIRMODE $dir
+- status=$?
+- fi
+- if [ $status -eq 0 ]
+- then
+- $CHOWN $OWNER $GROUP $dir
+- status=$?
+- fi
+- $MANIFEST d $DIRMODE $OWNER $GROUP ${dir#$DIST_ROOT}
++ $MANIFEST d $DIRMODE ${dir#$DIST_ROOT}
+ elif $Sflag
+ then
+ #
+@@ -203,7 +155,7 @@ then
+ install_name=$target/$solib
+ $CP $solib $install_name
+ status=$?
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$solib ${install_name#$DIST_ROOT}
++ $MANIFEST f $FILEMODE $HERE/$solib ${install_name#$DIST_ROOT}
+ break
+ fi
+ done
+@@ -254,7 +206,7 @@ then
+ install_name=$target/$old_library
+ $CP $old_library $install_name
+ status=$?
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$old_library ${install_name#$DIST_ROOT}
++ $MANIFEST f $FILEMODE $HERE/$old_library ${install_name#$DIST_ROOT}
+ ;;
+ *)
+ echo "$prog: -T $lt_install invalid"
+@@ -267,7 +219,6 @@ then
+ if [ $status -eq 0 ]
+ then
+ $CHMOD $FILEMODE $install_name
+- $CHOWN $OWNER $GROUP $install_name
+ fi
+ ;;
+ esac
+@@ -292,23 +243,10 @@ else
+ then
+ if [ -f $dir/$f ]
+ then
+- $CHMOD $FILEMODE $dir/$f
+- status=$?
+- if [ $status -eq 0 ]
+- then
+- $CHOWN $OWNER $GROUP $dir/$f
+- status=$?
+- fi
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f
++ $MANIFEST f $FILEMODE $HERE/$f ${dir#$DIST_ROOT}/$f
+ else
+ $CHMOD $FILEMODE $dir
+- status=$?
+- if [ $status -eq 0 ]
+- then
+- $CHOWN $OWNER $GROUP $dir
+- status=$?
+- fi
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$dir ${dir#$DIST_ROOT}
++ $MANIFEST f $FILEMODE $HERE/$dir ${dir#$DIST_ROOT}
+ fi
+ fi
+ else
+@@ -334,14 +272,7 @@ else
+ status=$?
+ if [ $status -eq 0 ]
+ then
+- $CHMOD $FILEMODE $dir/$f
+- status=$?
+- if [ $status -eq 0 ]
+- then
+- $CHOWN $OWNER $GROUP $dir/$f
+- status=$?
+- fi
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f
++ $MANIFEST f $FILEMODE $HERE/$f ${dir#$DIST_ROOT}/$f
+ fi
+ [ $status -ne 0 ] && break
+ done
+--
+1.8.1.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb
new file mode 100644
index 000000000..e053a6ef2
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsdump/xfsdump_3.1.4.bb
@@ -0,0 +1,36 @@
+SUMMARY = "XFS Filesystem Dump Utility"
+DESCRIPTION = "The xfsdump package contains xfsdump, xfsrestore and a \
+ number of other utilities for administering XFS filesystems.\
+ xfsdump examines files in a filesystem, determines which \
+ need to be backed up, and copies those files to a \
+ specified disk, tape or other storage medium."
+HOMEPAGE = "http://oss.sgi.com/projects/xfs"
+SECTION = "base"
+LICENSE = "GPLv2"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=15c832894d10ddd00dfcf57bee490ecc"
+DEPENDS = "xfsprogs attr"
+
+SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${BPN}-${PV}.tar.gz \
+ file://remove-install-as-user.patch \
+ "
+SRC_URI[md5sum] = "a8b1761be5feb363131e7b506639ad4c"
+SRC_URI[sha256sum] = "570eafd0721515bdd79cb0e295b701d49cdf81e71a0a0ff0df6d4c5cc1960943"
+
+inherit autotools-brokensep
+
+PARALLEL_MAKE = ""
+PACKAGECONFIG ??= ""
+PACKAGECONFIG[gettext] = "--enable-gettext=yes,--enable-gettext=no,gettext"
+
+EXTRA_OEMAKE += "'LIBTOOL=${HOST_SYS}-libtool' V=1"
+
+do_configure () {
+ export DEBUG="-DNDEBUG"
+ oe_runconf
+}
+
+do_install () {
+ export DIST_ROOT=${D}
+ oe_runmake install
+ oe_runmake install-dev
+}
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/drop-configure-check-for-aio.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/drop-configure-check-for-aio.patch
new file mode 100644
index 000000000..760109506
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/drop-configure-check-for-aio.patch
@@ -0,0 +1,93 @@
+xfsprogs: drop configure check for aio
+
+It's unused and breaks compilation with uclibc.
+
+Upstream-Status: Pending
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ configure.ac | 6 +++---
+ m4/Makefile | 1 -
+ m4/package_aiodev.m4 | 36 ------------------------------------
+ 3 files changed, 3 insertions(+), 40 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b968977..4e2a263 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -47,6 +47,9 @@ AC_ARG_ENABLE(lib64,
+ enable_lib64=yes)
+ AC_SUBST(enable_lib64)
+
++librt="-lrt"
++AC_SUBST(librt)
++
+ #
+ # If the user specified a libdir ending in lib64 do not append another
+ # 64 to the library names.
+@@ -92,9 +95,6 @@ AC_PACKAGE_GLOBALS(xfsprogs)
+ AC_PACKAGE_UTILITIES(xfsprogs)
+ AC_MULTILIB($enable_lib64)
+
+-AC_PACKAGE_NEED_AIO_H
+-AC_PACKAGE_NEED_LIO_LISTIO
+-
+ AC_PACKAGE_NEED_UUID_H
+ AC_PACKAGE_NEED_UUIDCOMPARE
+
+diff --git a/m4/Makefile b/m4/Makefile
+index 654a4fb..d282f0a 100644
+--- a/m4/Makefile
++++ b/m4/Makefile
+@@ -14,7 +14,6 @@ CONFIGURE = \
+
+ LSRCFILES = \
+ manual_format.m4 \
+- package_aiodev.m4 \
+ package_blkid.m4 \
+ package_globals.m4 \
+ package_libcdev.m4 \
+diff --git a/m4/package_aiodev.m4 b/m4/package_aiodev.m4
+index 490d9c8..8b13789 100644
+--- a/m4/package_aiodev.m4
++++ b/m4/package_aiodev.m4
+@@ -1,37 +1 @@
+-#
+-# Check if we have a libaio.h installed
+-#
+-AC_DEFUN([AC_PACKAGE_WANT_AIO],
+- [ AC_CHECK_HEADERS(libaio.h, [ have_aio=true ], [ have_aio=false ])
+- AC_SUBST(have_aio)
+- ])
+-
+-#
+-# Check if we have an aio.h installed
+-#
+-AC_DEFUN([AC_PACKAGE_NEED_AIO_H],
+- [ AC_CHECK_HEADERS(aio.h)
+- if test $ac_cv_header_aio_h = no; then
+- echo
+- echo 'FATAL ERROR: could not find a valid <aio.h> header.'
+- exit 1
+- fi
+- ])
+-
+-#
+-# Check if we have the lio_listio routine in either libc/librt
+-#
+-AC_DEFUN([AC_PACKAGE_NEED_LIO_LISTIO],
+- [ AC_CHECK_FUNCS(lio_listio)
+- if test $ac_cv_func_lio_listio = yes; then
+- librt=""
+- else
+- AC_CHECK_LIB(rt, lio_listio,, [
+- echo
+- echo 'FATAL ERROR: could not find a library with lio_listio.'
+- exit 1],[-lpthread])
+- librt="-lrt"
+- fi
+- AC_SUBST(librt)
+- ])
+
+--
+1.8.1.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove-install-as-user.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove-install-as-user.patch
new file mode 100644
index 000000000..e761db371
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/remove-install-as-user.patch
@@ -0,0 +1,205 @@
+remove install as user
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
+---
+ include/buildmacros | 2 +-
+ include/install-sh | 95 ++++++++---------------------------------------------
+ 2 files changed, 14 insertions(+), 83 deletions(-)
+
+diff --git a/include/buildmacros b/include/buildmacros
+index 7a01880..0840d55 100644
+--- a/include/buildmacros
++++ b/include/buildmacros
+@@ -30,7 +30,7 @@ OBJECTS = $(ASFILES:.s=.o) \
+ $(LFILES:.l=.o) \
+ $(YFILES:%.y=%.tab.o)
+
+-INSTALL = $(TOPDIR)/install-sh -o $(PKG_USER) -g $(PKG_GROUP)
++INSTALL = $(TOPDIR)/install-sh
+
+ IMAGES_DIR = $(TOPDIR)/all-images
+ DIST_DIR = $(TOPDIR)/dist
+diff --git a/include/install-sh b/include/install-sh
+index c952a71..b9d66f7 100755
+--- a/include/install-sh
++++ b/include/install-sh
+@@ -24,11 +24,11 @@
+ # set set | yes yes
+ #
+ _usage() {
+- echo "Usage: $prog [-o owner] [-g group] [-m mode] -d directory"
+- echo "or $prog [-D] [-o owner] [-g group] [-m mode] file directory/file"
+- echo "or $prog [-o owner] [-g group] [-m mode] file [file ...] directory"
++ echo "Usage: $prog [-m mode] -d directory"
++ echo "or $prog [-m mode] file directory/file"
++ echo "or $prog [-m mode] file [file ...] directory"
+ echo "or $prog -S file target (creates \"target\" symlink)"
+- echo "or $prog -T lt_arg [-o owner] [-g group] [-m mode] libtool.lai directory"
++ echo "or $prog -T lt_arg [-m mode] libtool.lai directory"
+ echo ""
+ echo "The \$DIST_MANIFEST and \$DIST_ROOT environment variables affect the"
+ echo "behaviour of this command - see comments in the script."
+@@ -38,32 +38,6 @@ _usage() {
+ exit 1
+ }
+
+-_chown ()
+-{
+- _st=255
+- if [ $# -eq 3 ] ; then
+- chown $1:$2 $3
+- _st=$?
+- if [ $_st -ne 0 ] ; then
+- if [ $REAL_UID != '0' ] ; then
+- if [ ! -f $DIST_ROOT/.chown.quiet ] ; then
+- echo '==============================================='
+- echo Ownership of files under ${DIST_ROOT:-/}
+- echo cannot be changed
+- echo '==============================================='
+- if [ -n "$DIST_ROOT" ] ; then
+- touch $DIST_ROOT/.chown.quiet
+- fi
+- fi
+- _st=0
+- fi
+- fi
+- fi
+-
+- return $_st
+-}
+-
+-
+ _manifest ()
+ {
+ echo $* | sed -e 's/\/\//\//g' >>${DIST_MANIFEST:-/dev/null}
+@@ -77,9 +51,6 @@ Sflag=false
+ Tflag=false
+ DIRMODE=755
+ FILEMODE=644
+-OWNER=`id -u`
+-GROUP=`id -g`
+-REAL_UID=$OWNER
+
+ # default is to install and don't append manifest
+ INSTALL=true
+@@ -94,24 +65,16 @@ MANIFEST=:
+
+ if $INSTALL
+ then
+- CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod; CHOWN=_chown
++ CP=cp; LN=ln; MKDIR=mkdir; CHMOD=chmod;
+ else
+- CP=true; LN=true; MKDIR=true; CHMOD=true; CHOWN=true
++ CP=true; LN=true; MKDIR=true; CHMOD=true;
+ fi
+
+-[ -n "$DIST_ROOT" -a $REAL_UID -ne 0 ] && CHOWN=true
+-
+-while getopts "Dcm:d:S:o:g:T:" c $*
++while getopts "Dcm:d:S:T:" c $*
+ do
+ case $c in
+ c)
+ ;;
+- g)
+- GROUP=$OPTARG
+- ;;
+- o)
+- OWNER=$OPTARG
+- ;;
+ m)
+ DIRMODE=`expr $OPTARG`
+ FILEMODE=$DIRMODE
+@@ -146,18 +109,7 @@ then
+ # first usage
+ #
+ $MKDIR -p $dir
+- status=$?
+- if [ $status -eq 0 ]
+- then
+- $CHMOD $DIRMODE $dir
+- status=$?
+- fi
+- if [ $status -eq 0 ]
+- then
+- $CHOWN $OWNER $GROUP $dir
+- status=$?
+- fi
+- $MANIFEST d $DIRMODE $OWNER $GROUP ${dir#$DIST_ROOT}
++ $MANIFEST d $DIRMODE ${dir#$DIST_ROOT}
+ elif $Sflag
+ then
+ #
+@@ -203,7 +155,7 @@ then
+ install_name=$target/$solib
+ $CP $solib $install_name
+ status=$?
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$solib ${install_name#$DIST_ROOT}
++ $MANIFEST f $FILEMODE $HERE/$solib ${install_name#$DIST_ROOT}
+ break
+ fi
+ done
+@@ -254,7 +206,7 @@ then
+ install_name=$target/$old_library
+ $CP $old_library $install_name
+ status=$?
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$old_library ${install_name#$DIST_ROOT}
++ $MANIFEST f $FILEMODE $HERE/$old_library ${install_name#$DIST_ROOT}
+ ;;
+ *)
+ echo "$prog: -T $lt_install invalid"
+@@ -267,7 +219,6 @@ then
+ if [ $status -eq 0 ]
+ then
+ $CHMOD $FILEMODE $install_name
+- $CHOWN $OWNER $GROUP $install_name
+ fi
+ ;;
+ esac
+@@ -292,23 +243,10 @@ else
+ then
+ if [ -f $dir/$f ]
+ then
+- $CHMOD $FILEMODE $dir/$f
+- status=$?
+- if [ $status -eq 0 ]
+- then
+- $CHOWN $OWNER $GROUP $dir/$f
+- status=$?
+- fi
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f
++ $MANIFEST f $FILEMODE $HERE/$f ${dir#$DIST_ROOT}/$f
+ else
+ $CHMOD $FILEMODE $dir
+- status=$?
+- if [ $status -eq 0 ]
+- then
+- $CHOWN $OWNER $GROUP $dir
+- status=$?
+- fi
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$dir ${dir#$DIST_ROOT}
++ $MANIFEST f $FILEMODE $HERE/$dir ${dir#$DIST_ROOT}
+ fi
+ fi
+ else
+@@ -334,14 +272,7 @@ else
+ status=$?
+ if [ $status -eq 0 ]
+ then
+- $CHMOD $FILEMODE $dir/$f
+- status=$?
+- if [ $status -eq 0 ]
+- then
+- $CHOWN $OWNER $GROUP $dir/$f
+- status=$?
+- fi
+- $MANIFEST f $FILEMODE $OWNER $GROUP $HERE/$f ${dir#$DIST_ROOT}/$f
++ $MANIFEST f $FILEMODE $HERE/$f ${dir#$DIST_ROOT}/$f
+ fi
+ [ $status -ne 0 ] && break
+ done
+--
+1.8.1.2
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/xfsprogs-generate-crctable-which-is-moved-into-runti.patch b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/xfsprogs-generate-crctable-which-is-moved-into-runti.patch
new file mode 100644
index 000000000..b204195bf
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/files/xfsprogs-generate-crctable-which-is-moved-into-runti.patch
@@ -0,0 +1,170 @@
+From e58cb210a7c15352040a411d11a8383eac0defda Mon Sep 17 00:00:00 2001
+From: Jianchuan Wang <jianchuan.wang@windriver.com>
+Date: Tue, 30 Sep 2014 12:16:17 +0800
+Subject: [PATCH] xfsprogs: generate crctable which is moved into runtime from
+ compile
+
+After upgraded, There is a compile error except x86,
+Because crc32.c need two arraies crc32table_le and crc32ctable_le from crc32table.h,
+which are generated by gen_crc32table.c relative to different platforms.
+For this, move the function implementation from gen_crc32table.c to crc.c
+
+Upstream-Status: Pending
+
+Signed-off-by: Jianchuan Wang <jianchuan.wang@windriver.com>
+---
+ libxfs/Makefile | 23 ++----------------
+ libxfs/crc32.c | 75 +++++++++++++++++++++++++++++++++++++++++++++++++++++++--
+ 2 files changed, 75 insertions(+), 23 deletions(-)
+
+diff --git a/libxfs/Makefile b/libxfs/Makefile
+index ae15a5d..7670159 100644
+--- a/libxfs/Makefile
++++ b/libxfs/Makefile
+@@ -10,7 +10,7 @@ LT_CURRENT = 0
+ LT_REVISION = 0
+ LT_AGE = 0
+
+-HFILES = xfs.h init.h xfs_dir2_priv.h crc32defs.h crc32table.h
++HFILES = xfs.h init.h xfs_dir2_priv.h crc32defs.h
+ CFILES = cache.c \
+ crc32.c \
+ init.c kmem.c logitem.c radix-tree.c rdwr.c trans.c util.c \
+@@ -43,7 +43,6 @@ CFILES = cache.c \
+ CFILES += $(PKG_PLATFORM).c
+ PCFILES = darwin.c freebsd.c irix.c linux.c
+ LSRCFILES = $(shell echo $(PCFILES) | sed -e "s/$(PKG_PLATFORM).c//g")
+-LSRCFILES += gen_crc32table.c
+
+ #
+ # Tracing flags:
+@@ -61,25 +60,7 @@ LTLIBS = $(LIBPTHREAD) $(LIBRT)
+ # don't try linking xfs_repair with a debug libxfs.
+ DEBUG = -DNDEBUG
+
+-LDIRT = gen_crc32table crc32table.h crc32selftest
+-
+-default: crc32selftest ltdepend $(LTLIBRARY)
+-
+-crc32table.h: gen_crc32table.c
+- @echo " [CC] gen_crc32table"
+- $(Q) $(CC) $(CFLAGS) -o gen_crc32table $<
+- @echo " [GENERATE] $@"
+- $(Q) ./gen_crc32table > crc32table.h
+-
+-# The selftest binary will return an error if it fails. This is made a
+-# dependency of the build process so that we refuse to build the tools on broken
+-# systems/architectures. Hence we make sure that xfsprogs will never use a
+-# busted CRC calculation at build time and hence avoid putting bad CRCs down on
+-# disk.
+-crc32selftest: gen_crc32table.c crc32table.h crc32.c
+- @echo " [TEST] CRC32"
+- $(Q) $(CC) $(CFLAGS) -D CRC32_SELFTEST=1 crc32.c -o $@
+- $(Q) ./$@
++default: ltdepend $(LTLIBRARY)
+
+ include $(BUILDRULES)
+
+diff --git a/libxfs/crc32.c b/libxfs/crc32.c
+index 0f847d2..be5fbc3 100644
+--- a/libxfs/crc32.c
++++ b/libxfs/crc32.c
+@@ -55,8 +55,6 @@ typedef __u32 u64;
+ # define tobe(x) (x)
+ #endif
+
+-#include "crc32table.h"
+-
+ #if CRC_LE_BITS > 8 || CRC_BE_BITS > 8
+
+ /* implements slicing-by-4 or slicing-by-8 algorithm */
+@@ -183,13 +181,86 @@ u32 __pure crc32c_le(u32 crc, unsigned char const *p, size_t len)
+ return crc32_le_generic(crc, p, len, NULL, CRC32C_POLY_LE);
+ }
+ #else
++
++#include <stdio.h>
++#include "crc32defs.h"
++#include <inttypes.h>
++
++#define ENTRIES_PER_LINE 4
++
++#if CRC_LE_BITS > 8
++# define LE_TABLE_ROWS (CRC_LE_BITS/8)
++# define LE_TABLE_SIZE 256
++#else
++# define LE_TABLE_ROWS 1
++# define LE_TABLE_SIZE (1 << CRC_LE_BITS)
++#endif
++
++#if CRC_BE_BITS > 8
++# define BE_TABLE_ROWS (CRC_BE_BITS/8)
++# define BE_TABLE_SIZE 256
++#else
++# define BE_TABLE_ROWS 1
++# define BE_TABLE_SIZE (1 << CRC_BE_BITS)
++#endif
++
++static uint32_t crc32table_le[LE_TABLE_ROWS][256];
++static uint32_t crc32ctable_le[LE_TABLE_ROWS][256];
++
++static uint32_t crc32table_le_init = 0;
++static uint32_t crc32ctable_le_init = 0;
++
++/*
++ * big endian ordered CRC not used by XFS.
++static uint32_t crc32table_be[BE_TABLE_ROWS][256];
++ */
++
++/**
++ * crc32init_le() - allocate and initialize LE table data
++ *
++ * crc is the crc of the byte i; other entries are filled in based on the
++ * fact that crctable[i^j] = crctable[i] ^ crctable[j].
++ *
++ */
++static void crc32init_le_generic(const uint32_t polynomial,
++ uint32_t (*tab)[256])
++{
++ unsigned i, j;
++ uint32_t crc = 1;
++
++ tab[0][0] = 0;
++
++ for (i = LE_TABLE_SIZE >> 1; i; i >>= 1) {
++ crc = (crc >> 1) ^ ((crc & 1) ? polynomial : 0);
++ for (j = 0; j < LE_TABLE_SIZE; j += 2 * i)
++ tab[0][i + j] = crc ^ tab[0][j];
++ }
++ for (i = 0; i < LE_TABLE_SIZE; i++) {
++ crc = tab[0][i];
++ for (j = 1; j < LE_TABLE_ROWS; j++) {
++ crc = tab[0][crc & 0xff] ^ (crc >> 8);
++ tab[j][i] = crc;
++ }
++ }
++}
++
+ u32 __pure crc32_le(u32 crc, unsigned char const *p, size_t len)
+ {
++ if (crc32table_le_init == 0) {
++ crc32init_le_generic(CRCPOLY_LE, crc32table_le);
++ crc32table_le_init == 1;
++ }
++
+ return crc32_le_generic(crc, p, len,
+ (const u32 (*)[256])crc32table_le, CRCPOLY_LE);
+ }
+ u32 __pure crc32c_le(u32 crc, unsigned char const *p, size_t len)
+ {
++ if (crc32ctable_le_init == 0) {
++ crc32init_le_generic(CRC32C_POLY_LE, crc32ctable_le);
++ crc32ctable_le_init == 1;
++ }
++
+ return crc32_le_generic(crc, p, len,
+ (const u32 (*)[256])crc32ctable_le, CRC32C_POLY_LE);
+ }
+--
+1.9.1
+
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb
new file mode 100644
index 000000000..f38239c37
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xfsprogs/xfsprogs_3.2.3.bb
@@ -0,0 +1,52 @@
+SUMMARY = "XFS Filesystem Utilities"
+HOMEPAGE = "http://oss.sgi.com/projects/xfs"
+SECTION = "base"
+LICENSE = "GPLv2 & LGPLv2.1"
+LICENSE_libhandle = "LGPLv2.1"
+LIC_FILES_CHKSUM = "file://doc/COPYING;md5=dbdb5f4329b7e7145de650e9ecd4ac2a"
+DEPENDS = "util-linux"
+
+SRC_URI = "ftp://oss.sgi.com/projects/xfs/cmd_tars/${BP}.tar.gz \
+ file://xfsprogs-generate-crctable-which-is-moved-into-runti.patch \
+ file://remove-install-as-user.patch \
+ file://drop-configure-check-for-aio.patch \
+"
+
+SRC_URI[md5sum] = "9f383e36682709e62b12c125e5d8b895"
+SRC_URI[sha256sum] = "7a5124a880997939551b519610a2e54bd4cd0b0adfd563ce3f4de30827109ac9"
+
+inherit autotools-brokensep
+
+PACKAGES =+ "${PN}-fsck ${PN}-mkfs libhandle"
+
+RDEPENDS_${PN} = "${PN}-fsck ${PN}-mkfs"
+
+FILES_${PN}-fsck = "${base_sbindir}/fsck.xfs"
+FILES_${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
+FILES_libhandle = "${base_libdir}/libhandle${SOLIBS}"
+
+EXTRA_OECONF = "--enable-gettext=no"
+do_configure () {
+ # Prevent Makefile from calling configure without arguments,
+ # when do_configure gets called for a second time.
+ rm -f include/builddefs include/platform_defs.h
+ # Recreate configure script.
+ rm -f configure
+ oe_runmake configure
+ # Configure.
+ export DEBUG="-DNDEBUG"
+ gnu-configize --force
+ oe_runconf
+}
+
+LIBTOOL = "${HOST_SYS}-libtool"
+EXTRA_OEMAKE = "'LIBTOOL=${LIBTOOL}'"
+TARGET_CC_ARCH += "${LDFLAGS}"
+PARALLEL_MAKE = ""
+
+do_install () {
+ export DIST_ROOT=${D}
+ oe_runmake install
+ # needed for xfsdump
+ oe_runmake install-dev
+}
diff --git a/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.4.0.bb b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.4.0.bb
new file mode 100644
index 000000000..b26709e97
--- /dev/null
+++ b/import-layers/meta-openembedded/meta-filesystems/recipes-utils/xorriso/xorriso_1.4.0.bb
@@ -0,0 +1,29 @@
+DESCRIPTION = "xorriso copies file objects from POSIX compliant filesystems \
+into Rock Ridge enhanced ISO 9660 filesystems and allows session-wise \
+manipulation of such filesystems"
+
+LICENSE = "GPLv3"
+LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
+
+SRC_URI = "http://www.gnu.org/software/${BPN}/${BPN}-${PV}.tar.gz"
+
+SRC_URI[md5sum] = "ec79fd2736b8da76e7a870e27cadf6fa"
+SRC_URI[sha256sum] = "0bd1e085015b28c24f57697d6def2fe84517967dc417554c0c3ccf1685ed0e56"
+
+PACKAGECONFIG ??= "acl attr zlib bzip2 readline"
+PACKAGECONFIG[acl] = "--enable-libacl,--disable-libacl,acl,"
+PACKAGECONFIG[attr] = "--enable-xattr,--disable-xattr,attr,"
+PACKAGECONFIG[zlib] = "--enable-zlib,--disable-zlib,zlib,"
+PACKAGECONFIG[bzip2] = "--enable-libbz2,--disable-libbz2,bzip2,"
+PACKAGECONFIG[readline] = "--enable-libreadline,--disable-libreadline,readline,"
+
+inherit autotools-brokensep pkgconfig distro_features_check
+
+do_configure_prepend () {
+ touch NEWS
+}
+
+RDEPENDS_${PN} = "tk"
+REQUIRED_DISTRO_FEATURES = "x11"
+
+BBCLASSEXTEND = "native"
OpenPOWER on IntegriCloud