From 979c81eb56f7735c6115941e8deeb2b5ae7bbbb8 Mon Sep 17 00:00:00 2001 From: shixuantong Date: Sat, 27 Aug 2022 15:31:02 +0800 Subject: [PATCH] Change default build type to 'minsize' --- ...o-minsize-to-imporve-the-performance.patch | 80 +++++++++++++++++++ ksh.spec | 12 ++- 2 files changed, 90 insertions(+), 2 deletions(-) create mode 100644 backport-Change-default-build-type-to-minsize-to-imporve-the-performance.patch diff --git a/backport-Change-default-build-type-to-minsize-to-imporve-the-performance.patch b/backport-Change-default-build-type-to-minsize-to-imporve-the-performance.patch new file mode 100644 index 0000000..8872793 --- /dev/null +++ b/backport-Change-default-build-type-to-minsize-to-imporve-the-performance.patch @@ -0,0 +1,80 @@ +From f967b5a25509d7495445b392307fdaa046e84be7 Mon Sep 17 00:00:00 2001 +From: Kurtis Rader +Date: Sun, 26 Jan 2020 21:00:50 -0800 +Subject: [PATCH] Change default build type to "minsize" + +People (and distros) have been building ksh from this project using the +default "debug" build type since we switched from Nmake to Meson. That +results in a ksh program whose performance is far from optimal. So change +the default build type. If a debugging enabled binary is needed, such as +in a CI environment, it must be requested explicitly. + +Related #1449 + +(cherry picked from commit db54d369002a0e942d695838986af6bf8962d763) +--- + CHANGELOG.md | 3 +++ + meson.build | 11 ++++++++++- + scripts/build-on-docker.sh | 2 +- + scripts/build-on-macos.sh | 2 +- + 4 files changed, 15 insertions(+), 3 deletions(-) + +diff --git a/CHANGELOG.md b/CHANGELOG.md +index 0e38b780456e..8657ab1a2a15 100644 +--- a/CHANGELOG.md ++++ b/CHANGELOG.md +@@ -2,6 +2,9 @@ + + ## Notable fixes and improvements + ++- The default build type is now "minsize" since that dramatically improves the ++ performance of ksh. You can still request a debug build via `meson ++ --buildtype=debug` (issue #1449). + - Fix `history` command behavior when the *~/.sh_history* file has + specific content (issue #1432). + +diff --git a/meson.build b/meson.build +index 0e5dc2483fb1..aecfe737c3f1 100644 +--- a/meson.build ++++ b/meson.build +@@ -1,4 +1,13 @@ +-project('ksh93', 'c', default_options: ['b_lundef=false', 'default_library=static']) ++project('ksh9', 'c', default_options: [ ++ # This is the optimal production build type for this project. If you need ++ # a debug build you must explicitly run `meson --buildtype=debug`. This ++ # helps ensure that each distro (or user) gets a performance optimized build ++ # even if they don't know to add the `--buildtype=minsize` option. ++ 'buildtype=minsize', ++ 'b_lundef=false', ++ 'default_library=static', ++ 'c_std=c99', # we require the C99 (aka ISO9899:1999) language standard ++]) + + source_dir = meson.current_source_dir() + cc = meson.get_compiler('c') +diff --git a/scripts/build-on-docker.sh b/scripts/build-on-docker.sh +index cd8138be9ab2..0b5af4a1d698 100755 +--- a/scripts/build-on-docker.sh ++++ b/scripts/build-on-docker.sh +@@ -18,7 +18,7 @@ mkdir build + cd build + + echo ==== Configuring the build +-if ! meson -Dwarnings-are-errors=true ++if ! meson -Dwarnings-are-errors=true --buildtype=debug + then + cat meson-logs/meson-log.txt + exit 1 +diff --git a/scripts/build-on-macos.sh b/scripts/build-on-macos.sh +index 2732e370f8d8..163195accfff 100755 +--- a/scripts/build-on-macos.sh ++++ b/scripts/build-on-macos.sh +@@ -15,7 +15,7 @@ mkdir build + cd build + + echo ==== Configuring the build +-if ! meson -Dwarnings-are-errors=true ++if ! meson -Dwarnings-are-errors=true --buildtype=debug + then + cat meson-logs/meson-log.txt + exit 1 diff --git a/ksh.spec b/ksh.spec index 965cd37..66aaa3a 100644 --- a/ksh.spec +++ b/ksh.spec @@ -1,6 +1,6 @@ Name: ksh Version: 2020.0.0 -Release: 9 +Release: 10 Summary: The Original ATT Korn Shell License: EPL-1.0 URL: http://www.kornshell.com/ @@ -17,7 +17,9 @@ Patch6001: backport-functions-with-not-loaded-autoloaded-functions.patch Patch6002: backport-Fix-interactive-restricted-shell-behavior.patch Patch9000: openEuler-skip-some-test.patch -Patch9001: backport-Fix-handling-of-skipped-directories.patch + +Patch6003: backport-Fix-handling-of-skipped-directories.patch +Patch6004: backport-Change-default-build-type-to-minsize-to-imporve-the-performance.patch Provides: /bin/ksh /usr/bin/ksh BuildRequires: meson gcc glibc-devel ed @@ -94,6 +96,12 @@ done %config(noreplace) %{_sysconfdir}/binfmt.d/kshcomp.conf %changelog +* Sat Aug 27 2022 shixuantong - 1:2020.0.0-10 +- Type:bugfix +- CVE:NA +- SUG:NA +- DESC:Change default build type to "minsize" + * Thu Jun 30 2022 wangjiang - 1:2020.0.0-9 - Type:bugfix - CVE:NA -- Gitee