Partial updates for 5.0b1 on Mac fail

RESOLVED FIXED

Status

defect
RESOLVED FIXED
8 years ago
6 years ago

People

(Reporter: ashughes, Assigned: rstrong)

Tracking

other
x86_64
macOS
Dependency tree / graph

Firefox Tracking Flags

(firefox5 fixed)

Details

Attachments

(1 attachment, 1 obsolete attachment)

Updating from 5.0b1 to 5.0b2 fails on Mac for the partial update (complete update is ok).

Here is my last-update.log:
SOURCE DIRECTORY /Users/ashughes/Desktop/Season 1/Firefox.app/Contents/MacOS/updates/0
DESTINATION DIRECTORY /Users/ashughes/Desktop/Season 1/Firefox.app
get_valid_path: paths must not contain '..': Contents/MacOS/../Plug-Ins/PrintPDE.plugin/Contents/Info.plist
failed: 5
calling QuitProgressUI

Here is my AUS URL:
https://aus3.mozilla.org/update/3/Firefox/5.0/20110427143820/Darwin_x86_64-gcc3-u-i386-x86_64/en-US/betatest/Darwin%2010.7.0/default/default/update.xml?force=1

Here is my MAR URL:
http://stage-old.mozilla.org/pub/mozilla.org/firefox/nightly/5.0b2-candidates/build1/update/mac/en-US/firefox-5.0b1-5.0b2.partial.mar
nightly aurora update.manifest and updatev2.manifest:
remove "MacOS/Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/PrintPDE.nib/objects.xib"
remove "MacOS/Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/PrintPDE.nib/info.nib"
remove "MacOS/Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/PrintPDE.nib/classes.nib"
remove "MacOS/Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/Localizable.strings"
remove "MacOS/Plug-Ins/PrintPDE.plugin/Contents/MacOS/PrintPDE"
remove "MacOS/Plug-Ins/PrintPDE.plugin/Contents/Info.plist"

release 5.0b1->5.0b2 update.manifest:
remove "Contents/MacOS/../Plug-Ins/PrintPDE.plugin/Contents/Info.plist"
remove "Contents/MacOS/../Plug-Ins/PrintPDE.plugin/Contents/MacOS/PrintPDE"
remove "Contents/MacOS/../Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/Localizable.strings"
remove "Contents/MacOS/../Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/PrintPDE.nib/classes.nib"
remove "Contents/MacOS/../Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/PrintPDE.nib/info.nib"
remove "Contents/MacOS/../Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/PrintPDE.nib/objects.xib"

Different code is generating each of these.
There are two problems with the partials we are generating for 5.0b1 -> 5.0b2. First, RelEng neglected to create an UPDATE_PACKAGING_Rn tag after the changes from bug 386760 landed in mozilla-central, so they haven't been used here. Secondly the issue that attachment 533465 [details] [diff] [review] addresses. I've tested regenerating the partials with 386760 changes and the patch and the mac manifest looks closer but not quite right, eg
remove "Contents/MacOS/Contents/Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/PrintPDE.nib/objects.xib"
ie Contents/MacOS/Contents should be just MacOS/

We could simply remove the partial updates for 5.0b1 -> 5.0b2 to keep the release moving. Or we can fix the patch, land it in beta along with a tag, generate new partials, and ask QA to retest (and possibly iterate). It really comes down how soon we need to test the changes to partials from 386760, Rob ?
Posted patch patchSplinter Review
Turns out that the shell script was using the wrong part of the path as well. :(

The relevant lines in the manifests when using the python and the shell script after this patch
remove "Contents/Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/PrintPDE.nib/objects.xib"
remove "Contents/Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/PrintPDE.nib/info.nib"
remove "Contents/Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/PrintPDE.nib/classes.nib"
remove "Contents/Plug-Ins/PrintPDE.plugin/Contents/Resources/English.lproj/Localizable.strings"
remove "Contents/Plug-Ins/PrintPDE.plugin/Contents/MacOS/PrintPDE"
remove "Contents/Plug-Ins/PrintPDE.plugin/Contents/Info.plist"
Assignee: nobody → robert.bugzilla
Attachment #533465 - Attachment is obsolete: true
Status: NEW → ASSIGNED
Attachment #533505 - Flags: review?(nrthomas)
Attachment #533505 - Flags: review?(nrthomas) → review+
Adding dependency on bug 648946 which in turn depends on bug 648945 since getting those fixed would allow us to test for this in the future.
Depends on: 648946
I've removed the snippet for mac the partial update, which will inconvenience just a couple of thousand mac users but get us something for QA to test Thursday. This is en-US only, of course.

We'll get the patch landed and the partial generation fixed up in time for the next beta.
Pushed to mozilla-central
http://hg.mozilla.org/mozilla-central/rev/462c726144bc

Nick, I think we should take this on aurora and beta as well in case a nightly is built. What do you think?
Status: ASSIGNED → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Comment on attachment 533505 [details] [diff] [review]
patch

Christian, this is a patch to our mar file generation scripts and not the client code. The patch fixes a problem with how relative parent paths are created for paths in the removed-files list and I think we should take this.
Attachment #533505 - Flags: approval-mozilla-beta?
Attachment #533505 - Flags: approval-mozilla-aurora?
I think we should too, although aurora can just be taken care of by the merge tomorrow.
Comment on attachment 533505 [details] [diff] [review]
patch

Please land this on releases/mozilla-beta today.
Attachment #533505 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Attachment #533505 - Flags: approval-mozilla-aurora? → approval-mozilla-aurora-
I moved the UPDATE_PACKAGING_R14 tag on mozilla-{central,aurora,beta} so that the release automation will pick it up.
How can I test if the partial update is made?
(In reply to comment #14)
> How can I test if the partial update is made?

Vlad, a partial update will always be smaller than the complete update (usually only a couple of MB). A complete update will usually be close (if not the same) size as the binary downloaded from FTP.
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.