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

From ArchWiki
Jump to navigation Jump to search
m (removed one letter)
m (Clarifications)
Line 141: Line 141:
=== 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.
{{Pkg|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.
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.
Icons can be automatically 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 =====
===== How to use =====

Revision as of 08:15, 22 August 2013


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


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
  • pingus/pingus.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
  • tremulous/tremulous.desktop
  • tuxcards/tuxcards.desktop
  • tuxguitar/tuxguitar.desktop
  • umlet/umlet.desktop
  • uqm/uqm.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)

  • 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



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.

Icons can be automatically downloaded from openiconlibrary, if available. (The source for icons can easily be changed in the future).

How to use
  • Add gendesk to makedepends
  • Start the prepare() function with:
gendesk --pkgname "$pkgname" --pkgdesc "$pkgdesc"
  • Alternatively, if an icon is already provided ($pkgname.png, for instance). The -n flag is for not downloading an icon or using the default icon. Example:
gendesk -n --pkgname "$pkgname" --pkgdesc "$pkgdesc"
  • $srcdir/$pkgname.desktop will be created and can be installed in the package() function with:
install -Dm644 "$pkgname.desktop" "$pkgname/usr/share/applications/$pkgname.desktop"
  • The icon can be installed with:
install -Dm644 "$pkgname.png" "$pkgname/usr/share/pixmaps/$pkgname.png"
  • Use --name='Program Name' for choosing a name for the menu entry.
  • Use --exec='/opt/some_app/elf --with-ponies' for setting the exec field.
  • See the gendesk project for more information. (Patches and pull requests are welcome).

See also