Re: [gentoo-user] Installing specific layman packages & eix-test-obsolete

2012-12-11 Thread Grant
> > > This is against the idea of an overlay: If you want only cerain
> > > packages copy them into your local overlay and do not add the whole
> > > overlay to portage. (But you might get troubles if you do not use
> > > eclasses or other ebuilds from the overlay which might contain
> > > corresponding patches).
> >
> > Surely you can see the value in finding an ebuild for a package you like
> > that isn't in portage, adding the overlay associated with that ebuild
> > via layman, somehow specifying that you only want that package from the
> > overlay, and running 'layman -S' to stay on top of version bumps.  If I
> > understand your suggestion correctly, it would involve manually checking
> > for version bumps and recopying them into the local overlay.  That
> > doesn't seem very Gentoo.
>
> Agreed. I may not want to add the whole overlay. That's fine for things
> like the kde or vmware overlays that have a specific focus, but sometimes
> I find a package I want isn't in portage but is in an overlay, but adding
> that overlay pulls in all sorts of other packages, sometimes beta or
> unstable versions.
>
> However, the idea of setting overlay order sounds interesting as it would
> at least solve part of the problem. For now, symlinking rather than
> copying, which I tried before, at least keeps things up to date.

According to Helmut, symlinking isn't working as well as it used to due to new
EAPIs and new eclasses.  I'm getting missing digest errors when I try it:

 * Missing digest for
'/usr/local/portage/sys-kernel/geek-sources/geek-sources-3.7.0.ebuild'
 * Missing digest for
'/usr/local/portage/sys-kernel/geek-sources/geek-sources-3.6.10.ebuild'
 * Missing digest for
'/usr/local/portage/sys-kernel/geek-sources/geek-sources-3.5.7.ebuild'

I'm also getting this from eix-test-obsolete and not sure why:

Installed packages with a version not in the database (or masked):
[D] sys-kernel/geek-sources (3.6.10(3.6.10){tbz2}[2]@12/11/12 ->
~3.4.19(3.4.19)^mbs[1] ~3.4.21(3.4.21)^mbs[2] ~3.5.7(3.5.7)^mbs[2]
~3.6.8(3.6.8)^mbs{tbz2}[2] ~3.6.9(3.6.9)^mbs{tbz2}[2])

I've run 'eix-remote update' and I
have /var/lib/layman/init6/sys-kernel/geek-sources/geek-sources-3.6.10.ebuild.
 Is the warning triggered from */*::init6 in package.mask even though I
have sys-kernel/geek-sources::init6 in package.unmask?  If so, which test
should I disable for this one?

- Grant


Re: [gentoo-user] Installing specific layman packages & eix-test-obsolete

2012-12-11 Thread Neil Bothwick
On Tue, 11 Dec 2012 14:32:01 -0800, Grant wrote:

> > This is against the idea of an overlay: If you want only cerain
> > packages copy them into your local overlay and do not add the whole
> > overlay to portage. (But you might get troubles if you do not use
> > eclasses or other ebuilds from the overlay which might contain
> > corresponding patches).  
> 
> Surely you can see the value in finding an ebuild for a package you like
> that isn't in portage, adding the overlay associated with that ebuild
> via layman, somehow specifying that you only want that package from the
> overlay, and running 'layman -S' to stay on top of version bumps.  If I
> understand your suggestion correctly, it would involve manually checking
> for version bumps and recopying them into the local overlay.  That
> doesn't seem very Gentoo.

Agreed. I may not want to add the whole overlay. That's fine for things
like the kde or vmware overlays that have a specific focus, but sometimes
I find a package I want isn't in portage but is in an overlay, but adding
that overlay pulls in all sorts of other packages, sometimes beta or
unstable versions.

However, the idea of setting overlay order sounds interesting as it would
at least solve part of the problem. For now, symlinking rather than
copying, which I tried before, at least keeps things up to date.


-- 
Neil Bothwick

Snacktrek, n.:
 The peculiar habit, when searching for a snack, of constantly
 returning to the refrigerator in hopes that something new will have
 materialized.


signature.asc
Description: PGP signature


Re: [gentoo-user] Installing specific layman packages & eix-test-obsolete

2012-12-11 Thread Grant
>> I think what we really need is a better way
>> to install only certain packages from an overlay.
>
> This is against the idea of an overlay: If you want only cerain packages
> copy them into your local overlay and do not add the whole overlay
> to portage. (But you might get troubles if you do not use eclasses
> or other ebuilds from the overlay which might contain corresponding
> patches).

Surely you can see the value in finding an ebuild for a package you like
that isn't in portage, adding the overlay associated with that ebuild via
layman, somehow specifying that you only want that package from the
overlay, and running 'layman -S' to stay on top of version bumps.  If I
understand your suggestion correctly, it would involve manually checking
for version bumps and recopying them into the local overlay.  That doesn't
seem very Gentoo.

- Grant


Re: [gentoo-user] Installing specific layman packages & eix-test-obsolete

2012-12-11 Thread Vaeth



I also get 376 matches from "Not installed but in
/etc/portage/package.mask" which are surely the packages in my overlays
masked by */* but not installed.  Do you know the name of this test so I
can disable it in eixrc?


