You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@whimsical.apache.org by Sam Ruby <ru...@intertwingly.net> on 2015/12/13 17:06:29 UTC

Exploratory branch: secmail

Quickstart:

   git clone https://github.com/apache/whimsy.git --branch secmail
   cd whimsy/www/secmail
   rake fetch1
   rake server
   [navigate browser to http://localhost:9292/]

Background: minotaur is going away, running scripts on the mail server 
is discouraged, and the ability to debug locally the processing of mail 
is highly desirable.  Therefore, the current thinking is that whimsy 
will rsync entire mailboxes from wherever they might be (this location 
may change over time) and then process them locally.

The above branch an exploration of what that approach might look like. 
It is able to successfully parse over eight years of email (not a small 
feat given that the current deployed secmail.py blows up occasionally 
when presented with malformed email messages (typically spam).

It then presents an index of email messages that have attachments, which 
you can navigate into to see attachments.  The only operations currently 
implemented are:

1) delete and undelete entire emails.  Do this by navigating (up, down, 
and click) to the email in question and press delete (or backspace). 
Undelete using either the button provided, or by using control-z (mac 
users can also use command-z).

2) showing a context menu on an attachment.  Navigate into an email and 
right click (or control-click for Mac users) to see a list of operations.

Notes:

1) fetch times are wildly inconsistent.  Ten seconds on a high speed 
connection should be enough for one month, but one to fifteen minutes is 
not uncommon.  I have, however, downloaded the entire corpus of 
secretary emails since 2007 in less than hour.

2) The server is set up to restart if anything changes in the secmail 
directory.  The first time you start the server it will set up some 
files, and that will cause it to restart, possibly after displaying some 
tracebacks.  Ultimately, this restarting on changes makes development 
easier.

3) functionally this code is structured much like the board agenda tool, 
and should be a lot more maintainable than the current secretary 
workbench.  In particular, the code is much more modular, and adding a 
new function should be able to be done without affecting existing function.

4) being able to test against the entire set of emails received is a big 
step forward; but given that this code is structured like the board 
agenda tool, I should be able to add proper tests.

5) I haven't focused on the UI yet - it needs a lot of work.  I would 
like to make this feel less like a web page and more like a desktop app 
that happens to run in a browser.  For example, I would like to explore 
having the current 'staple' function be done via dragging and dropping 
of images and PDFs on top of one another.

- Sam Ruby

Re: Exploratory branch: secmail

Posted by Sam Ruby <ru...@intertwingly.net>.
On Mon, Jan 4, 2016 at 8:39 PM, Craig L Russell
<cr...@oracle.com> wrote:
> Hi Sam,
>
> Is this to say that the new new secmail is now ready for real life testing, or something else.

My focus has been on ICLAs (which, after all, is the bulk of the
documents received). You should be able to do everything you need to
process ICLAs (burst, staple, rotate, file, delete, etc.) with the
exception of committing and sending of emails.  But the changes that
would have been committed will be placed on disk for you to inspect.

My thoughts is that by leaving this last part undone, you can
experiment and try things out without concern.

Separately, I've been making progress on a new whimsy site
(https://whimsy-test.apache.org/) which is where I will initially
deploy this.

Once ICLAs are working to your satisfaction, the remaining document
types should be relatively straightforward.

Also, with this codebase, adding new features (e.g. canned responses)
should be a lot easier than with the current workbench.

> Craig

- Sam Ruby

>> On Jan 4, 2016, at 1:40 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>>
>> Just a friendly reminder, at some point in the future (possibly soon)
>> the infrastructure team is going to move away from minotaur, which
>> will have an unknown impact on the secmail function.
>>
>> I've added some minor functions (a pre-check of userids in the
>> background for availability even before you submit the form, and
>> better recognition of detached signatures), but lacking in feedback on
>> this, I'm moving on to other things.
>>
>> - Sam Ruby
>>
>> On Tue, Dec 29, 2015 at 10:12 AM, Sam Ruby <ru...@intertwingly.net> wrote:
>>> On Thu, Dec 24, 2015 at 4:17 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>>>> On Mon, Dec 14, 2015 at 5:50 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>>>>> On Sun, Dec 13, 2015 at 11:06 AM, Sam Ruby <ru...@intertwingly.net> wrote:
>>>>>>
>>>>>> I would like to explore having
>>>>>> the current 'staple' function be done via dragging and dropping of images
>>>>>> and PDFs on top of one another.
>>>>>
>>>>> I've pushed out a change roughing in the UI for this... if a given
>>>>> message has two or more attachments, you can drag and drop one on top
>>>>> of another.  At the moment, it only issues an alert telling you what
>>>>> you have done.  In the future, this will send a request to the server
>>>>> to perform the appropriate conversions to PDF (as required) and
>>>>> concatenation.
>>>>
>>>> I'm slowly adding functions to this.
>>>
>>> This could be ready in early January.  Latest additions: signature
>>> verification, and the server side of ICLA processing (minus the actual
>>> commit).  So if you go through the motions of filing an icla, a
>>> document should appear in documents/iclas, and
>>> foundation/officers/iclas.txt should be updated on your machine, but
>>> won't actually be committed (yet).
>>>
>>> Both of these are examples of modularity.
>>>
>>> The signature processing is encapsulated into two files (client/server):
>>>
>>> https://github.com/apache/whimsy/blob/secmail/www/secmail/views/check-signature.js.rb
>>> https://github.com/apache/whimsy/blob/secmail/www/secmail/views/actions/check-signature.json.rb
>>>
>>> Similarly, the icla processing is encapsulated into two files (client/server):
>>>
>>> https://github.com/apache/whimsy/blob/secmail/www/secmail/views/forms/icla.js.rb
>>> https://github.com/apache/whimsy/blob/secmail/www/secmail/views/actions/icla.json.rb
>>>
>>> Looking at recent traffic, it looks like it would be worthwhile to add
>>> checks to ensure that public names are unique.  This would be a
>>> straightforward addition to the actions/icla.json.rb file mentioned
>>> above.
>>>
>>> All code is being developed on Mac OS/X El Capitan (10.11.2), an
>>> should work there.  I don't expect any problems deploying this code on
>>> Ubuntu Trusty (14.04.3)
>>>
>>> - Sam Ruby
>
> Craig L Russell
> Architect, Oracle
> http://db.apache.org/jdo
> 408 276-5638 mailto:Craig.Russell@oracle.com
> P.S. A good JDO? O, Gasp!
>

Re: Exploratory branch: secmail

Posted by Craig L Russell <cr...@oracle.com>.
Hi Sam,

Is this to say that the new new secmail is now ready for real life testing, or something else.

Craig

> On Jan 4, 2016, at 1:40 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> 
> Just a friendly reminder, at some point in the future (possibly soon)
> the infrastructure team is going to move away from minotaur, which
> will have an unknown impact on the secmail function.
> 
> I've added some minor functions (a pre-check of userids in the
> background for availability even before you submit the form, and
> better recognition of detached signatures), but lacking in feedback on
> this, I'm moving on to other things.
> 
> - Sam Ruby
> 
> On Tue, Dec 29, 2015 at 10:12 AM, Sam Ruby <ru...@intertwingly.net> wrote:
>> On Thu, Dec 24, 2015 at 4:17 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>>> On Mon, Dec 14, 2015 at 5:50 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>>>> On Sun, Dec 13, 2015 at 11:06 AM, Sam Ruby <ru...@intertwingly.net> wrote:
>>>>> 
>>>>> I would like to explore having
>>>>> the current 'staple' function be done via dragging and dropping of images
>>>>> and PDFs on top of one another.
>>>> 
>>>> I've pushed out a change roughing in the UI for this... if a given
>>>> message has two or more attachments, you can drag and drop one on top
>>>> of another.  At the moment, it only issues an alert telling you what
>>>> you have done.  In the future, this will send a request to the server
>>>> to perform the appropriate conversions to PDF (as required) and
>>>> concatenation.
>>> 
>>> I'm slowly adding functions to this.
>> 
>> This could be ready in early January.  Latest additions: signature
>> verification, and the server side of ICLA processing (minus the actual
>> commit).  So if you go through the motions of filing an icla, a
>> document should appear in documents/iclas, and
>> foundation/officers/iclas.txt should be updated on your machine, but
>> won't actually be committed (yet).
>> 
>> Both of these are examples of modularity.
>> 
>> The signature processing is encapsulated into two files (client/server):
>> 
>> https://github.com/apache/whimsy/blob/secmail/www/secmail/views/check-signature.js.rb
>> https://github.com/apache/whimsy/blob/secmail/www/secmail/views/actions/check-signature.json.rb
>> 
>> Similarly, the icla processing is encapsulated into two files (client/server):
>> 
>> https://github.com/apache/whimsy/blob/secmail/www/secmail/views/forms/icla.js.rb
>> https://github.com/apache/whimsy/blob/secmail/www/secmail/views/actions/icla.json.rb
>> 
>> Looking at recent traffic, it looks like it would be worthwhile to add
>> checks to ensure that public names are unique.  This would be a
>> straightforward addition to the actions/icla.json.rb file mentioned
>> above.
>> 
>> All code is being developed on Mac OS/X El Capitan (10.11.2), an
>> should work there.  I don't expect any problems deploying this code on
>> Ubuntu Trusty (14.04.3)
>> 
>> - Sam Ruby

Craig L Russell
Architect, Oracle
http://db.apache.org/jdo
408 276-5638 mailto:Craig.Russell@oracle.com
P.S. A good JDO? O, Gasp!


Re: Exploratory branch: secmail

Posted by Sam Ruby <ru...@intertwingly.net>.
Just a friendly reminder, at some point in the future (possibly soon)
the infrastructure team is going to move away from minotaur, which
will have an unknown impact on the secmail function.

I've added some minor functions (a pre-check of userids in the
background for availability even before you submit the form, and
better recognition of detached signatures), but lacking in feedback on
this, I'm moving on to other things.

- Sam Ruby

On Tue, Dec 29, 2015 at 10:12 AM, Sam Ruby <ru...@intertwingly.net> wrote:
> On Thu, Dec 24, 2015 at 4:17 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>> On Mon, Dec 14, 2015 at 5:50 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>>> On Sun, Dec 13, 2015 at 11:06 AM, Sam Ruby <ru...@intertwingly.net> wrote:
>>>>
>>>> I would like to explore having
>>>> the current 'staple' function be done via dragging and dropping of images
>>>> and PDFs on top of one another.
>>>
>>> I've pushed out a change roughing in the UI for this... if a given
>>> message has two or more attachments, you can drag and drop one on top
>>> of another.  At the moment, it only issues an alert telling you what
>>> you have done.  In the future, this will send a request to the server
>>> to perform the appropriate conversions to PDF (as required) and
>>> concatenation.
>>
>> I'm slowly adding functions to this.
>
> This could be ready in early January.  Latest additions: signature
> verification, and the server side of ICLA processing (minus the actual
> commit).  So if you go through the motions of filing an icla, a
> document should appear in documents/iclas, and
> foundation/officers/iclas.txt should be updated on your machine, but
> won't actually be committed (yet).
>
> Both of these are examples of modularity.
>
> The signature processing is encapsulated into two files (client/server):
>
> https://github.com/apache/whimsy/blob/secmail/www/secmail/views/check-signature.js.rb
> https://github.com/apache/whimsy/blob/secmail/www/secmail/views/actions/check-signature.json.rb
>
> Similarly, the icla processing is encapsulated into two files (client/server):
>
> https://github.com/apache/whimsy/blob/secmail/www/secmail/views/forms/icla.js.rb
> https://github.com/apache/whimsy/blob/secmail/www/secmail/views/actions/icla.json.rb
>
> Looking at recent traffic, it looks like it would be worthwhile to add
> checks to ensure that public names are unique.  This would be a
> straightforward addition to the actions/icla.json.rb file mentioned
> above.
>
> All code is being developed on Mac OS/X El Capitan (10.11.2), an
> should work there.  I don't expect any problems deploying this code on
> Ubuntu Trusty (14.04.3)
>
> - Sam Ruby

Re: Exploratory branch: secmail

Posted by Sam Ruby <ru...@intertwingly.net>.
On Thu, Dec 24, 2015 at 4:17 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> On Mon, Dec 14, 2015 at 5:50 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>> On Sun, Dec 13, 2015 at 11:06 AM, Sam Ruby <ru...@intertwingly.net> wrote:
>>>
>>> I would like to explore having
>>> the current 'staple' function be done via dragging and dropping of images
>>> and PDFs on top of one another.
>>
>> I've pushed out a change roughing in the UI for this... if a given
>> message has two or more attachments, you can drag and drop one on top
>> of another.  At the moment, it only issues an alert telling you what
>> you have done.  In the future, this will send a request to the server
>> to perform the appropriate conversions to PDF (as required) and
>> concatenation.
>
> I'm slowly adding functions to this.

This could be ready in early January.  Latest additions: signature
verification, and the server side of ICLA processing (minus the actual
commit).  So if you go through the motions of filing an icla, a
document should appear in documents/iclas, and
foundation/officers/iclas.txt should be updated on your machine, but
won't actually be committed (yet).

Both of these are examples of modularity.

The signature processing is encapsulated into two files (client/server):

https://github.com/apache/whimsy/blob/secmail/www/secmail/views/check-signature.js.rb
https://github.com/apache/whimsy/blob/secmail/www/secmail/views/actions/check-signature.json.rb

Similarly, the icla processing is encapsulated into two files (client/server):

https://github.com/apache/whimsy/blob/secmail/www/secmail/views/forms/icla.js.rb
https://github.com/apache/whimsy/blob/secmail/www/secmail/views/actions/icla.json.rb

Looking at recent traffic, it looks like it would be worthwhile to add
checks to ensure that public names are unique.  This would be a
straightforward addition to the actions/icla.json.rb file mentioned
above.

