Subject: Why did pipeline build two packages?

From: Wolf <[email-masked]>
Date: Sat, 8 Oct 2022 00:40:37 +0200

Hi,

I'm curious about this[0] job that was executed as part of pipeline for my
merge request. It looks like it tried to build two packages:

    >>> testing/bazel: build succesfully
    >>> testing/bazel4: build succesfully

Any idea why? My merge request[1] is touching just one of them, so I
have no idea why both are built. It seems a bit unnecessary and the
build takes quite long.

Given that I do not touch bazel4, I guess following error is expected?

    >>> bazel4: Updating the testing/x86_64 repository index...
    >>> bazel4: Signing the index...
    >>> ERROR: the built package (bazel4) is already in the repo

Any ideas?

Thank,
W.

0: https://gitlab.alpinelinux.org/gray-wolf/aports/-/jobs/865337
1: https://gitlab.alpinelinux.org/alpine/aports/-/merge_requests/39933

-- 
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

---

From: "alice" <[email-masked]>
Date: Sat, 08 Oct 2022 01:13:21 +0200

>     >>> ERROR: the built package (bazel4) is already in the repo
probably because bazel4 provides=bazel and the thing that triggers the
rebuilds for CI gets confused by it. the new one should be named bazel5
in any case :)

---

From: Wolf <[email-masked]>
Date: Sat, 8 Oct 2022 22:44:13 +0200

> rebuilds for CI gets confused by it. the new one should be named bazel5

I see, I did not notice that. I will add provides=bazel into my package
as well.

Sure, I will rename it, no problem. Is there any rule on whether
packages should include their version in the package name? For example
neither php nor nodejs do it (and there multiple versions would be
actually useful), but for example lua does. I assume there is no
clear-cut rule?

I will rename it of course, I don't really care about the name :)

W.

---

From: "alice" <[email-masked]>
Date: Sun, 09 Oct 2022 01:48:40 +0200

> actually useful), but for example lua does. I assume there is no
php does (7, 8, 81). nodejs would too if it had more than lts/current, i
guess..
so, only really the things with multiple versions for real (and not
simply "latest"/"lts"), but there's no clear cut rule.