With the introduction of Mercurial, we have a need to keep our tools directory up to date. We could simply NFS mount the one in Menlo Park, but for WAN and build performance, that sucks. So, the Austin Labs have a local copy. And it is not being kept up to date. We've all been bitten by an old copy of the BFU script.
To get around this, we've built our own local repository and made sure that our paths all take this into account. Well, that just failed for me:
[th199096@jhereg mms]> hg outgoing -v running ssh onnv.eng "hg -R /export/onnv-clone serve --stdio" comparing with ssh://onnv.eng//export/onnv-clone searching for changes abort: style not found: /ws/onnv-tools/onbld/etc/hgstyle
I know the 'hgstyle' stuff is new, I saw Flag Day info on it. And sure enough:
[th199096@jhereg mms]> df -k /ws/onnv-tools/onbld/etc Filesystem kbytes used avail capacity Mounted on mool-ha1-nfs.central:/export/ds01/d531/tools/01/elpaso.eng/opt/onbld 140454588 109105801 29944242 79% /ws/onnv-tools/onbldI don't want to hack on the script, which I think shouldn't be using the full path. So I'll have to change where I'm getting my copy of the tools in /ws.
Okay, I don't have permissions on the NIS server, but I can get the map:
[th199096@jhereg ~]> ypcat -k auto.ws | grep onnv-tool onnv-tools /SUNWspro -ro mool-ha1-nfs.central:/export/ds01/d531/tools/01/slug-17.eng/export/$CPU/opt/SUNWspro /teamware -ro mool-ha1-nfs.central:/export/ds01/d531/tools/01/slug-17.eng/export/$CPU/opt/SUNWspro/SOS8 /onbld -ro mool-ha1-nfs.central:/export/ds01/d531/tools/01/elpaso.eng/opt/onbld
And I can add it to my local /etc/auto_ws:
# # Local copies of /ws workspaces # # For /ws/on10-clone use: # /ws/on10-patch-clone-auspen or on10-feature-clone-auspen # on10-clone-aus iquad:/pool/ws/on10-clone on10-patch-clone-aus iquad:/pool/ws/on10-patch-clone onnv-clone-aus iquad:/pool/ws/onnv-clone on10-test-aus iquad:/pool/ws/on10-test onnv-test-aus iquad:/pool/ws/onnv-test onnv-stc2-aus iquad:/pool/ws/onnv-stc2 on10-tools-aus -ro iquad:/pool/ws/on10-tools-$CPU onnv-tools-aus -ro aus1500-home:/pool/ws/onnv-tools-$CPU onnv-tools /SUNWspro -ro /opt/SUNWspro /teamware -ro /opt/SUNWspro/SOS8 /on bld -ro /opt/onbld
And no go:
[th199096@jhereg /etc]> sudo svcadm restart autofs ... [th199096@jhereg th199096]> ls -la /ws/onnv-tools /ws/onnv-tools: Permission denied total 1 [th199096@jhereg th199096]> dmesg ... Oct 8 16:54:23 jhereg automountd[883428]: [ID 406441 daemon.error] parse_entry: mapentry parse error: map=auto_ws key=onnv-tools Oct 8 16:55:55 jhereg automountd[883477]: [ID 406441 daemon.error] parse_entry: mapentry parse error: map=auto_ws key=onnv-tools
I turn spaces into tabs, no luck. I check other machines and they do the hierarchy locally for other things. Well, I then convert the pathnames from /opt/SUNWspro to localhost:/opt/SUNWspro. And that turns the trick:
[th199096@jhereg th199096]> ls -la /ws/onnv-tools total 5 dr-xr-xr-x 4 root root 4 Oct 8 17:04 . dr-xr-xr-x 2 root root 2 Oct 8 17:04 .. dr-xr-xr-x 1 root root 1 Oct 8 17:04 SUNWspro dr-xr-xr-x 1 root root 1 Oct 8 17:04 onbld dr-xr-xr-x 1 root root 1 Oct 8 17:04 teamware
I probably need to put a real fix into our jumpstart servers and make the path dependent on $CPU, but I think I was doing something when this happened.