All code is being developed on Mac OS/X El Capitan (10.11.2), an
should work there.  I don't expect any problems deploying this code on
Ubuntu Trusty (14.04.3)

- Sam Ruby

Re: Exploratory branch: secmail

Posted by Sam Ruby <ru...@intertwingly.net>.
On Mon, Dec 14, 2015 at 5:50 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> On Sun, Dec 13, 2015 at 11:06 AM, Sam Ruby <ru...@intertwingly.net> wrote:
>>
>> I would like to explore having
>> the current 'staple' function be done via dragging and dropping of images
>> and PDFs on top of one another.
>
> I've pushed out a change roughing in the UI for this... if a given
> message has two or more attachments, you can drag and drop one on top
> of another.  At the moment, it only issues an alert telling you what
> you have done.  In the future, this will send a request to the server
> to perform the appropriate conversions to PDF (as required) and
> concatenation.

I'm slowly adding functions to this.

I've changed the key binding for "delete the entire email" to what
appears to be the Mac standard: command-delete.  control and/or
backspace can also be used.

The context menu now has burst, rotate, and delete actions, and these
actions are now working.

I've roughed in the client side UI for filing an ICLA; the server side
simply echos the request back.

- Sam Ruby

Re: Exploratory branch: secmail

Posted by Sam Ruby <ru...@intertwingly.net>.
On Sun, Dec 13, 2015 at 11:06 AM, Sam Ruby <ru...@intertwingly.net> wrote:
>
> I would like to explore having
> the current 'staple' function be done via dragging and dropping of images
> and PDFs on top of one another.

I've pushed out a change roughing in the UI for this... if a given
message has two or more attachments, you can drag and drop one on top
of another.  At the moment, it only issues an alert telling you what
you have done.  In the future, this will send a request to the server
to perform the appropriate conversions to PDF (as required) and
concatenation.

- Sam Ruby

Re: Exploratory branch: secmail

Posted by Sam Ruby <ru...@intertwingly.net>.
On Sun, Dec 13, 2015 at 10:05 PM, Craig L Russell
<cr...@oracle.com> wrote:
>
>> On Dec 13, 2015, at 6:36 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>>
>> On Sun, Dec 13, 2015 at 8:48 PM, Craig L Russell
>> <cr...@oracle.com> wrote:
>>> I notice that the link at bottom doesn’t actually show the previous month, but shows the current month (again).
>>
>> Fixed in https://github.com/apache/whimsy/commit/1fc646f162.
>>
>> What it was doing was looping around to the beginning of the list, and
>> since you have only fetched 1 month so far...
>>
>> I fixed it so that it wouldn't loop around any more.  For good
>> measure, I also removed the button when you reach the end of the data
>> that you have fetched and parsed.
>
> After git pull; rake server there is no longer a button at the bottom. So it worked.

Cool.

>> Try "rake fetch" to fetch the rest.  Just be aware that downloading
>> from minotaur is prone to stall, and even in the best case you are
>> looking at more than a half hour to fetch and parse all of the data.
>> On the plus side, rsync picks up where it left off…
>
> Perhaps rake fetch should go in reverse order, most recent first. Instead of starting at 2007.

Unfortunately, rsync doesn't work that way.

I'd like to ask you to start a full 'rake fetch' in the background
while you go about other things.  If it hangs, stop it and restart it.
Eventually you should have a complete copy, and subsequent rake
fetches should be all you need to get up to date.

Meanwhile, I've pushed a change that will allow you to fetch and parse
an individual mailbox.  You can run it like so:

  ruby parsemail.rb 201511

> When navigating from the main screen to the message detail screen to the display of the contents, I can navigate back by using the “<“ button. If possible, it would be nice to navigate using the delete button instead of the “<“ button.

I'm confused.  I don't provide a "<" button, but the browser does have
a back button.  Furthermore, trying this on Safari, both the browser
back button and the delete key can also be used to go back.

>>> Craig
>>
>> P.S.  Have you tried deleting spam or bringing up a context menu?
>
> I didn’t realize that the yellow bar was a thing. I was able to delete spam using the delete button.

The UI clearly needs work, but I'm trying to see what might be useful.

>> What do you think?  See:
>>
>> https://mail-archives.apache.org/mod_mbox/whimsical-dev/201512.mbox/%3C566D9785.9010102@intertwingly.net%3E

What do you think?  My current leaning is to make it as easy as
possible to delete spam without it ever making it into SVN; and to do
that instead of trying harder to automate the removal of spam from the
display in the first place (possibly causing some legitimate messages
to be missed).  It is not important that this be decided now, as that
can be tweaked later.

> The context menu isn’t obvious. I can’t find it.
>
> The usual context menu on my mac is control click. But this brings up the Apple Safari context menu not the whimsy tool menu.

That's not what I'm seeing (screenshot attached).  I copied you
directly in case this email list is configured to delete attachments.

> Command-z to undo delete not only undoes the delete but also opens the inspector page. Probably not intentional.

I'm not seeing that either, but I've pushed a change that should fix
the problem.

 - - -

At this point, I would like to ask what you would like to see next?
My thoughts are that the secretary workflow would be to fetch emails
and then process them.  Processing them will involve putting the
emails into the proper directories (e.g., documents/iclas), updating
control files (iclas.txt) and committing the changes.  Once an email
has been processed, it will be removed from the list.

Initially, I'll make the changes.  Over time, I'll show you how you
can make the changes (and at that point, I'll start creating a test
suite).  Eventually, I hope to be at the point where you are largely
self-sufficient, and I'm only answering questions when they come up.

I've got the start of an overview:

https://github.com/apache/whimsy/blob/secmail/www/secmail/README

Additionally, reviewing the commits may be useful.

Finally, if you are mostly comfortable with this direction, I'll merge
the branch back into master.  The tool is not done yet, but need not
be on a separate branch.

- Sam Ruby

Re: Exploratory branch: secmail

Posted by Craig L Russell <cr...@oracle.com>.
> On Dec 13, 2015, at 6:36 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> 
> On Sun, Dec 13, 2015 at 8:48 PM, Craig L Russell
> <cr...@oracle.com> wrote:
>> I notice that the link at bottom doesn’t actually show the previous month, but shows the current month (again).
> 
> Fixed in https://github.com/apache/whimsy/commit/1fc646f162.
> 
> What it was doing was looping around to the beginning of the list, and
> since you have only fetched 1 month so far...
> 
> I fixed it so that it wouldn't loop around any more.  For good
> measure, I also removed the button when you reach the end of the data
> that you have fetched and parsed.

After git pull; rake server there is no longer a button at the bottom. So it worked.

> Try "rake fetch" to fetch the rest.  Just be aware that downloading
> from minotaur is prone to stall, and even in the best case you are
> looking at more than a half hour to fetch and parse all of the data.
> On the plus side, rsync picks up where it left off…

Perhaps rake fetch should go in reverse order, most recent first. Instead of starting at 2007.

When navigating from the main screen to the message detail screen to the display of the contents, I can navigate back by using the “<“ button. If possible, it would be nice to navigate using the delete button instead of the “<“ button.
> 
>> Craig
> 
> P.S.  Have you tried deleting spam or bringing up a context menu?

