Review: libosmo-abis 2.2.0-1
Package Information
| Description | GSM A-bis handling This library contains common/shared code regarding the A-bis interface between the GSM Base transceiver station (BTS) and the GSM Base station controller BSC. It also implements drivers for mISDN and DAHDI based E1 cards, as well as some A-bis/IP dialects. |
|---|---|
| Maintainer | Debian Mobcom Maintainers <Debian-mobcom-maintainers@lists.alioth.debian.org> |
| Changed By | Thorsten Alteholz <debian@alteholz.de> |
| Sponsor | alteholz@debian.org |
| Distribution | experimental |
| Architecture | any |
| VCS | git: https://salsa.debian.org/debian-mobcom-team/libosmo-abis.git (browse) |
| Popcon Installs | 7 |
| Binary NEW | Yes (new binary packages of a source already in sid) |
| Tracker | https://tracker.debian.org/pkg/libosmo-abis |
| Uploaded | 17 days ago |
New Package Report
.changes
| Source | libosmo-abis |
|---|---|
| Version | 2.2.0-1 |
| Changed-By | Thorsten Alteholz <debian@alteholz.de> |
| Architecture | source amd64 |
| Distribution | experimental |
| Date | Mon, 05 Oct 2026 09:17:44 +0200 |
Changelog
libosmo-abis (2.2.0-1) experimental; urgency=medium . * New upstream release. * upload to experimental * debian/control: depend on libosmo-netif >=1.8.0 * update symbols files
.dsc
| Priority | optional |
|---|---|
| Component | main |
| Package-List | libosmo-abis-dev deb libdevel optional arch=any libosmoabis17 deb libs optional arch=any libosmotrau11 deb libs optional arch=any |
| Section | libdevel |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: libosmocore
Source: git://git.osmocom.org/libosmo-abis.git
Files: *
Copyright: 2008 Daniel Willmann <daniel@totalueberwachung.de>
2008-2012 Harald Welte <laforge@gnumonks.org>
2009-2010 Holger Hans Peter Freyther <zecke@selfish.org>
2010,2014 On-Waves
2011-2014 Pablo Neira Ayuso <pablo@gnumonks.org>
2012 Tobias Engel
2014 Sysmocom s.f.m.c. GmBH
License: AGPL-3+
Files: src/input/lapd.c
src/trau/osmo_ortp.c
src/input/dahdi.c
Copyright: 2008-2011 Harald Welte <laforge@gnumonks.org>
2009 oystein@homelien.no
2009 Holger Hans Peter Freyther <zecke@selfish.org>
2010 Digium and Matthew Fredrickson <creslin@digium.com>
2011 Andreas Everberg <jolly@eversberg.eu>
License: GPL-2+
Files: include/mISDNif.h
Copyright: 2008 Karsten Keil <kkeil@novell.com>
License: LGPL-2.1
Files: debian/*
Copyright: 2012 Eric Butler <eric@codebutler.com>
2012-2015 Holger Hans Peter Freyther <holger@moiji-mobile.com>
2015 Ruben Undheim <ruben.undheim@gmail.com>
2015-2026 Thorsten Alteholz <debian@alteholz.de>
2024 Nate Doris <nate.doris@gmail.com>
License: AGPL-3+
License: AGPL-3+
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU Affero General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
License: GPL-2+
This package is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, version 2 of the License, or
(at your option) any later version.
.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU General
Public License version 2 can be found in "/usr/share/common-licenses/GPL-2".
License: LGPL-2.1
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation;
version 2.1 of the License.
.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, see <http://www.gnu.org/licenses/>.
.
On Debian systems, the complete text of the GNU Lesser General
Public License version 2.1 can be found in "/usr/share/common-licenses/LGPL-2.1".
Review Information
accepted — allocated to awm 16 days ago, started 16 days ago, completed 16 days ago.
Final Comment
Hi,
Accepted, but with quite a few caveats that I think would be good to resolve for your next upload...
Licensing findings
Real problem — large set of GPL-2+ files mislabelled AGPL-3+. Files: * (lines 5–14) assigns AGPL-3+ to everything not covered by the narrower stanzas. The GPL-2+ stanza (lines 15–23) lists only src/input/lapd.c, src/trau/osmo_ortp.c, src/input/dahdi.c. Many more files carry explicit GPL-2 licence headers (SPDX-License-Identifier: GPL-2.0+ or the traditional "either version 2… or any later version" text) and therefore wrongly fall under AGPL-3+:
- src/input/e1d.c, src/input/ipa_keepalive.c, src/input/unixsocket.c (SPDX GPL-2.0+)
- src/trau/trau_pcu_ericsson.c, src/trau/trau_rtp_conv.c, src/trau/trau_sync.c, include/osmocom/trau/trau_rtp.h (SPDX GPL-2.0+)
- src/trau/csd_ra2.c, csd_v110.c, raa_prime_decode.c, raa_prime_encode.c, tfo_frame.c, twts007.c and headers include/osmocom/trau/{clearmode,csd_ra2,csd_raa_prime,csd_v110,tfo_frame,trau_frame,twts007}.h (traditional GPL v2+ header, no SPDX)
- every test .c under tests/* (all GPL v2+ headers)
The libraries libosmoabis/libosmotrau are built from an AGPL-3+/GPL-2+ mix; both are free so there is no distribution problem, but the per-file description is materially wrong. Fix: narrow the Files: * stanza (or add a Files stanza listing the above) with License: GPL-2+, keeping the copyright holders that apply. This is the only real licence-accuracy defect.
Missing public-domain stanza. src/trau/amr_misc.c, amr_rtp.c, amr_trau.c and include/osmocom/trau/amr_trau.h state: "This code was contributed to Osmocom Cellular Network Infrastructure project by Mother Mychaela N. Falconia… NOT subject to copyright: no rights reserved, all rights relinquished." They are public domain (a separate License paragraph is warranted), not AGPL-3+ as currently described.
Missing GPL-3+ / FSF for git-version-gen. The file carries "Copyright (C) 2007-2010 Free Software Foundation, Inc." under GPL v3 or later — a different licence short name and a holder absent from the Files: * stanza.
Wrong Upstream-Name. Line 2 says Upstream-Name: libosmocore. This is libosmo-abis (a different project); the Source: field on line 3 is correct. Copy-paste error from the sibling package.
AGPL-3+ full text not reproduced in the paragraph. AGPL-3 is not in /usr/share/common-licenses, yet the License: AGPL-3+ paragraph (lines 36–50) contains only the short warranty notice. The full AGPLv3 text does ship in the source (COPYING, 661 lines), which satisfies the practical requirement, but DEP-5 accuracy would be improved by pasting the full text into the paragraph. Minor.
No licence header at all on include/osmocom/abis/.h, include/internal.h, src/trau/ubit_buf.h, tests/e1inp_ipa_{bsc,bts}_test.c, tests/rtp_test/rtp_test.c, doc/examples/, contrib/jenkins.sh, contrib/trau2rtp/*, the Makefile.am/.pc.in files. These most plausibly fall under the upstream default (COPYING = AGPL-3), and the Files: * stanza covers them; I could not confirm per-file intent. Low risk, not a blocker. The raw captures contrib/trau2rtp/e1_ts2_{efr,fr}.bin/.log.bz2 and the .hex/.in/.ok test data are data, not compiled objects — no preferred-form concern.
Verified consistent: include/mISDNif.h = LGPL-2.1 / Karsten Keil (matches stanza, lines 25–27); dahdi.c, lapd.c, osmo_ortp.c GPL-2+ (matches stanza); no Files-Excluded and no +dfsg, which is consistent (no repack needed). No BSD/MIT/ISC, no JSON licence, no non-free clause anywhere in the tree.
Packaging findings
Build fails (or understates the requirement) — Build-Depends on libosmocore is stale. debian/control has libosmocore-dev (>= 1.9.0), but the (patched, current) configure.ac lines 69–72 require libosmocore, libosmovty, libosmogsm, libosmocodec all >= 1.14.2 (all provided by the libosmocore-dev binary). With only 1.9.x present the PKG_CHECK_MODULES would abort configure. Compare: the 2.2.0-1 changelog correctly bumped libosmo-netif >= 1.8.0 to match configure.ac line 74, so the libosmocore version is a genuine oversight. Fix: libosmocore-dev (>= 1.14.2). (Also verify that version is actually available in the target suite; if not, this package cannot build there.)
Likely broken upgrade path — intermediate SONAMEs not covered. libosmoabis17 only has Breaks/Replaces: libosmoabis10t64, libosmotrau11 only libosmotrau2t64. Upstream bumped SONAME again between 1.6.0 (10t64) and 2.2.0 (17); 2.0.0-2 and 2.1.0-1 are in unstable. If those shipped with the intermediate SONAME (e.g. libosmoabis16t64/libosmotrau10t64), upgrading a machine running them will install the new libs alongside the old ones (no Breaks forces removal). [INFERENCE] — verify the 2.0.0/2.1.0 binary package names against the archive and add the missing Breaks/Replaces, or confirm the numbers actually shipped.
Dead Homepage. Homepage: http://openbsc.osmocom.org/trac/wiki/libosmo-abis — the openBSC trac is retired; README.md and debian/upstream/metadata give https://osmocom.org/projects/libosmo-abis. Update the field.
Stale/dead weight in debian/: debian/control.old is an unneeded leftover shipped in the source; debian/patches/tmp-dahdi-include.patch is not in series (commented out since 1.6.0-4) and embeds ~1400 lines of vendored DAHDI headers — delete it rather than keep it around.
No autopkgtests. debian/tests/ is absent; the upstream tests/ suite is run only in rules via the build. Adding a smoke debian/tests would be good practice but is not a blocker.
watch file (version 4): targets gerrit.osmocom.org tags and would match the current 2.2.0; the dversionmangle=s/+ds// is harmless while the version carries no +ds. It should be converted to the current version 5 format.
Minor: Setting-library-version-explicitly.patch lacks DEP-3 From:/Date: headers (the autotools patch has them — its hardcoded 2.2.0 in configure.ac also needs refreshing on each release, which the changelog does). The debian/* copyright stanza (lines 29–34) omits uploader Victor Seva, who contributed debian/salsa-ci.yml and control rewrites — add the holder.
Thanks!