public inbox for gentoo-user@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-user] how to recover a portage that wasn't in use for very long time
@ 2009-05-10  0:58 Alexey Luchko
  2009-05-10  1:54 ` Mike Kazantsev
                   ` (4 more replies)
  0 siblings, 5 replies; 19+ messages in thread
From: Alexey Luchko @ 2009-05-10  0:58 UTC (permalink / raw
  To: gentoo-user

Hi!

I have a gentoo installed, but I wasn't updating it since late 2007, I  
suppose.
Today I've run emerge --sync. It worked! It's great ;)

But then I've got the following collision. Obviously, a portage update  
is required. But it is confused by dependencies:
colinux ~ # emerge portage --pretend --tree

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[nomerge      ] sys-apps/portage-2.1.6.11 [2.1.2.2]
[ebuild     U ]  app-shells/bash-3.2_p39 [3.1_p17] USE="-examples% - 
plugins%"
[ebuild     U ] sys-apps/portage-2.1.6.11 [2.1.2.2]
[ebuild     U ]  dev-python/pycrypto-2.0.1-r6 [2.0.1-r5]
[ebuild     U ]  sys-apps/sandbox-1.6-r2 [1.2.17]
[ebuild  N    ]   app-arch/lzma-utils-4.32.7  USE="-nocxx"
[ebuild  N    ]  app-admin/eselect-news-20080320
[ebuild     U ]   app-admin/eselect-1.0.11-r1 [1.0.7] USE="-vim-syntax%"
[ebuild     U ]  app-misc/pax-utils-0.1.19 [0.1.15]
[blocks B     ] <sys-apps/portage-2.1.5 (is blocking app-shells/ 
bash-3.2_p39)
colinux ~ #


How to get it out?


Regards,
Alexey.






^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] how to recover a portage that wasn't in use for very long time
  2009-05-10  0:58 [gentoo-user] how to recover a portage that wasn't in use for very long time Alexey Luchko
@ 2009-05-10  1:54 ` Mike Kazantsev
  2009-05-10  1:56   ` Mike Kazantsev
  2009-05-10 12:20 ` Stroller
                   ` (3 subsequent siblings)
  4 siblings, 1 reply; 19+ messages in thread
From: Mike Kazantsev @ 2009-05-10  1:54 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 1527 bytes --]

On Sun, 10 May 2009 03:58:41 +0300
Alexey Luchko <luchik@gmail.com> wrote:

> But then I've got the following collision. Obviously, a portage update  
> is required. But it is confused by dependencies:
> colinux ~ # emerge portage --pretend --tree
> 
> These are the packages that would be merged, in reverse order:
> 
> Calculating dependencies... done!
> [nomerge      ] sys-apps/portage-2.1.6.11 [2.1.2.2]
> [ebuild     U ]  app-shells/bash-3.2_p39 [3.1_p17] USE="-examples% - 
> plugins%"
> [ebuild     U ] sys-apps/portage-2.1.6.11 [2.1.2.2]
> [ebuild     U ]  dev-python/pycrypto-2.0.1-r6 [2.0.1-r5]
> [ebuild     U ]  sys-apps/sandbox-1.6-r2 [1.2.17]
> [ebuild  N    ]   app-arch/lzma-utils-4.32.7  USE="-nocxx"
> [ebuild  N    ]  app-admin/eselect-news-20080320
> [ebuild     U ]   app-admin/eselect-1.0.11-r1 [1.0.7] USE="-vim-syntax%"
> [ebuild     U ]  app-misc/pax-utils-0.1.19 [0.1.15]
> [blocks B     ] <sys-apps/portage-2.1.5 (is blocking app-shells/ 
> bash-3.2_p39)
> colinux ~ #
> 
> 
> How to get it out?

Try masking newer bash which blocks older portage, unmasking it after
the newer portage is in place.

If you have app-portage/gentoolkit installed, you can find out which
specific versions of bash it depends on using the following command:

  equery depgraph --depth 1 portage | grep bash

Otherwise you can use "portage --tree" or just look for DEPEND and
RDEPEND vars in the ebuild itself, which can be found in /var/db/pkg.

-- 
Mike Kazantsev // fraggod.net

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] how to recover a portage that wasn't in use for very long time
  2009-05-10  1:54 ` Mike Kazantsev
@ 2009-05-10  1:56   ` Mike Kazantsev
  0 siblings, 0 replies; 19+ messages in thread
From: Mike Kazantsev @ 2009-05-10  1:56 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 311 bytes --]

On Sun, 10 May 2009 07:54:34 +0600
Mike Kazantsev <mike_kazantsev@fraggod.net> wrote:

> Otherwise you can use "portage --tree" or just look for DEPEND and
> RDEPEND vars in the ebuild itself, which can be found in /var/db/pkg.

I mean "emerge --tree", of course ;)

-- 
Mike Kazantsev // fraggod.net

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] how to recover a portage that wasn't in use for very long time
  2009-05-10  0:58 [gentoo-user] how to recover a portage that wasn't in use for very long time Alexey Luchko
  2009-05-10  1:54 ` Mike Kazantsev
@ 2009-05-10 12:20 ` Stroller
  2009-05-10 17:31 ` Alan McKinnon
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 19+ messages in thread
From: Stroller @ 2009-05-10 12:20 UTC (permalink / raw
  To: gentoo-user


On 10 May 2009, at 01:58, Alexey Luchko wrote:
> ...
> But then I've got the following collision. Obviously, a portage  
> update is required. But it is confused by dependencies:
> colinux ~ # emerge portage --pretend --tree
>
> These are the packages that would be merged, in reverse order:
>
> Calculating dependencies... done!
> [nomerge      ] sys-apps/portage-2.1.6.11 [2.1.2.2]
> [ebuild     U ]  app-shells/bash-3.2_p39 [3.1_p17] USE="-examples% - 
> plugins%"
> [ebuild     U ] sys-apps/portage-2.1.6.11 [2.1.2.2]
> [ebuild     U ]  dev-python/pycrypto-2.0.1-r6 [2.0.1-r5]
> [ebuild     U ]  sys-apps/sandbox-1.6-r2 [1.2.17]
> [ebuild  N    ]   app-arch/lzma-utils-4.32.7  USE="-nocxx"
> [ebuild  N    ]  app-admin/eselect-news-20080320
> [ebuild     U ]   app-admin/eselect-1.0.11-r1 [1.0.7] USE="-vim- 
> syntax%"
> [ebuild     U ]  app-misc/pax-utils-0.1.19 [0.1.15]
> [blocks B     ] <sys-apps/portage-2.1.5 (is blocking app-shells/ 
> bash-3.2_p39)
> colinux ~ #

Hi there,

I have done some similar kinds of updates. Once stuff has been removed  
from the tree it becomes a bit painful. I have had success, however,  
reading the blocked ebuilds to find which versions of dependency  
ebuilds are required, and then getting them from Gentoo's CVS "attic" <http://sources.gentoo.org/ 
 >. You can place these in your local overlay and then `emerge  
