mirror of
https://github.com/libssh2/libssh2.git
synced 2025-07-31 00:03:08 +03:00
os400: fix shellcheck warnings in scripts
- use `$()` instead of backticks, and re-arrange double-quotes inside.
- add missing `|| exit 1` to `cd` calls. (could be dropped by using `set -eu`.)
- add `-n` to a few `if`s.
- shorten redirections by using `{} >` (as shellcheck recommended).
- silence warnings where variables were detected as unused (SC2034).
- a couple misc updates to silence warnings.
- switch to bash shebang for `-ot` feature.
- split two lines to unbreak syntax highlighting in my editor. (`$(expr \`, `$(dirname \`)
Also enable CI checks for OS/400 shell scripts.
Ref: d88b9bcdaf
Closes #1358
This commit is contained in:
@ -3,10 +3,8 @@
|
|||||||
#
|
#
|
||||||
# SPDX-License-Identifier: curl
|
# SPDX-License-Identifier: curl
|
||||||
|
|
||||||
# FIXME: os400/* scripts
|
|
||||||
|
|
||||||
shellcheck --version
|
shellcheck --version
|
||||||
# shellcheck disable=SC2046
|
# shellcheck disable=SC2046
|
||||||
shellcheck --exclude=1091 \
|
shellcheck --exclude=1091 \
|
||||||
--enable=avoid-nullary-conditions,deprecate-which \
|
--enable=avoid-nullary-conditions,deprecate-which \
|
||||||
$(grep -l -E '^#!(/usr/bin/env bash|/bin/sh|/bin/bash)' $(git ls-files | grep -v -F 'os400/'))
|
$(grep -l -E '^#!(/usr/bin/env bash|/bin/sh|/bin/bash)' $(git ls-files))
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/usr/bin/env bash
|
||||||
# Copyright (C) The libssh2 project and its contributors.
|
# Copyright (C) The libssh2 project and its contributors.
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
|
64
os400/initscript.sh
Normal file → Executable file
64
os400/initscript.sh
Normal file → Executable file
@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/usr/bin/env bash
|
||||||
# Copyright (C) The libssh2 project and its contributors.
|
# Copyright (C) The libssh2 project and its contributors.
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
|
||||||
@ -7,14 +7,14 @@ setenv()
|
|||||||
{
|
{
|
||||||
# Define and export.
|
# Define and export.
|
||||||
|
|
||||||
eval ${1}="${2}"
|
eval "${1}=${2}"
|
||||||
export ${1}
|
export "${1?}"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
case "${SCRIPTDIR}" in
|
case "${SCRIPTDIR}" in
|
||||||
/*) ;;
|
/*) ;;
|
||||||
*) SCRIPTDIR="`pwd`/${SCRIPTDIR}"
|
*) SCRIPTDIR="$(pwd)/${SCRIPTDIR}"
|
||||||
esac
|
esac
|
||||||
|
|
||||||
while true
|
while true
|
||||||
@ -26,13 +26,14 @@ done
|
|||||||
|
|
||||||
# The script directory is supposed to be in $TOPDIR/os400.
|
# The script directory is supposed to be in $TOPDIR/os400.
|
||||||
|
|
||||||
TOPDIR=`dirname "${SCRIPTDIR}"`
|
TOPDIR=$(dirname "${SCRIPTDIR}")
|
||||||
export SCRIPTDIR TOPDIR
|
export SCRIPTDIR TOPDIR
|
||||||
|
|
||||||
# Extract the SONAME from the library makefile.
|
# Extract the SONAME from the library makefile.
|
||||||
|
|
||||||
SONAME=`sed -e '/^VERSION=/!d' -e 's/^.* \([0-9]*\):.*$/\1/' -e 'q' \
|
SONAME=$(sed -e '/^VERSION=/!d' \
|
||||||
< "${TOPDIR}/src/Makefile.am"`
|
-e 's/^.* \([0-9]*\):.*$/\1/' -e 'q' \
|
||||||
|
< "${TOPDIR}/src/Makefile.am")
|
||||||
export SONAME
|
export SONAME
|
||||||
|
|
||||||
# Get OS/400 configuration parameters.
|
# Get OS/400 configuration parameters.
|
||||||
@ -44,24 +45,24 @@ fi
|
|||||||
|
|
||||||
# Need to get the version definitions.
|
# Need to get the version definitions.
|
||||||
|
|
||||||
LIBSSH2_VERSION=`grep '^#define *LIBSSH2_VERSION ' \
|
LIBSSH2_VERSION=$(grep '^#define *LIBSSH2_VERSION ' \
|
||||||
"${TOPDIR}/include/libssh2.h" |
|
"${TOPDIR}/include/libssh2.h" |
|
||||||
sed 's/.*"\(.*\)".*/\1/'`
|
sed 's/.*"\(.*\)".*/\1/')
|
||||||
LIBSSH2_VERSION_MAJOR=`grep '^#define *LIBSSH2_VERSION_MAJOR ' \
|
LIBSSH2_VERSION_MAJOR=$(grep '^#define *LIBSSH2_VERSION_MAJOR ' \
|
||||||
"${TOPDIR}/include/libssh2.h" |
|
"${TOPDIR}/include/libssh2.h" |
|
||||||
sed 's/^#define *LIBSSH2_VERSION_MAJOR *\([^ ]*\).*/\1/'`
|
sed 's/^#define *LIBSSH2_VERSION_MAJOR *\([^ ]*\).*/\1/')
|
||||||
LIBSSH2_VERSION_MINOR=`grep '^#define *LIBSSH2_VERSION_MINOR ' \
|
LIBSSH2_VERSION_MINOR=$(grep '^#define *LIBSSH2_VERSION_MINOR ' \
|
||||||
"${TOPDIR}/include/libssh2.h" |
|
"${TOPDIR}/include/libssh2.h" |
|
||||||
sed 's/^#define *LIBSSH2_VERSION_MINOR *\([^ ]*\).*/\1/'`
|
sed 's/^#define *LIBSSH2_VERSION_MINOR *\([^ ]*\).*/\1/')
|
||||||
LIBSSH2_VERSION_PATCH=`grep '^#define *LIBSSH2_VERSION_PATCH ' \
|
LIBSSH2_VERSION_PATCH=$(grep '^#define *LIBSSH2_VERSION_PATCH ' \
|
||||||
"${TOPDIR}/include/libssh2.h" |
|
"${TOPDIR}/include/libssh2.h" |
|
||||||
sed 's/^#define *LIBSSH2_VERSION_PATCH *\([^ ]*\).*/\1/'`
|
sed 's/^#define *LIBSSH2_VERSION_PATCH *\([^ ]*\).*/\1/')
|
||||||
LIBSSH2_VERSION_NUM=`grep '^#define *LIBSSH2_VERSION_NUM ' \
|
LIBSSH2_VERSION_NUM=$(grep '^#define *LIBSSH2_VERSION_NUM ' \
|
||||||
"${TOPDIR}/include/libssh2.h" |
|
"${TOPDIR}/include/libssh2.h" |
|
||||||
sed 's/^#define *LIBSSH2_VERSION_NUM *0x\([^ ]*\).*/\1/'`
|
sed 's/^#define *LIBSSH2_VERSION_NUM *0x\([^ ]*\).*/\1/')
|
||||||
LIBSSH2_TIMESTAMP=`grep '^#define *LIBSSH2_TIMESTAMP ' \
|
LIBSSH2_TIMESTAMP=$(grep '^#define *LIBSSH2_TIMESTAMP ' \
|
||||||
"${TOPDIR}/include/libssh2.h" |
|
"${TOPDIR}/include/libssh2.h" |
|
||||||
sed 's/.*"\(.*\)".*/\1/'`
|
sed 's/.*"\(.*\)".*/\1/')
|
||||||
export LIBSSH2_VERSION
|
export LIBSSH2_VERSION
|
||||||
export LIBSSH2_VERSION_MAJOR LIBSSH2_VERSION_MINOR LIBSSH2_VERSION_PATCH
|
export LIBSSH2_VERSION_MAJOR LIBSSH2_VERSION_MINOR LIBSSH2_VERSION_PATCH
|
||||||
export LIBSSH2_VERSION_NUM LIBSSH2_TIMESTAMP
|
export LIBSSH2_VERSION_NUM LIBSSH2_TIMESTAMP
|
||||||
@ -92,7 +93,7 @@ action_needed()
|
|||||||
|
|
||||||
{
|
{
|
||||||
[ ! -e "${1}" ] && return 0
|
[ ! -e "${1}" ] && return 0
|
||||||
[ "${2}" ] || return 1
|
[ -n "${2}" ] || return 1
|
||||||
[ "${1}" -ot "${2}" ] && return 0
|
[ "${1}" -ot "${2}" ] && return 0
|
||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
@ -109,7 +110,7 @@ canonicalize_path()
|
|||||||
{
|
{
|
||||||
if expr "${1}" : '^/' > /dev/null
|
if expr "${1}" : '^/' > /dev/null
|
||||||
then P="${1}"
|
then P="${1}"
|
||||||
else P="`pwd`/${1}"
|
else P="$(pwd)/${1}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
R=
|
R=
|
||||||
@ -120,7 +121,8 @@ canonicalize_path()
|
|||||||
do IFS="${IFSSAVE}"
|
do IFS="${IFSSAVE}"
|
||||||
case "${C}" in
|
case "${C}" in
|
||||||
.) ;;
|
.) ;;
|
||||||
..) R=`expr "${R}" : '^\(.*/\)..*'`
|
..) R=$(expr \
|
||||||
|
"${R}" : '^\(.*/\)..*')
|
||||||
;;
|
;;
|
||||||
?*) R="${R}${C}/"
|
?*) R="${R}${C}/"
|
||||||
;;
|
;;
|
||||||
@ -129,7 +131,7 @@ canonicalize_path()
|
|||||||
done
|
done
|
||||||
|
|
||||||
IFS="${IFSSAVE}"
|
IFS="${IFSSAVE}"
|
||||||
echo "/`expr "${R}" : '^\(.*\)/'`"
|
echo "/$(expr "${R}" : '^\(.*\)/')"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -145,7 +147,8 @@ make_module()
|
|||||||
MODULES="${MODULES} ${1}"
|
MODULES="${MODULES} ${1}"
|
||||||
MODIFSNAME="${LIBIFSNAME}/${1}.MODULE"
|
MODIFSNAME="${LIBIFSNAME}/${1}.MODULE"
|
||||||
action_needed "${MODIFSNAME}" "${2}" || return 0;
|
action_needed "${MODIFSNAME}" "${2}" || return 0;
|
||||||
SRCDIR=`dirname \`canonicalize_path "${2}"\``
|
SRCDIR="$(dirname \
|
||||||
|
"$(canonicalize_path "${2}")")"
|
||||||
|
|
||||||
# #pragma convert has to be in the source file itself, i.e.
|
# #pragma convert has to be in the source file itself, i.e.
|
||||||
# putting it in an include file makes it only active
|
# putting it in an include file makes it only active
|
||||||
@ -153,10 +156,12 @@ make_module()
|
|||||||
# Thus we build a temporary file with the pragma prepended to
|
# Thus we build a temporary file with the pragma prepended to
|
||||||
# the source file and we compile that temporary file.
|
# the source file and we compile that temporary file.
|
||||||
|
|
||||||
echo "#line 1 \"${2}\"" > __tmpsrcf.c
|
{
|
||||||
echo "#pragma convert(819)" >> __tmpsrcf.c
|
echo "#line 1 \"${2}\""
|
||||||
echo "#line 1" >> __tmpsrcf.c
|
echo "#pragma convert(819)"
|
||||||
cat "${2}" >> __tmpsrcf.c
|
echo "#line 1"
|
||||||
|
cat "${2}"
|
||||||
|
} > __tmpsrcf.c
|
||||||
CMD="CRTCMOD MODULE(${TARGETLIB}/${1}) SRCSTMF('__tmpsrcf.c')"
|
CMD="CRTCMOD MODULE(${TARGETLIB}/${1}) SRCSTMF('__tmpsrcf.c')"
|
||||||
# CMD="${CMD} SYSIFCOPT(*IFS64IO) OPTION(*INCDIRFIRST *SHOWINC *SHOWSYS)"
|
# CMD="${CMD} SYSIFCOPT(*IFS64IO) OPTION(*INCDIRFIRST *SHOWINC *SHOWSYS)"
|
||||||
CMD="${CMD} SYSIFCOPT(*IFS64IO) OPTION(*INCDIRFIRST)"
|
CMD="${CMD} SYSIFCOPT(*IFS64IO) OPTION(*INCDIRFIRST)"
|
||||||
@ -185,12 +190,13 @@ make_module()
|
|||||||
then DEFINES="${DEFINES} LIBSSH2_NO_MD5"
|
then DEFINES="${DEFINES} LIBSSH2_NO_MD5"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${DEFINES}" ]
|
if [ -n "${DEFINES}" ]
|
||||||
then CMD="${CMD} DEFINE(${DEFINES})"
|
then CMD="${CMD} DEFINE(${DEFINES})"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
system "${CMD}"
|
system "${CMD}"
|
||||||
rm -f __tmpsrcf.c
|
rm -f __tmpsrcf.c
|
||||||
|
# shellcheck disable=SC2034
|
||||||
LINK=YES
|
LINK=YES
|
||||||
}
|
}
|
||||||
|
|
||||||
|
10
os400/make-include.sh
Normal file → Executable file
10
os400/make-include.sh
Normal file → Executable file
@ -1,13 +1,13 @@
|
|||||||
#!/bin/sh
|
#!/usr/bin/env bash
|
||||||
# Copyright (C) The libssh2 project and its contributors.
|
# Copyright (C) The libssh2 project and its contributors.
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
#
|
#
|
||||||
# Installation of the header files in the OS/400 library.
|
# Installation of the header files in the OS/400 library.
|
||||||
#
|
#
|
||||||
|
|
||||||
SCRIPTDIR=`dirname "${0}"`
|
SCRIPTDIR=$(dirname "${0}")
|
||||||
. "${SCRIPTDIR}/initscript.sh"
|
. "${SCRIPTDIR}/initscript.sh"
|
||||||
cd "${TOPDIR}/include"
|
cd "${TOPDIR}/include" || exit 1
|
||||||
|
|
||||||
|
|
||||||
# Create the OS/400 source program file for the header files.
|
# Create the OS/400 source program file for the header files.
|
||||||
@ -47,11 +47,11 @@ copy_hfile()
|
|||||||
# Copy the header files.
|
# Copy the header files.
|
||||||
|
|
||||||
for HFILE in *.h "${TOPDIR}/os400/libssh2_ccsid.h"
|
for HFILE in *.h "${TOPDIR}/os400/libssh2_ccsid.h"
|
||||||
do DEST="${SRCPF}/`db2_name \"${HFILE}\"`.MBR"
|
do DEST="${SRCPF}/$(db2_name "${HFILE}").MBR"
|
||||||
|
|
||||||
if action_needed "${DEST}" "${HFILE}"
|
if action_needed "${DEST}" "${HFILE}"
|
||||||
then copy_hfile "${DEST}" "${HFILE}"
|
then copy_hfile "${DEST}" "${HFILE}"
|
||||||
IFSDEST="${IFSINCLUDE}/`basename \"${HFILE}\"`"
|
IFSDEST="${IFSINCLUDE}/$(basename "${HFILE}")"
|
||||||
rm -f "${IFSDEST}"
|
rm -f "${IFSDEST}"
|
||||||
ln -s "${DEST}" "${IFSDEST}"
|
ln -s "${DEST}" "${IFSDEST}"
|
||||||
fi
|
fi
|
||||||
|
18
os400/make-rpg.sh
Normal file → Executable file
18
os400/make-rpg.sh
Normal file → Executable file
@ -1,13 +1,13 @@
|
|||||||
#!/bin/sh
|
#!/usr/bin/env bash
|
||||||
# Copyright (C) The libssh2 project and its contributors.
|
# Copyright (C) The libssh2 project and its contributors.
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
#
|
#
|
||||||
# Installation of the ILE/RPG header files in the OS/400 library.
|
# Installation of the ILE/RPG header files in the OS/400 library.
|
||||||
#
|
#
|
||||||
|
|
||||||
SCRIPTDIR=`dirname "${0}"`
|
SCRIPTDIR=$(dirname "${0}")
|
||||||
. "${SCRIPTDIR}/initscript.sh"
|
. "${SCRIPTDIR}/initscript.sh"
|
||||||
cd "${TOPDIR}/os400/libssh2rpg"
|
cd "${TOPDIR}/os400/libssh2rpg" || exit 1
|
||||||
|
|
||||||
|
|
||||||
# Create the OS/400 source program file for the ILE/RPG header files.
|
# Create the OS/400 source program file for the ILE/RPG header files.
|
||||||
@ -24,9 +24,9 @@ fi
|
|||||||
# Map file names to DB2 name syntax.
|
# Map file names to DB2 name syntax.
|
||||||
|
|
||||||
for HFILE in *.rpgle *.rpgle.in
|
for HFILE in *.rpgle *.rpgle.in
|
||||||
do NAME="`basename \"${HFILE}\" .in`"
|
do NAME="$(basename "${HFILE}" .in)"
|
||||||
VAR="`basename \"${NAME}\" .rpgle`"
|
VAR="$(basename "${NAME}" .rpgle)"
|
||||||
VAL="`db2_name \"${NAME}\"`"
|
VAL="$(db2_name "${NAME}")"
|
||||||
|
|
||||||
eval "VAR_${VAR}=\"${VAL}\""
|
eval "VAR_${VAR}=\"${VAL}\""
|
||||||
echo "${VAR} s/${VAR}/${VAL}/g"
|
echo "${VAR} s/${VAR}/${VAL}/g"
|
||||||
@ -64,7 +64,7 @@ fi
|
|||||||
for HFILE in *.rpgle *.rpgle.in
|
for HFILE in *.rpgle *.rpgle.in
|
||||||
do IFSCMD="cat \"${HFILE}\""
|
do IFSCMD="cat \"${HFILE}\""
|
||||||
DB2CMD="change_include < \"${HFILE}\""
|
DB2CMD="change_include < \"${HFILE}\""
|
||||||
IFSFILE="`basename \"${HFILE}\" .in`"
|
IFSFILE="$(basename "${HFILE}" .in)"
|
||||||
|
|
||||||
case "${HFILE}" in
|
case "${HFILE}" in
|
||||||
|
|
||||||
@ -79,7 +79,7 @@ do IFSCMD="cat \"${HFILE}\""
|
|||||||
then eval "${IFSCMD}" > "${IFSDEST}"
|
then eval "${IFSCMD}" > "${IFSDEST}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval DB2MBR="\"\${VAR_`basename \"${IFSDEST}\" .rpgle`}\""
|
eval DB2MBR="\"\${VAR_$(basename "${IFSDEST}" .rpgle)}\""
|
||||||
DB2DEST="${SRCPF}/${DB2MBR}.MBR"
|
DB2DEST="${SRCPF}/${DB2MBR}.MBR"
|
||||||
|
|
||||||
if action_needed "${DB2DEST}" "${HFILE}"
|
if action_needed "${DB2DEST}" "${HFILE}"
|
||||||
@ -87,7 +87,7 @@ do IFSCMD="cat \"${HFILE}\""
|
|||||||
|
|
||||||
# Need to translate to target CCSID.
|
# Need to translate to target CCSID.
|
||||||
|
|
||||||
CMD="CPY OBJ('`pwd`/tmphdrfile') TOOBJ('${DB2DEST}')"
|
CMD="CPY OBJ('$(pwd)/tmphdrfile') TOOBJ('${DB2DEST}')"
|
||||||
CMD="${CMD} TOCCSID(${TGTCCSID}) DTAFMT(*TEXT) REPLACE(*YES)"
|
CMD="${CMD} TOCCSID(${TGTCCSID}) DTAFMT(*TEXT) REPLACE(*YES)"
|
||||||
system "${CMD}"
|
system "${CMD}"
|
||||||
fi
|
fi
|
||||||
|
56
os400/make-src.sh
Normal file → Executable file
56
os400/make-src.sh
Normal file → Executable file
@ -1,13 +1,13 @@
|
|||||||
#!/bin/sh
|
#!/usr/bin/env bash
|
||||||
# Copyright (C) The libssh2 project and its contributors.
|
# Copyright (C) The libssh2 project and its contributors.
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
#
|
#
|
||||||
# libssh2 compilation script for the OS/400.
|
# libssh2 compilation script for the OS/400.
|
||||||
#
|
#
|
||||||
|
|
||||||
SCRIPTDIR=`dirname "${0}"`
|
SCRIPTDIR=$(dirname "${0}")
|
||||||
. "${SCRIPTDIR}/initscript.sh"
|
. "${SCRIPTDIR}/initscript.sh"
|
||||||
cd "${TOPDIR}/src"
|
cd "${TOPDIR}/src" || exit 1
|
||||||
|
|
||||||
|
|
||||||
# Function to extract external prototypes from header files.
|
# Function to extract external prototypes from header files.
|
||||||
@ -48,10 +48,12 @@ fi
|
|||||||
|
|
||||||
# Create and compile the identification source file.
|
# Create and compile the identification source file.
|
||||||
|
|
||||||
echo '#pragma comment(user, "libssh2 version '"${LIBSSH2_VERSION}"'")' > os400.c
|
{
|
||||||
echo '#pragma comment(user, __DATE__)' >> os400.c
|
echo '#pragma comment(user, "libssh2 version '"${LIBSSH2_VERSION}"'")'
|
||||||
echo '#pragma comment(user, __TIME__)' >> os400.c
|
echo '#pragma comment(user, __DATE__)'
|
||||||
echo '#pragma comment(copyright, "See COPYING file. OS/400 version by P. Monnerat")' >> os400.c
|
echo '#pragma comment(user, __TIME__)'
|
||||||
|
echo '#pragma comment(copyright, "See COPYING file. OS/400 version by P. Monnerat")'
|
||||||
|
} > os400.c
|
||||||
make_module OS400 os400.c
|
make_module OS400 os400.c
|
||||||
LINK= # No need to rebuild service program yet.
|
LINK= # No need to rebuild service program yet.
|
||||||
MODULES=
|
MODULES=
|
||||||
@ -80,28 +82,28 @@ fi
|
|||||||
|
|
||||||
# Get source list.
|
# Get source list.
|
||||||
|
|
||||||
cat Makefile.inc |
|
sed -e ':begin' \
|
||||||
sed -e ':begin' \
|
-e '/\\$/{' \
|
||||||
-e '/\\$/{' \
|
-e 's/\\$/ /' \
|
||||||
-e 's/\\$/ /' \
|
-e 'N' \
|
||||||
-e 'N' \
|
-e 'bbegin' \
|
||||||
-e 'bbegin' \
|
-e '}' \
|
||||||
-e '}' \
|
-e 's/\n//g' \
|
||||||
-e 's/\n//g' \
|
-e 's/[[:space:]]*$//' \
|
||||||
-e 's/[[:space:]]*$//' \
|
-e 's/^\([A-Za-z][A-Za-z0-9_]*\)[[:space:]]*=[[:space:]]*\(.*\)/\1="\2"/' \
|
||||||
-e 's/^\([A-Za-z][A-Za-z0-9_]*\)[[:space:]]*=[[:space:]]*\(.*\)/\1="\2"/' \
|
-e 's/\$(\([A-Za-z][A-Za-z0-9_]*\))/${\1}/g' \
|
||||||
-e 's/\$(\([A-Za-z][A-Za-z0-9_]*\))/${\1}/g' \
|
< Makefile.inc > tmpscript.sh
|
||||||
> tmpscript.sh
|
|
||||||
. ./tmpscript.sh
|
. ./tmpscript.sh
|
||||||
|
|
||||||
|
|
||||||
# Compile the sources into modules.
|
# Compile the sources into modules.
|
||||||
|
|
||||||
INCLUDES="'`pwd`'"
|
# shellcheck disable=SC2034
|
||||||
|
INCLUDES="'$(pwd)'"
|
||||||
|
|
||||||
for SRC in "${TOPDIR}/os400/os400sys.c" "${TOPDIR}/os400/ccsid.c" \
|
for SRC in "${TOPDIR}/os400/os400sys.c" "${TOPDIR}/os400/ccsid.c" \
|
||||||
${CSOURCES} macros.c
|
${CSOURCES} macros.c
|
||||||
do MODULE=`db2_name "${SRC}"`
|
do MODULE=$(db2_name "${SRC}")
|
||||||
make_module "${MODULE}" "${SRC}"
|
make_module "${MODULE}" "${SRC}"
|
||||||
done
|
done
|
||||||
|
|
||||||
@ -112,7 +114,7 @@ if action_needed "${LIBIFSNAME}/${STATBNDDIR}.BNDDIR"
|
|||||||
then LINK=YES
|
then LINK=YES
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${LINK}" ]
|
if [ -n "${LINK}" ]
|
||||||
then rm -rf "${LIBIFSNAME}/${STATBNDDIR}.BNDDIR"
|
then rm -rf "${LIBIFSNAME}/${STATBNDDIR}.BNDDIR"
|
||||||
CMD="CRTBNDDIR BNDDIR(${TARGETLIB}/${STATBNDDIR})"
|
CMD="CRTBNDDIR BNDDIR(${TARGETLIB}/${STATBNDDIR})"
|
||||||
CMD="${CMD} TEXT('libssh2 API static binding directory')"
|
CMD="${CMD} TEXT('libssh2 API static binding directory')"
|
||||||
@ -145,10 +147,10 @@ fi
|
|||||||
|
|
||||||
# Gather the list of symbols to export.
|
# Gather the list of symbols to export.
|
||||||
|
|
||||||
EXPORTS=`cat "${TOPDIR}"/include/*.h "${TOPDIR}/os400/macros.h" \
|
EXPORTS=$(cat "${TOPDIR}"/include/*.h "${TOPDIR}/os400/macros.h" \
|
||||||
"${TOPDIR}/os400/libssh2_ccsid.h" |
|
"${TOPDIR}/os400/libssh2_ccsid.h" |
|
||||||
extproto |
|
extproto |
|
||||||
sed -e 's/(.*//;s/[^A-Za-z0-9_]/ /g;s/ *$//;s/^.* //'`
|
sed -e 's/(.*//;s/[^A-Za-z0-9_]/ /g;s/ *$//;s/^.* //')
|
||||||
|
|
||||||
# Create the service program exportation file in DB2 member if needed.
|
# Create the service program exportation file in DB2 member if needed.
|
||||||
|
|
||||||
@ -158,7 +160,7 @@ if action_needed "${BSF}" Makefile.am
|
|||||||
then LINK=YES
|
then LINK=YES
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${LINK}" ]
|
if [ -n "${LINK}" ]
|
||||||
then echo " STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('LIBSSH2_${SONAME}')" \
|
then echo " STRPGMEXP PGMLVL(*CURRENT) SIGNATURE('LIBSSH2_${SONAME}')" \
|
||||||
> "${BSF}"
|
> "${BSF}"
|
||||||
for EXPORT in ${EXPORTS}
|
for EXPORT in ${EXPORTS}
|
||||||
@ -175,7 +177,7 @@ if action_needed "${LIBIFSNAME}/${SRVPGM}.SRVPGM"
|
|||||||
then LINK=YES
|
then LINK=YES
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${LINK}" ]
|
if [ -n "${LINK}" ]
|
||||||
then CMD="CRTSRVPGM SRVPGM(${TARGETLIB}/${SRVPGM})"
|
then CMD="CRTSRVPGM SRVPGM(${TARGETLIB}/${SRVPGM})"
|
||||||
CMD="${CMD} SRCFILE(${TARGETLIB}/TOOLS) SRCMBR(BNDSRC)"
|
CMD="${CMD} SRCFILE(${TARGETLIB}/TOOLS) SRCMBR(BNDSRC)"
|
||||||
CMD="${CMD} MODULE(${TARGETLIB}/OS400)"
|
CMD="${CMD} MODULE(${TARGETLIB}/OS400)"
|
||||||
@ -199,7 +201,7 @@ if action_needed "${LIBIFSNAME}/${DYNBNDDIR}.BNDDIR"
|
|||||||
then LINK=YES
|
then LINK=YES
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${LINK}" ]
|
if [ -n "${LINK}" ]
|
||||||
then rm -rf "${LIBIFSNAME}/${DYNBNDDIR}.BNDDIR"
|
then rm -rf "${LIBIFSNAME}/${DYNBNDDIR}.BNDDIR"
|
||||||
CMD="CRTBNDDIR BNDDIR(${TARGETLIB}/${DYNBNDDIR})"
|
CMD="CRTBNDDIR BNDDIR(${TARGETLIB}/${DYNBNDDIR})"
|
||||||
CMD="${CMD} TEXT('libssh2 API dynamic binding directory')"
|
CMD="${CMD} TEXT('libssh2 API dynamic binding directory')"
|
||||||
|
16
os400/make.sh
Normal file → Executable file
16
os400/make.sh
Normal file → Executable file
@ -1,4 +1,4 @@
|
|||||||
#!/bin/sh
|
#!/usr/bin/env bash
|
||||||
# Copyright (C) The libssh2 project and its contributors.
|
# Copyright (C) The libssh2 project and its contributors.
|
||||||
# SPDX-License-Identifier: BSD-3-Clause
|
# SPDX-License-Identifier: BSD-3-Clause
|
||||||
#
|
#
|
||||||
@ -7,9 +7,9 @@
|
|||||||
#
|
#
|
||||||
# This is a shell script since make is not a standard component of OS/400.
|
# This is a shell script since make is not a standard component of OS/400.
|
||||||
|
|
||||||
SCRIPTDIR=`dirname "${0}"`
|
SCRIPTDIR=$(dirname "${0}")
|
||||||
. "${SCRIPTDIR}/initscript.sh"
|
. "${SCRIPTDIR}/initscript.sh"
|
||||||
cd "${TOPDIR}"
|
cd "${TOPDIR}" || exit 1
|
||||||
|
|
||||||
|
|
||||||
# Create the OS/400 library if it does not exist.
|
# Create the OS/400 library if it does not exist.
|
||||||
@ -34,7 +34,7 @@ fi
|
|||||||
for TEXT in "${TOPDIR}/COPYING" "${SCRIPTDIR}/README400" \
|
for TEXT in "${TOPDIR}/COPYING" "${SCRIPTDIR}/README400" \
|
||||||
"${TOPDIR}/NEWS" "${TOPDIR}/README" "${TOPDIR}/docs/AUTHORS" \
|
"${TOPDIR}/NEWS" "${TOPDIR}/README" "${TOPDIR}/docs/AUTHORS" \
|
||||||
"${TOPDIR}/docs/BINDINGS.md"
|
"${TOPDIR}/docs/BINDINGS.md"
|
||||||
do MEMBER="${LIBIFSNAME}/DOCS.FILE/`db2_name \"${TEXT}\"`.MBR"
|
do MEMBER="${LIBIFSNAME}/DOCS.FILE/$(db2_name "${TEXT}").MBR"
|
||||||
|
|
||||||
if action_needed "${MEMBER}" "${TEXT}"
|
if action_needed "${MEMBER}" "${TEXT}"
|
||||||
then CMD="CPY OBJ('${TEXT}') TOOBJ('${MEMBER}') TOCCSID(${TGTCCSID})"
|
then CMD="CPY OBJ('${TEXT}') TOOBJ('${MEMBER}') TOCCSID(${TGTCCSID})"
|
||||||
@ -56,8 +56,8 @@ fi
|
|||||||
# Copy RPG examples if needed.
|
# Copy RPG examples if needed.
|
||||||
|
|
||||||
for EXAMPLE in "${SCRIPTDIR}/rpg-examples"/*
|
for EXAMPLE in "${SCRIPTDIR}/rpg-examples"/*
|
||||||
do MEMBER="`basename \"${EXAMPLE}\"`"
|
do MEMBER="$(basename "${EXAMPLE}")"
|
||||||
IFSMEMBER="${LIBIFSNAME}/RPGXAMPLES.FILE/`db2_name \"${MEMBER}\"`.MBR"
|
IFSMEMBER="${LIBIFSNAME}/RPGXAMPLES.FILE/$(db2_name "${MEMBER}").MBR"
|
||||||
|
|
||||||
[ -e "${EXAMPLE}" ] || continue
|
[ -e "${EXAMPLE}" ] || continue
|
||||||
|
|
||||||
@ -65,8 +65,8 @@ do MEMBER="`basename \"${EXAMPLE}\"`"
|
|||||||
then CMD="CPY OBJ('${EXAMPLE}') TOOBJ('${IFSMEMBER}')"
|
then CMD="CPY OBJ('${EXAMPLE}') TOOBJ('${IFSMEMBER}')"
|
||||||
CMD="${CMD} TOCCSID(${TGTCCSID}) DTAFMT(*TEXT) REPLACE(*YES)"
|
CMD="${CMD} TOCCSID(${TGTCCSID}) DTAFMT(*TEXT) REPLACE(*YES)"
|
||||||
system "${CMD}"
|
system "${CMD}"
|
||||||
MBRTEXT=`sed -e '1!d;/^ \*/!d;s/^ *\* *//' \
|
MBRTEXT=$(sed -e '1!d;/^ \*/!d;s/^ *\* *//' \
|
||||||
-e 's/ *$//;s/'"'"'/&&/g' < "${EXAMPLE}"`
|
-e 's/ *$//;s/'"'"'/&&/g' < "${EXAMPLE}")
|
||||||
CMD="CHGPFM FILE(${TARGETLIB}/RPGXAMPLES) MBR(${MEMBER})"
|
CMD="CHGPFM FILE(${TARGETLIB}/RPGXAMPLES) MBR(${MEMBER})"
|
||||||
CMD="${CMD} SRCTYPE(RPGLE) TEXT('${MBRTEXT}')"
|
CMD="${CMD} SRCTYPE(RPGLE) TEXT('${MBRTEXT}')"
|
||||||
system "${CMD}"
|
system "${CMD}"
|
||||||
|
Reference in New Issue
Block a user