Renamming the make_to_src_proj variable to src_proj in commit
93bd52300e leads to the build_to_src variable
being the result of a double call to os.path.relpath(), breaking builds when using
non absolute path for make_dir
For some reason, on Arch Linux:
$ file /bin/sh
/bin/sh: symbolic link to bash
$ sh --version
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
the '--trx' arguments are getting passed incorrectly:
$ ./fake_trx.py TRX1@127.0.0.1:5700/1
fake_trx: error: unrecognized arguments: TRX1@127.0.0.1:5700/1
Let's send each argument separately.
With most recent OsmoBSCNAT patches, the addresses from the connecting
BSCs get used, no need to hardcode them in the config anymore.
Depends: osmo-bsc-nat I1556aa665fbb0a97507f98794e74820731fa6935
Instead of hardcoding wrappers such as gdb for various commands in
run.sh, put all commands into a config file so the user can add
gdb/valgrind/strace/udtrace/... to the program they are currently
interested in debugging in their own config.
Make it easier for the user to follow a consistent naming scheme for the
log files if they want do do so, by displaying the last log name.
enter name to save log (last: 2022-03-07_04-test-log-name):
Prepare to add another MGW for the BSCNAT. Use only one variable for the
mgw, always append the -c configfile parameter further below in the
script where it gets used.
osmo-gbproxy is not part of any of the convenience make targets in
gen_makefile.py (cn, cn-bsc, usrp). When using the typical workflow of
building one of these convenience targets first, then attempting to run
the network, the osmo-gbproxy window just says command not found.
With the default config_2g3g, it is not needed when only using one BTS,
so add a new config variable GBPROXY_RUN_IN_OSMO_DEV=0 and use it in
Don't attempt to configure phy0 / osmotrx ip. This only works with
osmo-bts-trx, not with osmo-bts-virtual which we'll run in osmo-dev.
Besides that, 127.0.0.1 seems to be the default anyway.
Prepare support for a second BSC, in order to test OsmoBSCNAT.
* Rename BSC_* variables to BSC0_*
* Rename MGW4BSC_* variables to MGW4BSC0_*
* Rename osmo-bsc.cfg to osmo-bsc-0.cfg
* Rename osmo-mgw-for-bsc.cfg to osmo-mgw-for-bsc-0.cfg
Don't ask the user to copy config_2g3g and manually keep it in sync with
config_2g3g with each change anymore. Instead, let the user config be a
diff on top of config_2g3g.
This is in preparation to adding new variables for use with OsmoBSCNAT.
Put each line in a separate, aligned print statement and use f-strings
(Python 3.6 feature, even debian oldstable has > 3.6 by now).
This is in preparation to add a new line about the original config in
the next patch.
This was related to attempting to fix the infinite "q Enter to close"
msgs bug, which has been properly fixed in
Remove fg to get rid of this error:
zsh:fg:1: no job control in this shell.
It's hard to distinguish multiple wireshark windows with trace.pcap
files, as only the file name and not the path is shown in the title.
Make it easier to distinguish them by adding the log name to the file
Fix the logic that is supposed to display a "q Enter to close" message
once and wait for user input, in case one of the Osmocom programs
Explicitly read from /dev/tty, as it may not be connected as default
stdin anymore at this point. This happens when using the new code paths
with tmux as terminal, but also happened before recent refactorings for
me with all terminals.
Create one tmux session, with each Osmocom program in one window, if
tmux is chosen as "terminal". This allows using osmo-dev's run.sh over
ssh without X forwarding. Also the existing supported terminals
automatically scroll to the bottom as soon as there is new output,
making it hard to read logs.
Instead of passing a whole script to the terminal via command-line
argument, write it to a file. This is in preparation to use the same
script with tmux, see next patch.
Replace the previous approach of only storing the PIDs of the spawned
terminals, and then attempting to kill all other processes (the ones
running inside the spawned terminals and tcpdump) with "killall".
Instead, store PIDs of all spawned programs:
* Osmocom programs (new)
* Tcpdump (new)
Kill old processes at the start of run.sh as well, so even if run.sh was
killed before it could clean up, the Osmocom programs don't fail to
start anymore (as it was the case before).
Add MSC and BSC point-codes, as it is currently needed in the initial
message forwarding implementation.
Related: osmo-bsc-nat I4af398bb433341a98f818822e6c3af28b6d9dacd
Make STP_CN_IP and STP_RAN_IP configurable. If they are not set to the
same IP, run a second OsmoSTP and OsmoBSCNAT to connect both OsmoSTP.
In preparation for the OsmoDevCall#19 talk, I'm installing this on a
fresh system and made some adjustments to README so it works without
complaining about missing dependencies.
Add a new option that avoids stopping the build with:
configure: error: source directory already configured; run "make distclean" there first
I run into this frequently, when e.g. running './configure; make release'
inside Osmocom repositories and then attempting to build them with
osmo-dev. It is annoying as it does not fail immediatelly, and I need to
manually go to the source directories where it failed, run 'make
distclean' and then attempt to build again. Then it may fail on another
directory with the same problem.
Check for config.status, as that is also what ./configure checks for
before printing the error.
Do not consider config.h inside the source tree as modified source file.
This file gets generated when running ./configure to build in-tree,
whereas osmo-dev always builds out-of-tree.
Having config.h inside proj_files causes problems with the next patch,
where conflicting in-tree builds will be automatically be cleaned with
"make distclean". For example:
* "make libosmocore" runs with a previously configured in-tree build
* proj_files contains config.h.
* Before attempting to build libosmocore out-of-tree, with the next
patch, "make distclean" gets executed.
* config.h is now removed
* .make.libosmocore.build target expects all proj_files to exist and
make: *** No rule to make target '../src/libosmocore/config.h', needed by '.make.libosmocore.build'. Stop.