Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 433052 - eix-0.25.5 and eix-0.26.4 ignore repositories on nfs mounts
Summary: eix-0.25.5 and eix-0.26.4 ignore repositories on nfs mounts
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Martin Väth
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-08-28 12:27 UTC by Christian Strahl
Modified: 2012-09-14 15:31 UTC (History)
2 users (show)

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 Christian Strahl 2012-08-28 12:27:10 UTC
I have two local overlays.
One on my local disk [1], and one on a nfs mount [2].
Since eix-0.25.5, eix only see the one on my disk [1] and say the other one is empty [2] (see output below).

-------------------------------------

old eix (eix-0.23.10):
# eix-update
Reading Portage settings ..
Building database (/var/cache/eix) ..
[0] "gentoo" /usr/portage/ (cache: metadata-md5-or-flat)
     Reading category 161|161 (100%) Finished             
[1] "local repo" /usr/local/portage (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 161|161 (100%) Finished                                  
[2] "Net Gentoo Overlay" /home_net/DEPOT/net_gentoo_overlay (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 161|161 (100%) Finished         
Applying masks ..
Calculating hash tables ..
Writing database file /var/cache/eix ..
Database contains 15769 packages in 161 categories.

------------------------------------

new eix (eix-0.25.5):
# eix-update
Reading Portage settings ..
Building database (/var/cache/eix/portage.eix) ..
[0] "gentoo" /usr/portage/ (cache: metadata-md5-or-flat)
     Reading category 161|161 (100%) Finished             
[1] "local repo" /usr/local/portage (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 161|161 (100%) Finished                                  
[2] "" /home/DEPOT/net_gentoo_overlay (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 161|161 (100%) EMPTY!
Applying masks ..
Calculating hash tables ..
Writing database file /var/cache/eix/portage.eix ..
Database contains 15766 packages in 161 categories.

Reproducible: Always




# mount | grep home_net
my-server:/home on /home_net type nfs (rw,addr=172.16.1.168)
Comment 1 Jeremy Olexa (darkside) (RETIRED) archtester gentoo-dev Security 2012-08-28 13:48:44 UTC
Works for me, PORTDIR and OVERLAY on NFS.

% eix-update 
Reading Portage settings ..
Building database (/home/jolexa/portage/linux-64/var/cache/eix/portage.eix) ..
[0] "gentoo_prefix" /home/jolexa/portage/global/portage_tree/ (cache: metadata-md5-or-flat)
     Reading category 156|156 (100%) Finished             
[1] "overlay" /home/jolexa/portage/global/overlays (cache: parse|ebuild*#metadata-md5#metadata-flat#assign)
     Reading category 156|156 (100%) Finished      
Applying masks ..
Calculating hash tables ..
Writing database file /home/jolexa/portage/linux-64/var/cache/eix/portage.eix ..
Database contains 15726 packages in 156 categories.
Comment 2 Martin Väth 2012-08-28 14:39:52 UTC
In your first example you seem to have

PORTDIR="/usr/local/portage /home_net/DEPOT/net_gentoo_overlay"

while in your second example

PORTDIR="/usr/local/portage /home/DEPOT/net_gentoo_overlay"

(without _net). Are you sure that you were using the same environment
and make.conf in both cases?
Comment 3 Martin Väth 2012-08-28 14:40:29 UTC
s/PORTDIR/PORTDIR_OVERLAY/
Comment 4 Christian Strahl 2012-08-28 17:10:44 UTC
(In reply to comment #2)
> In your first example you seem to have
> 
> PORTDIR="/usr/local/portage /home_net/DEPOT/net_gentoo_overlay"
> 
> while in your second example
> 
> PORTDIR="/usr/local/portage /home/DEPOT/net_gentoo_overlay"
> 
> (without _net). Are you sure that you were using the same environment
> and make.conf in both cases?

It is the same environment i just updated eix on my computer. (Both outputs are from the same computer)

PORTDIR_OVERLAY="/usr/local/portage /home/DEPOT/net_gentoo_overlay"

/home/DEPOT is a softlink:

$ l /home/DEPOT
lrwxrwxrwx 1 root root 15 22. Jun 12:44 /home/DEPOT -> /home_net/DEPOT
Comment 5 Martin Väth 2012-09-02 17:52:56 UTC
Sorry for my late reply: The bugzilla database was down, and I could not
find this bug anymore.

Since eix is no longer able to resolve the symlink, I conjecture
permission problems.  Perhaps you have not realized that eix(-update)
drops by default now permissions to portage:portage if run as root.
So I conjecture that /home_net (or /home_net/DEPOT) is not readable
or executable with portage's permissions.

Either adjust the permissions of that directory or configure eix
to use appropriate permissions (man eix: EIX_USER, EIX_GROUP,
EIX_UID, EIX_GID).
Comment 6 Christian Strahl 2012-09-03 16:17:06 UTC
(In reply to comment #5)
> So I conjecture that /home_net (or /home_net/DEPOT) is not readable
> or executable with portage's permissions.

Right!
That solved my problem:

adding 
EIX_USER="root"
EIX_GROUP="root"

to my eixrc.

Thanks a lot!
Comment 7 Martin Väth 2012-09-14 15:31:30 UTC
(In reply to comment #6)
> EIX_USER="root"
> EIX_GROUP="root"

This will work, but I would not recommend it, because any exploit of eix (which I cannot exclude due to its complexity) might be used to spoil your whole system.
Better use here the least privileges with which it is possible to access /home/NET_DEPOT, if possible only readonly.

For instance, if this directory is g+rx by the group "foo", choose some user (or create a new one first) which in his grouplist has the group "foo".
(If this user is not "portage", you will probably want to change the ownership of /var/cache/eix and of its content to that of the corresponding user).