debian/control
author Jérémy Bobbio <jeremy.bobbio@irq7.fr>
Wed, 19 Jun 2019 16:10:19 +0200
changeset 12656 91178bc271c7
parent 12654 b2fb404fae3a
child 12657 2856182d4628
permissions -rw-r--r--
[pkg] Use sections from requires.txt to populate Recommends and Suggests As Denis Laxalde pointed out, dh_python can also generate Recommends and Suggests from Python package names. So let's use that instead of manually populating these fields in `debian/control`. Optional dependencies are currently specified in `setup.py` grouped by feature. These dependency groups are turned into sections in `requires.txt`. Thankfully `dh_python3` has options to populate Recommends or Suggests with all package from a given section. `debian/rules` now contains a list of which sections should go to Recommends and which section should go to Suggests. Because such extra list easily gets out-of-sync, we add a third list for ignored sections, and ensure that all sections currently in `requires.txt` get a mentioned in `debian/rules`. Here are the results compared to the previous version with explicit Recommends and Suggests (only listing Python packages): |==============================================================| | only in previous | common | only in new | |==============================================================| | Recommends | |--------------------------------------------------------------| | | python3-docutils | | | python3-fyzz | | | | python3-imaging | | | | | python3-pycryptodome | | | | python3-pyramid | | | | python3-pyramid-multiauth | | | python3-pysqlite2 | | | | | python3-rdflib | | | | python3-repoze.lru | | | python3-simpletal | | | | | python3-vobject | | | | python3-waitress | | | python3-werkzeug | | | | | python3-wsgicors | | |--------------------------------------------------------------| | Suggests | |--------------------------------------------------------------| | | | python3-pil | We also lose versioned dependencies which should not really be an issue for Recommends and Suggests.

Source: cubicweb
Section: web
Priority: optional
Maintainer: Logilab S.A. <contact@logilab.fr>
Uploaders: Sylvain Thenault <sylvain.thenault@logilab.fr>,
           David Douard <david.douard@logilab.fr>,
Build-Depends:
 debhelper (>= 9.20160709),
 dh-python,
 python3-all,
 python3-setuptools,
 python3-docutils,
 python3-sphinx,
 python3-logilab-common (>= 1.4.0),
 python3-logilab-mtconverter,
 python3-markdown,
 python3-tz,
 python3-rql (>= 0.34.0),
 python3-yams (>= 0.45.0),
 python3-lxml,
 python3-setuptools,
 python3-pyramid,
 python3-pyramid-multiauth,
 python3-waitress,
 python3-passlib,
 python3-repoze.lru,
 python3-wsgicors,
 python3-filelock,
 python3-pycryptodome,
 sphinx-common,
Standards-Version: 4.3.0
Homepage: https://www.cubicweb.org
X-Python3-Version: >= 3.4


Package: python3-cubicweb
Architecture: all
Depends:
 ${misc:Depends},
 ${python3:Depends},
 graphviz,
 gettext,
Recommends:
 ${python3:Recommends},
 cubicweb-ctl (= ${source:Version}),
 python3-cubicweb-postgresql-support (= ${source:Version})
 | sqlite3,
 fckeditor,
Suggests:
 ${python3:Suggests},
 python3-cwclientlib (>= 0.4.0),
 python3-cubicweb-documentation (= ${source:Version}),
 w3c-dtd-xhtml,
 xvfb,
 python3-pyramid-debugtoolbar,
Replaces:
 cubicweb (<< 3.24.0-1~),
 cubicweb-server (<< 3.24.0-1~),
 cubicweb-web (<< 3.24.0-1~),
 cubicweb-core,
 cubicweb-common (<< 3.24.0-1~),
Breaks:
 cubicweb (<< 3.24.0-1~),
 cubicweb-server (<< 3.24.0-1~),
 cubicweb-inlinedit (<< 1.1.1),
 cubicweb-bootstrap (<< 0.6.6),
 cubicweb-folder (<< 1.10.0),
 cubicweb-web (<< 3.24.0-1~),
 cubicweb-comment (<< 1.9.1),
 cubicweb-person (<< 1.8.0),
 cubicweb-geocoding (<< 0.2.0),
 cubicweb-invoice (<< 0.6.1),
 cubicweb-mercurial-server (<< 0.4.2),
 cubicweb-forgotpwd (<< 0.4.3),
 cubicweb-registration (<< 0.4.3),
 cubicweb-vcsfile (<< 1.15.0),
 cubicweb-bootstrap (<< 0.6),
 cubicweb-common (<< 3.24.0-1~),
Provides:
 cubicweb,
 cubicweb-server,
 cubicweb-web-frontend,
 cubicweb-web,
 cubicweb-common,
Conflicts:
 cubicweb-multisources,
 cubicweb-core,
Description: the complete CubicWeb framework
 CubicWeb is a semantic web application framework.
 .
 This metapackage will install all the components you need to run cubicweb on a
 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: python3-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},
 python3-cubicweb (= ${source:Version}),
 python3-psycopg2,
 postgresql-client
Description: postgres support for the CubicWeb framework
 CubicWeb is a semantic web application framework.
 .
 This dependency package provides dependencies to use PostgreSQL for the
 cubicweb repository.


Package: cubicweb-ctl
Architecture: all
Depends:
 ${misc:Depends},
 python3-cubicweb (= ${source:Version})
Description: tool to manage the CubicWeb framework
 CubicWeb is a semantic web application framework.
 .
 This package provides a control script to manage (create, upgrade, start,
 stop, etc) CubicWeb applications. It also include the init.d script
 to automatically start and stop CubicWeb applications on boot or shutdown.


Package: python3-cubicweb-documentation
Architecture: all
Section: doc
Replaces: cubicweb-documentation (<< 3.24.0-1~)
Breaks: cubicweb-documentation (<< 3.24.0-1~)
Provides: cubicweb-documentation
Conflicts: python-cubicweb-documentation
Depends:
 ${misc:Depends},
 ${sphinxdoc:Depends},
Built-Using: ${sphinxdoc:Built-Using}
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: optional
Section: oldlibs
Depends:
 python3-cubicweb, ${misc:Depends}
Description: transitional package
  This is a transitional package. It can safely be removed.


Package: cubicweb-server
Architecture: all
Priority: optional
Section: oldlibs
Depends:
 python3-cubicweb, ${misc:Depends}
Description: transitional package
  This is a transitional package. It can safely be removed.


Package: cubicweb-postgresql-support
Architecture: all
Priority: optional
Section: oldlibs
Depends:
 python3-cubicweb-postgresql-support, ${misc:Depends}
Description: transitional package
  This is a transitional package. It can safely be removed.


Package: cubicweb-web
Architecture: all
Priority: optional
Section: oldlibs
Depends:
 python3-cubicweb, ${misc:Depends}
Description: transitional package
  This is a transitional package. It can safely be removed.


Package: cubicweb-common
Architecture: all
Priority: optional
Section: oldlibs
Depends:
 python3-cubicweb, ${misc:Depends}
Description: transitional package
  This is a transitional package. It can safely be removed.


Package: cubicweb-dev
Architecture: all
Priority: optional
Section: oldlibs
Depends:
 python3-cubicweb, ${misc:Depends}
Description: transitional package
  This is a transitional package. It can safely be removed.


Package: cubicweb-documentation
Architecture: all
Priority: optional
Section: oldlibs
Depends:
 python3-cubicweb-documentation, ${misc:Depends}
Description: transitional package
  This is a transitional package. It can safely be removed.