Re: Congratulations to all the selected GSOC students and projects

2017-05-12 Thread Rainer Müller
On 2017-05-12 05:07, Joshua Root wrote:
> On 2017-5-12 06:45 , Clemens Lang wrote:
>> Hey,
>>
>> On Tue, May 09, 2017 at 12:47:15PM +1000, Joshua Root wrote:
>>> On 2017-5-9 12:11 , Zero King wrote:
 Does anyone have a list of packages to install on Ubuntu Trusty to
 run MacPorts? This would save some test builds for Travis.
>>>
>>> The "Other Platforms" section of 
>>> should cover it. So tcl, freebsd-buildutils (provides mtree as
>>> 'fmtree'),
>>> rsync, libsqlite3-dev, libssl-dev and one of libcurl4-*-dev.
>>
>> If I recall correctly you'll also need an Objective-C compiler and an
>> Objective-C runtime. gobjc and libobjc4 should cover that. You might
>> also need parts of the GNUstep runtime, which should be packaged under
>> something along the name of gnustep-base-runtime in Ubuntu.
> 
> You can Foundation support off with configure flags, and that actually
> became the fallback instead of failure on non-Darwin platforms quite
> some time ago.
> 
> 

Hm, it looks like only tclobjc1.0 uses that. However, I could not find
any references to tclobjc, which itself has not seen any non-bulk
changes since 2007. Similarly, cflib1.0 is not used by anything else and
has not seen changes since 2003. I also checked Pallet and
MacPorts.framework, but as far as I can see, nothing uses this.

Looks like they were written as an experiment that was never finished.
I propose we just get rid of this dead code.

https://github.com/macports/macports-base/pull/24

Rainer


Re: Congratulations to all the selected GSOC students and projects

2017-05-11 Thread Joshua Root

On 2017-5-12 06:45 , Clemens Lang wrote:

Hey,

On Tue, May 09, 2017 at 12:47:15PM +1000, Joshua Root wrote:

On 2017-5-9 12:11 , Zero King wrote:

Does anyone have a list of packages to install on Ubuntu Trusty to
run MacPorts? This would save some test builds for Travis.


The "Other Platforms" section of 
should cover it. So tcl, freebsd-buildutils (provides mtree as 'fmtree'),
rsync, libsqlite3-dev, libssl-dev and one of libcurl4-*-dev.


If I recall correctly you'll also need an Objective-C compiler and an
Objective-C runtime. gobjc and libobjc4 should cover that. You might
also need parts of the GNUstep runtime, which should be packaged under
something along the name of gnustep-base-runtime in Ubuntu.


You can Foundation support off with configure flags, and that actually 
became the fallback instead of failure on non-Darwin platforms quite 
some time ago.




- Josh


Re: Congratulations to all the selected GSOC students and projects

2017-05-11 Thread Clemens Lang
Hey,

On Tue, May 09, 2017 at 12:47:15PM +1000, Joshua Root wrote:
> On 2017-5-9 12:11 , Zero King wrote:
> > Does anyone have a list of packages to install on Ubuntu Trusty to
> > run MacPorts? This would save some test builds for Travis.
> 
> The "Other Platforms" section of 
> should cover it. So tcl, freebsd-buildutils (provides mtree as 'fmtree'),
> rsync, libsqlite3-dev, libssl-dev and one of libcurl4-*-dev.

If I recall correctly you'll also need an Objective-C compiler and an
Objective-C runtime. gobjc and libobjc4 should cover that. You might
also need parts of the GNUstep runtime, which should be packaged under
something along the name of gnustep-base-runtime in Ubuntu.

HTH,
-- 
Clemens


Re: Congratulations to all the selected GSOC students and projects

2017-05-10 Thread Bradley Giesbrecht
We are looking forward to getting to know you and sharing your experiences with 
MacPorts.

Regards,
Brad (pixilla)


> On May 4, 2017, at 1:27 PM, Umesh Singla  wrote:
> 
> Hi
> 
> Thanks to the MacPorts guys for picking my project to be implemented! You 
> won't be disappointed! ;)
> I see also that there's one other project in the organization. 
> Congratulations to my fellow interns!
> 
> Regarding the work, I plan to keep a blog to report my progress. I'll write a 
> post about every two weeks, and keep email communication with my mentors.
> 
> Thanks again, and you'll be hearing from me soon. 
> Have a nice weekend everyone! :)
> 
> Regards
> 
> On Fri, May 5, 2017 at 12:19 AM, Mojca Miklavec  wrote:
> Dear students and developers,
> 
> Google just announced 1,318 projects selected for the GSOC 2017.
> 
> I'm happy to share with you that MacPorts got two slots for the
> following projects:
> 
> - Umesh Singla:
>   Adding migrate action to port command
>   mentor: Bradley Giesbrecht (pixilla)
> 
> - "Zero King" (l2dy)
>   Bot and CI for macports-ports
>   mentors: Clemens Lang (cal/neverpanic) & Mojca Miklavec (mojca)
> 
> At this point I would like to express my gratitude to Jackson Isaac
> who took over the administration and made sure that we applied in time
> :)
> 
> Apart from (at least!) weekly meetings with the mentors, either via
> our IRC channel (or somewhere else if more appropriate) we would like
> to encourage the students to *publicly* interact with the community.
> Ask questions on the mailing list and IRC, so that the rest of the
> community will be kept up to date and will be able to help you even if
> mentors will be temporarily offline.
> 
> Unless you have some issues of private nature that should not be read
> by everyone, please try to avoid sending private emails for technical
> discussions.
> 
> I suggest that we create a new entry for 2017 at
> https://trac.macports.org/wiki/SummerOfCodeArchive
> and add the description of projects to
> https://trac.macports.org/wiki/SummerOfCode2017
> 
> The time until the end of May is meant for community bonding period,
> learning our codebase or any other tools needed to get up to speed by
> the time the official coding period begins.
> 
> Project proposals/plans can still be improved or adapted by the end of
> the month provided that both the student and mentor(s) agree to
> changes.
> 
> 
> To answer the (semi-serisous) question about what happens if the
> project is finished way before the GSOC is over or whether it's OK to
> start coding before the official coding period starts: this is of
> course no problem as long a you keep in mind that it is desired to
> keep coding and produce useful results until the end of the program.
> (In particular: coding 16 hours per days and completing the project in
> May and then quitting GSOC doesn't count.)
> 
> I hope that others will add more to this thread.
> 
> Mojca
> 
> 
> 
> -- 
> Umesh Singla



Re: Congratulations to all the selected GSOC students and projects

2017-05-08 Thread Joshua Root

On 2017-5-9 12:11 , Zero King wrote:

Does anyone have a list of packages to install on Ubuntu Trusty to run
MacPorts? This would save some test builds for Travis.


The "Other Platforms" section of  
should cover it. So tcl, freebsd-buildutils (provides mtree as 
'fmtree'), rsync, libsqlite3-dev, libssl-dev and one of libcurl4-*-dev.


- Josh


Re: Congratulations to all the selected GSOC students and projects

2017-05-08 Thread Zero King

On Mon, May 08, 2017 at 10:56:40PM +0200, Rainer Müller wrote:

On 2017-05-08 21:57, Clemens Lang wrote:

I'm trying to install MacPorts on Travis VMs. I want to avoid syncing
the ports tree to save more time for actual testing. Since the .pkg
installer would automatically call `port -v selfupdate` I've modified
.travis.yml in base to produce an archive of /opt/local after
executing `sudo port install`. To create the "macports" user I also
added the postflight script into the archive at
https://github.com/macports-staging/macports-base/releases. After
extracting the archive, patching conf files and running postflight, I
tried to install getopt for mpbb but that failed with

Error: Updating database of binaries failed
Error: rev-upgrade failed: can't read "env(COLUMNS)": no such variable
Error: Follow https://guide.macports.org/#project.tickets to report a bug.


I think this happens because MacPorts for some reason thinks stdout is
connected to a terminal, but ioctl(STDOUT_FILENO, TIOCGWINSZ) does not
return useful sizes and the environment variables COLUMNS and LINES are
not set either.


Thanks. It was quite obvious but I thought it would be a problem in the
archive.


A pre-compiled tarball of /opt/local for each system (OS version, arch,
Xcode version, etc.) seems the right way to me to get the base system to
the worker as quick as possible.

The base tarball creation itself should be a job on Travis CI to easily
create it for each new base release.


I've done that in
https://github.com/macports-staging/macports-base/blob/master/.travis.yml.

Does anyone have a list of packages to install on Ubuntu Trusty to run
MacPorts? This would save some test builds for Travis.

--
Best regards,
Zero King

Don't trust the From address.


smime.p7s
Description: S/MIME cryptographic signature


Re: Congratulations to all the selected GSOC students and projects

2017-05-08 Thread Zero King

On Tue, May 09, 2017 at 11:37:52AM +1000, Joshua Root wrote:

How are you handling the PortIndex, by the way?


First grab it from rsync, then `git checkout` twice to update the
modification time of Portfiles changed by the PR. After `portindex` I
think the PortIndex should be good enough to use.

The full script is at
https://github.com/macports-staging/macports-ports/blob/master/.travis.yml.

--
Best regards,
Zero King

Don't trust the From address.


smime.p7s
Description: S/MIME cryptographic signature


Re: Congratulations to all the selected GSOC students and projects

2017-05-08 Thread Joshua Root

On 2017-5-9 02:02 , Zero King wrote:

I'm trying to install MacPorts on Travis VMs. I want to avoid syncing
the ports tree to save more time for actual testing.
You could prevent this by creating a sources.conf pointing to your 
prefabricated ports tree, tagged with [default,nosync], before installing.


How are you handling the PortIndex, by the way?

- Josh


Re: Congratulations to all the selected GSOC students and projects

2017-05-08 Thread Rainer Müller
On 2017-05-08 21:57, Clemens Lang wrote:
>> I'm trying to install MacPorts on Travis VMs. I want to avoid syncing
>> the ports tree to save more time for actual testing. Since the .pkg
>> installer would automatically call `port -v selfupdate` I've modified
>> .travis.yml in base to produce an archive of /opt/local after
>> executing `sudo port install`. To create the "macports" user I also
>> added the postflight script into the archive at
>> https://github.com/macports-staging/macports-base/releases. After
>> extracting the archive, patching conf files and running postflight, I
>> tried to install getopt for mpbb but that failed with
>>
>> Error: Updating database of binaries failed
>> Error: rev-upgrade failed: can't read "env(COLUMNS)": no such variable
>> Error: Follow https://guide.macports.org/#project.tickets to report a bug.
> 
> I think this happens because MacPorts for some reason thinks stdout is
> connected to a terminal, but ioctl(STDOUT_FILENO, TIOCGWINSZ) does not
> return useful sizes and the environment variables COLUMNS and LINES are
> not set either.

Seems like the implementation of the pseudo tty in Travis CI is not
complete, but this is a known problem:

https://github.com/travis-ci/travis-ci/issues/5407

Exporting COLUMNS sounds like a workaround good enough for now. Although
I am not sure if the progress bar will be useful here at all. Will this
print all the escape sequences to a log file, with the result being
unreadable garbage...?

> You can probably work around the problem by either setting COLUMNS and
> LINES, or providing the -v flag to enable verbose output and disable
> progress bars (which trigger this code path).

The verbose mode with -v would still use progress bars, so if you need
to avoid them, either use debug mode with -d or quiet mode with -q.

>> Please help. Even though I could just install the .pkg but using
>> archives allows me to deploy it on Linux too so we could use a
>> different CI for lint tests and only test PRs on Travis.
> 
> A MacPorts installation contains binaries that will very likely not run
> on Linux like this (unless you also want to build a copy of MacPorts for
> Linux on a Linux buildmachine, which is possible if the right
> dependencies are installed).

A pre-compiled tarball of /opt/local for each system (OS version, arch,
Xcode version, etc.) seems the right way to me to get the base system to
the worker as quick as possible.

The base tarball creation itself should be a job on Travis CI to easily
create it for each new base release.

Rainer


Re: Congratulations to all the selected GSOC students and projects

2017-05-08 Thread Clemens Lang
Hi,

On Mon, May 08, 2017 at 04:02:55PM +, Zero King wrote:
> > Please read our guidelines we put together here:
> >  http://trac.macports.org/wiki/SummerOfCodeGuidelines
> 
> Subversion -> Git ;)

Thanks, fixed.

> My work will be done in github.com/macports-staging first and then
> deployed to github.com/macports.

That sounds reasonable given the nature of your project.

> I'm trying to install MacPorts on Travis VMs. I want to avoid syncing
> the ports tree to save more time for actual testing. Since the .pkg
> installer would automatically call `port -v selfupdate` I've modified
> .travis.yml in base to produce an archive of /opt/local after
> executing `sudo port install`. To create the "macports" user I also
> added the postflight script into the archive at
> https://github.com/macports-staging/macports-base/releases. After
> extracting the archive, patching conf files and running postflight, I
> tried to install getopt for mpbb but that failed with
> 
> Error: Updating database of binaries failed
> Error: rev-upgrade failed: can't read "env(COLUMNS)": no such variable
> Error: Follow https://guide.macports.org/#project.tickets to report a bug.

I think this happens because MacPorts for some reason thinks stdout is
connected to a terminal, but ioctl(STDOUT_FILENO, TIOCGWINSZ) does not
return useful sizes and the environment variables COLUMNS and LINES are
not set either.

You can probably work around the problem by either setting COLUMNS and
LINES, or providing the -v flag to enable verbose output and disable
progress bars (which trigger this code path).

If you want, you can also modify the progress bar drawing code in
portclient::progress::generic and portclient::progress::download for the
case where $env(COLUMNS) is not available to fix the problem.


> Please help. Even though I could just install the .pkg but using
> archives allows me to deploy it on Linux too so we could use a
> different CI for lint tests and only test PRs on Travis.

A MacPorts installation contains binaries that will very likely not run
on Linux like this (unless you also want to build a copy of MacPorts for
Linux on a Linux buildmachine, which is possible if the right
dependencies are installed).

-- 
Clemens


Re: Congratulations to all the selected GSOC students and projects

2017-05-08 Thread Bradley Giesbrecht
> On May 4, 2017, at 11:49 AM, Mojca Miklavec  wrote:
> 
> Dear students and developers,
> 
> Google just announced 1,318 projects selected for the GSOC 2017.
> 
> I'm happy to share with you that MacPorts got two slots for the
> following projects:
> 
> - Umesh Singla:
>  Adding migrate action to port command
>  mentor: Bradley Giesbrecht (pixilla)
> 
> - "Zero King" (l2dy)
>  Bot and CI for macports-ports
>  mentors: Clemens Lang (cal/neverpanic) & Mojca Miklavec (mojca)

Congratulations to Umesh and Zero and a big thank you to Jackson and the other 
contributors getting us into GSOC 2017.

—
Pixilla

Re: Congratulations to all the selected GSOC students and projects

2017-05-08 Thread Zero King

Hi,

On Sun, May 07, 2017 at 11:12:04PM +0200, Clemens Lang wrote:

You have been accepted into Google Summer of Code 2017 and will work for
MacPorts over the summer. Congratulations, we are happy to have you!


Thanks for picking my project and mentoring.


Please read our guidelines we put together here:
 http://trac.macports.org/wiki/SummerOfCodeGuidelines


Subversion -> Git ;)


As a general rule, we as mentors are here to assist you with your
project, so please just ask if you need assistance with anything. I may
not always find time to answer quickly, but please keep pinging me, I'm
here to help!


My work will be done in github.com/macports-staging first and then
deployed to github.com/macports.

I'm trying to install MacPorts on Travis VMs. I want to avoid syncing
the ports tree to save more time for actual testing.  Since the .pkg
installer would automatically call `port -v selfupdate` I've modified
.travis.yml in base to produce an archive of /opt/local after executing
`sudo port install`. To create the "macports" user I also added the
postflight script into the archive at
https://github.com/macports-staging/macports-base/releases. After
extracting the archive, patching conf files and running postflight, I
tried to install getopt for mpbb but that failed with

