quilt-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Quilt-dev] Bug: Missing files with make install w/o previous make


From: Jean Delvare
Subject: Re: [Quilt-dev] Bug: Missing files with make install w/o previous make
Date: Wed, 27 Sep 2023 11:36:31 +0200

On Wed, 27 Sep 2023 07:32:53 +0200, Rene Kita wrote:
> On Tue, Sep 26, 2023 at 05:58:26PM +0200, Jean Delvare wrote:
> > On Thu, 2023-08-10 at 16:50 +0200, Rene Kita wrote:  
> > > When working from the git repo and starting clean a `make install'
> > > errors out because some files where not generated.  
> [...]
> > > This does not work:
> > > 
> > > make distclean || :; ./configure --prefix=/tmp/ && make install
> > > 
> > > 
> > > Errors out with:
> > > 
> > > /usr/bin/install: cannot stat 'doc/README': No such file or directory
> > > make: *** [Makefile:318: install-main] Error 1  
> > 
> > I don't consider this to be a bug. You obviously can't install before
> > building, so calling "make install" before "make" is simply not a good
> > idea, it can't succeed for any package, not just quilt.  
> 
> This is not my experience. Most packages I install from source just
> build when calling 'make install'.

This made me curious so I gave it a try. This indeed works for
i2c-tools for example, but it doesn't work for the kernel:

# make install
  INSTALL /boot

 *** Missing file: arch/x86/boot/bzImage
 *** You need to run "make" before "make install".

make[1]: *** [arch/x86/Makefile:292: install] Error 1
make: *** [Makefile:234: __sub-make] Error 2

But at least there's an explicit error message with instructions.

> > Furthermore, I would argue that "make && make install" in your first
> > example is a bad idea. You typically need to be root to install a
> > package, but you don't want to build anything as root, for obvious
> > security reasons.  
> 
> As I always install into my $HOME, this does not affect me.

OK, your request makes sense then.

> > And this is the reason why we don't want to add
> > dependencies to the Makefile to let "make install" generate the missing
> > files, because that would most likely cause these files to be generated
> > by the wrong user.  
> 
> I see. It's a valid point.
> 
> > In other words, if it hurts, well, just don't do it.  
> 
> Or patch the Makefile - it's open source for a reason. ;-)

If you have fix which works for your use case, I'll be happy to commit
it.

That being said... I don't really get why you don't just always use
"make && make install", which is pretty much guaranteed to always work
for all packages, and has the advantage of preventing a potential
partial installation in case of a failure in the middle of the build.

Thanks,
-- 
Jean Delvare
SUSE L3 Support



reply via email to

[Prev in Thread] Current Thread [Next in Thread]