Closed Bug 482864 Opened 15 years ago Closed 15 years ago

Build does not generate chrome.manifest files for extensions, application complains

Categories

(Calendar :: Build Config, defect)

x86_64
Linux
defect
Not set
minor

Tracking

(Not tracked)

RESOLVED FIXED

People

(Reporter: david.ward, Assigned: ssitter)

References

Details

Attachments

(1 file)

User-Agent:       Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.0.7) Gecko/2009030423 Ubuntu/8.10 (intrepid) Firefox/3.0.7
Build Identifier: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1b4pre) Gecko/20090311 Sunbird/1.0pre

After building Sunbird 1.0pre and launching the application, the following error appears four times:

"Sunbird could not install this item because of a failure in Chrome registration.  Please contact the author about this problem."

The error goes away by creating empty chrome.manifest files for the two extension directories that do not have them -- specifically:

touch sunbird/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/chrome.manifest
touch sunbird/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/chrome.manifest

(The extensions are the Sunbird default theme and the Lightning stub extension for Sunbird.)

Either the build system needs to be producing these files, or the application needs to be able to deal with their absence.

Reproducible: Always




Sorry if this is a duplicate report.  I searched a while and couldn't find it elsewhere.  This has been going on for some time.
Yes, this should fix the issue discussed in Bug 482636.
Blocks: 482636
Status: UNCONFIRMED → NEW
Ever confirmed: true
This patch adds an empty chrome.manifest dummy file to each extension folder. I can't reproduce the issue on my Windows XP system therefore I request that someone builds and tests this patch on Linux.
Assignee: nobody → ssitter
Status: NEW → ASSIGNED
Attachment #367090 - Flags: review?(philipp)
That patch breaks the build under Linux:

make[7]: Entering directory `/usr/local/src/sunbird-1.0pre/calendar/sunbird/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}'
/usr/bin/perl ../../../../../../mozilla/config/preprocessor.pl -DMOZ_SUNBIRD=1 -DOSTYPE=\"Linux2.6\" -DOSARCH=Linux -DSUNBIRD_VERSION=1.0pre -DHAVE_64BIT_OS=1 -DMOZILLA_1_9_1_BRANCH=1 -DMOZILLA_VERSION=\"1.9.1b4pre\" -DMOZILLA_VERSION_U=1.9.1b4pre -DD_INO=d_ino -DSTDC_HEADERS=1 -DHAVE_ST_BLKSIZE=1 -DHAVE_SIGINFO_T=1 -DHAVE_INT16_T=1 -DHAVE_INT32_T=1 -DHAVE_INT64_T=1 -DHAVE_UINT=1 -DHAVE_UNAME_DOMAINNAME_FIELD=1 -DHAVE_VISIBILITY_HIDDEN_ATTRIBUTE=1 -DHAVE_VISIBILITY_ATTRIBUTE=1 -DHAVE_DIRENT_H=1 -DHAVE_GETOPT_H=1 -DHAVE_SYS_BITYPES_H=1 -DHAVE_MEMORY_H=1 -DHAVE_UNISTD_H=1 -DHAVE_GNU_LIBC_VERSION_H=1 -DHAVE_NL_TYPES_H=1 -DHAVE_MALLOC_H=1 -DHAVE_X11_XKBLIB_H=1 -DHAVE_SYS_STATVFS_H=1 -DHAVE_SYS_STATFS_H=1 -DHAVE_MMINTRIN_H=1 -DHAVE_SYS_CDEFS_H=1 -DHAVE_LIBM=1 -DHAVE_LIBDL=1 -DHAVE_DLADDR=1 -DFUNCPROTO=15 -DHAVE_XSHM=1 -DHAVE_FT_BITMAP_SIZE_Y_PPEM=1 -DHAVE_FT_GLYPHSLOT_EMBOLDEN=1 -DHAVE_FT_LOAD_SFNT_TABLE=1 -DHAVE_FT_SELECT_SIZE=1 -D_REENTRANT=1 -DHAVE_RANDOM=1 -DHAVE_STRERROR=1 -DHAVE_LCHOWN=1 -DHAVE_FCHMOD=1 -DHAVE_SNPRINTF=1 -DHAVE_MEMMOVE=1 -DHAVE_RINT=1 -DHAVE_STAT64=1 -DHAVE_LSTAT64=1 -DHAVE_TRUNCATE64=1 -DHAVE_FLOCKFILE=1 -DHAVE_LOCALTIME_R=1 -DHAVE_STRTOK_R=1 -DHAVE_RES_NINIT=1 -DHAVE_GNU_GET_LIBC_VERSION=1 -DHAVE_LANGINFO_CODESET=1 -DVA_COPY=va_copy -DHAVE_VA_COPY=1 -DHAVE_VA_LIST_AS_ARRAY=1 -DHAVE_I18N_LC_MESSAGES=1 -DMOZ_EMBEDDING_LEVEL_DEFAULT=1 -DMOZ_EMBEDDING_LEVEL_BASIC=1 -DMOZ_EMBEDDING_LEVEL_MINIMAL=1 -DMOZ_SUNBIRD=1 -DMOZ_BUILD_APP=calendar -DMOZ_DEFAULT_TOOLKIT=\"cairo-gtk2\" -DMOZ_WIDGET_GTK2=1 -DMOZ_ENABLE_XREMOTE=1 -DMOZ_X11=1 -DMOZ_DISTRIBUTION_ID=\"org.mozilla\" -DMOZ_ENABLE_GCONF=1 -DMOZ_ENABLE_GNOMEUI=1 -DMOZ_ENABLE_DBUS=1 -DIBMBIDI=1 -DMOZ_VIEW_SOURCE=1 -DACCESSIBILITY=1 -DMOZ_XPINSTALL=1 -DMOZ_JSLOADER=1 -DNS_PRINTING=1 -DNS_PRINT_PREVIEW=1 -DMOZ_NO_XPCOM_OBSOLETE=1 -DMOZ_XTF=1 -DMOZ_UPDATE_CHANNEL=default -DMOZ_FEEDS=1 -DMOZ_STORAGE=1 -DMOZ_LOGGING=1 -DSIZEOF_INT_P=8 -DMOZ_MEMORY_SIZEOF_PTR_2POW=3 -DMOZ_MEMORY=1 -DMOZ_MEMORY_LINUX=1 -DHAVE___CXA_DEMANGLE=1 -DHAVE__UNWIND_BACKTRACE=1 -DMOZ_USER_DIR=\".mozilla\" -DMOZ_STATIC_BUILD=1 -DHAVE_STDINT_H=1 -DHAVE_INTTYPES_H=1 -DMOZ_XUL=1 -DMOZ_PROFILELOCKING=1 -DMOZ_RDF=1 -DMOZ_MORK=1 -DMOZ_DLL_SUFFIX=\".so\" -DXP_UNIX=1 -DUNIX_ASYNC_DNS=1 -DMOZ_ACCESSIBILITY_ATK=1 -DATK_MAJOR_VERSION=1 -DATK_MINOR_VERSION=24 -DATK_REV_VERSION=0  ./install.rdf.in > install.rdf
/usr/local/src/sunbird-1.0pre/mozilla/config/nsinstall -R install.rdf ./chrome.manifest ./../../../../base/themes/winstripe/preview.png ./../../../../base/themes/winstripe/icon.png  ../../../../../../mozilla/dist/bin/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}
/usr/local/src/sunbird-1.0pre/mozilla/config/nsinstall: cannot access ./chrome.manifest: No such file or directory
make[7]: *** [libs] Error 1
(In reply to comment #3)
Looks like you only applied the changes to the existing Makefile.in files. 
The patch adds the two empty chrome.manifest files in addition.
I was actually just noticing that.  I recreated the source tree and tried applying your patch file again:

$ patch -p1 < bug482864-dummy-chrome.manifest.diff 

patching file calendar/installer/windows/packages-static
patching file calendar/sunbird/app/profile/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}/Makefile.in
patching file calendar/sunbird/app/profile/extensions/{e2fda1a4-762b-4020-b5ad-a41df1933103}/Makefile.in

The patch file isn't creating the chrome.manifest files for some reason.  If I do:

$ touch calendar/sunbird/app/profile/extensions/\{972ce4c6-7e08-4474-a285-3208198ce6fd\}/chrome.manifest
[sudo] password for david: 
$ touch calendar/sunbird/app/profile/extensions/\{e2fda1a4-762b-4020-b5ad-a41df1933103\}/chrome.manifest

then it works fine and the chrome.manifest files are created in the build.

Maybe there's some incompatibility between Windows and Linux when creating a patch that identifies new files.  I guess as long as the files get created in hg, it doesn't really matter if the patch is able to create them...
Attachment #367090 - Flags: review?(philipp) → review+
Comment on attachment 367090 [details] [diff] [review]
add chrome.manifest dummy files

r=philipp
(In reply to comment #5)
> $ patch -p1 < bug482864-dummy-chrome.manifest.diff 
...
> The patch file isn't creating the chrome.manifest files for some reason.  If I
> do:

patch doesn't work properly with git style patches. You either have to hg (q)import or use git-apply.
Pushed to comm-central <https://hg.mozilla.org/comm-central/rev/722655fdf289>
--> Fixed.
Status: ASSIGNED → RESOLVED
Closed: 15 years ago
Resolution: --- → FIXED
Target Milestone: --- → 1.0
Version: unspecified → Trunk
These bugs are likely targeted at Lightning 1.0b1, not Lightning 1.0. If this change was done in error, please adjust the target milestone to its correct value. To filter on this bugspam, you can use "lightning-10-target-move".
Target Milestone: 1.0 → 1.0b1
You need to log in before you can comment on or make changes to this bug.