Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-22548

qtqa/scripts/setup.pl could be more robust

    XMLWordPrintable

Details

    • Bug
    • Resolution: Invalid
    • P2: Important
    • None
    • 5.0.0
    • Other
    • None

    Description

      Running "qtqa/scripts/setup/pl --install" on the standard Brisbane workstation setup claims to succeed, but the output reveals that there were uncaught failures:

      jasmcdon@bq-gusto:~/depot/qt5-test/qtqa$ scripts/setup.pl --install
      
      Checking python modules ...
      minimock - NOT OK
      nose - NOT OK
      
      You are missing some needed python modules.
      + pip install minimock nose
      Downloading/unpacking minimock
        Running setup.py egg_info for package minimock
      Downloading/unpacking nose
        Running setup.py egg_info for package nose
      Installing collected packages: minimock, nose
        Running setup.py install for minimock
          error: /usr/local/lib/python2.6/dist-packages/minimock.py: Permission denied
          Complete output from command /usr/bin/python -c "import setuptools; __file__='/home/jasmcdon/depot/qt5-test/qtqa/build/minimock/setup.py'; execfile('/home/jasmcdon/depot/qt5-test/qtqa/build/minimock/setup.py')" install --single-version-externally-managed --record /tmp/pip-wqZx0_-record/install-record.txt --install-headers /home/jasmcdon/depot/qt5-test/qtqa/lib/include:
          running install
      
      running build
      
      running build_py
      
      running install_lib
      
      copying build/lib.linux-i686-2.6/minimock.py -> /usr/local/lib/python2.6/dist-packages
      
      error: /usr/local/lib/python2.6/dist-packages/minimock.py: Permission denied
      
      ----------------------------------------
      Command /usr/bin/python -c "import setuptools; __file__='/home/jasmcdon/depot/qt5-test/qtqa/build/minimock/setup.py'; execfile('/home/jasmcdon/depot/qt5-test/qtqa/build/minimock/setup.py')" install --single-version-externally-managed --record /tmp/pip-wqZx0_-record/install-record.txt --install-headers /home/jasmcdon/depot/qt5-test/qtqa/lib/include failed with error code 1
      Storing complete log in ./pip-log.txt
      minimock - Traceback (most recent call last):
        File "<string>", line 1, in <module>
      ImportError: No module named minimock
      nose - Traceback (most recent call last):
        File "<string>", line 1, in <module>
      ImportError: No module named nose
      Installation completed successfully, but you still seem to be missing some python modules: minimock nose
      
      Checking perl modules ...
      Capture::Tiny - OK
      Class::Factory::Util - OK
      Env::Path - OK
      File::Fetch - OK
      File::Slurp - OK
      IO::CaptureOutput - OK
      Lingua::EN::Inflect - OK
      Lingua::EN::Numbers - OK
      List::MoreUtils - OK
      Params::Validate - OK
      Perl::Critic - OK
      Readonly - OK
      Test::Exception - OK
      Test::Exit - OK
      Test::More - OK
      Test::NoWarnings - OK
      Test::Perl::Critic - OK
      Text::Diff - OK
      Text::Trim - OK
      Text::Wrap - OK
      Tie::IxHash - OK
      autodie - OK
      BSD::Resource - OK
      Proc::Reliable - OK
      Tie::Sysctl - OK
      
      It looks like your CPAN setup is complete :)
      

      The problem here was the lack of python virtualenv.

      There are three ways the script could be improved:

      1. Report overall failure instead of success when installation of python packages fails.

      2. Check pre-requisites more thoroughly and give users who lack detailed perl/python knowledge some hints about how to resolve missing pre-requisites. The missing pre-reqs on my workstation ere:

      sudo apt-get install liblocal-lib-perl
      sudo apt-get install python-virtualenv && virtualenv $HOME/python-sandbox && source $HOME/python-sandbox/bin/activate

      3. If the script succeeds, print a message reminding the user to add "eval $(perl -Mlocal::lib)" to their .profile/.bashrc

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            laknoll Lars Knoll
            jasmcdon Jason McDonald (Closed Nokia Identity. Please assign to "macadder" instead) (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes