Fix Python version compatibility and dependencies in the macOS installer.

Review Request #8572 — Created Dec. 14, 2016 and submitted

Information

RBTools
release-0.7.x
392421f...

Reviewers

The macOS installer had previously hard-coded dependencies, given that
`setup.py install` doesn't install dependencies itself. This ended up
breaking us with the introduction of tqdm. Along with this, we were
prioritiziing Python 2.6 over 2.7, to support earlier versions of
Python (due to the way that binaries were installed using easy_install).

This change simplifies the work the installer has to do. Gone are the
manual dependency installs. Instead, we build a wheel package and then
install it for both Python 2.6 and 2.7. This gives us smarter, easier
dependency installation, and it also gives us smarter compatibility with
different versions of macOS. Pip will install 2.7 binaries to the
Python2.7 binary directory, and 2.6 binaries to /usr/local/bin. On
modern versions of macOS, the Python2.7 binary directory will be checked
before /usr/local/bin, and on older versions it won't be checked at all,
giving us the proper compatibility across all systems.

Built an installer and installed it on macOS. Saw that all the expected
files were there, including dependencies, for both Python 2.6 and 2.7.
Both versions ran, and 2.7 took priority on the install.

Description From Last Updated

Can we keep indentation consistent throughout?

daviddavid

We should also have a check for python2.6

daviddavid
david
  1. 
      
  2. contrib/installers/macosx/build-mpkg.sh (Diff revision 1)
     
     
     
     
     
     
     
     
     
     
    Show all issues

    Can we keep indentation consistent throughout?

  3. contrib/installers/macosx/build-mpkg.sh (Diff revision 1)
     
     
    Show all issues

    We should also have a check for python2.6

    1. We don't actually need to call it. We only care about pip2.6, which is covered below.

  4. 
      
reviewbot
  1. Tool: Pyflakes
    Ignored Files:
        contrib/installers/macosx/build-mpkg.sh
    
    
    
    Tool: PEP8 Style Checker
    Ignored Files:
        contrib/installers/macosx/build-mpkg.sh
    
    
  2. 
      
chipx86
reviewbot
  1. Tool: Pyflakes
    Ignored Files:
        contrib/installers/macosx/build-mpkg.sh
    
    
    
    Tool: PEP8 Style Checker
    Ignored Files:
        contrib/installers/macosx/build-mpkg.sh
    
    
  2. 
      
david
  1. Ship It!
  2. 
      
chipx86
Review request changed
Status:
Completed
Change Summary:
Pushed to release-0.7.x (e6ce16c)