X-Original-To: alpine-devel@lists.alpinelinux.org Received: from outgoing.fripost.org (giraff.fripost.org [193.234.15.44]) by lists.alpinelinux.org (Postfix) with ESMTP id 3CE61F854E5 for ; Fri, 15 Mar 2019 15:04:59 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by outgoing.fripost.org (Postfix) with ESMTP id 04521156A056 for ; Fri, 15 Mar 2019 16:04:59 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=x.fripost.org; h= in-reply-to:content-disposition:content-type:content-type :mime-version:references:message-id:subject:subject:from:from :date:date; s=9df9cdc7e101629b5003b587945afa70; t=1552662298; x= 1554476699; bh=x4DBE8lxkNb3m/28BIm3DhkOFGw4qIrKzz9WYwomSao=; b=Y i/GjO6qfvs2uxP5xxeAT2JMoyNhLw9J3l2+TX/wAwVrII1z4fYkr60iNADqDb8ET oo1x0FIkz1g3V6CUBqDNnlphkaLp/Xs9fqgMpKDLrD7RJqSIQ54NkFDEhGvx+Xxm nWGpvLNFH7qhHFTBfFrfuMWEu8dHCuSIzo35Nw1sdbVOStbCiV60ffr3rNIZhp7i B3dtzcgfMR+DxIEvlg5qdo6Ohp9Xay0DQ1aVHjUYUfVF3tOqJIbWex1aEKY0zU9/ CsDp6sp+z4FUmI+MjDRLExBTTeS0bVRt3rV4LPRukt3wJJxW/+r9qo6hbOFYvwT6 05hcJnrSESbt6Rt90d14Q== X-Virus-Scanned: Debian amavisd-new at fripost.org Received: from outgoing.fripost.org ([127.0.0.1]) by localhost (giraff.fripost.org [127.0.0.1]) (amavisd-new, port 10040) with LMTP id c74XTRxI_jvg for ; Fri, 15 Mar 2019 16:04:58 +0100 (CET) Received: from smtp.fripost.org (unknown [172.16.0.6]) by outgoing.fripost.org (Postfix) with ESMTP id DC921156A053 for ; Fri, 15 Mar 2019 16:04:58 +0100 (CET) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) by smtp.fripost.org (Postfix) with ESMTPSA id 5E1AA4D22DBD for ; Fri, 15 Mar 2019 16:04:52 +0100 (CET) Received: (qmail 31679 invoked from network); 15 Mar 2019 15:04:58 -0000 Received: from localhost (HELO aetey.se) (eh1ba719@127.0.0.1) by mail with ESMTPA; 15 Mar 2019 15:04:58 -0000 Date: Fri, 15 Mar 2019 16:04:36 +0100 From: u-3qpt@aetey.se To: "A. Wilcox" Cc: alpine-devel@lists.alpinelinux.org Subject: Re: [alpine-devel] Normalizing Python packages in aports Message-ID: <20190315150436.GL23721@example.net> References: <20190306212501.GD2800@cirno.localdomain> <20190314112413.29dd9816@ncopa-desktop.copa.dup.pw> <20190314191241.GF1544@homura.localdomain> <2FA74AE3-3730-4F03-8E76-32FB28D18E1D@adelielinux.org> <20190314203741.GA2687@homura.localdomain> X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: On Thu, Mar 14, 2019 at 05:30:00PM -0500, A. Wilcox wrote: > Thus, the terms "undefined" and "unspecified" [skipped] > It is therefore conformant for a POSIX shell script to use any of the > unspecified keywords, as long as they can "deal with" the unspecified > behaviour. A shell script does not "deal" with the behaviour, unless it actually does. > This can be trivially accomplished using `type` and defining a small > `local` function for shells that don't have it[2], *if* abuild were ever Then this has to be done, before being able to say that the script "deals" with a statement possibly unknown to the shell interpreter. > to *use* such a shell. Note that I doubt that would be possible anyway, > as abuild require multiple changes that were rejected when we proposed > strict POSIX compatibility. (This was so we could use zsh or dash as > /bin/sh and let abuild use a /bin/sh hashbang instead of requiring a > hard dependency on BusyBox. We gave up and gave it a hashbang of > /bin/bash in our soft-fork.) In addition, all build scripts inside of > packages which use /bin/sh as their hashbang would *also* have to be > compatible with this theoretical shell. This is a separate argument, saying that because other parties are not disciplined enough, you choose not to bother. Of course, this may be practically sound, but how big is your gain by choosing to write non-portable code? Other parties' questionable behaviour does not preclude one from writing portable scripts. This actually does not cost too much overhead, but makes the reuse of the code and of the trained coding skills (including people who for any reason read your code) more reliable and portable, I would say more efficient. Regards, Rune --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---