Install icon & .desktop file to XDG data #15068

pull luke-jr wants to merge 9 commits into bitcoin:master from luke-jr:xdg changing 7 files +54 −4
  1. luke-jr commented at 6:20 am on December 31, 2018: member

    With #13809 (packaging split off), we lost the .desktop and .protocol files.

    This PR restores them, and puts them in their proper places as part of make install. (Systems without XDG can be configured --without-xdg to avoid this, and the macOS/Windows gitian descriptors are updated to use it.)

    Note that:

    • bitcoin128.svg needs to be named such because (for some reason) bitcoin128 has become the de facto standard XDG icon name for the generic Bitcoin icon.
    • org.bitcoin.bitcoin-qt.desktop is required to match QAPP_ORG_DOMAIN, which we have set to "bitcoin.org" for some reason. (Changing that is out of scope for this PR)
  2. fanquake added the label Build system on Dec 31, 2018
  3. MarcoFalke commented at 10:17 am on December 31, 2018: member

    Build fails with

    0make[1]: *** No rule to make target 'src/qt/res/src/bitcoin128.svg', needed by 'all-am'.  Stop.
    
  4. hebasto commented at 11:50 am on December 31, 2018: member
    Could the Comment field in the .desktop file be updated with more languages?
  5. sharidz313 approved
  6. luke-jr commented at 9:07 pm on December 31, 2018: member
    @MarcoFalke Why? It’s part of the git branch…
  7. sharidz313 approved
  8. sharidz313 approved
  9. sharidz313 approved
  10. sharidz313 approved
  11. fanquake deleted a comment on Jan 1, 2019
  12. laanwj commented at 2:01 pm on January 2, 2019: member
    Concept ACK, this the better way to do it IMO than installing it with the packaging.
  13. luke-jr commented at 0:35 am on January 3, 2019: member
    @hebasto After this PR, I don’t see why not.
  14. hebasto commented at 7:33 am on January 3, 2019: member
    Concept ACK.
  15. laanwj commented at 2:33 pm on January 8, 2019: member
    Regarding the build system issue, it looks like the icon is not part of make dist? Likely it needs to be added to another makefile variable.
  16. jonasschnelli commented at 10:56 pm on January 8, 2019: contributor

    Concept ACK

    bitcoin128.svg needs to be named such because (for some reason) bitcoin128 has become the de facto standard XDG icon name for the generic Bitcoin icon

    Do we want to set the standard Bitcoin icon? IMO Bitcoin Core is a specific application and not sure if that icon should be the default “Bitcoin Icon”.

  17. luke-jr commented at 11:19 pm on January 8, 2019: member
    There we go, Travis is happy now. Shall I squash?
  18. luke-jr commented at 11:30 pm on January 8, 2019: member
    @jonasschnelli Bitcoin Core doesn’t have its own icon at this time - we’ve always used the generic Bitcoin icon. When/if it does, then the PR adding it can change to use that instead…
  19. hebasto commented at 10:23 pm on January 9, 2019: member

    The file name org.bitcoin.bitcoin-qt.desktop does not follow Desktop Entry Specification:

    The name of the desktop entry should follow the “reverse DNS” convention: it should start with a reversed DNS domain name controlled by the author of the application, in lower case. The domain name should be followed by the name of the application, which is conventionally written with words run together and initial capital letters (CamelCase). For example, if the owner of example.org writes “Foo Viewer”, they might choose the name org.example.FooViewer, resulting in a file named org.example.FooViewer.desktop.

    Well-known names containing the dash are allowed but not recommended, because the dash is not allowed in some related uses of reversed DNS names, such as D-Bus object paths and interface names, and Flatpak app IDs. If the author’s domain name contains a dash, replacing it with an underscore is recommended: this cannot cause ambiguity, because underscores are not allowed in DNS domain names.

  20. in share/qt/org.bitcoin.bitcoin-qt.desktop.in:5 in 517fb602c6 outdated
    0@@ -0,0 +1,17 @@
    1+[Desktop Entry]
    2+Encoding=UTF-8
    3+Version=1.0
    4+Name=@PACKAGE_NAME@
    5+GenericName=Bitcoin full node@AND_WALLET@
    


    hebasto commented at 10:40 pm on January 9, 2019:
    Localized [Comment] strings imply localized [GenericName] strings as well :)
  21. in share/qt/org.bitcoin.bitcoin-qt.desktop.in:16 in 517fb602c6 outdated
    11+Exec=bitcoin-qt %u
    12+Terminal=false
    13+Type=Application
    14+Icon=bitcoin128
    15+MimeType=x-scheme-handler/bitcoin;
    16+Categories=Office;Finance;P2P;Network;Qt;
    


    hebasto commented at 10:49 pm on January 9, 2019:
    Is Office a relevant category?
  22. in share/qt/org.bitcoin.bitcoin-qt.desktop.in:11 in 517fb602c6 outdated
     6+Comment=Connect to the Bitcoin P2P Network
     7+Comment[de]=Verbinde mit dem Bitcoin peer-to-peer Netzwerk
     8+Comment[fr]=Bitcoin, monnaie virtuelle cryptographique pair à pair
     9+Comment[tr]=Bitcoin, eşten eşe kriptografik sanal para birimi
    10+TryExec=bitcoin-qt
    11+Exec=bitcoin-qt %u
    


    hebasto commented at 10:54 pm on January 9, 2019:

    %u will not be recognized by bitcoin-qt:

    %u - A single URL. Local files may either be passed as file: URLs or as file path.


    luke-jr commented at 2:44 am on January 10, 2019:
    Why not? We expect URIs.
  23. in share/qt/org.bitcoin.bitcoin-qt.desktop.in:1 in 517fb602c6 outdated
    0@@ -0,0 +1,17 @@
    1+[Desktop Entry]
    


    hebasto commented at 10:56 pm on January 9, 2019:
    Why not use the same key order as described in Desktop Entry Specification?

    luke-jr commented at 2:45 am on January 10, 2019:
    This file predates the PR. It’s just being restored at this time.
  24. in share/qt/org.bitcoin.bitcoin-qt.desktop.in:2 in 517fb602c6 outdated
    0@@ -0,0 +1,17 @@
    1+[Desktop Entry]
    2+Encoding=UTF-8
    


    hebasto commented at 10:59 pm on January 9, 2019:

    Desktop Entry Specification:

    The Encoding key is deprecated.

  25. hebasto changes_requested
  26. luke-jr commented at 2:47 am on January 10, 2019: member

    @hebasto

    • org.bitcoin.bitcoin-qt.desktop is required to match QAPP_ORG_DOMAIN, which we have set to "bitcoin.org" for some reason. (Changing that is out of scope for this PR)
  27. laanwj commented at 4:25 pm on January 16, 2019: member

    org.bitcoin.bitcoin-qt.desktop is required to match QAPP_ORG_DOMAIN, which we have set to “bitcoin.org” for some reason.

    I think what he means is the second part, suggesting replacing - with _

  28. luke-jr commented at 3:24 pm on February 11, 2019: member
    Ok, renamed it
  29. DrahtBot commented at 9:26 pm on March 4, 2019: member

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Conflicts

    Reviewers, this pull request conflicts with the following ones:

    • #20419 (build: set minimum supported macOS to 10.14 by fanquake)
    • #20267 (Disable and fix tests for when BDB is not compiled by achow101)
    • #20202 (wallet: Make BDB support optional by achow101)
    • #20019 (depends: Properly pass $PATH to configure and pin by dongcarl)

    If you consider this pull request important, please also help to review the conflicting pull requests. Ideally, start with the one that should be merged first.

  30. DrahtBot added the label Needs rebase on May 9, 2019
  31. A6GibKm commented at 8:36 pm on August 15, 2019: none

    Consider adding a appdata as in https://github.com/MarcoFalke/flathub/blob/f3d313f7991f6fec14f7ddc2c0fec19973f69814/org.bitcoincore.bitcoin-qt.appdata.xml This should be installed to {~/.local,/usr/local}/share/metainfo/bitcoin.appdata.xml (or less desirably to /usr/share...)

    EDIT: Correct link https://github.com/flathub/org.bitcoincore.bitcoin-qt/blob/master/org.bitcoincore.bitcoin-qt.metainfo.xml

  32. hebasto commented at 7:27 am on August 4, 2020: member
    The alternative approach is https://github.com/bitcoin-core/gui/pull/38 that does not require make install, and works with downloaded official binaries.
  33. configure: Option --without-xdg to disable future XDG data installation b947626389
  34. MOVEONLY: Rename bitcoin.svg to bitcoin128.svg
    The latter is the common icon name used everywhere
    e07a87ab7c
  35. Install bitcoin128.svg as an icon 7b2d16c513
  36. Install .desktop file for GUI dd0290f201
  37. Make .desktop file more complete 05149b6fdd
  38. fixup! Install bitcoin128.svg as an icon 29d35991e0
  39. fixup! Install bitcoin128.svg as an icon 1d6d880ab1
  40. fixup! Install .desktop file for GUI 97310f51cf
  41. fixup! Install .desktop file for GUI aec21095d8
  42. luke-jr force-pushed on Aug 20, 2020
  43. luke-jr commented at 4:01 pm on August 20, 2020: member
  44. luke-jr commented at 4:08 pm on August 20, 2020: member
    Rebased
  45. A6GibKm commented at 4:11 pm on August 20, 2020: none
    Sorry about that, here is the working link. Which I just realized needs the 0.20.1 release.
  46. DrahtBot removed the label Needs rebase on Aug 20, 2020
  47. luke-jr commented at 9:59 pm on August 20, 2020: member
    Which XDG standard defines this?
  48. A6GibKm commented at 10:20 pm on August 20, 2020: none
  49. A6GibKm commented at 10:32 am on September 13, 2020: none
    • The Desktop file fails desktop-file-validate
    0$ desktop-file-validate org.bitcoin.bitcoin_qt.desktop.in
    1org.bitcoin.bitcoin_qt.desktop: warning: key "Encoding" in group "Desktop Entry" is deprecated
    2org.bitcoin.bitcoin_qt.desktop: hint: value "Office;Finance;P2P;Network;Qt;" for key "Categories" in group "Desktop Entry" contains more than one main category; application might appear more than once in the application menu
    
  50. DrahtBot commented at 10:43 am on November 23, 2020: member

    🐙 This pull request conflicts with the target branch and needs rebase.

    Want to unsubscribe from rebase notifications on this pull request? Just convert this pull request to a “draft”.

  51. DrahtBot added the label Needs rebase on Nov 23, 2020
  52. DrahtBot commented at 11:22 am on December 15, 2021: member
    • Is it still relevant? ➡️ Please solve the conflicts to make it ready for review and to ensure the CI passes.
    • Is it no longer relevant? ➡️ Please close.
    • Did the author lose interest or time to work on this? ➡️ Please close it and mark it ‘Up for grabs’ with the label, so that it can be picked up in the future.
  53. DrahtBot commented at 1:07 pm on March 21, 2022: member
    • Is it still relevant? ➡️ Please solve the conflicts to make it ready for review and to ensure the CI passes.
    • Is it no longer relevant? ➡️ Please close.
    • Did the author lose interest or time to work on this? ➡️ Please close it and mark it ‘Up for grabs’ with the label, so that it can be picked up in the future.
  54. MarcoFalke commented at 9:00 am on March 22, 2022: member
    This has been needing rebase for about 2 years, so I am closing for now. Can be reopened any time, just let us know when.
  55. MarcoFalke closed this on Mar 22, 2022

  56. DrahtBot locked this on Mar 22, 2023

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2024-12-18 18:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me