)]}'
{"bin/disk-image-create":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"78e066a2bf91f45977954ef376251d083df519ed","unresolved":false,"context_lines":[{"line_number":432,"context_line":"    else"},{"line_number":433,"context_line":"\tsudo mkfs $MKFS_OPTS -L ${DIB_ROOT_LABEL_BASE}-$(mount_point_to_identifier ${MP_PATH}) \\"},{"line_number":434,"context_line":"\t     -t $FS_TYPE ${MKFS_ADD_OPTS} ${MP_DEVICE}"},{"line_number":435,"context_line":"\t# Tuning the rootfs uuid works only for ext filesystems."},{"line_number":436,"context_line":"\tif echo \"$FS_TYPE\" | grep -q \"^ext\"; then"},{"line_number":437,"context_line":"\t    sudo tune2fs ${MP_DEVICE} -U ${DIB_IMAGE_ROOT_FS_UUID}"},{"line_number":438,"context_line":"\tfi"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"dab17558_955fb274","line":435,"updated":"2016-05-13 02:10:01.000000000","message":"tabs","commit_id":"281c5390e276791e7fae3c73a3a0ab4a3542c39b"}],"elements/debootstrap/extra-data.d/10-fstab":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"78e066a2bf91f45977954ef376251d083df519ed","unresolved":false,"context_lines":[{"line_number":6,"context_line":"set -eu"},{"line_number":7,"context_line":"set -o pipefail"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"# Need mount_point_to_identifier function - which is in common-functions"},{"line_number":10,"context_line":"sudo mkdir -p $TMP_MOUNT_PATH/lib/diskimage-builder"},{"line_number":11,"context_line":"sudo cp -t $TMP_MOUNT_PATH/lib/diskimage-builder $_LIB/common-functions"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"dab17558_156d8232","line":9,"updated":"2016-05-13 02:10:01.000000000","message":"i don\u0027t like this idea of copying in something from $_LIB into the image\u0027s /lib ... i don\u0027t see it being cleaned up?\n\nbut this breaks the idea of an element being a stand-alone thing.  can we move the functions into here?","commit_id":"281c5390e276791e7fae3c73a3a0ab4a3542c39b"}],"lib/common-functions":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"78e066a2bf91f45977954ef376251d083df519ed","unresolved":false,"context_lines":[{"line_number":323,"context_line":""},{"line_number":324,"context_line":"# Converts a mount point into a identifier - removing"},{"line_number":325,"context_line":"# all chars \u0027/ -_\u0027"},{"line_number":326,"context_line":"function mount_point_to_identifier {"},{"line_number":327,"context_line":"    local MOUNT_POINT\u003d$1"},{"line_number":328,"context_line":""},{"line_number":329,"context_line":"    if test \"${MOUNT_POINT}\" \u003d \"/\"; then"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"dab17558_15dbc2ee","line":326,"updated":"2016-05-13 02:10:01.000000000","message":"I feel like that if you exported this function, it would work inside the element without having to copy this?  Haven\u0027t tried it","commit_id":"281c5390e276791e7fae3c73a3a0ab4a3542c39b"}],"lib/partitioning-functions":[{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"78e066a2bf91f45977954ef376251d083df519ed","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    local PARTITION_COUNT\u003d$2"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"    for PART_NUM in $(seq 1 ${PARTITION_COUNT}); do"},{"line_number":11,"context_line":"\tif test ! -e ${BLOCK_DEV}p${PART_NUM}; then"},{"line_number":12,"context_line":"\t    # Partition ${PART_NUM} is missing"},{"line_number":13,"context_line":"\t    return 1"},{"line_number":14,"context_line":"\tfi"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"dab17558_15d102fc","line":11,"updated":"2016-05-13 02:10:01.000000000","message":"hard tabs","commit_id":"281c5390e276791e7fae3c73a3a0ab4a3542c39b"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"78e066a2bf91f45977954ef376251d083df519ed","unresolved":false,"context_lines":[{"line_number":33,"context_line":"    DM\u003d"},{"line_number":34,"context_line":"    if partitioning_missing_partition ${BLOCK_DEV} ${PARTITION_COUNT}; then"},{"line_number":35,"context_line":"\tDM\u003d${BLOCK_DEV/#\\/dev/\\/dev\\/mapper}"},{"line_number":36,"context_line":"\t# If running inside Docker, make our nodes manually, because udev will"},{"line_number":37,"context_line":"\t# not be working."},{"line_number":38,"context_line":"\tif test -f /.dockerenv -a \"${ARCH}\" !\u003d \"ppc\"; then"},{"line_number":39,"context_line":"            # kpartx cannot run in sync mode in docker."}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"dab17558_f5cd5e5e","line":36,"updated":"2016-05-13 02:10:01.000000000","message":"for consistency, please use [ ]","commit_id":"281c5390e276791e7fae3c73a3a0ab4a3542c39b"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"78e066a2bf91f45977954ef376251d083df519ed","unresolved":false,"context_lines":[{"line_number":46,"context_line":""},{"line_number":47,"context_line":"    partitioning_missing_partition ${BLOCK_DEV} ${PARTITION_COUNT} || \\"},{"line_number":48,"context_line":"\tdie \"Not all partitions are available via device mapper\""},{"line_number":49,"context_line":"    "},{"line_number":50,"context_line":"    # Return the base path of the device"},{"line_number":51,"context_line":"    if test -n \"$DM\"; then"},{"line_number":52,"context_line":"\techo \"${DM}\""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"dab17558_95033276","line":49,"updated":"2016-05-13 02:10:01.000000000","message":"whitespace","commit_id":"281c5390e276791e7fae3c73a3a0ab4a3542c39b"},{"author":{"_account_id":7118,"name":"Ian Wienand","email":"iwienand@redhat.com","username":"iwienand"},"change_message_id":"78e066a2bf91f45977954ef376251d083df519ed","unresolved":false,"context_lines":[{"line_number":123,"context_line":"function partitioning_sort_mount_points {"},{"line_number":124,"context_line":"    local MPLIST\u003d$1"},{"line_number":125,"context_line":"    "},{"line_number":126,"context_line":"    local SORTED_LIST\u003d\"\""},{"line_number":127,"context_line":"    local MOUNT_POINT"},{"line_number":128,"context_line":"    for MOUNT_POINT in ${MPLIST}; do"},{"line_number":129,"context_line":"\tSORTED_LIST\u003d$(partitioning_sort_mount_points_insert \\"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"dab17558_b502b66d","line":126,"updated":"2016-05-13 02:10:01.000000000","message":"local\u0027s should be lower-case for consistency.  globals are ALL_CAPS","commit_id":"281c5390e276791e7fae3c73a3a0ab4a3542c39b"}]}
