)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"3e18ea1c1928b9ec18bfa9585e40cb9786b001c7","unresolved":false,"context_lines":[{"line_number":30,"context_line":"from the Fedora install and let pip do the work.  The only issue is if"},{"line_number":31,"context_line":"other rpm-packages we wish to use bring in python-* packages ... in"},{"line_number":32,"context_line":"that case we probably need the dummy-package work-around for them."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"[1] https://review.openstack.org/#/c/39827/"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Change-Id: I3ec4ac01c2ec1fb1ce9844f12611d1f86d631991"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAQn%2F%2FQJs%3D","line":33,"updated":"2013-08-03 18:59:24.000000000","message":"Also want a fixes bug 1206154","commit_id":"c4313787ae79b2842ed52aa0f117fc1e82cc04b2"},{"author":{"_account_id":1955,"name":"Alan Pevec","email":"alan.pevec@redhat.com","username":"apevec"},"unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"On Fedora/RHEL python is setup with paths such that pip will install"},{"line_number":10,"context_line":"into /usr rather than /usr/local (see sysconfig.get_paths()).  This"},{"line_number":11,"context_line":"means rpm-packaged and pip-installed packages can\u0027t co-exist."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Since we want a later setuptools and pip installed, there is a"},{"line_number":14,"context_line":"chicken-and-egg egg problem: we can\u0027t remove the python-setuptools rpm"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAQn%2F%2FNfg%3D","line":11,"updated":"2013-08-05 12:51:41.000000000","message":"Wouldn\u0027t  python-pip install --user help avoid the conflict?","commit_id":"a4efed0613845785b1b968d0013ff06c127c66b2"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"8b6a56f108531d5c319f15d285e8420daa9d6cdf","unresolved":false,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"On Fedora/RHEL python is setup with paths such that pip will install"},{"line_number":10,"context_line":"into /usr rather than /usr/local (see sysconfig.get_paths()).  This"},{"line_number":11,"context_line":"means rpm-packaged and pip-installed packages can\u0027t co-exist."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Since we want a later setuptools and pip installed, there is a"},{"line_number":14,"context_line":"chicken-and-egg egg problem: we can\u0027t remove the python-setuptools rpm"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"AAAAQn%2F%2FNcU%3D","line":11,"in_reply_to":"AAAAQn%2F%2FNfg%3D","updated":"2013-08-05 13:09:36.000000000","message":"I believe because of [1] that\u0027s not totally straight forward.  I\u0027m also not sure about daemons correctly accessing packages installed like that... maybe it would \"just work\" but i don\u0027t know.\n\n[1] https://bugzilla.redhat.com/show_bug.cgi?id\u003d961546","commit_id":"a4efed0613845785b1b968d0013ff06c127c66b2"}],"lib/infra":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"26ee09060d7020c6d218e6c6a6e7b85b633bea87","unresolved":false,"context_lines":[{"line_number":30,"context_line":"function standardize_setuptools() {"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    if is_fedora; then"},{"line_number":33,"context_line":"\t# Pip on fedora/rhel installs to /usr rather than /usr/local,"},{"line_number":34,"context_line":"\t# so using the packaged pip to install a new pip overwrites"},{"line_number":35,"context_line":"\t# the packaged one rather than creating a parallel version."},{"line_number":36,"context_line":"\t# This leads to a broken mess."}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAAQn%2F%2FQKs%3D","line":33,"updated":"2013-08-03 18:53:19.000000000","message":"Is this the mark for a tab?  If so I guess it should be removed?","commit_id":"c4313787ae79b2842ed52aa0f117fc1e82cc04b2"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"8b6a56f108531d5c319f15d285e8420daa9d6cdf","unresolved":false,"context_lines":[{"line_number":30,"context_line":"function standardize_setuptools() {"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    if is_fedora; then"},{"line_number":33,"context_line":"\t# Pip on fedora/rhel installs to /usr rather than /usr/local,"},{"line_number":34,"context_line":"\t# so using the packaged pip to install a new pip overwrites"},{"line_number":35,"context_line":"\t# the packaged one rather than creating a parallel version."},{"line_number":36,"context_line":"\t# This leads to a broken mess."}],"source_content_type":"application/octet-stream","patch_set":2,"id":"AAAAQn%2F%2FPAw%3D","line":33,"in_reply_to":"AAAAQn%2F%2FQKs%3D","updated":"2013-08-05 03:02:23.000000000","message":"sorry, editing in a VM without my usual .emacs","commit_id":"c4313787ae79b2842ed52aa0f117fc1e82cc04b2"},{"author":{"_account_id":6473,"name":"Sunil Thaha","email":"sthaha@redhat.com","username":"sthaha"},"change_message_id":"15397da90476322a5cd9db8221003e558a4eed16","unresolved":false,"context_lines":[{"line_number":24,"context_line":"# Entry Points"},{"line_number":25,"context_line":"# ------------"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"# standardize_setuptools() - Unbreak the giant mess that is the"},{"line_number":28,"context_line":"# current state of setuptools"},{"line_number":29,"context_line":"function standardize_setuptools() {"},{"line_number":30,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":3,"id":"AAAAQn%2F%2FNas%3D","line":27,"updated":"2013-08-05 13:31:25.000000000","message":"please also update the function list on top of the file.","commit_id":"a4efed0613845785b1b968d0013ff06c127c66b2"}],"tools/build_dummy_rpm.sh":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"26ee09060d7020c6d218e6c6a6e7b85b633bea87","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"rpmbuild -bb ${TOP_DIR}/tools/rpm-dummy/devstack-dummy.${DISTRO}.spec"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"devstack_dummy_rpm\u003d~/rpmbuild/RPMS/x86_64/devstack-dummy-1.x86_64.rpm"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"if [[ ! $(rpm -qi devstack-dummy) ]]; then"},{"line_number":45,"context_line":"    install_package --obsoletes -y \"${devstack_dummy_rpm}\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"AAAAQn%2F%2FQKI%3D","line":42,"updated":"2013-08-03 18:53:19.000000000","message":"Is there an assumption elsewhere that we\u0027re not running on 32-bit?","commit_id":"c4313787ae79b2842ed52aa0f117fc1e82cc04b2"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"8b6a56f108531d5c319f15d285e8420daa9d6cdf","unresolved":false,"context_lines":[{"line_number":39,"context_line":""},{"line_number":40,"context_line":"rpmbuild -bb ${TOP_DIR}/tools/rpm-dummy/devstack-dummy.${DISTRO}.spec"},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"devstack_dummy_rpm\u003d~/rpmbuild/RPMS/x86_64/devstack-dummy-1.x86_64.rpm"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"if [[ ! $(rpm -qi devstack-dummy) ]]; then"},{"line_number":45,"context_line":"    install_package --obsoletes -y \"${devstack_dummy_rpm}\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"AAAAQn%2F%2FO%2FU%3D","line":42,"in_reply_to":"AAAAQn%2F%2FQKI%3D","updated":"2013-08-05 03:02:23.000000000","message":"You\u0027re right; I\u0027ve made this a noarch package","commit_id":"c4313787ae79b2842ed52aa0f117fc1e82cc04b2"},{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"26ee09060d7020c6d218e6c6a6e7b85b633bea87","unresolved":false,"context_lines":[{"line_number":42,"context_line":"devstack_dummy_rpm\u003d~/rpmbuild/RPMS/x86_64/devstack-dummy-1.x86_64.rpm"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"if [[ ! $(rpm -qi devstack-dummy) ]]; then"},{"line_number":45,"context_line":"    install_package --obsoletes -y \"${devstack_dummy_rpm}\""},{"line_number":46,"context_line":"else"},{"line_number":47,"context_line":"    sudo yum reinstall --obsoletes -y \"${devstack_dummy_rpm}\""},{"line_number":48,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":2,"id":"AAAAQn%2F%2FQKE%3D","line":45,"updated":"2013-08-03 18:53:19.000000000","message":"Since we\u0027re installing this, the script should be \"install_dummy_rpm\" or perhaps even \"install_dummy_python_modules\" so it\u0027s clear what the RPM is for?","commit_id":"c4313787ae79b2842ed52aa0f117fc1e82cc04b2"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"8b6a56f108531d5c319f15d285e8420daa9d6cdf","unresolved":false,"context_lines":[{"line_number":42,"context_line":"devstack_dummy_rpm\u003d~/rpmbuild/RPMS/x86_64/devstack-dummy-1.x86_64.rpm"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"if [[ ! $(rpm -qi devstack-dummy) ]]; then"},{"line_number":45,"context_line":"    install_package --obsoletes -y \"${devstack_dummy_rpm}\""},{"line_number":46,"context_line":"else"},{"line_number":47,"context_line":"    sudo yum reinstall --obsoletes -y \"${devstack_dummy_rpm}\""},{"line_number":48,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":2,"id":"AAAAQn%2F%2FO%2FQ%3D","line":45,"in_reply_to":"AAAAQn%2F%2FQKE%3D","updated":"2013-08-05 03:02:23.000000000","message":"ok","commit_id":"c4313787ae79b2842ed52aa0f117fc1e82cc04b2"}],"tools/install_dummy_python_modules.sh":[{"author":{"_account_id":6473,"name":"Sunil Thaha","email":"sthaha@redhat.com","username":"sthaha"},"change_message_id":"15397da90476322a5cd9db8221003e558a4eed16","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash "},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"set -x"},{"line_number":4,"context_line":""}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAQn%2F%2FNaE%3D","line":1,"updated":"2013-08-05 13:31:25.000000000","message":"space","commit_id":"a4efed0613845785b1b968d0013ff06c127c66b2"},{"author":{"_account_id":6473,"name":"Sunil Thaha","email":"sthaha@redhat.com","username":"sthaha"},"change_message_id":"15397da90476322a5cd9db8221003e558a4eed16","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env bash "},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"set -x"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# **build_dummy_rpm.sh**"},{"line_number":6,"context_line":""}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAQn%2F%2FNYU%3D","line":3,"updated":"2013-08-05 13:31:25.000000000","message":"do you want to set -e and -u as well?","commit_id":"a4efed0613845785b1b968d0013ff06c127c66b2"},{"author":{"_account_id":6473,"name":"Sunil Thaha","email":"sthaha@redhat.com","username":"sthaha"},"change_message_id":"15397da90476322a5cd9db8221003e558a4eed16","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    # Keep track of the devstack directory"},{"line_number":27,"context_line":"    TOP_DIR\u003d$(cd $(dirname \"$0\")/.. \u0026\u0026 pwd)"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"    # Import common functions"},{"line_number":30,"context_line":"    source $TOP_DIR/functions"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    # Determine what system we are running on.  This provides ``os_VENDOR``,"}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAQn%2F%2FNWo%3D","line":29,"updated":"2013-08-05 13:31:25.000000000","message":"I think this needs to move out of if block.\n\n   if [[ -z $TOP_DIR ]]; then \n       TOP_DIR\u003d...\n   fi\n   source $TOP_DIR/functions\n   GetDistro","commit_id":"a4efed0613845785b1b968d0013ff06c127c66b2"}],"tools/install_pip.sh":[{"author":{"_account_id":6735,"name":"Bob Ball","email":"bob.ball@citrix.com","username":"bob-ball"},"change_message_id":"26ee09060d7020c6d218e6c6a6e7b85b633bea87","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"get_versions"},{"line_number":58,"context_line":"if [[ -z $PIP || \"$PIP_VERSION\" !\u003d \"$GOOD_PIP_VERSION\" || -n $FORCE ]]; then"},{"line_number":59,"context_line":"   "},{"line_number":60,"context_line":"    setuptools_from_source"},{"line_number":61,"context_line":"    pip_from_source"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-sh","patch_set":2,"id":"AAAAQn%2F%2FQJ8%3D","line":59,"updated":"2013-08-03 18:53:19.000000000","message":"Trailing whitespace","commit_id":"c4313787ae79b2842ed52aa0f117fc1e82cc04b2"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"8b6a56f108531d5c319f15d285e8420daa9d6cdf","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":"get_versions"},{"line_number":58,"context_line":"if [[ -z $PIP || \"$PIP_VERSION\" !\u003d \"$GOOD_PIP_VERSION\" || -n $FORCE ]]; then"},{"line_number":59,"context_line":"   "},{"line_number":60,"context_line":"    setuptools_from_source"},{"line_number":61,"context_line":"    pip_from_source"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-sh","patch_set":2,"id":"AAAAQn%2F%2FO%2FM%3D","line":59,"in_reply_to":"AAAAQn%2F%2FQJ8%3D","updated":"2013-08-05 03:02:23.000000000","message":"Done","commit_id":"c4313787ae79b2842ed52aa0f117fc1e82cc04b2"},{"author":{"_account_id":6473,"name":"Sunil Thaha","email":"sthaha@redhat.com","username":"sthaha"},"change_message_id":"15397da90476322a5cd9db8221003e558a4eed16","unresolved":false,"context_lines":[{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"# Update pip and friends to a known common version."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"FORCE\u003d$1"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"GOOD_PIP_VERSION\u003d\"1.4\""},{"line_number":12,"context_line":""}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAQn%2F%2FNX0%3D","line":9,"updated":"2013-08-05 13:31:25.000000000","message":"this variable would be set if the first argument of the calling function is  not null.\nYou could check if \n\n[[ \"${BASH_SOURCE[0]}\" !\u003d \"${0}\" ]]  and assign it\n\nsince the file could be sourced, using a generic name like FORCE is not so safe.","commit_id":"a4efed0613845785b1b968d0013ff06c127c66b2"},{"author":{"_account_id":6473,"name":"Sunil Thaha","email":"sthaha@redhat.com","username":"sthaha"},"change_message_id":"15397da90476322a5cd9db8221003e558a4eed16","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    # Keep track of the devstack directory"},{"line_number":17,"context_line":"    TOP_DIR\u003d$(cd $(dirname \"$0\")/.. \u0026\u0026 pwd)"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    # Import common functions"},{"line_number":20,"context_line":"    source $TOP_DIR/functions"},{"line_number":21,"context_line":""},{"line_number":22,"context_line":"    # Determine what system we are running on.  This provides ``os_VENDOR``,"}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAQn%2F%2FNXk%3D","line":19,"updated":"2013-08-05 13:31:25.000000000","message":"This part should move out of \u0027if\u0027 block the same code is repeated below.","commit_id":"a4efed0613845785b1b968d0013ff06c127c66b2"},{"author":{"_account_id":6473,"name":"Sunil Thaha","email":"sthaha@redhat.com","username":"sthaha"},"change_message_id":"15397da90476322a5cd9db8221003e558a4eed16","unresolved":false,"context_lines":[{"line_number":56,"context_line":""},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"get_versions"},{"line_number":59,"context_line":"if [[ -z $PIP || \"$PIP_VERSION\" !\u003d \"$GOOD_PIP_VERSION\" || -n $FORCE ]]; then"},{"line_number":60,"context_line":"    setuptools_from_source"},{"line_number":61,"context_line":"    pip_from_source"},{"line_number":62,"context_line":""}],"source_content_type":"text/x-sh","patch_set":3,"id":"AAAAQn%2F%2FNW8%3D","line":59,"updated":"2013-08-05 13:31:25.000000000","message":"$FORCE not checked if it is equal to \u0027--force\u0027","commit_id":"a4efed0613845785b1b968d0013ff06c127c66b2"}]}
