Review Request 113395: Enable KConfig on Windows

Alexander Richardson arichardson.kde at googlemail.com
Wed Oct 23 10:59:05 UTC 2013



> On Oct. 23, 2013, 3:25 a.m., Andrius da Costa Ribas wrote:
> > tier1/kconfig/src/core/kconfigini.cpp, line 425
> > <http://git.reviewboard.kde.org/r/113395/diff/1/?file=204894#file204894line425>
> >
> >     Files have no owner on Windows. QFileInfo::ownerId() always returns -2 on Windows and so would do kdewin's getuid, so here we probably should follow the "if" part, not the "else" one.
> 
> Andrius da Costa Ribas wrote:
>     Oops. Double comment ... I thought the first one hadn't been saved ;)

Looks like files do have owners: http://msdn.microsoft.com/en-us/library/windows/desktop/aa446629%28v=vs.85%29.aspx

I guess the correct solution would be to get the owner SID using GetSecurityInfo and then GetTokenInformation to get the current SID and then compare that.


- Alexander


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/113395/#review42192
-----------------------------------------------------------


On Oct. 23, 2013, 2:03 a.m., Alexander Richardson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> http://git.reviewboard.kde.org/r/113395/
> -----------------------------------------------------------
> 
> (Updated Oct. 23, 2013, 2:03 a.m.)
> 
> 
> Review request for KDE Frameworks.
> 
> 
> Repository: kdelibs
> 
> 
> Description
> -------
> 
> KConfig now also compiles on Windows
> 
> 
> the qt3support function QDir::convertSeparators no longer exists
> 
> 
> remove dependency on unistd.h on Windows
> 
> 
> fix linking of KSharedConfig on MSVC2012
> 
> Without disabling the copy constructor we get an undefined referece to
> KConfig::KConfig(const KConfig&)
> 
> 
> Diffs
> -----
> 
>   tier1/CMakeLists.txt bc5bdaa46414c6c449920f38b0e16cdd1d9d1b9a 
>   tier1/kconfig/CMakeLists.txt 4cebdf010c73baf5381e9601072a59ba3f1c0a9f 
>   tier1/kconfig/autotests/kconfigtest.cpp 022809e9b9ec700206d472ed4cfa5ed82058bc34 
>   tier1/kconfig/src/core/kauthorized.cpp c814b729dc9b6e9efd9b3922fa02249abf460989 
>   tier1/kconfig/src/core/kconfig.cpp 2d5f4897f2bee8c881205ec3e0ef20f5d9d03564 
>   tier1/kconfig/src/core/kconfiggroup.cpp b42ca12e02af1cf173cee97d338cc895b4c822ed 
>   tier1/kconfig/src/core/kconfigini.cpp 5a7702a76f70d97fe48de8bb16f2a052e993d907 
>   tier1/kconfig/src/core/kdesktopfile.cpp 7518994ac7a72dc782d9df394e5b466a0cbac5fc 
>   tier1/kconfig/src/core/ksharedconfig.h b461999b29a6c966c6a8734b316dbbee11ecdc6c 
> 
> Diff: http://git.reviewboard.kde.org/r/113395/diff/
> 
> 
> Testing
> -------
> 
> This is a series of 4 small commits as one patch. I can squash them into one commit if that is preferred.
> 
> Everything compiles with VS2012 (64 bit). To get kconfig_compiler to generate the tests I had to add the Qt 5.2 beta binaries dir to PATH since that contains QtCore.dll, etc.
> 
> Test don't work due to Windows lacking rpath or LD_LIBRARY_PATH, i.e. the necessary libraries are not found.
> I see two possible solutions: 
> -CMake sets $PATH to include the needed libraries (have to make sure the newly compiled ones are before the installed ones)
> -A wrapper executable sets the DLL search paths and then launches the tests
> 
> I don't have the time to solve that problem now, if anyone does:
> 
> http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586%28v=vs.85%29.aspx
> http://msdn.microsoft.com/en-us/library/windows/desktop/ms686203%28v=vs.85%29.aspx
> http://msdn.microsoft.com/en-us/library/windows/desktop/hh310513%28v=vs.85%29.aspx
> 
> 
> Thanks,
> 
> Alexander Richardson
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20131023/976528ea/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list