Path: csiph.com!aioe.org!news.servidellagleba.it!bofh.it!news.nic.it!robomod From: Stuart Prescott Newsgroups: linux.debian.maint.python Subject: Re: Bug#1025164: lintian: missing-prerequisite-for-pyproject-backend tag needs to check Build-Depends-Indep too Date: Thu, 01 Dec 2022 08:00:01 +0100 Message-ID: References: X-Mailbox-Line: From debian-python-request@lists.debian.org Thu Dec 1 06:52:39 2022 Old-Return-Path: X-Amavis-Spam-Status: No, score=-5.753 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, HEADER_FROM_DIFFERENT_DOMAINS=0.249, LDO_WHITELIST=-5, NICE_REPLY_A=-0.001, RCVD_IN_DNSWL_NONE=-0.0001, RCVD_IN_MSPIKE_H2=-0.001, SHIP_ID_INT=1] autolearn=no autolearn_force=no X-Policyd-Weight: using cached result; rate: -3.5 X-Gm-Message-State: ANoB5plQjHIrsA3MA3AWu+Q6EhC56oaxIwYgSmZtlDjgMfZfLzw5m3t9 ogQGDTPzyF1/3aimKAt7EOBcjkrKAwR8tg== X-Google-SMTP-Source: AA0mqf62dTD9/2QeQnUJrjBMWcVmMK0f2Qhum4cjaiCYRLl/smY6P0xxMh5Y21gqGOQwqWROlFt52Q== X-Received: by 2002:a05:6a00:1a14:b0:557:ef5e:6db3 with SMTP id g20-20020a056a001a1400b00557ef5e6db3mr49296073pfv.13.1669877536610; Wed, 30 Nov 2022 22:52:16 -0800 (PST) MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.5.0 Content-Language: en-GB Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Mailing-List: archive/latest/20513 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/82c73553-c178-ad39-26af-896c55403322@debian.org Approved: robomod@news.nic.it Lines: 63 Organization: linux.* mail to news gateway Sender: robomod@news.nic.it X-Original-Date: Thu, 1 Dec 2022 17:52:13 +1100 X-Original-Message-ID: <82c73553-c178-ad39-26af-896c55403322@debian.org> X-Original-References: <166982140580.3810341.4721293359934646576.reportbug@localhost> <3f80dbc2-ce24-c1e1-3fb5-c3a1ba3444f1@debian.org> <2118333.Hf94esBp0q@localhost> Xref: csiph.com linux.debian.maint.python:14652 Hi Scott On 01/12/2022 15:16, Scott Kitterman wrote: > On Wednesday, November 30, 2022 10:38:30 PM EST Stuart Prescott wrote: >> Hi Scott, >> >> On 01/12/2022 02:16, Scott Kitterman wrote: >>> Package: lintian >>> Version: 2.115.3 >>> Severity: normal >>> X-Debbugs-Cc: debian-python@lists.debian.org >>> >>> The missing-prerequisite-for-pyproject-backend check appears to only >>> look for the prerequisite packages in Build-Depends, but since they >>> aren't needed for clean, they could be in Build-Depends-Indep, leading >>> to false positives. >>> >>> Scott K >> >> I contemplated filing a similar the other day but in writing it up, I >> realised that lintian was correct. Policy requires that the 'clean' >> target be functional with only the Build-Depends (and Build-Conflicts) >> satisfied, and pybuild + the build-backend dependencies are involved in >> the cleaning step. > > Not always. At least with the package I ran into this on, clean works fine > without them. Yes indeed... - the most obvious case where that works is where 'clean' is explicit in d/rules - it would also be possible for it to work in situations where dh-python is (redundantly?) listed in B-D (not B-D-I), since the pyproject plugin's 'clean' operation has no dependency on `build`, `installer`, and the backend. However, this for this second case: - it might result in pybuild picking a different plugin through lack of dependencies like `tomli`. That might just work... but also feels slightly terrifying. - there's not _currently_ any backend-specific cleaning code, but perhaps there should be, which would then need the deps to be in B-D? (Is that in the spec somewhere?) I guess the main thing to be careful of in any rewording of this explanation is that for the most common case of using "%:\n\tdh --buildsystem pybuild", dh-python (or pybuild-plugin-pyproject) is needed in B-D not B-D-I to be policy-compliant. cheers Stuart -- Stuart Prescott http://www.nanonanonano.net/ stuart@nanonanonano.net Debian Developer http://www.debian.org/ stuart@debian.org GPG fingerprint 90E2 D2C1 AD14 6A1B 7EBB 891D BBC1 7EBB 1396 F2F7