To close this out, the pants-devel thread is here with the condensed explanation and workaround: https://groups.google.com/d/topic/pants-devel/OnPISJosUoI/discussion
Thanks for finding this Mauricio! As it turned out, both twitter/commons and an internal repo at Medium were latently broken by this as well. On Tue, Apr 26, 2016 at 8:57 AM, John Sirois <john.sir...@gmail.com> wrote: > > > On Tue, Apr 26, 2016 at 8:51 AM, John Sirois <john.sir...@gmail.com> > wrote: > >> I repro with the following for example (which I think is what you're >> describing): >> jsirois@gill ~/dev/apache/aurora-packaging (master) $ git checkout >> origin/rel/0.12.x >> jsirois@gill ~/dev/apache/aurora-packaging ((7c1732f...)) $ >> ./build-artifact.sh builder/deb/debian-jessie >> ~/desktop/apache-aurora-0.12.0.tar.gz 0.12.0 >> ... >> >> It looks like lockfile's setup depends on pbr with no version bounding: >> There was a 1.9.1 pbr release on X/Y/Z that appears to break lockfile, >> and thus older pants (pants no longer uses lockfile) :/ >> > > Forgot to fill in my placeholders! The Breaking pbr release of 1.9.1 was > on 4/14/2016. > The lockfile floating dep in 0.10.2 (which pants 0.0.70 pins to: > https://github.com/pantsbuild/pants/blob/release_0.0.70/3rdparty/python/requirements.txt#L5) > can be seen here: > https://github.com/openstack/pylockfile/blob/0.10.2/setup.py#L29 > > >> >> I was able to work around by creating a new aurora tarball from the >> aurora repo like so: >> jsirois@gill ~/dev/apache/aurora (master) $ git checkout rel/0.12.0 >> jsirois@gill ~/dev/apache/jsirois-aurora ((rel/0.12.0) *) $ git diff >> diff --git a/pants b/pants >> index 0ce4114..b974351 100755 >> --- a/pants >> +++ b/pants >> @@ -83,7 +83,7 @@ function bootstrap_pants { >> staging_dir=$(tempdir "${PANTS_BOOTSTRAP}") && \ >> "${PYTHON}" "${venv_path}/virtualenv.py" "${staging_dir}/install" >> && \ >> source "${staging_dir}/install/bin/activate" && \ >> - pip install "${pants_requirement}" && \ >> + pip install "${pants_requirement}" pbr==1.9.0 && \ >> ln -s "${staging_dir}/install" "${staging_dir}/${pants_version}" >> && \ >> mv "${staging_dir}/${pants_version}" >> "${PANTS_BOOTSTRAP}/${pants_version}" >> ) 1>&2 >> jsirois@gill ~/dev/apache/jsirois-aurora ((rel/0.12.0) *) $ git commit >> -am 'Work around lockfile floating dep on pbr.' >> [detached HEAD f57377a] Work around lockfile floating dep on pbr. >> 1 file changed, 1 insertion(+), 1 deletion(-) >> jsirois@gill ~/dev/apache/jsirois-aurora ((f57377a...)) $ git archive >> --prefix=apache-aurora-$(cat .auroraversion)/ -o snapshot.tar.gz HEAD >> >> Then, in aurora-packaging I used this: >> jsirois@gill ~/dev/apache/aurora-packaging ((7c1732f...)) >> $ ./build-artifact.sh builder/deb/debian-jessie >> ~/dev/apache/jsirois-aurora/snapshot.tar.gz 0.12.0 >> ... pants install fine and the build proceeds ... >> >> >> >> On Tue, Apr 26, 2016 at 8:12 AM, Mauricio Garavaglia < >> mauriciogaravag...@gmail.com> wrote: >> >>> Hi guys, I'm trying to build the 0.12 client from within the vagrant >>> environment and aurora-packaging. I'm constantly getting the following >>> error message, I already tried cleaning pants cache without success. Any >>> ideas? it always seem to fail on lockfile-0.10.2. Thanks. >>> >>> **** Failed to install lockfile-0.10.2. stdout: >>> >>> Installed /tmp/tmpVFt3Mh/lockfile-0.10.2/pbr-1.9.1-py2.7.egg >>> >>> **** Failed to install lockfile-0.10.2. stderr: >>> ERROR:root:Error parsing >>> Traceback (most recent call last): >>> File "/tmp/tmpVFt3Mh/lockfile-0.10.2/pbr-1.9.1-py2.7.egg/pbr/core.py", >>> line 111, in pbr >>> attrs = util.cfg_to_args(path, dist.script_args) >>> File "/tmp/tmpVFt3Mh/lockfile-0.10.2/pbr-1.9.1-py2.7.egg/pbr/util.py", >>> line 264, in cfg_to_args >>> wrap_commands(kwargs) >>> File "/tmp/tmpVFt3Mh/lockfile-0.10.2/pbr-1.9.1-py2.7.egg/pbr/util.py", >>> line 573, in wrap_commands >>> cmdclass = ep.load(False) >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/lib/python2.7/site-packages/pkg_resources.py", >>> line 2190, in load >>> ['__name__']) >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/lib/python2.7/site-packages/pex/commands/bdist_pex.py", >>> line 6, in <module> >>> from pex.bin.pex import build_pex, configure_clp >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/lib/python2.7/site-packages/pex/bin/pex.py", >>> line 21, in <module> >>> from pex.crawler import Crawler >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/lib/python2.7/site-packages/pex/crawler.py", >>> line 12, in <module> >>> from .http import Context >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/lib/python2.7/site-packages/pex/http.py", >>> line 19, in <module> >>> import requests >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/lib/python2.7/site-packages/requests/__init__.py", >>> line 53, in <module> >>> from .packages.urllib3.contrib import pyopenssl >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/lib/python2.7/site-packages/requests/packages/__init__.py", >>> line 49, in load_module >>> if name in sys.modules: >>> AttributeError: 'NoneType' object has no attribute 'modules' >>> error in setup command: Error parsing >>> /tmp/tmpVFt3Mh/lockfile-0.10.2/setup.cfg: AttributeError: 'NoneType' >>> object >>> has no attribute 'modules' >>> >>> Exception caught: (<class 'pex.resolver.Untranslateable'>) >>> File "/aurora/.cache/pants/setup/bootstrap/0.0.70/bin/pants", line 11, >>> in >>> <module> >>> sys.exit(main()) >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/local/lib/python2.7/site-packages/pants/bin/pants_exe.py", >>> line 44, in main >>> PantsRunner(exiter).run() >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/local/lib/python2.7/site-packages/pants/bin/pants_runner.py", >>> line 53, in run >>> options_bootstrapper=options_bootstrapper) >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/local/lib/python2.7/site-packages/pants/bin/pants_runner.py", >>> line 43, in _run >>> return LocalPantsRunner(exiter, args, env, >>> options_bootstrapper=options_bootstrapper).run() >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/local/lib/python2.7/site-packages/pants/bin/local_pants_runner.py", >>> line 49, in run >>> self._maybe_profiled(self._run) >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/local/lib/python2.7/site-packages/pants/bin/local_pants_runner.py", >>> line 46, in _maybe_profiled >>> runner() >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/local/lib/python2.7/site-packages/pants/bin/local_pants_runner.py", >>> line 55, in _run >>> options, build_config = OptionsInitializer(options_bootstrapper, >>> exiter=self._exiter).setup() >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/local/lib/python2.7/site-packages/pants/bin/goal_runner.py", >>> line 58, in __init__ >>> self._working_set = working_set or >>> PluginResolver(self._options_bootstrapper).resolve() >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/local/lib/python2.7/site-packages/pants/bin/plugin_resolver.py", >>> line 49, in resolve >>> for plugin_location in self._resolve_plugin_locations(): >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/local/lib/python2.7/site-packages/pants/bin/plugin_resolver.py", >>> line 73, in _resolve_exact_plugin_locations >>> for plugin in self._resolve_plugins(): >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/local/lib/python2.7/site-packages/pants/bin/plugin_resolver.py", >>> line 93, in _resolve_plugins >>> cache_ttl=self._python_setup.resolver_cache_ttl) >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/local/lib/python2.7/site-packages/pex/resolver.py", >>> line 346, in resolve >>> return resolver.resolve(resolvables_from_iterable(requirements, >>> builder)) >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/local/lib/python2.7/site-packages/pex/resolver.py", >>> line 200, in resolve >>> dist = self.build(package, resolvable.options) >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/local/lib/python2.7/site-packages/pex/resolver.py", >>> line 257, in build >>> dist = super(CachingResolver, self).build(package, options) >>> File >>> >>> "/aurora/.cache/pants/setup/bootstrap/pants.A1leHT/install/local/lib/python2.7/site-packages/pex/resolver.py", >>> line 168, in build >>> raise Untranslateable('Package %s is not translateable by %s' % >>> (package, translator)) >>> >>> Exception message: Package >>> >>> SourcePackage(u'file:///aurora/.cache/pants/plugins/lockfile-0.10.2.tar.gz') >>> is not translateable by ChainedTranslator(EggTranslator, >>> SourceTranslator) >>> >> >> >