Hi Christian,

Thanks so much for the response.

On Wednesday, April 18, 2018 at 5:03:43 PM UTC-7, Christian Hammond wrote:
>
> It will, yes. You shouldn't need to make changes like that. This one in 
> particular will break applications that try using Djblets in various ways. 
> If this appears to fix packaging, then we really need to find out what's 
> really going on to break it in the first place.
>

I made some progress. Much closer.

The Gentoo build that works with pip is mostly magic to me. I'm still 
trying to figure out the pieces.

What I've figured out so far, is that as you suggest, I need to call 
setup.py (well, in a Gentoo ebuild, it is actually invoked via a wrapper 
command "esetup.py ..."). I have not yet gotten it to work, but I figured 
out several big steps forward.

It would probably work better for Gentoo if setup.py develop was not a 
prerequisite to setup.py install. I see why you have it this way, but it 
makes it difficult to deal with.

At the moment, I've figured out that I can patch out call the calls to 
_run_pip (which were triggering problems) - since the Gentoo environment 
already has the latest versions of those things installed.

I'm tripping over the npm tool installation. While running package 
installs, Gentoo creates a sandbox, which prevents access to parts of the 
system that package install shouldn't normally need to touch. Looks like 
the Gentoo sandbox is preventing "npm install" from working. Trying to 
figure that out now.

Since Gentoo mostly builds from source, I want to get it to work from the 
tar.gz distribution, but I can probably fall back to installing from the 
egg file, if I can't get this to work. Looks like the egg file has 
everything built as needed, and I wouldn't need to call "setup.py develop".

Eric.
 

