forked from nodejs/node
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
tools: support versioned node shared libs on z/OS
The shared libraries will now be stores in lib.target as opposed to obj.target, libnode.version.so, libnode.x (for npm backwards compat and testing), and libnode.version.x (for builds). The install will also include libnode.so link that points to libnode.version.so (this will be used by native npms for backwards compat). PR-URL: nodejs#42256 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Michael Dawson <midawson@redhat.com> Co-authored-by: Gaby Baghdadi <baghdadi@ca.ibm.com> Co-authored-by: Wayne Zhang <shuowang.zhang@ibm.com>
- Loading branch information
Showing
3 changed files
with
148 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
#!/bin/sh | ||
|
||
if [ "$#" -ne 3 ] || ! [ -f "$1" ]; then | ||
echo =========================== | ||
echo "Script to modify sidedeck references to a new DLL name" | ||
echo =========================== | ||
echo "Usage: $0 originalsidedeck modifiedsidedeck newdllreference" >&2 | ||
exit 1 | ||
fi | ||
|
||
originalsidedeck=$1 | ||
outputsidedeck=$2 | ||
newdllname=$3 | ||
|
||
SCRIPT_DIR=$(dirname "$0") | ||
ID=`date +%C%y%m%d_%H%M%S` | ||
TMP="/tmp/sidedeck-$(basename "$0").$ID.tmp" | ||
TMP2="/tmp/sidedeck-$(basename "$0").$ID.tmp.2" | ||
|
||
# Remove on exit/interrupt | ||
trap '/bin/rm -rf "$TMP" "$TMP2" && exit' EXIT INT TERM QUIT HUP | ||
|
||
set -x | ||
dd conv=unblock cbs=80 if="$originalsidedeck" of="$TMP" | ||
chtag -tc 1047 "$TMP" | ||
"$SCRIPT_DIR"/sdwrap.py -u -i "$TMP" -o "$TMP2" | ||
chtag -tc 819 "$TMP2" | ||
sed -e "s/\(^ IMPORT \(DATA\|CODE\)64,\)'[^']*'/\1'$newdllname'/g" "$TMP2" > "$TMP" | ||
"$SCRIPT_DIR"/sdwrap.py -i "$TMP" -o "$TMP2" | ||
|
||
# Reformat sidedeck to be USS compatible | ||
iconv -f ISO8859-1 -t IBM-1047 "$TMP2" > "$TMP" | ||
dd conv=block cbs=80 if="$TMP" of="$outputsidedeck" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
#!/usr/bin/env python | ||
|
||
import argparse | ||
import sys | ||
|
||
def wrap(args): | ||
l = args.input.readline(72) | ||
firstline = True | ||
while l: | ||
if l[-1] == '\n': | ||
if firstline: | ||
outstr = "{}".format(l) | ||
else: | ||
outstr = " {}".format(l) | ||
firstline = True | ||
l = args.input.readline(72) | ||
else: | ||
if firstline: | ||
outstr = "{:<71}*\n".format(l[:-1]) | ||
firstline = False | ||
else: | ||
outstr = " {:<70}*\n".format(l[:-1]) | ||
l = l[-1] + args.input.readline(70) | ||
args.output.write(outstr) | ||
|
||
return 0 | ||
|
||
def unwrap(args): | ||
l = args.input.readline() | ||
firstline = True | ||
while l: | ||
if len(l) > 80: | ||
print("Error: input line invalid (longer than 80 characters)", file=sys.stderr) | ||
return 1 | ||
if not firstline and l[0] != ' ': | ||
print("Error: continuation line not start with blank", file=sys.stderr) | ||
return 1 | ||
|
||
if len(l) > 71 and l[71] == '*': | ||
if firstline: | ||
args.output.write(l[:71]) | ||
firstline = False | ||
else: | ||
args.output.write(l[1:71]) | ||
else: | ||
if firstline: | ||
args.output.write(l) | ||
else: | ||
args.output.write(l[1:]) | ||
firstline = True | ||
l = args.input.readline() | ||
return 0 | ||
|
||
def Main(): | ||
parser = argparse.ArgumentParser(description="Wrap sidedeck source to card formats") | ||
parser.add_argument("-u", "--unwrap", | ||
help="Unwrap sidedeck cards to source formats instead", action="store_true", | ||
default=False) | ||
parser.add_argument("-i", "--input", help="input filename, default to stdin", | ||
action="store", default=None) | ||
parser.add_argument("-o", "--output", help="output filename, default to stdout", | ||
action="store", default=None) | ||
|
||
args = parser.parse_args() | ||
|
||
if args.input is None: | ||
args.input = sys.stdin | ||
else: | ||
args.input = open(args.input, 'r') | ||
|
||
if args.output is None: | ||
args.output = sys.stdout | ||
else: | ||
args.output = open(args.output, 'w') | ||
|
||
if args.unwrap: | ||
return unwrap(args) | ||
|
||
return wrap(args) | ||
|
||
if __name__ == '__main__': | ||
sys.exit(Main()) |