[GSoC] migration
Umesh Singla
umeshksingla at macports.org
Wed Jul 12 22:10:11 UTC 2017
Hi Brad,
With another week over, I have the following updates to share. These are
actually the points from my Notes as I keep going on, so the email might
not be well crafted. Thought, would share with you without any delay.
*Week #5-6 (28 Jun - 12 Jul)*
Golden lines for the project:
1. A *snapshot* would be a list of install commands that created the
current installed state.
2. *Restoring* a snapshot would deactivate the active ports and
reproduce the install commands for the selected snapshot.
3. *Migrate* would amount to creating a new snapshot, uninstalling
installed ports and reproducing the install commands for the last snapshot.
@Brad: Did you miss “uninstalling installed ports” in the second point
above?
Challenges from the first phase:
1. “variants” - still not discussed by anyone after 2 emails, 1 post and
1 comment on GitHub. -> resolved.
2. I wrote at the end of my first phase that one variant of a port can
be active at a time, turns out I was wrong. All thanks to the UI messages
and the research.
Challenges still to tackle:
1. snapshot needs to store which ports are active as well?
2. refactoring snapshot to use registry::write wrappers and transaction
logic.
3. ensuring that active versions are installed after the inactive
versions since the output after running `port install vim -huge +tiny`:
——
Computing dependencies for vim
..
---> Staging vim into destroot
*---> Installing vim @8.0.0596_0+tiny*
*---> Deactivating vim @8.0.0596_0+tiny+x11*
---> Cleaning vim
*---> Activating vim @8.0.0596_0+tiny*
---> Cleaning vim
---> Updating database of binaries
..
shows that installation also activates and we don’t want to activate the
ports which were originally inactivated.
Agenda for last two weeks:
1. Begin with restore action.
2. Write for uninstalling ports - took the help of reclaim.tcl for this
3. Work on reproducing the install commands for a snapshot
4. Improve the snapshot action as needed for the restore action.
Still left from last two weeks:
1. A part to include installation of ports with the help of
restore_ports.tcl.
Agenda for next two:
1. Finish the restore action by Jul 24.
Challenges that might come later:
1. dealing with builds at MP_PREFIX and not at /opt/local. Don’t know
now but keep in mind.
2. conflicting ports as Josh said and migration guide says.
Important discoveries I made during this period:
1. came to know that the port *vim +tiny+x11* is different from *vim
+tiny*, says a lot how ports are variant-bundled.
2. ‘imaged’ is installed but inactive, while ‘installed’ is installed
and active.
Pondering:
1. Reinstalling the MacPorts/Xcode CL tools for the new platform if it
is not built for the new OS already is not something we can help with,
right?
Work log: https://github.com/macports/macports-base/commits/gsoc17-migrate
All reviews and comments are welcome.
Regards,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20170713/665c347b/attachment.html>
More information about the macports-dev
mailing list