diff --git a/.gitignore b/.gitignore index b15196c..098da8a 100644 --- a/.gitignore +++ b/.gitignore @@ -11,5 +11,3 @@ kBuild-0.1.5-p2-src.tar.gz /kBuild-r3564.20220308.tar.gz /kBuild-r3572.20221024.tar.gz /kBuild-r3589.20230220.tar.gz -/kBuild-r3605.20240424.tar.gz -/kBuild-r3674.20250422.tar.gz diff --git a/kBuild-0.1.9998-portme.patch b/kBuild-0.1.9998-portme.patch index 9e490e3..53b6462 100644 --- a/kBuild-0.1.9998-portme.patch +++ b/kBuild-0.1.9998-portme.patch @@ -1,9 +1,3 @@ -# Only used on el6 -# Found the reason why compile fails in detection of powerpc64 in centos 6 -# kBuild/src/lib/kStuff/include/k/kDefs.h:356:4: error: #error "Port Me or define K_ENDIAN." -# hack for gcc < 4.6 and ppc64 only -# https://stackoverflow.com/a/40675229/778517 - --- kBuild/src/lib/kStuff/include/k/kDefs.h.orig 2018-05-12 03:35:13.703342877 +0100 +++ kBuild/src/lib/kStuff/include/k/kDefs.h 2018-05-12 04:24:52.034917011 +0100 @@ -336,16 +336,19 @@ diff --git a/kBuild-c23.patch b/kBuild-c23.patch deleted file mode 100644 index fde7a93..0000000 --- a/kBuild-c23.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Nurp kBuild.orig/src/kmk/glob/fnmatch.c kBuild/src/kmk/glob/fnmatch.c ---- kBuild.orig/src/kmk/glob/fnmatch.c 2025-04-25 21:54:33.000000000 +0100 -+++ kBuild/src/kmk/glob/fnmatch.c 2025-04-25 23:20:55.477680324 +0100 -@@ -120,10 +120,6 @@ USA. */ - /* Avoid depending on library functions or files - whose names are inconsistent. */ - --# if !defined _LIBC && !defined getenv && !defined _MSC_VER --extern char *getenv (); --# endif -- - # ifndef errno - extern int errno; - # endif diff --git a/kBuild-c99-2.patch b/kBuild-c99-2.patch new file mode 100644 index 0000000..62fa544 --- /dev/null +++ b/kBuild-c99-2.patch @@ -0,0 +1,16 @@ +The eval_buffer function expects the end of the string as the +(optional) last argument, not its length. + +Index: src/kmk/loadapi.c +=================================================================== +--- src/kmk/loadapi.c (revision 3600) ++++ src/kmk/loadapi.c (working copy) +@@ -59,7 +59,7 @@ + install_variable_buffer (&pbuf, &plen); + + s = xstrdup (buffer); +- eval_buffer (s, flp IF_WITH_VALUE_LENGTH_PARAM (strlen (s) /** @todo suboptimal */)); ++ eval_buffer (s, flp IF_WITH_VALUE_LENGTH_PARAM (s + strlen (s) /** @todo suboptimal */)); + free (s); + + restore_variable_buffer (pbuf, plen); diff --git a/kBuild-c99.patch b/kBuild-c99.patch new file mode 100644 index 0000000..73dbb11 --- /dev/null +++ b/kBuild-c99.patch @@ -0,0 +1,151 @@ +Do not treat as an umbrella header for +The two are distinct on GNU/Linux. + +Also add missing #include in some files. + +diff --git a/src/sed/lib/getline.c b/src/sed/lib/getline.c +index 4cb9d45b..f39c363f 100644 +--- a/src/sed/lib/getline.c ++++ b/src/sed/lib/getline.c +@@ -9,10 +9,10 @@ + #include + #undef getline /* bird */ + ++#include ++ + #ifdef HAVE_STRINGS_H + # include +-#else +-# include + #endif /* HAVE_STRINGS_H */ + + #ifdef HAVE_STDLIB_H +diff --git a/src/sed/lib/mkstemp.c b/src/sed/lib/mkstemp.c +index 5b00205c..f36f7ca4 100644 +--- a/src/sed/lib/mkstemp.c ++++ b/src/sed/lib/mkstemp.c +@@ -2,10 +2,10 @@ + #include "config.h" + #endif + ++#include ++ + #ifdef HAVE_STRINGS_H + # include +-#else +-# include + #endif /* HAVE_STRINGS_H */ + + #ifdef HAVE_STDLIB_H +diff --git a/src/sed/lib/utils.c b/src/sed/lib/utils.c +index 41c61aaf..48a8b57f 100644 +--- a/src/sed/lib/utils.c ++++ b/src/sed/lib/utils.c +@@ -25,10 +25,10 @@ + extern int errno; + #endif + ++#include ++ + #ifdef HAVE_STRINGS_H + # include +-#else +-# include + #endif /* HAVE_STRINGS_H */ + + #ifdef HAVE_STDLIB_H +diff --git a/src/sed/sed/compile.c b/src/sed/sed/compile.c +index 0ecc2fe2..064bb350 100644 +--- a/src/sed/sed/compile.c ++++ b/src/sed/sed/compile.c +@@ -22,14 +22,13 @@ + #include "strverscmp.h" + #include + #include ++#include + + #ifdef HAVE_STRINGS_H + # include + # ifdef HAVE_MEMORY_H + # include + # endif +-#else +-# include + #endif /* HAVE_STRINGS_H */ + + #ifdef HAVE_STDLIB_H +diff --git a/src/sed/sed/execute.c b/src/sed/sed/execute.c +index c9038f4f..09080b5b 100644 +--- a/src/sed/sed/execute.c ++++ b/src/sed/sed/execute.c +@@ -24,6 +24,7 @@ + + #include + #include ++#include + + #include + #ifndef errno +@@ -46,8 +47,6 @@ extern int errno; + + #ifdef HAVE_STRINGS_H + # include +-#else +-# include + #endif /*HAVE_STRINGS_H*/ + #ifdef HAVE_MEMORY_H + # include +diff --git a/src/sed/sed/fmt.c b/src/sed/sed/fmt.c +index 64600a06..4374070e 100644 +--- a/src/sed/sed/fmt.c ++++ b/src/sed/sed/fmt.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + #if HAVE_LIMITS_H + # include +diff --git a/src/sed/sed/mbcs.c b/src/sed/sed/mbcs.c +index 37565472..79e3f843 100644 +--- a/src/sed/sed/mbcs.c ++++ b/src/sed/sed/mbcs.c +@@ -17,6 +17,7 @@ + + #include "sed.h" + #include ++#include + + int mb_cur_max; + +diff --git a/src/sed/sed/regexp.c b/src/sed/sed/regexp.c +index d4e7437c..a007494d 100644 +--- a/src/sed/sed/regexp.c ++++ b/src/sed/sed/regexp.c +@@ -19,6 +19,7 @@ + + #include + #include ++#include + #ifdef HAVE_STDLIB_H + # include + #endif +diff --git a/src/sed/sed/sed.c b/src/sed/sed/sed.c +index b3bc2ea2..3829e2c6 100644 +--- a/src/sed/sed/sed.c ++++ b/src/sed/sed/sed.c +@@ -22,12 +22,10 @@ + + #include "sed.h" + +- + #include ++#include + #ifdef HAVE_STRINGS_H + # include +-#else +-# include + #endif /*HAVE_STRINGS_H*/ + #ifdef HAVE_MEMORY_H + # include diff --git a/kBuild-configure-c99.patch b/kBuild-configure-c99.patch new file mode 100644 index 0000000..6749949 --- /dev/null +++ b/kBuild-configure-c99.patch @@ -0,0 +1,48 @@ +Fix some typical C99 compatibility issues in old configure scripts. + +diff --git a/src/sed/config/getline.m4 b/src/sed/config/getline.m4 +index ff8b5f4b..52d2e3e7 100644 +--- a/src/sed/config/getline.m4 ++++ b/src/sed/config/getline.m4 +@@ -27,7 +27,7 @@ AC_DEFUN([AM_FUNC_GETLINE], + if (!in) + return 1; + len = getline (&line, &siz, in); +- exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1); ++ return (len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1; + } + ], am_cv_func_working_getline=yes dnl The library version works. + , am_cv_func_working_getline=no dnl The library version does NOT work. +diff --git a/src/sed/configure b/src/sed/configure +index 0b01618f..b1172113 100755 +--- a/src/sed/configure ++++ b/src/sed/configure +@@ -2593,7 +2593,7 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 + echo "$as_me:$LINENO: \$? = $ac_status" >&5 + (exit $ac_status); }; }; then + for ac_declaration in \ +- '' \ ++ '#include ' \ + 'extern "C" void std::exit (int) throw (); using std::exit;' \ + 'extern "C" void std::exit (int); using std::exit;' \ + 'extern "C" void exit (int) throw ();' \ +@@ -3378,8 +3378,8 @@ main () + for (i = 0; i < 256; i++) + if (XOR (islower (i), ISLOWER (i)) + || toupper (i) != TOUPPER (i)) +- exit(2); +- exit (0); ++ return 2; ++ return 0; + } + _ACEOF + rm -f conftest$ac_exeext +@@ -5747,7 +5747,7 @@ cat >>conftest.$ac_ext <<_ACEOF + if (!in) + return 1; + len = getline (&line, &siz, in); +- exit ((len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1); ++ return (len == 4 && line && strcmp (line, "foo\n") == 0) ? 0 : 1; + } + + _ACEOF diff --git a/kBuild.spec b/kBuild.spec index b8c234f..d505f42 100644 --- a/kBuild.spec +++ b/kBuild.spec @@ -1,13 +1,12 @@ -%global svn_revision 3674 -%global svn_date 20250422 +%global svn_revision 3589 +%global svn_date 20230220 Name: kBuild Version: 0.1.9998%{?svn_revision:.r%{svn_revision}} -Release: 2%{?svn_date:.%{svn_date}}%{?dist} +Release: 5%{?svn_date:.%{svn_date}}%{?dist} Summary: A cross-platform build environment -# Automatically converted from old format: BSD and GPLv2+ - review is highly recommended. -License: LicenseRef-Callaway-BSD AND GPL-2.0-or-later +License: BSD and GPLv2+ # most tools are from NetBSD, some are from FreeBSD, # and make and sed are from GNU URL: http://svn.netlabs.org/kbuild @@ -19,9 +18,11 @@ Patch6: kbuild-dummy_noreturn.diff Patch8: kBuild-0.1.9998-portme.patch Patch10: assert.patch Patch11: relax_automake_version.patch +Patch12: kBuild-configure-c99.patch +Patch13: kBuild-c99.patch Patch14: changeset_3572.diff Patch15: changeset_trunk_3566.diff -Patch16: kBuild-c23.patch +Patch16: kBuild-c99-2.patch BuildRequires: make BuildRequires: gcc @@ -44,30 +45,32 @@ repository. %prep -%dnl %setup -q -n %{name}-%{version}%{?patchlevel:-%{patchlevel}} +#%setup -q -n %{name}-%{version}%{?patchlevel:-%{patchlevel}} %setup -q -n %{name} -%patch -P0 -p1 -b .escape -%patch -P1 -p1 -b .pthreads -%patch -P6 -p1 -b .dummy_noreturn +%patch0 -p1 -b .escape +%patch1 -p1 -b .pthreads +%patch6 -p1 -b .dummy_noreturn %ifarch ppc64 %if 0%{?rhel} && 0%{?rhel} < 7 # Found the reason why compile fails in detection of powerpc64 in centos 6 # kBuild/src/lib/kStuff/include/k/kDefs.h:356:4: error: #error "Port Me or define K_ENDIAN." # hack for gcc < 4.6 and ppc64 only # https://stackoverflow.com/a/40675229/778517 -%patch -P8 -p1 -b .portme +%patch8 -p1 -b .portme %endif %endif -%patch -P10 -p1 -b .portme3 +%patch10 -p1 -b .portme3 %if 0%{?rhel} && 0%{?rhel} <= 7 -%patch -P11 -p1 +%patch11 -p1 %endif +%patch12 -p1 +%patch13 -p1 %if 0%{?rhel} && 0%{?rhel} <= 7 # we need revert this 2 commits to build VBox 6 on el7 -%patch -P14 -p1 -R -b .revert -%patch -P15 -p1 -R -b .revert2 +%patch14 -p1 -R -b .revert +%patch15 -p1 -R -b .revert2 %endif -%patch -P16 -p1 +%patch16 -p0 %build echo KBUILD_SVN_URL := http://svn.netlabs.org/repos/kbuild/trunk > SvnInfo.kmk @@ -111,25 +114,6 @@ pod2man -c 'kBuild for Fedora/EPEL GNU/Linux' \ %changelog -* Thu Jul 24 2025 Fedora Release Engineering - 0.1.9998.r3674-2.20250422 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Fri Apr 25 2025 Sérgio Basto - 0.1.9998.r3674-1.20250422 -- Update to Revision 3674 -- (rhbz#2340684) Fix FTBFS - -* Fri Jan 17 2025 Fedora Release Engineering - 0.1.9998.r3605-4.20240424 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Mon Sep 02 2024 Miroslav Suchý - 0.1.9998.r3605-3.20240424 -- convert license to SPDX - -* Thu Jul 18 2024 Fedora Release Engineering - 0.1.9998.r3605-2.20240424 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Tue Jun 04 2024 Sérgio Basto - 0.1.9998.r3605-1.20240424 -- Update to Revision 3605 - * Wed Jan 24 2024 Fedora Release Engineering - 0.1.9998.r3589-5.20230220 - Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild diff --git a/kbuild-dummy_noreturn.diff b/kbuild-dummy_noreturn.diff index bf03e86..929dc08 100644 --- a/kbuild-dummy_noreturn.diff +++ b/kbuild-dummy_noreturn.diff @@ -11,3 +11,28 @@ Index: src/kmk/kmkbuiltin/expr.c } /* NOTREACHED */ } +Index: src/kmk/kmkbuiltin/kbuild_protection.c +=================================================================== +--- ./src/kmk/kmkbuiltin/kbuild_protection.c.orig ++++ ./src/kmk/kmkbuiltin/kbuild_protection.c +@@ -29,6 +29,7 @@ + #include "config.h" + #include + #include ++#include + #include + #include + #include +# Fix one implicit-function-declaration +Index: src/sed/lib/utils.c +=================================================================== +--- ./src/sed/lib/utils.c (revision 3127) ++++ ./src/sed/lib/utils.c (working copy) +@@ -19,6 +19,7 @@ + #include "config.h" + + #include ++#include + + #include + #ifndef errno diff --git a/relax_automake_version.patch b/relax_automake_version.patch index 8e6fc2f..82b7e46 100644 --- a/relax_automake_version.patch +++ b/relax_automake_version.patch @@ -1,4 +1,3 @@ -# Only for epel <= 7 --- kBuild/src/kmk/configure.ac.orig 2022-10-30 19:36:49.966336934 +0000 +++ kBuild/src/kmk/configure.ac 2022-10-30 19:37:07.936270597 +0000 @@ -30,7 +30,7 @@ AC_CONFIG_HEADERS([config.h]) diff --git a/sources b/sources index 7b1bdf3..2c766e2 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (kBuild-r3674.20250422.tar.gz) = dfb52548f896281ac7473a2ebed93e939ae65e6b22101f16a27d36367a90304a3b0aa67f5470d50af1a37333865f570cc447ac7537250fc0fe57746d6c6ba219 +SHA512 (kBuild-r3589.20230220.tar.gz) = f9703785c0322b0a27074b68dc2e4155d44f10db9af89f50d6d3e3d1ef5431e28b8c8260da9521b147a9dc43dab0c6fe3fa1078f4e8ea4697bcaa20d2aca811d