/ Zope / Apsis / Pound Mailing List / Archive / 2006 / 2006-02 / small patch proposal for Makefile

[ << ] [ >> ]

[ problems with Pound 2.0 / alessio ... ] [ [Pound Mailing List] server overloaded / Sietjp ... ]

small patch proposal for Makefile
alessio <a.cervellin(at)virgilio.it>
2006-02-08 11:55:10 [ FULL ]
Sometimes it happens that it's needed for a software to allow itself to 
be temporarily installed to an offset location ahead of the $PREFIX 
location.
One of these cases is the one explianed here [1].I
So it's a 
common (anche best) practice to use a $DESTDIR (or $INSTALL_ROOT or 
$INSTALL_PREFIX) variable in the "install" target of the Maefile, to be 
used before the ${prefix} occurencies.
This does not alter in any way 
the normal "install" process, but allows a non-root user to do 
something like this:

make DESTDIR=/tmp/destdir install

To allows 
this, i think that the Pound Malkefile should be changed from:

install:        all
                [ -d ${exec_prefix}/sbin ] || mkdir 
${exec_prefix}/sbin
                ./install-sh -c -o bin -g bin -m 
555 -s pound ${exec_prefix}/sbi
                [ -d ${prefix}/man ] || 
mkdir ${prefix}/man
                [ -d ${prefix}/man/man8 ] || mkdir 
${prefix}/man/man8
                ./install-sh -c -o bin -g bin -m 644 
pound.8 ${prefix}/man/man8/

To:

install:        all
                [ 
-d ${DESTDIR}${exec_prefix}/sbin ] || mkdir ${DESTDIR}${exec_prefix}
/sbin
                ./install-sh -c -o bin -g bin -m 555 -s pound 
${DESTDIR}${exec_prefix}/sbi
                [ -d ${DESTDIR}${prefix}
/man ] || mkdir ${DESTDIR}${prefix}/man
                [ -d 
${DESTDIR}${prefix}/man/man8 ] || mkdir ${DESTDIR}${prefix}/man/man8
                ./install-sh -c -o bin -g bin -m 644 pound.8 
${DESTDIR}${prefix}/man/man8/

[1] http://www.blastwave.
org/standards/pkgcreation.php ("How to create the package file without 
root access")

Re: [Pound Mailing List] small patch proposal for Makefile
Robert Segall <roseg(at)apsis.ch>
2006-02-08 12:19:30 [ FULL ]
On Wed, 2006-02-08 at 11:55 +0100, alessio wrote:[...]

This is available when you configure the package. Try

./configure --prefix=/tmp

for example (or just ./configure --help for detailed instructions).
Alternately you can manually edit the generated Makefile and change
prefix to whatever suits you.[...]

R: Re: [Pound Mailing List] small patch proposal for Makefile
alessio <a.cervellin(at)virgilio.it>
2006-02-08 12:35:03 [ FULL ]
> ./configure --prefix=/tmp

this is different from specifying 
$DESTDIR... DESTDIR is added in front of $PREFIX and have a different 
purpose (see [1])
[...]
Makefile and change[...]

I know I can, but 
it would be nice if it should not require any manual change by the user 
(a lot of Makefiles use the $DESTDIR variable in front of $PREFIX, it's 
something like a best practice)

Re: R: Re: [Pound Mailing List] small patch proposal for Makefile
Robert Segall <roseg(at)apsis.ch>
2006-02-08 12:43:58 [ FULL ]
On Wed, 2006-02-08 at 12:35 +0100, alessio wrote:[...]

The DESTDIR thing is also a security risk: if someone manages to change
or set it without your knowledge you'll be installing in unexpected
places. Personally I don't call that "best practise".[...]

Re: R: Re: [Pound Mailing List] small patch proposal for Makefile
Alessio Cervellin <a.cervellin(at)acm.org>
2006-02-09 06:52:05 [ FULL ]
Robert Segall ha scritto:
[...]

Security risk? Unexpeteced places? A user can write only where he is 
allowed to by the sysadmin, this has nothing to whether you allow to 
define $destdir or not (that's exactly the same with $prefix)
[...]

If you don't want to call it best practice... well, call it common 
practice, since most of the OSS' makefiles have a $destdir ;)

Re: R: Re: [Pound Mailing List] small patch proposal for Makefile
Steven Van Acker <deepstar(at)ulyssis.org>
2006-02-09 09:02:48 [ FULL ]
On Thu, Feb 09, 2006 at 06:52:05AM +0100, Alessio Cervellin wrote:[...]

DESTDIR is as much a security risk as --prefix: it isn't
[...]

I agree.

DESTDIR is a necessity for package builders. It allows one to build
pound in a temporary directory, which can then be rolled into e.g. a
Debian package.

greets,[...]

R: Re: R: Re: [Pound Mailing List] small patch proposal for Makefile
alessio <a.cervellin(at)virgilio.it>
2006-02-09 09:31:29 [ FULL ]
>> If you don't want to call it best practice... well, call it common
[...]
[...]
agree.[...]
to build[...]
into e.g. a[...]

Yes, and last words to this discussion 
should be these: 
the latest automake/autoconf official manual:
http:
//www.gnu.org/software/automake/manual/html_node/Install.html#Install

DESTDIR is documented in the "staged install" chapter.
Shortly:
- 
$prefix is used for defining the final destination.
- $DESTDIR is used 
for defining a staging area.

And here:
http://www.gnu.
org/software/automake/manual/standards/Makefile-Conventions.
html#Makefile%20Conventions

So DESTDIR is both e best practice, a 
common practice, and a convention.
Is this enough? ;)

Re: R: Re: R: Re: [Pound Mailing List] small patch proposal for Makefile
Robert Segall <roseg(at)apsis.ch>
2006-02-09 13:20:52 [ FULL ]
On Thu, 2006-02-09 at 09:31 +0100, alessio wrote:[...]

OK, if you guys feel so strongly about it, it will be added to the next
release...[...]

MailBoxer