regxpcom does not create component.reg if components/compreg.dat is up-to-date.

RESOLVED INVALID

Status

()

defect
RESOLVED INVALID
17 years ago
11 years ago

People

(Reporter: mozilla-bugs, Assigned: dougt)

Tracking

({regression})

Trunk
x86
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Reporter

Description

17 years ago
Reproducible: always

To reporduce:

1) run regxpcom
2) rm component.reg
3) run regxpcom again

Expected: component.reg re-created
Actual: It's still missing.

Only if in step 2 I remove both component.reg and components/compreg.dat, then
regxpcom re-creates both.

Among other things this creates problems with RPMs that where
rebuild-databases.pl deletes component.reg before running regxpcom.
Reporter

Comment 1

17 years ago
I do not think this problem existed with BuildID 2002061018 (trunk), but it
appeared in BuildID 2002061717 (trunk).
Keywords: regression
Assignee

Comment 2

17 years ago
This is invalid.  See 48888.  The component.reg file, dispite its name, has
nothing to do with xpcom component registration.  Components such as intl,
profiles, and xpinstall, put their data into this file going through
nsIRegistry, but this has nothing to do with autoregistration.

Clearly, the workaround is to now delete both files before calling regxpcom.  

Please note, if 48888 ever lands on the mozilla 1.0x branch, you will have to
delete both files there too.
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → INVALID
Reporter

Comment 3

17 years ago
Well, still this seems like a bug - if regxpcom is the primary (and only) way to
create that file and if the file is necessary for something, then IMHO regxpcom
should create the file consistently, even if it's not regxpcom's primary goal.

P.S. Also, when the file is not there, Mozilla will crash on "View -> Charset"
(just building the menu!) - bug 152545.
Assignee

Comment 4

17 years ago
what can you really do, Aleksey?  component.reg is a backend store which is
created via components which regxpcom knows *nothing* about.  

Eventually, alecf and I will remove the need for the component.reg by converting
these callers to use something else (and thereby remove libreg). Until then, use
the work around.

If you have any suggestion on to do this properly, I am all ears.

I just looked at /usr/lib/mozilla/rebuild-databases.sh which deletes
/usr/lib/mozilla/component.reg, but not /usr/lib/mozilla/components/compreg.dat.
IOW: This thing is useless?

pi
Reporter

Comment 6

17 years ago
Boris, do you have Mozilla installed from an RPM? Who built it? You should
probably let them know that they need to fix rebuild-databases.sh to remove
components/compreg.dat as well. And somebody (blizzard?) needs to fix the
build/packages/rpm/SOURCES/rebuild-databases.sh in Mozilla CVS (BTW, why is it
still there? I though modern RPMs had mozilla-rebuild-databases.pl in them.).
Well, actually, my admin builds his own RPM from source since it is usually not
available for RedHat 6.0. Fixing this by hand does the job. rebuild-databases.sh
really has to be fixed.

pi
I'll check the changes into cvs soonish.  I've updated the rebuild scripts.

Updated

11 years ago
Component: XPCOM Registry → XPCOM
QA Contact: doug.turner → xpcom
You need to log in before you can comment on or make changes to this bug.