I didn’t realize that the yellow bar was a thing. I was able to delete spam using the delete button.

> What do you think?  See:
> 
> https://mail-archives.apache.org/mod_mbox/whimsical-dev/201512.mbox/%3C566D9785.9010102@intertwingly.net%3E

The context menu isn’t obvious. I can’t find it.

The usual context menu on my mac is control click. But this brings up the Apple Safari context menu not the whimsy tool menu.

Command-z to undo delete not only undoes the delete but also opens the inspector page. Probably not intentional.

Craig

Craig L Russell
Architect, Oracle
http://db.apache.org/jdo
408 276-5638 mailto:Craig.Russell@oracle.com
P.S. A good JDO? O, Gasp!


Re: Exploratory branch: secmail

Posted by Sam Ruby <ru...@intertwingly.net>.
On Sun, Dec 13, 2015 at 8:48 PM, Craig L Russell
<cr...@oracle.com> wrote:
> I notice that the link at bottom doesn’t actually show the previous month, but shows the current month (again).

Fixed in https://github.com/apache/whimsy/commit/1fc646f162.

What it was doing was looping around to the beginning of the list, and
since you have only fetched 1 month so far...

I fixed it so that it wouldn't loop around any more.  For good
measure, I also removed the button when you reach the end of the data
that you have fetched and parsed.

Try "rake fetch" to fetch the rest.  Just be aware that downloading
from minotaur is prone to stall, and even in the best case you are
looking at more than a half hour to fetch and parse all of the data.
On the plus side, rsync picks up where it left off...

> Craig

P.S.  Have you tried deleting spam or bringing up a context menu?
What do you think?  See:

https://mail-archives.apache.org/mod_mbox/whimsical-dev/201512.mbox/%3C566D9785.9010102@intertwingly.net%3E

Re: Exploratory branch: secmail

Posted by Craig L Russell <cr...@oracle.com>.
I notice that the link at bottom doesn’t actually show the previous month, but shows the current month (again).

Craig

> On Dec 13, 2015, at 4:37 PM, Craig L Russell <cr...@oracle.com> wrote:
> 
> Ok, I now see this month’s emails targeted at secretary.
> 
> The links on the side give me options to view the text, the headers, and the attachments.
> 
> Good start.
> 
> Craig
> 
>> On Dec 13, 2015, at 4:12 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>> 
>> On Sun, Dec 13, 2015 at 7:08 PM, Craig L Russell
>> <cr...@oracle.com> wrote:
>>> ! Unable to load application: NoMethodError: undefined method `begin_restart' for nil:NilClass
>> 
>> Try exiting (control-C) and running rake server again.  This is the
>> first time starting the server-and-restarting too quickly problem I
>> mentioned.
>> 
>> - Sam Ruby
>> 
>> P.S.  Glad to see you got past the other problems without having to do
>> any unnatural acts.  I'm running fine on a MacBook, an iMac, and a Mac
>> Mini.
> 
> Craig L Russell
> Architect, Oracle
> http://db.apache.org/jdo
> 408 276-5638 mailto:Craig.Russell@oracle.com
> P.S. A good JDO? O, Gasp!
> 

Craig L Russell
Architect, Oracle
http://db.apache.org/jdo
408 276-5638 mailto:Craig.Russell@oracle.com
P.S. A good JDO? O, Gasp!


Re: Exploratory branch: secmail

Posted by Craig L Russell <cr...@oracle.com>.
Ok, I now see this month’s emails targeted at secretary.

The links on the side give me options to view the text, the headers, and the attachments.

Good start.

Craig

> On Dec 13, 2015, at 4:12 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> 
> On Sun, Dec 13, 2015 at 7:08 PM, Craig L Russell
> <cr...@oracle.com> wrote:
>> ! Unable to load application: NoMethodError: undefined method `begin_restart' for nil:NilClass
> 
> Try exiting (control-C) and running rake server again.  This is the
> first time starting the server-and-restarting too quickly problem I
> mentioned.
> 
> - Sam Ruby
> 
> P.S.  Glad to see you got past the other problems without having to do
> any unnatural acts.  I'm running fine on a MacBook, an iMac, and a Mac
> Mini.

Craig L Russell
Architect, Oracle
http://db.apache.org/jdo
408 276-5638 mailto:Craig.Russell@oracle.com
P.S. A good JDO? O, Gasp!


Re: Exploratory branch: secmail

Posted by Sam Ruby <ru...@intertwingly.net>.
On Sun, Dec 13, 2015 at 7:08 PM, Craig L Russell
<cr...@oracle.com> wrote:
> ! Unable to load application: NoMethodError: undefined method `begin_restart' for nil:NilClass

Try exiting (control-C) and running rake server again.  This is the
first time starting the server-and-restarting too quickly problem I
mentioned.

- Sam Ruby

P.S.  Glad to see you got past the other problems without having to do
any unnatural acts.  I'm running fine on a MacBook, an iMac, and a Mac
Mini.

Re: Exploratory branch: secmail

Posted by Craig L Russell <cr...@oracle.com>.
Ok, so minotaur might be slow.

[CraigRussell:whimsy/www/secmail] clr% rake fetch1
Note: logging in to this server with a password has been disabled. 

Please see : https://blogs.apache.org/infra/entry/committer_shell_access_to_people

Remember to load your ssh key:-

See: http://linux.die.net/man/1/ssh-add  
See: http://linux.die.net/man/1/ssh-agent

receiving file list ... done
201512

sent 42 bytes  received 59740694 bytes  1783305.55 bytes/sec
total size is 59733277  speedup is 1.00
officers-secretary/201512
[CraigRussell:whimsy/www/secmail] clr% rake server
Watching /Users/clr/apache/git/whimsy/www/secmail

Puma starting in single mode...
* Version 2.15.3 (ruby 2.0.0-p481), codename: Autumn Arbor Airbrush
* Min threads: 0, max threads: 16
* Environment: production

/Users/clr/apache/git/whimsy/www/secmail/public/assets/bootstrap-min.css added
/Users/clr/apache/git/whimsy/www/secmail/public/assets/bootstrap-min.js added
/Users/clr/apache/git/whimsy/www/secmail/public/assets/jquery-min.js added
/Users/clr/apache/git/whimsy/www/secmail/public/assets/react-min.js added
! Unable to load application: NoMethodError: undefined method `begin_restart' for nil:NilClass
/Library/Ruby/Gems/2.0.0/gems/puma-2.15.3/lib/puma/single.rb:12:in `restart': undefined method `begin_restart' for nil:NilClass (NoMethodError)
	from /Library/Ruby/Gems/2.0.0/gems/puma-2.15.3/lib/puma/cli.rb:238:in `restart'
	from /Library/Ruby/Gems/2.0.0/gems/puma-2.15.3/lib/puma/cli.rb:483:in `block in setup_signals'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `call'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /Library/Ruby/Gems/2.0.0/gems/mail-2.6.3/lib/mail.rb:73:in `<module:Mail>'
	from /Library/Ruby/Gems/2.0.0/gems/mail-2.6.3/lib/mail.rb:2:in `<top (required)>'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in `require'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:135:in `rescue in require'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:144:in `require'
	from /Users/clr/apache/git/whimsy/www/secmail/mailbox.rb:9:in `<top (required)>'
	from /Users/clr/apache/git/whimsy/www/secmail/server.rb:12:in `require_relative'
	from /Users/clr/apache/git/whimsy/www/secmail/server.rb:12:in `<top (required)>'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
	from config.ru:1:in `block in <main>'
	from /Library/Ruby/Gems/2.0.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `instance_eval'
	from /Library/Ruby/Gems/2.0.0/gems/rack-1.6.4/lib/rack/builder.rb:55:in `initialize'
	from config.ru:in `new'
	from config.ru:in `<main>'
	from /Library/Ruby/Gems/2.0.0/gems/rack-1.6.4/lib/rack/builder.rb:49:in `eval'
	from /Library/Ruby/Gems/2.0.0/gems/rack-1.6.4/lib/rack/builder.rb:49:in `new_from_string'
	from /Library/Ruby/Gems/2.0.0/gems/rack-1.6.4/lib/rack/builder.rb:40:in `parse_file'
	from /Library/Ruby/Gems/2.0.0/gems/puma-2.15.3/lib/puma/configuration.rb:144:in `load_rackup'
	from /Library/Ruby/Gems/2.0.0/gems/puma-2.15.3/lib/puma/configuration.rb:97:in `app'
	from /Library/Ruby/Gems/2.0.0/gems/puma-2.15.3/lib/puma/runner.rb:113:in `load_and_bind'
	from /Library/Ruby/Gems/2.0.0/gems/puma-2.15.3/lib/puma/single.rb:79:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/puma-2.15.3/lib/puma/cli.rb:215:in `run'
	from /Library/Ruby/Gems/2.0.0/gems/puma-2.15.3/bin/puma:10:in `<top (required)>'
	from /usr/bin/puma:23:in `load'
	from /usr/bin/puma:23:in `<main>'

/Users/clr/apache/git/whimsy/www/secmail/public/assets/react-min.js modified


> On Dec 13, 2015, at 3:56 PM, Craig L Russell <cr...@oracle.com> wrote:
> 
> There’s a big thread on stack overflow about this error, but I’m not sure what to do about it.
> 
> http://stackoverflow.com/questions/5528839/why-does-installing-nokogiri-on-mac-os-fail-with-libiconv-is-missing
> 
> 
> [CraigRussell:whimsy/www/secmail] clr% sudo gem install bundler
> Password:
> Fetching: bundler-1.11.0.gem (100%)
> Successfully installed bundler-1.11.0
> Parsing documentation for bundler-1.11.0
> Installing ri documentation for bundler-1.11.0
> 1 gem installed
> [CraigRussell:whimsy/www/secmail] clr% rake fetch1
> Fetching gem metadata from https://rubygems.org/..........
> Fetching version metadata from https://rubygems.org/...
> Fetching dependency metadata from https://rubygems.org/..
> Resolving dependencies....
> Rubygems 2.0.14 is not threadsafe, so your gems will be installed one at a time. Upgrade to Rubygems 2.1.0 or higher to enable parallel gem installation.
> Installing rake 10.4.2
> Using ast 2.1.0
> Installing crass 1.0.2
> Installing execjs 2.6.0
> Installing ffi 1.9.10 with native extensions
> Installing json 1.8.3 with native extensions
> Installing rb-fsevent 0.9.6
> Installing mime-types 2.99
> Installing mini_portile2 2.0.0
> Installing puma 2.15.3 with native extensions
> Using rack 1.6.4
> Using ruby-ldap 0.9.17
> Installing tilt 2.0.1
> Using thread_safe 0.3.5
> Installing zip 2.0.2
> Using bundler 1.11.0
> Using parser 2.2.3.0
> Installing rb-inotify 0.9.5
> Installing wunderbar 1.0.10
> Installing mail 2.6.3
> Installing nokogiri 1.6.7 with native extensions
> 
> Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
> 
>    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
> checking if the C compiler accepts ... yes
> checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
> Building nokogiri using packaged libraries.
> Using mini_portile version 2.0.0
> checking for iconv.h... yes
> checking for gzdopen() in -lz... yes
> checking for iconv... no
> -----
> libiconv is missing.  Please locate mkmf.log to investigate how it is failing.
> -----
> *** extconf.rb failed ***
> Could not create Makefile due to some reason, probably lack of necessary
> libraries and/or headers.  Check the mkmf.log file for more details.  You may
> need configuration options.
> 
> Provided configuration options:
> 	--with-opt-dir
> 	--without-opt-dir
> 	--with-opt-include
> 	--without-opt-include=${opt-dir}/include
> 	--with-opt-lib
> 	--without-opt-lib=${opt-dir}/lib
> 	--with-make-prog
> 	--without-make-prog
> 	--srcdir=.
> 	--curdir
> 	--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
> 	--help
> 	--clean
> 	--use-system-libraries
> 	--enable-static
> 	--disable-static
> 	--with-zlib-dir
> 	--without-zlib-dir
> 	--with-zlib-include
> 	--without-zlib-include=${zlib-dir}/include
> 	--with-zlib-lib
> 	--without-zlib-lib=${zlib-dir}/lib
> 	--enable-cross-build
> 	--disable-cross-build
> 
> 
> Gem files will remain installed in /var/folders/mx/t44d3_bs437dpnywzk_mwl_0002msd/T/bundler20151213-26734-1hkrf09nokogiri-1.6.7/gems/nokogiri-1.6.7 for inspection.
> Results logged to /var/folders/mx/t44d3_bs437dpnywzk_mwl_0002msd/T/bundler20151213-26734-1hkrf09nokogiri-1.6.7/gems/nokogiri-1.6.7/ext/nokogiri/gem_make.out
> Installing rack-protection 1.5.3
> Using tzinfo 1.2.2
> Installing ruby2js 2.0.10
> Installing listen 3.0.5
> An error occurred while installing nokogiri (1.6.7), and Bundler cannot
> continue.
> Make sure that `gem install nokogiri -v '1.6.7'` succeeds before bundling.
> rake aborted!
> Command failed with status (5): [bundle update...]
> /Users/clr/apache/git/whimsy/www/secmail/Rakefile:11:in `block in <top (required)>'
> Tasks: TOP => fetch1 => bundle => Gemfile.lock
> (See full trace by running task with --trace)
> [CraigRussell:whimsy/www/secmail] clr% sudo gem install nokogiri -v '1.6.7'
> Building native extensions.  This could take a while...
> ERROR:  Error installing nokogiri:
> 	ERROR: Failed to build gem native extension.
> 
>    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
> checking if the C compiler accepts ... yes
> checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
> Building nokogiri using packaged libraries.
> Using mini_portile version 2.0.0
> checking for iconv.h... yes
> checking for gzdopen() in -lz... yes
> checking for iconv... no
> -----
> libiconv is missing.  Please locate mkmf.log to investigate how it is failing.
> -----
> *** extconf.rb failed ***
> Could not create Makefile due to some reason, probably lack of necessary
> libraries and/or headers.  Check the mkmf.log file for more details.  You may
> need configuration options.
> 
> Provided configuration options:
> 	--with-opt-dir
> 	--without-opt-dir
> 	--with-opt-include
> 	--without-opt-include=${opt-dir}/include
> 	--with-opt-lib
> 	--without-opt-lib=${opt-dir}/lib
> 	--with-make-prog
> 	--without-make-prog
> 	--srcdir=.
> 	--curdir
> 	--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
> 	--help
> 	--clean
> 	--use-system-libraries
> 	--enable-static
> 	--disable-static
> 	--with-zlib-dir
> 	--without-zlib-dir
> 	--with-zlib-include
> 	--without-zlib-include=${zlib-dir}/include
> 	--with-zlib-lib
> 	--without-zlib-lib=${zlib-dir}/lib
> 	--enable-cross-build
> 	--disable-cross-build
> 
> 
> Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.7 for inspection.
> Results logged to /Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.7/ext/nokogiri/gem_make.out
> [CraigRussell:whimsy/www/secmail] clr% 
> 
>> On Dec 13, 2015, at 3:15 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>> 
>> On Sun, Dec 13, 2015 at 6:04 PM, Craig L Russell
>> <cr...@oracle.com> wrote:
>>> 
>>> Command failed with status (127): [bundle update...]
>> 
>> Looks like I skipped a step: "gem install bundler"
>> 
>> - Sam Ruby
> 
> Craig L Russell
> Architect, Oracle
> http://db.apache.org/jdo
> 408 276-5638 mailto:Craig.Russell@oracle.com
> P.S. A good JDO? O, Gasp!
> 

Craig L Russell
Architect, Oracle
http://db.apache.org/jdo
408 276-5638 mailto:Craig.Russell@oracle.com
P.S. A good JDO? O, Gasp!


Re: Exploratory branch: secmail

Posted by Craig L Russell <cr...@oracle.com>.
I tried —use-system-libraries and got a bit farther. I’ll try it again in case it’s just minotaur being sssssslllllllloooooooowwwwww.

Craig

[CraigRussell:whimsy/www/secmail] clr% sudo gem install nokogiri -v '1.6.7' -- --use-system-libraries
Building native extensions with: '--use-system-libraries'
This could take a while...
Successfully installed nokogiri-1.6.7
Parsing documentation for nokogiri-1.6.7
unable to convert "\xCA" from ASCII-8BIT to UTF-8 for lib/nokogiri/nokogiri.bundle, skipping
Installing ri documentation for nokogiri-1.6.7
1 gem installed
[CraigRussell:whimsy/www/secmail] clr% rake fetch1
Fetching gem metadata from https://rubygems.org/..........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies...
Rubygems 2.0.14 is not threadsafe, so your gems will be installed one at a time. Upgrade to Rubygems 2.1.0 or higher to enable parallel gem installation.
Using rake 10.4.2
Using ast 2.1.0
Using crass 1.0.2
Using execjs 2.6.0
Using ffi 1.9.10
Using json 1.8.3
Using rb-fsevent 0.9.6
Using mime-types 2.99
Using mini_portile2 2.0.0
Using puma 2.15.3
Using rack 1.6.4
Using ruby-ldap 0.9.17
Using tilt 2.0.1
Using thread_safe 0.3.5
Using zip 2.0.2
Using bundler 1.11.0
Using parser 2.2.3.0
Using rb-inotify 0.9.5
Using wunderbar 1.0.10
Using mail 2.6.3
Using nokogiri 1.6.7
Using rack-protection 1.5.3
Using tzinfo 1.2.2
Using ruby2js 2.0.10
Using listen 3.0.5
Installing nokogumbo 1.4.6 with native extensions
Installing sinatra 1.4.6
Using tzinfo-data 1.2015.7
Installing sanitize 4.0.1
Installing whimsy-asf 0.0.69
Bundle updated!
ssh: connect to host minotaur.apache.org port 22: Operation timed out
rsync: connection unexpectedly closed (0 bytes received so far) [receiver]
rsync error: error in rsync protocol data stream (code 12) at /SourceCache/rsync/rsync-45/rsync/io.c(453) [receiver=2.6.9]

> On Dec 13, 2015, at 3:56 PM, Craig L Russell <cr...@oracle.com> wrote:
> 
> There’s a big thread on stack overflow about this error, but I’m not sure what to do about it.
> 
> http://stackoverflow.com/questions/5528839/why-does-installing-nokogiri-on-mac-os-fail-with-libiconv-is-missing
> 
> 
> [CraigRussell:whimsy/www/secmail] clr% sudo gem install bundler
> Password:
> Fetching: bundler-1.11.0.gem (100%)
> Successfully installed bundler-1.11.0
> Parsing documentation for bundler-1.11.0
> Installing ri documentation for bundler-1.11.0
> 1 gem installed
> [CraigRussell:whimsy/www/secmail] clr% rake fetch1
> Fetching gem metadata from https://rubygems.org/..........
> Fetching version metadata from https://rubygems.org/...
> Fetching dependency metadata from https://rubygems.org/..
> Resolving dependencies....
> Rubygems 2.0.14 is not threadsafe, so your gems will be installed one at a time. Upgrade to Rubygems 2.1.0 or higher to enable parallel gem installation.
> Installing rake 10.4.2
> Using ast 2.1.0
> Installing crass 1.0.2
> Installing execjs 2.6.0
> Installing ffi 1.9.10 with native extensions
> Installing json 1.8.3 with native extensions
> Installing rb-fsevent 0.9.6
> Installing mime-types 2.99
> Installing mini_portile2 2.0.0
> Installing puma 2.15.3 with native extensions
> Using rack 1.6.4
> Using ruby-ldap 0.9.17
> Installing tilt 2.0.1
> Using thread_safe 0.3.5
> Installing zip 2.0.2
> Using bundler 1.11.0
> Using parser 2.2.3.0
> Installing rb-inotify 0.9.5
> Installing wunderbar 1.0.10
> Installing mail 2.6.3
> Installing nokogiri 1.6.7 with native extensions
> 
> Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.
> 
>    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
> checking if the C compiler accepts ... yes
> checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
> Building nokogiri using packaged libraries.
> Using mini_portile version 2.0.0
> checking for iconv.h... yes
> checking for gzdopen() in -lz... yes
> checking for iconv... no
> -----
> libiconv is missing.  Please locate mkmf.log to investigate how it is failing.
> -----
> *** extconf.rb failed ***
> Could not create Makefile due to some reason, probably lack of necessary
> libraries and/or headers.  Check the mkmf.log file for more details.  You may
> need configuration options.
> 
> Provided configuration options:
> 	--with-opt-dir
> 	--without-opt-dir
> 	--with-opt-include
> 	--without-opt-include=${opt-dir}/include
> 	--with-opt-lib
> 	--without-opt-lib=${opt-dir}/lib
> 	--with-make-prog
> 	--without-make-prog
> 	--srcdir=.
> 	--curdir
> 	--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
> 	--help
> 	--clean
> 	--use-system-libraries
> 	--enable-static
> 	--disable-static
> 	--with-zlib-dir
> 	--without-zlib-dir
> 	--with-zlib-include
> 	--without-zlib-include=${zlib-dir}/include
> 	--with-zlib-lib
> 	--without-zlib-lib=${zlib-dir}/lib
> 	--enable-cross-build
> 	--disable-cross-build
> 
> 
> Gem files will remain installed in /var/folders/mx/t44d3_bs437dpnywzk_mwl_0002msd/T/bundler20151213-26734-1hkrf09nokogiri-1.6.7/gems/nokogiri-1.6.7 for inspection.
> Results logged to /var/folders/mx/t44d3_bs437dpnywzk_mwl_0002msd/T/bundler20151213-26734-1hkrf09nokogiri-1.6.7/gems/nokogiri-1.6.7/ext/nokogiri/gem_make.out
> Installing rack-protection 1.5.3
> Using tzinfo 1.2.2
> Installing ruby2js 2.0.10
> Installing listen 3.0.5
> An error occurred while installing nokogiri (1.6.7), and Bundler cannot
> continue.
> Make sure that `gem install nokogiri -v '1.6.7'` succeeds before bundling.
> rake aborted!
> Command failed with status (5): [bundle update...]
> /Users/clr/apache/git/whimsy/www/secmail/Rakefile:11:in `block in <top (required)>'
> Tasks: TOP => fetch1 => bundle => Gemfile.lock
> (See full trace by running task with --trace)
> [CraigRussell:whimsy/www/secmail] clr% sudo gem install nokogiri -v '1.6.7'
> Building native extensions.  This could take a while...
> ERROR:  Error installing nokogiri:
> 	ERROR: Failed to build gem native extension.
> 
>    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
> checking if the C compiler accepts ... yes
> checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
> Building nokogiri using packaged libraries.
> Using mini_portile version 2.0.0
> checking for iconv.h... yes
> checking for gzdopen() in -lz... yes
> checking for iconv... no
> -----
> libiconv is missing.  Please locate mkmf.log to investigate how it is failing.
> -----
> *** extconf.rb failed ***
> Could not create Makefile due to some reason, probably lack of necessary
> libraries and/or headers.  Check the mkmf.log file for more details.  You may
> need configuration options.
> 
> Provided configuration options:
> 	--with-opt-dir
> 	--without-opt-dir
> 	--with-opt-include
> 	--without-opt-include=${opt-dir}/include
> 	--with-opt-lib
> 	--without-opt-lib=${opt-dir}/lib
> 	--with-make-prog
> 	--without-make-prog
> 	--srcdir=.
> 	--curdir
> 	--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
> 	--help
> 	--clean
> 	--use-system-libraries
> 	--enable-static
> 	--disable-static
> 	--with-zlib-dir
> 	--without-zlib-dir
> 	--with-zlib-include
> 	--without-zlib-include=${zlib-dir}/include
> 	--with-zlib-lib
> 	--without-zlib-lib=${zlib-dir}/lib
> 	--enable-cross-build
> 	--disable-cross-build
> 
> 
> Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.7 for inspection.
> Results logged to /Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.7/ext/nokogiri/gem_make.out
> [CraigRussell:whimsy/www/secmail] clr% 
> 
>> On Dec 13, 2015, at 3:15 PM, Sam Ruby <ru...@intertwingly.net> wrote:
>> 
>> On Sun, Dec 13, 2015 at 6:04 PM, Craig L Russell
>> <cr...@oracle.com> wrote:
>>> 
>>> Command failed with status (127): [bundle update...]
>> 
>> Looks like I skipped a step: "gem install bundler"
>> 
>> - Sam Ruby
> 
> Craig L Russell
> Architect, Oracle
> http://db.apache.org/jdo
> 408 276-5638 mailto:Craig.Russell@oracle.com
> P.S. A good JDO? O, Gasp!
> 

Craig L Russell
Architect, Oracle
http://db.apache.org/jdo
408 276-5638 mailto:Craig.Russell@oracle.com
P.S. A good JDO? O, Gasp!


Re: Exploratory branch: secmail

Posted by Craig L Russell <cr...@oracle.com>.
There’s a big thread on stack overflow about this error, but I’m not sure what to do about it.

http://stackoverflow.com/questions/5528839/why-does-installing-nokogiri-on-mac-os-fail-with-libiconv-is-missing


[CraigRussell:whimsy/www/secmail] clr% sudo gem install bundler
Password:
Fetching: bundler-1.11.0.gem (100%)
Successfully installed bundler-1.11.0
Parsing documentation for bundler-1.11.0
Installing ri documentation for bundler-1.11.0
1 gem installed
[CraigRussell:whimsy/www/secmail] clr% rake fetch1
Fetching gem metadata from https://rubygems.org/..........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Resolving dependencies....
Rubygems 2.0.14 is not threadsafe, so your gems will be installed one at a time. Upgrade to Rubygems 2.1.0 or higher to enable parallel gem installation.
Installing rake 10.4.2
Using ast 2.1.0
Installing crass 1.0.2
Installing execjs 2.6.0
Installing ffi 1.9.10 with native extensions
Installing json 1.8.3 with native extensions
Installing rb-fsevent 0.9.6
Installing mime-types 2.99
Installing mini_portile2 2.0.0
Installing puma 2.15.3 with native extensions
Using rack 1.6.4
Using ruby-ldap 0.9.17
Installing tilt 2.0.1
Using thread_safe 0.3.5
Installing zip 2.0.2
Using bundler 1.11.0
Using parser 2.2.3.0
Installing rb-inotify 0.9.5
Installing wunderbar 1.0.10
Installing mail 2.6.3
Installing nokogiri 1.6.7 with native extensions

Gem::Installer::ExtensionBuildError: ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
checking if the C compiler accepts ... yes
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
Building nokogiri using packaged libraries.
Using mini_portile version 2.0.0
checking for iconv.h... yes
checking for gzdopen() in -lz... yes
checking for iconv... no
-----
libiconv is missing.  Please locate mkmf.log to investigate how it is failing.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
	--help
	--clean
	--use-system-libraries
	--enable-static
	--disable-static
	--with-zlib-dir
	--without-zlib-dir
	--with-zlib-include
	--without-zlib-include=${zlib-dir}/include
	--with-zlib-lib
	--without-zlib-lib=${zlib-dir}/lib
	--enable-cross-build
	--disable-cross-build


Gem files will remain installed in /var/folders/mx/t44d3_bs437dpnywzk_mwl_0002msd/T/bundler20151213-26734-1hkrf09nokogiri-1.6.7/gems/nokogiri-1.6.7 for inspection.
Results logged to /var/folders/mx/t44d3_bs437dpnywzk_mwl_0002msd/T/bundler20151213-26734-1hkrf09nokogiri-1.6.7/gems/nokogiri-1.6.7/ext/nokogiri/gem_make.out
Installing rack-protection 1.5.3
Using tzinfo 1.2.2
Installing ruby2js 2.0.10
Installing listen 3.0.5
An error occurred while installing nokogiri (1.6.7), and Bundler cannot
continue.
Make sure that `gem install nokogiri -v '1.6.7'` succeeds before bundling.
rake aborted!
Command failed with status (5): [bundle update...]
/Users/clr/apache/git/whimsy/www/secmail/Rakefile:11:in `block in <top (required)>'
Tasks: TOP => fetch1 => bundle => Gemfile.lock
(See full trace by running task with --trace)
[CraigRussell:whimsy/www/secmail] clr% sudo gem install nokogiri -v '1.6.7'
Building native extensions.  This could take a while...
ERROR:  Error installing nokogiri:
	ERROR: Failed to build gem native extension.

    /System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby extconf.rb
checking if the C compiler accepts ... yes
checking if the C compiler accepts -Wno-error=unused-command-line-argument-hard-error-in-future... no
Building nokogiri using packaged libraries.
Using mini_portile version 2.0.0
checking for iconv.h... yes
checking for gzdopen() in -lz... yes
checking for iconv... no
-----
libiconv is missing.  Please locate mkmf.log to investigate how it is failing.
-----
*** extconf.rb failed ***
Could not create Makefile due to some reason, probably lack of necessary
libraries and/or headers.  Check the mkmf.log file for more details.  You may
need configuration options.

Provided configuration options:
	--with-opt-dir
	--without-opt-dir
	--with-opt-include
	--without-opt-include=${opt-dir}/include
	--with-opt-lib
	--without-opt-lib=${opt-dir}/lib
	--with-make-prog
	--without-make-prog
	--srcdir=.
	--curdir
	--ruby=/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/ruby
	--help
	--clean
	--use-system-libraries
	--enable-static
	--disable-static
	--with-zlib-dir
	--without-zlib-dir
	--with-zlib-include
	--without-zlib-include=${zlib-dir}/include
	--with-zlib-lib
	--without-zlib-lib=${zlib-dir}/lib
	--enable-cross-build
	--disable-cross-build


Gem files will remain installed in /Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.7 for inspection.
Results logged to /Library/Ruby/Gems/2.0.0/gems/nokogiri-1.6.7/ext/nokogiri/gem_make.out
[CraigRussell:whimsy/www/secmail] clr% 

> On Dec 13, 2015, at 3:15 PM, Sam Ruby <ru...@intertwingly.net> wrote:
> 
> On Sun, Dec 13, 2015 at 6:04 PM, Craig L Russell
> <cr...@oracle.com> wrote:
>> 
>> Command failed with status (127): [bundle update...]
> 
> Looks like I skipped a step: "gem install bundler"
> 
> - Sam Ruby

Craig L Russell
Architect, Oracle
http://db.apache.org/jdo
408 276-5638 mailto:Craig.Russell@oracle.com
P.S. A good JDO? O, Gasp!


Re: Exploratory branch: secmail

Posted by Sam Ruby <ru...@intertwingly.net>.
On Sun, Dec 13, 2015 at 6:04 PM, Craig L Russell
<cr...@oracle.com> wrote:
>
> Command failed with status (127): [bundle update...]

Looks like I skipped a step: "gem install bundler"

- Sam Ruby

Re: Exploratory branch: secmail

Posted by Craig L Russell <cr...@oracle.com>.
> On Dec 13, 2015, at 8:06 AM, Sam Ruby <ru...@intertwingly.net> wrote:
> 
> Quickstart:
> 
>  git clone https://github.com/apache/whimsy.git --branch secmail
>  cd whimsy/www/secmail

ok.
[CraigRussell:~/apache/git/whimsy] clr% cd www/secmail/
[CraigRussell:whimsy/www/secmail] clr% ls
Gemfile		Rakefile	config.ru	parsemail.rb	server.rb
README		config.rb	mailbox.rb	public		views
[CraigRussell:whimsy/www/secmail] clr% rake fetch1
rake aborted!
Command failed with status (127): [bundle update...]
/Users/clr/apache/git/whimsy/www/secmail/Rakefile:11:in `block in <top (required)>'
Tasks: TOP => fetch1 => bundle => Gemfile.lock
(See full trace by running task with --trace)
[CraigRussell:whimsy/www/secmail] clr% rake server
rake aborted!
Command failed with status (127): [bundle update...]
/Users/clr/apache/git/whimsy/www/secmail/Rakefile:11:in `block in <top (required)>'
Tasks: TOP => server => bundle => Gemfile.lock
(See full trace by running task with —trace)

Now what?

Craig


>  rake fetch1
>  rake server
>  [navigate browser to http://localhost:9292/]
> 
> Background: minotaur is going away, running scripts on the mail server is discouraged, and the ability to debug locally the processing of mail is highly desirable.  Therefore, the current thinking is that whimsy will rsync entire mailboxes from wherever they might be (this location may change over time) and then process them locally.
> 
> The above branch an exploration of what that approach might look like. It is able to successfully parse over eight years of email (not a small feat given that the current deployed secmail.py blows up occasionally when presented with malformed email messages (typically spam).
> 
> It then presents an index of email messages that have attachments, which you can navigate into to see attachments.  The only operations currently implemented are:
> 
> 1) delete and undelete entire emails.  Do this by navigating (up, down, and click) to the email in question and press delete (or backspace). Undelete using either the button provided, or by using control-z (mac users can also use command-z).
> 
> 2) showing a context menu on an attachment.  Navigate into an email and right click (or control-click for Mac users) to see a list of operations.
> 
> Notes:
> 
> 1) fetch times are wildly inconsistent.  Ten seconds on a high speed connection should be enough for one month, but one to fifteen minutes is not uncommon.  I have, however, downloaded the entire corpus of secretary emails since 2007 in less than hour.
> 
> 2) The server is set up to restart if anything changes in the secmail directory.  The first time you start the server it will set up some files, and that will cause it to restart, possibly after displaying some tracebacks.  Ultimately, this restarting on changes makes development easier.
> 
> 3) functionally this code is structured much like the board agenda tool, and should be a lot more maintainable than the current secretary workbench.  In particular, the code is much more modular, and adding a new function should be able to be done without affecting existing function.
> 
> 4) being able to test against the entire set of emails received is a big step forward; but given that this code is structured like the board agenda tool, I should be able to add proper tests.
> 
> 5) I haven't focused on the UI yet - it needs a lot of work.  I would like to make this feel less like a web page and more like a desktop app that happens to run in a browser.  For example, I would like to explore having the current 'staple' function be done via dragging and dropping of images and PDFs on top of one another.
> 
> - Sam Ruby

Craig L Russell
Architect, Oracle
http://db.apache.org/jdo
408 276-5638 mailto:Craig.Russell@oracle.com
P.S. A good JDO? O, Gasp!