File libosmocore.spec of Package libosmocore (Revision 50)

Currently displaying revision 50 , Show latest

526
 
1
#
2
# spec file for package libosmocore
3
#
4
# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
5
#
6
# All modifications and additions to the file contributed by third parties
7
# remain the property of their copyright owners, unless otherwise agreed
8
# upon. The license for this file, and modifications and additions to the
9
# file, is the same license as for the pristine package itself (unless the
10
# license for the pristine package is not an Open Source License, in which
11
# case the license is the MIT License). An "Open Source License" is a
12
# license that conforms to the Open Source Definition (Version 1.9)
13
# published by the Open Source Initiative.
14
15
Name:           libosmocore
16
Requires: osmocom-master
17
Version: 1.7.0.105.8a50
18
Release:        0
19
Summary:        The Open Source Mobile Communications Core Library
20
License:        GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND AGPL-3.0-or-later
21
Group:          Productivity/Telephony/Utilities
22
Url:            https://osmocom.org/projects/libosmocore/wiki/Libosmocore
23
Source: libosmocore_1.7.0.105.8a50.tar.xz
24
Source1: rpmlintrc
25
BuildRequires:  automake >= 1.6
26
BuildRequires:  libtool >= 2
27
BuildRequires:  lksctp-tools-devel
28
BuildRequires:  pkg-config >= 0.20
29
BuildRequires:  python3
30
BuildRequires:  xz
31
BuildRequires:  pkgconfig(gnutls) >= 2.12.0
32
BuildRequires:  pkgconfig(libpcsclite)
33
BuildRequires:  pkgconfig(libusb-1.0)
34
BuildRequires:  pkgconfig(talloc) >= 2.1.0
35
BuildRequires:  pkgconfig(libmnl)
36
BuildRequires:  pkgconfig(libsystemd)
37
38
%description
39
libosmocore is a package with various utility functions that were
40
originally developed as part of the OpenBSC project, but which are of
41
a more generic nature and thus useful to (at least) other programs
42
that Osmocom develops w.r.t. mobile communications.
43
44
There is no clear scope of it. It simply houses all code shared
45
between OsmocomBB and OpenBSC to avoid code duplication.
46
47
%package tools
48
Requires: osmocom-master
49
Summary:        GSM utilities from the osmocore project
50
License:        GPL-2.0-only AND GPL-2.0-or-later AND LGPL-3.0-or-later AND AGPL-3.0-or-later
51
Group:          Productivity/Telephony/Utilities
52
Provides:       %name-utils = %version-%release
53
54
%description tools
55
libosmocore is a package with various utility functions that were
56
originally developed as part of the OpenBSC project.
57
58
This package contains a program for frequency calculation for GSM
59
called "osmo-arfcn", and a program called "osmo-auc-gen" that is used
60
for testing GSM authentication, as well as "osmo-config-merge", a tool
61
for merging Osmocom configuration files.
62
63
%package -n libosmocodec0
64
Requires: osmocom-master
65
Summary:        GSM 06.10, 06.20, 06.60, 06.90 codec library
66
License:        GPL-2.0-or-later
67
Group:          System/Libraries
68
69
%description -n libosmocodec0
70
The libosmocodec library contains an implementation of multiple
71
GSM codecs:
72
73
* GSM 06.10 Full Rate (FR) codec
74
* GSM 06.20 Half Rate (HR) codec
75
* GSM 06.60 Enhanced Full Range (EFR) codec
76
* GSM 06.90 Adaptive Multi-Rate (AMR) codec
77
78
%package -n libosmocodec-devel
79
Requires: osmocom-master
80
Summary:        Development files for the Osmocom GSM codec library
81
License:        GPL-2.0-or-later
82
Group:          Development/Libraries/C and C++
83
Requires:       libosmocodec0 = %version
84
85
%description -n libosmocodec-devel
86
The libosmocodec library contains an implementation of multiple
87
GSM codecs.
88
89
This subpackage contains libraries and header files for developing
90
applications that want to make use of libosmocodec.
91
92
%package -n libosmocoding0
93
Requires: osmocom-master
94
Summary:        GSM/GPRS/EDGE transcoding routines library
95
License:        GPL-2.0-or-later
96
Group:          System/Libraries
97
98
%description -n libosmocoding0
99
libosmocoding is a library which provides GSM, GPRS and EDGE
100
transcoding routines.
101
102
The following data types are currently supported: xCCH, PDTCH (CS 1-4
103
and MCS 1-9), TCH/FR, TCH/HR, TCH/AFS, RCH/AHS, RACH and SCH.
104
105
%package -n libosmocoding-devel
106
Requires: osmocom-master
107
Summary:        Development files for the Osmocom transcoding library
108
License:        GPL-2.0-or-later
109
Group:          Development/Libraries/C and C++
110
Requires:       libosmocodec-devel = %version
111
Requires:       libosmocoding0 = %version
112
Requires:       libosmocore-devel = %version
113
Requires:       libosmogsm-devel = %version
114
115
%description -n libosmocoding-devel
116
libosmocoding is a library which provides GSM, GPRS and EDGE
117
transcoding routines.
118
119
This subpackage contains libraries and header files for developing
120
applications that want to make use of libosmocoding.
121
122
%package -n libosmocore19
123
Requires: osmocom-master
124
Summary:        Osmocom core library
125
# crc16.c has GPL2-only clauses, the rest (*.c) is GPL-2.0+
126
License:        GPL-2.0-only AND GPL-2.0-or-later
127
Group:          System/Libraries
128
129
%description -n libosmocore19
130
libosmocore is a library with various utility functions shared
131
between OpenBSC and OsmocomBB.
132
133
%package -n libosmocore-devel
134
Requires: osmocom-master
135
Summary:        Development files for the Osmocom core library
136
# crc16.h has GPL2-only clauses, the rest (*.h) is GPL-2.0+
137
License:        GPL-2.0-only AND GPL-2.0-or-later
138
Group:          Development/Libraries/C and C++
139
Requires:       libosmocore19 = %version
140
Requires:       libtalloc-devel
141
Requires:       lksctp-tools-devel
142
143
%description -n libosmocore-devel
144
libosmocore is a library with various utility functions shared
145
between OpenBSC and OsmocomBB.
146
147
This subpackage contains libraries and header files for developing
148
applications that want to make use of libosmocore.
149
150
%package -n libosmoctrl0
151
Requires: osmocom-master
152
Summary:        Osmocom SNMP-like control interface library
153
License:        GPL-2.0-or-later
154
Group:          System/Libraries
155
156
%description -n libosmoctrl0
157
libosmocore is a package with various utility functions that were
158
originally developed as part of the OpenBSC project.
159
160
libosmoctrl is an SNMP-like control interface. In contrast to the VTY
161
interface, the control interface is meant to be used by programs.
162
163
%package -n libosmoctrl-devel
164
Requires: osmocom-master
165
Summary:        Osmocom control interface library
166
License:        GPL-2.0-or-later
167
Group:          Development/Libraries/C and C++
168
Requires:       libosmocore-devel = %version
169
Requires:       libosmoctrl0 = %version
170
Requires:       libosmogsm-devel = %version
171
172
%description -n libosmoctrl-devel
173
libosmoctrl is an SNMP-like control interface. In contrast to the VTY
174
interface, the control interface is meant to be used by programs.
175
176
This subpackage contains libraries and header files for developing
177
applications that want to make use of libosmoctrl.
178
179
%package -n libosmogb14
180
Requires: osmocom-master
181
Summary:        Osmocom GPRS Gb Interface (NS/BSSGP) library
182
License:        AGPL-3.0-or-later
183
Group:          System/Libraries
184
185
%description -n libosmogb14
186
libosmocore is a package with various utility functions that were
187
originally developed as part of the OpenBSC project.
188
189
The libosmogb library contains a GPRS BSSGP protocol implementation.
190
191
%package -n libosmogb-devel
192
Requires: osmocom-master
193
Summary:        Development files for the Osmocom GPRS Gb interface library
194
License:        AGPL-3.0-or-later
195
Group:          Development/Libraries/C and C++
196
Requires:       libosmocore-devel = %version
197
Requires:       libosmogb14 = %version
198
Requires:       libosmovty-devel = %version
199
200
%description -n libosmogb-devel
201
The libosmogb library contains a GPRS BSSGP protocol implementation.
202
203
This subpackage contains libraries and header files for developing
204
applications that want to make use of libosmogb.
205
206
%package -n libosmogsm18
207
Requires: osmocom-master
208
Summary:        Osmocom GSM utility library
209
License:        GPL-2.0-or-later AND AGPL-3.0-or-later
210
Group:          System/Libraries
211
212
%description -n libosmogsm18
213
libosmocore is a package with various utility functions that were
214
originally developed as part of the OpenBSC project.
215
216
The libosmogsm library in particular is a collection of common code
217
used in various GSM related sub-projects inside the Osmocom family of
218
projects. It includes A5/1 and A5/2 ciphers, COMP128v1, a LAPDm
219
implementation, a GSM TLV parser, SMS utility routines as well as
220
protocol definitions for a series of protocols.
221
222
%package -n libosmogsm-devel
223
Requires: osmocom-master
224
Summary:        Development files for the Osmocom GSM utility library
225
License:        GPL-2.0-or-later AND AGPL-3.0-or-later
226
Group:          Development/Libraries/C and C++
227
Requires:       libosmocore-devel = %version
228
Requires:       libosmogsm18 = %version
229
Requires:       libosmoisdn-devel = %version
230
Requires:       libosmoisdn0 = %version
231
232
%description -n libosmogsm-devel
233
The libosmogsm library in particular is a collection of common code
234
used in various GSM related sub-projects inside the Osmocom family of
235
projects. It includes A5/1 and A5/2 ciphers, COMP128v1, a LAPDm
236
implementation, a GSM TLV parser, SMS utility routines as well as
237
protocol definitions for a series of protocols.
238
239
This subpackage contains libraries and header files for developing
240
applications that want to make use of libosmogsm.
241
242
%package -n libosmoisdn0
243
Requires: osmocom-master
244
Summary:        Osmocom ISDN utility library
245
License:        GPL-2.0-or-later
246
Group:          System/Libraries
247
248
%description -n libosmoisdn0
249
libosmocore is a package with various utility functions that were
250
originally developed as part of the OpenBSC project.
251
252
The libosmoisdn library in particular is a collection of common code used in
253
various ISDN related sub-projects inside the Osmocom family of projects. It
254
includes an I.460 sub-channel multiplex and a generic LAPD core.
255
256
%package -n libosmoisdn-devel
257
Requires: osmocom-master
258
Summary:        Development files for the Osmocom ISDN utility library
259
License:        GPL-2.0-or-later
260
Group:          Development/Libraries/C and C++
261
Requires:       libosmocore-devel = %version
262
Requires:       libosmoisdn0 = %version
263
264
%description -n libosmoisdn-devel
265
The libosmoisdn library in particular is a collection of common code used in
266
various ISDN related sub-projects inside the Osmocom family of projects. It
267
includes an I.460 sub-channel multiplex and a generic LAPD core.
268
269
This subpackage contains libraries and header files for developing
270
applications that want to make use of libosmogsm.
271
272
%package -n libosmosim2
273
Requires: osmocom-master
274
Summary:        Osmocom SIM card related utility library
275
License:        GPL-2.0-or-later
276
Group:          System/Libraries
277
278
%description -n libosmosim2
279
libosmocore is a package with various utility functions that were
280
originally developed as part of the OpenBSC project.
281
282
The libosmosim library in particular contains routines for SIM card
283
access.
284
285
%package -n libosmosim-devel
286
Requires: osmocom-master
287
Summary:        Development files for the Osmocom SIM card utility library
288
License:        GPL-2.0-or-later
289
Group:          Development/Libraries/C and C++
290
Requires:       libosmocore-devel = %version
291
Requires:       libosmosim2 = %version
292
293
%description -n libosmosim-devel
294
The libosmosim library in particular contains routines for SIM card
295
access.
296
297
This subpackage contains libraries and header files for developing
298
applications that want to make use of libosmosim.
299
300
%package -n libosmovty9
301
Requires: osmocom-master
302
Summary:        Osmocom VTY interface library
303
License:        GPL-2.0-or-later
304
Group:          System/Libraries
305
306
%description -n libosmovty9
307
libosmocore is a package with various utility functions that were
308
originally developed as part of the OpenBSC project.
309
310
The libosmovty library implements the interactive command-line on the
311
VTY (Virtual TTY), as well as configuration file parsing.
312
313
%package -n libosmovty-devel
314
Requires: osmocom-master
315
Summary:        Development files for the Osmocom VTY interface library
316
License:        GPL-2.0-or-later
317
Group:          Development/Libraries/C and C++
318
Requires:       libosmocore-devel = %version
319
Requires:       libosmovty9 = %version
320
321
%description -n libosmovty-devel
322
The libosmovty library implements the interactive command-line on the
323
VTY (Virtual TTY), as well as configuration file parsing.
324
325
This subpackage contains libraries and header files for developing
326
applications that want to make use of libosmovty.
327
328
%package -n libosmousb0
329
Requires: osmocom-master
330
Summary:        Osmocom USB library
331
License:        GPL-2.0-or-later
332
Group:          System/Libraries
333
334
%description -n libosmousb0
335
libosmocore is a package with various utility functions that were
336
originally developed as part of the OpenBSC project.
337
338
The libosmosub library in particular contains routines for USB device
339
access via libusb-1.0, integrated into the libosmocore select event loop.
340
341
%package -n libosmousb-devel
342
Requires: osmocom-master
343
Summary:        Development files for the Osmocom USB library
344
License:        GPL-2.0-or-later
345
Group:          Development/Libraries/C and C++
346
Requires:       libosmocore-devel = %version
347
Requires:       libosmousb0 = %version
348
Requires:       pkgconfig(libusb-1.0)
349
350
%description -n libosmousb-devel
351
The libosmosub library in particular contains routines for USB device
352
access via libusb-1.0, integrated into the libosmocore select event loop.
353
354
This subpackage contains libraries and header files for developing
355
applications that want to make use of libosmousb.
356
357
358
%prep
359
%setup -n libosmocore -q
360
361
%build
362
echo "%version" >.tarball-version
363
autoreconf -fiv
364
%configure --enable-shared --disable-static --enable-systemd-logging \
365
    --includedir="%_includedir/%name"
366
make %{?_smp_mflags} V=1
367
368
%install
369
b="%buildroot"
370
make %{?_smp_mflags} install DESTDIR="$b"
371
find "$b/%_libdir" -type f -name "*.la" -delete
372
373
%check
374
make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
375
376
%post   -n libosmocodec0 -p /sbin/ldconfig
377
%postun -n libosmocodec0 -p /sbin/ldconfig
378
%post   -n libosmocoding0 -p /sbin/ldconfig
379
%postun -n libosmocoding0 -p /sbin/ldconfig
380
%post   -n libosmocore19 -p /sbin/ldconfig
381
%postun -n libosmocore19 -p /sbin/ldconfig
382
%post   -n libosmoctrl0 -p /sbin/ldconfig
383
%postun -n libosmoctrl0 -p /sbin/ldconfig
384
%post   -n libosmogb14 -p /sbin/ldconfig
385
%postun -n libosmogb14 -p /sbin/ldconfig
386
%post   -n libosmogsm18 -p /sbin/ldconfig
387
%postun -n libosmogsm18 -p /sbin/ldconfig
388
%post   -n libosmoisdn0 -p /sbin/ldconfig
389
%postun -n libosmoisdn0 -p /sbin/ldconfig
390
%post   -n libosmosim2 -p /sbin/ldconfig
391
%postun -n libosmosim2 -p /sbin/ldconfig
392
%post   -n libosmovty9 -p /sbin/ldconfig
393
%postun -n libosmovty9 -p /sbin/ldconfig
394
%post   -n libosmousb0 -p /sbin/ldconfig
395
%postun -n libosmousb0 -p /sbin/ldconfig
396
397
%files tools
398
%defattr(-,root,root)
399
%_bindir/osmo-*
400
401
%files -n libosmocodec0
402
%defattr(-,root,root)
403
%_libdir/libosmocodec.so.0*
404
405
%files -n libosmocodec-devel
406
%defattr(-,root,root)
407
%dir %_includedir/%name
408
%dir %_includedir/%name/osmocom
409
%_includedir/%name/osmocom/codec/
410
%_libdir/libosmocodec.so
411
%_libdir/pkgconfig/libosmocodec.pc
412
413
%files -n libosmocoding0
414
%defattr(-,root,root)
415
%_libdir/libosmocoding.so.0*
416
417
%files -n libosmocoding-devel
418
%defattr(-,root,root)
419
%dir %_includedir/%name
420
%dir %_includedir/%name/osmocom
421
%_includedir/%name/osmocom/coding/
422
%_libdir/libosmocoding.so
423
%_libdir/pkgconfig/libosmocoding.pc
424
425
%files -n libosmocore19
426
%defattr(-,root,root)
427
%_libdir/libosmocore.so.19*
428
429
%files -n libosmocore-devel
430
%defattr(-,root,root)
431
%dir %_includedir/%name
432
%dir %_includedir/%name/osmocom
433
%_includedir/%name/osmocom/core/
434
%_libdir/libosmocore.so
435
%_libdir/pkgconfig/libosmocore.pc
436
%_datadir/aclocal/osmo_ax_code_coverage.m4
437
%_datadir/aclocal/osmo_ac_code_coverage.m4
438
439
%files -n libosmoctrl0
440
%defattr(-,root,root)
441
%_libdir/libosmoctrl.so.0*
442
443
%files -n libosmoctrl-devel
444
%defattr(-,root,root)
445
%dir %_includedir/%name
446
%dir %_includedir/%name/osmocom
447
%_includedir/%name/osmocom/ctrl/
448
%_libdir/libosmoctrl.so
449
%_libdir/pkgconfig/libosmoctrl.pc
450
451
%files -n libosmogb14
452
%defattr(-,root,root)
453
%_libdir/libosmogb.so.14*
454
455
%files -n libosmogb-devel
456
%defattr(-,root,root)
457
%dir %_includedir/%name
458
%dir %_includedir/%name/osmocom
459
%_includedir/%name/osmocom/gprs/
460
%_libdir/libosmogb.so
461
%_libdir/pkgconfig/libosmogb.pc
462
463
%files -n libosmogsm18
464
%defattr(-,root,root)
465
%_libdir/libosmogsm.so.18*
466
467
%files -n libosmogsm-devel
468
%defattr(-,root,root)
469
%dir %_includedir/%name
470
%dir %_includedir/%name/osmocom
471
%_includedir/%name/osmocom/gsm/
472
%_includedir/%name/osmocom/crypt/
473
%_libdir/libosmogsm.so
474
%_libdir/pkgconfig/libosmogsm.pc
475
476
%files -n libosmoisdn0
477
%defattr(-,root,root)
478
%_libdir/libosmoisdn.so.0*
479
480
%files -n libosmoisdn-devel
481
%defattr(-,root,root)
482
%dir %_includedir/%name
483
%dir %_includedir/%name/osmocom
484
%_includedir/%name/osmocom/isdn/
485
%_libdir/libosmoisdn.so
486
%_libdir/pkgconfig/libosmoisdn.pc
487
488
%files -n libosmosim2
489
%defattr(-,root,root)
490
%_libdir/libosmosim.so.2*
491
492
%files -n libosmosim-devel
493
%defattr(-,root,root)
494
%dir %_includedir/%name
495
%dir %_includedir/%name/osmocom/
496
%_includedir/%name/osmocom/sim/
497
%_libdir/libosmosim.so
498
%_libdir/pkgconfig/libosmosim.pc
499
500
%files -n libosmovty9
501
%defattr(-,root,root)
502
%_libdir/libosmovty.so.9*
503
504
%files -n libosmovty-devel
505
%defattr(-,root,root)
506
%dir %_includedir/%name
507
%dir %_includedir/%name/osmocom
508
%_includedir/%name/osmocom/vty/
509
%_includedir/%name/osmo-release.mk
510
%_libdir/libosmovty.so
511
%_libdir/pkgconfig/libosmovty.pc
512
513
%files -n libosmousb0
514
%defattr(-,root,root)
515
%_libdir/libosmousb.so.0*
516
517
%files -n libosmousb-devel
518
%defattr(-,root,root)
519
%dir %_includedir/%name
520
%dir %_includedir/%name/osmocom
521
%_includedir/%name/osmocom/usb/
522
%_libdir/libosmousb.so
523
%_libdir/pkgconfig/libosmousb.pc
524
525
%changelog
526