added my Recipes

This commit is contained in:
2024-07-11 14:16:35 +02:00
parent 38bc4f53ac
commit 09b621d929
7118 changed files with 525762 additions and 3 deletions

View File

@@ -0,0 +1,32 @@
From 12ba95281d0bbea3576350d635b4dee0f953b94a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 29 Nov 2022 18:38:07 -0800
Subject: [PATCH] libau: Do not build LFS version of readdir
rdu64 is providing largefile supported version of readdir and readdir_r
however, we enable largefile support unconditionally in OE therefore its
not needed since readdir() and readdir_r() are already LFS capable
Upstream-Status: Inappropriate [OE-Specific]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
libau/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libau/Makefile b/libau/Makefile
index 9ada831..1fd1ccc 100644
--- a/libau/Makefile
+++ b/libau/Makefile
@@ -30,7 +30,7 @@ STRIP ?= strip
all: ${LibSo}
ifeq (${Glibc},yes)
-LibSoObj += rdu64.o
+#LibSoObj += rdu64.o
# this is unnecessary on 64bit system?
rdu64.c: rdu.c
--
2.38.1

View File

@@ -0,0 +1,30 @@
From 13a60c631d7cf6c7e1926473d8069795c0def9b6 Mon Sep 17 00:00:00 2001
From: Chen Qi <Qi.Chen@windriver.com>
Date: Thu, 19 Jun 2014 15:09:56 +0100
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 dbbe43d..aff969e 100644
--- a/Makefile
+++ b/Makefile
@@ -152,7 +152,7 @@ aufs.5: aufs.in.5 c2tmac
chmod a-w $@
c2sh c2tmac ver: CC = ${HOSTCC}
-.INTERMEDIATE: c2sh c2tmac ver
+tools: c2sh c2tmac ver
install_sbin: File = auibusy aumvdown auplink mount.aufs umount.aufs
ifeq (${Glibc},no)

View File

@@ -0,0 +1,37 @@
From 9d5e7eff4ae906f1ea6e6527080fded0b595fbd4 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.
Upstream-Status: Inappropriate [oe specific]
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 54f8d97..dbbe43d 100644
--- a/Makefile
+++ b/Makefile
@@ -118,7 +118,7 @@ clean:
ver_test: ver
./ver
-${Bin}: override LDFLAGS += -static -s
+${Bin}: override LDFLAGS += -static
${Bin}: LDLIBS = -L. -lautil
${BinObj}: %.o: %.c ${LibUtilHdr} ${LibUtil}

View File

