Initial commit

master
Pau Espin 5 years ago
parent 92b991c24e
commit 7e45a98091
  1. 6
      .gitignore
  2. 56
      README.md
  3. 68
      build_osmocom_libs.sh
  4. 55
      generate_profile.sh
  5. 80
      generate_reports.sh
  6. 41
      libs_track.sh.inc
  7. 18
      print_releases.sh
  8. 30
      profiles/libasn1c.json
  9. 46
      profiles/libosmo-abis.json
  10. 94
      profiles/libosmo-netif.json
  11. 94
      profiles/libosmo-sccp.json
  12. 590
      profiles/libosmocore.json
  13. 46
      profiles/libsmpp34.json
  14. 54
      profiles/osmo-bsc.json
  15. 78
      profiles/osmo-bts.json
  16. 38
      profiles/osmo-ggsn.json
  17. 38
      profiles/osmo-hlr.json
  18. 38
      profiles/osmo-iuh.json
  19. 54
      profiles/osmo-mgw.json
  20. 54
      profiles/osmo-msc.json
  21. 62
      profiles/osmo-pcu.json
  22. 230
      profiles/osmo-sgsn.json
  23. 38
      profiles/osmo-trx.json
  24. 37
      run_all_project_versions.sh

6
.gitignore vendored

@ -0,0 +1,6 @@
build/*
!build/abi_dump
build/abi_dump/*/master/
deploy/
deps/
input/

@ -1,3 +1,59 @@
Osmo-ABI-Check
==============
This repository contains a set of scripts to build and use abi-* tools to
generate a report in html format containing changes of ABI/API over different
versions of osmocom projects.
There's several big different steps in the procedure for each project that we
want to track:
1- Generate profile .json file. This file contains some meta-data about the
project, as well as a list of versions. The script generate_profile.sh can be
used to generate this profile file from a given git repository. Profile files
are stored in profile/ directory of this repository.
2- Build libraries for a set of versions of a target project (and previously its
required dependencies to be able to compile it properly) and store (prepare) the
output (.so files, headers) in a filesystem structure which abi-* tools can
handle. This output is stored in input/ directory of this repository. This step
is handled by "run_all_project_versions.sh prepare" script.
3- Run abi-* tools to generate the reports. This step is handled by
"run_all_project_versions.sh report" script. It will create all generated
metadata in build/, and final report output is available in deploy/.
As building the whole matrix of elements take an enormous time (project(+deps) *
project_versions), the idea is to keep in git the
build/$project/abi-dump/$non_master/ subdirs to be used as a cache so we don't
need to do the "prepare" step everytime, only for master.
Some details about abi-* tools:
"abi-tracker -t abidump" calls abi-dump and puts the output in build/abi-dump/$project/$version/$lib_hash/{2files here}.
"abi-tracker -t report" uses the files in build/abi-dump/ together with the profile json file to generate a web report.
"abi-tracker -t index generates a general index file containing a list with links to each project report.
Examples:
* Generate profile for libosmo-abis:
./generate_profile libosmo-abis /path/to/existing/git/repo/libosmo-abis.git >profile/libosmo-abis.json
* Build whole list of known versions for project libosmo-abis into input/:
./run_all_project_versions.sh prepare libosmo-abis all
* Build last of known version + master for project libosmo-abis into input/:
./run_all_project_versions.sh prepare libosmo-abis latest
* Build master for master rev of project libosmo-abis into input/:
./run_all_project_versions.sh prepare libosmo-abis master
* Build specific known version 0.4.0 for project libosmo-abis into input/:
./run_all_project_versions.sh prepare libosmo-abis 0.4.0
* Generate report for whole list of known versions for project libosmo-abis into input/:
./run_all_project_versions.sh report libosmo-abis all
* Generate report for known version + master for project libosmo-abis into input/:
./run_all_project_versions.sh report libosmo-abis latest
* Generate report for master rev of project libosmo-abis into input/:
./run_all_project_versions.sh report libosmo-abis master
* Generate report for 0.4.0 for project libosmo-abis into input/:
./run_all_project_versions.sh report libosmo-abis 0.4.0

