Log message for revision 129494: Moved to github Changed: D zdaemon/trunk/CHANGES.txt D zdaemon/trunk/COPYRIGHT.txt D zdaemon/trunk/LICENSE.txt D zdaemon/trunk/MANIFEST.in A zdaemon/trunk/MOVED_TO_GITHUB D zdaemon/trunk/README.txt D zdaemon/trunk/bootstrap.py D zdaemon/trunk/buildout.cfg D zdaemon/trunk/setup.py D zdaemon/trunk/src/ D zdaemon/trunk/tox.ini
-=- Deleted: zdaemon/trunk/CHANGES.txt =================================================================== --- zdaemon/trunk/CHANGES.txt 2013-02-20 01:13:40 UTC (rev 129493) +++ zdaemon/trunk/CHANGES.txt 2013-02-20 01:29:46 UTC (rev 129494) @@ -1,271 +0,0 @@ -========== -Change log -========== - -4.0.0 (unreleased) -================== - -- Nothing changed yet. - - -4.0.0a1 (2013-02-15) -==================== - -- Added tox support and MANIFEST.in for proper releasing. - -- Added Python 3.3 support. - -- Drop Python 2.4 and 2.5 support. - -3.0.5 (2012-11-27) -================== - -- Fixed: the status command didn't return a non-zero exit status when - the program wasn't running. This made it impossible for other - software (e.g. Puppet) to tell if a process was running. - -3.0.4 (2012-07-30) -================== - -- Fixed: The start command exited with a zero exit status even when - the program being started failed to start (or exited imediately). - -3.0.3 (2012-07-10) -================== - -- Fixed: programs started with zdaemon couldn't, themselves, invoke - zdaemon. - -3.0.2 (2012-07-10) -================== - -Fail :( - -3.0.1 (2012-06-08) -================== - -- Fixed: - - The change in 2.0.6 to set a user's supplemental groups broke common - configurations in which the effective user was set via ``su`` or - ``sudo -u`` prior to invoking zdaemon. - - Now, zdaemon doesn't set groups or the effective user if the - effective user is already set to the configured user. - -3.0.0 (2012-06-08) -================== - -- Added an option, ``start-test-program`` to supply a test command to - test whether the program managed by zdaemon is up and operational, - rather than just running. When starting a program, the start - command doesn't return until the test passes. You could, for - example, use this to wait until a web server is actually accepting - connections. - -- Added a ``start-timeout`` option to error if a program takes too long to - start. This is especially useful in combination with the - ``start-test-program`` option. - -- Added an option, stop-timeout, to control how long to wait - for a graceful shutdown. - - Previously, this was controlled by backoff-limit, which didn't make - much sense. - -- Several undocumented, untested, and presumably unused features were removed. - -2.0.6 (2012-06-07) -================== - -- Fixed: When the ``user`` option was used to run as a particular - user, supplemental groups weren't set to the user's supplemental - groups. - -2.0.5 (2012-06-07) -================== - -(Accidental release. Please ignore.) - -2.0.4 (2009-04-20) -================== - -- Version 2.0.3 broke support for relative paths to the socket (``-s`` - option and ``socket-name`` parameter), now relative paths work again - as in version 2.0.2. - -- Fixed change log format, made table of contents nicer. - -- Fixed author's email address. - -- Removed zpkg stuff. - - -2.0.3 (2009-04-11) -================== - -- Added support to bootstrap on Jython. - -- If the run directory does not exist it will be created. This allow to use - `/var/run/mydaemon` as run directory when /var/run is a tmpfs (LP #318118). - -Bugs Fixed ----------- - -- No longer uses a hard-coded file name (/tmp/demo.zdsock) in unit tests. - This lets you run the tests on Python 2.4 and 2.5 simultaneously without - spurious errors. - -- make -h work again for both runner and control scripts. - Help is now taken from the __doc__ of the options class users by - the zdaemon script being run. - -2.0.2 (2008-04-05) -================== - -Bugs Fixed ----------- - -- Fixed backwards incompatible change in handling of environment option. - -2.0.1 (2007-10-31) -================== - -Bugs Fixed ----------- - -- Fixed test renormalizer that did not work in certain cases where the - environment was complex. - -2.0.0 (2007-07-19) -================== - -- Final release for 2.0.0. - -2.0a6 (2007-01-11) -================== - -Bugs Fixed ----------- - -- When the user option was used, it only affected running the daemon. - -2.0a3, 2.0a4, 2.0a5 (2007-01-10) -================================ - -Bugs Fixed ----------- - -- The new (2.0) mechanism used by zdaemon to start the daemon manager - broke some applications that extended zdaemon. - -- Added extra checks to deal with programs that extend zdaemon - and copy the schema and thus don't see updates to the ZConfig schema. - -2.0a2 (2007-01-10) -================== - -New Features ------------- - -- Added support for setting environment variables in the configuration - file. This is useful when zdaemon is used to run programs that need - environment variables set (e.g. LD_LIBRARY_PATH). - -- Added a command to rotate the transcript log. - -2.0a1 (2006-12-21) -================== - -Bugs Fixed ----------- - -- In non-daemon mode, start hung, producing annoying dots - when the program exited. - -- The start command hung producing annoying dots if the daemon failed - to start. - -- foreground and start had different semantics because one used - os.system and another used os.spawn - -New Features ------------- - -- Documentation - -- Command-line arguments can now be supplied to the start and - foreground (fg) commands - -- zdctl now invokes itself to run zdrun. This means that it's - no-longer necessary to generate a separate zdrun script. This - especially when the magic techniques to find and run zdrun using - directory sniffing fail to set the path correctly. - -- The daemon mode is now enabled by default. To get non-daemon mode, - you have to use a configuration file and set daemon to off - there. The old -d option is kept for backward compatibility, but is - a no-op. - -1.4a1 (2005-11-21) -================== - -- Fixed a bug in the distribution setup file. - -1.4a1 (2005-11-05) -================== - -- First semi-formal release. - -After some unknown release(???) -=============================== - -- Made 'zdaemon.zdoptions' not fail for --help when __main__.__doc__ - is None. - -After 1.1 -========= - -- Updated test 'testRunIgnoresParentSignals': - - o Use 'mkdtemp' to create a temporary directory to hold the test socket - rather than creating the test socket in the test directory. - Hopefully this will be more robust. Sometimes the test directory - has a path so long that the test socket can't be created. - - o Changed management of 'donothing.sh'. This script is now created by - the test in the temporarily directory with the necessary - permissions. This is to avoids possible mangling of permissions - leading to spurious test failures. It also avoids management of a - file in the source tree, which is a bonus. - -- Rearranged source tree to conform to more usual zpkg-based layout: - - o Python package lives under 'src'. - - o Dependencies added to 'src' as 'svn:externals'. - - o Unit tests can now be run from a checkout. - -- Made umask-based test failures due to running as root emit a more - forceful warning. - -1.1 (2005-06-09) -================ - -- SVN tag: svn://svn.zope.org/repos/main/zdaemon/tags/zdaemon-1.1 - -- Tagged to make better 'svn:externals' linkage possible. - -To-Dos -====== - -More docs: - -- Document/demonstrate some important features, such as: - - - working directory - -Bugs: - -- help command Deleted: zdaemon/trunk/COPYRIGHT.txt =================================================================== --- zdaemon/trunk/COPYRIGHT.txt 2013-02-20 01:13:40 UTC (rev 129493) +++ zdaemon/trunk/COPYRIGHT.txt 2013-02-20 01:29:46 UTC (rev 129494) @@ -1 +0,0 @@ -Zope Foundation and Contributors \ No newline at end of file Deleted: zdaemon/trunk/LICENSE.txt =================================================================== --- zdaemon/trunk/LICENSE.txt 2013-02-20 01:13:40 UTC (rev 129493) +++ zdaemon/trunk/LICENSE.txt 2013-02-20 01:29:46 UTC (rev 129494) @@ -1,44 +0,0 @@ -Zope Public License (ZPL) Version 2.1 - -A copyright notice accompanies this license document that identifies the -copyright holders. - -This license has been certified as open source. It has also been designated as -GPL compatible by the Free Software Foundation (FSF). - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - -1. Redistributions in source code must retain the accompanying copyright -notice, this list of conditions, and the following disclaimer. - -2. Redistributions in binary form must reproduce the accompanying copyright -notice, this list of conditions, and the following disclaimer in the -documentation and/or other materials provided with the distribution. - -3. Names of the copyright holders must not be used to endorse or promote -products derived from this software without prior written permission from the -copyright holders. - -4. The right to distribute this software or to use it for any purpose does not -give you the right to use Servicemarks (sm) or Trademarks (tm) of the -copyright -holders. Use of them is covered by separate agreement with the copyright -holders. - -5. If any files are modified, you must cause the modified files to carry -prominent notices stating that you changed the files and the date of any -change. - -Disclaimer - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY EXPRESSED -OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO -EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY DIRECT, INDIRECT, -INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT -LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR -PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF -LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING -NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, -EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. Deleted: zdaemon/trunk/MANIFEST.in =================================================================== --- zdaemon/trunk/MANIFEST.in 2013-02-20 01:13:40 UTC (rev 129493) +++ zdaemon/trunk/MANIFEST.in 2013-02-20 01:29:46 UTC (rev 129494) @@ -1,9 +0,0 @@ -include *.rst -include *.txt -include tox.ini -include bootstrap.py -include buildout.cfg - -recursive-include src * - -global-exclude *.pyc Added: zdaemon/trunk/MOVED_TO_GITHUB =================================================================== --- zdaemon/trunk/MOVED_TO_GITHUB (rev 0) +++ zdaemon/trunk/MOVED_TO_GITHUB 2013-02-20 01:29:46 UTC (rev 129494) @@ -0,0 +1 @@ +See https://github.com/zopefoundation/zdaemon Deleted: zdaemon/trunk/README.txt =================================================================== --- zdaemon/trunk/README.txt 2013-02-20 01:13:40 UTC (rev 129493) +++ zdaemon/trunk/README.txt 2013-02-20 01:29:46 UTC (rev 129494) @@ -1,8 +0,0 @@ -***************************************************** -``zdaemon`` process controller for Unix-based systems -***************************************************** - -``zdaemon`` is a Unix (Unix, Linux, Mac OS X) Python program that wraps -commands to make them behave as proper daemons. - -.. contents:: Deleted: zdaemon/trunk/bootstrap.py =================================================================== --- zdaemon/trunk/bootstrap.py 2013-02-20 01:13:40 UTC (rev 129493) +++ zdaemon/trunk/bootstrap.py 2013-02-20 01:29:46 UTC (rev 129494) @@ -1,165 +0,0 @@ -############################################################################## -# -# Copyright (c) 2006 Zope Foundation and Contributors. -# All Rights Reserved. -# -# This software is subject to the provisions of the Zope Public License, -# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED -# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS -# FOR A PARTICULAR PURPOSE. -# -############################################################################## -"""Bootstrap a buildout-based project - -Simply run this script in a directory containing a buildout.cfg. -The script accepts buildout command-line options, so you can -use the -c option to specify an alternate configuration file. -""" - -import os, shutil, sys, tempfile -from optparse import OptionParser - -tmpeggs = tempfile.mkdtemp() - -usage = '''\ -[DESIRED PYTHON FOR BUILDOUT] bootstrap.py [options] - -Bootstraps a buildout-based project. - -Simply run this script in a directory containing a buildout.cfg, using the -Python that you want bin/buildout to use. - -Note that by using --setup-source and --download-base to point to -local resources, you can keep this script from going over the network. -''' - -parser = OptionParser(usage=usage) -parser.add_option("-v", "--version", help="use a specific zc.buildout version") - -parser.add_option("-t", "--accept-buildout-test-releases", - dest='accept_buildout_test_releases', - action="store_true", default=False, - help=("Normally, if you do not specify a --version, the " - "bootstrap script and buildout gets the newest " - "*final* versions of zc.buildout and its recipes and " - "extensions for you. If you use this flag, " - "bootstrap and buildout will get the newest releases " - "even if they are alphas or betas.")) -parser.add_option("-c", "--config-file", - help=("Specify the path to the buildout configuration " - "file to be used.")) -parser.add_option("-f", "--find-links", - help=("Specify a URL to search for buildout releases")) - - -options, args = parser.parse_args() - -###################################################################### -# load/install distribute - -to_reload = False -try: - import pkg_resources, setuptools - if not hasattr(pkg_resources, '_distribute'): - to_reload = True - raise ImportError -except ImportError: - ez = {} - - try: - from urllib.request import urlopen - except ImportError: - from urllib2 import urlopen - - exec(urlopen('http://python-distribute.org/distribute_setup.py').read(), ez) - setup_args = dict(to_dir=tmpeggs, download_delay=0, no_fake=True) - ez['use_setuptools'](**setup_args) - - if to_reload: - reload(pkg_resources) - import pkg_resources - # This does not (always?) update the default working set. We will - # do it. - for path in sys.path: - if path not in pkg_resources.working_set.entries: - pkg_resources.working_set.add_entry(path) - -###################################################################### -# Install buildout - -ws = pkg_resources.working_set - -cmd = [sys.executable, '-c', - 'from setuptools.command.easy_install import main; main()', - '-mZqNxd', tmpeggs] - -find_links = os.environ.get( - 'bootstrap-testing-find-links', - options.find_links or - ('http://downloads.buildout.org/' - if options.accept_buildout_test_releases else None) - ) -if find_links: - cmd.extend(['-f', find_links]) - -distribute_path = ws.find( - pkg_resources.Requirement.parse('distribute')).location - -requirement = 'zc.buildout' -version = options.version -if version is None and not options.accept_buildout_test_releases: - # Figure out the most recent final version of zc.buildout. - import setuptools.package_index - _final_parts = '*final-', '*final' - def _final_version(parsed_version): - for part in parsed_version: - if (part[:1] == '*') and (part not in _final_parts): - return False - return True - index = setuptools.package_index.PackageIndex( - search_path=[distribute_path]) - if find_links: - index.add_find_links((find_links,)) - req = pkg_resources.Requirement.parse(requirement) - if index.obtain(req) is not None: - best = [] - bestv = None - for dist in index[req.project_name]: - distv = dist.parsed_version - if _final_version(distv): - if bestv is None or distv > bestv: - best = [dist] - bestv = distv - elif distv == bestv: - best.append(dist) - if best: - best.sort() - version = best[-1].version -if version: - requirement = '=='.join((requirement, version)) -cmd.append(requirement) - -import subprocess -if subprocess.call(cmd, env=dict(os.environ, PYTHONPATH=distribute_path)) != 0: - raise Exception( - "Failed to execute command:\n%s", - repr(cmd)[1:-1]) - -###################################################################### -# Import and run buildout - -ws.add_entry(tmpeggs) -ws.require(requirement) -import zc.buildout.buildout - -if not [a for a in args if '=' not in a]: - args.append('bootstrap') - -# if -c was provided, we push it back into args for buildout' main function -if options.config_file is not None: - args[0:0] = ['-c', options.config_file] - -zc.buildout.buildout.main(args) -shutil.rmtree(tmpeggs) Deleted: zdaemon/trunk/buildout.cfg =================================================================== --- zdaemon/trunk/buildout.cfg 2013-02-20 01:13:40 UTC (rev 129493) +++ zdaemon/trunk/buildout.cfg 2013-02-20 01:29:46 UTC (rev 129494) @@ -1,25 +0,0 @@ -[buildout] -develop = . - ../ZConfig -parts = test scripts coverage-test - coverage-report - -[test] -recipe = zc.recipe.testrunner -eggs = zdaemon [test] - -[coverage-test] -recipe = zc.recipe.testrunner -eggs = ${test:eggs} -defaults = ['--coverage', '${buildout:directory}/coverage'] - -[coverage-report] -recipe = zc.recipe.egg -eggs = z3c.coverage -scripts = coveragereport=coverage-report -arguments = ('${buildout:directory}/coverage', - '${buildout:directory}/coverage/report') - -[scripts] -recipe = zc.recipe.egg -eggs = zdaemon Deleted: zdaemon/trunk/setup.py =================================================================== --- zdaemon/trunk/setup.py 2013-02-20 01:13:40 UTC (rev 129493) +++ zdaemon/trunk/setup.py 2013-02-20 01:29:46 UTC (rev 129494) @@ -1,95 +0,0 @@ -############################################################################## -# -# Copyright (c) 2006-2009 Zope Foundation and Contributors. -# All Rights Reserved. -# -# This software is subject to the provisions of the Zope Public License, -# Version 2.1 (ZPL). A copy of the ZPL should accompany this distribution. -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY AND ALL EXPRESS OR IMPLIED -# WARRANTIES ARE DISCLAIMED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -# WARRANTIES OF TITLE, MERCHANTABILITY, AGAINST INFRINGEMENT, AND FITNESS -# FOR A PARTICULAR PURPOSE. -# -############################################################################## -import os - -tests_require = ['zope.testing', 'zope.testrunner', 'manuel', 'mock', - 'zc.customdoctests'] - - -entry_points = """ -[console_scripts] -zdaemon = zdaemon.zdctl:main -""" - -def read(*rnames): - return open(os.path.join(os.path.dirname(__file__), *rnames)).read() - -def alltests(): - import os - import sys - import unittest - # use the zope.testrunner machinery to find all the - # test suites we've put under ourselves - import zope.testrunner.find - import zope.testrunner.options - here = os.path.abspath(os.path.join(os.path.dirname(__file__), 'src')) - args = sys.argv[:] - defaults = ["--test-path", here] - options = zope.testrunner.options.get_options(args, defaults) - suites = list(zope.testrunner.find.find_suites(options)) - return unittest.TestSuite(suites) - -try: - from setuptools import setup - setuptools_options = dict( - zip_safe=False, - entry_points=entry_points, - include_package_data = True, - install_requires=["ZConfig"], - extras_require=dict(test=tests_require), - test_suite='__main__.alltests', - tests_require=tests_require - ) -except ImportError: - from distutils.core import setup - setuptools_options = {} - -setup( - name="zdaemon", - version='4.0.0.dev0', - url="http://www.python.org/pypi/zdaemon", - license="ZPL 2.1", - description= - "Daemon process control library and tools for Unix-based systems", - author="Zope Foundation and Contributors", - author_email="zope-...@zope.org", - long_description=( - read('README.txt') - + '\n' + - read('src/zdaemon/README.txt') - + '\n' + - read('CHANGES.txt') - + '\n' + - '========\n' + - 'Download\n' + - '========\n' - ), - packages=["zdaemon", "zdaemon.tests"], - package_dir={"": "src"}, - classifiers = [ - 'Intended Audience :: Developers', - 'Intended Audience :: System Administrators', - 'License :: OSI Approved :: Zope Public License', - 'Programming Language :: Python', - 'Programming Language :: Python :: 2', - 'Programming Language :: Python :: 2.6', - 'Programming Language :: Python :: 2.7', - 'Programming Language :: Python :: 3', - 'Programming Language :: Python :: 3.3', - 'Programming Language :: Python :: Implementation :: CPython', - 'Operating System :: POSIX', - 'Topic :: Utilities', - ], - - **setuptools_options) Deleted: zdaemon/trunk/tox.ini =================================================================== --- zdaemon/trunk/tox.ini 2013-02-20 01:13:40 UTC (rev 129493) +++ zdaemon/trunk/tox.ini 2013-02-20 01:29:46 UTC (rev 129494) @@ -1,30 +0,0 @@ -[tox] -envlist = py26,py27,py33 - -[testenv] -commands = - python setup.py test -q -# without explicit deps, setup.py test will download a bunch of eggs into $PWD -deps = - zc.customdoctests - zope.testing - zope.testrunner - manuel - mock - - -[testenv:coverage] -basepython = - python2.7 -commands = -# The installed version messes up nose's test discovery / coverage reporting -# So, we uninstall that from the environment, and then install the editable -# version, before running nosetests. - pip uninstall -y zdaemon - pip install -e . - nosetests --with-xunit --with-xcoverage -deps = - {[testenv]deps} - nose - coverage - nosexcover _______________________________________________ Zope-Checkins maillist - Zope-Checkins@zope.org https://mail.zope.org/mailman/listinfo/zope-checkins