GSoC'17: Add migrate action to port command Project

Bradley Giesbrecht pixilla at macports.org
Tue Mar 28 20:37:55 UTC 2017


> On Mar 28, 2017, at 11:55 AM, Umesh Singla <umeshksingla at gmail.com> wrote:
> 
> Hi Brad,
> 
> I'm UTC +5:30. Around 10:00 to 15:00 (UTC -8) is a good time, I suppose. 

Ok, good, you make it easy for me :)

> I have been going through discussion on the mailing list again and found that the automating the tasks given under Migration documentation is just a start for the port migration tool we need. Can you tell me what other cases it needs to cater?

I believe at a minimum we should plan on two new actions, port “snapshot” and “migrate”. A snapshot will the installed ports, their variants and if the port was “requested”.

The migrate action will call the snapshot action to create and/or use snapshots to rebuild ports on the new platform.

> Do I need to include the solution proposals to them in my GSoC proposal at this time or we can work it out as we go?

I think it is a good idea to include snapshot as an early milestone.

> As of now, I'm not able to divide the work into different phases, might need your help.

Does the migrate and snapshot actions help you divide the work?
The snapshot action is basically an inventory of what is installed along with meta data like requested and variants. We will store snapshots in our sqlite database.

It is early on but I can imagine a schema like:

Tables
snapshots (
	id,
	datetime,
	note
)
snapshot_ports (
	id,
	snapshots_id,
	port_name,
	requested
)
snapshot_port_variants (
	id,
	snapshot_ports_id,
	variant_sign, // (we allow plus and minus variants like +variant1 -variant2)
	variant_name
)

> I don't know if we'll allow Tcl to run in the new environment. Otherwise, it seems to implement port with a bash script calling on sqlite3 on the macports registry/registry.d to get the relevant data. 

I think we can require any version of port that includes the migrate action, I do not think we will need bash. Clemens, others, do you concur?

> Also, will the project phasing out dependency on XCode tools affect this one anytime soon?

Good question, I cannot give you a definitive answer at the moment but we should keep this in mind.

—
Brad


More information about the macports-dev mailing list