ABCDEFGHI
1
DayStart Time (EET)TaskEnd time (EET)ResultTask timeDay Total
2
01/09/202312:00?14:002:00:0002:00:0015:00:0114:00:00
3
03/09/202315:00Preparation for starting syncing setupapi tests with Wine17:002:00:0002:00:0015:00:0117:00:00
4
04/09/202313:00Preparing my outdated wine forks prior to running the winesync script14:151:15:0001:15:0015:00:0114:15:00
5
04/09/202316:45Rebasing some old setupapi patches of mine on top of current Wine18:301:45:0001:45:0015:00:0118:30:00
6
04/09/202320:00-/-21:30
OK I managed to do the rebase. Tomorrow I plan on starting wine-syncing the setupapi_winetest.
(I think this will be simpler than doing the partial wine-syncing of setupapi proper, since the winetest
is directly taken from wine w/o changes, in principle, while setupapi has our ReactOS code (read: to
get closer Windows behaviour)
1:30:0001:30:0015:00:0121:30:00
7
05/09/202311:45Updating my python installs to v3 (and trying to find one that still
runs on Windows 7 >_>)
13:30(I also had to update my cygwin install, no worry)1:45:0001:45:0015:00:0113:30:00
8
05/09/202315:20
Trying to remember (and re-understand) how to set up the winesync script
16:000:40:0000:40:0015:00:0116:00:00
9
05/09/202316:00Trying to fix errors encountered *in* the winesync script16:20
Dunno why guys never encountered errors such like:
self.wine_repo.reset(wine_target_commit, pygit2.GIT_RESET_HARD)
TypeError: <pygit2.Object{commit:ce40b4d8fcb08d54df7ada430bc8dfe53392bd23}>
etc.
0:20:0000:20:0015:00:0116:20:00
10
05/09/202316:20
Getting some old fixes I had for the winesync script up to date for testing...
18:10
Yay things seem to work now! I also had to update the call to /patches/patchinstall.sh
into a call to /staging/patchinstall.py since wine-staging changed the way they did things.

But now:
File "./winesync.py", line 103, in wine_to_reactos_path
if wine_path in self.module_cfg['files']:
TypeError: argument of type 'NoneType' is not iterable

because I have an empty "files:" section in the setupapi.cfg file --> Gonna do something similar
to what Timo did for empty "directories:" section...
1:50:0001:50:0015:00:0118:10:00
11
05/09/202321:00Studied the yaml and pygit2 python support22:30OK I've got my solution to handle empty "files:" sections too.
Now trying a winesync run... It seems it works (to be checked tomorrow!)
1:30:0001:30:0015:00:0122:30:00
12
06/09/202312:00The winesync globally works, but...13:20
...except that if I want to *just* sync the (setupapi) winetest, while keeping the original
setupapi untouched (for now), the winesync script doesn't support that and stops after the
first commit applied (since not all files of that commit were modified).
I've temporarily modified the script file to ignore such "errors" and continue proceeding.

Also, I've added the support to ignore the wine-staging if no wine-staging-tag is specified
at the script command-line.
1:20:0001:20:0015:00:0113:20:00
13
06/09/202313:30
Determining what has changed in WineStaging between last sync v4.0 and now,
regarding some patches that have been removed.
14:30I went through the wine-staged setupapi patches since v4.0, checked those that have been
deleted and verified whether they (or equivalents) were included in 'genuine' Wine.
1:00:0001:00:0015:00:0114:30:00
14
06/09/202316:00-/-17:301:30:0001:30:0015:00:0117:30:00
15
06/09/202317:30Continuing testing WineStaging syncing of setupapi_winetest18:15
OK That's a pita to bootstrap a winesync of an existing partially-synced module, that wasn't
done with the winesync script. Because we've got sync with WineStaging, the bootstraping
procedure requires to revert locally-applied staging patches (to be placed in the
winesync/setupapi_staging subdirectory), that we don't have here, of course. They need to
somehow be reconstructed out of the "official" WineStaging patches, that however, apply on
"official" Wine code (not ours).
0:45:0000:45:0015:00:0118:15:00
16
06/09/202320:30
Attempt to implement an idea to bootstrap the wine sync of the setupapi tests:
- go back to Wine 4.0 + Staging 4.0,
- apply Staging patches on top,
- obtain an overall "staging" patch for setupapi dll, and same for the tests,
- adapt the file paths in the diffs to those of ReactOS,
- put these diffs into winesync/setupapi_staging subdir,
....
22:20OK this took me more time than expected to get this part right.1:50:0001:50:0015:00:0122:20:00
17
06/09/202322:20... and let winesync script handle that and hope for the best ^^22:30
ALMOST THERE, BUT WHAT4S HAPPENING FFS!!!!

$ ./winesync.py setupapi wine-8.15 v8.15
Checking patch modules/rostests/winetests/setupapi/setupcab.c...
[... skipped ...]
Applied patch modules/rostests/winetests/setupapi/devinst.c cleanly.
Traceback (most recent call last):
File "./winesync.py", line 402, in <module>
main()
File "./winesync.py", line 398, in main
return syncator.sync_to_wine(args.wine_tag, args.wine_staging_tag)
File "./winesync.py", line 334, in sync_to_wine
if not self.revert_staged_patchset():
File "./winesync.py", line 296, in revert_staged_patchset
self.reactos_index.remove(os.path.join(self.staged_patch_dir, patch_file_name))
[... skipped ...]
OSError: index does not contain sdk\tools\winesync\setupapi_staging\0002-wine-staging-4.0-setupapi_winetest.patch at stage 0
0:10:0000:10:0015:00:0122:30:00
18
07/09/202314:00Debugging winesync script18:20
The issue appears to be due to the fact git (even on windows) always wants posix-style paths,
but the fact the script uses os.path.join(...) for constructing paths that are passed to pygit2
functions, causes the problem (see crash-log above). Using posixpath.join mostly fixes the issue.
4:20:0004:20:0015:00:0118:20:00
19
07/09/202320:00Centralize my fixes for the winesync script20:30
Auxiliary commit ("[PSDK] Add missing PNP_VETO_TYPE PNP_VetoInsufficientRights enumerator"):
https://github.com/reactos/reactos/commit/fdeb169a27d7432a0494a58cc7eab52a6d809147

My winesync script fixes:
https://github.com/reactos/reactos/commits/hbelusca/winesync_script_fixes
0:30:0000:30:0015:00:0120:30:00
20
07/09/202320:30Retesting setupapi_winetest winesyncing...

TODO: Investigating patching failures.... Will be done a bit later.
22:30
OK, now the winesync script runs without apparent exceptions.
Branch: https://github.com/reactos/reactos/tree/hbelusca/setupapi_winetest_winesync
(It doesn't build yet, see below.)

However, there are minor errors that will require investigations:
error: modules/rostests/winetests/setupapi/dialog.c: already exists in working directory
and:
file dlls/setupapi/tests/Makefile.in was modified!
file dlls/setupapi/tests/dialog.c is added to the wine tree!
Error while applying patch to modules/rostests/winetests/setupapi/dialog.c
as well as errors while applying patches to dialog.c, for example:
error: patch failed: modules/rostests/winetests/setupapi/dialog.c:42
error: patch failed: modules/rostests/winetests/setupapi/dialog.c:61
error: patch failed: modules/rostests/winetests/setupapi/dialog.c:77
error: patch failed: modules/rostests/winetests/setupapi/dialog.c:96
Applying patch modules/rostests/winetests/setupapi/dialog.c with 4 rejects...
2:00:0002:00:0015:00:0122:30:00
21
08/09/202316:30
Started checking what, in setupapi dll, we partly synced with Wine(-Staging)
in the past.
19:00Ongoing investigation. I will attempt some manual patching these next days.2:30:0002:30:0015:00:0119:00:00
22
11/09/202313:30Preparing "bootstraping" the setupapi dll sync.
NOTE: About why setupapi dll cannot be fully 100% synced: see
https://jira.reactos.org/browse/CORE-7662
14:000:30:0000:30:0015:00:0114:00:00
23
11/09/202315:0018:003:00:0003:00:0015:00:0118:00:00
24
11/09/202320:00First sync attempt test...21:15
While now the original wine-staging patch to remove before starting the sync no works,
i'm going to stop the test there: there are a lot of failed patch hunks. (This was a test with
ignoring all errors.) Starting tomorrow I'll do the real sync with resolving any conflicts as they come.
1:15:0001:15:0015:00:0121:15:00
25
12/09/202312:00Trying actual sync14:35While it's OK to sync setupapi_winetest starting wine v4.0, for the dll it appears the sync needs
to start "a bit" earlier. I will have to more carefully check what is needed in order to arrive at
something that "looks" like wine 4.0.

So in summary the sync will look as follows:
- partially pre-sync setupapi dll alone from wine v1.??? to wine v4.0 ;
- then continue syncing setupapi dll + winetest from wine v4.0 up to wine v8.15.

Also note that wine's setupapi dll has wine-specific "fakedll" support, that needs to be
excluded for ReactOS...
2:35:0002:35:0015:00:0114:35:00
26
12/09/202316:0018:002:00:0002:00:0015:00:0118:00:00
27
13/09/202311:00
Trying to see more which changes happened in the different files of setupapi dll
compared to Wine...
13:002:00:0002:00:0015:00:0113:00:00
28
13/09/202314:45-/-18:00
I decide that I will do the (partial) sync file by file, because each file has a different sync state
with different Wine versions due to historical reasons.
I will start by syncing stringtable.c
3:15:0003:15:0015:00:0118:00:00
29
13/09/202320:00Syncing stringtable.c23:003:00:0003:00:0015:00:0123:00:00
30
14/09/202311:55-/-13:30
File synced up to Wine 1.7.18, then forked. Because the implementation changes in Wine
due to whacky reasons (see https://bugs.winehq.org/show_bug.cgi?id=26016 and
https://bugs.winehq.org/show_bug.cgi?id=32554 ). A separate copy of the file is kept
(stringtable_wine.c) that will be synced to latest Wine version so that we can switch between
implementations for further tests/investigations.
1:35:0001:35:0015:00:0113:30:00
31
14/09/202315:00-/-17:30
OK, setupapi stringtable.c sync finally done; I will fix build later on...
https://github.com/reactos/reactos/commits/hbelusca/setupapi_winesync_stringtable.c
2:30:0002:30:0015:00:0117:30:00
32
14/09/202317:30Fixing the winesync of setupapi_winetest (cf. above: dialog.c sync had problem)18:00Sync fixed0:30:0000:30:0015:00:0118:00:00
33
14/09/202319:3023:103:40:0003:40:0015:00:0123:10:00
34
15/09/202315:50Syncing setupapi dialog.c17:20
I also fixed something in the winesync script:
https://github.com/reactos/reactos/commit/46dbc51e41fbdfbfe8412c76ee049ff83a6404a0

Side note: running the winesync script can take very long (10+ minutes) to go from one
commit to another, especially if many unrelated commits are present in-between (this is
the main time limiting factor that I have encountered so far, partly explaining the hours-long
time spans of these sub-tasks).
1:30:0001:30:0015:00:0117:20:00
35
15/09/202318:20
Finishing sync and preparing sync for setupcab.c (will do it proper tomorrow)
20:15
dialog.c sync at: https://github.com/reactos/reactos/commits/hbelusca/setupapi_winesync_dialog.c
1:55:0001:55:0015:00:0120:15:00
36
16/09/202312:15Syncing setupapi setupcab.c13:201:05:0001:05:0015:00:0113:20:00
37
16/09/202316:1017:15
setupcab.c sync at: https://github.com/reactos/reactos/commits/hbelusca/setupapi_winesync_setupcab.c
1:05:0001:05:0015:00:0117:15:00
38
16/09/202317:15Syncing setupapi query.c22:15
query.c sync at: https://github.com/reactos/reactos/commits/hbelusca/setupapi_winesync_query.c

NOTE: The following commit:
https://git.reactos.org/?p=reactos.git;a=commit;h=5c8ec78b71de9a2ea4faca4c7beec1e54a172a40
partially synch'ed queue.c; however modified the WINESYNC.txt file to say it was query.c that was synced.
This is of course wrong.
5:00:0005:00:0015:00:0122:15:00
39
17/09/202315:00Syncing setupapi diskspace.c17:00
diskspace.c sync at: https://github.com/reactos/reactos/commits/hbelusca/setupapi_winesync_diskspace.c
2:00:0002:00:0015:00:0117:00:00
40
17/09/202317:30Syncing setupapi dirid.c18:35
dirid.c sync at: https://github.com/reactos/reactos/commits/hbelusca/setupapi_winesync_dirid.c
NOTE: Commit 00b9c975d "setupapi: Add a few printer directory ids" by Alexandre Julliard
also reverted commit 000136ac3 "setupapi: Add support for DIRID_PRINTPROCESSOR."
by Andrey Turkin. This needs to be fixed.
1:05:0001:05:0015:00:0118:35:00
41
18/09/202318:00fixing compilation errors for the setupapi_winesync_stringtable.c branch
+ dealing with ROS PR reviews.
22:55Errors fixed, except for the Vista+ recalloc function I will deal with later.4:55:0004:55:0015:00:0122:55:00
42
19/09/202316:3018:201:50:0001:50:0015:00:0118:20:00
43
20/09/20230
Did some general ReactOS PR reviewing (unrelated to 1st-stage GUI setup)
0so I don't count this in the time count!0:00:0000:00:0015:00:0100:00:00
44
22/09/202314:00Merging dirid.c and diskspace.c syncs15:00In https://github.com/reactos/reactos/commits/hbelusca/setupapi_partial_winesync
NOTE: the separate branches for dirid.c and diskspace.c have been deleted.
1:00:0001:00:0015:00:0115:00:00
45
22/09/202315:00Merging query.c and setupcab.c syncs16:50
In https://github.com/reactos/reactos/commits/hbelusca/setupapi_winesync_query_setupcab
NOTE: the separate branches for query.c and setupcab.c have been deleted.
1:50:0001:50:0015:00:0116:50:00
46
22/09/202316:50Merging dialog.c and stringtable.c syncs17:50
In https://github.com/reactos/reactos/commits/hbelusca/setupapi_winesync_dialog_stringtable
NOTE: the separate branches for dialog.c and stringtable.c have been deleted.
1:00:0001:00:0015:00:0117:50:00
47
22/09/202320:50Merging all those current syncs (without the winetests) together.22:35In https://github.com/reactos/reactos/commits/hbelusca/setupapi_partial_winesync1:45:0001:45:0015:00:0122:35:00
48
23/09/20230Did some general ReactOS PR reviewing (unrelated to 1st-stage GUI setup)0so I don't count this in the time count!0:00:0000:00:0015:00:0100:00:00
49
24/09/2023000:00:0000:00:0015:00:0100:00:00
50
25/09/202314:00Partial-syncing setupapi parser.c18:00parser.c sync at: https://github.com/reactos/reactos/commits/hbelusca/setupapi_winesync_parser.c4:00:0004:00:0015:00:0118:00:00
51
25/09/202320:3022:151:45:0001:45:0015:00:0122:15:00
52
26/09/202314:30Merging parser.c sync with the other ones (without the winetests).16:45In https://github.com/reactos/reactos/commits/hbelusca/setupapi_partial_winesync2:15:0002:15:0015:00:0116:45:00
53
26/09/202316:45Testing compilation of the set of syncs I have done so far....18:00Some stuff to investigate:
- non-conformant vs. conformant swprintf(), _swprintf() (which is in NT6+ MSVCRT) :
hacked around in wine/unicode.h ; NOTE: this header has been removed from Wine since...
- NT6+ _recalloc() being used now.
1:15:0001:15:0015:00:0118:00:00
54
26/09/202319:50-/-22:452:55:0002:55:0015:00:0122:45:00
55
27/09/202312:10Fixing compilation of the current setupapi_partial_winesync branch.17:50I had to (possibly hack-)fix the points listed above: swprintf and _recalloc stuff.5:40:0005:40:0015:00:0117:50:00
56
27/09/202319:50-/-22:00Compilation tests and adjustments.2:10:0002:10:0015:00:0122:00:00
57
28/09/202311:50Now, one of the hardest files to sync: preparing sync for queue.c12:55Finding what changes we did in this file; where we actually forked it from Wine, etc.1:05:0001:05:0015:00:0112:55:00
58
28/09/202314:0015:301:30:0001:30:0015:00:0115:30:00
59
28/09/202317:45Started syncing queue.c from Wine 0.9.5918:25I'm first going to sync it up to Wine 4.8, then go up to Wine 8.5 in a separate step.
queue.c sync at: https://github.com/reactos/reactos/commits/hbelusca/setupapi_winesync_queue.c
0:40:0000:40:0015:00:0118:25:00
60
28/09/202320:0022:552:55:0002:55:0015:00:0122:55:00
61
29/09/202314:00Doing administrative work16:002:00:0002:00:0015:00:0116:00:00
62
29/09/202317:00Continuing syncing queue.c to Wine 4.818:05
There are some ReactOS-specific things kept there. I'll try to get them isolated in a separate commit.
1:05:0001:05:0015:00:0118:05:00
63
30/09/2023
TODO:
- finishing cleaning up the queue.c sync to Wine 4.8
- continue syncing it up to Wine 8.5

- merge this with the rest of the (partial) sync branch
- fix remaining compilation errors
- test that with current (non-synced) winetest
- add the synced winetest into the equation and see whether there are improvements
15:00:0115:00:01
64
00:00:0015:00:0115:00:01
65
00:00:0015:00:0115:00:01
66
00:00:0015:00:0115:00:01
67
00:00:0015:00:0115:00:01
68
00:00:0015:00:0115:00:01
69
00:00:0015:00:0115:00:01
70

MONTH TOTAL(LOGGED)111:35:00