[Bug 60268] New: wine got case sensitive in case of complete file pathes
http://bugs.winehq.org/show_bug.cgi?id=60268 Bug ID: 60268 Summary: wine got case sensitive in case of complete file pathes Product: Wine Version: 11.14 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@list.winehq.org Reporter: mywine@schiermeier-it.de Target Milestone: --- Distribution: --- Until wine-11.12 wine wasn't case sensitive. This behaviour changed in wine-11.14 (I did not use wine-11.13). Example: my windows apps are in /opt/winprog. There live a small flashcards app called CUEcards with this path: /opt/winprog/CUEcards/cuecards.exe. To get an easy access I created a desktop file with this path: /opt/winprog/cuecards/cuecards.exe So the first three letters of the word CUEcards were witten in small letters. This worked until wine-11.12 flawless. Than this behaviour changed: wine got case insensitiv! In Windows both would work - but not anymore in wine. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60268 Joerg Schiermeier <mywine@schiermeier-it.de> changed: What |Removed |Added ---------------------------------------------------------------------------- URL| |https://www.mhst.net/cuecar | |ds2/ Keywords| |download, regression Distribution|--- |Debian CC| |mywine@schiermeier-it.de Regression SHA1| |e8781e7c8d0770186678c2dc727 | |9bfc4506cfcb6 --- Comment #1 from Joerg Schiermeier <mywine@schiermeier-it.de> --- I guess this is a regression. See the SHA1 of the git commit from my regression test. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60268 Austin English <austinenglish@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60268 Austin English <austinenglish@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Component|-unknown |ntdll -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60268 --- Comment #2 from Rafał Mużyło <galtgendo@o2.pl> --- Well, it's a behavior change, but is it really a regression if the new one is more correct ? You're passing a unix path and if the underlying filesystem is case-sensitive, then path with wrong casing is just wrong. wine squashes that on Windows paths, but should it really on unix ones ? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60268 --- Comment #3 from Joerg Schiermeier <mywine@schiermeier-it.de> --- (In reply to Rafał Mużyło from comment #2)
Well, it's a behavior change, but is it really a regression if the new one is more correct ?
Yes. This point of view is wrong. In windows it doesn't matter if you pass "/opt/winprog/CUEcards/cuecards.exe" or "/opt/winprog/cuecards/cuecards.exe" to a process, because Windows isn't case-sensitive. So it is not "more correct". Very simple: Example: wine /opt/winprog/cuecards/cuecards.exe 1.) wine is part of the "compatibility layer" 2.) its parameter is based in the "Windows world" This parameter should act like in Windows. And to answer your first question: Yes, this is a regression. btw.: I don't like this less correct behaviour of Windows - but it is what it is. We/wine will have to deal with it. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60268 --- Comment #4 from Ken Sharp <imwellcushtymelike@gmail.com> --- "/opt/winprog/CUEcards/cuecards.exe" and "/opt/winprog/cuecards/cuecards.exe" are both valid Unix paths. How is Wine to know which one to use? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60268 --- Comment #5 from Joerg Schiermeier <mywine@schiermeier-it.de> --- (In reply to Ken Sharp from comment #4)
"/opt/winprog/CUEcards/cuecards.exe" and "/opt/winprog/cuecards/cuecards.exe" are both valid Unix paths. How is Wine to know which one to use?
Exactly this is the question we will have to answer! We will have to define which answer is matching to wines actual approach. Until the current change the correct answer was: both pathes points to the same directory if it is used as a parameter for wine. If we now want to change this behaviour this is a new direction. And should be published very prominent. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60268 --- Comment #6 from Joerg Schiermeier <mywine@schiermeier-it.de> --- A corrextin of bad Englisch:
Than this behaviour changed: wine got case insensitiv!
What I wanted to say: Then this behaviour changed: wine got case sensitiv! -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60268 --- Comment #7 from Zeb Figura <z.figura12@gmail.com> --- This worked before due to a kind of broken set of coincidences. It really wasn't supposed to work. Normally we recognize Unix paths and interpret them as Unix paths, but if the Unix path doesn't exist (like here—and we just use stat()), we fall back to interpreting it as a DOS path. DOS paths actually can start with a separator, which is probably a little-known feature; the path is interpreted relative to the root of the current drive. Hence it would fail if there was no drive mapped to /, even if there was a mapped drive containing the file in question. (If there wasn't, it would not just fail but crash; this was bug 60021, which is what the blamed commit fixed.) It would also fail if your current directory was contained within another drive, say, if you were in drive_c, because then the root of the current drive would not be /. After 60021 we assume that any path passed directly to wine, starting with /, is a Unix path, and we treat it as such. That means case sensitivity. In every other place in Wine where Unix paths are accepted, they are treated as case sensitive. Z: paths are case-insensitive, but if your path begins with a single forward slash, it is assumed to be a Unix path and follow Unix rules. This isn't unfixable, but it would either require altering the case sensitivity rules everywhere, or making this one case act differently. And given the weight of regression against the fact that (1) this was never supposed to work, (2) it did not work in all circumstances, (3) it doesn't seem that hard to just pass the right paths, or alternatively prepend a Z: to your path, it's hard to assert that this should actually be "fixed". -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=60268 Zeb Figura <z.figura12@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Summary|wine got case sensitive in |Launching an absolute Unix |case of complete file |path with incorrect case |pathes |fails -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (1)
-
WineHQ Bugzilla