=category/package-version` to overcome the blocker.

This is probably a fair bit of work - one machine here is so old that  
I accept I'll never get it updated (and a reinstall will be required,  
when I get around to it), on another the work is not complete. On that  
latter machine I have successfully updated some important packages to  
the latest version (previously updated September 2007) by using this  
method, but it required at least 2 or 3 blockers manually resolved  
this way, and it did "feel" ugly. I suggest frequent use of `revdep- 
rebuild`, `python-updater` and whatever else you can think of.

`emerge -pv --update world` on that machine still shows 202 packages  
in need of updating, so this will need repeating a number of times.

I think a number of people here would tell you that this isn't  
worthwhile, to back up /home directories & config files and to  
reinstall, but personally I'm reluctant to do that in the case of a  
working system on which users depend. So it _does_ appear possible to  
upgrade using this tedious method.

In your case, I think you would first try to emerge =sys-apps/ 
portage-2.1.5, in order to unblock app-shells/bash-3.2_p39. This will  
(surely) result in another blocker - resolve that first, then emerge  
=sys-apps/portage-2.1.5 then try again to upgrade to the latest portage.

Good luck!

Stroller.






^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] how to recover a portage that wasn't in use for very long time
  2009-05-10  0:58 [gentoo-user] how to recover a portage that wasn't in use for very long time Alexey Luchko
  2009-05-10  1:54 ` Mike Kazantsev
  2009-05-10 12:20 ` Stroller
@ 2009-05-10 17:31 ` Alan McKinnon
  2009-05-10 19:25   ` [gentoo-user] " Francesco Talamona
  2009-05-10 22:31 ` [gentoo-user] " Nick Fortino
  2009-05-13 10:03 ` [gentoo-user] " Alexey Luchko
  4 siblings, 1 reply; 19+ messages in thread
From: Alan McKinnon @ 2009-05-10 17:31 UTC (permalink / raw
  To: gentoo-user

On Sunday 10 May 2009 02:58:41 Alexey Luchko wrote:
> Hi!
>
> I have a gentoo installed, but I wasn't updating it since late 2007, I
> suppose.
> Today I've run emerge --sync. It worked! It's great ;)
>
> But then I've got the following collision. Obviously, a portage update
> is required. But it is confused by dependencies:
> colinux ~ # emerge portage --pretend --tree
>
> These are the packages that would be merged, in reverse order:
>
> Calculating dependencies... done!
> [nomerge      ] sys-apps/portage-2.1.6.11 [2.1.2.2]
> [ebuild     U ]  app-shells/bash-3.2_p39 [3.1_p17] USE="-examples% -
> plugins%"
> [ebuild     U ] sys-apps/portage-2.1.6.11 [2.1.2.2]
> [ebuild     U ]  dev-python/pycrypto-2.0.1-r6 [2.0.1-r5]
> [ebuild     U ]  sys-apps/sandbox-1.6-r2 [1.2.17]
> [ebuild  N    ]   app-arch/lzma-utils-4.32.7  USE="-nocxx"
> [ebuild  N    ]  app-admin/eselect-news-20080320
> [ebuild     U ]   app-admin/eselect-1.0.11-r1 [1.0.7] USE="-vim-syntax%"
> [ebuild     U ]  app-misc/pax-utils-0.1.19 [0.1.15]
> [blocks B     ] <sys-apps/portage-2.1.5 (is blocking app-shells/
> bash-3.2_p39)
> colinux ~ #

Once you sort that out, there's a whole host of other stuff to fix as well - 
expat, latest xorg and many more - all stuff that everyone else fixed a while 
ago and since forgot.

If you've never done this before, it's a good learning experience to do it 
(but only once). Thereafter, just reinstall - the pain of upgrading after 18 
months just isn't worth it

-- 
alan dot mckinnon at gmail dot com



^ permalink raw reply	[flat|nested] 19+ messages in thread

* [gentoo-user] Re: how to recover a portage that wasn't in use for very long time
  2009-05-10 17:31 ` Alan McKinnon
@ 2009-05-10 19:25   ` Francesco Talamona
  0 siblings, 0 replies; 19+ messages in thread
From: Francesco Talamona @ 2009-05-10 19:25 UTC (permalink / raw
  To: gentoo-user

On Sunday 10 May 2009, Alan McKinnon wrote:
> Once you sort that out, there's a whole host of other stuff to fix as
> well - expat, latest xorg and many more - all stuff that everyone
> else fixed a while ago and since forgot.

Yes, beware of mktemp/coreutils too.
I don't remember of other dangers, maybe pam...

Ciao
	Francesco

-- 
Linux Version 2.6.29-gentoo-r3, Compiled #2 SMP PREEMPT Sat May 9 
18:15:29 CEST 2009
Two 2.9GHz AMD Athlon 64 Processors, 4GB RAM, 11653 Bogomips Total
aemaeth



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] how to recover a portage that wasn't in use for very long time
  2009-05-10  0:58 [gentoo-user] how to recover a portage that wasn't in use for very long time Alexey Luchko
                   ` (2 preceding siblings ...)
  2009-05-10 17:31 ` Alan McKinnon
@ 2009-05-10 22:31 ` Nick Fortino
  2009-05-12 13:56   ` Alexey Luchko
  2009-05-13 10:03 ` [gentoo-user] " Alexey Luchko
  4 siblings, 1 reply; 19+ messages in thread
