On 24 August 2010 05:35, James Paige <[email protected]> wrote:
> On Tue, Aug 24, 2010 at 05:09:26AM +1200, Ralph Versteegen wrote:
>> On 24 August 2010 04:26, James Paige <[email protected]> wrote:
>> > On Mon, Aug 23, 2010 at 04:54:54AM -0700, [email protected] 
>> > wrote:
>> >> teeemcee
>> >> 2010-08-23 04:54:54 -0700 (Mon, 23 Aug 2010)
>> >> 300
>> >> You can't move a file to a different mounted filesystem with rename(2), 
>> >> so Vikings would crash for me while trying to upgrade.
>> >>
>> >> (Maybe this would have failed on Windows as well?)
>> >>
>> >> I left in some of my debugging code. Could be useful elsewhere, and those 
>> >> blasted rename calls have broken on me before.
>> >
>> > What would be thge consequences of replacing this rename call with a
>> > copy, followed by a delete? Seems like it would be safer, with only a
>> > minor performance hit on something that only happens at upgrade anyway.
>>
>> I don't know whether that would be safer. There are a huge number of
>> different file IO errors that can happen either way. We should
>> reallydo much more error detection around IO so that we can report
>> errors when they occur, but I think preventing errors is hopeless
>> (other than possibly giving an "Abort, Fail, Retry" prompt)
>
> I agree.

Honestly, our error reporting

>> > lso, unless I totally missed something, this revision looks like it just
>> > adds error handling for this situation without actually fixing it.
>>
>> I changed the name of the temp file so that it's in the same directory
>> instead of being put in tmpdir.
>
> Aha! That is the part that I missed! Okay, I now understand why that
> would fix this particular problem.
>
> But wouldn't this break if the rpgdir is on a read-only location? The
> reasonf for using tmpdir is that the rpgdir might have been installed
> system-wide by the package manager, in some place like
> /usr/share/games/vikings-of-midgard/

You'll see that the entire upgrade sub already assumes the rpgdir is
writeable. Custom copies it to a writeable location, and Game... well
I've always been unhappy with the fact that it upgrades rpgdirs
in-place, but maybe I was wrong. I've seen one person expect that
behaviour (for .rpg files too).

I still prefer the fast "don't unlump, and upgrade in-memory"
solution. I just saw an LP of Boundless Ocean... it took over half a
minute for the game to unlump and upgrade. Embarrasing.

> *goes to test*
>
> Well, looks like we already have some other problems with that
> situation. Running a read-only rpgdir results in a red warning box with
> no text in it, and a debug log message about:

When did all our error reporting break? fatalerror and debug really
need replacing.

> rpgfix:/usr/share/games/vikings-of-midgard/vikings.rpgdir not writeable
> rpgfix:Making no attempt to upgrade.
>
> My .deb files for Wandering Hamster and Vikings of Midgard are still
> okay, because they both install lumped rpg files, not unlumped rpgdirs.
>
> ---
> James
> _______________________________________________
> Ohrrpgce mailing list
> [email protected]
> http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org
>
_______________________________________________
Ohrrpgce mailing list
[email protected]
http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org

Reply via email to