[tahoe-lafs-trac-stream] [tahoe-lafs] #1248: move logic for build steps from buildmaster config to misc/build_helpers

tahoe-lafs trac at tahoe-lafs.org
Tue Aug 27 12:14:00 UTC 2013


#1248: move logic for build steps from buildmaster config to misc/build_helpers
-------------------------+-------------------------------------------------
     Reporter:           |      Owner:  warner
  davidsarah             |     Status:  closed
         Type:  defect   |  Milestone:  soon
     Priority:  normal   |    Version:  1.8.0
    Component:  dev-     |   Keywords:  buildbot build-helpers cleanup
  infrastructure         |  install setuptools pycryptopp zfec
   Resolution:           |
  duplicate              |
Launchpad Bug:           |
-------------------------+-------------------------------------------------
Changes (by zooko):

 * status:  new => closed
 * resolution:   => duplicate


Old description:

> There is some near-duplicated code in the buildmaster's {{{TestFromEgg}}}
> and {{{TestFromPrefixDir}}} classes (in {{{bbsupport.py}}}). There is
> also duplication between [source:setup.py],
> [source:misc/build_helpers/run_trial.py], and some of the tests in
> [source:src/allmydata/test/test_runner.py], for things like setting up
> {{{PYTHONPATH}}}, getting the Tahoe-LAFS version, and checking that we
> are running code from the right directory.
>
> Code in the buildmaster is more difficult to debug than code in the
> Tahoe-LAFS distribution; changes require a buildmaster restart to take
> effect, and interfere with the reproducibility of builds. So we should
> simplify these classes by having them just call scripts (or a single
> script with different arguments) in [source:misc/build_helpers].
>
> The reason why the code that is already in the distribution isn't better-
> factored, is probably that in each case we need to run it before
> importing any non-stdlib modules. It seems like there should be some way
> to work around that.

New description:

 There is some near-duplicated code in the buildmaster's {{{TestFromEgg}}}
 and {{{TestFromPrefixDir}}} classes (in {{{bbsupport.py}}}). There is also
 duplication between [source:setup.py],
 [source:misc/build_helpers/run_trial.py], and some of the tests in
 [source:src/allmydata/test/test_runner.py], for things like setting up
 {{{PYTHONPATH}}}, getting the Tahoe-LAFS version, and checking that we are
 running code from the right directory.

 Code in the buildmaster is more difficult to debug than code in the Tahoe-
 LAFS distribution; changes require a buildmaster restart to take effect,
 and interfere with the reproducibility of builds. So we should simplify
 these classes by having them just call scripts (or a single script with
 different arguments) in [source:misc/build_helpers].

 The reason why the code that is already in the distribution isn't better-
 factored, is probably that in each case we need to run it before importing
 any non-stdlib modules. It seems like there should be some way to work
 around that.

--

Comment:

 Duplicate of #2049.

-- 
Ticket URL: <https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1248#comment:8>
tahoe-lafs <https://tahoe-lafs.org>
secure decentralized storage


More information about the tahoe-lafs-trac-stream mailing list