On 2018/07/07 23:00, Raf Czlonka wrote:
> On Sat, Jul 07, 2018 at 12:40:47AM BST, Stuart Henderson wrote:
> > On 2018/07/06 12:22, Raf Czlonka wrote:
> > > Hi all,
> > > 
> > > Given that abook is in ports, could we have support for it enabled
> > > in lbdb, please?
> > > 
> > > Regards,
> > > 
> > > Raf
> > > 
> > > Index: databases/lbdb/Makefile
> > > ===================================================================
> > > RCS file: /cvs/ports/databases/lbdb/Makefile,v
> > > retrieving revision 1.19
> > > diff -u -p -r1.19 Makefile
> > > --- databases/lbdb/Makefile       29 Apr 2016 11:03:43 -0000      1.19
> > > +++ databases/lbdb/Makefile       6 Jul 2018 11:19:35 -0000
> > > @@ -36,7 +36,6 @@ CONFIGURE_STYLE =       gnu
> > >  
> > >  CONFIGURE_ARGS +=        --libdir=${PREFIX}/lib/lbdb \
> > >                   --with-libiconv-prefix=${LOCALBASE} \
> > > -                 --without-abook \
> > >                   --without-addr-email \
> > >                   --without-niscat \
> > >                   --without-gpg \
> > > 
> > 
> > A bit more than that is needed, but it seems reasonable to add
> > it, the extra dependency isn't too heavy.
> 
> Well, abook actually is not a dependency - it's only extra
> functionality. If it isn't installed no harm done.
> 
> > Slight Makefile reordering while there. Does this work for you?
> 
> Yes and no - comments inline :^)
> 
> > Index: Makefile
> > ===================================================================
> > RCS file: /cvs/ports/databases/lbdb/Makefile,v
> > retrieving revision 1.19
> > diff -u -p -r1.19 Makefile
> > --- Makefile        29 Apr 2016 11:03:43 -0000      1.19
> > +++ Makefile        6 Jul 2018 23:39:51 -0000
> > @@ -4,6 +4,7 @@ COMMENT-main =              "little brother's databa
> >  COMMENT-ldap =             LDAP support for lbdb
> >  
> >  VERSION =          0.40
> > +REVISION-main =            0
> 
> D'oh! ;^)
> 
> >  DISTNAME =         lbdb_${VERSION}
> >  PKGNAME-main =             lbdb-${VERSION}
> > @@ -18,25 +19,27 @@ MULTI_PACKAGES =        -main -ldap
> >  # GPLv2+
> >  PERMIT_PACKAGE_CDROM =     Yes
> >  
> > +WANTLIB-main =             c iconv
> > +
> > +MASTER_SITES =             http://www.spinnaker.de/debian/

Oh this is a redirect to https now, might as well change that and avoid
the extra roundtrip.

> > +BUILD_DEPENDS =            ${RUN_DEPENDS-main}
> > +LIB_DEPENDS-main = converters/libiconv
> > +RUN_DEPENDS-main = mail/abook
> 
> There's not need for abook to be a run dependency - m_abook module
> is only usable if it is both specified in METHODS *and* abook
> executable present, ignored otherwise.

It's a really small dependency though, and the only extra thing it pulls
in is gettext which mutt users will have anyway, so I don't see a lot of point
in /not/ including it, it does make things more consistent.


> >  RUN_DEPENDS-ldap = databases/p5-ldap \
> >                     databases/lbdb
> >  
> > -LIB_DEPENDS-main = converters/libiconv
> > -WANTLIB-main =             c iconv
> >  LIB_DEPENDS-ldap =
> >  WANTLIB-ldap =
> >  
> > -MASTER_SITES =             http://www.spinnaker.de/debian/
> > -
> >  MAKE_ENV =         install_prefix=${WRKINST}
> >  
> >  NO_TEST =          Yes
> >  USE_GMAKE =                Yes
> >  CONFIGURE_STYLE =  gnu
> >  
> > -CONFIGURE_ARGS +=  --libdir=${PREFIX}/lib/lbdb \
> > +CONFIGURE_ARGS +=  --libdir=${PREFIX}/lib/lbdb \
> >                     --with-libiconv-prefix=${LOCALBASE} \
> > -                   --without-abook \
> >                     --without-addr-email \
> >                     --without-niscat \
> >                     --without-gpg \
> > Index: pkg/PLIST-main
> > ===================================================================
> > RCS file: /cvs/ports/databases/lbdb/pkg/PLIST-main,v
> > retrieving revision 1.1.1.1
> > diff -u -p -r1.1.1.1 PLIST-main
> > --- pkg/PLIST-main  15 Jun 2008 07:22:57 -0000      1.1.1.1
> > +++ pkg/PLIST-main  6 Jul 2018 23:39:51 -0000
> > @@ -8,6 +8,7 @@ lib/lbdb/
> >  lib/lbdb/lbdb-munge
> >  lib/lbdb/lbdb_bbdb_query.el
> >  lib/lbdb/lbdb_lib
> > +lib/lbdb/m_abook
> 
> Double-d'oh! :^P
> 
> >  lib/lbdb/m_bbdb
> >  lib/lbdb/m_fido
> >  lib/lbdb/m_finger
> 
> Now, the main issue. The m_abook module doesn't work properly due
> to tab escape sequences (\t) being used in sed regexes - something
> sed(1) in base does not cope well with.
> 
> All that module does is running the below command:
> 
>       abook --datafile $HOME/.abook/addressbook --mutt-query "$@" \
>               | sed -e '1d;s/\([^\t]*\t[^\t]*\).*/\1\tabook/'
> 
> but, due to the above, based sed(1) cuts the result short on 2nd
> 't' in the string, i.e.:
> 
>       [email protected]   Firstabook
> 
> or, if the string contains only one 't' or none at all:
> 
>       [email protected]  My Name tabook
> 
> It works fine with gsed, which was obviously used when that module
> was written/tested, but then gsed would need to become a run
> dependency - something I am not keen on.
> 
> The "easiest" thing to do, would be to patch /usr/local/lib/lbdb/m_abook
> and use literal tabs:
> 
> -             | sed -e '1d;s/\([^\t]*\t[^\t]*\).*/\1\tabook/'
> +             | sed -e '1d;s/\([^     ]*      [^      ]*\).*/\1       abook/'
> 
> After the above change, it all seems to be working fine.
> 
> Thanks for looking into it.
> 
> Raf

Given the existing mess in m_muttalias.sh.in I think that would be ok :)

Reply via email to