)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6156eadd8fee95ecedc97ee3fdb82849b3e119cd","unresolved":false,"context_lines":[{"line_number":16,"context_line":"LIBVIRT_PY_REPO and LIBVIRT_PY_BRANCH are required when LIBVIRT_REPO"},{"line_number":17,"context_line":"is set, because the installation of the libvirt-python\u0027s"},{"line_number":18,"context_line":"dependencies from the OS package manager may conflict with"},{"line_number":19,"context_line":"the compiled libvirt."},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Change-Id: I89d20609fbfc8791892ab103c7b25c1334e3e94d"},{"line_number":22,"context_line":"Signed-off-by: Michele Paolino \u003cm.paolino@virtualopensystems.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"baada198_84ea55d6","line":19,"updated":"2014-07-24 13:09:24.000000000","message":"Overall I\u0027m not really convinced that devstack should or needs to be able to build libvirt/QEMU from git branches. I\u0027m particularly not a fan of the fact that you\u0027re installing these GIT builds into /usr, so splattering all over the distro provided builds.\n\nIf this were able to build from actual stable release tar.gzs that would be useful, since it would be a step closer to having the gate CI able to run latest builds.\nI\u0027d say it should still not splatter over /usr though, put them into /opt/stack.","commit_id":"dc276cb79576f3d7db0a41395ee32d50e11092b4"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"630def3d115ad8287894a8e6724bb55856c8b3d0","unresolved":false,"context_lines":[{"line_number":14,"context_line":"local.conf example:"},{"line_number":15,"context_line":"QEMU_URL\u003dhttp://wiki.qemu-project.org/download/qemu-2.1.0-rc3.tar.bz2"},{"line_number":16,"context_line":"LIBVIRT_URL\u003dhttp://libvirt.org/sources/libvirt-1.2.6.tar.gz"},{"line_number":17,"context_line":"LIBVIRT_PY_URL\u003dhttp://libvirt.org/sources/python/libvirt-python-1.2.6.tar.gz"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Change-Id: I89d20609fbfc8791892ab103c7b25c1334e3e94d"},{"line_number":20,"context_line":"Signed-off-by: Michele Paolino \u003cm.paolino@virtualopensystems.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"baada198_4fe9d5a9","line":17,"updated":"2014-07-28 12:19:20.000000000","message":"I\u0027d venture to suggest that what most people care about is just the version number. So I\u0027d prefer to see this configured as\n\n QEMU_VERSION\u003d2.1.0-rc2\n LIBVIRT_VERSION\u003d1.2.6\n\nNow, I realize OpenStack infra team might want to mirror the libvirt/QEMU downloads locally to lower risk of gate failures due to transient network problems, so we could *optionally* allow\n\n QEMU_URL\u003dhttp://wiki.qemu-project.org/download/qemu-::VERSION::.tar.\n LIBVIRT_URL\u003dhttp://libvirt.org/sources/libvirt-::VERSION::.tar.gz\n\nand so the string ::VERSION:: is replaced by the value of $LIBVIRT_VERSION. The key thing here is that 99% of people will only need to care about setting the short LIBVIRT_VERSION env. Only the people running gate systems with local cache will need to deal with the longer URL setting.","commit_id":"b7295aa4bdf8f00c141810cad2b6ca9113cd92d6"}],"files/apts/nova":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"630def3d115ad8287894a8e6724bb55856c8b3d0","unresolved":false,"context_lines":[{"line_number":16,"context_line":"qemu-kvm # NOPRIME"},{"line_number":17,"context_line":"qemu # dist:wheezy,jessie NOPRIME"},{"line_number":18,"context_line":"libvirt-bin # NOPRIME"},{"line_number":19,"context_line":"libvirt-dev # NOPRIME"},{"line_number":20,"context_line":"pm-utils"},{"line_number":21,"context_line":"libjs-jquery-tablesorter # Needed for coverage html reports"},{"line_number":22,"context_line":"vlan"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"baada198_af9b5115","line":19,"updated":"2014-07-28 12:19:20.000000000","message":"Not sure I see why you need this ?  The  use of the build-dep commands should take care of build pre-requisites.","commit_id":"b7295aa4bdf8f00c141810cad2b6ca9113cd92d6"}],"lib/nova":[{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6f36a86a51ff3446db4efb9b20c00cd510aa6a59","unresolved":false,"context_lines":[{"line_number":90,"context_line":"NOVA_VNC_ENABLED\u003d$(trueorfalse False $NOVA_VNC_ENABLED)"},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"# Nova hypervisor installed from sources directory"},{"line_number":93,"context_line":"HYP_INSTALL_DIR\u003d$DEST/hyp_inst_src"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"# Get hypervisor configuration"},{"line_number":96,"context_line":"# ----------------------------"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"baa201ad_42f9944c","line":93,"updated":"2014-09-29 15:24:13.000000000","message":"why aren\u0027t we just installing to /usr/local?","commit_id":"54c35f27467074240cdbce39fa2b199e23cc12da"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"c9787c30f66466e15bb568c9b13dab143b94228a","unresolved":false,"context_lines":[{"line_number":99,"context_line":"NOVA_VNC_ENABLED\u003d$(trueorfalse False $NOVA_VNC_ENABLED)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"# Nova hypervisor installed from sources directory"},{"line_number":102,"context_line":"HYP_INSTALL_DIR\u003d$DEST/hyp_inst_src"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"# Get hypervisor configuration"},{"line_number":105,"context_line":"# ----------------------------"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"baa201ad_822743c9","line":102,"updated":"2014-10-16 23:08:39.000000000","message":"Rather than putting this everywhere, I think have one over-ridable entry in stackrc \n\nAlso calling it HYP_* is a bit odd, it\u0027s not a familiar acronym.  I\u0027d think something like LIBVIRT_DEV_INSTALL","commit_id":"e5727167e3429fc842342cd5b98cf388e91819ea"},{"author":{"_account_id":12274,"name":"Michele Paolino","email":"m.paolino@virtualopensystems.com","username":"m.paolino"},"change_message_id":"04863313838585b75cdcd7cbf5a5d1abfd724f82","unresolved":false,"context_lines":[{"line_number":99,"context_line":"NOVA_VNC_ENABLED\u003d$(trueorfalse False $NOVA_VNC_ENABLED)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"# Nova hypervisor installed from sources directory"},{"line_number":102,"context_line":"HYP_INSTALL_DIR\u003d$DEST/hyp_inst_src"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"# Get hypervisor configuration"},{"line_number":105,"context_line":"# ----------------------------"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"5a890539_649b7018","line":102,"in_reply_to":"5a890539_54e54fda","updated":"2014-11-24 09:47:51.000000000","message":"Yes indeed, I\u0027ve chosen HYP as a generic abbreviation for both QEMU and LIBVIRT.\nLIBVIRT_QEMU_DEV_INSTALL sounds OK to me.","commit_id":"e5727167e3429fc842342cd5b98cf388e91819ea"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"6dd127807e08f57126d781549b84bfe084131dff","unresolved":false,"context_lines":[{"line_number":99,"context_line":"NOVA_VNC_ENABLED\u003d$(trueorfalse False $NOVA_VNC_ENABLED)"},{"line_number":100,"context_line":""},{"line_number":101,"context_line":"# Nova hypervisor installed from sources directory"},{"line_number":102,"context_line":"HYP_INSTALL_DIR\u003d$DEST/hyp_inst_src"},{"line_number":103,"context_line":""},{"line_number":104,"context_line":"# Get hypervisor configuration"},{"line_number":105,"context_line":"# ----------------------------"}],"source_content_type":"application/octet-stream","patch_set":9,"id":"5a890539_54e54fda","line":102,"in_reply_to":"baa201ad_822743c9","updated":"2014-11-23 15:40:02.000000000","message":"Probably he chose that generic abbreviation \u0027HYP\u0027 (\u0027HYPervisor\u0027) because, both libvirt _and_  QEMU sources are built in that location ($DEST/hyp_inst_src), i.e. once DevStack finishes successfully, you\u0027ll find libvirt daemon and QEMU binary in that location: \n\n  $ find ../hyp_inst_src/ -type f \\( -name qemu-system-x86_64 -o -name libvirtd \\)\n  ../hyp_inst_src/sbin/libvirtd\n  ../hyp_inst_src/bin/qemu-system-x86_64\n\nMaybe LIBVIRT_QEMU_DEV_INSTALL?","commit_id":"e5727167e3429fc842342cd5b98cf388e91819ea"}],"lib/nova_plugins/functions-libvirt":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6156eadd8fee95ecedc97ee3fdb82849b3e119cd","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    if [[ -n \"$QEMU_REPO\" \u0026\u0026 -n \"$QEMU_BRANCH\" ]]; then"},{"line_number":26,"context_line":"        echo \"Installing qemu dependencies\""},{"line_number":27,"context_line":"        if is_ubuntu; then"},{"line_number":28,"context_line":"            install_package libglib2.0-dev libpixman-1-dev"},{"line_number":29,"context_line":"        elif is_fedora || is_suse; then"},{"line_number":30,"context_line":"            echo \"The qemu installation from repository for fedora/suse is not supported, yet\""},{"line_number":31,"context_line":"            die"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"baada198_a4e75945","line":28,"updated":"2014-07-24 13:09:24.000000000","message":"This is really insufficient. You\u0027d be better off using \u0027apt builddep\u0027 to install all the build deps that the distro previously used for their own QEMU.","commit_id":"dc276cb79576f3d7db0a41395ee32d50e11092b4"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6156eadd8fee95ecedc97ee3fdb82849b3e119cd","unresolved":false,"context_lines":[{"line_number":28,"context_line":"            install_package libglib2.0-dev libpixman-1-dev"},{"line_number":29,"context_line":"        elif is_fedora || is_suse; then"},{"line_number":30,"context_line":"            echo \"The qemu installation from repository for fedora/suse is not supported, yet\""},{"line_number":31,"context_line":"            die"},{"line_number":32,"context_line":"        fi"},{"line_number":33,"context_line":"            git_clone \"$QEMU_REPO\" \"$QEMU_DIR\" \"$QEMU_BRANCH\""},{"line_number":34,"context_line":"            cd \"$QEMU_DIR\""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"baada198_e4f15102","line":31,"updated":"2014-07-24 13:09:24.000000000","message":"And using \u0027yum builddep\u0027 for this.","commit_id":"dc276cb79576f3d7db0a41395ee32d50e11092b4"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6156eadd8fee95ecedc97ee3fdb82849b3e119cd","unresolved":false,"context_lines":[{"line_number":54,"context_line":"            install_package w3c-dtd-xhtml gettext"},{"line_number":55,"context_line":"        elif is_fedora || is_suse; then"},{"line_number":56,"context_line":"            echo \"The libvirt installation from repository for fedora/suse is not supported, yet\""},{"line_number":57,"context_line":"            die"},{"line_number":58,"context_line":"        fi"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"        echo \"Installing libvirt\""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"baada198_a4ce79b5","line":57,"updated":"2014-07-24 13:09:24.000000000","message":"Again, maintaining a list of packages like this isn\u0027t a particularly nice approach. Better to use package build-deps","commit_id":"dc276cb79576f3d7db0a41395ee32d50e11092b4"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6156eadd8fee95ecedc97ee3fdb82849b3e119cd","unresolved":false,"context_lines":[{"line_number":63,"context_line":"        ./autogen.sh --system"},{"line_number":64,"context_line":"        make"},{"line_number":65,"context_line":"        sudo make install"},{"line_number":66,"context_line":"        sudo libvirtd \u0026"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"        if [[ -n \"$LIBVIRT_PY_REPO\" \u0026\u0026 -n \"$LIBVIRT_PY_BRANCH\" ]]; then"},{"line_number":69,"context_line":"            echo \"Installing libvirt python bindings\""}],"source_content_type":"application/octet-stream","patch_set":1,"id":"baada198_a45cb9f1","line":66,"updated":"2014-07-24 13:09:24.000000000","message":"The libvirt install will provide systemd service files for libvirt. So any systemd based distro we should tell systemd to reload, and continue to use normal service start/stop logic","commit_id":"dc276cb79576f3d7db0a41395ee32d50e11092b4"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"6156eadd8fee95ecedc97ee3fdb82849b3e119cd","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        else"},{"line_number":75,"context_line":"            echo \"Please set LIBVIRT_PY_REPO and LIBVIRT_PY_BRANCH\""},{"line_number":76,"context_line":"            die"},{"line_number":77,"context_line":"        fi"},{"line_number":78,"context_line":"    else"},{"line_number":79,"context_line":"        if is_ubuntu; then"},{"line_number":80,"context_line":"            install_package libvirt-bin"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"baada198_8465f5b0","line":77,"updated":"2014-07-24 13:09:24.000000000","message":"This code block has lost installation of libguestfs python module that the code block below does","commit_id":"dc276cb79576f3d7db0a41395ee32d50e11092b4"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"630def3d115ad8287894a8e6724bb55856c8b3d0","unresolved":false,"context_lines":[{"line_number":99,"context_line":"                echo \"Please set LIBVIRT_PY_URL\""},{"line_number":100,"context_line":"                die"},{"line_number":101,"context_line":"            fi"},{"line_number":102,"context_line":"        else"},{"line_number":103,"context_line":"            echo \"libvirt directory found, skipping compilation.\""},{"line_number":104,"context_line":"        fi"},{"line_number":105,"context_line":"    else"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"baada198_af08b180","line":102,"updated":"2014-07-28 12:19:20.000000000","message":"The following change is making Nova automatically pull libvirt-python off PyPI, so we should not do anything related to manual installation of libvirt-python in devstack once that\u0027s merged, and can in fact remove the existing code that pulls in \u0027libvirt-python\u0027 RPMs/DPKGs.\n\n  https://review.openstack.org/#/c/105501/","commit_id":"b7295aa4bdf8f00c141810cad2b6ca9113cd92d6"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"630def3d115ad8287894a8e6724bb55856c8b3d0","unresolved":false,"context_lines":[{"line_number":174,"context_line":"ResultAny\u003dyes"},{"line_number":175,"context_line":"ResultInactive\u003dyes"},{"line_number":176,"context_line":"ResultActive\u003dyes"},{"line_number":177,"context_line":"EOF"},{"line_number":178,"context_line":"    fi"},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"    if is_fedora || is_suse; then"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"baada198_efdaa9e7","line":177,"updated":"2014-07-28 12:19:20.000000000","message":"Why are you adding this block of polkit setup ?  This looks like something that is probably unrelated to use of non-distro libvirt version - at least you\u0027ve made this setup occur for all codepaths, even those using distro packages?","commit_id":"b7295aa4bdf8f00c141810cad2b6ca9113cd92d6"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"dcb913f16ca7d613168ccbaaf160aecfb63c1b7e","unresolved":false,"context_lines":[{"line_number":18,"context_line":"# Installs required distro-specific libvirt packages."},{"line_number":19,"context_line":"function install_libvirt {"},{"line_number":20,"context_line":"    if [[ -n \"$QEMU_VERSION\" \u0026\u0026 -n \"$LIBVIRT_VERSION\" ]]; then"},{"line_number":21,"context_line":"        $TOP_DIR/tools/build_qemu_libvirt.sh \"$QEMU_VERSION\" \"$LIBVIRT_VERSION\""},{"line_number":22,"context_line":"    elif is_ubuntu; then"},{"line_number":23,"context_line":"        install_package qemu-kvm"},{"line_number":24,"context_line":"        install_package libvirt-bin"}],"source_content_type":"application/octet-stream","patch_set":3,"id":"baada198_a2ed1b26","line":21,"updated":"2014-08-12 10:34:51.000000000","message":"I\u0027m thinking we should probably not tie the building of QEMU \u0026 libvirt together. ie allow use distro QEMU with new built libvirt, or new built QEMU with distro libvirt.\n\nAlso you\u0027ve lost installation of libguestfs","commit_id":"3a4340c275456ecb15706c0c987fe0d173166889"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"32581ab087ed26c9360121c6006427e09897f92e","unresolved":false,"context_lines":[{"line_number":26,"context_line":"        fi"},{"line_number":27,"context_line":"        # Adding binaries and libraries to the system paths"},{"line_number":28,"context_line":"        if grep --quiet \" PATH\\\u003d\" $HOME/.bashrc; then"},{"line_number":29,"context_line":"            sudo sed -i \"s/PATH\\\u003d\\\"/PATH\\\u003d\\\"$(echo $DEST | sed \u0027s/\\//\\\\\\//g\u0027)\\/bin:/\" $HOME/.bashrc"},{"line_number":30,"context_line":"        else"},{"line_number":31,"context_line":"            echo export PATH\u003d\"$DEST\"/bin:\"$PATH\" | tee -a $HOME/.bashrc"},{"line_number":32,"context_line":"        fi"}],"source_content_type":"application/octet-stream","patch_set":6,"id":"fa98f980_d5a895db","line":29,"updated":"2014-09-19 01:31:58.000000000","message":"why is this done with sudo?  won\u0027t this create bashrc owned by root?","commit_id":"0871dd3264d6659a058294b9994562f8853a0f41"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6f36a86a51ff3446db4efb9b20c00cd510aa6a59","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"# Installs required distro-specific libvirt packages."},{"line_number":22,"context_line":"function install_libvirt {"},{"line_number":23,"context_line":"    if [[ -n \"$QEMU_VERSION\" || -n \"$LIBVIRT_VERSION\" ]]; then"},{"line_number":24,"context_line":"        if [[ -n \"$QEMU_VERSION\" ]]; then"},{"line_number":25,"context_line":"            $TOP_DIR/tools/build_qemu.sh \"$QEMU_VERSION\""},{"line_number":26,"context_line":"        fi"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"baa201ad_22773004","line":23,"updated":"2014-09-29 15:24:13.000000000","message":"I\u0027d like to extract this from the current function and into something like\n\ninstall_libvirt_from_src","commit_id":"54c35f27467074240cdbce39fa2b199e23cc12da"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"af32779480cc8c8840b0d9522e7fc87d46e0834c","unresolved":false,"context_lines":[{"line_number":28,"context_line":"    fi"},{"line_number":29,"context_line":"    # Adding binaries and libraries to the system paths"},{"line_number":30,"context_line":"    if grep --quiet \" PATH\\\u003d\" $HOME/.bashrc; then"},{"line_number":31,"context_line":"        sed -i \"s/PATH\\\u003d\\\"/PATH\\\u003d\\\"$(echo $HYP_INSTALL_DIR | sed \u0027s/\\//\\\\\\//g\u0027)\\/sbin:$(echo $HYP_INSTALL_DIR | sed \u0027s/\\//\\\\\\//g\u0027)\\/bin:/\" $HOME/.bashrc"},{"line_number":32,"context_line":"    else"},{"line_number":33,"context_line":"        echo export PATH\u003d\"$HYP_INSTALL_DIR\"/sbin:\"$HYP_INSTALL_DIR\"/bin:\"$PATH\" | tee -a $HOME/.bashrc"},{"line_number":34,"context_line":"    fi"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"baa201ad_b608a992","line":31,"updated":"2014-10-10 17:01:03.000000000","message":"I can\u0027t read this. Don\u0027t use the \u0027/\u0027 as a separator for your substitute command.","commit_id":"f70844b49ced8e70ee288a628c7c1ade3e76c55e"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"af32779480cc8c8840b0d9522e7fc87d46e0834c","unresolved":false,"context_lines":[{"line_number":92,"context_line":"        LIBVIRT_DAEMON\u003dlibvirtd"},{"line_number":93,"context_line":"    fi"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"    # Polkit configurations"},{"line_number":96,"context_line":"    if is_ubuntu; then"},{"line_number":97,"context_line":"        cat \u003c\u003cEOF | sudo tee /etc/polkit-1/localauthority/50-local.d/50-libvirt-remote-access.pkla"},{"line_number":98,"context_line":"[libvirt Management Access]"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"baa201ad_56f13d94","line":95,"updated":"2014-10-10 17:01:03.000000000","message":"Does this work on ubuntu 12.04 ?","commit_id":"f70844b49ced8e70ee288a628c7c1ade3e76c55e"}],"lib/nova_plugins/hypervisor-libvirt":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"32581ab087ed26c9360121c6006427e09897f92e","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        if is_ubuntu; then"},{"line_number":38,"context_line":"            sudo rm /etc/init/libvirtd.conf"},{"line_number":39,"context_line":"        elif is_fedora; then"},{"line_number":40,"context_line":"            sudo rm /etc/init.d/libvirtd"},{"line_number":41,"context_line":"        fi"},{"line_number":42,"context_line":"        sudo rm /usr/share/polkit-1/actions/org.libvirt.policy"},{"line_number":43,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":6,"id":"fa98f980_b5ccf18b","line":40,"updated":"2014-09-19 01:31:58.000000000","message":"i\u0027m not 100% sure on this, but will this always exist or does it do systemd confi files?  i\u0027m worried it stops with an error here","commit_id":"0871dd3264d6659a058294b9994562f8853a0f41"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"a03599ece15a19295cad0544164e7878da36ae7d","unresolved":false,"context_lines":[{"line_number":37,"context_line":"        if is_ubuntu; then"},{"line_number":38,"context_line":"            sudo rm /etc/init/libvirtd.conf"},{"line_number":39,"context_line":"        elif is_fedora; then"},{"line_number":40,"context_line":"            sudo rm /etc/init.d/libvirtd"},{"line_number":41,"context_line":"        fi"},{"line_number":42,"context_line":"        sudo rm /usr/share/polkit-1/actions/org.libvirt.policy"},{"line_number":43,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":6,"id":"fa98f980_a94ad552","line":40,"in_reply_to":"fa98f980_b5ccf18b","updated":"2014-09-19 08:41:37.000000000","message":"Yep, that file won\u0027t exist if systemd is used.","commit_id":"0871dd3264d6659a058294b9994562f8853a0f41"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6f36a86a51ff3446db4efb9b20c00cd510aa6a59","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"# clean_nova_hypervisor - Clean up an installation"},{"line_number":36,"context_line":"function cleanup_nova_hypervisor {"},{"line_number":37,"context_line":"    if [[ -n \"$QEMU_VERSION\" || -n \"$LIBVIRT_VERSION\" ]]; then"},{"line_number":38,"context_line":"        rm -r \"$HYP_INSTALL_DIR\" \"$DEST\"/qemu-\"$QEMU_VERSION\" \"$DEST\"/libvirt-\"$LIBVIRT_VERSION\""},{"line_number":39,"context_line":"        if [[ -f /etc/init/libvirtd.conf ]]; then"},{"line_number":40,"context_line":"            sudo rm /etc/init/libvirtd.conf"}],"source_content_type":"application/octet-stream","patch_set":7,"id":"baa201ad_e253686a","line":37,"updated":"2014-09-29 15:24:13.000000000","message":"I\u0027m not entirely convinced we should do this tear down","commit_id":"54c35f27467074240cdbce39fa2b199e23cc12da"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"af32779480cc8c8840b0d9522e7fc87d46e0834c","unresolved":false,"context_lines":[{"line_number":36,"context_line":"function cleanup_nova_hypervisor {"},{"line_number":37,"context_line":"    if [[ -n \"$QEMU_VERSION\" || -n \"$LIBVIRT_VERSION\" ]]; then"},{"line_number":38,"context_line":"        rm -r \"$HYP_INSTALL_DIR\" \"$DEST\"/qemu-\"$QEMU_VERSION\" \"$DEST\"/libvirt-\"$LIBVIRT_VERSION\""},{"line_number":39,"context_line":"        if [[ -f /etc/init/libvirtd.conf ]]; then"},{"line_number":40,"context_line":"            sudo rm /etc/init/libvirtd.conf"},{"line_number":41,"context_line":"        fi"},{"line_number":42,"context_line":"        if [[ -f /etc/init.d/libvirtd ]]; then"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"baa201ad_f6eb11ae","line":39,"updated":"2014-10-10 17:01:03.000000000","message":"You don\"t need to install file existence here. Just do rm -f $myfile It produces no error if the file doesn\u0027t exist","commit_id":"f70844b49ced8e70ee288a628c7c1ade3e76c55e"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"af32779480cc8c8840b0d9522e7fc87d46e0834c","unresolved":false,"context_lines":[{"line_number":47,"context_line":"        fi"},{"line_number":48,"context_line":"        sudo rm /usr/share/polkit-1/actions/org.libvirt.policy"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"        sudo sed -i \"s/$(echo $HYP_INSTALL_DIR | sed \u0027s/\\//\\\\\\//g\u0027)\\/bin://g\" $HOME/.bashrc"},{"line_number":51,"context_line":"        sudo sed -i \"s/$(echo $HYP_INSTALL_DIR | sed \u0027s/\\//\\\\\\//g\u0027)\\/sbin://g\" $HOME/.bashrc"},{"line_number":52,"context_line":"        sudo sed -i \"s/$(echo $HYP_INSTALL_DIR | sed \u0027s/\\//\\\\\\//g\u0027)\\/lib://g\" $HOME/.bashrc"},{"line_number":53,"context_line":""}],"source_content_type":"application/octet-stream","patch_set":8,"id":"baa201ad_16c9755a","line":50,"updated":"2014-10-10 17:01:03.000000000","message":"You should use another character for your sed seperator. For instance, sed s#test1#test2#g  $HOME/.bashrc is valid sed syntax.\nThis usually avoids the over escaping of \u0027/\u0027 you have here.","commit_id":"f70844b49ced8e70ee288a628c7c1ade3e76c55e"}],"tools/build_libvirt.sh":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"70876f22fe5d801cf0a11c9d612fa8f5be5e933c","unresolved":false,"context_lines":[{"line_number":29,"context_line":"source $TOP_DIR/stackrc"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"# Find the cache dir"},{"line_number":32,"context_line":"FILES\u003d$TOP_DIR/files"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"if [[ -z \"$1\" ]]; then"},{"line_number":35,"context_line":"    usage"}],"source_content_type":"text/x-sh","patch_set":4,"id":"1abeadc6_381fdd09","line":32,"updated":"2014-08-20 15:47:39.000000000","message":"If I set \u0027DEST\u0027 in my local.conf eg \n\n[[local|localrc]]\nDEST\u003d$HOME/src/cloud\n\nI would like to see that directory honoured by devstack when building libvirt. eg place libvirt into  $DEST/libvirt/1.2.7","commit_id":"220ef627b671920f522ff4e7d9af0e0efb08bdef"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"70876f22fe5d801cf0a11c9d612fa8f5be5e933c","unresolved":false,"context_lines":[{"line_number":34,"context_line":"if [[ -z \"$1\" ]]; then"},{"line_number":35,"context_line":"    usage"},{"line_number":36,"context_line":"fi"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"echo \"Installing libvirt $1\""},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"# If this value is not user defined, use the official link"}],"source_content_type":"text/x-sh","patch_set":4,"id":"1abeadc6_1815c13f","line":37,"updated":"2014-08-20 15:47:39.000000000","message":"I\u0027m inclined to do\n\nLIBVIRT_VERSION\u003d$1\n\nand then use $LIBVIRT_VERSION throughout this file instead of $1.","commit_id":"220ef627b671920f522ff4e7d9af0e0efb08bdef"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"d2e3ade1d0f1edf682f57fc2119893e37bfc3a44","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"# libvirt is released as .tar.gz"},{"line_number":44,"context_line":"LIBVIRT_FILE\u003dlibvirt-\"$1\".tar.gz"},{"line_number":45,"context_line":"LIBVIRT_DIR\u003d\"$FILES\"/libvirt-\"$1\""},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"LIBVIRT_URL\u003d\"$LIBVIRT_URL_BASE\"\"$LIBVIRT_FILE\""},{"line_number":48,"context_line":""}],"source_content_type":"text/x-sh","patch_set":4,"id":"1abeadc6_c6745e9e","line":45,"updated":"2014-08-27 13:52:21.000000000","message":"I think danpb\u0027s comment above indicates to use $DEST here rather than $FILES.\n\nYou probably still want to put the downloaded tarballs into $FILES though, and check for them before downloading them again.  (See the upload_images() function for an example of this.)","commit_id":"220ef627b671920f522ff4e7d9af0e0efb08bdef"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"70876f22fe5d801cf0a11c9d612fa8f5be5e933c","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    fi"},{"line_number":81,"context_line":"else"},{"line_number":82,"context_line":"    echo \"libvirtd $1 binary found in $LIBVIRT_DIR, skipping compilation.\""},{"line_number":83,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":4,"id":"1abeadc6_980711ca","line":83,"updated":"2014-08-20 15:47:39.000000000","message":"As mentioned before I\u0027m not convinced that we should be skipping compilation even if the binary exists in the dir.  At least I\u0027d like to see an env var \"LIBVIRT_BUILD_CACHE\u003d0\u0027 that could be set in local.conf to force a rebuild every time stack.sh is run","commit_id":"220ef627b671920f522ff4e7d9af0e0efb08bdef"},{"author":{"_account_id":970,"name":"Dean Troyer","email":"dtroyer@gmail.com","username":"dtroyer"},"change_message_id":"d2e3ade1d0f1edf682f57fc2119893e37bfc3a44","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    fi"},{"line_number":81,"context_line":"else"},{"line_number":82,"context_line":"    echo \"libvirtd $1 binary found in $LIBVIRT_DIR, skipping compilation.\""},{"line_number":83,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":4,"id":"1abeadc6_2613520e","line":83,"in_reply_to":"1abeadc6_980711ca","updated":"2014-08-27 13:52:21.000000000","message":"Agreed, although I\u0027d modify it to just put the source in place and run configure if not present, then run \u0027make; make install\u0027 every time.\n\nTo be consistent with the rest of DevStack\u0027s handling of sources, re-expanding the tarballs and running configure would be triggered with \u0027RECLONE\u003dyes\u0027.","commit_id":"220ef627b671920f522ff4e7d9af0e0efb08bdef"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"32581ab087ed26c9360121c6006427e09897f92e","unresolved":false,"context_lines":[{"line_number":65,"context_line":"    echo \"Configuring libvirt\""},{"line_number":66,"context_line":"    tar -xf \"$FILES\"/\"$LIBVIRT_FILE\" -C \"$DEST\""},{"line_number":67,"context_line":"    cd \"$LIBVIRT_DIR\""},{"line_number":68,"context_line":"    ./configure --prefix\u003d\"$DEST\" --localstatedir\u003d/var --libdir\u003d\"$DEST\"/lib --sysconfdir\u003d/etc"},{"line_number":69,"context_line":"fi"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"echo \"Compiling libvirt\""}],"source_content_type":"text/x-sh","patch_set":6,"id":"fa98f980_95cc4dbd","line":68,"updated":"2014-09-19 01:31:58.000000000","message":"I think this should be installed into its own sub-directory; DEST is too-high a name-space","commit_id":"0871dd3264d6659a058294b9994562f8853a0f41"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6f36a86a51ff3446db4efb9b20c00cd510aa6a59","unresolved":false,"context_lines":[{"line_number":43,"context_line":"echo \"Installing libvirt $LIBVIRT_VERSION\""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"# If this value is not user defined, use the official link"},{"line_number":46,"context_line":"LIBVIRT_URL_BASE\u003d${LIBVIRT_URL_BASE:-http://libvirt.org/sources/}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"# libvirt is released as .tar.gz"},{"line_number":49,"context_line":"LIBVIRT_FILE\u003dlibvirt-\"$LIBVIRT_VERSION\".tar.gz"}],"source_content_type":"text/x-sh","patch_set":7,"id":"baa201ad_62c77813","line":46,"updated":"2014-09-29 15:24:13.000000000","message":"do we have an https url here?","commit_id":"54c35f27467074240cdbce39fa2b199e23cc12da"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"f3830ec3fc6d9653cbbfe56766e0f912d2801cdf","unresolved":false,"context_lines":[{"line_number":43,"context_line":"echo \"Installing libvirt $LIBVIRT_VERSION\""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"# If this value is not user defined, use the official link"},{"line_number":46,"context_line":"LIBVIRT_URL_BASE\u003d${LIBVIRT_URL_BASE:-http://libvirt.org/sources/}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"# libvirt is released as .tar.gz"},{"line_number":49,"context_line":"LIBVIRT_FILE\u003dlibvirt-\"$LIBVIRT_VERSION\".tar.gz"}],"source_content_type":"text/x-sh","patch_set":7,"id":"baa201ad_85a626c0","line":46,"in_reply_to":"baa201ad_62c77813","updated":"2014-09-29 15:42:12.000000000","message":"Not yet, but I can certainly look at getting libvirt.org setup with SSL certs.","commit_id":"54c35f27467074240cdbce39fa2b199e23cc12da"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"0901775801f9dd690dddc6302c932f63f2bfecf6","unresolved":false,"context_lines":[{"line_number":43,"context_line":"echo \"Installing libvirt $LIBVIRT_VERSION\""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"# If this value is not user defined, use the official link"},{"line_number":46,"context_line":"LIBVIRT_URL_BASE\u003d${LIBVIRT_URL_BASE:-http://libvirt.org/sources/}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"# libvirt is released as .tar.gz"},{"line_number":49,"context_line":"LIBVIRT_FILE\u003dlibvirt-\"$LIBVIRT_VERSION\".tar.gz"}],"source_content_type":"text/x-sh","patch_set":7,"id":"baa201ad_42adf730","line":46,"in_reply_to":"baa201ad_85a626c0","updated":"2014-09-30 14:20:45.000000000","message":"libvirt.org now supports https","commit_id":"54c35f27467074240cdbce39fa2b199e23cc12da"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"f3830ec3fc6d9653cbbfe56766e0f912d2801cdf","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    echo \"Configuring libvirt\""},{"line_number":69,"context_line":"    tar -xf \"$FILES\"/\"$LIBVIRT_FILE\" -C \"$DEST\""},{"line_number":70,"context_line":"    cd \"$LIBVIRT_DIR\""},{"line_number":71,"context_line":"    ./configure --prefix\u003d\"$HYP_INSTALL_DIR\" --localstatedir\u003d/var --libdir\u003d\"$HYP_INSTALL_DIR\"/lib --sysconfdir\u003d/etc"},{"line_number":72,"context_line":"fi"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"echo \"Compiling libvirt\""}],"source_content_type":"text/x-sh","patch_set":7,"id":"baa201ad_e501b23a","line":71,"updated":"2014-09-29 15:42:12.000000000","message":"Oh, small nitpick. Lets add the following:\n\n\n  NOW\u003d`date +\"%F-%T\"`\n  WHERE\u003d`hostname`\n  EPOCH\u003d`date +%s`\n\n  ./configure ....other args.... \\\n  --with-packager\u003d\"OpenStack DevStack $WHERE $NOW\" \\\n  --with-packager_version\u003d\"$EPOCH\"\n\n\nThis will ensure that any log files generated by libvirt record precise details about the build we\u0027ve just done. This is key when debugging problems in libvirt later.","commit_id":"54c35f27467074240cdbce39fa2b199e23cc12da"},{"author":{"_account_id":7350,"name":"Jordan Pittier","email":"jordan.pittier@gmail.com","username":"JordanP"},"change_message_id":"af32779480cc8c8840b0d9522e7fc87d46e0834c","unresolved":false,"context_lines":[{"line_number":87,"context_line":"if is_ubuntu; then"},{"line_number":88,"context_line":"    if [[ ! -f /etc/init/libvirtd.conf ]]; then"},{"line_number":89,"context_line":"        sudo cp daemon/libvirtd.upstart /etc/init/libvirtd.conf"},{"line_number":90,"context_line":"        sudo sed -i \"s/exec \\/usr\\/sbin/\"$(echo $HYP_INSTALL_DIR | sed \u0027s/\\//\\\\\\//g\u0027)\"\\/sbin/g\" /etc/init/libvirtd.conf"},{"line_number":91,"context_line":"        sudo sed -i \"41i\\"},{"line_number":92,"context_line":"                export PATH\u003d\"$HYP_INSTALL_DIR\"sbin:\"$HYP_INSTALL_DIR\"bin:\"$PATH\"\\nexport LD_LIBRARY_PATH\u003d\"$HYP_INSTALL_DIR\"lib:\"$LD_LIBRARY_PATH\"\" /etc/init/libvirtd.conf"},{"line_number":93,"context_line":"        sudo cp daemon/libvirtd.policy /usr/share/polkit-1/actions/org.libvirt.policy"}],"source_content_type":"text/x-sh","patch_set":8,"id":"baa201ad_56485dcc","line":90,"updated":"2014-10-10 17:01:03.000000000","message":"ditto","commit_id":"f70844b49ced8e70ee288a628c7c1ade3e76c55e"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"a6522daa1e792e402179af847e479201f80854c6","unresolved":false,"context_lines":[{"line_number":69,"context_line":"echo \"Downloading the libvirt sources\""},{"line_number":70,"context_line":"wget -N \"$LIBVIRT_URL\" -P \"$FILES\""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"if [[ ! -d \"$LIBVIRT_DIR\" || \"$RECLONE\" \u003d \"yes\" ]]; then"},{"line_number":73,"context_line":"    echo \"Configuring libvirt\""},{"line_number":74,"context_line":"    tar -xf \"$FILES\"/\"$LIBVIRT_FILE\" -C \"$DEST\""},{"line_number":75,"context_line":"    cd \"$LIBVIRT_DIR\""}],"source_content_type":"text/x-sh","patch_set":11,"id":"3a961159_b4728f79","line":72,"updated":"2015-01-09 05:55:14.000000000","message":"Comparing \"yes\" with RECLONE is correct as document. But I think you might want to compare \"True\" with RECLONE using RECLONE\u003d$(trueorfalse False $RECLONE) according to function git_clone.","commit_id":"9b360c8810de0badb8aef5e9b25c2bc8cafbd51f"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"7bc6a65f7852f100d3d092ca1b6e147ebe612947","unresolved":false,"context_lines":[{"line_number":59,"context_line":"if is_ubuntu; then"},{"line_number":60,"context_line":"    sudo apt-get build-dep libvirt -y"},{"line_number":61,"context_line":"    install_package python-guestfs"},{"line_number":62,"context_line":"        if [[ ${DISTRO} \u003d~ (precise) ]]; then"},{"line_number":63,"context_line":"            sudo apt-get install libnl-route-3-dev -y"},{"line_number":64,"context_line":"        fi"},{"line_number":65,"context_line":"elif is_fedora || is_suse; then"}],"source_content_type":"text/x-sh","patch_set":13,"id":"da86d52c_51c30338","line":62,"updated":"2015-02-09 09:08:18.000000000","message":"while you\u0027re here, this shouldn\u0027t be indented","commit_id":"c7f5b568abb28e59e4eac4e16108f6961a79cc0e"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"7bc6a65f7852f100d3d092ca1b6e147ebe612947","unresolved":false,"context_lines":[{"line_number":80,"context_line":"            --with-packager\u003d\"OpenStack DevStack $WHERE $NOW\" \\"},{"line_number":81,"context_line":"            --with-packager_version\u003d\"$EPOCH\" --libdir\u003d/lib64"},{"line_number":82,"context_line":"    else"},{"line_number":83,"context_line":"         ./configure --prefix\u003d/ --exec-prefix\u003d/usr \\"},{"line_number":84,"context_line":"            --with-packager\u003d\"OpenStack DevStack $WHERE $NOW\" \\"},{"line_number":85,"context_line":"            --with-packager_version\u003d\"$EPOCH\""},{"line_number":86,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":13,"id":"da86d52c_b1ba7fbe","line":83,"updated":"2015-02-09 09:08:18.000000000","message":"note this line is causing bashate failures because it\u0027s indented too far; that\u0027s why the check job is failing.","commit_id":"c7f5b568abb28e59e4eac4e16108f6961a79cc0e"}],"tools/build_qemu.sh":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"70876f22fe5d801cf0a11c9d612fa8f5be5e933c","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    echo \"Example: $0 2.1.0\""},{"line_number":20,"context_line":"    exit 1"},{"line_number":21,"context_line":"}"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# Keep track of the current directory"},{"line_number":24,"context_line":"TOOLS_DIR\u003d$(cd $(dirname \"$0\") \u0026\u0026 pwd)"},{"line_number":25,"context_line":"TOP_DIR\u003d$(cd $TOOLS_DIR/..; pwd)"}],"source_content_type":"text/x-sh","patch_set":4,"id":"1abeadc6_d8db494d","line":22,"updated":"2014-08-20 15:47:39.000000000","message":"All my comments in build_libvirt.sh apply to this file too","commit_id":"220ef627b671920f522ff4e7d9af0e0efb08bdef"},{"author":{"_account_id":7175,"name":"Robbie Harwood","email":"rharwood@redhat.com","username":"frozencemetery"},"change_message_id":"631fb0405788c3ce0a3440449f6daf896393c425","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    echo \"Usage: $0 \u003cQEMU_VERSION\u003e\""},{"line_number":18,"context_line":"    echo \"\""},{"line_number":19,"context_line":"    echo \"Example: $0 2.1.0\""},{"line_number":20,"context_line":"    exit 1"},{"line_number":21,"context_line":"}"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"# Keep track of the current directory"}],"source_content_type":"text/x-sh","patch_set":5,"id":"fa98f980_723e22dc","line":20,"updated":"2014-09-09 21:12:52.000000000","message":"Bikeshed: having usage call exit feels unintuitive to me; I would prefer it to return and then whatever called usage calls exit.  It\u0027s unimportant, though, and I\u0027m fine with it being left in.","commit_id":"63f2f1c52e0ee594da08402a5e813b46f131602e"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"32581ab087ed26c9360121c6006427e09897f92e","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    sudo apt-get build-dep qemu -y"},{"line_number":54,"context_line":"elif is_fedora || is_suse; then"},{"line_number":55,"context_line":"    install_package yum-utils"},{"line_number":56,"context_line":"    sudo yum-builddep qemu -y"},{"line_number":57,"context_line":"fi"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"echo \"Downloading the QEMU sources\""}],"source_content_type":"text/x-sh","patch_set":6,"id":"fa98f980_35b561d0","line":56,"updated":"2014-09-19 01:31:58.000000000","message":"Isn\u0027t this quite fragile as it\u0027s really just installing the dependences for the version that the distro ships, rather than the version specified requires?  That said, I\u0027m not sure there is a good way around that ... after all that\u0027s what packagers generally figure out on your behalf","commit_id":"0871dd3264d6659a058294b9994562f8853a0f41"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"a03599ece15a19295cad0544164e7878da36ae7d","unresolved":false,"context_lines":[{"line_number":53,"context_line":"    sudo apt-get build-dep qemu -y"},{"line_number":54,"context_line":"elif is_fedora || is_suse; then"},{"line_number":55,"context_line":"    install_package yum-utils"},{"line_number":56,"context_line":"    sudo yum-builddep qemu -y"},{"line_number":57,"context_line":"fi"},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"echo \"Downloading the QEMU sources\""}],"source_content_type":"text/x-sh","patch_set":6,"id":"fa98f980_2957c503","line":56,"in_reply_to":"fa98f980_35b561d0","updated":"2014-09-19 08:41:37.000000000","message":"The only other option is to maintain a list of build pre-requisites in devstack itself. I suggested this approach instead since the set of deps that the current distro version needs should in general be enough to build the new version too. Generally if a new dep is added by qemu/libvirt it is optional, so if you don\u0027t have it, then that feature will just get disabled by configure. So we should \"fail safe\" in this case and continue to work.","commit_id":"0871dd3264d6659a058294b9994562f8853a0f41"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"6f36a86a51ff3446db4efb9b20c00cd510aa6a59","unresolved":false,"context_lines":[{"line_number":43,"context_line":"echo \"Installing QEMU $QEMU_VERSION\""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"# If this value is not user defined, use the official link"},{"line_number":46,"context_line":"QEMU_URL_BASE\u003d${QEMU_URL_BASE:-http://wiki.qemu-project.org/download/}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"# QEMU is released as .tar.bz2"},{"line_number":49,"context_line":"QEMU_FILE\u003dqemu-\"$QEMU_VERSION\".tar.bz2"}],"source_content_type":"text/x-sh","patch_set":7,"id":"baa201ad_e2da88e8","line":46,"updated":"2014-09-29 15:24:13.000000000","message":"same question, https url?","commit_id":"54c35f27467074240cdbce39fa2b199e23cc12da"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"cadeb73f70099425e0bb7d88ad69f6fe18a7df4a","unresolved":false,"context_lines":[{"line_number":43,"context_line":"echo \"Installing QEMU $QEMU_VERSION\""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"# If this value is not user defined, use the official link"},{"line_number":46,"context_line":"QEMU_URL_BASE\u003d${QEMU_URL_BASE:-http://wiki.qemu-project.org/download/}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"# QEMU is released as .tar.bz2"},{"line_number":49,"context_line":"QEMU_FILE\u003dqemu-\"$QEMU_VERSION\".tar.bz2"}],"source_content_type":"text/x-sh","patch_set":7,"id":"baa201ad_08c16d80","line":46,"in_reply_to":"baa201ad_45c19e2d","updated":"2014-09-29 15:52:18.000000000","message":"NB, if it is integrity of the download we care about though, https is the wrong think. Instead grab the GPG signature and verify that it was signed with the QEMU maintainers key.","commit_id":"54c35f27467074240cdbce39fa2b199e23cc12da"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"f3830ec3fc6d9653cbbfe56766e0f912d2801cdf","unresolved":false,"context_lines":[{"line_number":43,"context_line":"echo \"Installing QEMU $QEMU_VERSION\""},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"# If this value is not user defined, use the official link"},{"line_number":46,"context_line":"QEMU_URL_BASE\u003d${QEMU_URL_BASE:-http://wiki.qemu-project.org/download/}"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"# QEMU is released as .tar.bz2"},{"line_number":49,"context_line":"QEMU_FILE\u003dqemu-\"$QEMU_VERSION\".tar.bz2"}],"source_content_type":"text/x-sh","patch_set":7,"id":"baa201ad_45c19e2d","line":46,"in_reply_to":"baa201ad_e2da88e8","updated":"2014-09-29 15:42:12.000000000","message":"None  AFAIK. I\u0027ll see if I can find a contact for admin of qemu.org and ask them to sort out SSL","commit_id":"54c35f27467074240cdbce39fa2b199e23cc12da"},{"author":{"_account_id":7715,"name":"Hirofumi Ichihara","email":"ichihara.hirofumi@gmail.com","username":"Hirofumi-Ichihara"},"change_message_id":"a6522daa1e792e402179af847e479201f80854c6","unresolved":false,"context_lines":[{"line_number":62,"context_line":"echo \"Downloading the QEMU sources\""},{"line_number":63,"context_line":"wget -N \"$QEMU_URL\" -P \"$FILES\""},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"if [[ ! -d \"$QEMU_DIR\" || \"$RECLONE\" \u003d \"yes\" ]]; then"},{"line_number":66,"context_line":"    echo \"Configuring QEMU\""},{"line_number":67,"context_line":"    tar -xf \"$FILES\"/\"$QEMU_FILE\" -C \"$DEST\""},{"line_number":68,"context_line":"    cd \"$QEMU_DIR\""}],"source_content_type":"text/x-sh","patch_set":11,"id":"3a961159_d46d5b9a","line":65,"updated":"2015-01-09 05:55:14.000000000","message":"Comparing \"yes\" with RECLONE is correct as document. But I think you might want to compare \"True\" with RECLONE using RECLONE\u003d$(trueorfalse False $RECLONE) according to function git_clone.","commit_id":"9b360c8810de0badb8aef5e9b25c2bc8cafbd51f"},{"author":{"_account_id":6962,"name":"Kashyap Chamarthy","email":"kchamart@redhat.com","username":"kashyapc"},"change_message_id":"7f1f30b0513ee999c940bc47f910749354ed1d75","unresolved":false,"context_lines":[{"line_number":68,"context_line":"    echo \"Configuring QEMU\""},{"line_number":69,"context_line":"    tar -xf \"$FILES\"/\"$QEMU_FILE\" -C \"$DEST\""},{"line_number":70,"context_line":"    cd \"$QEMU_DIR\""},{"line_number":71,"context_line":"    ./configure --target-list\u003d`uname -m`-softmmu"},{"line_number":72,"context_line":"fi"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"echo \"Compiling QEMU\""}],"source_content_type":"text/x-sh","patch_set":12,"id":"3a961159_9c02e6b8","line":71,"updated":"2015-01-12 15:19:00.000000000","message":"On Fedora, this installs QEMU binary in /usr/local/bin/qemu-system-x86_64 -- which is not intended as Nova still uses system binary from /usr/bin/qemu-system-x86_64 when you boot a guest with this patch.  According to this patch\u0027s intention, it should be placed in /usr/local/bin (replacing the system \u0027qemu-system-x86_64\u0027).\n\nIn patch #10, you didn\u0027t have this issue, as you used $LIBVIRT_QEMU_DEV_INSTALL  (which resolved to $DEST/hyp_inst_src).\n\nThis, again, bring us back to the discussion of replacing system binaries.\n\nTo me, this clearly demonstrates why  using $DEST/hyp_inst_src for placing the compiled binaries is more sensible -- which allows you to have different libvirt/QEMU versions without any conflicts (note: you can still use different binaries without having to config files of existing system provided libvirt/QEMU).\n\nBut it won\u0027t break my heart if the patch ends up with having the binaries placed in /usr/local/bin.","commit_id":"ad5dc46bd733801433e403834bb8eaf6b7b34277"}],"tools/build_qemu_libvirt.sh":[{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"dcb913f16ca7d613168ccbaaf160aecfb63c1b7e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"#"},{"line_number":5,"context_line":"# Install QEMU, libvirt and their dependencies."},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"# Echo commands"},{"line_number":9,"context_line":"set -o xtrace"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-sh","patch_set":3,"id":"baada198_e2dab377","line":7,"updated":"2014-08-12 10:34:51.000000000","message":"I think we probably want separate scripts for QEMU and libvirt, so we can invoke each independently. There\u0027s no build-time dep between the two.","commit_id":"3a4340c275456ecb15706c0c987fe0d173166889"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"97a4b3e378d1a133522883f364348eb2f0b3d14a","unresolved":false,"context_lines":[{"line_number":49,"context_line":"LIBVIRT_URL\u003d\"$LIBVIRT_URL_BASE\"\"$LIBVIRT_FILE\""},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"# Performance optimization for make"},{"line_number":52,"context_line":"N_CORES\u003d$(cat /proc/cpuinfo | grep cores -m 1 | awk -F \" \" \u0027{print $4}\u0027)"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"echo \"Installing QEMU dependencies\""},{"line_number":55,"context_line":"if is_ubuntu; then"}],"source_content_type":"text/x-sh","patch_set":3,"id":"baada198_ab9353fe","line":52,"updated":"2014-08-11 19:19:03.000000000","message":"I think you can replace this with $(nproc)","commit_id":"3a4340c275456ecb15706c0c987fe0d173166889"},{"author":{"_account_id":1779,"name":"Daniel Berrange","email":"berrange@redhat.com","username":"berrange"},"change_message_id":"dcb913f16ca7d613168ccbaaf160aecfb63c1b7e","unresolved":false,"context_lines":[{"line_number":66,"context_line":"    make -j\"$N_CORES\""},{"line_number":67,"context_line":"    sudo make install"},{"line_number":68,"context_line":"else"},{"line_number":69,"context_line":"    echo \"QEMU directory found, skipping compilation.\""},{"line_number":70,"context_line":"fi"},{"line_number":71,"context_line":""},{"line_number":72,"context_line":"echo \"Installing libvirt dependencies\""}],"source_content_type":"text/x-sh","patch_set":3,"id":"baada198_820657cb","line":69,"updated":"2014-08-12 10:34:51.000000000","message":"Unconditionally skipping this doesn\u0027t seem like a great idea. What if the user has changed the QEMU_VERSION parameter, or if the previous devstack invocation failed part way through.","commit_id":"3a4340c275456ecb15706c0c987fe0d173166889"},{"author":{"_account_id":1561,"name":"Russell Bryant","email":"rbryant@redhat.com","username":"russellb"},"change_message_id":"97a4b3e378d1a133522883f364348eb2f0b3d14a","unresolved":false,"context_lines":[{"line_number":85,"context_line":"    echo \"Installing libvirt\""},{"line_number":86,"context_line":"    sudo make install"},{"line_number":87,"context_line":"    if [[ ! -f /etc/init/libvirtd.conf ]]; then"},{"line_number":88,"context_line":"        sudo cp daemon/libvirtd.upstart /etc/init/libvirtd.conf"},{"line_number":89,"context_line":"        sudo sed -i \"s/\\/usr\\/sbin/\"$(echo $LIBVIRT_DIR | sed \u0027s/\\//\\\\\\//g\u0027)\"\\/daemon/g\" /etc/init/libvirtd.conf"},{"line_number":90,"context_line":"    fi"},{"line_number":91,"context_line":"    if [[ ! -f /usr/share/polkit-1/actions/org.libvirt.policy ]]; then"}],"source_content_type":"text/x-sh","patch_set":3,"id":"baada198_cbbde768","line":88,"updated":"2014-08-11 19:19:03.000000000","message":"Looks like this bit is Ubuntu specific?","commit_id":"3a4340c275456ecb15706c0c987fe0d173166889"}]}
