[arch-dev-public] Fwd: The Final Cleanup
Hi, This is the current situation: * Several packages in [community] (and maybe one package in [extra]) includes .desktop files * There is a 2 years, 8 months and 14 days old bug report, opened by Thomas Dziedzic, that opens with a few well chosen words, and is followed by a lengthy discussion: https://bugs.archlinux.org/task/23387 * For some packages, the lack of .desktop files has been reported upstream as bugs. * For some of those bug reports, upstream has: * Responded positively, and started to provide .desktop files (very few) * Responded that they will not provide .desktop files (even when provided in the bug report) * Not responded (seems to be the common case) * Several TUs and devs has had a go at moving things forward. The current effort is pretty spread out and has a long history: * Some are trying to keep the text in the bug report up to date. * Some are maintaining a wiki page about the topic: https://wiki.archlinux.org/index.php/DeveloperWiki:Removal_of_desktop_files * Some are posting comments to the bug report. * A tool for generating .desktop files has been created, named "gendesk" (I'm guilty of this, and one or more of the above). * The bug has been closed and re-opened three times * We had an Arch Desktop Project going, that was started back in 2007, but is now obsolete: https://wiki.archlinux.org/index.php/Desktop_Project * Creating a TODO list has been suggested, some people are for this, others are against it. Here are the arguments so far for upstream being the ones providing the .desktop files: * It should not be the responsibility of the users * It should not be the responsibility of Arch Linux * It is increasingly common that upstream provides these * The real issue is that .desktop files should be provided by upstream Here are a few arguments against upstream being the ones providing the .desktop files: * Desktop shortcuts are not provided by upstream for other platforms, like Android, OS X or Windows (except when included in an installer) * Upstream should create the application, users should use it and packagers should make the application available to the user. This includes providing a .desktop file. * "Good luck trying to convince upstreams like dwm (and many others) to include them. IIRC the previous attempt didnt produce much either." Conclusion so far: Regardless of if it is correct that upstream should provide the .desktop files or not, the current plan is not working. TUs and devs are slow at reporting this as bugs and upstream are slow at responding. At the current rate, this will take years, perhaps decades. The current plan is not working. I think .desktop files should ideally be provided by upstream. But for cases where they are not currently being provided, we should provide them. Here are the arguments for removing .desktop files from packages (or not having them in the first place): * Arch Linux has vanilla packages, so we should try to avoid including files that are hand-crafted by packagers * It clutters the repository * Including .desktop files is basically the same as patching. And this quote: "Patching only occurs in extremely rare cases, to prevent severe breakage in the instance of version mismatches that may occur within a rolling release model." from https://wiki.archlinux.org/index.php/Arch_Linux * In all other connections, it is bad form to check in files to the repository that can otherwise easily be generated (like Makefile.am files, for instance) * Packages should be defined with as few text files as possible. Ideally just one PKGBUILD file. Here are the arguments for keeping .desktop files in packages: * If the existing ones are okay, there is no point in changing them * Upstream should fix them (this does not seem to be happening / this is happening at a rate that is too slow) I think .desktop files should not be kept in the packages, but either be provided by upstream or being generated by a tool. Here are the arguments for generating the .desktop files with a tool like "gendesk": * There is much duplication of code by having one .desktop file per (GUI) package * If the .desktop specification should change in the future, there is only one tool that has to be changed, not bazillions of little .desktop files * If there should be alternative ways of providing desktop shortcuts in the future, possibly for other desktop environments, the transition will be easier * It's more elegant than including manually crafted files everywhere * It provides one consistent look of .desktop files and avoids problems (for instance, one hand crafted (or upstream provided?) .desktop file used Terminal=1 instead of Terminal=true, which caused problems). Generated files are consistent, which avoids problems. * gendesk is already being used for several packages (and has been used for a while), and it seems to work fine * Many files are generating during the prepare or build process. .desktop files should be generated too. * "I've just tried gendesk and it's pretty neat actually." Here are the arguments against generating the .desktop files with a tool like "gendesk": * It is just like including base64 encoded files directly in the PKGBUILD. (no, it's not. Contrast with other build-time generated files) * It's better to just leave the current .desktop files as they are. * Generating the .desktop files does not make the packages more "vanilla". (.desktop files are inherently non-vanilla, though) * It takes a bit of work to create a package in the first place. Adding a .desktop file or not won't make a difference in the overall burden. * The functionality should rather be in makepkg. * The maintainer still needs to relate to .desktop files one way or the other I think .desktop files should be generated with "gendesk", or a similar tool. (Note that gendesk has evolved and improved quite a bit since the time when it was first introduced and commented on in the bug report). Here are the arguments for creating a TODO list: * It's time to get this done and close the age old bug report. * People can still choose to reserve their packages from being affected (simply by marking their packages as complete, for instance). * A TODO list is the appropriate method for solving this situation. * "I'm convinced TODO is more appropriate. Also I think the TODO interface (Complete/Incomplete) is better suited for this task." Here are the arguments against creating a TODO list: * Todos are things that require 100% completion ASAP for the distro to go forward I think we should have a TODO for this. Specifically, I think we should have a TODO for removing all .desktop files from our package sources. They should ideally be provided by upstream, but in the mean time, they should be generated. If there are no protests, I will, after some time (say, three days without any replies to this thread): * Create a TODO for this * Start fixing the packages (I will not fix the packages of maintainers that wish to reserve themselves from this, of course). We all appreciate a good discussion, but before replying with a flamey flame of a flaming reply, please think a minute if you have a better solution than this for achieving the goal of closing FS#23387 in the near future (not in 10 years). All the best. -- Sincerely, Alexander Rødseth xyproto / TU
[2013-12-06 18:15:36 +0100] Alexander Rødseth:
I think .desktop files should ideally be provided by upstream. But for cases where they are not currently being provided, we should provide them.
Sure. That's exactly like service files, or rc.d files before that. Nothing new here.
Regardless of if it is correct that upstream should provide the .desktop files or not, the current plan is not working. TUs and devs are slow at reporting this as bugs and upstream are slow at responding. At the current rate, this will take years, perhaps decades. The current plan is not working.
Why not? If a given package does not have a desktop file and nobody is bothered enough to write one up and submit it through our bug tracker, then that package does not really need a desktop file.
Here are the arguments for generating the .desktop files with a tool like "gendesk":
* There is much duplication of code by having one .desktop file per (GUI) package * If the .desktop specification should change in the future, there is only one tool that has to be changed, not bazillions of little .desktop files * If there should be alternative ways of providing desktop shortcuts in the future, possibly for other desktop environments, the transition will be easier * It's more elegant than including manually crafted files everywhere * It provides one consistent look of .desktop files and avoids problems (for instance, one hand crafted (or upstream provided?) .desktop file used Terminal=1 instead of Terminal=true, which caused problems). Generated files are consistent, which avoids problems. * gendesk is already being used for several packages (and has been used for a while), and it seems to work fine * Many files are generating during the prepare or build process. .desktop files should be generated too.
So you suggest we use pacman hooks to deal with desktop files? Should service files be autogenerated as well? (I don't think so.)
If there are no protests, I will, after some time (say, three days without any replies to this thread):
* Create a TODO for this * Start fixing the packages (I will not fix the packages of maintainers that wish to reserve themselves from this, of course).
I object to any mass automated update of our PKGBUILDs. Why are you making such a big deal out of such an insignificant issue? Packages for whom nobody has yet bothered to write a desktop file just have no need for one... P.S. Why did you separately send this to arch-general? Now the discussion will be split over two mailing lists... -- Gaetan
On 06.12.2013 18:56, Gaetan Bisson wrote:
P.S. Why did you separately send this to arch-general? Now the discussion will be split over two mailing lists...
I mentioned on IRC that not everyone reads arch-general when I saw the mail there and encouraged him to post to arch-dev-public, I didn't think about the reply issue when I said that though. Sorry.
Hi, 2013/12/6 Gaetan Bisson <bisson@archlinux.org>:
Regardless of if it is correct that upstream should provide the .desktop files or not, the current plan is not working. TUs and devs are slow at reporting this as bugs and upstream are slow at responding. At the current rate, this will take years, perhaps decades. The current plan is not working.
Why not?
As I wrote, I believe it is because TUs and devs are slow at reporting this as bugs and upstream are slow at responding. If this was not the answer you are looking for, please be more specific than just "why not?". I am less concerned with the exact mechanisms behind why the bug has been open for so long, and more concerned with finding a solution.
If a given package does not have a desktop file and nobody is bothered enough to write one up and submit it through our bug tracker, then that package does not really need a desktop file.
That depends on your point of view. From the point of view of users, it may very well need a desktop file.
From my point of view, I think every package maintainer should bother.
So you suggest we use pacman hooks to deal with desktop files?
No, that is not what I am suggesting. I think I expressed clearly what I am suggesting.
Should service files be autogenerated as well?
(I don't think so.)
Yes, I think that would work as well, but that is another topic entirely.
* Start fixing the packages (I will not fix the packages of maintainers that wish to reserve themselves from this, of course).
I object to any mass automated update of our PKGBUILDs.
No automated updates was mentioned and no automated updates were planned. My intentions and my plan were expressed clearly in what I wrote. No need to invent things to object to.
Why are you making such a big deal
I disagree that I am.
out of such an insignificant issue?
I disagree that it is insignificant. Why do you care about the things you care about? I can call them insignificant too, but for what purpose other than belittling you? I happen to care about this particular issue.
Packages for whom nobody has yet bothered to write a desktop file just have no need for one...
I disagree with this too. I think all desktop applications needs a .desktop file. - Alexander / xyproto
Well, You missed most of my points. That's okay. Let's focus on: [2013-12-06 21:08:30 +0100] Alexander Rødseth:
2013/12/6 Gaetan Bisson <bisson@archlinux.org>:
Packages for whom nobody has yet bothered to write a desktop file just have no need for one...
I disagree with this too. I think all desktop applications needs a .desktop file.
Could you explain to me why an application needs a desktop file when nobody on earth cares whether it has one or not? -- Gaetan
Hi Gaetan, 2013/12/7 Gaetan Bisson <bisson@archlinux.org>:
You missed most of my points. That's okay.
Ditto.
Could you explain to me why an application needs a desktop file when nobody on earth cares whether it has one or not?
It is odd to be asked to explain a point of view that I never had nor expressed. If nobody on earth cares whether an application has a desktop file, I don't think it needs one either.
It's quite patronizing for you to assume that the silent majority is on your side. Actually, I'll take it on mine:
Hope you are aware that you are also calling yourself patronizing here.
I will revert all the changes you make to packages of which the maintainers have not explicitly given their consent to your actions in this thread. Except of course if those maintainers explicitly contact me to opt out of the revert.
Very well. Your objection is noted. - Alexander / xyproto
Hi Gaetan, 2013/12/7 Gaetan Bisson <bisson@archlinux.org>:
[2013-12-07 20:46:26 +0100] Alexander Rødseth:
If nobody on earth cares whether an application has a desktop file, I don't think it needs one either.
Great. So we can stop this nonsense.
Your assumption that nobody on earth cares whether an application has a desktop file is wrong. And calling it nonsense is misguided.
Your objection is noted.
Thank you mister chairman.
If we are down to the level of name calling here, I'll use the opportunity to call you mr grumpypants. - Alexander / xyproto
On 07/12/13 03:20, Alexander Rødseth wrote:
* The functionality should rather be in makepkg.
NO!
* Todos are things that require 100% completion ASAP for the distro to go forward
Ha ha! Thanks for some comedy in this email! (Note: look at how long the currently open TODOs have been around) My opinion: 1) Upstream provided files are gold standard. 2) I do not care beyond that. As far as I am concerned, if upstream does not provide one, it is up to the packager whether to use gendesk or a handcrafted .desktop file. Either way, a rebuild will be needed in the (unlikely?) event that something changes in the specification. There is no need to do anything here apart from packages that do not provide a .desktop file that should need one added. Allan
Hi Allan, Thanks for your opinion on this. I agree with your comments and conclusion. 2013/12/7 Allan McRae <allan@archlinux.org>:
There is no need to do anything here apart from packages that do not provide a .desktop file that should need one added.
In light of all this, would it be okay if I just close FS#23387? (https://bugs.archlinux.org/task/23387) After having discussed the topic here on the mailing list, I am hopeful that it will not be immediately re-opened again. -- Best regards, Alexander Rødseth xyproto / TU
Am 06.12.2013 18:20, schrieb Alexander Rødseth:
* Arch Linux has vanilla packages, so we should try to avoid including files that are hand-crafted by packagers
If the files are needed, we include them. It's that simple.
* It clutters the repository
One or two extra files per package is not a problem.
* Including .desktop files is basically the same as patching. And this quote: "Patching only occurs in extremely rare cases, to prevent severe breakage in the instance of version mismatches that may occur within a rolling release model." from https://wiki.archlinux.org/index.php/Arch_Linux
That is nonsense. A .desktop file is a simple configuration file. We ship custom default configurations for our packages whenever necessary. More importantly, we should never compromise functionality for ideological or political reasons - for me, that is part of Arch's simplicity. In short, whenever upstream provides a correct .desktop file, we should use it. Otherwise, we should provide our own (exactly like we do with .service files).
Am 07.12.2013 14:06, schrieb Thomas Bächler:
Am 06.12.2013 18:20, schrieb Alexander Rødseth:
* Arch Linux has vanilla packages, so we should try to avoid including files that are hand-crafted by packagers
If the files are needed, we include them. It's that simple.
* It clutters the repository
One or two extra files per package is not a problem.
* Including .desktop files is basically the same as patching. And this quote: "Patching only occurs in extremely rare cases, to prevent severe breakage in the instance of version mismatches that may occur within a rolling release model." from https://wiki.archlinux.org/index.php/Arch_Linux
That is nonsense. A .desktop file is a simple configuration file. We ship custom default configurations for our packages whenever necessary.
More importantly, we should never compromise functionality for ideological or political reasons - for me, that is part of Arch's simplicity.
In short, whenever upstream provides a correct .desktop file, we should use it. Otherwise, we should provide our own (exactly like we do with .service files).
I agree; let's not make things more complicated than needed. If a dev wants to maintain his own desktop file, that's fine. We should try to push these upstream though (similar to service files). -- Pierre Schmitz, https://pierre-schmitz.com
On Fri, Dec 6, 2013 at 6:20 PM, Alexander Rødseth <rodseth@gmail.com> wrote:
Hi,
This is the current situation:
You already know my opinion on this, but for the record I sum it up here, too: * I'm against forcing everyone to generate desktop files (or removing them, I saw that someone mentioning that, too). The maintainers should decide if they want to auto generate files using gendesk (or whatever tool surfaces) or ship their own. * I'm all for pushing the desktop files upstream. We should contact upstream of packages marked as "Not Done" in the FS#23387 and try to convince them to provide desktop files. If they provide such file, use that. If they reject it for some reason, or the upstream is dead/not responding, move the package to the appropriate list and continue providing desktop file (doesn't matter if auto-generated or hand-written). Lukas
participants (7)
-
Alexander Rødseth
-
Allan McRae
-
Florian Pritz
-
Gaetan Bisson
-
Lukas Jirkovsky
-
Pierre Schmitz
-
Thomas Bächler