#11 2025-03-14 13:47

fedkad
Member
Registered: 2024-04-13
Posts: 3

Re: RENAMER Compatibility (Linux)

ReNamer under Wine (tested on Ubuntu) cannot change the case of a file. So the Case rule, when used only by itself, does not work under Linux. However, besides the Case rule, if you add something else that changes the name of the file, then it works as expected. I think this is related to Wine's handling of file renaming operations.

Last edited by fedkad (2025-03-14 13:48)

Offline

#12 2025-03-14 22:05

spiritual2700
Member
Registered: 2024-10-30
Posts: 5

Re: RENAMER Compatibility (Linux)

fedkad wrote:

ReNamer under Wine (tested on Ubuntu) cannot change the case of a file. So the Case rule, when used only by itself, does not work under Linux. However, besides the Case rule, if you add something else that changes the name of the file, then it works as expected. I think this is related to Wine's handling of file renaming operations.

What version of wine are you running?

Offline

#13 2025-03-15 09:28

fedkad
Member
Registered: 2024-04-13
Posts: 3

Re: RENAMER Compatibility (Linux)

spiritual2700 wrote:

What version of wine are you running?

It is

wine-9.0 (Ubuntu 9.0~repack-4build3)

running in Ubuntu 24.10 (Oracular Oriole).

Offline

#14 2025-03-15 22:52

spiritual2700
Member
Registered: 2024-10-30
Posts: 5

Re: RENAMER Compatibility (Linux)

fedkad wrote:
spiritual2700 wrote:

What version of wine are you running?

It is

wine-9.0 (Ubuntu 9.0~repack-4build3)

running in Ubuntu 24.10 (Oracular Oriole).

I'm having the same behaviour on Kubuntu 24.04 with wine-10.0.

Offline

#15 2025-03-17 20:58

den4b
Administrator
From: den4b.com
Registered: 2006-04-06
Posts: 3,472

Re: RENAMER Compatibility (Linux)

fedkad wrote:

ReNamer under Wine (tested on Ubuntu) cannot change the case of a file. So the Case rule, when used only by itself, does not work under Linux. However, besides the Case rule, if you add something else that changes the name of the file, then it works as expected. I think this is related to Wine's handling of file renaming operations.

I believe your hunch is correct.

Wine's handling of file renaming operations prevents file renaming operations where only the case is changed. When you ask it to rename a file, it tries to physically copy the contents of the source file to the destination file. Basically, it tries to open both the source file and the destination file which would resolve into the same actual file, due case insensitive matching of filenames on Windows.

You can stop reading here, unless you are super geeky wink

----

ReNamer uses MoveFileW Windows API function to rename files.

Wine's implementation of MoveFileW function goes like this:

MoveFileW
=> MoveFileExW( source, dest, MOVEFILE_COPY_ALLOWED );

MoveFileExW
=> MoveFileWithProgressW( source, dest, NULL, NULL, flag );

MoveFileWithProgressW
=> CopyFileExW( source, dest, progress, param, NULL, flag & MOVEFILE_REPLACE_EXISTING ? 0 : COPY_FILE_FAIL_IF_EXISTS ))
=> DeleteFileW( source )

CopyFileExW
=> copy_file( source, dest, &params );

copy_file
=> CreateFileW( source, ... )
=> CreateFileW( dest, ... )
=> ReadFile
=> WriteFile

The copy_file function in Wine is where such renaming operations will fail.

Offline

Board footer

Powered by FluxBB