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