Closed
Bug 198947
Opened 22 years ago
Closed 22 years ago
instaling xpi again, create *.old files (from this package) in place orginal
Categories
(SeaMonkey :: Installer, defect)
Tracking
(Not tracked)
VERIFIED
FIXED
People
(Reporter: artiip, Assigned: ssu0262)
References
Details
Attachments
(1 file)
(deleted),
patch
|
darin.moz
:
review+
dmosedale
:
superreview+
asa
:
approval1.4b+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a ; ..:: Ar't ::..) Gecko/20030323
Build Identifier: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4a ; ..:: Ar't ::..) Gecko/20030323
instaling xpi again, create *.old files (in this package) in place orginal
mnenhy.jar -> mnenhy.old
fresh install# ls
mnenhy.jar
instaling again# ls
mnenhy.old
and again# ls
mnenhy.jar
mnenhy.old
Reproducible: Always
Steps to Reproduce:
1. install any xpi package eg from mozdev.org
2. install it again
3.
Actual Results:
new files deleted and only old exist
Expected Results:
old files replacing by new
Comment 1•22 years ago
|
||
yes. *.old files are created
Status: UNCONFIRMED → NEW
Component: Installer → Installer: XPI Packages
Ever confirmed: true
QA Contact: bugzilla → gbush
Reporter | ||
Updated•22 years ago
|
Flags: blocking1.4a?
The actual problem is with the nsLocalFile implamentation. It's either broken
on unix or broken on osx and win32.
Per my conversation with darin, this patch should take into account the
nsLocalFile discrepency between platforms. He will be fixing nsLocalFile to do
the right thing (which will not affect this patch).
Here's what the problem was:
nsLocalFile's MoveToNative() function sets the object that was moved to the new
named that it was moved to. It was not doing this under unix, only under OSX
and win32. Darin and I think that unix is correct and will be fixing the other
platforms to match (see bug 2000024).
Attachment #119025 -
Flags: superreview?(dveditz)
Attachment #119025 -
Flags: review?(sgehani)
Comment 3•22 years ago
|
||
(1) It appears to me that mac and windows behave as a developer would expect: if
I ask for a file to be moved, the file object's parent folder and leaf name
should reflect the new location (move destination). There is little value and
it seems to me it would be unexpected that the file object does not maintain the
state of its current location. Am I missing something?
(2) If (1) holds then the fix would be to change the unix behavior to comply
with mac and windows. That change would obviate the need to SetLeafName() as
you are doing after each MoveToNative(). XPInstall would not need to be
changed, nsLocalFileUnix would.
So the pending question is: who relies on the unix behavior of MoveToNative()
and are they suffering from divergent operational semantics across platforms?
Also, why is this a new bug? What code changed recently to cause this?
Updated•22 years ago
|
Flags: blocking1.4a? → blocking1.4a-
Reporter | ||
Updated•22 years ago
|
Flags: blocking1.4b?
It's hard to say who relies on the current Unix behavior. Xpinstall definitely
didn't before, and I don't know when this changed. I can't easily tell from cvs
blame.
Status: NEW → ASSIGNED
Comment 5•22 years ago
|
||
Comment on attachment 119025 [details] [diff] [review]
patch v1.0
>+ rv = renamedDoomedFile->SetNativeLeafName(uniqueLeafName);
seems like these should be #ifdef XP_UNIX given the comment. no?
I chose not to because when bug 2000024 is fixed, win32 and osx will have this
exact problem.
Attachment #119025 -
Flags: review?(sgehani) → review?(darin)
Comment 7•22 years ago
|
||
Comment on attachment 119025 [details] [diff] [review]
patch v1.0
er, ok... but when that bug is fixed, we'll want to rev this code anyways to at
least clean up the comments. r=darin
Attachment #119025 -
Flags: review?(darin) → review+
*** Bug 202973 has been marked as a duplicate of this bug. ***
Attachment #119025 -
Flags: superreview?(dveditz) → superreview?(jaggernaut)
Comment 9•22 years ago
|
||
bug 202973 was given 1.4b+ just before it was duped against this one, so I'm
carrying it forward.
I'd like to point out though, that from what I saw today, installing venkman a
third or fourth time did *not* make venkman show up. This bug suggests that it
should, and I noticed that it used to, but not anymore. Perhaps there is
another regression here.
Flags: blocking1.4b? → blocking1.4b+
Assignee | ||
Comment 10•22 years ago
|
||
yes. this bug does suggest that installing it a 3rd/4th time does get you the
original filename.
I'll test this again in the morning to make sure it fixes bug 202973.
Comment 11•22 years ago
|
||
Attachment #119025 -
Flags: superreview?(jaggernaut) → superreview+
Assignee | ||
Comment 12•22 years ago
|
||
The patch does fix bug 202973. I just tested it with a debug build built last
night. The reason it's not leaving the original filenames on the 3rd/4th
install is probably because the files in question are in use, which is different
from my test cases.
I don't see 'approval1.4b' in the edit patch page. I wonder how approvals are
given out these days...
Attachment #119025 -
Flags: approval1.4b?
Comment 13•22 years ago
|
||
Comment on attachment 119025 [details] [diff] [review]
patch v1.0
a=asa (on behalf of drivers) for checkin to 1.4b.
Attachment #119025 -
Flags: approval1.4b? → approval1.4b+
Assignee | ||
Comment 14•22 years ago
|
||
patch checked in.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Comment 16•22 years ago
|
||
This works for me now too. Thanks for the fix.
Updated•20 years ago
|
Product: Browser → Seamonkey
Component: Installer: XPI Packages → Installer
QA Contact: agracebush → general
You need to log in
before you can comment on or make changes to this bug.
Description
•