debian/0000775000000000000000000000000012315305613007167 5ustar debian/copyright0000664000000000000000000000243112272022503011116 0ustar This package was debianized by * Jamshed Kakar on Wed, 28 Jun 2006 * Rick Clark in Aug 2008 * Dustin Kirkland in Aug 2008 Copyright (C) 2006-2008 Canonical Ltd. License: Upstream source is located at: https://code.launchpad.net/landscape-client Copyright: The packaging of this software and the programs in this package are distributed under the terms of the GNU General Public License, version 2 as distributed by the Free Software Foundation. License: Copyright (C) 2006-2008 Canonical Ltd. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License version 2, as published by the Free Software Foundation. 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 can be found in `/usr/share/common-licenses/GPL-2'. debian/landscape-client.manpages0000664000000000000000000000010612272022503014103 0ustar man/landscape-client.1 man/landscape-config.1 man/landscape-message.1 debian/landscape-client.logrotate0000664000000000000000000000114112272022503014310 0ustar /var/log/landscape/watchdog.log /var/log/landscape/monitor.log /var/log/landscape/broker.log /var/log/landscape/manager.log { weekly rotate 4 missingok notifempty compress nocreate postrotate [ -f /var/run/landscape/landscape-client.pid ] && kill -s USR1 `cat /var/run/landscape/landscape-client.pid` > /dev/null 2>&1 || : endscript } /var/log/landscape/package-changer.log /var/log/landscape/package-reporter.log /var/log/landscape/sysinfo.log /var/log/landscape/release-upgrader.log { weekly rotate 4 missingok notifempty compress nocreate } debian/watch0000664000000000000000000000024112272022503010211 0ustar version=3 https://launchpad.net/landscape-client/+download https://launchpad.net/landscape-client/[^/]+/[^/]+/\+download/landscape-client-(.*)\.tar\.(?:bz2|gz) debian/patches/0000775000000000000000000000000012315305605010617 5ustar debian/patches/sysinfo-ignore-nonexistent-config.diff0000664000000000000000000003710412315273212020246 0ustar --- a/landscape/__init__.py +++ b/landscape/__init__.py @@ -1,5 +1,5 @@ DEBIAN_REVISION = "" -UPSTREAM_VERSION = "13.10+bzr73" +UPSTREAM_VERSION = "14.01" VERSION = "%s%s" % (UPSTREAM_VERSION, DEBIAN_REVISION) # The "server-api" field of outgoing messages will be set to this value, and --- a/landscape/broker/config.py +++ b/landscape/broker/config.py @@ -79,7 +79,7 @@ """Get the path to the message store.""" return os.path.join(self.data_path, "messages") - def load(self, args, accept_nonexistent_config=False): + def load(self, args): """ Load options from command line arguments and a config file. @@ -87,8 +87,7 @@ C{http_proxy} and C{https_proxy} environment variables based on that config data. """ - super(BrokerConfiguration, self).load( - args, accept_nonexistent_config=accept_nonexistent_config) + super(BrokerConfiguration, self).load(args) if self.http_proxy: os.environ["http_proxy"] = self.http_proxy elif self._original_http_proxy: --- a/landscape/deployment.py +++ b/landscape/deployment.py @@ -148,18 +148,24 @@ """ self.load(self._command_line_args) - def load(self, args, accept_nonexistent_config=False): + def load(self, args, accept_nonexistent_default_config=False): """ Load configuration data from command line arguments and a config file. + @param accept_nonexistent_default_config: If True, don't complain if + default configuration files aren't found + @raise: A SystemExit if the arguments are bad. + """ self.load_command_line(args) if self.config: config_filenames = [self.config] + allow_missing = False else: config_filenames = self.default_config_filenames + allow_missing = accept_nonexistent_default_config # Parse configuration file, if found. for config_filename in config_filenames: if (os.path.isfile(config_filename) @@ -169,7 +175,7 @@ break else: - if not accept_nonexistent_config: + if not allow_missing: if len(config_filenames) == 1: message = ( "error: config file %s can't be read" % @@ -402,12 +408,11 @@ return parser - def load(self, args, accept_nonexistent_config=False): + def load(self, args): """ Load configuration data from command line arguments and a config file. """ - super(Configuration, self).load( - args, accept_nonexistent_config=accept_nonexistent_config) + super(Configuration, self).load(args) if not isinstance(self.server_autodiscover, bool): autodiscover = str(self.server_autodiscover).lower() --- a/landscape/sysinfo/deployment.py +++ b/landscape/sysinfo/deployment.py @@ -100,7 +100,9 @@ if sysinfo is None: sysinfo = SysInfoPluginRegistry() config = SysInfoConfiguration() - config.load(args) + # landscape-sysinfo needs to work where there's no + # /etc/landscape/client.conf See lp:1293990 + config.load(args, accept_nonexistent_default_config=True) for plugin in config.get_plugins(): sysinfo.add(plugin) --- a/landscape/sysinfo/tests/test_deployment.py +++ b/landscape/sysinfo/tests/test_deployment.py @@ -5,6 +5,8 @@ from twisted.internet.defer import Deferred +from landscape.lib.fs import create_file + from landscape.sysinfo.deployment import ( SysInfoConfiguration, ALL_PLUGINS, run, setup_logging, get_landscape_log_directory) @@ -49,9 +51,7 @@ def test_config_file(self): filename = self.makeFile() - f = open(filename, "w") - f.write("[sysinfo]\nsysinfo_plugins = TestPlugin\n") - f.close() + create_file(filename, "[sysinfo]\nsysinfo_plugins = TestPlugin\n") self.configuration.load(["--config", filename, "-d", self.makeDir()]) plugins = self.configuration.get_plugins() self.assertEqual(len(plugins), 1) @@ -155,6 +155,17 @@ return result.addCallback(check_result) + def test_missing_config_file(self): + """The process doesn't fail if there is no config file.""" + # Existing revert in tearDown will handle undoing this + SysInfoConfiguration.default_config_filenames = [] + result = run([]) + + def check_result(result): + self.assertIn("System load", self.stdout.getvalue()) + + return result.addCallback(check_result) + def test_plugins_called_after_reactor_starts(self): """ Plugins are invoked after the reactor has started, so that they can --- a/landscape/tests/test_deployment.py +++ b/landscape/tests/test_deployment.py @@ -4,7 +4,10 @@ from StringIO import StringIO from textwrap import dedent -from landscape.deployment import Configuration, get_versioned_persist +from landscape.lib.fs import read_file, create_file + +from landscape.deployment import ( + BaseConfiguration, Configuration, get_versioned_persist) from landscape.manager.config import ManagerConfiguration from landscape.tests.helpers import LandscapeTest, LogKeeperHelper @@ -21,6 +24,37 @@ return parser +class BaseConfigurationTest(LandscapeTest): + + def test_load_not_found_default_accept_missing(self): + """ + C{config.load} doesn't exit the process if the default config file + is not found and C{accept_nonexistent_default_config} is C{True}. + """ + class MyConfiguration(BaseConfiguration): + default_config_filenames = ["/not/here"] + + config = MyConfiguration() + result = config.load([], accept_nonexistent_default_config=True) + self.assertIs(result, None) + + def test_load_not_found_accept_missing(self): + """ + C{config.load} exits the process if the specified config file + is not found and C{accept_nonexistent_default_config} is C{True}. + """ + class MyConfiguration(BaseConfiguration): + default_config_filenames = [] + + config = MyConfiguration() + filename = "/not/here" + error = self.assertRaises( + SystemExit, config.load, ["--config", filename], + accept_nonexistent_default_config=True) + self.assertEqual( + "error: config file %s can't be read" % filename, str(error)) + + class ConfigurationTest(LandscapeTest): helpers = [LogKeeperHelper] @@ -160,7 +194,7 @@ self.write_config_file(log_level="debug") self.config.log_level = "warning" self.config.write() - data = open(self.config_filename).read() + data = read_file(self.config_filename) self.assertConfigEqual(data, "[client]\nlog_level = warning") def test_write_configuration_with_section(self): @@ -168,7 +202,7 @@ self.write_config_file(section_name="babble", whatever="yay") self.config.whatever = "boo" self.config.write() - data = open(self.config_filename).read() + data = read_file(self.config_filename) self.assertConfigEqual(data, "[babble]\nwhatever = boo") def test_write_unrelated_configuration_back(self): @@ -183,7 +217,7 @@ self.config.load_configuration_file(config_filename) self.config.whatever = "boo" self.config.write() - data = open(config_filename).read() + data = read_file(config_filename) self.assertConfigEqual( data, "[babble]\nwhatever = boo\n\n[goojy]\nunrelated = yes") @@ -195,9 +229,8 @@ self.config.load([]) self.config.log_level = "warning" self.config.write() - data = open(self.config_filename).read() - self.assertConfigEqual(data, - "[client]\nlog_level = warning\n") + data = read_file(self.config_filename) + self.assertConfigEqual(data, "[client]\nlog_level = warning\n") def test_write_empty_list_values_instead_of_double_quotes(self): """ @@ -209,7 +242,7 @@ self.config.load([]) self.config.include_manager_plugins = "" self.config.write() - data = open(self.config_filename).read() + data = read_file(self.config_filename) self.assertConfigEqual(data, "[client]\ninclude_manager_plugins = \n") def test_dont_write_config_specified_default_options(self): @@ -220,7 +253,7 @@ self.write_config_file(log_level="debug") self.config.log_level = "info" self.config.write() - data = open(self.config_filename).read() + data = read_file(self.config_filename) self.assertConfigEqual(data, "[client]") def test_dont_write_unspecified_default_options(self): @@ -231,7 +264,7 @@ self.write_config_file() self.config.log_level = "info" self.config.write() - data = open(self.config_filename).read() + data = read_file(self.config_filename) self.assertConfigEqual(data, "[client]") def test_dont_write_client_section_default_options(self): @@ -242,7 +275,7 @@ self.write_config_file(log_level="debug") self.config.log_level = "info" self.config.write() - data = open(self.config_filename).read() + data = read_file(self.config_filename) self.assertConfigEqual(data, "[client]") def test_do_write_preexisting_default_options(self): @@ -255,7 +288,7 @@ self.config.load_configuration_file(config_filename) self.config.log_level = "info" self.config.write() - data = open(config_filename).read() + data = read_file(config_filename) self.assertConfigEqual(data, "[client]\nlog_level = info\n") def test_dont_delete_explicitly_set_default_options(self): @@ -266,21 +299,21 @@ """ self.write_config_file(log_level="info") self.config.write() - data = open(self.config_filename).read() + data = read_file(self.config_filename) self.assertConfigEqual(data, "[client]\nlog_level = info") def test_dont_write_config_option(self): self.write_config_file() self.config.config = self.config_filename self.config.write() - data = open(self.config_filename).read() + data = read_file(self.config_filename) self.assertConfigEqual(data, "[client]") def test_write_command_line_options(self): self.write_config_file() self.config.load(["--log-level", "warning"]) self.config.write() - data = open(self.config_filename).read() + data = read_file(self.config_filename) self.assertConfigEqual(data, "[client]\nlog_level = warning\n") def test_write_command_line_precedence(self): @@ -289,7 +322,7 @@ self.write_config_file(log_level="debug") self.config.load(["--log-level", "warning"]) self.config.write() - data = open(self.config_filename).read() + data = read_file(self.config_filename) self.assertConfigEqual(data, "[client]\nlog_level = warning\n") def test_write_manually_set_precedence(self): @@ -299,17 +332,16 @@ self.config.load(["--log-level", "warning"]) self.config.log_level = "error" self.config.write() - data = open(self.config_filename).read() + data = read_file(self.config_filename) self.assertConfigEqual(data, "[client]\nlog_level = error\n") def test_write_to_given_config_file(self): - filename = self.makeFile() + filename = self.makeFile(content="") self.config.load( - ["--log-level", "warning", "--config", filename], - accept_nonexistent_config=True) + ["--log-level", "warning", "--config", filename]) self.config.log_level = "error" self.config.write() - data = open(filename).read() + data = read_file(filename) self.assertConfigEqual(data, "[client]\nlog_level = error\n") def test_comments_are_maintained(self): @@ -322,7 +354,7 @@ self.config.load_configuration_file(filename) self.config.log_level = "error" self.config.write() - new_config = open(filename).read() + new_config = read_file(filename) self.assertConfigEqual( new_config, "[client]\n# Comment 1\nlog_level = error\n#Comment 2\n") @@ -383,7 +415,7 @@ """ filename = self.makeFile("[client]\nhello = world1\n") self.config.load(["--config", filename]) - open(filename, "w").write("[client]\nhello = world2\n") + create_file(filename, "[client]\nhello = world2\n") self.config.reload() self.assertEqual(self.config.hello, "world2") @@ -459,8 +491,8 @@ def test_url_option(self): """Ensure options.url option can be read by parse_args.""" - options = self.parser.parse_args(["--url", - "http://mylandscape/message-system"])[0] + options = self.parser.parse_args( + ["--url", "http://mylandscape/message-system"])[0] self.assertEqual(options.url, "http://mylandscape/message-system") def test_url_default(self): @@ -470,8 +502,8 @@ def test_ping_url_option(self): """Ensure options.ping_url option can be read by parse_args.""" - options = self.parser.parse_args(["--ping-url", - "http://mylandscape/ping"])[0] + options = self.parser.parse_args( + ["--ping-url", "http://mylandscape/ping"])[0] self.assertEqual(options.ping_url, "http://mylandscape/ping") def test_ping_url_default(self): @@ -482,8 +514,8 @@ def test_ssl_public_key_option(self): """Ensure options.ssl_public_key option can be read by parse_args.""" - options = self.parser.parse_args(["--ssl-public-key", - "/tmp/somekeyfile.ssl"])[0] + options = self.parser.parse_args( + ["--ssl-public-key", "/tmp/somekeyfile.ssl"])[0] self.assertEqual(options.ssl_public_key, "/tmp/somekeyfile.ssl") def test_ssl_public_key_default(self): @@ -508,8 +540,9 @@ Ensure options.autodiscover_srv_query_string option can be read by parse_args. """ - options = self.parser.parse_args(["--autodiscover-srv-query-string", - "_tcp._landscape.someotherdomain"])[0] + options = self.parser.parse_args( + ["--autodiscover-srv-query-string", + "_tcp._landscape.someotherdomain"])[0] self.assertEqual(options.autodiscover_srv_query_string, "_tcp._landscape.someotherdomain") @@ -527,8 +560,8 @@ Ensure options.autodiscover_a_query_string option can be read by parse_args. """ - options = self.parser.parse_args(["--autodiscover-a-query-string", - "customname.mydomain"])[0] + options = self.parser.parse_args( + ["--autodiscover-a-query-string", "customname.mydomain"])[0] self.assertEqual(options.autodiscover_a_query_string, "customname.mydomain") @@ -543,8 +576,8 @@ def test_log_file_option(self): """Ensure options.log_dir option can be read by parse_args.""" - options = self.parser.parse_args(["--log-dir", - "/var/log/my-awesome-log"])[0] + options = self.parser.parse_args( + ["--log-dir", "/var/log/my-awesome-log"])[0] self.assertEqual(options.log_dir, "/var/log/my-awesome-log") def test_log_level_default(self): debian/patches/series0000664000000000000000000000004712315273133012035 0ustar sysinfo-ignore-nonexistent-config.diff debian/control0000664000000000000000000000660712302637164010610 0ustar Source: landscape-client Section: admin Priority: optional Maintainer: Ubuntu Developers XSBC-Original-Maintainer: Landscape Team Build-Depends: debhelper (>= 7), po-debconf, python-dev, lsb-release, gawk, python-twisted-core, python-distutils-extra Standards-Version: 3.8.2 XS-Python-Version: >= 2.4, << 2.8 Package: landscape-common Architecture: any Depends: ${python:Depends}, ${misc:Depends}, ${extra:Depends}, ${shlibs:Depends}, python-twisted-core, python-configobj, python-apt, ca-certificates, python-gdbm, lsb-release, lsb-base, adduser, bc, lshw, libpam-modules Suggests: ${extra:Suggests} # added/changed when we moved the sysinfo manpage from client to common # in r582. There is no accompaining "Breaks" because -client requires # the exact same version of -common, which will trigger the upgrade # and avoid the case discussed in # http://www.debian.org/doc/debian-policy/footnotes.html#f53 Replaces: landscape-client (<< 12.09+bzr582) Description: The Landscape administration system client - Common files Landscape is a web-based tool for managing Ubuntu systems. This package is necessary if you want your machine to be managed in a Landscape account. . This package provides the core libraries. XB-Python-Version: ${python:Versions} Package: landscape-client Architecture: any Depends: ${python:Depends}, ${misc:Depends}, ${extra:Depends}, ${shlibs:Depends}, python-twisted-web, python-twisted-names, python-pycurl, landscape-common (= ${binary:Version}) Suggests: ${extra:Suggests} Description: The Landscape administration system client Landscape is a web-based tool for managing Ubuntu systems. This package is necessary if you want your machine to be managed in a Landscape account. . This package provides the Landscape client and requires a Landscape account. XB-Python-Version: ${python:Versions} Package: landscape-client-ui Architecture: any Depends: ${python:Depends}, ${misc:Depends}, landscape-client (= ${binary:Version}), landscape-client-ui-install (= ${binary:Version}), python-gi, python-dbus, policykit-1, gir1.2-notify-0.7, gir1.2-gtk-3.0 # Added when we moved the /etc/dbus-1/system.d/landscape.conf file from -client to # -client-ui in r682. There is no accompaining "Breaks" because -client-ui requires # the exact same version of -client, which will trigger the upgrade # and avoid the case discussed in # http://www.debian.org/doc/debian-policy/footnotes.html#f53 Replaces: landscape-client (<< 13.05.1+bzr682) Description: The Landscape administration system client - UI configuration Landscape is a web-based tool for managing Ubuntu systems. . This package provides the Landscape client configuration UI. XB-Python-Version: ${python:Versions} Package: landscape-client-ui-install Architecture: any Depends: ${python:Depends}, ${misc:Depends}, python-gi, python-dbus, policykit-1, gir1.2-gtk-3.0, python-aptdaemon.gtk3widgets Description: The Landscape administration system client - UI installer Landscape is a web-based tool for managing Ubuntu systems. . This package provides an automatic installer for landscape-client-ui. XB-Python-Version: ${python:Versions} debian/landscape-client-ui-install.install0000664000000000000000000000026712272022503016045 0ustar usr/bin/landscape-client-ui-install usr/share/applications/landscape-client-settings.desktop usr/share/icons/hicolor/scalable/apps/preferences-management-service.svg usr/share/locale debian/landscape-client.docs0000664000000000000000000000002412272022503013237 0ustar README example.conf debian/landscape-common.prerm0000664000000000000000000000206512272022503013455 0ustar #!/bin/sh # prerm script for landscape-common # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `remove' # * `upgrade' # * `failed-upgrade' # * `remove' `in-favour' # * `deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in remove|upgrade|deconfigure) rm -f /etc/update-motd.d/50-landscape-sysinfo 2>/dev/null || true /usr/sbin/update-motd 2>/dev/null || true rm -f /etc/profile.d/landscape-sysinfo.sh 2>/dev/null || true ;; failed-upgrade) ;; *) echo "prerm called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/landscape-common.postrm0000664000000000000000000000211612272022503013651 0ustar #!/bin/sh set -e # summary of how this script can be called: # * `remove' # * `purge' # * `upgrade' # * `failed-upgrade' # * `abort-install' # * `abort-install' # * `abort-upgrade' # * `disappear' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in purge) LOG_DIR=/var/log/landscape CONFIG_FILE=/etc/landscape/client.conf deluser --quiet --system landscape >/dev/null || true rm -f "${LOG_DIR}/sysinfo.log"* rm -f "${CONFIG_FILE}" ;; remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; *) echo "postrm called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/landscape-common.dirs0000664000000000000000000000002212272022503013260 0ustar etc/update-motd.d debian/landscape-client.templates0000664000000000000000000000452112272022503014313 0ustar Template: landscape-client/computer_title Type: string _Description: Computer Title: Descriptive text to identify this computer uniquely in the Landscape user interface. Template: landscape-client/account_name Type: string _Description: Account Name: Short lowercase identifier of the Landscape account this computer will be assigned. Template: landscape-client/registration_key Type: password _Description: Registration Key: Client registration key for the given Landscape account. Only needed if the given account is requesting a client registration key. Template: landscape-client/url Type: string Default: https://landscape.canonical.com/message-system _Description: Landscape Server URL: The server URL to connect to. Template: landscape-client/exchange_interval Type: string Default: 900 _Description: Message Exchange Interval: Interval, in seconds, between normal message exchanges with the Landscape server. Template: landscape-client/urgent_exchange_interval Type: string Default: 60 _Description: Urgent Message Exchange Interval: Interval, in seconds, between urgent message exchanges with the Landscape server. Template: landscape-client/ping_url Type: string Default: http://landscape.canonical.com/ping _Description: Landscape PingServer URL: The URL to perform lightweight exchange initiation with. Template: landscape-client/ping_interval Type: string Default: 30 _Description: Ping Interval: Interval, in seconds, between client ping exchanges with the Landscape server. Template: landscape-client/http_proxy Type: string Default: _Description: HTTP proxy (blank for none): The URL of the HTTP proxy, if one is needed. Template: landscape-client/https_proxy Type: string Default: _Description: HTTPS proxy (blank for none): The URL of the HTTPS proxy, if one is needed. Template: landscape-client/tags Type: string Default: _Description: Initial tags for first registration: Comma separated list of tags which will be assigned to this computer on its first registration. Once the machine is registered, these tags can only be changed using the Landscape server. Template: landscape-client/register_system Type: boolean Default: false _Description: Register this system with the Landscape server? Register this system with a preexisting Landscape account. Please go to http://landscape.canonical.com if you need a Landscape account. debian/landscape-common.templates0000664000000000000000000000172212272022503014325 0ustar Template: landscape-common/sysinfo Type: select # Translators beware! the following three strings form a single # Choices menu. - Every one of these strings has to fit in a standard # 80 characters console, as the fancy screen setup takes up some space # try to keep below ~71 characters. # DO NOT USE commas (,) in Choices translations otherwise # this will break the choices shown to users __Choices: Do not display sysinfo on login, Cache sysinfo in /etc/motd, Run sysinfo on every login Default: Cache sysinfo in /etc/motd _Description: landscape-sysinfo configuration: Landscape includes a tool and a set of modules that can display system status, information, and statistics on login. . This information can be gathered periodically (every 10 minutes) and automatically written to /etc/motd. The data could be a few minutes out-of-date. . Or, this information can be gathered at login. The data will be more current, but might introduce a small delay at login. debian/landscape-client.prerm0000664000000000000000000000213212272022503013436 0ustar #!/bin/sh # prerm script for landscape-client # # see: dh_installdeb(1) set -e # summary of how this script can be called: # * `remove' # * `upgrade' # * `failed-upgrade' # * `remove' `in-favour' # * `deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in remove|upgrade|deconfigure) # Remove statoverride for apt-update apt_update=/usr/lib/landscape/apt-update if dpkg-statoverride --list $apt_update >/dev/null 2>&1; then dpkg-statoverride --remove $apt_update fi ;; failed-upgrade) ;; *) echo "prerm called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/rules0000775000000000000000000000574112272022503010252 0ustar #!/usr/bin/make -f dist_release := $(shell lsb_release -cs) ifneq ($(dist_release),dapper) use_pycentral = yes endif ifeq (,$(filter $(dist_release), hardy lucid)) use_dhpython2 = yes endif dh_extra_flags = -plandscape-common -plandscape-client ifeq (,$(filter $(dist_release),hardy lucid natty oneiric)) # We want landscape-client-ui only from precise onward dh_extra_flags += -plandscape-client-ui -plandscape-client-ui-install endif -include /usr/share/python/python.mk ifeq (,$(py_sitename)) py_sitename = site-packages py_libdir = /usr/lib/python$(subst python,,$(1))/site-packages py_sitename_sh = $(py_sitename) py_libdir_sh = $(py_libdir) endif package = landscape-client root_dir = debian/tmp/ revision = $(shell dpkg-parsechangelog | grep ^Version | cut -f 2 -d " "| cut -f 2 -d "-") landscape_common_substvars = debian/landscape-common.substvars landscape_client_substvars = debian/landscape-client.substvars build-arch: build build-indep: build build: build-stamp build-stamp: dh_testdir sed -i -e "s/^DEBIAN_REVISION = \"\"/DEBIAN_REVISION = \"-$(revision)\"/g" landscape/__init__.py python setup.py build make -C apt-update touch build-stamp clean: dh_testdir dh_testroot rm -f build-stamp rm -rf build make -C apt-update clean dh_clean debconf-updatepo sed -i -e "s/^DEBIAN_REVISION = .*/DEBIAN_REVISION = \"\"/g" landscape/__init__.py install: build dh_testdir dh_testroot dh_prep dh_installdirs \ etc/landscape \ var/lib/landscape \ var/log/landscape \ usr/share/landscape python setup.py install --root $(root_dir) $(py_setup_install_args) # Keep in mind that some installed files are defined in setup.py install -D -o root -g root -m 755 debian/landscape-sysinfo.wrapper $(root_dir)/usr/share/landscape/landscape-sysinfo.wrapper install -D -o root -g root -m 644 debian/cloud-default.conf $(root_dir)/usr/share/landscape/cloud-default.conf install -D -o root -g root -m 755 apt-update/apt-update $(root_dir)/usr/lib/landscape/apt-update binary-indep: # do nothing # binary-arch: build install dh_lintian dh_testdir dh_testroot dh_installdocs dh_installman dh_installchangelogs dh_install --sourcedir debian/tmp/ dh_installinit -- start 45 2 3 4 5 . stop 15 0 1 6 . dh_installlogrotate dh_installdebconf dh_strip dh_compress dh_fixperms dh_shlibdeps # from quantal onwards, we don't want python-gnupginterface anymore (#1045237) ifneq (,$(filter $(dist_release),lucid precise)) echo "extra:Depends=python-gnupginterface" >> $(landscape_common_substvars) endif ifeq ($(use_dhpython2),yes) dh_python2 --no-guessing-versions else ifeq ($(use_pycentral),yes) ifneq (,$(py_setup_install_args)) DH_PYCENTRAL=include-links dh_pycentral else DH_PYCENTRAL=nomove dh_pycentral endif else dh_python endif endif dh_installdeb $(dh_extra_flags) dh_gencontrol $(dh_extra_flags) dh_md5sums $(dh_extra_flags) dh_builddeb $(dh_extra_flags) binary: binary-arch binary-indep .PHONY: binary binary-arch binary-indep clean debian/landscape-common.postinst0000664000000000000000000000755312272022503014222 0ustar #!/bin/sh set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-remove' # * `abort-deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package . /usr/share/debconf/confmodule trap "db_stop || true" EXIT HUP INT QUIT TERM PACKAGE=landscape-common # Use the default installed Python. Running just "python" might run # something from /usr/local/bin, which doesn't necessarily support # running the landscape client. PYTHON=/usr/bin/python case "$1" in configure) db_get $PACKAGE/sysinfo # Choices: # * Do not display sysinfo on login # * Cache sysinfo in /etc/motd # * Run sysinfo on every login SYSINFO="${RET:-Cache sysinfo in /etc/motd}" WRAPPER=/usr/share/landscape/landscape-sysinfo.wrapper PROFILE_LOCATION=/etc/profile.d/50-landscape-sysinfo.sh UPDATE_MOTD_LOCATION=/etc/update-motd.d/50-landscape-sysinfo if [ "$RET" = "Cache sysinfo in /etc/motd" ]; then rm -f $PROFILE_LOCATION 2>/dev/null || true ln -sf $WRAPPER $UPDATE_MOTD_LOCATION /usr/sbin/update-motd 2>/dev/null || true elif [ "$RET" = "Run sysinfo on every login" ]; then rm -f $UPDATE_MOTD_LOCATION 2>/dev/null || true /usr/sbin/update-motd 2>/dev/null || true ln -sf $WRAPPER $PROFILE_LOCATION else rm -f $UPDATE_MOTD_LOCATION 2>/dev/null || true /usr/sbin/update-motd 2>/dev/null || true rm -f $PROFILE_LOCATION || true fi # 0.9.1 introduces non-backwards compatible changes. This detects # whether or not the data is in the current format. If not, all # existing data is removed. DATA_DIR=/var/lib/landscape if [ -d $DATA_DIR/data ]; then rm -rf $DATA_DIR/* elif [ -f $DATA_DIR/client/data.bpickle ]; then LAST_BYTE=`sed -n '$,$s/.*\(.\)/\1/p' $DATA_DIR/client/data.bpickle` if [ "$LAST_BYTE" = e ]; then rm -rf $DATA_DIR/* fi fi # Create landscape system user if ! getent passwd landscape >/dev/null; then adduser --quiet --system --group --disabled-password \ --home /var/lib/landscape --no-create-home landscape fi # Create landscape system group (for <= 1.0.29.1-0ubuntu0.9.04.0) if ! getent group landscape >/dev/null; then addgroup --quiet --system landscape fi # Ensure primary group is landscape (for <= 1.0.29.1-0ubuntu0.9.04.0) if ! usermod -g landscape landscape > /dev/null 2>&1; then echo "ERROR: usermod -g landscape landscape failed." fi # Fix prior ownerships, we exclude the custom-graph-scripts directory # because there might script-generated files that we want to preserve # the ownership of. if [ -d /var/lib/landscape/client ]; then find /var/lib/landscape/client/ -wholename /var/lib/landscape/client/custom-graph-scripts -prune -or -exec chown landscape {} \; > /dev/null 2>&1 fi [ -d /var/lib/landscape/.gnupg ] && chown -R landscape /var/lib/landscape/.gnupg || : chown -R landscape /var/log/landscape ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/landscape-common.install0000664000000000000000000000013012272022503013765 0ustar usr/lib/python* usr/bin/landscape-sysinfo usr/share/landscape/landscape-sysinfo.wrapper debian/compat0000664000000000000000000000000212272022503010361 0ustar 7 debian/source.lintian-overrides0000664000000000000000000000112212272022503014037 0ustar # we use dh_python or dh_python2 depending on the ubuntu release # the package is being built on, this is detected dynamically # in the rules file landscape-client source: dh_python-is-obsolete # the package has to build on lucid, where the standards version # is 3.8.2 landscape-client source: ancient-standards-version # it's a bug that should be fixed in quantal landscape-client source: unknown-field-in-dsc original-maintainer # this is only used in a very specific client upgrade from # the dbus to the amp version landscape-client: start-stop-daemon-in-maintainer-script postinst:130 debian/cloud-default.conf0000664000000000000000000000033512272022503012563 0ustar [client] cloud = True url = https://landscape.canonical.com/message-system data_path = /var/lib/landscape/client ping_url = http://landscape.canonical.com/ping include_manager_plugins = ScriptExecution script_users = ALL debian/pycompat0000664000000000000000000000000212272022503010732 0ustar 2 debian/po/0000775000000000000000000000000012315305613007605 5ustar debian/po/templates.pot0000664000000000000000000001430612272022503012327 0ustar # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: landscape-client\n" "Report-Msgid-Bugs-To: landscape-client@packages.debian.org\n" "POT-Creation-Date: 2012-05-28 16:40-0300\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" #. Type: string #. Description #: ../landscape-client.templates:1001 msgid "Computer Title:" msgstr "" #. Type: string #. Description #: ../landscape-client.templates:1001 msgid "" "Descriptive text to identify this computer uniquely in the Landscape user " "interface." msgstr "" #. Type: string #. Description #: ../landscape-client.templates:2001 msgid "Account Name:" msgstr "" #. Type: string #. Description #: ../landscape-client.templates:2001 msgid "" "Short lowercase identifier of the Landscape account this computer will be " "assigned." msgstr "" #. Type: password #. Description #: ../landscape-client.templates:3001 msgid "Registration Key:" msgstr "" #. Type: password #. Description #: ../landscape-client.templates:3001 msgid "" "Client registration key for the given Landscape account. Only needed if the " "given account is requesting a client registration key." msgstr "" #. Type: string #. Description #: ../landscape-client.templates:4001 msgid "Landscape Server URL:" msgstr "" #. Type: string #. Description #: ../landscape-client.templates:4001 msgid "The server URL to connect to." msgstr "" #. Type: string #. Description #: ../landscape-client.templates:5001 msgid "Message Exchange Interval:" msgstr "" #. Type: string #. Description #: ../landscape-client.templates:5001 msgid "" "Interval, in seconds, between normal message exchanges with the Landscape " "server." msgstr "" #. Type: string #. Description #: ../landscape-client.templates:6001 msgid "Urgent Message Exchange Interval:" msgstr "" #. Type: string #. Description #: ../landscape-client.templates:6001 msgid "" "Interval, in seconds, between urgent message exchanges with the Landscape " "server." msgstr "" #. Type: string #. Description #: ../landscape-client.templates:7001 msgid "Landscape PingServer URL:" msgstr "" #. Type: string #. Description #: ../landscape-client.templates:7001 msgid "The URL to perform lightweight exchange initiation with." msgstr "" #. Type: string #. Description #: ../landscape-client.templates:8001 msgid "Ping Interval:" msgstr "" #. Type: string #. Description #: ../landscape-client.templates:8001 msgid "" "Interval, in seconds, between client ping exchanges with the Landscape " "server." msgstr "" #. Type: string #. Description #: ../landscape-client.templates:9001 msgid "HTTP proxy (blank for none):" msgstr "" #. Type: string #. Description #: ../landscape-client.templates:9001 msgid "The URL of the HTTP proxy, if one is needed." msgstr "" #. Type: string #. Description #: ../landscape-client.templates:10001 msgid "HTTPS proxy (blank for none):" msgstr "" #. Type: string #. Description #: ../landscape-client.templates:10001 msgid "The URL of the HTTPS proxy, if one is needed." msgstr "" #. Type: string #. Description #: ../landscape-client.templates:11001 msgid "Initial tags for first registration:" msgstr "" #. Type: string #. Description #: ../landscape-client.templates:11001 msgid "" "Comma separated list of tags which will be assigned to this computer on its " "first registration. Once the machine is registered, these tags can only be " "changed using the Landscape server." msgstr "" #. Type: boolean #. Description #: ../landscape-client.templates:12001 msgid "Register this system with the Landscape server?" msgstr "" #. Type: boolean #. Description #: ../landscape-client.templates:12001 msgid "" "Register this system with a preexisting Landscape account. Please go to " "http://landscape.canonical.com if you need a Landscape account." msgstr "" #. Type: select #. Choices #. Translators beware! the following three strings form a single #. Choices menu. - Every one of these strings has to fit in a standard #. 80 characters console, as the fancy screen setup takes up some space #. try to keep below ~71 characters. #. DO NOT USE commas (,) in Choices translations otherwise #. this will break the choices shown to users #: ../landscape-common.templates:1001 msgid "Do not display sysinfo on login" msgstr "" #. Type: select #. Choices #. Translators beware! the following three strings form a single #. Choices menu. - Every one of these strings has to fit in a standard #. 80 characters console, as the fancy screen setup takes up some space #. try to keep below ~71 characters. #. DO NOT USE commas (,) in Choices translations otherwise #. this will break the choices shown to users #: ../landscape-common.templates:1001 msgid "Cache sysinfo in /etc/motd" msgstr "" #. Type: select #. Choices #. Translators beware! the following three strings form a single #. Choices menu. - Every one of these strings has to fit in a standard #. 80 characters console, as the fancy screen setup takes up some space #. try to keep below ~71 characters. #. DO NOT USE commas (,) in Choices translations otherwise #. this will break the choices shown to users #: ../landscape-common.templates:1001 msgid "Run sysinfo on every login" msgstr "" #. Type: select #. Description #: ../landscape-common.templates:1002 msgid "landscape-sysinfo configuration:" msgstr "" #. Type: select #. Description #: ../landscape-common.templates:1002 msgid "" "Landscape includes a tool and a set of modules that can display system " "status, information, and statistics on login." msgstr "" #. Type: select #. Description #: ../landscape-common.templates:1002 msgid "" "This information can be gathered periodically (every 10 minutes) and " "automatically written to /etc/motd. The data could be a few minutes out-of-" "date." msgstr "" #. Type: select #. Description #: ../landscape-common.templates:1002 msgid "" "Or, this information can be gathered at login. The data will be more " "current, but might introduce a small delay at login." msgstr "" debian/po/POTFILES.in0000664000000000000000000000015212272022503011354 0ustar [type: gettext/rfc822deb] landscape-client.templates [type: gettext/rfc822deb] landscape-common.templates debian/README.source0000664000000000000000000000104412272022503011341 0ustar When making a revision to this package, please update the *last* digit in the Debian version number. e.g. 1.0.29-0ubuntu0.9.04.0 should become 1.0.29-0ubuntu0.9.04.1 In addition, when you build a package for a new client version, it would be appreciated if you also updated the UPSTREAM_VERSION variable in landscape/__init__.py to include the entire new client version number. This helps us keep track of exact version of clients in use. There's no need to update the DEBIAN_REVISION variable, as it gets automatically set at build time. debian/landscape-client.config0000775000000000000000000000340712272022503013567 0ustar #!/bin/sh PACKAGE=landscape-client CONFIGFILE=/etc/landscape/client.conf set -e . /usr/share/debconf/confmodule var_in_file() { var="$1" file="$2" line=$(grep "^$var\s*=\s*" "$file" 2>/dev/null || true) echo "$line" } get_var_from_file() { var="$1" file="$2" val=$(grep "^$var\s*=\s*" "$file" 2>/dev/null | tail -n1 | sed "s/^.*=\s*//") echo "$val" } update_var() { var="$1" file="$2" line=$(var_in_file $var $file) if [ -n "$line" ]; then val=$(get_var_from_file $var $file) # Store value from config file in debconf. db_set $PACKAGE/$var $val fi } # Load config file, if it exists. if [ -e $CONFIGFILE ]; then # Replace old registration_password to registration_key sed -i -r 's/^registration_password[[:blank:]]*=/registration_key =/' $CONFIGFILE # Config file is "ini" type, not shell, so we cannot source it # If a setting is defined in the config file, update it in debconf # db. update_var "computer_title" "$CONFIGFILE" update_var "account_name" "$CONFIGFILE" update_var "registration_key" "$CONFIGFILE" update_var "url" "$CONFIGFILE" update_var "exchange_interval" "$CONFIGFILE" update_var "urgent_exchange_interval" "$CONFIGFILE" update_var "ping_url" "$CONFIGFILE" update_var "ping_interval" "$CONFIGFILE" update_var "http_proxy" "$CONFIGFILE" update_var "https_proxy" "$CONFIGFILE" update_var "tags" "$CONFIGFILE" fi # Ask questions. # Do debconf configuration db_get $PACKAGE/register_system if [ "$RET" = true ]; then priority=high else priority=medium fi db_input "$priority" $PACKAGE/computer_title || true db_input "$priority" $PACKAGE/account_name || true db_input "$priority" $PACKAGE/registration_key || true db_go || true debian/source/0000775000000000000000000000000012272022503010463 5ustar debian/source/format0000664000000000000000000000001412272022503011671 0ustar 3.0 (quilt) debian/changelog0000664000000000000000000015703212315273462011057 0ustar landscape-client (14.01-0ubuntu3) trusty; urgency=medium * landscape-sysinfo should ignore non existent or unreadable default config files. (LP: #1293990) -- Andreas Hasenack Fri, 28 Mar 2014 10:20:01 -0300 landscape-client (14.01-0ubuntu2) trusty; urgency=low * Added missing python-configobj dependency to -common (LP: #1283716) -- Andreas Hasenack Mon, 24 Feb 2014 09:43:33 -0300 landscape-client (14.01-0ubuntu1) trusty; urgency=low * New upstream release: 14.01 * Dropped unity-control-center patch, already applied upstream -- Andreas Hasenack Thu, 20 Feb 2014 12:03:20 -0300 landscape-client (13.07.3-0ubuntu2) trusty; urgency=medium * debian/patches/unity-control-center.patch: - Show in both GNOME control center and Unity control center (LP: #1257505) -- Robert Ancell Wed, 29 Jan 2014 10:44:27 +1300 landscape-client (13.07.3-0ubuntu1) saucy; urgency=low * New release: 13.07.3 - The metadata.d/ directory was renamed to annotations.d/ (LP: #1226087) - Metadata exchange mechanism now uses the less ambiguous term "annotations" instead of "metadata". (LP: #1226597) -- Christopher Glass (Canonical) Wed, 18 Sep 2013 11:42:28 +0200 landscape-client (13.07.1-0ubuntu2) saucy; urgency=low * New upstream version (LP: #1190510) - New metadata exchange mechanism allows clients to send any key-value data to the landscape server (LP: #1123932) - Network devices now report their maximum theoretical speeds, and duplex status to landscape-server (LP: #1126330, LP: #1130130) - Landscape.client is now HA aware when HA is implemented using juju charms (LP: #1122508) - The landscape client will now trigger a reboot if server sends a reboot-required message. (LP: #1133005) - Big AMP code cleanup and refactoring in order to improve testing, improve performance and ease future maintainability (LP: #1165047, LP: #1169102, LP: #1170669, LP: #1170669, LP: #1170669, LP: #1170669, LP: #1170669, LP: #1170669, LP: #1170669, LP: #1170669, LP: #1170669) - Added logic to detect cloned (virtual) computers (LP: #1161856) - The landscape-client and landscape-common packages do not use or depend on dbus code anymore, and the dependencies to python-gi and gudev are dropped. The hardware info plugin now looks at /proc instead of querying DBus (LP: #1175553, LP: #1180691) - The ceph manager plugin is now a monitor plugin and thus does not require root privileges anymore. (LP: #1186973) - The detection logic for virtual machine was changed to account for the different semantics between Openstack Folsom and Grizzly, and was expanded to detect more hypervisors (LP: #1191843) - Removed legacy upgrader code from postinst since support for it was dropped. - French translation patches were removed since the changes were merged upstream. - Removed legacy upgrader from postinst. - The /etc/dbus-1/system.d/landscape.conf file was moved from the landscape-common package to the landscape-client-ui as part of LP: #1175553, LP: #1180691. The added "Replaces:" stanza does not need an equivalent "Breaks:" since packages depend on each other with a strictly equal version number, avoiding the case described in http://www.debian.org/doc/debian-policy/footnotes.html#f53 -- Christopher Glass (Canonical) Fri, 9 Aug 2013 17:01:28 +0200 landscape-client (12.12-0ubuntu3) raring; urgency=low * Fixed sed command that updated registration_key (LP: #1131355). -- Andreas Hasenack Thu, 21 Feb 2013 16:35:46 -0300 landscape-client (12.12-0ubuntu2) raring; urgency=low * Added some fixes to the French translation file. -- Andreas Hasenack Thu, 24 Jan 2013 11:46:22 -0200 landscape-client (12.12-0ubuntu1) raring; urgency=low * New upstream release * Slightly better regexp to change registration_password to registration_key during upgrades. * Detect Microsoft Hyper-V virtualization (LP: #1087185). * Prevent Apport from generating crash reports when dpkg returns an error (LP: #1076150). -- Andreas Hasenack Mon, 10 Dec 2012 10:27:12 -0200 landscape-client (12.11-0ubuntu1) raring; urgency=low * New upstream release. * Dropped lshw-storm-1053057 patch, already applied. * New manpage: landscape-sysinfo(1) * Upstream changed a config setting from registration_password to registration_key. Adjust scripts and configs accordingly. * Install new sample config file in the doc directory. * Only depend on python-gnupginterface for releases before Quantal. * Ensure ownership of our config file (LP: #1066116). * Gearing towards debhelper 7 compatibility. Replaced dh_clean -k with dh_prep. -- Andreas Hasenack Wed, 21 Nov 2012 15:24:20 -0200 landscape-client (12.05-0ubuntu3) raring; urgency=low * Drop python-gnupginterface dependency. (LP: #1045237). -- Dmitrijs Ledkovs Fri, 09 Nov 2012 10:55:22 +0000 landscape-client (12.05-0ubuntu2) quantal-proposed; urgency=low * Added fix for lshw storm when the client was talking to an old Landscape server which was then upgraded (LP: #1053057). -- Andreas Hasenack Thu, 20 Sep 2012 15:28:37 -0700 landscape-client (12.05-0ubuntu1) quantal-proposed; urgency=low * New upstream release 12.05 (r561 in trunk) (LP: #1004678). * Make all subpackages that depend on each other require the exact same version, instead of >= $version. * Added python-gi to client depends starting natty. * Make change-packages also handle package holds (LP: #972489). * Fix typo in glade file (LP: #983096). * Tidy up apt facade (LP: #985493). * Remove SmartFacade and its tests, no longer used (LP: #996269). * Remove check for apt version, since we won't release this for Hardy where that check matters (LP: #996837). * Remove methods that were smart specific. We no longer use smart (LP: #996841). * Remove smart-update helper binary. We no longer use smart (LP: #997408). * Remove test-mixins that were useful only during the apt-to-smart code migration. Now with smart gone, they are no longer necessary (LP: #997760). * Build the packages from precise onward, not just precise. * Assorted packaging fixes: - Switched to format 3.0 (quilt). - Added source lintian overrides, with comments. - Updated debian/rules: - Added build-arch and build-indep dummy target. - Build the GUI packages from precise onwards, and not just on precise. - Re-enable dh_lintian. - Strip the binaries (dh_strip), and also call dh_shlibdeps for the automatic shlibs dependency. - Added python-gi from natty onwards. - Used __Choices instead of _Choices in landscape-common.templates, it's better for translators. - Updated standard version to 3.8.2, the version from Lucid (oldest one we support) - Added shlibs depends. - Dropped deprecated ${Source-Version} and replaced it with ${binary:Version} - Require exact version of the sibling package instead of >=. -- Andreas Hasenack Fri, 01 Jun 2012 17:48:43 -0300 landscape-client (12.04.3-0ubuntu1) precise; urgency=low * Warn on unicode entry into settings UI (LP: #956612). * Sanitise hostname field in settings UI (LP: #954507). * Make it clear that the Landscape service is commercial (LP: #965850) * Further internationalize the settings UI (LP: #962899) -- David Britton Wed, 28 Mar 2012 10:59:58 -0600 landscape-client (12.04.2-0ubuntu1) precise; urgency=low * Depend on python-aptdaemon.gtk3widgets instead of python-aptdaemon and replace dependency on python-gobject by python-gi (LP: #961894) * Add i18n to the landscape-client-ui-install script. (LP: #961891) -- David Britton Thu, 22 Mar 2012 10:10:39 -0600 landscape-client (12.04.1-0ubuntu1) precise; urgency=low * Fix default landscape hostname in glib schema. * dpkg test improvements to fix intermittent failures. * If ssl_public_key is supplied, use it also when fetching script attachments. This fixes the case of using script execution with attachments when the Landscape server is using a custom CA, most common in LDS deployments. (LP: #959846) * Make sure we have a PATH variable set before doing package activities, and also set it in the initscript for good measure. If the client was configured and restarted by the new UI configuration tool, PATH wasn't set, triggering an error in dpkg. (LP: #961190) * Make landscape-client-ui depend on landscape-client-ui-install, so that we get an entry in the system settings if just landscape-client-ui is installed. The actual entry comes from landscape-client-ui-install. * Optimization: when adding binaries, don't reload every repo, only the one containing the binaries. (LP: #954822) * Handle the case where the user clicks twice inadvertently on the Landscape icon in system settings and don't start a second copy of itself. (LP: #960211) -- Andreas Hasenack Wed, 21 Mar 2012 16:15:49 -0300 landscape-client (12.04-0ubuntu1) precise; urgency=low * d/control: Dropping python-central and python-support since they are not used except in backports, and are not in main. -- Clint Byrum Mon, 19 Mar 2012 16:05:49 -0700 landscape-client (12.04-0ubuntu0.12.04.0) precise; urgency=low * Change package management features to use APT instead of Smart (LP: #856244, #861707, #859615, #861345, #863239, #863259, #865270, #865272, #865285, #865273, #871641, #865299, #873196, #873939, #876493, #881973, #882438, #866014, #881998, #884142, #884151, #884131, #887037, #886208, #887578, #887947, #889067, #889069, #889087, #889099, #865303, #889113, #890605, #890606, #890609, #897416, #891855, #898681, #898683, #897656, #898542, #862212, #903202, #914734, #914735, #914737, #916301, #915280, #914742, #918925, #918175, #919179, #921664, #921699, #922582, #922511, #921712, #928750, #932136, #928941, #937411, #937567, #925543, #947803, #952973, #948142, #953136, #953906, #956590). * Add a GTK interface to configure the client (LP: #911279, #911666, #912163, #911665, #916300, #931937, #931937, #943622, #945025, #911279, #944652, #948464, #948416, #949158, #911671, #950864, #949208, #949147, #953070, #953292, #953463, #953034, #949200, #953026, #954499, #954516, #954285, #953065, #954414, #954332, #954542, #955966, #955139, #956030, #956119). * Add the ability to auto discover the server location on local deployment (LP: #917422, #927620, #917422, #928585, #929087, #932325, #948564) * Allow the client to accept arbitrary environment variables from the server for script execution (LP: #954999). * Make landscape-config exit non-zero when registration fails and --ok-no-register is not passed (LP: #271759). * Check for the content of /sys/bus/xen/devices to report a machine as a Xen VM instead of just relying on the existence of /sys/bus/xen (LP: #921970). * Make sure cloud registration succeeds if there is no kernel specified in the meta-data service (LP: #920453). * Report private and public IP adresses from the metadata service at cloud registration time (LP: #918366). * Add support for reporting hardware information using lshw (LP: #899002, #943975, #955734). * Add support for the new attachment service in script execution (LP: #893040). * Adds a new message type, 'register-provisioned-machine', which is meant to register computers using an OTP (LP: #881405). * Add local cloning option for load testing (LP: #872830, #925924). * Add more variables to preseeding (LP: #863204, #867710). * Allow the configuration of the ping interval (LP: #397884). * Add fake package reporters for load testing purposes (LP: #821571, #821570). * Report a package reporter error to the server if no APT sources are configured, to trigger a package reporter alert (LP: #823769). -- Andreas Hasenack Mon, 19 Mar 2012 09:33:34 -0300 landscape-client (11.07.1.1-0ubuntu2) precise; urgency=low * Remove build dependency on python-central | python-support for demotion. -- Matthias Klose Sat, 17 Dec 2011 17:25:00 +0100 landscape-client (11.07.1.1-0ubuntu1.11.10.0) oneiric; urgency=low * Included missing files (LP: #814223). -- Andreas Hasenack Thu, 21 Jul 2011 15:40:46 -0300 landscape-client (11.07.1.1-0ubuntu0.11.10.0) oneiric; urgency=low * Try to load the old persist file if the current one doesn't exist or is empty (LP: #809210). * Fallback to gethostname to get something interesting out of get_fqdn. * Fix wrong ownership and permissions when the reporter is run as a result of applying a repository profile (LP: #804008). * Keep original sources.list ownership (LP: #804548). * Refactored tests (LP: #805746). * Preserve permissions of sources.list (LP: #804548). * Added a broker command line option (--record) that saves exchanges with the server to the filesystem * Detect if running in a vmware guest (LP: #795794). * Report VM type when run in the cloud (LP: #797069). * Report VM type in non-cloud registration (LP: #795752). * Report the package reporter result even in case of success, not just in case of failure (LP: #780406). * Report package reporter errors (LP: #732490). * Fix dependencies for hardy removing references to python 2.4 packages for pycurl and dbus (LP: #759764). * The landscape client now reports whether it is running on a virtual machine or not. * Add a plugin which manages APT sources.list and the associated GPG keys (LP: #758928). * Limit the number of items in a network message to 200, to prevent problems when communication is interrupted with the server and the client accumulates too many network items, thus overloading the server when it's available again (LP: #760486). * Updated version number in __init__.py so that the client reports the correct one in its user-agent string. -- Andreas Hasenack Mon, 18 Jul 2011 15:16:18 -0300 landscape-client (11.02-0ubuntu0.11.04.1) natty; urgency=low * debian/control, debian/rules: Add quilt * debian/patches/fix-landscape-monitor.patch: Fix landscape monitoring with gir1.0-gudev-1.0 installed. (LP: #747498) -- Chuck Short Fri, 08 Apr 2011 09:46:24 -0400 landscape-client (11.02-0ubuntu0.11.04.0) natty; urgency=low * New upstream version (LP: #727324) - Exit gracefully instead of crashing when the filesystem is read-only (LP: #649997). - Drop hal requirement (LP: #708502). - Enable HTTP compression in Curl (LP: #297623). - Explicitly name log files that need to be rotated (LP: #634236). - Assorted test suite fixes -- Andreas Hasenack Tue, 01 Mar 2011 15:38:11 -0300 landscape-client (11.01-0ubuntu0.11.04.0) natty; urgency=low * New upstream version (LP: #702928) - Use a better load check for the sysinfo wrapper, taking into account the number of cores (LP: #643565). - Add an option to bootstrap cloud instances using cloud-init (LP: #701972). - Fix packaging for Natty (LP: #688115). - Force deletion of all the persist data for the monitoring plugins at resynchronization, instead of relying each one of them to do (LP: #688161). - Don't send the mount-activity message to the server anymore (LP: #688514). - Workaround a new behavior in NetworkManager where getfqdn would report localhost instead of useful hostname (LP: #649142). -- Thomas Hervé Fri, 14 Jan 2011 10:11:04 -0600 landscape-client (1.5.5.1-0ubuntu0.10.10.0) maverick; urgency=low * The client network plugin would send erroneous data if a network interface was removed (and its kernel module removed as well) and then readded (LP: #641264). -- Andreas Hasenack Mon, 20 Sep 2010 13:52:49 -0300 landscape-client (1.5.5-0ubuntu0.10.10.0) maverick; urgency=low * New upstream version (LP: #633468) - The --help command line option can now be used without being root (LP: #613256). - The client Unix sockets and symlinks are now cleaned up at shutdown. Without this cleaning, the client could refuse to start because of a PID collision (LP: #607747). - The network traffic plugin didn't use to take into account integer overflows. This would cause the plugin to send negative values sometimes (LP: #615371). - If a payload had many user activities in it, only the last one would be carried out (LP: #617624). - The Eucalyptus plugin was not enabled by default, which means the Cloud Topology feature of Landscape was not available (LP: #614493). -- Andreas Hasenack Wed, 08 Sep 2010 15:34:09 -0400 landscape-client (1.5.4-0ubuntu0.10.10.0) maverick; urgency=low * New upstream version (LP: #610744): - The Eucalyptus management plugin reports the output of the 'euca-describe-availability-zones verbose' command, which includes information about the available instance types and the maximum number of each instance type that the cloud can support (LP: #599338) - Check if the package directory exists before trying to check the package changer lock in the dbus-proxy. This fixes a bug when upgrading a dbus-landscape which never registered (LP: #603514). - Allow an LDS server to bootstrap new cloud instances with its own CA, which is picked up by the client, written to a file on the instance, and used in subsequent exchanges with the server (LP: #605079). - Skip loopback interface when reporting device info (LP: #608314) - Disable landscape-sysinfo when load is more than 1 (LP: #608278) -- Free Ekanayaka Wed, 28 Jul 2010 08:14:02 +0200 landscape-client (1.5.2.1-0ubuntu0.10.10.0) maverick; urgency=low * Include maverick in debian/rules substvars (LP: #596062) * Filter duplicate network interfaces in get_active_interfaces (LP: #597000) -- Free Ekanayaka Mon, 28 Jun 2010 18:07:18 +0200 landscape-client (1.5.2-0ubuntu0.10.10.0) maverick; urgency=low * New upstream version (LP: #594594): - A new includes information about active network devices and their IP address in sysinfo output (LP: #272344). - A new plugin collects information about network traffic (#LP :284662). - Report information about which packages requested a reboot (LP: #538253). - Fix breakage on Lucid AMIs having no ramdisk (LP: #574810). - Migrate the inter-process communication system from DBus to Twisted AMP. -- Free Ekanayaka Wed, 16 Jun 2010 12:03:50 +0200 landscape-client (1.5.0-0ubuntu0.10.04.1) lucid; urgency=low * New upstream version - Fix smart-update failing its very first run (LP: 562496) - Depend on pythonX.Y-dbus and pythonX.Y-pycurl (LP: #563063) -- Free Ekanayaka Wed, 21 Apr 2010 12:31:28 +0200 landscape-client (1.5.0-0ubuntu0.10.04.0) lucid; urgency=low * New upstream version (LP: #557244) - Fix package-changer running before smart-update has completed (LP: #542215) - Report the version of Eucalyptus used to generate topology data (LP: #554007) - Enable the Eucalyptus plugin by default, if supported (LP: #546531) - Use a whitelist of allowed filesystem types to instead of a blacklist (LP: #351927) - Report the update-manager logs to the server (LP: #503384) - Turn off Curl's DNS caching for requests. (LP: #522688) -- Free Ekanayaka Wed, 07 Apr 2010 16:27:45 +0200 landscape-client (1.4.4-0ubuntu0.10.04.0) lucid; urgency=low * New upstream release (LP: #519200): - Add a message for creating package locks (LP: #514334) - Add support for auto-approved change-packages messages (LP: #517175) - Add support for installing server-generated debian packages (LP: #509752) - Add support for reporting Eucalyptus topology information (LP: #518501) - Fix timeout while inserting large free-space message (LP: #218388) - Fix wrong log path in motd (LP: #517454) - Fix race condition in process excecution (LP: #517453) -- Free Ekanayaka Sat, 16 Jan 2010 14:11:32 +0100 landscape-client (1.4.0-0ubuntu0.9.10.0) lucid; urgency=low * New upstream release with several bug fixes: - Fix landscape daemons fail to start when too many groups are available (LP: #456124) - Fix landscape programs wake up far too much. (LP: #340843) - Fix Package manager fails with 'no such table: task' (LP #465846) - Fix test suite leaving temporary files around (LP #476418) * Add support for Ubuntu release upgrades: - Add helper function to fetch many files at once (LP: #450629) - Handle release-upgrade messages in the packagemanager plugin (LP: #455217) - Add a release-upgrader task handler (LP: #462543) - Support upgrade-tool environment variables (LP: #463321) * Add initial support for Smart package locking: - Detect and report changes about Smart package locks (#488108) -- Free Ekanayaka Tue, 01 Dec 2009 09:16:26 +0100 landscape-client (1.3.2.4-0ubuntu0.9.10.0) karmic; urgency=low * New upstream release: - Catch import errors in the landscape-sysinfo script to prevent errors when landscape-sysinfo is run to update the motd during upgrade (LP: #349996) - Fix a long-standing bug in the client which causes resynchronisations on the server (LP: #144475) - When downloading hash-id stores, pass possible custom SSL certificates to the fetch fuction (LP: #435887) - Handle unicode username in custom graphs, and also report missing user to the server properly (LP: #406388) - Handle a SQlite bug when creating package store database, by making an extra query to flush the table cache (LP: #416629) -- Free Ekanayaka Fri, 09 Oct 2009 18:21:24 +0200 landscape-client (1.3.2.3-0ubuntu0.9.10.0) karmic; urgency=low * New upstream release: - Don't clear the hash_id_requests table upon resynchronize (LP #417122) -- Free Ekanayaka Wed, 26 Aug 2009 15:16:59 +0200 landscape-client (1.3.2.2-0ubuntu0.9.10.3) karmic; urgency=low * Drop unsed dependency on libcurl3 and explicitly depend on libcurl3-gnutls (>= 7.15.1-1ubuntu3) on dapper (LP: #406885) * Add missing debian/landscape-common.config (LP: #410378) -- Free Ekanayaka Thu, 30 Jul 2009 15:16:07 +0200 landscape-client (1.3.2.2-0ubuntu0.9.10.2) karmic; urgency=low * debian/control: dropping python-pysqlite2 dependency, since this package is in universe, and python now has built-in sqlite support, LP: #406641 -- Dustin Kirkland Wed, 29 Jul 2009 17:33:47 -0500 landscape-client (1.3.2.2-0ubuntu0.9.10.1) karmic; urgency=low [ Free Ekanayaka ] * New upstream release: - Include the README file in landscape-client (LP: #396260) - Fix client capturing stderr from run_command when constructing hash-id-databases url (LP: #397480) - Use substvars to conditionally depend on update-motd or libpam-modules (LP: #393454) - Fix reporting wrong version to the server (LP: #391225) - The init script does not wait for the network to be available before checking for EC2 user data (LP: #383336) - When the broker is restarted by the watchdog, the state of the client is inconsistent (LP: #380633) - Package stays unknown forever in the client with hash-id-databases support (LP: #381356) - Standard error not captured when calling smart-update (LP: #387441) - Changer calls reporter without switching groups, just user (LP: #388092) - Run smart update in the package-reporter instead of having a cronjob (LP: #362355) - Package changer does not inherit proxy settings (LP: #381241) - The ./test script doesn't work in landscape-client (LP: #381613) - The source package should build on all supported releases (LP: #385098) - Strip smart update's output (LP: #387331) - The fetch() timeout isn't based on activity (#389224) - Client can use a UUID of "None" when fetching the hash-id-database (LP: #381291) - Registration should use the fqdn rather than just the hostname (LP: #385730) -- Mathias Gug Wed, 22 Jul 2009 14:54:50 -0400 landscape-client (1.0.29.1-0ubuntu0.9.04.1) karmic; urgency=low * debian/control: depend on libpam-modules, rather than update-motd -- Dustin Kirkland Thu, 16 Jul 2009 11:36:27 -0500 landscape-client (1.0.29.1-0ubuntu0.9.04.0) jaunty; urgency=low * Apply a fix for segfault bug involving curl timeouts. (LP: #360510) -- Christopher Armstrong Mon, 13 Apr 2009 14:33:31 -0400 landscape-client (1.0.29-0ubuntu0.9.04.0) jaunty; urgency=low * New upstream bugfix release (LP: #358744) - Add a timeout to HTTP operations to avoid hanging (LP: #349737) - Clean up environment variables on startup to avoid propagating variables that will corrupt package installation (LP: #348681) - Clean up FDs on startup for the same reason (LP: #352458) - Catch and handle certain errors from smart (such as invalid package data) to avoid "stuck" Landscape activities (LP: #268745) - Don't print warnings meant for developers to the console (LP: #336669) -- Christopher Armstrong Thu, 09 Apr 2009 17:09:50 -0400 landscape-client (1.0.28-0ubuntu1.9.04.0) jaunty; urgency=low * Fix minor packaging issues in last release (LP: #343954) - Version number in landscape.VERSION is now correct - Fixed package version number to maintain convention * The following changes are in the 1.0.28 release: - Invalidate package cache when server UUID changes (LP: #339948) - Improve the "cloud mode" introduced in 1.0.26 to send more disambiguation data (LP: #343942) and allow the EC2 user data to specify the exchange and ping URLs (LP: #343947) - Allow importing of initial configurations (along with public SSL certificates) when running landscape-config (LP: #341705) - Support a non-root mode which allows running the client without the management functionality (LP: #82159) - Automatic cloud registration when there's no user-data to specify an OTP now works (LP: #344323) -- Christopher Armstrong Thu, 19 Mar 2009 09:52:03 -0400 landscape-client (1.0.28-0ubuntu1) jaunty; urgency=low * New upstream release. (LP: #343954) -- Martin Pitt Wed, 18 Mar 2009 20:42:05 +0100 landscape-client (1.0.26.1-0ubuntu0.9.04) jaunty; urgency=low * Build for python2.6, include the symlinks in the package. -- Matthias Klose Wed, 25 Feb 2009 12:03:23 +0000 landscape-client (1.0.26-0ubuntu0.9.04) jaunty; urgency=low * New upstream release (LP: #328151) -- Christopher Armstrong Wed, 11 Feb 2009 17:00:54 +0000 landscape-client (1.0.25-0ubuntu0.9.04) jaunty; urgency=low * New upstream release supporting custom graphs (LP: #306360) - Multiple custom graphs can be used at the same time (LP: #307314) - PATH is now set for scripts in script execution (LP: #257018) * debian/landscape-common.postinst: Only chown parts of /var/lib/landscape because we now store files in it that should maintain their ownership (LP: #307321). * debian/landscape-client.postinst: Work around chfn/system user problem by not specifying a --gecos (LP: #238755) * debian/landscape-client.logrotate: logrotate no longer reports spurious errors when the client isn't running (LP: #271767) -- Christopher Armstrong Thu, 11 Dec 2008 17:11:08 -0800 landscape-client (1.0.23-0ubuntu0.8.10.1) intrepid; urgency=low * debian/control: Update Replaces to < 1.0.23-0ubuntu0.8.10 to correctly replace newer unsplit versions of the landscape package (LP: #285030). -- Christopher Armstrong Fri, 17 Oct 2008 12:42:23 -0400 landscape-client (1.0.23-0ubuntu0.8.10) intrepid; urgency=low * New upstream release. (LP: #277658): Changes since 1.0.21.1: - Don't print duplicate warnings when / is nearing capacity in sysinfo (LP: #260230). - Slight change to link text in landscape-sysinfo. - Don't crash badly when programs are run as the incorrect user (LP: #268879). * debian/changelog: New debian-version scheme including Ubuntu version. The same upstream version is available for all supported releases. (LP: #277682). * debian/landscape-client.postrm: Delete log and data files upon purge (LP: #121182). * debian/landscape-common.postrm: Delete the sysinfo logs upon purge. -- Christopher Armstrong Thu, 09 Oct 2008 11:40:51 -0400 landscape-client (1.0.21.1-0ubuntu2) intrepid; urgency=low * debian/control: fix bzr url * debian/landscape-sysinfo.wrapper: print a timestamp before the sysinfo data to ensure appropriate context (LP: #270862) -- Dustin Kirkland Tue, 30 Sep 2008 17:13:18 -0500 landscape-client (1.0.21.1-0ubuntu1) intrepid; urgency=low * New upstream version: * Add ok-no-register option to landscape-config script to not fail if dbus isn't started or landscape-client isn't running. * lower timeout related to package management in landscape. * debian/control: Depend on cron. * debian/landscape-client.postinst: use ok-no-register option so that the postinst script doesn't fail when run from the installer. (LP: #274573). -- Mathias Gug Thu, 25 Sep 2008 17:54:00 -0400 landscape-client (1.0.21-0ubuntu2) intrepid; urgency=low * debian/rules: Install an hourly cron job to update smart package data. Thanks to Christopher Armstrong (LP: #268765). * debian/control: - Move ${misc:Depends} to Depends. - Add VCS-* headers. * debian/landscape-client.postrm: - remove /etc/default/landscape-client when the package is purged. -- Mathias Gug Tue, 23 Sep 2008 18:19:26 -0400 landscape-client (1.0.21-0ubuntu1) intrepid; urgency=low [ Christopher Armstrong ] * New upstream release (LP: #271886): - Bug fix release: - Avoid the PotentialZombieWarning on landscape-client startup. (LP: #257346) - When run as root, read sysinfo configuration from /etc and and write logs to /var/log instead of /root. (LP: #268560) - Avoid ZeroDivisionErrors when /home is an autofs. (LP: #269634) - Don't corrupt a pid file when trying to start the client when it's already running. (LP: #269634) - Remove the pid file when shutting down the client. (LP: #257081) [ Mathias Gug ] * debian/landscape-client.init: specify the pid file and use --startas instead of --exec when starting landscape-client so that the init script doesn't fail if landscape-client is already running. -- Mathias Gug Fri, 19 Sep 2008 17:28:08 -0400 landscape-client (1.0.18-0ubuntu4) intrepid; urgency=low [ Christopher Armstrong ] * debian/landscape-common.postinst: Don't blow up when the landscape-sysinfo symlinks already exist (LP: #270131) [ Mathias Gug ] * debian/landscape-common.postinst, debian/landscape-common.prerm: don't call update-motd init script as it's no longer available in the update-motd package. Call directly /usr/sbin/update-motd instead. (LP: #271854) -- Mathias Gug Thu, 18 Sep 2008 16:47:08 -0400 landscape-client (1.0.18-0ubuntu3) intrepid; urgency=low * debian/control: Add Replaces for landscape-common since landscape-sysinfo has been moved from -client to -common. -- Mathias Gug Tue, 16 Sep 2008 17:16:50 -0400 landscape-client (1.0.18-0ubuntu2) intrepid; urgency=low [ Mathias Gug ] * Split the package into two packages: - landscape-common: has the python libraries and the landscape-sysinfo command. A landscape account is not required to use this package. - landscape-client: has all the binaries required to run the landscape-client. Requires a landscape account. - debian/control: + move some dependencies to landscape-client so that landscape-common doesn't install unecessary packages in the default -server install. + move python-gobject to a Pre-Depends so that landscape-config can register the system during the postinst (LP: #268838). * debian/control: - depend on python-smartpm instead of smartpm-core. * debian/landscape-client.postrm: delete /etc/landscape/client.conf when the package is purged. * debian/landscape-client.postinst: remove sysinfo_in_motd debconf question as it wasn't used. [ Christopher Armstrong ] * Fixes for (LP: #268352). - scripts/landscape-sysinfo.wrapper: New script to run landscape-sysinfo with leading whitespace. - debian/rules: Install wrapper into /usr/share/landscape. - debian/landscape-client.postinst: Link wrapper into place. -- Mathias Gug Mon, 15 Sep 2008 17:21:53 -0400 landscape-client (1.0.18-0ubuntu1) intrepid; urgency=low * New upstream release -- Rick Clark Mon, 08 Sep 2008 16:35:57 -0500 landscape-client (1.0.17-0ubuntu1) intrepid; urgency=low [ Dustin Kirkland and Rick Clark ] * debian/compat: updated to 6. * debian/config: initial debconf config. * debian/control: reformatted depends and changed smartpm-core version; changed Standards-Version to 3.8.0; added adduser to depends as needed by postinst and postrm; updates smartpm-core dep to >1.0; moved most build deps to Build-Depends-Indep; add po-debconf build dependency; added debconf hooks for installing landscape-sysinfo as an update-motd or profile.d script. * debian/copyright: updated copyright date; removed incorrect symlink to GPL-3; added Dustin and Rick to the packaging credits. * debian/landscape-client.init: removed S from stop; rewritten to be more lsb/Debian compliant; added status action; fixed whitespacing inconsistency; use $NAME whenever possible; comment why we're not using status_of_proc(). * debian/landscape-client.lintian-overrides: added with two overrides * debian/landscape-client.overrides: removed. * debian/landscape-client.prerm: initial creation, remove landscape-sysinfo update-motd or profile.d script, if any exists. * debian/landscape-client.postinst: fixed deprecated chmod call; changed home dir of landscape user; removed uneeded update-rc.d; added code to handle debconf; created a function for retrieving values from ini config; /usr/share/debconf/comfmodule to top of postinst; add db_stop back in. * debian/landscape-client.postrm: added debhelper tag. * debian/rules: added po debconf bits for translation; depend on update-motd. * debian/pycompat: initial creation. * debian/po/POTFILES.in, debian/po/templates.pot: initial creation. * man/txt2man, man/*.txt: removed; manpages should *really* be in native format. * man/landscape-client.1, man/landscape-config.1, man/landscape-message.1: manpages in roff format, initially created by txt2man, some minor tweaks to the title and such. [ Gustavo Niemeyer ] * New Upstream release * Fix copyright dates in debian/copyright * fix the chown call to use a colon * Fixed missing $PACKAGES variable in postinst * Implemented support for configuration the computer title via debconf [ Kees Cook ] * removed unused debian/autoppa-switch. * fixed debian/landscape-client.init to run log_end_msg in the right place. * debian/landscape-client.postrm: rewrote to allow debhelper to do its job, fixed deluser call. * debian/landscape-client.postinst: rewrote to allow debhelper to do its job, fixed use of adduser. * debian/rules: use "install" instead of "cp", dropped lintian overrides. * debian/changelog: drop redundant changelog entries. [ Rick Clark ] * removed .override file * removed .autoppa files -- Dustin Kirkland Thu, 04 Sep 2008 13:28:14 -0500 landscape-client (1.0.16-intrepid1-landscape1) intrepid; urgency=low * landscape-config can now be run in a non-interactive mode -- Andreas Hasenack Fri, 8 Aug 2008 14:34:43 +0000 landscape-client (1.0.15-intrepid1-landscape1) intrepid; urgency=low * introduce a basic landscape-sysinfo tool * properly report a script execution error if its exit status is not zero -- Andreas Hasenack Thu, 7 Aug 2008 18:33:41 +0000 landscape-client (1.0.14-intrepid1-landscape1) intrepid; urgency=low * fixed some dbus errors in some of the supported distributions * added restart/shutdown plugin * scripts can now have accented characters in them -- Andreas Hasenack Thu, 24 Jul 2008 13:06:34 +0000 landscape-client (1.0.13-hardy1-landscape1) hardy; urgency=low * the timestamp in the error message from processkiller.py is now formatted properly * the process list sent to the server was only being updated for new processes, and not when existing processes changed * in script execution, a timeout error is now reported with a proper error message instead of just a generic failure in the script -- Andreas Hasenack Thu, 10 Jul 2008 14:24:15 +0000 landscape-client (1.0.12-hardy1-landscape1) hardy; urgency=low * the sleep average value of a process is no longer provided by recent kernels. The client now computes and sends the CPU usage instead. * initial directory for script execution is now the target user's home directory and, if that is unavailable, /. Previously it was /root. * new user creation was ignoring some extra fields such as Location and phone numbers * the machine uptime was incorrectly reported after a logrotate run and if there was no reboot afterwards. This affected the process listing page in the web interface, where processes would show up as having been started around 1970. -- Andreas Hasenack Thu, 26 Jun 2008 16:17:59 +0000 landscape-client (1.0.11-hardy1-landscape1) hardy; urgency=low * fixed a regression where an important fix was missing from the new staging branch -- Andreas Hasenack Fri, 13 Jun 2008 14:45:08 +0000 landscape-client (1.0.10-hardy1-landscape1) hardy; urgency=low * Change the utilisation of the csv module to be compatible with python 2.4 as used in Dapper. -- Andreas Hasenack Thu, 12 Jun 2008 17:58:05 +0000 landscape-client (1.0.9-hardy1-landscape1) hardy; urgency=low * restrict users and groups list to local ones only, i.e., /etc/passwd and /etc/group * fixed some tests that were failing in locales other than english -- Andreas Hasenack Wed, 11 Jun 2008 15:16:12 +0000 landscape-client (1.0.4-hardy1-landscape1) hardy; urgency=low * fixed permissions and ownership of some files and directories which could prevent package data from being uploaded to the Landscape server * fixed a problem where the root user password could not be changed * the watchdog.log log file is now also rotated -- Andreas Hasenack Wed, 16 Apr 2008 17:21:20 +0000 landscape-client (1.0-hardy1-landscape4) hardy; urgency=low * Memory consumption has is improved. The client's functionality is now broken up into a number of sub-processes. Functionality that would previously use or leak memory, such as package management, run in independent processes that exit when they complete so the OS can reclaim the memory. * Security is improved with this design. Monitoring plugins run as the unpriviledged landscape user while management functions run as root. * Secure inter-process communication occurs over DBUS. -- Michel Pelletier Wed, 27 Feb 2008 22:57:21 +0000 landscape-client (0.17.0-hardy1-landscape1) hardy; urgency=low * The client now reports the primary group for users. I can also modify it when requested by the server (#122212). -- Jamshed Kakar Wed, 21 Nov 2007 19:14:29 +0000 landscape-client (0.16.0-hardy1-landscape1) hardy; urgency=low * The client no longer schedules an urgent exchange if it detects that the server has not processed any messages in its most recent exchange (#138135). * The total number of pending messages are sent to the server to make it possible to generate backlog statistics (#162733). -- Jamshed Kakar Wed, 14 Nov 2007 23:09:58 +0000 landscape-client (0.15.0-gutsy1-landscape1) gutsy; urgency=low * Support for http_proxy and https_proxy variables in the configuration file and in the interactive setup, as well as --http-proxy and --https-proxy parameters is available (#151690). * The client gracefully fails when unknown request-ids for package-related operations are received (#151085). * Child devices that have been removed are not reported when one of their ancestors is also reported for deletion by the hardware inventory plugin (#136497). -- Jamshed Kakar Fri, 26 Oct 2007 23:23:20 +0000 landscape-client (0.14.0-gutsy1-landscape1) gutsy; urgency=low * Failures that would occur is a user wasn't in the shadow file are fixed (#102071). * Whitespace surrounding process command-line names is removed before they are reported to the server (#149112). * Test failures, some related to DBUS on gutsy, are fixed. -- Jamshed Kakar Thu, 25 Oct 2007 00:03:06 +0000 landscape-client (0.13.0-gutsy1-landscape1) gutsy; urgency=low * When unknown package IDs are sent by the server message handling is postponed until the client is aware of the unknown IDs (#128796). -- Jamshed Kakar Wed, 17 Oct 2007 17:36:11 +0000 landscape-client (0.12.2-gutsy1-landscape1) gutsy; urgency=low * The client now reports it's version correctly. -- Jamshed Kakar Thu, 11 Oct 2007 21:32:24 +0000 landscape-client (0.12.1-gutsy1-landscape1) gutsy; urgency=low * A critical bug that would break configure-landscape is fixed. -- Jamshed Kakar Tue, 9 Oct 2007 21:10:02 +0000 landscape-client (0.12.0-gutsy1-landscape7) gutsy; urgency=low * Fixed typo in version string. -- Jamshed Kakar Sat, 6 Oct 2007 00:49:10 +0000 landscape-client (0.12.0-gutsy1-landscape6) gutsy; urgency=low * Updated Depends to require new smartpm-core 0.52 packages. -- Jamshed Kakar Fri, 5 Oct 2007 23:23:17 +0000 landscape-client (0.12.0-gutsy1-landscape5) gutsy; urgency=low * No upstream changes. New package build. -- Jamshed Kakar Thu, 4 Oct 2007 22:35:50 +0000 landscape-client (0.12.0-gutsy1-landscape4) gutsy; urgency=low * Updated package requires current version of smartpm-core. -- Jamshed Kakar Tue, 2 Oct 2007 21:37:56 +0000 landscape-client (0.11.0-gutsy1-landscape1) gutsy; urgency=low * The full command name for a process, where retrievable, is reported to the server instead of just the first 16 characters (#131878). * The historic process plugin, unused for months, has been removed (#134122). * A new landscape-message command-line program is available. It allows administrators to send messages from a console that end up in the account history (#125083). * The landscape-client.log file is now logrotated regularly (#78494). -- Jamshed Kakar Thu, 13 Sep 2007 00:05:43 +0000 landscape-client (0.10.15-gutsy1-landscape1) gutsy; urgency=low * THIS IS A TEST BUILD! * The full command name, where retrievable, is reported to the server instead of just the first 16 characters (#131878). * The historic process plugin, unused for months, has been removed (#134122). * A new landscape-message command-line program is available. It allows administrators to send messages from a console that end up in the account history (#125083). * The landscape-client.log file is now logrotated regularly (#78494). -- Jamshed Kakar Wed, 12 Sep 2007 22:48:19 +0000 landscape-client (0.10.12-1ubuntu1) feisty; urgency=low * New upstream release. * Package Depends updated to use new smartpm-0.51-landscape4 package. This makes the package installable on Ubuntu systems with only the main repository enabled. -- Landscape Team Tue, 7 Aug 2007 16:08:00 -0700 landscape-client (0.10.11-1ubuntu1) feisty; urgency=low * New upstream release. * A bug related to package dependency reporting that would cause two approvals for and upgrade package request has been fixed. * Errors with the ping server are logged clearly now. * A crashing postinit-related bug is fixed. -- Landscape Team Fri, 3 Aug 2007 19:15:00 -0700 landscape-client (0.10.10-1ubuntu1) feisty; urgency=low * New upstream release. * CA certificates are no longer hard-coded. The default set of CAs in the system are used instead. * The client connects to the server immediately when it detects changes in packages and users. This dramatically reduces the turn-around time of some operations. * The new user and group change detection reports detailed information to the server about changes made external to the client, such as by local users. * The client reports detailed information about the outcome of user and group operations. * The client has support for a new synchronization system. If either the server or client detect inconsistencies in the data they have they can request a synchronization to get back in sync. * The client has support to calculate and report package upgrades. * The hostname is reported when clients first register with the server. * A new configure-landscape script eases registration including automated and interactive registration modes. * The client includes VM size and sleep average in active process data. -- Landscape Team Thu, 28 Jun 2007 16:19:00 -0700 landscape-client (0.10.9-1ubuntu1) feisty; urgency=low * New upstream release. * Package depends on python-gdbm to install correctly on systems without it. -- Landscape Team Fri, 8 Jun 2007 11:02:00 -0700 landscape-client (0.10.8-1ubuntu1) feisty; urgency=low * New upstream release. * The changes that included the new configure-landscape helper script have been removed. They were not quite ready for release. * Added python-twisted-web to Debian package Depends to satisfy dependencies introduced by the new ping plugin. -- Landscape Team Thu, 7 Jun 2007 11:03:00 -0700 landscape-client (0.10.7-1ubuntu1) feisty; urgency=low * New upstream release. * Package depends on new smartpm-core package which installs correctly on dapper. -- Landscape Team Wed, 6 Jun 2007 10:37:00 -0700 landscape-client (0.10.6-1ubuntu1) feisty; urgency=low * New upstream release. * Mispelled smartpm-core version is fixed. -- Landscape Team Mon, 1 Jun 2007 10:48:00 -0700 landscape-client (0.10.5-1ubuntu1) feisty; urgency=low * New upstream release. * Mismatched operation status codes are fixed. -- Landscape Team Thu, 31 May 2007 15:36:00 -0700 landscape-client (0.10.4-1ubuntu1) feisty; urgency=low * New upstream release. * Links to a new version of smart with a fixed crontab entry. -- Landscape Team Tue, 22 May 2007 23:29:00 -0700 landscape-client (0.10.3-1ubuntu1) feisty; urgency=low * New upstream release. * A bug related to bpickle conversions with float-point values is fixed (#114829). -- Landscape Team Mon, 15 May 2007 16:31:00 -0700 landscape-client (0.10.2-1ubuntu1) feisty; urgency=low * New upstream release. * New package includes previously missing package management plugin. -- Landscape Team Fri, 11 May 2007 10:20:00 -0700 landscape-client (0.10.1-1ubuntu1) feisty; urgency=low * New upstream release. * Minor fix in package management plugin timings. -- Landscape Team Thu, 10 May 2007 10:00:00 -0700 landscape-client (0.10.0-1ubuntu1) feisty; urgency=low * New upstream release. * Basic package management operations are now supported. The client reports package information to the server and can install and/or remove packages. * The client uses the new operations system. Support for the now unused action info system is gone. * A minor bpickle bug was fixed. -- Jamshed Kakar Mon, 7 May 2007 20:16:00 -0700 landscape-client (0.9.6-1ubuntu1) feisty; urgency=low * New upstream release. * Bugs related to the handling of DBus types are fixed on feisty. -- Jamshed Kakar Fri, 13 Apr 2007 18:06:10 -0700 landscape-client (0.9.5-1ubuntu1) feisty; urgency=low * New upstream release. * Old-school and oddly formatted GECOS fields are handled correctly. -- Jamshed Kakar Thu, 30 Mar 2007 16:50:49 -0400 landscape-client (0.9.4-1ubuntu1) feisty; urgency=low * New upstream release. * Change architecture to all. -- Jamshed Kakar Thu, 30 Mar 2007 12:46:23 -0400 landscape-client (0.9.3-1ubuntu1) feisty; urgency=low * New upstream release. * Add override file. * Bump application and package versions. -- Jamshed Kakar Thu, 29 Mar 2007 17:21:50 -0400 landscape-client (0.9.2-1ubuntu1) feisty; urgency=low * Bump debhelper version. * Build-Depend on python-dev, lsb-release. * Pre-Depend on debconf | debconf-2.0. * Move ${python:Depends} to Depends. * Make the packaging compatible with dapper and newer distro releases. -- Matthias Klose Wed, 28 Mar 2007 21:21:20 +0200 landscape-client (0.9.2-1) unstable; urgency=low * New upstream release. * Really fixed package. -- Jamshed Kakar Tue, 21 Mar 2007 09:57:00 -0400 landscape-client (0.9.1-3) unstable; urgency=low * Really fixed package. -- Jamshed Kakar Tue, 20 Mar 2007 16:35:00 -0400 landscape-client (0.9.1-2) unstable; urgency=low * Fixed package. -- Jamshed Kakar Tue, 20 Mar 2007 16:25:00 -0400 landscape-client (0.9.1-1) unstable; urgency=low * New upstream release. * bpickle encoding format has changed in a non-backwards compatible way to fix float encoding-related problems. * API version updated to 2.0. -- Jamshed Kakar Tue, 20 Mar 2007 15:06:17 -0400 landscape-client (0.9.0-1) unstable; urgency=low * New upstream release. * Group-management related tasks such as add/remove member and create group are now supported. * Client reports hardware inventory information to the server. * Unicode handling with regards to the passwd file is improved. -- Jamshed Kakar Fri, 9 Mar 2007 16:04:51 -0800 landscape-client (0.8.1-1) unstable; urgency=low * New upstream release. * Account registration log message no longer exposes account password. -- Jamshed Kakar Thu, 18 Jan 2007 23:07:00 -0800 landscape-client (0.8.0-1) unstable; urgency=low * New upstream release. * Process monitoring logic stops trying to restart the client if too many restarts occur during a short period of time. * Client includes an SSL certificate to verify the server with. * Package depends on python2.4-pycurl, which is necessary for the new SSL support. -- Jamshed Kakar Thu, 18 Jan 2007 10:48:00 -0800 landscape-client (0.7.0-1) unstable; urgency=low * New upstream release. * Client can daemonize itself and perform basic process monitoring. * Client writes a useful log now. Command-line options have been added to control log verbosity. * Package depends on perl-modules, which is necessary for bare-bones server installs. -- Jamshed Kakar Tue, 2 Jan 2007 12:54:00 -0800 landscape-client (0.6.1-1) unstable; urgency=low * User management plugin handles extra Ubuntu user fields. -- Jamshed Kakar Thu, 15 Dec 2006 10:22:00 -0800 landscape-client (0.6.0-2) unstable; urgency=low * Reverted to deprecated build rule to fix package breakage on dapper. -- Jamshed Kakar Thu, 7 Dec 2006 10:54:00 -0800 landscape-client (0.6.0-1) unstable; urgency=low * New upstream release. * The active-process-info plugin provides server-controllable end/kill actions. * Messages are no longer delivered twice if a broken message gets into the message store. -- Jamshed Kakar Wed, 6 Dec 2006 14:47:00 -0800 landscape-client (0.5.0-1) unstable; urgency=low * New upstream release. * Client-to-server exchanges now happen in a thread to avoid blocking monitoring plugins. * Problems that caused slow client registration have been fixed. * The computer-info plugin now reports information about the distribution installed on a machine. -- Jamshed Kakar Fri, 10 Nov 2006 12:47:00 -0800 landscape-client (0.4.0-1) unstable; urgency=low * New upstream release. * Disk, load, memory/swap and temperature data is now reported at 300s-aligned intervals. * Improvements to registration system. * Improvements to plugin infrastructure. -- Jamshed Kakar Fri, 13 Oct 2006 09:25:00 -0300 landscape-client (0.3.0-1) unstable; urgency=low * New upstream release. * Major reorganization of client code. -- Christopher Armstrong Tue, 22 Aug 2006 09:56:00 -0400 landscape-client (0.2.5-1) unstable; urgency=low * New upstream release. * Fix a bug in the newly introduced client upgrade machinery. -- Christopher Armstrong Wed, 4 Aug 2006 10:45:00 -0500 landscape-client (0.2.4-1) unstable; urgency=low * New upstream release. * User management should now be working. -- Christopher Armstrong Wed, 3 Aug 2006 15:12:00 -0500 landscape-client (0.2.3-1) unstable; urgency=low * New upstream release. * Fixed a bug in the init script preventing landscape-client from starting after reboots. -- Christopher Armstrong Wed, 26 Jul 2006 15:47:00 -0500 landscape-client (0.2.2-1) unstable; urgency=low * New upstream release. -- Christopher Armstrong Thu, 6 Jul 2006 18:38:00 -0500 landscape-client (0.2.1-1) unstable; urgency=low * Added support for debconf. -- Gustavo Niemeyer Wed, 5 Jul 2006 14:13:25 -0300 landscape-client (0.2.0-1) unstable; urgency=low * Initial (internal) release. -- Christopher Armstrong Wed, 28 Jun 2006 14:32:30 -0500 landscape-client (0.1) dapper; urgency=low * Empty placeholder package -- Matt Zimmerman Fri, 26 May 2006 06:37:55 -0700 debian/landscape-client.init0000664000000000000000000000620212272022503013256 0ustar #!/bin/sh ### BEGIN INIT INFO # Provides: landscape-client # Required-Start: $local_fs $remote_fs # Required-Stop: $local_fs $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Landscape client daemons # Description: The Landscape client daemons are needed so the # Landscape server can manage a computer. ### END INIT INFO LANDSCAPE_DEFAULTS=/etc/default/landscape-client NAME=landscape-client DAEMON=/usr/bin/$NAME PIDDIR=/var/run/landscape SOCKETDIR=/var/lib/landscape/client/sockets PIDFILE=$PIDDIR/$NAME.pid RUN=0 # overridden in /etc/default/landscape-client CLOUD=0 # overridden in /etc/default/landscape-client DAEMON_GROUP=landscape export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" [ -f $DAEMON ] || exit 0 . /lib/lsb/init-functions [ -f $LANDSCAPE_DEFAULTS ] && . $LANDSCAPE_DEFAULTS check_config () { # This $RUN check should match the semantics of # l.sysvconfig.SysVConfig.is_configured_to_run. if [ $RUN -eq 0 ]; then if [ $CLOUD -eq 1 ]; then if landscape-is-cloud-managed; then # Install the cloud default configuration file cp /usr/share/landscape/cloud-default.conf /etc/landscape/client.conf # Override default file for not going in this conditional again at # next startup sed -i "s/^RUN=.*/RUN=1/" $LANDSCAPE_DEFAULTS if ! grep -q "^RUN=" $LANDSCAPE_DEFAULTS; then echo "RUN=1" >> $LANDSCAPE_DEFAULTS fi else echo "$NAME is not configured, please run landscape-config." exit 0 fi else echo "$NAME is not configured, please run landscape-config." exit 0 fi fi } case "$1" in start) check_config log_daemon_msg "Starting the $NAME daemon" if [ ! -e $PIDDIR ]; then mkdir $PIDDIR chown landscape $PIDDIR fi # Cleanup leftover sockets if there's no other landscape process # running. This shouldn't be usually necessary, but it can # happen in case the client crashed badly and the socket points # to a process with the same PID. if [ -d "${SOCKETDIR:?}" ]; then if ! pidofproc -p "$PIDFILE" "$DAEMON" > /dev/null; then find "${SOCKETDIR:?}" -maxdepth 1 -type s -print0 | xargs -r0 rm -f find "${SOCKETDIR:?}" -maxdepth 1 -type l -print0 | xargs -r0 rm -f fi fi FULL_COMMAND="start-stop-daemon --start --quiet --oknodo --startas $DAEMON --pidfile $PIDFILE -g $DAEMON_GROUP -- --daemon --pid-file $PIDFILE" if [ x"$DAEMON_USER" != x ]; then sudo -u $DAEMON_USER $FULL_COMMAND else $FULL_COMMAND fi log_end_msg $? ;; stop) log_daemon_msg "Stopping $NAME daemon" start-stop-daemon --retry 30 --stop --quiet --pidfile $PIDFILE log_end_msg $? ;; status) # We want to maintain backward compatibility with Dapper, # so we're not going to use status_of_proc() pidofproc -p $PIDFILE $DAEMON >/dev/null status=$? if [ $status -eq 0 ]; then log_success_msg "$NAME is running" else log_failure_msg "$NAME is not running" fi exit $status ;; restart|force-reload) $0 stop && $0 start ;; *) echo "Usage: $0 {start|stop|status|restart|force-reload}" exit 1 ;; esac exit 0 debian/landscape-common.config0000775000000000000000000000021512272022503013573 0ustar #!/bin/sh PACKAGE=landscape-common set -e . /usr/share/debconf/confmodule # Ask questions. db_input medium $PACKAGE/sysinfo || true db_go debian/landscape-client.install0000664000000000000000000000057212272022503013765 0ustar usr/bin/landscape-broker usr/bin/landscape-client usr/bin/landscape-config usr/bin/landscape-manager usr/bin/landscape-message usr/bin/landscape-monitor usr/bin/landscape-package-changer usr/bin/landscape-package-reporter usr/bin/landscape-release-upgrader usr/bin/landscape-is-cloud-managed usr/bin/landscape-dbus-proxy usr/share/landscape/cloud-default.conf usr/lib/landscape debian/landscape-client-ui.install0000664000000000000000000000113712272022503014376 0ustar usr/bin/landscape-client-settings-mechanism usr/bin/landscape-client-registration-mechanism usr/bin/landscape-client-settings-ui usr/share/dbus-1/system-services/com.canonical.LandscapeClientSettings.service usr/share/dbus-1/system-services/com.canonical.LandscapeClientRegistration.service usr/share/polkit-1/actions/com.canonical.LandscapeClientSettings.policy etc/dbus-1/system.d/com.canonical.LandscapeClientSettings.conf etc/dbus-1/system.d/com.canonical.LandscapeClientRegistration.conf etc/dbus-1/system.d/landscape.conf usr/share/glib-2.0/schemas/com.canonical.landscape-client-settings.gschema.xml debian/landscape-common.manpages0000664000000000000000000000003012272022503014111 0ustar man/landscape-sysinfo.1 debian/landscape-client.postrm0000664000000000000000000000241512272022503013641 0ustar #!/bin/sh set -e # summary of how this script can be called: # * `remove' # * `purge' # * `upgrade' # * `failed-upgrade' # * `abort-install' # * `abort-install' # * `abort-upgrade' # * `disappear' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package case "$1" in purge) LOG_DIR=/var/log/landscape DATA_DIR=/var/lib/landscape rm -f "/etc/default/landscape-client" rm -f "${LOG_DIR}/manager.log"* rm -f "${LOG_DIR}/monitor.log"* rm -f "${LOG_DIR}/broker.log"* rm -f "${LOG_DIR}/watchdog.log"* rm -f "${LOG_DIR}/package-reporter.log"* rm -f "${LOG_DIR}/package-changer.log"* rm -rf "${DATA_DIR}/client" rm -rf "${DATA_DIR}/.gnupg" ;; remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear) ;; *) echo "postrm called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0 debian/landscape-sysinfo.wrapper0000664000000000000000000000061512272022503014211 0ustar #!/bin/sh cores=$(grep -c ^processor /proc/cpuinfo 2>/dev/null) [ "$cores" -eq "0" ] && cores=1 threshold="${cores:-1}.0" if [ $(echo "`cut -f1 -d ' ' /proc/loadavg` < $threshold" | bc) -eq 1 ]; then echo echo -n " System information as of " /bin/date echo /usr/bin/landscape-sysinfo else echo echo " System information disabled due to load higher than $threshold" fi debian/landscape-client.postinst0000664000000000000000000001154412272022503014203 0ustar #!/bin/sh set -e # summary of how this script can be called: # * `configure' # * `abort-upgrade' # * `abort-remove' `in-favour' # # * `abort-remove' # * `abort-deconfigure' `in-favour' # `removing' # # for details, see http://www.debian.org/doc/debian-policy/ or # the debian-policy package . /usr/share/debconf/confmodule trap "db_stop || true" EXIT HUP INT QUIT TERM PACKAGE=landscape-client # Use the default installed Python. Running just "python" might run # something from /usr/local/bin, which doesn't necessarily support # running the landscape client. PYTHON=/usr/bin/python case "$1" in configure) CONFIG_FILE=/etc/landscape/client.conf if [ ! -f $CONFIG_FILE ]; then # Create new configuration, with private mode TEMPFILE=$(mktemp -p /etc/landscape) cat > $TEMPFILE </dev/null 2>&1; then dpkg-statoverride --remove $smart_update fi # Add the setuid flag to apt-update, and make it be executable by # users in the landscape group (that normally means landscape itself) apt_update=/usr/lib/landscape/apt-update if ! dpkg-statoverride --list $apt_update >/dev/null 2>&1; then dpkg-statoverride --update --add root landscape 4754 $apt_update fi # Remove old cron jobs old_cron_job=/etc/cron.hourly/landscape-client if [ -e $old_cron_job ]; then rm $old_cron_job fi very_old_cron_job=/etc/cron.hourly/smartpm-core if [ -e $very_old_cron_job ]; then rm $very_old_cron_job fi # Check if we're upgrading from a D-Bus version like the client in the # lucid archives. if ! [ -z $2 ]; then if dpkg --compare-versions $2 lt 1.5.1; then # Launch a proxy service that will forward requests over DBus # from the old package-changer to the new AMP-based broker. This # is a one-off only needed for the DBus->AMP upgrade start-stop-daemon -x /usr/bin/landscape-dbus-proxy -b -c landscape -u landscape -S fi fi ;; abort-upgrade|abort-remove|abort-deconfigure) ;; *) echo "postinst called with unknown argument \`$1'" >&2 exit 1 ;; esac # dh_installdeb will replace this with shell code automatically # generated by other debhelper scripts. #DEBHELPER# exit 0