From 632e843e5f694ba258e716a7f0e0ceb39055f303 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 5 Sep 2017 18:12:14 +0200 Subject: Rename OpenGGSN to OsmoGGSN Osmocom has maintained this program since about 7 years now, while the original author / copyright holder has completely disappeared. With the introduction of Osmocom-style CTRL and VTY interfaces, the way how the program is used and configured has substantially changed. In order to avoid confusion in terms of configuration file format etc, let's rename it to OsmoGGSN. Change-Id: I2da30f7d4828e185bfac1a4e2d8414b01cbe4f9d --- debian/changelog | 6 ++ debian/control | 24 +++---- debian/copyright | 14 ++-- debian/openggsn.examples | 2 - debian/openggsn.init | 163 ---------------------------------------------- debian/openggsn.install | 3 - debian/osmo-ggsn.examples | 2 + debian/osmo-ggsn.init | 163 ++++++++++++++++++++++++++++++++++++++++++++++ debian/osmo-ggsn.install | 3 + debian/rules | 2 +- 10 files changed, 195 insertions(+), 187 deletions(-) delete mode 100644 debian/openggsn.examples delete mode 100755 debian/openggsn.init delete mode 100644 debian/openggsn.install create mode 100644 debian/osmo-ggsn.examples create mode 100755 debian/osmo-ggsn.init create mode 100644 debian/osmo-ggsn.install (limited to 'debian') diff --git a/debian/changelog b/debian/changelog index 357cc01..7c82dbb 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +osmo-ggsn (0.94.0) UNRELEASED; urgency=medium + + * Transition to OsmoGGSN + + -- Harald Welte Tue, 05 Sep 2017 09:34:20 +0200 + openggsn (0.94.0) UNRELEASED; urgency=medium [ Holger Hans Peter Freyther ] diff --git a/debian/control b/debian/control index 4e5b168..bed17e2 100644 --- a/debian/control +++ b/debian/control @@ -1,4 +1,4 @@ -Source: openggsn +Source: osmo-ggsn Maintainer: Harald Welte Section: net Priority: optional @@ -9,16 +9,16 @@ Build-Depends: debhelper (>= 9), dh-autoreconf, libosmocore-dev (>= 0.8.0) Standards-Version: 3.9.6 -Vcs-Browser: http://ggsn.git.sourceforge.net/git/gitweb.cgi?p=ggsn/ggsn;a=summary -Vcs-Git: git://ggsn.git.sourceforge.net/gitroot/ggsn/ggsn +Vcs-Browser: http://git.osmocom.org/osmo-ggsn/ +Vcs-Git: git://git.osmocom.org/osmo-ggsn Homepage: https://projects.osmocom.org/projects/openggsn -Package: openggsn +Package: osmo-ggsn Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} -Description: Gateway GPRS Support Node (GGSN) - OpenGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile +Description: Osmocom Gateway GPRS Support Node (GGSN) + OsmoGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile operators as the interface between the Internet and the rest of the mobile network infrastructure. @@ -29,11 +29,11 @@ Section: libs Depends: ${shlibs:Depends}, ${misc:Depends} Description: library implementing the GTP protocol between SGSN and GGSN - OpenGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile + OsmoGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile operators as the interface between the Internet and the rest of the mobile network infrastructure. . - This library is part of openggsn and implements the GTP protocol between + This library is part of OsmoGGSN and implements the GTP protocol between SGSN (Serving GPRS support node) and GGSN. Package: libgtp-dev @@ -43,17 +43,17 @@ Section: libdevel Depends: ${misc:Depends}, libgtp1 (= ${binary:Version}) Description: Development files for libgtp - OpenGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile + OsmoGGSN is a Gateway GPRS Support Node (GGSN). It is used by mobile operators as the interface between the Internet and the rest of the mobile network infrastructure. . The library libgtp implements the GTP protocol between SGSN and GGSN and this package contains the development files for this library. -Package: openggsn-dbg +Package: osmo-ggsn-dbg Section: debug Architecture: any Priority: extra -Depends: ${shlibs:Depends}, ${misc:Depends}, libgtp1 (= ${binary:Version}), openggsn (= ${binary:Version}) +Depends: ${shlibs:Depends}, ${misc:Depends}, libgtp1 (= ${binary:Version}), osmo-ggsn (= ${binary:Version}) Multi-Arch: same -Description: Debug symbols for OpenGGSN +Description: Debug symbols for OsmoGGSN diff --git a/debian/copyright b/debian/copyright index b3339d9..a6507bd 100644 --- a/debian/copyright +++ b/debian/copyright @@ -1,11 +1,13 @@ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: openggsn -Source: http://sourceforge.net/projects/ggsn/ +Upstream-Name: osmo-ggsn +Source: https://osmocom.org/projects/openggsn Files: * -Copyright: 2002 Jens Jakobsen - 2002-2004 Mondru AB - 2010-2011 Harald Welte +Copyright (C) 2002-2004 Mondru AB, Author: Jens Jakobsen +Copyright (C) 2010-2017 Harald Welte +Copyright (C) 2012-2016 Holger Hans Peter Freyther +Copyright (C) 2014-2016 Pablo Neira Ayuso +Copyright (C) 2014-2016 sysmocom - s.f.m.c. GmbH License: GPL-2 Files: lib/getopt.c @@ -15,7 +17,7 @@ Copyright: 1987-2001 Free Software Foundation, Inc. License: LGPL-2.1+ Files: debian/* -Copyright: 2010-2015 Harald Welte +Copyright: 2010-2017 Harald Welte 2016 Ruben Undheim License: GPL-2 diff --git a/debian/openggsn.examples b/debian/openggsn.examples deleted file mode 100644 index 1fa82f3..0000000 --- a/debian/openggsn.examples +++ /dev/null @@ -1,2 +0,0 @@ -examples/ggsn.conf -examples/sgsnemu.conf diff --git a/debian/openggsn.init b/debian/openggsn.init deleted file mode 100755 index d4fcb18..0000000 --- a/debian/openggsn.init +++ /dev/null @@ -1,163 +0,0 @@ -#!/bin/sh -### BEGIN INIT INFO -# Provides: openggsn -# Required-Start: $network $local_fs $remote_fs -# Required-Stop: $network $remote_fs -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Gateway GPRS Support Node -# Description: Gateway GPRS Support Node -### END INIT INFO - -# Author: Harald Welte - -# PATH should only include /usr/* if it runs after the mountnfs.sh script -PATH=/sbin:/usr/sbin:/bin:/usr/bin -DESC="OpenGGSN Gateway GPRS Support Node" -NAME=ggsn -DAEMON=/usr/bin/ggsn -DAEMON_ARGS="" # Arguments to run the daemon with -PIDFILE=/var/run/$NAME.pid -SCRIPTNAME=/etc/init.d/openggsn - -# Exit if the package is not installed -[ -x $DAEMON ] || exit 0 - -# Read configuration variable file if it is present -[ -r /etc/default/openggsn ] && . /etc/default/openggsn - -# Load the VERBOSE setting and other rcS variables -. /lib/init/vars.sh -# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. -. /lib/lsb/init-functions - -DAEMON_ARGS="$DAEMON_ARGS" - -# -# Function that starts the daemon/service -# -do_start() -{ - # Return - # 0 if daemon has been started - # 1 if daemon was already running - # 2 if daemon could not be started - start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ - || return 1 - - # Check for runtime directory of nonvolatile data - if [ ! -d /var/lib/ggsn ]; then - mkdir /var/lib/ggsn - fi - - # Check for GTP restart counter - if [ ! -f /var/lib/ggsn/gsn_restart ]; then - echo 0 > /var/lib/ggsn/gsn_restart - fi - - start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ - $DAEMON_ARGS \ - || return 2 - # Add code here, if necessary, that waits for the process to be ready - # to handle requests from services started subsequently which depend - # on this one. As a last resort, sleep for some time. -} - -# -# Function that stops the daemon/service -# -do_stop() -{ - # Return - # 0 if daemon has been stopped - # 1 if daemon was already stopped - # 2 if daemon could not be stopped - # other if a failure occurred - start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME - RETVAL="$?" - [ "$RETVAL" = 2 ] && return 2 - # Wait for children to finish too if this is a daemon that forks - # and if the daemon is only ever run from this initscript. - # If the above conditions are not satisfied then add some other code - # that waits for the process to drop all resources that could be - # needed by services started subsequently. A last resort is to - # sleep for some time. - start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON - [ "$?" = 2 ] && return 2 - # Many daemons don't delete their pidfiles when they exit. - rm -f $PIDFILE - return "$RETVAL" -} - -# -# Function that sends a SIGHUP to the daemon/service -# -do_reload() { - # - # If the daemon can reload its configuration without - # restarting (for example, when it is sent a SIGHUP), - # then implement that here. - # - start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME - return 0 -} - -case "$1" in - start) - [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME" - do_start - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; - stop) - [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" - do_stop - case "$?" in - 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; - 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; - esac - ;; - status) - status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? - ;; - #reload|force-reload) - # - # If do_reload() is not implemented then leave this commented out - # and leave 'force-reload' as an alias for 'restart'. - # - #log_daemon_msg "Reloading $DESC" "$NAME" - #do_reload - #log_end_msg $? - #;; - restart|force-reload) - # - # If the "reload" option is implemented then remove the - # 'force-reload' alias - # - log_daemon_msg "Restarting $DESC" "$NAME" - do_stop - case "$?" in - 0|1) - do_start - case "$?" in - 0) log_end_msg 0 ;; - 1) log_end_msg 1 ;; # Old process is still running - *) log_end_msg 1 ;; # Failed to start - esac - ;; - *) - # Failed to stop - log_end_msg 1 - ;; - esac - ;; - *) - #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 - echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 - exit 3 - ;; -esac - -: diff --git a/debian/openggsn.install b/debian/openggsn.install deleted file mode 100644 index 4b301e1..0000000 --- a/debian/openggsn.install +++ /dev/null @@ -1,3 +0,0 @@ -/usr/bin/ggsn -/usr/bin/sgsnemu -/usr/share/man/man8/* diff --git a/debian/osmo-ggsn.examples b/debian/osmo-ggsn.examples new file mode 100644 index 0000000..3898d26 --- /dev/null +++ b/debian/osmo-ggsn.examples @@ -0,0 +1,2 @@ +examples/osmo-ggsn.conf +examples/sgsnemu.conf diff --git a/debian/osmo-ggsn.init b/debian/osmo-ggsn.init new file mode 100755 index 0000000..6fe1b87 --- /dev/null +++ b/debian/osmo-ggsn.init @@ -0,0 +1,163 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: osmo-ggsn +# Required-Start: $network $local_fs $remote_fs +# Required-Stop: $network $remote_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Gateway GPRS Support Node +# Description: Gateway GPRS Support Node +### END INIT INFO + +# Author: Harald Welte + +# PATH should only include /usr/* if it runs after the mountnfs.sh script +PATH=/sbin:/usr/sbin:/bin:/usr/bin +DESC="OsmoGGSN Gateway GPRS Support Node" +NAME=ggsn +DAEMON=/usr/bin/osmo-ggsn +DAEMON_ARGS="" # Arguments to run the daemon with +PIDFILE=/var/run/$NAME.pid +SCRIPTNAME=/etc/init.d/osmo-ggsn + +# Exit if the package is not installed +[ -x $DAEMON ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/osmo-ggsn ] && . /etc/default/osmo-ggsn + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh +# Depend on lsb-base (>= 3.0-6) to ensure that this file is present. +. /lib/lsb/init-functions + +DAEMON_ARGS="$DAEMON_ARGS" + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ + || return 1 + + # Check for runtime directory of nonvolatile data + if [ ! -d /var/lib/osmo-ggsn ]; then + mkdir /var/lib/osmo-ggsn + fi + + # Check for GTP restart counter + if [ ! -f /var/lib/osmo-ggsn/gsn_restart ]; then + echo 0 > /var/lib/osmo-ggsn/gsn_restart + fi + + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ + $DAEMON_ARGS \ + || return 2 + # Add code here, if necessary, that waits for the process to be ready + # to handle requests from services started subsequently which depend + # on this one. As a last resort, sleep for some time. +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE --name $NAME + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + # Wait for children to finish too if this is a daemon that forks + # and if the daemon is only ever run from this initscript. + # If the above conditions are not satisfied then add some other code + # that waits for the process to drop all resources that could be + # needed by services started subsequently. A last resort is to + # sleep for some time. + start-stop-daemon --stop --quiet --oknodo --retry=0/30/KILL/5 --exec $DAEMON + [ "$?" = 2 ] && return 2 + # Many daemons don't delete their pidfiles when they exit. + rm -f $PIDFILE + return "$RETVAL" +} + +# +# Function that sends a SIGHUP to the daemon/service +# +do_reload() { + # + # If the daemon can reload its configuration without + # restarting (for example, when it is sent a SIGHUP), + # then implement that here. + # + start-stop-daemon --stop --signal 1 --quiet --pidfile $PIDFILE --name $NAME + return 0 +} + +case "$1" in + start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC " "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + status) + status_of_proc "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + #reload|force-reload) + # + # If do_reload() is not implemented then leave this commented out + # and leave 'force-reload' as an alias for 'restart'. + # + #log_daemon_msg "Reloading $DESC" "$NAME" + #do_reload + #log_end_msg $? + #;; + restart|force-reload) + # + # If the "reload" option is implemented then remove the + # 'force-reload' alias + # + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + #echo "Usage: $SCRIPTNAME {start|stop|restart|reload|force-reload}" >&2 + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: diff --git a/debian/osmo-ggsn.install b/debian/osmo-ggsn.install new file mode 100644 index 0000000..522a3d1 --- /dev/null +++ b/debian/osmo-ggsn.install @@ -0,0 +1,3 @@ +/usr/bin/osmo-ggsn +/usr/bin/sgsnemu +/usr/share/man/man8/* diff --git a/debian/rules b/debian/rules index aa95e28..6f27da9 100755 --- a/debian/rules +++ b/debian/rules @@ -15,7 +15,7 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all dh $@ --with autoreconf override_dh_strip: - dh_strip --dbg-package=openggsn-dbg + dh_strip --dbg-package=osmo-ggsn-dbg override_dh_autoreconf: echo $(VERSION) > .tarball-version -- cgit v1.2.3