This utility allows you to merge an incremental config "patch"
into an osmocom-style config file.
The patch file follows the same syntax as the original config file.
It works by appending the leaf nodes of the patch file to the respective
nodes of the input config file.
This process allows configuration file changes/updates to be performed
in a more stable/reliable way than by means of [unified] diff files,
as they break every time the context lines break.
osmo-config-merge doesn't suffer from this problem, as it understands
the tree-like nature of VTY config files.
NITE: This only works with configuration files that have proper
indenting, i.e. every level in the hierarchy must be indented excatly
one character, not multiple.
Change-Id: I61997a3668cc3a40d12ca023272f6d782e6fbefe
The number used in debian packaging is actually current-age, which is
still 0 in this case after it was bumped a while ago.
As a result, we had a libosmoctrl1_*.deb package installing a
libosmoctrl.so.0 file.
Fixes: OS#3175
Change-Id: I771f6c68570bc3b2bab68e1165c7284fd43e904d
Enable representing three-digit MNC with leading zeros. The MNCs 23 and 023 are
actually different; so far we treated both as 23. Re-encode an incoming BCD or
string of 023 as it were, i.e. not dropping the leading zero as 23.
Break ABI compatibility by changing the size and ordering of structs
gprs_ra_id, osmo_plmn_id, osmo_cell_global_id, ... by adding an mnc_3_digits
flag.
Change ordering in gprs_ra_id because the canonical oder is {Mobile Country
Code, Mobile Network Code}, so have the mcc member first.
ABI compatibility cannot be maintained for struct gprs_ra_id, since it is a
direct member of structs bssgp_bvc_ctx and bssgp_paging_info, and even just
adding a flag to the end would cause ABI changes of those structs. Similarly,
osmo_plmn_id is a direct member of osmo_location_area_id, and so forth.
Add new API to set and read this additional flag to preserve leading zeros:
- osmo_plmn_to_bcd(), osmo_plmn_from_bcd() after
gsm48_mcc_mnc_to_bcd() and gsm48_mcc_mnc_from_bcd().
- gsm48_decode_lai2(), gsm48_generate_lai2() after
gsm48_decode_lai(), gsm48_generate_lai().
- gsm0808_create_layer3_2() after gsm0808_create_layer3() and gsm0808_create_layer3_aoip().
- various osmo_*_name() functions in gsm23003.h (osmo_rai_name() still in
gsm48.h close to struct gprs_ra_id definition). The amount and duplication of
these may seem a bit overboard, but IMO they do make sense in this way.
Though most code will soon see patches unifying the data structures used, in
some cases (vty, ctrl) they are required singled out. Without these
functions, the formatting ("%0*u", mnc_3_digits ? 3 : 2, mnc) would be
duplicated all over our diverse repositories.
In various log output, include the leading MNC zeros.
Mark one TODO in card_fs_sim.c, I am not sure how to communicate a leading zero
to/from a SIM card FS. The focus here is on the core network / BSS.
To indicate ABI incompatibility, bump libosmogsm and libosmogb LIBVERSIONs;
adjust debian files accordingly.
Implementation choices:
- The default behavior upon zero-initialization will be the mnc_3_digits flag
set to false, which yields exactly the previous behavior.
- I decided against packing the mnc with the mnc_3_digits field into a
sub-struct because it would immediately break all builds of dependent
projects: it would require immediate merging of numerous patches in other
repositories, and it would make compiling older code against a newer
libosmocore unneccessarily hard.
Change-Id: Id2240f7f518494c9df6c8bda52c0d5092f90f221
This reverts commit 76c6c50405, which broke the obs builds. I'm really starting to get annoyed by ongoing python related breakage without ever fixing any bugs!
Change-Id: I4d76e897d4f746ff9ea4e06f2efc708a12cc2944
There're no python2-specific code in there so we can switch right away
without waiting till 2020 for python 2 deprecation.
Related: OS#2819
Change-Id: I8d34aed124b00c5dd2ab1bcc84bbfa8c620282cc
In Change-Id Ic77866ce65acf524b768882c751a4f9c0635740b we introduced a
gnutls fall-back for random number generation, and made this a default
unless explicitly disabled at compile time. This means the debian
package needs related build dependency.
Change-Id: I918e4b7bf1cb621679dce6339b3c4b69d653e2a6
Related: OS#1694
* check for bumpversion and error out if missing
* drop bumpversion dependency from .deb
Change-Id: Ide04d4c1ba20426bdf9531e25b462eda9418858a
Related: OS#1861
Add simple helper target to automate basic release steps:
* version bump
* prepare release commit
* git commit, tag and sign
For library projects:
* update debian/changelog from TODO-RELEASE
* cleanup TODO-RELEASE
For non-library projects:
* update debian/changelog from git log
Note: it requires bumpversion package to be installed, debian/control is
adjusted accordingly. The helper itself is installed to facilitate reuse
by other libraries.
N. B: you still have to manually adjust LIBVERSION in previous commit -
see TODO-RELEASE header for details.
Use it as follows:
make REL=minor release
The REL parameter defines which component of the version [1] to bump and
can be any of { major, minor, patch }.
[1] http://semver.org/
Change-Id: I790ceb958195b9f6cbabfe8c977dc30e2bd7414b
Related: OS#1861
There are some projects, such as GR-GSM and OsmocomBB, which would
benefit from using one shared implementation of GSM 05.03 code. So,
this commit introduces a new sub-library called libosmocoding, which
(for now) provides GSM, GPRS and EDGE transcoding routines, migrated
from OsmoBTS.
The original GSM 05.03 code from OsmoBTS was relicensed under
GPLv2-or-later with permission of copyright holders (Andreas Eversberg,
Alexander Chemeris and Tom Tsou).
The following data types are currently supported:
- xCCH
- PDTCH (CS 1-4 and MCS 1-9)
- TCH/FR
- TCH/HR
- TCH/AFS
- RCH/AHS
- RACH
- SCH
Change-Id: I0c3256b87686d878e4e716d12393cad5924fdfa1
debian/control:
* restructure to make it easier to incorporate further changes
* update package descriptions
* move build-depends to a proper place
* update project URL
debian/rules:
* use proper hardening syntax
* strip linker option without explicit shell invocation
* remove useless comment
* add extra cleanup
debian/: package documentation separately
debian/docs: remove empty file
debian/coryright: update to match Debian format
Change-Id: Ia7654d34730e9f269831612bfba70a1338ce29d3
Related: OS#1694
* update debian/changelog
* update TODO-RELEASE
* add comments to Makefile.am and TODO-RELEASE to simplify the process
in future
* add link to libtool docs to Makefile.am to simplify LIBVERSION
maintenance
Related: OS#1861
Change-Id: I22c257e357f597519120232d742d6a61289db021
We require the python2 binary to generate code. In Debian this
is provided by python-minimal. Add it to the build-depends to
fix building packages.
Change-Id: Iaa26f4331966d015b193d2ab1e34621b1e319ef1
Reviewed-on: https://gerrit.osmocom.org/37
Tested-by: Jenkins Builder
Reviewed-by: Holger Freyther <holger@freyther.de>
Add python utility to generate .c code with convolutional
encoder/decoder based on polynomial description of the code. If argument
given it'll be interpreted as intended output directory, otherwise
current working directory is used.
Codes for *CCH, CS2/3 and TCH/AFS are generated. Corresponding manual
implementations are removed from tests. This introduce build-time
dependency on python.
The main work for this patch was generously contributed by Sylvain
Munaut.
Fixes: OS#1629
Enable multi-arch support in libosmocore. This means the package
can not be built on squeeze anymore.
The concept of "foreign" is not really well documented but I
think I use it correctly here.
libosmogsm: the transition from 5 to 6 wasn't done properly. Fixed version number.
libosmoctrl: missing definition in debian/control and also missing libosmoctrl0.install.
Remove the .dirs/.install as things will go wrong then. debhelper
will try to install the debug symbols before they were created. Thanks
to Jan for pointing that out.
The debian related changes were not meant to be comitted and
were local experiments. The changes should go through Jan and
not this way.
Revert "more changes"
This reverts commit 96ba20cb44.
Revert "debian: Updates to fix lintian errors"
This reverts commit b670c86edd.
Revert "debian: Switch to the 3.0(quilt) format to play with launchpad"
This reverts commit 7a91d6071d.
Revert "debian: Add new changelog entry for the shlib:Depends change"
This reverts commit 54b8c4e0ed.
Revert "debian: dpkg-buildpackage complains about this here"
This reverts commit 4284307ead.
Revert "debian: Add a new changelog entry"
This reverts commit ae9b220d16.
Make libosmocore-dev depend on libosmocore. Otherwise
we only end up with the libosmocore.a files installed
and then have various issues with the link order when
linking OpenBSC and such.
Switch to the git format as this can generate the source directly
from the git checkout. Increase the version number to 0.1.27 as this
is the latest tag, depend on autoconf, automake and libtool and use
autoreconf when building to be able to directly build from a git
clone.