(C-C) building with --enable-official-branding is broken with: ValueError: Object directory paths are not allowed

RESOLVED FIXED in Thunderbird 60.0

Status

defect
--
blocker
RESOLVED FIXED
2 years ago
2 years ago

People

(Reporter: ishikawa, Assigned: Paenglab)

Tracking

Trunk
Thunderbird 60.0

Thunderbird Tracking Flags

(thunderbird59 fixed, thunderbird60 fixed)

Details

Attachments

(1 attachment, 2 obsolete attachments)

While building TB, I have encountered a build error when I enable
--official-branding in mozconfig.
ac_add_options --enable-official-branding

We have a very similar problem reported for Firefox, i.e., M-C portion of the tree lately. 
https://bugzilla.mozilla.org/show_bug.cgi?id=1416968

This helped me to diagnose the problem as something possibly is missing.
(But  then I had to use strace to see what is causing the failure in the end. :-(

I wish the patch mentioned in the following bugzilla entry would land soon to tackle this error in an easier manner.
https://bugzilla.mozilla.org/show_bug.cgi?id=1417180

The error message is as follows.
--- begin quote ---

js/src> updating cache /NREF-COMM-CENTRAL/objdir-tb3/config.cache
js/src> creating ./config.data
js/src> Creating config.status
Creating config.status
Reticulating splines...
Traceback (most recent call last):
  File "/NREF-COMM-CENTRAL/comm-central/configure.py", line 32, in <module>
    sys.exit(main(sys.argv))
  File "/NREF-COMM-CENTRAL/comm-central/configure.py", line 29, in main
    return config_status(config)
  File "/NREF-COMM-CENTRAL/comm-central/mozilla/configure.py", line 122, in config_status
    return config_status(args=[], **encode(sanitized_config, encoding))
  File "/NREF-COMM-CENTRAL/comm-central/mozilla/python/mozbuild/mozbuild/config_status.py", line 150, in config_status
    the_backend.consume(definitions)
  File "/NREF-COMM-CENTRAL/comm-central/mozilla/python/mozbuild/mozbuild/backend/base.py", line 128, in consume
    if (not self.consume_object(obj) and
  File "/NREF-COMM-CENTRAL/comm-central/mozi lla/python/mozbuild/mozbuild/backend/fastermake.py", line 57, in consume_object
    self._consume_jar_manifest(obj)
  File "/NREF-COMM-CENTRAL/comm-central/mozilla/python/mozbuild/mozbuild/backend/common.py", line 536, in _consume_jar_manifest
    (src, output_basename))
  File "/NREF-COMM-CENTRAL/comm-central/mozilla/python/mozbuild/mozbuild/frontend/context.py", line 585, in __call__
    return super(PathMeta, cls).__call__(context, value)
  File "/NREF-COMM-CENTRAL/comm-central/mozilla/python/mozbuild/mozbuild/frontend/context.py", line 696, in __init__
    super(RenamedSourcePath, self).__init__(context, source)
  File "/NREF-COMM-CENTRAL/comm-central/mozilla/python/mozbuild/mozbuild/frontend/context.py", line 655, in __init__
    raise ValueError('Object directory paths are not allowed')
ValueError: Object directory paths are not allowed
*** Fix above errors and then restart with\
               "/usr/bin/make -f client.mk build"
client.mk:360: recipe for target 'configure' failed
make: *** [configure] Error 1
--- end quote ---

Actually I am invoking |mozilla/mach build| which obviously invokces
"/usr/bin/make -f client.mk build" as sub-process.

Anyway, using strace to see what file is missing (as it turned out stat() call was used to check the existence of the files), eventually I found that the following two files were missing.

We are missing under the directory
comm-central/other-licenses/branding/thunderbird
two files

  mailicon48.png
  mailicon64.png

jar.mn, under the same directory, modified in December refers to
these files.

If I create a symlink as follows, build seems to proceed.
lrwxrwxrwx 1 ishikawa ishikawa     13 Jan 24 19:14 mailicon48.png -> default64.png
lrwxrwxrwx 1 ishikawa ishikawa     13 Jan 24 19:13 mailicon64.png -> default64.png

I thought these files were added to the tree by
https://bugzilla.mozilla.org/show_bug.cgi?id=1417334
when jar.mn was modified in December.
But maybe the testing with |ac_add_options --enable-official-branding| was not done yet.
Testing with branding of beta and aurora seems to have been done, though.

TIA
See Also: → 1417180, 1416968
Posted patch Bug1432903.patch (obsolete) — Splinter Review
Bug 1426547 didn't update the icons in the jar.mn file.
Assignee: nobody → richard.marti
Status: NEW → ASSIGNED
Attachment #8945192 - Flags: review?(mozilla)
(In reply to Richard Marti (:Paenglab) from comment #1)
> Created attachment 8945192 [details] [diff] [review]
> Bug1432903.patch
> 
> Bug 1426547 didn't update the icons in the jar.mn file.

Thank you for the feedback.

Maybe this line in jar.mn

 content/branding/icon64.png                       (default48.png)

ought to read

 content/branding/icon64.png                       (default64.png)

instead? I also made a mistake of symlinking the 48 pixel icon to 64 pixel icon (or vice versa) in my original report.
Comment on attachment 8945192 [details] [diff] [review]
Bug1432903.patch

(In reply to ISHIKAWA, Chiaki from comment #2)
> (In reply to Richard Marti (:Paenglab) from comment #1)
> > Created attachment 8945192 [details] [diff] [review]
> > Bug1432903.patch
> > 
> > Bug 1426547 didn't update the icons in the jar.mn file.
> 
> Thank you for the feedback.
> 
> Maybe this line in jar.mn
> 
>  content/branding/icon64.png                       (default48.png)
> 
> ought to read
> 
>  content/branding/icon64.png                       (default64.png)
> 
> instead? I also made a mistake of symlinking the 48 pixel icon to 64 pixel
> icon (or vice versa) in my original report.

Correct, I copied this without deeper checking from nightly/jar.mn. I'll fix this too.
Attachment #8945192 - Flags: review?(mozilla)
Posted patch Bug1432903.patch (obsolete) — Splinter Review
Fixed the nightly jar.mn too.
Attachment #8945192 - Attachment is obsolete: true
Attachment #8945502 - Flags: review?(mozilla)
Comment on attachment 8945502 [details] [diff] [review]
Bug1432903.patch

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

This looks correct. I'm testing the fix on try. This
https://treeherder.mozilla.org/#/jobs?repo=try-comm-central&revision=de9a71a53f904f1ade5c9fdefa8a3dd34bd066f1
should pass, and
https://treeherder.mozilla.org/#/jobs?repo=try-comm-central&revision=01f781372bec38bbea8bb3865b0b0b5e33b46896
should fail as described here. Once those are done, this can be landed and uplifted.
Attachment #8945502 - Flags: review?(mozilla)
Attachment #8945502 - Flags: review+
Attachment #8945502 - Flags: approval-comm-beta?
Comment on attachment 8945502 [details] [diff] [review]
Bug1432903.patch

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

It turns out there is another reference to mailicons in the jar.mn file
Attachment #8945502 - Flags: review-
Attachment #8945502 - Flags: review+
Attachment #8945502 - Flags: approval-comm-beta?
Comment on attachment 8946447 [details]
Bug 1432903 - Fix the icons in the branding jar.mn.

I don't think this affects Firefox so I'm not sure you need my approval here!
Attachment #8946447 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment on attachment 8946447 [details]
Bug 1432903 - Fix the icons in the branding jar.mn.

And after that comment I accidentally hit + instead of -. 
Shouldn't this go on comm-beta?
Flags: needinfo?(mozilla)
Attachment #8946447 - Flags: approval-mozilla-beta+ → approval-mozilla-beta-
Comment on attachment 8946447 [details]
Bug 1432903 - Fix the icons in the branding jar.mn.

Yes, I definitely meant to nominate this for comm-beta. Sorry for the noise.
Flags: needinfo?(mozilla)
Attachment #8946447 - Flags: approval-comm-beta?
Attachment #8946447 - Flags: approval-comm-beta? → approval-comm-beta+
Attachment #8945502 - Attachment is obsolete: true
Keywords: checkin-needed
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/b0aca2abe97c
Fix the icons in the branding jar.mn. r=tomprince DONTBUILD
Status: ASSIGNED → RESOLVED
Closed: 2 years ago
Keywords: checkin-needed
Resolution: --- → FIXED
(Getting beta patches ready)
Target Milestone: --- → Thunderbird 60.0
You need to log in before you can comment on or make changes to this bug.