From mboxrd@z Thu Jan 1 00:00:00 1970 Message-ID: <116f80ebe8eb00f5abc98350c8159bb7@yyc.orthanc.ca> To: 9fans@9fans.net From: "Lyndon Nerenberg (VE6BBM/VE7TFX)" Date: Fri, 26 Mar 2010 09:45:11 -0700 In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset="US-ASCII" Content-Transfer-Encoding: 7bit Subject: Re: [9fans] Man pages for add-ons Topicbox-Message-UUID: f3d78148-ead5-11e9-9d60-3106f5b1d025 You're making this way more complicated than it needs to be. For 3rd party stuff, I put the source tree in /usr/lyndon/src/, adjust the mkfiles to install in /usr/lyndon/bin/$objtype, and say 'mk install'. I keep a shadow man tree under /usr/lyndon/lib/man, and then bind it all on top of the system directories: bind -a $home/bin/rc /bin bind -a $home/bin/rcaux /bin/aux bind -a $home/bin/$cputype /bin bind -a $home/lib/man/1 /sys/man/1 bind -a $home/lib/man/2 /sys/man/2 bind -a $home/lib/man/3 /sys/man/3 bind -a $home/lib/man/4 /sys/man/4 bind -a $home/lib/man/5 /sys/man/5 bind -a $home/lib/man/6 /sys/man/6 bind -a $home/lib/man/7 /sys/man/7 bind -a $home/lib/man/8 /sys/man/8 (I use this for contrib packages as well, after getting burned a few times with contrib stuff breaking builds in /sys/src. Rather than use the package tool I copy the sources into $home/src and build as above. The extra work is minimal.) If you need to distinguish between your own and site-wide 3rd-party bits, create a new user to own the public 3rd party code, mirror the above structure, and do the appropriate binds in the system-wide namespace files. The only time I contemplate using a /bin/ subdirectory is when there are significant command name collisions. Over the last 10+ years it's only happened to me once. It's almost always easier to just rename the conflicting file. To use Plan 9 properly you must understand what namespaces provide, and how to manipulate them. --lyndon