On 15/03/2015 02:25, James wrote:
> Neil Bothwick <neil <at> digimed.co.uk> writes:
> 
> 
>>> I'm not sure how to put everything dev-java into a set; so that 
>>> it will updated but not depclean out those packages.
> 
>> A set can be simply a list of packages in a file in /etc/portage/sets.
> 
> 
> Ok so I created this file (644): 
> /etc/portage/sets/dev-java
> 
> I put a list of file in there, here are a few:
> dev-java/log4j
> dev-java/xpp2
> dev-java/xpp3
> dev-java/jaxme
> java-virtuals/stax-api
> <snip>
> 
> I tried all sorts of --depclean  syntax variants but it did not protect the 
> files listed in the file from removal. I modified my make.conf like so:
> 
> EMERGE_DEFAULT_OPTS="--exclude gentoo-sources @dev-java " 
> 
> 
> Now every rendition of depclean usage just wants to remove these files.
> It feels like there is a working mechanism here, but I'm struggling
> to find the exact method to protect these files from depclean, not identify
> them form deep cleansing. What am I missing?


I'm not sure what you are trying to accomplish here - looks like you
want to stop portage from removing some stuff (per the subject line)?

Well that's easy - put them in world.
Or with sets, add the packages to a set called DEVjava and add that set
to world. Either "emerge @DEVjava" or manually add the set name to
/var/lib/portage/world_sets

Because that stuff is now in world, depclean will not touch it.

The --exclude syntax you are experimenting with is for installation of
packages, not removal. From the man page:

       --exclude ATOMS
              A space separated list of package names or slot atoms.
Emerge won't   install  any
              ebuild or binary package that matches any of the given
package atoms.


Any as you can see the only supported arguments are atoms, not set names

-- 
Alan McKinnon
alan.mckin...@gmail.com


Reply via email to