mirror of
https://git.yoctoproject.org/poky
synced 2026-06-10 16:10:04 +00:00
which: update 2.21 -> 2.23, build with meson
This (and 2.22) is a first release in many years. Rather than try to use upstream's absurdly overblown, incompatible build system (see below), I added a small-ish meson file. This means: - drop tweaks and dependency on cwautomacros as that is no longer used - drop patch as configure.ac has been rewritten, and the recipe is using meson anyway - drop --disable-iberty for the same reason In this realease, cwautomacros has been replaced by an equally custom, weird set of macros, written by 'which' maintainer: https://github.com/CarloWood/cwm4 - one effect of that is that autoreconf isn't happy with which's configure.ac and won't run; one is supposed to use a custom script instead: https://github.com/CarloWood/cwm4/blob/master/scripts/bootstrap.sh - alas, that script is not shipped in tarballs; the maintainer wants everyone to trust their 200k configure script (hello xz backdoor) - building from git (where the script exists) is not impossible, but that has no version tags All this 'special handling' for what, exactly? Five .c files to produce one single-function executable, and one manpage. Wich should all be in coreutils to begin with. GNU's attachment to autotools defies reason. (From OE-Core rev: 600545a0ef313e7df5a0f25eba17b73b0f410489) Signed-off-by: Alexander Kanavin <alex@linutronix.de> Signed-off-by: Mathieu Dubois-Briand <mathieu.dubois-briand@bootlin.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
committed by
Richard Purdie
parent
702c515a75
commit
cf0cf92200
@@ -1,19 +0,0 @@
|
|||||||
Update autoconf prologue to use "foreign" strictness.
|
|
||||||
|
|
||||||
Upstream-Status: Pending
|
|
||||||
Signed-off-by: Ross Burton <ross.burton@intel.com>
|
|
||||||
|
|
||||||
diff --git a/configure.ac b/configure.ac
|
|
||||||
index d974461..a20dfa8 100644
|
|
||||||
--- a/configure.ac
|
|
||||||
+++ b/configure.ac
|
|
||||||
@@ -1,7 +1,7 @@
|
|
||||||
dnl Process this file with autoconf to produce a configure script.
|
|
||||||
AC_INIT([which], [2.21])
|
|
||||||
AC_CONFIG_SRCDIR(which.c)
|
|
||||||
-AM_INIT_AUTOMAKE
|
|
||||||
+AM_INIT_AUTOMAKE([foreign])
|
|
||||||
AM_CONFIG_HEADER(config.h)
|
|
||||||
AM_MAINTAINER_MODE
|
|
||||||
|
|
||||||
|
|
||||||
+17
-12
@@ -1,4 +1,4 @@
|
|||||||
From 16a1647fc26953fab659de5f55d4c0defdfb894f Mon Sep 17 00:00:00 2001
|
From 83d2ed3fd203868a8f287d2ebedc7c304c74fbb4 Mon Sep 17 00:00:00 2001
|
||||||
From: Khem Raj <raj.khem@gmail.com>
|
From: Khem Raj <raj.khem@gmail.com>
|
||||||
Date: Sat, 22 Mar 2025 17:56:19 -0700
|
Date: Sat, 22 Mar 2025 17:56:19 -0700
|
||||||
Subject: [PATCH] getopt: Fix signature of getenv function
|
Subject: [PATCH] getopt: Fix signature of getenv function
|
||||||
@@ -13,27 +13,32 @@ Upstream-Status: Submitted [https://lists.gnu.org/archive/html/which-bugs/2025-0
|
|||||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||||
---
|
---
|
||||||
getopt.c | 2 +-
|
getopt.c | 2 +-
|
||||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
getopt.h | 2 +-
|
||||||
|
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/getopt.c b/getopt.c
|
||||||
|
index 9ac2ed6..b1aa322 100644
|
||||||
--- a/getopt.c
|
--- a/getopt.c
|
||||||
+++ b/getopt.c
|
+++ b/getopt.c
|
||||||
@@ -209,7 +209,7 @@ static char *posixly_correct;
|
@@ -205,7 +205,7 @@ static char *posixly_correct;
|
||||||
/* Avoid depending on library functions or files
|
/* Avoid depending on library functions or files
|
||||||
whose names are inconsistent. */
|
whose names are inconsistent. */
|
||||||
|
|
||||||
-char *getenv ();
|
-char *getenv();
|
||||||
+char *getenv (const char*);
|
+char *getenv (const char*);
|
||||||
|
|
||||||
static char *
|
static char *my_index(str, chr) const char *str;
|
||||||
my_index (str, chr)
|
int chr;
|
||||||
|
diff --git a/getopt.h b/getopt.h
|
||||||
|
index f080053..e04e3ca 100644
|
||||||
--- a/getopt.h
|
--- a/getopt.h
|
||||||
+++ b/getopt.h
|
+++ b/getopt.h
|
||||||
@@ -103,7 +103,7 @@ struct option
|
@@ -102,7 +102,7 @@ struct option {
|
||||||
errors, only prototype getopt for the GNU C library. */
|
errors, only prototype getopt for the GNU C library. */
|
||||||
extern int getopt (int argc, char *const *argv, const char *shortopts);
|
extern int getopt(int argc, char *const *argv, const char *shortopts);
|
||||||
#else /* not __GNU_LIBRARY__ */
|
#else /* not __GNU_LIBRARY__ */
|
||||||
-extern int getopt ();
|
-extern int getopt();
|
||||||
+extern int getopt (int, char * const [], const char *);
|
+extern int getopt (int, char * const [], const char *);
|
||||||
#endif /* __GNU_LIBRARY__ */
|
#endif /* __GNU_LIBRARY__ */
|
||||||
extern int getopt_long (int argc, char *const *argv, const char *shortopts,
|
extern int getopt_long(int argc, char *const *argv, const char *shortopts, const struct option *longopts, int *longind);
|
||||||
const struct option *longopts, int *longind);
|
extern int getopt_long_only(int argc, char *const *argv, const char *shortopts, const struct option *longopts,
|
||||||
@@ -0,0 +1,92 @@
|
|||||||
|
#
|
||||||
|
# Copyright OpenEmbedded Contributors
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
#
|
||||||
|
project('which', 'c', version: '2.23')
|
||||||
|
|
||||||
|
add_project_arguments('-DHAVE_CONFIG_H', language : 'c')
|
||||||
|
|
||||||
|
src = ['bash.c','getopt1.c','getopt.c','tilde.c','which.c']
|
||||||
|
|
||||||
|
executable('which', src, install: true)
|
||||||
|
install_man('which.1')
|
||||||
|
|
||||||
|
conf_data = configuration_data()
|
||||||
|
|
||||||
|
conf_data.set('GETGROUPS_T', 'gid_t')
|
||||||
|
|
||||||
|
compiler = meson.get_compiler('c')
|
||||||
|
if compiler.has_function('strchr')
|
||||||
|
conf_data.set('HAVE_STRCHR', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_function('memcpy')
|
||||||
|
conf_data.set('HAVE_MEMCPY', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_function('getopt_long')
|
||||||
|
conf_data.set('HAVE_GETOPT_LONG', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_function('getcwd')
|
||||||
|
conf_data.set('HAVE_GETCWD', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_function('getwd')
|
||||||
|
conf_data.set('HAVE_GETWD', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_function('sysconf')
|
||||||
|
conf_data.set('HAVE_SYSCONF', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_function('getgroups')
|
||||||
|
conf_data.set('HAVE_GETGROUPS', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_function('eaccess')
|
||||||
|
conf_data.set('HAVE_EACCESS', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_function('getpwent')
|
||||||
|
conf_data.set('HAVE_GETPWENT', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_function('getpwnam')
|
||||||
|
conf_data.set('HAVE_GETPWNAM', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_function('getpwuid')
|
||||||
|
conf_data.set('HAVE_GETPWUID', 1)
|
||||||
|
conf_data.set('HAVE_GETPW_DECLS', 1)
|
||||||
|
endif
|
||||||
|
|
||||||
|
if compiler.has_header('unistd.h')
|
||||||
|
conf_data.set('HAVE_UNISTD_H', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_header('string.h')
|
||||||
|
conf_data.set('HAVE_STRING_H', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_header('stdlib.h')
|
||||||
|
conf_data.set('HAVE_STDLIB_H', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_header('memory.h')
|
||||||
|
conf_data.set('HAVE_MEMORY_H', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_header('pwd.h')
|
||||||
|
conf_data.set('HAVE_PWD_H', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_header('strings.h')
|
||||||
|
conf_data.set('HAVE_STRINGS_H', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_header('inttypes.h')
|
||||||
|
conf_data.set('HAVE_INTTYPES_H', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_header('stdio.h')
|
||||||
|
conf_data.set('HAVE_STDIO_H', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_header('stdint.h')
|
||||||
|
conf_data.set('HAVE_STDINT_H', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_header('sys/stat.h')
|
||||||
|
conf_data.set('HAVE_SYS_STAT_H', 1)
|
||||||
|
endif
|
||||||
|
if compiler.has_header('sys/types.h')
|
||||||
|
conf_data.set('HAVE_SYS_TYPES_H', 1)
|
||||||
|
endif
|
||||||
|
conf_data.set('NEED_XMALLOC', 1)
|
||||||
|
conf_data.set('STDC_HEADERS', 1)
|
||||||
|
conf_data.set('VERSION', '"' + meson.project_version() + '"')
|
||||||
|
|
||||||
|
configure_file(output: 'config.h', configuration: conf_data)
|
||||||
+4
-7
@@ -9,21 +9,18 @@ HOMEPAGE = "https://carlowood.github.io/which/"
|
|||||||
LICENSE = "GPL-3.0-or-later"
|
LICENSE = "GPL-3.0-or-later"
|
||||||
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\
|
LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504\
|
||||||
file://which.c;beginline=1;endline=17;md5=a9963693af2272e7a8df6f231164e7a2"
|
file://which.c;beginline=1;endline=17;md5=a9963693af2272e7a8df6f231164e7a2"
|
||||||
DEPENDS = "cwautomacros-native"
|
|
||||||
|
|
||||||
inherit autotools texinfo update-alternatives
|
inherit meson update-alternatives
|
||||||
|
|
||||||
EXTRA_OECONF = "--disable-iberty"
|
|
||||||
|
|
||||||
SRC_URI = "${GNU_MIRROR}/which/which-${PV}.tar.gz \
|
SRC_URI = "${GNU_MIRROR}/which/which-${PV}.tar.gz \
|
||||||
file://automake.patch \
|
file://meson.build \
|
||||||
file://0001-getopt-Fix-signature-of-getenv-function.patch \
|
file://0001-getopt-Fix-signature-of-getenv-function.patch \
|
||||||
"
|
"
|
||||||
|
|
||||||
SRC_URI[sha256sum] = "f4a245b94124b377d8b49646bf421f9155d36aa7614b6ebf83705d3ffc76eaad"
|
SRC_URI[sha256sum] = "a2c558226fc4d9e4ce331bd2fd3c3f17f955115d2c00e447618a4ef9978a2a73"
|
||||||
|
|
||||||
do_configure:prepend() {
|
do_configure:prepend() {
|
||||||
sed -i -e 's%@ACLOCAL_CWFLAGS@%-I ${STAGING_DIR_NATIVE}/usr/share/cwautomacros/m4%g' ${S}/Makefile.am ${S}/tilde/Makefile.am
|
cp ${UNPACKDIR}/meson.build ${S}
|
||||||
}
|
}
|
||||||
|
|
||||||
ALTERNATIVE:${PN} = "which"
|
ALTERNATIVE:${PN} = "which"
|
||||||
Reference in New Issue
Block a user