Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 176840 - app-portage/eix: A mistake in `man eix` + eix ignores unmasking by profile
Summary: app-portage/eix: A mistake in `man eix` + eix ignores unmasking by profile
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High trivial (vote)
Assignee: Stefan Schweizer (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-02 18:31 UTC by Arfrever Frehtes Taifersar Arahesis (RETIRED)
Modified: 2007-05-06 21:37 UTC (History)
1 user (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 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-05-02 18:31:40 UTC
In section OUTPUT, in subsection Masking:

   {P}2.95.3-r8
              The version was originally "masked by profile", but this was locally changed in /etc/portage/package.unmask.

This should be temporarily changed to:

   {P}2.95.3-r8
              The version was originally "masked by profile", but this was locally changed in /etc/portage/profile/packages.
Comment 1 Martin Väth 2007-05-02 21:39:35 UTC
I agree that the description is false (at least misleading). In fact, it seems that there is currently *no* way in eix to get the {P} state of a package.

However, I also do not understand the suggested reformulation: It seems that there is also not way with portage (I tried portage-2.1.2.5) to install a profile-masked package (in particular, all entries that I tried in /etc/portage/profile/{packages,package.mask} did not remove the "masked by: profile" message.) Am I missing something? More precisely, does eix not scan some file which it should scan?
Comment 2 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-05-02 22:10:42 UTC
(In reply to comment #1)
> It seems that there is also not way with portage (I tried portage-2.1.2.5)
> to install a profile-masked package

There is. Some example:

/usr/portage/profiles/default-linux/x86/2007.0/packages contains:
>=sys-devel/gcc-3.3.4-r1

So <sys-devel/gcc-3.3.4-r1 is normally masked by profile:
$ emerge -ptv =gcc-2.95*

These are the packages that would be merged, in reverse order:

Calculating dependencies -
!!! All ebuilds that could satisfy "=gcc-2.95*" have been masked.
!!! One of the following masked packages is required to complete your request:
- sys-devel/gcc-2.95.3-r9 (masked by: profile)
- sys-devel/gcc-2.95.3-r10 (masked by: profile)

For more information, see MASKED PACKAGES section in the emerge man page or
refer to the Gentoo Handbook.

$ 

To unmask it, /etc/portage/profile/packages must contain package specification with version literally the same as mentioned in another "packages" file, but prefixed by "-":
->=sys-devel/gcc-3.3.4-r1

$ emerge -ptv =gcc-2.95*

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild  NS   ] sys-devel/gcc-2.95.3-r10  USE="fortran nls (-altivec) -build -multislot -nocxx -test" 9,733 kB

Total: 1 package (1 in new slot), Size of downloads: 9,733 kB
$ 
Comment 3 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-05-02 22:27:43 UTC
(In reply to comment #0)
> This should be temporarily changed to:

I want explain word "temporarily":
Masking by profile is considered obsolete. Current Portage versions DO support masking by profile, but version in SVN trunk DOES NOT:
$ LC_ALL="en_US" svn log -r6195 NEWS
------------------------------------------------------------------------
r6195 | zmedico | 2007-03-09 04:34:29 +0100 (Fri, 09 Mar 2007) | 1 line

Remove legacy "masked by: profile" support as per bug #149508.  Profiles should use package.mask to mask unwanted versions of system packages.
------------------------------------------------------------------------
$ 

However masking by profile is still present in 67 profiles.


(In reply to comment #1)
> does eix not scan some file which it should scan?

Yes, it seems that eix doesn't parse /etc/portage/profile/packages properly:
$ cat /etc/portage/profile/packages
->=sys-devel/gcc-3.3.4-r1
$ eix ^gcc$
[I] sys-devel/gcc
     Available versions:
        (2.95)  [P]2.95.3-r9 [P](~)2.95.3-r10
        (3.1)   [P]3.1.1-r2
        (3.2)   [P]-*3.2.2 [P]3.2.3-r4
        (3.3)   [P]3.3.2-r7 3.3.5-r1 3.3.5.20050130-r1 3.3.6 3.3.6-r1
        (3.4)   (~)3.4.1-r3 3.4.4-r1 3.4.5 3.4.5-r1 (~)3.4.6 3.4.6-r1 3.4.6-r2
        (4.0)   ~*4.0.3 ~*4.0.4
        (4.1)   (~)4.1.0-r1 4.1.1 4.1.1-r1 4.1.1-r3 (~)4.1.2
        {X altivec bootstrap boundschecking build d doc fortran gcj gtk hardened ip28 ip32r10k java mudflap multilib multislot n32 n64 nls nocxx nopie nossp objc objc++ objc-gc static test vanilla}
     Installed versions:  4.1.2(4.1)(18:02:36 2007-03-31)(-altivec -bootstrap -build -d -doc fortran gcj gtk -hardened -ip28 -ip32r10k mudflap -multilib -multislot -n32 -n64 nls -nocxx -objc -objc++ -objc-gc -test -vanilla)
     Homepage:            http://gcc.gnu.org/
     Description:         The GNU Compiler Collection. Includes C/C++, java compilers, pie+ssp extensions, Haj Ten Brugge runtime bounds checking

$ emerge -ptv =gcc-2.95*

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild  NS   ] sys-devel/gcc-2.95.3-r10  USE="fortran nls (-altivec) -build -multislot -nocxx -test" 9,733 kB

Total: 1 package (1 in new slot), Size of downloads: 9,733 kB
$ 

However I think it isn't worth fixing :) . I suggest waiting for the end of migration of maskings from "packages" to "package.mask".
Comment 4 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2007-05-03 14:16:01 UTC
(In reply to comment #3)
> (In reply to comment #0)
> > This should be temporarily changed to:
> 
> I want explain word "temporarily":
> Masking by profile is considered obsolete. Current Portage versions DO support
> masking by profile, but version in SVN trunk DOES NOT:
> $ LC_ALL="en_US" svn log -r6195 NEWS
> ------------------------------------------------------------------------
> r6195 | zmedico | 2007-03-09 04:34:29 +0100 (Fri, 09 Mar 2007) | 1 line
> 
> Remove legacy "masked by: profile" support as per bug #149508.  Profiles should
> use package.mask to mask unwanted versions of system packages.
> ------------------------------------------------------------------------
> $ 

This commit was reverted.

> However masking by profile is still present in 67 profiles.

93 profiles.

> However I think it isn't worth fixing :) . I suggest waiting for the end of
> migration of maskings from "packages" to "package.mask".

I repeal it.

eix should parse /etc/portage/profile/packages properly.
Comment 5 Martin Väth 2007-05-03 16:55:04 UTC
(In reply to comment #2)
> with version literally the same as mentioned in another "packages" file
> but prefixed by "-":
> ->=sys-devel/gcc-3.3.4-r1

Oh, literally! I had tried things like
  ->sys-devel/gcc-3.3.2-r7
  <=sys-devel/gcc-3.3.2-r7
and it didn't work (gcc-3.3.4-r1 is not even in portage tree anymore).
Now I understand my mistake...
Unfortunately, "literally" isn't what eix stores in its database, so it is not clear to me yet whether I can fix eix without too much speed lossage. I have to dig in the source code a bit...
Comment 6 Martin Väth 2007-05-03 22:09:47 UTC
Fixed in eix' svn trunk.
Comment 7 Stefan Schweizer (RETIRED) gentoo-dev 2007-05-06 21:37:30 UTC
fixed with the 0.9.5 release! Thank you :)