flathub / flathub

Issue tracker and new submissions
https://docs.flathub.org/docs/for-app-authors/submission
GNU Lesser General Public License v2.1
1.12k stars 2.11k forks source link

Allow changing AppStream IDs #227

Closed Pointedstick closed 1 year ago

Pointedstick commented 6 years ago

Right now Flathub doesn't have a facility to rename AppStream IDs (perhapos because they're used as the repo names?). This is problematic in cases where the AppStream ID used by Flathub is wrong and we would like to change it so that we can match up with upstream data.

Examples are:

TingPing commented 6 years ago

(perhapos because they're used as the repo names?)

Renaming a repo on github is easy. The OSTree repo they get exported to needs to figure out redirecting old installs to the new one.

TingPing commented 6 years ago

org.videolan.VLC -> org.videolan.vlc is another.

joergister commented 6 years ago

Also org.audacityteam. Audacity > org.audacityteam. audacity

TingPing commented 6 years ago

org.gnome.chess -> org.gnome.Chess (https://github.com/flathub/org.gnome.chess/issues/2)

gpoo commented 5 years ago

We are evaluating to rename org.gnome.Evince -> org.gnome.evince.

The rationale is that we have two D-Bus interfaces (application and daemon), both with org.gnome.evince. Flatpak's org.gnome.evince.Daemon cannot be launched it cannot be owned by org.gnome.Evince.

Alternatively, we can break the D-Bus ABI (and/or try to support both org.gnome.Evince and org.gnome.evince D-Bus interfaces). If renaming the app-id were not a major issue, we are more likely to go for it.

ramcq commented 5 years ago

@gpoo You don't need to change the name for this - if you define org.gnome.evince.Daemon=own in the Flatpak session bus policy, you can export this name and a service activation file.

gpoo commented 5 years ago

@ramcq thanks for the tip. I will give it a try. That would give us a big relief :-)

TingPing commented 5 years ago

It still makes sense in the long term to have them under the same namespace.

gpoo commented 5 years ago

@TingPing ok. However, we can delay the name change until we need to break the D-Bus ABI, so we can break it only once. We have some candidates, but not the time to do it within the next one or two release cycles. Thus, owning the service alleviates the situation.

mcatanzaro commented 5 years ago

We are evaluating to rename org.gnome.Evince -> org.gnome.evince.

We're trying to standardize GNOME on the former (org.gnome.Evince).

gpoo commented 5 years ago

I had forgotten the issue after we set:

   "finish-args": [
        ...
        "--own-name=org.gnome.evince",
        "--own-name=org.gnome.evince.Daemon"
    ],

As I remember from discussions with other Evince developers, it should stay as it is unless there is a good reason to break the D-Bus ABI.

Zlopez commented 5 years ago

I'm trying to update gnome-chess to latest version and I'm hitting issue with D-Bus (See https://github.com/flathub/org.gnome.chess/pull/8), which is probably caused by the name.

My question is: "Is the only way to do a rename right now to deprecate the existing flatpak and create a new one?" Or did the situation changed?

gpoo commented 5 years ago

@Zlopez the solution is in the comment right before yours. If you read the discussion, you should get the context as well.

Zlopez commented 5 years ago

@gpoo I tried your solution, but the test build failed. See https://flathub.org/builds/#/builders/32/builds/2210 Did I missed something or do we have different issue?

ramcq commented 5 years ago

@Zlopez why are you changing from the good situation (where the app ID matches the D-Bus name) to the bad one (where this is not true any more)?

ramcq commented 5 years ago

I tried your solution, but the test build failed. See https://flathub.org/builds/#/builders/32/builds/2210

This build failed because Flathub is still building the app ID org.gnome.chess and expecting that it has that app ID. So now the ID inside the manifest doesn't match the ID that Flathub expects. You would need a new repo and a new manifest named org.gnome.Chess to rebuild a new app with this name.

But really, why this madness? Once you have the ID, all you do by changing it is break loads of stuff - if people have the desktop icon pinned, and you rename the app ID and desktop file, you leave them a dead icon. Never mind Flatpak, but Shell also doesn't have a way to support renaming apps. What's the goal?

Zlopez commented 5 years ago

@ramcq I asked in my previous post if I should deprecate this repository and create a new one and @gpoo pointed me to his solution, so I tried it.

gpoo commented 5 years ago

@Zlopez I think you did it in the incorrect order. You do not change the APPid, you just add a new bus name.

@ramcq Unfortunately, several manifest files were made ignoring the APPid used by the applications, and then the maintainers had to deal with mismatching names, and requested to not make fuzz about it.

Zlopez commented 5 years ago

@gpoo I tried it also the other way and it failed on build. So I decided to deprecate the current flatpak and create a new one with correct name. So I can use as much as I can from upstream manifest.

ramcq commented 5 years ago

@ramcq Unfortunately, several manifest files were made ignoring the APPid used by the applications, and then the maintainers had to deal with mismatching names, and requested to not make fuzz about it.

For Chess, this isn't because of Flatpak manifests, this is a conscious decision in GNOME to rename all of the games, which was frankly a terrible idea. :(

bilelmoussaoui commented 5 years ago

As Flathub can finally rename app-ids, here's a list of issues that would be nice to get them finally fixed

Those 2 apps still need the change upstream first.

I don't think there are any other issues, at least, not reported.

Zlopez commented 5 years ago

@bilelmoussaoui Isn't Thunderbird already EOL?

aral commented 4 years ago

Hiya, I need to rename ind.ie.Gnomit to org.small-tech.Gnomit. I’ve been told that I should open a new merge request here and mark the old repo as end of life.

Given @bilelmoussaoui’s comment (“as Flathub can finally rename app-ids”), I wanted to see if that’s still the recommended way forward or is there a newer way?

Thanks in advance!

bilelmoussaoui commented 4 years ago

As mentioned before, just open a new merge request with the new app-id and one of the reviewers will merge it and end of life the old app-id.

aral commented 4 years ago

OK, cool, so that is the official process. Thanks. Should I open a separate issue for this to be documented or is there already one?

razzeee commented 1 year ago

I think this could be closed, as we allow to change appstream ids now, via an EOL