Add various patches for compatibility and improvements across multiple projects

- Introduced BSD tooling compatibility patch for Linux kernel, modifying header dependency handling and export checks in KVM.
- Updated MLIR project to ensure generated headers are correctly located and dependencies are managed for various tools.
- Enhanced ncurses configuration to support wide-character handling, ensuring proper header generation and compatibility.
- Modified GNU parallel to use POSIX compliant shell, ensuring broader compatibility across different environments.
- Fixed capability name handling in procps-ng by replacing echo with printf for better formatting.
- Adjusted util-linux build system to support byacc alongside bison, improving parser generation and flexibility.
This commit is contained in:
2026-07-10 19:15:34 -05:00
parent accdf3d3fb
commit 4f914253b7
9 changed files with 2130 additions and 0 deletions
+268
View File
@@ -0,0 +1,268 @@
diff --git a/Makefile.am b/Makefile.am
index 7d1f8d5..d989866 100755
--- a/Makefile.am
+++ b/Makefile.am
@@ -4,7 +4,7 @@
AUTOMAKE_OPTIONS = -Wno-portability
SUBDIRS = src
-SHELL = /bin/bash
+SHELL = /bin/sh
BUILDHOST ?= $(shell [ -f .env ] && . ./.env 2>/dev/null && printf '%s' "$$BUILDHOST")
TOR_BUILDHOST ?= $(shell [ -f .env ] && . ./.env 2>/dev/null && printf '%s' "$$TOR_BUILDHOST")
@@ -61,7 +61,7 @@ sig:
perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-latest.tar.*directive
gpg --clearsign --yes parallel-latest.tar.bz2.directive
- (echo '#!/bin/bash'; \
+ (echo '#!/bin/sh'; \
echo; \
echo "# To check the signature run:"; \
echo "# echo | gpg"; \
@@ -75,7 +75,7 @@ sig:
) > parallel-$(YYYYMMDD).tar.bz2.sig
chmod +x parallel-$(YYYYMMDD).tar.bz2.sig
- (echo '#!/bin/bash'; \
+ (echo '#!/bin/sh'; \
echo; \
echo "# To check the signature run:"; \
echo "# echo | gpg"; \
@@ -126,7 +126,7 @@ alphaupload:
perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-latest.tar.*directive
gpg --clearsign --yes parallel-latest.tar.bz2.directive
- (echo '#!/bin/bash'; \
+ (echo '#!/bin/sh'; \
echo; \
echo "# To check the signature run:"; \
echo "# echo | gpg"; \
@@ -139,7 +139,7 @@ alphaupload:
gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
) > parallel-$(YYYYMMDD).tar.bz2.sig
- (echo '#!/bin/bash'; \
+ (echo '#!/bin/sh'; \
echo; \
echo "# To check the signature run:"; \
echo "# echo | gpg"; \
diff --git a/Makefile.in b/Makefile.in
index eeb280a..0436c23 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -241,7 +241,7 @@ PACKAGE_URL = @PACKAGE_URL@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
SET_MAKE = @SET_MAKE@
-SHELL = /bin/bash
+SHELL = /bin/sh
STRIP = @STRIP@
VERSION = @VERSION@
abs_builddir = @abs_builddir@
@@ -842,7 +842,7 @@ sig:
perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-latest.tar.*directive
gpg --clearsign --yes parallel-latest.tar.bz2.directive
- (echo '#!/bin/bash'; \
+ (echo '#!/bin/sh'; \
echo; \
echo "# To check the signature run:"; \
echo "# echo | gpg"; \
@@ -856,7 +856,7 @@ sig:
) > parallel-$(YYYYMMDD).tar.bz2.sig
chmod +x parallel-$(YYYYMMDD).tar.bz2.sig
- (echo '#!/bin/bash'; \
+ (echo '#!/bin/sh'; \
echo; \
echo "# To check the signature run:"; \
echo "# echo | gpg"; \
@@ -907,7 +907,7 @@ alphaupload:
perl -i -pe "s/20\d\d\d\d\d\d/$(YYYYMMDD)/" parallel-latest.tar.*directive
gpg --clearsign --yes parallel-latest.tar.bz2.directive
- (echo '#!/bin/bash'; \
+ (echo '#!/bin/sh'; \
echo; \
echo "# To check the signature run:"; \
echo "# echo | gpg"; \
@@ -920,7 +920,7 @@ alphaupload:
gpg -ab -o - parallel-$(YYYYMMDD).tar.bz2; \
) > parallel-$(YYYYMMDD).tar.bz2.sig
- (echo '#!/bin/bash'; \
+ (echo '#!/bin/sh'; \
echo; \
echo "# To check the signature run:"; \
echo "# echo | gpg"; \
diff --git a/src/env_parallel b/src/env_parallel
index 9c946ca..7c24987 100755
--- a/src/env_parallel
+++ b/src/env_parallel
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/sh
# Copyright (C) 2016-2026 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
@@ -23,17 +23,19 @@
grepq() {
# grep -q for systems without -q
- grep >/dev/null 2>/dev/null "$@"
+ grep "$@" >/dev/null 2>&1
}
installer() {
- source="$1"
- script="$2"
- into="$3"
- if grepq $script "$into"; then
- true already installed
+ source_command=$1
+ script=$2
+ into=$3
+
+ if grepq "$script" "$into"; then
+ : already installed
else
- echo $source \`which $script\` >> "$into"
+ script_path=$(command -v "$script" 2>/dev/null) || script_path=$script
+ printf '%s %s\n' "$source_command" "$script_path" >> "$into"
fi
}
@@ -47,11 +49,11 @@ while test $# -gt 0; do
installer . env_parallel.zsh "$HOME"/.zshenv
installer source env_parallel.ksh "$HOME"/.kshrc
installer source env_parallel.mksh "$HOME"/.mkshrc
- echo $SHELL | grepq /pdksh &&
+ printf '%s\n' "${SHELL-}" | grepq /pdksh &&
installer . env_parallel.pdksh "$HOME"/.profile
- echo $SHELL | grepq /ash &&
+ printf '%s\n' "${SHELL-}" | grepq /ash &&
installer . env_parallel.ash "$HOME"/.profile
- echo $SHELL | grepq /dash &&
+ printf '%s\n' "${SHELL-}" | grepq /dash &&
installer . env_parallel.dash "$HOME"/.profile
installer source env_parallel.csh "$HOME"/.cshrc
installer source env_parallel.tcsh "$HOME"/.tcshrc
@@ -71,7 +73,7 @@ while test $# -gt 0; do
exit
;;
*)
- echo "Unknown option: $key"
+ printf '%s\n' "Unknown option: $key"
;;
esac
shift # past argument or value
@@ -91,7 +93,7 @@ bash: Put this in $HOME/.bashrc: . env_parallel.bash
fish: Put this in $HOME/.config/fish/config.fish: . (which env_parallel.fish)
E.g. by doing:
- echo '. (which env_parallel.fish)' >> $HOME/.config/fish/config.fish
+ printf '%s\n' '. (which env_parallel.fish)' >> "$HOME/.config/fish/config.fish"
Supports: variables, aliases, functions, arrays
ksh: Put this in $HOME/.kshrc: source env_parallel.ksh
diff --git a/src/parset b/src/parset
index e3c36f1..df1ec3d 100755
--- a/src/parset
+++ b/src/parset
@@ -1,4 +1,4 @@
-#!/usr/bin/env bash
+#!/bin/sh
# Copyright (C) 2016-2026 Ole Tange, http://ole.tange.dk and Free
# Software Foundation, Inc.
@@ -23,17 +23,19 @@
grepq() {
# grep -q for systems without -q
- grep >/dev/null 2>/dev/null "$@"
+ grep "$@" >/dev/null 2>&1
}
installer() {
- source="$1"
- script="$2"
- into="$3"
- if grepq $script $into; then
- true already installed
+ source_command=$1
+ script=$2
+ into=$3
+
+ if grepq "$script" "$into"; then
+ : already installed
else
- echo $source \`which $script\` >> $into
+ script_path=$(command -v "$script" 2>/dev/null) || script_path=$script
+ printf '%s %s\n' "$source_command" "$script_path" >> "$into"
fi
}
@@ -42,36 +44,36 @@ while test $# -gt 0; do
case $key in
-i|--install)
- installer . env_parallel.bash $HOME/.bashrc
- installer . env_parallel.sh $HOME/.shrc
- installer . env_parallel.zsh $HOME/.zshenv
- installer source env_parallel.ksh $HOME/.kshrc
- installer source env_parallel.mksh $HOME/.kshrc
- echo $SHELL | grepq /pdksh &&
- installer . env_parallel.pdksh $HOME/.profile
- echo $SHELL | grepq /ash &&
- installer . env_parallel.ash $HOME/.profile
- echo $SHELL | grepq /dash &&
- installer . env_parallel.dash $HOME/.profile
- installer source env_parallel.csh $HOME/.cshrc
- installer source env_parallel.tcsh $HOME/.tcshrc
- mkdir -p $HOME/.config/fish
- grepq env_parallel.fish $HOME/.config/fish/config.fish ||
- echo '. (which env_parallel.fish)' >> $HOME/.config/fish/config.fish
+ installer . env_parallel.bash "$HOME/.bashrc"
+ installer . env_parallel.sh "$HOME/.shrc"
+ installer . env_parallel.zsh "$HOME/.zshenv"
+ installer source env_parallel.ksh "$HOME/.kshrc"
+ installer source env_parallel.mksh "$HOME/.kshrc"
+ printf '%s\n' "${SHELL-}" | grepq /pdksh &&
+ installer . env_parallel.pdksh "$HOME/.profile"
+ printf '%s\n' "${SHELL-}" | grepq /ash &&
+ installer . env_parallel.ash "$HOME/.profile"
+ printf '%s\n' "${SHELL-}" | grepq /dash &&
+ installer . env_parallel.dash "$HOME/.profile"
+ installer source env_parallel.csh "$HOME/.cshrc"
+ installer source env_parallel.tcsh "$HOME/.tcshrc"
+ mkdir -p "$HOME/.config/fish"
+ grepq env_parallel.fish "$HOME/.config/fish/config.fish" ||
+ printf '%s\n' '. (which env_parallel.fish)' >> "$HOME/.config/fish/config.fish"
echo 'Installed env_parallel in:'
- echo " " $HOME/.bashrc
- echo " " $HOME/.shrc
- echo " " $HOME/.zshenv
- echo " " $HOME/.config/fish/config.fish
- echo " " $HOME/.kshrc
- echo " " $HOME/.mkshrc
- echo " " $HOME/.profile
- echo " " $HOME/.cshrc
- echo " " $HOME/.tcshrc
+ echo " " "$HOME/.bashrc"
+ echo " " "$HOME/.shrc"
+ echo " " "$HOME/.zshenv"
+ echo " " "$HOME/.config/fish/config.fish"
+ echo " " "$HOME/.kshrc"
+ echo " " "$HOME/.mkshrc"
+ echo " " "$HOME/.profile"
+ echo " " "$HOME/.cshrc"
+ echo " " "$HOME/.tcshrc"
exit
;;
*)
- echo "Unknown option: $key"
+ printf '%s\n' "Unknown option: $key"
;;
esac
shift # past argument or value