Quote: blueness: > > The big problem is going to be the migration. You can't just unmerge > uclibc and emerge uclibc-ng. The two hard block one another for that > reason. The migration path I took is really really dirty but works: > > 1. ebuild uclibc-ng-<version>.ebuild clean install > 3. Copy .so files from /var/tmp/portage/.../image/lib to /lib > Since the .so versions are different they won't overwrite. > 4. Use a static binary to switch over the sym links to the new .so's > 5. emerge uclibc-ng properly > 6. re-emerge world > > I can automate some of that with scripts, but it will take care on the > part of the user who should be ready to boot off of rescue media. I'm > going to recommend that people really avoid that if possible and start anew. >
What about a "unclibc-ng-migrator" ebuild that would do steps 1,3,4 above if uclibc-ng isn't installed yet, and be a no-op otherwise? This could be a dep of uclibc-ng, and not hard-block uclibc. A bit hackish but emerge would probably enforce the order of things ok with deptree resolution.