Check for node and nodejs when running setup.py develop.

Review Request #8511 — Created Oct. 31, 2016 and submitted

Information

Djblets
release-0.8.x
0ee16b5...

Reviewers

If node isn't installed, setup.py develop will fail part-way through
the installation process. However, if it's installed but as nodejs
(such as on Ubuntu), it will all work correctly until you go to run
Review Board, at which point it will fail confusingly when it fails to
find node in the path.

We now check for both node and nodejs, and provide appropriate error
messages depending on what we find or don't find.

Tested with node in the path and without.

Tested without node in the path but with and without nodejs in the
path.

Saw the expected behavior in all cases.

Description From Last Updated

This second sentence is a little confusing.

daviddavid
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        setup.py
    
    
    
    Tool: Pyflakes
    Processed Files:
        setup.py
    
    
  2. 
      
chipx86
reviewbot
  1. Tool: PEP8 Style Checker
    Processed Files:
        setup.py
    
    
    
    Tool: Pyflakes
    Processed Files:
        setup.py
    
    
  2. 
      
david
  1. 
      
  2. setup.py (Diff revision 2)
     
     
     
    Show all issues

    This second sentence is a little confusing.

    1. Not sure if I've made it better or worse, but give me your thoughts on the latest wording.

    2. Better, but ln -s definitely isn't going to work on Windows.

    3. True, but this is really only an Ubuntu problem. They rename it because of a legacy package with a binary called "node". Everywhere else, it's just installed as "node".

  3. 
      
chipx86
reviewbot
  1. Tool: Pyflakes
    Processed Files:
        setup.py
    
    
    
    Tool: PEP8 Style Checker
    Processed Files:
        setup.py
    
    
  2. 
      
david
  1. Ship It!
  2. 
      
gmyers
  1. 
      
  2. setup.py (Diff revision 3)
     
     

    I think check_output was added in Python 2.7, but doesn't this version of Djblets support Python 2.6? Ditto below.

    1. Good catch. I'll have to adjust this.

      I had originally used check_call, but that ends up outputting content.. I'll have to look into options here.

  3. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-0.8.x (aca66dc)