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

From ArchWiki
Jump to: navigation, search
(Initial version)
 
m (Not Done (last updated 2012-08-07): ubuntuone-control-panel-qt.desktop is replaced by an upstream desktop file)
(45 intermediate revisions by 2 users not shown)
Line 1: Line 1:
= Removal of .desktop files =
+
[[Category:Arch development]]
 +
[[Category:DeveloperWiki]]
 +
== [community] ==
  
== for [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."
  
=== Bug report ===
+
* See also: [https://bugs.archlinux.org/task/23387 FS#23387]
  
=== Commands ===
+
=== Relevant quote ===
* find /var/abs/community -name '*.desktop' | sort -u | wc -l
+
''"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]
  
=== Status ===
+
=== Relevant commands ===
  
==== Not Done ====
+
For finding the number of .desktop files in /var/abs/community:
assaultcube/assaultcube.desktop
+
* {{ic|find /var/abs/community -name '*.desktop' | sort -u | wc -l}}
astromenace/astromenace.desktop
+
 
aumix/aumix.desktop
+
For finding the .desktop files in trunk in the community repo:
boinc/boinc.desktop
+
* {{ic|find . -maxdepth 3 -wholename "*trunk/*.desktop*"}}
critter/critter.desktop
+
 
cycle/cycle.desktop
+
With wiki formatting:
dguitar/dguitar.desktop
+
* {{ic|for f in `find . -maxdepth 3 -wholename "*trunk/*.desktop*" | sort -u | sed 's:/trunk/:/:'`; do echo $f | sed 's:./:* :'; done}}
driconf/driconf.desktop
+
 
dvdisaster/dvdisaster.desktop
+
=== Progress===
dwm/dwm.desktop
+
 
egoboo/egoboo.desktop
+
==== Not Done (last updated 2012-08-07) ====
extremetuxracer/extremetuxracer.desktop
+
 
fceux/fceux.desktop
+
* alleyoop/alleyoop.desktop
fillets-ng/fillets-ng.desktop
+
* assaultcube/assaultcube.desktop
flobopuyo/flobopuyo.desktop
+
* astromenace/astromenace.desktop
freecol/fc.desktop
+
* aumix/aumix.desktop
freedroidrpg/freedroidrpg.desktop
+
* awesome/awesome.desktop
freemind/freemind.desktop
+
* blobby2/blobby2.desktop
freevo/freevo.desktop
+
* boinc/boinc.desktop
frogatto/frogatto.desktop
+
* bomberclone/bomberclone.desktop
gebabbel/gebabbel.desktop
+
* caph/caph.desktop
ghemical/ghemical.desktop
+
* checkgmail/checkgmail.desktop
gl-117/gl-117.desktop
+
* critter/critter.desktop
gnormalize/gnormalize.desktop
+
* cycle/cycle.desktop
gpg-crypter/gpg-crypter.desktop
+
* dguitar/dguitar.desktop
gpsman/gpsman.desktop
+
* driconf/driconf.desktop
gutenpy/gutenpy.desktop
+
* dvdisaster/dvdisaster.desktop
gxmessage/gxmessage.desktop
+
* dwarffortress/dwarffortress.desktop
hedgewars/hedgewars.desktop
+
* dwm/dwm.desktop
hex-a-hop/hex-a-hop.desktop
+
* epdfview/epdfview.desktop.patch
hsoconnect/hsoconnect.desktop
+
* esmska/esmska.desktop
jabref/jabref.desktop
+
* extremetuxracer/extremetuxracer.desktop
jbidwatcher/jbidwatcher.desktop
+
* fceux/fceux.desktop
josm/josm.desktop
+
* flobopuyo/flobopuyo.desktop
jsampler/jsampler-classic.desktop
+
* freecol/fc.desktop
jsampler/jsampler.desktop
+
* freedroid/freedroid.desktop
kcheckers/kcheckers.desktop
+
* freedroidrpg/freedroidrpg.desktop
kydpdict/kydpdict.desktop
+
* freemind/freemind.desktop
madman/madman.desktop
+
* freevo/freevo.desktop
mp3splt-gtk/mp3splt-gtk.desktop
+
* frogatto/frogatto.desktop
mumble/mumble11x.desktop
+
* gcolor2/gcolor2.desktop
nfoview/x-nfo.desktop
+
* gebabbel/gebabbel.desktop
openarena/openarena.desktop
+
* ghemical/ghemical.desktop
openarena/openarena-server.desktop
+
* gl-117/gl-117.desktop
pdfedit/pdfedit.desktop
+
* gnormalize/gnormalize.desktop
pgadmin3/pgadmin3.desktop
+
* gutenpy/gutenpy.desktop
pingus/pingus.desktop
+
* gxmessage/gxmessage.desktop
pympc/pympc.desktop
+
* hedgewars/hedgewars.desktop
qcad/QCad.desktop
+
* hex-a-hop/hex-a-hop.desktop
qdevelop/qdevelop.desktop
+
* intellij-idea-community-edition/idea.desktop
qtcreator/qtcreator.desktop
+
* josm/josm.desktop
rapidsvn/rapidsvn.desktop
+
* jsampler/jsampler-classic.desktop
sauerbraten/sauerbraten.desktop
+
* jsampler/jsampler.desktop
scite/SciTE.desktop
+
* kcheckers/kcheckers.desktop
scorched3d/scorched3d.desktop
+
* lastfm-client/lastfm.desktop
sigil/sigil.desktop
+
* mari0/mari0.desktop
sk1/sk1.desktop
+
* mp3splt-gtk/mp3splt-gtk.desktop
smc/smc.desktop
+
* mumble/mumble11x.desktop
solarwolf/solarwolf.desktop
+
* nfoview/x-nfo.desktop
solfege/solfege.desktop
+
* ninja-ide/ninja-ide.desktop
stormbaancoureur/stormbaancoureur.desktop
+
* nvclock/nvclock.desktop-use-gksu.patch
tdfsb/tdfsb.desktop
+
* openarena/openarena-server.desktop
teeworlds/teeworlds.desktop
+
* openarena/openarena.desktop
tremulous/tremulous.desktop
+
* paraview/paraview.desktop
tuxcards/tuxcards.desktop
+
* pdfedit/pdfedit.desktop
tuxguitar/tuxguitar.desktop
+
* pingus/pingus.desktop
twinkle/twinkle.desktop
+
* pympc/pympc.desktop
ude/ude.desktop
+
* q4wine/q4wine.desktop
vym/vym.desktop
+
* qcad/QCad.desktop
warsow/warsow.desktop
+
* qgit/qgit.desktop
widelands/widelands.desktop
+
* qsopcast/qsopcast.desktop
xboard/xboard.desktop
+
* qtcreator/qtcreator.desktop
xemacs/xemacs.desktop
+
* rapidsvn/rapidsvn.desktop
xmoto/xmoto.desktop
+
* rxvt-unicode/urxvt-tabbed.desktop
xonotic/xonotic-glx.desktop
+
* rxvt-unicode/urxvt.desktop
xonotic/xonotic-sdl.desktop
+
* rxvt-unicode/urxvtc.desktop
xsensors/xsensors.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) ====
 
==== Pending (have been reported) ====
* alienarena/alienarena.desktop (http://corent.proboards.com/index.cgi?action=display&board=bugreport&thread=5814&page=1#51900)
 
 
* 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)
 
* caph/caph.desktop (http://sourceforge.net/tracker/?func=detail&aid=3404994&group_id=295355&atid=1247095)
 
* caph/caph.desktop (http://sourceforge.net/tracker/?func=detail&aid=3404994&group_id=295355&atid=1247095)
 
* 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)
* clipgrab/clipgrab.desktop - http://clipgrab.uservoice.com/forums/37083-clipgrab/suggestions/1633983-clipgrab-einen-desktop-file-bekommen-sollte?ref=title
 
 
* 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
* jedit/jedit.desktop (http://sourceforge.net/tracker/?func=detail&aid=3404087&group_id=588&atid=350588)
 
* netbeans/netbeans.desktop - http://netbeans.org/bugzilla/show_bug.cgi?id=200645
 
 
* paraview/paraview.desktop - http://paraview.org/Bug/view.php?id=12508
 
* paraview/paraview.desktop - http://paraview.org/Bug/view.php?id=12508
 
* 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)
Line 106: Line 129:
 
* 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
 
* urbanterror/urbanterror.desktop
 
* urbanterror/urbanterror.desktop
* vdrift/vdrift.desktop (it's in, waiting for new release)
 
* xmonad/xmonad.desktop (http://code.google.com/p/xmonad/issues/detail?id=319)
 
  
==== Done (upstream has a .desktop file) ====
+
==== Finished (upstream rejected the .desktop file) ====
* armagetronad/armagetronad.desktop
+
* elinks/elinks.desktop
+
* eric5/eric5.desktop
+
* frostwire/frostwire.desktop
+
* gambas2/gambas2.desktop
+
* gambas3/gambas3.desktop
+
* grass/grass.desktop
+
* megaglest/megaglest.desktop
+
* mldonkey/mldonkey.desktop
+
* mplayer-vaapi/mplayer.desktop
+
* multiget/multiget.desktop
+
* naev/naev.desktop
+
* paintown/paintown.desktop
+
* rawtherapee/rawtherapee.desktop
+
* tipp10/tipp10.desktop
+
* qmc2/qmamecat.desktop - also improved version sent to ML
+
* root/root.desktop - https://savannah.cern.ch/bugs/?85082
+
* springlobby/springlobby.desktop
+
* spyder/spyder.desktop - http://code.google.com/p/spyderlib/issues/detail?id=598
+
* stone-soup/stone-soup.desktop
+
* texmaker/texmaker.desktop
+
* zathura/zathura.desktop
+
 
+
==== Done (Upstream rejected the .desktop file) ====
+
 
* 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 139: Line 136:
 
* xskat/xskat.desktop
 
* 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
 
* 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 ===
 +
 +
{{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.
 +
 +
Icons are downloaded from [https://admin.fedoraproject.org/pkgdb/appicon/show/%s fedora], if available. The source for icons can easily be changed in the future.
 +
 +
===== How to use =====
 +
 +
* Add {{Ic|gendesk}} to makedepends
 +
 +
* Start the {{Ic|build()}} function with:
 +
{{bc|cd "$srcdir"
 +
gendesk
 +
# And then the rest}}
 +
 +
* Add {{Ic|1=_name=('Program Name')}} to the PKGBUILD to choose a name for the menu entry. There are other options available too, like {{ic|1=_exec=('someapp --with-ponies')}}.
 +
 +
* Use {{Ic|gendesk -n}} if you wish to generate a .desktop file, but not download any icon
 +
 +
* See the [https://github.com/xyproto/gendesk/blob/master/gendesk.go gendesk source] for more information. (Patches and pull requests are welcome).
 +
 +
== See also ==
 +
 +
* The [[Arch Desktop Project]]
 +
* [[Desktop Entries]]

Revision as of 02:00, 17 October 2012

[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
  • 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

Tools

gendesk

gendesk is a Arch Linux-specific tool for generating .desktop files from PKGBUILD files. Most of the information is fetched directly from the PKGBUILD.

Icons are downloaded from fedora, if available. The source for icons can easily be changed in the future.

How to use
  • Add gendesk to makedepends
  • Start the build() function with:
cd "$srcdir"
gendesk
# And then the rest
  • Add _name=('Program Name') to the PKGBUILD to choose a name for the menu entry. There are other options available too, like _exec=('someapp --with-ponies').
  • Use gendesk -n if you wish to generate a .desktop file, but not download any icon
  • See the gendesk source for more information. (Patches and pull requests are welcome).

See also