Commit graph

12 commits

Author SHA1 Message Date
obache
0971cda226 Update tinycdb to 0.77.
pkgsrc changes:
* simplify subst with SUBST_VARS.
* build and install shared library.
* install pkgconfig file.

package changes:

tinycdb-0.77

 - bugfix release: manpage typos, portability fixes and the like

 - bugfix: improper logic in EINTR handling in _cdb_make_full_write
   routine which may lead to corruped .cdb file.
2010-09-11 08:26:04 +00:00
joerg
2d1ba244e9 Simply and speed up buildlink3.mk files and processing.
This changes the buildlink3.mk files to use an include guard for the
recursive include. The use of BUILDLINK_DEPTH, BUILDLINK_DEPENDS,
BUILDLINK_PACKAGES and BUILDLINK_ORDER is handled by a single new
variable BUILDLINK_TREE. Each buildlink3.mk file adds a pair of
enter/exit marker, which can be used to reconstruct the tree and
to determine first level includes. Avoiding := for large variables
(BUILDLINK_ORDER) speeds up parse time as += has linear complexity.
The include guard reduces system time by avoiding reading files over and
over again. For complex packages this reduces both %user and %sys time to
half of the former time.
2009-03-20 19:23:50 +00:00
joerg
3b0d97b0de Add DESTDIR support. 2008-06-20 01:09:05 +00:00
schmonz
3a8e0d9a6c Update to 0.76. From the changelog:
* manpage spelling fixes, from Claus Assmann <ca+tinycdb (at) esmtp.org>.

  * little mods to allow compiling tinycdb by C++ compiler,
    from Olly Betts <olly (at) survex.com>.

  * use program_invocation_short_name on GLIBC, (modified) patch
    from Dmitry V. Levin  <ldv (at) altlinux.org>

  * manpage fix (cdb_findnext() prototype),
    from Dmitry V. Levin <ldv (at) altlinux.org>

  * (somewhat silly) GCC-4.x "signedness" warnings fix, modified patch
    from Dmitry V. Levin  <ldv (at) altlinux.org>

  * more signed vs unsigned char* fixes in various places

  * Makefile: always build libnss_cdb.so with libcdb_pic.a, no nss-shared
    target: to avoid extra dependency from /usr/lib/.

  * Makefile: use map files for lib*.so, with explicit list of exported
    symbols.  This, in particular, avoids exporting of libcdb symbols by
    libnss_cdb.so.

  * mark all internal routines as internal_function (defined as
    __attribute__((visibility("hidden"))) for GCC)

  * Makefile: add tests-shared, to use cdb-shared for testing

  * Makefile: allow to specify which binary (shared vs static) to install
    in install target, by using INSTALLPROG variable

  * Makefile: pass -DNSSCDB_DIR=... to compiler when building .lo files,
    to allow setting of system config dir (/etc by default) on command line.
    For nss_cdb module.

  * Makefile: use $(CP) instead of cp, to be able to specify `cp' options
    (CP="cp -p")

  * Use unlink(tmpname) + open(O_CREAT|O_EXCL) instead of
    open(O_CREAT|O_TRUNC) when creating the new CDB file.
    And use O_NOFOLLOW if defined.
    This also works around some (probably) possible symlink attacks.

  * Add -p perms option for cdb utility, to specify mode (permission bits)
    for newly created .cdb file (default is 0666&umask(), -p forces the given
    mode).

  * allow tmpname (cdb -t) to be `-', to mean no temp file gets created.
    Also check if tmpname is the same as database name and don't try to
    rename() if it is.

  * rewrite nss_cdb-Makefile a bit: simplify it, and use more sane
    permission scheme for /etc/shadow

  * fixed a typo in cdb_seek.c, -- it segfaulted if passed NULL dlenp
    pointer.  Thanks Daiki for the patch.  Closes: #383417

  * use MAP_FAILED to test mmap() return value, instead of hardcoded -1.

  * libcdb-dev replaces tinycdb<0.76
2007-01-18 22:46:12 +00:00
jlam
c16221a4db Change the format of BUILDLINK_ORDER to contain depth information as well,
and add a new helper target and script, "show-buildlink3", that outputs
a listing of the buildlink3.mk files included as well as the depth at
which they are included.

For example, "make show-buildlink3" in fonts/Xft2 displays:

	zlib
	fontconfig
	    iconv
	    zlib
	    freetype2
	    expat
	freetype2
	Xrender
	    renderproto
2006-07-08 23:10:35 +00:00
jlam
9430e49307 Track information in a new variable BUILDLINK_ORDER that informs us
of the order in which buildlink3.mk files are (recursively) included
by a package Makefile.
2006-07-08 22:38:58 +00:00
rillig
96fc47c14f Aligned the last line of the buildlink3.mk files with the first line, so
that they look nicer.
2006-04-12 10:26:59 +00:00
reed
5abef9be14 Over 1200 files touched but no revisions bumped :)
RECOMMENDED is removed. It becomes ABI_DEPENDS.

BUILDLINK_RECOMMENDED.foo becomes BUILDLINK_ABI_DEPENDS.foo.

BUILDLINK_DEPENDS.foo becomes BUILDLINK_API_DEPENDS.foo.

BUILDLINK_DEPENDS does not change.

IGNORE_RECOMMENDED (which defaulted to "no") becomes USE_ABI_DEPENDS
which defaults to "yes".

Added to obsolete.mk checking for IGNORE_RECOMMENDED.

I did not manually go through and fix any aesthetic tab/spacing issues.

I have tested the above patch on DragonFly building and packaging
subversion and pkglint and their many dependencies.

I have also tested USE_ABI_DEPENDS=no on my NetBSD workstation (where I
have used IGNORE_RECOMMENDED for a long time). I have been an active user
of IGNORE_RECOMMENDED since it was available.

As suggested, I removed the documentation sentences suggesting bumping for
"security" issues.

As discussed on tech-pkg.

I will commit to revbump, pkglint, pkg_install, createbuildlink separately.

Note that if you use wip, it will fail!  I will commit to pkgsrc-wip
later (within day).
2006-04-06 06:21:32 +00:00
schmonz
da51292226 Don't forcibly override CFLAGS and other values pkgsrc might pass to
make(1). Idea from Andrzej Kukula in private mail.
2006-01-19 04:53:44 +00:00
schmonz
9aadcf7d4e Unquote a SUBST_MESSAGE to placate pkglint. 2006-01-19 04:41:09 +00:00
schmonz
8d110db4b1 Add buildlink3.mk. From Andrzej Kukula in private mail, with minor changes
by me.
2006-01-19 04:40:36 +00:00
schmonz
7df1d0fdb5 Initial import of tinycdb-0.75, a very fast and simple package for
creating and reading constant data bases, a data structure introduced
by Dan J. Bernstein in his cdb package. It may be used to speed up
searches in a sequence of (key,value) pairs with very big number
of records. Example usage is indexing a big list of users - where
a search will require linear reading of a large /etc/passwd file,
and for many other tasks. It's usage/API is similar to ones found
in BerkeleyDB, gdbm and traditional *nix dbm/ndbm libraries, and
is compatible in great extent to cdb-0.75 package by Dan Bernstein.

CDB is a constant database, that is, it cannot be updated at a
runtime, only rebuilt. Rebuilding is atomic operation and is very
fast - much faster than of many other similar packages. Once created,
CDB may be queried, and a query takes very little time to complete.
2006-01-07 06:47:10 +00:00