Date: Wed, 13 Jun 2001 22:40:03 -0700 (PDT) From: Joel Ray Holveck <joelh@gnu.org> To: freebsd-bugs@FreeBSD.org Subject: Re: bin/7265: A warning flag is added to ln(1). Message-ID: <200106140540.f5E5e3g47838@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR bin/7265; it has been noted by GNATS. From: Joel Ray Holveck <joelh@gnu.org> To: Giorgos Keramidas <charon@labs.gr> Cc: freebsd-gnats-submit@FreeBSD.org Subject: Re: bin/7265: A warning flag is added to ln(1). Date: 13 Jun 2001 22:33:22 -0700 > I cant locate the thread that is referenced in the PR > in the -current archives. This PR seems to be too old > and the change it suggests does not seem to interest > anyone, for such a long time. > Maybe its time we killed this beast... I think it should be applied, under the "better late than never" clause. My apologies on the reference, the thread was in -hackers; see http://docs.freebsd.org/mail/archive/1998/freebsd-hackers/19980705.freebsd-hackers.html and http://docs.freebsd.org/mail/archive/1998/freebsd-hackers/19980712.freebsd-hackers.html for the details, and note the typo in "Improvemnet" when you search. Or, I can briefly sum up what happened. Shigio Yamaguchi noticed that doing things like "cd /usr; ln -s src/sys /tmp; cd /tmp/sys" didn't work as a naive user may expect, or even an experienced user whose brain skipped a groove briefly. He made a suggestion to add flags to ln which would cause it to do the expected thing-- one flag which would create a symlink to "/usr/src/sys" in that event, and another to create a "../usr/src/sys" symlink. rminnich replied that it may be simpler-- and possibly more effective-- just to issue a warning whenever such a symlink was made. Somebody replied that it would be against the Unix philosophy to do that, since Unix shouldn't keep you from doing what you said. I replied that this wouldn't keep you from making the symlink; it'd just remind you in case you forgot that something may be amiss. Some people argued against the change, stating that it would most certainly break something. (Quote: "As you are not able to prove for -all- cases that this change will not break things...") Some people argued against the change, stating that it was against the Unix philosophy to issue warnings. (Quote: "If dmr & ken had wanted warnings they would have added stdwarn [warning: that is a joke]") And some people argued against the change, since they simply misunderstood the effect, thinking that it would be a fatal error. (Quote: "Besides, creating a link to a non existant directory is not cause for an error condition") Then, there were those who supported the change, because they believed it would be useful, and did not believe that the above arguments were valid. (Quote: "Obviously this guy is on crack.") Now, I had some fairly strong opinions about the Unix UI at that time. (I still do, but I'm not as vocal about them.) I myself argued for the change most vehemently. To address the first point, I described the absurdity of the situation (My quote: "So, we've now got a script which relies on the stderr of another script, the latter of which makes symlinks to non-existent files, and the former of which will break if a line is added. Have I got you right?"). I also cited previous changes which had (IMHO) greater potential to break things, but didn't. Then, I challenged the list members to cite an example of something which would break, and offered a beer as bounty. To address the second point, I argued that the Unix philosophy was not to prevent stuff, but that warnings were okay; to back this up, I cited other staples which issued "superfluous" warnings (16 core programs, including cp, make, lex, and cdcontrol). I just now realized that I'm the one who seems to have proposed the "-w" flag, in a sentence in which I objected to it. Nobody else objected to adding the "-w" flag (although Terry Lambert reserved the right to do so later, on the grounds that POSIX may someday define a -w flag). It soon became clear that the entire issue was a religious war-- which I was helping to perpetuate-- and not worth the effort. In an effort to end it, I wrote a patch to implement the -w flag, submitted a pr, and sent out a message with the subject line "Re: Improvemnet of ln(1). (THE END OF IT!)" and went on with my life. I had expected the patch to be merged quickly, and figured I'd add an alias to my .bash_profile once it was. Today, I'm not sure whether I would hold the same position as I did before. I definitely support the -w addition, though; I still think it's a good idea. Seeing as how there were no objections (other than mine, and I'm the guy who later wrote the patch), I see no reason to refrain from applying the patch. Hope this helps, joelh -- Joel Ray Holveck - joelh@gnu.org Fourth law of programming: Anything that can go wrong wi sendmail: segmentation violation - core dumped To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200106140540.f5E5e3g47838>