make without /bin/sh

Nick Matteo kundor at kundor.org
Fri Apr 8 06:16:19 PDT 2005


On Friday 08 April 2005 05:32, Ken Moffat wrote:
> On Fri, 8 Apr 2005, David Snyder wrote:
> > Ok so I completed all of part 5 and am starting to install the basic
> > system.   Now here's the problem... when I run "make install" in
> > man-pages, it prompts that it can't find "/bin/sh" which is fine
> > because I haven't installed the sym-link.
> >
> > My question is... how can I go about running "make install" without
> > even creating the sym-link and actually never have a "bin" directory.
> > Obviously "/bin/sh" is hard-wired into make or gcc or something else...
> > but is there a way to compile make & gcc so that it looks for the shell
> > somewhere else.... say SHELL=/executables/shell
>
>  Whatever it is that you're trying to build, it isn't linux as
> conventionally understood - the directory structure is deeply ingrained
> everywhere.
>
>  Presumably, you'll need to inspect the source of each package and alter
> the configure scripts (paths, /bin/sh, where to look for headers if you
> are moving those) and Makefile fragments (many packages use Makefile.in
> to generate the Makefile, so you may need to understand how the
> autotools work).  Sounds like a major piece of work, and when it breaks
> you get to keep both pieces.
>
>  There was a project a year or two ago to create a distro with
> everything into different directories, I don't recall what they were
> called or if they are still in existence.
>
> Ken

It's called gobolinux and it's going strong.

http://www.gobolinux.org

It has a tool called CompileProgram which tries to automatically install 
programs into their structure, ie /Programs/App/Version, and usually works. 
There's also a system of traditional structure symlinks 
(ie /bin, /sbin, /usr/bin, etc) pointing into the Gobo structure, but these 
symlinks are hidden by a kernel patch.

It all works out really well and is a godsend for sensible package management 
without using a package manager.



More information about the lfs-support mailing list