Step3: enhanced with coreutiles.

Signed-off-by: Chen Wang <wangchen20@iscas.ac.cn>
This commit is contained in:
Chen Wang
2025-12-05 14:48:13 +08:00
committed by Chen Wang
parent cb9441ee2a
commit a2489ba8f6
5 changed files with 91 additions and 1 deletions

View File

@@ -74,5 +74,9 @@ sysvinit:
@./package/libxcrypt/make.sh || exit 1 @./package/libxcrypt/make.sh || exit 1
@./package/sysvinit/make.sh || exit 1 @./package/sysvinit/make.sh || exit 1
.PHONY: coreutils
coreutils:
@./package/coreutils/make.sh || exit 1
clean: clean:
rm -rf output/ rm -rf output/

View File

@@ -9,5 +9,6 @@ make opensbi || exit 1
make linux || exit 1 make linux || exit 1
make busybox || exit 1 make busybox || exit 1
make sysvinit || exit 1 make sysvinit || exit 1
make coreutils || exit 1
make before-target-image || exit 1 make before-target-image || exit 1
make rebuild-target-image || exit 1 make rebuild-target-image || exit 1

View File

@@ -0,0 +1,35 @@
From c4e923a98f34fe5f5ec3b49543e90716ec2a45fc Mon Sep 17 00:00:00 2001
From: Jean-Michel Hautbois <jeanmichel.hautbois@yoseli.org>
Date: Tue, 24 Sep 2024 18:08:31 +0200
Subject: [PATCH] coreutils: mcel: port to uClibc-ng
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Problem reported by Waldemar Brodkorb in:
https://lists.gnu.org/r/bug-gnulib/2024-08/msg00130.html
* lib/mcel.h (mcel_scan): Don't treat uClibc-ng like glibc.
Upstream: https://git.savannah.gnu.org/cgit/gnulib.git/commit/?id=9765bc796b3e6ceaa7a10ba07c9c2f1e272a4249
Signed-off-by: Jean-Michel Hautbois <jeanmichel.hautbois@yoseli.org>
---
lib/mcel.h | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/lib/mcel.h b/lib/mcel.h
index f6f006c..dca4d08 100644
--- a/lib/mcel.h
+++ b/lib/mcel.h
@@ -221,7 +221,8 @@ mcel_scan (char const *p, char const *lim)
/* An initial mbstate_t; initialization optimized for some platforms.
For details about these and other platforms, see wchar.in.h. */
-#if defined __GLIBC__ && 2 < __GLIBC__ + (2 <= __GLIBC_MINOR__)
+#if (defined __GLIBC__ && 2 < __GLIBC__ + (2 <= __GLIBC_MINOR__) \
+ && !defined __UCLIBC__)
/* Although only a trivial optimization, it's worth it for GNU. */
mbstate_t mbs; mbs.__count = 0;
#elif (defined __FreeBSD__ || defined __DragonFly__ || defined __OpenBSD__ \
--
2.39.2

49
package/coreutils/make.sh Executable file
View File

@@ -0,0 +1,49 @@
#!/usr/bin/bash
source $(dirname "$0")/../common.sh
PKGNAME=coreutils
PKGVERSION=9.5
PKGSOURCE_DIR=coreutils
PKGSOURCE=coreutils-9.5.tar.xz
PKGURL=http://mirrors.ustc.edu.cn/gnu/coreutils/coreutils-9.5.tar.xz
PKGBUILDNAME=${PKGNAME}
PKGBUILD_DIR=${BUILD_DIR}/${PKGBUILDNAME}-${PKGVERSION}
echo "----> Building ${PKGBUILDNAME} ..."
stamp_downloaded
step_start extract
mkdir -p ${PKGBUILD_DIR}
xzcat ${DL_DIR}/${PKGSOURCE_DIR}/${PKGSOURCE} | tar --strip-components=1 -C ${PKGBUILD_DIR} -xf -
chmod -R +rw ${PKGBUILD_DIR}
step_end extract
step_start patch
TAR="tar" PATH=${HOST_DIR}/bin:$PATH ${PROJECT_DIR}/support/scripts/apply-patches.sh ${PKGBUILD_DIR} ${PROJECT_DIR}/package/${PKGNAME} \*.patch
step_end patch autotools
step_start configure
(cd ${PKGBUILD_DIR} && rm -rf config.cache && eval "${TARGET_CONFIGURE_OPTS} CXX=no ac_cv_lbl_unaligned_fail=yes ac_cv_func_mmap_fixed_mapped=yes ac_cv_func_memcmp_working=yes ac_cv_have_decl_malloc=yes gl_cv_func_malloc_0_nonnull=yes ac_cv_func_malloc_0_nonnull=yes ac_cv_func_calloc_0_nonnull=yes ac_cv_func_realloc_0_nonnull=yes lt_cv_sys_lib_search_path_spec=\"\" ac_cv_c_bigendian=no ac_cv_c_restrict=no ac_cv_func_chown_works=yes ac_cv_func_fstatat=yes ac_cv_func_getdelim=yes ac_cv_func_getgroups=yes ac_cv_func_getgroups_works=yes ac_cv_func_getloadavg=no ac_cv_func_strnlen_working=yes ac_cv_have_decl_strerror_r=yes ac_cv_have_decl_strnlen=yes ac_cv_lib_getloadavg_getloadavg=no ac_cv_lib_util_getloadavg=no ac_fsusage_space=yes ac_use_included_regex=no am_cv_func_working_getline=yes fu_cv_sys_stat_statfs2_bsize=yes gl_cv_func_getcwd_null=yes gl_cv_func_getcwd_path_max=yes gl_cv_func_link_follows_symlink=no gl_cv_func_lstat_dereferences_slashed_symlink=yes gl_cv_func_re_compile_pattern_working=yes gl_cv_func_svid_putenv=yes gl_cv_func_working_mkstemp=yes gl_cv_func_working_utimes=yes gl_cv_macro_MB_CUR_MAX_good=yes gl_cv_have_proc_uptime=yes utils_cv_localtime_cache=no PERL=missing MAKEINFO=true INSTALL_PROGRAM=/usr/bin/install CONFIG_SITE=/dev/null ./configure --target=${GNU_TARGET_NAME} --host=${GNU_TARGET_NAME} --build=x86_64-pc-linux-gnu --prefix=/usr --exec-prefix=/usr --sysconfdir=/etc --localstatedir=/var --program-prefix=\"\" --disable-gtk-doc --disable-gtk-doc-html --disable-doc --disable-docs --disable-documentation --with-xmlto=no --with-fop=no --disable-dependency-tracking --enable-ipv6 --disable-nls --disable-static --enable-shared --disable-rpath --disable-single-binary --disable-acl --disable-xattr --disable-libcap --without-selinux")
step_end configure
step_start build
eval "${TARGET_MAKE_ENV} /usr/bin/make -j${MAXNUM_CPUS} -C ${PKGBUILD_DIR}"
step_end build
step_start install-target
eval "${TARGET_MAKE_ENV} /usr/bin/make -j${MAXNUM_CPUS} DESTDIR=${TARGET_DIR} install -C ${PKGBUILD_DIR}"
COREUTILS_BIN_PROGS="base64 cat chgrp chmod chown cp date dd df dir echo false \
kill link ln ls mkdir mknod mktemp mv nice printenv pwd rm rmdir \
vdir sleep stty sync touch true uname join"
for f in ${COREUTILS_BIN_PROGS} ; do
mv ${TARGET_DIR}/usr/bin/${f} ${TARGET_DIR}/bin
done
ln -fs test ${TARGET_DIR}/usr/bin/[
mv ${TARGET_DIR}/usr/bin/chroot ${TARGET_DIR}/usr/sbin
step_end install-target
stamp_installed
echo "<---- ${PKGBUILDNAME} build complete."

View File

@@ -30,3 +30,4 @@ export ONLY_DOWNLOAD=y
./package/gettext-tiny/make-host.sh || exit 1 ./package/gettext-tiny/make-host.sh || exit 1
./package/libxcrypt/make.sh || exit 1 ./package/libxcrypt/make.sh || exit 1
./package/sysvinit/make.sh || exit 1 ./package/sysvinit/make.sh || exit 1
./package/coreutils/make.sh || exit 1