bug-parted
[Top][All Lists]
Advanced

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

Re: 1.6.0 DESTDIR install broken


From: Timshel Knoll
Subject: Re: 1.6.0 DESTDIR install broken
Date: 02 May 2002 23:37:13 +1000

On Thu, 2002-05-02 at 21:31, Andrew Clausen wrote:
> On Thu, May 02, 2002 at 12:43:14AM +1000, Timshel Knoll wrote:
> > Errr... don't hate me forever for this ... but 1.6.0 installs using
> > DESTDIR don't work :-( They worked fine in -pre10 ... looks like your
> > magic to install pt_BR-parted.8 doesn't quite do enough.
> 
> It worked here...

Are you sure? So running "make install DESTDIR=`pwd`/tmp" as a normal
user (ie. one who doesn't have write access to /usr/local) works ok?

Try running (as a normal user):
./configure --prefix=/usr && make -C doc install DESTDIR=`pwd`/debian/tmp

> > I can't work
> > out exactly what you've done there, the install code is in Makefile.in
> > but not Makefile.am ... how did you do that?
> 
> automake "magic" *shudder*

I worked it out - me being confused about this actually that _was_ a
problem at my end, when I updated my local CVS copy with the 1.6.0
tarball, for some unknown reason doc/Makefile.am wasn't updated but
doc/Makefile.in was, so there was the install-data-local target in
Makefile.in but it wasn't in Makefile.am ... that's what I couldn't work
out :-) But that was my (or the Debian package maintenance scripts)
fault, and the other problem still exists when using the 1.6.0 tarball
proper ...

> > Anyway, you should be
> > installing pt_BR-parted.8 to $(DESTDIR)$(mandir)/pt_BR-parted.8, rather
> > than just plain $(mandir)/pt_BR-parted.8.
> 
> huh?  mandir has ${prefix} in it (read Makefile.in).
> $(mandir) should be correct.

Yes, but ${prefix} doesn't have $(DESTDIR) in it ... (read Makefile.in)
It would be OK if I was doing "make install
prefix=`pwd`/debian/tmp/usr", but that has other (bad) results, ie. when
I do "./configure --sysconfdir=/etc", then I need to "make install
prefix=`pwd`/debian/tmp/usr sysconfdir=`pwd`/debian/tmp/etc". This is
why the $(DESTDIR) system in automake was implemented ...

> Perhaps the .deb scripts are doing weird stuff?

No, you should be installing to $(DESTDIR)$(mandir). Please read your
Makefile.in's again ... :-) That install-data-local: target should read:

install-data-local:
        $(INSTALL) -D $(srcdir)/pt_BR-parted.8 \
                $(DESTDIR)$(mandir)/pt_BR/man8/parted.8

> > dh_testroot
> > dh_clean -k
> > dh_installdirs
> > /usr/bin/make -C build install 
> > DESTDIR=/home/timshel/src/debian/work/parted1.6-1.6.0/debian/tmp
> > make[1]: Entering directory 
> > `/home/timshel/src/debian/work/parted1.6-1.6.0/build'
> > <lots of install stuff snipped>
> > Making install in doc
> > make[2]: Entering directory 
> > `/home/timshel/src/debian/work/parted1.6-1.6.0/build/doc'
> > make[3]: Entering directory 
> > `/home/timshel/src/debian/work/parted1.6-1.6.0/build/doc'
> > make[3]: Nothing to be done for `install-exec-am'.
> > /usr/bin/install -c -D ../../doc/pt_BR-parted.8 
> > /usr/share/man/pt_BR/man8/parted.8
> > /usr/bin/install: cannot create regular file 
> > `/usr/share/man/pt_BR/man8/parted.8': Permission denied
> 
> Permission denied?!
> Did it create /usr/share/man/pt_BR/man8?  (I'm guessing it didn't already
> exist)
> 
> What are the perms?
> 
> Perhaps your install is different, and set different perms?

I'm not trying to install in /usr, I'm doing this as a normal user who
doesn't have write access to /usr, and installing it using DESTDIR into
a different directory. This is how the packaging stuff works, since we
need an installed tree of the program to tar up for the package.

Cheers,

Timshel

-- 
Timshel Knoll <address@hidden>, Debian email: <address@hidden>
Debian GNU/Linux developer: http://people.debian.org/~timshel/
GnuPG public key: finger address@hidden



reply via email to

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