)]}'
{"functions-common":[{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"6da69277bbd55572e7f7326e3ed3754087bbb649","unresolved":false,"context_lines":[{"line_number":1333,"context_line":"        https_proxy\u003d\"${https_proxy:-}\" \\"},{"line_number":1334,"context_line":"        no_proxy\u003d\"${no_proxy:-}\" \\"},{"line_number":1335,"context_line":"        ${YUM:-yum} install -y \"$@\" 2\u003e\u00261 | \\"},{"line_number":1336,"context_line":"        awk \u0027/No package/ { print $0; exit 1 }\u0027 || missing_package\u003dTrue"},{"line_number":1337,"context_line":""},{"line_number":1338,"context_line":"    result\u003d${PIPESTATUS[0]}"},{"line_number":1339,"context_line":"    if [[ $result !\u003d 0 ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"da6ed579_a1d4e446","line":1336,"range":{"start_line":1336,"start_character":34,"end_line":1336,"end_character":35},"updated":"2016-01-13 16:53:40.000000000","message":"print $0 ; exit 1\nor\nprint ; exit 1\n\nwhich is better?","commit_id":"453b6be6c09fda183c2b60dd3ef3b54ab55344d0"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"6da69277bbd55572e7f7326e3ed3754087bbb649","unresolved":false,"context_lines":[{"line_number":1333,"context_line":"        https_proxy\u003d\"${https_proxy:-}\" \\"},{"line_number":1334,"context_line":"        no_proxy\u003d\"${no_proxy:-}\" \\"},{"line_number":1335,"context_line":"        ${YUM:-yum} install -y \"$@\" 2\u003e\u00261 | \\"},{"line_number":1336,"context_line":"        awk \u0027/No package/ { print $0; exit 1 }\u0027 || missing_package\u003dTrue"},{"line_number":1337,"context_line":""},{"line_number":1338,"context_line":"    result\u003d${PIPESTATUS[0]}"},{"line_number":1339,"context_line":"    if [[ $result !\u003d 0 ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"da6ed579_e1b5fc30","line":1336,"range":{"start_line":1336,"start_character":28,"end_line":1336,"end_character":33},"updated":"2016-01-13 16:53:40.000000000","message":"the previous version had a \u0027print\u0027 to display all the output lines of the yum command (line 1336). Seems like that is going away with this change.","commit_id":"453b6be6c09fda183c2b60dd3ef3b54ab55344d0"},{"author":{"_account_id":11952,"name":"Flavio Fernandes","email":"flavio@flaviof.com","username":"ffernand"},"change_message_id":"6da69277bbd55572e7f7326e3ed3754087bbb649","unresolved":false,"context_lines":[{"line_number":1335,"context_line":"        ${YUM:-yum} install -y \"$@\" 2\u003e\u00261 | \\"},{"line_number":1336,"context_line":"        awk \u0027/No package/ { print $0; exit 1 }\u0027 || missing_package\u003dTrue"},{"line_number":1337,"context_line":""},{"line_number":1338,"context_line":"    result\u003d${PIPESTATUS[0]}"},{"line_number":1339,"context_line":"    if [[ $result !\u003d 0 ]]; then"},{"line_number":1340,"context_line":"        # also ensure we catch a yum failure"},{"line_number":1341,"context_line":"        echo $LINENO \"${YUM:-yum}: install failure [$result]\""}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"da6ed579_6186ec14","line":1338,"range":{"start_line":1338,"start_character":4,"end_line":1338,"end_character":10},"updated":"2016-01-13 16:53:40.000000000","message":"so nothing needs to check $?","commit_id":"453b6be6c09fda183c2b60dd3ef3b54ab55344d0"},{"author":{"_account_id":15311,"name":"Surojit Pathak","email":"surojit.pathak@gmail.com","username":"suropathak"},"change_message_id":"6369db2fdae2b5595189ebcaea5b898b50915db6","unresolved":false,"context_lines":[{"line_number":1335,"context_line":"        ${YUM:-yum} install -y \"$@\" 2\u003e\u00261 | \\"},{"line_number":1336,"context_line":"        awk \u0027/No package/ { print $0; exit 1 }\u0027 || missing_package\u003dTrue"},{"line_number":1337,"context_line":""},{"line_number":1338,"context_line":"    result\u003d${PIPESTATUS[0]}"},{"line_number":1339,"context_line":"    if [[ $result !\u003d 0 ]]; then"},{"line_number":1340,"context_line":"        # also ensure we catch a yum failure"},{"line_number":1341,"context_line":"        echo $LINENO \"${YUM:-yum}: install failure [$result]\""}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"da6ed579_b0baec21","line":1338,"range":{"start_line":1338,"start_character":4,"end_line":1338,"end_character":10},"in_reply_to":"da6ed579_6186ec14","updated":"2016-01-13 18:03:18.000000000","message":"Done","commit_id":"453b6be6c09fda183c2b60dd3ef3b54ab55344d0"},{"author":{"_account_id":15311,"name":"Surojit Pathak","email":"surojit.pathak@gmail.com","username":"suropathak"},"change_message_id":"6369db2fdae2b5595189ebcaea5b898b50915db6","unresolved":false,"context_lines":[{"line_number":1339,"context_line":"    if [[ $result !\u003d 0 ]]; then"},{"line_number":1340,"context_line":"        # also ensure we catch a yum failure"},{"line_number":1341,"context_line":"        echo $LINENO \"${YUM:-yum}: install failure [$result]\""},{"line_number":1342,"context_line":"    elif [[ $missing_package \u003d\u003d True ]]; then"},{"line_number":1343,"context_line":"        echo $LINENO \"${YUM:-yum}: some package is missing.\""},{"line_number":1344,"context_line":"        result\u003d1"},{"line_number":1345,"context_line":"    fi"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"da6ed579_f0c5c48d","line":1342,"updated":"2016-01-13 18:03:18.000000000","message":"Let\u0027s use a single consistent mechanism for different stages of a piped command. As we are using PIPESTATUS, we can use the same for all the stages. It will need a local copy. Please refer to -\nhttps://review.openstack.org/#/c/266079/2","commit_id":"453b6be6c09fda183c2b60dd3ef3b54ab55344d0"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"79994cda439c7c3eaa67a830fd96fde5490e5bc1","unresolved":false,"context_lines":[{"line_number":1343,"context_line":"    return \"$result\""},{"line_number":1344,"context_line":"}"},{"line_number":1345,"context_line":""},{"line_number":1346,"context_line":"function parse_yum_install_result {"},{"line_number":1347,"context_line":"    # Warning: this would not work if yum output message"},{"line_number":1348,"context_line":"    # have been translated to another language"},{"line_number":1349,"context_line":"    awk \u0027 \\"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"da6ed579_b0e77911","line":1346,"updated":"2016-01-18 14:41:59.000000000","message":"Maybe this should be a local function?  Is it useful outside this context?","commit_id":"148e240fff6c6d7dec80fac87745ede272d05589"},{"author":{"_account_id":17377,"name":"Federico Ressi","email":"federico.ressi@intel.com","username":"fressi"},"change_message_id":"2e56af96d640f746b8f91ce0e43a4fb8c5185dad","unresolved":false,"context_lines":[{"line_number":1343,"context_line":"    return \"$result\""},{"line_number":1344,"context_line":"}"},{"line_number":1345,"context_line":""},{"line_number":1346,"context_line":"function parse_yum_install_result {"},{"line_number":1347,"context_line":"    # Warning: this would not work if yum output message"},{"line_number":1348,"context_line":"    # have been translated to another language"},{"line_number":1349,"context_line":"    awk \u0027 \\"}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"da6ed579_4e745a9b","line":1346,"in_reply_to":"da6ed579_b0e77911","updated":"2016-01-18 16:10:48.000000000","message":"The only reason I moved this out from yum_install is readability. I am moving it back there.","commit_id":"148e240fff6c6d7dec80fac87745ede272d05589"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"79994cda439c7c3eaa67a830fd96fde5490e5bc1","unresolved":false,"context_lines":[{"line_number":1354,"context_line":"        END { exit result }\u0027"},{"line_number":1355,"context_line":"}"},{"line_number":1356,"context_line":""},{"line_number":1357,"context_line":"function sudo_with_proxies {"},{"line_number":1358,"context_line":"    local sudo http_proxy"},{"line_number":1359,"context_line":""},{"line_number":1360,"context_line":"    [[ \"$(id -u)\" \u003d \"0\" ]] \u0026\u0026 sudo\u003d\"env\" || sudo\u003d\"sudo\""}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"da6ed579_90e2752e","line":1357,"updated":"2016-01-18 14:41:59.000000000","message":"This function should be in the System Functions section of this file, with a descriptive comment on how to call it.","commit_id":"148e240fff6c6d7dec80fac87745ede272d05589"},{"author":{"_account_id":17377,"name":"Federico Ressi","email":"federico.ressi@intel.com","username":"fressi"},"change_message_id":"2e56af96d640f746b8f91ce0e43a4fb8c5185dad","unresolved":false,"context_lines":[{"line_number":1354,"context_line":"        END { exit result }\u0027"},{"line_number":1355,"context_line":"}"},{"line_number":1356,"context_line":""},{"line_number":1357,"context_line":"function sudo_with_proxies {"},{"line_number":1358,"context_line":"    local sudo http_proxy"},{"line_number":1359,"context_line":""},{"line_number":1360,"context_line":"    [[ \"$(id -u)\" \u003d \"0\" ]] \u0026\u0026 sudo\u003d\"env\" || sudo\u003d\"sudo\""}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"da6ed579_f3a41b09","line":1357,"in_reply_to":"da6ed579_90e2752e","updated":"2016-01-18 16:10:48.000000000","message":"I am doing it.","commit_id":"148e240fff6c6d7dec80fac87745ede272d05589"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"79994cda439c7c3eaa67a830fd96fde5490e5bc1","unresolved":false,"context_lines":[{"line_number":1355,"context_line":"}"},{"line_number":1356,"context_line":""},{"line_number":1357,"context_line":"function sudo_with_proxies {"},{"line_number":1358,"context_line":"    local sudo http_proxy"},{"line_number":1359,"context_line":""},{"line_number":1360,"context_line":"    [[ \"$(id -u)\" \u003d \"0\" ]] \u0026\u0026 sudo\u003d\"env\" || sudo\u003d\"sudo\""},{"line_number":1361,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"da6ed579_503abd99","line":1358,"updated":"2016-01-18 14:41:59.000000000","message":"http_proxy is not a local variable","commit_id":"148e240fff6c6d7dec80fac87745ede272d05589"},{"author":{"_account_id":17377,"name":"Federico Ressi","email":"federico.ressi@intel.com","username":"fressi"},"change_message_id":"2e56af96d640f746b8f91ce0e43a4fb8c5185dad","unresolved":false,"context_lines":[{"line_number":1355,"context_line":"}"},{"line_number":1356,"context_line":""},{"line_number":1357,"context_line":"function sudo_with_proxies {"},{"line_number":1358,"context_line":"    local sudo http_proxy"},{"line_number":1359,"context_line":""},{"line_number":1360,"context_line":"    [[ \"$(id -u)\" \u003d \"0\" ]] \u0026\u0026 sudo\u003d\"env\" || sudo\u003d\"sudo\""},{"line_number":1361,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"da6ed579_ff1a997b","line":1358,"in_reply_to":"da6ed579_503abd99","updated":"2016-01-18 16:10:48.000000000","message":"Right, any more","commit_id":"148e240fff6c6d7dec80fac87745ede272d05589"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"79994cda439c7c3eaa67a830fd96fde5490e5bc1","unresolved":false,"context_lines":[{"line_number":1359,"context_line":""},{"line_number":1360,"context_line":"    [[ \"$(id -u)\" \u003d \"0\" ]] \u0026\u0026 sudo\u003d\"env\" || sudo\u003d\"sudo\""},{"line_number":1361,"context_line":""},{"line_number":1362,"context_line":"    $sudo http_proxy\u003d\"${http_proxy}\" https_proxy\u003d\"${https_proxy}\"\\"},{"line_number":1363,"context_line":"        no_proxy\u003d\"${no_proxy}\" \"$@\""},{"line_number":1364,"context_line":"}"},{"line_number":1365,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":9,"id":"da6ed579_f05731c8","line":1362,"updated":"2016-01-18 14:41:59.000000000","message":"These variable substitutions need to retain the ${http_proxy:-} form for when we run with nounset enabled.","commit_id":"148e240fff6c6d7dec80fac87745ede272d05589"}]}