REDUNDANT_IF_IN_MASK (or in /etc/portage/package.nowarn: in_mask)


I think what we really need is a better way
to install only certain packages from an overlay.


This is against the idea of an overlay: If you want only cerain packages
copy them into your local overlay and do not add the whole overlay
to portage. (But you might get troubles if you do not use eclasses
or other ebuilds from the overlay which might contain corresponding
patches).

With eix you can still index such non-used overlays by using scripts
like eix-layman (or more manually by setting ADD_OVERLAY in /etc/eixrc).

For recent portage versions there was also a possibility to
set global overlay order (IIRC by /etc/portage/overlay.conf or
something similar; I do not remember since I never needed it).



Re: [gentoo-user] Installing specific layman packages & eix-test-obsolete

2012-12-11 Thread Grant
>> > This really freaks out eix-test-obsolete.  Does anyone know of a way to
>> > install only certain packages from a layman overlay and
>> > use eix-test-obsolete?
>>
>> I don't add such overlays to make conf. Instead, I symlink directories
for
>> the packages I want into my local overlay.
>>
>
> I did that, too. But it has become more difficult now. E.g. the 'progress'
> overlay uses new EAPIs and new eclasses which even pull in incompatible
packages, e.g. blas.
>
> I haven't found a way to handle that by symlinks of similar methods.

I'm trying to see if I can get away with the symlink method.  I removed the
"source /var/lib/layman/make.conf" line from make.conf, created
/usr/local/portage/sys-kernel/, and created a symlink in that directory
like "geek-sources -> /var/lib/layman/init6/sys-kernel/geek-sources" but I
get:

 * Missing digest for
'/usr/local/portage/sys-kernel/geek-sources/geek-sources-3.7.0.ebuild'
 * Missing digest for
'/usr/local/portage/sys-kernel/geek-sources/geek-sources-3.6.10.ebuild'
 * Missing digest for
'/usr/local/portage/sys-kernel/geek-sources/geek-sources-3.5.7.ebuild'

- Grant


Re: [gentoo-user] Installing specific layman packages & eix-test-obsolete

2012-12-11 Thread Grant
>> in package.mask:
>>
>> */*::init6
>>
>> eix-test-obsolete find over 27,000 packages under this heading:
>>
>> Redundant in /etc/portage/package.mask:
>> ... considered as REDUNDANT_IF_MASK_NO_CHANGE
>
>
> The reason for this is the following:
> Since the category and package is */*, your mask can match every
> package - whether it matches depends on the package versions and
> where they are from. So, for every package the following happens:
>
> eix -T checks for all versions of that package whether your
> mask matches. Of course, for all packages which do not have a version
> in the init6-overlay, the mask does not match, i.e., eix -T recognizes
> that your mask has no effect for the tested package and thus outputs
> the packge. Only packags which have a version in the init6-overlay
> are not output.
>
>
>> Adding the following to package.nowarn doesn't seem to change anything:
>>
>> */*::init6 mask_no_change
>
>
> This does not help, since the packages which have no version in init6
> will not match this.
>
> You would need something like the opposite:
> */*::gentoo mask_no_change
> (and the same for all other overlays you are using).
> However, this will suppress also warnings coming from other lines
> in your package.mask file.
>
> So probably it is best if you disable the mask-no-change test
> completely: The quickest is to put REDUNDANT_IF_MASK_NO_CHANGE=false
> into /etc/eixrc.

I also get 376 matches from "Not installed but in
/etc/portage/package.mask" which are surely the packages in my overlays
masked by */* but not installed.  Do you know the name of this test so I
can disable it in eixrc?  I looked through man eix but couldn't find it.

So REDUNDANT_IF_MASK_NO_CHANGE and the above test are not compatible with
masking all but certain packages from an overlay via
package.mask/package.unmask.  I think what we really need is a better way
to install only certain packages from an overlay.

- Grant


Re: [gentoo-user] Installing specific layman packages & eix-test-obsolete

2012-12-11 Thread Grant
> > If my package.mask is empty, eix-test-obsolete runs fine.  If I have
> > this in package.mask:
> >
> > */*::init6
> >
> > eix-test-obsolete find over 27,000 packages under this heading:
> >
> > Redundant in /etc/portage/package.mask:
> > ... considered as REDUNDANT_IF_MASK_NO_CHANGE
> >
> > Adding the following to package.nowarn doesn't seem to change anything:
> >
> > */*::init6 mask_no_change
> >
> > The first of the 27,000 packages is app-accessibility/SphinxTrain which
> > is in the portage tree and not in an overlay.
> >
>
> Try a hammer:
>
>   */*::init6 in_keywords no_change double mixed weaker double_line
>   in_mask mask_no_change double_masked in_unmask unmask_no_change
>   double_unmasked in_use double_use in_env double_env in_license
>   double_license in_cflags double_cflags nonexistent masked
>   other_overlay
>
> With nothing in package.nowarn, I get 700-some REDUNDANT_IF_NO_CHANGE
> warnings. If I add just,
>
>   */*::gentoo-haskell no_change
>
> I get output that looks almost exactly like the REDUNDANT_IF_NO_CHANGE
> warnings, but if I look closely, it's for in-keywords-but-not-installed.
> In other words, that single nowarn entry may be working, but you might
> be getting some other warning now.
>
> If adding them all to package.nowarn makes the warnings go away, then
> you just have to figure out which subset you need.

I double-checked and if I have */*::init6 in package.mask, I get 27,000+
REDUNDANT_IF_MASK_NO_CHANGE warnings from eix-test-obsolete, with and
without the following in package.nowarn:

*/*::init6 in_keywords no_change double mixed weaker double_line in_mask
mask_no_change double_masked in_unmask unmask_no_change double_unmasked
in_use double_use in_env double_env in_license double_license in_cflags
double_cflags nonexistent masked other_overlay

No other overlays installed.

- Grant


Re: [gentoo-user] Installing specific layman packages & eix-test-obsolete

2012-12-09 Thread Michael Orlitzky
On 12/09/2012 04:01 PM, Grant wrote:
> 
> If my package.mask is empty, eix-test-obsolete runs fine.  If I have
> this in package.mask:
> 
> */*::init6
> 
> eix-test-obsolete find over 27,000 packages under this heading:
> 
> Redundant in /etc/portage/package.mask:
> ... considered as REDUNDANT_IF_MASK_NO_CHANGE
> 
> Adding the following to package.nowarn doesn't seem to change anything:
> 
> */*::init6 mask_no_change
> 
> The first of the 27,000 packages is app-accessibility/SphinxTrain which
> is in the portage tree and not in an overlay.
> 

Try a hammer:

  */*::init6 in_keywords no_change double mixed weaker double_line
  in_mask mask_no_change double_masked in_unmask unmask_no_change
  double_unmasked in_use double_use in_env double_env in_license
  double_license in_cflags double_cflags nonexistent masked
  other_overlay

With nothing in package.nowarn, I get 700-some REDUNDANT_IF_NO_CHANGE
warnings. If I add just,

  */*::gentoo-haskell no_change

I get output that looks almost exactly like the REDUNDANT_IF_NO_CHANGE
warnings, but if I look closely, it's for in-keywords-but-not-installed.
In other words, that single nowarn entry may be working, but you might
be getting some other warning now.

If adding them all to package.nowarn makes the warnings go away, then
you just have to figure out which subset you need.



Re: [gentoo-user] Installing specific layman packages & eix-test-obsolete

2012-12-09 Thread Vaeth

in package.mask:

*/*::init6

eix-test-obsolete find over 27,000 packages under this heading:

Redundant in /etc/portage/package.mask:
... considered as REDUNDANT_IF_MASK_NO_CHANGE


The reason for this is the following:
Since the category and package is */*, your mask can match every
package - whether it matches depends on the package versions and
where they are from. So, for every package the following happens:

eix -T checks for all versions of that package whether your
mask matches. Of course, for all packages which do not have a version
in the init6-overlay, the mask does not match, i.e., eix -T recognizes
that your mask has no effect for the tested package and thus outputs
the packge. Only packags which have a version in the init6-overlay
are not output.


Adding the following to package.nowarn doesn't seem to change anything:

*/*::init6 mask_no_change


This does not help, since the packages which have no version in init6
will not match this.

You would need something like the opposite:
*/*::gentoo mask_no_change
(and the same for all other overlays you are using).
However, this will suppress also warnings coming from other lines
in your package.mask file.

So probably it is best if you disable the mask-no-change test
completely: The quickest is to put REDUNDANT_IF_MASK_NO_CHANGE=false
into /etc/eixrc.

Best Regards
Martin



Re: [gentoo-user] Installing specific layman packages & eix-test-obsolete

2012-12-09 Thread Grant
> > I need to be able to install only certain packages from a layman overlay
> > so I do stuff like this:
> >
> > package.mask:
> > */*::perl-experimental
> >
> > package.unmask:
> > perl-core/CPAN::perl-experimental
> >
> > This really freaks out eix-test-obsolete.  Does anyone know of a way to
> > install only certain packages from a layman overlay and
> > use eix-test-obsolete?
> >
>
> You can tell eix not to warn you about anything in the perl-experimental
> overlay. Here's what I've done for the haskell overlay.
>
>   $ cat /etc/portage/package.nowarn
>   # Disable eix's REDUNDANT_IF_NO_CHANGE tests for the wildcard.
>   */*::gentoo-haskell in_keywords no_change
>
> You may have to adjust the "in_keywords no_change" part, depending on
> the specific type of freak-out you're experiencing. The options are all
> documented in the eix man page under package.nowarn.

If my package.mask is empty, eix-test-obsolete runs fine.  If I have this
in package.mask:

*/*::init6

eix-test-obsolete find over 27,000 packages under this heading:

Redundant in /etc/portage/package.mask:
... considered as REDUNDANT_IF_MASK_NO_CHANGE

Adding the following to package.nowarn doesn't seem to change anything:

*/*::init6 mask_no_change

The first of the 27,000 packages is app-accessibility/SphinxTrain which is
in the portage tree and not in an overlay.

- Grant


Re: [gentoo-user] Installing specific layman packages & eix-test-obsolete

2012-12-09 Thread Helmut Jarausch

On 12/09/2012 11:10:52 AM, Neil Bothwick wrote:

On Sat, 8 Dec 2012 22:13:16 -0800, Grant wrote:

> This really freaks out eix-test-obsolete.  Does anyone know of a  
way to

> install only certain packages from a layman overlay and
> use eix-test-obsolete?

I don't add such overlays to make conf. Instead, I symlink  
directories for

the packages I want into my local overlay.



I did that, too. But it has become more difficult now. E.g. the  
'progress'
overlay uses new EAPIs and new eclasses which even pull in incompatible  
packages, e.g. blas.


I haven't found a way to handle that by symlinks of similar methods.

Helmut.




Re: [gentoo-user] Installing specific layman packages & eix-test-obsolete

2012-12-09 Thread Neil Bothwick
On Sat, 8 Dec 2012 22:13:16 -0800, Grant wrote:

> This really freaks out eix-test-obsolete.  Does anyone know of a way to
> install only certain packages from a layman overlay and
> use eix-test-obsolete?

I don't add such overlays to make conf. Instead, I symlink directories for
the packages I want into my local overlay.


-- 
Neil Bothwick

Procedure: (n.) a method of performing a program sub-task in an
inefficient way by extensively using the stack instead of a GOTO.


signature.asc
Description: PGP signature


Re: [gentoo-user] Installing specific layman packages & eix-test-obsolete

2012-12-09 Thread Michael Orlitzky
On 12/09/2012 01:13 AM, Grant wrote:
> I need to be able to install only certain packages from a layman overlay
> so I do stuff like this:
> 
> package.mask:
> */*::perl-experimental
> 
> package.unmask:
> perl-core/CPAN::perl-experimental
> 
> This really freaks out eix-test-obsolete.  Does anyone know of a way to
> install only certain packages from a layman overlay and
> use eix-test-obsolete?
> 

You can tell eix not to warn you about anything in the perl-experimental
overlay. Here's what I've done for the haskell overlay.

  $ cat /etc/portage/package.nowarn
  # Disable eix's REDUNDANT_IF_NO_CHANGE tests for the wildcard.
  */*::gentoo-haskell in_keywords no_change

You may have to adjust the "in_keywords no_change" part, depending on
the specific type of freak-out you're experiencing. The options are all
documented in the eix man page under package.nowarn.



[gentoo-user] Installing specific layman packages & eix-test-obsolete

2012-12-08 Thread Grant
I need to be able to install only certain packages from a layman overlay so
I do stuff like this:

package.mask:
*/*::perl-experimental

package.unmask:
perl-core/CPAN::perl-experimental

This really freaks out eix-test-obsolete.  Does anyone know of a way to
install only certain packages from a layman overlay and
use eix-test-obsolete?

- Grant