Closed Bug 600931 Opened 14 years ago Closed 13 years ago

Rename firefox-*.mac64.dmg to firefox-*.mac.dmg

Categories

(Release Engineering :: General, defect, P2)

defect

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: Gavin, Assigned: rail)

References

Details

(Whiteboard: [buildduty])

Attachments

(8 files, 13 obsolete files)

1.33 KB, patch
bhearsum
: review+
Details | Diff | Splinter Review
2.25 KB, patch
bhearsum
: review+
Details | Diff | Splinter Review
572 bytes, patch
ted
: review+
benjamin
: approval2.0+
Details | Diff | Splinter Review
3.58 KB, patch
bhearsum
: review+
Details | Diff | Splinter Review
843 bytes, patch
bhearsum
: feedback-
Details | Diff | Splinter Review
3.19 KB, patch
bhearsum
: review+
Details | Diff | Splinter Review
4.98 KB, patch
bhearsum
: review+
Details | Diff | Splinter Review
1020 bytes, patch
rail
: review+
catlee
: checked-in+
Details | Diff | Splinter Review
Since the new i386/x86_64 universal is our only Mac deliverable now, I think it makes more sense to name it "mac" than "mac64" (mac64 kind of implies 64-only, which isn't the case).
It was left that way because of various expectations and contortions in the release automation & buildbot, which are too risky to unwind before b7.
Priority: -- → P3
I am likely to be starting work on this soon. Closely related to bug 583671.
Assignee: nobody → bhearsum
Blocks: 583671
Assignee: bhearsum → rail
Attached patch buildbotcustom changes (obsolete) — Splinter Review
Attached patch tools (obsolete) — Splinter Review
Attached patch Bootsrap (obsolete) — Splinter Review
Attached patch Bootstrap (obsolete) — Splinter Review
Attachment #499542 - Attachment is obsolete: true
Attached patch mozilla-central patch (obsolete) — Splinter Review
Priority: P3 → P2
Attached patch mozilla-central patch (obsolete) — Splinter Review
Testing this patch. The previous one didn't work for l10n repacks. l10n mozconfig doesn't include $topsrcdir/build/macosx/universal/mozconfig and as a result package-name.mk uses this:

ifeq ($(TARGET_CPU),x86_64)
MOZ_PKG_PLATFORM := mac64
...

I tried to source $topsrcdir/build/macosx/universal/mozconfig (and change --with-l10n-base=$topsrcdir/../l10n-central), but in this case we have 2 objdirs for each platform and release automation, which assumes to find needed files in obj-l10n, fails during repacking.

As a simplest solution I used the following.

* we do opt (universal) builds on 10.6 only
* we do debug (not universal) builds on 10.5 and 10.6 and need to distinguish them by file name (actually we put them into the same directory, so they have to have different names)
* opt and debug directories are not the same

I suggest to use "mac" for opt (universal, i386+x86_64) and 10.5 debug (not universal, 32bit) builds, and "mac64" for 10.6 debug (not universal, 64bit) builds. The attached patch should handle this.
Attachment #499544 - Attachment is obsolete: true
Attached patch tools (obsolete) — Splinter Review
updated version (including 64bit platform exception handling)
Attachment #499541 - Attachment is obsolete: true
Attached patch Bootstrap (obsolete) — Splinter Review
updated version (including 64bit platform exception handling)
Attachment #499543 - Attachment is obsolete: true
Are we going to have to land the buildbotcustom/tools/m-c bits all in sync with each other?
Priority: P2 → P3
(In reply to comment #11)
> Are we going to have to land the buildbotcustom/tools/m-c bits all in sync with
> each other?

Yeah, it would be safer. Additionally the CVS part (Bootstrap/Util.pm) should be re-tagged as UPDATE_PACKAGING_R13 after landing.
Attached patch Bootstrap (obsolete) — Splinter Review
s/macos/macosx/
Attachment #500017 - Attachment is obsolete: true
(In reply to comment #12)
> (In reply to comment #11)
> > Are we going to have to land the buildbotcustom/tools/m-c bits all in sync with
> > each other?
> 
> Yeah, it would be safer. Additionally the CVS part (Bootstrap/Util.pm) should
> be re-tagged as UPDATE_PACKAGING_R13 after landing.

K. That'll have to land on the UPDATE_PACKAGING_R11_minibranch if we need it there, too.

A couple of other troublesome things:
- We'll need to land this on all of the m-c based project branches simultaneously with
- Try builds that happen after the Buildbot changes land, but which are based off of an earlier m-c revision will fail. We should blog/post to newsgroups about this.
This patch merges mac and mac64 ABIs introduced in bug 583671 attachment 500104 [details] [diff] [review]. Not sure if we need all of them, but since PPC is blocked by AUS2, it should be harmless.
So far everything went well, just one step should be done once manually.

Patcher uses a patcher config to generate partial MARs and snippets. After applying all of the patches, we still have to do 2 major changes in the config manually:

1) mac64 will be replaced with mac. From patcher's point of view it looks like dropping mac64 and introducing a new "mac" platform. As a result no update is being generated for the new platform (new platform, nothing to update!). 

Solution is easy, we just need to replace all mac64 entries in the patcher config for older versions, *before* running updates builder for the next version (4.0b9). This is a one time fix, no need to do it every release.

2) linux-x86_64 platform exists in the config, but it's not listed in the exception section for "ja" locale. As a result there is no update for linux64/ja. To fix this we need to add linux-x86_64 to the list of the locale/platform exceptions for all older versions, that have this locale (iirc, since beta 4 or 5). This is also one time fix.

I'll start requesting reviews for the patches after testing mac64->mac name transition for nightly builds (see bug 613301).
Comment on attachment 500309 [details] [diff] [review]
Merge mac and mac64 ABIs for snippets

I'm not sure I understand why you want to merge these together. We only use the trunk of patcher (the branch where UPDATE_PACKAGING_R13 lives) for m-c/m-2.0. I'd recommend just getting rid of the old mac ABIs altogether there rather than having us generate a bunch of snippets that aren't even going to be used. 1.9.1 and 1.9.2 use UPDATE_PACKAGING_R11_1, which lives on UPDATE_PACKAGING_R11_minibranch, so they wouldn't be affected.
(In reply to comment #18)
> I'm not sure I understand why you want to merge these together. 

It's just because only I was lazy to check every ABI we need for 4.0  :) (and it was not the main point of the tests).I just wanted to test that the builder generates snippets for multiple ABIs and I can run update verify properly. The final list of ABIs will be reviewed before requesting review.
Ah, ok. Cool!
Attachment #499540 - Flags: review?(bhearsum)
Attachment #499916 - Flags: review?(bhearsum)
Attachment #500016 - Flags: review?(bhearsum)
Attachment #500039 - Flags: review?(bhearsum)
Attached patch MozAUSlib.pmSplinter Review
Attachment #500309 - Attachment is obsolete: true
Attachment #501280 - Flags: review?(bhearsum)
Comment on attachment 500039 [details] [diff] [review]
Bootstrap

To be updated after bug 619980
Attachment #500039 - Flags: review?(bhearsum)
Comment on attachment 500016 [details] [diff] [review]
tools

To be updated after bug 619980.
Attachment #500016 - Flags: review?(bhearsum)
Attachment #501280 - Flags: review?(bhearsum) → review+
Comment on attachment 499916 [details] [diff] [review]
mozilla-central patch

Looks ok to me, Needs Ted or Khuey review too, though.
Attachment #499916 - Flags: review?(ted.mielczarek)
Attachment #499916 - Flags: review?(khuey)
Attachment #499916 - Flags: review?(bhearsum)
Attachment #499916 - Flags: review+
Attachment #499540 - Flags: review?(bhearsum) → review+
Comment on attachment 499916 [details] [diff] [review]
mozilla-central patch

Why did you add the ifndef MOZ_DEBUG here?
Oh, er, should have re-read your earlier comment.
Comment on attachment 499916 [details] [diff] [review]
mozilla-central patch

I think you should just leave the UNIVERSAL_BINARY check, and s/mac64/mac on the line like you did. I don't think this should care whether you're doing a debug build or not. You could build a debug universal build, or an opt 64-bit only build, and we should name them appropriately.
Attachment #499916 - Flags: review?(ted.mielczarek) → review-
Attached patch BootstrapSplinter Review
Attachment #500039 - Attachment is obsolete: true
Attachment #503418 - Flags: review?(bhearsum)
Attached patch tools (obsolete) — Splinter Review
Attachment #500016 - Attachment is obsolete: true
Attachment #503419 - Flags: review?(bhearsum)
Comment on attachment 503419 [details] [diff] [review]
tools

Needs some additional tweaks due to ted's r-.
Attachment #503419 - Flags: review?(bhearsum)
The attached patch initially made by Ben. It works fine for en-US build.

l10n repacks don't source  $topsrcdir/build/macosx/universal/mozconfig (and don't work with that file sourced :/) and use guessed $(TARGET_CPU) (in our case "x86_64"). To make l10n repacks work as we want we need to export MOZ_PKG_PLATFORM=mac.
Attachment #499916 - Attachment is obsolete: true
Attachment #503455 - Flags: review?(ted.mielczarek)
Attached patch toolsSplinter Review
The same patch with additional hunk for lib/python/build/l10n.py.

Usual builds and nightlies still need some changes in buildbotcustom.
Attachment #503419 - Attachment is obsolete: true
Attachment #503456 - Flags: review?(bhearsum)
Attached patch buildbotcustom changes (obsolete) — Splinter Review
Testing this one...
Attachment #499540 - Attachment is obsolete: true
Attached patch patcher-configs (obsolete) — Splinter Review
Once we switch from mac64 to mac, it would be better to rename mac64 to mac where it was shipped apart from mac. I'm leaving mac64 as is for releases with 2 platforms (mac+mac64).
Attachment #503467 - Flags: review?(bhearsum)
This script grabs all releases with mac+mac64 platforms and prints shell commands which:
* remove mac64 update directory which is not being updated anymore by patcher (mac64 is dropped)
* create a symlink to that directories pointing to "mac" directories

We have 7 releases with multiple platforms. If we want to provide updates for these users directly to the latest version, it's way to go.

At the moment the output of the script is:

rm -rv 3.7a5/Darwin_x86_64-gcc3/20100610053411 && ln -sv 20100610053455 3.7a5/Darwin_x86_64-gcc3/20100610053411
rm -rv 3.7a5/Darwin_x86-gcc3-u-i386-x86_64/20100610053411 && ln -sv 20100610053455 3.7a5/Darwin_x86-gcc3-u-i386-x86_64/20100610053411
rm -rv 3.7a5/Darwin_x86_64-gcc3-u-i386-x86_64/20100610053411 && ln -sv 20100610053455 3.7a5/Darwin_x86_64-gcc3-u-i386-x86_64/20100610053411
rm -rv 4.0b1/Darwin_x86_64-gcc3/20100630131936 && ln -sv 20100630131607 4.0b1/Darwin_x86_64-gcc3/20100630131936
rm -rv 4.0b1/Darwin_x86-gcc3-u-i386-x86_64/20100630131936 && ln -sv 20100630131607 4.0b1/Darwin_x86-gcc3-u-i386-x86_64/20100630131936
rm -rv 4.0b1/Darwin_x86_64-gcc3-u-i386-x86_64/20100630131936 && ln -sv 20100630131607 4.0b1/Darwin_x86_64-gcc3-u-i386-x86_64/20100630131936
rm -rv 4.0b2/Darwin_x86_64-gcc3/20100720180051 && ln -sv 20100720175703 4.0b2/Darwin_x86_64-gcc3/20100720180051
rm -rv 4.0b2/Darwin_x86-gcc3-u-i386-x86_64/20100720180051 && ln -sv 20100720175703 4.0b2/Darwin_x86-gcc3-u-i386-x86_64/20100720180051
rm -rv 4.0b2/Darwin_x86_64-gcc3-u-i386-x86_64/20100720180051 && ln -sv 20100720175703 4.0b2/Darwin_x86_64-gcc3-u-i386-x86_64/20100720180051
rm -rv 4.0b3/Darwin_x86_64-gcc3/20100805182338 && ln -sv 20100805181943 4.0b3/Darwin_x86_64-gcc3/20100805182338
rm -rv 4.0b3/Darwin_x86-gcc3-u-i386-x86_64/20100805182338 && ln -sv 20100805181943 4.0b3/Darwin_x86-gcc3-u-i386-x86_64/20100805182338
rm -rv 4.0b3/Darwin_x86_64-gcc3-u-i386-x86_64/20100805182338 && ln -sv 20100805181943 4.0b3/Darwin_x86_64-gcc3-u-i386-x86_64/20100805182338
rm -rv 4.0b4/Darwin_x86_64-gcc3/20100818121922 && ln -sv 20100818121614 4.0b4/Darwin_x86_64-gcc3/20100818121922
rm -rv 4.0b4/Darwin_x86-gcc3-u-i386-x86_64/20100818121922 && ln -sv 20100818121614 4.0b4/Darwin_x86-gcc3-u-i386-x86_64/20100818121922
rm -rv 4.0b4/Darwin_x86_64-gcc3-u-i386-x86_64/20100818121922 && ln -sv 20100818121614 4.0b4/Darwin_x86_64-gcc3-u-i386-x86_64/20100818121922
rm -rv 4.0b5/Darwin_x86_64-gcc3/20100831070403 && ln -sv 20100831070010 4.0b5/Darwin_x86_64-gcc3/20100831070403
rm -rv 4.0b5/Darwin_x86-gcc3-u-i386-x86_64/20100831070403 && ln -sv 20100831070010 4.0b5/Darwin_x86-gcc3-u-i386-x86_64/20100831070403
rm -rv 4.0b5/Darwin_x86_64-gcc3-u-i386-x86_64/20100831070403 && ln -sv 20100831070010 4.0b5/Darwin_x86_64-gcc3-u-i386-x86_64/20100831070403
rm -rv 4.0b6/Darwin_x86_64-gcc3/20100914073111 && ln -sv 20100914072643 4.0b6/Darwin_x86_64-gcc3/20100914073111
rm -rv 4.0b6/Darwin_x86-gcc3-u-i386-x86_64/20100914073111 && ln -sv 20100914072643 4.0b6/Darwin_x86-gcc3-u-i386-x86_64/20100914073111
rm -rv 4.0b6/Darwin_x86_64-gcc3-u-i386-x86_64/20100914073111 && ln -sv 20100914072643 4.0b6/Darwin_x86_64-gcc3-u-i386-x86_64/20100914073111
Attachment #503469 - Flags: feedback?(nrthomas)
Attachment #503469 - Flags: feedback?(bhearsum)
Attachment #503418 - Flags: review?(bhearsum) → review+
Comment on attachment 503456 [details] [diff] [review]
tools

Is it possible to set MOZ_PKG_PLATFORM in the mozconfig instead? It doesn't need any runtime information, so that would be preferable IMHO. The other parts look fine.
Attachment #503456 - Flags: review?(bhearsum) → review-
Attachment #503467 - Flags: review?(bhearsum) → review+
Comment on attachment 503469 [details] [diff] [review]
Fix mac64 updates

I don't think it's worthwhile worrying about this. There's only about ~5000 users on b6 and earlier mac builds, and Christian/Beltzner already signed off on not providing these users direct updates to the latest Beta. (From e-mail):

Sounds fine to me as well.

On Dec 21, 2010, at 12:32 PM, Ben Hearsum wrote:

> > It will only affect the beta audience, because we have no other audience on 4.0 at the moment :). Note that we've shipped exclusively new-style universals since beta 7, so *all* users on b7 and future builds will always get the latest version directly.
> > 
> > This has no impact on 3.6 -> 4.0 MUs.
> > 
> > So, unless Christian objects I'll take this as a "yes".
> > 
> > On 12/21/10 03:26 PM, Mike Beltzner wrote:
>> >> Fine by me if this only applies to the beta audience, and doesn't mean that Firefox 3.6 users wouldn't be able to go to Firefox 4.latest when they decide to upgrade.
>> >> 
>> >> cheers,
>> >> mike
>> >> 
>> >> On 2010-12-21, at 3:16 PM, Ben Hearsum wrote:
>> >> 
>>> >>> Hey Guys,
>>> >>> 
>>> >>> I'm working on fixing https://bugzilla.mozilla.org/show_bug.cgi?id=583671 at the moment, which is going to (finally) streamline Mac updates after the updater ABI changes back in August.
>>> >>> 
>>> >>> My question to you is: Is it an issue if we stop providing direct updates from old universals to the latest version.
>>> >>> 
>>> >>> It would simplify my work quite a bit if we could stop doing that, and only provide direct updates to the latest version from older versions of the new universals/64-bit mac builds.
>>> >>> 
>>> >>> This would mean that anyone on an old universal build, which we shipped up until 4.0b6, would have to update to 4.0b8, and then to whatever the latest is. By my count, this would affect a maximum of 16,000 users, and probably less once 4.0b8 is out the door.
>>> >>> 
>>> >>> - Ben
>> >>
Attachment #503469 - Flags: feedback?(bhearsum) → feedback-
(In reply to comment #36)
> Comment on attachment 503456 [details] [diff] [review]
> tools
> 
> Is it possible to set MOZ_PKG_PLATFORM in the mozconfig instead? It doesn't
> need any runtime information, so that would be preferable IMHO. The other parts
> look fine.

I tried to export this variable in .mozconfig, but looks like "make installers-$locale" doesn't use the environment set there. :/
Attachment #503469 - Flags: feedback?(nrthomas)
I have to add env=self.env for all "make unpack" steps. Otherwise those steps try to use mac64.
Attachment #503461 - Attachment is obsolete: true
Attachment #503814 - Flags: review?(bhearsum)
Attachment #503455 - Flags: review?(ted.mielczarek) → review+
Attachment #503455 - Flags: approval2.0?
Comment on attachment 503456 [details] [diff] [review]
tools

Turns out it's not possible to set this in the mozconfig, because the 'make installers-%' doesn't source it. r+ on this.
Attachment #503456 - Flags: review- → review+
Attachment #503814 - Flags: review?(bhearsum) → review+
Attachment #503455 - Flags: approval2.0? → approval2.0+
This bug requires a downtime to land all patches in sync.
Flags: needs-treeclosure?
CCing Callek so we can make sure SeaMonkey picks this up and doesn't break (for too long).
From some quick discussion in IRC, we're going to defer this until at least Monday when the builds go to QA.

Ben, you're up next week, if you want to start the ball rolling on announcing the tree closure tomorrow (Thursday).
Whiteboard: [buildduty]
Priority: P3 → P2
Attached patch patcher-configsSplinter Review
Fix 4.0b10 mac64 entries too.
Attachment #503467 - Attachment is obsolete: true
Attachment #506721 - Flags: review?(bhearsum)
Attachment #506721 - Flags: review?(bhearsum) → review+
Summary: Rename firefox-4.0b7pre.en-US.mac64.dmg to firefox-4.0b7pre.en-US.mac.dmg → Rename firefox-*.mac64.dmg to firefox-*.mac.dmg
Depends on: 628913
Blocks: 628977
Minor note, need to update the file that controls the nagios checks:
http://mxr.mozilla.org/mozilla/source/tools/tinderbox-configs/monitoring/Firefox_mozilla-central.txt

and maybe the Tracemonkey/Electrolysis ones too
Attachment #507131 - Flags: review?(rail)
Attachment #507131 - Flags: review?(rail) → review+
Comment on attachment 507131 [details] [diff] [review]
Fix for l10n dep builds

Landed on default and production-0.8
Attachment #507131 - Flags: checked-in+
Blocks: 629048
Comment on attachment 503418 [details] [diff] [review]
Bootstrap

$ cvs commit -m "Bug 600931 - Rename firefox-*.mac64.dmg to firefox-*.mac.dmg. p=rail, r=bhearsum"
cvs commit: Examining .
Checking in Util.pm;
/cvsroot/mozilla/tools/release/Bootstrap/Util.pm,v  <--  Util.pm
new revision: 1.21; previous revision: 1.20
done
$ cvs tag UPDATE_PACKAGING_R13
cvs tag: Tagging .
W Util.pm : UPDATE_PACKAGING_R13 already exists on version 1.20 : NOT MOVING tag to version 1.21
$ cvs tag -F UPDATE_PACKAGING_R13
cvs tag: Tagging .
T Util.pm
Attachment #503418 - Flags: checked-in+
Comment on attachment 501280 [details] [diff] [review]
MozAUSlib.pm

$ cvs commit -m "Bug 600931 - Rename firefox-*.mac64.dmg to firefox-*.mac.dmg. p=rail, r=bhearsum"
cvs commit: Examining .
Checking in MozAUSLib.pm;
/cvsroot/mozilla/tools/patcher/MozAUSLib.pm,v  <--  MozAUSLib.pm
new revision: 1.17; previous revision: 1.16
done
$ cvs tag UPDATE_PACKAGING_R13
cvs tag: Tagging .
W MozAUSLib.pm : UPDATE_PACKAGING_R13 already exists on version 1.16 : NOT MOVING tag to version 1.17
$ cvs tag -F UPDATE_PACKAGING_R13
cvs tag: Tagging .
T MozAUSLib.pm
Attachment #501280 - Flags: checked-in+
Comment on attachment 506721 [details] [diff] [review]
patcher-configs

$ cvs commit -m "Bug 600931 - Rename firefox-*.mac64.dmg to firefox-*.mac.dmg. p=rail, r=bhearsum"
cvs commit: Examining .
Checking in moz20-branch-patcher2.cfg;
/cvsroot/mozilla/tools/patcher-configs/moz20-branch-patcher2.cfg,v  <--  moz20-branch-patcher2.cfg
new revision: 1.16; previous revision: 1.15
done
Attachment #506721 - Flags: checked-in+
We published en-US complete snippets on AUS2 yesterday, because current automation doesn't generate partial mars and doesn't push complete snippets if there is no previous complete mar with the same name pattern (mac vs mac64).

Seen green nightly builds of en-US and l10n repacks today. Dep builds and l10n repacks work fine as well. Closing.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Flags: needs-treeclosure?
Blocks: 635925
Product: mozilla.org → Release Engineering
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: