[ANNOUNCE] libbsd 0.3.0 released

Guillem Jover guillem at hadrons.org
Thu Jun 2 11:16:33 PDT 2011


Hi!

The main purpose of the project is to keep collecting useful functions
and macros commonly found on BSD systems on basic libraries like libc or
libutil, and lacking on others like GNU systems, thus making it easier
to port code from BSDs, without needing to embed the same code over and
over again on each project.

It currently assumes mostly a GNU based system to run on, but I'd gladly
accept patches or make it build on other systems if people would request
it or report build or runtime issues.


The major changes in this release include:

* Build system fixes.
* New functions: fpurge(3), getpeereid(3), mergesort(3), radixsort(3),
  sradixsort(3) and reallocf(3).
* New headers: <bsd/sys/bitstring.h>, <bsd/sys/endian.h> and
  <bsd/sys/poll.h>.
* New man pages: heapsort(3) and mergesort(3).
* Updates to functions:
  - Fix setprogname(3) to strip leading paths from progname.
  - Initialize __progname to program_invocation_short_name.
  - Map getopt(3) to bsd_getopt(3) if we are using the overlay.
* Updates to headers:
  - Expose arc4random_buf(3) and arc4random_uniform(3) functions.
  - Add new function attributes: __packed, __aligned and __nonnull.
  - Deprecated headers can now be easily detected by defining the
    preprocessor macro LIBBSD_DISABLE_DEPRECATED, these will be
    removed in the next minor release (0.4.0).
  - Move all headers under <includedir>/bsd, to not clutter the
    namespace, keep compatibility headers for now in the old location,
    there will be removed in the next minor release (0.4.0).
  - Merge <bsd/getopt.h> into <bsd/unistd.h> to be BSD compatible.
* New transparent building support to avoid major modifications to the
  source code. Using the new libbsd-overlay pkg-config file the include
  hierarchy under <includedir>/bsd will act as a portability overlay
  on top of the system one transparently extending it by defining
  missing macros or function prototypes.


Git tag: 0.3.0

Source tarball:
  <http://libbsd.freedesktop.org/releases/libbsd-0.3.0.tar.gz>

GPG signature:
  <http://libbsd.freedesktop.org/releases/libbsd-0.3.0.tar.gz.asc>

Checksums (MD5 and SHA1):
  833e58531b4bd84b119b53d834d8e0d8  libbsd-0.3.0.tar.gz
  cb294a6123fb1dd173369144adfcaccb278db310  libbsd-0.3.0.tar.gz

Changes since 0.2.0:

Aurelien Jarno (1):
      Add reallocf function

Eric Smith (1):
      build: Install shared library with 755 permission

Guillem Jover (41):
      Make setprogname and getprogname arguments and return value const
      Fix setprogname to strip leading paths from progname
      build: By default set CC to gcc
      build: Use CCLD instead of hardcoded gcc for linking
      build: Refactor COMPILER and LINK commands into new variables
      build: Use new AR variable instead of hardcoded command
      build: Use proper user variables during build
      Add getpeereid function
      Add new mergesort function
      Add man pages for heapsort and mergesort
      Add new radixsort and sradixsort functions
      Add new <bsd/sys/bitstring.h> header
      Initialize __progname to program_invocation_short_name
      Generalize pkg-config file handling
      Move each version symbol declaration into its own line
      Add support for transparent compilation
      Move all header files to /usr/include/bsd/ and deprecate /usr/include/
      Update libbsd header references in man pages
      Correct library name in man pages
      Conditionalize temporary compatibility inclusions
      Conditionalize <time.h> inclusion from <bsd/bsd.h>
      Add fpurge function
      Abort compilation if fgetln cannot be wrapped
      Rename transparent support to overlay
      Map getopt to bsd_getopt if we are using the overlay
      Define _SYS_CDEFS_H and _SYS_CDEFS_H after including <sys/cdefs.h>
      Define <sys/cdefs.h> attributes conditional to the supported gcc version
      Define __dead2 and __pure2 to actual gcc attributes if possible
      Add new __packed, __aligned and __nonnull attributes
      Add new <bsd/sys/endian.h> header
      Add new <bsd/sys/poll.h> header
      Namespace header protector in <bsd/sys/cdefs.h> with LIBBSD_SYS_
      Rename LIBBSD_CLEAN_INCLUDES to LIBBSD_DISABLE_DEPRECATED
      Condense and clarify header deprecation warnings
      Add LIBBSD_DISABLE_DEPRECATED to deprecated headers
      Do not use the same header inclusion protector for <nlist.h> and <bsd/nlist.h>
      Include the correct deprecated headeres when using the overlay
      Move bsd_getopt() from <bsd/getopt.h> to <bsd/unistd.h>
      Remove blank lines at EOF
      Add a COPYING file to ease the distributors work
      Release libbsd 0.3.0

Kevin McCarthy (1):
      Add missing prototypes for arc4random_buf and arc4random_uniform

regards,
guillem
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 198 bytes
Desc: Digital signature
URL: <http://lists.freedesktop.org/archives/libbsd/attachments/20110602/b5f0239d/attachment.pgp>


More information about the libbsd mailing list