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
166 stars 14 forks source link

0.36: eix-diff doesn't list masked packages [by default]? #107

Open lkraav opened 1 year ago

lkraav commented 1 year ago

New Gnome usually arrives in ::gentoo masked, that's how I notice.

I have a simple nightly cronjob like

$ cat /etc/cron.daily/09-eix-sync 
#!/bin/sh
eix-sync -F -C --quiet 2>&1 | ansimail -s "$0" "$MAILTO"

We can see here gnome-base/gnome-shell-44_rc was added Mar 11.

But I have eix-sync/diff output from Mar 12 that doesn't list it.

Am I missing something obvious about eix defaults, or something else?

vaeth commented 1 year ago

You are not missing anything. The way how eix determines whether a package "changed" is by checking whether a new installable version is available. Adding a new version without a keyword or masked is not such a version unless you have made it installable through your portage configuration. Instead, you will see the change once the version is keyworded. (About masks, this is harder, since they are not necessarily stored in the eix database, so changes in masks are not recognized by eix-diff, in general).

If you want to always install masked versions of certain packages, you should put these packages in package.unmask anyway and/or put the keyword "**" in package.accept_keywords. In that case (and if eix-diff --print LOCAL_PORTAGE_CONFIG yields true), eix-diff will also show the difference.