)]}'
{"tinyipa/build-tinyipa.sh":[{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7a24e90e1f476a99e5b8342d3ffccb33354f7099","unresolved":false,"context_lines":[{"line_number":11,"context_line":"IRONIC_LIB_SOURCE\u003d${IRONIC_LIB_SOURCE:-}"},{"line_number":12,"context_line":"USE_PYTHON3\u003d${USE_PYTHON3:-True}"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"# PYTHON_EXTRA_SOURCES_DIR_LIST is a csv separated list of python package dirs to include, e.g. ~/src/hardware"},{"line_number":15,"context_line":"PYTHON_EXTRA_SOURCES_DIR_LIST\u003d${PYTHON_EXTRA_SOURCES_DIR_LIST:-}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"CHROOT_PATH\u003d\"/tmp/overides:/usr/local/sbin:/usr/local/bin:/apps/bin:/usr/sbin:/usr/bin:/sbin:/bin\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_e5220d01","line":14,"updated":"2019-09-04 12:34:52.000000000","message":"nit: s/separated// (included in csv)","commit_id":"848be87b0b499a6739fd82f47efaaad09c8624b9"},{"author":{"_account_id":8125,"name":"Michael Davies","email":"michael@the-davies.net","username":"mrda"},"change_message_id":"3bd1b8c41a7167743e7ee7add7142244a456c865","unresolved":false,"context_lines":[{"line_number":11,"context_line":"IRONIC_LIB_SOURCE\u003d${IRONIC_LIB_SOURCE:-}"},{"line_number":12,"context_line":"USE_PYTHON3\u003d${USE_PYTHON3:-True}"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"# PYTHON_EXTRA_SOURCES_DIR_LIST is a csv separated list of python package dirs to include, e.g. ~/src/hardware"},{"line_number":15,"context_line":"PYTHON_EXTRA_SOURCES_DIR_LIST\u003d${PYTHON_EXTRA_SOURCES_DIR_LIST:-}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"CHROOT_PATH\u003d\"/tmp/overides:/usr/local/sbin:/usr/local/bin:/apps/bin:/usr/sbin:/usr/bin:/sbin:/bin\""}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_53fe3daf","line":14,"in_reply_to":"7faddb67_e5220d01","updated":"2019-09-05 00:16:02.000000000","message":"Done","commit_id":"848be87b0b499a6739fd82f47efaaad09c8624b9"},{"author":{"_account_id":10239,"name":"Dmitry Tantsur","email":"dtantsur@protonmail.com","username":"dtantsur"},"change_message_id":"7a24e90e1f476a99e5b8342d3ffccb33354f7099","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    popd"},{"line_number":93,"context_line":"fi"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"for PKGDIR in $(echo $PYTHON_EXTRA_SOURCES_DIR_LIST | tr \",\" \" \"); do"},{"line_number":96,"context_line":"    PKG\u003d$(basename $PKGDIR)"},{"line_number":97,"context_line":"    pushd $PKGDIR"},{"line_number":98,"context_line":"    rm -rf *.egg-info"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_851d59bf","line":95,"updated":"2019-09-04 12:34:52.000000000","message":"will it work if any directory contains a space?","commit_id":"848be87b0b499a6739fd82f47efaaad09c8624b9"},{"author":{"_account_id":8125,"name":"Michael Davies","email":"michael@the-davies.net","username":"mrda"},"change_message_id":"3bd1b8c41a7167743e7ee7add7142244a456c865","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    popd"},{"line_number":93,"context_line":"fi"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"for PKGDIR in $(echo $PYTHON_EXTRA_SOURCES_DIR_LIST | tr \",\" \" \"); do"},{"line_number":96,"context_line":"    PKG\u003d$(basename $PKGDIR)"},{"line_number":97,"context_line":"    pushd $PKGDIR"},{"line_number":98,"context_line":"    rm -rf *.egg-info"}],"source_content_type":"text/x-sh","patch_set":1,"id":"7faddb67_333141a3","line":95,"in_reply_to":"7faddb67_851d59bf","updated":"2019-09-05 00:16:02.000000000","message":"Changed this up to support directories with spaces, and made the determination of the python package name more robust","commit_id":"848be87b0b499a6739fd82f47efaaad09c8624b9"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"63e55916bc6917a29d0ddb2cd324d91a1e78dd33","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    popd"},{"line_number":93,"context_line":"fi"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"IFS\u003d\",\" read -ra PKGDIRS \u003c\u003c\u003c \"$PYTHON_EXTRA_SOURCES_DIR_LIST\""},{"line_number":96,"context_line":"for PKGDIR in \"${PKGDIRS[@]}\"; do"},{"line_number":97,"context_line":"    PKG\u003d$(cd \"$PKGDIR\" ; python setup.py --name)"},{"line_number":98,"context_line":"    pushd \"$PKGDIR\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"3fa7e38b_5a6a1381","line":95,"updated":"2019-10-10 10:16:16.000000000","message":"I\u0027d rather see this conditional based on the presence or not of the dir list","commit_id":"5d273df2271f92a0348005ae10778f480659b7b9"},{"author":{"_account_id":8125,"name":"Michael Davies","email":"michael@the-davies.net","username":"mrda"},"change_message_id":"a4f5e64c0fdd3cd5d9fc5976c51298414ff143c9","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    popd"},{"line_number":93,"context_line":"fi"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"IFS\u003d\",\" read -ra PKGDIRS \u003c\u003c\u003c \"$PYTHON_EXTRA_SOURCES_DIR_LIST\""},{"line_number":96,"context_line":"for PKGDIR in \"${PKGDIRS[@]}\"; do"},{"line_number":97,"context_line":"    PKG\u003d$(cd \"$PKGDIR\" ; python setup.py --name)"},{"line_number":98,"context_line":"    pushd \"$PKGDIR\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"3fa7e38b_9b7626a4","line":95,"in_reply_to":"3fa7e38b_2c6a7719","updated":"2019-10-13 22:42:50.000000000","message":"Ok, new patch coming","commit_id":"5d273df2271f92a0348005ae10778f480659b7b9"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"ad13c7bfddd4afc40d5a540a26c17497d1fb35ff","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    popd"},{"line_number":93,"context_line":"fi"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"IFS\u003d\",\" read -ra PKGDIRS \u003c\u003c\u003c \"$PYTHON_EXTRA_SOURCES_DIR_LIST\""},{"line_number":96,"context_line":"for PKGDIR in \"${PKGDIRS[@]}\"; do"},{"line_number":97,"context_line":"    PKG\u003d$(cd \"$PKGDIR\" ; python setup.py --name)"},{"line_number":98,"context_line":"    pushd \"$PKGDIR\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"3fa7e38b_f5c2db84","line":95,"in_reply_to":"3fa7e38b_2c6a7719","updated":"2019-10-11 09:50:07.000000000","message":"maybe let\u0027s use -n","commit_id":"5d273df2271f92a0348005ae10778f480659b7b9"},{"author":{"_account_id":8125,"name":"Michael Davies","email":"michael@the-davies.net","username":"mrda"},"change_message_id":"6cb6c8c77bdf1632c6d2c9be00f6ac444448de6b","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    popd"},{"line_number":93,"context_line":"fi"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"IFS\u003d\",\" read -ra PKGDIRS \u003c\u003c\u003c \"$PYTHON_EXTRA_SOURCES_DIR_LIST\""},{"line_number":96,"context_line":"for PKGDIR in \"${PKGDIRS[@]}\"; do"},{"line_number":97,"context_line":"    PKG\u003d$(cd \"$PKGDIR\" ; python setup.py --name)"},{"line_number":98,"context_line":"    pushd \"$PKGDIR\""}],"source_content_type":"text/x-sh","patch_set":2,"id":"3fa7e38b_2c6a7719","line":95,"in_reply_to":"3fa7e38b_5a6a1381","updated":"2019-10-11 00:08:16.000000000","message":"If $PYTHON_EXTRA_SOURCES_DIR_LIST is empty then L95-105 falls through as PKGDIRS is empty.  It\u0027s effectively a conditional as is.\n\nWould you like a conditional around the whole section? i.e.\nif [[ ! -z \"$PYTHON_EXTRA_SOURCES_DIR_LIST\" ]]; then\n  # existing code on L95-105\nfi\n\nWould that be better?","commit_id":"5d273df2271f92a0348005ae10778f480659b7b9"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"63e55916bc6917a29d0ddb2cd324d91a1e78dd33","unresolved":false,"context_lines":[{"line_number":172,"context_line":"    $CHROOT_CMD ${PIP_COMMAND} wheel -c /tmp/upper-constraints.txt --no-index --pre --wheel-dir /tmp/wheels --find-links\u003d/tmp/localpip --find-links\u003d/tmp/wheels ironic-lib"},{"line_number":173,"context_line":"fi"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"IFS\u003d\",\" read -ra PKGDIRS \u003c\u003c\u003c \"$PYTHON_EXTRA_SOURCES_DIR_LIST\""},{"line_number":176,"context_line":"for PKGDIR in \"${PKGDIRS[@]}\"; do"},{"line_number":177,"context_line":"    PKG\u003d$(cd \"$PKGDIR\" ; python setup.py --name)"},{"line_number":178,"context_line":"    if [[ -r $BUILDDIR/tmp/${PKG}-requirements.txt ]]; then"}],"source_content_type":"text/x-sh","patch_set":2,"id":"3fa7e38b_7a67cfb8","line":175,"updated":"2019-10-10 10:16:16.000000000","message":"ditto","commit_id":"5d273df2271f92a0348005ae10778f480659b7b9"},{"author":{"_account_id":8125,"name":"Michael Davies","email":"michael@the-davies.net","username":"mrda"},"change_message_id":"6cb6c8c77bdf1632c6d2c9be00f6ac444448de6b","unresolved":false,"context_lines":[{"line_number":172,"context_line":"    $CHROOT_CMD ${PIP_COMMAND} wheel -c /tmp/upper-constraints.txt --no-index --pre --wheel-dir /tmp/wheels --find-links\u003d/tmp/localpip --find-links\u003d/tmp/wheels ironic-lib"},{"line_number":173,"context_line":"fi"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"IFS\u003d\",\" read -ra PKGDIRS \u003c\u003c\u003c \"$PYTHON_EXTRA_SOURCES_DIR_LIST\""},{"line_number":176,"context_line":"for PKGDIR in \"${PKGDIRS[@]}\"; do"},{"line_number":177,"context_line":"    PKG\u003d$(cd \"$PKGDIR\" ; python setup.py --name)"},{"line_number":178,"context_line":"    if [[ -r $BUILDDIR/tmp/${PKG}-requirements.txt ]]; then"}],"source_content_type":"text/x-sh","patch_set":2,"id":"3fa7e38b_cc72c312","line":175,"in_reply_to":"3fa7e38b_7a67cfb8","updated":"2019-10-11 00:08:16.000000000","message":"as above","commit_id":"5d273df2271f92a0348005ae10778f480659b7b9"}],"tinyipa/finalise-tinyipa.sh":[{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"63e55916bc6917a29d0ddb2cd324d91a1e78dd33","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"echo \"Finalising tinyipa:\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"IFS\u003d\",\" read -ra PKGDIRS \u003c\u003c\u003c \"$PYTHON_EXTRA_SOURCES_DIR_LIST\""},{"line_number":27,"context_line":"for PKGDIR in \"${PKGDIRS[@]}\"; do"},{"line_number":28,"context_line":"    PKG\u003d$(cd \"$PKGDIR\" ; python setup.py --name)"},{"line_number":29,"context_line":"    if [[ \"$PKG\" \u003d\u003d \"hardware\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":2,"id":"3fa7e38b_1a06dbcf","line":26,"updated":"2019-10-10 10:16:16.000000000","message":"same here, I would make this conditional based on dir list","commit_id":"5d273df2271f92a0348005ae10778f480659b7b9"},{"author":{"_account_id":8125,"name":"Michael Davies","email":"michael@the-davies.net","username":"mrda"},"change_message_id":"6cb6c8c77bdf1632c6d2c9be00f6ac444448de6b","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"echo \"Finalising tinyipa:\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"IFS\u003d\",\" read -ra PKGDIRS \u003c\u003c\u003c \"$PYTHON_EXTRA_SOURCES_DIR_LIST\""},{"line_number":27,"context_line":"for PKGDIR in \"${PKGDIRS[@]}\"; do"},{"line_number":28,"context_line":"    PKG\u003d$(cd \"$PKGDIR\" ; python setup.py --name)"},{"line_number":29,"context_line":"    if [[ \"$PKG\" \u003d\u003d \"hardware\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":2,"id":"3fa7e38b_ec6f7f25","line":26,"in_reply_to":"3fa7e38b_1a06dbcf","updated":"2019-10-11 00:08:16.000000000","message":"as above","commit_id":"5d273df2271f92a0348005ae10778f480659b7b9"},{"author":{"_account_id":23851,"name":"Riccardo Pittau","email":"elfosardo@gmail.com","username":"elfosardo"},"change_message_id":"63e55916bc6917a29d0ddb2cd324d91a1e78dd33","unresolved":false,"context_lines":[{"line_number":151,"context_line":"# If flag is set install python now"},{"line_number":152,"context_line":"if $BUILD_AND_INSTALL_TINYIPA ; then"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    IFS\u003d\",\" read -ra PKGDIRS \u003c\u003c\u003c \"$PYTHON_EXTRA_SOURCES_DIR_LIST\""},{"line_number":155,"context_line":"    for PKGDIR in \"${PKGDIRS[@]}\"; do"},{"line_number":156,"context_line":"        PKG\u003d$(cd \"$PKGDIR\" ; python setup.py --name)"},{"line_number":157,"context_line":"        $CHROOT_CMD $PIP_COMMAND install --no-index --find-links\u003dfile:///tmp/wheelhouse --pre $PKG"}],"source_content_type":"text/x-sh","patch_set":2,"id":"3fa7e38b_fa109f02","line":154,"updated":"2019-10-10 10:16:16.000000000","message":"ditto","commit_id":"5d273df2271f92a0348005ae10778f480659b7b9"},{"author":{"_account_id":8125,"name":"Michael Davies","email":"michael@the-davies.net","username":"mrda"},"change_message_id":"6cb6c8c77bdf1632c6d2c9be00f6ac444448de6b","unresolved":false,"context_lines":[{"line_number":151,"context_line":"# If flag is set install python now"},{"line_number":152,"context_line":"if $BUILD_AND_INSTALL_TINYIPA ; then"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":"    IFS\u003d\",\" read -ra PKGDIRS \u003c\u003c\u003c \"$PYTHON_EXTRA_SOURCES_DIR_LIST\""},{"line_number":155,"context_line":"    for PKGDIR in \"${PKGDIRS[@]}\"; do"},{"line_number":156,"context_line":"        PKG\u003d$(cd \"$PKGDIR\" ; python setup.py --name)"},{"line_number":157,"context_line":"        $CHROOT_CMD $PIP_COMMAND install --no-index --find-links\u003dfile:///tmp/wheelhouse --pre $PKG"}],"source_content_type":"text/x-sh","patch_set":2,"id":"3fa7e38b_8c628b3d","line":154,"in_reply_to":"3fa7e38b_fa109f02","updated":"2019-10-11 00:08:16.000000000","message":"as above","commit_id":"5d273df2271f92a0348005ae10778f480659b7b9"}]}