@ -0,0 +1,68 @@
#!/usr/bin/env bash
# TODO: have a per project deps variable which lists which projects need to be
# built. then have a function to build each dep.
. ./libs_track.sh.inc
final_project=${1:-none}
if ! [ -x "$(command -v osmo-build-dep.sh)" ]; then
echo "Error: We need to have scripts/osmo-deps.sh from http://git.osmocom.org/osmo-ci/ in PATH !"
exit 2
fi
set -ex
build_dep_and_stop() {
local project="$1"
local version="$2"
local configure_opt="$3"
echo " =============================== $project $version (for $final_project)===================="
osmo-build-dep.sh $project "$version" "$configure_opt"
if [ "x$final_project" = "x$project" ]; then exit 0; fi
}
base="$PWD"
deps="$base/deps"
inst="$deps/install"
export deps inst
#osmo-clean-workspace.sh
mkdir "$deps" || true
export PKG_CONFIG_PATH="$inst/lib/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="$inst/lib"
export CFLAGS="$CFLAGS -g -Og"
export CPPFLAGS="$CPPFLAGS -g -Og"
echo " =============================== libosmocore ============================="
build_dep_and_stop libosmocore "$VERSION_libosmocore" "--disable-doxygen"
echo " =============================== libosmo-abis ============================"
build_dep_and_stop libosmo-abis "$VERSION_libosmo_abis" "--disable-doxygen"
echo " =============================== libosmo-netif ==========================="
build_dep_and_stop libosmo-netif "$VERSION_libosmo_netif" "--disable-doxygen"
echo " =============================== libosmo-sccp ============================"
build_dep_and_stop libosmo-sccp "$VERSION_libosmo_sccp" ""
echo " =============================== libsmpp34 ==============================="
build_dep_and_stop libsmpp34 "$VERSION_libsmpp34" ""
echo " =============================== osmo-mgw ================================"
build_dep_and_stop osmo-mgw "$VERSION_osmo_mgw" ""
echo " =============================== libasn1c ==============================="
build_dep_and_stop libasn1c "$VERSION_libasn1c" ""
echo " =============================== osmo-iuh ==============================="
build_dep_and_stop osmo-iuh "$VERSION_osmo_iuh" ""
echo " =============================== osmo-ggsn ==============================="
build_dep_and_stop osmo-ggsn "$VERSION_osmo_ggsn" ""
#osmo-clean-workspace.sh

@ -0,0 +1,55 @@
#!/bin/bash
set -e
project=$1
repo=$2
get_version_date() {
ref=$1
git -C "$repo" show -s --format=%cd --date=iso "$ref^{commit}" | awk '{print $1}'
}
if [ "$#" != "2" ]; then
echo "example: generate_profile.sh libosmocore /tmp/libosmocore.git"
exit 1
fi
first=1
echo -n "
{
\"Name\": \"$project\",
\"Title\": \"$project\",
\"SourceUrl\": \"https://git.osmocom.org/$project/\",
\"Git\": \"git://git.osmocom.org/$project\",
\"Maintainer\": \"Pau Espin Pedrol\",
\"MaintainerUrl\": \"http://pespin.espeweb.net/~pespin/tmp/osmocom/\",
\"Versions\": [
{
\"Number\": \"master\",
\"Installed\": \"../input/$project/master\",
\"Date\": \"$(get_version_date origin/master)\",
\"HeadersDiff\": \"Off\",
\"PkgDiff\": \"Off\",
\"ABIView\": \"Off\",
\"ABIDiff\": \"Off\"
}"
for myv in $(./print_releases.sh $repo desc); do
echo -n ", {
\"Number\": \"$myv\",
\"Installed\": \"../input/$project/$myv\",
\"Date\": \"$(get_version_date $myv)\",
\"HeadersDiff\": \"Off\",
\"PkgDiff\": \"Off\",
\"ABIView\": \"Off\",
\"ABIDiff\": \"Off\"
}"
done
echo "
]
}
"

