Message ID | 87jz9c73wo.fsf@wireframe |
---|---|
State | New |
Headers |
Return-Path: <guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org> X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 7FF8E27BBEB; Wed, 26 Feb 2025 22:12:31 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-8.6 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,RCVD_IN_DNSWL_BLOCKED, RCVD_IN_MSPIKE_H2,RCVD_IN_VALIDITY_CERTIFIED,RCVD_IN_VALIDITY_RPBL, RCVD_IN_VALIDITY_SAFE,SPF_HELO_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTPS id 994EC27BBE2 for <patchwork@mira.cbaines.net>; Wed, 26 Feb 2025 22:12:30 +0000 (GMT) Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from <guix-patches-bounces@gnu.org>) id 1tnPdN-0002fJ-SK; Wed, 26 Feb 2025 17:12:06 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tnPdL-0002f3-7m for guix-patches@gnu.org; Wed, 26 Feb 2025 17:12:03 -0500 Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tnPdK-0003cR-TE for guix-patches@gnu.org; Wed, 26 Feb 2025 17:12:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=debbugs.gnu.org; s=debbugs-gnu-org; h=MIME-Version:Date:From:To:Subject; bh=YH0thqeAfOUeHhRqEehx4iJS8dwpbLsitRm+/Mo7SDA=; b=LWdfcfdvu1w/lYhemc8ocxiyI3Ggcmla21iv9USbXY09p18+GalWdMTjtdvvNwa22aq/f3r3RCo2r9d4zstkYX/xIR6GmRtE1ugiM6yhPBL8/pDrsUHUvsaaHX/Lj52qFdn/v4ACZWKsITa7oc2XbGqq6endZWq7fN1LsZZcOvaz2eGxiu6JEl09vv59rxN+7gl8izNJjIR1IO0WuJh0fJQxYLVOY0yBWea4EXKsnlsrT/m2a2iXSTCwKl2Ry8ZDrXJcxZwMz+pFBNq0kX9D/Wa4jfHKJvxY/FkYHMz447V7jRzrTvSaqx2ZLlP9n0zh4QKt2VTcmcY3EqpUm35MiQ==; Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from <Debian-debbugs@debbugs.gnu.org>) id 1tnPdK-0006q6-Bl for guix-patches@gnu.org; Wed, 26 Feb 2025 17:12:02 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#76602] Reprotest fails to run due to missing execute bit Resent-From: Vagrant Cascadian <vagrant@reproducible-builds.org> Original-Sender: "Debbugs-submit" <debbugs-submit-bounces@debbugs.gnu.org> Resent-CC: guix-patches@gnu.org Resent-Date: Wed, 26 Feb 2025 22:12:02 +0000 Resent-Message-ID: <handler.76602.B.174060790426257@debbugs.gnu.org> Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 76602 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: To: 76602@debbugs.gnu.org Cc: me@bonfacemunyoki.com, tanguy@bioneland.org, lars@6xq.net, sharlatanus@gmail.com, jgart@dismail.de X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.174060790426257 (code B ref -1); Wed, 26 Feb 2025 22:12:02 +0000 Received: (at submit) by debbugs.gnu.org; 26 Feb 2025 22:11:44 +0000 Received: from localhost ([127.0.0.1]:55899 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces@debbugs.gnu.org>) id 1tnPd2-0006pQ-3f for submit@debbugs.gnu.org; Wed, 26 Feb 2025 17:11:44 -0500 Received: from lists.gnu.org ([2001:470:142::17]:42150) by debbugs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.84_2) (envelope-from <vagrant@reproducible-builds.org>) id 1tnPcx-0006p4-U2 for submit@debbugs.gnu.org; Wed, 26 Feb 2025 17:11:41 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <vagrant@reproducible-builds.org>) id 1tnPcd-000256-4C for guix-patches@gnu.org; Wed, 26 Feb 2025 17:11:27 -0500 Received: from cascadia.aikidev.net ([173.255.214.101]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <vagrant@reproducible-builds.org>) id 1tnPcY-0003U1-8B for guix-patches@gnu.org; Wed, 26 Feb 2025 17:11:16 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=reproducible-builds.org; s=1.vagrant; t=1740607869; bh=6Wiyx0OZ3H22MWEwlz0VPfmM10122T34guqHp0QStOE=; h=From:To:Cc:Subject:Date:From; b=vpFejSMBKI5zvfPmqcSrzAjN4Ee+jC+paeFAd8dMmThRzg1WBw1i7munI3psx/nqB y3KlUW+c4FjFlclVHpJwkv/uE9SE++mnkAkOOzlPcHty/JCvMtgc1x/JIHJ7KUd2Qn A+bICjlyvUqx3MUqZK50Okj0LTGX+saCXsBAgFS2STxsczgIN9mgZNCmoHLNir9Yrr zUfn7LlFCQCz/AuzcYy5PMW87sCdAAiawiyNsiXyHt6gwiWWyr3Ei1eT7jBLNRtFJL 8HFz10SSvhc7CcYHhm7bTEV05htkxxL57UfwvIbND6SssjirSfS+cKDLswnJppu2Hs hiaRCbqkjfmdQ== Received: from localhost (unknown [IPv6:2600:3c01:e000:21:7:77:0:50]) by cascadia.aikidev.net (Postfix) with ESMTPSA id 4CCDA309C; Wed, 26 Feb 2025 14:11:09 -0800 (PST) From: Vagrant Cascadian <vagrant@reproducible-builds.org> Date: Wed, 26 Feb 2025 14:11:03 -0800 Message-ID: <87jz9c73wo.fsf@wireframe> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="==-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Received-SPF: pass client-ip=173.255.214.101; envelope-from=vagrant@reproducible-builds.org; helo=cascadia.aikidev.net X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, RCVD_IN_VALIDITY_CERTIFIED_BLOCKED=0.001, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: guix-patches@gnu.org List-Id: <guix-patches.gnu.org> List-Unsubscribe: <https://lists.gnu.org/mailman/options/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=unsubscribe> List-Archive: <https://lists.gnu.org/archive/html/guix-patches> List-Post: <mailto:guix-patches@gnu.org> List-Help: <mailto:guix-patches-request@gnu.org?subject=help> List-Subscribe: <https://lists.gnu.org/mailman/listinfo/guix-patches>, <mailto:guix-patches-request@gnu.org?subject=subscribe> Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org X-getmail-retrieved-from-mailbox: Patches |
Series |
[bug#76602] Reprotest fails to run due to missing execute bit
|
|
Commit Message
Vagrant Cascadian
Feb. 26, 2025, 10:11 p.m. UTC
Reprotest fails to run correctly due to files that are not marked executable: reprotest --verbose --vary=-fileordering,-domain_host,-user_group,-time -c 'date > date' . date -- null WARNING:reprotest:The control build runs on 1 CPU by default, give --min-cpus to increase this. WARNING:reprotest:diffoscope not available, falling back to regular diff INFO:reprotest:STARTING VIRTUAL SERVER ['/gnu/store/7cglj9r39y4hfbwzd3rbh2rgl1yg343v-reprotest-0.7.28/lib/python3.10/site-packages/reprotest/virt/autopkgtest-virt-null'] Traceback (most recent call last): File "/gnu/store/7cglj9r39y4hfbwzd3rbh2rgl1yg343v-reprotest-0.7.28/lib/python3.10/site-packages/reprotest/__init__.py", line 862, in run return 0 if check_func(*check_args) else 1 File "/gnu/store/7cglj9r39y4hfbwzd3rbh2rgl1yg343v-reprotest-0.7.28/lib/python3.10/site-packages/reprotest/__init__.py", line 370, in check proc = test_args._replace(result_dir=result_dir).corun_builds(testbed_args) File "/gnu/store/7cglj9r39y4hfbwzd3rbh2rgl1yg343v-reprotest-0.7.28/lib/python3.10/site-packages/reprotest/__init__.py", line 114, in start next(cr) File "/gnu/store/7cglj9r39y4hfbwzd3rbh2rgl1yg343v-reprotest-0.7.28/lib/python3.10/site-packages/reprotest/__init__.py", line 322, in corun_builds with start_testbed(virtual_server_args, temp_dir, no_clean_on_error, File "/gnu/store/50047r6f9chb6dwd01f9hai90y9arwb4-python-3.10.7/lib/python3.10/contextlib.py", line 135, in __enter__ return next(self.gen) File "/gnu/store/7cglj9r39y4hfbwzd3rbh2rgl1yg343v-reprotest-0.7.28/lib/python3.10/site-packages/reprotest/__init__.py", line 85, in start_testbed testbed.start() File "/gnu/store/7cglj9r39y4hfbwzd3rbh2rgl1yg343v-reprotest-0.7.28/lib/python3.10/site-packages/reprotest/lib/adt_testbed.py", line 134, in start self.sp = subprocess.Popen(self.vserver_argv, File "/gnu/store/50047r6f9chb6dwd01f9hai90y9arwb4-python-3.10.7/lib/python3.10/subprocess.py", line 969, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "/gnu/store/50047r6f9chb6dwd01f9hai90y9arwb4-python-3.10.7/lib/python3.10/subprocess.py", line 1845, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) PermissionError: [Errno 13] Permission denied: '/gnu/store/7cglj9r39y4hfbwzd3rbh2rgl1yg343v-reprotest-0.7.28/lib/python3.10/site-packages/reprotest/virt/autopkgtest-virt-null' The reprotest version 0.7.21 included in guix v1.4.0 did have these files marked executable, but for some reason in recent versions (maybe changes in pyproject-build-system?), they are shipped without the execute bit set. I have not git bisected between all the versions of guix to see exactly where it starts failing. CCed members of the python team if they have ideas about changes in the build system which might cause the issue. The attached patch marks the necessary files are executable with an added phase. Open to refactorring the patch, but my guile skills are quite limited and this works! live well, vagrant
Comments
Hi, > The reprotest version 0.7.21 included in guix v1.4.0 did have these > files marked executable, but for some reason in recent versions (maybe > changes in pyproject-build-system?), they are shipped without the > execute bit set. I have not git bisected between all the versions of > guix to see exactly where it starts failing. my best guess is that the package previously used python-build-system instead of pyproject-build-system. The latter basically builds a zip file (wheel) of everything and extracts it to site-packages. Zip files don’t include the +x bit and so it gets lost in the process. I believe this is a bug in the package. It should either indirectly call these files via the python3 executable or mark them as entry points[1], so pyproject-build-system can put an executable into /bin. [1] https://setuptools.pypa.io/en/latest/userguide/entry_point.html > The attached patch marks the necessary files are executable with an > added phase. Open to refactorring the patch, but my guile skills are > quite limited and this works! Perhaps (chmod file #o755) instead of (invoke …)? Otherwise should be fine to get it working again. Cheers, Lars
On 2025-02-28, Lars-Dominik Braun wrote: >> The reprotest version 0.7.21 included in guix v1.4.0 did have these >> files marked executable, but for some reason in recent versions (maybe >> changes in pyproject-build-system?), they are shipped without the >> execute bit set. I have not git bisected between all the versions of >> guix to see exactly where it starts failing. > > my best guess is that the package previously used python-build-system > instead of pyproject-build-system. The latter basically builds a zip file > (wheel) of everything and extracts it to site-packages. Zip files don’t > include the +x bit and so it gets lost in the process. Good hint! It was switched to pyproject-build-system in d3bad46f990fbd884ca114dddd5af0eae434aecc ... and reverting that commit does get it running again! I have had a git bisect running in the background for days now to try and identify the commit, as most of the builds fail, but can stop that now! *sigh* > I believe this is a bug in the package. It should either indirectly call > these files via the python3 executable or mark them as entry points[1], > so pyproject-build-system can put an executable into /bin. > > [1] https://setuptools.pypa.io/en/latest/userguide/entry_point.html Will try to wrap my head around that and get it fixed upstream... >> The attached patch marks the necessary files are executable with an >> added phase. Open to refactorring the patch, but my guile skills are >> quite limited and this works! > > Perhaps (chmod file #o755) instead of (invoke …)? Otherwise should be > fine to get it working again. Will try it! Thanks! live well, vagrant
On 2025-02-28, Vagrant Cascadian wrote: > On 2025-02-28, Lars-Dominik Braun wrote: >>> The reprotest version 0.7.21 included in guix v1.4.0 did have these >>> files marked executable, but for some reason in recent versions (maybe >>> changes in pyproject-build-system?), they are shipped without the >>> execute bit set. I have not git bisected between all the versions of >>> guix to see exactly where it starts failing. >> >> my best guess is that the package previously used python-build-system >> instead of pyproject-build-system. The latter basically builds a zip file >> (wheel) of everything and extracts it to site-packages. Zip files don’t >> include the +x bit and so it gets lost in the process. > > Good hint! It was switched to pyproject-build-system in > d3bad46f990fbd884ca114dddd5af0eae434aecc ... and reverting that commit > does get it running again! > > I have had a git bisect running in the background for days now to try > and identify the commit, as most of the builds fail, but can stop that > now! *sigh* > > >> I believe this is a bug in the package. It should either indirectly call >> these files via the python3 executable or mark them as entry points[1], >> so pyproject-build-system can put an executable into /bin. >> >> [1] https://setuptools.pypa.io/en/latest/userguide/entry_point.html > > Will try to wrap my head around that and get it fixed upstream... Still should do this at some point... >>> The attached patch marks the necessary files are executable with an >>> added phase. Open to refactorring the patch, but my guile skills are >>> quite limited and this works! >> >> Perhaps (chmod file #o755) instead of (invoke …)? Otherwise should be >> fine to get it working again. > > Will try it! Thanks! Pushed as: 2558392803663f4381fa9c09a53d329b719152bd gnu: reprotest: Add phase fixing executable bit on virt files. Thanks for your help! live well, vagrant
From 5ed6bdda83e9e06f5984faac3d347b91438e9b04 Mon Sep 17 00:00:00 2001 From: Vagrant Cascadian <vagrant@reproducible-builds.org> Date: Wed, 26 Feb 2025 11:49:48 -0800 Subject: [PATCH] gnu: reprotest: Add phase fixing executable bit on virt files. * gnu/packages/diffoscope.scm (reprotest): Add 'make-virt-files-executable phase. --- gnu/packages/diffoscope.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/gnu/packages/diffoscope.scm b/gnu/packages/diffoscope.scm index d0e911363d..90be6e68ec 100644 --- a/gnu/packages/diffoscope.scm +++ b/gnu/packages/diffoscope.scm @@ -273,6 +273,13 @@ (define-public reprotest #:tests? #f #:phases #~(modify-phases %standard-phases + (add-after 'compress-documentation 'make-virt-files-executable + ;; The autopkgtest-virt- files need to be marked executable for + ;; reprotest to function correctly. + (lambda _ + (for-each (lambda (file) + (invoke "chmod" "+x" file)) + (find-files #$output "autopkgtest-virt-.*")))) (add-after 'install 'install-doc (lambda _ (let* ((mandir1 (string-append base-commit: 54ff5d33739ae95c19f4ed5bea38d2613f6f7d3c -- 2.39.5