We've just migrated from an environment in which all PVCS activity (client/server) is on a Solaris 11 system. We now have separate RHEL client and server systems. Interactivity between the client and server seem fine as expected. But we're consistently failing on a PreGet trigger. The trigger is pretty simple. A Perl wrapper script used for checkout touches a unique filename (ex. /tmp/app_prac_appr.pkbz0hncmsdget , which is just a concatenation of the filename, username, and 'get' ) and chmod's the file 777. And then the PreGet trigger checks for the existence of that file. Unfortunately, it doesn't see the file as readable or as present. Here's the simple code for the PreGet trigger.
#!/bin/csh -f alias echo /usr/bin/echo if ( $?EVENTLOCK ) then /usr/tools/bin/group_member -u $EVENTUSERID capplprd if ! ( $status == 1 ) then echo "EVENTLOCK=$EVENTLOCK" echo "/tmp/${EVENTWORKFILE}${EVENTUSERID}get" if ! ( -f /tmp/${EVENTWORKFILE}${EVENTUSERID}get ) then echo "\nPVCS ERROR: You are attempting to directly lock code via vget." echo " A mail message reporting this event is being sent " echo " to the proper authorities." mail pvcs_adm <<EOF $EVENTUSERID attempted to get $EVENTWORKFILE directly. EOF echo "status = ", $? exit 1; else rm /tmp/${EVENTWORKFILE}${EVENTUSERID}get endif endif endif
(I'm not a fan of CSH scripting. But this is pretty simple. And the 'file existence' fails each time. I _did_ note that when I echo'd the /tmp filename, that it included a <cr>. But I think that is just a function of the echo statement. I also tested to see if such triggers are run on the server system (vs. the client), but I saw the same behavior when run on client or server.
At this point, I'm considering rewriting the trigger in Perl or Python for the better functionality/debugging.
But does anyone have any idea why this might fail? Whether it be differences between Solaris 11 and RHEL 8.9, etc?
Thanks
Mark