barectf v3.0.0 v3.0.0
authorPhilippe Proulx <eeppeliteloop@gmail.com>
Thu, 24 Sep 2020 14:36:26 +0000 (10:36 -0400)
committerPhilippe Proulx <eeppeliteloop@gmail.com>
Fri, 25 Sep 2020 19:03:55 +0000 (15:03 -0400)
Signed-off-by: Philippe Proulx <eeppeliteloop@gmail.com>
README.adoc [new file with mode: 0644]
README.md [deleted file]
barectf/version.py
pyproject.toml

diff --git a/README.adoc b/README.adoc
new file mode 100644 (file)
index 0000000..8e70807
--- /dev/null
@@ -0,0 +1,110 @@
+// Render with Asciidoctor
+
+:version: 3.0
+
+ifndef::env-github[]
+:toc: left
+endif::env-github[]
+
+= barectf
+25 September 2020
+Philippe Proulx
+
+image::https://barectf.org/barectf-logo.svg[{nbsp}]
+
+https://pypi.python.org/pypi/barectf[image:https://img.shields.io/pypi/v/barectf.svg[]]
+https://ci.lttng.org/job/barectf_stable-{version}_build[image:https://img.shields.io/jenkins/s/https/ci.lttng.org/barectf_stable-{version}_build.svg[]]
+
+[.lead]
+https://barectf.org/[**_barectf_**] (from _bare_ metal and _CTF_)
+is a generator of
+https://en.wikipedia.org/wiki/Tracing_(software)[tracer] which produces
+https://diamon.org/ctf/[CTF] data streams.
+
+[NOTE]
+====
+This README mostly documents barectf development.
+
+To learn how to use barectf, read its
+https://barectf.org/docs/barectf/{version}/[documentation].
+====
+
+== Install barectf
+
+See the barectf documentation's
+https://barectf.org/docs/barectf/{version}/install.html[Install barectf]
+page.
+
+== Build barectf
+
+barectf is a https://python-poetry.org/[Poetry] project.
+
+To build barectf from this repository:
+
+. https://python-poetry.org/docs/#installation[Install Poetry].
+
+. Build the project:
++
+----
+$ poetry build
+----
++
+The `dist` directory contains the distribution archives.
+
+== Build the barectf documentation
+
+This repository contains an
+https://docs.antora.org/antora/2.3/component-version/[Antora
+documentation component version] under the `docs` directory.
+
+This component version is the source of the
+https://barectf.org/docs/barectf/{version}/[barectf documentation website].
+
+You can refer to this component version in your
+https://docs.antora.org/antora/2.3/playbook/[Antora playbook file],
+for example:
+
+[source,yaml]
+----
+site:
+  # ...
+content:
+  sources:
+    - url: https://github.com/efficios/barectf
+      branches: [stable-3.0]
+      start_path: docs
+    # ...
+ui:
+  # ...
+----
+
+== Test barectf
+
+To run the barectf tests:
+
+. Make sure you have the testing requirements:
+** A little-endian architecture.
++
+YAML configuration files of tracing tests use a little-endian
+native byte order.
+
+** https://tox.readthedocs.io/en/latest/install.html[tox]
+** A C{nbsp}compiler.
++
+If your C{nbsp}compiler is not the command `cc`, then set the `CC`
+environment variable to your compiler's path and export it to run
+the barectf tests.
+
+** https://www.gnu.org/software/make/[GNU Make]
+
+. Run the tests:
++
+----
+$ tox
+----
+
+== Get help
+
+See the barectf documentation's
+https://barectf.org/docs/barectf/{version}/get-help.html[Get help]
+page.
diff --git a/README.md b/README.md
deleted file mode 100644 (file)
index 2a2c0c8..0000000
--- a/README.md
+++ /dev/null
@@ -1,242 +0,0 @@
-![Icon made by Freepik from www.flaticon.com](https://lttng.org/blog/images/barectf.png)
-
-:bangbang: | ATTENTION: barectf is currently transitioning from v2 to v3. In the meantime, this README might be incorrect. New documentation will be written.
-:---: | :---
-
-[![](https://img.shields.io/pypi/v/barectf.svg)](https://pypi.python.org/pypi/barectf)
-[![Jenkins](https://img.shields.io/jenkins/s/https/ci.lttng.org/barectf_master_build.svg)](https://ci.lttng.org/job/barectf_master_build)
-
-_**barectf**_ is a command-line generator of ANSI C tracers which output
-[Common Trace Format](http://diamon.org/ctf) packets natively.
-
-You will find barectf interesting if:
-
-  1. You need to trace an application.
-  2. You need tracing to be efficient, yet flexible: record integers of
-     custom sizes and alignments, floating point numbers, enumerations
-     supported by a specific integer type, and null-terminated
-     UTF-8/ASCII strings (C strings).
-  3. You need to be able to convert the recorded binary events to
-     human-readable text, as well as analyze them with Python scripts
-     ([Babeltrace](http://diamon.org/babeltrace/) does all that,
-     given a CTF input). [Trace Compass](http://tracecompass.org/) is
-     another CTF-compatible application.
-  4. You _cannot_ use [LTTng](http://lttng.org/), an efficient tracing
-     framework for the Linux kernel and Linux/BSD user applications,
-     which also outputs CTF traces.
-
-The target audience of barectf is developers who need to trace [bare
-metal](https://en.wikipedia.org/wiki/Bare_machine) systems. The code
-produced by barectf is pure ANCI C (with one exception, see the current
-limitations below) and can be lightweight enough to fit on a tiny
-microcontroller.
-
-**Key features**:
-
-  * Single input: easy-to-write [YAML configuration
-    file](https://github.com/efficios/barectf/wiki/Writing-the-YAML-configuration-file).
-  * 1-to-1 mapping from tracing function parameters to event fields.
-  * Custom and bundled
-    [_platforms_](https://github.com/efficios/barectf/wiki/barectf-platform)
-    hiding the details of opening/closing packets and writing them to a
-    back-end (continuous tracing), getting the clock values, etc.:
-    * _linux-fs_: basic Linux application tracing platform which writes
-      stream files to the file system for demonstration purposes.
-    * _parallella_: Adapteva
-      Epiphany/[Parallella](http://parallella.org/) with host-side
-      consumer.
-  * CTF metadata is generated by the command-line tool (automatic trace
-    UUID, stream IDs, and event IDs).
-  * All basic CTF types are supported: integers, floating point numbers,
-    enumerations, and null-terminated strings (C strings).
-  * Binary streams produced by the generated tracer and metadata file
-    produced by barectf are CTF 1.8-compliant.
-  * Human-readable error reporting at generation time.
-  * barectf is written in Python 3, hence you can run the tool on
-    various platforms.
-  * Generated tracers are known to build with `gcc` (tested with the
-    IA-32, x86-64, MIPS, ARM, and AVR architectures), `g++`, `clang`,
-    `clang++`, [`8cc`](https://github.com/rui314/8cc),
-    [`tcc`](http://bellard.org/tcc/), VS2008 (with a custom `stdint.h`),
-    and VS2010.
-
-**Current limitations**:
-
-As of this version:
-
-  * All the generated tracing C functions, for a given barectf
-    stream-specific context, need to be called from the same thread, and
-    cannot be called from an interrupt handler, _unless_ a user-provided
-    synchronization mechanism is used.
-  * The generated C code needs the `stdint.h` header, which is new in
-    C99. If your standard C library does not have this header,
-    you can create one yourself and put it in one of your include
-    directories to define the following types according to your
-    architecture:
-    * `int8_t`
-    * `int16_t`
-    * `int32_t`
-    * `int64_t`
-    * `uint8_t`
-    * `uint16_t`
-    * `uint32_t`
-    * `uint64_t`
-  * CTF compound types (array, sequence, structure, variant) are not
-    supported yet, except at some very specific locations in the
-    metadata.
-
-
-## Installing
-
-Make sure you have Python 3 and `pip` for Python 3 installed, then
-install barectf.
-
-Note that you may pass the `--user` argument to
-`pip install` to install the tool in your home directory (instead of
-installing globally).
-
-**Ubuntu 14.04 and 16.04**:
-
-It is recommended to use the
-[barectf PPA](https://launchpad.net/~lttng/+archive/ubuntu/barectf),
-which also installs the man page:
-
-    sudo apt-add-repository ppa:lttng/barectf
-    sudo apt-get update
-    sudo apt-get install python3-barectf
-
-Otherwise, you can always use `pip3`:
-
-    sudo apt-get install python3-pip
-    sudo pip3 install barectf
-
-**Other, recent Ubuntu**:
-
-    sudo apt-get install python3-pip
-    sudo pip3 install barectf
-
-**Ubuntu 12.04 and lower**:
-
-    sudo apt-get install python3-setuptools
-    sudo easy_install3 pip
-    sudo pip3 install barectf
-
-**Debian**:
-
-    sudo apt-get install python3-pip
-    sudo pip3 install barectf
-
-**Fedora 20 and up**:
-
-    sudo yum install python3-pip
-    sudo pip3 install barectf
-
-**Arch Linux**:
-
-It is recommended to use the
-[AUR package](https://aur.archlinux.org/packages/barectf/), which also
-installs the man page. If you have
-[yaourt](https://archlinux.fr/yaourt-en):
-
-    sudo yaourt -Sy barectf
-
-Otherwise, you can always use `pip`:
-
-    sudo pacman -S python-pip
-    sudo pip install barectf
-
-**macOS (OS X)**:
-
-With [Homebrew](http://brew.sh/):
-
-    brew install python3
-    pip3 install barectf
-
-
-### Man page
-
-Since the philosophy of setuptools packages is to include everything
-within the package, the barectf man page is not installed on the system
-when installing barectf with `pip` or with `setup.py`. This would be the
-job of distribution packages.
-
-You can install it manually:
-
-    wget https://raw.githubusercontent.com/efficios/barectf/vVERSION/doc/man/barectf.1 -O /usr/local/man/man1/barectf.1
-
-Replace `VERSION` with the desired version, for example:
-
-    wget https://raw.githubusercontent.com/efficios/barectf/v2.1.4/doc/man/barectf.1 -O /usr/local/man/man1/barectf.1
-
-
-## What is CTF?
-
-See the [CTF in a nutshell](http://diamon.org/ctf/#ctf-in-a-nutshell)
-section of CTF's website to understand the basics of this
-trace format.
-
-The most important thing to understand about CTF, for barectf use
-cases, is the layout of a binary stream packet:
-
-  * Packet header (defined at the trace level)
-  * Packet context (defined at the stream level)
-  * Sequence of events (defined at the stream level):
-    * Event header (defined at the stream level)
-    * Stream event context (defined at the stream level)
-    * Event context (defined at the event level)
-    * Event payload (defined at the event level)
-
-The following diagram, stolen without remorse from CTF's website, shows
-said packet layout:
-
-![](http://diamon.org/ctf/img/ctf-stream-packet.png)
-
-Any of those six dynamic scopes, if defined at all, has an associated
-CTF type. barectf requires them to be structure types.
-
-
-## Using
-
-See the [project's wiki](https://github.com/efficios/barectf/wiki) which
-contains all the information needed to use barectf.
-
-
-## Testing
-
-Bash is required for testing barectf.
-
-The barectf tests execute the `barectf` command available in your
-`$PATH`. The best way to test a specific version of barectf is to create
-a Python 3 [virtual environment](https://virtualenv.pypa.io/en/latest/),
-install the appropriate version, and then run the tests.
-
-In the barectf source tree root, do:
-
-    virtualenv --python=python3 virt
-    . ./virt/bin/activate
-    rehash # if using zsh
-    ./setup.py install
-    (cd tests && ./test.bash)
-
-You can specify [Bats](https://github.com/sstephenson/bats) options to
-`./test.bash`, like `--tap` to get a [TAP](https://testanything.org/)
-output.
-
-You can exit the virtual environment by running `deactivate`.
-
-
-## Community
-
-Since the barectf community is small, it's sharing the communication
-channels of the [LTTng](http://lttng.org/) project,
-as [EfficiOS](http://www.efficios.com/) is the main sponsor of both
-projects. It goes like this:
-
-| Item | Location | Notes |
-| --- | --- | --- |
-| Mailing list | [lttng-dev](https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev) (`lttng-dev@lists.lttng.org`) | Preferably, use the `[barectf]` subject prefix |
-| IRC | [`#lttng`](irc://irc.oftc.net/lttng) on the OFTC network | More specifically, query `eepp` (barectf's maintainer) on this network or on freenode |
-| Code contribution | Create a new GitHub [pull request](https://github.com/efficios/barectf/pulls) | |
-| Bug reporting | Create a new GitHub [issue](https://github.com/efficios/barectf/issues/new) | |
-| Continuous integration | [barectf item on LTTng's CI](https://ci.lttng.org/job/barectf/) | |
-| Blog | The [LTTng blog](http://lttng.org/blog/) contains many posts about barectf | |
index a899b869cdb5958f53bf399239052659b5e85951..4719c6323a950602bdee9620888f1bbd7b4cf2cd 100644 (file)
@@ -21,8 +21,8 @@
 # TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
 # SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 
-__major_version__ = 2
-__minor_version__ = 3
-__patch_version__ = 1
+__major_version__ = 3
+__minor_version__ = 0
+__patch_version__ = 0
 __pre_version__ = ''
 __version__ = f'{__major_version__}.{__minor_version__}.{__patch_version__}{__pre_version__}'
index c21e0a29b51894e6da69ab461c659de59def7d39..ef27e60c5424aeaeeb29462a0affa37c7b2322c2 100644 (file)
@@ -27,11 +27,10 @@ build-backend = 'poetry.masonry.api'
 
 [tool.poetry]
 name = 'barectf'
-version = '2.3.1'
+version = '3.0.0'
 description = 'Generator of ANSI C tracers which output CTF data streams'
 license = 'MIT'
 authors = ['Philippe Proulx <eeppeliteloop@gmail.com>']
-readme = 'README.md'
 homepage = 'https://barectf.org/'
 repository = 'https://github.com/efficios/barectf/'
 keywords = [
@@ -75,3 +74,4 @@ barectf = 'barectf.cli:_run'
 'Bug tracker' = 'https://github.com/efficios/barectf/issues/'
 'Code review' = 'https://review.lttng.org/admin/repos/barectf'
 'Continuous integration' = 'https://ci.lttng.org/job/barectf_master_build/'
+'Commercial support' = 'https://www.efficios.com/contact/'
This page took 0.02734 seconds and 4 git commands to generate.