We don't want to remove them, because it's important to use the ones
specified by Review Board and not the system-provided ones.

I have a repro case, so I'll dig into this.

Christian

On Tue, Jun 13, 2017 at 12:37 PM, Alexander Galperin <
[email protected]> wrote:

> Actually,adding pipeline_settings.PIPELINE_LESS_BINARY and
> pipeline_settings.PIPELINE_UGLIFYJS_BINARY to packaging.py is not
> nesessary.
> Without these settings the default pipeline setting will be
> used,('/usr/bin/env lessc','/usr/bin/env uglifyjs') and it has less and
> uglify execs.
> so the only need to remove these attributes from ReviewBoard settings.
>
>
> On Tuesday, June 13, 2017 at 12:19:24 PM UTC-7, Alexander Galperin wrote:
>>
>> Thank you Christian,
>> Definitely these 2 statements are needed. But it still did not worked
>> I found that these values overwritten in a loop in the
>> packaging.py/_build_static_media(extention),because ReviewBoard
>> settings, has attributes PIPELINE_LESS_BINARY and  PIPELINE_UGLIFYJS_BINARY:
>>         from pipeline.conf import settings as pipeline_settings
>>
>>         for key in six.iterkeys(pipeline_settings.__dict__):
>>             if hasattr(settings, key):
>>                 setattr(pipeline_settings, key, getattr(settings, key))
>>
>> So, I modified /usr/local/lib/python2.7/dist-packages/ReviewBoard-
>> 2.5.12.dev0-py2.7.egg/reviewboard/settings.py, by removing these 2
>> attributes, and it works now:
>> # Static media setup
>> from reviewboard.staticbundles import PIPELINE_CSS, PIPELINE_JS
>>
>> NODE_PATH = os.path.join(REVIEWBOARD_ROOT, '..', 'node_modules')
>>
>> # PIPELINE_LESS_BINARY = os.path.join(NODE_PATH, 'less', 'bin', 'lessc')
>> # PIPELINE_UGLIFYJS_BINARY = os.path.join(NODE_PATH, 'uglifyjs', 'bin',
>> #                                        'uglifyjs')
>>
>>
>>
>> On Monday, June 12, 2017 at 6:13:39 PM UTC-7, Christian Hammond wrote:
>>>
>>> I think I see where the problem is. I'm confused as to why I'm not
>>> hitting the same failure case, but I honestly don't have a lot of time to
>>> dig into it right now.
>>>
>>> In install_pipeline_deps, try doing:
>>>
>>>             pipeline_settings.LESS_BINARY = \
>>>                 os.path.join(node_modules_dir, 'less', 'bin', 'lessc')
>>>             pipeline_settings.PIPELINE_LESS_BINARY = \
>>>                 pipeline_settings.LESS_BINARY
>>>
>>> ...
>>>
>>>             pipeline_settings.UGLIFYJS_BINARY = \
>>>                 os.path.join(node_modules_dir, 'uglifyjs', 'bin',
>>> 'uglifyjs')
>>>             pipeline_settings.PIPELINE_UGLIFYJS_BINARY = \
>>>                 pipeline_settings.UGLIFYJS_BINARY
>>>
>>>
>>> (Adding the second statement in each batch)
>>>
>>> See if that gets you any further.
>>>
>>> Christian
>>>
>>> On Mon, Jun 12, 2017 at 6:03 PM, Alexander Galperin <
>>> [email protected]> wrote:
>>>
>>>> Set in packaging.py:
>>>> # Collect and process all static media files.
>>>>        * print 'PIPELINE_LESS_BINARY1 =
>>>> {}'.format(pipeline_settings.LESS_BINARY)*
>>>> *        print 'PIPELINE_UGLIFYJS_BINARY1 =
>>>> {}'.format(pipeline_settings.UGLIFYJS_BINARY)*
>>>>         call_command('collectstatic', interactive=False, verbosity=2)
>>>>
>>>> Output is good:
>>>> PIPELINE_LESS_BINARY1 = /src2/rb-extension-pack/fortin
>>>> et/build/node_modules/less/bin/lessc
>>>> PIPELINE_UGLIFYJS_BINARY1 = /src2/rb-extension-pack/fortin
>>>> et/build/node_modules/uglifyjs/bin/uglifyjs
>>>>
>>>>
>>>> On Monday, June 12, 2017 at 5:51:13 PM UTC-7, Alexander Galperin wrote:
>>>>>
>>>>> Set print in /usr/local/lib/python2.7/dist-packages/pipeline/compresso
>>>>> rs/uglifyjs.py:
>>>>> class UglifyJSCompressor(SubProcessCompressor):
>>>>>     def compress_js(self, js):
>>>>>         *print 'PIPELINE_SETTING_UGLIFYJS_BINARY =
>>>>> {}'.format(settings.PIPELINE_UGLIFYJS_BINARY)*
>>>>>         command = '%s %s' % (settings.PIPELINE_UGLIFYJS_BINARY,
>>>>> settings.PIPELINE_UGLIFYJS_ARGUMENTS)
>>>>>         if self.verbose:
>>>>>             command += ' --verbose'
>>>>>         return self.execute_command(command, js)
>>>>> output:
>>>>> PIPELINE_SETTING_UGLIFYJS_BINARY = /usr/local/lib/python2.7/dist-
>>>>> packages/ReviewBoard-2.5.12.dev0-py2.7.egg/reviewboard/../node_modules
>>>>> /uglifyjs/bin/uglifyjs
>>>>>  And it takes from 'settings', which probably is wrong
>>>>>
>>>>> I will try to stop in call_command
>>>>>
>>>>>
>>>>> On Monday, June 12, 2017 at 5:37:29 PM UTC-7, Christian Hammond wrote:
>>>>>>
>>>>>> Can you also try placing debugging output right before the
>>>>>> "call_command('collectstatic', ...)" command in _build_static_media?
>>>>>>
>>>>>> Along with this, try printing `command` in pipeline/compilers/less.py
>>>>>> (pipeline will be another module in site-packages somewhere, perhaps 
>>>>>> under
>>>>>> a django-pipeline-* directory).
>>>>>>
>>>>>> Christian
>>>>>>
>>>>>> On Mon, Jun 12, 2017 at 5:22 PM, Alexander Galperin <
>>>>>> [email protected]> wrote:
>>>>>>
>>>>>>> I've put some print in packaging.py to help debugging. Here's what I
>>>>>>> have changed:
>>>>>>>  def install_pipeline_deps(self, extension, css_bundles, js_bundles):
>>>>>>> ...
>>>>>>> ...
>>>>>>>         with open(package_file, 'w') as fp:
>>>>>>>             fp.write(json.dumps(
>>>>>>>                 {
>>>>>>>                     'name': '%s-extension' %
>>>>>>> os.path.basename(os.getcwd()),
>>>>>>>                     'private': 'true',
>>>>>>>                     'devDependencies': {},
>>>>>>>                     'dependencies': dependencies,
>>>>>>>                 },
>>>>>>>                 indent=2))
>>>>>>>
>>>>>>>         old_cwd = os.getcwd()
>>>>>>>         os.chdir(build_dir)
>>>>>>> *        print 'PIPELINE_LESS_BINARY =
>>>>>>> {}'.format(pipeline_settings.LESS_BINARY)*
>>>>>>> *        print 'PIPELINE_UGLIFYJS_BINARY =
>>>>>>> {}'.format(pipeline_settings.UGLIFYJS_BINARY)*
>>>>>>>         self.npm_install()
>>>>>>>
>>>>>>> And the output is:
>>>>>>> PIPELINE_LESS_BINARY = /src2/rb-extension-pack/fortinet/build/
>>>>>>> node_modules/less/bin/lessc
>>>>>>> PIPELINE_UGLIFYJS_BINARY = /src2/rb-extension-pack/fortinet/build/
>>>>>>> node_modules/uglifyjs/bin/uglifyjs
>>>>>>>
>>>>>>> Also build/node_modules.. created in extention directory, so the
>>>>>>> path is correct at this point
>>>>>>>
>>>>>>> On Monday, June 12, 2017 at 5:17:15 PM UTC-7, Christian Hammond
>>>>>>> wrote:
>>>>>>>>
>>>>>>>> Hi Kevin,
>>>>>>>>
>>>>>>>> printing in settings.py won't tell you anything of value. Those are
>>>>>>>> the correct locations at the time that settings.py loaded, but they're
>>>>>>>> overridden during the packaging process. The locations mentioned in my
>>>>>>>> previous e-mail are where that happens. Solving this will require 
>>>>>>>> narrowing
>>>>>>>> down the locations where the path is correct and where it's incorrect 
>>>>>>>> in
>>>>>>>> that process.
>>>>>>>>
>>>>>>>> Christian
>>>>>>>>
>>>>>>>> On Mon, Jun 12, 2017 at 2:49 PM, Kevin Yu <[email protected]>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> Hi Christian,
>>>>>>>>>
>>>>>>>>> Thanks for trying out. I also did some debugging to see if I can
>>>>>>>>> find any information. I added some print in the settings.py
>>>>>>>>>
>>>>>>>>> PIPELINE_LESS_BINARY = os.path.join(NODE_PATH, 'less', 'bin',
>>>>>>>>> 'lessc')
>>>>>>>>> PIPELINE_UGLIFYJS_BINARY = os.path.join(NODE_PATH, 'uglifyjs',
>>>>>>>>> 'bin',
>>>>>>>>>                                         'uglifyjs')
>>>>>>>>> print 'PIPELINE_UGLIFYJS_BINARY = {}'.format(PIPELINE_UGLIFYJS_B
>>>>>>>>> INARY)
>>>>>>>>> print 'PIPELINE_LESS_BINARY = {}'.format(PIPELINE_LESS_BINARY)
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> And this is what I see in the log:
>>>>>>>>>
>>>>>>>>> [Mon Jun 12 14:47:50.821618 2017] [:error] [pid 12918:tid
>>>>>>>>> 140227234481920] PIPELINE_UGLIFYJS_BINARY = 
>>>>>>>>> /usr/local/lib/python2.7/dist-
>>>>>>>>> packages/ReviewBoard-2.5.12-py2.7.egg/reviewboard/../node_mo
>>>>>>>>> dules/uglifyjs/bin/uglifyjs
>>>>>>>>> [Mon Jun 12 14:47:50.821692 2017] [:error] [pid 12918:tid
>>>>>>>>> 140227234481920] PIPELINE_LESS_BINARY = /usr/local/lib/python2.7/dist-
>>>>>>>>> packages/ReviewBoard-2.5.12-py2.7.egg/reviewboard/../node_mo
>>>>>>>>> dules/less/bin/lessc
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>
>>>>>>>>> On Saturday, June 10, 2017 at 1:43:26 AM UTC-7, Christian Hammond
>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>> Right. We override this though in djblets/extensions/packaging.py
>>>>>>>>>> in install_pipeline_deps(). We compute the path to the extension's
>>>>>>>>>> node_modules and its lessc, and we set that in settings.
>>>>>>>>>>
>>>>>>>>>> I tested locally and it's performing as expected for me. Review
>>>>>>>>>> Board's lessc isn't being used, but the extension's is. So 
>>>>>>>>>> something's
>>>>>>>>>> going wrong here with the paths.
>>>>>>>>>>
>>>>>>>>>> How comfortable are you debugging Python? I'm curious as to
>>>>>>>>>> whether pipeline_settings.LESS_BINARY in install_pipeline_deps() is 
>>>>>>>>>> being
>>>>>>>>>> correctly set.
>>>>>>>>>>
>>>>>>>>>> Christian
>>>>>>>>>>
>>>>>>>>>> On Fri, Jun 9, 2017 at 5:51 PM, Kevin Yu <[email protected]>
>>>>>>>>>> wrote:
>>>>>>>>>>
>>>>>>>>>>> Looks like the path to the npm_modules are prepopulated based on
>>>>>>>>>>> the following code in settings.py:
>>>>>>>>>>> # Static media setup
>>>>>>>>>>> if RUNNING_TEST:
>>>>>>>>>>>    PIPELINE_COMPILERS = []
>>>>>>>>>>> else:
>>>>>>>>>>>    PIPELINE_COMPILERS = [
>>>>>>>>>>>        'djblets.pipeline.compilers.es6.ES6Compiler',
>>>>>>>>>>>        'djblets.pipeline.compilers.less.LessCompiler',
>>>>>>>>>>>    ]
>>>>>>>>>>>
>>>>>>>>>>> NODE_PATH = os.path.join(REVIEWBOARD_ROOT, '..', 'node_modules')
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Friday, June 9, 2017 at 5:44:51 PM UTC-7, Kevin Yu wrote:
>>>>>>>>>>>>
>>>>>>>>>>>> Thanks Christian for the quick reply! much appreciated.
>>>>>>>>>>>>
>>>>>>>>>>>> It was installed using easy_install under Ubuntu.
>>>>>>>>>>>>
>>>>>>>>>>>> On Friday, June 9, 2017 at 5:38:11 PM UTC-7, Christian Hammond
>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>> Hi Kevin,
>>>>>>>>>>>>>
>>>>>>>>>>>>> I actually don't believe this is related in this case. It
>>>>>>>>>>>>> looks like the extension packaging stage is trying to locate the 
>>>>>>>>>>>>> lessc path
>>>>>>>>>>>>> relative to Review Board, which is not correct. It should be 
>>>>>>>>>>>>> locating it
>>>>>>>>>>>>> from the extension package. It sets the path prior to building the
>>>>>>>>>>>>> extension to the place in your tree, which, based on that output, 
>>>>>>>>>>>>> should be
>>>>>>>>>>>>> populated...
>>>>>>>>>>>>>
>>>>>>>>>>>>> I have to run right now, but let me play around with this when
>>>>>>>>>>>>> I get back and see if I can reproduce this.
>>>>>>>>>>>>>
>>>>>>>>>>>>> In the meantime, how do you install Review Board? Are you
>>>>>>>>>>>>> using easy_install or yum?
>>>>>>>>>>>>>
>>>>>>>>>>>>> Christian
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Fri, Jun 9, 2017 at 5:34 PM, Kevin Yu <[email protected]>
>>>>>>>>>>>>> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> I just saw on https://www.reviewboard.org
>>>>>>>>>>>>>> /docs/manual/dev/extending/extensions/static-files/, it says
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Static bundles are packaged along with your extension
>>>>>>>>>>>>>> automatically. You don’t have to do anything special. You will, 
>>>>>>>>>>>>>> however,
>>>>>>>>>>>>>> need some node.js <https://nodejs.org/> dependencies in
>>>>>>>>>>>>>> order to package static media bundles.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *If you’re running Review Board 2.5.7+, these dependencies
>>>>>>>>>>>>>> will be installed for you when you begin to build the package.*
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> *If you’re running an older version, you will need to
>>>>>>>>>>>>>> manually install them yourself. First, make sure you have a 
>>>>>>>>>>>>>> modern version
>>>>>>>>>>>>>> of node.js installed and then run:*
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> $ sudo npm install -g less uglifyjs
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> I am wondering if this is related...
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Friday, June 9, 2017 at 4:41:10 PM UTC-7, Kevin Yu wrote:
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> On our server, we had reviewboard core 2.5.6.1 running with
>>>>>>>>>>>>>>> our own extension. it was all fine until we recently upgraded 
>>>>>>>>>>>>>>> reviewboard
>>>>>>>>>>>>>>> core to 2.5.12. After the upgrade, we can't run python setup.py 
>>>>>>>>>>>>>>> -v build
>>>>>>>>>>>>>>> anymore... The error is as follows:
>>>>>>>>>>>>>>> devops@Reviewboard-Test-trunk:/tmp/ReviewBoardExt$ python
>>>>>>>>>>>>>>> setup.py -v build
>>>>>>>>>>>>>>> running build
>>>>>>>>>>>>>>> running build_py
>>>>>>>>>>>>>>> running build_static_files
>>>>>>>>>>>>>>> Installing node packages...
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/uglifyjs/2.4.10
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/less/2.7.1
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/less/2.7.1
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/uglifyjs/2.4.10
>>>>>>>>>>>>>>> npm WARN deprecated [email protected]: uglifyjs is deprecated
>>>>>>>>>>>>>>> - use uglify-js instead.
>>>>>>>>>>>>>>> npm WARN engine [email protected]: wanted: {"node":">=0.12"}
>>>>>>>>>>>>>>> (current: {"node":"v0.10.25","npm":"1.3.10"})
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/source-map/0.1.34
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/yargs
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/async
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/uglify-to-browserify
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/source-map/0.1.34
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/yargs
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/async
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/uglify-to-browserify
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/amdefine
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/amdefine
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/errno
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/graceful-fs
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/image-size
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/mime
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/mkdirp
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/promise
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/source-map
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/errno
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/graceful-fs
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/image-size
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/mime
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/promise
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/source-map
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/mkdirp
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/prr
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/prr
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/minimist/0.0.8
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/minimist/0.0.8
>>>>>>>>>>>>>>> npm http GET https://registry.npmjs.org/asap
>>>>>>>>>>>>>>> npm http 304 https://registry.npmjs.org/asap
>>>>>>>>>>>>>>> [email protected] node_modules/uglifyjs
>>>>>>>>>>>>>>> ├── [email protected]
>>>>>>>>>>>>>>> ├── [email protected]
>>>>>>>>>>>>>>> ├── [email protected]
>>>>>>>>>>>>>>> └── [email protected] ([email protected])
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> [email protected] node_modules/less
>>>>>>>>>>>>>>> ├── [email protected]
>>>>>>>>>>>>>>> ├── [email protected]
>>>>>>>>>>>>>>> ├── [email protected]
>>>>>>>>>>>>>>> ├── [email protected] ([email protected])
>>>>>>>>>>>>>>> ├── [email protected] ([email protected])
>>>>>>>>>>>>>>> ├── [email protected] ([email protected])
>>>>>>>>>>>>>>> └── [email protected]
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/css/rev_req_det.less'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/js/views/account_handler.js'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/js/views/branch_builds.js'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/js/views/bootstrap.js'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/js/views/apprreqView.js'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/js/views/test_cvrg_rprt.js'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/js/views/ftnchkHoldItView.js'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/js/views/sel_rqst_4_det_copy.js'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/js/views/approval_status_View.js'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/js/views/dashboard.js'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/js/views/rqst_descr.js'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/js/views/cm_portalView.js'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/Remove.png'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/fortinet.png'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/[email protected]'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/[email protected]'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/teamlead.png'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/favicon_notify.png'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/Create.png'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/ftnt.ico'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/[email protected]'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/shipit-grey.png'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/[email protected]'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/static/images/Up.png'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/Bottom.png'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/[email protected]'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/stop16.png'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/[email protected]'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/[email protected]'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/shipit.png'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/[email protected]'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/[email protected]'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/Down.png'
>>>>>>>>>>>>>>> Copying '/tmp/ReviewBoardExt/fortinet/
>>>>>>>>>>>>>>> static/images/[email protected]'
>>>>>>>>>>>>>>> Traceback (most recent call last):
>>>>>>>>>>>>>>>   File "setup.py", line 27, in <module>
>>>>>>>>>>>>>>>     'evolutions/*.*',
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/ReviewBoard-2.5.12-py2.7.egg/reviewboard/extensions/packaging.py",
>>>>>>>>>>>>>>> line 48, in setup
>>>>>>>>>>>>>>>     setuptools_setup(**setup_kwargs)
>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/distutils/core.py", line 151, in
>>>>>>>>>>>>>>> setup
>>>>>>>>>>>>>>>     dist.run_commands()
>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/distutils/dist.py", line 953, in
>>>>>>>>>>>>>>> run_commands
>>>>>>>>>>>>>>>     self.run_command(cmd)
>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/distutils/dist.py", line 972, in
>>>>>>>>>>>>>>> run_command
>>>>>>>>>>>>>>>     cmd_obj.run()
>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/distutils/command/build.py",
>>>>>>>>>>>>>>> line 128, in run
>>>>>>>>>>>>>>>     self.run_command(cmd_name)
>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/distutils/cmd.py", line 326, in
>>>>>>>>>>>>>>> run_command
>>>>>>>>>>>>>>>     self.distribution.run_command(command)
>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/distutils/dist.py", line 972, in
>>>>>>>>>>>>>>> run_command
>>>>>>>>>>>>>>>     cmd_obj.run()
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/Djblets-0.9.7-py2.7.egg/djblets/extensions/packaging.py",
>>>>>>>>>>>>>>> line 422, in run
>>>>>>>>>>>>>>>     self.run_command('build_static_files')
>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/distutils/cmd.py", line 326, in
>>>>>>>>>>>>>>> run_command
>>>>>>>>>>>>>>>     self.distribution.run_command(command)
>>>>>>>>>>>>>>>   File "/usr/lib/python2.7/distutils/dist.py", line 972, in
>>>>>>>>>>>>>>> run_command
>>>>>>>>>>>>>>>     cmd_obj.run()
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/Djblets-0.9.7-py2.7.egg/djblets/extensions/packaging.py",
>>>>>>>>>>>>>>> line 290, in run
>>>>>>>>>>>>>>>     self._build_static_media(extension)
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/Djblets-0.9.7-py2.7.egg/djblets/extensions/packaging.py",
>>>>>>>>>>>>>>> line 360, in _build_static_media
>>>>>>>>>>>>>>>     call_command('collectstatic', interactive=False,
>>>>>>>>>>>>>>> verbosity=2)
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/Django-1.6.11-py2.7.egg/django/core/management/__init__.py",
>>>>>>>>>>>>>>> line 159, in call_command
>>>>>>>>>>>>>>>     return klass.execute(*args, **defaults)
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/Django-1.6.11-py2.7.egg/django/core/management/base.py",
>>>>>>>>>>>>>>> line 285, in execute
>>>>>>>>>>>>>>>     output = self.handle(*args, **options)
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/Django-1.6.11-py2.7.egg/django/core/management/base.py",
>>>>>>>>>>>>>>> line 415, in handle
>>>>>>>>>>>>>>>     return self.handle_noargs(**options)
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/Django-1.6.11-py2.7.egg/django/contrib/staticfiles
>>>>>>>>>>>>>>> /management/commands/collectstatic.py", line 173, in
>>>>>>>>>>>>>>> handle_noargs
>>>>>>>>>>>>>>>     collected = self.collect()
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/Django-1.6.11-py2.7.egg/django/contrib/staticfiles
>>>>>>>>>>>>>>> /management/commands/collectstatic.py", line 119, in collect
>>>>>>>>>>>>>>>     for original_path, processed_path, processed in
>>>>>>>>>>>>>>> processor:
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/django_pipeline-1.3.27-py2.7.egg/pipeline/storage.py",
>>>>>>>>>>>>>>> line 32, in post_process
>>>>>>>>>>>>>>>     packager.pack_stylesheets(package)
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/django_pipeline-1.3.27-py2.7.egg/pipeline/packager.py",
>>>>>>>>>>>>>>> line 94, in pack_stylesheets
>>>>>>>>>>>>>>>     variant=package.variant, **kwargs)
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/django_pipeline-1.3.27-py2.7.egg/pipeline/packager.py",
>>>>>>>>>>>>>>> line 103, in pack
>>>>>>>>>>>>>>>     paths = self.compile(package.paths, force=True)
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/django_pipeline-1.3.27-py2.7.egg/pipeline/packager.py",
>>>>>>>>>>>>>>> line 97, in compile
>>>>>>>>>>>>>>>     return self.compiler.compile(paths, force=force)
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/django_pipeline-1.3.27-py2.7.egg/pipeline/compilers/__init__.py",
>>>>>>>>>>>>>>> line 55, in compile
>>>>>>>>>>>>>>>     return list(executor.map(_compile, paths))
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/futures-3.0.5-py2.7.egg/concurrent/futures/_base.py",
>>>>>>>>>>>>>>> line 581, in result_iterator
>>>>>>>>>>>>>>>     yield future.result()
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/futures-3.0.5-py2.7.egg/concurrent/futures/_base.py",
>>>>>>>>>>>>>>> line 405, in result
>>>>>>>>>>>>>>>     return self.__get_result()
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/futures-3.0.5-py2.7.egg/concurrent/futures/thread.py",
>>>>>>>>>>>>>>> line 55, in run
>>>>>>>>>>>>>>>     result = self.fn(*self.args, **self.kwargs)
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/django_pipeline-1.3.27-py2.7.egg/pipeline/compilers/__init__.py",
>>>>>>>>>>>>>>> line 40, in _compile
>>>>>>>>>>>>>>>     outdated=outdated, force=force)
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/django_pipeline-1.3.27-py2.7.egg/pipeline/compilers/less.py",
>>>>>>>>>>>>>>> line 22, in compile_file
>>>>>>>>>>>>>>>     return self.execute_command(command, cwd=dirname(infile))
>>>>>>>>>>>>>>>   File "/usr/local/lib/python2.7/dist
>>>>>>>>>>>>>>> -packages/django_pipeline-1.3.27-py2.7.egg/pipeline/compilers/__init__.py",
>>>>>>>>>>>>>>> line 99, in execute_command
>>>>>>>>>>>>>>>     raise CompilerError(stderr)
>>>>>>>>>>>>>>> pipeline.exceptions.CompilerError: /bin/sh: 1:
>>>>>>>>>>>>>>> /usr/local/lib/python2.7/dist-packages/ReviewBoard-2.5.12-py
>>>>>>>>>>>>>>> 2.7.egg/reviewboard/../node_modules/less/bin/lessc: not
>>>>>>>>>>>>>>> found
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> The path it tries to find lessc seems wrong as well. the
>>>>>>>>>>>>>>> lessc should be in /usr/local/bin/lessc.
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Has anyone run into the same issue?
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>> --
>>>>>>>>>>>>>> Supercharge your Review Board with Power Pack:
>>>>>>>>>>>>>> https://www.reviewboard.org/powerpack/
>>>>>>>>>>>>>> Want us to host Review Board for you? Check out RBCommons:
>>>>>>>>>>>>>> https://rbcommons.com/
>>>>>>>>>>>>>> Happy user? Let us know! https://www.reviewboard.org/users/
>>>>>>>>>>>>>> ---
>>>>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>>>>> Google Groups "reviewboard" group.
>>>>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>>>>> it, send an email to [email protected].
>>>>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> --
>>>>>>>>>>>>> Christian Hammond
>>>>>>>>>>>>> President/CEO of Beanbag <https://www.beanbaginc.com/>
>>>>>>>>>>>>> Makers of Review Board <https://www.reviewboard.org/>
>>>>>>>>>>>>>
>>>>>>>>>>>> --
>>>>>>>>>>> Supercharge your Review Board with Power Pack:
>>>>>>>>>>> https://www.reviewboard.org/powerpack/
>>>>>>>>>>> Want us to host Review Board for you? Check out RBCommons:
>>>>>>>>>>> https://rbcommons.com/
>>>>>>>>>>> Happy user? Let us know! https://www.reviewboard.org/users/
>>>>>>>>>>> ---
>>>>>>>>>>> You received this message because you are subscribed to the
>>>>>>>>>>> Google Groups "reviewboard" group.
>>>>>>>>>>> To unsubscribe from this group and stop receiving emails from
>>>>>>>>>>> it, send an email to [email protected].
>>>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> --
>>>>>>>>>> Christian Hammond
>>>>>>>>>> President/CEO of Beanbag <https://www.beanbaginc.com/>
>>>>>>>>>> Makers of Review Board <https://www.reviewboard.org/>
>>>>>>>>>>
>>>>>>>>> --
>>>>>>>>> Supercharge your Review Board with Power Pack:
>>>>>>>>> https://www.reviewboard.org/powerpack/
>>>>>>>>> Want us to host Review Board for you? Check out RBCommons:
>>>>>>>>> https://rbcommons.com/
>>>>>>>>> Happy user? Let us know! https://www.reviewboard.org/users/
>>>>>>>>> ---
>>>>>>>>> You received this message because you are subscribed to the Google
>>>>>>>>> Groups "reviewboard" group.
>>>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>>>> send an email to [email protected].
>>>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> --
>>>>>>>> Christian Hammond
>>>>>>>> President/CEO of Beanbag <https://www.beanbaginc.com/>
>>>>>>>> Makers of Review Board <https://www.reviewboard.org/>
>>>>>>>>
>>>>>>> --
>>>>>>> Supercharge your Review Board with Power Pack:
>>>>>>> https://www.reviewboard.org/powerpack/
>>>>>>> Want us to host Review Board for you? Check out RBCommons:
>>>>>>> https://rbcommons.com/
>>>>>>> Happy user? Let us know! https://www.reviewboard.org/users/
>>>>>>> ---
>>>>>>> You received this message because you are subscribed to the Google
>>>>>>> Groups "reviewboard" group.
>>>>>>> To unsubscribe from this group and stop receiving emails from it,
>>>>>>> send an email to [email protected].
>>>>>>> For more options, visit https://groups.google.com/d/optout.
>>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Christian Hammond
>>>>>> President/CEO of Beanbag <https://www.beanbaginc.com/>
>>>>>> Makers of Review Board <https://www.reviewboard.org/>
>>>>>>
>>>>> --
>>>> Supercharge your Review Board with Power Pack:
>>>> https://www.reviewboard.org/powerpack/
>>>> Want us to host Review Board for you? Check out RBCommons:
>>>> https://rbcommons.com/
>>>> Happy user? Let us know! https://www.reviewboard.org/users/
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "reviewboard" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to [email protected].
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>>
>>> --
>>> Christian Hammond
>>> President/CEO of Beanbag <https://www.beanbaginc.com/>
>>> Makers of Review Board <https://www.reviewboard.org/>
>>>
>> --
> Supercharge your Review Board with Power Pack:
> https://www.reviewboard.org/powerpack/
> Want us to host Review Board for you? Check out RBCommons:
> https://rbcommons.com/
> Happy user? Let us know! https://www.reviewboard.org/users/
> ---
> You received this message because you are subscribed to the Google Groups
> "reviewboard" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>



-- 
Christian Hammond
President/CEO of Beanbag <https://www.beanbaginc.com/>
Makers of Review Board <https://www.reviewboard.org/>

-- 
Supercharge your Review Board with Power Pack: 
https://www.reviewboard.org/powerpack/
Want us to host Review Board for you? Check out RBCommons: 
https://rbcommons.com/
Happy user? Let us know! https://www.reviewboard.org/users/
--- 
You received this message because you are subscribed to the Google Groups 
"reviewboard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to