@ -0,0 +1,80 @@
#!/bin/bash
set -e
. ./libs_track.sh.inc
#rm -rf deps
#./build_osmocom_libs.sh
base="$PWD"
deps="$base/deps"
inst="$deps/install"
profiles="$base/profiles"
build="$base/build"
deploy="$base/deploy"
#rm -rf "$deploy"
project=${1:-libosmocore}
action=${2:-report}
if [ "$action" != "prepare" ] && [ "$action" != "report" ]; then
echo "Non supported action"
exit 1
fi
generate_input_ext() {
project="$1"
version="$2"
project_underscore="$(echo $project | sed "s/-/_/g")"
input="$base/input/$project/$version" # this is the format used in profile files
mkdir -p "$input"
#abi-tracker expects to find files, not symlinks:
libs_var="LIBRARIES_${project_underscore}"
libs="${!libs_var}"
for f in $libs; do
orig="$(readlink -f $inst/lib/$f.so)"
cp -v $orig "$input/$(basename $orig)"
done
#abi-tracker looks for headers under Installed. Again, it doesn't support symlinks.
cp -rL $(readlink -f "$inst/include") "$input/include"
}
generate_abi_dump_ext() {
project="$1"
version="$2"
echo "Generating report for $project $version ($profiles/$project.json)"
mkdir -p "$build" "$deploy"
pushd "$build"
abi-tracker -rebuild -t abidump -deploy "$deploy" -v "$version" "$profiles/$project.json"
abi-tracker -rebuild -t abireport -deploy "$deploy" -v "$version" "$profiles/$project.json"
abi-tracker -rebuild -global-index -t date -deploy "$deploy" -v "$version" "$profiles/$project.json"
cp "$build/index.html" "$deploy/index.html"
popd
}
generate_input() {
project="$1"
project_underscore="$(echo $project | sed "s/-/_/g")"
version_var="VERSION_${project_underscore}"
version="${!version_var}"
generate_input_ext "$project" "$version"
}
generate_abi_dump() {
project="$1"
project_underscore="$(echo $project | sed "s/-/_/g")"
version_var="VERSION_${project_underscore}"
version="${!version_var}"
generate_abi_dump_ext "$project" "$version"
}
if [ "$action" == "prepare" ]; then
./build_osmocom_libs.sh $project
generate_input $project
elif [ "$action" == "report" ]; then
generate_abi_dump $project
fi

@ -0,0 +1,41 @@
LIBRARIES_libosmocore="
libosmocore
libosmoctrl
libosmogb
libosmogsm
libosmosim
libosmocodec
libosmovty
"
LIBRARIES_libosmo_abis="libosmoabis libosmotrau"
LIBRARIES_libasn1c="libasn1c"
LIBRARIES_osmo_iuh="libosmo-ranap"
LIBRARIES_osmo_ggsn="libgtp"
LIBRARIES_libosmo_sccp="libosmo-sigtran"
LIBRARIES_osmo_mgw="libosmo-mgcp-client"
LIBRARIES_libosmo_netif="libosmonetif"
LIBRARIES_libsmpp34="libsmpp34"
LIBRARIES="
$LIBRARIES_libosmocore
$LIBRARIES_libosmo_abis
$LIBRARIES_libasn1c
$LIBRARIES_osmo_iuh
$LIBRARIES_osmo_ggsn
$LIBRARIES_libosmo_abis
$LIBRARIES_libosmo_sccp
$LIBRARIES_osmo_mgw
$LIBRARIES_libosmo_netif
$LIBRARIES_libsmpp34
"
VERSION_libosmocore="${VERSION_libosmocore:-master}"
VERSION_libosmo_abis="${VERSION_libosmo_abis:-master}"
VERSION_libasn1c="${VERSION_libasn1c:-master}"
VERSION_osmo_iuh="${VERSION_osmo_iuh:-master}"
VERSION_osmo_ggsn="${VERSION_osmo_ggsn:-master}"
VERSION_libosmo_abis="${VERSION_libosmo_abis:-master}"
VERSION_libosmo_sccp="${VERSION_libosmo_sccp:-master}"
VERSION_osmo_mgw="${VERSION_osmo_mgw:-master}"
VERSION_libosmo_netif="${VERSION_libosmo_netif:-master}"
VERSION_libsmpp34="${VERSION_libsmpp34:-master}"

@ -0,0 +1,18 @@
#!/bin/bash
cd $1
order=${2:-desc}
if [ "$order" != "desc" ] && [ "$order" != "asc" ]; then
echo "order must be 'asc' or 'desc'"
exit 1
fi
desc_flag=""
if [ "$order" = "desc" ]; then
desc_flag="-"
fi
VERS="$(git tag -l --sort=${desc_flag}v:refname | grep "^[0-9]*.[0-9]*.[0-9]*$")"
echo $VERS

