From dfe77fc57f4ff6686dd5e668658a308853d18213 Mon Sep 17 00:00:00 2001 From: Vyacheslav Yurkov Date: Mon, 23 May 2022 20:00:47 +0200 Subject: [PATCH] overlayfs-tools: add new recipe This package provides maintenance tools for OverlayFS, such as vacuum, diff, merge, and deref Signed-off-by: Vyacheslav Yurkov Signed-off-by: Khem Raj --- ...-so-that-it-compiles-on-Ubuntu-20.04.patch | 41 +++++++++++++++++++ .../0002-makefile-fix-linking-flags.patch | 31 ++++++++++++++ .../overlayfs/overlayfs-tools_git.bb | 34 +++++++++++++++ 3 files changed, 106 insertions(+) create mode 100644 meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0001-Fixed-includes-so-that-it-compiles-on-Ubuntu-20.04.patch create mode 100644 meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0002-makefile-fix-linking-flags.patch create mode 100644 meta-filesystems/recipes-utils/overlayfs/overlayfs-tools_git.bb diff --git a/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0001-Fixed-includes-so-that-it-compiles-on-Ubuntu-20.04.patch b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0001-Fixed-includes-so-that-it-compiles-on-Ubuntu-20.04.patch new file mode 100644 index 0000000000..f7490ebcec --- /dev/null +++ b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0001-Fixed-includes-so-that-it-compiles-on-Ubuntu-20.04.patch @@ -0,0 +1,41 @@ +From 81b4fbb5f52044cb348534c23f10b3884972b09b Mon Sep 17 00:00:00 2001 +From: Beat Schaer +Date: Fri, 19 Mar 2021 08:18:58 +0100 +Subject: [PATCH] Fixed includes so that it compiles on Ubuntu 20.04 + +--- + logic.c | 3 +-- + main.c | 3 ++- + 2 files changed, 3 insertions(+), 3 deletions(-) + +diff --git a/logic.c b/logic.c +index 97767f5..47ebfaa 100644 +--- a/logic.c ++++ b/logic.c +@@ -7,8 +7,7 @@ + #include + #include + #include +-#include +-#include ++#include + #include + #include + #include "logic.h" +diff --git a/main.c b/main.c +index aa11239..f462b98 100644 +--- a/main.c ++++ b/main.c +@@ -12,7 +12,8 @@ + #include + #include + #include +-#include ++#include ++#include + #ifndef _SYS_STAT_H + #include + #endif +-- +2.25.1 + diff --git a/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0002-makefile-fix-linking-flags.patch b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0002-makefile-fix-linking-flags.patch new file mode 100644 index 0000000000..cf4de18a79 --- /dev/null +++ b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools/0002-makefile-fix-linking-flags.patch @@ -0,0 +1,31 @@ +From b4ff5886797e72d1c21da43261ca7648412f3186 Mon Sep 17 00:00:00 2001 +From: Vyacheslav Yurkov +Date: Mon, 23 May 2022 19:53:21 +0200 +Subject: [PATCH] makefile: fix linking flags + +LDLIBS should be placed at the end according to +https://www.gnu.org/software/make/manual/html_node/Catalogue-of-Rules.html + +Signed-off-by: Vyacheslav Yurkov +--- + makefile | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/makefile b/makefile +index fb1bed4..038c7ce 100644 +--- a/makefile ++++ b/makefile +@@ -1,11 +1,11 @@ + CFLAGS = -Wall -std=c99 +-LFLAGS = -lm ++LDLIBS = -lm + CC = gcc + + all: overlay + + overlay: main.o logic.o sh.o +- $(CC) $(LFLAGS) main.o logic.o sh.o -o overlay ++ $(CC) main.o logic.o sh.o -o overlay $(LDLIBS) + + main.o: main.c logic.h + $(CC) $(CFLAGS) -c main.c diff --git a/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools_git.bb b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools_git.bb new file mode 100644 index 0000000000..eb6e4963a5 --- /dev/null +++ b/meta-filesystems/recipes-utils/overlayfs/overlayfs-tools_git.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "Maintenance tools for OverlayFS" +HOMEPAGE = "https://github.com/kmxz/overlayfs-tools" +LICENSE = "WTFPL" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=f312a7c4d02230e8f2b537295d375c69" + +SRC_URI = "\ + git://github.com/kmxz/overlayfs-tools.git;protocol=https;branch=master \ + file://0001-Fixed-includes-so-that-it-compiles-on-Ubuntu-20.04.patch \ + file://0002-makefile-fix-linking-flags.patch \ +" + +PV = "1.0+git${SRCPV}" +SRCREV = "291c7f4a3fb548d06c572700650c2e3bccb0cd27" + +S = "${WORKDIR}/git" +B = "${S}" + +DEPENDS += "attr" +# Required to have the fts.h header for musl +DEPENDS:append:libc-musl = " fts" + +EXTRA_OEMAKE += "'CC=${CC} -O2'" +# Fix the missing fts libs when using musl +EXTRA_OEMAKE:append:libc-musl = " LDLIBS=-lfts" +TARGET_CC_ARCH += "${LDFLAGS}" + +do_compile () { + oe_runmake +} + +do_install () { + install -d ${D}${bindir} + install -m 0755 ${B}/overlay ${D}${bindir} +}