Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 163915 - eselect doesn't fully honour DESTDIR
Summary: eselect doesn't fully honour DESTDIR
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Hosted Projects
Classification: Unclassified
Component: eselect (show other bugs)
Hardware: All Linux
: High normal
Assignee: Gentoo eselect Team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks:
 
Reported: 2007-01-26 14:52 UTC by Brian Harring (RETIRED)
Modified: 2007-03-28 19:26 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Brian Harring (RETIRED) gentoo-dev 2007-01-26 14:52:39 UTC
in bin/Makefile.am and lib/Makefile.am, the symlinking of *-config targets all target $(DESTDIR)$(BINDIR)/eselect; should be $(BINDIR)/eselect instead.

Purpose of DESTDIR is staging; not final installation location, thus the absolute link location used there is incorrect and should be fixed.
Comment 1 Brian Harring (RETIRED) gentoo-dev 2007-01-26 14:53:01 UTC
to be clear, version 1.0.8 suffers this also.
Comment 2 Mike Kelly (RETIRED) gentoo-dev 2007-01-30 04:01:29 UTC
I assume you mean man/Makefile.am, not lib(s)/Makefile.am.

Fixed in svn, r355/r356. There might be a 1.0.9 soon with this in it.

Thanks for the report.
Comment 3 Brian Harring (RETIRED) gentoo-dev 2007-01-30 08:14:02 UTC
No, I mean lib/Makefile.am .

man I hadn't noticed, but it has the same issue; short version,

tar jxf eselect-1.0.8.tar.bz2
mkdir tmp
cd eselect-1.0.8
./configure && make && make DESTDIR=../tmp install
cd ../tmp;
ls -l$(find . -type l)

#fugly output, but gives you the idea of what's going on...

./usr/local/share/man/man1/bashcomp-config.1 -> /home/bharring/tmp4/usr/local/share/man/man5/bashcomp.eselect.5
./usr/local/share/man/man1/kernel-config.1 -> /home/bharring/tmp4/usr/local/share/man/man5/kernel.eselect.5
./usr/local/share/man/man1/rc-config.1 -> /home/bharring/tmp4/usr/local/share/man/man5/rc.eselect.5
./usr/local/share/man/man1/profile-config.1 -> /home/bharring/tmp4/usr/local/share/man/man5/profile.eselect.5
./usr/local/bin/bashcomp-config -> /home/bharring/tmp4/usr/local/bin/eselect
./usr/local/bin/profile-config -> /home/bharring/tmp4/usr/local/bin/eselect
./usr/local/bin/rc-config -> /home/bharring/tmp4/usr/local/bin/eselect
./usr/local/bin/kernel-config -> /home/bharring/tmp4/usr/local/bin/eselect

Note the absolute paths for the generated links.  All of the link generation in eselect's makefiles is screwed up in this way.
Comment 4 Mike Kelly (RETIRED) gentoo-dev 2007-01-30 08:42:12 UTC
(In reply to comment #3)
> No, I mean lib/Makefile.am .

There is no lib/Makefile.am. There is a libs/Makefile.am, but that only has a cp, no ln -s.

> man I hadn't noticed, but it has the same issue; short version,
> Note the absolute paths for the generated links.  All of the link generation in
> eselect's makefiles is screwed up in this way.
 
Yes, did you look at the svn revisions I mentioned?

http://sources.gentoo.org/viewcvs.py/eselect?view=rev&rev=356

Those are the only Makefile.ams doing any symlinking. They have been fixed as you described. For example:

lrwxrwxrwx 1 pioto pioto 22 2007-01-30 03:41 ./usr/local/bin/bashcomp-config -> /usr/local/bin/eselect
Comment 5 Brian Harring (RETIRED) gentoo-dev 2007-01-30 08:45:35 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > No, I mean lib/Makefile.am .
> 
> There is no lib/Makefile.am. There is a libs/Makefile.am, but that only has a
> cp, no ln -s.

Yeah, cracked out on that one (pays to not look at the bugspam when you first get up it seems).

> Yes, did you look at the svn revisions I mentioned?
Think that's something of a rhetorical question in light of that rev ;)

Thanks.
Comment 6 Mike Kelly (RETIRED) gentoo-dev 2007-03-28 19:26:59 UTC
This should be fixed in 1.0.9, which just was committed to CVS.