Difference between revisions of "DeveloperWiki:Removal of desktop files"

From ArchWiki
Jump to: navigation, search
m (removed one letter)
m (See also: rm link (page marked for deletion))
 
(6 intermediate revisions by 5 users not shown)
Line 4: Line 4:
  
 
=== Background information ===
 
=== Background information ===
 +
 
"Since archlinux advertises itself as having vanilla packages, I thought it might be a good idea to contact upstream about either including these desktop files in their sources, or if they refuse, then get rid of them.
 
"Since archlinux advertises itself as having vanilla packages, I thought it might be a good idea to contact upstream about either including these desktop files in their sources, or if they refuse, then get rid of them.
 
Packages should only be moved to the Done list if the .desktop files are removed from svn repos and the package itself.
 
Packages should only be moved to the Done list if the .desktop files are removed from svn repos and the package itself.
Line 11: Line 12:
  
 
=== Relevant quote ===
 
=== Relevant 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."'' - [https://wiki.archlinux.org/index.php/Arch_Linux#Source_Integrity Arch Linux Source Integrity]
 
''"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."'' - [https://wiki.archlinux.org/index.php/Arch_Linux#Source_Integrity Arch Linux Source Integrity]
  
Line 81: Line 83:
 
* paraview/paraview.desktop
 
* paraview/paraview.desktop
 
* pdfedit/pdfedit.desktop
 
* pdfedit/pdfedit.desktop
* pingus/pingus.desktop
 
 
* pympc/pympc.desktop
 
* pympc/pympc.desktop
 
* q4wine/q4wine.desktop
 
* q4wine/q4wine.desktop
Line 103: Line 104:
 
* teeworlds/teeworlds.desktop
 
* teeworlds/teeworlds.desktop
 
* torcs/torcs.desktop
 
* torcs/torcs.desktop
* tremulous/tremulous.desktop
 
 
* tuxcards/tuxcards.desktop
 
* tuxcards/tuxcards.desktop
 
* tuxguitar/tuxguitar.desktop
 
* tuxguitar/tuxguitar.desktop
 
* umlet/umlet.desktop
 
* umlet/umlet.desktop
* uqm/uqm.desktop
 
 
* urbanterror/urbanterror.desktop
 
* urbanterror/urbanterror.desktop
 
* vym/vym.desktop
 
* vym/vym.desktop
Line 117: Line 116:
  
 
==== Pending (have been reported) ====
 
==== Pending (have been reported) ====
 +
 
* blobby2/blobby2.desktop (http://sourceforge.net/apps/mantisbt/blobby/view.php?id=28)
 
* blobby2/blobby2.desktop (http://sourceforge.net/apps/mantisbt/blobby/view.php?id=28)
 
* bomberclone/bomberclone.desktop (http://sourceforge.net/tracker/?func=detail&aid=3404991&group_id=79449&atid=556632)
 
* bomberclone/bomberclone.desktop (http://sourceforge.net/tracker/?func=detail&aid=3404991&group_id=79449&atid=556632)
Line 122: Line 122:
 
* checkgmail/checkgmail.desktop (http://sourceforge.net/tracker/?func=detail&aid=3377367&group_id=137480&atid=738666)
 
* checkgmail/checkgmail.desktop (http://sourceforge.net/tracker/?func=detail&aid=3377367&group_id=137480&atid=738666)
 
* gcolor2/gcolor2.desktop - https://sourceforge.net/tracker/?func=detail&aid=3404696&group_id=119919&atid=685762
 
* gcolor2/gcolor2.desktop - https://sourceforge.net/tracker/?func=detail&aid=3404696&group_id=119919&atid=685762
 +
* higan-gtk/purify.desktop (using gendesk for now, will contact upstream to have it included)
 +
* higan-qt/purify.desktop (using gendesk for now, will contact upstream to have it included)
 
* paraview/paraview.desktop - http://paraview.org/Bug/view.php?id=12508
 
* paraview/paraview.desktop - http://paraview.org/Bug/view.php?id=12508
 +
* pingus/pingus.desktop - http://code.google.com/p/pingus/issues/detail?id=136
 +
* rbutil/rbutil.desktop (http://gerrit.rockbox.org/r/#/c/573/)
 
* speed-dreams/speed-dreams.desktop (https://sourceforge.net/apps/trac/speed-dreams/ticket/112)
 
* speed-dreams/speed-dreams.desktop (https://sourceforge.net/apps/trac/speed-dreams/ticket/112)
 
* sxiv/sxiv.desktop (https://github.com/muennich/sxiv/pull/50)
 
* sxiv/sxiv.desktop (https://github.com/muennich/sxiv/pull/50)
 
* tea/tea.desktop - sent to author, he promised to include in next release
 
* tea/tea.desktop - sent to author, he promised to include in next release
 
* torcs/torcs.desktop (http://sourceforge.net/tracker/?func=detail&aid=3405193&group_id=3777&atid=103777)
 
* torcs/torcs.desktop (http://sourceforge.net/tracker/?func=detail&aid=3405193&group_id=3777&atid=103777)
 +
* tremulous/tremulous.desktop - https://bugzilla.icculus.org/show_bug.cgi?id=6027
 
* umlet/umlet.desktop - sent to upstream - http://code.google.com/p/umlet/issues/detail?id=23
 
* umlet/umlet.desktop - sent to upstream - http://code.google.com/p/umlet/issues/detail?id=23
 +
* uqm/uqm.desktop - https://bugs.uqm.stack.nl/show_bug.cgi?id=788
 
* urbanterror/urbanterror.desktop
 
* urbanterror/urbanterror.desktop
  
 
==== Finished (upstream rejected the .desktop file) ====
 
==== Finished (upstream rejected the .desktop file) ====
 +
 +
* gens/gens.desktop (switched to gendesk, no release in 5 years, pretty much dead)
 
* nexuiz/nexuiz-glx.desktop (nexuiz is effectively dead)
 
* nexuiz/nexuiz-glx.desktop (nexuiz is effectively dead)
 
* nexuiz/nexuiz-sdl.desktop (nexuiz is effectively dead)
 
* nexuiz/nexuiz-sdl.desktop (nexuiz is effectively dead)
Line 141: Line 149:
 
=== gendesk ===
 
=== gendesk ===
  
{{Pkg|gendesk}} is a Arch Linux-specific tool for generating .desktop files from PKGBUILD files. Most of the information is fetched directly from the PKGBUILD.
+
''gendesk'' started as an Arch Linux-specific tool for generating .desktop files by fetching the needed information directly from PKGBUILD files. Now it is a general tool that takes command-line arguments. See [[Desktop entries#gendesk]] for more information.
 
+
Icons are downloaded from [http://openiconlibrary.sourceforge.net/gallery2/open_icon_library-full/icons/png/48x48/apps/%s.png openiconlibrary], if available. The source for icons can easily be changed in the future.
+
 
+
===== How to use =====
+
 
+
* Add {{Ic|gendesk}} to makedepends
+
 
+
* Start the {{Ic|prepare()}} function with:
+
{{bc|gendesk --pkgname "$pkgname" --pkgdesc "$pkgdesc"}}
+
 
+
* Alternatively, if an icon is already provided ($pkgname.png, for instance). The {{Ic|-n}} flag is for not downloading an icon or using the default icon. Example:
+
{{bc|gendesk -n --pkgname "$pkgname" --pkgdesc "$pkgdesc"}}
+
 
+
* {{Ic|$srcdir/$pkgname.desktop}} will be created and can be installed in the {{Ic|package()}} function with:
+
{{bc|install -Dm644 "$pkgname.desktop" "$pkgname/usr/share/applications/$pkgname.desktop"}}
+
 
+
* The icon can be installed with:
+
{{bc|install -Dm644 "$pkgname.png" "$pkgname/usr/share/pixmaps/$pkgname.png"}}
+
 
+
* Use {{Ic|1=--name='Program Name'}} for choosing a name for the menu entry.
+
 
+
* Use {{Ic|1=--exec='/opt/some_app/elf --with-ponies'}} for setting the exec field.
+
 
+
* See the [https://github.com/xyproto/gendesk gendesk project] for more information. (Patches and pull requests are welcome).
+
  
 
== See also ==
 
== See also ==
  
* The [[Arch Desktop Project]]
+
* [[Desktop entries]]
* [[Desktop Entries]]
+

Latest revision as of 14:44, 26 December 2014

[community]

Background information

"Since archlinux advertises itself as having vanilla packages, I thought it might be a good idea to contact upstream about either including these desktop files in their sources, or if they refuse, then get rid of them. Packages should only be moved to the Done list if the .desktop files are removed from svn repos and the package itself. In case upstream does reject taking in the .desktop file, put it in the Done (rejected) list but do not delete the .desktop files from the package until the very end when we can formally warn users about the impending .desktop deletion and give them a week to backup anything they want."

Relevant 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." - Arch Linux Source Integrity

Relevant commands

For finding the number of .desktop files in /var/abs/community:

  • find /var/abs/community -name '*.desktop' | sort -u | wc -l

For finding the .desktop files in trunk in the community repo:

  • find . -maxdepth 3 -wholename "*trunk/*.desktop*"

With wiki formatting:

  • for f in `find . -maxdepth 3 -wholename "*trunk/*.desktop*" | sort -u | sed 's:/trunk/:/:'`; do echo $f | sed 's:./:* :'; done

Progress

Not Done (last updated 2012-08-07)

  • alleyoop/alleyoop.desktop
  • assaultcube/assaultcube.desktop
  • astromenace/astromenace.desktop
  • aumix/aumix.desktop
  • awesome/awesome.desktop
  • blobby2/blobby2.desktop
  • boinc/boinc.desktop
  • bomberclone/bomberclone.desktop
  • caph/caph.desktop
  • checkgmail/checkgmail.desktop
  • critter/critter.desktop
  • cycle/cycle.desktop
  • dguitar/dguitar.desktop
  • driconf/driconf.desktop
  • dvdisaster/dvdisaster.desktop
  • dwarffortress/dwarffortress.desktop
  • dwm/dwm.desktop
  • epdfview/epdfview.desktop.patch
  • esmska/esmska.desktop
  • extremetuxracer/extremetuxracer.desktop
  • fceux/fceux.desktop
  • flobopuyo/flobopuyo.desktop
  • freecol/fc.desktop
  • freedroid/freedroid.desktop
  • freedroidrpg/freedroidrpg.desktop
  • freemind/freemind.desktop
  • freevo/freevo.desktop
  • frogatto/frogatto.desktop
  • gcolor2/gcolor2.desktop
  • gebabbel/gebabbel.desktop
  • ghemical/ghemical.desktop
  • gl-117/gl-117.desktop
  • gnormalize/gnormalize.desktop
  • gutenpy/gutenpy.desktop
  • gxmessage/gxmessage.desktop
  • hedgewars/hedgewars.desktop
  • hex-a-hop/hex-a-hop.desktop
  • intellij-idea-community-edition/idea.desktop
  • josm/josm.desktop
  • jsampler/jsampler-classic.desktop
  • jsampler/jsampler.desktop
  • kcheckers/kcheckers.desktop
  • lastfm-client/lastfm.desktop
  • mari0/mari0.desktop
  • mp3splt-gtk/mp3splt-gtk.desktop
  • mumble/mumble11x.desktop
  • nfoview/x-nfo.desktop
  • ninja-ide/ninja-ide.desktop
  • nvclock/nvclock.desktop-use-gksu.patch
  • openarena/openarena-server.desktop
  • openarena/openarena.desktop
  • paraview/paraview.desktop
  • pdfedit/pdfedit.desktop
  • pympc/pympc.desktop
  • q4wine/q4wine.desktop
  • qcad/QCad.desktop
  • qgit/qgit.desktop
  • qsopcast/qsopcast.desktop
  • qtcreator/qtcreator.desktop
  • rapidsvn/rapidsvn.desktop
  • rxvt-unicode/urxvt-tabbed.desktop
  • rxvt-unicode/urxvt.desktop
  • rxvt-unicode/urxvtc.desktop
  • sage-mathematics/SAGE-notebook.desktop
  • sk1/sk1.desktop
  • smc/smc.desktop
  • speed-dreams/speed-dreams.desktop
  • springlobby/springlobby.desktop
  • stormbaancoureur/stormbaancoureur.desktop
  • sxiv/sxiv.desktop
  • tdfsb/tdfsb.desktop
  • tea/tea.desktop
  • teeworlds/teeworlds.desktop
  • torcs/torcs.desktop
  • tuxcards/tuxcards.desktop
  • tuxguitar/tuxguitar.desktop
  • umlet/umlet.desktop
  • urbanterror/urbanterror.desktop
  • vym/vym.desktop
  • widelands/widelands.desktop
  • xboard/xboard.desktop
  • xemacs/xemacs.desktop
  • xonotic/xonotic-glx.desktop
  • xonotic/xonotic-sdl.desktop

Pending (have been reported)

Finished (upstream rejected the .desktop file)

  • gens/gens.desktop (switched to gendesk, no release in 5 years, pretty much dead)
  • nexuiz/nexuiz-glx.desktop (nexuiz is effectively dead)
  • nexuiz/nexuiz-sdl.desktop (nexuiz is effectively dead)
  • qgit/qgit.desktop (no project activity in 3 yrs)
  • xskat/xskat.desktop
  • intellij-idea-community-edition/intellijidea.desktop - IDEA has an option to generate desktop file from GUI, so there's no stand-alone file provided: http://youtrack.jetbrains.com/issue/IDEA-83646

Tools

gendesk

gendesk started as an Arch Linux-specific tool for generating .desktop files by fetching the needed information directly from PKGBUILD files. Now it is a general tool that takes command-line arguments. See Desktop entries#gendesk for more information.

See also