Skip to content

Commit

Permalink
btrfs-tools-static
Browse files Browse the repository at this point in the history
  • Loading branch information
bkauler committed Mar 14, 2024
1 parent d1d43ec commit ab75d7c
Show file tree
Hide file tree
Showing 2 changed files with 115 additions and 0 deletions.
@@ -0,0 +1,25 @@
From 980f6edc269fa3ef8d4d4b9cd1aada2328131c19 Mon Sep 17 00:00:00 2001
From: Alexander Kanavin <alex.kanavin@gmail.com>
Date: Wed, 23 May 2018 21:20:35 +0300
Subject: [PATCH] Add a possibility to specify where python modules are
installed

Upstream-Status: Inappropriate [oe-core specific to solve multilib use case]
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 374f59b9..ed083f6b 100644
--- a/Makefile
+++ b/Makefile
@@ -959,7 +959,7 @@ endif
ifeq ($(PYTHON_BINDINGS),1)
install_python: libbtrfsutil_python
$(Q)cd libbtrfsutil/python; \
- $(PYTHON) setup.py install --skip-build $(if $(DESTDIR),--root $(DESTDIR)) --prefix $(prefix)
+ $(PYTHON) setup.py install --skip-build $(if $(DESTDIR),--root $(DESTDIR)) --prefix $(prefix) --install-lib=$(PYTHON_SITEPACKAGES_DIR)

.PHONY: install_python
endif
@@ -0,0 +1,90 @@
SUMMARY = "Checksumming Copy on Write Filesystem utilities"
DESCRIPTION = "Btrfs is a new copy on write filesystem for Linux aimed at \
implementing advanced features while focusing on fault tolerance, repair and \
easy administration. \
This package contains utilities (mkfs, fsck, btrfsctl) used to work with \
btrfs and an utility (btrfs-convert) to make a btrfs filesystem from an ext3."

HOMEPAGE = "https://btrfs.wiki.kernel.org"

LICENSE = "GPL-2.0-only & LGPL-2.1-or-later"
LIC_FILES_CHKSUM = " \
file://COPYING;md5=fcb02dc552a041dee27e4b85c7396067 \
file://libbtrfsutil/COPYING;md5=4fbd65380cdd255951079008b364516c \
"
SECTION = "base"
DEPENDS = "util-linux zlib"

SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/kdave/btrfs-progs.git;branch=master;protocol=https \
file://0001-Add-a-possibility-to-specify-where-python-modules-ar.patch \
"
SRCREV = "60abf7a90776c2405f616182ef6129474bbcb109"
S = "${WORKDIR}/git"

#PACKAGECONFIG ??= " programs convert python crypto-builtin "
#BK
PACKAGECONFIG ??= " programs crypto-builtin zstd "


PACKAGECONFIG[manpages] = "--enable-documentation, --disable-documentation, python3-sphinx-native python3-sphinx-rtd-theme-native"
PACKAGECONFIG[programs] = "--enable-programs,--disable-programs"
PACKAGECONFIG[convert] = "--enable-convert --with-convert=ext2,--disable-convert --without-convert,e2fsprogs"
PACKAGECONFIG[zoned] = "--enable-zoned,--disable-zoned"
PACKAGECONFIG[python] = "--enable-python,--disable-python,python3-setuptools-native"
PACKAGECONFIG[lzo] = "--enable-lzo,--disable-lzo,lzo"
PACKAGECONFIG[zstd] = "--enable-zstd,--disable-zstd,zstd"
PACKAGECONFIG[udev] = "--enable-libudev,--disable-libudev,udev"

# Pick only one crypto provider
PACKAGECONFIG[crypto-builtin] = "--with-crypto=builtin"
PACKAGECONFIG[crypto-libgcrypt] = "--with-crypto=libgcrypt,,libgcrypt"
PACKAGECONFIG[crypto-libsodium] = "--with-crypto=libsodium,,libsodium"
PACKAGECONFIG[crypto-libkcapi] = "--with-crypto=libkcapi,,libkcapi"

inherit autotools-brokensep pkgconfig manpages

#inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3-base', '', d)}
#BK
#ERROR: ParseError at /mnt/build/builds/oe/kirkstone/oe-quirky/meta-quirky-cut/recipes-quirky/btrfs-tools-static/btrfs-tools-static_6.7.1.bb:45: unparsed line: 'inherit_defer ${@bb.utils.contains('PACKAGECONFIG', 'python', 'setuptools3-base', '', d)}'

CLEANBROKEN = "1"

#BK
EXTRA_OECONF = "--enable-largefile --enable-static"

EXTRA_OECONF:append:libc-musl = " --disable-backtrace "
EXTRA_PYTHON_CFLAGS = "${DEBUG_PREFIX_MAP}"
EXTRA_PYTHON_CFLAGS:class-native = ""
EXTRA_PYTHON_LDFLAGS = "${LDFLAGS}"
EXTRA_OEMAKE = "V=1 'EXTRA_PYTHON_CFLAGS=${EXTRA_PYTHON_CFLAGS}' 'EXTRA_PYTHON_LDFLAGS=${EXTRA_PYTHON_LDFLAGS}'"

do_configure:prepend() {
# Upstream doesn't ship this and autoreconf won't install it as automake isn't used.
mkdir -p ${S}/config
cp -f $(automake --print-libdir)/install-sh ${S}/config/
}

#BK
do_compile() {
oe_runmake static
oe_runmake btrfs.static
}

do_install:append() {
#if [ "${@bb.utils.filter('PACKAGECONFIG', 'python', d)}" ]; then
# oe_runmake 'DESTDIR=${D}' 'PYTHON_SITEPACKAGES_DIR=${PYTHON_SITEPACKAGES_DIR}' install_python
#fi
#BK
install ${B}/btrfs-corrupt-block.static ${D}${bindir}/
install ${B}/btrfs-find-root.static ${D}${bindir}/
install ${B}/btrfs-image.static ${D}${bindir}/
install ${B}/btrfs-map-logical.static ${D}${bindir}/
install ${B}/btrfs-select-super.static ${D}${bindir}/
install ${B}/btrfs.static ${D}${bindir}/
install ${B}/btrfstune.static ${D}${bindir}/
install ${B}/mkfs.btrfs.static ${D}${bindir}/
}

RDEPENDS:${PN} = "libgcc"

BBCLASSEXTEND = "native nativesdk"

0 comments on commit ab75d7c

Please sign in to comment.