emerge -1 `eix -Iu --only-names` & removing old version of Python
Hi there,
I recently got bitten by the libexpat.so.0 error - for me I discovered this some considerable months after everyone else on the list, not because I don't update often (perhaps once or twice every few weeks) but, I think, because my machines are servers and I don't have that many packages installed. During the LONG process of resolving this I discovered the command `eix -Iu` and that running this with the --only-names flag would give me a text list of all the files on the system which aren't at the latest version. First question: is 'emerge -1 `eix -Iu --only-names`' a useful command for updating packages not in the world file? Or is this usage of mine to be avoided? It just seems more effective than `emerge -D world` - that seems to miss many packages. I am aware that the above command may update packages I don't actually need on the system, however it is less arduous to remove (`emerge -C`) those afterwards, having checked what depends upon them & stuff. I would rather have some unneeded packages on my system than some obsolete ones which will cause problems in the future. So today I ran 'emerge -1 `eix -Iu --only-names`' in order to test the "new" elog -> email functionality - I had read mention of this in the past, but the discussion of it in the "idea on updates" thread made me think to try it. BTW: there is no /usr/share/portage/config/ make.conf.example on my system - it is at /etc/make.conf.example instead. Is this a problem? Anyway, I was reminded today that a side-effect of this command is that it (re)emerges the latest version of any package for which there is also an older slotted-version on the system. So it here it keeps updating Python. $ eix -I python$ [u] dev-lang/python Available versions: (2.4) 2.4.4-r5 2.4.4-r6 2.4.4-r14 (2.5) 2.5.2-r6 ~2.5.2-r7 {+cxx +threads berkdb bootstrap build doc elibc_uclibc examples gdbm ipv6 ncurses nocxx nothreads readline sqlite ssl tk ucs2 wininst} Installed versions: 2.4.4-r9(2.4)(20:32:42 05/04/08)(berkdb examples gdbm ncurses readline ssl -bootstrap -build -doc - elibc_uclibc -ipv6 -nocxx -nothreads -tk -ucs2) 2.5.2-r6(2.5)(03:46:36 08/30/08)(berkdb doc examples gdbm ncurses readline ssl threads -bootstrap -build - elibc_uclibc -ipv6 -sqlite -tk -ucs2 -wininst) Homepage: http://www.python.org/ Description: Python is an interpreted, interactive, object-oriented programming language. $ sudo python-updater Password: * Starting Python Updater from 2.4 to 2.5 : * No packages needs to be remerged. $ So second question is, can python-2.4.4-r9 be safely removed from the system? I don't tend to keep up with best practices in Gentoo, so any criticism or advice would be much appreciated. Stroller. |
emerge -1 `eix -Iu --only-names` & removing old version of Python
On Saturday 30 August 2008 06:10:27 Stroller wrote:
> First question: is 'emerge -1 `eix -Iu --only-names`' a useful * > command for updating packages not in the world file? Or is this usage * > of mine to be avoided? It just seems more effective than `emerge -D * > world` - that seems to miss many packages. The main reason these packages are behind at all is that they are usually build dependencies, not run dependencies. They will only be updated with emerge -uD when something that depends on them is rebuilt. To avoid this, use 'emerge --with-bdeps y' This has the side effect of knowing what to do with SLOTs In general I find that emerge is infinitely better at knowing how to get what I want than I am, so it's always best to let it do what it wants to do -- alan dot mckinnon at gmail dot com |
emerge -1 `eix -Iu --only-names` & removing old version of Python
On 30 Aug 2008, at 13:56, Alan McKinnon wrote:
The main reason these packages are behind at all is that they are usually build dependencies, not run dependencies. They will only be updated with emerge -uD when something that depends on them is rebuilt. To avoid this, use 'emerge --with-bdeps y' This has the side effect of knowing what to do with SLOTs So a periodic 'emerge --with-bdeps world' would be worthwhile? In general I find that emerge is infinitely better at knowing how to get what I want than I am, so it's always best to let it do what it wants to do I'd really debate this premise. Perhaps the problem is not with `emerge` itself, perhaps with the ebuilds or with simple versioning incompatibilities, but the number of cock-ups one sees with emerged packages... well, I think "infinitely" good is stretching it just a little. I'm not saying Portage is poor - other package managers have given me more headaches per usage. Maybe the problem is with build-time dependencies of the build-time dependencies, I don't know, but when I had the libexpat.so.0 error the only thing that worked (having followed a number of different advices posted here) was to rebuild EVERY outdated package on my system - a total numbering in the region of 250. I wouldn't have imagined I had so many packages installed, never mind those "missed" by my regular updates. Stroller. |
emerge -1 `eix -Iu --only-names` & removing old version of Python
On Sat, 30 Aug 2008 05:10:27 +0100, Stroller wrote:
> It just seems more effective than `emerge -D > world` - that seems to miss many packages. The packages is misses are either build-time dependencies, so don't need updating, or are not dependencies of anything in world and would be removed by emerge --depclean. I'm with Alan on this, use with-bdep and trust portage, it knows far more about the inner workings of your package tree (which it created) than do you. -- Neil Bothwick WITLAG: The delay between delivery and comprehension of a joke. |
emerge -1 `eix -Iu --only-names` & removing old version of Python
On Saturday 30 August 2008 16:59:02 Stroller wrote:
> On 30 Aug 2008, at 13:56, Alan McKinnon wrote: > > The main reason these packages are behind at all is that they are > > usually > > build dependencies, not run dependencies. They will only be updated > > with > > emerge -uD when something that depends on them is rebuilt. > > > > To avoid this, use 'emerge --with-bdeps y' > > This has the side effect of knowing what to do with SLOTs > > So a periodic 'emerge --with-bdeps world' would be worthwhile? Or you could just leave it as is, these apps are only used when you build something, and if the ebuild requires them, they will be updated. You can set --with-bdeps to always be used in make.conf - I was sure it was a FEATURE as some point in the past but a quick check of the man page reveals nothing. There is an option though to always pass specific options to emerge > > In general I find that emerge is infinitely better at knowing how > > to get what > > I want than I am, so it's always best to let it do what it wants to do > > I'd really debate this premise. Perhaps the problem is not with > `emerge` itself, perhaps with the ebuilds or with simple versioning > incompatibilities, but the number of cock-ups one sees with emerged > packages... well, I think "infinitely" good is stretching it just a > little. > > I'm not saying Portage is poor - other package managers have given me > more headaches per usage. Maybe the problem is with build-time > dependencies of the build-time dependencies, I don't know, but when I > had the libexpat.so.0 error the only thing that worked (having > followed a number of different advices posted here) was to rebuild > EVERY outdated package on my system - a total numbering in the region > of 250. I wouldn't have imagined I had so many packages installed, > never mind those "missed" by my regular updates. Perhaps I should explain in context. Portage and emerge are not perfect, no software is, but I have found with experience that trying to be clever with emerges is usually not worth the effort. I'm not saying you are doing that, I'm more thinking of worrying about whether some obscure build tool really should be at the latest version or not. To my mind, that really is a "who cares?" type question. You should treat my remark for what it really is - a throw-away comment :-) Having said that, portage is very good at dealing with the data it is given. It can work out what to update and when some conflict arises, it does a fine job of telling the human running the show so that said human can make a sane decision. (There is nothing we can do about daft ebuilds though). Compare portage to rpm/yum/urpmi etc ... no, let's rather not go there! apt/dpkg is pretty good too, but can't deal with orphaned deps (the things that --depclean fixes), although aptitude deals with those just fine. I've had rpm break many a system, never seen apt or aptitude do it, and neither has portage. I on the other hand, have done a great many very stupid things over the years. Funny thing is, each time it involved me ignoring the friendly output emerge had just given me. -- alan dot mckinnon at gmail dot com |
emerge -1 `eix -Iu --only-names` & removing old version of Python
On Saturday 30 August 2008 16:59:02 Stroller wrote:
> but when I * > had the libexpat.so.0 error the only thing that worked (having * > followed a number of different advices posted here) was to rebuild * > EVERY outdated package on my system - a total numbering in the region * > of 250. I wouldn't have imagined I had so many packages installed, * > never mind those "missed" by my regular updates. Missed this bit in my earlier reply :-) That number of packages sounds about right, given the amount of time that has passed since the original expat update, and the amount of changes in the tree since. It was a huge disruption because so many apps use expat. Lucky for us, such things are actually quite rare. In retrospect, it would probably have been quicker if you went the long way round: emerge -e world -- alan dot mckinnon at gmail dot com |
emerge -1 `eix -Iu --only-names` & removing old version of Python
On 30 Aug 2008, at 21:19, Alan McKinnon wrote:
... In retrospect, it would probably have been quicker if you went the long way round: emerge -e world Tried it. Kept dying and leaving a number of packages that I just couldn't build. Stroller. |
emerge -1 `eix -Iu --only-names` & removing old version of Python
On Saturday 30 August 2008, Neil Bothwick wrote:
> On Sat, 30 Aug 2008 05:10:27 +0100, Stroller wrote: > > It just seems more effective than `emerge -D > > world` - that seems to miss many packages. > > The packages is misses are either build-time dependencies, so don't need > updating, or are not dependencies of anything in world and would be > removed by emerge --depclean. > > I'm with Alan on this, use with-bdep and trust portage, it knows far more > about the inner workings of your package tree (which it created) than do > you. When I tried I got: $ eix -Iu --only-names app-arch/lzma-utils dev-libs/libsigc++ media-plugins/gst-plugins-x media-plugins/gst-plugins-xvideo sys-apps/hdparm sys-kernel/gentoo-sources virtual/perl-Test-Harness However, when I run emerge -upDv --with-deps y world I get just one package: # emerge -upDv --with-bdeps y world These are the packages that would be merged, in order: Calculating world dependencies | ... done! [ebuild U ] app-arch/lzma-utils-4.32.6 [4.32.5] USE="-nocxx%" 468 kB Total: 1 package (1 upgrade), Size of downloads: 468 kB Where's the others gone? -- Regards, Mick |
emerge -1 `eix -Iu --only-names` & removing old version of Python
Stroller skrev:
> > On 30 Aug 2008, at 21:19, Alan McKinnon wrote: >> ... >> In retrospect, it would probably have been quicker if you went the >> long way >> round: >> >> emerge -e world > > Tried it. Kept dying and leaving a number of packages that I just > couldn't build. > > Stroller. > > > You can resume building by using "emerge --resume". If a package fails to build you can skip it with "emerge --resume --skipfirst". -- //*David Sveningsson [eXt]* Freelance coder | Game Development Student http://sidvind.com Thou shalt make thy program's purpose and structure clear to thy fellow man by using the One True Brace Style, even if thou likest it not, for thy creativity is better used in solving problems than in creating beautiful new impediments to understanding. |
emerge -1 `eix -Iu --only-names` & removing old version of Python
On Sun, 31 Aug 2008 09:04:03 +0100, Mick wrote:
> $ eix -Iu --only-names > app-arch/lzma-utils > dev-libs/libsigc++ > media-plugins/gst-plugins-x > media-plugins/gst-plugins-xvideo > sys-apps/hdparm > sys-kernel/gentoo-sources > virtual/perl-Test-Harness > > However, when I run emerge -upDv --with-deps y world I get just one > package: > Where's the others gone? Probably old dependencies that are no longer needed? Did you run emerge --depclean -p? -- Neil Bothwick Every time I jump on the bandwagon all its wheels fall off. |
| All times are GMT. The time now is 08:36 AM. |
VBulletin, Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO ©2007, Crawlability, Inc.