From: Nick Fortino @ 2009-05-10 22:31 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 1825 bytes --]

Alexey Luchko wrote:
> Hi!
>
> I have a gentoo installed, but I wasn't updating it since late 2007, I 
> suppose.
> Today I've run emerge --sync. It worked! It's great ;)
>
> But then I've got the following collision. Obviously, a portage update 
> is required. But it is confused by dependencies:
> colinux ~ # emerge portage --pretend --tree
>
> These are the packages that would be merged, in reverse order:
>
> Calculating dependencies... done!
> [nomerge      ] sys-apps/portage-2.1.6.11 [2.1.2.2]
> [ebuild     U ]  app-shells/bash-3.2_p39 [3.1_p17] USE="-examples% 
> -plugins%"
> [ebuild     U ] sys-apps/portage-2.1.6.11 [2.1.2.2]
> [ebuild     U ]  dev-python/pycrypto-2.0.1-r6 [2.0.1-r5]
> [ebuild     U ]  sys-apps/sandbox-1.6-r2 [1.2.17]
> [ebuild  N    ]   app-arch/lzma-utils-4.32.7  USE="-nocxx"
> [ebuild  N    ]  app-admin/eselect-news-20080320
> [ebuild     U ]   app-admin/eselect-1.0.11-r1 [1.0.7] USE="-vim-syntax%"
> [ebuild     U ]  app-misc/pax-utils-0.1.19 [0.1.15]
> [blocks B     ] <sys-apps/portage-2.1.5 (is blocking 
> app-shells/bash-3.2_p39)
> colinux ~ #
>
>
> How to get it out?
>
>
> Regards,
> Alexey.
>
>
>
>
I worked on this a couple months back to make it possible. The key is to 
download binary packages of portage and a few dependencies to break the 
block. Once portage is upgraded, it's smart enough to figure things out 
now. An original script an discussion can be found at 
http://blog.jolexa.net/2009/03/25/gentoo-tips-to-upgrade-your-really-old-installation/

A slightly modified version is here inline. I would recommend against 
running it as a script, but rather do the steps individually (also, if 
you aren't running amd64, be sure to change the architecture of the 
binaries you are downloading).

Read this line as typical warnings of your mileage may very etc.

Nick

[-- Attachment #2: upgrade_guide.txt --]
[-- Type: text/plain, Size: 3771 bytes --]

#Version 0.2, written by Nick Fortino 
#April 03, 2009
#This is known to work on systems younger than 2006.1, and suspected to fail
#on anything older due to <glibc-2.4 incompatibility.

#This is an experimental guide on how to upgrade an old system to get to
#portage 2.1.6.7. Once this state is achieved, portage can do the rest, with
#decent dependency resolution. 

###########################################################################
#Between the first tar command and the success of 'emerge -K ...', the
#true state of the system, and the state according to portage are different.
#This is rather unsafe, so be sure you understand what you are doing.
#Consider this your big red warning to backup important files before attempting
#an update, and consider a re-install if possible.
###########################################################################

#It may be wise to use the default make.conf, as we would like to rebuild
#as few packages as possible before the toolchain has been updated, and use
#flags will bring in a bunch of dependencies.

#Update the symlink to an existing profile
unlink /etc/make.profile
ln -s ../usr/portage/profiles/default/linux/amd64/2008.0 /etc/make.profile

#Fetch and forcefully upgrade python, bash, and portage with prebuilt sources
#The naming of the directory All is important, as we are going to use /root
#as binary package source later on
mkdir All
cd All
wget http://tinderbox.dev.gentoo.org/default-linux/amd64/dev-lang/python-2.5.2-r7.tbz2
wget http://tinderbox.dev.gentoo.org/default-linux/amd64/app-shells/bash-3.2_p39.tbz2
wget http://tinderbox.dev.gentoo.org/default-linux/amd64/sys-apps/portage-2.1.6.7.tbz2
cd /
tar xfpj root/All/python-2.5.2-r7.tbz2
tar xfpj root/All/bash-3.2_p39.tbz2
tar xfpj root/All/portage-2.1.6.7.tbz2

#emerge these packages, so that portage is informed as to what is going on
PKGDIR="/root" emerge -K --nodeps python bash portage

#See what will be upgraded, there should be no unresolved blockers
emerge -puDNv system

#Unfortunately, on anything except a stage3 only build, there could be
#This is due to the fact that we aren't updating all of world
#Run emerge -pvuDN world, if that has no blockers, there is a 
#rather simple solution. If that has blockers, your on your own.
#Read the text of the blockers, figure out which additional packages 
#need upgrading to make everything work, and append them to the command. 
#An example:
#emerge -pvuDN system hal mit-krb5

#Perform the update, this command will likely make good progress, and then fail
emerge -auDN system

############
#Known failures and solutions
############

#Python updater and python split, creating a confilct, resolve by removing
#the old file
rm /usr/sbin/python-updater
emerge -a1 python-updater
emerge -a1 python
#Cracklib is  wants -unmerge-orphans
FEATURES='-unmerge-orphans' emerge -a1 cracklib
#continue the upgrade
emerge -auDN system


############
#Cleanup
############

#Update the current terminal
env-update
source /etc/profile
#Deal with the many /etc files which need updating
emerge gentoolkit
dispatch-conf

#At this point, the toolchain has been rebuilt, which likely involved an upgrade
#of gcc. Follow http://www.gentoo.org/doc/en/gcc-upgrading.xml to finish the 
#upgrade. A lot of what is requested there has likely been done automatically,
#so in summary:

#Check that gcc-config is using the correct compiler, if not, follow the above
#guide
gcc-config -l

#Replace your make.conf/update to whatever profile you choose/etc.
#Rebuild the system with the new toolchain, and custom settings
emerge -eav system
#Rebuild and update world with new toolchain and settings
emerge -eav world

#Finally, remove any old packages which still survived the process
emerge --depclean -a

^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] how to recover a portage that wasn't in use for very long time
  2009-05-10 22:31 ` [gentoo-user] " Nick Fortino
@ 2009-05-12 13:56   ` Alexey Luchko
  0 siblings, 0 replies; 19+ messages in thread
