From unknown Fri Jun 20 07:27:15 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#47382 <47382@debbugs.gnu.org> To: bug#47382 <47382@debbugs.gnu.org> Subject: Status: runtest doesn't work with Solaris 10 /bin/sh Reply-To: bug#47382 <47382@debbugs.gnu.org> Date: Fri, 20 Jun 2025 14:27:15 +0000 retitle 47382 runtest doesn't work with Solaris 10 /bin/sh reassign 47382 dejagnu submitter 47382 Rainer Orth severity 47382 normal owner 47382 jcb62281@gmail.com thanks From debbugs-submit-bounces@debbugs.gnu.org Thu Mar 25 06:33:15 2021 Received: (at submit) by debbugs.gnu.org; 25 Mar 2021 10:33:15 +0000 Received: from localhost ([127.0.0.1]:37230 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lPNIg-0000bw-Oj for submit@debbugs.gnu.org; Thu, 25 Mar 2021 06:33:15 -0400 Received: from lists.gnu.org ([209.51.188.17]:34564) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lPNIe-0000bn-QT for submit@debbugs.gnu.org; Thu, 25 Mar 2021 06:33:13 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:48108) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lPNIe-0002A9-IT for bug-dejagnu@gnu.org; Thu, 25 Mar 2021 06:33:12 -0400 Received: from smtp.cebitec.uni-bielefeld.de ([129.70.160.84]:54376) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lPNIa-0006Hn-9r for bug-dejagnu@gnu.org; Thu, 25 Mar 2021 06:33:12 -0400 Received: from localhost (localhost [127.0.0.1]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id B31E840A5 for ; Thu, 25 Mar 2021 11:33:03 +0100 (CET) X-Virus-Scanned: amavisd-new at CeBiTec.Uni-Bielefeld.DE Received: from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (smtp.cebitec.uni-bielefeld.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id b3kdvaYRGIBD for ; Thu, 25 Mar 2021 11:33:03 +0100 (CET) Received: from manam.CeBiTec.Uni-Bielefeld.DE (p50854142.dip0.t-ipconnect.de [80.133.65.66]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPSA id 452A53D4E for ; Thu, 25 Mar 2021 11:33:03 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=CeBiTec.Uni-Bielefeld.DE; s=20200306; t=1616668383; bh=r5ZKctyBygHbJLv5F4H5YgaWDXhov8+oOIH0TDoeuDc=; h=From:To:Subject:Date:From; b=EhVsaR/54oANji/Y+5V5xYA6XYcgj3iz2+rpCb7fpTzX3x98OKM5iA6MdarzWsk+s S8PPPUyxpc32AAUxiLT/5gQa24w+CIkvKtsQkYu0qRM57WwTKjpEdyzNkdkVfo8vyo 7Qpp4bD5lCrvGRNfUnyBdCrg+zkSuspRs3JurLhC6alWhdOJSTXFEwIavFVVMj5cX1 AEKVlDiGpaT++KYWnUi1rBz6QZDq8zF9Rg3/JfWinDigzB5G01h5PAROf3OGIWKY7U YBLqL4zpYXz8XwMad20bU/6UDdC/1JgvyaCgkoSK6Pm7iUtiBrjgCc8zrDfTtQG6r2 0Iy+vmpYrrCTw== From: Rainer Orth To: bug-dejagnu@gnu.org Subject: runtest doesn't work with Solaris 10 /bin/sh Date: Thu, 25 Mar 2021 11:33:02 +0100 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.90 (usg-unix-v) MIME-Version: 1.0 Content-Type: text/plain Received-SPF: none client-ip=129.70.160.84; envelope-from=ro@cebitec.uni-bielefeld.de; helo=smtp.CeBiTec.Uni-Bielefeld.DE X-Spam_score_int: -42 X-Spam_score: -4.3 X-Spam_bar: ---- X-Spam_report: (-4.3 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_HELO_NONE=0.001, SPF_NONE=0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) When trying DejaGnu 1.6.3 rc1 on Solaris 10, it failed immediately with: runtest: syntax error at line 43: `execpath=$' unexpected The script hardcodes #!/bin/sh, but the Solaris 10 /bin/sh is effectively the old Bourne Shell and doesn't support $(). There are several options, I believe: * Substitute a shell that does (like /bin/ksh in the Solaris 10 case). * Rework the script to avoid the construct. * Give up in horror and declare Solaris 10 unsupported, preferably with a decent error message at configure time. Rainer -- ----------------------------------------------------------------------------- Rainer Orth, Center for Biotechnology, Bielefeld University From debbugs-submit-bounces@debbugs.gnu.org Fri Mar 26 00:46:58 2021 Received: (at 47382) by debbugs.gnu.org; 26 Mar 2021 04:46:58 +0000 Received: from localhost ([127.0.0.1]:40143 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lPeN7-0005TK-Uj for submit@debbugs.gnu.org; Fri, 26 Mar 2021 00:46:58 -0400 Received: from mail-oo1-f54.google.com ([209.85.161.54]:36637) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lPeN6-0005T7-18 for 47382@debbugs.gnu.org; Fri, 26 Mar 2021 00:46:56 -0400 Received: by mail-oo1-f54.google.com with SMTP id w1-20020a4adec10000b02901bc77feac3eso1031409oou.3 for <47382@debbugs.gnu.org>; Thu, 25 Mar 2021 21:46:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:reply-to:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=yr9G4cVo2cVBP5pXTYwFw17sXh+a3F72Edopy5TYa1A=; b=QYB8XBMwizehr4IPF4RlPZLqgTLNV6gxJ//s/LrBPsrLnexq92FrXLEitEeXkVPgIM cRiUDBeaxF9O+lFEVLZ5xEHbqOR0O7A9S0xRpDFlBEgkADPvJmHjJN2TiOTetWPVknqA dlTubPL+mbKU+DhVqu4MuJTYJ+lpTsrXgx7JwWo4BCWCwjjug0D2/mGjqk3+VuvRyj2h Lt5yjGXz9+wC3M10XoR4pG9vxbsKvO2nEbIlOrydOKf/ais7rn9aZFe5/6oV7hlRTr/a /ZRpNzkMf9Hc6Ki7iNgyCgWGHlxuQYdbkj2LLrNroU0dy+mO2O1CE4KfaYADspo9cQ1U 64qg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:reply-to:user-agent :mime-version:to:cc:subject:references:in-reply-to :content-transfer-encoding; bh=yr9G4cVo2cVBP5pXTYwFw17sXh+a3F72Edopy5TYa1A=; b=OKCX1x/u3YlUCOK6qOXqaqTeqr+uC+xvIHWT5hRbeDWqasHHBM/XyeIqzRrEO41y2Q jldA918X3GRvDdfbEx8uM+VHXfmoceMwjWjcImLIZzwPQiBHrI7hLy5dzYrK6byUAKIN XDO68KOnhmVlbN+XyrGvvc+7iLHC7WHnFsjQxPScUXp+UvhBopMefyulMqwXjlyVtoS8 TAvnK+cooBxf+EK6bOVNP9MD/2ipiWbZvZGTeWRQQcH2RWNi869QCfFJPFErfWv8ZO0q MxmRceyA1AIrlEo24jDUFwbtuBbSpQCuwv1cQJbAJCsMnJrPyUiyw8pjHlLj1gJoP//b SYew== X-Gm-Message-State: AOAM533rfK0AWHgzOcZ8/qQrrB2zAb8l3L4n4Wsiu/SRtos9U/ZiP/uK By0BRm3N24pPMhC5itdBLCM5wS2FRJY= X-Google-Smtp-Source: ABdhPJwfCd5VTlMk90xOJ8bnKdsOehGmP/ffMCPcB1ptQZFXLO4WDfWtBbMggfRZvDBQtnDa3Nor+Q== X-Received: by 2002:a4a:1104:: with SMTP id 4mr9899470ooc.57.1616734010287; Thu, 25 Mar 2021 21:46:50 -0700 (PDT) Received: from [192.168.2.42] (adsl-70-133-144-213.dsl.ablntx.sbcglobal.net. [70.133.144.213]) by smtp.gmail.com with ESMTPSA id w21sm1542488oiw.33.2021.03.25.21.46.49 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 25 Mar 2021 21:46:49 -0700 (PDT) Message-ID: <605D6737.7000907@gmail.com> Date: Thu, 25 Mar 2021 23:46:47 -0500 From: Jacob Bachmeyer User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: Rainer Orth Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: In-Reply-To: Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: jcb62281@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) Rainer Orth wrote: > When trying DejaGnu 1.6.3 rc1 on Solaris 10, it failed immediately with: > > runtest: syntax error at line 43: `execpath=$' unexpected > > The script hardcodes #!/bin/sh, but the Solaris 10 /bin/sh is > effectively the old Bourne Shell and doesn't support $(). > > There are several options, I believe: > > * Substitute a shell that does (like /bin/ksh in the Solaris 10 case). > > * Rework the script to avoid the construct. > > * Give up in horror and declare Solaris 10 unsupported, preferably with > a decent error message at configure time. I had expected that some system out there might do this when I resisted pressure to more aggressively use newer shell constructs in the "dejagnu" multipurpose launcher script. The previous maintainer had changed this because shellcheck complains about the old `backticks` form. I have chosen rework the script to return to `` instead of $() and `expr ...` instead of $((...)) before rc2. As I am unable to test on Solaris, these reports are particularly helpful. A patch has been pushed to Savannah on the "dejagnu-1.6.3" branch and will be included in release candidate 2. While I would prefer if you could confirm that the patch fixes this bug prior to releasing rc2, I will understand if you do not have Git on your Solaris machine. This issue should be fixed in commit e3b14d8555c5cabad03b9ccaa6aa1976ed590201 on the dejagnu-1.6.3 branch. After the 1.6.3 release, bugfixes on that branch will be forward-ported to master. I plan to look at the other two bugs you reported tomorrow. -- Jacob From debbugs-submit-bounces@debbugs.gnu.org Mon Mar 29 18:45:07 2021 Received: (at control) by debbugs.gnu.org; 29 Mar 2021 22:45:07 +0000 Received: from localhost ([127.0.0.1]:49809 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR0d9-00023u-1F for submit@debbugs.gnu.org; Mon, 29 Mar 2021 18:45:07 -0400 Received: from mail-oi1-f173.google.com ([209.85.167.173]:37606) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lR0d7-000239-31 for control@debbugs.gnu.org; Mon, 29 Mar 2021 18:45:06 -0400 Received: by mail-oi1-f173.google.com with SMTP id k25so14630060oic.4 for ; Mon, 29 Mar 2021 15:45:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:reply-to:user-agent:mime-version:to:subject :content-transfer-encoding; bh=33hwokxl/Jkqw70+56uUpOqwtBJ55bl4UCssKgS2IZs=; b=n2/8rRAtH3d+ulvPa2OQfyrAqT+9vI9MZSrwCGFQI6wrQoEwknlrfYLzWAQEfD0Tke Q7WKbvrYauyf8QZoMKAohj6J+Jmdfne8Tkv+WZPUTBJ+ATcEWJ2UMrY+q6FFtmxWc8JM n6L2U9RoPMzsSH5omgoVj5yiW6gO+0L9FeJ/xP9m3+Lw04eB+DFWlWhNTr2IgS66NexF DTOdmX1ptlvZxWFmoQXGlrU7ATlFf+5QViv71kHu4KBAlNEE95RCy1kJ9y8lUVWrlYyO RNkjzeZdX5AHvd1awd2Cjliy+w8H4lfFN+yBsEsQ2T4Rn9UIJZ48geX8cw/OGTSSEPRY A10w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:reply-to:user-agent :mime-version:to:subject:content-transfer-encoding; bh=33hwokxl/Jkqw70+56uUpOqwtBJ55bl4UCssKgS2IZs=; b=lFNPpmq8k+JqBW9iFZyj6MsEhcAxzLyqvUL+Cz07C1Z5kRLifoPEqChn0nzVrdv3sc KMGYCBJSLRqWgdsglZ5MgYZ4wBazAZl/a7RsHkq6rJ1TSO/GU3tzE9OV8BwjbyMukSa7 ElYfz7VvpJhKhfIhR367Z5ntstQ5KaAVDKUCIttvR/QUx2hX1a8S82p0sMWbYvwcMKzE 7LswsHRj6gofXJnt6m6cRt7zWk5I8az24kiwj4ob7XqPuvnQ8DAFqMc40mWyv1C6rO0g tDQaMmlbfOzcV4tkPwbQJ85d+DkzmdHVRTx5D70BY+We/83+98Qn+g/iQdmu5KIqeDSq LZ9w== X-Gm-Message-State: AOAM531GahcafHRymYD1VstV9dkeKwVLrNjTc4mk+JCPilKVHEKSzjs4 vKm6NX7kmx5umsazdYXcqCTsL4D0Ug4= X-Google-Smtp-Source: ABdhPJzvwyM+yOGFNmq63s4P/yFsLrwIVh9UpR4hrTnVzp5nAn28QLK/u5mvUdI7LCkRNSRXIyNOow== X-Received: by 2002:a05:6808:a1a:: with SMTP id n26mr1007055oij.0.1617057899155; Mon, 29 Mar 2021 15:44:59 -0700 (PDT) Received: from [192.168.2.42] (adsl-70-133-144-213.dsl.ablntx.sbcglobal.net. [70.133.144.213]) by smtp.gmail.com with ESMTPSA id d1sm4566939oth.13.2021.03.29.15.44.58 for (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Mon, 29 Mar 2021 15:44:58 -0700 (PDT) Message-ID: <60625869.9080400@gmail.com> Date: Mon, 29 Mar 2021 17:44:57 -0500 From: Jacob Bachmeyer User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: GNU bug tracker automated control server Subject: bug administrivia 2021-03-29 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: control X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: jcb62281@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) package dejagnu # I will handle these owner 47382 ! owner 47385 ! owner 47386 ! thanks From debbugs-submit-bounces@debbugs.gnu.org Wed Mar 31 08:23:42 2021 Received: (at 47382) by debbugs.gnu.org; 31 Mar 2021 12:23:42 +0000 Received: from localhost ([127.0.0.1]:53730 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lRZss-0001Bu-0O for submit@debbugs.gnu.org; Wed, 31 Mar 2021 08:23:42 -0400 Received: from smtp.cebitec.uni-bielefeld.de ([129.70.160.84]:58160) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lRZso-0001Bj-Uy for 47382@debbugs.gnu.org; Wed, 31 Mar 2021 08:23:39 -0400 Received: from localhost (localhost [127.0.0.1]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id C19EBB2863 for <47382@debbugs.gnu.org>; Wed, 31 Mar 2021 14:23:36 +0200 (CEST) X-Virus-Scanned: amavisd-new at CeBiTec.Uni-Bielefeld.DE Received: from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (smtp.cebitec.uni-bielefeld.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id eqL76UBb3BjH for <47382@debbugs.gnu.org>; Wed, 31 Mar 2021 14:23:35 +0200 (CEST) Received: from manam.CeBiTec.Uni-Bielefeld.DE (p50854142.dip0.t-ipconnect.de [80.133.65.66]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPSA id 97FF6B2A01 for <47382@debbugs.gnu.org>; Wed, 31 Mar 2021 14:23:35 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=CeBiTec.Uni-Bielefeld.DE; s=20200306; t=1617193415; bh=6/1U9xwyGF0dSSAS0gJPvlmeEqTR5VWy4kjuyST58AM=; h=From:To:Subject:References:Date:In-Reply-To:From; b=f/oqg/tNsoft0x44Uy16ruHNJDK6UiA9E0VMHEfPwb0/ttSSSjWdSodB1SrsI3OGy gWVLmhI0rquYTcvhL8PFm4hXruiOdGbQCG04DLxj3O8JkTcvdFRM5ZTZhtgUL6F9Dj zyqFo0Ssvdyu6UsgRcpur4zzEkHQyZNA2q+UHPGxSvzYXmnOTyussXlqtSmGuA4pTa O6edEdYVjgfyTAs9jJuufoMttre4YygOQv6nlt6cTr3OxLLxjrVeuAMXAUVI2lDbSn QYPE6uLJYbSrjOQJR3Lh3boF8523U1bxMSCr33ieJEQ327A00OPgWtv2YmdGc6MeIA kLO4V1wG56jfA== From: Rainer Orth To: 47382@debbugs.gnu.org Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> Date: Wed, 31 Mar 2021 14:23:35 +0200 In-Reply-To: <605D6737.7000907@gmail.com> (Jacob Bachmeyer's message of "Thu, 25 Mar 2021 23:46:47 -0500") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.90 (usg-unix-v) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 47382 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Jacob Bachmeyer writes: > I had expected that some system out there might do this when I resisted > pressure to more aggressively use newer shell constructs in the > "dejagnu" multipurpose launcher script. > > The previous maintainer had changed this because shellcheck complains about > the old `backticks` form. I have chosen rework the script to return to `` > instead of $() and `expr ...` instead of $((...)) before rc2. > > As I am unable to test on Solaris, these reports are particularly helpful. As it happens, you could get access: there are gcc210 (Solaris 10) and gcc211 (Solaris 11.3) in the GCC compile farm. Not saying you should, of course, it's just an option. > A patch has been pushed to Savannah on the "dejagnu-1.6.3" branch and will > be included in release candidate 2. While I would prefer if you could > confirm that the patch fixes this bug prior to releasing rc2, I will > understand if you do not have Git on your Solaris machine. While I don't (any longer), that wouldn't matter: I can easily check out the sources on a newer system and used it from there via NFS. > This issue should be fixed in commit > e3b14d8555c5cabad03b9ccaa6aa1976ed590201 on the dejagnu-1.6.3 branch. > After the 1.6.3 release, bugfixes on that branch will be forward-ported to > master. Unfortunately, I got to testing this only now (with rc2), and the results are not encouraging, unfortunately: * first, I get runtest: !: not found another construct not supported by the original bourne shell. While looking at this, I noticed that this is in if ! command -v "$expectbin" > /dev/null ; then However, /bin/sh doesn't have an internal command either. As it happens, an /usr/bin/command exists for POSIX.1 compatibility, which just calls /usr/bin/ksh. This may be ok in this particular case, but if it works in general from /bin/sh scripts remains a question. * There's also Native configuration is /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/config.guess: syn tax error at line 35: `me=$' unexpected another POSIX shell construct, and less easily avoided because this comes from upstream. I'd already noticed another instance of the problem after I'd sent the original PR: while e.g. autoconf-generated configure and related in gcc are very careful to invoke config.guess only prefixed with $SHELL, runtest.exp exec's it directly, again falling into the trap of POSIX shell constructs (also $(), maybe more). * Next, I had /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/dejagnu: Variants=gawk awk tcl exp bash sh: is not an identifier from readonly Variants="gawk awk tcl exp bash sh" yet one more. Seeing all this suggests to me that my suggestion of substituting #!@SHELL@ into the DejaGnu shell scripts at build time (and making sure other invocations of shell scripts are prefixed with a POSIX shell, too) is a safer approach and avoids cripling the scripts with bourne shell constructs that cannot even be tested reliably. After all, users of Solaris 10 (or any other system without a POSIX /bin/sh) are well accustomed to setting CONFIG_SHELL to either /bin/ksh or /bin/bash to avoid issues with the ancient bourne shell. I've tried that by hacking #!/bin/ksh into the dejagnu and runtest scripts in the source dir as well as prefixing the exec ... config.guess in runtest.exp with /bin/ksh either. This way, all runtest tests PASS. However, there are more errors still: === launcher Summary === # of expected passes 5 # of unexpected failures 45 # of unsupported tests 2 === report-card Summary === # of unresolved testcases 2 Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/testsuite/report-card.all/onetest .exp ... spawn /bin/sh -c cd /vol/gcc/obj/dejagnu/dejagnu-1.6.3-rc2/testsuite/report-card .all/onetest && exec /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/dejagnu report-card^ M expr: syntax error ERROR: could not resolve command dejagnu-report-card There are obviously more hardcoded uses of /bin/sh here and elsewhere, but I haven't looked for those yet. From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 01 19:59:05 2021 Received: (at 47382) by debbugs.gnu.org; 1 Apr 2021 23:59:05 +0000 Received: from localhost ([127.0.0.1]:58855 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lS7DM-0007ku-RS for submit@debbugs.gnu.org; Thu, 01 Apr 2021 19:59:05 -0400 Received: from mail-oi1-f172.google.com ([209.85.167.172]:45819) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lS7DL-0007kN-QV for 47382@debbugs.gnu.org; Thu, 01 Apr 2021 19:59:04 -0400 Received: by mail-oi1-f172.google.com with SMTP id d12so3443701oiw.12 for <47382@debbugs.gnu.org>; Thu, 01 Apr 2021 16:59:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:reply-to:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=ckCl4/4M5ZLxoDvByDtPO+cE//hjxTk3twqhtJrp1L4=; b=ZWEW9i4wB4ZDnzynjewDi9F2vpiLu0MVXrOdkv6t8PJOI+g3q6h4u3PmcDxEoKENyY 4QwoE8LstI7DP6ydVJuG7JH9rMJV+0HRx/PJtRa2N2Me9yOr9NWoc7eecK8G9JuynyAj oe/7bmWtVdbCCA8fZ6qJ7i41wM0xaaG0ZEAXJ0cYlxT3gcZ7Q70WIv8ounp1RfxjU7yt 6SM0noJuuWS4efxPhHVPq8AP6+FVOophbSEG0TYlH65yNzeliCx3qD8+pMqQ6uYG1DA0 beFYUKtfiSzMRhtFR+AP/3wiJyTrf1iPHIUHTtsL51ng4k8J8EIQ7SegOQBor8lSOkbi B3qw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:reply-to:user-agent :mime-version:to:cc:subject:references:in-reply-to :content-transfer-encoding; bh=ckCl4/4M5ZLxoDvByDtPO+cE//hjxTk3twqhtJrp1L4=; b=OdfQfyBBCeKoxA/jn7ieUpwZ/q8SC7c8/HPuNIitSBBPKUetgM19qWgefKlQ9JRG1V 3LUHQyYwfizzTsQaUp0WZ6p8R6RrR+7olGDMCh0ucb9M/bf7sCetc+kqhEsRNCMuoY9v eW5t6G9aThCCcbUnOrPjLoNqujYMJ0J8OtglrScVKKTS82kjW5HaEORGwDKLlt/K1Asj qP+tMjLAalywFTt/yaq8k1fm8h0htnIyScltHEV3ygZIMhzuOzf8GJBVdsOtayCQsAyk g69jZoo9mX7tshG6Wkbniyun789UJGXSKyWkv/Rp6+XxXtSTUyUfRhvQrzxQq+KVQhbl 8mlw== X-Gm-Message-State: AOAM532tLy6LQd65v7xy+qpDRUifBvafVYjJt8PIsywfQsTPvTIKj3x2 z6yQsI9yF4phRVsYjqhTtY5YCm5GVyo= X-Google-Smtp-Source: ABdhPJzHAyPCZm/+DqzbfDQJpeA3zTj/4CldUmXo6BG7ZTjI31Tal1KM1H645hNGxRgSkp1hGa52Xg== X-Received: by 2002:aca:d70a:: with SMTP id o10mr8008138oig.143.1617321537765; Thu, 01 Apr 2021 16:58:57 -0700 (PDT) Received: from [192.168.2.42] (adsl-70-133-144-213.dsl.ablntx.sbcglobal.net. [70.133.144.213]) by smtp.gmail.com with ESMTPSA id d24sm1415039otf.12.2021.04.01.16.58.56 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 01 Apr 2021 16:58:57 -0700 (PDT) Message-ID: <60665E3F.4080100@gmail.com> Date: Thu, 01 Apr 2021 18:58:55 -0500 From: Jacob Bachmeyer User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: Rainer Orth Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: jcb62281@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) Rainer Orth wrote: > Jacob Bachmeyer writes: > > >> I had expected that some system out there might do this when I resisted >> pressure to more aggressively use newer shell constructs in the >> "dejagnu" multipurpose launcher script. >> >> The previous maintainer had changed this because shellcheck complains about >> the old `backticks` form. I have chosen rework the script to return to `` >> instead of $() and `expr ...` instead of $((...)) before rc2. >> >> As I am unable to test on Solaris, these reports are particularly helpful. >> > > As it happens, you could get access: there are gcc210 (Solaris 10) and > gcc211 (Solaris 11.3) in the GCC compile farm. Not saying you should, > of course, it's just an option. > I will look into it. > [...] >> This issue should be fixed in commit >> e3b14d8555c5cabad03b9ccaa6aa1976ed590201 on the dejagnu-1.6.3 branch. >> After the 1.6.3 release, bugfixes on that branch will be forward-ported to >> master. >> > > Unfortunately, I got to testing this only now (with rc2), and the > results are not encouraging, unfortunately: > > * first, I get > > runtest: !: not found > > another construct not supported by the original bourne shell. While > looking at this, I noticed that this is in > > if ! command -v "$expectbin" > /dev/null ; then > > However, /bin/sh doesn't have an internal command either. As it > happens, an /usr/bin/command exists for POSIX.1 compatibility, which > just calls /usr/bin/ksh. This may be ok in this particular case, but > if it works in general from /bin/sh scripts remains a question. > The system providing an external command(1) command should not be a problem, even if its implementation using the /usr/bin/ksh builtin is somewhat amusing. This also suggests that we are "almost there" in terms of making runtest run with Solaris 10 /bin/sh; the very next command in the script is to exec Expect, which gets us away from the shell and its limitations. (Give up? One step away from success? No!) The Autoconf shell guidelines specifically say that using ! like that in "if" is not portable. This is fixed in commit c35660505e4ec0a79a1ca0e5ea88d6e78caa1778 which applies this patch to runtest: 8<---- diff --git a/runtest b/runtest index b2e0a4c..807a6ae 100755 --- a/runtest +++ b/runtest @@ -152,7 +152,7 @@ if [ -z "$runpath" ] ; then exit 1 fi -if ! command -v "$expectbin" > /dev/null ; then +if command -v "$expectbin" > /dev/null ; then :; else echo "ERROR: unable to find expect in the PATH" exit 1 fi 8<---- > * There's also > > Native configuration is /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/config.guess: syn > tax error at line 35: `me=$' unexpected > > another POSIX shell construct, and less easily avoided because this > comes from upstream. > This is a bigger problem. I do not want to maintain forked config.guess and/or config.sub scripts. > * Next, I had > > /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/dejagnu: Variants=gawk awk tcl exp bash sh: is not an identifier This seems to be a minor issue, fixed in commit 40c351f14a4342d63dcca6a9c72ae81486a1f375 which applies this patch to dejagnu: (but see below) 8<---- diff --git a/dejagnu b/dejagnu index 695c4e5..44c8962 100755 --- a/dejagnu +++ b/dejagnu @@ -53,7 +53,8 @@ # ##end # list of extensions supported for commands in priority order -readonly Variants="gawk awk tcl exp bash sh" +Variants='gawk awk tcl exp bash sh' +readonly Variants ## Recognize options 8<---- > I'd already noticed another instance of the problem after I'd sent the > original PR: while e.g. autoconf-generated configure and related in > gcc are very careful to invoke config.guess only prefixed with $SHELL, > runtest.exp exec's it directly, again falling into the trap of POSIX > shell constructs (also $(), maybe more). > > [...] > > Seeing all this suggests to me that my suggestion of substituting > > #!@SHELL@ > > into the DejaGnu shell scripts at build time (and making sure other > invocations of shell scripts are prefixed with a POSIX shell, too) is a > safer approach and avoids cripling the scripts with bourne shell constructs > that cannot even be tested reliably. So far, none of these changes have been close to crippling the scripts. Using "#!@SHELL@" is not an option because I want DejaGnu to be able to run from the source tree, at least on reasonably modern Free systems. The ability to run DejaGnu from a Git checkout should help make up for the loss of support for the old Cygnus tree layout. However, "#!/bin/sh" on the first line is similarly unique, so... > After all, users of Solaris 10 (or > any other system without a POSIX /bin/sh) are well accustomed to setting > CONFIG_SHELL to either /bin/ksh or /bin/bash to avoid issues with the > ancient bourne shell. > > I've tried that by hacking #!/bin/ksh into the dejagnu and runtest > scripts in the source dir as well as prefixing the exec ... config.guess > in runtest.exp with /bin/ksh either. This way, all runtest tests PASS. > ... I am considering arranging for configure to patch the shell scripts exactly like that. At minimum, the config.* scripts that get installed will need to be patched to use the configure SHELL in their #! lines even if I do manage to get the launcher scripts to run under Solaris 10 /bin/sh. Since the runtest launcher script has previously run under ancient Bourne shells, I consider it failing to run while any systems still use such ancient shells to be a regression that needs to be fixed. The dejagnu launcher script is newer and more complex, so it may actually need a newer shell, but (as you have reported) there still seems to be a problem with Solaris 10 /bin/ksh. > However, there are more errors still: > > === launcher Summary === > > # of expected passes 5 > # of unexpected failures 45 > # of unsupported tests 2 > Can you post the launcher.log file? The dejagnu script is fairly simple, and I suspect that I may be able to deduce the causes of those failures, especially if they are like the "report-card" failure that follows. > === report-card Summary === > > # of unresolved testcases 2 > > Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/testsuite/report-card.all/onetest > .exp ... > spawn /bin/sh -c cd /vol/gcc/obj/dejagnu/dejagnu-1.6.3-rc2/testsuite/report-card > .all/onetest && exec /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/dejagnu report-card^ > M > expr: syntax error > ERROR: could not resolve command dejagnu-report-card > > There are obviously more hardcoded uses of /bin/sh here and elsewhere, > but I haven't looked for those yet. That hardcoded use of /bin/sh only changes directory and execs $LAUNCHER, which should run with /bin/ksh if you have patched its #! line. The "dejagnu" script is run, but fails to locate the report-card subcommand. I would be interested in the output of "/bin/ksh -x ./dejagnu report-card" in the source directory, assuming that "-x" produces an execution trace from ksh as it does from bash (... and likewise for Solaris 10 /bin/sh after applying the patch above to change the use of the readonly command). There are two likely candidates I see for this error: one is an `expr :` match to detect a leading "-" and the other is a possibility that `expr $# \> 0` in a while loop test is somehow being executed as `expr \> 0` under some condition. Both of these hypotheses imply unexpected behavior if not outright bugs in Solaris 10. There is a possibility here that dejagnu may be tickling a bug in Solaris 10 /bin/ksh and may work with /bin/sh, or may not work with either of them. -- Jacob From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 08 23:40:09 2021 Received: (at 47382) by debbugs.gnu.org; 9 Apr 2021 03:40:09 +0000 Received: from localhost ([127.0.0.1]:48712 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lUi09-0003P2-7H for submit@debbugs.gnu.org; Thu, 08 Apr 2021 23:40:09 -0400 Received: from mail-ot1-f46.google.com ([209.85.210.46]:34777) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lUi05-0003OR-9s for 47382@debbugs.gnu.org; Thu, 08 Apr 2021 23:40:07 -0400 Received: by mail-ot1-f46.google.com with SMTP id k14-20020a9d7dce0000b02901b866632f29so4465908otn.1 for <47382@debbugs.gnu.org>; Thu, 08 Apr 2021 20:40:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:reply-to:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=RzdrRgVBZnwXhPVzLIgD43P9ADGrSphEfY2RRzWoB0E=; b=pj2hb1smz3inB1yCqaSm4kI4BKnF+KYkxHct2LgTDTSbxUNym2cd+t5rhHqY3bEp2u m2gLiu5c/8AfS9FvJ8pJbqtg9iaPqgpf9HEc1NfF9z+BYbgR14GM74svy9a0iVx1hd8G g+m9NW4tfxQehRf393BKyOCKhSOqsnbypL35DzzIyOF9aTUc1mPEEFme20XOEiBnD1t9 Qqz4dwQHmWs1+V8U7vkDPBE7jD8FuT1FskvZRmziosYBDeBV1gd/YI4j8EZa/MhlE2k8 t/QZ8FMNiw2ge1VUDaSPOa/RSPtD+uPLwbpsva+VnzUUQ9JRxGyfQScV5FldVQKY/Pem 5E1A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:reply-to:user-agent :mime-version:to:cc:subject:references:in-reply-to :content-transfer-encoding; bh=RzdrRgVBZnwXhPVzLIgD43P9ADGrSphEfY2RRzWoB0E=; b=Z2YqcUbcK6kJvNcaE0gSrg7ZvrjLHJYHSfsvDiQjbtHsP67crtVvWhK0AHxwTid3Tk dNc+jpP2QVPus9Sg026lz+Eh00cJtgu6Yu9Bal+e37mc2rbKLObdGDQ9AhU5Oo0WMfwO E8FlSq6oHixNgUINcXENy5B13C4tpo5gTh5R182LPxqs2iPwovd8Q2Z7fNLeSZ/cqIMZ c3pPAoOqB+6lWmBM+mJJ/Nsc8eNgIKtzbGHd037ICxR6fLBQyI9EbLJwQn40ltPO7SL3 /RDxW48bm76i3lqhtny1nyC4sndhYLA73QBKsDg4LkbgZfcNXKBuCvMyaBBGcfXpjbur xD/w== X-Gm-Message-State: AOAM532H/0vtJZb8o4P4tE05BbW2GumCCQPdH0Y2H0mhw+J3LWM42ofM UrsW7vI0PjwVhNZ5nx7JU48eLXnFo38= X-Google-Smtp-Source: ABdhPJxBIhKFgAu85qN9KmdPiVo2B+awlIazbZNd+TSletwpYqLQzaoZ28+K5Y8IkbOGkzJDm4lUSw== X-Received: by 2002:a9d:6c2:: with SMTP id 60mr10761496otx.89.1617939599531; Thu, 08 Apr 2021 20:39:59 -0700 (PDT) Received: from [192.168.2.42] (adsl-70-133-144-213.dsl.ablntx.sbcglobal.net. [70.133.144.213]) by smtp.gmail.com with ESMTPSA id f29sm342836ots.22.2021.04.08.20.39.58 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 08 Apr 2021 20:39:58 -0700 (PDT) Message-ID: <606FCC8D.2090102@gmail.com> Date: Thu, 08 Apr 2021 22:39:57 -0500 From: Jacob Bachmeyer User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: Rainer Orth Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: jcb62281@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) Rainer Orth wrote: > * There's also > > Native configuration is /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/config.guess: syn > tax error at line 35: `me=$' unexpected > > another POSIX shell construct, and less easily avoided because this > comes from upstream. > As of commit 2ca7d52dfa1726aadd1363e399d9b41429332017, which will be in release candidate 3, configure now contains experimental logic to address this issue by patching the interpreter line in config.guess and config.sub when SHELL is not /bin/sh. > I'd already noticed another instance of the problem after I'd sent the > original PR: while e.g. autoconf-generated configure and related in > gcc are very careful to invoke config.guess only prefixed with $SHELL, > runtest.exp exec's it directly, again falling into the trap of POSIX > shell constructs (also $(), maybe more). > The "exec" used in this case is Tcl's exec(n), which simply invokes the installed copy of config.guess (via the system) with the interpreter indicated in the file. The patch now applied by configure should correct this issue. > However, there are more errors still: > > [...] > > Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/testsuite/report-card.all/onetest > .exp ... > spawn /bin/sh -c cd /vol/gcc/obj/dejagnu/dejagnu-1.6.3-rc2/testsuite/report-card > .all/onetest && exec /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/dejagnu report-card^ > M > expr: syntax error > ERROR: could not resolve command dejagnu-report-card > > There are obviously more hardcoded uses of /bin/sh here and elsewhere, > but I haven't looked for those yet. If this issue remains in rc3, I repeat my request for execution traces under both /bin/sh and /bin/ksh for the rc3 version of the dejagnu launcher script. Please attach the output of "/bin/ksh -x ./dejagnu report-card" and "/bin/sh -x ./dejagnu report-card" with both run in the DejaGnu source directory when you get the chance if there are still issues. I have delayed extending the "shell swap" logic in configure to the dejagnu launcher script because I am currently uncertain whether it will help solve any problems. -- Jacob From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 14 09:41:04 2021 Received: (at 47382) by debbugs.gnu.org; 14 Apr 2021 13:41:05 +0000 Received: from localhost ([127.0.0.1]:33986 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lWflP-0008Jj-Vv for submit@debbugs.gnu.org; Wed, 14 Apr 2021 09:41:04 -0400 Received: from smtp.cebitec.uni-bielefeld.de ([129.70.160.84]:57006) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lWflL-0008J9-Ub for 47382@debbugs.gnu.org; Wed, 14 Apr 2021 09:41:03 -0400 Received: from localhost (localhost [127.0.0.1]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id 5CA8CB672A; Wed, 14 Apr 2021 15:40:58 +0200 (CEST) X-Virus-Scanned: amavisd-new at CeBiTec.Uni-Bielefeld.DE Received: from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (smtp.cebitec.uni-bielefeld.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id nty0p3dZZnZ3; Wed, 14 Apr 2021 15:40:57 +0200 (CEST) Received: from manam.CeBiTec.Uni-Bielefeld.DE (p50854142.dip0.t-ipconnect.de [80.133.65.66]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPSA id 1B9ADB6729; Wed, 14 Apr 2021 15:40:57 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=CeBiTec.Uni-Bielefeld.DE; s=20200306; t=1618407657; bh=7hWvLqoHHuhoG9bw1ELEBwIgZV+h/mh2jjdgn6sfDu4=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=dsugPHHMQWr81mB/KuLp934tYX6c+sJjxS7lv004A5Bd37EjUDSWFtzRjXjuYYQFn p9u5b+0tyWF53TBv5PLuJQKAjPz7b+n8dnbZikijuN/jsTMWZbX7WQfo0MQSI/npNM OdDw5+Dh3QXnx3jWwVGTQE15Jdmf+ee5xHUb+yaqJrrHHSNZaqpyrwujIT5xfui23g P/xyipqUwqD8nPgyhw5j/NxHVuXnz1RYfG+9W8PWyFHnE4u4iG5OyvxZjtPkW8IQJM weUlxnn4R5uSLpbJTUnhyZtXYjKVHtXRQwTVOVDbBNN4jmox6leJyMAitUlj/Cu118 hYhYZpzOB6WmQ== From: Rainer Orth To: Jacob Bachmeyer Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> <606FCC8D.2090102@gmail.com> Date: Wed, 14 Apr 2021 15:40:56 +0200 In-Reply-To: <606FCC8D.2090102@gmail.com> (Jacob Bachmeyer's message of "Thu, 08 Apr 2021 22:39:57 -0500") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.90 (usg-unix-v) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Jacob, > Rainer Orth wrote: >> * There's also >> >> Native configuration is >> /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/config.guess: syn >> tax error at line 35: `me=$' unexpected >> >> another POSIX shell construct, and less easily avoided because this >> comes from upstream. >> > > As of commit 2ca7d52dfa1726aadd1363e399d9b41429332017, which will be in > release candidate 3, configure now contains experimental logic to > address this issue by patching the interpreter line in config.guess and > config.sub when SHELL is not /bin/sh. I'll restrict my reply to this issue for the moment because that logic caused quite a number of issues: * On Solaris 10 with CONFIG_SHELL=/bin/ksh, configure substituted /bin/ksh into the #! line of both config.guess and config.sub. Unfortunately, this has many issues: * The modified files weren't made executable, leading to lots of failures from the likes of Native configuration is couldn't execute "/vol/src/gnu/dejagnu/dejagnu-1.6.3-rc3/config.guess": permission denied * Even if I manually make the scripts executable, this isn't a proper solution: runtest.exp looks for config.guess in quite a number of places, and many projects rely on being able to drop newer config.{guess,sub} versions into their source trees to support targets that may not even have existed at the time the version of DejaGnu used was released. So using the CONFIG_SHELL should be in the exec line in runtest.exp. * Besides, modifying files in the source tree is wrong for several reasons: ** Read-only source trees need to be supported. ** If you share the same source tree between several targets, which is quite common, you might end up with a shell in #! on a second target that may not even exist there. While this could be avoided by making the substitutions to a copy in the build tree, the issue vanishes if runtest.exp uses the proper shell in the exec. From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 14 10:12:33 2021 Received: (at 47382) by debbugs.gnu.org; 14 Apr 2021 14:12:33 +0000 Received: from localhost ([127.0.0.1]:35414 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lWgFs-00019f-SY for submit@debbugs.gnu.org; Wed, 14 Apr 2021 10:12:33 -0400 Received: from smtp.cebitec.uni-bielefeld.de ([129.70.160.84]:35092) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lWgFq-00019W-Qo for 47382@debbugs.gnu.org; Wed, 14 Apr 2021 10:12:32 -0400 Received: from localhost (localhost [127.0.0.1]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id E4314B62FC; Wed, 14 Apr 2021 16:12:28 +0200 (CEST) X-Virus-Scanned: amavisd-new at CeBiTec.Uni-Bielefeld.DE Received: from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (smtp.cebitec.uni-bielefeld.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id PgmEeO4SOi_D; Wed, 14 Apr 2021 16:12:28 +0200 (CEST) Received: from manam.CeBiTec.Uni-Bielefeld.DE (p50854142.dip0.t-ipconnect.de [80.133.65.66]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPSA id 5F2BBB6367; Wed, 14 Apr 2021 16:12:28 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=CeBiTec.Uni-Bielefeld.DE; s=20200306; t=1618409548; bh=GYWp90dcb/Tak4BNli45M3UtfIi4Fh6p/3lJVzcS7+g=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=Y5eLiXNZECsbOhIHplPR9c/c9a3mtYDlztVDqj8YeUr36T1KYGKtu03cjrrTQz4b3 8nMEsvjfJtXtfOgeCJsDLcCg5wp+RIIcJG/Pr/g1SRCeiAsbGwJas8pzNh6uB21r6M 2saD8hMv6w5Il7Fj9Nn/lRwDghxL9M6IYltl29VwigRD6BCgqbxlB43hozKgCsUEXv vY4O5NlsXj9fXRTWogypKmkr7qPh1GV8GzTq9M7JmTLqvZPYQeXNgWe2oxIY+8vyV2 FFf74ivHRfWipjSg2NrfrvLnVXgJhDjXUxAglu0oVyxFDbM4AhVUGhXI0K4b19eKsc l1za2UvW9oisQ== From: Rainer Orth To: Jacob Bachmeyer Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> <606FCC8D.2090102@gmail.com> Date: Wed, 14 Apr 2021 16:12:28 +0200 In-Reply-To: <606FCC8D.2090102@gmail.com> (Jacob Bachmeyer's message of "Thu, 08 Apr 2021 22:39:57 -0500") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.90 (usg-unix-v) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Jacob, >> I'd already noticed another instance of the problem after I'd sent the >> original PR: while e.g. autoconf-generated configure and related in >> gcc are very careful to invoke config.guess only prefixed with $SHELL, >> runtest.exp exec's it directly, again falling into the trap of POSIX >> shell constructs (also $(), maybe more). >> > > The "exec" used in this case is Tcl's exec(n), which simply invokes the > installed copy of config.guess (via the system) with the interpreter > indicated in the file. The patch now applied by configure should correct > this issue. true, but according to my manual testing exec $SHELL $config_guess with SHELL initialized from CONFIG_SHELL, works just as well and avoids having to substitute the scripts imported from upstream. >> However, there are more errors still: >> >> [...] >> >> Running >> /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/testsuite/report-card.all/onetest >> .exp ... >> spawn /bin/sh -c cd >> /vol/gcc/obj/dejagnu/dejagnu-1.6.3-rc2/testsuite/report-card >> .all/onetest && exec /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/dejagnu >> report-card^ >> M >> expr: syntax error >> ERROR: could not resolve command dejagnu-report-card >> >> There are obviously more hardcoded uses of /bin/sh here and elsewhere, >> but I haven't looked for those yet. > > If this issue remains in rc3, I repeat my request for execution traces > under both /bin/sh and /bin/ksh for the rc3 version of the dejagnu > launcher script. Please attach the output of "/bin/ksh -x ./dejagnu > report-card" and "/bin/sh -x ./dejagnu report-card" with both run in the > DejaGnu source directory when you get the chance if there are still issues. It does, and happens with both /bin/sh and /bin/ksh: here's an excerpt from running env EXPECT=true TCLSH=true /bin/ksh -x /vol/gcc/obj/dejagnu/dejagnu-1.6.3-rc3/10-fresh/testsuite/launcher.all/command/bin/dejagnu foo -v -v + test -f /vol/gcc/obj/dejagnu/dejagnu-1.6.3-rc3/10-fresh/testsuite/launcher.all /command/share/dejagnu/commands/dejagnu.sh + expr foo : - + 1> /dev/null expr: syntax error There are several more instances, all for expr foo : - Solaris /bin/expr just errors out with expr: syntax error This applies not only to Solaris 10 /bin/expr, but also to the Solaris 11.4 one as well as /usr/xpg6/bin/expr there. It seems this is no wonder: expr foo : - is not in XPG7/POSIX.1 and the autoconf manual explicitly states that this is an unportable non-POSIX extension. From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 14 23:59:18 2021 Received: (at 47382) by debbugs.gnu.org; 15 Apr 2021 03:59:18 +0000 Received: from localhost ([127.0.0.1]:36134 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lWt9x-0006ut-R7 for submit@debbugs.gnu.org; Wed, 14 Apr 2021 23:59:18 -0400 Received: from mail-ot1-f51.google.com ([209.85.210.51]:45762) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lWt9v-0006ud-7G for 47382@debbugs.gnu.org; Wed, 14 Apr 2021 23:59:16 -0400 Received: by mail-ot1-f51.google.com with SMTP id f75-20020a9d03d10000b0290280def9ab76so16307293otf.12 for <47382@debbugs.gnu.org>; Wed, 14 Apr 2021 20:59:15 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:reply-to:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=/3NWv0hjso42Qnj6Vm7Q396FXfTWZcciixq+Gt5NB1U=; b=TDTGCHl9sOUTsHadkEIMgO1KYgtQTUPu+9Xw+7/hXpqR3OoYozHjmUbsOuK5RhAHy6 6nVkvQhdagTBnEiWQbVzodwRvcITpqtlPW1VmcOVlr53jwhjKkIvd39BddPMssmoghdP uhjhheHiQ2et2nSnuUjSJGvpvZkfqhZrSfwN9W42sv872ddfeKcyZTEg63Qhe8x484SK 0+soo/8UUr/vJbYvK36dAA9AmjmUQq1I0JHk7x5l+zVTeXgqDgv18heZSBx7I1ZhFzSb odpPw09uL6vmEkowatd+lEJBLALComD6HH1KcjR4fe72JUOSXv8WFTfsL9vsgMh4vcm8 MZ6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:reply-to:user-agent :mime-version:to:cc:subject:references:in-reply-to :content-transfer-encoding; bh=/3NWv0hjso42Qnj6Vm7Q396FXfTWZcciixq+Gt5NB1U=; b=Aa8ORH0ILpONTbujP7zAezARSCLwwX0DZxBKEL0YepwzUA4oXdD9khooeqNIcKqE0O j7vi76UICDMRmGF0MupY9ezMKyAgvIkRqITD37DwrwLMF7/UdPiMpZsahgA5rHgQrEhZ iHCVByLFRyRksfEMoZJdu1l1RqoPVDqKKCf+Vwio622J3y4Fk9UGC7TnIr+AksF2wFDK Zi4PqfuAkE8IWk/jAF3Prbf9oXcE05H4MH9O3filuhJaEEhV4ttvyAESI9jEiO9gp223 txpu4fQP/Qdh3/EGAGc2/OD1eMBE+GW4Y4oSEAAyv9nyvtm4ZbyxzW3D1txmChSFJWhc 4Fhw== X-Gm-Message-State: AOAM5315GGV3MkM2CkEvpBj+zCsJ6aXIuA7WB+707wai4Ttc2Dt8ONzT hbt9lEtuEGZuzqUgqWLIapDXgNi1uXw= X-Google-Smtp-Source: ABdhPJyxvMGTkoHZR0lgvx6uOeqLjFhYlKKDl68cO+FcL1UC7l/GnihhuKnqsXETBJtykHCNdb5jRg== X-Received: by 2002:a05:6830:1045:: with SMTP id b5mr1085816otp.257.1618459149503; Wed, 14 Apr 2021 20:59:09 -0700 (PDT) Received: from [192.168.2.42] (adsl-70-133-144-19.dsl.ablntx.sbcglobal.net. [70.133.144.19]) by smtp.gmail.com with ESMTPSA id j8sm373719otr.28.2021.04.14.20.59.08 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 14 Apr 2021 20:59:08 -0700 (PDT) Message-ID: <6077BA0B.1000904@gmail.com> Date: Wed, 14 Apr 2021 22:59:07 -0500 From: Jacob Bachmeyer User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: Rainer Orth Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> <606FCC8D.2090102@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: jcb62281@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) Rainer Orth wrote: > [...] that logic caused quite a number of issues: > > * On Solaris 10 with CONFIG_SHELL=/bin/ksh, configure substituted > /bin/ksh into the #! line of both config.guess and config.sub. > It worked! :-) > Unfortunately, this has many issues: > > * The modified files weren't made executable, leading to lots of > failures from the likes of > > Native configuration is couldn't execute "/vol/src/gnu/dejagnu/dejagnu-1.6.3-rc3/config.guess": permission denied > Oops... :-) I said that logic was experimental. :-D I will need to rethink this again, since you mention other problems. > * Even if I manually make the scripts executable, this isn't a proper > solution: runtest.exp looks for config.guess in quite a number of > places, and many projects rely on being able to drop newer > config.{guess,sub} versions into their source trees to support targets > that may not even have existed at the time the version of DejaGnu used > was released. While runtest.exp *looks* in several places, it will almost always *find* config.guess in either $libdir (typical when running from DejaGnu source tree), $libdir/libexec (typical when installed), or $execpath (DejaGnu source tree, DEJAGNULIBS overriding $libdir). I could replace the rest of those with $execpath/libexec to pick up the installed config.guess near runtest.exp even if DEJAGNULIBS is used and remove the others, as they would never be used. They are already very unlikely to ever be used. > So using the CONFIG_SHELL should be in the exec line in > runtest.exp. > This leads us right back to the same problem: > * Besides, modifying files in the source tree is wrong for several > reasons: > > ** Read-only source trees need to be supported. > (Aside: Automake does not necessarily support read-only source trees. For example, building in an object tree can result in an Info file in the source tree being rebuilt. I remember seeing this happen while building other GNU releases in the past.) > ** If you share the same source tree between several targets, which is > quite common, you might end up with a shell in #! on a second target > that may not even exist there. > > While this could be avoided by making the substitutions to a copy in > the build tree, the issue vanishes if runtest.exp uses the proper > shell in the exec. For runtest.exp to use the proper shell, it must somehow *get* that information from configure. So, instead of patching the #! line in config.guess, we would need to patch runtest.exp. While, again, we could key the patch off of a unique line (here the only line containing "exec $config_guess" sans quotes) or arrange for a default value of "/bin/sh" if SHELL is still "@SHELL@" as it will be in the source directory prior to running configure, there are a few possibilities here: * Fix the executable permission problem, but leave the NFS shared source tree issue to twist in the wind. (bad) * Patch the "exec $config_guess" in runtest.exp, also leaving the NFS shared source tree issue to twist in the wind. (also bad) * Copy config.guess to the build tree and patch it there for installation. This should be workable but will break running DejaGnu from a Git checkout on Solaris 10. I note that this feature is currently broken on Solaris 10 anyway due to /bin/sh not being able to run config.guess. This may also cause a few errors with the DejaGnu testsuite, as the DejaGnu tests would be run with a shell error in the place of a build triplet. (Wait... why are we not picking up the build system triplet from site.exp if configure has been used? That would avoid the need to run config.guess in the source directory, at least when building for installation...) If host_triplet and/or build_triplet are set in the init files, such as site.exp, DejaGnu does not bother running config.guess at all. This will cover the case of testing DejaGnu itself, and patching the installed copy of config.guess can cover the general case. I should be able to use EXTRA_DEJAGNU_SITE_CONFIG to handle this for DejaGnu itself, and I will need to consider offering a patch to Automake to add that generally, since transferring build/host/target information through site.exp would probably be useful for most packages. -- Jacob From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 15 00:00:26 2021 Received: (at 47382) by debbugs.gnu.org; 15 Apr 2021 04:00:26 +0000 Received: from localhost ([127.0.0.1]:36138 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lWtB4-0006yu-9o for submit@debbugs.gnu.org; Thu, 15 Apr 2021 00:00:26 -0400 Received: from mail-oo1-f41.google.com ([209.85.161.41]:38455) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lWtB3-0006yf-1V for 47382@debbugs.gnu.org; Thu, 15 Apr 2021 00:00:25 -0400 Received: by mail-oo1-f41.google.com with SMTP id y23-20020a4ade170000b02901e6250b3be6so2615554oot.5 for <47382@debbugs.gnu.org>; Wed, 14 Apr 2021 21:00:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:reply-to:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=wGJeb4wCd1ib5aZ/el2nRBiYYzN1FBvRtYYwcdoPnxU=; b=sbnYzb7youQ6fqU0Dxsh2La8gofg2WVb6oQjoaWh8krH6ZQj4A2qSsaTotmZTinSml 1eqoy6BoxTw2U7KGTMnj7h2HP4CXjEvLdofsIdx8f65qfphQFWQGwPCuVlo5NbCd//C7 XfU23w6QtQjQIkZ0+ld1nj4ff4/4KeApGtUUoqCmIgatJTwOHkGP1DGqZEYFuVySKPZE qfiq6uG5k/K3rbZEI7DRJrTt+6r7hsMdluXqrvyj8c8HXE6ywP538FzahJw4ahNUwATb qvPqxBydvq/ZctuyCIu5lHO2PBGIkI+jEbc0VeqzZaPUZzESYI7gPk112Dg7opMxiJec XD0g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:reply-to:user-agent :mime-version:to:cc:subject:references:in-reply-to :content-transfer-encoding; bh=wGJeb4wCd1ib5aZ/el2nRBiYYzN1FBvRtYYwcdoPnxU=; b=atugPvTnEdqHcRe2jXMHWcgjvNPixbEr4gHoezyZEmqoiIuPe3S4UI7fpR5bgG78Oq 71lIWWFTWdTKGg6RhzNSKjaAb6VL7k31bwuzMs6V1wOmJVaNG+4QPKy6Uwrfhrzjq2aF l/4wLO68rFl/DmNTiuS+nq6zegV2pEbiLQT2FMOasrD2QTkGSeM9DtU8y61k8zhPiQD1 41ti4yek+7u2RZies3kEOJCcVhWBFn1TYHHMEbVSe49eJoI10nuXTT2jt9R5nEooG6+9 Kz8SSvXsfi2MAUbPgl3ySRSY7YL/z73PWiDvukogNGSQTYL24N9tU/mfMFLpAMwDJFlV tobA== X-Gm-Message-State: AOAM533p9ypG0kPUGrdGHhrvuHW5bWOlfTnqCmRxsXjvCxg3okr471rS ASm7kWb0fdHWy6P7Z6+D1u5UG3RNU9Y= X-Google-Smtp-Source: ABdhPJwUFhS9pQfM7pl4weIy55XAiW3Nv2KAikYJBagC2ZsNIiF84m1Zd6EUXTxdRe1J4By/WxZGVg== X-Received: by 2002:a4a:d553:: with SMTP id q19mr1120197oos.28.1618459219383; Wed, 14 Apr 2021 21:00:19 -0700 (PDT) Received: from [192.168.2.42] (adsl-70-133-144-19.dsl.ablntx.sbcglobal.net. [70.133.144.19]) by smtp.gmail.com with ESMTPSA id p15sm404719otl.23.2021.04.14.21.00.18 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 14 Apr 2021 21:00:18 -0700 (PDT) Message-ID: <6077BA51.6030002@gmail.com> Date: Wed, 14 Apr 2021 23:00:17 -0500 From: Jacob Bachmeyer User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: Rainer Orth Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> <606FCC8D.2090102@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: jcb62281@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) Rainer Orth wrote: > [...] here's an excerpt from running > > env EXPECT=true TCLSH=true /bin/ksh -x /vol/gcc/obj/dejagnu/dejagnu-1.6.3-rc3/10-fresh/testsuite/launcher.all/command/bin/dejagnu foo -v -v > > + test -f /vol/gcc/obj/dejagnu/dejagnu-1.6.3-rc3/10-fresh/testsuite/launcher.all > /command/share/dejagnu/commands/dejagnu.sh > + expr foo : - > + 1> /dev/null > expr: syntax error > Thank you! That identifies the problem. As of commit c95e2e9b567a1c3ca22b2de4fdcdfe4b99ba2a03, the dejagnu launcher script now uses the shell "case" builtin for that pattern match instead of using expr: 8<---- diff --git a/dejagnu b/dejagnu index 44c8962..9f6ae4b 100755 --- a/dejagnu +++ b/dejagnu @@ -152,9 +152,7 @@ command=`basename "$0" | sed -e 's/^.*-\?dejagnu-\?//'` while expr $# \> 0 > /dev/null do if test -z "${command}" ; then - if expr "$1" : - > /dev/null ; then - break - fi + case $1 in -*) break;; esac command="$1" shift fi @@ -167,9 +165,7 @@ do break 2 fi done - if expr "$1" : - > /dev/null ; then - break - fi + case $1 in -*) break;; esac if test -n "$1" ; then command="${command}-$1" shift 8<---- > It seems this is no wonder: > > expr foo : - > > is not in XPG7/POSIX.1 and the autoconf manual explicitly states that > this is an unportable non-POSIX extension. Can you cite exactly where in the Autoconf manual that is mentioned? The closest that I can find is a recommendation to use `expr X"word" : 'Xregex'` to handle cases where "word" starts with a dash; here Solaris 10 is rejecting a case where "word" is "foo". -- Jacob From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 15 07:57:01 2021 Received: (at 47382) by debbugs.gnu.org; 15 Apr 2021 11:57:01 +0000 Received: from localhost ([127.0.0.1]:36611 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lX0cG-0006fj-G2 for submit@debbugs.gnu.org; Thu, 15 Apr 2021 07:57:00 -0400 Received: from smtp.cebitec.uni-bielefeld.de ([129.70.160.84]:37982) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lX0cB-0006fS-M4 for 47382@debbugs.gnu.org; Thu, 15 Apr 2021 07:56:59 -0400 Received: from localhost (localhost [127.0.0.1]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id 886E51F49; Thu, 15 Apr 2021 13:56:53 +0200 (CEST) X-Virus-Scanned: amavisd-new at CeBiTec.Uni-Bielefeld.DE Received: from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (smtp.cebitec.uni-bielefeld.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id SM0W6trdOoeY; Thu, 15 Apr 2021 13:56:51 +0200 (CEST) Received: from manam.CeBiTec.Uni-Bielefeld.DE (p50854142.dip0.t-ipconnect.de [80.133.65.66]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPSA id D4869214E; Thu, 15 Apr 2021 13:56:51 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=CeBiTec.Uni-Bielefeld.DE; s=20200306; t=1618487811; bh=R7qmXNQa9Z3Uq2hy4jLkFURs+JzmNCi4KLoiJjZouvg=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=SigvnukkQd+au1UnLdEH9hr235TNJLTWEOM2hAczyWs26m/0F8XRE9SZ5hB7oIIAg AIM0Hn49ltn95ahPYVIMQ1XFpmL3VHRU4J541RlZI+dQ2yVethAKmwpKEqSha2Puzw 4DgSFPGn4EPTV76uqaFKhEhxlS1qT2fH8sYOqjPbcUp4V71J5hrRuBOhwRcc0obDsu NOK1DUloH8mMHKXOhuB954NoDq27G9Ctea5Uhh4iopEOeWLWMZGr20ytwQAokDt2wa dOo9wj+CkWoYZqDaL/0pxV4dobptO24Z9zA+9sZhTryK0sqey0/jkpWtaOzLGepNnW SNuBClpvmVm8g== From: Rainer Orth To: Jacob Bachmeyer Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> <606FCC8D.2090102@gmail.com> <6077BA0B.1000904@gmail.com> Date: Thu, 15 Apr 2021 13:56:51 +0200 In-Reply-To: <6077BA0B.1000904@gmail.com> (Jacob Bachmeyer's message of "Wed, 14 Apr 2021 22:59:07 -0500") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.90 (usg-unix-v) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Jacob Bachmeyer writes: >> Unfortunately, this has many issues: >> >> * The modified files weren't made executable, leading to lots of >> failures from the likes of >> >> Native configuration is couldn't execute >> "/vol/src/gnu/dejagnu/dejagnu-1.6.3-rc3/config.guess": permission denied >> > > Oops... :-) I said that logic was experimental. :-D I will need to > rethink this again, since you mention other problems. I still believe that using the tried-and-try AC_SUBST (like automake does in t/java-compile-run-flat.sh and t/java-compile-run-nested.sh with #!@SHELL@) would solve most issues nicely: * not writing to $srcdir * supporting both in-tree and VPATH builds * most likely the permission issue This has been successfully used for years if not decades and is most certainly well tested in situations we may not even have thought about :-) >> * Even if I manually make the scripts executable, this isn't a proper >> solution: runtest.exp looks for config.guess in quite a number of >> places, and many projects rely on being able to drop newer >> config.{guess,sub} versions into their source trees to support targets >> that may not even have existed at the time the version of DejaGnu used >> was released. > > While runtest.exp *looks* in several places, it will almost always *find* > config.guess in either $libdir (typical when running from DejaGnu source > tree), $libdir/libexec (typical when installed), or $execpath (DejaGnu > source tree, DEJAGNULIBS overriding $libdir). I could replace the rest of > those with $execpath/libexec to pick up the installed config.guess near > runtest.exp even if DEJAGNULIBS is used and remove the others, as they > would never be used. They are already very unlikely to ever be used. Maybe (I haven't dug into this in detail) the fact that e.g. the gcc testsuite uses the in-gcc-tree config.guess is because site.exp is generated at make check time, emitting *_triplet into per-testsuite versions of site.exp. >> So using the CONFIG_SHELL should be in the exec line in >> runtest.exp. > > This leads us right back to the same problem: > >> * Besides, modifying files in the source tree is wrong for several >> reasons: >> >> ** Read-only source trees need to be supported. >> > > (Aside: Automake does not necessarily support read-only source trees. For > example, building in an object tree can result in an Info file in the > source tree being rebuilt. I remember seeing this happen while building > other GNU releases in the past.) Creating new files in the source tree (and failing; gcc has gone to some lenghts to avoid this) is one thing; modifying the unpacked sources in place is quite another. When you use AC_SUBST as I suggested, that usually takes an in-source-tree runtest.exp.in (or some such; you can specify the exact file names using AC_CONFIG_FILES) and write the result to the build directory. You just need to make sure that you use the generated file during make check and make install, which is easy if the filenames differ. >> ** If you share the same source tree between several targets, which is >> quite common, you might end up with a shell in #! on a second target >> that may not even exist there. >> >> While this could be avoided by making the substitutions to a copy in >> the build tree, the issue vanishes if runtest.exp uses the proper >> shell in the exec. > > For runtest.exp to use the proper shell, it must somehow *get* that > information from configure. So, instead of patching the #! line in As I said, the established convention is to use $CONFIG_SHELL if set and fall back to /bin/sh if not. > config.guess, we would need to patch runtest.exp. While, again, we could > key the patch off of a unique line (here the only line containing "exec > $config_guess" sans quotes) or arrange for a default value of "/bin/sh" if > SHELL is still "@SHELL@" as it will be in the source directory prior to > running configure, there are a few possibilities here: No need to key off anything when using AC_SUBST: you pass the files to be substituted via AC_CONFIG_FILES, then at configure time all uses of the substituted variables (@SHELL@ in this case) are substituted and the resulting files places in the build dir. Alternatively, you could create a global config file at configure time that contains something like set dg_shell = @SHELL@ and always source that. If this is more reliable than just fixing runtest.exp(.in) itself is your decision; I for one doubt it. > * Fix the executable permission problem, but leave the NFS shared source > tree issue to twist in the wind. (bad) > > * Patch the "exec $config_guess" in runtest.exp, also leaving the NFS > shared source tree issue to twist in the wind. (also bad) > > * Copy config.guess to the build tree and patch it there for installation. > This should be workable but will break running DejaGnu from a Git checkout > on Solaris 10. I note that this feature is currently broken on Solaris 10 > anyway due to /bin/sh not being able to run config.guess. This may also > cause a few errors with the DejaGnu testsuite, as the DejaGnu tests would > be run with a shell error in the place of a build triplet. (Wait... why > are we not picking up the build system triplet from site.exp if configure > has been used? That would avoid the need to run config.guess in the source > directory, at least when building for installation...) Seems like an incredibly complicated dance to me just to avoid chaning the above exec $config_guess to exec $dg_shell $config_guess and be done with it: no need to modify imported files and working with unmodified out-of-tree copies of config.guess at that. > If host_triplet and/or build_triplet are set in the init files, such as > site.exp, DejaGnu does not bother running config.guess at all. This > will cover the case of testing DejaGnu itself, and patching the installed > copy of config.guess can cover the general case. I should be able to use > EXTRA_DEJAGNU_SITE_CONFIG to handle this for DejaGnu itself, and I will > need to consider offering a patch to Automake to add that generally, since > transferring build/host/target information through site.exp would probably > be useful for most packages. Please keep in mind that this needs to continue working with existing versions of automake. As an example, gcc currently uses automake 1.15.1 and autoconf 2.69 and upgrading either or both is far from trivial, certainly not going to be undertaken just to be able a newer version of DejaGnu. From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 15 08:14:25 2021 Received: (at 47382) by debbugs.gnu.org; 15 Apr 2021 12:14:25 +0000 Received: from localhost ([127.0.0.1]:36637 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lX0t7-00077g-5b for submit@debbugs.gnu.org; Thu, 15 Apr 2021 08:14:25 -0400 Received: from smtp.cebitec.uni-bielefeld.de ([129.70.160.84]:40834) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lX0t4-00077X-Fu for 47382@debbugs.gnu.org; Thu, 15 Apr 2021 08:14:23 -0400 Received: from localhost (localhost [127.0.0.1]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id 2901D22BA; Thu, 15 Apr 2021 14:14:21 +0200 (CEST) X-Virus-Scanned: amavisd-new at CeBiTec.Uni-Bielefeld.DE Received: from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (smtp.cebitec.uni-bielefeld.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id USiKEho0-vAI; Thu, 15 Apr 2021 14:14:19 +0200 (CEST) Received: from manam.CeBiTec.Uni-Bielefeld.DE (p50854142.dip0.t-ipconnect.de [80.133.65.66]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPSA id 047211F64; Thu, 15 Apr 2021 14:14:18 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=CeBiTec.Uni-Bielefeld.DE; s=20200306; t=1618488859; bh=ZhfFkwEJiSAHbpAuoHS81JZBCmNgzrB82Xe13GN7kMI=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=V1czFPiSj5mjUOLXVQm0WocHuUkFNTlhRyqa1Y91EGnxX2N3Wk+OpeChhjk/NGVQR icYKJl61t6OeeBbiwg8DV6hw6Irdi02tOeXi1nvwgdgyzYcOZyswIgnPamcw8Q5k4d vn5k7GLXnBhx06/yljsxq1zzETHFwSHN5x4eUfggH9T215CobbABdndL8D2upLNf/1 xtAtPXSez6w3ECCGrb2ZNJZtxSndvgFzvNeSNDpk8C91b5+JMskVYIHjUVatzgD6hQ dDR/X585/8MF/dwBY/U5HufvMm92sGHn6tGLPrqIEneos+CPuycV1n65uFEhPXAVsO an1C1JZ4UFQ1w== From: Rainer Orth To: Jacob Bachmeyer Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> <606FCC8D.2090102@gmail.com> <6077BA51.6030002@gmail.com> Date: Thu, 15 Apr 2021 14:14:18 +0200 In-Reply-To: <6077BA51.6030002@gmail.com> (Jacob Bachmeyer's message of "Wed, 14 Apr 2021 23:00:17 -0500") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.90 (usg-unix-v) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Jacob Bachmeyer writes: > Rainer Orth wrote: >> [...] here's an excerpt from running >> >> env EXPECT=true TCLSH=true /bin/ksh -x >> /vol/gcc/obj/dejagnu/dejagnu-1.6.3-rc3/10-fresh/testsuite/launcher.all/command/bin/dejagnu >> foo -v -v >> >> + test -f >> /vol/gcc/obj/dejagnu/dejagnu-1.6.3-rc3/10-fresh/testsuite/launcher.all >> /command/share/dejagnu/commands/dejagnu.sh >> + expr foo : - >> + 1> /dev/null >> expr: syntax error >> > > Thank you! That identifies the problem. As of commit > c95e2e9b567a1c3ca22b2de4fdcdfe4b99ba2a03, the dejagnu launcher script > now uses the shell "case" builtin for that pattern match instead of > using expr: Fine, thanks. >> It seems this is no wonder: >> >> expr foo : - >> >> is not in XPG7/POSIX.1 and the autoconf manual explicitly states that >> this is an unportable non-POSIX extension. > > Can you cite exactly where in the Autoconf manual that is mentioned? > The closest that I can find is a recommendation to use `expr X"word" : > 'Xregex'` to handle cases where "word" starts with a dash; here Solaris > 10 is rejecting a case where "word" is "foo". Upon re-checking, I seem to have misread the relevant section, sorry. The fact remains, however, that XPG7 doesn't list that variant on https://pubs.opengroup.org/onlinepubs/9699919799/toc.htm which suggests (together with the behaviour of /usr/xpg6/bin/expr which has been certified for XPG conformance AFAIK) that this usage is an extension. From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 15 10:23:39 2021 Received: (at 47382) by debbugs.gnu.org; 15 Apr 2021 14:23:40 +0000 Received: from localhost ([127.0.0.1]:38816 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lX2uB-0002a7-Ds for submit@debbugs.gnu.org; Thu, 15 Apr 2021 10:23:39 -0400 Received: from smtp.cebitec.uni-bielefeld.de ([129.70.160.84]:37978) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lX2u6-0002Zv-R5 for 47382@debbugs.gnu.org; Thu, 15 Apr 2021 10:23:38 -0400 Received: from localhost (localhost [127.0.0.1]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id 33C56286C; Thu, 15 Apr 2021 16:23:33 +0200 (CEST) X-Virus-Scanned: amavisd-new at CeBiTec.Uni-Bielefeld.DE Received: from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (smtp.cebitec.uni-bielefeld.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id zTABYV8sfHrr; Thu, 15 Apr 2021 16:23:31 +0200 (CEST) Received: from manam.CeBiTec.Uni-Bielefeld.DE (p50854142.dip0.t-ipconnect.de [80.133.65.66]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPSA id B6E9F2CB0; Thu, 15 Apr 2021 16:23:31 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=CeBiTec.Uni-Bielefeld.DE; s=20200306; t=1618496611; bh=zEl7SSBJsginplFx4OLn/xgZN1eEoar3NhEUJp9LI20=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=PKNLvmbOeUG+NcMw1CIiDYwzZABcsMGEaVaAcO6qN8P9ROX0RGK4gdCvKYQApro8y xVurxgyQZJiUVyw+t4g1aNGoOK9bmeQriivI+uuDBSOyfxpu0Y6/ufDkaPEN7Ikz6s yJglw4rWHeo7t+aLpZAlGpmxOcKsC9RHnpWNMhWYbEu+5djZEAd2m392zD4cCmBDGu lthXw1n4PD0vZvmwViRRVW+xV1IdeS5jgJzNTp9ZZqEs/TkWxZqCcxeGy6ZW6wy0FO b+j1iDcjS6+6VAd9DsSNzStEbjcQ3b5TN1pGO1HGAzNpc0OE+lD+aE0UXTnQl/Iro4 e6jpv0mf/hECg== From: Rainer Orth To: Jacob Bachmeyer Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> <60665E3F.4080100@gmail.com> Date: Thu, 15 Apr 2021 16:23:31 +0200 In-Reply-To: <60665E3F.4080100@gmail.com> (Jacob Bachmeyer's message of "Thu, 01 Apr 2021 18:58:55 -0500") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.90 (usg-unix-v) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Jacob Bachmeyer writes: >> However, there are more errors still: >> >> === launcher Summary === >> >> # of expected passes 5 >> # of unexpected failures 45 >> # of unsupported tests 2 >> > > Can you post the launcher.log file? The dejagnu script is fairly > simple, and I suspect that I may be able to deduce the causes of those > failures, especially if they are like the "report-card" failure that > follows. After the fix for the expr foo : - issue, I've made some progress in identifying what's still going wrong: I now see Running "env EXPECT=true TCLSH=true /vol/gcc/obj/dejagnu/dejagnu-1.6.3-branch/10/testsuite/launcher.all/command/bin/dejagnu foo -v -v" ... Verbose level is 2 Running launcher from /vol/gcc/obj/dejagnu/dejagnu-1.6.3-branch/10/testsuite/launcher.all/command/bin Probing directory /vol/gcc/obj/dejagnu/dejagnu-1.6.3-branch/10/testsuite/launcher.all/command/share/dejagnu/commands Looking for commands in /vol/gcc/obj/dejagnu/dejagnu-1.6.3-branch/10/testsuite/launcher.all/command/share/dejagnu/commands ERROR: could not resolve command dejagnu-foo child process exited abnormally FAIL: dejagnu foo as Tcl Comparing sh -x output between Solaris 10 and 11, I found that the difference starts in dejagnu at this point: # Remove any leading autoconf platform prefix and the "dejagnu" prefix. command=`basename "$0" | sed -e 's/^.*-\?dejagnu-\?//'` * S10 or 11 with /usr/bin/sed: command=dejagnu * S11.3 with /usr/gnu/bin/sed: command= The issue is the Solaris sed vs. GNU sed difference: /usr/bin/sed behaves identically between Solaris 10 and 11, however GNU sed isn't bundled with Solaris 10. Solaris sed doesn't support ? in REs (cf. regexp(7)). The Autoconf manual documents Portable @command{sed} regular expressions should use @samp{\} only to escape characters in the string @samp{$()*.0123456789[\^n@{@}}. For example, alternation, @samp{\|}, is common but Posix does not require its support, so it should be avoided in portable scripts. Solaris @command{sed} does not support alternation; e.g., @samp{sed '/a\|b/d'} deletes only lines that contain the literal string @samp{a|b}. Similarly, @samp{\+} and @samp{\?} should be avoided. One can use \{0,1\} instead, but I cannot tell for certain how portable that is: diff --git a/dejagnu b/dejagnu --- a/dejagnu +++ b/dejagnu @@ -147,7 +147,7 @@ if $want_version ; then fi # Remove any leading autoconf platform prefix and the "dejagnu" prefix. -command=`basename "$0" | sed -e 's/^.*-\?dejagnu-\?//'` +command=`basename "$0" | sed -e 's/^.*-\{0,1\}dejagnu-\{0,1\}//'` while expr $# \> 0 > /dev/null do With that fixed I ran into: Found subcommand foo with variants: tcl sh grep: illegal option -- q Usage: grep -hblcnsviw pattern file . . . Selected variant tcl grep -q isn't portable, too, also documented in the Autoconf manual: Some of the options required by Posix are not portable in practice. Don't use @samp{grep -q} to suppress output, because traditional @command{grep} implementations (e.g., Solaris) do not support @option{-q}. Using I/O redirection instead got me way further: diff --git a/dejagnu b/dejagnu --- a/dejagnu +++ b/dejagnu @@ -235,7 +235,7 @@ if $have_gawk ; then fi # is "awk" actually GNU Awk? if $have_awk ; then - if "$awkbin" --version | sed 1q | grep -qi 'GNU Awk' ; then + if "$awkbin" --version | sed 1q | grep -i 'GNU Awk' > /dev/null; then have_gawk_as_awk=true else have_gawk_as_awk=false @@ -406,8 +406,8 @@ if $want_help ; then echo ERROR: file "'$help_file'" is not readable exit 2 fi - if grep -q '#help' "$help_file" \ - && grep -q '#end' "$help_file"; then : ; else + if grep '#help' "$help_file" > /dev/null \ + && grep '#end' "$help_file" > /dev/null; then : ; else echo ERROR: file "'$help_file'" does not contain a help message exit 2 fi Now I'm down to Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-branch/local/testsuite/launcher.all/command.exp ... FAIL: dejagnu --help works FAIL: dejagnu foo --help works if shell variant selected This only occurs when running runtest --tool launcher manually, but works with make check. Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-branch/local/testsuite/launcher.all/help.exp ... ERROR: The 'man' command in Solaris does not work in the source tree. Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-branch/local/testsuite/launcher.all/interp.exp ... FAIL: have no Awk FAIL: have no GNU Awk FAIL: have no Tcl FAIL: have no Expect Running "env AWK=bogus GAWK=bogus /vol/src/gnu/dejagnu/dejagnu-1.6.3-branch/local/dejagnu --DGTimpl awk" ... child process exited abnormally FAIL: have no Awk Those FAILs happen because interp.exp expects exitcode 1 while we get 255 instead. The autoconf manual documents this, too: Don't expect @command{false} to exit with status 1: in native Solaris @file{/bin/false} exits with status 255. >> === report-card Summary === >> >> # of unresolved testcases 2 >> >> Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/testsuite/report-card.all/onetest >> .exp ... >> spawn /bin/sh -c cd /vol/gcc/obj/dejagnu/dejagnu-1.6.3-rc2/testsuite/report-card >> .all/onetest && exec /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/dejagnu report-card^ >> M >> expr: syntax error >> ERROR: could not resolve command dejagnu-report-card >> >> There are obviously more hardcoded uses of /bin/sh here and elsewhere, >> but I haven't looked for those yet. > > That hardcoded use of /bin/sh only changes directory and execs > $LAUNCHER, which should run with /bin/ksh if you have patched its #! line. > > The "dejagnu" script is run, but fails to locate the report-card > subcommand. I would be interested in the output of "/bin/ksh -x > ./dejagnu report-card" in the source directory, assuming that "-x" > produces an execution trace from ksh as it does from bash (... and > likewise for Solaris 10 /bin/sh after applying the patch above to change > the use of the readonly command). There are two likely candidates I see > for this error: one is an `expr :` match to detect a leading "-" and > the other is a possibility that `expr $# \> 0` in a while loop test is > somehow being executed as `expr \> 0` under some condition. Both of > these hypotheses imply unexpected behavior if not outright bugs in > Solaris 10. > > There is a possibility here that dejagnu may be tickling a bug in > Solaris 10 /bin/ksh and may work with /bin/sh, or may not work with > either of them. When I retried this now, the report-card results are good: === report-card Summary === # of expected passes 245 From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 16 00:46:42 2021 Received: (at 47382) by debbugs.gnu.org; 16 Apr 2021 04:46:42 +0000 Received: from localhost ([127.0.0.1]:39834 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXGNN-0006s0-Dz for submit@debbugs.gnu.org; Fri, 16 Apr 2021 00:46:41 -0400 Received: from mail-ot1-f45.google.com ([209.85.210.45]:36582) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXGNK-0006rh-B7 for 47382@debbugs.gnu.org; Fri, 16 Apr 2021 00:46:40 -0400 Received: by mail-ot1-f45.google.com with SMTP id i16-20020a9d68d00000b0290286edfdfe9eso14056932oto.3 for <47382@debbugs.gnu.org>; Thu, 15 Apr 2021 21:46:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:reply-to:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=MpLOG6MqYEVNpBtyBvi/9Y8dK5wf9yLa+Eq5jDDwx/M=; b=gXjjlUqoUXVrN573D/iBIx48nbPaU+6QqUDADumqT98IaO9Y1pyoBJcKkxrJn1fEYA NPR+RrM7yCaSBuromeSIfxp1oQmntl1W4J4PtMtCQnWmkeeKU4oLY1RM8gAGLQZufCm7 lnmRCrN/0nW1zobPGpc1Wg/wTrgfhIuI4lAVvvnxgvfcYt/imuyvP0NlEBodZ4d9BPPN Idf1KZ068RcoXOxKD3FllyJefjs02Yub5ASIq1bdpNRRyCCXizjLnEgK6ZMfZElaqDcA rHgafQGeMlV2QJk/uQjtshvaDg0ON5ni83JWenTuj/9+7L+9eCWzTFa2gEkJIrOu9zva gTPg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:reply-to:user-agent :mime-version:to:cc:subject:references:in-reply-to :content-transfer-encoding; bh=MpLOG6MqYEVNpBtyBvi/9Y8dK5wf9yLa+Eq5jDDwx/M=; b=q7t+j5WPvkjEUeev+WVuh/wYU6/mCY5I92GS3JUQoynP183ACVvVR0q9ywymkpuCZB CZZA34uVyYzrrZR+tw3Ez228J1iWpo9LszrP3zgrQJ7XK6dGe4+Z/gYxNERbGWHtC0Uk QFth1XaS9g/vwTIbvEt8O/uBPJlFCTJTHQZ8aX8AEo52odY3vpeXGWcqxYZvCO+MbecG YyWfSofXb0eW53306dFs5wsDG4FicFjetObcVTFZcP/s9r5c0BRrDXHZn0bbHYjDHFhw 33vECdLCKekCTJAjSywGDV0+cDAikqY8OUCbQvL1YWoNYgwfkXgTfjKjHdASl7Z+mkq+ iIUg== X-Gm-Message-State: AOAM532IuDpMrclm+y8qrdCqcih4zspUckUe0Jd56E59LluCXQrjJHc8 mrnNEGashaolPKT8Qo04SsQ= X-Google-Smtp-Source: ABdhPJwXgLMdwNCYgVr2P8PeJoq8S64qyy23YU5j3rx6S539g3OLDfID0BOVs3PmvWaQSy2lA9khEA== X-Received: by 2002:a9d:5f19:: with SMTP id f25mr2281789oti.6.1618548392464; Thu, 15 Apr 2021 21:46:32 -0700 (PDT) Received: from [192.168.2.42] (adsl-70-133-144-19.dsl.ablntx.sbcglobal.net. [70.133.144.19]) by smtp.gmail.com with ESMTPSA id c7sm989276oot.42.2021.04.15.21.46.31 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 15 Apr 2021 21:46:31 -0700 (PDT) Message-ID: <607916A5.4090704@gmail.com> Date: Thu, 15 Apr 2021 23:46:29 -0500 From: Jacob Bachmeyer User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: Rainer Orth Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> <606FCC8D.2090102@gmail.com> <6077BA0B.1000904@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: jcb62281@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) Rainer Orth wrote: > Jacob Bachmeyer writes: > >> [...] >> > [...] > > Maybe (I haven't dug into this in detail) the fact that e.g. the gcc > testsuite uses the in-gcc-tree config.guess is because site.exp is > generated at make check time, emitting *_triplet into per-testsuite > versions of site.exp. > If the reply I have seen on the DejaGnu list so far is correct, that is *exactly* what GCC already does, what I intend to do with EXTRA_DEJAGNU_SITE_CONFIG for 1.6.3, and what I intend to try to push to upstream Automake: carry the *_triplet values from configure into site.exp. DejaGnu does not run GCC's copy of config.guess, but is given the result that configure previously obtained by running it or the value that the user provided to configure. However, DejaGnu will /still/ need to install (and possibly use) config.guess because initialization files are optional in DejaGnu, so we cannot depend on *_triplet being set in site.exp because site.exp is not actually required to exist. >-< >> (Aside: Automake does not necessarily support read-only source trees. For >> example, building in an object tree can result in an Info file in the >> source tree being rebuilt. I remember seeing this happen while building >> other GNU releases in the past.) >> > > Creating new files in the source tree (and failing; gcc has gone to some > lenghts to avoid this) is one thing; modifying the unpacked sources in > place is quite another. > I have observed Automake-derived Makefiles rebuilding shipped Info files in the past (or complaining that makeinfo is not installed). I never bothered to look into why this happened, but I have seen it happen. > When you use AC_SUBST as I suggested, that usually takes an > in-source-tree runtest.exp.in (or some such; you can specify the exact > file names using AC_CONFIG_FILES) and write the result to the build > directory. You just need to make sure that you use the generated file > during make check and make install, which is easy if the filenames differ. > To compensate for dropping support for the old Cygnus tree layout, we now support running DejaGnu directly from a Git checkout; this is extremely convenient for development and precludes using AC_SUBST to produce runtest.exp from a runtest.exp.in. (There are also many long-standing assumptions in the code about relative paths from runtest.exp to other parts of DejaGnu, so runtest.exp needs to be in the source tree, or the DejaGnu testsuite will have problems that I really do not want to try to fix on a release branch.) >>> ** If you share the same source tree between several targets, which is >>> quite common, you might end up with a shell in #! on a second target >>> that may not even exist there. >>> >>> While this could be avoided by making the substitutions to a copy in >>> the build tree, the issue vanishes if runtest.exp uses the proper >>> shell in the exec. >>> >> For runtest.exp to use the proper shell, it must somehow *get* that >> information from configure. So, instead of patching the #! line in >> > > As I said, the established convention is to use $CONFIG_SHELL if set and > fall back to /bin/sh if not. > If I understand correctly, CONFIG_SHELL may no longer be in the environment when "make check" is run, although its value will have been propagated to the SHELL make variable, but I do not think that Automake exports that back to the environment. >> * Fix the executable permission problem, but leave the NFS shared source >> tree issue to twist in the wind. (bad) >> >> * Patch the "exec $config_guess" in runtest.exp, also leaving the NFS >> shared source tree issue to twist in the wind. (also bad) >> >> * Copy config.guess to the build tree and patch it there for installation. >> This should be workable but will break running DejaGnu from a Git checkout >> on Solaris 10. I note that this feature is currently broken on Solaris 10 >> anyway due to /bin/sh not being able to run config.guess. This may also >> cause a few errors with the DejaGnu testsuite, as the DejaGnu tests would >> be run with a shell error in the place of a build triplet. (Wait... why >> are we not picking up the build system triplet from site.exp if configure >> has been used? That would avoid the need to run config.guess in the source >> directory, at least when building for installation...) >> > > Seems like an incredibly complicated dance to me This will be a complicated dance no matter what I do, but I might have a simple answer below. > just to avoid chaning > the above > > exec $config_guess > > to > > exec $dg_shell $config_guess > > and be done with it: no need to modify imported files and working with > unmodified out-of-tree copies of config.guess at that. > There are a few problems here. The largest is that the NFS shared source tree problem comes back in a different form after installation: DejaGnu is installed in an architecture-independent tree (/usr/share/dejagnu) so the installed copy cannot depend on results from configure that could be valid on some machines in a testing lab and wrong on others. This is the same problem that we get with patching the #! line in config.guess. I was considering getting a proper shell to use from the global initialization file, since that could be configured by the testing lab operators to check the hostname to determine which shell to use, but that would have to wait for the 1.7 release and will not work either: the global site.exp is allowed to assume that the *_triplet variables have already been set. This leads to another possibility: could we simply require that CONFIG_SHELL be set in the environment if /bin/sh cannot run config.guess? The main runtest.exp could easily do: if { [info exists ::env(CONFIG_SHELL)] } { catch { exec $::env(CONFIG_SHELL) $config_guess } ... } else { catch { exec $config_guess } ... } The only problem I see here would be if it is common to do "CONFIG_SHELL=/bin/ksh /path/to/src/configure ..." instead of simply "export CONFIG_SHELL=/bin/ksh" in a .login or similar file. Two advantages here are that this preserves the current code path on all systems that can use it, and an "elseif" branch to check ::env(SHELL) could be easily added as well. DejaGnu will have to be a bit stricter about ensuring that config.guess actually ran and produced usable output, to catch the case of CONFIG_SHELL being needed but no longer set (or SHELL being tcsh), but this is looking feasible since it does not require "customizing" any of the supposedly machine-independent files. >> If host_triplet and/or build_triplet are set in the init files, such as >> site.exp, DejaGnu does not bother running config.guess at all. This >> will cover the case of testing DejaGnu itself, and patching the installed >> copy of config.guess can cover the general case. I should be able to use >> EXTRA_DEJAGNU_SITE_CONFIG to handle this for DejaGnu itself, and I will >> need to consider offering a patch to Automake to add that generally, since >> transferring build/host/target information through site.exp would probably >> be useful for most packages. >> > > Please keep in mind that this needs to continue working with existing > versions of automake. As an example, gcc currently uses automake 1.15.1 > and autoconf 2.69 and upgrading either or both is far from trivial, > certainly not going to be undertaken just to be able a newer version of > DejaGnu. This use of EXTRA_DEJAGNU_SITE_CONFIG is for DejaGnu itself and the DejaGnu testsuite, to avoid running config.guess when testing DejaGnu itself, because user-specified triplets should be carried through. As such, moving that upstream will cause other packages to carry *_triplet information through automatically when they move to newer Automake, and the EXTRA_DEJAGNU_SITE_CONFIG file added to DejaGnu can be removed when DejaGnu *itself* moves to a newer Automake that propagates the *_triplet values to site.exp by default. As one answer to an RFC about this on the DejaGnu mailing list mentioned, GCC *already* overrides Automake's rule for site.exp and does exactly what I am planning to suggest that upstream Automake should do (and a lot more, so they will still need to override Automake's site.exp rule). On the other hand, if we can use an environment variable in runtest.exp, all of this becomes moot for 1.6.3 and carrying *_triplet through can land in 1.6.4 instead, which I would prefer. -- Jacob From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 16 00:46:47 2021 Received: (at 47382) by debbugs.gnu.org; 16 Apr 2021 04:46:47 +0000 Received: from localhost ([127.0.0.1]:39837 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXGNT-0006sK-0F for submit@debbugs.gnu.org; Fri, 16 Apr 2021 00:46:47 -0400 Received: from mail-oi1-f180.google.com ([209.85.167.180]:34349) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXGNQ-0006rr-IK for 47382@debbugs.gnu.org; Fri, 16 Apr 2021 00:46:45 -0400 Received: by mail-oi1-f180.google.com with SMTP id k18so21726909oik.1 for <47382@debbugs.gnu.org>; Thu, 15 Apr 2021 21:46:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:reply-to:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=VFFl3MMT2N/suoZUmK1iJD7SKn03WV5nI3mROLeIlzQ=; b=XETuG6S9AuoHdb7yXjWTBBce6GATfeNymfgn43VgajpVDWiiDec8Xn+/qx88lTphnw lDIe0hfmja/aAcdrf2omMWGDYnuy+q+FgVxKCKuvb4vhcIvOBH0enXmtW5AtZIl4g/cq hBhIai4RCgLXmKzwmhDBhn+SWBRi7wjkq4Uu8jV4BGchkV3fQVPgkod3ZZQtae/7ML8A RkoEekpo0cFkgdyaaxe3mZ2ioNSD5xnOLrmqH7ovfmfExvQD0v+pDOs3tytnmQvEsPr4 Jp/vba+UjHGpuA2iF1HBeVrrNd0QGuo0T17mt2SYJTZ+BoeBOqNF+rDYzt+YctE+Ueu0 xp0w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:reply-to:user-agent :mime-version:to:cc:subject:references:in-reply-to :content-transfer-encoding; bh=VFFl3MMT2N/suoZUmK1iJD7SKn03WV5nI3mROLeIlzQ=; b=fUpcmB0TyIY9ez+TPTObwH9b0gAEYUgdQY1VNVJYGmLjuKije6lFJO3NFGiCOWhDwz fwk0O0cXNxsgts3wg6BnzT7YC5ds6Ej8cRBFEq8toOpE2S6wy6LQjZUO7vjG4Uou+I1y vwF628PiMI5f+tRV1/fX2FnIWefKYLchyVXb5LDy4hifzEOXG/rhmzdjcw6uGliLH+S+ NJXfkKOOSSP9kf+sDSad0xVFpcM+OhPse6mC4bA4Bq4RssWCcVgwDFxjsTI5+QaGJ8kN szhIpsQAEpweV02pgH9Ms8BiFRN6nx/oepgLafxp8hcRSfDnhNDpmPzNe7fO9RuRv22c jxyw== X-Gm-Message-State: AOAM532atg6CZvR+rL9Nbc6UiWzDL0SR9Scy4FGkkiRYye5RgiqYWKn4 llIGLTEwbNQ1J6uYfbAta1vMODSo8LU= X-Google-Smtp-Source: ABdhPJx/XAB1nXA7vyB/qrLVE4vrwCSpi9gMYiHEkFQ81oP2bLz+keAThcnTYKLvDJIAxcJbd99bag== X-Received: by 2002:aca:3286:: with SMTP id y128mr5170723oiy.145.1618548398784; Thu, 15 Apr 2021 21:46:38 -0700 (PDT) Received: from [192.168.2.42] (adsl-70-133-144-19.dsl.ablntx.sbcglobal.net. [70.133.144.19]) by smtp.gmail.com with ESMTPSA id j4sm1091043oiw.0.2021.04.15.21.46.38 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 15 Apr 2021 21:46:38 -0700 (PDT) Message-ID: <607916AD.6010306@gmail.com> Date: Thu, 15 Apr 2021 23:46:37 -0500 From: Jacob Bachmeyer User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: Rainer Orth Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> <60665E3F.4080100@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: jcb62281@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) Rainer Orth wrote: > Jacob Bachmeyer writes: > > >>> However, there are more errors still: >>> >>> === launcher Summary === >>> >>> # of expected passes 5 >>> # of unexpected failures 45 >>> # of unsupported tests 2 >>> >>> >> Can you post the launcher.log file? The dejagnu script is fairly >> simple, and I suspect that I may be able to deduce the causes of those >> failures, especially if they are like the "report-card" failure that >> follows. >> > > After the fix for the expr foo : - issue, I've made some progress in > identifying what's still going wrong: > Many thanks for your efforts. > I now see > > Running "env EXPECT=true TCLSH=true /vol/gcc/obj/dejagnu/dejagnu-1.6.3-branch/10/testsuite/launcher.all/command/bin/dejagnu foo -v -v" ... > Verbose level is 2 > Running launcher from /vol/gcc/obj/dejagnu/dejagnu-1.6.3-branch/10/testsuite/launcher.all/command/bin > Probing directory /vol/gcc/obj/dejagnu/dejagnu-1.6.3-branch/10/testsuite/launcher.all/command/share/dejagnu/commands > Looking for commands in /vol/gcc/obj/dejagnu/dejagnu-1.6.3-branch/10/testsuite/launcher.all/command/share/dejagnu/commands > ERROR: could not resolve command dejagnu-foo > child process exited abnormally > FAIL: dejagnu foo as Tcl > > Comparing sh -x output between Solaris 10 and 11, I found that the > difference starts in dejagnu at this point: > > # Remove any leading autoconf platform prefix and the "dejagnu" prefix. > command=`basename "$0" | sed -e 's/^.*-\?dejagnu-\?//'` > > * S10 or 11 with /usr/bin/sed: > > command=dejagnu > > * S11.3 with /usr/gnu/bin/sed: > > command= > > The issue is the Solaris sed vs. GNU sed difference: /usr/bin/sed > behaves identically between Solaris 10 and 11, however GNU sed isn't > bundled with Solaris 10. > > Solaris sed doesn't support ? in REs (cf. regexp(7)). The Autoconf > manual documents > > Portable @command{sed} regular expressions should use @samp{\} only to escape > characters in the string @samp{$()*.0123456789[\^n@{@}}. For example, > alternation, @samp{\|}, is common but Posix does not require its > support, so it should be avoided in portable scripts. Solaris > @command{sed} does not support alternation; e.g., @samp{sed '/a\|b/d'} > deletes only lines that contain the literal string @samp{a|b}. > Similarly, @samp{\+} and @samp{\?} should be avoided. > At the time I wrote that script, (my first foray into an attempt at portable shell) I was using an old Autoconf manual that did not mention these issues; I was also trying to avoid using Awk, but DejaGnu configure now fails with an error if Awk is not available, which was not the case then. > One can use \{0,1\} instead, but I cannot tell for certain how portable > that is: > > diff --git a/dejagnu b/dejagnu > --- a/dejagnu > +++ b/dejagnu > @@ -147,7 +147,7 @@ if $want_version ; then > fi > > # Remove any leading autoconf platform prefix and the "dejagnu" prefix. > -command=`basename "$0" | sed -e 's/^.*-\?dejagnu-\?//'` > +command=`basename "$0" | sed -e 's/^.*-\{0,1\}dejagnu-\{0,1\}//'` > > while expr $# \> 0 > /dev/null > do > The current Autoconf manual also mentions that basename is not portable; I will find a solution, probably using Awk. > With that fixed I ran into: > > Found subcommand foo with variants: tcl sh > grep: illegal option -- q > Usage: grep -hblcnsviw pattern file . . . > Selected variant tcl > > grep -q isn't portable, too, also documented in the Autoconf manual: > > Some of the options required by Posix are not portable in practice. > Don't use @samp{grep -q} to suppress output, because traditional @command{grep} > implementations (e.g., Solaris) do not support @option{-q}. > Another improvement not in the older copy I used when writing that script. > Using I/O redirection instead got me way further: > > diff --git a/dejagnu b/dejagnu > --- a/dejagnu > +++ b/dejagnu > @@ -235,7 +235,7 @@ if $have_gawk ; then > fi > # is "awk" actually GNU Awk? > if $have_awk ; then > - if "$awkbin" --version | sed 1q | grep -qi 'GNU Awk' ; then > + if "$awkbin" --version | sed 1q | grep -i 'GNU Awk' > /dev/null; then > have_gawk_as_awk=true > else > have_gawk_as_awk=false > @@ -406,8 +406,8 @@ if $want_help ; then > echo ERROR: file "'$help_file'" is not readable > exit 2 > fi > - if grep -q '#help' "$help_file" \ > - && grep -q '#end' "$help_file"; then : ; else > + if grep '#help' "$help_file" > /dev/null \ > + && grep '#end' "$help_file" > /dev/null; then : ; else > echo ERROR: file "'$help_file'" does not contain a help message > exit 2 > fi > The help logic will probably get rewritten to use Awk, and the test for GNU Awk is another simple string match. I think I can improve these a bit... > Now I'm down to > > Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-branch/local/testsuite/launcher.all/command.exp ... > FAIL: dejagnu --help works > FAIL: dejagnu foo --help works if shell variant selected > > This only occurs when running runtest --tool launcher manually, but > works with make check. > > Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-branch/local/testsuite/launcher.all/help.exp ... > ERROR: The 'man' command in Solaris does not work in the source tree. > Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-branch/local/testsuite/launcher.all/interp.exp ... > FAIL: have no Awk > FAIL: have no GNU Awk > FAIL: have no Tcl > FAIL: have no Expect > > Running "env AWK=bogus GAWK=bogus /vol/src/gnu/dejagnu/dejagnu-1.6.3-branch/local/dejagnu --DGTimpl awk" ... > child process exited abnormally > FAIL: have no Awk > > Those FAILs happen because interp.exp expects exitcode 1 while we get > 255 instead. The autoconf manual documents this, too: > > Don't expect @command{false} to exit with status 1: in native > Solaris @file{/bin/false} exits with status 255. > That one is in the older Autoconf manual; I just completely overlooked it and have fixed it in commit 9539a1e2ffe8506b92bfcb4363c767e4bc6a0700. The dejagnu launcher now reliably returns code 1 instead of whatever false(1) produces. >>> === report-card Summary === >>> >>> # of unresolved testcases 2 >>> >>> Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/testsuite/report-card.all/onetest >>> .exp ... >>> spawn /bin/sh -c cd /vol/gcc/obj/dejagnu/dejagnu-1.6.3-rc2/testsuite/report-card >>> .all/onetest && exec /vol/src/gnu/dejagnu/dejagnu-1.6.3-rc2/dejagnu report-card^ >>> M >>> expr: syntax error >>> ERROR: could not resolve command dejagnu-report-card >>> >>> There are obviously more hardcoded uses of /bin/sh here and elsewhere, >>> but I haven't looked for those yet. >>> >> That hardcoded use of /bin/sh only changes directory and execs >> $LAUNCHER, which should run with /bin/ksh if you have patched its #! line. >> >> The "dejagnu" script is run, but fails to locate the report-card >> subcommand. I would be interested in the output of "/bin/ksh -x >> ./dejagnu report-card" in the source directory, assuming that "-x" >> produces an execution trace from ksh as it does from bash (... and >> likewise for Solaris 10 /bin/sh after applying the patch above to change >> the use of the readonly command). There are two likely candidates I see >> for this error: one is an `expr :` match to detect a leading "-" and >> the other is a possibility that `expr $# \> 0` in a while loop test is >> somehow being executed as `expr \> 0` under some condition. Both of >> these hypotheses imply unexpected behavior if not outright bugs in >> Solaris 10. >> >> There is a possibility here that dejagnu may be tickling a bug in >> Solaris 10 /bin/ksh and may work with /bin/sh, or may not work with >> either of them. >> > > When I retried this now, the report-card results are good: > > === report-card Summary === > > # of expected passes 245 These results are very reassuring: the report-card tool is written in Awk. -- Jacob From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 16 00:47:29 2021 Received: (at 47382) by debbugs.gnu.org; 16 Apr 2021 04:47:29 +0000 Received: from localhost ([127.0.0.1]:39842 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXGO8-0006tl-Mv for submit@debbugs.gnu.org; Fri, 16 Apr 2021 00:47:28 -0400 Received: from mail-oi1-f169.google.com ([209.85.167.169]:44628) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXGO7-0006tZ-Ec for 47382@debbugs.gnu.org; Fri, 16 Apr 2021 00:47:27 -0400 Received: by mail-oi1-f169.google.com with SMTP id e66so11350560oif.11 for <47382@debbugs.gnu.org>; Thu, 15 Apr 2021 21:47:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:reply-to:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=nM2UaFdozMF8HvV8H3nGmcvqjFAYtNNmaEBrRn3JrhY=; b=PcrTVl5hHGo0ufUFxtpiCn/F8E9zElv41YHxU8WbSGDcN1k99NXmbkLGMm7xqv0rDv lnkGJW066uxA5dgdlrc6NyWLPZKwQPwC7DjRrBlwyXt3+6Y5LKqPQ6fWI1YpUkujZJvA 8gSYMRT/4Wsnbu08iRFU0XhRlDlWUJ+gA6E1c9YG/+m6nFzZNgIyGj5Ojjl7JJ6tiw30 1v5Z/vRKaSkYlEPeFSNcAiABw9pIp9HI3vxmC58c4QtXJsxJ6mPrHdYQuULTvK3xPZ7v zR8gTtsINnj1/L5w+lSMNdJmgX6Spi32U4DEVoiwaonfEIFg1d0IRi6986RkLXe4KYIT 8GMA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:reply-to:user-agent :mime-version:to:cc:subject:references:in-reply-to :content-transfer-encoding; bh=nM2UaFdozMF8HvV8H3nGmcvqjFAYtNNmaEBrRn3JrhY=; b=r/hlK7KOF4siAsFmmRxAWhXhm2Bzjpx7gZBz5FFMbDH5d7RgAphuxuobblMlHV41bD 2XGyFD0w6/g/y3PKkqkTycOxDBvuFgv6/MXB/QKXZhaD9xtnDDcQpicVZ0G5P1XYYg+D wZPa4bJOSEKsK0r3X1ub+3E1OpJj7G7tWdLS8eC1emAnUaE4hRlpNvCQyZBUz2Igwa4q 2N0vKDR1ZswZXaMo/VBACRWOFB4txaohLP2+SCE5mPquc94+4Ksff6PDRU2LkeNlUkDW gUiylSHyjUK/VfY0mYGtEhb1iktsAU1KmFm4zTevNqpqKej6nQ7WqGT/q9m+q96cQEcB /OCw== X-Gm-Message-State: AOAM530W9rp2eDWKsQ2O6Je93l/YFPKkNbYhEWoMiBbqWeC9EKAvDEdi cNJOaeTdY4jdIZWL0j65Sdu1ALaJooc= X-Google-Smtp-Source: ABdhPJxZPY4bLOGTBoS4P859FyMZwD/vZxxs1GZ2ZJfMqxiGRRY9R1DEYhCXsWha2YTx9dt4SVlD4w== X-Received: by 2002:aca:1312:: with SMTP id e18mr5105710oii.153.1618548441933; Thu, 15 Apr 2021 21:47:21 -0700 (PDT) Received: from [192.168.2.42] (adsl-70-133-144-19.dsl.ablntx.sbcglobal.net. [70.133.144.19]) by smtp.gmail.com with ESMTPSA id d22sm1138982otq.50.2021.04.15.21.47.21 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 15 Apr 2021 21:47:21 -0700 (PDT) Message-ID: <607916D8.4080109@gmail.com> Date: Thu, 15 Apr 2021 23:47:20 -0500 From: Jacob Bachmeyer User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: Rainer Orth Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> <606FCC8D.2090102@gmail.com> <6077BA51.6030002@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: jcb62281@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) Rainer Orth wrote: > Jacob Bachmeyer writes: > >> Rainer Orth wrote: >> >>> It seems this is no wonder: >>> >>> expr foo : - >>> >>> is not in XPG7/POSIX.1 and the autoconf manual explicitly states that >>> this is an unportable non-POSIX extension. >>> >> Can you cite exactly where in the Autoconf manual that is mentioned? >> The closest that I can find is a recommendation to use `expr X"word" : >> 'Xregex'` to handle cases where "word" starts with a dash; here Solaris >> 10 is rejecting a case where "word" is "foo". >> > > Upon re-checking, I seem to have misread the relevant section, sorry. > The fact remains, however, that XPG7 doesn't list that variant on > > https://pubs.opengroup.org/onlinepubs/9699919799/toc.htm > > which suggests (together with the behaviour of /usr/xpg6/bin/expr which > has been certified for XPG conformance AFAIK) that this usage is an > extension. By my reading of , "/expr1/ : /expr2/" is a "matching expression", which is explained in the next subsection as matching the string /expr1/ against the regular expression /expr2/ according to basic regular expression syntax explained at , where dash ("-") is not listed as a special character, so that usage of expr should be equivalent to matching the glob pattern "-*" as the code now does. Wait... while Solaris seems to be incorrectly rejecting that command, cases where it *should* match would be exactly the situation the Autoconf manual mentions, with `expr --help : -` as one example where expr can incorrectly parse the first expression as an option. There is still a bug somewhere here, either in Solaris expr or the Autoconf manual (or both); I am unsure which, but my reading of the specs suggest a bug in Solaris which the Autoconf manual should mention. In any case, the incorrect usage in the dejagnu launcher script has now been fixed, thanks again for pointing it out. I encourage you to report the issue as a documentation bug in Autoconf once we get this figured out: either the Autoconf manual does not mention an easy pitfall or the Autoconf manual does not mention a bug on Solaris that makes an otherwise portable usage nonportable. -- Jacob From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 16 01:01:57 2021 Received: (at 47382) by debbugs.gnu.org; 16 Apr 2021 05:01:57 +0000 Received: from localhost ([127.0.0.1]:39868 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXGc9-0007Ib-50 for submit@debbugs.gnu.org; Fri, 16 Apr 2021 01:01:57 -0400 Received: from mail-ot1-f44.google.com ([209.85.210.44]:46818) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXGc5-0007IN-Q2 for 47382@debbugs.gnu.org; Fri, 16 Apr 2021 01:01:56 -0400 Received: by mail-ot1-f44.google.com with SMTP id d3-20020a9d29030000b029027e8019067fso22788534otb.13 for <47382@debbugs.gnu.org>; Thu, 15 Apr 2021 22:01:53 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:reply-to:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=i9hJYBhAoi3Lp+6m/QP5MkYtKjMaXJwr3JBYW40VQ78=; b=NRCcntKwkHRcBC6RCFx+lWID2CBQlqRuE2YHi8exVcEqeJQwcOsjic/uGg1gtGaM+2 E31h8TgjXabA4nnOIS4xHdnOO3X0B1nEz5Y+KssFMIvRVJUBt2XeKz2i0b774mZWWVmV YdXyhMThf7ZKorwW7neplGtyUPEuSN6cHJ4f0B/FaofNG0DKWvj5q6L+704G2l7J5Wcd VaY9p6bIRxHq0olqnbpvq7lCOCiYuFUWquE8AqenNGrmLgVKqME6fyTQk9Dqtjej5Jct +9wSevphg+iaZYLlzsHuj3N7SRZhiG6lNj0O8pnroFCCBHBnsZ/Tni+HRzxyKJ8EgZB4 uoJg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:reply-to:user-agent :mime-version:to:cc:subject:references:in-reply-to :content-transfer-encoding; bh=i9hJYBhAoi3Lp+6m/QP5MkYtKjMaXJwr3JBYW40VQ78=; b=mQwZmX+Ism+8Hg5FKTIbHXCKZUWf4l2YsDnVOi4DbnQA4i4y/ppjtrHWLNhViEUJeH imu6TOFBhFPsJo138Ujn/3nFy50VeklpbGzNwSyOcWcp4VzpWng8FB2I2NXpR8KWzyKD rnHjPsietIMeIO8CnKYCEESuqHylDiMkb8nXzUXaXM/iHmcpc3909+ICHYr1OlotpuNU vH2azx7NyONuEOWW2wHET7wTKNfdE3VUAyotQaBGN6IOhBPaYUSnEvR3CGqis/PJtdhC 0iKwsFyWz9z2GIFjM49s7o+uK9Bs3MzMJP0odedL4euDiUAuBwz64LrdrCWevx7Z224R grMQ== X-Gm-Message-State: AOAM533tDWktjisiocb1GLObnoYd84ka8J7J5+PkvaakzKkXR1OMVXFH 9A8vbVFf1K36vcW0k6gOns4= X-Google-Smtp-Source: ABdhPJzF8ruF80jrIwB4MUD9PpGF/EUAJ2zPYSd4yxd7MUW7R4WmgO/t3W3J2YE8Iyaby+hGFmRxLg== X-Received: by 2002:a9d:24e6:: with SMTP id z93mr2348504ota.197.1618549308236; Thu, 15 Apr 2021 22:01:48 -0700 (PDT) Received: from [192.168.2.42] (adsl-70-133-144-19.dsl.ablntx.sbcglobal.net. [70.133.144.19]) by smtp.gmail.com with ESMTPSA id p11sm1177540oti.53.2021.04.15.22.01.46 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 15 Apr 2021 22:01:47 -0700 (PDT) Message-ID: <60791A39.5060501@gmail.com> Date: Fri, 16 Apr 2021 00:01:45 -0500 From: Jacob Bachmeyer User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: Rainer Orth Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh (oops, forgot patch...) References: <605D6737.7000907@gmail.com> <60665E3F.4080100@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: jcb62281@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) Rainer Orth wrote: > Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-branch/local/testsuite/launcher.all/help.exp ... > ERROR: The 'man' command in Solaris does not work in the source tree. > Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-branch/local/testsuite/launcher.all/interp.exp ... > FAIL: have no Awk > FAIL: have no GNU Awk > FAIL: have no Tcl > FAIL: have no Expect > > Running "env AWK=bogus GAWK=bogus /vol/src/gnu/dejagnu/dejagnu-1.6.3-branch/local/dejagnu --DGTimpl awk" ... > child process exited abnormally > FAIL: have no Awk > > Those FAILs happen because interp.exp expects exitcode 1 while we get > 255 instead. The autoconf manual documents this, too: > > Don't expect @command{false} to exit with status 1: in native > Solaris @file{/bin/false} exits with status 255. > Fixed in commit 9539a1e2ffe8506b92bfcb4363c767e4bc6a0700: 8<---- diff --git a/dejagnu b/dejagnu index 9f6ae4b..ece4e09 100755 --- a/dejagnu +++ b/dejagnu @@ -426,13 +426,13 @@ fi if test -z "$command" ; then if test -n "$override_ext" ; then case $selected_ext in - awk) $have_awk; exit $? ;; - bash) $have_bash; exit $? ;; - exp) $have_expect; exit $? ;; - gawk) $have_gawk; exit $? ;; - tcl) $have_tcl; exit $? ;; - sh) $have_sh; exit $? ;; - *) exit 2 ;; + awk) if $have_awk; then exit 0; else exit 1; fi ;; + bash) if $have_bash; then exit 0; else exit 1; fi ;; + exp) if $have_expect; then exit 0; else exit 1; fi ;; + gawk) if $have_gawk; then exit 0; else exit 1; fi ;; + tcl) if $have_tcl; then exit 0; else exit 1; fi ;; + sh) if $have_sh; then exit 0; else exit 1; fi ;; + *) exit 2 ;; esac else echo ERROR: no command given 8<---- That code did look suspiciously clever when I wrote it... -- Jacob From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 16 17:51:08 2021 Received: (at 47382) by debbugs.gnu.org; 16 Apr 2021 21:51:08 +0000 Received: from localhost ([127.0.0.1]:41887 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXWMl-0005kJ-Kw for submit@debbugs.gnu.org; Fri, 16 Apr 2021 17:51:07 -0400 Received: from mail-ot1-f41.google.com ([209.85.210.41]:36561) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXWMk-0005jp-7u for 47382@debbugs.gnu.org; Fri, 16 Apr 2021 17:51:07 -0400 Received: by mail-ot1-f41.google.com with SMTP id i16-20020a9d68d00000b0290286edfdfe9eso16431773oto.3 for <47382@debbugs.gnu.org>; Fri, 16 Apr 2021 14:51:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:reply-to:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=yx68kE1zCSJd7LpCY712BUXUgoSjrIiyH1AGLlO+muU=; b=pAU69R7uv5vxjMDM4mREs1Ck/45xgegq7gBsss23fRFCJeOlmlqvEU9NzJwQYTHQT0 wks33NVEhF1R4SuW9pNUPpXFVo3T0P/gH4ooodMa/pG7zhP9v6eC3l52D3DTVWuU/LOU Kx+5FIzaZh9lvq5Xvdsi9dZcKPWMfhZdqM6n9TA6L+ROevZL9Ay8qAM79q60Y5xoi2od I/zlEVehyXGz2Sr1uFas6gp7phHozunst0wWgf0HU1Ek4mEXNg3yCXrvW58uiD4tC2ai +eLGKQ20z2wcCB4Ayam6B8PyxOU6pBkvhlVRxUXNKaaMQZv90A9VVBKz7grc1iuAz+uH dhJA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:reply-to:user-agent :mime-version:to:cc:subject:references:in-reply-to :content-transfer-encoding; bh=yx68kE1zCSJd7LpCY712BUXUgoSjrIiyH1AGLlO+muU=; b=H+zOgLkRYaslJInO7ajY4i3h+vw22B+4/MTXe7/F9WzoT4Sn8EWMGjqYSCo7YcvshW eCf69lxAoN6txJqL4CxZV621W1Gfxw80ZyqMrn4I29zN3LJbdEz8Ce5mOiW2N5LLRaiu 4y91krURRoR0vDfdbQiuMAkx2a9XdECKtRt953B7ko+yoC8AjyropYetOdsC1akYq9F0 9aMaVvuUKNvOHZMl5uB4IoDx0ILS63auYRPrb1XYD+c6/Eg6abl+0yOHVZYg9lBPFLa2 awYMDHLeFPLj4PwuMSFookXyOMoGmhYA5UNiw/gCctyp0ghMqdgeC7cANnKypwiL+grX 2N3w== X-Gm-Message-State: AOAM5336olg8jUsiogE+JIkYqHR2yum5L/7KFYBcCw8MULDFmhS4qo6z 197OMNK+9Z7gMYxXt2CyqzeBeXbqfnk= X-Google-Smtp-Source: ABdhPJxxsQG84RBTLdVbyVVSJJUhJZ0DFml1TpAB3/8tiSjxqIA97c40fE16tFqLsDeoI+Mxp+lC3w== X-Received: by 2002:a9d:77c3:: with SMTP id w3mr5309632otl.43.1618609860513; Fri, 16 Apr 2021 14:51:00 -0700 (PDT) Received: from [192.168.2.42] (adsl-70-133-144-19.dsl.ablntx.sbcglobal.net. [70.133.144.19]) by smtp.gmail.com with ESMTPSA id 3sm1649480otw.58.2021.04.16.14.50.59 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 16 Apr 2021 14:51:00 -0700 (PDT) Message-ID: <607A06C2.308@gmail.com> Date: Fri, 16 Apr 2021 16:50:58 -0500 From: Jacob Bachmeyer User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: Rainer Orth Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> <60665E3F.4080100@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: jcb62281@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) I have had time to address the rest of these: Rainer Orth wrote: > One can use \{0,1\} instead, but I cannot tell for certain how portable > that is: > > diff --git a/dejagnu b/dejagnu > --- a/dejagnu > +++ b/dejagnu > @@ -147,7 +147,7 @@ if $want_version ; then > fi > > # Remove any leading autoconf platform prefix and the "dejagnu" prefix. > -command=`basename "$0" | sed -e 's/^.*-\?dejagnu-\?//'` > +command=`basename "$0" | sed -e 's/^.*-\{0,1\}dejagnu-\{0,1\}//'` > > while expr $# \> 0 > /dev/null > do > Fixed in commit cc4d2e41f5d72be55e2b506f45fa052e1b3d410b; according to the latest Autoconf manual, basename is not portable either! 8<---- diff --git a/dejagnu b/dejagnu index ece4e09..c38dd4d 100755 --- a/dejagnu +++ b/dejagnu @@ -147,7 +147,20 @@ if $want_version ; then fi # Remove any leading autoconf platform prefix and the "dejagnu" prefix. -command=`basename "$0" | sed -e 's/^.*-\?dejagnu-\?//'` +# command=`basename "$0" | sed -e 's/^.*-\?dejagnu-\?//'` +# The above simple solution is not portable, so we use Awk: +command=`echo "$0" | awk 'BEGIN { FS = "/" } +{ OFS = FS = "-" + $0 = $NF + for (i = 1; i <= NF; i++) if ($i ~ /dejagnu/) break; + for (j = 1; j <= (NF - i); j++) $j = $(j+i); + NF = j - 1 + print }'` +# Initially splitting on "/", then assigning the last field to the record +# performs the role of basename. Splitting on "-" and searching for a +# field matching /dejagnu/ identifies the other prefixes, and the second +# loop removes the "dejagnu" prefix and everything before it. The record +# is then truncated, printed, and thereby returned to the shell. while expr $# \> 0 > /dev/null do 8<---- > With that fixed I ran into: > > Found subcommand foo with variants: tcl sh > grep: illegal option -- q > Usage: grep -hblcnsviw pattern file . . . > Selected variant tcl > > grep -q isn't portable, too, also documented in the Autoconf manual: > > Some of the options required by Posix are not portable in practice. > Don't use @samp{grep -q} to suppress output, because traditional @command{grep} > implementations (e.g., Solaris) do not support @option{-q}. > Fixed in commits 84c903914b49e5051f116b7a1512ee6d962d71bc (first) and e2fa0bcf54e2bb05106be1ce22a73de4f7381444 (second). Splitting this also allowed for neatly cleaning up the rest of the help display code in the second commit. 8<---- diff --git a/dejagnu b/dejagnu index c38dd4d..57767b1 100755 --- a/dejagnu +++ b/dejagnu @@ -248,11 +248,10 @@ if $have_gawk ; then fi # is "awk" actually GNU Awk? if $have_awk ; then - if "$awkbin" --version | sed 1q | grep -qi 'GNU Awk' ; then - have_gawk_as_awk=true - else - have_gawk_as_awk=false - fi + case `"$awkbin" --version 2>&1 | sed 1q` in + *'GNU Awk'*) have_gawk_as_awk=true ;; + *) have_gawk_as_awk=false ;; + esac fi if expr "$verbose" \> 2 > /dev/null ; then if $have_awk ; then 8<---- 8<---- diff --git a/dejagnu b/dejagnu index 57767b1..d323a62 100755 --- a/dejagnu +++ b/dejagnu @@ -418,21 +418,15 @@ if $want_help ; then echo ERROR: file "'$help_file'" is not readable exit 2 fi - if grep -q '#help' "$help_file" \ - && grep -q '#end' "$help_file"; then : ; else + if awk '/#help$/ { pfxlen = length($0) - 4 } + pfxlen && substr($0, pfxlen) == "#end" { exit 1 } + ' "$help_file" ; then echo ERROR: file "'$help_file'" does not contain a help message exit 2 fi - help_prefix_pat=`grep '#help' "$help_file" \ - | sed -e 's/#help.*$//' -e '1q' | tr '[:print:][:blank:]' .` - if expr "$verbose" \> 1 > /dev/null ; then - echo Extracting help from "'$help_file'" with prefix "'$help_prefix_pat' - fi - sed -n < "$help_file" \ - -e '1,/#help/d' \ - -e '/^'"$help_prefix_pat"'#end/q' \ - -e 's/^'"$help_prefix_pat"'//;p' - exit 0 + exec awk '/#help$/ { pfxlen = length($0) - 4 } + pfxlen && substr($0, pfxlen) == "#end" { exit 0 } + pfxlen { print substr($0, pfxlen) }' "$help_file" fi if test -z "$command" ; then 8<---- > Now I'm down to > > Running /vol/src/gnu/dejagnu/dejagnu-1.6.3-branch/local/testsuite/launcher.all/command.exp ... > FAIL: dejagnu --help works > FAIL: dejagnu foo --help works if shell variant selected > > This only occurs when running runtest --tool launcher manually, but > works with make check. > Please try the revised help support above; I suspect that there may have been other issues. Working with make check but not directly invoked runtest is ... strange. -- Jacob From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 16 18:13:23 2021 Received: (at 47382) by debbugs.gnu.org; 16 Apr 2021 22:13:23 +0000 Received: from localhost ([127.0.0.1]:41901 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXWiJ-0008PL-5x for submit@debbugs.gnu.org; Fri, 16 Apr 2021 18:13:23 -0400 Received: from mail-oi1-f179.google.com ([209.85.167.179]:43521) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lXWiG-0008P7-IW for 47382@debbugs.gnu.org; Fri, 16 Apr 2021 18:13:21 -0400 Received: by mail-oi1-f179.google.com with SMTP id a21so16273352oib.10 for <47382@debbugs.gnu.org>; Fri, 16 Apr 2021 15:13:20 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:reply-to:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=r89r96CuBUnBBfbi4FflW+pPM3meWJvCzmDnZORX7Fo=; b=Y4Gj6MpoppIG/8Tpix8fxYo48P9fH680HNrKf6VmxWgoQlwhjTcZYKF3SpFo8wE2/Y 6a2ol2v+aHO92kuSt26Nota907v1fED1pciJHUcbSyTqoMSZMtv89AsLjWkllqqRxEor wcEjRh184D8lHhZ+p4L6Gs5IiCYN23dWeDvMzQdVkCkWCM5Oy5mCvDguF6exzcDt3Y9U iszmInHH625LuP+P0afyA/FbCu1hrX4gkuEO7betWtX+nibthf+aU5b6MqQcrDbYAT98 Fp7SqieUrC4NEIb0XjxpKTdiZ/a6d/fnXOgeadWxCYe741CqaccivDu46Xh3CSBC7MXN c2Cg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:reply-to:user-agent :mime-version:to:cc:subject:references:in-reply-to :content-transfer-encoding; bh=r89r96CuBUnBBfbi4FflW+pPM3meWJvCzmDnZORX7Fo=; b=TT/3832PDtK5EyW+61VZYOR90wsU8+f/292lILzIXrE5hYuR+HLqUtqUgA3WPMl9Mh KyzEvwIX0/ZSEWwt1HsT/LaQ9lZLQqDhqLeQTkVa4mf75YsE0xbPtd1FMHCQewdikFzF 1/S/tri3oibktlUXRvnPhvxMZXF35RMbb1a3ip6l6JKm/rnkawie5KHdGUaRLTEoi8bL wEBGhiBtm+ARLnOmxSHGp9HWVoca9WTLbjNJm7N356yBwYRQlnYuL916M7yWuzXAkaBK i1e3TmV2RESlM7qY4sxK5qkL21Hg78gyFwgW3TsBy7BzUar25NMjDlLJTwDIYGTfAGdJ sXRw== X-Gm-Message-State: AOAM531Ko2iRR+dj1XubaZdgvQvMvTg6/n12cccDrYmgMjMP8Akh1pLT tFbQ64Ei0F5NpXvRgKWhWAUQ22o/kLA= X-Google-Smtp-Source: ABdhPJw60K0qaE7j1Hg14OPsvRDAg7we4MA8PM0Iq2do+VZnm8AAF3ZV9i81dE2dmthg7751Ma6s7w== X-Received: by 2002:aca:acd3:: with SMTP id v202mr7616380oie.93.1618611194901; Fri, 16 Apr 2021 15:13:14 -0700 (PDT) Received: from [192.168.2.42] (adsl-70-133-144-19.dsl.ablntx.sbcglobal.net. [70.133.144.19]) by smtp.gmail.com with ESMTPSA id q23sm1664096otc.7.2021.04.16.15.13.14 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 16 Apr 2021 15:13:14 -0700 (PDT) Message-ID: <607A0BF8.4040304@gmail.com> Date: Fri, 16 Apr 2021 17:13:12 -0500 From: Jacob Bachmeyer User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: Rainer Orth Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> <606FCC8D.2090102@gmail.com> <6077BA0B.1000904@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 47382 Cc: 47382@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: jcb62281@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.5 (/) Rainer Orth wrote: > As I said, the established convention is to use $CONFIG_SHELL if set and > fall back to /bin/sh if not. > As of commit d0f104991b9e6134f04bc674af115bc288c9e137, DejaGnu now examines the environment variables CONFIG_SHELL and SHELL (in that order) and uses the first one set to invoke config.guess, falling back to relying on the #! line in config.guess if neither is set: 8<---- diff --git a/runtest.exp b/runtest.exp index 3220485..93ae2ab 100644 --- a/runtest.exp +++ b/runtest.exp @@ -823,13 +823,52 @@ if {[expr {$build_triplet eq "" && $host_triplet eq ""}]} send_error "ERROR: Couldn't find config.guess program.\n" exit 1 } - catch "exec $config_guess" build_triplet - switch -- $build_triplet { - "No uname command or uname output not recognized" - - "Unable to guess system type" { - verbose "WARNING: Uname output not recognized" - set build_triplet unknown + if { [info exists ::env(CONFIG_SHELL)] } { + if { [catch {exec $::env(CONFIG_SHELL) $config_guess} build_triplet] } { + if { [lindex $::errorCode 0] eq "CHILDSTATUS" } { + send_error "ERROR: Running config.guess with\ + CONFIG_SHELL=$::env(CONFIG_SHELL)\ + exited on code\ + [lindex $::errorCode 2].\n" + } else { + send_error "ERROR: Running config.guess with\ + CONFIG_SHELL=$::env(CONFIG_SHELL)\ + produced error:\n" + send_error " $::errorCode\n" + } + } + } elseif { [info exists ::env(SHELL)] } { + if { [catch {exec $::env(SHELL) $config_guess} build_triplet] } { + if { [lindex $::errorCode 0] eq "CHILDSTATUS" } { + send_error "ERROR: Running config.guess with\ + SHELL=$::env(SHELL)\ + exited on code\ + [lindex $::errorCode 2].\n" + } else { + send_error "ERROR: Running config.guess with\ + SHELL=$::env(SHELL)\ + produced error:\n" + send_error " $::errorCode\n" + } } + } else { + if { [catch {exec $config_guess} build_triplet] } { + if { [lindex $::errorCode 0] eq "CHILDSTATUS" } { + send_error "ERROR: Running config.guess exited on code\ + [lindex $::errorCode 2].\n" + } else { + send_error "ERROR: Running config.guess produced error:\n" + send_error " $::errorCode\n" + } + } + } + if { ![regexp -- {^[^-]+-[^-]+-[^-]+} $build_triplet] } { + send_error "ERROR: Running config.guess produced bogus build triplet:\n" + send_error " $build_triplet\n" + send_error " (Perhaps you need to set CONFIG_SHELL or\ + SHELL in your environment\n" + send_error " to the absolute file name of a POSIX shell?)\n" + exit 1 } verbose "Assuming build host is $build_triplet" if { $host_triplet eq "" } { 8<---- This change also produces an immediate fatal error (before even the global init file is read, so very quickly; the user will not have time to walk away and be disappointed upon later returning) if running config.guess does not produce something that at least vaguely resembles a platform triplet and suggests overriding the shell used for running config.guess if this occurs. > Seems like an incredibly complicated dance to me just to avoid chaning > the above > > exec $config_guess > > to > > exec $dg_shell $config_guess > > and be done with it: no need to modify imported files and working with > unmodified out-of-tree copies of config.guess at that. > It was a little more involved than that because getting a value for $dg_shell is non-trivial. :-) We cannot rely on any values from DejaGnu's configure run once DejaGnu is installed, because DejaGnu is installed into the architecture-independent tree. -- Jacob From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 04 00:12:28 2021 Received: (at 47382-done) by debbugs.gnu.org; 4 Jun 2021 04:12:28 +0000 Received: from localhost ([127.0.0.1]:45101 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lp1C8-0007Z8-3o for submit@debbugs.gnu.org; Fri, 04 Jun 2021 00:12:28 -0400 Received: from mail-ot1-f46.google.com ([209.85.210.46]:34790) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lp1C5-0007Yt-Vn for 47382-done@debbugs.gnu.org; Fri, 04 Jun 2021 00:12:26 -0400 Received: by mail-ot1-f46.google.com with SMTP id v27-20020a056830091bb02903cd67d40070so4832129ott.1 for <47382-done@debbugs.gnu.org>; Thu, 03 Jun 2021 21:12:25 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=message-id:date:from:reply-to:user-agent:mime-version:to:cc:subject :references:in-reply-to:content-transfer-encoding; bh=jN3FlUCGefNlmXOFP/O9Z+iVgds0JYsNh2Xlyl1kZGc=; b=KXHBH0lswLtYlpJDz7Rg0Ihi+bJSd3RRCL0pdzDe3oFCTJjUmBgdFgungGMNmGCZ4o k6nCiY5neasaejnFsNTGTy5OM7Yrxnaex6Vdunni3bWtuTdH5JVgXkm3JjsjWz3d/UG2 4UnX/xC/UVTxwKwsMqFRyCPkIZapY2uVJz+ofQ/ErJziJY9vTJX7MRqCSCcJfCyqC2kG nH1K2a5GHJS3FnGH0dz03AGV4gWTGZ8jYjLWwh5m0zsClTwkUxVyYJ5P6+DBfNRSK6AP aMCiGHu3kc3KCIy1Yc1ds9VOUjD39JSzchKL7lGxzoO/hY7RP1DStmM3Osm+idEiyRBj a/OA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:date:from:reply-to:user-agent :mime-version:to:cc:subject:references:in-reply-to :content-transfer-encoding; bh=jN3FlUCGefNlmXOFP/O9Z+iVgds0JYsNh2Xlyl1kZGc=; b=MCICEUtZKL947YWrvp9/drRWbF/Dd+8FgLzAWEXM6KL9ZgZhxGmHHYui0uN6Lxz5D3 CZUdgRSMOI6eEdqIMEP/fkHlu8ZPVhLmUC/DhVXHSNf71EeL2RxlyhsjM5Dwm6EKoH4A Qh37jLCBd1anJ4cG9SbwZtqvnfLWc1CE+y22lwnr+Ji/Af7WqFSLQRGmwJZJ3GBZ7dVm /nShJq6wR/3XUDbIOOepSI587nLde7fv9JutJWVzW8OtWJPIQ8VPSh8AAGRmpSRjlO5s Bg+NIxAf5yXFeIlpORMzhSYaWrCuRFmRWelFRtqTblwJNOWb+lRgODJtEM7IgCPUtU+b Rzag== X-Gm-Message-State: AOAM531p31ljKo/ahbSit68/BjSb4z4JMiAmSYeHtd2IWgCTF7dOdTt9 UDJP8o8jzrLw+mzE94lPJ9SJzAVWVok= X-Google-Smtp-Source: ABdhPJzrqeBjGyphXZ4vDjgLz6WsYWvWLhN1MJQ0XwblxcbWe4w95q7GTZuqHCpcHPjqNL4VyWvhdg== X-Received: by 2002:a9d:62c9:: with SMTP id z9mr2160249otk.55.1622779940524; Thu, 03 Jun 2021 21:12:20 -0700 (PDT) Received: from [192.168.2.42] (adsl-70-133-145-50.dsl.ablntx.sbcglobal.net. [70.133.145.50]) by smtp.gmail.com with ESMTPSA id b6sm235483oic.12.2021.06.03.21.12.19 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 03 Jun 2021 21:12:20 -0700 (PDT) Message-ID: <60B9A822.2080101@gmail.com> Date: Thu, 03 Jun 2021 23:12:18 -0500 From: Jacob Bachmeyer User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.8.1.22) Gecko/20090807 MultiZilla/1.8.3.4e SeaMonkey/1.1.17 Mnenhy/0.7.6.0 MIME-Version: 1.0 To: Rainer Orth Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> <60665E3F.4080100@gmail.com> In-Reply-To: Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Score: -0.1 (/) X-Debbugs-Envelope-To: 47382-done Cc: 47382-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: jcb62281@gmail.com Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.1 (-) This seems to be resolved as of 1.6.3-rc5, with all tests now passing on the gcc210 node at the GCC compile farm. -- Jacob From debbugs-submit-bounces@debbugs.gnu.org Fri Jun 04 05:29:14 2021 Received: (at 47382-done) by debbugs.gnu.org; 4 Jun 2021 09:29:14 +0000 Received: from localhost ([127.0.0.1]:45368 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lp68g-0001En-K1 for submit@debbugs.gnu.org; Fri, 04 Jun 2021 05:29:14 -0400 Received: from smtp.cebitec.uni-bielefeld.de ([129.70.160.84]:50542) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lp68f-0001Ed-2J for 47382-done@debbugs.gnu.org; Fri, 04 Jun 2021 05:29:13 -0400 Received: from localhost (localhost [127.0.0.1]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTP id 64DE01C7A; Fri, 4 Jun 2021 11:29:11 +0200 (CEST) X-Virus-Scanned: amavisd-new at CeBiTec.Uni-Bielefeld.DE Received: from smtp.CeBiTec.Uni-Bielefeld.DE ([127.0.0.1]) by localhost (smtp.cebitec.uni-bielefeld.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id N8YVo5fTG0QR; Fri, 4 Jun 2021 11:29:06 +0200 (CEST) Received: from manam.CeBiTec.Uni-Bielefeld.DE (p50854661.dip0.t-ipconnect.de [80.133.70.97]) by smtp.CeBiTec.Uni-Bielefeld.DE (Postfix) with ESMTPSA id 046F71F48; Fri, 4 Jun 2021 11:29:05 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=CeBiTec.Uni-Bielefeld.DE; s=20200306; t=1622798946; bh=AaOEZmV28yJRHCpTLas4tbwJSXvkD7776MBD8XMEA3M=; h=From:To:Cc:Subject:References:Date:In-Reply-To:From; b=Cm9J3dXRdfVHkAcL9B5Z/a/ur5H3qKS6s7Ez1jtKStQXi4BJ66wL7L/iWBWVRRq4l /d3B5f7qBWs7qR3bkt/1KMH6oMHASUkeD2MBsLok4wjOFmNEdeVa7NwyRQpStt9mNH 941BoxpUyVnsAwVLgj3gcpAV4RzUgphzG1vimXxg1IM9B7+HBF4CQZ69eoPbHW07Xq Cb7r6220Al2bgOFwDojXO/gyEjlzm0ZKn/doiXyaBVTwunPr4BaatdINVkPbz58lPh Na405imN6xhktmeQHQNZsRtZdALIn9wgvKA72zpX3FS8tyAhDFTQ2vu7LGyn07DoNA VGwuzwFI5mj4A== From: Rainer Orth To: Jacob Bachmeyer Subject: Re: bug#47382: runtest doesn't work with Solaris 10 /bin/sh References: <605D6737.7000907@gmail.com> <60665E3F.4080100@gmail.com> <60B9A822.2080101@gmail.com> Date: Fri, 04 Jun 2021 11:29:05 +0200 In-Reply-To: <60B9A822.2080101@gmail.com> (Jacob Bachmeyer's message of "Thu, 03 Jun 2021 23:12:18 -0500") Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/27.1.90 (usg-unix-v) MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 47382-done Cc: 47382-done@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) Hi Jacob, > This seems to be resolved as of 1.6.3-rc5, with all tests now passing on > the gcc210 node at the GCC compile farm. I've now verified this on Solaris 10, 11.3, and 11.4: all results are fine. Thanks a lot for all your work fixing the Solaris issues. Rainer From unknown Fri Jun 20 07:27:15 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Fri, 02 Jul 2021 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator