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

Submodule meta-openembedded deleted from 03fd1d368a

7
meta-openembedded/.gitignore vendored Normal file
View File

@@ -0,0 +1,7 @@
*.pyc
*.pyo
/*.patch
*.swp
*.orig
*.rej
*~

View File

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

7
meta-openembedded/README Normal file
View File

@@ -0,0 +1,7 @@
Collection of layers for the OE-core universe
Main layer maintainer: Armin Kuster <akuster808@gmail.com>
This repository is a collection of layers to suppliment OE-Core
with additional packages, Each layer have designated maintainer
Please see the respective READMEs in the layer subdirectories

View File

@@ -0,0 +1,453 @@
#!/usr/bin/env python
"""\
Sanitize a bitbake file following the OpenEmbedded style guidelines,
see http://openembedded.org/wiki/StyleGuide
(C) 2006 Cyril Romain <cyril.romain@gmail.com>
MIT license
TODO:
- add the others OpenEmbedded variables commonly used:
- parse command arguments and print usage on misuse
. prevent giving more than one .bb file in arguments
- write result to a file
- backup the original .bb file
- make a diff and ask confirmation for patching ?
- do not use startswith only:
/!\ startswith('SOMETHING') is not taken into account due to the previous startswith('S').
- count rule breaks and displays them in the order frequence
"""
from __future__ import print_function
import fileinput
import string
import re
__author__ = "Cyril Romain <cyril.romain@gmail.com>"
__version__ = "$Revision: 0.5 $"
# The standard set of variables often found in .bb files in the preferred order
OE_vars = [
'SUMMARY',
'DESCRIPTION',
'AUTHOR',
'HOMEPAGE',
'SECTION',
'LICENSE',
'LIC_FILES_CHKSUM',
'DEPENDS',
'PROVIDES',
'SRCREV',
'SRCDATE',
'PE',
'PV',
'PR',
'INC_PR',
'SRC_URI',
'S',
'GPE_TARBALL_SUFFIX',
'inherit',
'EXTRA_',
'export',
'do_fetch',
'do_unpack',
'do_patch',
'WORKDIR',
'acpaths',
'do_configure',
'do_compile',
'do_install',
'PACKAGES',
'PACKAGE_ARCH',
'RDEPENDS',
'RRECOMMENDS',
'RSUGGESTS',
'RPROVIDES',
'RCONFLICTS',
'FILES',
'do_package',
'do_stage',
'addhandler',
'addtask',
'bindir',
'headers',
'include',
'includedir',
'python',
'qtopiadir',
'pkg_preins',
'pkg_prerm',
'pkg_postins',
'pkg_postrm',
'require',
'sbindir',
'basesysconfdir',
'sysconfdir',
'ALLOW_EMPTY',
'ALTERNATIVE_NAME',
'ALTERNATIVE_PATH',
'ALTERNATIVE_LINK',
'ALTERNATIVE_PRIORITY',
'ALTNAME',
'AMD_DRIVER_LABEL',
'AMD_DRIVER_VERSION',
'ANGSTROM_EXTRA_INSTALL',
'APPDESKTOP',
'APPIMAGE',
'APPNAME',
'APPTYPE',
'APPWEB_BUILD',
'APPWEB_HOST',
'AR',
'ARCH',
'ARM_INSTRUCTION_SET',
'MIPS_INSTRUCTION_SET',
'ARM_MUTEX',
'ART_CONFIG',
'B',
'BJAM_OPTS',
'BJAM_TOOLS',
'BONOBO_HEADERS',
'BOOTSCRIPTS',
'BROKEN',
'BUILD_CPPFLAGS',
'CFLAGS',
'CCFLAGS',
'CMDLINE',
'COLLIE_MEMORY_SIZE',
'COMPATIBLE_HOST',
'COMPATIBLE_MACHINE',
'COMPILE_HERMES',
'CONFFILES',
'CONFLICTS',
'CORE_EXTRA_D',
'CORE_IMAGE_EXTRA_INSTALL',
'CORE_PACKAGES_D',
'CORE_PACKAGES_RD',
'CPPFLAGS',
'CVSDATE',
'CXXFLAGS',
'DEBIAN_NOAUTONAME',
'DEBUG_APPS',
'DEFAULT_PREFERENCE',
'DB4_CONFIG',
'EXCLUDE_FROM_SHLIBS',
'EXCLUDE_FROM_WORLD',
'FIXEDSRCDATE',
'GLIBC_ADDONS',
'GLIBC_EXTRA_OECONF',
'GNOME_VFS_HEADERS',
'HEADERS',
'INHIBIT_DEFAULT_DEPS',
'INITSCRIPT_PACKAGES',
'INITSCRIPT_NAME',
'INITSCRIPT_PARAMS',
'INSANE_SKIP',
'PACKAGE_INSTALL',
'KERNEL_IMAGETYPE',
'KERNEL_IMAGEDEST',
'KERNEL_OUTPUT',
'KERNEL_RELEASE',
'KERNEL_PRIORITY',
'KERNEL_SOURCE',
'KERNEL_SUFFIX',
'KERNEL_VERSION',
'K_MAJOR',
'K_MICRO',
'K_MINOR',
'HHV',
'KV',
'LDFLAGS',
'LD',
'LD_SO',
'LDLIBS',
'LEAD_SONAME',
'LIBTOOL',
'LIBBDB_EXTRA',
'LIBV',
'MACHINE_ESSENTIAL_EXTRA_RDEPENDS',
'MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS',
'MACHINE_EXTRA_RDEPENDS',
'MACHINE_EXTRA_RRECOMMENDS',
'MACHINE_FEATURES',
'MACHINE_TASKS',
'MACHINE',
'MACHTYPE',
'MAKE_TARGETS',
'MESSAGEUSER',
'MESSAGEHOME',
'MIRRORS',
'MUTEX',
'OE_QMAKE_INCDIR_QT',
'OE_QMAKE_CXXFLAGS',
'ORBIT_IDL_SRC',
'PARALLEL_MAKE',
'PAKCAGE_ARCH',
'PCMCIA_MANAGER',
'PKG_BASENAME',
'PKG',
'QEMU',
'QMAKE_PROFILES',
'QPEDIR',
'QPF_DESCRIPTION',
'QPF_PKGPATTERN',
'QT_CONFIG_FLAGS',
'QT_LIBRARY',
'ROOTFS_POSTPROCESS_COMMAND',
'RREPLACES',
'TARGET_CFLAGS',
'TARGET_CPPFLAGS',
'TARGET_LDFLAGS',
'UBOOT_MACHINE',
'UCLIBC_BASE',
'UCLIBC_PATCHES',
'USERADD_PACKAGES',
'USERADD_PARAM',
'VIRTUAL_NAME',
'XORG_PN',
'XSERVER',
'others'
]
varRegexp = r'^([a-zA-Z_0-9${}:-]*)([ \t]*)([+.:]?=[+.]?)([ \t]*)([^\t]+)'
routineRegexp = r'^([a-zA-Z0-9_ ${}:-]+?)\('
# Variables seen in the processed .bb
seen_vars = {}
for v in OE_vars:
seen_vars[v] = []
# _Format guideline #0_:
# No spaces are allowed at the beginning of lines that define a variable or
# a do_ routine
def respect_rule0(line):
return line.lstrip() == line
def conformTo_rule0(line):
return line.lstrip()
# _Format guideline #1_:
# No spaces are allowed behind the line continuation symbol '\'
def respect_rule1(line):
if line.rstrip().endswith('\\'):
return line.endswith('\\')
else:
return True
def conformTo_rule1(line):
return line.rstrip()
# _Format guideline #2_:
# Tabs should not be used (use spaces instead).
def respect_rule2(line):
return line.count('\t') == 0
def conformTo_rule2(line):
return line.expandtabs()
# _Format guideline #3_:
# Comments inside bb files are allowed using the '#' character at the
# beginning of a line.
def respect_rule3(line):
if line.lstrip().startswith('#'):
return line.startswith('#')
else:
return True
def conformTo_rule3(line):
return line.lstrip()
# _Format guideline #4_:
# Use quotes on the right hand side of assignments FOO = "BAR"
def respect_rule4(line):
r = re.search(varRegexp, line)
if r is not None:
r2 = re.search(r'("?)([^"\\]*)(["\\]?)', r.group(5))
# do not test for None it because always match
return r2.group(1) == '"' and r2.group(3) != ''
return False
def conformTo_rule4(line):
r = re.search(varRegexp, line)
return ''.join([r.group(1), ' ', r.group(3), ' "', r.group(5), r.group(5).endswith('"') and '' or '"'])
# _Format guideline #5_:
# The correct spacing for a variable is FOO = "BAR".
def respect_rule5(line):
r = re.search(varRegexp, line)
return r is not None and r.group(2) == " " and r.group(4) == " "
def conformTo_rule5(line):
r = re.search(varRegexp, line)
return ''.join([r.group(1), ' ', r.group(3), ' ', r.group(5)])
# _Format guideline #6_:
# Don't use spaces or tabs on empty lines
def respect_rule6(line):
return not line.isspace() or line == "\n"
def conformTo_rule6(line):
return ""
# _Format guideline #7_:
# Indentation of multiline variables such as SRC_URI is desireable.
def respect_rule7(line):
return True
def conformTo_rule7(line):
return line
rules = (
(respect_rule0, conformTo_rule0, "No spaces are allowed at the beginning of lines that define a variable or a do_ routine"),
(respect_rule1, conformTo_rule1, "No spaces are allowed behind the line continuation symbol '\\'"),
(respect_rule2, conformTo_rule2, "Tabs should not be used (use spaces instead)"),
(respect_rule3, conformTo_rule3, "Comments inside bb files are allowed using the '#' character at the beginning of a line"),
(respect_rule4, conformTo_rule4, "Use quotes on the right hand side of assignments FOO = \"BAR\""),
(respect_rule5, conformTo_rule5, "The correct spacing for a variable is FOO = \"BAR\""),
(respect_rule6, conformTo_rule6, "Don't use spaces or tabs on empty lines"),
(respect_rule7, conformTo_rule7, "Indentation of multiline variables such as SRC_URI is desireable"),
)
# Function to check that a line respects a rule. If not, it tries to conform
# the line to the rule. Reminder or Disgression message are dump accordingly.
def follow_rule(i, line):
oldline = line
# if the line does not respect the rule
if not rules[i][0](line):
# try to conform it to the rule
line = rules[i][1](line)
# if the line still does not respect the rule
if not rules[i][0](line):
# this is a rule disgression
print("## Disgression: ", rules[i][2], " in: '", oldline, "'")
else:
# just remind user about his/her errors
print("## Reminder: ", rules[i][2], " in : '", oldline, "'")
return line
if __name__ == "__main__":
# -- retrieves the lines of the .bb file --
lines = []
for line in fileinput.input():
# use 'if True' to warn user about all the rule he/she breaks
# use 'if False' to conform to rules{2,1,6} without warnings
if True:
lines.append(line)
else:
# expandtabs on each line so that rule2 is always respected
# rstrip each line so that rule1 is always respected
line = line.expandtabs().rstrip()
# ignore empty lines (or line filled with spaces or tabs only)
# so that rule6 is always respected
if line != '':
lines.append(line)
# -- parse the file --
var = ""
in_routine = False
commentBloc = []
olines = []
for line in lines:
originalLine = line
# rstrip line to remove line breaks characters
line = line.rstrip()
line = follow_rule(2, line)
line = follow_rule(1, line)
line = follow_rule(6, line)
# ignore empty lines
if line.isspace() or line == '':
# flush comments into the olines
for c in commentBloc:
olines.append(c)
commentBloc = []
continue
if line.startswith('}'):
in_routine = False
keep = line.endswith('\\') or in_routine
# handles commented lines
if line.lstrip().startswith('#'):
# check and follow rule3 if not in a variables or routines
if not in_routine:
line = follow_rule(3, line)
commentBloc.append(line)
continue
if var in seen_vars:
for c in commentBloc:
seen_vars[var].append(c)
commentBloc = []
seen_vars[var].append(line)
else:
for k in OE_vars:
if line.startswith(k):
var = k
break
if re.match(routineRegexp, line) is not None:
in_routine = True
line = follow_rule(0, line)
elif re.match(varRegexp, line) is not None:
line = follow_rule(0, line)
line = follow_rule(4, line)
line = follow_rule(5, line)
if var == "":
if not in_routine:
print("## Warning: unknown variable/routine \"%s\"" % originalLine.rstrip('\n'))
var = 'others'
for c in commentBloc:
seen_vars[var].append(c)
commentBloc = []
seen_vars[var].append(line)
if not keep and not in_routine:
var = ""
# -- dump the sanitized .bb file --
addEmptyLine = False
# write comments that are not related to variables nor routines
for l in commentBloc:
olines.append(l)
# write variables and routines
previourVarPrefix = "unknown"
for k in OE_vars:
if k == 'SRC_URI':
addEmptyLine = True
if seen_vars[k] != []:
if addEmptyLine and not k.startswith(previourVarPrefix):
olines.append("")
for l in seen_vars[k]:
olines.append(l)
previourVarPrefix = k.split('_')[0] == '' and "unknown" or k.split('_')[0]
for line in olines:
print(line)

View File

@@ -0,0 +1,15 @@
#!/bin/sh
#
# Idea and implementation: Koen Kooi
# Multiple patches support: Marcin Juszkiewicz
#
# This script will fetch an 'mbox' patch from patchwork and git am it
# usage: pw-am.sh <number>
# example: 'pw-am.sh 221' will get the patch from http://patchwork.openembedded.org/patch/221/
for patchnumber in $@;
do
wget -nv http://patchwork.yoctoproject.org/patch/$patchnumber/mbox/ -O pw-am-$patchnumber.patch
git am -s pw-am-$patchnumber.patch
rm pw-am-$patchnumber.patch
done

View File

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

View File

@@ -0,0 +1,101 @@
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/openembedded-core
layers: meta
branch: mickledore
URI: git://git.openembedded.org/meta-openembedded
layers: meta-oe
branch: mickledore
Patches
=======
Please submit any patches against the filesystems layer to the
OpenEmbedded development mailing list (openembedded-devel@lists.openembedded.org)
with '[meta-filesystems][mickledore]' in the subject.
Layer maintainer: Armin Kuster <akuster808@gmail.com>
When sending single patches, please use something like:
git send-email -1 -M \
--to openembedded-devel@lists.openembedded.org \
--subject-prefix='meta-filesystems][mickledore][PATCH'
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.

View File

@@ -0,0 +1,18 @@
# 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 = "5"
# 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"
LAYERSERIES_COMPAT_filesystems-layer = "mickledore"

View File

@@ -0,0 +1,22 @@
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 = "https://github.com/relan/exfat"
SECTION = "universe/otherosfs"
LICENSE = "GPL-2.0-or-later"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "https://github.com/relan/exfat/releases/download/v${PV}/${BP}.tar.gz"
UPSTREAM_CHECK_URI = "https://github.com/relan/exfat/releases"
DEPENDS = "fuse virtual/libc"
RRECOMMENDS:${PN} = "util-linux-mount"
inherit autotools pkgconfig
SRC_URI[md5sum] = "846b8c36bfa4684719f9e08e9d3a6bff"
SRC_URI[sha256sum] = "07652136064da5e4d32df5555f88c138ffa4835a23b88a5bae2015f21006e0d3"
EXTRA_OECONF += "sbindir=${base_sbindir}"

View File

@@ -0,0 +1,22 @@
SUMMARY = "This is a filesystem client based on the HTTP using FUSE"
HOMEPAGE = "http://httpfs.sourceforge.net"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://debian/copyright;md5=83f224c5182f148ec92e0b9f84b3c6c7"
inherit pkgconfig
DEPENDS += "fuse"
RDEPENDS:${PN} += "fuse"
SRC_URI += "${SOURCEFORGE_MIRROR}/project/httpfs/httpfs2/httpfs2-${PV}.tar.gz"
SRC_URI[sha256sum] = "01cb4bb38deb344f540da6f1464dc7edbdeb51213ad810b8c9c282c1e17e0fc1"
S = "${WORKDIR}/httpfs2-${PV}"
do_compile() {
oe_runmake -C ${S} httpfs2
}
do_install() {
install -Dm 0755 ${S}/httpfs2 ${D}${bindir}/httpfs2
}

View File

@@ -0,0 +1,13 @@
SUMMARY = "A fuse filesystem to access the contents of an iPhone or iPod Touch"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=6ab17b41640564434dda85c06b7124f7"
HOMEPAGE ="http://www.libimobiledevice.org/"
DEPENDS = "fuse libimobiledevice"
SRC_URI = "https://github.com/libimobiledevice/ifuse/releases/download/${PV}/ifuse-${PV}.tar.bz2"
SRC_URI[md5sum] = "cd31fbd0ea945b2ff1e39eac8d198fdd"
SRC_URI[sha256sum] = "3550702ef94b2f5f16c7db91c6b3282b2aed1340665834a03e47458e09d98d87"
inherit autotools pkgconfig

View File

@@ -0,0 +1,7 @@
SUMMARY = "meta-filesystems build test image"
IMAGE_INSTALL = "packagegroup-core-boot"
LICENSE = "MIT"
inherit core-image

View File

@@ -0,0 +1,3 @@
require meta-filesystems-image-base.bb
IMAGE_INSTALL += "packagegroup-meta-filesystems"

View File

@@ -0,0 +1,46 @@
From a322794f80f2718ae4463669c4b6ab2fbb15ffec Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Wed, 5 Apr 2017 17:36:45 +0000
Subject: [PATCH] Add $(LDFLAGS) to linker cmdline
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Makefile | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: git/Makefile
===================================================================
--- git.orig/Makefile
+++ git/Makefile
@@ -14,7 +14,7 @@ ZLIB_O := crc32.o deflate.o adler32.o co
CC := gcc
CHECK := cgcc
CHECKFLAGS := -D__CHECK_ENDIAN__
-CFLAGS := -std=gnu99
+CFLAGS += -std=gnu99
CFLAGS += -Wall
CFLAGS += -Os
CFLAGS += -D_FILE_OFFSET_BITS=64
@@ -28,18 +28,18 @@ $(ZLIB_O): /usr/lib/libz.a
ifdef S
EXTRA_OBJ := $(ZLIB_O)
-CFLAGS += -static
+LDFLAGS += -static
else
-CFLAGS += -lz
+LDFLAGS += -lz
endif
mklogfs: $(EXTRA_OBJ)
mklogfs: mkfs.o lib.o btree.o segment.o readwrite.o
- $(CC) $(CFLAGS) -o $@ $^
+ $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
logfsck: $(ZLIB_O)
logfsck: fsck.o lib.o journal.o super.o
- $(CC) $(CFLAGS) -o $@ $^
+ $(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS)
$(OBJ): kerncompat.h logfs.h logfs_abi.h btree.h

View File

@@ -0,0 +1,135 @@
From 5a8e26157d9642f022587cc1ca7525213c7a5379 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 13 Jul 2017 18:41:53 -0700
Subject: [PATCH] btree: Avoid conflicts with libc namespace about setkey()
This issue is highlighted with musl mainly because the
function signature from stdlib.h does not match the local
static function
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
btree.c | 32 ++++++++++++++++----------------
1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/btree.c b/btree.c
index eddc33b..dd3fef9 100644
--- a/btree.c
+++ b/btree.c
@@ -123,7 +123,7 @@ static unsigned long bval(struct btree_geo *geo, unsigned long *node, int n)
return node[geo->no_pairs * geo->keylen + n];
}
-static void setkey(struct btree_geo *geo, unsigned long *node,
+static void _setkey(struct btree_geo *geo, unsigned long *node,
unsigned long *key, int n)
{
longcpy(bkey(geo, node, n), key, geo->keylen);
@@ -292,7 +292,7 @@ static unsigned long *find_level(struct btree_head *head, struct btree_geo *geo,
/* FIXME: If the right-most key on higher levels is
* always zero, this wouldn't be necessary. */
i--;
- setkey(geo, node, key, i);
+ _setkey(geo, node, key, i);
}
BUG_ON(i < 0);
node = (unsigned long *)bval(geo, node, i);
@@ -311,7 +311,7 @@ static int btree_grow(struct btree_head *head, struct btree_geo *geo)
return -ENOMEM;
if (head->node) {
fill = getfill(geo, head->node, 0);
- setkey(geo, node, bkey(geo, head->node, fill - 1), 0);
+ _setkey(geo, node, bkey(geo, head->node, fill - 1), 0);
setval(geo, node, (unsigned long)head->node, 0);
}
head->node = node;
@@ -342,16 +342,16 @@ static void steal_l(struct btree_head *head, struct btree_geo *geo, int level,
for (i = rfill - 1; i >= 0; i--) {
/* Shift entries on the right */
- setkey(geo, right, bkey(geo, right, i), i + no_entries);
+ _setkey(geo, right, bkey(geo, right, i), i + no_entries);
setval(geo, right, bval(geo, right, i), i + no_entries);
}
for (i = 0; i < no_entries; i++) {
/* Move some entries to the right */
- setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i);
+ _setkey(geo, right, bkey(geo, left, lfill - no_entries + i), i);
setval(geo, right, bval(geo, left, lfill - no_entries + i), i);
}
/* Set parent key */
- setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos);
+ _setkey(geo, parent, bkey(geo, left, lfill - no_entries - 1), lpos);
for (i = lfill - no_entries; i < lfill; i++)
clearpair(geo, left, i);
}
@@ -366,14 +366,14 @@ static void steal_r(struct btree_head *head, struct btree_geo *geo, int level,
for (i = 0; i < no_entries; i++) {
/* Move some entries to the left */
- setkey(geo, left, bkey(geo, right, i), lfill + i);
+ _setkey(geo, left, bkey(geo, right, i), lfill + i);
setval(geo, left, bval(geo, right, i), lfill + i);
}
/* Set parent key */
- setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos);
+ _setkey(geo, parent, bkey(geo, right, no_entries - 1), lpos);
/* Shift entries on the right */
for ( ; i < rfill; i++) {
- setkey(geo, right, bkey(geo, right, i), i - no_entries);
+ _setkey(geo, right, bkey(geo, right, i), i - no_entries);
setval(geo, right, bval(geo, right, i), i - no_entries);
}
for (i = rfill - no_entries; i < rfill; i++)
@@ -399,14 +399,14 @@ static int split(struct btree_head *head, struct btree_geo *geo,
return err;
}
for (i = 0; i < fill / 2; i++) {
- setkey(geo, new, bkey(geo, node, i), i);
+ _setkey(geo, new, bkey(geo, node, i), i);
setval(geo, new, bval(geo, node, i), i);
- setkey(geo, node, bkey(geo, node, i + fill / 2), i);
+ _setkey(geo, node, bkey(geo, node, i + fill / 2), i);
setval(geo, node, bval(geo, node, i + fill / 2), i);
clearpair(geo, node, i + fill / 2);
}
if (fill & 1) {
- setkey(geo, node, bkey(geo, node, fill - 1), i);
+ _setkey(geo, node, bkey(geo, node, fill - 1), i);
setval(geo, node, bval(geo, node, fill - 1), i);
clearpair(geo, node, fill - 1);
}
@@ -487,10 +487,10 @@ retry:
/* shift and insert */
for (i = fill; i > pos; i--) {
- setkey(geo, node, bkey(geo, node, i - 1), i);
+ _setkey(geo, node, bkey(geo, node, i - 1), i);
setval(geo, node, bval(geo, node, i - 1), i);
}
- setkey(geo, node, key, pos);
+ _setkey(geo, node, key, pos);
setval(geo, node, val, pos);
return 0;
@@ -513,7 +513,7 @@ static void merge(struct btree_head *head, struct btree_geo *geo, int level,
for (i = 0; i < rfill; i++) {
/* Move all entries to the left */
- setkey(geo, left, bkey(geo, right, i), lfill + i);
+ _setkey(geo, left, bkey(geo, right, i), lfill + i);
setval(geo, left, bval(geo, right, i), lfill + i);
}
/* Exchange left and right child in parent */
@@ -615,7 +615,7 @@ static void *btree_remove_level(struct btree_head *head, struct btree_geo *geo,
/* remove and shift */
for (i = pos; i < fill - 1; i++) {
- setkey(geo, node, bkey(geo, node, i + 1), i);
+ _setkey(geo, node, bkey(geo, node, i + 1), i);
setval(geo, node, bval(geo, node, i + 1), i);
}
clearpair(geo, node, fill - 1);
--
2.13.2

View File

@@ -0,0 +1,24 @@
From 3b02acbb3d5bc93422a6821ce47568633ef4ae5e Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 11 Aug 2018 15:09:24 -0700
Subject: [PATCH] include sys/sysmacros.h for major/minor definition
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
mkfs.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/mkfs.c b/mkfs.c
index e612cbd..b6aa63d 100644
--- a/mkfs.c
+++ b/mkfs.c
@@ -21,6 +21,7 @@
#include <sys/ioctl.h>
#include <sys/stat.h>
#include <sys/types.h>
+#include <sys/sysmacros.h>
#define __USE_UNIX98
#include <unistd.h>
#include <zlib.h>

View File

@@ -0,0 +1,30 @@
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 = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://fsck.c;md5=3859dc73da97909ff1d0125e88a27e02"
DEPENDS = "zlib"
SRC_URI = "git://github.com/prasad-joshi/logfsprogs.git;branch=master;protocol=https \
file://0001-Add-LDFLAGS-to-linker-cmdline.patch \
file://0001-btree-Avoid-conflicts-with-libc-namespace-about-setk.patch \
file://0001-include-sys-sysmacros.h-for-major-minor-definition.patch \
"
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"

View File

@@ -0,0 +1,52 @@
From 575591caf1e8972f765885679b76787ef92de77b Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Mon, 24 Apr 2017 04:24:10 -0400
Subject: [PATCH] libntfs-3g/Makefile.am: fix install failed while host dir not exist
While cross compiling, if the dir of "$(rootlibdir)" and "$(libdir)"
(such as "/usr/lib64") do not exist on host system, the do_instal failed.
-----------------------
make[3]: Entering directory `tmp/work/core2-64-wrs-linux/ntfs-3g-ntfsprogs/2017.3.23-r0/build/libntfs-3g'
if [ ! "/usr/lib64" -ef "/usr/lib64" ]; then \
mv -f "tmp/work/core2-64-wrs-linux/ntfs-3g-ntfsprogs/2017.3.23-r0/image//usr/lib64"/libntfs-3g.so* \
"tmp/work/core2-64-wrs-linux/ntfs-3g-ntfsprogs/2017.3.23-r0/image//usr/lib64"; \
fi
mv:...are the same file
-----------------------
Use `=' rather than `-ef' to compare them, the cross compile does not
care about host dir.
Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
libntfs-3g/Makefile.am | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/libntfs-3g/Makefile.am b/libntfs-3g/Makefile.am
index d6b150e..806109d 100644
--- a/libntfs-3g/Makefile.am
+++ b/libntfs-3g/Makefile.am
@@ -59,15 +59,15 @@ endif
# And create ldscript or symbolic link from /usr
install-exec-hook: install-rootlibLTLIBRARIES
if INSTALL_LIBRARY
- if [ ! "$(rootlibdir)" -ef "$(libdir)" ]; then \
+ if [ "$(rootlibdir)" != "$(libdir)" ]; then \
$(MV) -f "$(DESTDIR)/$(libdir)"/libntfs-3g.so* "$(DESTDIR)/$(rootlibdir)"; \
fi
if GENERATE_LDSCRIPT
- if [ ! "$(rootlibdir)" -ef "$(libdir)" ]; then \
+ if [ "$(rootlibdir)" != "$(libdir)" ]; then \
$(install_sh_PROGRAM) "libntfs-3g.script.so" "$(DESTDIR)/$(libdir)/libntfs-3g.so"; \
fi
else
- if [ ! "$(rootlibdir)" -ef "$(libdir)" ]; then \
+ if [ "$(rootlibdir)" != "$(libdir)" ]; then \
$(LN_S) "$(rootlibdir)/libntfs-3g.so" "$(DESTDIR)/$(libdir)/libntfs-3g.so"; \
fi
endif
--
2.8.1

View File

@@ -0,0 +1,53 @@
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 = "GPL-2.0-only & LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552 \
file://COPYING.LIB;md5=f30a9716ef3762e3467a2f62bf790f0a"
SRC_URI = "http://tuxera.com/opensource/ntfs-3g_ntfsprogs-${PV}.tgz \
file://0001-libntfs-3g-Makefile.am-fix-install-failed-while-host.patch \
"
S = "${WORKDIR}/ntfs-3g_ntfsprogs-${PV}"
SRC_URI[sha256sum] = "f20e36ee68074b845e3629e6bced4706ad053804cbaf062fbae60738f854170c"
UPSTREAM_CHECK_URI = "https://www.tuxera.com/community/open-source-ntfs-3g/"
UPSTREAM_CHECK_REGEX = "ntfs-3g_ntfsprogs-(?P<pver>\d+(\.\d+)+)\.tgz"
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 a symbolic link to let mount find ntfs.
ln -sf mount.ntfs-3g ${D}${base_sbindir}/mount.ntfs
rmdir ${D}${libdir}/ntfs-3g
# Handle when usrmerge is in effect. Some files are installed to /sbin
# regardless of the value of ${base_sbindir}.
if [ "${base_sbindir}" != /sbin ] && [ -d ${D}/sbin ]; then
mkdir -p ${D}${base_sbindir}
mv ${D}/sbin/* ${D}${base_sbindir}
rmdir ${D}/sbin
fi
}
# Satisfy the -dev runtime dependency
ALLOW_EMPTY:${PN} = "1"
CVE_PRODUCT = "tuxera:ntfs-3g"

View File

@@ -0,0 +1,25 @@
From dfeadd4eb43e829aafb0d10f611fa22ae81bfca4 Mon Sep 17 00:00:00 2001
From: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
Date: Sun, 20 Oct 2019 17:00:45 +0900
Subject: [PATCH] Add build rule for README.
fix do_configure error:
Makefile.am: required file `./README' not found
Signed-off-by: Zheng Ruoqin <zhengrq.fnst@cn.fujitsu.com>
---
Makefile.am | 1 +
1 file changed, 1 insertion(+)
diff --git a/Makefile.am b/Makefile.am
index e0c4ad6..0449321 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -35,3 +35,4 @@ rpmcvs: preparerpm
@LN_S@ -f `pwd`/@PACKAGE@-@VERSION@.tar.gz ${RPMDIR}/SOURCES/@PACKAGE@-@VERSION@_cvs_`date +"%Y%m%d"`.tar.gz
cd ${RPMDIR}/SPECS && @RPMBUILD@ -ba @PACKAGE@.spec --define 'cvs 1'
+README: README.md
--
2.7.4

View File

@@ -0,0 +1,44 @@
From a812202d22a2861318b8e39f1cd74cd222f8e76f Mon Sep 17 00:00:00 2001
From: "Azamat H. Hackimov" <azamat.hackimov@gmail.com>
Date: Tue, 9 Jun 2020 11:30:38 +0300
Subject: [PATCH] Fix compilation with GCC10
Fixed compilation with -fno-common, which enabled in GCC 10 by default.
See https://bugs.gentoo.org/707438.
Upstream-Status: Backport [https://github.com/owfs/owfs/pull/62]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
module/owserver/src/c/owserver.c | 2 ++
module/owserver/src/include/owserver.h | 2 +-
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/module/owserver/src/c/owserver.c b/module/owserver/src/c/owserver.c
index db29988e..2ed29161 100644
--- a/module/owserver/src/c/owserver.c
+++ b/module/owserver/src/c/owserver.c
@@ -36,6 +36,8 @@
#include "owserver.h"
+pthread_mutex_t persistence_mutex ;
+
/* --- Prototypes ------------ */
static void SetupAntiloop(int argc, char **argv);
diff --git a/module/owserver/src/include/owserver.h b/module/owserver/src/include/owserver.h
index 8be582f0..a257ed02 100644
--- a/module/owserver/src/include/owserver.h
+++ b/module/owserver/src/include/owserver.h
@@ -18,7 +18,7 @@
#include "ow.h"
#include "ow_connection.h"
-pthread_mutex_t persistence_mutex ;
+extern pthread_mutex_t persistence_mutex ;
#define PERSISTENCELOCK _MUTEX_LOCK( persistence_mutex ) ;
#define PERSISTENCEUNLOCK _MUTEX_UNLOCK( persistence_mutex ) ;
--
2.28.0

View File

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

View File

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

View File

@@ -0,0 +1,81 @@
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 = "GPL-2.0-only & LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=628b867016631792781a8735a04760e5 \
file://COPYING.LIB;md5=9021b7435efdd9fb22beef8291134099"
DEPENDS = "fuse virtual/libusb0"
# v3.2p3
SRCREV = "3744375dfaa350e31c9b360eb1e1a517bbeb5c47"
SRC_URI = "git://github.com/owfs/owfs;branch=master;protocol=https \
file://0001-Add-build-rule-for-README.patch \
file://0001-Fix-compilation-with-GCC10.patch \
file://owhttpd \
file://owserver \
"
S = "${WORKDIR}/git"
inherit autotools-brokensep update-rc.d pkgconfig systemd
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 ${systemd_system_unitdir}/owftpd.service"
FILES:owhttpd = "${bindir}/owhttpd ${sysconfdir}/init.d/owhttpd \
${systemd_system_unitdir}/owhttpd.service"
FILES:owserver = "${bindir}/owserver ${sysconfdir}/init.d/owserver \
${systemd_system_unitdir}/owserver.service \
${systemd_system_unitdir}/owserver.socket"
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-*"
FILES:${PN} += "${systemd_system_unitdir}/owfs.service"
INITSCRIPT_PACKAGES = "owhttpd owserver"
INITSCRIPT_NAME:owserver = "owserver"
INITSCRIPT_NAME:owhttpd = "owhttpd"
INITSCRIPT_PARAMS:owserver = "defaults 20"
INITSCRIPT_PARAMS:owhttpd = "defaults 21"
SYSTEMD_SERVICE:${PN} = "owfs.service"
SYSTEMD_SERVICE:${PN}-owftpd = "owftpd.service"
SYSTEMD_SERVICE:${PN}-owhttpd = "owhttpd.service"
SYSTEMD_SERVICE:${PN}-owserver = "owserver.service owserver.socket"

View File

@@ -0,0 +1,52 @@
SUMMARY = "Meta-filesystem packagegroups"
PACKAGE_ARCH = "${TUNE_PKGARCH}"
inherit packagegroup
PROVIDES = "${PACKAGES}"
PACKAGES = ' \
packagegroup-meta-filesystems \
packagegroup-meta-filesystems-support \
packagegroup-meta-filesystems-utls \
'
RDEPENDS:packagegroup-meta-filesystems = "\
packagegroup-meta-filesystems \
packagegroup-meta-filesystems-support \
packagegroup-meta-filesystems-utls \
"
RDEPENDS:packagegroup-meta-filesystems = "\
ifuse \
logfsprogs \
fuse-exfat \
owfs \
${@bb.utils.contains("DISTRO_FEATURES", "pam", "smbnetfs", "", d)} \
simple-mtpfs \
yaffs2-utils \
ntfs-3g-ntfsprogs \
httpfs2 \
unionfs-fuse \
sshfs-fuse \
"
RDEPENDS:packagegroup-meta-filesystems-support = "\
fuse3 \
fuse \
physfs \
"
RDEPENDS:packagegroup-meta-filesystems-utils = "\
aufs-util \
exfat-utils \
fatcat \
xfsdump \
f2fs-tools \
fatresize \
udevil \
ufs-utils \
xfsprogs \
xorriso \
"
EXCLUDE_FROM_WORLD = "1"

View File

@@ -0,0 +1,14 @@
DESCRIPTION = "SIMPLE-MTPFS is a FUSE based filsystem for MTP devices connected via USB"
HOMEPAGE = "https://github.com/phatina/simple-mtpfs"
BUGTRACKER = "19e7bb9b608b0c0dce2ee6f56fac75901bc69529"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=75859989545e37968a99b631ef42722e"
DEPENDS = "fuse libmtp autoconf-archive"
inherit autotools pkgconfig
SRC_URI = "git://github.com/phatina/simple-mtpfs.git;protocol=https;branch=master"
SRCREV = "19e7bb9b608b0c0dce2ee6f56fac75901bc69529"
S = "${WORKDIR}/git"

View File

@@ -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.ac b/configure.ac
index 4c03409..8d22e71 100644
--- a/configure.ac
+++ b/configure.ac
@@ -119,6 +119,11 @@ AC_CHECK_LIB(smbclient, smbc_setOptionUseCCache, [], [
LIBS="$LIBS $SMBCLIENT_LIBS"
CFLAGS="$CFLAGS $SMBCLIENT_CFLAGS"
+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 ccaa8c3..6598317 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -17,3 +17,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

View File

@@ -0,0 +1,9 @@
--- a/configure.ac
+++ b/configure.ac
@@ -1,5 +1,5 @@
AC_INIT([SMBNetFS],[0.6.3])
-AM_INIT_AUTOMAKE
+AM_INIT_AUTOMAKE([foreign])
AC_CONFIG_HEADERS([src/config.h])
AC_PROG_CC

View File

@@ -0,0 +1,32 @@
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 = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
HOMEPAGE ="http://sourceforge.net/projects/smbnetfs"
DEPENDS = "fuse samba"
DEPENDS:append:libc-musl = " libexecinfo"
inherit autotools pkgconfig features_check
# samba depends on libpam
REQUIRED_DISTRO_FEATURES = "pam"
PV = "0.6.3"
SRCREV = "736d5e599df3bebce3450125118ac2e70358b0c9"
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[libsecret] = "--with-libsecret=yes,--with-libsecret=no,libsecret"
S = "${WORKDIR}/git"
LDFLAGS:append:libc-musl = " -lexecinfo"

View File

@@ -0,0 +1,3 @@
#!/bin/sh
pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'

View File

@@ -0,0 +1,27 @@
SUMMARY = "This is a filesystem client based on the SSH File Transfer Protocol using FUSE"
AUTHOR = "Miklos Szeredi <miklos@szeredi.hu>"
HOMEPAGE = "https://github.com/libfuse/sshfs"
SECTION = "console/network"
LICENSE = "GPL-2.0-only"
DEPENDS = "glib-2.0 fuse3"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
SRC_URI = "git://github.com/libfuse/sshfs;branch=master;protocol=https"
SRCREV = "c91eb9a9a992f1a36c49a8e6f1146e45b5e1c8e7"
S = "${WORKDIR}/git"
inherit meson pkgconfig ptest
SRC_URI += " \
file://run-ptest \
"
RDEPENDS:${PN}-ptest += " \
${PYTHON_PN}-pytest \
bash \
"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/test
cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
}

View File

@@ -0,0 +1,32 @@
From 449cec34c123b86b792627553c6ec7471d2ee7ed Mon Sep 17 00:00:00 2001
From: Hongxu Jia <hongxu.jia@windriver.com>
Date: Fri, 30 Jun 2017 14:46:51 +0800
Subject: [PATCH] support cross compiling
Do not override OE CMAKE variables
Upstream-Status: Pending
Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
---
CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -10,9 +10,9 @@ IF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
ENDIF(NOT CMAKE_CONFIGURATION_TYPES AND NOT CMAKE_BUILD_TYPE)
# Select flags.
-SET(CMAKE_C_FLAGS "-pipe -W -Wall -DFORTIFY_SOURCE=2")
+SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -W -Wall -DFORTIFY_SOURCE=2")
SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
-SET(CMAKE_C_FLAGS_RELEASE "-O2")
+SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2")
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -DDEBUG")
if (UNIX AND APPLE)
--
2.8.1

View File

@@ -0,0 +1,18 @@
SUMMARY = "A FUSE based implemention of unionfs"
HOMEPAGE = "https://github.com/rpodgorny/unionfs-fuse"
SECTION = "console/network"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://src/unionfs.c;beginline=3;endline=8;md5=30fa8de70fd8abab00b483a1b7943a32 \
file://LICENSE;md5=7e5a37fce17307066eec6b23546da3b3 \
"
SRC_URI = "git://github.com/rpodgorny/${BPN}.git;branch=master;protocol=https \
file://0001-support-cross-compiling.patch \
"
SRCREV = "b0e3805d3d84d44ddf3e4e5238ae0332145d8157"
DEPENDS = "fuse"
S = "${WORKDIR}/git"
inherit cmake pkgconfig

View File

@@ -0,0 +1,30 @@
From 848717da4a28d33f8aa8f889377e61e6b1b8ae67 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Thu, 13 Jul 2017 18:29:52 -0700
Subject: [PATCH] define loff_t if not already defined
Helps to build with musl
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
yaffs_guts.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/yaffs_guts.h b/yaffs_guts.h
index 6bcf12d..4af17ce 100644
--- a/yaffs_guts.h
+++ b/yaffs_guts.h
@@ -18,6 +18,10 @@
#include "yportenv.h"
+#ifndef loff_t
+#define loff_t off_t
+#endif
+
#define YAFFS_OK 1
#define YAFFS_FAIL 0
--
2.13.2

View File

@@ -0,0 +1,21 @@
Upstream-Status: Pending
Signed-off-by: Yi Zhao <yi.zhao@windriver.com>
diff --git a/utils/Makefile b/utils/Makefile
index 710ebbf..6259893 100644
--- a/utils/Makefile
+++ b/utils/Makefile
@@ -57,10 +57,10 @@ $(COMMONOBJS) $(MKYAFFSIMAGEOBJS) $(MKYAFFS2IMAGEOBJS) : %.o: %.c
$(CC) -c $(CFLAGS) $< -o $@
mkyaffsimage: $(MKYAFFSIMAGEOBJS) $(COMMONOBJS)
- $(CC) -o $@ $^
+ $(CC) $(LDFLAGS) -o $@ $^
mkyaffs2image: $(MKYAFFS2IMAGEOBJS) $(COMMONOBJS)
- $(CC) -o $@ $^
+ $(CC) $(LDFLAGS) -o $@ $^
clean:

View File

@@ -0,0 +1,51 @@
SUMMARY = "Yet Another Flash File System"
DESCRIPTION = "Tools for managing 'yaffs2' file systems."
SECTION = "base"
HOMEPAGE = "http://www.yaffs.net"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://utils/mkyaffs2image.c;beginline=11;endline=13;md5=5f5464f9b3e981ca574e65b00e438561 \
file://utils/mkyaffsimage.c;beginline=10;endline=12;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 \
file://makefile-add-ldflags.patch \
file://0001-define-loff_t-if-not-already-defined.patch \
"
SRCREV = "9a6f486e56f927eeb8dc7e4e0d84f6bb95eeaa0f"
UPSTREAM_CHECK_COMMITS = "1"
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"
# Fixed make clean error:
#make -C /lib/modules/4.4.0-112-generic/build M=<snip>
#make: *** /lib/modules/4.4.0-112-generic/build: No such file or directory. Stop.
#make: *** [clean] Error 2
CLEANBROKEN = "1"

View File

@@ -0,0 +1,34 @@
From cc0cd6f71f6ef96fca2d7b730a3f0f6722fec696 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 7 May 2022 12:15:22 -0700
Subject: [PATCH] Define strndupa if it does not exist
musl e.g. does not supply strndupa, unlike glibc
Upstream-Status: Pending
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
etc/systemd/system-generators/zfs-mount-generator.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/etc/systemd/system-generators/zfs-mount-generator.c b/etc/systemd/system-generators/zfs-mount-generator.c
index f4c6c26..255bee4 100644
--- a/etc/systemd/system-generators/zfs-mount-generator.c
+++ b/etc/systemd/system-generators/zfs-mount-generator.c
@@ -193,6 +193,15 @@ fopenat(int dirfd, const char *pathname, int flags,
return (fdopen(fd, stream_mode));
}
+#ifndef strndupa
+#define strndupa(s, n) \
+ (__extension__ ({const char *__in = (s); \
+ size_t __len = strnlen (__in, (n)) + 1; \
+ char *__out = (char *) alloca (__len); \
+ __out[__len-1] = '\0'; \
+ (char *) memcpy (__out, __in, __len-1);}))
+#endif
+
static int
line_worker(char *line, const char *cachefile)
{

View File

@@ -0,0 +1,71 @@
SUMMARY = "OpenZFS on Linux and FreeBSD"
DESCRIPTION = "OpenZFS on Linux and FreeBSD"
LICENSE = "CDDL-1.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=7087caaf1dc8a2856585619f4a787faa"
HOMEPAGE ="https://github.com/openzfs/zfs"
SRC_URI = "https://github.com/openzfs/zfs/releases/download/${BPN}-${PV}/${BPN}-${PV}.tar.gz \
file://0001-Define-strndupa-if-it-does-not-exist.patch \
"
SRC_URI[sha256sum] = "6b172cdf2eb54e17fcd68f900fab33c1430c5c59848fa46fab83614922fe50f6"
# Using both 'module' and 'autotools' classes seems a bit odd, they both
# define a do_compile function.
# That's why we opt for module-base, also this prevents module splitting.
inherit module-base pkgconfig autotools
DEPENDS = "virtual/kernel zlib util-linux libtirpc openssl curl"
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd sysvinit', d)}"
PACKAGECONFIG[pam] = "--enable-pam --with-pamconfigsdir=${datadir}/pam-configs --with-pammoduledir=${libdir}/security, --disable-pam"
PACKAGECONFIG[systemd] = "--enable-systemd,--disable-systemd,"
PACKAGECONFIG[sysvinit] = "--enable-sysvinit,--disable-sysvinit,"
EXTRA_OECONF:append = " \
--disable-pyzfs \
--with-linux=${STAGING_KERNEL_DIR} --with-linux-obj=${STAGING_KERNEL_BUILDDIR} \
--with-mounthelperdir=${base_sbin} \
--with-udevdir=${base_libdir}/udev \
--with-systemdunitdir=${systemd_system_unitdir} \
--with-systemdgeneratordir=${nonarch_base_libdir}/systemd/system-generators \
--with-systemdpresetdir=${nonarch_base_libdir}/systemd/system-preset \
--with-systemdmodulesloaddir=${sysconfdir}/module-load.d \
--without-dracutdir \
"
EXTRA_OEMAKE:append = " \
INSTALL_MOD_PATH=${D}${root_prefix} \
"
do_install:append() {
# /usr/share/zfs contains the zfs-tests folder which we do not need:
rm -rf ${D}${datadir}/zfs
rm -rf ${D}${datadir}/initramfs-tools
}
FILES:${PN} += "\
${nonarch_base_libdir}/modules \
${systemd_system_unitdir} \
${nonarch_base_libdir}/systemd/system-generators \
${nonarch_base_libdir}/systemd/system-preset \
${sysconfdir}/modules-load.d/${BPN}.conf \
${sysconfdir}/default/${BPN} \
${sysconfdir}/sudoers.d/${BPN} \
${sysconfdir}/${BPN} \
${base_libdir}/udev \
${sbindir} \
${bindir} \
${libexecdir}/${BPN} \
${libdir} \
"
FILES:${PN}-dev += "\
${prefix}/src/zfs-${PV} \
${prefix}/src/spl-${PV} \
"
# Not yet ported to rv32
COMPATIBLE_HOST:riscv32 = "null"
# conflicting definition of ABS macro from asm/asm.h from kernel
COMPATIBLE_HOST:mips = "null"

View File

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

View File

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

View File

@@ -0,0 +1,51 @@
From: Sam James <sam@gentoo.org>
Date: Sat, 24 Jul 2021 22:02:45 +0100
Subject: [PATCH] util/ulockmgr_server.c: conditionally define closefrom (fix
glibc-2.34+)
closefrom(3) has joined us in glibc-land from *BSD and Solaris. Since
it's available in glibc 2.34+, we want to detect it and only define our
fallback if the libc doesn't provide it.
Bug: https://bugs.gentoo.org/803923
Signed-off-by: Sam James <sam@gentoo.org>
--- a/configure.ac
+++ b/configure.ac
@@ -55,6 +55,7 @@ fi
AC_CHECK_FUNCS([fork setxattr fdatasync splice vmsplice utimensat])
AC_CHECK_FUNCS([posix_fallocate])
+AC_CHECK_FUNCS([closefrom])
AC_CHECK_MEMBERS([struct stat.st_atim])
AC_CHECK_MEMBERS([struct stat.st_atimespec])
--- a/util/ulockmgr_server.c
+++ b/util/ulockmgr_server.c
@@ -22,6 +22,10 @@
#include <sys/socket.h>
#include <sys/wait.h>
+#ifdef HAVE_CONFIG_H
+ #include "config.h"
+#endif
+
struct message {
unsigned intr : 1;
unsigned nofd : 1;
@@ -124,6 +128,7 @@ static int receive_message(int sock, voi
return res;
}
+#if !defined(HAVE_CLOSEFROM)
static int closefrom(int minfd)
{
DIR *dir = opendir("/proc/self/fd");
@@ -141,6 +146,7 @@ static int closefrom(int minfd)
}
return 0;
}
+#endif
static void send_reply(int cfd, struct message *msg)
{

View File

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

View File

@@ -0,0 +1,3 @@
#!/bin/sh
pytest -o log_cli=true -o log_cli_level=INFO | sed -e 's/\[...%\]//g'| sed -e 's/PASSED/PASS/g'| sed -e 's/FAILED/FAIL/g'|sed -e 's/SKIPPED/SKIP/g'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS"){printf "%s: %s\n", $NF, $0}else{print}}'| awk '{if ($NF=="PASS" || $NF=="FAIL" || $NF=="SKIP" || $NF=="XFAIL" || $NF=="XPASS") {$NF="";print $0}else{print}}'

View File

@@ -0,0 +1,80 @@
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 = "https://github.com/libfuse/libfuse"
SECTION = "libs"
LICENSE = "GPL-2.0-only & LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \
file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66"
SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \
"
SRC_URI[sha256sum] = "33b8a92d6f7a88e6a889f0009206933482f48f3eb85d88cf09ef551313ac7373"
S = "${WORKDIR}/fuse-${PV}"
UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>3(\.\d+)+).tar.xz"
CVE_PRODUCT = "fuse_project:fuse"
inherit meson pkgconfig ptest
SRC_URI += " \
file://run-ptest \
"
RDEPENDS:${PN}-ptest += " \
${PYTHON_PN}-pytest \
bash \
"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/test
install -d ${D}${PTEST_PATH}/example
install -d ${D}${PTEST_PATH}/util
cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
example_excutables=`find ${B}/example -type f -executable`
util_excutables=`find ${B}/util -type f -executable`
test_excutables=`find ${B}/test -type f -executable`
for e in $example_excutables
do
cp -rf $e ${D}${PTEST_PATH}/example/
done
for e in $util_excutables
do
cp -rf $e ${D}${PTEST_PATH}/util/
done
for e in $test_excutables
do
cp -rf $e ${D}${PTEST_PATH}/test
done
}
DEPENDS = "udev"
PACKAGES =+ "fuse3-utils"
RPROVIDES:${PN}-dbg += "fuse3-utils-dbg"
RRECOMMENDS:${PN}:class-target = "kernel-module-fuse fuse3-utils"
FILES:${PN} += "${libdir}/libfuse3.so.*"
FILES:${PN}-dev += "${libdir}/libfuse3*.la"
# Forbid auto-renaming to libfuse3-utils
FILES:fuse3-utils = "${bindir} ${base_sbindir}"
DEBIAN_NOAUTONAME:fuse3-utils = "1"
DEBIAN_NOAUTONAME:${PN}-dbg = "1"
do_install:append() {
rm -rf ${D}${base_prefix}/dev
}

View File

@@ -0,0 +1,81 @@
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 = "https://github.com/libfuse/libfuse"
SECTION = "libs"
LICENSE = "GPL-2.0-only & LGPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://COPYING.LIB;md5=4fbd65380cdd255951079008b364516c"
SRC_URI = "https://github.com/libfuse/libfuse/releases/download/${BP}/${BP}.tar.gz \
file://gold-unversioned-symbol.patch \
file://aarch64.patch \
file://0001-fuse-fix-the-return-value-of-help-option.patch \
file://fuse2-0007-util-ulockmgr_server.c-conditionally-define-closefro.patch \
file://fuse.conf \
"
SRC_URI[md5sum] = "8000410aadc9231fd48495f7642f3312"
SRC_URI[sha256sum] = "d0e69d5d608cc22ff4843791ad097f554dd32540ddc9bed7638cc6fea7c1b4b5"
UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>2(\.\d+)+).tar.gz"
CVE_PRODUCT = "fuse_project:fuse"
inherit autotools pkgconfig update-rc.d systemd
INITSCRIPT_NAME = "fuse"
INITSCRIPT_PARAMS = "start 3 S . stop 20 0 6 ."
SYSTEMD_SERVICE:${PN} = ""
DEPENDS = "gettext-native"
PACKAGES =+ "fuse-utils libulockmgr libulockmgr-dev"
RPROVIDES:${PN}-dbg += "fuse-utils-dbg libulockmgr-dbg"
RRECOMMENDS:${PN}:class-target = "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"
# Forbid auto-renaming to libfuse-utils
FILES:fuse-utils = "${bindir} ${base_sbindir}"
DEBIAN_NOAUTONAME:fuse-utils = "1"
DEBIAN_NOAUTONAME:${PN}-dbg = "1"
do_configure:prepend() {
# Make this explicit so overriding base_sbindir propagates properly.
export MOUNT_FUSE_PATH="${base_sbindir}"
}
do_install:append() {
rm -rf ${D}/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
}
do_install:append:class-nativesdk() {
install -d ${D}${sysconfdir}
mv ${D}/etc/* ${D}${sysconfdir}/
rmdir ${D}/etc
}
BBCLASSEXTEND = "native nativesdk"

View File

@@ -0,0 +1,15 @@
SUMMARY = "PhysicsFS is a library to provide abstract access to various archives"
HOMEPAGE = "http://icculus.org/physfs"
LICENSE = "Zlib"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=96801882d1120239dcafbf888e821a6e"
DEPENDS = "readline zlib"
inherit cmake
PE = "1"
SRC_URI = "http://icculus.org/${BPN}/downloads/${BP}.tar.bz2"
SRC_URI[md5sum] = "dc751294aaf59d1359bbe34e693d1d87"
SRC_URI[sha256sum] = "304df76206d633df5360e738b138c94e82ccf086e50ba84f456d3f8432f9f863"
EXTRA_OECMAKE = "-DLIB_SUFFIX=${@d.getVar('baselib').replace('lib', '')}"

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"

View File

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

View File

@@ -0,0 +1,16 @@
Dependencies
------------
This layer depends on:
URI: git://git.openembedded.org/openembedded-core
branch: mickledore
URI: git://git.openembedded.org/meta-openembedded
branch: mickledore
Send pull requests to openembedded-devel@lists.openembedded.org with '[meta-gnome][mickledore]' in the subject'
When sending single patches, please using something like:
git send-email -M -1 --to openembedded-devel@lists.openembedded.org --subject-prefix='meta-gnome][mickledore][PATCH'
Layer maintainer: Armin Kuster <akuster808@gmail.com>

View File

@@ -0,0 +1,18 @@
def get_minor_dir(v):
import re
m = re.match(r"^([0-9]+)\.([0-9]+)", v)
return "%s.%s" % (m.group(1), m.group(2))
def get_real_name(n):
import re
m = re.match(r"^([a-z]+(-[a-z]+)?)(-[0-9]+\.[0-9]+)?", n)
return "%s" % (m.group(1))
VERMINOR = "${@get_minor_dir("${PV}")}"
REALNAME = "${@get_real_name("${BPN}")}"
SRC_URI = "${GNOME_MIRROR}/${REALNAME}/${VERMINOR}/${REALNAME}-${PV}.tar.xz;name=archive"
S = "${WORKDIR}/${REALNAME}-${PV}"
CLUTTERBASEBUILDCLASS ??= "autotools"
inherit ${CLUTTERBASEBUILDCLASS} pkgconfig gtk-doc gettext

View File

@@ -0,0 +1,67 @@
# Class to pack gnome help files or delete them during install
# There are the following cases:
#
# if 'helpfiles' not in DISTRO_FEATURES
# delete all help contants during install
# else
# if PACKAGE_NO_HELP_SPLIT == 1
# pack all help files to ${PN}-help
# else
# pack all help files to ${PN}-help-<lingua>
# Dummy to get yelp build & PACKAGE_NO_HELP_SPLIT set 1
PACKAGES:append = " ${PN}-help"
FILES:${PN}-help = "${datadir}/help"
RRECOMMENDS:${PN}-help = "${@bb.utils.contains('DISTRO_FEATURES','helpfiles','yelp','',d)}"
do_install:append() {
if ${@bb.utils.contains('DISTRO_FEATURES','helpfiles','false','true',d)}; then
rm -rf ${D}${datadir}/help/*
fi
}
python gnome_do_split_help() {
if bb.utils.contains('DISTRO_FEATURES', 'helpfiles', False, True, d):
return
if (d.getVar('PACKAGE_NO_HELP_SPLIT') == '1'):
# all help files go to ${
bb.debug(1, "package requested not splitting help-files")
return
packages = (d.getVar('PACKAGES') or "").split()
datadir = d.getVar('datadir')
dvar = d.getVar('PKGD')
pn = d.getVar('PN')
if pn + '-help' in packages:
packages.remove(pn + '-help')
helpdir = os.path.join(dvar + datadir, 'help')
if not cpath.isdir(helpdir):
bb.warn("No help files in this package - remove gnome-help from inherit?")
return
helps = os.listdir(helpdir)
summary = d.getVar('SUMMARY') or pn
description = d.getVar('DESCRIPTION') or ""
locale_section = d.getVar('LOCALE_SECTION')
mlprefix = d.getVar('MLPREFIX') or ""
for l in sorted(helps):
ln = legitimize_package_name(l)
pkg = pn + '-help-' + ln
packages.append(pkg)
d.setVar('FILES:' + pkg, os.path.join(datadir, 'help', l))
d.setVar('RRECOMMENDS:' + pkg, '%syelp' % mlprefix)
d.setVar('SUMMARY:' + pkg, '%s - %s help' % (summary, l))
d.setVar('DESCRIPTION:' + pkg, '%s This package contains language help files for the %s locale.' % (description, l))
if locale_section:
d.setVar('SECTION:' + pkg, locale_section)
d.setVar('PACKAGES', ' '.join(packages))
}
PACKAGESPLITFUNCS:prepend = "gnome_do_split_help "

View File

@@ -0,0 +1,26 @@
# We have a conf and classes directory, append to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have a recipes directory, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb ${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "gnome-layer"
BBFILE_PATTERN_gnome-layer := "^${LAYERDIR}/"
BBFILE_PRIORITY_gnome-layer = "5"
# auto-pack gnome help files
IMAGE_LINGUAS_COMPLEMENTARY:append = " ${@bb.utils.contains('DISTRO_FEATURES','helpfiles','*-help-%s','',d)}"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_gnome-layer = "1"
LAYERDEPENDS_gnome-layer = "core openembedded-layer networking-layer meta-python"
LAYERSERIES_COMPAT_gnome-layer = "mickledore"
SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += "\
faenza-icon-theme->gdk-pixbuf \
faenza-icon-theme->gtk+3 \
"

View File

@@ -0,0 +1,29 @@
SUMMARY = "Folks is a contact aggregation library."
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
DEPENDS = " \
glib-2.0 \
libgee \
"
GNOMEBASEBUILDCLASS = "meson"
EXTRA_OEMESON += "-Dtests=false -Db_lto=false "
CFLAGS:append:toolchain-clang = " -Wno-error=implicit-function-declaration"
# gobject-introspection is mandatory and cannot be configured
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
GIR_MESON_OPTION = ""
PACKAGECONFIG[eds] = "-Deds_backend=true,-Deds_backend=false,evolution-data-server"
PACKAGECONFIG[bluez] = "-Dbluez_backend=true,-Dbluez_backend=false,evolution-data-server"
PACKAGECONFIG[ofono] = "-Deds_backend=true -Dofono_backend=true,-Dofono_backend=false,evolution-data-server"
PACKAGECONFIG[telepathy] = "-Dtelepathy_backend=true,-Dtelepathy_backend=false,telepathy-glib dbus-glib"
PACKAGECONFIG[import_tool] = "-Dimport_tool=true,-Dimport_tool=false,libxml2"
PACKAGECONFIG[inspect_tool] = "-Dinspect_tool=true,-Dinspect_tool=false"
PACKAGECONFIG ??= ""
inherit pkgconfig gnomebase gettext gobject-introspection vala features_check
SRC_URI[archive.sha256sum] = "c866630c553f29ce9be1c7a60267cb4080a6bccf4b8d551dc4c7e6234d840248"

View File

@@ -0,0 +1,27 @@
From 166198735e9f4fbe91557df1351b3481bcf79e78 Mon Sep 17 00:00:00 2001
From: Rico Tzschichholz <ricotz@ubuntu.com>
Date: Sun, 30 Jan 2022 19:54:11 +0100
Subject: [PATCH 1/2] Util.Cache.Lru: Workaround missing generic type argument
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/geary/-/commit/0f75e7a84a39492d0748cec2ba6028e08cae3644]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/client/util/util-cache.vala | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/client/util/util-cache.vala b/src/client/util/util-cache.vala
index f054e32e..ecc275e8 100644
--- a/src/client/util/util-cache.vala
+++ b/src/client/util/util-cache.vala
@@ -12,7 +12,7 @@ public class Util.Cache.Lru<T> : Geary.BaseObject {
private class CacheEntry<T> {
- public static int lru_compare(CacheEntry<T> a, CacheEntry<T> b) {
+ public static int lru_compare(CacheEntry a, CacheEntry b) {
if (a.key == b.key) {
return 0;
}
--
2.35.1

View File

@@ -0,0 +1,42 @@
From 64b56e75a54a9fa3f37c7686be97a5c8818413a4 Mon Sep 17 00:00:00 2001
From: Rico Tzschichholz <ricotz@ubuntu.com>
Date: Tue, 30 Nov 2021 15:31:31 +0100
Subject: [PATCH 2/2] Fix accessibility issues with initializer of constants
Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/geary/-/commit/9bd4c82952a0a2c3308c5cc86c0b85650c1fb484]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
src/client/application/application-client.vala | 14 +++++++-------
1 file changed, 7 insertions(+), 7 deletions(-)
diff --git a/src/client/application/application-client.vala b/src/client/application/application-client.vala
index 6ce19ce2..e6ba8533 100644
--- a/src/client/application/application-client.vala
+++ b/src/client/application/application-client.vala
@@ -8,16 +8,16 @@
// Defined by CMake build script.
extern const string GETTEXT_PACKAGE;
-extern const string _APP_ID;
-extern const string _BUILD_ROOT_DIR;
-extern const string _GSETTINGS_DIR;
-extern const string _INSTALL_PREFIX;
-extern const string _NAME_SUFFIX;
+public extern const string _APP_ID;
+public extern const string _BUILD_ROOT_DIR;
+public extern const string _GSETTINGS_DIR;
+public extern const string _INSTALL_PREFIX;
+public extern const string _NAME_SUFFIX;
extern const string _PLUGINS_DIR;
extern const string _PROFILE;
extern const string _REVNO;
-extern const string _SOURCE_ROOT_DIR;
-extern const string _VERSION;
+public extern const string _SOURCE_ROOT_DIR;
+public extern const string _VERSION;
extern const string _WEB_EXTENSIONS_DIR;
--
2.35.1

View File

@@ -0,0 +1,60 @@
SUMMARY = "Geary is an email application built around conversations, for the GNOME 3 desktop."
SECTION = "network"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=2a2244d5a13871ad950c55877546a6a2"
DEPENDS = " \
appstream-glib \
cairo \
desktop-file-utils-native \
enchant2 \
evolution-data-server \
folks \
gcr3 \
gmime \
gnome-online-accounts \
gsound \
gspell \
gtk+3 \
icu \
iso-codes \
json-glib \
libhandy \
libical \
libpeas \
libsecret \
libstemmer \
libxml2 \
sqlite3 \
webkitgtk \
"
RDEPENDS:${PN} = "gnome-keyring"
inherit meson pkgconfig mime-xdg gtk-icon-cache gobject-introspection vala features_check
SRC_URI = " \
git://github.com/GNOME/geary.git;nobranch=1;protocol=https \
"
S = "${WORKDIR}/git"
SRCREV = "94d6bec861daffb27efea85a296f347db7a5af6d"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data opengl"
GIR_MESON_OPTION = ""
EXTRA_OEMESON = "-Dprofile=release"
PACKAGECONFIG[libunwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
PACKAGECONFIG[tnef] = "-Dtnef=enabled,-Dtnef=disabled,libytnef"
PACKAGECONFIG[valadoc] = "-Dvaladoc=enabled,-Dvaladoc=disabled"
PACKAGECONFIG ??= ""
# rfc822/rfc822-message.c:2097:12: error: incompatible pointer to integer conversion returning 'void *' from a function with result type 'gboolean' (aka 'int') [-Wint-conversion]
#| return NULL;
#| ^~~~
CFLAGS:append:toolchain-clang = " -Wno-error=int-conversion"
FILES:${PN} += "${datadir}"

View File

@@ -0,0 +1,26 @@
SUMMARY = "A VNC client viewer widget for GTK"
LICENSE = "LGPL-2.1-only"
LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=4339efb5fd592e45b9e2641de9fe734f"
DEPENDS = " \
gdk-pixbuf \
glib-2.0 \
gnutls \
gtk+3 \
libgcrypt \
libx11 \
zlib \
"
GNOMEBASEBUILDCLASS = "meson"
REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
GIR_MESON_OPTION = ""
PACKAGECONFIG[pulseaudio] = "-Dpulseaudio=enabled,-Dpulseaudio=disabled,pulseaudio"
PACKAGECONFIG[sasl] = "-Dsasl=enabled,-Dsasl=disabled,cyrus-sasl"
PACKAGECONFIG ??= "pulseaudio sasl"
inherit pkgconfig gnomebase gettext gobject-introspection vala features_check
SRC_URI[archive.sha256sum] = "512763ac4e0559d0158b6682ca5dd1a3bd633f082f5e4349d7158e6b5f80f1ce"

View File

@@ -0,0 +1,29 @@
SUMMARY = "NetworkManager GUI library"
LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
DEPENDS = "glib-2.0 gtk+3 gtk4 networkmanager"
GNOMEBASEBUILDCLASS = "meson"
inherit gnomebase gobject-introspection gtk-doc gettext vala features_check
REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('PACKAGECONFIG','gcr','x11','',d)} opengl"
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
SRC_URI[archive.sha256sum] = "53a6fb2b190ad37c5986caed3e98bede7c3c602399ee4f93c8fc054303d76dab"
PACKAGECONFIG ?= "gcr iso_codes mobile_broadband_provider_info"
PACKAGECONFIG[gcr] = "-Dgcr=true,-Dgcr=false,gcr"
PACKAGECONFIG[iso_codes] = "-Diso_codes=true,-Diso_codes=false,iso-codes,iso-codes"
PACKAGECONFIG[mobile_broadband_provider_info] = "-Dmobile_broadband_provider_info=true,-Dmobile_broadband_provider_info=false,mobile-broadband-provider-info,mobile-broadband-provider-info"
# for gnome-control-center >= 42
EXTRA_OEMESON = "-Dlibnma_gtk4=true"
# go introspection is not supported for mipsn32/riscv32, but vapi needs it
#
EXTRA_OEMESON:append:mipsarchn32 = " -Dvapi=false"
EXTRA_OEMESON:append:riscv32 = " -Dvapi=false"
EXTRA_OEMESON:append:powerpc64le = " -Dvapi=false"
GTKDOC_MESON_OPTION = "gtk_doc"

Some files were not shown because too many files have changed in this diff Show More