Commit Graph

1144 Commits

Author SHA1 Message Date
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
Chrissie Caulfield
d2fc58d8d7 Merge pull request #197 from kskmori/syslog-tests-rpm
build: do not install syslog_override for the RPM packaging
2016-03-08 09:16:03 +00:00
Keisuke MORI
ebcff547bc build: do not install syslog_override for the RPM packaging 2016-03-08 01:55:07 +00:00
Chrissie Caulfield
043cebb29e Merge pull request #190 from jnpkrn/build-syslog-tests-followup
build: syslog tests follow-up
2016-03-01 15:34:11 +00:00
Jan Pokorný
4239f4b833
build: enable syslog tests when configuring in spec
...hence make syslog tests executed in %check.
2016-03-01 14:37:31 +01:00
Jan Pokorný
c8fc62573f
build: fix tests/_syslog_override.h not being distributed
...in the tarball arising from "make dist".
2016-03-01 14:36:39 +01:00
Christine Caulfield
f439488261 travis: Add a normal 'make' to the checks
make check doesn't build the docs and so errors in that part of
the build system will not be checked without a normal 'make'.

Signed-off-by: Christine Caulfield <ccaulfie@redhat.com>
2016-02-22 16:02:25 +00:00
Chrissie Caulfield
0aa67067bb Merge pull request #185 from jnpkrn/followup-fixes
Follow-up fixes
2016-02-22 14:09:20 +00:00
Jan Pokorný
e490932907
build: GCC < 4.6 does not support diagnostic push/pop pragmas
Better to get sort of a spurious warning then to possibly mess up
with a warnings safety net.

Reported by Chrissie (thanks).
2016-02-22 14:51:19 +01:00
Jan Pokorný
4df20fbb53
build: fix man3 pages not installed
Issue with original version of the patch spotted by Chrissie (thanks).
2016-02-22 14:50:37 +01:00
Chrissie Caulfield
91fd29f077 Merge pull request #179 from dpejesh/socket
socket improvements for freebsd
2016-02-22 10:40:19 +00:00
Chrissie Caulfield
21ca3b4fbf Merge pull request #184 from jnpkrn/maint-no_magic-build_manpages
Maintainance: no magic + better manpages building
2016-02-22 09:46:25 +00:00
Chrissie Caulfield
7b9b72e690 Merge pull request #181 from jnpkrn/log-target-slot-enum
log: enum qb_log_target_slot introduction + qblog.h cleanup
2016-02-22 09:45:32 +00:00
Jan Pokorný
792c34bf6b
build: header-based man pages: include also qbdefs.h+qbrb.h
No reason not to do that.  Situation with qbconfig.h is a bit more
complicated as this file gets generated from .in file and there is
currently no reliable inter-dir/makefile (siblings) targets
dependency tracking in place, AFAICT.
2016-02-18 19:04:48 +01:00
Jan Pokorný
cf1588c6ec
build: header-based man pages: dependent_headers - blacklist
IOW, make tracking of interfaces to document via man pages maintainable.
2016-02-18 18:56:54 +01:00
Jan Pokorný
0b04ed5e77
build: grab "dependent_headers" from respective Makefile.am
...with "echo path/*.h" fallback (equivalent of wildcard function) if
the new methods fails for some reason.
2016-02-18 18:33:14 +01:00
Jan Pokorný
cabe021d47
build: fix "dependant" typo 2016-02-18 18:28:03 +01:00
Jan Pokorný
c36a00929b
Low: no magic constants + gethostname usage sanity 2016-02-18 16:45:51 +01:00
Chrissie Caulfield
c242bada46 Merge pull request #177 from jnpkrn/changing-syslog-identifier-nicer
Changing syslog identifier + testing syslog, preferred edition
2016-02-18 15:32:33 +00:00
Chrissie Caulfield
c4c4ca8464 Merge pull request #180 from jnpkrn/example-simplelog-stdout
example: simplelog supports -o (for stdout sink)
2016-02-18 14:58:38 +00:00
Chrissie Caulfield
6137f654e3 Merge pull request #178 from jnpkrn/format-annotations
build: avoid too keen -Wmissing-format-attribute warning
2016-02-18 11:37:56 +00:00
Chrissie Caulfield
3b7b50dead Merge pull request #183 from jnpkrn/doc-fix-overview
Doc: fix overview
2016-02-18 11:14:50 +00:00
Jan Pokorný
7b10be7401
CI: restore travis notifications, IRC this time around
While quarterback [dash] devel [at] lists [dot] fedorahosted [dot] org,
original notification target and development ML seems long gone (without
archives preserved!), let's use #clusterlabs-dev at freenode IRC
network.  This is in-line with the purpose of the channel and it's what
clufter, crmsh and hawk seem to be currently using.
2016-02-18 12:06:28 +01:00
Jan Pokorný
fa73c21ae4
CI: enable recently added syslog-tests in .travis.yml 2016-02-18 11:32:55 +01:00
Jan Pokorný
0fc2757546
CI: .travis.yml cosmetics 2016-02-18 11:32:40 +01:00
Jan Pokorný
642f74de61
Feature: allow changing the identifier for syslog (+tests)
Original "qb_log_ctl" interface had to be extended for passing read-only
strings (new parameter), resulting in new "qb_log_ctl2" function, which
is what qb_log_ctl calls into with the new parameter set to NULL.
This ensures backward compatibility.

A new QB_LOG_CONF_IDENT configuration directive for the mentioned
interface is added with a goal to set new internal identifier
that is, notably, used for syslog sink.  This allows for switching
the identification without a need to reinitialize logging subsystem,
akin to changing target logging facility.

Also a brand new concept of testing syslog sink in particular is
introduced (finally).  During initial trial&error stage, it used
LD_PRELOAD hack but it seems that libtool is sophisticated enough
that no such extra intervention is needed and the desired symbol
resolution Just Works (tm).  However, the technique is highly
non-portable (there is even a warning about that from libtool,
which is partially on purpose as the _syslog_override.so should
rather be explicit it is by no mean a regular library) and hence
the syslog tests have to be enabled with explicit

    ./configure --enable-syslog-tests

rather than possibly break on untested platforms (far too many).
The concept can be extended upon, but initially, just the new
feature is being tested.

Post-review: thanks Chrissie for a suggestion how to deal with
extract-arg-and-forget in a less intrusive way (no defines).
2016-02-18 11:30:14 +01:00
Jan Pokorný
837108b02a
qblog.h: fix typos and make stylistic enhancements 2016-02-16 18:10:10 +01:00
Jan Pokorný
78d5d1686a
qblog.h: unify descriptions before the code examples
- use semicolons at the end of the description
- use commas when there can be an issue with parsing a long sentence
  (and wrap such text at 79 characters if applicable)
2016-02-16 18:08:46 +01:00
Jan Pokorný
7a290093d0
log: convert few more instances to use enum qb_log_target_slot 2016-02-16 18:08:13 +01:00
Jan Pokorný
2198893c3e
log: refactor static target slots state initialization
It doesn't matter that also syslog is disabled first, as it will get
enabled few lines later on (uniformity + simplicity > optimization +
complexity).
2016-02-16 18:07:45 +01:00
Jan Pokorný
807c7dc34a
log: better (fixed) documentation for funcs returning "slot" index
Also add missing "stdout" to the enumerations of the static ones.
2016-02-16 18:06:52 +01:00