1. 30 10月, 2020 2 次提交
    • C
      Fix source greenplum_path.sh error with set -u (#11085) · 1f429744
      Chen Mulong 提交于
      The error was introduced by dc96f667.
      If `set -u` was called before sourcing greenplum_path.sh with bash, an
      error `ZSH_VERSION: unbound variable` would be reported.
      To solve the issue, use shell syntax `{:-}` which will output an empty
      value if the variable doesn't exist.
      
      Tested with zsh, bash and dash.
      1f429744
    • C
      Make greenplum-path.sh compatible with more shells (#11043) · dc96f667
      Chen Mulong 提交于
      The generated greenplum_path.sh env file contained bash specific syntax
      previously, so it errors out if the user's shell is zsh.
      
      zsh doesn't have BASH_SOURCE. "${(%):-%x}" is the similar replacement
      for zsh.
      Also try to support other shells with some command combinations.
      Tested with bash/zsh/dash.
      dc96f667
  2. 09 9月, 2020 1 次提交
  3. 25 6月, 2020 3 次提交
  4. 05 5月, 2020 1 次提交
    • T
      Remove vendored python · fdb5a10e
      Tyler Ramer 提交于
      This commit removes any reference to vendored python, formerly installed
      in $GPHOME/ext/python.
      
      Unvendoring python means that a system python of 2.7 is required.
      
      In order to make this possible, several sub-fixes or testing scope fixes
      are required:
      
      - Python requirements should be installed globally using pip
      - References to PYTHONHOME are removed
      - PYTHONPATH becomes "$GPHOME/lib/python:${PYTHONPATH}"
      
      GCC is no longer overridden as part of gpAux makefile process.
      
      - Previously, gpAux Makefile overrode the $CC variable with the value
        "gcc". This obviously breaks convention which itself is a problem, but
        it is also broken because the top level Makefile and configure DO
        respect a CC variable being set.
      
      - Setting CC="gcc" also means that gcc binary must be part of the user's
        path. This isn't a requirement or guarantee to compiling, so why keep
        this behavior?
      
      - However, python packages should be compiled with the same GCC version
        that compiled system python - thus, we unset the "CC" variable when
        installing additional python libraries.
        Specifically, the configure args used to compile python are saved and
        re-used to compile libraries when the python setup.py build process is
        used. So if system python has different compiler flags than might be
        allowed in a newer version of gcc, the build of the libraries fails.
        This is specificaly of note when compiling python libraries in SLES,
        where the system python compiled with GCC 4.8 uses the
        `-fstack-clash-protection` flag, which is replaced by
        `-fstack-protector` in newer GCC versions. Thus, the configure args
         passed cause a failure to compile if a newer gcc version is used
         with "unrecognized command line option" error.
      
      This does make significant improvements to simplify the code building
      and testing framework:
      
      - Patchelf requirements go away, as virtualenv is no longer necessary
      - There is no need to copy system or other python into
        $GPHOME/etc/python
      
      This commit does not address any of the following:
      
      - Unvendoring individual python libraries, like psutil, pygresql, or
        yaml
      - Updating any python code to work with python newer than 2.7
      Co-authored-by: NTyler Ramer <tramer@pivotal.io>
      Co-authored-by: NJamie McAtamney <jmcatamney@pivotal.io>
      fdb5a10e
  5. 13 3月, 2019 1 次提交
  6. 26 2月, 2019 1 次提交
  7. 10 7月, 2018 1 次提交
    • D
      Avoid hardcoded bash location in mgmt utils · 3ae06a9b
      Daniel Gustafsson 提交于
      Rather than hardcoding to require /bin/bash, move to using a lookup
      via "/usr/bin/env bash" to allow for greater portability of the code.
      This also changes the Bash test to checking if the current shell is
      actually Bash, rather than looking if bash is available on the file
      system (since we by the above mentioned changes no longer need that).
      3ae06a9b
  8. 02 11月, 2017 1 次提交
    • L
      Remove Solaris conditions and use PYTHONHOME only when set (#3698) · e97e8b1a
      Larry Hamel 提交于
      - Remove Solaris special cases
      
      - We don't support solaris anymore
      
      - When PYTHONHOME is not set, don't use it.
      
      - PYTHONHOME should remain default (unset) and not used as a variable,
      unless a bundled python is available and preferred.
      
      - Use LD_LIBRARY_PATH only
        since macos 10.5, LD_LIBRARY_PATH has been supported, so 
        remove conditionals for darwin, discarding DYLD_LIBRARY_PATH in favor of
        the standard LD_LIBRARY_PATH
      e97e8b1a
  9. 14 9月, 2017 1 次提交
  10. 28 10月, 2015 1 次提交