Closed Bug 499506 Opened 11 years ago Closed 11 years ago

unpack.sh fails DMG unpacking when machine has slow I/O

Categories

(Release Engineering :: General, defect)

x86
macOS
defect
Not set

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: kairo, Assigned: kairo)

References

Details

Attachments

(2 files)

Due to the async behavior of hdiutil, we're failing in unpack.sh with DMGs when the machines are somewhat slow in I/O like the Mac VMs we now have at SeaMonkey.
With this, l10n_verify and macosx_update_verify fail badly, trying to rsync the whole file system to the target (as $MOUNTPOINT is empty and we're copying $MOUNTPOINT/*).

We need to go down the same road as bug 498500 and bug 493755 and use a script that waits on hdiutil completion with a while loop.

We can't directly use the original installdmg.sh because we expect the files to appear in a different place than the current directory, so I decided to use my better parameterized version from bug 498500 instead.
This patch performs well for unpacking the DMGs in l10n_verification and macosx_update_verify.
Main changes to catlee's script:
* Add license header (mainly for main tree inclusion in bug 498500)
* Parameterize mount point and target directory
* Quote the DMG name in the hdiutil command, so prettynames with spaces work

The rest is just removing installdmg.ex and switching unpack.sh to use the new script (which is much cleaner in how it's called now).
Attachment #384256 - Flags: review?(bhearsum)
Comment on attachment 384256 [details] [diff] [review]
use an unmount script based on catlee's work

Coop or Catlee are probably a more appropriate reviewer for this.
Attachment #384256 - Flags: review?(ccooper)
Attachment #384256 - Flags: review?(catlee)
Attachment #384256 - Flags: review?(bhearsum)
Attachment #384256 - Flags: review?(ccooper) → review+
Comment on attachment 384256 [details] [diff] [review]
use an unmount script based on catlee's work

>+# Now we can copy everything out of the $MOUNTPOINT directory into the target directory
>+rsync -av $MOUNTPOINT/* $MOUNTPOINT/.DS_Store $MOUNTPOINT/.background $MOUNTPOINT/.VolumeIcon.icns $TARGETPATH/.

It would be nice to not have to hard-code these dot-files/directories.

Other than that, looks great.
Attachment #384256 - Flags: review?(catlee) → review+
Attachment #384256 - Flags: checked‑in?
I ran this through staging and noticed some logging differences that were pretty spewy. This patch should make the logging unchanged from the currently checked in version.
Attachment #387866 - Flags: review?(kairo)
Comment on attachment 387866 [details] [diff] [review]
slight update to keep logging behaviour consistent

It makes the diff to both the mozilla-central version and the talos version of the script larger, and both of those probably want to have that output on stdout, but I'm happy with whatever makes the release process happy right now.
Attachment #387866 - Flags: review?(kairo) → review+
Attachment #384256 - Flags: checked‑in?
Attachment #387866 - Flags: checked‑in+
Comment on attachment 387866 [details] [diff] [review]
slight update to keep logging behaviour consistent

changeset:   317:de46fbda2f20
Comment on attachment 387866 [details] [diff] [review]
slight update to keep logging behaviour consistent

Erm, you didn't check in the full patch, it seems. http://hg.mozilla.org/build/tools/file/default/release/common does still lists the .ex and doesn't list unpack-diskimage.sh
Comment on attachment 387866 [details] [diff] [review]
slight update to keep logging behaviour consistent

Sorry, forgot to run 'hg addremove'.

changeset:   318:58ddb0976913
Seems to be fixed! :)
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.