This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "GSM Audio Pocket Knife".
The branch, fixeria/lib has been created at 3cf11d824385e06a96b318766d7e6708e49b3215 (commit)
- Log ----------------------------------------------------------------- http://cgit.osmocom.org/gapk/commit/?id=3cf11d824385e06a96b318766d7e6708e49b...
commit 3cf11d824385e06a96b318766d7e6708e49b3215 Author: Vadim Yanitskiy axilirator@gmail.com Date: Fri Sep 15 19:34:44 2017 +0430
tests: add format / codec transcoding tests
This test group is intended to check the format / codec transcoding capabilities of the library. The reference files are used to ensure that encoding or decoding was successful.
The following formats are currently being tested:
- amr_efr - gsm - racal_hr - racal_fr - racal_efr - ti_hr - ti_fr - ti_efr - rtp_efr - rtp_hr_etsi - rtp_hr_ietf
http://cgit.osmocom.org/gapk/commit/?id=f7d53964d372a64ccbad419cedf33c360442...
commit f7d53964d372a64ccbad419cedf33c360442a28f Author: Vadim Yanitskiy axilirator@gmail.com Date: Fri Sep 15 19:17:21 2017 +0430
osmo-gapk: fix I/O count check condition
The stdin / stdout operation was broken by a new check condition, introduced by the 15fa605576a81803c57a144231e9e9720aa133a1.
http://cgit.osmocom.org/gapk/commit/?id=c24199263f070fe68b778cab82bb93327b0f...
commit c24199263f070fe68b778cab82bb93327b0f07c1 Author: Vadim Yanitskiy axilirator@gmail.com Date: Thu Sep 14 15:20:50 2017 +0430
tests: add pq_rtp test
This test is intended to check the RTP source / sink operability. To do this, two processing queues are being allocated:
"generator": source/random -> sink/rtp "checker": source/rtp -> sink/checker
The first one generates some amount of random bytes (payload), and stores them inside a buffer that is shared between both queues.
After generation, a payload is being sent from the first queue via an RTP sink, and then being received by the second via an RTP source.
As both queues do use a shared buffer, the last item of the second queue (named 'sink/checker') is able to compare a received payload with expected.
http://cgit.osmocom.org/gapk/commit/?id=8e3d622262859145d6e8bc8ab4083ef97728...
commit 8e3d622262859145d6e8bc8ab4083ef97728a8f2 Author: Vadim Yanitskiy axilirator@gmail.com Date: Tue Sep 12 19:07:52 2017 +0300
tests: add pq_file test
This test is intended to check the file source / sink operability. To do that, the following processing chain is being composed:
source/file -> proc/dummy -> sink/file (stdout)
The source item opens the sample file named 'io_sample.txt' for reading. The next processing item simply converts all uppercase latters to the lowercase. The last one writes the result to stdout.
This processing cycle is being repeated several times with different block length values.
http://cgit.osmocom.org/gapk/commit/?id=2f5c8ae7ec445a5c327a584bffc4b17b53d7...
commit 2f5c8ae7ec445a5c327a584bffc4b17b53d7f7c0 Author: Vadim Yanitskiy axilirator@gmail.com Date: Tue Sep 12 15:32:52 2017 +0300
tests: add procqueue test
This test is intended to validate the processing queue management API. Moreover, the talloc debugging API is used to ensure that there are no memory leaks.
First, four processing queues are being allocated. One of them is empty, while others have different count of items. Then the human-readable description is being generated for all of them. And finally, the processing and exit cllback are being tested.
During the test execution, the talloc NULL-context tracking feature is enabled, allowing to observe every memory allocation within the libosmogapk, and to detect memory leaks.
http://cgit.osmocom.org/gapk/commit/?id=0f08d56e36bbd998a5bd10ec17f2001f03fb...
commit 0f08d56e36bbd998a5bd10ec17f2001f03fb584c Author: Vadim Yanitskiy axilirator@gmail.com Date: Tue Sep 12 15:26:31 2017 +0300
Init automake test environment
http://cgit.osmocom.org/gapk/commit/?id=e8b882412b035637bec7edbd8b885c026e4f...
commit e8b882412b035637bec7edbd8b885c026e4f7040 Author: Vadim Yanitskiy axilirator@gmail.com Date: Tue Sep 12 01:30:48 2017 +0300
procqueue: allocate an output buffer as named chunk
The talloc_size() call sets the current file name and the current line number as name for chunk being allocated. This combination is not so informative during debugging, so let's use the static '.buffer' string as context name for item's output buffer.
http://cgit.osmocom.org/gapk/commit/?id=b755032efda89dc2d16356dbaec3f9cdfded...
commit b755032efda89dc2d16356dbaec3f9cdfded4354 Author: Vadim Yanitskiy axilirator@gmail.com Date: Tue Sep 12 01:17:26 2017 +0300
procqueue: set talloc name and context for queue description
Previously a queue description string was allocated without setting proper parental talloc context and proper name.
http://cgit.osmocom.org/gapk/commit/?id=46df43543a9ea12acd0d0bf88a6e50aad7f1...
commit 46df43543a9ea12acd0d0bf88a6e50aad7f14201 Author: Vadim Yanitskiy axilirator@gmail.com Date: Sun Sep 10 16:32:48 2017 +0300
src/libosmogapk.map: export osmo_gapk_* with a wilcard
http://cgit.osmocom.org/gapk/commit/?id=bf64774bc79bd728e802d6366a95341ebe13...
commit bf64774bc79bd728e802d6366a95341ebe13fbca Author: Vadim Yanitskiy axilirator@gmail.com Date: Sun Sep 10 16:27:04 2017 +0300
procqueue: use queue / item names in logging
http://cgit.osmocom.org/gapk/commit/?id=f012219d97af791e800850b25237274851bd...
commit f012219d97af791e800850b25237274851bdae0b Author: Vadim Yanitskiy axilirator@gmail.com Date: Sun Sep 10 16:00:43 2017 +0300
procqueue: separate queue check function
In order to give advanced control over a processing queue, it would be better to have the checking function separated from the osmo_gapk_pq_prepare(). Moreover, this change introduces an additional 'strict' checking mode that requires a queue to have a source item first and a sink item in the last position.
http://cgit.osmocom.org/gapk/commit/?id=f269356136d580d8175657cb68dc05a9c709...
commit f269356136d580d8175657cb68dc05a9c709f5a5 Author: Vadim Yanitskiy axilirator@gmail.com Date: Sat Sep 9 21:44:16 2017 +0300
procqueue: add item catedory and sub-category fields
This change adds two meta-information fields to the processing queue item structure. Both of them will be used for more detailed logging and for the human-readable processing queue description.
http://cgit.osmocom.org/gapk/commit/?id=8bf80936be6daa963cc99f92b7318066fd9b...
commit 8bf80936be6daa963cc99f92b7318066fd9bc9eb Author: Vadim Yanitskiy axilirator@gmail.com Date: Sat Sep 9 20:57:13 2017 +0300
procqueue: add item type enum (source, sink, proc)
There are currently three types of prcessing queue items:
- source (file, alsa, rtp) - proc (format, codec) - sink (file, alsa, rtp)
Let's assign corresponding type for each item. This would facilitate logging and the queue checking.
http://cgit.osmocom.org/gapk/commit/?id=41d428bf6435e9aa12ba185acc7339985d6b...
commit 41d428bf6435e9aa12ba185acc7339985d6bd52c Author: Vadim Yanitskiy axilirator@gmail.com Date: Sat Sep 9 20:43:28 2017 +0300
procqueue: add human-readable name to osmo_gapk_pq
Since this change, every processing queue may optionally have an associated human-readable name. If name is not required, NULL should be passed to the osmo_gapk_pq_create().
http://cgit.osmocom.org/gapk/commit/?id=b846b9a8eda3ae9b16e6d1a26357d6433733...
commit b846b9a8eda3ae9b16e6d1a26357d64337336745 Author: Vadim Yanitskiy axilirator@gmail.com Date: Sat Sep 9 14:48:49 2017 +0300
libosmogapk: drop an 'osmo' prefix from internal log variables
It would be better to have an 'osmo_gapk' prefix for exposed symbols only. Both internal logging variables aren't exposed, so they shouldn't have one.
http://cgit.osmocom.org/gapk/commit/?id=080b912d99c92188fc7be75e3b24126da67d...
commit 080b912d99c92188fc7be75e3b24126da67d64dc Author: Vadim Yanitskiy axilirator@gmail.com Date: Sat Sep 9 14:44:24 2017 +0300
osmo-gapk: use talloc for memory management
http://cgit.osmocom.org/gapk/commit/?id=a2a6317a963e0e55b760368f51c66a8e667b...
commit a2a6317a963e0e55b760368f51c66a8e667b92f0 Author: Vadim Yanitskiy axilirator@gmail.com Date: Sat Sep 9 14:23:56 2017 +0300
libosmogapk: introduce the internal root talloc context
In order to simplify memory leak debugging, this change introduces the library's internal talloc context that may be changed by external application by calling the osmo_gapk_set_talloc_ctx().
http://cgit.osmocom.org/gapk/commit/?id=4a77ee720a79e5e8f1e7b9e975d27c19c094...
commit 4a77ee720a79e5e8f1e7b9e975d27c19c094b316 Author: Vadim Yanitskiy axilirator@gmail.com Date: Sat Sep 9 14:09:55 2017 +0300
libosmogapk: rename the 'logging.c' to 'common.c'
There are not so much code, related to internal logging subsystem. So, there is no reason to keep a few lines in a dedicated file. In the future one may also be used for other routines.
http://cgit.osmocom.org/gapk/commit/?id=7f1aa98a8f2da8dbe13507f763274b41824e...
commit 7f1aa98a8f2da8dbe13507f763274b41824e477d Author: Vadim Yanitskiy axilirator@gmail.com Date: Sat Sep 9 13:48:38 2017 +0300
libosmogapk: fix memory leak in both AMR and EFR codecs
The memory, allocated by codec_efr_init() / codec_amr_init(), was not cleaned after calling the codec_exit(). Found using talloc memory debugging API.
http://cgit.osmocom.org/gapk/commit/?id=17b5ba93109743664d17df7bd89e1f44544b...
commit 17b5ba93109743664d17df7bd89e1f44544b3fa3 Author: Vadim Yanitskiy axilirator@gmail.com Date: Sat Sep 9 12:10:08 2017 +0300
libosmogapk: use talloc for memory management
http://cgit.osmocom.org/gapk/commit/?id=15fa605576a81803c57a144231e9e9720aa1...
commit 15fa605576a81803c57a144231e9e9720aa133a1 Author: Vadim Yanitskiy axilirator@gmail.com Date: Fri Sep 8 11:13:49 2017 +0300
osmo-gapk: fix I/O combinations check
Previously both ALSA source and sink were out of attention.
http://cgit.osmocom.org/gapk/commit/?id=a9f3a4fb5ac57fb50898eec8a61333bc034c...
commit a9f3a4fb5ac57fb50898eec8a61333bc034c087d Author: Vadim Yanitskiy axilirator@gmail.com Date: Fri Sep 8 10:55:05 2017 +0300
configure.ac: use actual bug report address in AC_INIT
http://cgit.osmocom.org/gapk/commit/?id=27cc5fbbcb2b5649c9bca452e8a00335d9a2...
commit 27cc5fbbcb2b5649c9bca452e8a00335d9a278a7 Author: Vadim Yanitskiy axilirator@gmail.com Date: Fri Sep 8 00:05:02 2017 +0300
osmo-gapk: wait until sink finish processing
Previously the osmo-gapk application used to exit as soon as all the frames are processed, no matter has the sink finished its internal processing (e.g. ALSA playback).
http://cgit.osmocom.org/gapk/commit/?id=01edb56d7bb082ecc187254c2f0a54178dd9...
commit 01edb56d7bb082ecc187254c2f0a54178dd9ff3f Author: Vadim Yanitskiy axilirator@gmail.com Date: Fri Sep 8 00:02:20 2017 +0300
src/pq_alsa.c: implement processing state callback
Using the snd_pcm_avail_update() call from ALSA API it's possible to know, how much samples are still to be processed.
http://cgit.osmocom.org/gapk/commit/?id=8923276018b9a8d5ebafa2e18676fe6b8cef...
commit 8923276018b9a8d5ebafa2e18676fe6b8cef26a4 Author: Vadim Yanitskiy axilirator@gmail.com Date: Thu Sep 7 18:42:49 2017 +0300
procqueue: add processing state callback
In some cases it's required to wait for some queue items to finish processing. For example, the ALSA sink writes the audio samples to the buffer in non-blocking mode, so as soon as all of them will be written, a program may finish execution, causing the playback abort.
To prevent that, this change extends the library's API, allowing each queue item to have a processing state callback that returns a positive integer if processing is not finished yet, and 0 otherwise.
http://cgit.osmocom.org/gapk/commit/?id=3e8cfdea6a2e1da03b6601c96b87d2a5683c...
commit 3e8cfdea6a2e1da03b6601c96b87d2a5683c73c6 Author: Vadim Yanitskiy axilirator@gmail.com Date: Thu Sep 7 17:51:35 2017 +0300
osmo-gapk: abort the processing queue on SIGINT
Instead of immediately shutting down the application, it is better to try to break the processing queue first, and stop the execution immediately if second SIGINT is received.
http://cgit.osmocom.org/gapk/commit/?id=0d177795d1ffe70d926281034116d7319926...
commit 0d177795d1ffe70d926281034116d73199265202 Author: Vadim Yanitskiy axilirator@gmail.com Date: Thu Sep 7 17:39:24 2017 +0300
osmo-gapk: adjust application verbosity
This change allows user to enable advanced verbosity using the '-v' command line option, which is disabled by default.
http://cgit.osmocom.org/gapk/commit/?id=3d5a901ffe24ab38a2050afca7a146d840a1...
commit 3d5a901ffe24ab38a2050afca7a146d840a1f303 Author: Vadim Yanitskiy axilirator@gmail.com Date: Thu Sep 7 17:10:14 2017 +0300
osmo-gapk: use Osmocom logging framework
http://cgit.osmocom.org/gapk/commit/?id=caeee8214084f8949e855780ce1cbfd42a51...
commit caeee8214084f8949e855780ce1cbfd42a514e78 Author: Vadim Yanitskiy axilirator@gmail.com Date: Thu Sep 7 16:48:27 2017 +0300
osmo-gapk: drop useless printf calls
The printf() writes the text into stdout, which may be undesirable in some use cases. Moreover, the printed information was redundant. So, let's drop such calls.
http://cgit.osmocom.org/gapk/commit/?id=1e220b9f3c2a0d9a1a6ea39d0972a207a511...
commit 1e220b9f3c2a0d9a1a6ea39d0972a207a51168bd Author: Vadim Yanitskiy axilirator@gmail.com Date: Thu Sep 7 16:36:56 2017 +0300
libosmogapk: use Osmocom logging framework
Since this change, the libosmogapk uses the Osmocom logging framework. By default, logging is disabled and could be enabled by the external applications calling the osmo_gapk_log_init() with a desired log target as an argument.
http://cgit.osmocom.org/gapk/commit/?id=d02ada5c46a8938f5d9fd09e255dc6501937...
commit d02ada5c46a8938f5d9fd09e255dc6501937785d Author: Vadim Yanitskiy axilirator@gmail.com Date: Thu Sep 7 00:04:01 2017 +0300
osmo-gapk: use more convenient name for the source file
Since GAPK package contains a library and the representative osmo-gapk application, the 'main.c' looks a bit confusing. Let's use the common naming scheme.
http://cgit.osmocom.org/gapk/commit/?id=d8bdf47aaffb768c26b89511d1af7bce6165...
commit d8bdf47aaffb768c26b89511d1af7bce616543d2 Author: Vadim Yanitskiy axilirator@gmail.com Date: Wed Sep 6 23:53:30 2017 +0300
osmo-gapk: create a common shutdown function
Previously the code intended to shutdown the osmo-gapk application was repeated two times. It's better to have a single function.
http://cgit.osmocom.org/gapk/commit/?id=6e0fe0e103612e01817dba857f5077adeb87...
commit 6e0fe0e103612e01817dba857f5077adeb87ea84 Author: Vadim Yanitskiy axilirator@gmail.com Date: Wed Sep 6 23:42:19 2017 +0300
osmo-gapk: add an option to enable / disable benchmark
If the codec benchmarking is required in particular case, it could be activated by a special command line option introduced by this change.
http://cgit.osmocom.org/gapk/commit/?id=a3b4fb8be1bb9316443dedab0dcf9079328f...
commit a3b4fb8be1bb9316443dedab0dcf9079328f13a6 Author: Vadim Yanitskiy axilirator@gmail.com Date: Fri Sep 1 16:19:40 2017 +0700
procqueue: use linuxlist to store queue items
The usage of linuxlist is more flexible than having a limited array of pointers. This approach allows to have as much items in a processing queue as required.
http://cgit.osmocom.org/gapk/commit/?id=cd2da365a81999db5a092b6bfb984d57b471...
commit cd2da365a81999db5a092b6bfb984d57b471883e Author: Vadim Yanitskiy axilirator@gmail.com Date: Fri Sep 1 15:22:32 2017 +0700
procqueue: use uint8_t as output buffer type
http://cgit.osmocom.org/gapk/commit/?id=903f14cdf48faa61996b22b68361c511c920...
commit 903f14cdf48faa61996b22b68361c511c920b3b9 Author: Vadim Yanitskiy axilirator@gmail.com Date: Fri Sep 1 15:15:45 2017 +0700
procqueue: store output buffers inside queue items
An output buffer belongs to its queue item, so it will be more correctly to store its pointer inside the osmo_gapk_pq_item.
http://cgit.osmocom.org/gapk/commit/?id=0d97f46b8757e0947304d88777706bd9a98a...
commit 0d97f46b8757e0947304d88777706bd9a98a4c69 Author: Vadim Yanitskiy axilirator@gmail.com Date: Fri Sep 1 14:33:19 2017 +0700
procqueue: use unsigned int for I/O frame size fields
A frame size cannot be negative, so 'unsigned' is more suitable for frame size fields.
http://cgit.osmocom.org/gapk/commit/?id=6683ef0a17dda6eb50aaeede8805936c751e...
commit 6683ef0a17dda6eb50aaeede8805936c751ec4a5 Author: Vadim Yanitskiy axilirator@gmail.com Date: Thu Aug 31 17:49:36 2017 +0700
Add the symbol export map for libosmogapk
http://cgit.osmocom.org/gapk/commit/?id=f72d01558f16717d49380428310d1a269f85...
commit f72d01558f16717d49380428310d1a269f8540c6 Author: Vadim Yanitskiy axilirator@gmail.com Date: Mon Sep 4 04:18:06 2017 +0700
benchmark: add functions to get cycle and frame count
To simplify the benchrarking process via the library API, this change introduces two new functions, which are intended to provide total cycle and frame count.
http://cgit.osmocom.org/gapk/commit/?id=ea53827e34b3d223c053289f7ef39f310571...
commit ea53827e34b3d223c053289f7ef39f3105712a18 Author: Vadim Yanitskiy axilirator@gmail.com Date: Mon Sep 4 03:33:48 2017 +0700
benchmark: allocate memory dynamically
Having statically allocated memory for benchmark data of every codec causes high memory usage, especially if actual benchmarking is not required for a particular use case. Instead of that, let's provide an optional opportunity to enable benchmarking for a particular codec by calling the osmo_gapk_bench_enable(). The required amount of memory would be allocated, and then can be freed by calling the osmo_gapk_bench_free() or manually.
http://cgit.osmocom.org/gapk/commit/?id=36e92c49c510711bd7e88beb2935a2a298de...
commit 36e92c49c510711bd7e88beb2935a2a298def9fe Author: Vadim Yanitskiy axilirator@gmail.com Date: Mon Sep 4 03:03:32 2017 +0700
benchmark: get rid of 'static inline' definition
The usage of a 'static inline' function definition in the 'bench.h' is resulting in separate independent function definitions in each translation unit from which the header is included. This is increasing the size of compiled code unnecessarily.
http://cgit.osmocom.org/gapk/commit/?id=43f74129c6ed128de8235aed1ce7d0f28519...
commit 43f74129c6ed128de8235aed1ce7d0f285193206 Author: Vadim Yanitskiy axilirator@gmail.com Date: Mon Sep 4 02:23:18 2017 +0700
benchmark: move benchmark impl to a private header
There is no need to expose the implementation details of both BENCHMARK_START and BENCHMARK_STOP macros via public header. This change moves them to a separate private header 'bench.h'.
http://cgit.osmocom.org/gapk/commit/?id=f4650d455bde1cd7a489123db3ebfbf2dc86...
commit f4650d455bde1cd7a489123db3ebfbf2dc860b8e Author: Vadim Yanitskiy axilirator@gmail.com Date: Mon Sep 4 00:42:38 2017 +0700
benchmark: move benchmark_dump() outside the library
The benchmark_dump() is only used by the osmo-gapk binary, and is intended to prepare and print benchmarking results to stderr, what is most likely unusable for the library users.
http://cgit.osmocom.org/gapk/commit/?id=6028be8e8655d8eabc1929ff0753114814f5...
commit 6028be8e8655d8eabc1929ff0753114814f5dacd Author: Vadim Yanitskiy axilirator@gmail.com Date: Thu Aug 31 17:22:56 2017 +0700
Add an 'osmo_gapk' prefix to the exposed symbols
To avoid a naming conflict between libosmogapk and other projects during linkage, all the exposed symbols should have an unique prefix. Let's use 'osmo_gapk' for that.
http://cgit.osmocom.org/gapk/commit/?id=4922c8376713196d909cb7b6d204cb106641...
commit 4922c8376713196d909cb7b6d204cb10664116c2 Author: Vadim Yanitskiy axilirator@gmail.com Date: Thu Aug 31 02:31:18 2017 +0700
procqueue: expose the processing queue struct definition
To be able to use processing queues from outside, the pq struct should be shared in the corresponding header file.
http://cgit.osmocom.org/gapk/commit/?id=617daf02012a4e4d1a104d52f2517ad81b72...
commit 617daf02012a4e4d1a104d52f2517ad81b72dd54 Author: Vadim Yanitskiy axilirator@gmail.com Date: Thu Aug 31 01:41:26 2017 +0700
Add a pkg-config manifest for libosmogapk
In order to make pkg-config 'see' the libosmogapk, a corresponding package description is required. For more details, see:
https://autotools.io/pkgconfig/file-format.html
http://cgit.osmocom.org/gapk/commit/?id=e7959b00f6f21f371b24cd1960b36aacd34b...
commit e7959b00f6f21f371b24cd1960b36aacd34bdeb7 Author: Vadim Yanitskiy axilirator@gmail.com Date: Thu Aug 31 01:20:18 2017 +0700
Use '#pragma once' instead of include guard
The most compilers today do support the '#pragma once', which is designed to cause the current source file to be included only once in a single compilation. One has several advantages, including: less code, avoidance of name clashes, and sometimes improvement in compilation speed.
See: https://en.wikipedia.org/wiki/Pragma_once for details.
http://cgit.osmocom.org/gapk/commit/?id=e6986f70c5f609692c7067a758233e2d8327...
commit e6986f70c5f609692c7067a758233e2d8327de6b Author: Vadim Yanitskiy axilirator@gmail.com Date: Wed Aug 30 20:26:02 2017 +0700
Install GAPK headers to '${includedir}/osmocom/gapk/'
To be able to use the library, external applications need to know, which symbols are exposed. This information is provided by header files, which are being installed to a system's ${includedir} since this change.
http://cgit.osmocom.org/gapk/commit/?id=a03ac4573a2c00a6b2937c42503b6c720648...
commit a03ac4573a2c00a6b2937c42503b6c7206480662 Author: Vadim Yanitskiy axilirator@gmail.com Date: Wed Aug 30 19:35:51 2017 +0700
Add an 'osmo' prefix to the 'gapk' binary
This is a common practice of all Osmocom executables to have an 'osmo' prefix. Let's follow this here too.
http://cgit.osmocom.org/gapk/commit/?id=5fb1965cacb7a3aaf269dbb8e0238721a7d4...
commit 5fb1965cacb7a3aaf269dbb8e0238721a7d44c05 Author: Vadim Yanitskiy axilirator@gmail.com Date: Wed Aug 30 19:03:49 2017 +0700
Introduce a shared 'libosmogapk' library
The previous GAPK implementation was represented as a single executable. So, all audio transcoding operations were available only by calling the 'gapk' binary. This approach didn't allow external applications to benefit from using GAPK API directly.
Since there are some projects (such as GR-GSM and OsmocomBB), which are potential users of GAPK code base, it would be better to have all transcoding functions within a shared library.
So, this change separates the common code into a shared library, named 'libosmogapk', and links the 'gapk' binary against one. Currently there are no shared headers, pkg-config manifest and the export map, but they will be done latter.
-----------------------------------------------------------------------
hooks/post-receive
osmocom-commitlog@lists.osmocom.org