There should be a config file, or series of config files for portage, probably in /etc or /etc/portage. What I'm looking for is a way to exclude certain packages from being merged when I emerge --update world/system. At the moment, I have to edit /usr/portage/profiles/default-1.0/packages to exclude certain packages during a world or system update. The problem is, every time I do an emerge rsync, the files I edited are replaced, and I have to make the same changes over and over. For example, I don't like the idea that someone is telling me what they think every system needs in terms of packages. I don't use reiserfs, or raid, so I don't need either of those packages when I do a system update. After each emerge rsync, I have to edit /usr/portage/profiles/default-1.0/packages to exclude these packages. I understand that it's necessary that those files be updated after an rsync, because they keep track of all the packages. Perhaps in /etc/portage there could be a DONTUSE variable, with a list of packages you don't want updated or installed during a system or world update. -- Duke.
Whereas such config-parameters might be a good idea, I think a temporary solution could be made by making your own profile-directory (somewhere like /root/profiles/my-1.0 ) and link the /etc/make.profile-directory to this instead of /usr/portage/profiles/default-1.0 - that way you will not lose your config each time you emerge rsync, on the other hand when there are changes to the files residing in the "/usr/portage/profiles/default-1.0"-directory, you will not get the changes automagically. (I wonder, does these files change often, or just when we issue new release-numbers of Gentoo and thus a new directory ? - that I do not know.) I hope I did't mess up #2930 for you. Sincerely, Christian Skarby
This is easily fixed. 1. emerge --inject the offending packages This will make portage think those packages have actually been installed on your system. 2. edit /var/cache/edb/world and place the offending packages in there with an = sign before them eg: =sys-apps/foobar-1.2.3 Will ensure that only version 1.2.3 of sys-apps/foobar is ever installed on your system. Having "instelled" the apps with --inject, they will never be updated to new versions (or downgraded) when you do emerge -u world. -- Troy.
Troy's comment covers this sufficiently imho just inject what you dont want installed
That seems more like a hack than a solution. I don't know about you guys, but I prefer to configure my system in /etc.