GSoC Proposal

Cyril Roelandt cyril.roelandt at aquilenet.fr
Sun Mar 31 19:46:11 UTC 2019


Hello,

On 2019-04-01 00:30, KARAN SHETH wrote:
> I have started drafting my proposal for GSoC 2019. It would be great to
> have a review on it before I submit the same.

A few comments.

First of all, "upt" is written in lower case, except when found at the
beginning of a sentence :)

To someone who is new to the subject, it is unclear what cpan2port and
pypi2port do. Maybe you could write that they automatically write a
Portile for a piece of software available on CPAN or PyPI, and that it
is really useful for packagers.

Then it is not really clear why upt would be better suited for this
task. You could use a few lines to explain that, thanks to its modular
design, it is easier to maintain, and will allow MacPorts to get
something to work with minimal effort.

I would probably have a "upt update" subcommand rather than a new option
to "upt package", but it's nitpicking, and definitely not the most
challenging part of this feature.

About the "Adding MacPorts Backend to UPT" section: calling it very
basic may not sound really nice to Mojca :) I think you could also
mention that the package needs unit tests, which you will happily write!

About the "Adding npm frontend" section. I do not really expect you to
add support for NPM to all the backends: we should probably stay focused
on MacPorts. This could be a "bonus" if you find yourself a bit bored at
the end of the summer, though. You could write "default.nix" instead of
"nix" in the "Package definitions" column.

About the "Input / Ouptut of UPT" section. The "-o/--output" option
already exists in upt. It is not always used by the backends though. The
"-i/--input" option does not exist, and I would rather use the following
syntax:

	$ upt package -f pypi -b macports pkg1,pkg2,pkg3

What do you think?

About the "Support for Package Updates in UPT" section. Some questions
will need to be answered first. Will all the frontends be able to
support this? How hard will it be for other backends to implement this?

About the schedule. You mention the support of npm/cpan/pypi for
Macports in both the pre-GSoC and the Week 1. Just do it in Week 1:)

Week 2: you mention the colored output, but it is not part of the
"Technical details" section.

Week 3.4: why would you add two methods of updating packages? Shouldn't
we spend more time thinking about the right way of doing things, rather
than coding 2 different solutions?

Week 10,11: if you want to add the Haskell frontend to the "Technical
Details", I can tell you more about why it is going to be a bit more
difficult than other package managers:)

About the additional questions. Linux is written with a capital "L".


I hope this helps!
Cyril.


More information about the macports-dev mailing list