From: UnixOS2 Archive To: "UnixOS2 Archive" Date: Sat, 7 Sep 2002 04:37:00 EST-10EDT,10,-1,0,7200,3,-1,0,7200,3600 Subject: [UnixOS2_Archive] No. 320 ************************************************** Friday 06 September 2002 Number 320 ************************************************** Subjects for today 1 Re: FHS : Andreas Buening **= Email 1 ==========================** Date: Sat, 07 Sep 2002 23:22:50 +0200 From: Andreas Buening Subject: Re: FHS Dave and Natalie wrote: > > On Sat, 31 Aug 2002 00:00:44 +0200, Andreas Buening wrote: [snip] > >The question is what's usual? On most Unix systems shell > >utilities like perl (and also awk, bash, tcsh) seem to be in > >/usr/local/bin. We have to define once and forever where these > >tools have to be found because they'll be hardcoded in lots of > >scripts like #!/somewhere/perl. > > > Thats interesting, I haven't looked at too many *nixs, mostly just > Linux. I'd imagine that they are put into /usr/local because they are > not part of the main dist. That's possible. GNU tools like gawk or perl may be no part of the core distro of commercial Unixes so that they're put into /usr/local. > Most shell scripts that I've seen seem to point to /usr/bin or don'r > point anywhere and let the path point to the location. I think that any > binaries that are distributated in UnixOS2 should go into /usr/bin > (except those in /bin) and if anyone wants to update a shell eg the > newest perl they can put it into /usr/local. > This would mean that any script that is distributated should be > considered broken if it does not point to the standard location or just > name the shell. eg #!perl So we have a basic agreement to put perl and gawk into /usr/bin and sh into /bin. What about bash and ksh? There is also another problem with shell scripts. A lot of them contain hardcoded paths that have been determined by ./configure. E.g. if you install autoconf while your m4.exe is in d:/usr/bin/m4.exe then d:/usr/bin/m4.exe will be hardcoded. Therefore we need a program that finds those scripts and replaces all paths by the corresponding UnixOS/2 paths. > >Btw. what do you think about docs in /usr/share/{man|info} > >(FHS compliant, but requires > >./configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/man > >for _all_ packages.) > >versus /usr/{man|info} (not FHS compliant but we can drop two > >extra configure options)? > > > >[snip] > > I'm lazy and have been mostly using /usr/man|info. Having said that I > think we should try to follow FHS standard and use /usr/share/* I was > running Debian unstable when Debian made the move from > /usr/man|info|doc to /usr/share/* and it was a bitch, every package had > to be updated. > If you think about it having the autoconf tools install into > /usr/man|info|doc can be considered a bug and may well change inwhich > case we would have to do --mandir=/usr/man etc. This is not really a *bug*. autoconf installs everything into subdirectories of $prefix: $prefix/bin, $prefix/lib, $prefix/man, $prefix/info, $prefix/var, $prefix/etc and so on. For /var and /etc it's obvious that we have to use --sysconfigdir=/var and --sysconfigdir=/etc (but I think this won't be a problem because only few packages use those directories). > Debian finally > compromised on installing in /usr/share/* with symlinks in /usr/doc for /usr/doc/share/doc. > Unluckily we don't have symlinks which severly limits us > Dave who is way behind on his email This won't be our problem because we have to build up the whole distro from scratch so that we won't need symlinks for backward compatibility. ;-) However, FHS is inconsistent in handling man and info: There is /usr/share/man and /usr/share/info on the one hand and /usr/local/man but no /usr/local/info (which implies /usr/local/share/info) on the other hand which is confusing. I propose that we either use /usr[/local]/share/{man|info|doc} or /usr[/local]/{man|info|doc} but no mixture of them. bye, Andreas -- One OS to rule them all, One OS to find them, One OS to bring them all and in the darkness bind them In the Land of Mordor where the Shadows lie.