From: Alexey Luchko @ 2009-05-12 13:56 UTC (permalink / raw
  To: gentoo-user

Nick Fortino wrote:
> Alexey Luchko wrote:
>> I have a gentoo installed, but I wasn't updating it since late 2007, I 
>> suppose.
>> Today I've run emerge --sync. It worked! It's great ;)
>>
>> But then I've got the following collision. Obviously, a portage update 
>> is required. But it is confused by dependencies:
>> colinux ~ # emerge portage --pretend --tree
>> These are the packages that would be merged, in reverse order:
>> [cut]
>> [blocks B     ] <sys-apps/portage-2.1.5 (is blocking 
>> app-shells/bash-3.2_p39)
>> colinux ~ #
>>
> I worked on this a couple months back to make it possible. The key is to 
> download binary packages of portage and a few dependencies to break the 
> block. Once portage is upgraded, it's smart enough to figure things out 
> now. An original script an discussion can be found at 
> http://blog.jolexa.net/2009/03/25/gentoo-tips-to-upgrade-your-really-old-installation/ 
> 
> A slightly modified version is here inline. I would recommend against 
> running it as a script, but rather do the steps individually (also, if 
> you aren't running amd64, be sure to change the architecture of the 
> binaries you are downloading).
> 
> Read this line as typical warnings of your mileage may very etc.

I decided to try this way first.

I've got a problem on the way and hopefully restored the system.
The problem appeared after downloading and extracting new bash:
wget 
http://tinderbox.dev.gentoo.org/default-linux/x86/app-shells/bash-3.2_p39.tbz2
tar xfpj root/All/bash-3.2_p39.tbz2

Every next execution of bash (and sh also) gave me:
colinux ~ # sh
sh: /lib/libc.so.6: version `GLIBC_2.4' not found (required by sh)

I didn't get through it, but rather restored the partition from backup.
By the way, does one know a windows tool, that can write a partition directly?

If one is interested, I managed to get this way:
I had the backup on the windows host system.
I replaced my root's shell with /usr/bin/python and wrote a script that did 
what "cat > /dev/cobd/4" would do if it was available.
The I restored the system running the following:
$ gzip -d < /z/inst/colinux/colinux20090512.img.gz | ssh root@colinux -C 
'execfile("cat.py"); cat("/dev/cobd/4")'

It's really funny, but writing these lines I've understand that I had mounted 
host file system, and I could have restored the backup through it.


Have a nice time ;)
Alexey.



^ permalink raw reply	[flat|nested] 19+ messages in thread

* [gentoo-user] Re: how to recover a portage that wasn't in use for very long time
  2009-05-10  0:58 [gentoo-user] how to recover a portage that wasn't in use for very long time Alexey Luchko
                   ` (3 preceding siblings ...)
  2009-05-10 22:31 ` [gentoo-user] " Nick Fortino
@ 2009-05-13 10:03 ` Alexey Luchko
  2009-05-13 10:17   ` Alan McKinnon
  2009-05-13 14:33   ` Stroller
  4 siblings, 2 replies; 19+ messages in thread
