Description of problem: "parse-environment" and "parse-environment-list" fail to parse "LIBGUESTFS_TRACE = 0" Version-Release number of selected component (if applicable): libguestfs-tools-c-1.28.1-1.17.el7.x86_64 How reproducible: 100% Steps to Reproduce: 1.add an image, mount the root filesystem # guestfish -N fs ><fs> mount /dev/sda1 / 2. parse $LIBGUESTFS_TRACE to "1" ><fs> !echo $LIBGUESTFS_TRACE 0 ><fs> ls / lost+found ><fs> setenv LIBGUESTFS_TRACE 1 ><fs> ls / lost+found ><fs> !echo $LIBGUESTFS_TRACE 1 ><fs> parse-environment ><fs> ls / libguestfs: trace: ls "/" libguestfs: trace: ls0 "/" "/tmp/libguestfs0vHOeV/ls4" libguestfs: trace: ls0 = 0 libguestfs: trace: ls = ["lost+found"] lost+found 3. Try to parse $LIBGUESTFS_TRACE back to "0" ><fs> setenv LIBGUESTFS_TRACE 0 ><fs> !echo $LIBGUESTFS_TRACE 0 ><fs> parse-environment libguestfs: trace: parse_environment libguestfs: trace: parse_environment = 0 ><fs> ls / libguestfs: trace: ls "/" libguestfs: trace: ls0 "/" "/tmp/libguestfs0vHOeV/ls5" libguestfs: trace: ls0 = 0 libguestfs: trace: ls = ["lost+found"] lost+found ><fs> parse-environment-list "LIBGUESTFS_TRACE=0" libguestfs: trace: parse_environment_list "LIBGUESTFS_TRACE=0" libguestfs: trace: parse_environment_list = 0 ><fs> ls / libguestfs: trace: ls "/" libguestfs: trace: ls0 "/" "/tmp/libguestfs0vHOeV/ls9" libguestfs: trace: ls0 = 0 libguestfs: trace: ls = ["lost+found"] lost+found Actual results: as described above Expected results: The trace info should not be printed out. Additional info:
This is not really a bug, more of an RFE. Reproducer: guestfish setenv LIBGUESTFS_TRACE 1 : parse-environment : get-trace : setenv LIBGUESTFS_TRACE 0 : parse-environment : get-trace (all on one line) Before the change, it will print: true true After the change, it will print: true false
Patches posted: https://www.redhat.com/archives/libguestfs/2014-December/thread.html#00167
Upstream commits: bdcd2fabe9a5ba6f61e662986fcd92e352f203c0 5f6677ebd0fd6f6712de808ca27eab4468f966bc f1ecd6af808f22af913a589754ae11dc1e35b658
Verified with libguestfs-1.28.1-1.29.el7. Step to verify: 1. # guestfish setenv LIBGUESTFS_TRACE 1 : parse-environment : get-trace : setenv LIBGUESTFS_TRACE 0 : parse-environment : get-trace libguestfs: trace: get_trace libguestfs: trace: get_trace = 1 true libguestfs: trace: parse_environment libguestfs: trace: set_trace false libguestfs: trace: set_trace = 0 libguestfs: trace: parse_environment = 0 false 2. # guestfish set-trace 1 : get-trace : parse-environment-list "LIBGUESTFS_TRACE=0" : get-trace : parse-environment-list "LIBGUESTFS_TRACE=1" : get-trace libguestfs: trace: get_trace libguestfs: trace: get_trace = 1 true libguestfs: trace: parse_environment_list "LIBGUESTFS_TRACE=0" libguestfs: trace: set_trace false libguestfs: trace: set_trace = 0 libguestfs: trace: parse_environment_list = 0 false libguestfs: trace: get_trace libguestfs: trace: get_trace = 1 true libguestfs: trace: shutdown libguestfs: trace: shutdown = 0 libguestfs: trace: close So "parse-environment" and "parse-environment-list" work as excepted. So fixed.
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory, and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://rhn.redhat.com/errata/RHBA-2015-2183.html