@ -0,0 +1,30 @@
{
"Name": "libasn1c",
"Title": "libasn1c",
"SourceUrl": "https://git.osmocom.org/libasn1c/",
"Git": "git://git.osmocom.org/libasn1c",
"Maintainer": "Pau Espin Pedrol",
"MaintainerUrl": "http://pespin.espeweb.net/~pespin/tmp/osmocom/",
"Versions": [
{
"Number": "master",
"Installed": "../input/libasn1c/master",
"Date": "2018-03-05",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.9.28",
"Installed": "../input/libasn1c/0.9.28",
"Date": "2017-10-27",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}
]
}

@ -0,0 +1,46 @@
{
"Name": "libosmo-abis",
"Title": "libosmo-abis",
"SourceUrl": "https://git.osmocom.org/libosmo-abis/",
"Git": "git://git.osmocom.org/libosmo-abis",
"Maintainer": "Pau Espin Pedrol",
"MaintainerUrl": "http://pespin.espeweb.net/~pespin/tmp/osmocom/",
"Versions": [
{
"Number": "master",
"Installed": "../input/libosmo-abis/master",
"Date": "2018-04-17",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.4.0",
"Installed": "../input/libosmo-abis/0.4.0",
"Date": "2017-08-25",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.2",
"Installed": "../input/libosmo-abis/0.3.2",
"Date": "2015-11-03",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.0",
"Installed": "../input/libosmo-abis/0.3.0",
"Date": "2014-09-08",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}
]
}

@ -0,0 +1,94 @@
{
"Name": "libosmo-netif",
"Title": "libosmo-netif",
"SourceUrl": "https://git.osmocom.org/libosmo-netif/",
"Git": "git://git.osmocom.org/libosmo-netif",
"Maintainer": "Pau Espin Pedrol",
"MaintainerUrl": "http://pespin.espeweb.net/~pespin/tmp/osmocom/",
"Versions": [
{
"Number": "master",
"Installed": "../input/libosmo-netif/master",
"Date": "2018-04-17",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.1",
"Installed": "../input/libosmo-netif/0.1.1",
"Date": "2017-10-28",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.0",
"Installed": "../input/libosmo-netif/0.1.0",
"Date": "2017-10-27",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.0.8",
"Installed": "../input/libosmo-netif/0.0.8",
"Date": "2017-10-17",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.0.6",
"Installed": "../input/libosmo-netif/0.0.6",
"Date": "2015-11-03",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.0.5",
"Installed": "../input/libosmo-netif/0.0.5",
"Date": "2015-08-23",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.0.4",
"Installed": "../input/libosmo-netif/0.0.4",
"Date": "2014-09-08",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.0.3",
"Installed": "../input/libosmo-netif/0.0.3",
"Date": "2014-05-22",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.0.2",
"Installed": "../input/libosmo-netif/0.0.2",
"Date": "2013-05-22",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.0.1",
"Installed": "../input/libosmo-netif/0.0.1",
"Date": "2012-02-23",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}
]
}

@ -0,0 +1,94 @@
{
"Name": "libosmo-sccp",
"Title": "libosmo-sccp",
"SourceUrl": "https://git.osmocom.org/libosmo-sccp/",
"Git": "git://git.osmocom.org/libosmo-sccp",
"Maintainer": "Pau Espin Pedrol",
"MaintainerUrl": "http://pespin.espeweb.net/~pespin/tmp/osmocom/",
"Versions": [
{
"Number": "master",
"Installed": "../input/libosmo-sccp/master",
"Date": "2018-04-17",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.8.1",
"Installed": "../input/libosmo-sccp/0.8.1",
"Date": "2017-10-28",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.8.0",
"Installed": "../input/libosmo-sccp/0.8.0",
"Date": "2017-10-27",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.7.0",
"Installed": "../input/libosmo-sccp/0.7.0",
"Date": "2015-08-01",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.0.6",
"Installed": "../input/libosmo-sccp/0.0.6",
"Date": "2011-06-04",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.0.5",
"Installed": "../input/libosmo-sccp/0.0.5",
"Date": "2011-03-23",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.0.4",
"Installed": "../input/libosmo-sccp/0.0.4",
"Date": "2011-02-25",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.0.3",
"Installed": "../input/libosmo-sccp/0.0.3",
"Date": "2010-08-25",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.0.2",
"Installed": "../input/libosmo-sccp/0.0.2",
"Date": "2010-08-03",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.0.1",
"Installed": "../input/libosmo-sccp/0.0.1",
"Date": "2010-07-30",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}
]
}