Error: Updating database of binaries failed
Error: rev-upgrade failed: can't read "env(COLUMNS)": no such variable
Error: Follow https://guide.macports.org/#project.tickets to report a bug.

Please help. Even though I could just install the .pkg but using
archives allows me to deploy it on Linux too so we could use a different
CI for lint tests and only test PRs on Travis.

--
Best regards,
Zero King

Don't trust the From address.


smime.p7s
Description: S/MIME cryptographic signature


Re: Congratulations to all the selected GSOC students and projects

2017-05-07 Thread Mojca Miklavec
On 7 May 2017 at 23:12, Clemens Lang wrote:
>
> We also used to have a short introduction
> round on MacPorts base in the last years. Since Zero King isn't working
> on base, this probably makes sense for Umesh

While he's not working directly on base, writing the buildbot setup
still required some intimacy with Tcl internals (mpbb) and I would say
that knowing a bit more about the base and being able to write simple
stuff in Tcl using existing functions would greatly benefit Zero King
as well. Both in the course of the project (in order to not reinvent
the wheel with external tools for something that could be achieved in
three lines of code with Tcl), but also in the future.

My suggestion would be to spend at least a tiny bit of time getting to
know the base / Tcl and trying to get a grasp of how exactly our
buildbot setup works. None of that includes the requirement to
actually change anything in the base or in the buildbot, but it could
give some ideas how to do a certain thing in the Travis setup, or
maybe lead to ideas what could be improved at the buildbot site later
and how (based on experience gained at Travis). That means: instead of
spending the community bonding period learning how our bugtracking
works, going slightly more in depth with other code and tools.

Just my thoughts.

(I can explain the details of the existing build infrastructure.)

Mojca


Re: Congratulations to all the selected GSOC students and projects

2017-05-07 Thread Clemens Lang
Hi Umesh and Zero, and welcome to MacPorts!

You have been accepted into Google Summer of Code 2017 and will work for
MacPorts over the summer. Congratulations, we are happy to have you!

First of all let me welcome you to our organization. I am looking
forward to a good summer with an interesting project to be implemented
which will push the MacPorts project further.

Please read our guidelines we put together here:
  http://trac.macports.org/wiki/SummerOfCodeGuidelines

Please keep them in mind during the program as they are meant to avoid
any problems with your project, your progress or anything else. If you
have additions to it, further questions or comments, just talk to us.

We are now in the so called community bonding period. This means, we can
get to know each other better and refine some parts of your proposals
until the actual coding starts.

Google has changed the program timeline this year to include three
evaluations instead of the two they previously had. This makes the most
important dates for the summer:

 June 26: First evaluation
 The roadmap should be final and it would be good to have some initial
 progress visible by then.

 July 24: Second evaluation
 You should have a good overview of what is left to do until project
 completion by this date. Most of the work should be finished.

 August 21: Pencils down
 This is the date for students to submit code to Google. The third
 evaluation will start shortly after that.

Coding is supposed to start on May 30, prepare your task in a way which
allows you to start right away at this date. Of course you can also
start earlier once you discussed everything with your mentor, we don't
want to hold you back. :-)

As Google Summer of Code student you will get commit access to our Git
repositories. To create your account, you need to choose a handle (which
will become your @macports.org address) and tell us a mail address we
should forward incoming mails to as well as your GitHub account. Since
Zero King already has commit access with MacPorts, this only applies to
Umesh. Please contact macports-in...@lists.macports.org with this
information.

How experienced are you with using version control and Git in
particular? If need be, we can arrange a short introduction on IRC or at
least give you some hints. We also used to have a short introduction
round on MacPorts base in the last years. Since Zero King isn't working
on base, this probably makes sense for Umesh, if you want it?

I did a similar talk at MacPorts Meeting 2016 in Slovenia – you can
watch it at https://www.youtube.com/watch?v=46qshiDskrM.

As a general rule, we as mentors are here to assist you with your
project, so please just ask if you need assistance with anything. I may
not always find time to answer quickly, but please keep pinging me, I'm
here to help!

On Thu, May 04, 2017 at 08:49:30PM +0200, Mojca Miklavec wrote:
> Apart from (at least!) weekly meetings with the mentors, either via
> our IRC channel (or somewhere else if more appropriate) we would like
> to encourage the students to *publicly* interact with the community.
> Ask questions on the mailing list and IRC, so that the rest of the
> community will be kept up to date and will be able to help you even if
> mentors will be temporarily offline.
> 
> Unless you have some issues of private nature that should not be read
> by everyone, please try to avoid sending private emails for technical
> discussions.

For this I would like you to get in contact with your mentor(s). Please
discuss how often you want to meet (once/twice a week for example) and
which communication method works best for you (Mail, IRC, IM, Skype,
...). Finding a regular meeting can be done off-list, but we'd like to
keep more communication on technical topics on the list this year – this
is a new change for us, so let's see how it will work out.


> I suggest that we create a new entry for 2017 at
> https://trac.macports.org/wiki/SummerOfCodeArchive
> and add the description of projects to
> https://trac.macports.org/wiki/SummerOfCode2017

I have created these wiki pages. I'd like to encourage our students to
edit the description of their projects as they like. For example, if you
are going to blog about your progress, please add a link to your blog
from https://trac.macports.org/wiki/SummerOfCode2017.


Again, welcome to the project, and enjoy your summer with us!
-- 
Clemens


Re: Congratulations to all the selected GSOC students and projects

2017-05-04 Thread Umesh Singla
Hi

Thanks to the MacPorts guys for picking my project to be implemented! You
won't be disappointed! ;)
I see also that there's one other project in the organization.
Congratulations to my fellow interns!

Regarding the work, I plan to keep a blog to report my progress. I'll write
a post about every two weeks, and keep email communication with my mentors.

Thanks again, and you'll be hearing from me soon.
Have a nice weekend everyone! :)

Regards

On Fri, May 5, 2017 at 12:19 AM, Mojca Miklavec  wrote:

> Dear students and developers,
>
> Google just announced 1,318 projects selected for the GSOC 2017.
>
> I'm happy to share with you that MacPorts got two slots for the
> following projects:
>
> - Umesh Singla:
>   Adding migrate action to port command
>   mentor: Bradley Giesbrecht (pixilla)
>
> - "Zero King" (l2dy)
>   Bot and CI for macports-ports
>   mentors: Clemens Lang (cal/neverpanic) & Mojca Miklavec (mojca)
>
> At this point I would like to express my gratitude to Jackson Isaac
> who took over the administration and made sure that we applied in time
> :)
>
> Apart from (at least!) weekly meetings with the mentors, either via
> our IRC channel (or somewhere else if more appropriate) we would like
> to encourage the students to *publicly* interact with the community.
> Ask questions on the mailing list and IRC, so that the rest of the
> community will be kept up to date and will be able to help you even if
> mentors will be temporarily offline.
>
> Unless you have some issues of private nature that should not be read
> by everyone, please try to avoid sending private emails for technical
> discussions.
>
> I suggest that we create a new entry for 2017 at
> https://trac.macports.org/wiki/SummerOfCodeArchive
> and add the description of projects to
> https://trac.macports.org/wiki/SummerOfCode2017
>
> The time until the end of May is meant for community bonding period,
> learning our codebase or any other tools needed to get up to speed by
> the time the official coding period begins.
>
> Project proposals/plans can still be improved or adapted by the end of
> the month provided that both the student and mentor(s) agree to
> changes.
>
>
> To answer the (semi-serisous) question about what happens if the
> project is finished way before the GSOC is over or whether it's OK to
> start coding before the official coding period starts: this is of
> course no problem as long a you keep in mind that it is desired to
> keep coding and produce useful results until the end of the program.
> (In particular: coding 16 hours per days and completing the project in
> May and then quitting GSOC doesn't count.)
>
> I hope that others will add more to this thread.
>
> Mojca
>



-- 
Umesh Singla