]> granicus.if.org Git - icinga2/commitdiff
Remove icinga2-list-objects
authorGunnar Beutner <gunnar.beutner@netways.de>
Wed, 15 Oct 2014 13:04:29 +0000 (15:04 +0200)
committerGunnar Beutner <gunnar.beutner@netways.de>
Wed, 15 Oct 2014 13:06:52 +0000 (15:06 +0200)
refs #7251

20 files changed:
CMakeLists.txt
INSTALL.md
debian/control
debian/icinga2-common.install
debian/python-icinga2.install [deleted file]
debian/rules
icinga2.spec
python/CMakeLists.txt [deleted file]
python/icinga2/CMakeLists.txt [deleted file]
python/icinga2/__init__.py [deleted file]
python/icinga2/commands/CMakeLists.txt [deleted file]
python/icinga2/commands/__init__.py [deleted file]
python/icinga2/commands/list_objects.py [deleted file]
python/icinga2/config.py.cmake [deleted file]
python/icinga2/utils/CMakeLists.txt [deleted file]
python/icinga2/utils/__init__.py [deleted file]
python/icinga2/utils/debug.py [deleted file]
python/icinga2/utils/netstring.py [deleted file]
python/setup.py.cmake [deleted file]
third-party/cmake/PythonSetup.cmake [deleted file]

index ee3cc552fdc279b3e3d13102c515dee14ad21d77..2a60148d6c64fa580587f44ce9d11134ddad5141 100644 (file)
@@ -164,7 +164,6 @@ add_subdirectory(doc)
 add_subdirectory(test)
 add_subdirectory(pki)
 add_subdirectory(agent)
-add_subdirectory(python)
 
 set(CPACK_PACKAGE_NAME "Icinga2")
 set(CPACK_PACKAGE_VENDOR "Icinga Development Team")
index ead71cfad5e3d9a7e3b64b142e969deb5000478f..871005da218880c3ebde824635a9dca44e6b256e 100644 (file)
@@ -25,7 +25,6 @@ parentheses):
 * Boost library and header files (boost-devel on RHEL, libboost-all-dev on Debian)
 * GNU bison (bison)
 * GNU flex (flex) >= 2.5.35
-* Python (python-devel on RHEL, python-dev on Debian)
 * recommended: libexecinfo on FreeBSD
 * optional: MySQL (mysql-devel on RHEL, libmysqlclient-dev on Debian)
 * optional: PostgreSQL (postgresql-devel on RHEL, libpq-dev on Debian)
index a9f4e2c477b973dc045731cadbe6d95cf21cb355..ba6f639d79786124affe9535ec5e9cf459fb86d9 100644 (file)
@@ -20,9 +20,7 @@ Build-Depends: bison,
                libpq-dev,
                libssl-dev,
                make (>= 3.81),
-               po-debconf,
-               python-setuptools,
-               python-all
+               po-debconf
 Standards-Version: 3.9.5
 Homepage: http://www.icinga.org
 
@@ -54,7 +52,7 @@ Description: host and network monitoring system
 
 Package: icinga2-common
 Architecture: all
-Depends: python-icinga2 (= ${source:Version}), adduser, lsb-release, ${misc:Depends}
+Depends: adduser, lsb-release, ${misc:Depends}
 Description: host and network monitoring system - common files
  Icinga 2 is a general-purpose monitoring application and the next generation
  after Icinga 1.x - which was a Nagios fork. It should fit the needs of a small
@@ -241,27 +239,3 @@ Description: host and network monitoring system - debug symbols
  .
  This package provides debug symbols for Icinga 2.
 
-Package: python-icinga2
-Architecture: all
-Section: python
-Priority: extra
-Depends: python-pkg-resources, ${misc:Depends}, ${python:Depends}
-Description: host and network monitoring system - Python module
- Icinga 2 is a general-purpose monitoring application and the next generation
- after Icinga 1.x - which was a Nagios fork. It should fit the needs of a small
- environment as well as big installations.
- .
- Rewritten from scratch in C++, with multi-threading and cluster support.
- .
- Features:
-  * All common features of Icinga and Nagios
-  * Much faster and more scalable than Icinga 1 and Nagios
-  * New configuration format, more intuitive and template based
-  * Monitoring several services by executing checks (see nagios-plugins*)
-    for example ICMP/ping, SMTP, POP3, HTTP, NNTP, or other TCP port
-  * Any small script can be used as a check plugin, when following the Nagios
-    plugin API
-  * Notifications about alerts with any custom script, or shipped examples
-  * Native support for Livestatus and Graphite
- .
- This package provides the Python module for Icinga 2.
index 53913a018b2f39c38f5992453e57d0b4b036562c..b691b2294ff5eec078ab8cf93f17dad6d5703796 100644 (file)
@@ -5,7 +5,6 @@ debian/tmp/etc/bash_completion.d
 tools/syntax/*                       usr/share/icinga2-common/syntax
 usr/bin/icinga2-build*
 usr/bin/icinga2-sign-key
-usr/sbin/icinga2-list-objects
 usr/sbin/icinga2-*-agent
 usr/sbin/icinga2-list-agents
 usr/share/icinga2
diff --git a/debian/python-icinga2.install b/debian/python-icinga2.install
deleted file mode 100644 (file)
index 2453ce7..0000000
+++ /dev/null
@@ -1 +0,0 @@
-usr/lib/python*/
index c36326a34d4adc6289b1dcdde6224d162e939c61..acb0b84067c70f53b06bb18751fd5a694df2c3be 100755 (executable)
@@ -3,7 +3,7 @@
 #export DH_VERBOSE=1
 
 %:
-       dh $@ --with python2
+       dh $@
 
 override_dh_auto_clean:
 ifeq ($(shell test -d .git && echo "git"),git) # verify we are in a GIT repo
index 32a1755095e9cffd2107c82df758615875f92d5e..f95e70529cb23e5ed68da297871f04e350d0d7e4 100644 (file)
 %endif
 %endif
 
-%{!?__python2: %global __python2 /usr/bin/python2}
-%{!?python2_sitelib: %global python2_sitelib %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())")}
-%{!?python2_sitearch: %global python2_sitearch %(%{__python2} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib(1))")}
-
 %define icinga_user icinga
 %define icinga_group icinga
 %define icingacmd_group icingacmd
@@ -81,7 +77,6 @@ Meta package for Icinga 2 Core, DB IDO and Web.
 Summary:      Icinga 2 binaries and libraries
 Group:        Applications/System
 
-Requires: python-%{name} = %{version}-%{release}
 %if "%{_vendor}" == "suse"
 PreReq:        permissions
 Provides:      monitoring_daemon
@@ -180,17 +175,6 @@ Icinga 1.x Classic UI Standalone configuration with locations
 for Icinga 2.
 
 
-%package -n python-icinga2
-Summary:      Python module for Icinga 2
-Group:        Application/System
-BuildRequires: python
-BuildRequires: python-devel
-BuildRequires: python-setuptools
-Requires:     python-setuptools
-
-%description -n python-icinga2
-Provides a Python module for Icinga 2.
-
 %prep
 %setup -q -n %{name}-%{version}
 
@@ -534,9 +518,4 @@ exit 0
 %config(noreplace) %{apacheconfdir}/icinga.conf
 %config(noreplace) %attr(0640,root,%{apachegroup}) %{icingaclassicconfdir}/passwd
 
-%files -n python-icinga2
-%defattr(-,root,root,-)
-%{python2_sitelib}/icinga2*
-
-
 %changelog
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
deleted file mode 100644 (file)
index 281b012..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-# Icinga 2
-# Copyright (C) 2012-2014 Icinga Development Team (http://www.icinga.org)
-#
-# This program 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; either version 2
-# of the License, or (at your option) any later version.
-#
-# 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, write to the Free Software Foundation
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-
-if(NOT WIN32)
-  find_package(PythonInterp REQUIRED)
-
-  add_subdirectory(icinga2)
-
-  configure_file(setup.py.cmake ${CMAKE_CURRENT_BINARY_DIR}/setup.py @ONLY)
-
-  install(CODE "
-    execute_process(
-     COMMAND \"${CMAKE_COMMAND}\"
-       \"-DSETUP_PY=${CMAKE_CURRENT_BINARY_DIR}/setup.py\"
-       \"-DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}\"
-       \"-DPREFIX=${CMAKE_INSTALL_PREFIX}\"
-       \"-DWDIR=${CMAKE_CURRENT_BINARY_DIR}\"
-       -P \"${PROJECT_SOURCE_DIR}/third-party/cmake/PythonSetup.cmake\"
-    )
-
-    configure_file(
-        \$ENV{DESTDIR}${CMAKE_INSTALL_FULL_BINDIR}/icinga2-list-objects
-        \$ENV{DESTDIR}${CMAKE_INSTALL_FULL_SBINDIR}/icinga2-list-objects COPYONLY}
-    )
-
-    file(
-      REMOVE
-        \$ENV{DESTDIR}${CMAKE_INSTALL_FULL_BINDIR}/icinga2-list-objects
-    )"
-  )
-endif()
diff --git a/python/icinga2/CMakeLists.txt b/python/icinga2/CMakeLists.txt
deleted file mode 100644 (file)
index 846637f..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# Icinga 2
-# Copyright (C) 2012-2014 Icinga Development Team (http://www.icinga.org)
-#
-# This program 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; either version 2
-# of the License, or (at your option) any later version.
-#
-# 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, write to the Free Software Foundation
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-
-add_subdirectory(commands)
-add_subdirectory(utils)
-
-configure_file(config.py.cmake ${CMAKE_CURRENT_BINARY_DIR}/config.py @ONLY)
-configure_file(__init__.py ${CMAKE_CURRENT_BINARY_DIR}/__init__.py COPYONLY)
-
diff --git a/python/icinga2/__init__.py b/python/icinga2/__init__.py
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/python/icinga2/commands/CMakeLists.txt b/python/icinga2/commands/CMakeLists.txt
deleted file mode 100644 (file)
index b31292d..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# Icinga 2
-# Copyright (C) 2012-2014 Icinga Development Team (http://www.icinga.org)
-#
-# This program 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; either version 2
-# of the License, or (at your option) any later version.
-#
-# 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, write to the Free Software Foundation
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-
-configure_file(__init__.py ${CMAKE_CURRENT_BINARY_DIR}/__init__.py COPYONLY)
-configure_file(list_objects.py ${CMAKE_CURRENT_BINARY_DIR}/list_objects.py COPYONLY)
-
diff --git a/python/icinga2/commands/__init__.py b/python/icinga2/commands/__init__.py
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/python/icinga2/commands/list_objects.py b/python/icinga2/commands/list_objects.py
deleted file mode 100644 (file)
index bf627ca..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-# Icinga 2
-# Copyright (C) 2012-2014 Icinga Development Team (http://www.icinga.org)
-#
-# This program 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; either version 2
-# of the License, or (at your option) any later version.
-#
-# 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, write to the Free Software Foundation
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-
-import os, sys, getopt, codecs
-from icinga2.utils.debug import ObjectsFileReader
-from icinga2.config import LocalStateDir
-from signal import signal, SIGPIPE, SIG_DFL
-
-def main():
-    signal(SIGPIPE, SIG_DFL)
-
-    color_mode = 'auto'
-
-    try:
-        opts, args = getopt.getopt(sys.argv[1:], "h", ["help", "color"])
-    except getopt.GetoptError:
-        t, err = sys.exc_info()[:2]
-        # print help information and exit:
-        print str(err) # will print something like "option -a not recognized"
-        usage()
-        sys.exit(2)
-    output = None
-    verbose = False
-    for o, a in opts:
-        if o in ("-h", "--help"):
-            usage()
-            sys.exit()
-        elif o == "--color":
-            color_mode = 'always'
-        else:
-            assert False, "unhandled option"
-
-    if len(args) > 0:
-        fname = args[0]
-    else:
-        fname = LocalStateDir + "/cache/icinga2/icinga2.debug"
-
-    if color_mode == 'always':
-        use_colors = True
-    elif color_mode == 'never':
-        use_colors = False
-    else:
-        use_colors = os.isatty(1)
-
-    fp = open(fname)
-    ofr = ObjectsFileReader(fp)
-    for obj in ofr:
-        print codecs.encode(obj.format(use_colors), 'utf8')
-
-def usage():
-    print "Syntax: %s [--help|-h] [--color] [file]" % (sys.argv[0])
-    print "Displays a list of objects from the specified Icinga 2 objects file."
-    print ""
-    print "Arguments:"
-    print "  --help or -h      Displays this help message."
-    print "  --color           Enables using color codes even if standard output"
-    print "                    is not a terminal."
-    print ""
-    print "You can specify an alternative path for the Icinga 2 objects file. By"
-    print "default '" + LocalStateDir + "/cache/icinga2/icinga2.debug' is used."
diff --git a/python/icinga2/config.py.cmake b/python/icinga2/config.py.cmake
deleted file mode 100644 (file)
index 9596450..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# Icinga 2
-# Copyright (C) 2012-2014 Icinga Development Team (http://www.icinga.org)
-#
-# This program 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; either version 2
-# of the License, or (at your option) any later version.
-#
-# 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, write to the Free Software Foundation
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-
-Prefix = '@CMAKE_INSTALL_PREFIX@'
-SysconfDir = '@CMAKE_INSTALL_FULL_SYSCONFDIR@'
-RunDir = '@ICINGA2_RUNDIR@'
-LocalStateDir = '@CMAKE_INSTALL_FULL_LOCALSTATEDIR@'
-PkgDataDir = '@CMAKE_INSTALL_FULL_DATADIR@/icinga2'
-IncludeConfDir = '@CMAKE_INSTALL_FULL_DATADIR@/icinga2/include'
-
diff --git a/python/icinga2/utils/CMakeLists.txt b/python/icinga2/utils/CMakeLists.txt
deleted file mode 100644 (file)
index 7aaabe7..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# Icinga 2
-# Copyright (C) 2012-2014 Icinga Development Team (http://www.icinga.org)
-#
-# This program 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; either version 2
-# of the License, or (at your option) any later version.
-#
-# 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, write to the Free Software Foundation
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-
-configure_file(__init__.py ${CMAKE_CURRENT_BINARY_DIR}/__init__.py COPYONLY)
-configure_file(debug.py ${CMAKE_CURRENT_BINARY_DIR}/debug.py COPYONLY)
-configure_file(netstring.py ${CMAKE_CURRENT_BINARY_DIR}/netstring.py COPYONLY)
-
diff --git a/python/icinga2/utils/__init__.py b/python/icinga2/utils/__init__.py
deleted file mode 100644 (file)
index e69de29..0000000
diff --git a/python/icinga2/utils/debug.py b/python/icinga2/utils/debug.py
deleted file mode 100644 (file)
index 804cd83..0000000
+++ /dev/null
@@ -1,136 +0,0 @@
-# Icinga 2
-# Copyright (C) 2012-2014 Icinga Development Team (http://www.icinga.org)
-#
-# This program 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; either version 2
-# of the License, or (at your option) any later version.
-#
-# 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, write to the Free Software Foundation
-# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
-
-from icinga2.utils import netstring
-import subprocess
-import codecs
-
-try:
-    import json
-except ImportError:
-    import simplejson as json
-
-def trydecode(inc_string):
-    try:
-        return codecs.decode(inc_string, 'utf8')
-    except UnicodeDecodeError:
-        try:
-            return inc_string.decode('Windows-1252')
-        except UnicodeDecodeError:
-            return inc_string.decode('ISO 8859-1')
-
-class ConsoleColors(object):
-    @staticmethod
-    def _exec(args):
-        return subprocess.Popen(args, stdout=subprocess.PIPE).communicate()[0]
-
-    def __init__(self):
-        self.RESET = ConsoleColors._exec(['tput', 'sgr0'])
-        self.GREEN = ConsoleColors._exec(['tput', 'setaf', '2'])
-        self.CYAN = ConsoleColors._exec(['tput', 'setaf', '6'])
-
-_colors = ConsoleColors()
-
-class DebugObject(object):
-    def __init__(self, obj):
-        self._obj = obj
-
-    def format(self, use_colors=False):
-        if self._obj["abstract"]:
-            result = u"Template '"
-        else:
-            result = u"Object '"
-        result += self._obj["properties"]["__name"] + u"' of type '" + self._obj["type"] + u"':\n"
-        result += self.format_properties(use_colors, 2)
-        return result
-
-    @staticmethod
-    def format_value(value):
-        if isinstance(value, list):
-            result = u""
-            for avalue in value:
-                if result != u"":
-                    result += u", "
-                result += DebugObject.format_value(avalue)
-            return u"[%s]" % result
-        elif isinstance(value, basestring):
-            return u"'%s'" % value
-        else:
-            return str(value)
-
-    def format_properties(self, use_colors=False, indent=0, path=[]):
-        props = self._obj["properties"]
-        for component in path:
-            props = props[component]
-
-        if use_colors:
-            color_begin = _colors.GREEN
-            color_end = _colors.RESET
-        else:
-            color_begin = u''
-            color_end = u''
-
-        result = u""
-        for key, value in props.items():
-            path.append(key)
-            result += u' ' * indent + u"* %s%s%s" % (color_begin, key, color_end)
-            hints = self.format_hints(use_colors, indent + 2, path)
-            if isinstance(value, dict):
-                result += u"\n" + hints
-                result += self.format_properties(use_colors, indent + 2, path)
-            else:
-                result += u" = %s\n" % (DebugObject.format_value(value))
-                result += hints
-            path.pop()
-        return result
-
-    def format_hints(self, use_colors, indent=0, path=[]):
-        dhints = self._obj["debug_hints"]
-        try:
-            for component in path:
-                dhints = dhints["properties"][component]
-        except KeyError:
-            return u""
-
-        if use_colors:
-            color_begin = _colors.CYAN
-            color_end = _colors.RESET
-        else:
-            color_begin = u''
-            color_end = u''
-
-        result = u""
-        for message in dhints["messages"]:
-            result += u' ' * indent + u"%% %smodified in %s, lines %s:%s-%s:%s%s\n" % (color_begin,
-              message[1], message[2], message[3], message[4], message[5], color_end)
-        return result
-
-class ObjectsFileReader(object):
-    def __init__(self, file):
-        self._file = file
-
-    def __iter__(self):
-        fr = netstring.FileReader(self._file)
-
-        while True:
-            try:
-                json_data = trydecode((fr.readskip()))
-            except EOFError:
-                break
-            if json_data == u"":
-                break
-            yield DebugObject(json.loads(json_data))
diff --git a/python/icinga2/utils/netstring.py b/python/icinga2/utils/netstring.py
deleted file mode 100644 (file)
index 704c66f..0000000
+++ /dev/null
@@ -1,305 +0,0 @@
-#!/usr/bin/python
-# netstring.py - Netstring encoding/decoding routines.
-# Version 1.1 - July 2003
-# http://www.dlitz.net/software/python-netstring/
-#
-# Copyright (c) 2003 Dwayne C. Litzenberger <dlitz@dlitz.net>
-# 
-# Permission is hereby granted, free of charge, to any person obtaining
-# a copy of this software and associated documentation files (the
-# "Software"), to deal in the Software without restriction, including
-# without limitation the rights to use, copy, modify, merge, publish,
-# distribute, sublicense, and/or sell copies of the Software, and to
-# permit persons to whom the Software is furnished to do so, subject to
-# the following conditions:
-# 
-# The above copyright notice and this permission notice shall be
-# included in all copies or substantial portions of the Software.
-# 
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-# IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-# CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-# TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-# SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-#
-# HISTORY:
-#
-# Changes between 1.0 and 1.1:
-# - Renamed Reader to BaseReader.  Use FileReader and StringReader instead.
-# - Added BaseReader.readskip()
-# - Switched to saner stream reading semantics.  Now the stream is not read
-#   until information is requested which requires it to be read.
-# - Added split()
-#
-
-from __future__ import generators
-import StringIO
-
-"""Conversions to/from netstring format.
-
-The netstring format is defined in http://cr.yp.to/proto/netstrings.txt
-(or http://www.dlitz.net/proto/netstrings-abnf.txt if you prefer ABNF)
-
-Classes:
-
-    BaseReader (not to be used directly)
-    FileReader
-    StringReader
-
-Functions:
-
-    dump
-    dumps
-    load
-    loads
-    split
-
-Misc variables:
-
-    maxintlen       - Maximum number of digits when reading integers
-
-"""
-
-__all__ = ['BaseReader', 'FileReader', 'StringReader',
-           'dump', 'dumps', 'load', 'loads', 'split']
-
-maxintlen = 999     # Maximum number of digits when reading integers
-                    # This allows numbers up to 10**1000 - 1, which should
-                    # be large enough for most applications. :-)
-
-
-def dump(s, file):
-    """dump(s, file) -> None
-
-Writes the string s as a netstring to file.
-"""
-    file.write(dumps(s))
-
-
-def dumps(s):
-    """dumps(s) -> string
-
-Encodes the string s as a netstring, and returns the result.
-"""
-    return str(len(s)) + ":" + s + ","
-
-
-def load(file, maxlen=None):
-    """load(file, maxlen=None) -> string
-
-Read a netstring from a file, and return the extracted netstring.
-
-If the parsed string would be longer than maxlen, OverflowError is raised.
-"""
-    n = _readlen(file)
-    if maxlen is not None and n > maxlen:
-        raise OverflowError
-    retval = file.read(n)
-    #assert(len(retval) == n)
-    ch = file.read(1)
-    if ch == "":
-        raise EOFError
-    elif ch != ",":
-        raise ValueError
-    return retval
-
-
-def loads(s, maxlen=None, returnUnparsed=False):
-    """loads(s, maxlen=None, returnUnparsed=False) -> string or (string,
-    string)
-
-Extract a netstring from a string.  If returnUnparsed is false, return the
-decoded netstring, otherwise return a tuple (parsed, unparsed) containing both
-the parsed string and the remaining unparsed part of s.
-
-If the parsed string would be longer than maxlen, OverflowError is raised.
-"""
-    f = StringIO.StringIO(s)
-    parsed = load(f, maxlen=maxlen)
-    if not returnUnparsed:
-        return parsed
-    unparsed = f.read()
-    return parsed, unparsed
-
-
-def _readlen(file):
-    """_readlen(file) -> integer
-
-Read the initial "[length]:" of a netstring from file, and return the length.
-"""
-    i = 0
-    n = ""
-    ch = file.read(1)
-    while ch != ":":
-        if ch == "":
-            raise EOFError
-        elif not ch in "0123456789":
-            raise ValueError
-        n += ch
-        i += 1
-        if i > maxintlen:
-            raise OverflowError
-        ch = file.read(1)
-    #assert(ch == ":")
-    return long(n)
-
-
-def split(s):
-    """split(s) -> list of strings
-
-Return a list of the decoded netstrings in s.
-"""
-    if s == "":
-       raise EOFError
-    retval = []
-    unparsed = s
-    while unparsed != "":
-        parsed, unparsed = loads(unparsed, returnUnparsed=True)
-        retval.append(parsed)
-    return retval
-
-
-class BaseReader:
-    """BaseReader(file, maxlen=None, blocksize=1024) -> BaseReader object
-
-Return a new BaseReader object.  BaseReader allows reading a
-netstring in blocks, instead of reading an netstring into memory at once.
-
-If BaseReader encounters a netstring which is larger than maxlen, it will return
-OverflowError.  BaseReader will also return ValueError if it encounters bad
-formatting, or EOFError if an unexpected attempt is made to read beyond the
-end of file.
-
-The state of BaseReader is undefined once any exception other than StopIteration
-is raised.
-
-blocksize is the size of blocks to use when iterating over the BaseReader class.
-You should not use BaseReader except when subclassing.  Use FileReader or one
-of the other *Reader classes instead.
-"""
-
-    def __init__(self, file, maxlen=None, blocksize=1024):
-        self._file = file
-        self._length = None
-        self._bytesleft = 0L
-        self._maxlen = maxlen
-        self._blocksize = blocksize
-
-    def _readlen(self):
-        if self._length is None:
-            self._length = _readlen(self._file)
-            self._bytesleft = self._length
-            if self._maxlen is not None and self._length > self._maxlen:
-                raise OverflowError
-            # Handle the 0-byte case
-            if self._length == 0:
-                ch = self._file.read(1)
-                if ch == "":
-                    raise EOFError
-                elif ch != ",":
-                    raise ValueError
-
-    def read(self, size=None):
-        """x.read([size]) -> string
-
-Works like <fileobject>.read.
-"""
-        self._readlen()
-        if size is None or size > self._bytesleft:
-            size = self._bytesleft
-        if size == 0:
-            return ""
-        retval = self._file.read(size)
-        self._bytesleft -= len(retval)
-        if self._bytesleft == 0:
-            ch = self._file.read(1)
-            if ch == "":
-                raise EOFError
-            elif ch != ",":
-                raise ValueError
-        return retval
-
-    def length(self):
-        """x.length() -> long
-
-Return the total length of the decoded string.
-"""
-        self._readlen()
-        return self._length
-
-    def bytesremaining(self):
-        """x.bytesremaining() -> long
-
-Return the number of decoded string bytes remaining to be read from the file.
-"""
-        self._readlen()
-        return self._bytesleft
-
-    def skip(self):
-        """x.skip() -> None
-
-Skip to the next netstring.
-"""
-        self._readlen()
-        if self._bytesleft:
-            self._file.seek(self._bytesleft, 1)
-            ch = self._file.read(1)
-            if ch == "":
-                raise EOFError
-            elif ch != ",":
-                raise ValueError
-        self._bytesleft = 0L
-        self._length = None
-
-    def readskip(self, size=None):
-        """x.readskip([size]) -> string
-
-Equivalent to x.read([size]); x.skip().  Returns whatever is returned by
-x.read().
-"""
-        retval = self.read(size)
-        self.skip()
-        return retval
-
-    def __iter__(self):
-        """x.__iter__() -> iterator
-
-Return a block of the decoded netstring.
-"""
-        block = self.read(self._blocksize)
-        while block != "":
-            yield block
-            block = self.read(self._blocksize)
-
-    def __len__(self):
-        """x.__len__() -> integer
-
-Return the total length of the decoded string.
-
-Note that this is limited to the maximum integer value.  Use x.length()
-wherever possible.
-"""
-        return int(self.length())
-
-
-class FileReader(BaseReader):
-    """FileReader(file, ...) -> FileReader object
-
-Takes a file as input.  See BaseReader.__doc__ for more information.
-"""
-    pass
-
-
-class StringReader(BaseReader):
-    """StringReader(s, ...) -> StringReader object
-
-Takes a string as input.  See BaseReader.__doc__ for more information.
-"""
-    def __init__(self, s, *args, **kwargs):    
-        file = StringIO.StringIO(s)
-        return BaseReader.__init__(self, file, *args, **kwargs)
-
-
-# vim:set tw=78 sw=4 ts=4 expandtab:
diff --git a/python/setup.py.cmake b/python/setup.py.cmake
deleted file mode 100644 (file)
index 1d4c5bd..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-#!/usr/bin/env python
-import os, re
-from setuptools import setup, find_packages
-
-def get_icinga2_version():
-    spec = open(os.path.join('@PROJECT_SOURCE_DIR@', 'icinga2.spec')).read()
-    m = re.search('^Version: (.*)$', spec, re.MULTILINE)
-    if not m:
-        return None
-    return m.group(1)
-
-setup(
-    name = 'icinga2',
-    version = get_icinga2_version(),
-    packages = find_packages(),
-    entry_points = {
-        'console_scripts': [ 'icinga2-list-objects=icinga2.commands.list_objects:main' ]
-    },
-    use_2to3 = True
-)
-
diff --git a/third-party/cmake/PythonSetup.cmake b/third-party/cmake/PythonSetup.cmake
deleted file mode 100644 (file)
index 3298dbd..0000000
+++ /dev/null
@@ -1,215 +0,0 @@
-# Copyright: 2004 Martin F. Krafft <madduck@debian.org>
-#            2008 Martin Schreiber <schreiberx@gmail.com>
-#            2012-2013 Sebastian Ramacher <sramacher@debian.org>
-# License: Artistic-2.0
-# 
-# License: Artistic-2.0
-#  Copyright (c) 2000-2006, The Perl Foundation.
-#  http://www.perlfoundation.org/artistic_license_2_0
-#  .
-#  Everyone is permitted to copy and distribute verbatim copies of this
-#  license document, but changing it is not allowed.
-#  .
-#  Preamble
-#  .
-#  This license establishes the terms under which a given free software
-#  Package may be copied, modified, distributed, and/or redistributed.
-#  The intent is that the Copyright Holder maintains some artistic
-#  control over the development of that Package while still keeping the
-#  Package available as open source and free software.
-#  .
-#  You are always permitted to make arrangements wholly outside of this
-#  license directly with the Copyright Holder of a given Package. If the
-#  terms of this license do not permit the full use that you propose to
-#  make of the Package, you should contact the Copyright Holder and seek
-#  a different licensing arrangement.
-#  .
-#  Definitions
-#  .
-#  "Copyright Holder" means the individual(s) or organization(s) named in
-#  the copyright notice for the entire Package.
-#  .
-#  "Contributor" means any party that has contributed code or other
-#  material to the Package, in accordance with the Copyright Holder's
-#  procedures.
-#  .
-#  "You" and "your" means any person who would like to copy, distribute,
-#  or modify the Package.
-#  .
-#  "Package" means the collection of files distributed by the Copyright
-#  Holder, and derivatives of that collection and/or of those files. A
-#  given Package may consist of either the Standard Version, or a
-#  Modified Version.
-#  .
-#  "Distribute" means providing a copy of the Package or making it
-#  accessible to anyone else, or in the case of a company or
-#  organization, to others outside of your company or organization.
-#  .
-#  "Distributor Fee" means any fee that you charge for Distributing this
-#  Package or providing support for this Package to another party. It
-#  does not mean licensing fees.
-#  .
-#  "Standard Version" refers to the Package if it has not been modified,
-#  or has been modified only in ways explicitly requested by the
-#  Copyright Holder.
-#  .
-#  "Modified Version" means the Package, if it has been changed, and such
-#  changes were not explicitly requested by the Copyright Holder.
-#  .
-#  "Original License" means this Artistic License as Distributed with the
-#  Standard Version of the Package, in its current version or as it may
-#  be modified by The Perl Foundation in the future.
-#  .
-#  "Source" form means the source code, documentation source, and
-#  configuration files for the Package.
-#  .
-#  "Compiled" form means the compiled bytecode, object code, binary, or
-#  any other form resulting from mechanical transformation or translation
-#  of the Source form.
-#  .
-#  Permission for Use and Modification Without Distribution
-#  .
-#  (1) You are permitted to use the Standard Version and create and use
-#  Modified Versions for any purpose without restriction, provided that
-#  you do not Distribute the Modified Version.
-#  .
-#  Permissions for Redistribution of the Standard Version
-#  .
-#  (2) You may Distribute verbatim copies of the Source form of the
-#  Standard Version of this Package in any medium without restriction,
-#  either gratis or for a Distributor Fee, provided that you duplicate
-#  all of the original copyright notices and associated disclaimers. At
-#  your discretion, such verbatim copies may or may not include a
-#  Compiled form of the Package.
-#  .
-#  (3) You may apply any bug fixes, portability changes, and other
-#  modifications made available from the Copyright Holder. The resulting
-#  Package will still be considered the Standard Version, and as such
-#  will be subject to the Original License.
-#  .
-#  Distribution of Modified Versions of the Package as Source
-#  .
-#  (4) You may Distribute your Modified Version as Source (either gratis
-#  or for a Distributor Fee, and with or without a Compiled form of the
-#  Modified Version) provided that you clearly document how it differs
-#  from the Standard Version, including, but not limited to, documenting
-#  any non-standard features, executables, or modules, and provided that
-#  you do at least ONE of the following:
-#  .
-#  (a) make the Modified Version available to the Copyright Holder of the
-#  Standard Version, under the Original License, so that the Copyright
-#  Holder may include your modifications in the Standard Version. (b)
-#  ensure that installation of your Modified Version does not prevent the
-#  user installing or running the Standard Version. In addition, the
-#  Modified Version must bear a name that is different from the name of
-#  the Standard Version. (c) allow anyone who receives a copy of the
-#  Modified Version to make the Source form of the Modified Version
-#  available to others under (i) the Original License or (ii) a license
-#  that permits the licensee to freely copy, modify and redistribute the
-#  Modified Version using the same licensing terms that apply to the copy
-#  that the licensee received, and requires that the Source form of the
-#  Modified Version, and of any works derived from it, be made freely
-#  available in that license fees are prohibited but Distributor Fees are
-#  allowed.
-#  .
-#  Distribution of Compiled Forms of the Standard Version or Modified
-#  Versions without the Source
-#  .
-#  (5) You may Distribute Compiled forms of the Standard Version without
-#  the Source, provided that you include complete instructions on how to
-#  get the Source of the Standard Version. Such instructions must be
-#  valid at the time of your distribution. If these instructions, at any
-#  time while you are carrying out such distribution, become invalid, you
-#  must provide new instructions on demand or cease further distribution.
-#  If you provide valid instructions or cease distribution within thirty
-#  days after you become aware that the instructions are invalid, then
-#  you do not forfeit any of your rights under this license.
-#  .
-#  (6) You may Distribute a Modified Version in Compiled form without the
-#  Source, provided that you comply with Section 4 with respect to the
-#  Source of the Modified Version.
-#  .
-#  Aggregating or Linking the Package
-#  .
-#  (7) You may aggregate the Package (either the Standard Version or
-#  Modified Version) with other packages and Distribute the resulting
-#  aggregation provided that you do not charge a licensing fee for the
-#  Package. Distributor Fees are permitted, and licensing fees for other
-#  components in the aggregation are permitted. The terms of this license
-#  apply to the use and Distribution of the Standard or Modified Versions
-#  as included in the aggregation.
-#  .
-#  (8) You are permitted to link Modified and Standard Versions with
-#  other works, to embed the Package in a larger work of your own, or to
-#  build stand-alone binary or bytecode versions of applications that
-#  include the Package, and Distribute the result without restriction,
-#  provided the result does not expose a direct interface to the Package.
-#  .
-#  Items That are Not Considered Part of a Modified Version
-#  .
-#  (9) Works (including, but not limited to, modules and scripts) that
-#  merely extend or make use of the Package, do not, by themselves, cause
-#  the Package to be a Modified Version. In addition, such works are not
-#  considered parts of the Package itself, and are not subject to the
-#  terms of this license.
-#  .
-#  General Provisions
-#  .
-#  (10) Any use, modification, and distribution of the Standard or
-#  Modified Versions is governed by this Artistic License. By using,
-#  modifying or distributing the Package, you accept this license. Do not
-#  use, modify, or distribute the Package, if you do not accept this
-#  license.
-#  .
-#  (11) If your Modified Version has been derived from a Modified Version
-#  made by someone other than you, you are nevertheless required to
-#  ensure that your Modified Version complies with the requirements of
-#  this license.
-#  .
-#  (12) This license does not grant you the right to use any trademark,
-#  service mark, tradename, or logo of the Copyright Holder.
-#  .
-#  (13) This license includes the non-exclusive, worldwide,
-#  free-of-charge patent license to make, have made, use, offer to sell,
-#  sell, import and otherwise transfer the Package with respect to any
-#  patent claims licensable by the Copyright Holder that are necessarily
-#  infringed by the Package. If you institute patent litigation
-#  (including a cross-claim or counterclaim) against any party alleging
-#  that the Package constitutes direct or contributory patent
-#  infringement, then this Artistic License to you shall terminate on the
-#  date that such litigation is filed.
-#  .
-#  (14) Disclaimer of Warranty: THE PACKAGE IS PROVIDED BY THE COPYRIGHT
-#  HOLDER AND CONTRIBUTORS "AS IS' AND WITHOUT ANY EXPRESS OR IMPLIED
-#  WARRANTIES. THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
-#  PARTICULAR PURPOSE, OR NON-INFRINGEMENT ARE DISCLAIMED TO THE EXTENT
-#  PERMITTED BY YOUR LOCAL LAW. UNLESS REQUIRED BY LAW, NO COPYRIGHT
-#  HOLDER OR CONTRIBUTOR WILL BE LIABLE FOR ANY DIRECT, INDIRECT,
-#  INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING IN ANY WAY OUT OF THE USE
-#  OF THE PACKAGE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-# This is a ugly workaround to be able to pass DESTDIR as --root to setup.py.
-# cmake expands any occurence of $ENV{foo} with the value of foo while runing
-# cmake and not while running make afterwards.
-
-SET(PYTHON_EXECUTABLE "" CACHE FORCE "Python executable")
-SET(PREFIX ${CMAKE_INSTALL_PREFIX} CACHE FORCE "cmake install prefix")
-SET(WDIR "" CACHE FORCE "working directory")
-SET(SETUP_PY "" CACHE FORCE "setup.py path")
-SET(EXTRA_ARGS $ENV{SETUP_PY_EXTRA_ARGS} CACHE FORCE "extra arguments for setup.py")
-
-SET(INSTALL_ROOT $ENV{DESTDIR})
-IF(INSTALL_ROOT)
-  SET(INSTALL_ROOT_ARGS "--root=$ENV{DESTDIR}")
-ELSE(INSTALL_ROOT)
-  SET(INSTALL_ROOT_ARGS "")
-ENDIF(INSTALL_ROOT)
-
-EXECUTE_PROCESS(
-  COMMAND "${PYTHON_EXECUTABLE}"
-    "${SETUP_PY}"
-    install
-    --prefix=${PREFIX}
-    ${INSTALL_ROOT_ARGS}
-    ${EXTRA_ARGS}
-  WORKING_DIRECTORY "${WDIR}")