From: Alexey Luchko @ 2009-05-13 10:03 UTC (permalink / raw
  To: gentoo-user

Alexey Luchko wrote:
> colinux ~ # emerge portage --pretend --tree
> 
> These are the packages that would be merged, in reverse order:
> 
> Calculating dependencies... done!
> [nomerge      ] sys-apps/portage-2.1.6.11 [2.1.2.2]
> [ebuild     U ]  app-shells/bash-3.2_p39 [3.1_p17] USE="-examples% 
> -plugins%"
> [ebuild     U ] sys-apps/portage-2.1.6.11 [2.1.2.2]
> [ebuild     U ]  dev-python/pycrypto-2.0.1-r6 [2.0.1-r5]
> [ebuild     U ]  sys-apps/sandbox-1.6-r2 [1.2.17]
> [ebuild  N    ]   app-arch/lzma-utils-4.32.7  USE="-nocxx"
> [ebuild  N    ]  app-admin/eselect-news-20080320
> [ebuild     U ]   app-admin/eselect-1.0.11-r1 [1.0.7] USE="-vim-syntax%"
> [ebuild     U ]  app-misc/pax-utils-0.1.19 [0.1.15]
> [blocks B     ] <sys-apps/portage-2.1.5 (is blocking 
> app-shells/bash-3.2_p39)
> colinux ~ #

Hi!

Thank every one for your help.

Finally I got it out this way:
first  emerge --nodeps bash
then  emerge portage  upgraded portage to the latest version
and then, of cause,  emerge -uDN system -pvt
it had blocked packages
[blocks B     ] <sys-apps/man-pages-3 ("<sys-apps/man-pages-3" is blocking
sys-apps/man-pages-posix-2003a)
[blocks B     ] <sys-fs/e2fsprogs-1.41 ("<sys-fs/e2fsprogs-1.41" is blocking
sys-libs/e2fsprogs-libs-1.41.3-r1)
[blocks B     ] sys-apps/mktemp ("sys-apps/mktemp" is blocking
sys-apps/coreutils-7.1)
[blocks B     ] sys-libs/com_err ("sys-libs/com_err" is blocking
sys-libs/e2fsprogs-libs-1.41.3-r1)
[blocks B     ] <sys-apps/util-linux-2.13 ("<sys-apps/util-linux-2.13" is
blocking sys-apps/coreutils-7.1)
[blocks B     ] sys-libs/ss ("sys-libs/ss" is blocking
sys-libs/e2fsprogs-libs-1.41.3-r1)

I unmerged them, and then  emerge -uDN system  had been working fine until
sys-libs/e2fsprogs-libs-1.41.3-r1 compilation failed with
../../lib/libuuid.so: undefined reference to `___tls_get_addr'

I had no separate uuid package installed
colinux ~ # emerge --search uuid | less
Searching...
[ Results for search key : uuid ]
[ Applications found : 4 ]
*  dev-libs/ossp-uuid [ Masked ]
       Latest version available: 1.6.2
       Latest version installed: [ Not Installed ]
*  dev-perl/Data-UUID
       Latest version available: 1.148
       Latest version installed: [ Not Installed ]
*  dev-python/uuid [ Masked ]
       Latest version available: 1.30
       Latest version installed: [ Not Installed ]
*  dev-ruby/uuidtools
       Latest version available: 1.0.7
       Latest version installed: [ Not Installed ]


It claimed on
/usr/tmp/portage/sys-libs/e2fsprogs-libs-1.41.3-r1/work/e2fsprogs-libs-1.41.3/lib/libuuid.so

I checked whether the name tls_get_addr exists and found nothing
colinux e2fsprogs-libs-1.41.3 # pwd
/usr/tmp/portage/sys-libs/e2fsprogs-libs-1.41.3-r1/work/e2fsprogs-libs-1.41.3
colinux e2fsprogs-libs-1.41.3 # grep tls_get_addr `find . -iname '*.c'`

After seaching tls_get_addr on http://www.google.com/codesearch I decided to
update glibc first:
colinux ~ # emerge glibc -pvt

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild     U ] sys-libs/glibc-2.8_p20080602-r1 [2.3.6-r4] USE="-debug% -gd%
-glibc-omitfp (-hardened) (-multilib) -nls* -profile (-selinux) -vanilla%
(-build%) (-erandom%) (-glibc-compat20%) (-nptl%) (-nptlonly%)" 0 kB [?=>0]

Total: 1 package (1 upgrade), Size of downloads: 0 kB
Portage tree and overlays:
  [0] /usr/portage
  [?] indicates that the source repository could not be determined

  * IMPORTANT: 1 news items need reading for repository 'gentoo'.
  * Use eselect news to read news items.

colinux ~ # emerge glibc

  * i386 CHOSTs are no longer supported.
  * Chances are you don't actually want/need i386.
  * Please read http://www.gentoo.org/doc/en/change-chost.xml

Here I've decided to make yet another backup and tried to remount / readonly.
And found the mount missing. I'm guessing that util-linux is the package 
containing mount and it depends on e2fsprogs-libs-1.41.3-r1.


Here I am now ;)
Any advice is welcome!


Alexey.




^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] Re: how to recover a portage that wasn't in use for very long time
  2009-05-13 10:03 ` [gentoo-user] " Alexey Luchko
@ 2009-05-13 10:17   ` Alan McKinnon
  2009-05-13 14:16     ` Stroller
  2009-05-13 14:33   ` Stroller
  1 sibling, 1 reply; 19+ messages in thread
From: Alan McKinnon @ 2009-05-13 10:17 UTC (permalink / raw
  To: gentoo-user; +Cc: Alexey Luchko

On Wednesday 13 May 2009 12:03:40 Alexey Luchko wrote:
> Alexey Luchko wrote:
> > colinux ~ # emerge portage --pretend --tree
> >
> > These are the packages that would be merged, in reverse order:
> >
> > Calculating dependencies... done!
> > [nomerge      ] sys-apps/portage-2.1.6.11 [2.1.2.2]
> > [ebuild     U ]  app-shells/bash-3.2_p39 [3.1_p17] USE="-examples%
> > -plugins%"
> > [ebuild     U ] sys-apps/portage-2.1.6.11 [2.1.2.2]
> > [ebuild     U ]  dev-python/pycrypto-2.0.1-r6 [2.0.1-r5]
> > [ebuild     U ]  sys-apps/sandbox-1.6-r2 [1.2.17]
> > [ebuild  N    ]   app-arch/lzma-utils-4.32.7  USE="-nocxx"
> > [ebuild  N    ]  app-admin/eselect-news-20080320
> > [ebuild     U ]   app-admin/eselect-1.0.11-r1 [1.0.7] USE="-vim-syntax%"
> > [ebuild     U ]  app-misc/pax-utils-0.1.19 [0.1.15]
> > [blocks B     ] <sys-apps/portage-2.1.5 (is blocking
> > app-shells/bash-3.2_p39)
> > colinux ~ #
>
> Hi!
>
> Thank every one for your help.

[snip long sad story of portage blockers]

> Here I am now ;)
> Any advice is welcome!

Why are you doing this? Is it to learn how to cope with such things?

If not, you are really wasting time that you will never get back. The last 18 
months has seen much activity in the tree, lot's of it from large packages 
being split into smaller ones, and blockers installed.

You've already come across mktemp/coreutils and e2fsprogs. You still have to 
deal with bash/python then that delicious recent cock-up with wget, expat and 
you have to decide if you want com_err or not. And plenty more. This all 
happened so long ago I forget the details (lucky for you it's all in the mail 
archives!).

Trust me, if this is not a learning exercise, just unmount your data volumes 
and reinstall the machine. The pain is not worth it. Really. Especially if 
glibc decides it doesn't like your headers, then you really are up the creek 
if you didn't quickpkg critical apps in the system set first :-)

-- 
alan dot mckinnon at gmail dot com



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] Re: how to recover a portage that wasn't in use for very long time
  2009-05-13 10:17   ` Alan McKinnon
@ 2009-05-13 14:16     ` Stroller
  2009-05-13 14:27       ` Alan McKinnon
  0 siblings, 1 reply; 19+ messages in thread
From: Stroller @ 2009-05-13 14:16 UTC (permalink / raw
  To: gentoo-user


On 13 May 2009, at 11:17, Alan McKinnon wrote:
> ...
> Why are you doing this? Is it to learn how to cope with such things?
>
> If not, you are really wasting time that you will never get back. ...
>
> Trust me, if this is not a learning exercise, just unmount your data  
> volumes
> and reinstall the machine. The pain is not worth it. Really. ...

I'm inclined to disagree with you here. Obviously, it depends on the  
user - as I've undertaken this, I knew not to bother asking here  
because I knew I'd receive exactly this response. I examined ebuilds  
to see the blockers & looked up compatible versions in the portage  
attic, and I did my own searches when I came to problems like this  
one. And so far I've been ok.

In my case, reinstallation would be a huge pain. I would be massively  
worrying about which services on the machine I need to configure  
again, and whether everything I needed had been backed up properly. I  
have forgotten the original procedures I followed setting up many of  
these services, and it could easily take a week to set the machine up  
from scratch.

If I upgrade the "obsolete portage" incrementally, I know that  
everything is still working, and I update the machine without  
disruption to the users who depend upon the machine. If a service  
fails during the procedure, then it is only ONE service that I have to  
fix, not several. As I upgrade a package & run etc-update I can back  
up the original config files, and if I find the new ones are vastly  
different then I can refer to the originals &/or diff them in.

If this upgrade procedure is undertaken cautiously, then it is no  
worse or different than it was when the changes originally entered the  
portage tree. One can `emerge -pv world` and then emerge the first  
package with --oneshot, rinse & repeat. Sure, this is potentially time- 
consuming, but I can leave packages compiling whilst I'm doing other  
things - reinstalling from scratch a base Gentoo installation isn't  
too bad (hardware, logger, housekeeping), but once you add in a number  
of services then I'm going to need to dedicate some time to the job.

I'm not reading Alexey too clearly, but it seems to me that he is  
saying he has a full system backup. In this case one can restore to  
that in minutes if something goes hosed badly during an emerge or if  
the users come in the next morning & complain that $facility isn't  
working.

I'm NOT saying that this procedure is for everyone, but equally I  
don't think it's fair to say there's NEVER any justification for it.

Stroller.




^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] Re: how to recover a portage that wasn't in use for very long time
  2009-05-13 14:16     ` Stroller
@ 2009-05-13 14:27       ` Alan McKinnon
  2009-05-13 14:49         ` Stroller
  0 siblings, 1 reply; 19+ messages in thread
From: Alan McKinnon @ 2009-05-13 14:27 UTC (permalink / raw
  To: gentoo-user

On Wednesday 13 May 2009 16:16:10 Stroller wrote:
> In my case, reinstallation would be a huge pain. I would be massively  
> worrying about which services on the machine I need to configure  
> again, and whether everything I needed had been backed up properly. I  
> have forgotten the original procedures I followed setting up many of  
> these services, and it could easily take a week to set the machine up  
> from scratch.

But whether you reinstall (backing up and replacing old configs then runnign 
diff of course) or incrementally upgrade, and $SERVICE breaks, either way you 
equally do not know about it till $USER complains.

It's just that I remember all too well what it took to get through those many 
various blockers. More often than not I was once of the first to run into them 
- I sync and update daily - but I'd hate to do it all again all in one go, 
especially when all my buddies here have forgotten the procedure.

Horses for courses I guess.

-- 
alan dot mckinnon at gmail dot com



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] Re: how to recover a portage that wasn't in use for very long time
  2009-05-13 10:03 ` [gentoo-user] " Alexey Luchko
  2009-05-13 10:17   ` Alan McKinnon
@ 2009-05-13 14:33   ` Stroller
  1 sibling, 0 replies; 19+ messages in thread
From: Stroller @ 2009-05-13 14:33 UTC (permalink / raw
  To: gentoo-user


On 13 May 2009, at 11:03, Alexey Luchko wrote:

> Alexey Luchko wrote:
>> colinux ~ # emerge portage --pretend --tree
>> These are the packages that would be merged, in reverse order:
>> Calculating dependencies... done!
>> [nomerge      ] sys-apps/portage-2.1.6.11 [2.1.2.2]
>> [ebuild     U ]  app-shells/bash-3.2_p39 [3.1_p17] USE="-examples% - 
>> plugins%"
>> [ebuild     U ] sys-apps/portage-2.1.6.11 [2.1.2.2]
>> [ebuild     U ]  dev-python/pycrypto-2.0.1-r6 [2.0.1-r5]
>> [ebuild     U ]  sys-apps/sandbox-1.6-r2 [1.2.17]
>> [ebuild  N    ]   app-arch/lzma-utils-4.32.7  USE="-nocxx"
>> [ebuild  N    ]  app-admin/eselect-news-20080320
>> [ebuild     U ]   app-admin/eselect-1.0.11-r1 [1.0.7] USE="-vim- 
>> syntax%"
>> [ebuild     U ]  app-misc/pax-utils-0.1.19 [0.1.15]
>> [blocks B     ] <sys-apps/portage-2.1.5 (is blocking app-shells/ 
>> bash-3.2_p39)
>> colinux ~ #
>
> Hi!
>
> Thank every one for your help.
>
> Finally I got it out this way:
> first  emerge --nodeps bash
> then  emerge portage  upgraded portage to the latest version
> and then, of cause,  emerge -uDN system -pvt
> it had blocked packages
> [blocks B     ] <sys-apps/man-pages-3 ("<sys-apps/man-pages-3" is  
> blocking
> sys-apps/man-pages-posix-2003a)
> [blocks B     ] <sys-fs/e2fsprogs-1.41 ("<sys-fs/e2fsprogs-1.41" is  
> blocking
> sys-libs/e2fsprogs-libs-1.41.3-r1)
> [blocks B     ] sys-apps/mktemp ("sys-apps/mktemp" is blocking
> sys-apps/coreutils-7.1)
> [blocks B     ] sys-libs/com_err ("sys-libs/com_err" is blocking
> sys-libs/e2fsprogs-libs-1.41.3-r1)
> [blocks B     ] <sys-apps/util-linux-2.13 ("<sys-apps/util- 
> linux-2.13" is
> blocking sys-apps/coreutils-7.1)
> [blocks B     ] sys-libs/ss ("sys-libs/ss" is blocking
> sys-libs/e2fsprogs-libs-1.41.3-r1)
>
> I unmerged them, and then  emerge -uDN system  had been working fine  
> until
> sys-libs/e2fsprogs-libs-1.41.3-r1 compilation failed with
> ../../lib/libuuid.so: undefined reference to `___tls_get_addr'



Alexey,

I think `emerge --nodeps bash` was the cause of your problem. You need  
to resolve each and every dependency - often sequentially or  
incrementally - before you go on to the next package. --nodpes is just  
asking your system to break.

I gave you advice in my previous message - you should have emerged  
earlier versions of packages in order, for the reason to avoid  
blockers. The Gentoo devs had a GOOD REASON when they declared  
bash-3.2_p39 as blocking the current portage. If you had tried to  
emerge the earlier bash you would probably have found it blocked by an  
earlier portage &/or mktemp &/or com_err &/or util-linux &/or sys-libs/ 
ss. If you had resolved each dependency in turn you would have  
eventually been able to upgrade to the latest versions.

I know this, because last month I did this myself. A system last  
upgraded in August or September 2007 now has bash-3.2_p39 and  
portage-2.1.6.4 installed on it.

If you don't have the patience for this, then do as Alan says &  
reinstall the whole system.

If you don't understand what I wrote, then just ask.

If you want to upgrade this system then you're going to have to do a  
lot of work yourself. You WILL need to get older intermediate package  
versions from the CVS attic <http://sources.gentoo.org/> and you will  
need to Google & read the list archive to see the correct procedure  
for resolving the mktemp, com_err, util-linux & sys-libs/ss problems.  
But that really is pretty straightforward - it is clearly documented  
on the list "emerge version X of this, then version Y of that".

Stroller.



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] Re: how to recover a portage that wasn't in use for very long time
  2009-05-13 14:27       ` Alan McKinnon
@ 2009-05-13 14:49         ` Stroller
  2009-05-13 15:00           ` Alan McKinnon
  0 siblings, 1 reply; 19+ messages in thread
From: Stroller @ 2009-05-13 14:49 UTC (permalink / raw
  To: gentoo-user


On 13 May 2009, at 15:27, Alan McKinnon wrote:
> ...
> It's just that I remember all too well what it took to get through  
> those many
> various blockers. More often than not I was once of the first to run  
> into them
> - I sync and update daily - but I'd hate to do it all again all in  
> one go,
> especially when all my buddies here have forgotten the procedure.

I think it does help if one upgrades a week or two after everyone  
else. I upgrade my main systems only every 4 - 12 weeks, and whenever  
I have a problem I look in the list archives and a clear upgrade  
procedure has most always been described.

I upgraded a 2007 system to current only a few weeks ago, and I  
encountered ALL the portage, mktemp, com_err, util-linux & sys-libs/ss  
problems. Honestly, it was not so bad. All these problems were clearly  
documented on the list - perhaps by yourself! - and I was able to  
overcome all of them in the course of an afternoon. The system was  
down for a couple of hours because I was hasty & impatient at one  
point, but in my case the significant cause of delays was that the  
machine is an old Duron 800mhz & took time with its compilation. With  
a faster machine I could perhaps have done all these upgrades within  
an hour.

Grabbing old versions of ebuilds from the attic is a bit of a pain,  
you wget them, rename them, copy them into /usr/local/portage, create  
the manifest and it's only when you try to emerge them that you find  
you also need a .patch file. But all these blockers are overcome just  
by upgrading the various packages in a straight-forward order.

I reread Alexey's post after replying to yours, and the reason he's  
having problems is because he's being careless. If you break the  
system, it's obviously a gamble whether you'll get your ass out of the  
problem you created for yourself. If you want to be sure of not  
breaking the system then you have to be cautious, resolve EACH and  
EVERY dependency in turn and not just go "fukkit, i don't know what  
that package does so, i'll ignore or unmerge it, upgrade this other  
package to the latest version and hope everything resolves".

Stroller.




^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] Re: how to recover a portage that wasn't in use for very long time
  2009-05-13 14:49         ` Stroller
@ 2009-05-13 15:00           ` Alan McKinnon
  2009-05-13 15:14             ` Paul Hartman
  0 siblings, 1 reply; 19+ messages in thread
From: Alan McKinnon @ 2009-05-13 15:00 UTC (permalink / raw
  To: gentoo-user

On Wednesday 13 May 2009 16:49:52 Stroller wrote:
> I reread Alexey's post after replying to yours, and the reason he's  
> having problems is because he's being careless. If you break the  
> system, it's obviously a gamble whether you'll get your ass out of the  
> problem you created for yourself. If you want to be sure of not  
> breaking the system then you have to be cautious, resolve EACH and  
> EVERY dependency in turn and not just go "fukkit, i don't know what  
> that package does so, i'll ignore or unmerge it, upgrade this other  
> package to the latest version and hope everything resolves".

Very true. I see he's got the bash/portage mutual blocker one as well.

Nasty one that - only by close study of the ebuilds did I manage to figure out 
that
- upgrade bash to interim version in the tree
- upgrade portage to latest
- upgrade bash to latest
was the only way through. In those days we didn't have automatic blocker 
resolution in portage either.

And yes, if Alexey is being careless then portage is going to bite his ass.

Alexey, if you read this:

Do not unmerge bash, portage, wget or python without first making a quickpkg. 
Otherwise you will be left with an unusable system and no way out of it - 
portage uses those packages directly and cannot function without them. 

-- 
alan dot mckinnon at gmail dot com



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] Re: how to recover a portage that wasn't in use for  very long time
  2009-05-13 15:00           ` Alan McKinnon
@ 2009-05-13 15:14             ` Paul Hartman
  2009-05-13 15:30               ` Graham Murray
  0 siblings, 1 reply; 19+ messages in thread
From: Paul Hartman @ 2009-05-13 15:14 UTC (permalink / raw
  To: gentoo-user

On Wed, May 13, 2009 at 10:00 AM, Alan McKinnon <alan.mckinnon@gmail.com> wrote:
> On Wednesday 13 May 2009 16:49:52 Stroller wrote:
>> I reread Alexey's post after replying to yours, and the reason he's
>> having problems is because he's being careless. If you break the
>> system, it's obviously a gamble whether you'll get your ass out of the
>> problem you created for yourself. If you want to be sure of not
>> breaking the system then you have to be cautious, resolve EACH and
>> EVERY dependency in turn and not just go "fukkit, i don't know what
>> that package does so, i'll ignore or unmerge it, upgrade this other
>> package to the latest version and hope everything resolves".
>
> Very true. I see he's got the bash/portage mutual blocker one as well.
>
> Nasty one that - only by close study of the ebuilds did I manage to figure out
> that
> - upgrade bash to interim version in the tree
> - upgrade portage to latest
> - upgrade bash to latest
> was the only way through. In those days we didn't have automatic blocker
> resolution in portage either.
>
> And yes, if Alexey is being careless then portage is going to bite his ass.
>
> Alexey, if you read this:
>
> Do not unmerge bash, portage, wget or python without first making a quickpkg.
> Otherwise you will be left with an unusable system and no way out of it -
> portage uses those packages directly and cannot function without them.

buildsyspkg in FEATURES (make.conf) can be a life saver too :)



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] Re: how to recover a portage that wasn't in use for  very long time
  2009-05-13 15:14             ` Paul Hartman
@ 2009-05-13 15:30               ` Graham Murray
  2009-05-13 15:44                 ` Paul Hartman
  2009-05-13 16:55                 ` Neil Bothwick
  0 siblings, 2 replies; 19+ messages in thread
From: Graham Murray @ 2009-05-13 15:30 UTC (permalink / raw
  To: gentoo-user

Paul Hartman <paul.hartman+gentoo@gmail.com> writes:

> buildsyspkg in FEATURES (make.conf) can be a life saver too :)

But it does not (IMHO) save binaries for enough packages. For example,
it saves a binary for portage but not for python. I think it would be
good if it saved a binary package for everything which would be built
in stage-1, which would provide a much better 'get out of jail free' if
a critical package gets corrupted or fails to run.



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] Re: how to recover a portage that wasn't in use for  very long time
  2009-05-13 15:30               ` Graham Murray
@ 2009-05-13 15:44                 ` Paul Hartman
  2009-05-13 16:55                 ` Neil Bothwick
  1 sibling, 0 replies; 19+ messages in thread
From: Paul Hartman @ 2009-05-13 15:44 UTC (permalink / raw
  To: gentoo-user

On Wed, May 13, 2009 at 10:30 AM, Graham Murray <graham@gmurray.org.uk> wrote:
> Paul Hartman <paul.hartman+gentoo@gmail.com> writes:
>
>> buildsyspkg in FEATURES (make.conf) can be a life saver too :)
>
> But it does not (IMHO) save binaries for enough packages. For example,
> it saves a binary for portage but not for python. I think it would be
> good if it saved a binary package for everything which would be built
> in stage-1, which would provide a much better 'get out of jail free' if
> a critical package gets corrupted or fails to run.

That's true, I didn't think of that before. Thankfully I have never
needed to use it, but I keep it enabled as a security blanket.



^ permalink raw reply	[flat|nested] 19+ messages in thread

* Re: [gentoo-user] Re: how to recover a portage that wasn't in use for  very long time
  2009-05-13 15:30               ` Graham Murray
  2009-05-13 15:44                 ` Paul Hartman
@ 2009-05-13 16:55                 ` Neil Bothwick
  1 sibling, 0 replies; 19+ messages in thread
