Difference between revisions of "DeveloperWiki:Removal of desktop files"
m (→Not Done (last updated 2012-08-07): ubuntuone-control-panel-qt.desktop is replaced by an upstream desktop file) |
|||
(34 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[Category:Arch development]] | [[Category:Arch development]] | ||
+ | [[Category:DeveloperWiki]] | ||
+ | == [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." | ||
− | + | * See also: [https://bugs.archlinux.org/task/23387 FS#23387] | |
− | [https:// | + | === 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] | ||
=== Relevant commands === | === Relevant commands === | ||
− | * {{ic|find /var/abs/community -name '*.desktop' | + | |
+ | For finding the number of .desktop files in /var/abs/community: | ||
+ | * {{ic|find /var/abs/community -name '*.desktop' | sort -u | wc -l}} | ||
+ | |||
+ | For finding the .desktop files in trunk in the community repo: | ||
+ | * {{ic|find . -maxdepth 3 -wholename "*trunk/*.desktop*"}} | ||
+ | |||
+ | With wiki formatting: | ||
+ | * {{ic|for f in `find . -maxdepth 3 -wholename "*trunk/*.desktop*" | sort -u | sed 's:/trunk/:/:'`; do echo $f | sed 's:./:* :'; done}} | ||
=== Progress=== | === Progress=== | ||
− | ==== Not Done ==== | + | ==== Not Done (last updated 2012-08-07) ==== |
+ | * alleyoop/alleyoop.desktop | ||
* assaultcube/assaultcube.desktop | * assaultcube/assaultcube.desktop | ||
* astromenace/astromenace.desktop | * astromenace/astromenace.desktop | ||
* aumix/aumix.desktop | * aumix/aumix.desktop | ||
+ | * awesome/awesome.desktop | ||
+ | * blobby2/blobby2.desktop | ||
* boinc/boinc.desktop | * boinc/boinc.desktop | ||
+ | * bomberclone/bomberclone.desktop | ||
+ | * caph/caph.desktop | ||
+ | * checkgmail/checkgmail.desktop | ||
* critter/critter.desktop | * critter/critter.desktop | ||
* cycle/cycle.desktop | * cycle/cycle.desktop | ||
Line 23: | Line 43: | ||
* driconf/driconf.desktop | * driconf/driconf.desktop | ||
* dvdisaster/dvdisaster.desktop | * dvdisaster/dvdisaster.desktop | ||
+ | * dwarffortress/dwarffortress.desktop | ||
* dwm/dwm.desktop | * dwm/dwm.desktop | ||
− | * | + | * epdfview/epdfview.desktop.patch |
+ | * esmska/esmska.desktop | ||
* extremetuxracer/extremetuxracer.desktop | * extremetuxracer/extremetuxracer.desktop | ||
* fceux/fceux.desktop | * fceux/fceux.desktop | ||
− | |||
* flobopuyo/flobopuyo.desktop | * flobopuyo/flobopuyo.desktop | ||
* freecol/fc.desktop | * freecol/fc.desktop | ||
+ | * freedroid/freedroid.desktop | ||
* freedroidrpg/freedroidrpg.desktop | * freedroidrpg/freedroidrpg.desktop | ||
* freemind/freemind.desktop | * freemind/freemind.desktop | ||
* freevo/freevo.desktop | * freevo/freevo.desktop | ||
* frogatto/frogatto.desktop | * frogatto/frogatto.desktop | ||
+ | * gcolor2/gcolor2.desktop | ||
* gebabbel/gebabbel.desktop | * gebabbel/gebabbel.desktop | ||
* ghemical/ghemical.desktop | * ghemical/ghemical.desktop | ||
* gl-117/gl-117.desktop | * gl-117/gl-117.desktop | ||
* gnormalize/gnormalize.desktop | * gnormalize/gnormalize.desktop | ||
− | |||
− | |||
* gutenpy/gutenpy.desktop | * gutenpy/gutenpy.desktop | ||
* gxmessage/gxmessage.desktop | * gxmessage/gxmessage.desktop | ||
* hedgewars/hedgewars.desktop | * hedgewars/hedgewars.desktop | ||
* hex-a-hop/hex-a-hop.desktop | * hex-a-hop/hex-a-hop.desktop | ||
− | * | + | * intellij-idea-community-edition/idea.desktop |
− | |||
− | |||
* josm/josm.desktop | * josm/josm.desktop | ||
* jsampler/jsampler-classic.desktop | * jsampler/jsampler-classic.desktop | ||
* jsampler/jsampler.desktop | * jsampler/jsampler.desktop | ||
* kcheckers/kcheckers.desktop | * kcheckers/kcheckers.desktop | ||
− | * | + | * lastfm-client/lastfm.desktop |
− | * | + | * mari0/mari0.desktop |
* mp3splt-gtk/mp3splt-gtk.desktop | * mp3splt-gtk/mp3splt-gtk.desktop | ||
* mumble/mumble11x.desktop | * mumble/mumble11x.desktop | ||
* nfoview/x-nfo.desktop | * nfoview/x-nfo.desktop | ||
+ | * ninja-ide/ninja-ide.desktop | ||
+ | * nvclock/nvclock.desktop-use-gksu.patch | ||
+ | * openarena/openarena-server.desktop | ||
* openarena/openarena.desktop | * openarena/openarena.desktop | ||
− | * | + | * paraview/paraview.desktop |
* pdfedit/pdfedit.desktop | * pdfedit/pdfedit.desktop | ||
− | |||
* pingus/pingus.desktop | * pingus/pingus.desktop | ||
* pympc/pympc.desktop | * pympc/pympc.desktop | ||
+ | * q4wine/q4wine.desktop | ||
* qcad/QCad.desktop | * qcad/QCad.desktop | ||
− | * | + | * qgit/qgit.desktop |
+ | * qsopcast/qsopcast.desktop | ||
* qtcreator/qtcreator.desktop | * qtcreator/qtcreator.desktop | ||
* rapidsvn/rapidsvn.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 | * sk1/sk1.desktop | ||
* smc/smc.desktop | * smc/smc.desktop | ||
− | * | + | * speed-dreams/speed-dreams.desktop |
− | * | + | * springlobby/springlobby.desktop |
* stormbaancoureur/stormbaancoureur.desktop | * stormbaancoureur/stormbaancoureur.desktop | ||
+ | * sxiv/sxiv.desktop | ||
* tdfsb/tdfsb.desktop | * tdfsb/tdfsb.desktop | ||
+ | * tea/tea.desktop | ||
* teeworlds/teeworlds.desktop | * teeworlds/teeworlds.desktop | ||
+ | * torcs/torcs.desktop | ||
* tremulous/tremulous.desktop | * tremulous/tremulous.desktop | ||
* tuxcards/tuxcards.desktop | * tuxcards/tuxcards.desktop | ||
* tuxguitar/tuxguitar.desktop | * tuxguitar/tuxguitar.desktop | ||
− | * | + | * umlet/umlet.desktop |
− | * | + | * uqm/uqm.desktop |
+ | * urbanterror/urbanterror.desktop | ||
* vym/vym.desktop | * vym/vym.desktop | ||
− | |||
* widelands/widelands.desktop | * widelands/widelands.desktop | ||
* xboard/xboard.desktop | * xboard/xboard.desktop | ||
* xemacs/xemacs.desktop | * xemacs/xemacs.desktop | ||
− | |||
* xonotic/xonotic-glx.desktop | * xonotic/xonotic-glx.desktop | ||
* xonotic/xonotic-sdl.desktop | * xonotic/xonotic-sdl.desktop | ||
− | |||
==== 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) | ||
* 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) | ||
− | |||
* 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 | ||
− | |||
− | |||
* 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 109: | 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 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | ==== | + | ==== Finished (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 142: | 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
Contents
[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."
- See also: FS#23387
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)
- 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)
- 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)
- gcolor2/gcolor2.desktop - https://sourceforge.net/tracker/?func=detail&aid=3404696&group_id=119919&atid=685762
- 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)
- sxiv/sxiv.desktop (https://github.com/muennich/sxiv/pull/50)
- 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)
- umlet/umlet.desktop - sent to upstream - http://code.google.com/p/umlet/issues/detail?id=23
- urbanterror/urbanterror.desktop
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).