jmcp and I were working on the gate machine, pulling our hair out trying to figure out why pkg(1) was behaving differently for us. Eventually truss gave me a hint that led me to $PWD, which in my case on that machine is /net/MYWSNAME/export/home/jbeck . Well, guess what? /net/MYWSNAME/var is shared, and /net/MYWSNAME/var/pkg exists, so pkg just decided that it should use the data stored in the publisher directory thereunder, instead of /var/pkg/publisher on the machine to which I was actually ssh'd into.
Now, no offense to this team that has done fantastic and innovative work, but this strikes me as a huge throbbing bug, as it violates the principle of least surprise. Why would I expect my image to be anything other than whatever is in /var/pkg on the machine on which I am operating? Now, if I was to supply some argument to tell pkg to look elsewhere, that would be fine, but to do so by default strikes reminds me of a story. When I was coding zonecfg(1m), I initially wrote a certain interface in a way that was easy for me to code, but not as usable as it could have been. Dan asked why, and I explained, then he observed that I would have to write the code once, but our users would have to execute it thousands of times. Feeling silly, I went and rewrote it, and learned a valuable lesson, one that I think could be applied here: my perception is that the needs of the many (end-users) should outweigh the needs of the few (pkg developers), and the behavior should be changed to conform to the principle of least surprise. -- John http://blogs.sun.com/jbeck _______________________________________________ pkg-discuss mailing list [email protected] http://mail.opensolaris.org/mailman/listinfo/pkg-discuss
