Backport remaining commits for out-of-tree builds from master to 0.12 branch #8284

pull jmcorgan wants to merge 7 commits into bitcoin:0.12 from jmcorgan:build-oot-0.12 changing 9 files +79 −21
  1. jmcorgan commented at 3:28 AM on June 29, 2016: contributor

    These are backported via cherry-pick from the branch by @theuni that was merged in #8133. Only minor fixups were needed in two of the seven commits.

    'make check' tests pass but so far this has only been tested on Ubuntu 16.04; we'll see what Travis has to say.

  2. Cherry-pick of 0cb0f262, minor fixups:
    build: out-of-tree fixups
    
    Don't glob the leveldb for dist. That means we need to enumerate the headers.
    
    Conflicts:
    	src/Makefile.am
    450cd57ea1
  3. build: more out-of-tree fixups
    - clear the __pycache__ during 'make clean'
    - Copy the qrc locale file to a temp location and remove it when finished
      (rcc expects everything to be in the same path)
    b83755c9ac
  4. Cherry-pick of ab95d5df, minor fixups:
    build: a few ugly hacks to get the rpc tests working out-of-tree
    
    - Link pull-tester/rpc-tests.py to the build dir
    - Add the build-dir's config to the python path so that tests can find it
    - The tests themselves are in srcdir
    - Clean up __pycache__ in 'make clean'
    
    Conflicts:
    	qa/pull-tester/rpc-tests.py
    3718096965
  5. build: fix out-of-tree 'make deploy' for osx
    The plist is generated, lives in builddir.
    dcece24d99
  6. travis: use out-of-tree build 9278771712
  7. build: add temporary fix for "bad magic number" error in out-of-tree builds
    This was caused by an pyc files hanging around from previous
    python2 invocations, when the matching .py missing from that path.
    
    This should not be a problem with python3's tagged caches.
    b835bd7d4d
  8. bulid: fix "make translate" when out-of-tree 91e14fbfa7
  9. MarcoFalke added the label Backport on Jun 29, 2016
  10. MarcoFalke commented at 7:05 AM on June 29, 2016: member

    Nit: Usually backports are squashed and only the pull/commits are mentioned in the body (c.f. feaa4de)

  11. MarcoFalke added the label Build system on Jun 29, 2016
  12. laanwj commented at 7:11 AM on June 29, 2016: member

    I thought you were done with #8148, that's why I tested and merged it.

    This seems to break the RPC tests:

    Running testscript bip68-112-113-p2p.py ...
    /bin/sh: 1: /home/travis/build/bitcoin/bitcoin/build/qa/rpc-tests/bip68-112-113-p2p.py: not found
    Traceback (most recent call last):
      File "qa/pull-tester/rpc-tests.py", line 275, in <module>
        runtests()
      File "qa/pull-tester/rpc-tests.py", line 178, in runtests
        rpcTestDir + testScripts[i] + flags, shell=True)
      File "/usr/lib/python2.7/subprocess.py", line 540, in check_call
        raise CalledProcessError(retcode, cmd)
    subprocess.CalledProcessError: Command '/home/travis/build/bitcoin/bitcoin/build/qa/rpc-tests/bip68-112-113-p2p.py --srcdir /home/travis/build/bitcoin/bitcoin/build/src --coveragedir /tmp/coverageABme4A ' returned non-zero exit status 12
    
  13. jmcorgan commented at 7:33 AM on June 29, 2016: contributor

    Regarding the cherry-picks, I was going by @laanwj comment in #8148 to keep them in rather than squash.

    I'm happy to squash these once I figure out the QA breakage. @laanwj #8148 was done and tested but wasn't the complete set of later changes/fixes. I was waiting for @theuni to comment further.

  14. in src/Makefile.am:None in 450cd57ea1 outdated
     430 | @@ -431,8 +431,8 @@ DISTCLEANFILES = obj/build.h
     431 |  
     432 |  EXTRA_DIST = leveldb
    


    theuni commented at 2:20 AM on June 30, 2016:

    You're missing the removal of leveldb here. This is unnecessary now that the files are enumerated in Makefile.leveldb.include

  15. theuni commented at 2:37 AM on June 30, 2016: member

    Tests are failing because RPC_TESTS_DIR was added later in fabbf6bd. So 3718096965a4d23c1b3395ea99b477b7338c0afb will need to mess with rpcTestDir instead.

  16. theuni commented at 2:46 AM on June 30, 2016: member

    I'm really not sure that we need to do these. As discussed in the last PR, I think it's useful to backport simple out-of-tree builds to 0.12, but I don't think it's really necessary to do all of the packaging fixes.

    Since I wouldn't be confident enough (and don't see any real reason) to switch our gitian builds to out-of-tree, the only change here that would really affect anyone would be the osx packing fixes. And even those really only affect homebrew/macports, but those already build fine in-tree.

    So while I don't oppose these, I don't really see any benefit either. Is there a case you have in mind?

  17. laanwj commented at 8:04 AM on June 30, 2016: member

    I'm really not sure that we need to do these. As discussed in the last PR, I think it's useful to backport simple out-of-tree builds to 0.12, but I don't think it's really necessary to do all of the packaging fixes.

    I tend to agree. I think we backported the parts that make basic out-of-tree building on 0.12, probably without causing regressions. There's no use spending much more time on this.

  18. jmcorgan commented at 2:20 PM on June 30, 2016: contributor

    Ok, works for me then, if you're happy with #8148--closing.

  19. jmcorgan closed this on Jun 30, 2016

  20. jmcorgan deleted the branch on Jun 30, 2016
  21. MarcoFalke 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 03:15 UTC

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