A Suggestion For A Simple Package Manager
chris at beaker67.com
Wed Mar 18 16:28:22 PDT 2009
Mike McCarty wrote:
> Frank Peters wrote:
>> On Wed, 18 Mar 2009 14:46:08 -0500
>> Tushar Teredesai <tushar at linuxfromscratch.org> wrote:
>>> Because that goes against the Unix developer mentality. Providing an
>>> "checkinstall" style functionality is not the purpose of make.
>>> According to the man page: "The purpose of the make utility is to
>>> determine automatically which pieces of a large program need to be
>>> recompiled, and issue the commands to recompile them."
>> Well, the make program *does* indicate where each file has been
>> installed. If you examine the console output of make, all
I believe make only outputs what the Makefile says to output. True, most
packages do just echo the commands, and files copied, to the screen, but
they don't have to.
> Often Makefiles don't do the install themselves, but
> rather either us "cp" or "install" to put things where
> they go, when one uses "make install". I don't like
> the idea of making "make" have purposeful output to track
> versions and installs. ISTM that one should use a special
> tool, like "install" for that. "make" is supposed to be
> a tool which other tools can use, not a Swiss Army Knife.
I thought Makefiles by themselves never installed anything, ever. All
make *ever* does is look at the "targets" specified in the Makefile, see
if they exist, then if needed run the command(s) given for the target in
the Makefile...at least, if my understanding of it is correct...
From the GNU make manual -
"(Bear in mind that make does not know anything about how the commands
work. It is up to you to supply commands that will update the target
file properly. All make does is execute the commands in the rule you
have specified when the target file needs to be updated.)"
Aside from a few implicit rules mentioned in the manual (mostly having
to do with automatically creating an object file from source code files
with certain extensions), make doesn't really do anything by itself
other than running whatever commands are given in the Makefile.
Also, as far as I know, there's really nothing special about
"install"...it's just another Makefile target, though obviously one of
the commonly-used ones.
More information about the lfs-support