Closed Bug 1163442 Opened 9 years ago Closed 9 years ago

Use FINAL_TARGET_FILES and PP_TARGETS for SeaMonkey themes

Categories

(SeaMonkey :: Themes, defect)

defect
Not set
normal

Tracking

(seamonkey2.38 fixed)

RESOLVED FIXED
seamonkey2.38
Tracking Status
seamonkey2.38 --- fixed

People

(Reporter: iannbugzilla, Assigned: iannbugzilla)

Details

Attachments

(1 file, 2 obsolete files)

Attached patch Port changes to SeaMonkey (obsolete) — Splinter Review
This ports:
Theme specific parts for Bug 870891 - Move DIST_FILES to moz.build
Bug 1137364 - part 2 - move browser themes icon installation to FINAL_TARGET_FILES
Attachment #8603887 - Flags: review?(neil)
Comment on attachment 8603887 [details] [diff] [review]
Port changes to SeaMonkey

So, this almost works.
Without "NO_DIST_INSTALL = True" the chrome is packaged into the classic xpi
With it, classic's chrome isn't put into dist/bin/chrome

Should we just have classic chrome within the xpi or is there another way?
Flags: needinfo?(neil)
Attachment #8603887 - Flags: review?(neil)
(In reply to Ian Neal from comment #1)
> So, this almost works.
> Without "NO_DIST_INSTALL = True" the chrome is packaged into the classic xpi
> With it, classic's chrome isn't put into dist/bin/chrome
Sorry, I'm not seeing what you're trying to say here. Can you list what happens:
a) currently
b) with this patch
c) with this patch but without NO_DIST_INSTALL = True

> Should we just have classic chrome within the xpi or is there another way?
I'm pretty sure it belongs in dist/bin/chrome
a) currently
There is a classic xpi stub in dist/bin/extensions
There is a manifest and directory for classic in dist/bin/chrome
b) with the patch
There is a classic xpi stub in dist/bin/extensions
There is no classic directory and manifest in dist/bin/chrome
c) with the patch but without NO_DIST_INSTALL = True
There is a classic xpi, containing the manifest and chrome, in dist/bin/extensions

Doing pre-processing of install.rdf with DIST_FILES/DIST_SUBDIR seems to force the chrome to be put into the same place. Have to revert to plan B, using PP_TARGETS in Makefile.in
Flags: needinfo?(neil)
Ok, plan B doesn't work either.
If in the Makefile.in you have something like:
CLASSIC_EXTENSION_DIR = {972ce4c6-7e08-4474-a285-3208198ce6fd}
INSTALL_FILE := install.rdf
INSTALL_FILE_PATH := $(FINAL_TARGET)/extensions/$(CLASSIC_EXTENSION_DIR)
PP_TARGETS += INSTALL_FILE
It doesn't even try to copy the file, whereas if you set the INSTALL_FILE_PATH to something that doesn't exist then it attempts to copy the file (and fails for obvious reasons)!
This makes no sense to me, but perhaps glandium knows more
Flags: needinfo?(mh+mozilla)
Without seeing the actual patch, I can only do guesswork. Is your snippet before including rules.mk? Have you tried adding quotes around the class extension dir?
Flags: needinfo?(mh+mozilla)
Attached patch Plan B patch (obsolete) — Splinter Review
So this is the patch for plan B
Doing a bit more testing, if I don't include rules.mk and specify the path explicitly to the directory without using the $(FINAL_TARGET), it copies the file.
Flags: needinfo?(mh+mozilla)
Comment on attachment 8604691 [details] [diff] [review]
Plan B patch

Review of attachment 8604691 [details] [diff] [review]:
-----------------------------------------------------------------

::: suite/themes/classic/Makefile.in
@@ +5,1 @@
>  include $(topsrcdir)/config/rules.mk

This include must be *after* PP_TARGETS. which means it would be last in the file, which means it can be removed altogether.
Comment on attachment 8604691 [details] [diff] [review]
Plan B patch

Review of attachment 8604691 [details] [diff] [review]:
-----------------------------------------------------------------

::: suite/themes/classic/Makefile.in
@@ +8,3 @@
>  
> +INSTALL_RDF := install.rdf
> +INSTALL_RDF_PATH := $(FINAL_TARGET)/extensions/$(CLASSIC_EXTENSION_DIR)

Use = here instead of :=, FINAL_TARGET is not defined by the time this line is reached.
Flags: needinfo?(mh+mozilla)
Summary: Use FINAL_TARGET_FILES and DIST_FILES for SeaMonkey themes → Use FINAL_TARGET_FILES and PP_TARGETS for SeaMonkey themes
Attachment #8603887 - Attachment is obsolete: true
Attachment #8604691 - Attachment is obsolete: true
Attachment #8606208 - Flags: review?(neil)
Comment on attachment 8606208 [details] [diff] [review]
Use FINAL_TARGET_FILES and PP_TARGETS [Checked in: Comment 12]

Ah yes, Thunderbird manages it by having separate themes for each platform so they can install install.rdf in a different Makefile, while Firefox is just weird.

Is it worth giving classic_extension_dir a symbolic name like Thunderbird does in mail/themes/moz.build?
Attachment #8606208 - Flags: review?(neil) → review+
Comment on attachment 8606208 [details] [diff] [review]
Use FINAL_TARGET_FILES and PP_TARGETS [Checked in: Comment 12]

Checked in with suggested change
https://hg.mozilla.org/comm-central/rev/1fafcee93411
Attachment #8606208 - Attachment description: Use FINAL_TARGET_FILES and PP_TARGETS → Use FINAL_TARGET_FILES and PP_TARGETS [Checked in: Comment 12]
Status: ASSIGNED → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → seamonkey2.38
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: