Review Request 117078: Allow compiling kio on windows

Alexander Richardson arichardson.kde at googlemail.com
Wed Mar 26 10:50:39 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/117078/
-----------------------------------------------------------

(Updated March 26, 2014, 11:50 a.m.)


Review request for KDE Frameworks and kdewin.


Repository: kio


Description
-------

A series of commits (can submit separately if necessary):
---
Add S_IXUSR, IRUSR, etc. definitions for Windows
---
Add KIOPrivate::isProcessAlive() and KIOPrivate::sendTerminateSignal()

kill() does not work on Windows, therefore a WIN32 implementation is needed
in order to compile slave.cpp
---
Add KIOPrivate::symlinkTarget() to avoid directly calling readlink()

This allows KFileItem to be compiled on Windows.
The Windows implementation requires at least Windows Vista because
GetFinalPathNameByHandleW is not available in earlier version. Windows XP
support ends on the 8th of April so it should be okay to drop support for
it. If XP support is deemed necessary GetFinalPathNameByHandleW can be
loaded dynamically using GetProcAddress but that is not part of this patch.
Fix windows build of tests
---
Add KIOPrivate::changeOwnership() to avoid directly calling chown()

Additionally use KUserId/KGroupId instead of uid_t/gid_t.
This allows compiling chmodjob.cpp on Windows.

KIOPrivate::changeOwnership is a stub on Windows. However, it has always
been like that with the kdewin chmod() implementation, so this is not a
regression from kdelibs4.
---
Add KIOPrivate::createSymlink() to avoid using symlink() directly
---
Minor Windows compile fixes
---
Use KUser in KPropertiesDialog

This means no more need for getpwent(), etc -> works on Windows
---
Export the KIOPrivate functions
---
Fix kio_http build on Windows
---
No longer use uid_t/gid_t in kio_file
---
Allow compiling kurlcompletion.cpp on windows
---
Add a fake QT_LSTAT for Windows

This just calls QT_STAT and adds QT_STAT_LNK flag to st_mode if it is a
symlink
---
Use KUser in kpropertiesdialog.cpp -> no more getgrouplist


Diffs
-----

  src/widgets/config-getgrouplist.h.cmake 6847a19d60be4eb5c2b65fb86258f7368848e6ab 
  src/widgets/getgrouplist-fake.c dbe77067371dcedb80cea684fb3cd5f42ed72805 
  src/widgets/kpropertiesdialog.cpp a3011a8adac98287bcada281dfc50b27e1af8fa0 
  src/widgets/kurlcompletion.cpp 3f309257c187358de0fd66f9d67f09a712fdf7d6 
  src/ioslaves/ftp/ftp.cpp 49037701772f88e9a96bc3110f1f04fccb810ca8 
  src/ioslaves/http/http.cpp 3158628af2dc8ee88a0ac0d968748d6b50a8da33 
  src/widgets/CMakeLists.txt 61e4db3566bad08baaa2e7e90b862ddfc8b957f7 
  autotests/kfileitemtest.h dc1808e726cf6af1605cfda520c7df3832225cc1 
  autotests/kfileitemtest.cpp 38bd87f4e9facd8e52e9e5fbd98b16011c866b5a 
  autotests/kiotesthelper.h eb9f0f3019deb63506c2a173d700b78daa95ae10 
  src/core/CMakeLists.txt d897e370baedbe06b267934c123acee7a149adff 
  src/core/chmodjob.cpp 271869bc2a643d715670560b7920efdbc948e560 
  src/core/job_error.cpp 1ec28c5d9ebdbc2045743c566f473c8cfa02e1bd 
  src/core/kfileitem.cpp 7364f87257b5d7dfb760b1c6e5b5d04e1d15a19d 
  src/core/kioglobal_p.h PRE-CREATION 
  src/core/kioglobal_p_unix.cpp PRE-CREATION 
  src/core/kioglobal_p_win.cpp PRE-CREATION 
  src/core/slave.cpp 787ffcf3cc97a73fb29c2172ed6b8df19ac016fc 
  src/ioslaves/file/file.h 6477df7cf0d26bf4f581151e1ce8e6c1115a221c 
  src/ioslaves/file/file.cpp 6387d7f29df2c0a26952be5255438361c37ed082 
  src/ioslaves/file/file_win.cpp b0e433e5438e3c45f2f021bf073cb3cca8f4f923 
  autotests/fileundomanagertest.cpp 3f209f89cc0e2ac48d8eaef7ee73ec18abca9a4c 
  autotests/globaltest.cpp 4367e53b44e077c566316081e21f429ac15b74a0 
  autotests/kdirlistertest.cpp 10a970416b8874f1e136b460d05378f8f3a86810 

Diff: https://git.reviewboard.kde.org/r/117078/diff/


Testing
-------

compiles, tests still the same as before (i.e. not passing)


Thanks,

Alexander Richardson

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140326/86190e6c/attachment.html>


More information about the Kde-frameworks-devel mailing list