Add 'debian' subdirectory for building dpkg packages

Adding this 'debian' subdirectory will allow users to build
binary packages using 'dpkg-buildpackage' and related tools.

Tested so far on Debian unstable and 9 as well as Ubuntu 17.04
and 17.10 on OpenSuSE Build Service.
This commit is contained in:
Harald Welte 2017-10-17 21:51:12 +02:00
parent ec91b9e8da
commit 4bce6df238
12 changed files with 226 additions and 0 deletions

15
.gitignore vendored
View File

@ -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

5
debian/changelog vendored Normal file
View File

@ -0,0 +1,5 @@
nextepc (0.1.1) UNRELEASED; urgency=medium
* Initial release.
-- Harald Welte <laforge@gnumonks.org> Tue, 17 Oct 2017 08:19:54 +0200

1
debian/compat vendored Normal file
View File

@ -0,0 +1 @@
9

111
debian/control vendored Normal file
View File

@ -0,0 +1,111 @@
Source: nextepc
Maintainer: Harald Welte <laforge@gnumonks.org>
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.

55
debian/copyright vendored Normal file
View File

@ -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 <laforge@gnumonks.org>
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 <http://www.gnu.org/licenses/>.
.
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.

4
debian/nextepc-core.install vendored Normal file
View File

@ -0,0 +1,4 @@
usr/lib/*/nextepc/*
var/log
etc/nextepc.conf
etc/freeDiameter/cacert.pem

4
debian/nextepc-hss.install vendored Normal file
View File

@ -0,0 +1,4 @@
usr/bin/nextepc-hssd
etc/freeDiameter/hss.conf
etc/freeDiameter/hss.cert.pem
etc/freeDiameter/hss.key.pem

4
debian/nextepc-mme.install vendored Normal file
View File

@ -0,0 +1,4 @@
usr/bin/nextepc-mmed
etc/freeDiameter/mme.conf
etc/freeDiameter/mme.cert.pem
etc/freeDiameter/mme.key.pem

4
debian/nextepc-pcrf.install vendored Normal file
View File

@ -0,0 +1,4 @@
usr/bin/nextepc-pcrfd
etc/freeDiameter/pcrf.conf
etc/freeDiameter/pcrf.cert.pem
etc/freeDiameter/pcrf.key.pem

4
debian/nextepc-pgw.install vendored Normal file
View File

@ -0,0 +1,4 @@
usr/bin/nextepc-pgwd
etc/freeDiameter/pgw.conf
etc/freeDiameter/pgw.cert.pem
etc/freeDiameter/pgw.key.pem

1
debian/nextepc-sgw.install vendored Normal file
View File

@ -0,0 +1 @@
usr/bin/nextepc-sgwd

18
debian/rules vendored Executable file
View File

@ -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