[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#910252: ITP: libnbcompat -- NetBSD compatibility library



Hi!

On Thu, 2018-10-04 at 08:28:57 -0500, John Goerzen wrote:
> On Thu, Oct 04 2018, Guillem Jover wrote:
> > Hmm, what does this library provide that is required by mtree-netbsd not
> > available in glibc, libbsd and libmd? Perhaps even freebsd-glue?
> >
> > I've skimmed over the functionality and it seems most of it is already
> > covered by those. If there's still stuff needed I'm always happy to add
> > it to libbsd or libmd as required!

> You are correct that the functionality is generally available.  The
> problem is that the interfaces are different.  nbconfig.h, for instance,
> defines a number of HAVE_* macros that are used while building mtree.
> nbconfig.h includes a number of system header files (stdio.h, etc.) that
> cause *numerous* build errors if missing.  There are also functions for
> things like hashing files that take different numbers of parameters,
> etc.

I see the packages have already gone through NEW, so I've taken a
look. And I've almost got mtree-netbsd building using just libmd and
libbsd. I'll be releasing new upstream versions fixing or adding the
missing stuff:

  - libmd had bogus compat macros for SHA512, and missing ones for
    SHA384.
  - libbsd is missing the pwcache modules from the BSDs, which I'll
    be adding.
  - libbsd is missing a <time.h> that implicitly includes
    <sys/time.h>, I'll be adding that.

Then I've got some minimal patches for mtree-netbsd, which fix or improve
things there, that I'll be sending your way once I've finished with the
above. At which point I think it would be nice to drop libnbcompat
completely?

The point of creating libmd and libbsd and switching projects to use
those, was to have such BSD compatibility library in a single place
which can be fixed centrallly, and to reduce embedded code copies. So
adding yet similar library would make the situation confusing and
might distract from such unifiying efforts. :)

> I also considered, for a bit, whether to even make libnbcompat be a
> separate package.  I concluded yes, because:
> 
> 1) It has its own standalone configure,
> 
> 2) It must be configured and built before mtree can be configured,
> 
> 3) Even on NetBSD, mtree requires libnbcompat to build (the #include
> <nbcompat.h> is not wrapped inside any conditional macro)
> 
> Because of #1 and #2, just including it in mtree itself would cause the
> build system to somewhat violate the usual principles of how to build.

I really think libnbcompat should be completely unnecessary. :) And if
there'd be new features required my mtree-netbsd in the future I'm
always happy to consider new additions to these libraries if they make
sense!

Thanks,
Guillem


Reply to: