Commit Graph

1329 Commits

Author SHA1 Message Date
bin.liu
afcdcba16c low:fixed:Spelling error of failure in qbhdb.h
There are spelling error in include/qb/qbhdb.h, "failure" is
wroten as "faliure"
2016-06-06 09:49:29 +08:00
Chrissie Caulfield
70340f72f6 Merge pull request #211 from jnpkrn/CI-travis-clang
CI: make travis use also clang compiler (for good measure)
2016-05-06 12:36:55 +01:00
Jan Pokorný
43efb5197c
CI: make travis use also clang compiler (for good measure)
Also, unify the indentation.
2016-05-05 16:20:13 +02:00
Jan Pokorný
c61ee802d9
tests: make clang-friendly (avoid using run-time VLAs)
This is to also get libqb from the Debian's shame list:
http://clang.debian.net/status.php?version=3.4.2&key=VARIABLE_LENGTH_ARRAY
2016-05-05 16:19:28 +02:00
Chrissie Caulfield
0f1523ff09 Merge pull request #210 from jnpkrn/tests-ensure-failure-output
tests: ensure verbose output on failure w/ more recent automake
2016-04-29 10:08:04 +01:00
Jan Pokorný
8ab2799599
tests: ensure verbose output on failure w/ more recent automake
...so as to obtain a first glance diagnostics in all cases with possibly
remote build system preventing other means of investigation.
2016-04-28 21:56:05 +02:00
Chrissie Caulfield
267c2492e6 Merge pull request #209 from jnpkrn/header-based-versioning-PATCH-to-MICRO
API: header-based versioning: s/PATCH/MICRO
2016-04-19 10:56:28 +01:00
Jan Pokorný
5accb7ae8c
API: header-based versioning: s/PATCH/MICRO
Under the influence of libxml2 and considering that actual "patch"
information in fact, if significant, ends up encoded in QB_VER_REST,
shift away from convention codified, e.g., by semver.org (not adored
by libqb, anyway) and rename designated PATCH component of the version
to MICRO accordingly.

Note that at this point, after a release without any header-based
versioning present and just a few commits after it was tentatively
introduced, it's a painless change.  Once this PATCH nomenclature
is leaked into a full release, there's no way to get rid of it
reasonably...
2016-04-18 19:08:28 +02:00
Chrissie Caulfield
6f2b3e85d0 Merge pull request #208 from jnpkrn/update-git-version-gen
build: use latest git-version-gen from gnulib (rev. 6118065)
2016-04-07 14:04:39 +01:00
Chrissie Caulfield
15176fc360 Merge pull request #207 from jnpkrn/alternative-header-based-versioning
API: introduce alternative, header-based versioning
2016-04-07 14:04:17 +01:00
Jan Pokorný
bd31052e7d
build: persuade git-version-gen vMAJOR.MINOR tags just miss .0
Recent "v1.0" discovered this discrepancy propagated all around
and also this is not very compatible with the logic of commit 26d3911.

Treat missing "patch" component of the version as an implicit zero
to make such oddity go away.

Adjust spec file generation accordingly.
2016-04-04 16:08:18 +02:00
Jan Pokorný
5e1aef1ba4
build: use latest git-version-gen from gnulib (rev. 6118065)
Preserve, however, the modification by David Vossel to keep the script
working as expected also with lightweight tags (e.g., v1.0rc3).
2016-04-04 15:32:01 +02:00
Jan Pokorný
137b3dea5b
API: introduce alternative, header-based versioning
Mainly as a light-weight alternative to full-blown autoconf/pkg-config
machineries, whereby one can:

* workaround functionality not present in libqb up to 1.0 (inclusive)
  - note that this versioning schema is being introduced *after*
    1.0.0 release so one cannot tell that version from any older,
    but will be able to safely identify any later one (1.0.1+)
    and act accordingly
  - example:
  #if !defined(QB_VER_MAJOR) || ((QB_VER_MAJOR == 1) && (QB_VER_MINOR < 1))
  #warning "Feature X not supported"
  int do_foo(int arg) { };
  #else
  int
  do_foo(int arg)
  {
      /* use feature X of libqb */
  }
  #endif

* make its program report libqb API version it was built with by
  emitting QB_VER_STR symbolic string (see tests/print_ver.c for example)

Also added is a print_ver test program to:

* emit how original unparsed version is parsed to particular components
  defined in qbconfig.h (QB_VER_{MAJOR,MINOR,PATCH} symbolic integer
  constants and QB_VER_REST symbolic string) when being compiled

* emit mentioned QB_VER_STR symbolic string joining the components
  back to a single string, plus the components themselves

Resolves: https://github.com/ClusterLabs/libqb/issues/186
2016-04-01 23:19:40 +02:00
Chrissie Caulfield
67af307953 Merge pull request #196 from jnpkrn/demystify-qblog.h
Low: explain mysterious lines in a public header (qblog.h)
2016-04-01 16:01:14 +01:00
Chrissie Caulfield
6677fe6971 Merge pull request #191 from jnpkrn/refactor-test-case-defs
tests: refactor test case defs using versatile add_tcase macro
2016-04-01 15:44:36 +01:00
Chrissie Caulfield
6fc24f855b Merge pull request #205 from jnpkrn/docs-fix-make-doxygen
docs: fix "make doxygen" target not generating anything
2016-03-18 08:24:37 +00:00
Jan Pokorný
3ed7c63aef
docs: fix "make doxygen" target not generating anything 2016-03-17 20:33:30 +01:00
Chrissie Caulfield
b2d159f7ba Merge pull request #201 from jnpkrn/splint-better-support
build: better support for splint checker
2016-03-17 14:29:03 +00:00
Jan Pokorný
c12f729452
build: make splint check tolerant of existing defects 2016-03-17 15:16:19 +01:00
Jan Pokorný
28341438f4
build: make the code splint-friendly where not already 2016-03-17 15:13:58 +01:00
Jan Pokorný
8e9a296154
build: add flags for splint: +showscan +showsummary 2016-03-17 15:13:44 +01:00
Chrissie Caulfield
3d5dda3166 Merge pull request #204 from jnpkrn/docs-CURRENT-link
docs: make README.markdown always point to "CURRENT" docs
2016-03-17 14:13:38 +00:00
Jan Pokorný
82db489ee0
build: reorder LINT_FLAGS in a more logical way 2016-03-17 15:13:20 +01:00
Jan Pokorný
1d2fdbe61a
docs: make README.markdown always point to "CURRENT" docs 2016-03-17 15:08:56 +01:00
Chrissie Caulfield
1dae09fa95 Merge pull request #203 from jnpkrn/docs-refactor-doxygen
Docs: refactor doxygen configuration files
2016-03-17 13:14:29 +00:00
Svante Signell
6bd3f0865a Add Hurd support
* configure.ac: Define QB_GNU.
  Add a check for a working clock_getres for the CLOCK_MONOTONIC
  option defining HAVE_CLOCK_GETRES_MONOTONIC.

  * lib/log_thread.c: Replace second argument of
  qb_log_thread_priority_set(): logt_sched_param.sched_priority by 0
  when not supported by the OS.

  * lib/util.c: Use the CLOCK_REALTIME option in clock_getres() if
  HAVE_CLOCK_GETRES_MONOTONIC os not defined.
2016-03-17 13:47:16 +01:00
Jan Pokorný
4c4ac25cc9
docs: *.dox.in: comment out the defaults/empty values
This should also silent most of the warning when using older doxygen
to compile the docs.
2016-03-17 13:30:23 +01:00
Jan Pokorný
4393322950
docs: common.dox: use symbolic PROJECT_NAME 2016-03-17 13:29:50 +01:00
Jan Pokorný
464817579e
docs: {html,man}.dox.in: extract common parts to common.dox 2016-03-17 13:29:28 +01:00
Jan Pokorný
cd39a021f4
docs: {html,man}.dox.in: unify where reasonable 2016-03-17 13:27:44 +01:00
Jan Pokorný
ecdf33cf7c
docs: {html,man}.dox.in: strip options for unused outputs 2016-03-17 13:27:18 +01:00
Jan Pokorný
bc96571cd7
docs: apply "doxygen -u" on {html,man}.dox.in, fix deprecations
Previously, "make" in the top-level dir resulted in:

> doxygen man.dox
> warning: Tag `XML_SCHEMA' at line 1787 of file `man.dox' has become
>          obsolete.
>          To avoid this warning please remove this line from your
>          configuration file or upgrade it using "doxygen -u"
> warning: Tag `XML_DTD' at line 1793 of file `man.dox' has become
>          obsolete.

Reference doxygen version: doxygen-1.8.10-6.fc22.x86_64.

