Path: csiph.com!2.eu.feeder.erje.net!3.eu.feeder.erje.net!feeder.erje.net!weretis.net!feeder7.news.weretis.net!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod From: Simon McVittie Newsgroups: linux.debian.maint.python Subject: Re: 2Removal: handling circular dependencies Date: Thu, 24 Oct 2019 10:00:02 +0200 Message-ID: References: X-Mailbox-Line: From debian-python-request@lists.debian.org Thu Oct 24 07:50:27 2019 Old-Return-Path: X-Amavis-Spam-Status: No, score=-9.3 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, LDO_WHITELIST=-5, RCVD_IN_DNSWL_MED=-2.3] autolearn=ham autolearn_force=no X-Policyd-Weight: using cached result; rate: -3.5 MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.10.1 (2018-07-13) X-Mailing-List: archive/latest/17493 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/20191024074941.GA6584@espresso.pseudorandom.co.uk Approved: robomod@news.nic.it Lines: 44 Organization: linux.* mail to news gateway Sender: robomod@news.nic.it X-Original-Date: Thu, 24 Oct 2019 08:49:41 +0100 X-Original-Message-ID: <20191024074941.GA6584@espresso.pseudorandom.co.uk> X-Original-References: <61022210-1547-e6e1-461c-4d5b76c04e09@zoho.com> <82ad34d8-ace3-7e6e-74c6-c9f38c9ef399@zoho.com> Xref: csiph.com linux.debian.maint.python:11932 On Wed, 23 Oct 2019 at 23:05:39 +0100, Rebecca N. Palmer wrote: > - One big tangle (159 packages). This probably needs breaking up: > --- Some of it involves documentation tools (e.g. sphinx). These cycles can > be broken by using the Python 3 version of the tool. You've listed dbus-python as being part of this cycle, but since version 1.2.10-1 it only Build-Depends on sphinx-common, python3-sphinx and python3-sphinx-rtd-theme. Is that enough to remove it from this cycle? I removed the block when I made that change, but someone('s script?) seems to have added it back? I can't remove python-dbus and close the 2removal bug yet, because lots of packages still depend on python-dbus. I also can't see how -sphinx would depend directly or indirectly on -dbus. Perhaps some of the blocks have been added the wrong way round? I wonder whether parts of the 159-package cycle are actually smaller cycles with non-trivial intersection, such as: python-sphinx --D--> sphinx-common | ^ <--S-- D S v | python-alabaster I'd tend to think of that as two intersecting 2-package cycles, rather than one larger cycle. > (Assuming we're still using "broken Suggests are not > allowed": this has previously been discussed, I forget where.) I think that's much too strong, particularly during a transition. Transitions from unstable to testing only look at (Pre-)Depends and Build-Depends(|-Arch|-Indep), although in general we also consider broken Recommends to be a serious bug if anyone notices them (due to Policy §2.2.1 "must not require or recommend a package outside of main for compilation or execution"). Suggests are specifically not considered by Policy §2.2.1 (packages in main are allowed to suggest packages that are in contrib, in non-free, or not in the archive at all) and the pattern of cyclic Depends in one direction, and Recommends or Suggests in the other, is extremely common. smcv