vaeth / eix

eix can access Gentoo portage ebuild information and description very quickly (using a local cache). It can also be used to access information on installed packages, local settings, and local and external overlays, and informs about changes in the tree
GNU General Public License v2.0
167 stars 12 forks source link

eix does not consider profiles in other repositories. #121

Open dElogics opened 1 month ago

dElogics commented 1 month ago

One of my custom repositories inherits from one of the gentoo repository's profiles and adds some custom masks, USE flags etc... It seems (at least for package.mask) eix does no read this custom profile.

repos.conf/custom-profiles.conf: [custom-profiles] location = /etc/custom-profiles-gentoo sync-type =

custom-profiles-gentoo # find -type f ./profiles/repo_name ./profiles/profiles.desc ./profiles/client/parent ./profiles/client/repo_name ./profiles/client/package.mask ./metadata/layout.conf

cat ./profiles/client/package.mask <sys-kernel/gentoo-sources-6.1.70

sys-kernel/gentoo-sources-6.1.70

emerge respects this -- emerge -pv --getbinpkg --oneshot sys-kernel/gentoo-sources

!!! All ebuilds that could satisfy "sys-kernel/gentoo-sources" have been masked. !!! One of the following masked packages is required to complete your request:

However eix does not show sys-kernel/gentoo-sources as masked.

vaeth commented 1 month ago

package.mask in overlays take only effect for the packages in that overlay: eix goes a long way to make sure to copy that portage behavior. You can verify that behavior by creating a sys-kernel/gentoo-sources package in your profile, and you will see that eix does mask it.

I also verified that adding sys-kernel/gentoo-sources to package mask of the mv overlay. does not prevent me to emerge gentoo-sources from the gentoo repository.

The masking probably works for you in portage by accident because - as I assume - you use some additional profile trickery in portage.

dElogics commented 4 weeks ago

The repository inherits from the gentoo (default) repository -- layout.conf repo-name = custom-profiles masters = gentoo profile-formats = portage-2

That's why it works. eix must also respect this behavior.

All of the profile's parent profiles are within this repository itself or inherit from one of the stock gentoo profile.

vaeth commented 4 weeks ago

That's why it works.

No. The mv repository with which I tried also has "masters = gentoo".