diff --git a/.gitignore b/.gitignore index 89e03f07e..4f8d14c09 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,18 @@ nextepc-pgwd nextepc-sgwd nextepc-epcd nextepc-hssd + +# debian +debian/*.debhelper.log +debian/*.debhelper +debian/*.substvars +debian/tmp +debian/files +debian/autoreconf.before +debian/autoreconf.after +debian/nextepc-core +debian/nextepc-mme +debian/nextepc-sgw +debian/nextepc-pgw +debian/nextepc-pcrf +debian/nextepc-hss diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 000000000..db7add044 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +nextepc (0.1.1) UNRELEASED; urgency=medium + + * Initial release. + + -- Harald Welte Tue, 17 Oct 2017 08:19:54 +0200 diff --git a/debian/compat b/debian/compat new file mode 100644 index 000000000..ec635144f --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 000000000..dbd4bc91c --- /dev/null +++ b/debian/control @@ -0,0 +1,111 @@ +Source: nextepc +Maintainer: Harald Welte +Section: net +Priority: optional +Build-Depends: debhelper (>= 9), + autotools-dev, + pkg-config, + git, + dh-autoreconf, + flex, + bison, + libsctp-dev, + libssl-dev, + libgnutls28-dev, + libgcrypt-dev, + libmongoc-dev, + libbson-dev +Standards-Version: 3.9.6 +Vcs-Browser: https://github.com/acetcom/nextepc +Vcs-Git: git://github.com/acetcom/nextepc +Homepage: https://nextepc.org/ + +Package: nextepc-core +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends} +Description: Open Source based 3GPP EPC (Shared Files) + NextEPC is a C-language Open Source implementation of the 3GPP Evolved + Packet Core, i.e. the core network of an LTE network. + . + This package contains some core libraries/plugins required by the other + binary packages such as nextepc-{mme,sgw,pgw,pcrf,hss}. + +Package: nextepc-mme +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + nextepc-core (= ${binary:Version}) +Description: Open Source based 3GPP EPC MME (Mobility Management Entity) + NextEPC is a C-language Open Source implementation of the 3GPP Evolved + Packet Core, i.e. the core network of an LTE network. + . + This package provides the MME (Mobility Management Engine), which + terminates the S1 interfaces from the eNodeBs cells in the cellular + network, and interfaces via S11 to the SGW as well as via S6a to the + HSS. + +Package: nextepc-sgw +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + nextepc-core (= ${binary:Version}) +Description: Open Source based 3GPP EPC SGW (Serving Gateway) + NextEPC is a C-language Open Source implementation of the 3GPP Evolved + Packet Core, i.e. the core network of an LTE network. + . + This package provides the SGW (Serving Gateway) which is situated + between the MME and PGW. It implements the S11 interface to the MME, + and the S5 interface to the PGW. + +Package: nextepc-pgw +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + nextepc-core (= ${binary:Version}) +Description: Open Source based 3GPP EPC PGW (Packet Data Network Gateway) + NextEPC is a C-language Open Source implementation of the 3GPP Evolved + Packet Core, i.e. the core network of an LTE network. + . + This package provides the PGW or PDN-GW (Packet Data Network Gateway) + element f the EPC, i.e. the gateway between the EPC and the external + packet data network, such as the public Internet. It implements the S5 + interface towards the S-GW, the SGi interface towards the Internet, + and the S7 interface towards the PCRF. + +Package: nextepc-pcrf +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + nextepc-core (= ${binary:Version}) +Description: Open Source based 3GPP EPC PGW (Policy and Charging Rules Function) + NextEPC is a C-language Open Source implementation of the 3GPP Evolved + Packet Core, i.e. the core network of an LTE network. + . + This package contains the PCRF (Policy and Charging Rules Function), + which controls the service quality (QoS) of individual connections and + how to account/charge related traffic. It implements the Gx interface + towards the PGW using the DIAMETER protocol. + +Package: nextepc-hss +Architecture: any +Multi-Arch: same +Depends: ${shlibs:Depends}, + ${misc:Depends}, + nextepc-core (= ${binary:Version}), + mongodb +Description: Open Source based 3GPP EPC HSS (Home Subscriber Server) + NextEPC is a C-language Open Source implementation of the 3GPP Evolved + Packet Core, i.e. the core network of an LTE network. + . + This package provides the HSS (Home Subscriber Server) element of the + EPC, i.e. the central database of mobile network subscribers, with + their IMSI, MSISDN, cryptographic key materials, service subscription + information, etc. It implements the S6a interface towards the MME + using the DIAMETER protocol. + diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 000000000..a096c9811 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,55 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: nextepc +Source: https://github.com/acetcom/nextepc + +Files: * +Copyright: 2017 NextEPC Group +License: GPL-3 + +Files: lib/freeDiameter-1.2.1/* +Copyright: 2008-2011, WIDE Project and NICT +License: BSD-3-clause + +Files: debian/* +Copyright: 2017 Harald Welte +License: GPL-3 + +License: GPL-3 + This package is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by + the Free Software Foundation; version 3 of the License + . + This program is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License + for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems, the complete text of the GNU General Public + License version 3 can be found in "/usr/share/common-licenses/GPL-3". + +License: BSD-3-clause + Software License Agreement (BSD License) + . + Copyright (c) 2008-2011, WIDE Project and NICT + All rights reserved. + . + Redistribution and use of this software in source and binary forms, with or without modification, are· + permitted provided that the following conditions are met: + . + * Redistributions of source code must retain the above· + copyright notice, this list of conditions and the· + following disclaimer. + ··· + * Redistributions in binary form must reproduce the above· + copyright notice, this list of conditions and the· + following disclaimer in the documentation and/or other + materials provided with the distribution. + . + * Neither the name of the WIDE Project or NICT nor the· + names of its contributors may be used to endorse or· + promote products derived from this software without· + specific prior written permission of WIDE Project and· + NICT. diff --git a/debian/nextepc-core.install b/debian/nextepc-core.install new file mode 100644 index 000000000..39e2c3d88 --- /dev/null +++ b/debian/nextepc-core.install @@ -0,0 +1,4 @@ +usr/lib/*/nextepc/* +var/log +etc/nextepc.conf +etc/freeDiameter/cacert.pem diff --git a/debian/nextepc-hss.install b/debian/nextepc-hss.install new file mode 100644 index 000000000..d7e76cf76 --- /dev/null +++ b/debian/nextepc-hss.install @@ -0,0 +1,4 @@ +usr/bin/nextepc-hssd +etc/freeDiameter/hss.conf +etc/freeDiameter/hss.cert.pem +etc/freeDiameter/hss.key.pem diff --git a/debian/nextepc-mme.install b/debian/nextepc-mme.install new file mode 100644 index 000000000..2f69b0578 --- /dev/null +++ b/debian/nextepc-mme.install @@ -0,0 +1,4 @@ +usr/bin/nextepc-mmed +etc/freeDiameter/mme.conf +etc/freeDiameter/mme.cert.pem +etc/freeDiameter/mme.key.pem diff --git a/debian/nextepc-pcrf.install b/debian/nextepc-pcrf.install new file mode 100644 index 000000000..0a79fab66 --- /dev/null +++ b/debian/nextepc-pcrf.install @@ -0,0 +1,4 @@ +usr/bin/nextepc-pcrfd +etc/freeDiameter/pcrf.conf +etc/freeDiameter/pcrf.cert.pem +etc/freeDiameter/pcrf.key.pem diff --git a/debian/nextepc-pgw.install b/debian/nextepc-pgw.install new file mode 100644 index 000000000..a947904ed --- /dev/null +++ b/debian/nextepc-pgw.install @@ -0,0 +1,4 @@ +usr/bin/nextepc-pgwd +etc/freeDiameter/pgw.conf +etc/freeDiameter/pgw.cert.pem +etc/freeDiameter/pgw.key.pem diff --git a/debian/nextepc-sgw.install b/debian/nextepc-sgw.install new file mode 100644 index 000000000..f59af22c7 --- /dev/null +++ b/debian/nextepc-sgw.install @@ -0,0 +1 @@ +usr/bin/nextepc-sgwd diff --git a/debian/rules b/debian/rules new file mode 100755 index 000000000..0dc31fafc --- /dev/null +++ b/debian/rules @@ -0,0 +1,18 @@ +#!/usr/bin/make -f + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +DEBIAN := $(shell dpkg-parsechangelog | grep ^Version: | cut -d' ' -f2) +DEBVERS := $(shell echo '$(DEBIAN)' | cut -d- -f1) +VERSION := $(shell echo '$(DEBVERS)' | sed -e 's/[+-].*//' -e 's/~//g') + +# This has to be exported to make some magic below work. +#export DH_OPTIONS +export DEB_BUILD_MAINT_OPTIONS = hardening=+all + +%: + dh $@ --with autoreconf + +override_dh_auto_test: + # skip 'make test' as currently it expects config/log in system paths