# HG changeset patch # User David Douard # Date 1479201227 -3600 # Node ID e8be49ecb522d60627e8bdbeaf5c635a8c5bd35a # Parent d1fbe53885e90482212dc87d617e26d98e2b4186 [debian] Update debian packaging (closes #16133259) - use dh_python, pybuild and debhelper>=9, - refactor and simplify the debian/rules, - rename binary packages (but cubicweb-ctl) to python-xxx - remove daemon handling stuff (initscripts...) from cubicweb-ctl (one should now use a standard WSGI delivery method), diff -r d1fbe53885e9 -r e8be49ecb522 MANIFEST.in --- a/MANIFEST.in Thu Nov 17 16:03:02 2016 +0100 +++ b/MANIFEST.in Tue Nov 15 10:13:47 2016 +0100 @@ -9,6 +9,7 @@ include bin/cubicweb-* include man/cubicweb-ctl.1 +recursive-include extras *.bash_completion include doc/*.rst include doc/*.txt diff -r d1fbe53885e9 -r e8be49ecb522 debian/changelog --- a/debian/changelog Thu Nov 17 16:03:02 2016 +0100 +++ b/debian/changelog Tue Nov 15 10:13:47 2016 +0100 @@ -1,3 +1,20 @@ +cubicweb (3.24.1-1) UNRELEASED; urgency=medium + + * New upstream release. + + * Rename binary packages to python-xxx (but cubicweb-ctl). + + * New python-cubicweb-pyramid binary package. + + * Remove cubicweb-mysql-support. + + * Use dh_python and pybuild. + + * Remove all daemon-related stuff from cubicweb-ctl package (since a + CubicWeb application should now be managed by a WSGI server). + + -- David Douard Mon, 14 Nov 2016 17:34:06 +0100 + cubicweb (3.24.0-1) unstable; urgency=medium * New upstream release. diff -r d1fbe53885e9 -r e8be49ecb522 debian/compat --- a/debian/compat Thu Nov 17 16:03:02 2016 +0100 +++ b/debian/compat Tue Nov 15 10:13:47 2016 +0100 @@ -1,1 +1,1 @@ -7 +9 diff -r d1fbe53885e9 -r e8be49ecb522 debian/control --- a/debian/control Thu Nov 17 16:03:02 2016 +0100 +++ b/debian/control Tue Nov 15 10:13:47 2016 +0100 @@ -3,12 +3,15 @@ Priority: optional Maintainer: Logilab S.A. Uploaders: Sylvain Thenault , - Adrien Di Mascio , - Nicolas Chauvat + David Douard , Build-Depends: - debhelper (>= 7), - python (>= 2.6), + debhelper (>= 9), + dh-python, + dh-systemd, + python-all, + python-setuptools, python-six (>= 1.4.0), + python-docutils, python-sphinx, python-logilab-common (>= 1.2.2), python-unittest2, @@ -20,21 +23,27 @@ python-lxml, python-setuptools, python-pyramid, + python-pyramid-multiauth, python-waitress, -Standards-Version: 3.9.1 + python-passlib, + python-wsgicors, + sphinx-common, +Standards-Version: 3.9.6 Homepage: https://www.cubicweb.org -X-Python-Version: >= 2.6 +X-Python-Version: >= 2.7 + -Package: cubicweb +Package: python-cubicweb Architecture: all +Replaces: cubicweb (<< 3.24.0-1~) +Breaks: cubicweb (<< 3.24.0-1~) +Provides: cubicweb Depends: - ${misc:Depends}, - ${python:Depends}, - cubicweb-server (= ${source:Version}), - cubicweb-twisted (= ${source:Version}) + cubicweb-ctl (= ${source:Version}), + python-cubicweb-server (= ${source:Version}), + python-cubicweb-pyramid (= ${source:Version}), Recommends: - postgresql - | mysql + python-cubicweb-postgresql-support (= ${source:Version}) | sqlite3 Description: the complete CubicWeb framework CubicWeb is a semantic web application framework. @@ -43,26 +52,27 @@ single machine. You can also deploy cubicweb by running the different process on different computers, in which case you need to install the corresponding packages on the different hosts. + -Package: cubicweb-server +Package: python-cubicweb-server Architecture: all Conflicts: - cubicweb-multisources -Replaces: cubicweb-multisources -Provides: cubicweb-multisources + cubicweb-multisources, +Replaces: cubicweb-server (<< 3.24.0-1~) +Breaks: cubicweb-server (<< 3.24.0-1~) +Provides: cubicweb-server Depends: ${misc:Depends}, ${python:Depends}, - cubicweb-common (= ${source:Version}), cubicweb-ctl (= ${source:Version}), + python-cubicweb-common (= ${source:Version}), + python-cubicweb-postgresql-support + | python-pysqlite2, python-logilab-database (>= 1.15.0), - cubicweb-postgresql-support - | cubicweb-mysql-support - | python-pysqlite2, python-passlib, python-tz, Recommends: - cubicweb-documentation (= ${source:Version}), + python-cubicweb-documentation (= ${source:Version}), Suggests: python-zmq, python-cwclientlib (>= 0.4.0), @@ -74,9 +84,13 @@ This package provides the repository server part of the library and necessary shared data files such as the schema library. -Package: cubicweb-postgresql-support + +Package: python-cubicweb-postgresql-support Architecture: all # postgresql-client packages for backup/restore of non local database +Replaces: cubicweb-postgresql-support (<< 3.24.0-1~) +Breaks: cubicweb-postgresql-support (<< 3.24.0-1~) +Provides: cubicweb-postgresql-support Depends: ${misc:Depends}, ${python:Depends}, @@ -88,32 +102,22 @@ This virtual package provides dependencies to use postgres for the cubicweb repository. -Package: cubicweb-mysql-support + +Package: python-cubicweb-twisted Architecture: all -# mysql-client packages for backup/restore of non local database +Replaces: cubicweb-twisted (<< 3.24.0-1~) +Breaks: cubicweb-twisted (<< 3.24.0-1~) +Provides: + cubicweb-server, + cubicweb-web-frontend, Depends: ${misc:Depends}, ${python:Depends}, - python-mysqldb, - mysql-client -Description: mysql support for the CubicWeb framework - CubicWeb is a semantic web application framework. - . - This virtual package provides dependencies to use mysql for the - cubicweb repository. - - -Package: cubicweb-twisted -Architecture: all -Provides: cubicweb-web-frontend -Depends: - ${misc:Depends}, - ${python:Depends}, - cubicweb-web (= ${source:Version}), cubicweb-ctl (= ${source:Version}), + python-cubicweb-web (= ${source:Version}), python-twisted-web (<< 16.0.0), Recommends: - cubicweb-documentation (= ${source:Version}) + python-cubicweb-documentation (= ${source:Version}) Description: twisted-based web interface for the CubicWeb framework CubicWeb is a semantic web application framework. . @@ -123,13 +127,13 @@ This package provides only the twisted server part of the library. -Package: cubicweb-pyramid +Package: python-cubicweb-pyramid Architecture: all Depends: ${misc:Depends}, ${python:Depends}, - cubicweb-web (= ${source:Version}), cubicweb-ctl (= ${source:Version}), + python-cubicweb-web (= ${source:Version}), python-pyramid (>= 1.5.0), python-pyramid-multiauth, python-waitress (>= 0.8.9), @@ -147,12 +151,19 @@ It prefigures what CubicWeb 4.0 will be. -Package: cubicweb-web +Package: python-cubicweb-web Architecture: all +Provides: cubicweb-web +Replaces: cubicweb-web (<< 3.24.0-1~) +Breaks: + cubicweb-inlinedit (<< 1.1.1), + cubicweb-bootstrap (<< 0.6.6), + cubicweb-folder (<< 1.10.0), + cubicweb-web (<< 3.24.0-1~), Depends: ${misc:Depends}, ${python:Depends}, - cubicweb-common (= ${source:Version}), + python-cubicweb-common (= ${source:Version}), Recommends: python-docutils (>= 0.6), python-vobject, @@ -161,10 +172,6 @@ python-imaging, python-rdflib, python-werkzeug, -Breaks: - cubicweb-inlinedit (<< 1.1.1), - cubicweb-bootstrap (<< 0.6.6), - cubicweb-folder (<< 1.10.0), Description: web interface library for the CubicWeb framework CubicWeb is a semantic web application framework. . @@ -176,7 +183,7 @@ necessary shared data files such as defaut views, images... -Package: cubicweb-common +Package: python-cubicweb-common Architecture: all Depends: ${misc:Depends}, @@ -194,7 +201,10 @@ python-simpletal (>= 4.0), python-crypto Conflicts: cubicweb-core -Replaces: cubicweb-core +Provides: cubicweb-common +Replaces: + cubicweb-core, + cubicweb-common (<< 3.24.0-1~), Breaks: cubicweb-comment (<< 1.9.1), cubicweb-person (<< 1.8.0), @@ -205,6 +215,7 @@ cubicweb-registration (<< 0.4.3), cubicweb-vcsfile (<< 1.15.0), cubicweb-bootstrap (<< 0.6), + cubicweb-common (<< 3.24.0-1~), Description: common library for the CubicWeb framework CubicWeb is a semantic web application framework. . @@ -217,7 +228,7 @@ Depends: ${misc:Depends}, ${python:Depends}, - cubicweb-common (= ${source:Version}) + python-cubicweb-common (= ${source:Version}) Description: tool to manage the CubicWeb framework CubicWeb is a semantic web application framework. . @@ -226,14 +237,17 @@ to automatically start and stop CubicWeb applications on boot or shutdown. -Package: cubicweb-dev +Package: python-cubicweb-dev Architecture: all +Replaces: cubicweb-dev (<< 3.24.0-1~) +Breaks: cubicweb-dev (<< 3.24.0-1~) +Provides: cubicweb-dev Depends: ${misc:Depends}, ${python:Depends}, - cubicweb-server (= ${source:Version}), - cubicweb-web (= ${source:Version}), - cubicweb-twisted (= ${source:Version}), + python-cubicweb-server (= ${source:Version}), + python-cubicweb-web (= ${source:Version}), + python-cubicweb-pyramid (= ${source:Version}), python-unittest2 (>= 0.7.0), python-pysqlite2 Suggests: @@ -246,13 +260,102 @@ helping in the creation of application. -Package: cubicweb-documentation +Package: python-cubicweb-documentation Architecture: all +Section: doc +Replaces: cubicweb-documentation (<< 3.24.0-1~) +Breaks: cubicweb-documentation (<< 3.24.0-1~) +Provides: cubicweb-documentation Depends: ${misc:Depends}, + ${sphinxdoc:Depends}, Recommends: doc-base Description: documentation for the CubicWeb framework CubicWeb is a semantic web application framework. . This package provides the system's documentation. + + +# Transitional packages after renaming of (most) binary packages + +Package: cubicweb +Architecture: all +Priority: extra +Section: oldlibs +Depends: + python-cubicweb, ${misc:Depends} +Description: transitional package + This is a transitional package. It can safely be removed. + + +Package: cubicweb-server +Architecture: all +Priority: extra +Section: oldlibs +Depends: + python-cubicweb-server, ${misc:Depends} +Description: transitional package + This is a transitional package. It can safely be removed. + + +Package: cubicweb-postgresql-support +Architecture: all +Priority: extra +Section: oldlibs +Depends: + python-cubicweb-postgresql-support, ${misc:Depends} +Description: transitional package + This is a transitional package. It can safely be removed. + + +Package: cubicweb-twisted +Architecture: all +Priority: extra +Section: oldlibs +Depends: + python-cubicweb-twisted, ${misc:Depends} +Description: transitional package + This is a transitional package. It can safely be removed. + + +Package: cubicweb-web +Architecture: all +Priority: extra +Section: oldlibs +Depends: + python-cubicweb-web, ${misc:Depends} +Description: transitional package + This is a transitional package. It can safely be removed. + + +Package: cubicweb-common +Architecture: all +Priority: extra +Section: oldlibs +Depends: + python-cubicweb-common, ${misc:Depends} +Description: transitional package + This is a transitional package. It can safely be removed. + + +Package: cubicweb-dev +Architecture: all +Priority: extra +Section: oldlibs +Depends: + python-cubicweb-dev, ${misc:Depends} +Description: transitional package + This is a transitional package. It can safely be removed. + + +Package: cubicweb-documentation +Architecture: all +Priority: extra +Section: oldlibs +Depends: + python-cubicweb-documentation, ${misc:Depends} +Description: transitional package + This is a transitional package. It can safely be removed. + + diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-common.install --- a/debian/cubicweb-common.install Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,4 +0,0 @@ -usr/lib/python2*/*-packages/cubicweb/entities/ -usr/lib/python2*/*-packages/cubicweb/ext/ -usr/share/cubicweb/cubes/ -usr/lib/python2*/*-packages/cubicweb/*.py diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-ctl.bash_completion --- a/debian/cubicweb-ctl.bash_completion Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,116 +0,0 @@ -# -*- shell-script -*- - -_ec_commands() -{ - local commands - commands="$("$ec" listcommands 2>/dev/null)" || commands="" - COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$commands' -- "$cur")) -} - -_ec() -{ - local cur prev cmd cmd_index opts i - local ec="$1" - - COMPREPLY=() - cur="$2" - prev="$3" - - # searching for the command - # (first non-option argument that doesn't follow a global option that - # receives an argument) - for ((i=1; $i<=$COMP_CWORD; i++)); do - if [[ ${COMP_WORDS[i]} != -* ]]; then - cmd="${COMP_WORDS[i]}" - cmd_index=$i - break - fi - done - - if [[ "$cur" == -* ]]; then - if [ -z "$cmd" ]; then - COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '--help' -- "$cur")) - else - options="$("$ec" listcommands "$cmd" 2>/dev/null)" || commands="" - COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options' -- "$cur")) - fi - return - fi - - if [ -z "$cmd" ] || [ $COMP_CWORD -eq $i ]; then - _ec_commands - return - fi - - # try to generate completion candidates for whatever command the user typed - if _ec_command_specific; then - return - fi -} - -_ec_command_specific() -{ - if [ "$(type -t "_ec_cmd_$cmd")" = function ]; then - "_ec_cmd_$cmd" - return 0 - fi - - case "$cmd" in - client) - if [ "$prev" == "-b" ] || [ "$prev" == "--batch" ]; then - COMPREPLY=( $( compgen -o filenames -G "$cur*" ) ) - return - fi - options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" - instances="$("$ec" listinstances 2>/dev/null)" || instances="" - COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) - ;; - db-dump) - if [ "$prev" == "-o" ] || [ "$prev" == "--output" ]; then - COMPREPLY=( $( compgen -o filenames -G "$cur*" ) ) - return - fi - options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" - instances="$("$ec" listinstances 2>/dev/null)" || instances="" - COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) - ;; - # commands with template as argument - i18ncube) - cubes="$("$ec" listcubes 2>/dev/null)" || cubes="" - COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $cubes' -- "$cur")) - ;; - # generic commands with instance as argument - start|stop|reload|restart|upgrade|start-repository|db-create|db-init|db-check|db-grant-user) - options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" - instances="$("$ec" listinstances 2>/dev/null)" || instances="" - COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) - ;; - # generic commands without argument - list|newtemplate|i18ncubicweb|live-server) - options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" - COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) - ;; - # generic commands without option - shell|i18ninstance|delete|status|schema-sync) - instances="$("$ec" listinstances 2>/dev/null)" || instances="" - COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) - ;; - # XXX should do better - create) - options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" - COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) - ;; - db-copy,db-restore,mboximport) - instances="$("$ec" listinstances 2>/dev/null)" || instances="" - COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) - ;; - *) - return 1 - ;; - esac - - return 0 -} - -complete -o bashdefault -o default -F _ec cubicweb-ctl 2>/dev/null \ - || complete -o default -F _ec cubicweb-ctl diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-ctl.cubicweb.init --- a/debian/cubicweb-ctl.cubicweb.init Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,33 +0,0 @@ -#!/bin/sh -e - -### BEGIN INIT INFO -# Provides: cubicweb -# Required-Start: $remote_fs $syslog $local_fs $network -# Required-Stop: $remote_fs $syslog $local_fs $network -# Should-Start: postgresql -# Should-Stop: postgresql -# Default-Start: 2 3 4 5 -# Default-Stop: 0 1 6 -# Short-Description: Start cubicweb application at boot time -### END INIT INFO - -# FIXME Seems to be inadequate here -cd /tmp - -# FIXME Work-around about the following lintian error -# E: cubicweb-ctl: init.d-script-does-not-implement-required-option /etc/init.d/cubicweb start -# -# Check if we are sure to not want the start-stop-daemon machinery here -# Refer to Debian Policy Manual section 9.3.2 (Writing the scripts) for details. - -case $1 in - force-reload) - python -W ignore /usr/bin/cubicweb-ctl reload --force - ;; - status) - python -W ignore /usr/bin/cubicweb-ctl status - ;; - start|stop|restart|*) - python -W ignore /usr/bin/cubicweb-ctl $1 --force - ;; -esac diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-ctl.install --- a/debian/cubicweb-ctl.install Thu Nov 17 16:03:02 2016 +0100 +++ b/debian/cubicweb-ctl.install Tue Nov 15 10:13:47 2016 +0100 @@ -1,3 +1,2 @@ -usr/bin/cubicweb-ctl usr/bin/ usr/lib/python2*/*-packages/cubicweb/cwctl.py -../cubicweb-ctl.bash_completion etc/bash_completion.d/cubicweb-ctl +usr/bin/cubicweb-ctl diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-ctl.logrotate --- a/debian/cubicweb-ctl.logrotate Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,17 +0,0 @@ -/var/log/cubicweb/*.log { - weekly - missingok - rotate 10 - compress - delaycompress - notifempty - create 640 root adm - sharedscripts - postrotate - if [ -x /usr/sbin/invoke-rc.d ]; then \ - invoke-rc.d cubicweb reload > /dev/null 2>&1; \ - else \ - /etc/init.d/cubicweb reload > /dev/null 2>&1; \ - fi; \ - endscript -} diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-ctl.postinst --- a/debian/cubicweb-ctl.postinst Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,15 +0,0 @@ -#! /bin/sh -e - -case "$1" in - configure|abort-upgrade|abort-remove|abort-deconfigure) - update-rc.d cubicweb defaults 99 >/dev/null - ;; - *) - echo "postinst called with unknown argument \`$1'" >&2 - exit 1 - ;; -esac - -#DEBHELPER# - -exit 0 diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-ctl.postrm --- a/debian/cubicweb-ctl.postrm Thu Nov 17 16:03:02 2016 +0100 +++ b/debian/cubicweb-ctl.postrm Tue Nov 15 10:13:47 2016 +0100 @@ -1,9 +1,5 @@ #!/bin/sh -e -if [ "$1" = "remove" ]; then - update-rc.d cubicweb remove >/dev/null -fi - if [ "$1" = "purge" ] ; then rm -rf /etc/cubicweb.d/ rm -rf /var/log/cubicweb/ diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-dev.install --- a/debian/cubicweb-dev.install Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,11 +0,0 @@ -usr/lib/python2*/*-packages/cubicweb/devtools/ -usr/lib/python2*/*-packages/cubicweb/skeleton/ -usr/lib/python2*/*-packages/cubicweb/test -usr/lib/python2*/*-packages/cubicweb/dataimport/test -usr/lib/python2*/*-packages/cubicweb/entities/test -usr/lib/python2*/*-packages/cubicweb/ext/test -usr/lib/python2*/*-packages/cubicweb/server/test -usr/lib/python2*/*-packages/cubicweb/sobjects/test -usr/lib/python2*/*-packages/cubicweb/hooks/test -usr/lib/python2*/*-packages/cubicweb/web/test -usr/lib/python2*/*-packages/cubicweb/etwist/test diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-dev.lintian-overrides --- a/debian/cubicweb-dev.lintian-overrides Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -missing-dep-for-interpreter make => make | build-essential | dpkg-dev (usr/*/cubicweb/skeleton/debian/rules) diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-documentation.doc-base --- a/debian/cubicweb-documentation.doc-base Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,9 +0,0 @@ -Document: cubicweb-doc -Title: CubicWeb documentation -Author: Logilab -Abstract: Some base documentation for CubicWeb users and developpers -Section: Apps/Programming - -Format: HTML -Index: /usr/share/doc/cubicweb-documentation/html/index.html -Files: /usr/share/doc/cubicweb-documentation/html/* diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-documentation.install --- a/debian/cubicweb-documentation.install Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,2 +0,0 @@ -../../doc/book usr/share/doc/cubicweb-documentation -../../doc/_build/html usr/share/doc/cubicweb-documentation diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-server.install --- a/debian/cubicweb-server.install Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,6 +0,0 @@ -usr/lib/python2*/*-packages/cubicweb/dataimport/ -usr/lib/python2*/*-packages/cubicweb/server/ -usr/lib/python2*/*-packages/cubicweb/hooks/ -usr/lib/python2*/*-packages/cubicweb/sobjects/ -usr/lib/python2*/*-packages/cubicweb/schemas/ -usr/share/cubicweb/migration/ diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-server.postinst --- a/debian/cubicweb-server.postinst Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -#! /bin/sh -e - -if [ -x "/etc/init.d/cubicweb-ctl" ]; then - invoke-rc.d cubicweb-ctl restart || true -fi - - -#DEBHELPER# - -exit 0 diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-server.prerm --- a/debian/cubicweb-server.prerm Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -#! /bin/sh -e - -case "$1" in - remove) - if [ -x "/etc/init.d/cubicweb-ctl" ]; then - invoke-rc.d cubicweb-ctl stop || true - fi - ;; -esac - -#DEBHELPER# - -exit 0 diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-twisted.install --- a/debian/cubicweb-twisted.install Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -usr/lib/python2*/*-packages/cubicweb/etwist/ diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-twisted.postinst --- a/debian/cubicweb-twisted.postinst Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,10 +0,0 @@ -#! /bin/sh -e - -if [ -x "/etc/init.d/cubicweb-ctl" ]; then - invoke-rc.d cubicweb-ctl restart || true -fi - - -#DEBHELPER# - -exit 0 diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-twisted.prerm --- a/debian/cubicweb-twisted.prerm Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,13 +0,0 @@ -#! /bin/sh -e - -case "$1" in - remove) - if [ -x "/etc/init.d/cubicweb-ctl" ]; then - invoke-rc.d cubicweb-ctl stop || true - fi - ;; -esac - -#DEBHELPER# - -exit 0 diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-web.install --- a/debian/cubicweb-web.install Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,4 +0,0 @@ -usr/lib/python2*/*-packages/cubicweb/web -usr/lib/python2*/*-packages/cubicweb/wsgi -usr/share/cubicweb/cubes/shared/data -usr/share/cubicweb/cubes/shared/wdoc diff -r d1fbe53885e9 -r e8be49ecb522 debian/cubicweb-web.lintian-overrides --- a/debian/cubicweb-web.lintian-overrides Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -cubicweb-web: embedded-javascript-library usr/share/cubicweb/cubes/shared/data/jquery.js diff -r d1fbe53885e9 -r e8be49ecb522 debian/pydist-overrides --- a/debian/pydist-overrides Thu Nov 17 16:03:02 2016 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1 +0,0 @@ -cubicweb cubicweb-common diff -r d1fbe53885e9 -r e8be49ecb522 debian/python-cubicweb-common.install --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debian/python-cubicweb-common.install Tue Nov 15 10:13:47 2016 +0100 @@ -0,0 +1,4 @@ +usr/lib/python2*/*-packages/cubicweb/entities/ +usr/lib/python2*/*-packages/cubicweb/ext/ +usr/share/cubicweb/cubes/ +usr/lib/python2*/*-packages/cubicweb/*.py diff -r d1fbe53885e9 -r e8be49ecb522 debian/python-cubicweb-dev.install --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debian/python-cubicweb-dev.install Tue Nov 15 10:13:47 2016 +0100 @@ -0,0 +1,11 @@ +usr/lib/python2*/*-packages/cubicweb/devtools/ +usr/lib/python2*/*-packages/cubicweb/skeleton/ +usr/lib/python2*/*-packages/cubicweb/test +usr/lib/python2*/*-packages/cubicweb/dataimport/test +usr/lib/python2*/*-packages/cubicweb/entities/test +usr/lib/python2*/*-packages/cubicweb/ext/test +usr/lib/python2*/*-packages/cubicweb/server/test +usr/lib/python2*/*-packages/cubicweb/sobjects/test +usr/lib/python2*/*-packages/cubicweb/hooks/test +usr/lib/python2*/*-packages/cubicweb/web/test +usr/lib/python2*/*-packages/cubicweb/etwist/test diff -r d1fbe53885e9 -r e8be49ecb522 debian/python-cubicweb-dev.lintian-overrides --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debian/python-cubicweb-dev.lintian-overrides Tue Nov 15 10:13:47 2016 +0100 @@ -0,0 +1,1 @@ +missing-dep-for-interpreter make => make | build-essential | dpkg-dev (usr/*/cubicweb/skeleton/debian/rules) diff -r d1fbe53885e9 -r e8be49ecb522 debian/python-cubicweb-documentation.doc-base --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debian/python-cubicweb-documentation.doc-base Tue Nov 15 10:13:47 2016 +0100 @@ -0,0 +1,9 @@ +Document: cubicweb-doc +Title: CubicWeb Documentation +Author: Logilab +Abstract: Some base documentation for CubicWeb users and developpers +Section: Apps/Programming + +Format: HTML +Index: /usr/share/doc/python-cubicweb-documentation/html/index.html +Files: /usr/share/doc/python-cubicweb-documentation/html/* diff -r d1fbe53885e9 -r e8be49ecb522 debian/python-cubicweb-documentation.docs --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debian/python-cubicweb-documentation.docs Tue Nov 15 10:13:47 2016 +0100 @@ -0,0 +1,2 @@ +debian/cubicweb-doc/html +doc/book diff -r d1fbe53885e9 -r e8be49ecb522 debian/python-cubicweb-server.install --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debian/python-cubicweb-server.install Tue Nov 15 10:13:47 2016 +0100 @@ -0,0 +1,6 @@ +usr/lib/python2*/*-packages/cubicweb/dataimport/ +usr/lib/python2*/*-packages/cubicweb/server/ +usr/lib/python2*/*-packages/cubicweb/hooks/ +usr/lib/python2*/*-packages/cubicweb/sobjects/ +usr/lib/python2*/*-packages/cubicweb/schemas/ +usr/share/cubicweb/migration/ diff -r d1fbe53885e9 -r e8be49ecb522 debian/python-cubicweb-twisted.install --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debian/python-cubicweb-twisted.install Tue Nov 15 10:13:47 2016 +0100 @@ -0,0 +1,1 @@ +usr/lib/python2*/*-packages/cubicweb/etwist/ diff -r d1fbe53885e9 -r e8be49ecb522 debian/python-cubicweb-web.install --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debian/python-cubicweb-web.install Tue Nov 15 10:13:47 2016 +0100 @@ -0,0 +1,4 @@ +usr/lib/python2*/*-packages/cubicweb/web +usr/lib/python2*/*-packages/cubicweb/wsgi +usr/share/cubicweb/cubes/shared/data +usr/share/cubicweb/cubes/shared/wdoc diff -r d1fbe53885e9 -r e8be49ecb522 debian/python-cubicweb-web.lintian-overrides --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/debian/python-cubicweb-web.lintian-overrides Tue Nov 15 10:13:47 2016 +0100 @@ -0,0 +1,1 @@ +cubicweb-web: embedded-javascript-library usr/share/cubicweb/cubes/shared/data/jquery.js diff -r d1fbe53885e9 -r e8be49ecb522 debian/rules --- a/debian/rules Thu Nov 17 16:03:02 2016 +0100 +++ b/debian/rules Tue Nov 15 10:13:47 2016 +0100 @@ -3,82 +3,25 @@ # GNU copyright 1997 to 1999 by Joey Hess. # Uncomment this to turn on verbose mode. -#export DH_VERBOSE=1 - -build: build-stamp -build-stamp: - dh_testdir - python setup.py build - # cubicweb.foo needs to be importable by sphinx, so create a cubicweb symlink to the source dir - mkdir -p debian/pythonpath - ln -sf $(CURDIR)/cubicweb debian/pythonpath - # documentation build is now made optional since it can break for old - # distributions and we don't want to block a new release of Cubicweb - # because of documentation issues. - -PYTHONPATH=$${PYTHONPATH:+$${PYTHONPATH}:}$(CURDIR)/debian/pythonpath $(MAKE) -C doc all - rm -rf debian/pythonpath - touch build-stamp +# export DH_VERBOSE=1 -clean: - dh_testdir - rm -f build-stamp configure-stamp - rm -rf build - #rm -rf debian/cubicweb-*/ - find . -name "*.pyc" -delete - -$(MAKE) -C doc clean - dh_clean +export PYBUILD_NAME=cubicweb +export PYBUILD_DISABLE_python2=test -install: build - dh_testdir - dh_testroot - dh_clean - dh_installdirs - - python setup.py -q install --no-compile --prefix=debian/tmp/usr +%: + dh $@ --with python2,sphinxdoc --buildsystem=pybuild - # Put all the python library and data in cubicweb-common - # and scripts in cubicweb-server - dh_install -vi --sourcedir=debian/tmp - # cwctl in the cubicweb-ctl package - rm -f debian/cubicweb-common/usr/lib/python*/*/cubicweb/cwctl.py - # wdoc in the cubicweb-web package - rm -rf debian/cubicweb-common/usr/share/cubicweb/cubes/shared/wdoc - rm -rf debian/cubicweb-common/usr/share/cubicweb/cubes/shared/data - dh_lintian - - # Remove unittests directory (should be available in cubicweb-dev only) - rm -rf debian/cubicweb-server/usr/lib/python2*/*-packages/cubicweb/dataimport/test - rm -rf debian/cubicweb-server/usr/lib/python2*/*-packages/cubicweb/server/test - rm -rf debian/cubicweb-server/usr/lib/python2*/*-packages/cubicweb/hooks/test - rm -rf debian/cubicweb-server/usr/lib/python2*/*-packages/cubicweb/sobjects/test - rm -rf debian/cubicweb-web/usr/lib/python2*/*-packages/cubicweb/web/test - rm -rf debian/cubicweb-twisted/usr/lib/python2*/*-packages/cubicweb/etwist/test - rm -rf debian/cubicweb-common/usr/lib/python2*/*-packages/cubicweb/ext/test - rm -rf debian/cubicweb-common/usr/lib/python2*/*-packages/cubicweb/entities/test - rm -rf debian/cubicweb-pyramid/usr/lib/python2*/*-packages/cubicweb/pyramid/tests - +override_dh_auto_build: export http_proxy=127.0.0.1:9 +override_dh_auto_build: export https_proxy=127.0.0.1:9 +override_dh_auto_build: + dh_auto_build +ifeq (,$(findstring nodocs, $(DEB_BUILD_OPTIONS))) + PYTHONPATH=. sphinx-build -N -bhtml doc/ debian/cubicweb-doc/html +endif -# Build architecture-independent files here. -binary-indep: build install - dh_testdir - dh_testroot -i - dh_python2 -i - dh_python2 -i /usr/share/cubicweb - dh_installinit -i -n --name cubicweb -u"defaults 99" - dh_installlogrotate -i - dh_installdocs -i -A README - dh_installman -i - dh_installchangelogs -i -Xdoc/changes - dh_link -i - dh_compress -i -X.py -X.ini -X.xml -X.js -X.rst -X.txt -Xchangelog.html - dh_fixperms -i - dh_installdeb -i - dh_gencontrol -i - dh_md5sums -i - dh_builddeb -i +override_dh_install: + dh_install --sourcedir=debian/python-${PYBUILD_NAME} -binary-arch: +override_dh_installchangelogs: + dh_installchangelogs -Xdoc/changes -binary: binary-indep -.PHONY: build clean binary binary-indep binary-arch - diff -r d1fbe53885e9 -r e8be49ecb522 extras/cubicweb-ctl.bash_completion --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/extras/cubicweb-ctl.bash_completion Tue Nov 15 10:13:47 2016 +0100 @@ -0,0 +1,116 @@ +# -*- shell-script -*- + +_ec_commands() +{ + local commands + commands="$("$ec" listcommands 2>/dev/null)" || commands="" + COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$commands' -- "$cur")) +} + +_ec() +{ + local cur prev cmd cmd_index opts i + local ec="$1" + + COMPREPLY=() + cur="$2" + prev="$3" + + # searching for the command + # (first non-option argument that doesn't follow a global option that + # receives an argument) + for ((i=1; $i<=$COMP_CWORD; i++)); do + if [[ ${COMP_WORDS[i]} != -* ]]; then + cmd="${COMP_WORDS[i]}" + cmd_index=$i + break + fi + done + + if [[ "$cur" == -* ]]; then + if [ -z "$cmd" ]; then + COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '--help' -- "$cur")) + else + options="$("$ec" listcommands "$cmd" 2>/dev/null)" || commands="" + COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options' -- "$cur")) + fi + return + fi + + if [ -z "$cmd" ] || [ $COMP_CWORD -eq $i ]; then + _ec_commands + return + fi + + # try to generate completion candidates for whatever command the user typed + if _ec_command_specific; then + return + fi +} + +_ec_command_specific() +{ + if [ "$(type -t "_ec_cmd_$cmd")" = function ]; then + "_ec_cmd_$cmd" + return 0 + fi + + case "$cmd" in + client) + if [ "$prev" == "-b" ] || [ "$prev" == "--batch" ]; then + COMPREPLY=( $( compgen -o filenames -G "$cur*" ) ) + return + fi + options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" + instances="$("$ec" listinstances 2>/dev/null)" || instances="" + COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) + ;; + db-dump) + if [ "$prev" == "-o" ] || [ "$prev" == "--output" ]; then + COMPREPLY=( $( compgen -o filenames -G "$cur*" ) ) + return + fi + options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" + instances="$("$ec" listinstances 2>/dev/null)" || instances="" + COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) + ;; + # commands with template as argument + i18ncube) + cubes="$("$ec" listcubes 2>/dev/null)" || cubes="" + COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $cubes' -- "$cur")) + ;; + # generic commands with instance as argument + start|stop|reload|restart|upgrade|start-repository|db-create|db-init|db-check|db-grant-user) + options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" + instances="$("$ec" listinstances 2>/dev/null)" || instances="" + COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) + ;; + # generic commands without argument + list|newtemplate|i18ncubicweb|live-server) + options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" + COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) + ;; + # generic commands without option + shell|i18ninstance|delete|status|schema-sync) + instances="$("$ec" listinstances 2>/dev/null)" || instances="" + COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) + ;; + # XXX should do better + create) + options="$("$ec" listcommands "$cmd" 2>/dev/null)" || options="" + COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) + ;; + db-copy,db-restore,mboximport) + instances="$("$ec" listinstances 2>/dev/null)" || instances="" + COMPREPLY=(${COMPREPLY[@]:-} $(compgen -W '$options $instances' -- "$cur")) + ;; + *) + return 1 + ;; + esac + + return 0 +} + +complete -o bashdefault -o default -F _ec cubicweb-ctl 2>/dev/null \ + || complete -o default -F _ec cubicweb-ctl