Update for packagers of ThemWi software
Mychaela Falconia
falcon at freecalypso.org
Fri May 10 08:27:37 UTC 2024
Hello FreeCalypso and Themyscira community,
I got some new developments in our GSM codec libraries and utilities
suite, which I am now in the process of preparing for release:
https://www.freecalypso.org/hg/gsm-codec-lib/
I still need to write a bunch of new documentation before I can cut
the release tarball, but I wanted to give a heads-up to anyone who
will be turning this coming-soon release and other Themyscira software
into distro packages or AUR/SlackBuild/etc recipes.
The packaging update is that I will now be following different
configuration management approaches for FC and ThemWi realms. Even
though I am still the sole maintainer of both FC and ThemWi and I have
no plans of giving up either, there are practical considerations such
that a different CM approach will work best for each realm.
FreeCalypso software as in fc-host-tools, fc-sim-tools, fc-usbser-tools
etc will remain the same in that the use of /opt/freecalypso directory
tree remains mandatory, with all of the non-FHS FC-specific intricasies
inside. This approach is certainly not ideal in the grand scheme of
things, but in that realm it is very entrenched and would be very
difficult to change. The "realm" here is a hardware tinkerer's lab
with GSM MS development boards, USB-serial adapters, FPGA hacking
boards and so forth.
However, sw components that need to run on server machines alongside
Osmocom CNI reside and function in a very different environment, and
thus a different approach will work better in this realm. These sw
components are the ones to which I give Themyscira branding instead of
FC branding, and I am now experimenting with a different scheme for
configuring, building and installing these sw components from source.
On the ThemWi side, one of the most obvious and immediate needs is
being able to freely and easily pick the desired install location.
With all Osmocom CNI components I simply pass the desired --prefix to
./configure, and thus I can have multiple different versions installed
concurrently in different locations - and we need the same ability in
ThemWi sw components that run alongside with Osmocom. However, I am
absolutely NOT willing to bring autotools/autohell into any of my
software, hence the goal of configurability has been elusive until now.
Now fast-forward to the present: if you look in gsm-codec-lib Hg
repository linked above (a piece of sw which I put on the ThemWi side
of FC-ThemWi divide), you will see the scheme I just came up with.
There is now a ./configure script which you have to run before you can
run 'make', but it's a hand-coded Bourne shell script, hence none of
that autoreconf business. And this configure script accepts a --prefix
option that sets the install location. :)
The current configure script in gsm-codec-lib is extremely simple, but
other ThemWi sw components will have more complicated versions. In
particular, there will be ThemWi sw components that make use of
libosmocore and other Osmocom libraries, and those ThemWi components
will have more complicated configure scripts that use pkg-config to
get the right --cflags and --libs for those Osmocom libraries - but
the general principle will remain the same, I hope.
In any case, if you are reading this announcement and you are someone
who has been or will be distro-packaging our sw components, I invite
you to please look at what I put together in gsm-codec-lib Hg
repository and provide your feedback, hopefully before I cut the
upcoming release.
Happy hacking,
Mother Mychaela
More information about the Community
mailing list