@ -0,0 +1,590 @@
{
"Name": "libosmocore",
"Title": "libosmocore",
"SourceUrl": "https://git.osmocom.org/libosmocore/",
"Git": "git://git.osmocom.org/libosmocore",
"Maintainer": "Pau Espin Pedrol",
"MaintainerUrl": "http://pespin.espeweb.net/~pespin/tmp/osmocom/",
"Versions": [
{
"Number": "master",
"Installed": "../input/libosmocore/master",
"Date": "2018-04-19",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.10.2",
"Installed": "../input/libosmocore/0.10.2",
"Date": "2017-11-02",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.10.1",
"Installed": "../input/libosmocore/0.10.1",
"Date": "2017-10-29",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.10.0",
"Installed": "../input/libosmocore/0.10.0",
"Date": "2017-10-27",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.9.6",
"Installed": "../input/libosmocore/0.9.6",
"Date": "2016-12-11",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.9.5",
"Installed": "../input/libosmocore/0.9.5",
"Date": "2016-12-11",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.9.4",
"Installed": "../input/libosmocore/0.9.4",
"Date": "2016-05-06",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.9.3",
"Installed": "../input/libosmocore/0.9.3",
"Date": "2015-11-09",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.9.0",
"Installed": "../input/libosmocore/0.9.0",
"Date": "2015-11-03",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.8.3",
"Installed": "../input/libosmocore/0.8.3",
"Date": "2015-08-23",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.8.2",
"Installed": "../input/libosmocore/0.8.2",
"Date": "2015-08-01",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.8.0",
"Installed": "../input/libosmocore/0.8.0",
"Date": "2015-01-18",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.7.0",
"Installed": "../input/libosmocore/0.7.0",
"Date": "2014-08-21",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.6.6",
"Installed": "../input/libosmocore/0.6.6",
"Date": "2014-03-31",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.6.5",
"Installed": "../input/libosmocore/0.6.5",
"Date": "2014-01-13",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.6.4",
"Installed": "../input/libosmocore/0.6.4",
"Date": "2013-10-15",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.6.3",
"Installed": "../input/libosmocore/0.6.3",
"Date": "2013-08-09",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.6.2",
"Installed": "../input/libosmocore/0.6.2",
"Date": "2013-06-26",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.6.1",
"Installed": "../input/libosmocore/0.6.1",
"Date": "2013-06-18",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.6.0",
"Installed": "../input/libosmocore/0.6.0",
"Date": "2013-03-13",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.5.3",
"Installed": "../input/libosmocore/0.5.3",
"Date": "2012-08-03",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.5.2",
"Installed": "../input/libosmocore/0.5.2",
"Date": "2012-06-30",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.5.1",
"Installed": "../input/libosmocore/0.5.1",
"Date": "2012-06-17",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.5.0",
"Installed": "../input/libosmocore/0.5.0",
"Date": "2012-06-17",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.4.3",
"Installed": "../input/libosmocore/0.4.3",
"Date": "2012-06-16",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.4.2",
"Installed": "../input/libosmocore/0.4.2",
"Date": "2012-04-26",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.4.1",
"Installed": "../input/libosmocore/0.4.1",
"Date": "2011-12-11",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.4.0",
"Installed": "../input/libosmocore/0.4.0",
"Date": "2011-10-17",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.11",
"Installed": "../input/libosmocore/0.3.11",
"Date": "2011-12-01",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.10",
"Installed": "../input/libosmocore/0.3.10",
"Date": "2011-10-10",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.9",
"Installed": "../input/libosmocore/0.3.9",
"Date": "2011-09-04",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.8",
"Installed": "../input/libosmocore/0.3.8",
"Date": "2011-09-03",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.7",
"Installed": "../input/libosmocore/0.3.7",
"Date": "2011-08-22",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.6",
"Installed": "../input/libosmocore/0.3.6",
"Date": "2011-08-20",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.5",
"Installed": "../input/libosmocore/0.3.5",
"Date": "2011-07-27",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.4",
"Installed": "../input/libosmocore/0.3.4",
"Date": "2011-06-29",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.3",
"Installed": "../input/libosmocore/0.3.3",
"Date": "2011-06-27",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.2",
"Installed": "../input/libosmocore/0.3.2",
"Date": "2011-06-26",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.1",
"Installed": "../input/libosmocore/0.3.1",
"Date": "2011-05-22",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.0",
"Installed": "../input/libosmocore/0.3.0",
"Date": "2011-05-07",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.2.0",
"Installed": "../input/libosmocore/0.2.0",
"Date": "2011-03-23",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.31",
"Installed": "../input/libosmocore/0.1.31",
"Date": "2011-03-19",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.30",
"Installed": "../input/libosmocore/0.1.30",
"Date": "2011-03-05",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.29",
"Installed": "../input/libosmocore/0.1.29",
"Date": "2011-03-03",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.28",
"Installed": "../input/libosmocore/0.1.28",
"Date": "2011-03-03",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.27",
"Installed": "../input/libosmocore/0.1.27",
"Date": "2010-10-27",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.26",
"Installed": "../input/libosmocore/0.1.26",
"Date": "2010-10-26",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.25",
"Installed": "../input/libosmocore/0.1.25",
"Date": "2010-10-24",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.24",
"Installed": "../input/libosmocore/0.1.24",
"Date": "2010-10-11",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.23",
"Installed": "../input/libosmocore/0.1.23",
"Date": "2010-10-09",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.22",
"Installed": "../input/libosmocore/0.1.22",
"Date": "2010-09-30",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.21",
"Installed": "../input/libosmocore/0.1.21",
"Date": "2010-09-20",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.20",
"Installed": "../input/libosmocore/0.1.20",
"Date": "2010-09-14",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.19",
"Installed": "../input/libosmocore/0.1.19",
"Date": "2010-08-26",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.18",
"Installed": "../input/libosmocore/0.1.18",
"Date": "2010-08-25",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.16",
"Installed": "../input/libosmocore/0.1.16",
"Date": "2010-08-04",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.15",
"Installed": "../input/libosmocore/0.1.15",
"Date": "2010-07-30",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.14",
"Installed": "../input/libosmocore/0.1.14",
"Date": "2010-07-30",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.13",
"Installed": "../input/libosmocore/0.1.13",
"Date": "2010-06-29",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.12",
"Installed": "../input/libosmocore/0.1.12",
"Date": "2010-06-15",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.11",
"Installed": "../input/libosmocore/0.1.11",
"Date": "2010-06-10",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.10",
"Installed": "../input/libosmocore/0.1.10",
"Date": "2010-06-01",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.9",
"Installed": "../input/libosmocore/0.1.9",
"Date": "2010-05-31",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.8",
"Installed": "../input/libosmocore/0.1.8",
"Date": "2010-05-23",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.7",
"Installed": "../input/libosmocore/0.1.7",
"Date": "2010-05-15",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.6",
"Installed": "../input/libosmocore/0.1.6",
"Date": "2010-05-11",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.5",
"Installed": "../input/libosmocore/0.1.5",
"Date": "2010-05-01",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.4",
"Installed": "../input/libosmocore/0.1.4",
"Date": "2010-04-11",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.3",
"Installed": "../input/libosmocore/0.1.3",
"Date": "2010-03-28",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.2",
"Installed": "../input/libosmocore/0.1.2",
"Date": "2010-03-26",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.1",
"Installed": "../input/libosmocore/0.1.1",
"Date": "2010-03-25",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.0",
"Installed": "../input/libosmocore/0.1.0",
"Date": "2010-03-23",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}
]
}

@ -0,0 +1,46 @@
{
"Name": "libsmpp34",
"Title": "libsmpp34",
"SourceUrl": "https://git.osmocom.org/libsmpp34/",
"Git": "git://git.osmocom.org/libsmpp34",
"Maintainer": "Pau Espin Pedrol",
"MaintainerUrl": "http://pespin.espeweb.net/~pespin/tmp/osmocom/",
"Versions": [
{
"Number": "master",
"Installed": "../input/libsmpp34/master",
"Date": "2018-03-05",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "1.12.0",
"Installed": "../input/libsmpp34/1.12.0",
"Date": "2017-08-14",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "1.12",
"Installed": "../input/libsmpp34/1.12",
"Date": "2017-08-14",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "1.10",
"Installed": "../input/libsmpp34/1.10",
"Date": "2012-11-07",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}
]
}

@ -0,0 +1,54 @@
{
"Name": "osmo-bsc",
"Title": "osmo-bsc",
"SourceUrl": "https://git.osmocom.org/osmo-bsc/",
"Git": "git://git.osmocom.org/osmo-bsc",
"Maintainer": "Pau Espin Pedrol",
"MaintainerUrl": "http://pespin.espeweb.net/~pespin/tmp/osmocom/",
"Versions": [
{
"Number": "master",
"Installed": "../input/osmo-bsc/master",
"Date": "2018-04-19",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "1.1.2",
"Installed": "../input/osmo-bsc/1.1.2",
"Date": "2017-10-29",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "1.1.1",
"Installed": "../input/osmo-bsc/1.1.1",
"Date": "2017-10-28",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "1.1.0",
"Installed": "../input/osmo-bsc/1.1.0",
"Date": "2017-10-28",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "1.0.1",
"Installed": "../input/osmo-bsc/1.0.1",
"Date": "2017-06-22",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}
]
}

@ -0,0 +1,78 @@
{
"Name": "osmo-bts",
"Title": "osmo-bts",
"SourceUrl": "https://git.osmocom.org/osmo-bts/",
"Git": "git://git.osmocom.org/osmo-bts",
"Maintainer": "Pau Espin Pedrol",
"MaintainerUrl": "http://pespin.espeweb.net/~pespin/tmp/osmocom/",
"Versions": [
{
"Number": "master",
"Installed": "../input/osmo-bts/master",
"Date": "2018-04-19",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.7.0",
"Installed": "../input/osmo-bts/0.7.0",
"Date": "2017-10-28",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.6.0",
"Installed": "../input/osmo-bts/0.6.0",
"Date": "2017-08-25",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.4.0",
"Installed": "../input/osmo-bts/0.4.0",
"Date": "2015-09-22",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.3.0",
"Installed": "../input/osmo-bts/0.3.0",
"Date": "2013-06-20",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.2.0",
"Installed": "../input/osmo-bts/0.2.0",
"Date": "2013-03-17",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.1.0",
"Installed": "../input/osmo-bts/0.1.0",
"Date": "2012-10-28",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "0.0.1",
"Installed": "../input/osmo-bts/0.0.1",
"Date": "2011-09-07",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}
]
}

@ -0,0 +1,38 @@
{
"Name": "osmo-ggsn",
"Title": "osmo-ggsn",
"SourceUrl": "https://git.osmocom.org/osmo-ggsn/",
"Git": "git://git.osmocom.org/osmo-ggsn",
"Maintainer": "Pau Espin Pedrol",
"MaintainerUrl": "http://pespin.espeweb.net/~pespin/tmp/osmocom/",
"Versions": [
{
"Number": "master",
"Installed": "../input/osmo-ggsn/master",
"Date": "2018-04-17",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "1.1.0",
"Installed": "../input/osmo-ggsn/1.1.0",
"Date": "2017-10-28",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}, {
"Number": "1.0.0",
"Installed": "../input/osmo-ggsn/1.0.0",
"Date": "2017-09-06",
"HeadersDiff": "Off",
"PkgDiff": "Off",
"ABIView": "Off",
"ABIDiff": "Off"
}
]
}

@ -0,0 +1,38 @@
{
"Name": "osmo-hlr",
"Title": "osmo-hlr",
"SourceUrl": "https://git.osmocom.org/osmo-hlr/",
"Git": "git://git.osmocom.org/osmo-hlr",
"Maintainer": "Pau Espin Pedrol",
"MaintainerUrl": "http://pespin.espeweb.net/~pespin/tmp/osmocom/",
"Versions": [
{
"Number": "master",
"Installed": "../input/osmo-hlr/master",
"Date": "2018-04-17",
"HeadersDiff": "Off",