@@ -0,0 +1,67 @@
SUMMARY = "Tools for managing AUFS mounts"
SECTION = "base"
HOMEPAGE = "http://aufs.sourceforge.net/"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
DEPENDS = "coreutils-native aufs-util-native"
DEPENDS:class-native = ""
SRCREV = "8f35db59ef83078f87879ec2828e0bb45719e0ef"
SRC_URI = "git://git.code.sf.net/p/aufs/aufs-util;protocol=git;branch=aufs4.9 \
https://raw.githubusercontent.com/sfjro/aufs4-linux/aufs4.9/include/uapi/linux/aufs_type.h;name=aufs_type \
file://aufs-util-don-t-strip-executables.patch \
file://aufs-util-add-tool-concept-to-Makefile-for-cross-com.patch \
file://0001-libau-Do-not-build-LFS-version-of-readdir.patch \
"
SRC_URI[aufs_type.md5sum] = "b37129ef0703de72a852db7e48bdedc6"
SRC_URI[aufs_type.sha256sum] = "7ff6566adb9c7a3b6862cdc85a690ab546f1d0bc81ddd595fd663c0a69031683"
UPSTREAM_CHECK_COMMITS = "1"
PV = "4.9+git${SRCPV}"
S = "${WORKDIR}/git"
export HOSTCC = "${BUILD_CC}"
do_configure:prepend() {
# Replace sbin,bin paths with bitbake environment
sed -i -e 's;install_sbin: Tgt = ${DESTDIR}/sbin;install_sbin: Tgt = ${DESTDIR}/${base_sbindir};' \
-e 's;install_ubin: Tgt = ${DESTDIR}/usr/sbin;install_sbin: Tgt = ${DESTDIR}/${bindir};' \
${S}/Makefile
}
do_configure:append () {
install -d ${S}/include/linux/
cp ${WORKDIR}/aufs_type.h ${S}/include/linux/
sed -i -e 's;__user;;' ${S}/include/linux/aufs_type.h
}
do_configure:append:class-target () {
for i in ver c2sh c2tmac; do
cp ${STAGING_BINDIR_NATIVE}/aufs-util-${PV}/$i ${B}
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" CC="${BUILD_CC}"
}
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}:class-target += "kernel-module-aufs"
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,62 @@
SUMMARY = "Services for periodic btrfs maintenance tasks"
DESCRIPTION = "A set of scripts supplementing the btrfs filesystem and aims \
to automate a few maintenance tasks. This means the scrub, balance, trim \
or defragmentation."
HOMEPAGE = "https://github.com/kdave/btrfsmaintenance"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
SECTION = "base"
DEPENDS = "btrfs-tools"
SRC_URI = "git://github.com/kdave/${BPN};branch=master;protocol=https \
file://0001-change-sysconfig-path-to-etc-default.patch \
file://0002-add-WantedBy-directive-to-btrfsmaintenance-refresh.s.patch \
"
SRCREV = "be42cb6267055d125994abd6927cf3a26deab74c"
UPSTREAM_CHECK_URI = "https://github.com/kdave/${BPN}/tags"
UPSTREAM_CHECK_REGEX = "${BPN}/releases/tag/v(?P<pver>\d+(?:\.\d+)*)"
RDEPENDS:${PN} = "bash"
S="${WORKDIR}/git"
inherit allarch
do_configure[noexec] = "1"
do_compile[noexec] = "1"
do_install() {
install -Dm0644 ${S}/btrfsmaintenance-refresh.path \
${D}${systemd_system_unitdir}/btrfsmaintenance-refresh.path
install -Dm0644 ${S}/*.timer \
${D}${systemd_system_unitdir}
install -Dm0644 ${S}/*.service \
${D}${systemd_system_unitdir}
install -Dm0644 ${S}/btrfsmaintenance-functions \
${D}${datadir}/${BPN}/btrfsmaintenance-functions
install -Dm0755 ${S}/*.sh \
${D}${datadir}/${BPN}
install -Dm0644 ${S}/sysconfig.btrfsmaintenance \
${D}${sysconfdir}/default/btrfsmaintenance
}
inherit systemd
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE:${PN} = " \
btrfs-scrub.timer \
btrfs-scrub.service \
btrfs-trim.timer \
btrfs-trim.service \
btrfs-balance.timer \
btrfs-balance.service \
btrfs-defrag.timer \
btrfs-defrag.service \
btrfsmaintenance-refresh.service \
btrfsmaintenance-refresh.path \
"

View File

@@ -0,0 +1,47 @@
From b49dbe17e0d9ae463e5a34e6991aa2d3c70d2fb1 Mon Sep 17 00:00:00 2001
From: Claudius Heine <ch@denx.de>
Date: Wed, 11 May 2022 14:33:13 +0200
Subject: [PATCH] change sysconfig path to /etc/default
OE uses /etc/default for service configuration, not /etc/sysconfig which
is used by SUSE and RedHat based distributions.
Change the files accordingly
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Claudius Heine <ch@denx.de>
---
btrfsmaintenance-refresh.path | 4 ++--
btrfsmaintenance-refresh.service | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/btrfsmaintenance-refresh.path b/btrfsmaintenance-refresh.path
index d56ad11..f0b4132 100644
--- a/btrfsmaintenance-refresh.path
+++ b/btrfsmaintenance-refresh.path
@@ -1,8 +1,8 @@
[Unit]
-Description=Watch /etc/sysconfig/btrfsmaintenance
+Description=Watch /etc/default/btrfsmaintenance
[Path]
-PathChanged=/etc/sysconfig/btrfsmaintenance
+PathChanged=/etc/default/btrfsmaintenance
[Install]
WantedBy=multi-user.target
diff --git a/btrfsmaintenance-refresh.service b/btrfsmaintenance-refresh.service
index 4ed1eb4..d6225a6 100644
--- a/btrfsmaintenance-refresh.service
+++ b/btrfsmaintenance-refresh.service
@@ -1,5 +1,5 @@
[Unit]
-Description=Update cron periods from /etc/sysconfig/btrfsmaintenance
+Description=Update cron periods from /etc/default/btrfsmaintenance
[Service]
ExecStart=/usr/share/btrfsmaintenance/btrfsmaintenance-refresh-cron.sh systemd-timer
--
2.33.3

View File

@@ -0,0 +1,33 @@
From 420ae0f395838b852ae8b8fe5528056c36dc0919 Mon Sep 17 00:00:00 2001
From: Claudius Heine <ch@denx.de>
Date: Wed, 11 May 2022 15:14:22 +0200
Subject: [PATCH] add WantedBy directive to btrfsmaintenance-refresh.service
Just trigger the service on the first boot, to configure services to the
configuration file deployed in the package, afterwards disable the
service, so that is only triggered when the configuration file has
changed.
Upstream-Status: Inappropriate [OE specific]
Signed-off-by: Claudius Heine <ch@denx.de>
---
btrfsmaintenance-refresh.service | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/btrfsmaintenance-refresh.service b/btrfsmaintenance-refresh.service
index d6225a6..58d0e09 100644
--- a/btrfsmaintenance-refresh.service
+++ b/btrfsmaintenance-refresh.service
@@ -3,4 +3,8 @@ Description=Update cron periods from /etc/default/btrfsmaintenance
[Service]
ExecStart=/usr/share/btrfsmaintenance/btrfsmaintenance-refresh-cron.sh systemd-timer
+ExecStart=systemctl disable btrfsmaintenance-refresh.service
Type=oneshot
+
+[Install]
+WantedBy=multi-user.target
--
2.33.3

View File

@@ -0,0 +1,24 @@
SUMMARY = "exFAT filesystem userspace utilities"
DESCRIPTION = "\
As new exfat filesystem is merged into linux-5.7 kernel, exfatprogs is \
created as an official userspace utilities that contain all of the standard \
utilities for creating and fixing and debugging exfat filesystem in linux \
system. The goal of exfatprogs is to provide high performance and quality \
at the level of exfat utilities in windows. And this software is licensed \
under the GNU General Public License Version 2."
HOMEPAGE = "https://github.com/${BPN}/${BPN}"
SECTION = "universe/otherosfs"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/${PV}/${BP}.tar.xz"
SRC_URI[sha256sum] = "56d9a49465deafc367d428afc71c8098705a30ee19a3cdf3c5320650b8880742"
UPSTREAM_CHECK_URI = "https://github.com/${BPN}/${BPN}/releases"
UPSTREAM_CHECK_REGEX = "${BPN}-(?P<pver>\d+(\.\d+)+)"
inherit autotools
RPROVIDES:${PN} = "exfat-utils"
RCONFLICTS:${PN} = "exfat-utils"
RREPLACES:${PN} = "exfat-utils"

View File

@@ -0,0 +1,27 @@
From f110e34d7a4929cdea647b98fa177cf1bccf8b1e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 21 Dec 2022 18:21:42 -0800
Subject: [PATCH] f2fs_io: Fix out of tree builds
Relative path does not work when searching for include files
when srcdir != builddir
Upstream-Status: Submitted [https://lore.kernel.org/linux-f2fs-devel/20221222022830.976309-1-raj.khem@gmail.com/T/#t]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
tools/f2fs_io/Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/f2fs_io/Makefile.am b/tools/f2fs_io/Makefile.am
index 6c17db1..bc4f9d0 100644
--- a/tools/f2fs_io/Makefile.am
+++ b/tools/f2fs_io/Makefile.am
@@ -1,7 +1,7 @@
## Makefile.am
if LINUX
-AM_CPPFLAGS = -I../../include
+AM_CPPFLAGS = -I$(top_srcdir)/include
AM_CFLAGS = -Wall
sbin_PROGRAMS = f2fs_io
f2fs_io_SOURCES = f2fs_io.c

View File

@@ -0,0 +1,183 @@
From 3c0314e1820afc9a98e890cc5f7973c3c81877f8 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 21 Dec 2022 18:23:03 -0800
Subject: [PATCH] f2fs_io: Define _FILE_OFFSET_BITS=64
Remove _LARGEFILE64_SOURCE, this is redundant when _FILE_OFFSET_BITS=64
additionally it fixes build with musl because the detection logic for
lseek64 fails because when using _LARGEFILE64_SOURCE musl also define's
lseek64 as an alias to lseek
Upstream-Status: Submitted [https://lore.kernel.org/linux-f2fs-devel/20221222022830.976309-2-raj.khem@gmail.com/T/#u]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
lib/libf2fs_io.c | 4 +++-
tools/f2fs_io/f2fs_io.c | 4 ++--
2 files changed, 5 insertions(+), 3 deletions(-)
--- a/lib/libf2fs_io.c
+++ b/lib/libf2fs_io.c
@@ -11,7 +11,9 @@
*
* Dual licensed under the GPL or LGPL version 2 licenses.
*/
-#define _LARGEFILE64_SOURCE
+#ifndef _FILE_OFFSET_BITS
+#define _FILE_OFFSET_BITS 64
+#endif
#include <stdio.h>
#include <stdlib.h>
@@ -67,22 +69,13 @@ static int __get_device_fd(__u64 *offset
return -1;
}
-#ifndef HAVE_LSEEK64
-typedef off_t off64_t;
-
-static inline off64_t lseek64(int fd, __u64 offset, int set)
-{
- return lseek(fd, offset, set);
-}
-#endif
-
/* ---------- dev_cache, Least Used First (LUF) policy ------------------- */
/*
* Least used block will be the first victim to be replaced when max hash
* collision exceeds
*/
static bool *dcache_valid; /* is the cached block valid? */
-static off64_t *dcache_blk; /* which block it cached */
+static off_t *dcache_blk; /* which block it cached */
static uint64_t *dcache_lastused; /* last used ticks for cache entries */
static char *dcache_buf; /* cached block data */
static uint64_t dcache_usetick; /* current use tick */
@@ -172,7 +165,7 @@ static int dcache_alloc_all(long n)
{
if (n <= 0)
return -1;
- if ((dcache_blk = (off64_t *) malloc(sizeof(off64_t) * n)) == NULL
+ if ((dcache_blk = (off_t *) malloc(sizeof(off_t) * n)) == NULL
|| (dcache_lastused = (uint64_t *)
malloc(sizeof(uint64_t) * n)) == NULL
|| (dcache_buf = (char *) malloc (F2FS_BLKSIZE * n)) == NULL
@@ -257,7 +250,7 @@ static inline long dcache_relocate(long
dcache_config.num_cache_entry;
}
-static long dcache_find(off64_t blk)
+static long dcache_find(off_t blk)
{
register long n = dcache_config.num_cache_entry;
register unsigned m = dcache_config.max_hash_collision;
@@ -278,10 +271,10 @@ static long dcache_find(off64_t blk)
}
/* Physical read into cache */
-static int dcache_io_read(int fd, long entry, off64_t offset, off64_t blk)
+static int dcache_io_read(int fd, long entry, off_t offset, off_t blk)
{
- if (lseek64(fd, offset, SEEK_SET) < 0) {
- MSG(0, "\n lseek64 fail.\n");
+ if (lseek(fd, offset, SEEK_SET) < 0) {
+ MSG(0, "\n lseek fail.\n");
return -1;
}
if (read(fd, dcache_buf + entry * F2FS_BLKSIZE, F2FS_BLKSIZE) < 0) {
@@ -308,12 +301,12 @@ static int dcache_io_read(int fd, long e
* 1: cache not available (uninitialized)
* -1: error
*/
-static int dcache_update_rw(int fd, void *buf, off64_t offset,
+static int dcache_update_rw(int fd, void *buf, off_t offset,
size_t byte_count, bool is_write)
{
- off64_t blk;
+ off_t blk;
int addr_in_blk;
- off64_t start;
+ off_t start;
if (!dcache_initialized)
dcache_init(); /* auto initialize */
@@ -377,13 +370,13 @@ static int dcache_update_rw(int fd, void
* return value: 1: cache not available
* 0: success, -1: I/O error
*/
-int dcache_update_cache(int fd, void *buf, off64_t offset, size_t count)
+int dcache_update_cache(int fd, void *buf, off_t offset, size_t count)
{
return dcache_update_rw(fd, buf, offset, count, true);
}
/* handles read into cache + read into buffer */
-int dcache_read(int fd, void *buf, off64_t offset, size_t count)
+int dcache_read(int fd, void *buf, off_t offset, size_t count)
{
return dcache_update_rw(fd, buf, offset, count, false);
}
@@ -395,7 +388,7 @@ int dev_read_version(void *buf, __u64 of
{
if (c.sparse_mode)
return 0;
- if (lseek64(c.kd, (off64_t)offset, SEEK_SET) < 0)
+ if (lseek(c.kd, (off_t)offset, SEEK_SET) < 0)
return -1;
if (read(c.kd, buf, len) < 0)
return -1;
@@ -537,10 +530,10 @@ int dev_read(void *buf, __u64 offset, si
/* err = 1: cache not available, fall back to non-cache R/W */
/* err = 0: success, err=-1: I/O error */
- err = dcache_read(fd, buf, (off64_t)offset, len);
+ err = dcache_read(fd, buf, (off_t)offset, len);
if (err <= 0)
return err;
- if (lseek64(fd, (off64_t)offset, SEEK_SET) < 0)
+ if (lseek(fd, (off_t)offset, SEEK_SET) < 0)
return -1;
if (read(fd, buf, len) < 0)
return -1;
@@ -586,9 +579,9 @@ int dev_write(void *buf, __u64 offset, s
* dcache_update_cache() just update cache, won't do I/O.
* Thus even no error, we need normal non-cache I/O for actual write
*/
- if (dcache_update_cache(fd, buf, (off64_t)offset, len) < 0)
+ if (dcache_update_cache(fd, buf, (off_t)offset, len) < 0)
return -1;
- if (lseek64(fd, (off64_t)offset, SEEK_SET) < 0)
+ if (lseek(fd, (off_t)offset, SEEK_SET) < 0)
return -1;
if (write(fd, buf, len) < 0)
return -1;
@@ -602,7 +595,7 @@ int dev_write_block(void *buf, __u64 blk
int dev_write_dump(void *buf, __u64 offset, size_t len)
{
- if (lseek64(c.dump_fd, (off64_t)offset, SEEK_SET) < 0)
+ if (lseek(c.dump_fd, (off_t)offset, SEEK_SET) < 0)
return -1;
if (write(c.dump_fd, buf, len) < 0)
return -1;
@@ -627,7 +620,7 @@ int dev_fill(void *buf, __u64 offset, si
/* Only allow fill to zero */
if (*((__u8*)buf))
return -1;
- if (lseek64(fd, (off64_t)offset, SEEK_SET) < 0)
+ if (lseek(fd, (off_t)offset, SEEK_SET) < 0)
return -1;
if (write(fd, buf, len) < 0)
return -1;
--- a/tools/f2fs_io/f2fs_io.c
+++ b/tools/f2fs_io/f2fs_io.c
@@ -12,8 +12,8 @@
#ifndef _LARGEFILE_SOURCE
#define _LARGEFILE_SOURCE
#endif
-#ifndef _LARGEFILE64_SOURCE
-#define _LARGEFILE64_SOURCE
+#ifndef _FILE_OFFSET_BITS
+#define _FILE_OFFSET_BITS 64
#endif
#ifndef O_LARGEFILE
#define O_LARGEFILE 0

View File

@@ -0,0 +1,21 @@
SUMMARY = "Tools for Flash-Friendly File System (F2FS)"
HOMEPAGE = "https://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=362b4b2594cd362b874a97718faa51d3"
# to provide libuuid
DEPENDS = "util-linux"
SRCREV = "64f2596142800c215cb40a658ebd5793ed37c936"
SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs-tools.git;branch=master \
file://0001-f2fs_io-Fix-out-of-tree-builds.patch \
file://0002-f2fs_io-Define-_FILE_OFFSET_BITS-64.patch \
"
UPSTREAM_CHECK_GITTAGREGEX = "v(?P<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/git"
inherit pkgconfig autotools
BBCLASSEXTEND = "native"

View File

@@ -0,0 +1,48 @@
From 455001cb0112f7324ab50f555aa5ed5eae1bb93b Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Mon, 16 Jan 2023 19:23:18 -0800
Subject: [PATCH] Replace std::ptr_fun for c++17
std::ptr_fun was deprecated in C++11, and removed completely in C++17.
Similarly, std::not1 is deprecated since C++17.
Modern compilers like clang >= 16 have started to notice it
src/FatUtils.h:41:46: error: use of undeclared identifier 'ptr_fun'
| s.erase(find_if(s.rbegin(), s.rend(), not1(ptr_fun<int, int>(isspace))).base(), s.end());
Therefore replace ptr_fun with lambda
Also use 'unsigned char' parameter to std::isspace, for reason see [1]
[1] https://en.cppreference.com/w/cpp/string/byte/isspace#Notes
Upstream-Status: Submitted [https://github.com/Gregwar/fatcat/pull/36]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/FatUtils.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/FatUtils.h b/src/FatUtils.h
index 5080f2a..a8d69ee 100644
--- a/src/FatUtils.h
+++ b/src/FatUtils.h
@@ -32,13 +32,13 @@ using namespace std;
// trim from start
static inline string ltrim(string s) {
- s.erase(s.begin(), find_if(s.begin(), s.end(), not1(ptr_fun<int, int>(isspace))));
+ s.erase(s.begin(), find_if(s.begin(), s.end(), [](unsigned char c) {return !isspace(c);}));
return s;
}
// trim from end
static inline string rtrim(string s) {
- s.erase(find_if(s.rbegin(), s.rend(), not1(ptr_fun<int, int>(isspace))).base(), s.end());
+ s.erase(find_if(s.rbegin(), s.rend(), [](unsigned char c) {return !isspace(c);}).base(), s.end());
return s;
}
--
2.39.0

View File

@@ -0,0 +1,37 @@
From 14ef83291096e019ebc48040cf63530a2574a26d Mon Sep 17 00:00:00 2001
From: Alex Kiernan <alex.kiernan@gmail.com>
Date: Sun, 19 Jan 2020 16:03:21 +0000
Subject: [PATCH] Use unistd.h not argp.h for all POSIX systems
getopt(3) is found in unistd.h on all POSIX systems and we make no use
of any of the GNU specific argp extensions. Include unistd.h directly to
allow building with musl on linux, whilst retaining compatibility with
glibc and other unices.
Upstream-Status: Submitted [https://github.com/Gregwar/fatcat/pull/34]
Signed-off-by: Alex Kiernan <alex.kiernan@gmail.com>
---
src/fatcat.cpp | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/src/fatcat.cpp b/src/fatcat.cpp
index ce23ca07bb99..b4427e465bde 100644
--- a/src/fatcat.cpp
+++ b/src/fatcat.cpp
@@ -1,14 +1,10 @@
#include <stdlib.h>
-#include<string.h>
-#ifdef __APPLE__
-#include <unistd.h>
-#else
+#include <string.h>
#ifdef __WIN__
#include <ctype.h>
#include "xgetopt/xgetopt.h"
#else
-#include <argp.h>
-#endif
+#include <unistd.h>
#endif
#include <stdio.h>

View File

@@ -0,0 +1,71 @@
From 0383fff94471278c92ef2ad5edc14abbb40a9acd Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 16 Dec 2022 18:54:55 -0800
Subject: [PATCH] Enable 64bit off_t
Ensure that off_t is always 64-bit by specifying -D_LARGEFILE_SOURCE
-D_FILE_OFFSET_BITS=64 this will ensure that normal lseek() function is
same as lseek64
This helps compiling on latest musl where lseek64 and friends are not
available
Upstream-Status: Submitted [https://github.com/Gregwar/fatcat/pull/34]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
CMakeLists.txt | 2 ++
src/core/FatSystem.cpp | 4 ++--
src/core/FatSystem.h | 2 --
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d6a2649..4cdd1fb 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -34,6 +34,8 @@ IF(DEFINE_WIN)
add_definitions(-D__WIN__)
ENDIF(DEFINE_WIN)
+add_definitions(-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64)
+
include_directories("${CMAKE_SOURCE_DIR}/src")
add_executable(fatcat "src/fatcat.cpp" ${ALL_SOURCES})
diff --git a/src/core/FatSystem.cpp b/src/core/FatSystem.cpp
index 79cda8c..1f52e82 100644
--- a/src/core/FatSystem.cpp
+++ b/src/core/FatSystem.cpp
@@ -90,7 +90,7 @@ int FatSystem::readData(unsigned long long address, char *buffer, int size)
cerr << "! Trying to read outside the disk" << endl;
}
- lseek64(fd, globalOffset+address, SEEK_SET);
+ lseek(fd, globalOffset+address, SEEK_SET);
int n;
int pos = 0;
@@ -112,7 +112,7 @@ int FatSystem::writeData(unsigned long long address, const char *buffer, int siz
throw string("Trying to write data while write mode is disabled");
}
- lseek64(fd, globalOffset+address, SEEK_SET);
+ lseek(fd, globalOffset+address, SEEK_SET);
int n;
int pos = 0;
diff --git a/src/core/FatSystem.h b/src/core/FatSystem.h
index cd3c914..f9f2ca3 100644
--- a/src/core/FatSystem.h
+++ b/src/core/FatSystem.h
@@ -11,11 +11,9 @@
#ifdef __APPLE__
#define O_LARGEFILE 0
-#define lseek64 lseek
#endif
#ifdef __WIN__
#define O_LARGEFILE 0
-#define lseek64 lseek
#endif
using namespace std;

View File

@@ -0,0 +1,20 @@
SUMMARY = "FAT filesystems explore, extract, repair, and forensic tool"
DESCRIPTION = "This tool is designed to manipulate FAT filesystems, in order to \
explore, extract, repair, recover and forensic them. It currently supports \
FAT12, FAT16 and FAT32."
HOMEPAGE = "https://github.com/Gregwar/fatcat"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=57fbbfebd0dd1d6ff21b8cecb552a03f"
SRC_URI = "git://github.com/Gregwar/fatcat.git;branch=master;protocol=https \
file://0001-Use-unistd.h-not-argp.h-for-all-POSIX-systems.patch \
file://0002-Enable-64bit-off_t.patch \
file://0001-Replace-std-ptr_fun-for-c-17.patch \
"
SRCREV = "99cb99fc86eb1601ac7ae27f5bba23add04d2543"
S = "${WORKDIR}/git"
inherit cmake

View File

@@ -0,0 +1,27 @@
From b16373da7e5a45cf92df83b39e2fdee939439c84 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 17 Jul 2021 08:55:42 -0700
Subject: [PATCH] build: Do not build .sgml file
It needs docbook-to-man tool which we do not have recipe for
Upstream-Status: Inappropriate [needs native docbook-to-man tool]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makefile.am | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile.am b/Makefile.am
index 2becb84..858df00 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -14,4 +14,4 @@ SUFFIXES = .1
CLEANFILES = $(man_MANS)
.sgml.1:
- docbook-to-man $< > $@
+ @echo "Needs docbook-to-man"
--
2.32.0

View File

@@ -0,0 +1,34 @@
From 69647e5d393a52ed3892eccc172ee750d6aaa45d Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 30 Dec 2022 21:08:25 -0800
Subject: [PATCH] configure: Do not add -D_FILE_OFFSET_BITS to CFLAGS
AC_SYS_LARGEFILE macro is in use and this will add a definition for
_FILE_OFFSET_BITS in generated config.h which is already included as
first include file in fatresize.c hence its not required to be added via
CFLAGS, this also fixes a case when -D_FILE_OFFSET_BITS=64 is passed via
CC from environment, where the autoconf macros set
ac_cv_sys_file_offset_bits=no and that means we will have
-D_FILE_OFFSET_BITS=no added to CFLAGS which messes up builds.
Upstream-Status: Submitted [https://salsa.debian.org/parted-team/fatresize/-/merge_requests/3]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 1 -
1 file changed, 1 deletion(-)
diff --git a/configure.ac b/configure.ac
index d6e6cb2..4dcec28 100644
--- a/configure.ac
+++ b/configure.ac
@@ -29,7 +29,6 @@ AC_CHECK_FUNCS([memset strtoll])
# Check for LFS
AC_SYS_LARGEFILE
-CFLAGS="$CFLAGS -D_FILE_OFFSET_BITS=${ac_cv_sys_file_offset_bits}"
dnl libparted
# hack
--
2.39.0

View File

@@ -0,0 +1,16 @@
SUMMARY = "Resize FAT partitions using libparted"
SECTION = "console/tools"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "git://salsa.debian.org/parted-team/fatresize.git;protocol=https;branch=master \
file://0001-build-Do-not-build-.sgml-file.patch \
file://0001-configure-Do-not-add-D_FILE_OFFSET_BITS-to-CFLAGS.patch \
"
SRCREV = "12da22087de2ec43f0fe5af1237389e94619c483"
S = "${WORKDIR}/git"
DEPENDS = "parted"
inherit autotools pkgconfig

View File

@@ -0,0 +1,30 @@
From 8eeaee82dcfdf47f16ad880e416b722827f41bdb Mon Sep 17 00:00:00 2001
From: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
Date: Mon, 23 May 2022 19:37:32 +0200
Subject: [PATCH] Makefile: proper location of LDFLAGS
Signed-off-by: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/Makefile b/Makefile
index e3c5207..14b155e 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,5 @@
CFLAGS = -Wall -g
-LFLAGS = -lm
+LDFLAGS = -lm
CC = gcc
all: overlay
@@ -7,7 +7,7 @@ all: overlay
objects = fsck.o common.o lib.o check.o mount.o path.o overlayfs.o
overlay: $(objects)
- $(CC) $(LFLAGS) $(objects) -o fsck.overlay
+ $(CC) $(objects) -o fsck.overlay $(LDFLAGS)
.c.o:
$(CC) $(CFLAGS) -c $<

View File

@@ -0,0 +1,32 @@
SUMMARY = "File system check utility for OverlayFS"
HOMEPAGE = "https://github.com/hisilicon/overlayfs-progs"
LICENSE = "PD"
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/PD;md5=b3597d12946881e13cb3b548d1173851"
SRC_URI = "\
git://github.com/hisilicon/overlayfs-progs.git;protocol=https;branch=master \
file://0001-Makefile-proper-location-of-LDFLAGS.patch \
"
PV = "1.0+git${SRCPV}"
SRCREV = "e10ef686570d9c7eff42f52461593a5c15da56bd"
S = "${WORKDIR}/git"
B = "${S}"
# Required to have the fts.h header for musl
DEPENDS:append:libc-musl = " fts"
# Fix the missing fts libs when using musl
EXTRA_OEMAKE:append:libc-musl = " LDFLAGS='-lfts'"
EXTRA_OEMAKE += "'CC=${CC} -O2' "
TARGET_CC_ARCH += "${LDFLAGS}"
do_compile () {
oe_runmake
}
do_install () {
install -d ${D}${bindir}
install -m 0755 ${B}/fsck.overlay ${D}${bindir}
}

View File

@@ -0,0 +1,41 @@
From 81b4fbb5f52044cb348534c23f10b3884972b09b Mon Sep 17 00:00:00 2001
From: Beat Schaer <beat.schaer@wabtec.com>
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 <string.h>
#include <errno.h>
#include <unistd.h>
-#include <attr/xattr.h>
-#include <attr/attributes.h>
+#include <sys/xattr.h>
#include <fts.h>
#include <libgen.h>
#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 <linux/limits.h>
#include <stdbool.h>
#include <sys/stat.h>
-#include <attr/xattr.h>
+#include <sys/xattr.h>
+#include <errno.h>
#ifndef _SYS_STAT_H
#include <linux/stat.h>
#endif
--
2.25.1

View File

@@ -0,0 +1,31 @@
From b4ff5886797e72d1c21da43261ca7648412f3186 Mon Sep 17 00:00:00 2001
From: Vyacheslav Yurkov <Vyacheslav.Yurkov@bruker.com>
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 <Vyacheslav.Yurkov@bruker.com>
---
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

View File

@@ -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}
}

View File

@@ -0,0 +1,12 @@
Fix compilation with GCC6
--- a/src/device-info.c 2013-12-09 14:59:27.000000000 +0100
+++ b/src/device-info.c 2017-03-13 07:06:25.506666680 +0100
@@ -3,6 +3,7 @@
* contains code excerpts from udisks v1.0.4
************************************************************************** */
+#include <sys/stat.h>
#include "device-info.h"
static char *

View File

@@ -0,0 +1,32 @@
From 80b087193698632e525b90d45b4a49e61e343e1c Mon Sep 17 00:00:00 2001
From: Krzysztof Kozlowski <krzk@kernel.org>
Date: Thu, 13 Jul 2017 21:30:35 +0200
Subject: [PATCH] etc: Makefile.am: Use systemd_unitdir instead of libdir
Proper directory for installing systemd services is systemd_unitdir, not
libdir.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
etc/Makefile.am | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/etc/Makefile.am b/etc/Makefile.am
index 9b6e7522c20f..6d663241a72f 100644
--- a/etc/Makefile.am
+++ b/etc/Makefile.am
@@ -16,8 +16,8 @@ if ADD_SYSTEMD
test -f $(DESTDIR)/$(sysconfdir)/conf.d/devmon || $(INSTALL_DATA) \
$(srcdir)/systemd/devmon \
$(DESTDIR)/$(sysconfdir)/conf.d/devmon
- test -d $(DESTDIR)/$(libdir)/systemd/system || \
- mkdir -p -- $(DESTDIR)/$(libdir)/systemd/system
+ test -d $(DESTDIR)/$(systemd_unitdir)/system || \
+ mkdir -p -- $(DESTDIR)/$(systemd_unitdir)/system
$(INSTALL_DATA) $(srcdir)/systemd/devmon@.service \
- $(DESTDIR)/$(libdir)/systemd/system/devmon@.service
+ $(DESTDIR)/$(systemd_unitdir)/system/devmon@.service
endif
--
2.11.0

View File

@@ -0,0 +1,28 @@
SUMMARY = "A command line Linux program which mounts and unmounts removable devices"
HOMEPAGE = "http://ignorantguru.github.io/udevil/"
DEPENDS = "glib-2.0 \
glib-2.0-native \
intltool-native \
udev \
"
RDEPENDS:${PN} = "udev bash"
LICENSE = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
inherit autotools pkgconfig systemd
SRC_URI = "https://github.com/IgnorantGuru/udevil/raw/pkg/${PV}/udevil-${PV}.tar.xz \
file://0001-udevil-0.4.3-fix-compile-with-gcc6.patch \
file://0002-etc-Makefile.am-Use-systemd_unitdir-instead-of-libdi.patch \
"
SRC_URI[md5sum] = "dc1c489b603a0500a04dc7e1805ac1d9"
SRC_URI[sha256sum] = "ce8c51fd4d589cda7be56e75b42188deeb258c66fc911a9b3a70a3945c157739"
PACKAGECONFIG = "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,systemd"
SYSTEMD_SERVICE:${PN} = "devmon@.service"
SYSTEMD_AUTO_ENABLE = "disable"

View File

@@ -0,0 +1,31 @@
SUMMARY = "Tool to access UFS (Universal Flash Storage) devices"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
BRANCH ?= "dev"
SRCREV = "40c0bdfa7f4e922a4bcdf431ef72b321648d2d9f"
SRC_URI = "git://github.com/westerndigitalcorporation/ufs-utils.git;protocol=https;branch=${BRANCH} \
"
UPSTREAM_CHECK_COMMITS = "1"
S = "${WORKDIR}/git"
EXTRA_OEMAKE = "CROSS_COMPILE=${TARGET_PREFIX} CC="${CC}" CFLAGS="${CFLAGS}""
CFLAGS:append:mipsarchn64 = " -D__SANE_USERSPACE_TYPES__ -D_GNU_SOURCE"
do_configure() {
sed -i -e "s|-static$||g" ${S}/Makefile
}
do_install() {
install -D -m 755 ${S}/ufs-utils ${D}${bindir}/ufs-utils
}
PROVIDES += "ufs-tool"
RPROVIDES:${PN} += "ufs-tool"

View File

@@ -0,0 +1,52 @@
From fea8c4634469784c16211e2597411c18c72dfa4a Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Thu, 5 Mar 2020 14:36:14 +0800
Subject: [PATCH] xfsdump: support usrmerge
Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
dump/Makefile | 6 +-----
restore/Makefile | 6 +-----
2 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/dump/Makefile b/dump/Makefile
index 66f00d3..cc2d973 100644
--- a/dump/Makefile
+++ b/dump/Makefile
@@ -97,12 +97,8 @@ default: depend $(LTCOMMAND)
include $(BUILDRULES)
install: default
- $(INSTALL) -m 755 -d $(PKG_ROOT_SBIN_DIR)
- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_ROOT_SBIN_DIR)
$(INSTALL) -m 755 -d $(PKG_SBIN_DIR)
- # skip symlink when /sbin is alread symlinked to /usr/sbin, like on Fedora
- test $(PKG_ROOT_SBIN_DIR) -ef $(PKG_SBIN_DIR) || \
- $(INSTALL) -S $(PKG_ROOT_SBIN_DIR)/$(LTCOMMAND) $(PKG_SBIN_DIR)/$(LTCOMMAND)
+ $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_SBIN_DIR)
install-dev:
.dep: $(COMMINCL) $(COMMON) $(INVINCL) $(INVCOMMON)
diff --git a/restore/Makefile b/restore/Makefile
index ac3f8c8..3c46394 100644
--- a/restore/Makefile
+++ b/restore/Makefile
@@ -111,12 +111,8 @@ default: depend $(LTCOMMAND)
include $(BUILDRULES)
install: default
- $(INSTALL) -m 755 -d $(PKG_ROOT_SBIN_DIR)
- $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_ROOT_SBIN_DIR)
$(INSTALL) -m 755 -d $(PKG_SBIN_DIR)
- # skip symlink when /sbin is alread symlinked to /usr/sbin, like on Fedora
- test $(PKG_ROOT_SBIN_DIR) -ef $(PKG_SBIN_DIR) || \
- $(INSTALL) -S $(PKG_ROOT_SBIN_DIR)/$(LTCOMMAND) $(PKG_SBIN_DIR)/$(LTCOMMAND)
+ $(LTINSTALL) -m 755 $(LTCOMMAND) $(PKG_SBIN_DIR)
install-dev:
.dep: $(COMMINCL) $(COMMON) $(INVINCL) $(INVCOMMON)
--
2.7.4

View File

@@ -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

View File

@@ -0,0 +1,39 @@
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 = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://doc/COPYING;md5=15c832894d10ddd00dfcf57bee490ecc"
DEPENDS = "xfsprogs attr"
SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsdump/${BP}.tar.xz \
file://remove-install-as-user.patch \
${@bb.utils.contains('DISTRO_FEATURES','usrmerge','file://0001-xfsdump-support-usrmerge.patch','',d)} \
"
SRC_URI[sha256sum] = "f39c4c1b306b2dd7ec979c0e94d60fe69083d2ecf9af051cac5ef3bed772c74a"
inherit autotools-brokensep
PARALLEL_MAKE = ""
PACKAGECONFIG ??= ""
PACKAGECONFIG[gettext] = "--enable-gettext=yes,--enable-gettext=no,gettext"
CFLAGS += "-D_FILE_OFFSET_BITS=64"
TARGET_CC_ARCH:append:libc-musl = " -D_LARGEFILE64_SOURCE"
do_configure () {
export DEBUG="-DNDEBUG"
install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
oe_runconf
}
do_install () {
export DIST_ROOT=${D}
oe_runmake install
oe_runmake install-dev
}

View File

@@ -0,0 +1,40 @@
From e81633a276dd6a9f919e5e5c15481ac50a8e485d Mon Sep 17 00:00:00 2001
From: Changqing Li <changqing.li@windriver.com>
Date: Fri, 30 Aug 2019 14:59:06 +0800
Subject: [PATCH] support usrmerge
Upstream-Status: Inappropriate [oe-specific]
Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
configure.ac | 7 +++----
1 file changed, 3 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index 4b7e4c8..f1afbd6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -110,8 +110,7 @@ AC_ARG_ENABLE(libicu,
# If the user specified a libdir ending in lib64 do not append another
# 64 to the library names.
#
-base_libdir=`basename "$libdir"`
-case $base_libdir in
+case `basename "$libdir"` in
lib64)
enable_lib64=no
esac
@@ -125,8 +124,8 @@ esac
#
case $exec_prefix:$prefix in
NONE:NONE | NONE:/usr | /usr:*)
- root_sbindir='/sbin'
- root_libdir="/${base_libdir}"
+ root_sbindir="${base_sbindir}"
+ root_libdir="${base_libdir}"
;;
*)
root_sbindir="${sbindir}"
--
2.7.4

View File

@@ -0,0 +1,33 @@
From 11a42df394de3dc520e72a016296dcc6dea02a7a Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 23 Aug 2018 05:33:57 +0000
Subject: [PATCH] include include/xfs/linux.h after <sys/mman.h>
This helps compiling with musl which goes ahead and undefines MAP_SYNC
for mips and other architectures where its not wired in kernel
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
io/mmap.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/io/mmap.c b/io/mmap.c
index dbfcca5..ca00df1 100644
--- a/io/mmap.c
+++ b/io/mmap.c
@@ -4,10 +4,11 @@
* All Rights Reserved.
*/
-#include "command.h"
-#include "input.h"
#include <sys/mman.h>
#include <signal.h>
+
+#include "command.h"
+#include "input.h"
#include "init.h"
#include "io.h"

View File

@@ -0,0 +1,27 @@
From f62d3e5cc1d4e416b97778059f0b3c20d777a4c2 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 21 Dec 2022 17:40:11 -0800
Subject: [PATCH] configure: Use AC_SYS_LARGERFILE autoconf macro
Helps define largefile support on relevant platforms
Upstream-Status: Submitted [https://lore.kernel.org/linux-xfs/20221222015327.939932-1-raj.khem@gmail.com/T/#t]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
configure.ac | 3 +++
1 file changed, 3 insertions(+)
diff --git a/configure.ac b/configure.ac
index 5a6bf185..a6f556ec 100644
--- a/configure.ac
+++ b/configure.ac
@@ -10,6 +10,9 @@ AC_PROG_INSTALL
LT_INIT
AC_PROG_CC
+
+AC_SYS_LARGEFILE
+
AC_ARG_VAR(BUILD_CC, [C compiler for build tools])
if test "${BUILD_CC+set}" != "set"; then
if test $cross_compiling = no; then

View File

@@ -0,0 +1,724 @@
From f260099fc45f0653aa4758d1d581e07f5b9c6a54 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 21 Dec 2022 17:43:07 -0800
Subject: [PATCH] Replace off64_t/stat64 with off_t/stat
When using AC_SYS_LARGEFILE, it will automatically add
-D_FILE_OFFSET_BITS=64 to enable 64bit off_t and all lfs64 support
helps compile on musl where off_t was always 64bit and lfs64 were never
needed
Upstream-Status: Submitted [https://lore.kernel.org/linux-xfs/20221222015327.939932-1-raj.khem@gmail.com/T/#t]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
copy/xfs_copy.c | 2 +-
fsr/xfs_fsr.c | 2 +-
io/bmap.c | 6 +++---
io/copy_file_range.c | 4 ++--
io/cowextsize.c | 6 +++---
io/fadvise.c | 2 +-
io/fiemap.c | 6 +++---
io/fsmap.c | 6 +++---
io/io.h | 10 +++++-----
io/madvise.c | 2 +-
io/mincore.c | 2 +-
io/mmap.c | 12 ++++++------
io/pread.c | 22 +++++++++++-----------
io/pwrite.c | 20 ++++++++++----------
io/reflink.c | 4 ++--
io/seek.c | 6 +++---
io/sendfile.c | 6 +++---
io/stat.c | 2 +-
io/sync_file_range.c | 2 +-
io/truncate.c | 2 +-
libxfs/rdwr.c | 8 ++++----
mdrestore/xfs_mdrestore.c | 2 +-
repair/prefetch.c | 2 +-
scrub/spacemap.c | 6 +++---
spaceman/freesp.c | 4 ++--
spaceman/trim.c | 2 +-
26 files changed, 74 insertions(+), 74 deletions(-)
diff --git a/copy/xfs_copy.c b/copy/xfs_copy.c
index 79f6594..854fd7f 100644
--- a/copy/xfs_copy.c
+++ b/copy/xfs_copy.c
@@ -888,7 +888,7 @@ main(int argc, char **argv)
}
} else {
char *lb[XFS_MAX_SECTORSIZE] = { NULL };
- off64_t off;
+ off_t off;
/* ensure device files are sufficiently large */
diff --git a/fsr/xfs_fsr.c b/fsr/xfs_fsr.c
index ba02506..12fffbd 100644
--- a/fsr/xfs_fsr.c
+++ b/fsr/xfs_fsr.c
@@ -1148,7 +1148,7 @@ packfile(char *fname, char *tname, int fd,
struct dioattr dio;
static xfs_swapext_t sx;
struct xfs_flock64 space;
- off64_t cnt, pos;
+ off_t cnt, pos;
void *fbuf = NULL;
int ct, wc, wc_b4;
char ffname[SMBUFSZ];
diff --git a/io/bmap.c b/io/bmap.c
index 27383ca..0b14bb7 100644
--- a/io/bmap.c
+++ b/io/bmap.c
@@ -257,7 +257,7 @@ bmap_f(
#define FLG_BSW 0000010 /* Not on begin of stripe width */
#define FLG_ESW 0000001 /* Not on end of stripe width */
int agno;
- off64_t agoff, bbperag;
+ off_t agoff, bbperag;
int foff_w, boff_w, aoff_w, tot_w, agno_w;
char rbuf[32], bbuf[32], abuf[32];
int sunit, swidth;
@@ -267,8 +267,8 @@ bmap_f(
if (is_rt)
sunit = swidth = bbperag = 0;
else {
- bbperag = (off64_t)fsgeo.agblocks *
- (off64_t)fsgeo.blocksize / BBSIZE;
+ bbperag = (off_t)fsgeo.agblocks *
+ (off_t)fsgeo.blocksize / BBSIZE;
sunit = (fsgeo.sunit * fsgeo.blocksize) / BBSIZE;
swidth = (fsgeo.swidth * fsgeo.blocksize) / BBSIZE;
}
diff --git a/io/copy_file_range.c b/io/copy_file_range.c
index d154fa7..422e691 100644
--- a/io/copy_file_range.c
+++ b/io/copy_file_range.c
@@ -54,7 +54,7 @@ copy_file_range_cmd(int fd, long long *src_off, long long *dst_off, size_t len)
return 0;
}
-static off64_t
+static off_t
copy_src_filesize(int fd)
{
struct stat st;
@@ -154,7 +154,7 @@ copy_range_f(int argc, char **argv)
}
if (!len_specified) {
- off64_t sz;
+ off_t sz;
sz = copy_src_filesize(fd);
if (sz < 0 || (unsigned long long)sz > SIZE_MAX) {
diff --git a/io/cowextsize.c b/io/cowextsize.c
index f6b134d..00e40c6 100644
--- a/io/cowextsize.c
+++ b/io/cowextsize.c
@@ -50,10 +50,10 @@ static int
set_cowextsize(const char *path, int fd, long extsz)
{
struct fsxattr fsx;
- struct stat64 stat;
+ struct stat stat;
- if (fstat64(fd, &stat) < 0) {
- perror("fstat64");
+ if (fstat(fd, &stat) < 0) {
+ perror("fstat");
exitcode = 1;
return 0;
}
diff --git a/io/fadvise.c b/io/fadvise.c
index 60cc0f0..0966c41 100644
--- a/io/fadvise.c
+++ b/io/fadvise.c
@@ -39,7 +39,7 @@ fadvise_f(
int argc,
char **argv)
{
- off64_t offset = 0, length = 0;
+ off_t offset = 0, length = 0;
int c, range = 0, advise = POSIX_FADV_NORMAL;
while ((c = getopt(argc, argv, "dnrsw")) != EOF) {
diff --git a/io/fiemap.c b/io/fiemap.c
index f0c74df..b41f71b 100644
--- a/io/fiemap.c
+++ b/io/fiemap.c
@@ -234,9 +234,9 @@ fiemap_f(
int tot_w = 5; /* 5 since its just one number */
int flg_w = 5;
__u64 last_logical = 0; /* last extent offset handled */
- off64_t start_offset = 0; /* mapping start */
- off64_t length = -1LL; /* mapping length */
- off64_t range_end = -1LL; /* mapping end*/
+ off_t start_offset = 0; /* mapping start */
+ off_t length = -1LL; /* mapping length */
+ off_t range_end = -1LL; /* mapping end*/
size_t fsblocksize, fssectsize;
struct stat st;
diff --git a/io/fsmap.c b/io/fsmap.c
index 7db5184..bf11963 100644
--- a/io/fsmap.c
+++ b/io/fsmap.c
@@ -170,7 +170,7 @@ dump_map_verbose(
unsigned long long i;
struct fsmap *p;
int agno;
- off64_t agoff, bperag;
+ off_t agoff, bperag;
int foff_w, boff_w, aoff_w, tot_w, agno_w, own_w;
int nr_w, dev_w;
char rbuf[40], bbuf[40], abuf[40], obuf[40];
@@ -183,8 +183,8 @@ dump_map_verbose(
dev_w = 3;
nr_w = 4;
tot_w = MINTOT_WIDTH;
- bperag = (off64_t)fsgeo->agblocks *
- (off64_t)fsgeo->blocksize;
+ bperag = (off_t)fsgeo->agblocks *
+ (off_t)fsgeo->blocksize;
sunit = (fsgeo->sunit * fsgeo->blocksize);
swidth = (fsgeo->swidth * fsgeo->blocksize);
diff --git a/io/io.h b/io/io.h
index 64b7a66..5f42301 100644
--- a/io/io.h
+++ b/io/io.h
@@ -53,7 +53,7 @@ extern int stat_f(int argc, char **argv);
typedef struct mmap_region {
void *addr; /* address of start of mapping */
size_t length; /* length of mapping */
- off64_t offset; /* start offset into backing file */
+ off_t offset; /* start offset into backing file */
int prot; /* protection mode of the mapping */
int flags; /* MAP_* flags passed to mmap() */
char *name; /* name of backing file */
@@ -63,13 +63,13 @@ extern mmap_region_t *maptable; /* mmap'd region array */
extern int mapcount; /* #entries in the mapping table */
extern mmap_region_t *mapping; /* active mapping table entry */
extern int maplist_f(void);
-extern void *check_mapping_range(mmap_region_t *, off64_t, size_t, int);
+extern void *check_mapping_range(mmap_region_t *, off_t, size_t, int);
/*
* Various xfs_io helper routines/globals
*/
-extern off64_t filesize(void);
+extern off_t filesize(void);
extern int openfile(char *, struct xfs_fsop_geom *, int, mode_t,
struct fs_path *);
extern int addfile(char *, int , struct xfs_fsop_geom *, int,
@@ -84,9 +84,9 @@ extern size_t io_buffersize;
extern int vectors;
extern struct iovec *iov;
extern int alloc_buffer(size_t, int, unsigned int);
-extern int read_buffer(int, off64_t, long long, long long *,
+extern int read_buffer(int, off_t, long long, long long *,
int, int);
-extern void dump_buffer(off64_t, ssize_t);
+extern void dump_buffer(off_t, ssize_t);
extern void attr_init(void);
extern void bmap_init(void);
diff --git a/io/madvise.c b/io/madvise.c
index bde3153..6e9c5b1 100644
--- a/io/madvise.c
+++ b/io/madvise.c
@@ -39,7 +39,7 @@ madvise_f(
int argc,
char **argv)
{
- off64_t offset, llength;
+ off_t offset, llength;
size_t length;
void *start;
int advise = MADV_NORMAL, c;
diff --git a/io/mincore.c b/io/mincore.c
index 67f1d6c..24147ac 100644
--- a/io/mincore.c
+++ b/io/mincore.c
@@ -17,7 +17,7 @@ mincore_f(
int argc,
char **argv)
{
- off64_t offset, llength;
+ off_t offset, llength;
size_t length;
size_t blocksize, sectsize;
void *start;
diff --git a/io/mmap.c b/io/mmap.c
index 7114404..128a2c0 100644
--- a/io/mmap.c
+++ b/io/mmap.c
@@ -64,11 +64,11 @@ print_mapping(
void *
check_mapping_range(
mmap_region_t *map,
- off64_t offset,
+ off_t offset,
size_t length,
int pagealign)
{
- off64_t relative;
+ off_t relative;
if (offset < mapping->offset) {
printf(_("offset (%lld) is before start of mapping (%lld)\n"),
@@ -156,7 +156,7 @@ mmap_f(
int argc,
char **argv)
{
- off64_t offset;
+ off_t offset;
ssize_t length = 0, length2 = 0;
void *address = NULL;
char *filename;
@@ -309,7 +309,7 @@ msync_f(
int argc,
char **argv)
{
- off64_t offset;
+ off_t offset;
ssize_t length;
void *start;
int c, flags = 0;
@@ -402,7 +402,7 @@ mread_f(
int argc,
char **argv)
{
- off64_t offset, tmp, dumpoffset, printoffset;
+ off_t offset, tmp, dumpoffset, printoffset;
ssize_t length;
size_t dumplen, cnt = 0;
char *bp;
@@ -567,7 +567,7 @@ mwrite_f(
int argc,
char **argv)
{
- off64_t offset, tmp;
+ off_t offset, tmp;
ssize_t length;
void *start;
char *sp;
diff --git a/io/pread.c b/io/pread.c
index 0f1d8b9..79990c6 100644
--- a/io/pread.c
+++ b/io/pread.c
@@ -116,7 +116,7 @@ alloc_buffer(
static void
__dump_buffer(
void *buf,
- off64_t offset,
+ off_t offset,
ssize_t len)
{
int i, j;
@@ -141,7 +141,7 @@ __dump_buffer(
void
dump_buffer(
- off64_t offset,
+ off_t offset,
ssize_t len)
{
int i, l;
@@ -164,7 +164,7 @@ dump_buffer(
static ssize_t
do_preadv(
int fd,
- off64_t offset,
+ off_t offset,
long long count)
{
int vecs = 0;
@@ -199,7 +199,7 @@ do_preadv(
static ssize_t
do_pread(
int fd,
- off64_t offset,
+ off_t offset,
long long count,
size_t buffer_size)
{
@@ -212,13 +212,13 @@ do_pread(
static int
read_random(
int fd,
- off64_t offset,
+ off_t offset,
long long count,
long long *total,
unsigned int seed,
int eof)
{
- off64_t end, off, range;
+ off_t end, off, range;
ssize_t bytes;
int ops = 0;
@@ -259,12 +259,12 @@ read_random(
static int
read_backward(
int fd,
- off64_t *offset,
+ off_t *offset,
long long *count,
long long *total,
int eof)
{
- off64_t end, off = *offset;
+ off_t end, off = *offset;
ssize_t bytes = 0, bytes_requested;
long long cnt = *count;
int ops = 0;
@@ -319,7 +319,7 @@ read_backward(
static int
read_forward(
int fd,
- off64_t offset,
+ off_t offset,
long long count,
long long *total,
int verbose,
@@ -353,7 +353,7 @@ read_forward(
int
read_buffer(
int fd,
- off64_t offset,
+ off_t offset,
long long count,
long long *total,
int verbose,
@@ -368,7 +368,7 @@ pread_f(
char **argv)
{
size_t bsize;
- off64_t offset;
+ off_t offset;
unsigned int zeed = 0;
long long count, total, tmp;
size_t fsblocksize, fssectsize;
diff --git a/io/pwrite.c b/io/pwrite.c
index 467bfa9..8d134c5 100644
--- a/io/pwrite.c
+++ b/io/pwrite.c
@@ -54,7 +54,7 @@ pwrite_help(void)
static ssize_t
do_pwritev(
int fd,
- off64_t offset,
+ off_t offset,
long long count,
int pwritev2_flags)
{
@@ -97,7 +97,7 @@ do_pwritev(
static ssize_t
do_pwrite(
int fd,
- off64_t offset,
+ off_t offset,
long long count,
size_t buffer_size,
int pwritev2_flags)
@@ -110,13 +110,13 @@ do_pwrite(
static int
write_random(
- off64_t offset,
+ off_t offset,
long long count,
unsigned int seed,
long long *total,
int pwritev2_flags)
{
- off64_t off, range;
+ off_t off, range;
ssize_t bytes;
int ops = 0;
@@ -155,12 +155,12 @@ write_random(
static int
write_backward(
- off64_t offset,
+ off_t offset,
long long *count,
long long *total,
int pwritev2_flags)
{
- off64_t end, off = offset;
+ off_t end, off = offset;
ssize_t bytes = 0, bytes_requested;
long long cnt = *count;
int ops = 0;
@@ -214,11 +214,11 @@ write_backward(
static int
write_buffer(
- off64_t offset,
+ off_t offset,
long long count,
size_t bs,
int fd,
- off64_t skip,
+ off_t skip,
long long *total,
int pwritev2_flags)
{
@@ -253,7 +253,7 @@ write_buffer(
static int
write_once(
- off64_t offset,
+ off_t offset,
long long count,
long long *total,
int pwritev2_flags)
@@ -275,7 +275,7 @@ pwrite_f(
char **argv)
{
size_t bsize;
- off64_t offset, skip = 0;
+ off_t offset, skip = 0;
long long count, total, tmp;
unsigned int zeed = 0, seed = 0xcdcdcdcd;
size_t fsblocksize, fssectsize;
diff --git a/io/reflink.c b/io/reflink.c
index 8e4f389..b6a3c05 100644
--- a/io/reflink.c
+++ b/io/reflink.c
@@ -98,7 +98,7 @@ dedupe_f(
int argc,
char **argv)
{
- off64_t soffset, doffset;
+ off_t soffset, doffset;
long long count, total;
char *infile;
int condensed, quiet_flag;
@@ -226,7 +226,7 @@ reflink_f(
int argc,
char **argv)
{
- off64_t soffset, doffset;
+ off_t soffset, doffset;
long long count = 0, total;
char *infile = NULL;
int condensed, quiet_flag;
diff --git a/io/seek.c b/io/seek.c
index 6734ecb..ffe7439 100644
--- a/io/seek.c
+++ b/io/seek.c
@@ -63,8 +63,8 @@ static void
seek_output(
int startflag,
char *type,
- off64_t start,
- off64_t offset)
+ off_t start,
+ off_t offset)
{
if (offset == -1) {
if (errno == ENXIO) {
@@ -92,7 +92,7 @@ seek_f(
int argc,
char **argv)
{
- off64_t offset, start;
+ off_t offset, start;
size_t fsblocksize, fssectsize;
int c;
int current; /* specify data or hole */
diff --git a/io/sendfile.c b/io/sendfile.c
index a003bb5..2ce569c 100644
--- a/io/sendfile.c
+++ b/io/sendfile.c
@@ -34,12 +34,12 @@ sendfile_help(void)
static int
send_buffer(
- off64_t offset,
+ off_t offset,
size_t count,
int fd,
long long *total)
{
- off64_t off = offset;
+ off_t off = offset;
ssize_t bytes, bytes_remaining = count;
int ops = 0;
@@ -66,7 +66,7 @@ sendfile_f(
int argc,
char **argv)
{
- off64_t offset = 0;
+ off_t offset = 0;
long long count, total;
size_t blocksize, sectsize;
struct timeval t1, t2;
diff --git a/io/stat.c b/io/stat.c
index b57f9ee..e8f68dc 100644
--- a/io/stat.c
+++ b/io/stat.c
@@ -21,7 +21,7 @@ static cmdinfo_t stat_cmd;
static cmdinfo_t statfs_cmd;
static cmdinfo_t statx_cmd;
-off64_t
+off_t
filesize(void)
{
struct stat st;
diff --git a/io/sync_file_range.c b/io/sync_file_range.c
index 94285c2..2375a06 100644
--- a/io/sync_file_range.c
+++ b/io/sync_file_range.c
@@ -30,7 +30,7 @@ sync_range_f(
int argc,
char **argv)
{
- off64_t offset = 0, length = 0;
+ off_t offset = 0, length = 0;
int c, sync_mode = 0;
size_t blocksize, sectsize;
diff --git a/io/truncate.c b/io/truncate.c
index 1d04919..a74b613 100644
--- a/io/truncate.c
+++ b/io/truncate.c
@@ -16,7 +16,7 @@ truncate_f(
int argc,
char **argv)
{
- off64_t offset;
+ off_t offset;
size_t blocksize, sectsize;
init_cvtnum(&blocksize, &sectsize);
diff --git a/libxfs/rdwr.c b/libxfs/rdwr.c
index d5aad3e..0faa05b 100644
--- a/libxfs/rdwr.c
+++ b/libxfs/rdwr.c
@@ -576,7 +576,7 @@ libxfs_balloc(
static int
-__read_buf(int fd, void *buf, int len, off64_t offset, int flags)
+__read_buf(int fd, void *buf, int len, off_t offset, int flags)
{
int sts;
@@ -639,7 +639,7 @@ libxfs_readbufr_map(struct xfs_buftarg *btp, struct xfs_buf *bp, int flags)
fd = libxfs_device_to_fd(btp->bt_bdev);
buf = bp->b_addr;
for (i = 0; i < bp->b_nmaps; i++) {
- off64_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
+ off_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
int len = BBTOB(bp->b_maps[i].bm_len);
error = __read_buf(fd, buf, len, offset, flags);
@@ -798,7 +798,7 @@ err:
}
static int
-__write_buf(int fd, void *buf, int len, off64_t offset, int flags)
+__write_buf(int fd, void *buf, int len, off_t offset, int flags)
{
int sts;
@@ -864,7 +864,7 @@ libxfs_bwrite(
void *buf = bp->b_addr;
for (i = 0; i < bp->b_nmaps; i++) {
- off64_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
+ off_t offset = LIBXFS_BBTOOFF64(bp->b_maps[i].bm_bn);
int len = BBTOB(bp->b_maps[i].bm_len);
bp->b_error = __write_buf(fd, buf, len, offset,
diff --git a/mdrestore/xfs_mdrestore.c b/mdrestore/xfs_mdrestore.c
index 7c1a66c..bb54e38 100644
--- a/mdrestore/xfs_mdrestore.c
+++ b/mdrestore/xfs_mdrestore.c
@@ -116,7 +116,7 @@ perform_restore(
/* ensure device is sufficiently large enough */
char *lb[XFS_MAX_SECTORSIZE] = { NULL };
- off64_t off;
+ off_t off;
off = sb.sb_dblocks * sb.sb_blocksize - sizeof(lb);
if (pwrite(dst_fd, lb, sizeof(lb), off) < 0)
diff --git a/repair/prefetch.c b/repair/prefetch.c
index 017750e..35b5013 100644
--- a/repair/prefetch.c
+++ b/repair/prefetch.c
@@ -475,7 +475,7 @@ pf_batch_read(
{
struct xfs_buf *bplist[MAX_BUFS];
unsigned int num;
- off64_t first_off, last_off, next_off;
+ off_t first_off, last_off, next_off;
int len, size;
int i;
int inode_bufs;
diff --git a/scrub/spacemap.c b/scrub/spacemap.c
index 03440d3..00bee17 100644
--- a/scrub/spacemap.c
+++ b/scrub/spacemap.c
@@ -97,11 +97,11 @@ scan_ag_rmaps(
struct scrub_ctx *ctx = (struct scrub_ctx *)wq->wq_ctx;
struct scan_blocks *sbx = arg;
struct fsmap keys[2];
- off64_t bperag;
+ off_t bperag;
int ret;
- bperag = (off64_t)ctx->mnt.fsgeom.agblocks *
- (off64_t)ctx->mnt.fsgeom.blocksize;
+ bperag = (off_t)ctx->mnt.fsgeom.agblocks *
+ (off_t)ctx->mnt.fsgeom.blocksize;
memset(keys, 0, sizeof(struct fsmap) * 2);
keys->fmr_device = ctx->fsinfo.fs_datadev;
diff --git a/spaceman/freesp.c b/spaceman/freesp.c
index 423568a..df878ce 100644
--- a/spaceman/freesp.c
+++ b/spaceman/freesp.c
@@ -62,7 +62,7 @@ static void
addtohist(
xfs_agnumber_t agno,
xfs_agblock_t agbno,
- off64_t len)
+ off_t len)
{
long i;
@@ -152,7 +152,7 @@ scan_ag(
struct fsmap *l, *h;
struct fsmap *p;
struct xfs_fd *xfd = &file->xfd;
- off64_t aglen;
+ off_t aglen;
xfs_agblock_t agbno;
unsigned long long freeblks = 0;
unsigned long long freeexts = 0;
diff --git a/spaceman/trim.c b/spaceman/trim.c
index e9ed47e..727dd81 100644
--- a/spaceman/trim.c
+++ b/spaceman/trim.c
@@ -26,7 +26,7 @@ trim_f(
struct xfs_fd *xfd = &file->xfd;
struct xfs_fsop_geom *fsgeom = &xfd->fsgeom;
xfs_agnumber_t agno = 0;
- off64_t offset = 0;
+ off_t offset = 0;
ssize_t length = 0;
ssize_t minlen = 0;
int aflag = 0;

View File

@@ -0,0 +1,13 @@
Index: xfsprogs-4.14.0/include/builddefs.in
===================================================================
--- xfsprogs-4.14.0.orig/include/builddefs.in
+++ xfsprogs-4.14.0/include/builddefs.in
@@ -168,7 +168,7 @@ ifeq ($(ENABLE_GETTEXT),yes)
GCFLAGS += -DENABLE_GETTEXT
endif
-BUILD_CFLAGS += $(GCFLAGS) $(PCFLAGS)
+BUILD_CFLAGS += $(GCFLAGS)
# First, Sanitizer, Global, Platform, Local CFLAGS
CFLAGS += $(FCFLAGS) $(SANITIZER_CFLAGS) $(OPTIMIZER) $(GCFLAGS) $(PCFLAGS) $(LCFLAGS)

View File

@@ -0,0 +1,74 @@
SUMMARY = "XFS Filesystem Utilities"
HOMEPAGE = "http://oss.sgi.com/projects/xfs"
SECTION = "base"
LICENSE = "GPL-2.0-only & LGPL-2.1-only"
LICENSE:libhandle = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=e6a75371ba4d16749254a51215d13f97 \
file://LICENSES/LGPL-2.1;md5=b370887980db5dd40659b50909238dbd"
DEPENDS = "util-linux util-linux-native"
SRC_URI = "https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/${BP}.tar.xz \
file://remove_flags_from_build_flags.patch \
file://0002-include-include-xfs-linux.h-after-sys-mman.h.patch \
file://0001-support-usrmerge.patch \
file://0004-configure-Use-AC_SYS_LARGERFILE-autoconf-macro.patch \
file://0005-Replace-off64_t-stat64-with-off_t-stat.patch \
"
SRC_URI[sha256sum] = "05e8a137870db1d6182df72dda98ab7a7100deb376947e854b9d59c914c2c7bb"
inherit autotools-brokensep pkgconfig
PACKAGES =+ "${PN}-fsck ${PN}-mkfs ${PN}-repair libhandle"
DEPENDS += "util-linux libinih liburcu"
RDEPENDS:${PN} = "${PN}-fsck ${PN}-mkfs ${PN}-repair"
FILES:${PN}-fsck = "${base_sbindir}/fsck.xfs"
FILES:${PN}-mkfs = "${base_sbindir}/mkfs.xfs"
FILES:${PN}-repair = "${base_sbindir}/xfs_repair"
FILES:libhandle = "${base_libdir}/libhandle${SOLIBS}"
EXTRA_OECONF = "--enable-gettext=no \
--enable-scrub=no \
INSTALL_USER=root \
INSTALL_GROUP=root \
ac_cv_header_aio_h=yes \
ac_cv_lib_rt_lio_listio=yes \
OPTIMIZER='${SELECTED_OPTIMIZATION}' \
"
DISABLE_STATIC = ""
EXTRA_AUTORECONF += "-I ${S}/m4 --exclude=autoheader"
PACKAGECONFIG ??= "blkid"
PACKAGECONFIG[blkid] = "--enable-blkid=yes,--enable-blkid=no,util-linux"
export DEBUG="-DNDEBUG"
export BUILD_VERBOSE="1"
export tagname="CC"
EXTRA_OEMAKE = "DIST_ROOT='${D}'"
do_configure () {
export BUILD_CC="${BUILD_CC} ${BUILD_CFLAGS}"
# Prevent Makefile from calling configure without arguments,
# when do_configure gets called for a second time.
rm -f ${B}/include/builddefs ${B}/include/platform_defs.h ${B}/configure
# Recreate configure script.
oe_runmake configure
install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.guess ${S}
install -m 0755 ${STAGING_DATADIR_NATIVE}/gnu-config/config.sub ${S}
oe_runconf
}
do_install:append() {
oe_runmake 'DESTDIR=${D}' install-dev
rm ${D}${libdir}/*.la
rmdir --ignore-fail-on-non-empty ${D}${libdir}
if [ ${libdir} != ${base_libdir} ];then
ln -sf -r ${D}${libdir}/libhandle.a ${D}${base_libdir}/libhandle.a
ln -sf -r ${D}${base_libdir}/libhandle.so ${D}${libdir}/libhandle.so
fi
}

View File

@@ -0,0 +1,28 @@
From f172ea004d34b00aa7bd5baff9422b2ab80df6e7 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 14 Aug 2022 13:32:10 -0700
Subject: [PATCH 1/2] Add a return type to aio_rw
Compilers complain about the function prototype otherwise
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
ltp/fsx.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/ltp/fsx.c b/ltp/fsx.c
index 12c2cc33..55b4e9b6 100644
--- a/ltp/fsx.c
+++ b/ltp/fsx.c
@@ -2429,6 +2429,7 @@ out_error:
return -1;
}
#else
+int
aio_rw(int rw, int fd, char *buf, unsigned len, unsigned offset)
{
fprintf(stderr, "io_rw: need AIO support!\n");
--
2.37.2

View File

@@ -0,0 +1,34 @@
From 2a4fed8331f996421e65db446559991a854e2ad3 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Fri, 24 Mar 2023 18:23:01 -0700
Subject: [PATCH] m4: Check for FTW_ACTIONRETVAL along with nftw
FTW_ACTIONRETVAL is glibc specific extention which is used to implement
xfsfind but it may not be available on other C library implementations on Linux
e.g. musl. Therefore ensure that these defines are available before declaring
nftw() to be usable
Upstream-Status: Submitted [https://lore.kernel.org/fstests/20230325012858.587801-1-raj.khem@gmail.com/T/#u]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Cc: Darrick J. Wong <djwong@kernel.org>
Cc: Zorro Lang <zlang@redhat.com>
---
m4/package_libcdev.m4 | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/m4/package_libcdev.m4 b/m4/package_libcdev.m4
index b41c087b..7f731044 100644
--- a/m4/package_libcdev.m4
+++ b/m4/package_libcdev.m4
@@ -132,7 +132,7 @@ AC_DEFUN([AC_HAVE_NFTW],
#include <stddef.h>
#include <ftw.h>
]], [[
- nftw("/", (int (*)(const char *, const struct stat *, int, struct FTW *))1, 0, 0);
+ nftw("/", (int (*)(const char *, const struct stat *, int, struct FTW *))1, 0, FTW_ACTIONRETVAL);
]])],[have_nftw=yes
AC_MSG_RESULT(yes)],[AC_MSG_RESULT(no)])
AC_SUBST(have_nftw)
--
2.40.0

View File

@@ -0,0 +1,47 @@
From dd43cbc7f50266cdc6210f2b920d7f648a83bdd6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sun, 14 Aug 2022 13:33:05 -0700
Subject: [PATCH 2/2] Drop detached_mounts_propagation and remove sys/mount.h
from vfs/utils.c
with glibc 2.36+ sys/mount.h conflicts with linux/mount.h and here
linux/mount.h is included via xfs/xfs.h header and we need sys/mount.h
for the mount() API prototype. Until thats resolved lets not build this
testcase
Upstream-Status: Inappropriate [Libc specific Workaround]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/Makefile | 2 +-
src/vfs/utils.c | 1 -
2 files changed, 1 insertion(+), 2 deletions(-)
diff --git a/src/Makefile b/src/Makefile
index 665edcf9..7debcbbd 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -31,7 +31,7 @@ LINUX_TARGETS = xfsctl bstat t_mtab getdevicesize preallo_rw_pattern_reader \
dio-invalidate-cache stat_test t_encrypted_d_revalidate \
attr_replace_test swapon mkswap t_attr_corruption t_open_tmpfiles \
fscrypt-crypt-util bulkstat_null_ocount splice-test chprojid_fail \
- detached_mounts_propagation ext4_resize t_readdir_3 splice2pipe \
+ ext4_resize t_readdir_3 splice2pipe \
uuid_ioctl
EXTRA_EXECS = dmerror fill2attr fill2fs fill2fs_check scaleread.sh \
diff --git a/src/vfs/utils.c b/src/vfs/utils.c
index 1388edda..aacd6c0a 100644
--- a/src/vfs/utils.c
+++ b/src/vfs/utils.c
@@ -10,7 +10,6 @@
#include <stdlib.h>
#include <sys/eventfd.h>
#include <sys/fsuid.h>
-#include <sys/mount.h>
#include <sys/prctl.h>
#include <sys/socket.h>
#include <sys/stat.h>
--
2.37.2

View File

@@ -0,0 +1,65 @@
SUMMARY = "File system QA test suite"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://LICENSES/GPL-2.0;md5=74274e8a218423e49eefdea80bc55038"
SRCREV_FORMAT = "xfstests_unionmount"
SRC_URI = "git://git.kernel.org/pub/scm/fs/xfs/xfstests-dev.git;branch=master;name=xfstests \
git://github.com/amir73il/unionmount-testsuite.git;branch=master;protocol=https;name=unionmount;destsuffix=unionmount-testsuite \
file://0001-Add-a-return-type-to-aio_rw.patch \
file://0002-Drop-detached_mounts_propagation-and-remove-sys-moun.patch \
file://0001-m4-Check-for-FTW_ACTIONRETVAL-along-with-nftw.patch \
"
SRCREV_xfstests = "f7765774a1b5cb98c2f21a892e82b3421f40e791"
SRCREV_unionmount = "e3825b16b46f4c4574a1a69909944c059835f914"
S = "${WORKDIR}/git"
inherit autotools-brokensep useradd
DEPENDS += "xfsprogs acl"
RDEPENDS:${PN} += "\
bash \
bc \
coreutils \
e2fsprogs \
e2fsprogs-tune2fs \
e2fsprogs-resize2fs \
libaio \
libcap-bin \
overlayfs-progs \
perl \
python3 \
python3-core \
xfsprogs \
acl \
"
USERADD_PACKAGES = "${PN}"
# these users are necessary to run the tests
USERADD_PARAM:${PN} = "-U -m fsgqa; -N 123456-fsgqa; -N fsgqa2"
EXTRA_OECONF = "INSTALL_USER=root INSTALL_GROUP=root"
TARGET_CC_ARCH:append:libc-musl = " -D_LARGEFILE64_SOURCE"
# install-sh script in the project is outdated
# we use the one from the latest libtool to solve installation issues
# It looks like the upstream is not interested in having it fixed :(
# https://www.spinics.net/lists/fstests/msg16981.html
do_configure:prepend() {
cp ${STAGING_DIR_NATIVE}${datadir}/libtool/build-aux/install-sh ${B}
}
do_install:append() {
unionmount_target_dir=${D}/usr/xfstests/unionmount-testsuite
install -d ${D}/usr/xfstests/unionmount-testsuite/tests
install -D ${WORKDIR}/unionmount-testsuite/tests/* -t $unionmount_target_dir/tests
install ${WORKDIR}/unionmount-testsuite/*.py -t $unionmount_target_dir
install ${WORKDIR}/unionmount-testsuite/run -t $unionmount_target_dir
install ${WORKDIR}/unionmount-testsuite/README -t $unionmount_target_dir
}
FILES:${PN} += "\
/usr/xfstests \
"

View File

@@ -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 = "GPL-3.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "http://www.gnu.org/software/${BPN}/${BPN}-${PV}.tar.gz"
SRC_URI[md5sum] = "a5e3dc4e0b92be6837f9ed6cbf7f9df5"
SRC_URI[sha256sum] = "91663d61bee61ff790b3f6861fdf57c54af0e238ab14f297b55bae8ab5d17684"
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 features_check
do_configure:prepend () {
touch NEWS
}
RDEPENDS:${PN} = "tk"
REQUIRED_DISTRO_FEATURES = "x11"
BBCLASSEXTEND = "native"