emerge update

Ralf Habacker ralf.habacker at freenet.de
Thu Mar 24 01:28:29 CET 2011


Hi,

in the emerge code a bug has been found, which could result into invalid 
manifest files in the merge root(s).
These invalid manifest files could be identified by messages similar to 
the following when running a --qmerge or --unmerge action:

emerge warning: file 
k:\vc100r-46\relwithdebinfo\manifest\exiv2-0.21-2-bin.mft has different 
hash: 63cb5c31d7a5603a3fbd66c48b9baf60 d41d8cd98f00b204e9800998ecf8427e, run
with option --force to delete it anyway

and this (deleting of duplicated manifest files)

emerge debug: deleting file 
k:\vc100r-46\relwithdebinfo\manifest\exiv2-0.21-2-bin.ver
emerge debug: deleting file 
k:\vc100r-46\relwithdebinfo\manifest\exiv2-0.21-2-lib.mft
emerge debug: deleting file 
k:\vc100r-46\relwithdebinfo\manifest\exiv2-0.21-2-lib.ver
emerge debug: deleting file 
k:\vc100r-46\relwithdebinfo\manifest\exiv2-vc100-0.21-2-bin.mft
emerge debug: deleting file 
k:\vc100r-46\relwithdebinfo\manifest\exiv2-vc100-0.21-2-bin.ver
emerge debug: deleting file 
k:\vc100r-46\relwithdebinfo\manifest\exiv2-vc100-0.21-2-lib.mft
emerge debug: deleting file 
k:\vc100r-46\relwithdebinfo\manifest\exiv2-vc100-0.21-2-lib.ver

The reason for this issue is, that for binary packages the original 
manifest files are not removed from the image dir when qmerging.

In these case you should update your emerge from svn and clean up the 
manifest files of the merged packages.
The following receipt may help to avoid a complete rebuild off all 
packages:

In case one uses the merge-root-with-build-option configuration:

1. open a build shell at kde root
2. run rmdir /Q /S debug  (or relwithdebinfo or release depending on the 
used build type)
3. run rmdir /Q /S dev-utils
4. run emerge --update sed
5. run (depending on the build type)

type etc\portage\installed-debug | sed "s,-[0-9].*$,,g;s,^,emerge 
--qmerge ,g"

or

type etc\portage\installed-relwitdebinfo | sed 
"s,-[0-9].*$,,g;s,^,emerge --qmerge ,g"

or

type etc\portage\installed-release | sed "s,-[0-9].*$,,g;s,^,emerge 
--qmerge ,g"

and copy/paste the resulting list into the command prompt.

If not using the above mentioned option it is much harder to clean the 
merge root. At least the manifest dir should be deleted and all other 
directories except emerge, etc, build and tmp.

then run

type etc\portage\installed | sed "s,-[0-9].*$,,g;s,^,emerge --qmerge ,g"
and copy/paste the resulting list into the command prompt.

Hope that helps.

Regards
Ralf



More information about the Kde-windows mailing list