public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-dev] New SYMLINK_LIB=no migration tool for review
@ 2017-08-02 15:58 Michał Górny
  2017-08-02 17:51 ` [gentoo-dev] " Martin Vaeth
                   ` (2 more replies)
  0 siblings, 3 replies; 19+ messages in thread
From: Michał Górny @ 2017-08-02 15:58 UTC (permalink / raw
  To: gentoo-dev

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

Hi, everyone.

I've finally gotten around to writing a new tool for migrating amd64
systems to SYMLINK_LIB=no layout [1]. I've put it in symlink-lib-
migration [2] repository along with a README. Please review it and give
it more testing.

The tool has a few advantages over the one attached to the bug. Most
notably:

1. It runs in three-stage semi-automatic mode. This gives the user
an explicit opportunity to verify the action plan for any obvious
mistakes, and to test a temporary 'lib.new' layout to confirm that
the migration won't break anything before it's final.

2. It supports a mid-migration rollback -- if 'lib.new' layout breaks
stuff, the user runs './migrate.py --rollback' and he's back home.

3. It works on top-directory level whenever possible. The stuff destined
for /usr/lib is moved correctly along with any user-created files. When
a top-directory is split between lib+lib64, all files except for those
explicitly destined for lib64 land in lib (arbitrary decision).

4. It does not reinvent the wheel poorly to copy files. Instead, it
calls 'cp -a --reflink=auto ...' to guarantee that everything will be
preserved correctly.

5. It does not reinvent the wheel to parse vdb. Instead, it uses
the Portage API to get installed file list. Portage is only required
during the initial analysis phase, and the actual migration/rollback can
be done without it (or with it being broken).

I've limited the scope of the tool to do the filesystem manipulation.
Afterwards, it tells user to update the profile or adjust make.conf,
and to rebuild all the packages.

What are your thoughts?


[1]:https://bugs.gentoo.org/show_bug.cgi?id=506276
[2]:https://github.com/mgorny/symlink-lib-migration

-- 
Best regards,
Michał Górny

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 988 bytes --]

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

end of thread, other threads:[~2017-08-19 22:50 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-08-02 15:58 [gentoo-dev] New SYMLINK_LIB=no migration tool for review Michał Górny
2017-08-02 17:51 ` [gentoo-dev] " Martin Vaeth
2017-08-02 18:10   ` Mike Gilbert
2017-08-02 19:07     ` Martin Vaeth
2017-08-02 19:25       ` Mike Gilbert
2017-08-03  1:02         ` Walter Dnes
2017-08-03  2:09           ` Benda Xu
2017-08-03  6:55           ` Michał Górny
2017-08-03  7:23         ` Martin Vaeth
2017-08-03  7:50         ` Martin Vaeth
2017-08-03  7:57           ` Michał Górny
2017-08-03 14:30             ` Martin Vaeth
2017-08-02 19:44       ` Michał Górny
2017-08-02 18:10   ` Holger Hoffstätte
2017-08-11 23:56 ` [gentoo-dev] " Gerogy Yakovlev
2017-08-12  7:12   ` Michał Górny
2017-08-12 21:33 ` Michał Górny
2017-08-19 22:25   ` Georgy Yakovlev
2017-08-19 22:50     ` Michał Górny

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