>
> Christian
>
> On Wed, Apr 18, 2018 at 5:00 PM, 'Eric Johnson' via Review Board Community 
> <revie...@googlegroups.com <javascript:>> wrote:
>
>> Oops - by the way, for the previous post, although you can figure it out 
>> from the stack trace, I'm trying to install Djblets-1.0.5
>>
>> I seem to have made a big step forward. I used sed to edit the 
>> settings.py file to replace
>>
>>         sed -e 
>> "s/pipeline.storage.PipelineCachedStorage/pipeline.storage.NonPackagingPipelineCachedStorage/"
>>  
>> -i djblets/settings.py || die
>>
>> Will this cause any problems (other than perhaps being slower than if the 
>> post-processing was in place)?
>>
>> Eric.
>>
>> On Wed, Apr 18, 2018 at 4:15 PM, Eric Johnson <er...@tibco.com 
>> <javascript:>> wrote:
>>
>>> I'm tripping over getting the Djblets package to work.
>>>
>>> My current failure looks like this:
>>>
>>> Traceback (most recent call last):                                      
>>>                                               
>>>   File "contrib/internal/build-media.py", line 36, in <module>          
>>>                  
>>>     ret = call_command('collectstatic', interactive=False, verbosity=2) 
>>>   File 
>>> "/usr/lib64/python2.7/site-packages/django/core/management/__init__.py", 
>>> line 159, in call_command                   
>>>     return klass.execute(*args, **defaults)                              
>>>   File 
>>> "/usr/lib64/python2.7/site-packages/django/core/management/base.py", line 
>>> 285, in execute
>>>     output = self.handle(*args, **options)                              
>>>                    
>>>   File 
>>> "/usr/lib64/python2.7/site-packages/django/core/management/base.py", line 
>>> 415, in handle
>>>     return self.handle_noargs(**options)                                
>>>                                    
>>>   File 
>>> "/usr/lib64/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
>>>  
>>> line 173, in handle_noargs
>>>     collected = self.collect()                                          
>>>                                 
>>>   File 
>>> "/usr/lib64/python2.7/site-packages/django/contrib/staticfiles/management/commands/collectstatic.py",
>>>  
>>> line 119, in collect
>>>     for original_path, processed_path, processed in processor:          
>>>                                   
>>>   File "/usr/lib64/python2.7/site-packages/pipeline/storage.py", line 
>>> 26, in post_process
>>>     packager.pack_stylesheets(package)                                  
>>>                                  
>>>   File "/usr/lib64/python2.7/site-packages/pipeline/packager.py", line 
>>> 96, in pack_stylesheets
>>>     variant=package.variant, **kwargs)
>>>   File "/usr/lib64/python2.7/site-packages/pipeline/packager.py", line 
>>> 105, in pack
>>>     paths = self.compile(package.paths, force=True)
>>>   File "/usr/lib64/python2.7/site-packages/pipeline/packager.py", line 
>>> 99, in compile
>>>     return self.compiler.compile(paths, force=force)
>>>   File 
>>> "/usr/lib64/python2.7/site-packages/pipeline/compilers/__init__.py", line 
>>> 54, in compile
>>>     return list(executor.map(_compile, paths))
>>>   File "/usr/lib64/python2.7/site-packages/concurrent/futures/_base.py", 
>>> line 605, in result_iterator
>>>     yield future.result()
>>>   File "/usr/lib64/python2.7/site-packages/concurrent/futures/_base.py", 
>>> line 429, in result
>>>     return self.__get_result()
>>>   File 
>>> "/usr/lib64/python2.7/site-packages/concurrent/futures/thread.py", line 62, 
>>> in run
>>>     result = self.fn(*self.args, **self.kwargs)
>>>   File 
>>> "/usr/lib64/python2.7/site-packages/pipeline/compilers/__init__.py", line 
>>> 39, in _compile
>>>     outdated = compiler.is_outdated(infile, outfile)
>>>   File 
>>> "/var/tmp/portage/dev-python/Djblets-1.0.5/work/Djblets-1.0.5/djblets/pipeline/compilers/less.py",
>>>  
>>> line 83, in is_outdated
>>>     self.execute_command(command, stdout_captured=imports_file)
>>>   File 
>>> "/usr/lib64/python2.7/site-packages/pipeline/compilers/__init__.py", line 
>>> 134, in execute_command
>>>     error_output=stderr)
>>> pipeline.exceptions.CompilerError: 
>>> [u'/var/tmp/portage/dev-python/Djblets-1.0.5/work/Djblets-1.0.5/djblets/pipeline/compilers/less-imports.js',
>>>  
>>> u'--no-color', u'--source-map', u'--autoprefix=> 2%, ie >= 9', 
>>> u'/var/tmp/portage/dev-python/Djblets-1.0.5/work/Djblets-1.0.5/dj
>>> blets/htdocs/static/djblets/css/forms/conditions.less'] exit code 1
>>> module.js:471
>>>     throw err;
>>>     ^
>>>
>>> Error: Cannot find module 'less'
>>>     at Function.Module._resolveFilename (module.js:469:15)
>>>     at Function.Module._load (module.js:417:25)
>>>     at Module.require (module.js:497:17)
>>>     at require (internal/module.js:20:19)
>>>     at Object.<anonymous> 
>>> (/var/tmp/portage/dev-python/Djblets-1.0.5/work/Djblets-1.0.5/djblets/pipeline/compilers/less-imports.js:18:12)
>>>     at Module._compile (module.js:570:32)
>>>     at Object.Module._extensions..js (module.js:579:10)
>>>     at Module.load (module.js:487:32)
>>>     at tryModuleLoad (module.js:446:12)
>>>     at Function.Module._load (module.js:438:3)
>>>
>>> Traceback (most recent call last):
>>>   File "setup.py", line 443, in <module>
>>>     'Topic :: Software Development :: Libraries :: Python Modules',
>>>   File "/usr/lib64/python2.7/site-packages/setuptools/__init__.py", line 
>>> 129, in setup
>>>     return distutils.core.setup(**attrs)
>>>   File "/usr/lib64/python2.7/distutils/core.py", line 151, in setup
>>>     dist.run_commands()
>>>   File "/usr/lib64/python2.7/distutils/dist.py", line 953, in 
>>> run_commands
>>>     self.run_command(cmd)
>>>   File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
>>>     cmd_obj.run()
>>>   File 
>>> "/usr/lib64/python2.7/site-packages/setuptools/command/install.py", line 
>>> 61, in run
>>>     return orig.install.run(self)
>>>   File "/usr/lib64/python2.7/distutils/command/install.py", line 563, in 
>>> run
>>>     self.run_command('build')
>>>   File "/usr/lib64/python2.7/distutils/cmd.py", line 326, in run_command
>>>     self.distribution.run_command(command)
>>>   File "/usr/lib64/python2.7/distutils/dist.py", line 972, in run_command
>>>     cmd_obj.run()
>>>
>>> Not exactly sure what to do from here. Options I can think of:
>>>
>>>    - Change something like setup.py or settings.py so that "less" won't 
>>>    be executed.
>>>    - Figure out how to get less in place before this line executes....
>>>    - Avoid running setup.py - it appears that pip install Djblets 
>>>    avoids calling setup.py (or maybe it does, it just calls it differently?)
>>>    - ...?
>>>
>>> Any tips or direction anyone an provide?
>>>
>>> Eric.
>>>
>>
>> -- 
>> 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 
>> "Review Board Community" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to reviewboard...@googlegroups.com <javascript:>.
>> 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 
"Review Board Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to reviewboard+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to