Closed Bug 288199 Opened 19 years ago Closed 19 years ago

Rebrand suite installer

Categories

(SeaMonkey :: Installer, defect)

defect
Not set
normal

Tracking

(Not tracked)

VERIFIED FIXED
seamonkey1.0alpha

People

(Reporter: kairo, Unassigned)

References

Details

Attachments

(6 files, 2 obsolete files)

Working on bug 285696 I discovered a really long list of hardcoded "Mozilla"
ocurrences in installer that we need to fix.

We shoudl either replace the app name with the new name or make use of the
MOZ_APP_NAME, MOZ_APP_DISPLAYNAME and MOZ_APP_VERSION string in mozilla/xpinstall
Here's a list of all lines in mozilla/xpinstall where we may need changes (not
sure of all of them, but I've excluded all where I'm sure they don't need to be
changed)
I had some IRC talk with bsmedberg today, and he said we shouldn't put a lot of
work in the installer, probably even use the toolkit installer right now, which
actually might not be too hard and spares us some headaches:

<KaiRo> bsmedberg: another thing I ran into with rebranding stuff is that
xpinstall/ is a nightmare... any advice about what we should do there? do
hardcoded short-time fixes and move to tollkit installer ASAP, or make
installer(s) smarter about MOZ_APP_NAME and stuff?
<bsmedberg> Use the toolkit installer.
<bsmedberg> It's almost a pleasure, compared to the xpinstall/packager mess
<KaiRo> bsmedberg: you think we should move to it right now?
<bsmedberg> Probably, yes.
<bsmedberg> You'ld have to ditch the GRE stuff on windows, but that is a Good
Thing IMO.
<bsmedberg> The GRE installer is a piece of crap.
<gandalf> oh no...
<KaiRo> what about Linux gtk1? other platforms like os/2?
<bsmedberg> What about them? OS/2 uses the toolkit installer now, I think.
<bsmedberg> And I don't think you should ship linux installers anyway, but
that's my personal opinion.
<KaiRo> bsmedberg: ah, ok, I just didn't see any OS/2 or so in there at a first
glance, so I wondered
<gandalf> yes. linux installer is a piece of crap at the moment
<gandalf> and nobody else uses own installer!
<gandalf> on linux
<gandalf> we should use autopackage probably which is great and stable now
<gandalf> www.autopackage.org
<KaiRo> bsmedberg: I'd be happy to ditch Linux installers, but apparently some
people like them, and we're not really ready for the big changes with that first
release or even alpha
<bsmedberg> ditching linux installers is not a big change ;-)
<KaiRo> bsmedberg: just as a note, is it planned to move toolkit installer into
xpinstall/ if xpinstall is unused? currently, with having 4 installer localtions
in the tree, it looks strange to me...
<bsmedberg> KaiRo: no moving is planned
<KaiRo> bsmedberg: so xpinstall would just be removed altogether?
<bsmedberg> KaiRo: xpinstall itself is part of the toolkit (handles XPIs and such)
<bsmedberg> KaiRo: xpinstall/packager would be removed
<KaiRo> bsmedberg: ah, ok...
<KaiRo> bsmedberg: basically, I guess, toolkit installer is what you began to
work on in the packager branch, right?
<bsmedberg> KaiRo: no
<bsmedberg> KaiRo: It is a fork of the seamonkey installer that Ben did.
<KaiRo> bsmedberg: ah, hmm... so something different... ok...
<KaiRo> so what would we have to do to use the toolkit installer for the current
suite?
<bsmedberg> KaiRo: Basically copy browser/installer/* and change the manifest files.
<KaiRo> bsmedberg: copy it into suite/installer/ and adjust manifests and be
done? sounds really nice...
<bsmedberg> KaiRo: Doesn't it sound easy? It's probably not quite that easy, but
I couldn't tell you where the pitfalls might be.
<bsmedberg> KaiRo: It's in a preprocessed configuration file, so you could add
it quite easily.
<KaiRo> oh, nice
<KaiRo> exactly what we need
BTW, the attached file lists 485 lines of code that may have to be changed if we
want to go on using this mess of installer in xpinstall/

Of those lines, 350 are in packager/ which surely would be obsoleted by toolkit
installer, 134 are in wizard, which according to bsmedberg is very likely to be
obsoleted by toolkit installer as well, that leaves one other line, being:
mozilla/xpinstall/src/base.pkg:19:!optional dist/bin/mozilla-installer-bin

and this one might still need some investigation, but we should be able to
handle that ;-)

So if we have any chance to use the toolkit installer, we should try hard to do
so, as changing 485 occurrences of "mozilla" to new new name (even if we
hardcode it) might even take more testing and QA than just switching to the
toolkit installer.

Even if that means we might want to drive some changes into that one that have
happened on our side since they branched their version... Probably more people
than us might benefit from that...

What we really need though is someone on Windows that would be willing to try
building up the new installer, even if that means some surrounding work like
hacking Makefiles and such stuff... Windows is surely the most important
platform for installer (though even the toolkit installer supports Linux).
If we decide we want to keep the current xpinstall based installer for
1.0(whatever) then this patch will allow rebranding of the unix installer based
on MOZ_APP_NAME and MOZ_APP_DISPLAYNAME.

This doesn't quite fully work. We would need to fix up packages-unix and
packages-static-unix - which could always be done the hardcoded way.

There's also the readme to sort out.

Apart from that I think it works.
We can't ship a non-rebranded installer, and we at least need to ship and
windows installer, even for alpha, so tzhis is clearly a blocker.

I'd really hope someone will look into that issue (Windows installer at least).
If we have no word on toolkit installer within a week, I'll try to get hardcoded
replacing for Windows installer and try to get in Mark's patch for Linux
installer. We can live without non-tier-1 platforms for alpha until/unless
someone fixes them, and we can live without a mac installer anyways (if there is
one at all).
Flags: blocking-seamonkey1.0a+
Target Milestone: --- → Seamonkey1.0alpha
> and we can live without a mac installer anyways (if there is one at all).

there is no Mac installer.  It uses a disk image (whatever that is).
(In reply to comment #6)
> > and we can live without a mac installer anyways (if there is one at all).
> 
> there is no Mac installer.  It uses a disk image (whatever that is).

It's true that we seemingly don't deleiver an installer. If you look into the
grep results file I attached, you see some mac stuff in the packager mess. I'd
be happy to ditch anything but windows installer for Alpha though, just to get
the alpha out. As we have people like you and Mark caring about Linux installer
though, I guess we'll have that one in some way, which is nice-to-have as well.
Only the Windows one is a release blocker from my perspective though. Now we
just need someone to care about it...
Comment on attachment 179078 [details] [diff] [review]
Patch to allow rebranding of unix installer (xpinstall)

>-# usage: perl deliver.pl version URLPath stubName blobName buildWizard
>+# usage: perl deliver.pl version URLPath stubName blobName buildWizard appname
>+#        appdisplayname
> # e.g.   perl deliver.pl 5.0.0.1 ftp://foo/ mozilla-installer mozilla-installer
>+#        mozilla Mozilla

appName appDisplayName
(deliver-static.pl and deliver.pl)

>-        { die "--- deliver.pl: check perms on mozilla/installer: $!"; }
>+        { die "--- deliver.pl: check perms on $ROOT/installer: $!"; }

ROOT is "mozilla/installer" (TREETOP is "mozilla"), so just drop "/installer"

-# Make sure there are at least four arguments
-if($#ARGV < 3)
+# Make sure there are at least six arguments
+if($#ARGV < 5)

The check was wrong before (should have been "< 4").  It should be "< 6" now. 
In fact, for all of these you're changing, the comment/and or the check itself
is wrong.

>-if($#ARGV >= 3) {$outJsFile = $ARGV[3];};
>+if($#ARGV >= 3) {$outJsFile = $ARGV[4];};

$#ARGV >= 4

other than that, it looks good and works
Attached patch Rebranding of Unix installer v2. (obsolete) — Splinter Review
This patch fixes Andrew's comments. It still doesn't sort out packages-unix and
packages-static-unix so we'll either have to fix those by hand and wait till we
go to toolkit, or do a seperate patch for them - there didn't seem an easy fix
when I looked at them.

As agreed on IRC we'll try and push this one in, so it's there if we want it.
Attachment #179078 - Attachment is obsolete: true
Attachment #179977 - Flags: superreview?(dveditz)
Attachment #179977 - Flags: review?(dveditz)
This is a small oversight in packager Makfile.in which I think might be worth
just checking in, independently if we use it or not.
All other packages created from that Makefile use the generic configure vars,
only the Mac package name is hardcoded, which can be easily replaced with
DISPLAYNAME (we do the same in xpfe/bootstrap for the Mac .app bundle)
Attachment #180056 - Flags: superreview?(dveditz)
Attachment #180056 - Flags: review?(dveditz)
Comment on attachment 179977 [details] [diff] [review]
Rebranding of Unix installer v2.

sr=dveditz
I'm surprised you needed to make this many changes. I thought we used the same
scripts to produce Mozilla and Netscape packages and expected them to be
parameterized in this way already. Netscape did have separate config.it and
*.jst files, of course, and an additional packages-unix to process.
Attachment #179977 - Flags: superreview?(dveditz) → superreview+
Comment on attachment 180056 [details] [diff] [review]
Small packager Makefile fix (checked in)

r/sr=dveditz
Attachment #180056 - Flags: superreview?(dveditz)
Attachment #180056 - Flags: superreview+
Attachment #180056 - Flags: review?(dveditz)
Attachment #180056 - Flags: review+
Attachment #179977 - Flags: review?(dveditz) → review?(ajschult)
Comment on attachment 179977 [details] [diff] [review]
Rebranding of Unix installer v2.

>-# usage: perl deliver.pl version URLPath stubName blobName buildWizard
>-# e.g.   perl deliver.pl 5.0.0.1 ftp://foo/ mozilla-installer mozilla-installer
>+# usage: perl deliver.pl version URLPath stubName blobName buildWizard appname appdisplayname
>+# e.g.   perl deliver.pl 5.0.0.1 ftp://foo/ mozilla-installer mozilla-installer mozilla Mozilla

appName and appDisplayName (deliver.pl and deliver-static.pl)

with that, r=ajschult
Attachment #179977 - Flags: review?(ajschult) → review+
Comment on attachment 180056 [details] [diff] [review]
Small packager Makefile fix (checked in)

this change only affects SeaMonkey installer, requesting a=
Attachment #180056 - Flags: approval1.8b2?
This patch fixes the review nits. Carrying forward r and sr.

requesting approval for 1.8b2. This change only affects the seamonkey
installer.
Attachment #179977 - Attachment is obsolete: true
Attachment #180317 - Flags: superreview+
Attachment #180317 - Flags: review+
Attachment #180317 - Flags: approval1.8b2?
Comment on attachment 180056 [details] [diff] [review]
Small packager Makefile fix (checked in)

a=asa
Attachment #180056 - Flags: approval1.8b2? → approval1.8b2+
Comment on attachment 180317 [details] [diff] [review]
Rebranding of Unix installer for check in (checked in)

a=asa
Attachment #180317 - Flags: approval1.8b2? → approval1.8b2+
Comment on attachment 180056 [details] [diff] [review]
Small packager Makefile fix (checked in)

checked in that small fix.
Attachment #180056 - Attachment description: Small packager Makefile fix → Small packager Makefile fix (checked in)
Comment on attachment 180317 [details] [diff] [review]
Rebranding of Unix installer for check in (checked in)

Checked in the unix patch.
Attachment #180317 - Attachment description: Rebranding of Unix installer for check in → Rebranding of Unix installer for check in (checked in)
If we can hardcode the new name, I can probably produce a working windows
installer very quickly.  It took a while to get the installer to actually
compile and work properly (without any rebranding), but I suspect swapping in
the new name now that it works would not be difficult.
I haven't looked at your changes, but since the same install code worked for
both Mozilla and Netscape you should be able to easily change the name without
hardcoding it.
Sorry for jumping in without looking. Yes, it's hardcoded in the *.jst and *.it
files, as well as the deliver build scripts. You don't need to change the GRE
stuff -- it's still the Mozilla GRE regardless of the app name (Netscape
installed the Mozilla GRE as-is, too -- that was kind of the point, though it
turned out to be less sharable in practice that we wanted. Long live XULRunner).

Many of the registry keys that say "Mozilla" you'll want to leave -- that's a
family name that's used in some places by the app. In particular leave
references to Mozilla/Desktop alone. Some you can change, but most of those
already have $ProductName$.
I have a working win32 suite installer.  The only remaining problem is that it
claims to be version 1.8b2 instead of 1.0a
The issue from comment 23 is fixed.  I still hardcode the new name, but we can
use that to push out a first release, and make it easily rebrandable later.
The other patch probably needs this change as well.
Attachment #185424 - Flags: superreview?(dveditz)
Attachment #185424 - Flags: review?(benjamin)
Attachment #185424 - Flags: superreview?(dveditz)
Attachment #185424 - Flags: review?(benjamin)
(In reply to comment #26)
> Created an attachment (id=185424) [edit]
> configure.in changes
> 
> The other patch probably needs this change as well.

This is a core part of stage 2 for bug 285696 and should not go in from this bug
report (actually the patch for this one shouldn't go in before bug 285696 gets
in, but as shortly afterwards as possible).
The configure.in changes also break tinderboxen (change of binary file names),
and we need to do a coordinated effort to do it, once the last issues about the
name going offical are solved.
Comment on attachment 185423 [details] [diff] [review]
rebrand windows installer (checked in)

I'm vaguely worried about the change to win_gre/config.it process name: are you
planning on changing the "MozillaMessageWindow" constant, or are mozilla1.7 and
seamonkey1.0 going to share it? If they are going to share, we should really
try to shut down both Mozilla.exe and SeaMonkey.exe.

Although I think that I prefer that you change the message window constant to
SeaMonkeyMessageWindow now: it will make your xulrunner-migration life a lot
easier.
Attachment #185423 - Flags: review?(benjamin) → review+
Just to correct a remark from comment 2: OS/2 does not use the Toolkit
installer, FF and TB don't even have an installer on OS/2... It's nice of you to
think of OS/2 as well, but please ask if you need info or help with that!

I guess nobody has looked at the files in xpinstall/packager/os2/ yet, so let me
try to create a similar patch as for Win and Unix.
(In reply to comment #29)
> Just to correct a remark from comment 2: OS/2 does not use the Toolkit
> installer, FF and TB don't even have an installer on OS/2... It's nice of you to
> think of OS/2 as well, but please ask if you need info or help with that!
> 
> I guess nobody has looked at the files in xpinstall/packager/os2/ yet, so let me
> try to create a similar patch as for Win and Unix.

We're happy if we get one :)
Though OS/2 is clearly now showstopper for us (as it's no tier-1 platform), it's
always nice to be able to support more than our basic set of 3 platforms.
I think though that you people should look into getting the toolkit installer
(which is bascially a fork of the other one) to work on OS/2, as will very
likely move over to that sooner or later. It looks like we're staying with the
"old" suite installer for our first alpha at least, though.
This is similar to the windows patch (attachment 185423 [details] [diff] [review]). I noticed that in   
deflenus.jst, langenus.jst, and regus.jst there are strings like
"locales/mozilla/". These were not changed for the windows patch so I didn't do
that here for fear of what it might break (although it didn't AFAICT). I also
noticed that the windows patch does not change the strings in
xpinstall/wizard/windows, was that intentional?
(In reply to comment #28)
> (From update of attachment 185423 [details] [diff] [review] [edit])
> I'm vaguely worried about the change to win_gre/config.it process name: are you
> planning on changing the "MozillaMessageWindow" constant, or are mozilla1.7 and
> seamonkey1.0 going to share it? If they are going to share, we should really
> try to shut down both Mozilla.exe and SeaMonkey.exe.
> 
> Although I think that I prefer that you change the message window constant to
> SeaMonkeyMessageWindow now: it will make your xulrunner-migration life a lot
> easier.
> 

Yes, I'll change it to SeaMonkeyMessageWindow.
Comment on attachment 185423 [details] [diff] [review]
rebrand windows installer (checked in)

> [Check Instance0]
> Class Name=MozillaMessageWindow
 ...
>-Message=Download of $ProductName$ was successful. However, Mozilla must be closed to proceed with this installation. Click OK to exit Mozilla automatically and to begin installation.
>+Message=Download of $ProductName$ was successful. However, SeaMonkey must be closed to proceed with this installation. Click OK to exit SeaMonkey automatically and to begin installation.

Does SeaMonkey still use "MozillaMessageWindow"? If the product code hasn't
changed then this will require shutting down Mozilla as well... Maybe the
original message was right? Or it should be changed to "Mozilla-based products
must be closed..."

Or if SeaMonkey code changed the window class then this must be changed as well
of you either won't detect it running, or won't be able to shut it down.


>Index: xpinstall/packager/win_gre/uninstall.it
>===================================================================
> [Check Instance0]
> Class Name=MozillaMessageWindow

Same here, but less important because everyone loves us so much they never
uninstall :-)

>Index: xpinstall/packager/windows/config.it
>===================================================================
> [Windows Integration-Item1]
> CheckBoxState=FALSE
>-Description=Make Mozilla Netcenter my home page
>+Description=Make SeaMonkey Netcenter my home page
> Archive=
> 
> [Windows Integration-Item2]
> CheckBoxState=FALSE
>-Description=Use Mozilla Netcenter to search the Web
>+Description=Use SeaMonkey Netcenter to search the Web
> Archive=

"Netcenter"? I suspect these strings don't get shown.

sr=dveditz
Attachment #185423 - Flags: superreview?(dveditz) → superreview+
Comment on attachment 185423 [details] [diff] [review]
rebrand windows installer (checked in)

requesting approval:
suite-only change to rebrand the windows installer
Attachment #185423 - Flags: approval1.8b3?
Comment on attachment 185423 [details] [diff] [review]
rebrand windows installer (checked in)

a=bsmedberg
Attachment #185423 - Flags: approval1.8b3? → approval1.8b3+
OK, we're ready to go code/patch-wise, but Chase is overloaded currently (no
time before the july 4 holiday) and can't do the infrastructure stuff atm.

We have to coordinate bugs 292268,285696,288199,289846,298901 to make it all
happen at once and make the transition as smooth as possible, so we'll push out
the whole thing a few days (this is all SeaMonkey-only so we don't have to care
about aviary 1.1a2 too much), I hope it'll be ASAP - still need to schedule an
impact date/time with Chase though.

Additionally, we'll have to wait a few days as well to get MoFo reviews on the
announcement which should go public in a tight timeframe around the happening of
those changes.
Please be warned it's coming up but patient at the same time.
Attachment #185971 - Flags: superreview?(dveditz)
Attachment #185971 - Flags: review?(benjamin)
Comment on attachment 185423 [details] [diff] [review]
rebrand windows installer (checked in)

Checked in, with SeaMonkeyMessageWindow instead of MozillaMessageWindow as
discussed.
Attachment #185423 - Attachment description: rebrand windows installer → rebrand windows installer (checked in)
Attachment #185971 - Flags: review?(benjamin) → review+
Comment on attachment 185971 [details] [diff] [review]
rebrand os2 installer (checked in)

I think the missing OS/2 fix for bug 292268 should also be incorporated into
this patch, as else it conflicts with the makeall.pl changes that are made here
already.
Attachment #185971 - Flags: superreview?(dveditz)
Attachment #185971 - Flags: superreview+
Attachment #185971 - Flags: approval1.8b3+
Attachment #185971 - Attachment description: rebrand os2 installer → rebrand os2 installer (checked in)
Attachment #185971 - Flags: approval1.8b3+
OK, unix, windows, os/2 variants checked in - this looks fixed to me :)
Status: NEW → RESOLVED
Closed: 19 years ago
Resolution: --- → FIXED
Verified FIXED on Windows XP using 2005-07-10-05, SeaMonkey stub and full
installers.  (Those on other platforms feel free to chime in!)
Status: RESOLVED → VERIFIED
You need to log in before you can comment on or make changes to this bug.