On Wed, Oct 28, 2015 at 05:39:39AM GMT, Antoine Jacoutot wrote:
> On Wed, Oct 28, 2015 at 04:35:14AM +0000, Raf Czlonka wrote:
> > On Sat, Oct 24, 2015 at 08:59:48AM BST, Antoine Jacoutot wrote:
> > > > > Hi Antoine,
> > > > > 
> > > > > On a (somewhat), related note - since the last (so it seems) update to
> > > > > pinentry, it doesn't prompt for pass{word,phrase} any more, i.e.
> > > > > 
> > > > > gpg2 -d file.gpg
> > > > > 
> > > > > starts gpg-agent, which in turn starts pinentry, all I can see is
> > > > > blank tty and after a couple of seconds, pinentry runs at 99% CPU:
> > > > > 
> > > > > USER       PID %CPU %MEM   VSZ   RSS TT  STAT  STARTED       TIME 
> > > > > COMMAND
> > > > > rjc      20819 99.0  0.1  1996  5392 ??  R      6:41AM    1:25.35 
> > > > > pinentry (pinentry-curses)
> > > > 
> > > > Hmm that's odd... my initial tests did work.
> > > > I'll have a look this week-end, thanks for the report.
> > > 
> > > Can you wait for and try the new ports snapshot when it is there.
> > > I cannot reproduce your issue, pinentry works just fine here.
> > 
> > Hi Antoine,
> > 
> > The newest i386 package (new amd64 ones haven't been built yet so can't
> > verify) does something really strange:
> > 
> > $ file /usr/local/bin/pinentry*
> > /usr/local/bin/pinentry:        symbolic link to 
> > '/usr/local/bin/pinentry-curses'
> > /usr/local/bin/pinentry-curses: Bourne shell script text executable
> > 
> > So, the pinentry is still a symbolic link instead of the intended
> > wrapper script and pinentry-curses is the actual wrapper -
> > pinentry-curses (the binary) is not even a part of the package.
> 
> The pkg snapshot is too old I guess.

Nope, something goes wrong during 'make package', as the actual
pinentry-curses (the binary) *is* being built with 'make build':

    $ file 
/usr/obj/ports/pinentry-0.9.6-no_gtk2-no_gnome3-bootstrap/pinentry-0.9.6/curses/pinentry-curses
    
/usr/obj/ports/pinentry-0.9.6-no_gtk2-no_gnome3-bootstrap/pinentry-0.9.6/curses/pinentry-curses:
 ELF 32-bit LSB shared object, Intel 80386, version 1

but doesn't end up in the package itself.

    $ pkg_info -I pinentry
    pinentry-0.9.6p1    PIN or passphrase entry dialog (ncurses interface)

    $ ls -l /usr/local/bin/pinentry*
    lrwxr-xr-x  1 root  wheel     15 Oct 28 21:44 /usr/local/bin/pinentry -> 
pinentry-curses
    -r-xr-xr-x  1 root  bin     2844 Oct 25 14:35 /usr/local/bin/pinentry-curses

    $ file /usr/local/bin/pinentry*
    /usr/local/bin/pinentry:        symbolic link to 
'/usr/local/bin/pinentry-curses'
    /usr/local/bin/pinentry-curses: Bourne shell script text executable

In the end, I had renamed the above two files and copied the built
binary in its place:

    $ ls -l /usr/local/bin/pinentry*
    -r-xr-xr-x  1 root  bin     2844 Oct 23 15:14 /usr/local/bin/pinentry
    -rwxr-xr-x  1 root  wheel  65760 Oct 30 01:06 /usr/local/bin/pinentry-curses
    lrwxr-xr-x  1 root  wheel     15 Oct 28 04:13 /usr/local/bin/pinentry.old 
-> pinentry-curses

    $ file /usr/local/bin/pinentry*
    /usr/local/bin/pinentry:        Bourne shell script text executable
    /usr/local/bin/pinentry-curses: ELF 32-bit LSB shared object, Intel 80386, 
version 1
    /usr/local/bin/pinentry.old:    symbolic link to 
'/usr/local/bin/pinentry-curses'

This, however, only "solves" the problem with the package but does *not*
resolve the issue which I had initially reported - pinentry doesn't
prompt for password, the terminal stays blank and pinentry-curses eats
up 100% CPU.

Regards,

Raf

Reply via email to