This is to serve as a reference full-blown versions only to be
subsequently compacted...
2016-03-17 13:26:58 +01:00
Jan Pokorný
cef7cab1eb
docs: enhance qb_log_ctl* description + fix doxygen warning 2016-03-17 13:26:17 +01:00
Chrissie Caulfield
0e8c01a027 Merge pull request #200 from jnpkrn/reenable-out-of-tree-build
build: fix out-of-tree build broken with 0b04ed5 (#184)
2016-03-17 11:13:13 +00:00
Chrissie Caulfield
84af6ddef0 Merge pull request #202 from jnpkrn/CI-drop-redundant-check
CI: "make check" already included in "make distcheck"
2016-03-17 09:29:20 +00:00
Jan Pokorný
e1bfb098be
CI: "make check" already included in "make distcheck"
No need to waste time on redundant tests execution.
2016-03-14 14:36:50 +01:00
Jan Pokorný
1b1ceeee29
build: tests: add intermediate check-headers target
This is to allow running auto_header_check-based tests independently of
the rest of the (possibly lengthy) tests.
2016-03-11 16:32:17 +01:00
Jan Pokorný
20c35217ab
build: fix preposterous usage of $(AM_V_GEN) 2016-03-11 08:04:47 +01:00
Jan Pokorný
9107af6fce
build: include: fix extra trailing newline 2016-03-10 22:44:49 +01:00
Jan Pokorný
86924d4c48
build: tests: grab "public_headers" akin to docs precedent
This required moving the test programs over from *_PROGRAMS and hooking
the respective build recipe under explicit "check" target.
2016-03-10 22:44:26 +01:00
Jan Pokorný
63dc43bb79
build: docs: {dependent -> public}_headers + more robust obtaining 2016-03-10 21:11:01 +01:00
Jan Pokorný
2468e46a56
build: extra clean-local rule instead of overriding clean-generic
Previously, stuffing CLEANFILES with anything would not work in the
affected files.
2016-03-10 21:06:29 +01:00
Jan Pokorný
328f99e72b
build: drop extra qbconfig.h rule for auto_check_header self-test
Although this is not as rigorously correct as the previous arrangement
(introduced with 80834ea), i.e., from the perspective of
$(abs_top_builddir)/tests/Makefile (generated from from
$(top_srcdir)/tests/Makefile.am), for which $(top_builddir)
is literally "..":

- qbconfig.h is generated from $(top_srcdir)/include/qb/qbconfig.h.in
  into $(top_builddir)/include/qb directory, and consumed from here

- rest of these header files are consumed directly from
  $(top_srcdir)/include/qb directory

this new simplified variant:

- avoids code duplication (DRY)

- works thanks to VPATH in $(abs_top_builddir)/tests/Makefile
  pointing to $(top_srcdir)/tests, which means that unsatisfied
  dependencies on "$(top_builddir)/include/qb/%.h" (resolved to
  "../include/qb/%.h") will be subsequently sought as
  "$(top_srcdir)/tests/../include/qb/%.h", which has the same effect
  as previous explicit "$(top_srcdir)/include/qb/%.h" specification
  (note that such automatic VPATH provision is supported by automake
   "since beginning" so no backward incompatibility is expected)
2016-03-10 18:13:31 +01:00
Jan Pokorný
b69c74357f
build: fix out-of-tree build broken with 0b04ed5 (#184)
Generating the man pages definitely doesn't depend on existence of
(possibly generated) header files that we omit anyway.
2016-03-10 16:37:16 +01:00
Chrissie Caulfield
63b97b2dea Merge pull request #199 from jnpkrn/CI-make-rpm
CI: make sure RPM can be built all the time
2016-03-10 09:18:49 +00:00
Chrissie Caulfield
bf83b9615a Merge pull request #198 from jnpkrn/build-prefer-xz
Build: prefer XZ tarball format
2016-03-10 08:50:18 +00:00
Jan Pokorný
9c8814522d
CI: make sure RPM can be built all the time
This is to prevent issues like the one being fixed with ebcff54
(https://github.com/ClusterLabs/libqb/pull/197).

Also, plain "make" invocation is dropped as it is an integral part
of "make rpm" (%build phase in libqb.spec).
2016-03-09 15:34:26 +01:00
Jan Pokorný
df5e8d6295
build: switch to XZ tarball format for {,s}rpm packaging
References:
http://rpm.org/gitweb?p=rpm.git;a=commit;h=8078d0b (~2009)
http://rpm.org/gitweb?p=rpm.git;a=commit;h=3d63df6 (ditto)
2016-03-08 21:38:37 +01:00
Jan Pokorný
134fa07b0d
build: do not try to second-guess "distdir" Automake variable
Also make {,s}rpm targets generate only the tarball format that is
consumed in the packaging process.
2016-03-08 21:38:03 +01:00
Christine Caulfield
41a83d1a86 build: update library soname to 0.18.0
as per guidelines here:
http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html

This shouldn't affect existing packages as the major version is still 0.

Signed-off-by: Christine Caulfield <ccaulfie@redhat.com>
2016-03-08 10:28:24 +00:00