From: Neil Bothwick @ 2009-05-13 16:55 UTC (permalink / raw
  To: gentoo-user

[-- Attachment #1: Type: text/plain, Size: 290 bytes --]

On Wed, 13 May 2009 16:30:09 +0100, Graham Murray wrote:

> > buildsyspkg in FEATURES (make.conf) can be a life saver too :)  
> 
> But it does not (IMHO) save binaries for enough packages.

Then use buildpkg.


-- 
Neil Bothwick

It's only a hobby ... only a hobby ... only a

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]

^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~2009-05-13 16:55 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-05-10  0:58 [gentoo-user] how to recover a portage that wasn't in use for very long time Alexey Luchko
2009-05-10  1:54 ` Mike Kazantsev
2009-05-10  1:56   ` Mike Kazantsev
2009-05-10 12:20 ` Stroller
2009-05-10 17:31 ` Alan McKinnon
2009-05-10 19:25   ` [gentoo-user] " Francesco Talamona
2009-05-10 22:31 ` [gentoo-user] " Nick Fortino
2009-05-12 13:56   ` Alexey Luchko
2009-05-13 10:03 ` [gentoo-user] " Alexey Luchko
2009-05-13 10:17   ` Alan McKinnon
2009-05-13 14:16     ` Stroller
2009-05-13 14:27       ` Alan McKinnon
2009-05-13 14:49         ` Stroller
2009-05-13 15:00           ` Alan McKinnon
2009-05-13 15:14             ` Paul Hartman
2009-05-13 15:30               ` Graham Murray
2009-05-13 15:44                 ` Paul Hartman
2009-05-13 16:55                 ` Neil Bothwick
2009-05-13 14:33   ` Stroller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox