mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-05 12:26:52 +02:00
testing/elektra: new aport
https://www.libelektra.org A universal and secure framework to access configuration parameters
This commit is contained in:
parent
03c1bdba42
commit
120a747aea
402
testing/elektra/APKBUILD
Normal file
402
testing/elektra/APKBUILD
Normal file
@ -0,0 +1,402 @@
|
||||
# Contributor: Jakub Jirutka <jakub@jirutka.cz>
|
||||
# Maintainer: Jakub Jirutka <jakub@jirutka.cz>
|
||||
# TODO: Add rest of the tools.
|
||||
# TODO: Fix some scripts/tools to not require bash.
|
||||
pkgname=elektra
|
||||
_pkgname=libelektra
|
||||
pkgver=0.8.21
|
||||
pkgrel=0
|
||||
pkgdesc="A universal and secure framework to access configuration parameters"
|
||||
url="https://www.libelektra.org"
|
||||
arch="all"
|
||||
license="BSD-3-Clause"
|
||||
_luaver=5.3
|
||||
# kdb doesn't work correctly without these plugins.
|
||||
depends="$pkgname-dump=$pkgver-r$pkgrel
|
||||
$pkgname-list=$pkgver-r$pkgrel
|
||||
$pkgname-spec=$pkgver-r$pkgrel
|
||||
$pkgname-sync=$pkgver-r$pkgrel"
|
||||
checkdepends="bash gtest"
|
||||
makedepends="
|
||||
augeas-dev
|
||||
boost-dev
|
||||
cmake
|
||||
curl-dev
|
||||
discount discount-dev
|
||||
fts-dev
|
||||
libdrm-dev
|
||||
libgcrypt-dev
|
||||
libgit2-dev
|
||||
libressl-dev
|
||||
lua$_luaver-dev
|
||||
glib-dev
|
||||
python3-dev
|
||||
qt5-qtbase-dev
|
||||
qt5-qtdeclarative-dev
|
||||
qt5-qtsvg-dev
|
||||
ruby ruby-dev
|
||||
swig
|
||||
yajl-dev
|
||||
yaml-cpp-dev
|
||||
"
|
||||
install="$pkgname.post-deinstall"
|
||||
triggers="$pkgname.trigger=/usr/lib/$pkgname"
|
||||
subpackages="
|
||||
$pkgname-dev
|
||||
$pkgname-doc
|
||||
$pkgname-glib
|
||||
lua$_luaver-elektra:_lua
|
||||
py3-elektra:_py3
|
||||
ruby-elektra:_ruby
|
||||
$pkgname-qt-gui:_gui
|
||||
$pkgname-libs
|
||||
$pkgname-bash-completion:bashcomp:noarch
|
||||
$pkgname-fish-completion:fishcomp:noarch
|
||||
$pkgname-zsh-completion:zshcomp:noarch
|
||||
$pkgname-plugins-all:_all:noarch
|
||||
"
|
||||
source="$_pkgname-$pkgver.tar.gz::https://github.com/ElektraInitiative/$_pkgname/archive/$pkgver.tar.gz
|
||||
fix-bash-shebang.patch
|
||||
fix-augeas-internal-inconsistency.patch
|
||||
cmake-allow-override-rpath.patch"
|
||||
builddir="$srcdir/$_pkgname-$pkgver"
|
||||
options="!check" # FIXME!
|
||||
|
||||
# All plugins except:
|
||||
# * status:obsolete
|
||||
# * status:experimental
|
||||
# * journald - considered evil
|
||||
# * wresolver - resolver for non-POSIX, e.g. w32/w64 systems
|
||||
# * xerces - we don't have xerces package
|
||||
# * yamlcpp - segfaults FIXME
|
||||
_plugins="
|
||||
augeas
|
||||
base64
|
||||
boolean
|
||||
c
|
||||
cachefilter
|
||||
camel
|
||||
ccode
|
||||
conditionals
|
||||
constants
|
||||
counter
|
||||
crypto_gcrypt
|
||||
crypto_openssl
|
||||
csvstorage
|
||||
curlget
|
||||
date
|
||||
desktop
|
||||
dini
|
||||
directoryvalue
|
||||
dpkg
|
||||
dump
|
||||
enum
|
||||
error
|
||||
fcrypt
|
||||
filecheck
|
||||
fstab
|
||||
gitresolver
|
||||
glob
|
||||
hexcode
|
||||
hidden
|
||||
hosts
|
||||
iconv
|
||||
ini
|
||||
ipaddr
|
||||
keytometa
|
||||
line
|
||||
lineendings
|
||||
list
|
||||
logchange
|
||||
lua
|
||||
mathcheck
|
||||
mini
|
||||
multifile
|
||||
network
|
||||
ni
|
||||
noresolver
|
||||
null
|
||||
path
|
||||
profile
|
||||
python
|
||||
range
|
||||
regexstore
|
||||
rename
|
||||
required
|
||||
resolver_fm_b_b
|
||||
resolver_fm_pb_b
|
||||
resolver_fm_hb_b
|
||||
resolver_fm_hp_b
|
||||
resolver_fm_ub_x
|
||||
resolver_fm_xb_x
|
||||
resolver_fm_xp_x
|
||||
resolver_fm_xhp_x
|
||||
resolver_fm_uhb_xb
|
||||
resolver_fm_hpu_b
|
||||
shell
|
||||
spec
|
||||
struct
|
||||
sync
|
||||
syslog
|
||||
tcl
|
||||
timeofday
|
||||
tracer
|
||||
type
|
||||
uname
|
||||
validation
|
||||
xmltool
|
||||
yajl
|
||||
"
|
||||
for _i in $_plugins; do
|
||||
subpackages="$subpackages $pkgname-$_i:_plugin"
|
||||
done
|
||||
|
||||
# All bindings except:
|
||||
# * status:experimental
|
||||
# * intercept_env - currently doesn't work on musl (0.8.21)
|
||||
_bindings="
|
||||
cpp
|
||||
glib
|
||||
swig_lua
|
||||
swig_python
|
||||
swig_ruby
|
||||
"
|
||||
|
||||
build() {
|
||||
mkdir -p "$builddir"/build
|
||||
cd "$builddir"/build
|
||||
|
||||
cmake .. \
|
||||
-DCMAKE_BUILD_TYPE=MinSizeRel \
|
||||
-DCMAKE_C_FLAGS_MINSIZEREL_INIT="$CFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS_MINSIZEREL_INIT="$CXXFLAGS" \
|
||||
-DCMAKE_EXE_LINKER_FLAGS_MINSIZEREL_INIT="$LDFLAGS" \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DCMAKE_INSTALL_RPATH=/usr/lib/$pkgname \
|
||||
-DTARGET_PLUGIN_FOLDER=$pkgname \
|
||||
-DCMAKE_VERBOSE_MAKEFILE=OFF \
|
||||
-DBUILD_DOCUMENTATION=OFF \
|
||||
-DBUILD_SHARED_LIBS=ON \
|
||||
-DBUILD_STATIC=OFF \
|
||||
\
|
||||
-DENABLE_DEBUG=OFF \
|
||||
-DENABLE_LOGGER=OFF \
|
||||
-DINSTALL_TESTING=OFF \
|
||||
-DBINDINGS=$(printf '%s;' $_bindings) \
|
||||
-DPLUGINS=$(printf '%s;' $_plugins) \
|
||||
-DTOOLS='kdb;qt-gui' \
|
||||
\
|
||||
-DLUA_LIBRARIES="/usr/lib/liblua-$_luaver.so.0" \
|
||||
-DLUA_INCLUDE_DIR=$(pkg-config --variable=includedir lua$_luaver ) \
|
||||
-DTARGET_LUA_CMOD_FOLDER=$(pkg-config --variable=INSTALL_LMOD lua$_luaver) \
|
||||
-DTARGET_LUA_CMOD_FOLDER=$(pkg-config --variable=INSTALL_CMOD lua$_luaver)
|
||||
make
|
||||
}
|
||||
|
||||
check() {
|
||||
cd "$builddir"/build
|
||||
make run_all
|
||||
}
|
||||
|
||||
package() {
|
||||
# These are virtual providers. abuild doesn't recognize them as
|
||||
# produced by this APKBUILD and tries to install them as make
|
||||
# dependencies. That's why they are defined in package().
|
||||
depends="$depends $pkgname-resolver"
|
||||
|
||||
cd "$builddir"/build
|
||||
|
||||
make DESTDIR="$pkgdir" install
|
||||
|
||||
# This is a shell script that just executes /usr/lib/elektra/tool_exec/qt-gui.
|
||||
# It was originally made as a workaround for some RPATH issue we don't have.
|
||||
rm "$pkgdir"/usr/bin/elektra-qt-editor
|
||||
|
||||
cd "$pkgdir"/usr/lib/elektra
|
||||
|
||||
# We create these symlinks in trigger, so they are correctly updated
|
||||
# when user install a different provider.
|
||||
rm libelektra-resolver.so libelektra-storage.so
|
||||
|
||||
## Delete some useless or unusable tools.
|
||||
|
||||
# Completions are in separate packages.
|
||||
rm tool_exec/install-sh-completion
|
||||
# This seems to be just for development.
|
||||
rm tool_exec/benchmark-createtree
|
||||
rm tool_exec/update-snippet-repository
|
||||
# Needs experimental plugin mozprefs.
|
||||
rm tool_exec/configure-firefox
|
||||
# Needs binding intercept_env.
|
||||
rm tool_exec/elektrify-getenv
|
||||
# Needs experimental binding intercept_fs.
|
||||
rm tool_exec/elektrify-open
|
||||
}
|
||||
|
||||
libs() {
|
||||
default_libs
|
||||
mv "$pkgdir"/usr/lib/*.so.* "$subpkgdir"/usr/lib/
|
||||
}
|
||||
|
||||
glib() {
|
||||
pkgdesc="Glib bindings for Elektra"
|
||||
depends=""
|
||||
|
||||
_submv usr/lib/libgelektra-*.so
|
||||
}
|
||||
|
||||
_lua() {
|
||||
pkgdesc="Lua $_luaver bindings for Elektra"
|
||||
depends=""
|
||||
|
||||
_submv usr/lib/lua
|
||||
}
|
||||
|
||||
_py3() {
|
||||
pkgdesc="Python 3 bindings for Elektra"
|
||||
depends=""
|
||||
|
||||
_submv usr/lib/python3.*
|
||||
}
|
||||
|
||||
_ruby() {
|
||||
pkgdesc="Ruby bindings for Elektra"
|
||||
depends=""
|
||||
|
||||
_submv usr/lib/ruby
|
||||
}
|
||||
|
||||
_gui() {
|
||||
pkgdesc="Qt GUI for Elektra"
|
||||
depends="$depends $pkgname-resolver"
|
||||
|
||||
_submv usr/lib/elektra/tool_exec/qt-gui usr/bin/elektra-qt-editor
|
||||
_submv usr/share/appdata
|
||||
_submv usr/share/applications
|
||||
_submv usr/share/icons
|
||||
}
|
||||
|
||||
bashcomp() {
|
||||
pkgdesc="Bash completions for $pkgname"
|
||||
depends=""
|
||||
install_if="$pkgname=$pkgver-r$pkgrel bash"
|
||||
|
||||
_submv usr/share/bash-completion
|
||||
}
|
||||
|
||||
fishcomp() {
|
||||
pkgdesc="Fish completions for $pkgname"
|
||||
depends=""
|
||||
install_if="$pkgname=$pkgver-r$pkgrel fish"
|
||||
|
||||
_submv usr/share/fish/vendor_completions.d usr/share/fish/completions
|
||||
}
|
||||
|
||||
zshcomp() {
|
||||
pkgdesc="ZSH completions for $pkgname"
|
||||
depends=""
|
||||
install_if="$pkgname=$pkgver-r$pkgrel zsh"
|
||||
|
||||
_submv usr/share/zsh/vendor-completions usr/share/zsh/site-functions
|
||||
}
|
||||
|
||||
_plugin() {
|
||||
local name=${subpkgname#$pkgname-}
|
||||
local readme="$builddir/src/plugins/${name%%_*}/README.md"
|
||||
|
||||
[ -f "$readme" ] || die "$readme doesn't exist!"
|
||||
|
||||
pkgdesc="Elektra plugin - $(_getinfo description "$readme")"
|
||||
depends=$(_to_pkgnames $(_getinfo needs "$readme" '') | xargs)
|
||||
|
||||
if provides=$(_getinfo provides "$readme"); then
|
||||
# Convert plugin names to package names.
|
||||
provides=$(_to_pkgnames $provides)
|
||||
|
||||
# Remove pkgnames clashing with subpackages.
|
||||
: ${_plugins_pkgname:="$(printf "$pkgname-%s\n" $_plugins dev doc libs)"}
|
||||
provides=$(_set_difference "$provides" "$_plugins_pkgname" | xargs)
|
||||
fi
|
||||
|
||||
# Overrides
|
||||
case "$name" in
|
||||
base64)
|
||||
provider_priority=50;; # provides binary
|
||||
crypto_gcrypt)
|
||||
depends="$depends gnupg"
|
||||
provider_priority=50;; # provides crypto
|
||||
crypto_*)
|
||||
depends="$depends gnupg";;
|
||||
dini)
|
||||
depends="$depends $pkgname-dump $pkgname-ini"
|
||||
provider_priority=40;; # provides storage storage-ini
|
||||
dump)
|
||||
provider_priority=50;; # provides storage
|
||||
hexcode)
|
||||
provider_priority=50;; # provides code
|
||||
resolver_fm_hpu_b)
|
||||
provider_priority=50;; # provides resolver
|
||||
esac
|
||||
msg "Resolved provides: $provides"
|
||||
msg "Resolved depends: $depends"
|
||||
|
||||
_submv usr/lib/elektra/libelektra-$name.so*
|
||||
}
|
||||
|
||||
_all() {
|
||||
pkgdesc="Virtual package that installs *all* plugins shipped with Elektra"
|
||||
depends=$(printf "$pkgname-%s=$pkgver-r$pkgrel\n" $_plugins)
|
||||
|
||||
mkdir -p "$subpkgdir"
|
||||
}
|
||||
|
||||
# Prints value of property $1 in the plugin's readme file $2,
|
||||
# or prints $3 if no value.
|
||||
_getinfo() {
|
||||
local name="$1"
|
||||
local file="$2"
|
||||
local default="${3:-}"
|
||||
local value
|
||||
|
||||
value=$(sed -n "s|^- infos/$name = *\(.*\) *|\1|p" "$file")
|
||||
[ "$value$default" ] || return 1
|
||||
printf '%s\n' "${value:-$default}"
|
||||
}
|
||||
|
||||
# Converts plugin names $@ into package names, i.e. adds prefix $pkgname-
|
||||
# and replaces "/" with "-".
|
||||
_to_pkgnames() {
|
||||
local item; for item in "$@"; do
|
||||
case "$item" in
|
||||
*/*) echo "$pkgname-${item%%/*}"
|
||||
echo "$pkgname-$item" | tr '/' '-';;
|
||||
*) echo "$pkgname-$item";;
|
||||
esac
|
||||
done
|
||||
}
|
||||
|
||||
# Prints space-separated items from $1 that are not in $2.
|
||||
_set_difference() {
|
||||
printf '%s\n' $1 $2 $2 | sort | uniq -u
|
||||
}
|
||||
|
||||
# Moves file/directory $1 from the $pkgdir to $2 (or $1 if $2 not given)
|
||||
# in the $subpkgdir.
|
||||
_submv() {
|
||||
local src="$1"
|
||||
local dest="${2:-}"
|
||||
|
||||
if [ "$dest" ]; then
|
||||
mkdir -p "$subpkgdir"/${dest%/*}
|
||||
mv "$pkgdir"/$src "$subpkgdir"/$dest
|
||||
else
|
||||
mkdir -p "$subpkgdir"/${src%/*}
|
||||
mv "$pkgdir"/$src "$subpkgdir"/${src%/*}/
|
||||
fi
|
||||
rmdir -p "$pkgdir"/${src%/*} 2>/dev/null || true
|
||||
}
|
||||
|
||||
sha512sums="9ad3bb7eeb36d921189d93cb347ec73262503d85397b574ef603080cee52d1959752740e5018a0e7eb5dc187bce8aae3b6fc0057a6385bce94e5338604c6bc57 libelektra-0.8.21.tar.gz
|
||||
cbfe8b96a806825d5f7194734a646bdb3fb273bf6be44b3b47e9b2f63bf90a7ece867e74808da743ff33211abba0682aba55d02a3dbfa0a5efc3dc821444bd87 fix-bash-shebang.patch
|
||||
48d645142bf63282e13d1c76c1ddedc5633e365a1a87d0cd49c75fa801eed44b57fb66eee49badc7a9e6210f6ccd2af82779f0658f90263fd23b959f4e70b84c fix-augeas-internal-inconsistency.patch
|
||||
717b343b6509d14949a154bbbf13d5722f47f97717dbd839763fc89f8f9033d5214f903df23b4ca7f196ae9dbfe6a3348542411c714e471ca4a50b39bdff3abc cmake-allow-override-rpath.patch"
|
||||
13
testing/elektra/cmake-allow-override-rpath.patch
Normal file
13
testing/elektra/cmake-allow-override-rpath.patch
Normal file
@ -0,0 +1,13 @@
|
||||
Allow to override CMAKE_INSTALL_RPATH.
|
||||
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -7,7 +7,7 @@
|
||||
|
||||
#fix macOS RPATH issues
|
||||
set(CMAKE_MACOSX_RPATH 1)
|
||||
-SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib")
|
||||
+SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/lib" CACHE STRING "The rpath to use for installed targets.")
|
||||
|
||||
#additional modules for loading libraries
|
||||
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/cmake/Modules/")
|
||||
9
testing/elektra/elektra.post-deinstall
Normal file
9
testing/elektra/elektra.post-deinstall
Normal file
@ -0,0 +1,9 @@
|
||||
#!/bin/sh
|
||||
|
||||
ELEKTRA_LIBS=/usr/lib/elektra
|
||||
|
||||
# Remove symlinks created by the trigger.
|
||||
rm -f $ELEKTRA_LIBS/libelektra-resolver.so
|
||||
rm -f $ELEKTRA_LIBS/libelektra-storage.so
|
||||
|
||||
rmdir $ELEKTRA_LIBS 2>/dev/null || true
|
||||
57
testing/elektra/elektra.trigger
Normal file
57
testing/elektra/elektra.trigger
Normal file
@ -0,0 +1,57 @@
|
||||
#!/bin/sh
|
||||
#
|
||||
# This trigger creates/updates symlinks for default resolver and storage based
|
||||
# on installed packages.
|
||||
#
|
||||
|
||||
ELEKTRA_LIBS='/usr/lib/elektra'
|
||||
RESOLVER_LINK="$ELEKTRA_LIBS/libelektra-resolver.so"
|
||||
STORAGE_LINK="$ELEKTRA_LIBS/libelektra-storage.so"
|
||||
|
||||
PREFERRED_RESOLVER='elektra-resolver_fm_hpu_b'
|
||||
PREFERRED_STORAGE='elektra-dump'
|
||||
|
||||
|
||||
# Prints name of some installed elektra package that *provides* $1
|
||||
# (e.g. resolver, storage). If package $2 is installed, then it prints that.
|
||||
# Otherwise it prints name of the first found package based on alphabetical
|
||||
# order.
|
||||
find_installed_provider() {
|
||||
local provider="$1"
|
||||
local preferred="$2"
|
||||
local pkgname
|
||||
|
||||
if [ -e "$ELEKTRA_LIBS/lib$preferred.so" ]; then
|
||||
echo "$preferred"
|
||||
else
|
||||
# NOTE: `apk info` doesn't work correctly here, probably
|
||||
# due to apk DB lock or something like that.
|
||||
for pkgname in $(apk search -aqx elektra-$provider | sort | uniq); do
|
||||
if [ -e "$ELEKTRA_LIBS/lib$pkgname.so" ]; then
|
||||
echo "$pkgname"
|
||||
return 0
|
||||
fi
|
||||
done
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
if ! [ -e "$RESOLVER_LINK" ]; then
|
||||
if resolver=$(find_installed_provider resolver $PREFERRED_RESOLVER); then
|
||||
echo "elektra: Switching default resolver to ${resolver#elektra-}" >&2
|
||||
ln -sf "lib$resolver.so" "$RESOLVER_LINK"
|
||||
else
|
||||
echo "elektra: No resolver provider found!" >&2
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! [ -e "$STORAGE_LINK" ]; then
|
||||
if storage=$(find_installed_provider storage $PREFERRED_STORAGE); then
|
||||
echo "elektra: Switching default storage to ${storage#elektra-}" >&2
|
||||
ln -sf "lib$storage.so" "$STORAGE_LINK"
|
||||
else
|
||||
echo "elektra: No storage provider found!" >&2
|
||||
fi
|
||||
fi
|
||||
|
||||
exit 0
|
||||
43
testing/elektra/fix-augeas-internal-inconsistency.patch
Normal file
43
testing/elektra/fix-augeas-internal-inconsistency.patch
Normal file
@ -0,0 +1,43 @@
|
||||
From c93b4175480f7ded03e43b17108fed5434263069 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Rene=CC=81=20Schwaiger?= <sanssecours@me.com>
|
||||
Date: Thu, 28 Dec 2017 12:17:08 +0100
|
||||
Subject: [PATCH] Augeas: Fix internal inconsistency
|
||||
|
||||
Patch-Source: https://github.com/ElektraInitiative/libelektra/pull/1761
|
||||
---
|
||||
src/plugins/augeas/CMakeLists.txt | 9 +++++----
|
||||
1 file changed, 5 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/plugins/augeas/CMakeLists.txt b/src/plugins/augeas/CMakeLists.txt
|
||||
index b4c9c7c15b..dc29fa8642 100644
|
||||
--- a/src/plugins/augeas/CMakeLists.txt
|
||||
+++ b/src/plugins/augeas/CMakeLists.txt
|
||||
@@ -23,6 +23,9 @@ if (DEPENDENCY_PHASE)
|
||||
else (LIBAUGEAS_FOUND)
|
||||
remove_plugin (augeas "libaugeas not found (libaugeas-dev >= 0.16 needed)")
|
||||
endif ()
|
||||
+
|
||||
+ set (AUGEAS_PLUGIN_INCLUDE_DIRS ${LIBAUGEAS_INCLUDE_DIR} ${LIBXML2_INCLUDE_DIR})
|
||||
+ set (AUGEAS_PLUGIN_LIBRARIES ${LIBAUGEAS_LIBRARIES} ${LIBXML2_LIBRARIES})
|
||||
endif ()
|
||||
|
||||
add_plugin(augeas
|
||||
@@ -32,16 +35,14 @@ add_plugin(augeas
|
||||
ADD_TEST
|
||||
INSTALL_TEST_DATA
|
||||
INCLUDE_DIRECTORIES
|
||||
- ${LIBAUGEAS_INCLUDE_DIR}
|
||||
- ${LIBXML2_INCLUDE_DIR}
|
||||
+ ${AUGEAS_PLUGIN_INCLUDE_DIRS}
|
||||
COMPILE_DEFINITIONS
|
||||
"${LIBAUGEAS_COMPILE_DEFINITIONS}"
|
||||
LINK_ELEKTRA
|
||||
elektra-meta
|
||||
elektra-proposal
|
||||
LINK_LIBRARIES
|
||||
- ${LIBAUGEAS_LIBRARIES}
|
||||
- ${LIBXML2_LIBRARIES}
|
||||
+ ${AUGEAS_PLUGIN_LIBRARIES}
|
||||
)
|
||||
|
||||
if (ADDTESTING_PHASE)
|
||||
254
testing/elektra/fix-bash-shebang.patch
Normal file
254
testing/elektra/fix-bash-shebang.patch
Normal file
@ -0,0 +1,254 @@
|
||||
From 1e1414e99cfe5e2934b500015a3edfa358a849c6 Mon Sep 17 00:00:00 2001
|
||||
From: Jakub Jirutka <jakub@jirutka.cz>
|
||||
Date: Mon, 5 Feb 2018 20:30:05 +0100
|
||||
Subject: [PATCH] fix bash shebang in scripts for better portability
|
||||
|
||||
Bash is not always installed in /bin! For example BSDs install Bash into
|
||||
/usr/local/bin. Practically every *nix system has /usr/bin/env.
|
||||
|
||||
Upstream-Issue: https://github.com/ElektraInitiative/libelektra/pull/1810
|
||||
---
|
||||
doc/docker/buildelektra.sh | 2 +-
|
||||
doc/vagrant/buildelektra.sh | 2 +-
|
||||
scripts/benchmark-createtree | 2 +-
|
||||
scripts/benchmark_augeas_hosts.sh | 2 +-
|
||||
scripts/benchmark_libsplit.sh | 2 +-
|
||||
scripts/build-homepage | 2 +-
|
||||
scripts/check-env-dep | 2 +-
|
||||
scripts/configure-firefox.in | 2 +-
|
||||
scripts/convert-hosts | 2 +-
|
||||
scripts/copy-template | 2 +-
|
||||
scripts/elektra-merge | 2 +-
|
||||
scripts/elektra-mount | 2 +-
|
||||
scripts/elektra-umount | 2 +-
|
||||
scripts/ffconfig/setupConfig | 2 +-
|
||||
scripts/ffconfig/setupHomepage | 2 +-
|
||||
scripts/ffconfig/setupProxy | 2 +-
|
||||
scripts/fix-spelling | 2 +-
|
||||
scripts/generate-seeds | 2 +-
|
||||
scripts/install-sh-completion.in | 2 +-
|
||||
scripts/kdb-bash-completion | 2 +-
|
||||
scripts/metaini-to-c | 2 +-
|
||||
tests/shell/shell_recorder/tutorial_wrapper/markdown_shell_recorder.sh | 2 +-
|
||||
22 files changed, 22 insertions(+), 22 deletions(-)
|
||||
|
||||
diff --git a/doc/docker/buildelektra.sh b/doc/docker/buildelektra.sh
|
||||
index ed96e7955b..af54e4eacc 100755
|
||||
--- a/doc/docker/buildelektra.sh
|
||||
+++ b/doc/docker/buildelektra.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
set -o errexit
|
||||
set -o pipefail
|
||||
diff --git a/doc/vagrant/buildelektra.sh b/doc/vagrant/buildelektra.sh
|
||||
index c7210148e6..1abbd6b35d 100755
|
||||
--- a/doc/vagrant/buildelektra.sh
|
||||
+++ b/doc/vagrant/buildelektra.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
set -o errexit
|
||||
set -o pipefail
|
||||
diff --git a/scripts/benchmark-createtree b/scripts/benchmark-createtree
|
||||
index 56e9c1c584..34f29517ed 100755
|
||||
--- a/scripts/benchmark-createtree
|
||||
+++ b/scripts/benchmark-createtree
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
# bash required for platform independent time
|
||||
|
||||
# $Id$
|
||||
diff --git a/scripts/benchmark_augeas_hosts.sh b/scripts/benchmark_augeas_hosts.sh
|
||||
index cd62e096a1..a7bca1087f 100755
|
||||
--- a/scripts/benchmark_augeas_hosts.sh
|
||||
+++ b/scripts/benchmark_augeas_hosts.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
# bash required for platform independent time
|
||||
|
||||
if [ -z "$KDB" ]; then
|
||||
diff --git a/scripts/benchmark_libsplit.sh b/scripts/benchmark_libsplit.sh
|
||||
index d637f6ba4b..7dbc8daf2b 100755
|
||||
--- a/scripts/benchmark_libsplit.sh
|
||||
+++ b/scripts/benchmark_libsplit.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
# bash required for platform independent time
|
||||
|
||||
if [ -z "$KDB" ]; then
|
||||
diff --git a/scripts/build-homepage b/scripts/build-homepage
|
||||
index 84eed66869..de605ca22f 100755
|
||||
--- a/scripts/build-homepage
|
||||
+++ b/scripts/build-homepage
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
# This script is sourced on build server, shebang is for convenience
|
||||
# bash is used to have a predictable ulimit behavior
|
||||
|
||||
diff --git a/scripts/check-env-dep b/scripts/check-env-dep
|
||||
index ba9728e7a4..a6831647b6 100755
|
||||
--- a/scripts/check-env-dep
|
||||
+++ b/scripts/check-env-dep
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
OLD_IFS="$IFS"
|
||||
IFS="$(printf '\n+')"
|
||||
diff --git a/scripts/configure-firefox.in b/scripts/configure-firefox.in
|
||||
index 4f8361b633..ab20f52914 100755
|
||||
--- a/scripts/configure-firefox.in
|
||||
+++ b/scripts/configure-firefox.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
SCRIPTS_DIR=$(dirname "$0")
|
||||
. "${SCRIPTS_DIR}/configure-common"
|
||||
diff --git a/scripts/convert-hosts b/scripts/convert-hosts
|
||||
index 3f4ae9f158..a01c7d104c 100755
|
||||
--- a/scripts/convert-hosts
|
||||
+++ b/scripts/convert-hosts
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
########################################################################
|
||||
##
|
||||
diff --git a/scripts/copy-template b/scripts/copy-template
|
||||
index d34627139c..316e13f9ca 100755
|
||||
--- a/scripts/copy-template
|
||||
+++ b/scripts/copy-template
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
#
|
||||
# @author Markus Raab <elektra@markus-raab.org>
|
||||
# @brief Creates a plugin out of the template plugin
|
||||
diff --git a/scripts/elektra-merge b/scripts/elektra-merge
|
||||
index ad367a25ac..70c024ea19 100755
|
||||
--- a/scripts/elektra-merge
|
||||
+++ b/scripts/elektra-merge
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
ours=$1
|
||||
base=$2
|
||||
diff --git a/scripts/elektra-mount b/scripts/elektra-mount
|
||||
index 5872ad60d8..67c9bf59b0 100755
|
||||
--- a/scripts/elektra-mount
|
||||
+++ b/scripts/elektra-mount
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
help()
|
||||
{
|
||||
diff --git a/scripts/elektra-umount b/scripts/elektra-umount
|
||||
index e958a62fc4..8ef1864d07 100755
|
||||
--- a/scripts/elektra-umount
|
||||
+++ b/scripts/elektra-umount
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
help()
|
||||
{
|
||||
diff --git a/scripts/ffconfig/setupConfig b/scripts/ffconfig/setupConfig
|
||||
index eb0f14d0c9..9031323fe3 100755
|
||||
--- a/scripts/ffconfig/setupConfig
|
||||
+++ b/scripts/ffconfig/setupConfig
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
# main script for guided preference setup used by configure-firefox
|
||||
|
||||
prefType=
|
||||
diff --git a/scripts/ffconfig/setupHomepage b/scripts/ffconfig/setupHomepage
|
||||
index ef63d9e133..0744bf63f2 100755
|
||||
--- a/scripts/ffconfig/setupHomepage
|
||||
+++ b/scripts/ffconfig/setupHomepage
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
# guided setup for homepage preferences used by configure-firefox
|
||||
|
||||
diff --git a/scripts/ffconfig/setupProxy b/scripts/ffconfig/setupProxy
|
||||
index 748be213c3..426366b001 100755
|
||||
--- a/scripts/ffconfig/setupProxy
|
||||
+++ b/scripts/ffconfig/setupProxy
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
# guided setup for proxy preferences used by configure-firefox
|
||||
|
||||
diff --git a/scripts/fix-spelling b/scripts/fix-spelling
|
||||
index acd1d44448..3bda9c11a7 100755
|
||||
--- a/scripts/fix-spelling
|
||||
+++ b/scripts/fix-spelling
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
#
|
||||
# @author Markus Raab <elektra@markus-raab.org>
|
||||
# @brief Fix spelling error in most files
|
||||
diff --git a/scripts/generate-seeds b/scripts/generate-seeds
|
||||
index b3b9cf7878..c38672bca4 100755
|
||||
--- a/scripts/generate-seeds
|
||||
+++ b/scripts/generate-seeds
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
#
|
||||
# @author Kurt Micheli <kurt.micheli@libelektra.org>
|
||||
# @brief generate uniformly distributed seeds with R
|
||||
diff --git a/scripts/install-sh-completion.in b/scripts/install-sh-completion.in
|
||||
index 36544d642f..bc29c5be31 100755
|
||||
--- a/scripts/install-sh-completion.in
|
||||
+++ b/scripts/install-sh-completion.in
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
# This script will install the necessary configuration for zsh and bash completion
|
||||
#
|
||||
diff --git a/scripts/kdb-bash-completion b/scripts/kdb-bash-completion
|
||||
index 039142f155..d4e5c2318b 100644
|
||||
--- a/scripts/kdb-bash-completion
|
||||
+++ b/scripts/kdb-bash-completion
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
###########################################################################
|
||||
##
|
||||
diff --git a/scripts/metaini-to-c b/scripts/metaini-to-c
|
||||
index 79b812096a..df9c5f9742 100755
|
||||
--- a/scripts/metaini-to-c
|
||||
+++ b/scripts/metaini-to-c
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
if [ "$#" -ne 1 ];
|
||||
then
|
||||
diff --git a/tests/shell/shell_recorder/tutorial_wrapper/markdown_shell_recorder.sh b/tests/shell/shell_recorder/tutorial_wrapper/markdown_shell_recorder.sh
|
||||
index fbe5a8e7a3..bb8ca8e793 100755
|
||||
--- a/tests/shell/shell_recorder/tutorial_wrapper/markdown_shell_recorder.sh
|
||||
+++ b/tests/shell/shell_recorder/tutorial_wrapper/markdown_shell_recorder.sh
|
||||
@@ -1,4 +1,4 @@
|
||||
-#!/bin/bash
|
||||
+#!/usr/bin/env bash
|
||||
|
||||
@INCLUDE_COMMON@
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user