Should we consider project basenames unique?

Ben Cooksley bcooksley at kde.org
Wed Nov 24 09:02:17 GMT 2021


On Wed, Nov 24, 2021 at 9:46 PM Harald Sitter <sitter at kde.org> wrote:

> On Wed, Nov 24, 2021 at 6:00 AM Ben Cooksley <bcooksley at kde.org> wrote:
> >
> > On Wed, Nov 24, 2021 at 2:29 PM Aleix Pol <aleixpol at kde.org> wrote:
> >>
> >> On Wed, Nov 24, 2021 at 2:10 AM ashark at linuxcomp.ru <
> ashark at linuxcomp.ru> wrote:
> >> >
> >> > Hello.
> >> > There is currently a problem that projects are identified by path in
> invent.kde.org. But in pkgbuilds in Arch Linux the makepkg clones repo
> twice, first time to the dir with pkgbuild, and second time to the srcdir
> for build package. And that second repo has first repo as origin, i.e. its
> origin is path to the first repo. And this leads to breakage of determining
> project identifier in cmake module. To workaround, I either need to clone
> to the path that matches the regexp, such as crutch.kde.org:pim/zanshin.git
> or fixing the origin of the problem.
> >> >
> >> > I wanted to fix it by identifying the project by its name. See
> https://invent.kde.org/sdk/releaseme/-/merge_requests/13.
> >> >
> >> > Now, the question is, could we consider project names unique? In that
> case, we can merge my mr, and path crutch will not be needed anymore.
> >>
> >> I agree it would be a problem to have different repositories with the
> >> same name. I'm not sure how we can enforce it though.
> >
> >
> > This is something that Sysadmin already encountered and resolved.
> >
> > Please see the 'identifier' key in the repository metadata (located at
> https://invent.kde.org/sysadmin/repo-metadata/ in the projects/
> subfolder) which we guarantee to be unique.
> > This is already used and relied upon by scripty as well as our internal
> systems (such as commits.kde.org) when referencing repositories.
>
> That is the problem. We, the humans, do not know the identifier nor
> should we care. When I want to make a release of plasma-dialer I
> should be able to pass plasma-dialer as argument because I know the
> repo/project is called plasma-dialer.
>

Sorry i'm not seeing your point here.

First, there is a fairly small group of projects where the identifier does
not equal the repository name. Those projects have good valid reasons (as
outlined below) for that difference.

Second, regardless of what you pass to releaseme, it still has to locate
the project on invent.kde.org, which means it needs to know the group it is
in - otherwise it cannot clone the repository.
Which means you either provide the path (plasma-mobile/plasma-dialer) or
you need to go look in the metadata anyway.

If you have an existing checkout then you shouldn't need to provide an
argument because releaseme should be able to infer it for you from the URL
in .git/config of the clone - and can make reference to the metadata (it is
an automated tool after all)


> > The repository name itself (stripped of any folders) is not guaranteed
> to be unique.
>
> That is what is proposed to get changed.
>

The whole reason why we went with identifiers is because we already had
requests from people in certain namespaces (maui/ in particular, but others
as well if memory serves) who were agitating about their repositories being
prefixed with the overall project name due to the extremely generic names
of their repositories.

Those prefixes also read very strange when taking into account the group
name. If this change were to go through, then you end up with URLs such as
https://invent.kde.org/maui/maui-pix - compared with what we have currently
which is https://invent.kde.org/maui/pix


> HS
>

Regards,
Ben
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-core-devel/attachments/20211124/f2ef384b/attachment-0001.htm>


More information about the kde-core-devel mailing list