New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
XDGData: misc fixes #4110
XDGData: misc fixes #4110
Conversation
@eszlari interesting. Do you mind opening forum thread to discuss your PR? |
I don't think there is anything controversial about these changes. These are just some minor cleanups. |
why rename appdata to metainfo? |
The link to the spec is in the commit message: |
This might potentially affect older distributions... Need to have a better look |
I took a cursory look at all the https://www.freedesktop.org/software/appstream/docs/sect-Metadata-Application.html documentation and I couldn't find clear instructions on how to manage backward compatibility. |
According to GNOME developers, this is supported since 2014: |
When using the package search engine of Ubuntu then none of the packages of Xenial (2016) have their metainfo.xml file in the metainfo directory, it's still appdata: With Bionic the majority of packages have moved these files to metainfo now: When searching files of the form appdata.xml then they are still used a lot: When I got the package instructions of e.g. Fedora right then an appdata.xml is used for the main application and metainfo.xml is used for add-ons: https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/ So, this means that our appdata.xml file shouldn't be renamed but installed to a different directory on newer systems. Now we can ignore the default install location for Xenial and thus have the risk that the meta information won't be shown (any more) because it will expire in a few months anyway or we can add a new CMake variable called CMAKE_INSTALL_METAINFO whose default value is "metainfo" but can be overridden by package maintainers of Xenial to be "appdata". This PR must then be adjusted accordingly:
|
Here is how KDE handles it: |
In a lot of way we aren't fully leveraging the AppData/MetaInfo aspect of FC. Should I open a ticket to explore this? |
Just in case people are not aware what this file actually does: There are three applications (that I know of) that use this file to display information to the user:
In case an app has no such file, GNOME Software and Plasma Discover fallback to the *.desktop file. I doubt that people who use PPAs / back-port repositories for older distros, install these through such software center applications. And I guess more and more people are moving to AppImage, Flatpak or Snap and are not affected by this change anyway.
Then I would simply keep the old suffix (appdata.xml), because I think this small change is not worth it to make the build system even more complicated than it already is. |
This documentation is out of date, please refer to the official specification: |
Quote from the author of the spec:
|
I wonder how this impacts snap packages + other ecosystems like Arch Linux and it's derivatives? |
CC Linux distro package managers Edit: sorry to ping. Just wondering you could weigh in on this proposed change. Does it have any impact on downstream package managing for you? |
Overall I agree with the changes. The icon names must match the desktop file name to be compliant. I don't know that the desktop file name needs to match the metainfo naming scheme but it doesn't hurt. It looks like the appdata.xml extension is still supported so that would be "safe" unless there was a good mechanism to know what kind of system is being installed to OR a CMake option for the packager to specify manually. |
already set in ConfigureCMakeVariables.cmake
I have reverted the rename to |
ping @wwmayer |
I would really like to get this in 0.19. If there is something else left to do, please let me know. |
Although it's marked with "For 0.20" now I will have a look before the freeze. |
(Sorry I had marked it automatically for 0.20 without looking well... Sorry about that!) |
Leaving for you @wwmayer as you said you would have a look, but this looks good to merge to me |
The internet domain of FreeCAD might change soon, so I think it's best to not use org.freecadweb anymore... |
Following a link to the branch on the CI-repository: https://gitlab.com/freecad/FreeCAD-CI/-/commits/PR_4110 The CI-status is available on the latest commit of the branch. https://gitlab.com/freecad/FreeCAD-CI/-/pipelines?scope=branches |
@eszlari can you please do so and use "freecad.org". Then the PR can be merged. |
@eszlari , if you don't reply this week, the PR cannot be merged for FC 0.20 |
No reply for more than year. Closing for now. Please reopen when the PR could be merged and is updated. |
Thank you for creating a pull request to contribute to FreeCAD! To ease integration, please confirm the following:
git pull --rebase upstream master
./bin/FreeCAD --run-test 0
And please remember to update the Wiki with the features added or changed once this PR is merged.
Note: If you don't have wiki access, then please mention your contribution on the 0.19 Changelog Forum Thread.