Skip to content

Commit c918270

Browse files
committed
readme: Build section
What the branch changes relative to upstream, prerequisites, the clone + make + install recipe, and the runtime module set - verified from a fresh clone of the public branch.
1 parent f8217f7 commit c918270

1 file changed

Lines changed: 41 additions & 0 deletions

File tree

‎README.md‎

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,47 @@ Without `db_url` the mode runs as a pure-pull cluster.
220220
table over MI-datagram — the reply can neither be built in pkg nor fit a
221221
datagram, and the attempt wedges the node.
222222

223+
## Build
224+
225+
Everything the mode needs is in this tree: the four touched modules
226+
(`usrloc`, `registrar`, `cachedb_perf`, `db_sqlite`), two cachedb core
227+
headers and one line in `lib/reg` — 46 commits over upstream `master`, no
228+
new external libraries. A plain checkout builds the bin-transport variant;
229+
the encrypted `clctr` transport compiles in only when the separate
230+
`clusterer_controller` module is present, and is not required.
231+
232+
Prerequisites (Debian/Ubuntu names): `build-essential bison flex` for the
233+
core; `libsqlite3-dev` for an SQLite ledger or
234+
`default-libmysqlclient-dev` for MySQL; `libncurses-dev` only if you want
235+
`make menuconfig`. Nothing else for the module set below.
236+
237+
```sh
238+
git clone -b feature/usrloc-pull-sharing-devel https://github.com/Lt-Flash/opensips.git
239+
cd opensips
240+
make -j"$(nproc)" all include_modules="cachedb_perf db_sqlite" # db_mysql instead, or both
241+
make install prefix=/opt/opensips-pullshare
242+
```
243+
244+
`cachedb_perf`, `usrloc`, `registrar`, `clusterer` and `proto_bin` are
245+
part of the default module set; the `db_*` ledger backends are excluded
246+
by default upstream, hence `include_modules`. Installing into its own
247+
prefix keeps the build side by side with a stock OpenSIPS — point `mpath`
248+
at `<prefix>/lib64/opensips/modules/` (or `lib/` on 32-bit).
249+
250+
Verify:
251+
252+
```sh
253+
/opt/opensips-pullshare/sbin/opensips -V | head -1 # opensips 4.1.0-dev
254+
ls /opt/opensips-pullshare/lib64/opensips/modules/ | grep -E 'cachedb_perf|usrloc|registrar|clusterer|proto_bin'
255+
```
256+
257+
Runtime module set for the mode: `proto_udp`, `proto_bin`, `tm`, `sl`,
258+
`signaling`, `clusterer`, `cachedb_perf`, `usrloc`, `registrar`, plus a
259+
`db_*` driver if a ledger is configured and `mi_datagram`/`mi_http` for
260+
the MI surface. Verified 2026-08-22: a fresh shallow clone of this branch
261+
from the public URL builds the whole tree with the command above on
262+
Ubuntu 20.04 (gcc 9) with zero errors.
263+
223264
## Testing
224265

225266
* `scripts/…` rigs live outside the tree on the dev host: a 2-node netns

0 commit comments

Comments
 (0)