Re: [gentoo-user] Installing specific layman packages & eix-test-obsolete
> > > 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
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
>> 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
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
>> > 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
>> 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
> > 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
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
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
> > 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
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
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
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
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