Public bug reported:

The MAAS team uses a script, lp:maas-images, which generates the images
available at images.maas.io. As part of this process we use the
following to convert a SquashFS image to an ext4 image.

sudo bash -ec 'src="$1"; img="$2"; trgmp="$3";
    mounts=""
    cleanup() { for m in $mounts; do umount "$m"; done; }
    trap cleanup EXIT
    mount -o loop "$img" "$trgmp"
    mounts="$trgmp"
    unsquashfs -force -xattrs -dest "$trgmp" "$src"' \
    "squashimg-to-image" "$squashimg" "$output" "$trgmp"
ret=$?
rm -Rf "$mtmp" || return
return $ret

Prior to 4.4-1ubuntu1 the trap would always cause the cleanup function
to always be called. Its now only called on failure. This causes the
mount to remain and the following rm to fail. If I add 'false' to the
end of the command script or downgrade to 4.3-15ubuntu1 the cleanup
occurs.

** Affects: bash (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to bash in Ubuntu.
https://bugs.launchpad.net/bugs/1641832

Title:
  Bash ignores exit trap on success when part of a command string

Status in bash package in Ubuntu:
  New

Bug description:
  The MAAS team uses a script, lp:maas-images, which generates the
  images available at images.maas.io. As part of this process we use the
  following to convert a SquashFS image to an ext4 image.

  sudo bash -ec 'src="$1"; img="$2"; trgmp="$3";
      mounts=""
      cleanup() { for m in $mounts; do umount "$m"; done; }
      trap cleanup EXIT
      mount -o loop "$img" "$trgmp"
      mounts="$trgmp"
      unsquashfs -force -xattrs -dest "$trgmp" "$src"' \
      "squashimg-to-image" "$squashimg" "$output" "$trgmp"
  ret=$?
  rm -Rf "$mtmp" || return
  return $ret

  Prior to 4.4-1ubuntu1 the trap would always cause the cleanup function
  to always be called. Its now only called on failure. This causes the
  mount to remain and the following rm to fail. If I add 'false' to the
  end of the command script or downgrade to 4.3-15ubuntu1 the cleanup
  occurs.

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1641832/+subscriptions

-- 
Mailing list: https://launchpad.net/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to