nmh-workers
[Top] [All Lists]

Re: [Nmh-workers] nmh leaving gentoo?

2007-09-04 01:44:49
aeriksson(_at_)fastmail(_dot_)fm wrote:
It appears the particular thing that triggered this is that it's packaged to 
require sys-libs/db-1 which, looking at configure.in, is not really true. That 
file says:


NMH_CHECK_DBM(,,
 NMH_CHECK_DBM(ndbm,,
   NMH_CHECK_DBM(dbm,,
     NMH_CHECK_DBM(db1,,
       NMH_CHECK_DBM(db,,
         NMH_CHECK_DBM(gdbm,,
           AC_CHECK_LIB(gdbm,gdbm_open,
             NMH_CHECK_DBM(gdbm_compat,LIBS="-lgdbm_compat -lgdbm $LIBS",
                AC_MSG_ERROR([cannot find a library providing 
dbm_open()]),-lgdbm),
             AC_MSG_ERROR([cannot find a library providing dbm_open()]))))))))

This is an out of date version of the configure.in. The one in CVS says:
    dnl There are at least four implementations of ndbm, and
    dnl several of those can be in different places at the whim
    dnl of the system integrator. A good summary of this mess
    dnl can be found at http://www.unixpapa.com/incnote/dbm.html

    dnl Classic ndbm with no library required (eg NetBSD): try this
    dnl first so we don't accidentally link in a pointless but harmless
    dnl library in one of the later ndbm.h+libfoo tests:
    NMH_CHECK_NDBM(ndbm.h,,,
    dnl Berkeley DBv2 emulating ndbm: header in db.h:
      NMH_CHECK_NDBM(db.h,db,,
    dnl Berkeley DBv1 emulating ndbm:
        NMH_CHECK_NDBM(ndbm.h,db,,
          NMH_CHECK_NDBM(ndbm.h,db1,,
    dnl Classic ndbm:
            NMH_CHECK_NDBM(ndbm.h,ndbm,,
    dnl glibc2.1 systems put db1 in a subdir:
              NMH_CHECK_NDBM(db1/ndbm.h,db1,,
    dnl GNU gdbm emulating ndbm, with header possibly in gdbm/
    dnl and possibly needing gbdm_compat library:
                NMH_CHECK_NDBM(gdbm/ndbm.h,gdbm,,
                  NMH_CHECK_NDBM(gdbm/ndbm.h,gdbm_compat -lgdbm,,
                    NMH_CHECK_NDBM(ndbm.h,gdbm,,
                      NMH_CHECK_NDBM(ndbm.h,gdbm_compat -lgdbm))))))))))

(plus some logic I haven't quoted for allowing the user to override the
autodetection.)

There were some errors in this dbm checking logic which I spotted and fixed
shortly after we released 1.2 (mostly applicable to the BSDs). Unfortunately
it looks like we never got round to actually making a proper release with
the fixes in :-(

(There was talk of another release but it seems to have petered out.)

My thinking is to create an nmh-1.2 ebuild, fixing this db stuff, and attach 
it to the gentoo bug. Hopefully that's enough to keep it in gentoo.

Head of CVS might be your best bet. Gentoo users like the bleeding edge,
right? :-)

Having said that, I don't think there's anything wrong with the original
1.2 configure on a Linux system -- it just looks for what's present and
goes with the first plausible thing it finds. If you don't want it to
link with libdb1, don't have the library and headers on your system...
(Or with the head of CVS, override the guessing algorithm with configure
arguments.)

-- PMM


_______________________________________________
Nmh-workers mailing list
Nmh-workers(_at_)nongnu(_dot_)org
http://lists.nongnu.org/mailman/listinfo/nmh-workers

<Prev in Thread] Current Thread [Next in Thread>