X-Original-To: alpine-devel@lists.alpinelinux.org Received: from mail.wilcox-tech.com (mail.wilcox-tech.com [45.32.83.9]) by lists.alpinelinux.org (Postfix) with ESMTP id F122BF854BE for ; Thu, 14 Mar 2019 22:29:25 +0000 (UTC) Received: (qmail 30711 invoked from network); 14 Mar 2019 22:29:16 -0000 Received: from localhost (HELO ?IPv6:2600:1702:2a80:1b90::25?) (awilcox@wilcox-tech.com@127.0.0.1) by localhost with ESMTPA; 14 Mar 2019 22:29:16 -0000 Subject: Re: [alpine-devel] Normalizing Python packages in aports To: Drew DeVault Cc: Natanael Copa , alpine-devel@lists.alpinelinux.org 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> From: "A. Wilcox" Openpgp: preference=signencrypt Organization: =?UTF-8?Q?Ad=c3=a9lie_Linux?= Message-ID: Date: Thu, 14 Mar 2019 17:30:00 -0500 User-Agent: Mozilla/5.0 (X11; Linux ppc64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 X-Mailinglist: alpine-devel Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: MIME-Version: 1.0 In-Reply-To: <20190314203741.GA2687@homura.localdomain> Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="SoIB7PiMcm8sZXzlvpK1LDZQ08N4D6soA" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --SoIB7PiMcm8sZXzlvpK1LDZQ08N4D6soA Content-Type: multipart/mixed; boundary="HnRUfQrjxJzJeyocs1YEeBhXL7KNLtnrF"; protected-headers="v1" From: "A. Wilcox" To: Drew DeVault Cc: Natanael Copa , alpine-devel@lists.alpinelinux.org Message-ID: Subject: Re: [alpine-devel] Normalizing Python packages in aports 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> In-Reply-To: <20190314203741.GA2687@homura.localdomain> --HnRUfQrjxJzJeyocs1YEeBhXL7KNLtnrF Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: quoted-printable On 03/14/19 15:37, Drew DeVault wrote: > On 2019-03-14 3:37 PM, A. Wilcox wrote: >> Unspecified, not undefined. >> >> http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.ht= ml#tag_18_09_01_01 >=20 > Is there a meaningful difference? Yes. Quoting the Rationale for Base Definitions[1]: -8<- The definitions for "unspecified" and "undefined" appear nearly identical at first examination, but are not. The term "unspecified" means that a conforming application may deal with the unspecified behavior, and it should not care what the outcome is. The term "undefined" says that a conforming application should not do it because no definition is provided for what it does (and implicitly it would care what the outcome was if it tried it). It is important to remember, however, that if the syntax permits the statement at all, it must have some outcome in a real implementation. Thus, the terms "undefined" and "unspecified" apply to the way the application should think about the feature. In terms of the implementation, it is always "defined''-there is always some result, even if it is an error. The implementation is free to choose the behavior it prefers. -8<- 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. 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 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. Best, --arw [1]: https://pubs.opengroup.org/onlinepubs/9699919799/xrat/V4_xbd_chap01.html#= tag_21_01_15 [2]: example: type local 2>/dev/null || local() { [ ... ] } --=20 A. Wilcox (awilfox) Project Lead, Ad=C3=A9lie Linux https://www.adelielinux.org --HnRUfQrjxJzJeyocs1YEeBhXL7KNLtnrF-- --SoIB7PiMcm8sZXzlvpK1LDZQ08N4D6soA Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEjNyWOYPU1SaTSMHHyynLUZIrnRQFAlyK1esACgkQyynLUZIr nRTtZBAA00Jk+8NobSDWrapixLn69MIgMq+5oOlUEPmUWzH3S9vYEbDLUWkQkusu x5733Qhvrgb991c1ivAEfauPw5Kre9r8FB4xlTe6hJYpAmVUjJ5x/Vlu8hxX6KoZ LPGKkkCCQSY3Qh3WMT4j2UHIIYB0H1aieQsrq/jVXZWPJgyP59ldJmDLQAi4eySU QwrdUANgx3AdK/AuWBhPYaW/C6CRFbD/QdCpNoQcRlTwCdJDEvAdhMOP3m8IC54w rSZQxsA97GBbaKq+EFR6ntqpxiC6KRJr8+vaQWFVlvpJnysB5n5kaDaqk5mb20nA e+Lw5ZWkmxoKWDv/3D3kkWaM+BKgo1C/yzJJ4uHqU2ETlMWuRYCDNEAVf9tOxSiI CAJSDBSFz3uhIIP3Rgpnj2LaToO/aKaTYQAaYSxyI7tdFoBgwkkipCZk13mjv/mT 6PL9q6VXsOeBC0A2AXMvGkH9VQ5ZXiBQd+tWParpKIQrbaYXghOyFl7C/exudRN6 2EpxTURSTI1K5mUlMHn+3dUR4RD4nLDS/fXZ1Los2nhVp9NAsROpD3r1Wat6ymKu Fs/JNL7PRXtLx1zBEpl0MNC8+GOClHF8mSR5PKz7tJl0WV8Pr1SiU42V09/wWN97 tAvj+et50h4RkJnMVSt2i3xRSp+lG+iZowPsnAHAmSNSQ6GbmIk= =pdsY -----END PGP SIGNATURE----- --SoIB7PiMcm8sZXzlvpK1LDZQ08N4D6soA-- --- Unsubscribe: alpine-devel+unsubscribe@lists.alpinelinux.org Help: alpine-devel+help@lists.alpinelinux.org ---