[pacman-dev] [PATCH 1/7] libmakepkg: disallow empty arch

Eli Schwartz eschwartz at archlinux.org
Tue Jun 19 19:54:54 UTC 2018


On 06/19/2018 08:28 AM, Allan McRae wrote:
> On 09/06/18 05:33, Eli Schwartz wrote:
>> On 06/08/2018 02:18 PM, morganamilo wrote:
>>> We already ensure arch is an array but if arch is never defined
>>> this error never triggers. Add an explicit check for a missing arch.
>>
>> Good catch! We'd usually abort with
>> ==> ERROR: foo is not available for the 'x86_64' architecture.
>>
>> but not if we're doing some IGNOREARCH operation that doesn't check
>> this, e.g. --source or --printsrcinfo or --packagelist
>>
>> Or, makepkg --ignorearch.
>>
> 
> Hrm...  I just saw this after replying the patch was OK.
> 
> With this patch:
> 
> $ /home/allan/arch/code/pacman/scripts/makepkg --ignorearch
> ==> ERROR: arch is not allowed to be empty.
> 
> 
> I think our current check is OK here and this additional check is too
> stringent.
> 
> Allan

I'll agree with morganamilo here, if someone uses arch=(x86_64) and I
--ignorearch it to use it on armv7h, that's one thing, but if they don't
define it at all then --printsrcinfo succeeds but makepkg on its own fails.

IMHO that makes the patch worthwhile for linting --printsrcinfo, and in
the process if it results in --ignorearch failing for the same issue,
then I think it's a good thing on the grounds of technical correctness.

The PKGBUILD is fundamentally wrong to be missing required variables, it
shouldn't be "okay as long as you call makepkg with certain switches to
infer the arch", it doesn't work in the common case. Therefore it should
be fixed, and we should ensure that --printsrcinfo fails early.

Yes, anyone who tries to build the package will notice the issue. But
unfortunately many people who try writing PKGBUILDs will only ever run
--printsrcinfo and not try building it -- this patch prevents that from
occurring.

-- 
Eli Schwartz
Bug Wrangler and Trusted User

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.archlinux.org/pipermail/pacman-dev/attachments/20180619/47796a38/attachment-0001.asc>


More information about the pacman-dev mailing list