|Anonymous | Login||10-27-2020 23:10 UTC|
|Main | My View | View Issues | Change Log | Docs|
|Viewing Issue Simple Details [ Jump to Notes ]||[ View Advanced ] [ Issue History ] [ Print ]|
|ID||Category||Severity||Reproducibility||Date Submitted||Last Update|
|0006828||[Squeak] VM||minor||N/A||12-27-07 23:05||02-23-13 18:48|
|Summary||0006828: make FileCopyPlugin work on 32/64 bit images and 32/64 bit unix VMs|
November 18, 2007 4:18:45 PM PST (CA)
This is a set of support code patches that make FileCopyPlugin work on
32/64 bit images and 32/64 bit unix VMs, plus a unit test for verification.
FileCopyPluginTest-dtl.cs provides a unit test to verify operation of
the FileCopyPlugin. Interestingly, the FileCopyPlugin has never worked
correctly on Unix because it answered a primitiveFail after a successful
copy operation. That means that the primitive code was doing the copy,
and the fallback code would re-do it afterward.
The support code changes are in the following files:
- For all platforms (unix and Mac OS are impacted):
- For Unix:
- Mac OS platform code will need an update also, but I did not try to do
this (it should be simple, but I cannot test the result).
- Win32 and RiscOS do not appear to be impacted.
|Attached Files||FileCopyPluginFixes.zip [^] (5,262 bytes) 12-27-07 23:05|
(0011595 - 412 - 424 - 424 - 424 - 424 - 424)
On 27-Dec-07, at 3:47 PM, tim Rowledge wrote:
Dave did the work to make the FileCopyPlugin work properly - and yes, I know it is vile, awful, tasteless and shouldn't exist, thank you, but until the file system is rewritten to a standard slightly better than that achievable by drunken macacque it is needed - and I don't know if the changes have been incorporated in the repository. Has anyone updated things?
(0011597 - 522 - 534 - 534 - 534 - 534 - 534)
The unix file code just opens a new file, reads the old file, writes to the new file. This does not preserve file use attributes or create/mod dates, ACLs etc. Also for os-x HFS system you have HFS+ data, attributes, data/resource fork and a mess of other bits.
In os-x 10.4 there is a api now to copy file objects. I guess the question is now good do you want this to work? Note in Sophie we use FFI to copy files on the macintosh to preserve os-9 meta-data on media files so that quicktime will do the right thing.
(0011598 - 492 - 504 - 504 - 504 - 504 - 504)
On any platform that has file ownership. permissions, creator types, metadata that affects what happens to the file, whatever, it should all be copied 'correctly' whatever that means.
The Squeak code to copy a file does none of that. On RISC OS for example that would mean the filetype going AWOL which then makes life annoying for anyone trying to read the file in a texteditor. On Macs the lack of file type metadata might mean the XCode app deciding it isn't really a C file. etc., etc.
(0014316 - 629 - 645 - 645 - 645 - 645 - 645)
I would be *very* surprised if this were actually needed any more on *nix. It was only ever implemented as a quick hack to copy a file without losing the permissions & date that helped keep things straight for an early version of VMMaker. So far as I can see the unxi usage of VMMaker doesn't copy any files around and so it's hard to see it being worth keeping around.
For RISC OS it is essential for keeping the file meta-data correct - but then RISC OS does the proper sort of copy with a trivial system call, not the astonishing list of complicated flim-flammery unix seems to need. Similar reasons seem to exist on OS X.
(0014318 - 316 - 316 - 316 - 316 - 316 - 316)
|The plugin is definitely not used on unix platforms, and should should be removed from the actual VM distributions for unix. Probably a good way to do that is just delete the platform support code for unix (platforms/unix/plugins/FileCopyPlugin) so that it does not get built, but leave the plugin in VMMaker itself.|
(0014319 - 198 - 204 - 204 - 204 - 204 - 204)
Yup. If Ian cares to pull the unix platform code for it, VMMaker will take care of the rest.
I wonder if the file system code will ever actually get improved enough to make it un-needed everywhere?
|12-27-07 23:05||tim||New Issue|
|12-27-07 23:05||tim||Status||new => assigned|
|12-27-07 23:05||tim||Assigned To||=> tim|
|12-27-07 23:05||tim||File Added: FileCopyPluginFixes.zip|
|12-27-07 23:49||tim||Note Added: 0011595|
|12-28-07 00:31||johnmci||Note Added: 0011597|
|12-28-07 01:17||tim||Note Added: 0011598|
|05-27-08 18:33||tim||Status||assigned => acknowledged|
|11-24-08 18:06||lewis||Issue Monitored: lewis|
|01-09-11 22:50||lewis||Status||acknowledged => assigned|
|01-09-11 22:50||lewis||Assigned To||tim => lewis|
|02-23-13 06:38||tim||Note Added: 0014316|
|02-23-13 13:57||lewis||Note Added: 0014318|
|02-23-13 18:48||tim||Note Added: 0014319|
| Mantis 1.0.8[^]
Copyright © 2000 - 2007 Mantis Group
62 total queries executed.|
40 unique queries executed.