pkgsrc/pkgtools/libnbcompat/files
joerg c071594cda Include nbcompat/types.h early to make sure that uintX_t are defined.
Reported by Aleksey Cheusov and Joern Clausen in PR 39738.
2008-10-19 21:02:07 +00:00
..
db pkg_install-20081010: 2008-10-10 00:21:43 +00:00
nbcompat pkg_install-20081010: 2008-10-10 00:21:43 +00:00
private libnbcompat-20080922: 2008-10-06 12:36:19 +00:00
__fts13.c If dirfd is either a function or a macro, use it. If it doesn't exist, 2007-09-21 19:51:58 +00:00
__glob13.c Don't use u_{char,short,int,long} as they are non-standard. 2007-07-31 13:17:33 +00:00
__unsetenv13.c
aclocal.m4
asprintf.c Fix logic error in buffer handling (Hi Joerg!) 2007-07-20 00:10:06 +00:00
config.guess
config.sub
configure pkg_install-20081010: 2008-10-10 00:21:43 +00:00
configure.ac pkg_install-20081010: 2008-10-10 00:21:43 +00:00
engine.c
err.c
fgetln.c Drop clauses 3 and 4 from TNF licenses 2008-04-29 05:46:08 +00:00
findenv.c
fnmatch.c
fparseln.c
fts.c
getaddrinfo.c libnbcompat-20080922: 2008-10-06 12:36:19 +00:00
getenv.c
getopt_long.c Drop clauses 3 and 4 from TNF licenses 2008-04-29 05:46:08 +00:00
gettemp.c Don't use u_{char,short,int,long} as they are non-standard. 2007-07-31 13:17:33 +00:00
glob.c
install-sh
isblank.c
lchflags.c Drop clauses 3 and 4 from TNF licenses 2008-04-29 05:46:08 +00:00
lchmod.c Drop clauses 3 and 4 from TNF licenses 2008-04-29 05:46:08 +00:00
lchown.c Drop clauses 3 and 4 from TNF licenses 2008-04-29 05:46:08 +00:00
lutimes.c Drop clauses 3 and 4 from TNF licenses 2008-04-29 05:46:08 +00:00
Makefile.in pkg_install-20081010: 2008-10-10 00:21:43 +00:00
malloc.c
md5c.c libnbcompat-20080922: 2008-10-06 12:36:19 +00:00
md5hl.c
mdXhl.c libnbcompat-20080922: 2008-10-06 12:36:19 +00:00
mkdtemp.c
mkstemp.c
nbcompat.awk
nbcompat.h Include nbcompat/types.h early to make sure that uintX_t are defined. 2008-10-19 21:02:07 +00:00
poll.c Drop clauses 3 and 4 from TNF licenses 2008-04-29 05:46:08 +00:00
pwcache.c Drop clauses 3 and 4 from TNF licenses 2008-04-29 05:46:08 +00:00
README Another version bump due to added configure check for uintptr_t 2007-07-21 14:39:25 +00:00
regcomp.c
regerror.c
regexec.c
regfree.c
rmd160.c libnbcompat-20080922: 2008-10-06 12:36:19 +00:00
rmd160hl.c libnbcompat-20080922: 2008-10-06 12:36:19 +00:00
setenv.c
setgroupent.c Drop clauses 3 and 4 from TNF licenses 2008-04-29 05:46:08 +00:00
setmode.c Don't use u_{char,short,int,long} as they are non-standard. 2007-07-31 13:17:33 +00:00
setpassent.c Drop clauses 3 and 4 from TNF licenses 2008-04-29 05:46:08 +00:00
setprogname.c
sha1.c libnbcompat-20080922: 2008-10-06 12:36:19 +00:00
sha1hl.c libnbcompat-20080922: 2008-10-06 12:36:19 +00:00
sha2.c Fix SHA256/SHA512 to work on strict alignment platforms. This was 2007-07-18 14:09:55 +00:00
sha2hl.c Don't use u_{char,short,int,long} as they are non-standard. 2007-07-31 13:17:33 +00:00
shquote.c libnbcompat-20080922: 2008-10-06 12:36:19 +00:00
snprintf.c Make style more consistent. 2008-06-19 17:28:09 +00:00
src2nbcompat Use only features available in nawk. 2007-09-06 21:19:42 +00:00
statvfs.c libnbcompat-20080908: 2008-09-08 20:20:22 +00:00
strdup.c
strerror.c
strlcat.c
strlcpy.c
strmode.c
strsep.c
strtoll.c
timegm.c Don't let a mathematican add numbers with less than 20 digits. Fix the 2008-04-17 08:11:12 +00:00
unsetenv.c
unvis.c Don't use u_{char,short,int,long} as they are non-standard. 2007-07-31 13:17:33 +00:00
usleep.c Drop clauses 3 and 4 from TNF licenses 2008-04-29 05:46:08 +00:00
utimes.c Drop clauses 3 and 4 from TNF licenses 2008-04-29 05:46:08 +00:00
vis.c libnbcompat-20080922: 2008-10-06 12:36:19 +00:00
warn.c

$NetBSD: README,v 1.18 2007/07/21 14:39:25 tnn Exp $

 0 Introduction
 ==============

libnbcompat builds and installs a portable NetBSD-compatibility library
that supplies routines missing on operating systems that are used by
the family of pkgsrc bootstrap tools.  Note that libnbcompat is very
much a work-in-progress.  Only the functions that are directly used
by the bootstrap tools are implemented in the library.  At the moment,
this includes the following packages:

	archivers/pax
	pkgtools/mtree
	pkgtools/pkg_install
	textproc/nbsed

A script, src2nbcompat, is also included in the sources that simplifies
importing software from the NetBSD src module into pkgsrc.


 1 Updating this package
 =======================

Please take care when updating this package.  Do *not* simply commit
changes to this package and ask for testers.  This package is too
fundamental to the proper bootstrapping of pkgsrc to let accidental
breakage seep in.  Proper methodology for updating this package is:

    (1) Post a tarball at a publicly accessible URL containing the
	pkgtools/libnbcompat directory.

    (2) Ask on the tech-pkg@NetBSD.org mailing list for testers.

    (3) Fix any breakage on non-NetBSD operating systems before
	committing.


 2 Tested operating systems
 ==========================

*NOTE*
*NOTE* This section should be kept up-to-date with the results for
*NOTE* the most recent libnbcompat.
*NOTE*

libnbcompat-20040911 has been tested to build and install correctly
on the following operating systems:

	FreeBSD-4.8/i386		<jlam@NetBSD.org>
	NetBSD-1.6.2/i386		<jlam@NetBSD.org>
	Solaris 9/sparc			<salo@NetBSD.org>

libnbcompat-20041024 has been tested to build and install correctly
on the following operating systems:

	FreeBSD-4.11/i386		<jschauma@NetBSD.org>
	FreeBSD-6.1/amd64		<jschauma@NetBSD.org>
	Darwin-8.3/powerpc		<schwarz@NetBSD.org>
	IRIX-5.3/mipseb			<schwarz@NetBSD.org>
	IRIX-6.5/mipseb			<jschauma@NetBSD.org>
	Linux/i386			<schwarz@NetBSD.org>
	RHEL4 Linux 2.6/i386		<jschauma@NetBSD.org>

libnbcompat-20070507 has been tested to build and install correctly
on the following operating systems:

	DragonFly-1.8/i386		<joerg@NetBSD.org>

libnbcompat-20070531 has been tested to build and install correctly
on the following operating systems:

	SunOS-5.10-sparc		<rillig@NetBSD.org>
	NetBSD-3.0-i386			<rillig@NetBSD.org>
	IRIX-6.5-mips			<rillig@NetBSD.org>

libnbcompat-20070721 has been tested to build and install correctly
on the following operating systems:

	HPUX-11.11-hppa			<tnn@NetBSD.org>
	Interix-3.5-i586		<tnn@NetBSD.org>

 3 Usage
 =======

This library is intended to simplify porting NetBSD software.  To that
end, the changes to NetBSD sources to use libnbcompat are minor.  The
procedure is:

    (1) Add #include <nbcompat.h> at the top of the source files that
	include system headers, but below the inclusion of any
	"config.h".

    (2) Surround each system header file included in the source file
	with #if HAVE_<header_name>_H ... #endif.

You may need to add additional headers present on other operating
systems that define any system-supplied functions, e.g. <sys/vfs.h>.

The src2nbcompat script included in the libncompat sources can be used
to automate this process to some extent.  It is intended to import
sources from a NetBSD src checkout into pkgsrc.  It will copy the
sources from a directory and automatically insert the proper lines
into the files.  For example, to import the pkg_install sources into
pkgsrc, run:

	src2nbcompat \
		/usr/src/usr.sbin/pkg_install \
		/usr/pkgsrc/pkgtools/pkg_install/files

You will need to run a "cvs diff" on the imported files to check that
any local changes are preserved across imports.