Closed Bug 199628 Opened 21 years ago Closed 21 years ago

support shlibsign on OpenVMS

Categories

(NSS :: Build, defect, P1)

Other
OpenVMS
defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: colin, Assigned: wtc)

Details

Attachments

(1 file, 1 obsolete file)

The shell script sign.sh in security/nss/cmd/shlibsign doesn't work on OpenVMS
(there is no LD_LIBRARY_PATH support on OpenVMS). I have created a sign.vms
shell script which does work, and my question is how should this be implemented.

Option 1. Check in sign.vms and change Makefile.in to invoke sign.vms instead of
sign.sh if OS_TARGET is OpenVMS.

Option 2. Put the contents of sign.vms into sign.sh, and instead of passing in a
IS_WINDOWS flag pass in OS_TARGET. Then inside of sign.sh we can execute the
correct sequence of commands depending upon the value of OS_TARGET.

Option 2 seems like a better solution. The current implementation of passing in
a IS_WINDOWS flag doesn't leave a lot of room for supporting other operating
systems. Option 1 is probably quicker/easier though.

Which do you want a patch for?
Let's try option 2.  Thanks, Colin.
Attached patch Support OpenVMS in sign.sh (obsolete) — Splinter Review
Make sign.sh case driven for supporting different operating systems.
Attachment #118758 - Flags: review?(wtc)
Please note that I am unable to test the above patch on any platform other than
OpenVMS.
The code I was patching just got changed by someone.
Attachment #118758 - Attachment is obsolete: true
Attachment #118783 - Flags: review?(wtc)
Attachment #118758 - Flags: review?(wtc)
Comment on attachment 118783 [details] [diff] [review]
Same patch but on current code

Colin, at the end of the OpenVMS case, we have

>+    echo ${2}/shlibsign -v -i ${4}
>+    ${2}/shlibsign -v -i ${4}
>+    sed -e "s/\([^\.]*\)\.so/\$ deass\/job \1/" $temp > $temp2
>+    echo '$ deass/job getipnodebyname' >> $temp2
>+    echo '$ deass/job vms_null_dl_name' >> $temp2
>+    dcl @$temp2
>+    rm $temp $temp2

Can we move the shlibsign commands to the end?	That is,

>+    sed -e "s/\([^\.]*\)\.so/\$ deass\/job \1/" $temp > $temp2
>+    echo '$ deass/job getipnodebyname' >> $temp2
>+    echo '$ deass/job vms_null_dl_name' >> $temp2
>+    dcl @$temp2
>+    rm $temp $temp2
>+    echo ${2}/shlibsign -v -i ${4}
>+    ${2}/shlibsign -v -i ${4}

If so, we will be able to move the shlibsign commands
outside the case statement.
Comment on attachment 118783 [details] [diff] [review]
Same patch but on current code

Bob, could you read the description of this bug
and see if you agree option 2 is the better solution?
Attachment #118783 - Flags: superreview?(relyea)
Status: NEW → ASSIGNED
Priority: -- → P1
Target Milestone: --- → 3.8
No can do (to comment 5). The first dcl command is setting up the environment to
run shlibsign, and the second dcl command is destroying it.
Comment on attachment 118783 [details] [diff] [review]
Same patch but on current code

r=wtc.	(relyea's "second" review is optional.)

Requesting mozilla 1.4alpha approval. This patch allows
Mozilla to build on OpenVMS after the NSS 3.8 landing.
The risk of the patch is low.
Attachment #118783 - Flags: review?(wtc)
Attachment #118783 - Flags: review+
Attachment #118783 - Flags: approval1.4a?
Comment on attachment 118783 [details] [diff] [review]
Same patch but on current code

a=asa (on behalf of drivers) for checkin to 1.4a. Time is short so this needs
to land soon if it's gonna make it.
Attachment #118783 - Flags: approval1.4a? → approval1.4a+
Fixed checked into the NSS TIP (NSS 3.8) and NSS_CLIENT_TAG
(mozilla 1.4alpha).
Status: ASSIGNED → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
Attachment #118783 - Flags: superreview?(rrelyea0264) → superreview+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: