Update contrib/debian to latest Ubuntu PPA upload. #10328

pull TheBlueMatt wants to merge 4 commits into bitcoin:master from TheBlueMatt:2017-05-update-debian changing 3 files +154 −30
  1. TheBlueMatt commented at 2:01 PM on May 3, 2017: member

    This:

    • Partially reverts 9f68ed6 (which fixed spelling in a changelog, though generally changelogs should be append-only).
    • Disables UPnP support (PPA has not had it for a while, and I still don't trust miniupnpc, plus it seems uneccessary - its been a while since we needed to care about Bitcoin-Qt home users getting their inbound ports auto-mapped).
    • Enables ZMQ.
    • Forces GUI to Qt4 to fix various issues people have been seeing on Ubuntu and elsewhere with Qt5.
    • Reverts 70899d70b (Bitcoin does not enable "instant payments", not is transaction management "carried out collectively by the network", for whatever "transaction management" means, finally Bitcoin Core is not the only way to use the Bitcoin currency, as seemingly implied in the description).
  2. Update contrib/debian to latest Ubuntu PPA upload.
    This:
     * Partially reverts 9f68ed6 (which fixed spelling in a changelog,
       though generally changelogs should be append-only).
     * Disables UPnP support (PPA has not had it for a while, and I
       still don't trust miniupnpc, plus it seems uneccessary - its
       been a while since we needed to care about Bitcoin-Qt home users
       getting their inbound ports auto-mapped).
     * Enables ZMQ.
     * Forces GUI to Qt4 to fix various issues people have been seeing
       on Ubuntu and elsewhere with Qt5.
     * Reverts 70899d70b (Bitcoin does not enable "instant payments",
       not is transaction management "carried out collectively by the
       network", for whatever "transaction management" means, finally
       Bitcoin Core is not the only way to use the Bitcoin currency,
       as seemingly implied in the description).
    997021986e
  3. TheBlueMatt force-pushed on May 3, 2017
  4. laanwj commented at 2:17 PM on May 3, 2017: member

    Forces GUI to Qt4 to fix various issues people have been seeing on Ubuntu and elsewhere with Qt5.

    Which issues have you seen with Qt5 apart from the Unity tray icon problem?

    Reverts 70899d7 (Bitcoin does not enable "instant payments", not is transaction management "carried out collectively by the network", for whatever "transaction management" means, finally Bitcoin Core is not the only way to use the Bitcoin currency, as seemingly implied in the description).

    Probably want to change the README.md too, then, as that's where that description came from.

  5. TheBlueMatt commented at 2:21 PM on May 3, 2017: member

    Hm, I was under the impression there were tray icon issues outside of Ubuntu, but that may be out-of-date (or a static-linking issue?)

  6. parazyd commented at 2:29 PM on May 3, 2017: contributor

    @TheBlueMatt There are no Qt5 issues besides Ubuntu. I've tested the build on Devuan's KDE5 (Plasma), which is in turn the exact same environment provided in Debian. So Ubuntu is your only problem. If you want to block all other distros from using current software because of one distro's bug, that's your choice, but it is not a sane one. Build it with Qt5 and then fix it in Ubuntu.

  7. laanwj added the label Build system on May 3, 2017
  8. TheBlueMatt commented at 3:47 PM on May 3, 2017: member

    @parazyd up until today the only user of contrib/debian I was aware of was the PPA, and there are very few issues (aside from some cosmetic ones) with building with Qt4 instead of 5 (though that may be different on KDE5, apparently). I'm happy to keep on maintaining a fork of contrib/debain instead if you want to maintain contrib/debian, but at that point we might as well just delete the folder if everyone is gonna use their own.

  9. luke-jr commented at 7:48 PM on May 3, 2017: member

    I don't see how optional UPnP support is a bad thing. Even when built with it, it's still disabled by default.

    Other than that, utACK.

  10. parazyd commented at 8:06 PM on May 3, 2017: contributor

    ACK. Agreed with @luke-jr

  11. TheBlueMatt commented at 8:09 PM on May 3, 2017: member

    @luke I believe its enabled by default in Qt, no?

  12. luke-jr commented at 8:11 PM on May 3, 2017: member

    @TheBlueMatt Not since the last exploit IIRC.

    This fails for precise:

    The following packages have unmet dependencies:
     sbuild-build-depends-bitcoin-dummy : Depends: libzmq3-dev but it is not installable
    
  13. TheBlueMatt commented at 8:16 PM on May 3, 2017: member

    Ah, ok, I suppose we could re-add UPnP to the builds. Not sure it matters much, but ok.

    We can no longer build on precise period due to https://svn.boost.org/trac/boost/ticket/6198.

    On May 3, 2017 4:11:46 PM EDT, Luke Dashjr notifications@github.com wrote:

    @TheBlueMatt Not since the last exploit IIRC.

    This fails for precise:

    The following packages have unmet dependencies:
    sbuild-build-depends-bitcoin-dummy : Depends: libzmq3-dev but it is not
    installable
    
  14. luke-jr commented at 11:24 PM on May 3, 2017: member

    Ah. I guess precise doesn't matter anymore anyway (supposedly support for it ended last month).

  15. jaromil commented at 6:37 AM on May 4, 2017: contributor

    You need a neew maintainer for Debian builds, not a new PR rushed by the old neglecting maintainer when a new contribution comes in, IMHO. This turf-war attitude calls for burn out. At Dyne we are actively testing the builds proposed and can well deal with guidelines and complexities of gnu/linux packaging, so @bluematt once again (like at the time of autoconf) you are missing an occasion for having more contributors to core. Friendly yours

  16. TheBlueMatt commented at 2:45 PM on May 4, 2017: member

    @jaromil are y'all using contrib/debian for anything? If it gets use I'm happy to start maintaining it again (or @parazyd can). The PPA never falls behind, just this dir which I've neglected updating (but I assume not many people used it given it was missing the libevent dep for a long time).

    Unrelatedly, would be nice if we have a way to switch to Qt5 when building on non-ubuntu, @parazyd any idea how to do that?

  17. parazyd commented at 3:22 PM on May 4, 2017: contributor

    @TheBlueMatt Well, the debian/rules file is a Makefile. We could use environment flags to differ between Ubuntu and Debian I guess.

    The contrib/debian is being used by at least three distributions at this moment: Ubuntu, Devuan, and heads.

  18. luke-jr commented at 3:25 PM on May 4, 2017: member

    But the qt4/5 dep is in debian/control - can that have conditionals?

  19. parazyd commented at 3:32 PM on May 4, 2017: contributor

    @luke-jr I'll try to find out. If possible, then it is the best solution, since the configure script will then prefer what's found. And as long as it's built in some sort of CI, the environment is clean.

    EDIT: Indeed we have a thing like the following: https://raphaelhertzog.com/2010/09/27/different-dependencies-between-debian-and-ubuntu-but-common-source-package/

  20. TheBlueMatt commented at 3:44 PM on May 4, 2017: member

    @luke-jr the deps of the built package are auto-guessed from library deps, I believe, so it may be sufficient to just change which libraries configure links against, even if buildeps requires both qt4 and qt5 (though I havent tested this).

  21. in contrib/debian/control:15 in 997021986e outdated
      18 | - libboost-filesystem-dev (>> 1.35) | libboost-filesystem1.35-dev,
      19 | - libboost-program-options-dev (>> 1.35) | libboost-program-options1.35-dev,
      20 | - libboost-thread-dev (>> 1.35) | libboost-thread1.35-dev,
      21 | - libboost-test-dev (>> 1.35) | libboost-test1.35-dev,
      22 | + libevent-dev,
      23 | + libboost-system1.48-dev | libboost-system-dev (>> 1.35),
    


    theuni commented at 6:11 PM on May 4, 2017:

    Minimum boost for 0.14 is 1.47.


    TheBlueMatt commented at 9:15 PM on May 4, 2017:

    Fixed.

  22. jaromil commented at 7:12 PM on May 4, 2017: contributor

    @TheBlueMatt there are the distro efforts @parazyd mentions and we are planning for more hardened gnu/linux based VM environments (so to say containers) and what not, some fancy distro tricks for isolated environments. Within the sphere of Debian&co the backporting libdb4.8 to Jessie was a long due liberation step finally taken and you know well the berkeleydb mess we are talking about. So yea, there is attention on the contrib/debian and this and the other PR are here because we think we are ready to contribute. Said that I see nothing really problematic in this process and I'm glad you find the time to look into it. Knowing fairly well the autoconf pains your prolongued work deserves much respect.

  23. Bump minimum boost version in contrib/debian a8e928699a
  24. TheBlueMatt commented at 9:16 PM on May 4, 2017: member

    @parazyd I pushed a version that should use Qt5 automagically on Debian-based distros, but dont have a machine handy to test on, care to give it a whirl?

  25. TheBlueMatt force-pushed on May 4, 2017
  26. in contrib/debian/rules:24 in 145d978abb outdated
      20 | +
      21 |  # Yea, autogen should be run on the source archive, but I like doing git archive
      22 |  override_dh_auto_configure:
      23 |  	./autogen.sh
      24 | -	./configure
      25 | +	./configure --without-miniupnpc --with-gui=$(QT)
    


    luke-jr commented at 9:30 PM on May 4, 2017:

    Don't forget to drop --without-miniupnpc?

    (and restore libminiupnpc8-dev | libminiupnpc-dev (>> 1.6), in build deps)

  27. in contrib/debian/rules:15 in 145d978abb outdated
      11 | @@ -12,10 +12,16 @@ override_dh_auto_clean:
      12 |  	if [ -f Makefile ]; then $(MAKE) distclean; fi
      13 |  	rm -rf Makefile.in aclocal.m4 configure src/Makefile.in src/bitcoin-config.h.in src/build-aux src/qt/Makefile.in src/qt/test/Makefile.in src/test/Makefile.in
      14 |  
      15 | +ifeq ($(shell dpkg-vendor --derives-from Ubuntu && echo yes),yes)
    


    luke-jr commented at 9:45 PM on May 4, 2017:
    QT=$(shell dpkg-vendor --derives-from Ubuntu && echo qt4 || echo qt5)
    

    or better yet (to enable Qt5 on Ubuntu 17.10+ which is GNOME instead of Unity):

    QT=$(shell { [ $(lsb_release -s -i) = Ubuntu ] && { [ $(lsb_release -s -r | cut -d. -f1) -lt 17 ] || [ $(lsb_release -s -r) = 17.04 ]; } } && echo qt4 || echo qt5)
    

    TheBlueMatt commented at 9:52 PM on May 4, 2017:

    Maybe lets wait until 10.17 before we lock in using qt5 in 17.10 in case they slip to the next release or so?


    luke-jr commented at 9:56 PM on May 4, 2017:

    k


    parazyd commented at 9:56 PM on May 4, 2017:

    @TheBlueMatt Your if clause doesn't pass $QT correctly, on my Devuan build it stays empty. @luke-jr 's lsb_release oneliner works.


    TheBlueMatt commented at 9:57 PM on May 4, 2017:

    Wait, the dpkg-vendor version doesn't work, or the if doesnt hold the variable outside of the scope?


    parazyd commented at 10:15 PM on May 4, 2017:

    $(QT) is empty on the ./configure call


    luke-jr commented at 10:18 PM on May 4, 2017:

    That's odd, I would expect both to work... :/


    parazyd commented at 10:20 PM on May 4, 2017:

    OK, it seems if you don't indent the QT= assigns, it works.

  28. in contrib/debian/changelog:301 in 145d978abb outdated
     291 | @@ -179,7 +292,7 @@ bitcoin (0.5.3-natty0) natty; urgency=low
     292 |  bitcoin (0.5.2-natty1) natty; urgency=low
     293 |  
     294 |    * Remove mentions on anonymity in package descriptions and manpage.
     295 | -    These should never have been there, bitcoin isn't anonymous without
     296 | +    These should never have been there, bitcoin isnt anonymous without
    


    parazyd commented at 9:59 PM on May 4, 2017:

    Is there a reason for introducing these typos?


    luke-jr commented at 10:17 PM on May 4, 2017:

    Yes, read the OP...

    Partially reverts 9f68ed6 (which fixed spelling in a changelog, though generally changelogs should be append-only).


    parazyd commented at 10:30 PM on May 4, 2017:

    I fail to understand the reasoning.

  29. parazyd changes_requested
  30. parazyd commented at 10:01 PM on May 4, 2017: contributor

    Introducing typos?

  31. Build with QT5 on Debian-based systems using contrib/debian c5071e1f03
  32. Re-enable upnp support in contrib/debian 91700aa1df
  33. TheBlueMatt force-pushed on May 5, 2017
  34. TheBlueMatt commented at 5:31 PM on May 5, 2017: member

    Fixed Qt version auto-detection and re-enabled UPnP.

  35. luke-jr approved
  36. luke-jr commented at 5:59 PM on May 5, 2017: member

    utACK

  37. parazyd approved
  38. parazyd commented at 6:37 PM on May 5, 2017: contributor

    Looks good

  39. laanwj merged this on May 11, 2017
  40. laanwj closed this on May 11, 2017

  41. laanwj referenced this in commit 79aeff6e08 on May 11, 2017
  42. luke-jr referenced this in commit 9862c5191e on Jun 3, 2017
  43. luke-jr referenced this in commit 70225d1c38 on Jun 3, 2017
  44. luke-jr referenced this in commit b3e213f9f3 on Jun 3, 2017
  45. luke-jr referenced this in commit 6fdcd35810 on Jun 3, 2017
  46. luke-jr referenced this in commit c2827e61b3 on Jun 3, 2017
  47. luke-jr referenced this in commit 31cb0cf2fa on Jun 3, 2017
  48. luke-jr referenced this in commit 5556e8705a on Jun 3, 2017
  49. luke-jr referenced this in commit a79e6ac67e on Jun 3, 2017
  50. luke-jr referenced this in commit c94e262d4b on Jun 3, 2017
  51. luke-jr referenced this in commit 2ea035832f on Jun 3, 2017
  52. luke-jr referenced this in commit e9a0d89bf7 on Jun 3, 2017
  53. luke-jr referenced this in commit 6ad45b8f8b on Jun 3, 2017
  54. luke-jr referenced this in commit d9eb74a4dc on Jun 5, 2017
  55. luke-jr referenced this in commit a40d69e0b8 on Jun 5, 2017
  56. nomnombtc referenced this in commit d995589a31 on Jul 17, 2017
  57. nomnombtc referenced this in commit 43926fcba3 on Jul 17, 2017
  58. nomnombtc referenced this in commit 40054409ca on Jul 17, 2017
  59. nomnombtc referenced this in commit fb48a63f11 on Jul 17, 2017
  60. codablock referenced this in commit 24be65e87a on Jan 26, 2018
  61. andvgal referenced this in commit d9aa425692 on Jan 6, 2019
  62. CryptoCentric referenced this in commit 110badb249 on Feb 27, 2019
  63. PastaPastaPasta referenced this in commit f3847ec33a on Jun 10, 2019
  64. DrahtBot locked this on Sep 8, 2021

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: 2026-04-19 12:15 UTC

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