Hii,
Well... In theory the restructuring might be logical and maybe even a good idea to separate some of the DLL/win32 folder etc, but this can't be done as one man show. It breaks the patches in jira, breaks the stuff our devs might have locally and maybe someone has something to say to your plans.How to resolve this? Tbh, no clue. But a open discussion BEFORE commiting would be a start IMO. So guys, what now? Can we keep it or not?
Greetings
Daniel
Von meinem Samsung Gerät gesendet.
-------- Ursprüngliche Nachricht --------
Von: Hermès BÉLUSCA - MAÏTO <hermes.belusca(a)sfr.fr>
Datum: 06.03.2015 12:03 (GMT+01:00)
An: 'ReactOS Development List' <ros-dev(a)reactos.org>
Betreff: Re: [ros-dev] [ros-diffs] [hbelusca] 66575: Start source tree
(final, I hope!) restructuration. Part 1/X Win32, Shell, Services, MVDM
So...
... must I revert trunk pre-66575 ?
Hermès.
-----Message d'origine-----
De : Ros-dev [mailto:ros-dev-bounces@reactos.org] De la part de Aleksey
Bragin
Envoyé : vendredi 6 mars 2015 10:48
À : ReactOS Development List
Objet : Re: [ros-dev] [ros-diffs] [hbelusca] 66575: Start source tree
(final, I hope!) restructuration. Part 1/X Win32, Shell, Services, MVDM
On 06.03.2015 2:58, Hermès BÉLUSCA - MAÏTO wrote:
> Hi,
>
> So first, please receive my apologies for not having warned in ros-dev
> about this (continuation of) tree restructure I did starting with
> r66575. Indeed this was the first thing to do before doing anything,
> even if I talked about that on IRC and JIRA!
Wrong.
You did not need to warn, you need to get majority of devs to support this
change, to get comments from them, to make sure they continue to feel "at
home" in ReactOS source code.
Right now, for the sake of subjective beautification you just forced
everyone but you to adapt their patches (myself included, I have many
working copies) just because you feel the tree structure was wrong.
This is just ridiculous. As Pierre said, we are a team here. And teamwork
without big issues is what is making our project a good place to work in, to
get pleasure and satisfaction from the work done.
> In fact, the tree restructure discussion started 5 years ago, along
> with the cmake bringup: see the big thread here:
> http://www.reactos.org/pipermail/ros-dev/2010-July/013257.html .
Imagine what, I was part of it.
> At that
> time the main argument was that we were also in the middle of changing
> the old build system (rbuild) to a new one (cmake) so it was
> problematic to do those two big changes at once. Also at that time,
> seeing the argumentation of Ged, Timo, Jérôme and the few others
> (active developers) who dared to participate to this discussion, it
> was clear that a tree restructure was necessary anyway, sooner or later.
This is called
https://en.wikipedia.org/wiki/Post-purchase_rationalization . After you made
the change you start explaining that everyone was supporting it, it was so
much needed, and let's just forget about any side-effects it may have
caused.
> In 2012 some tree restructure happened (r56305) by moving around and
> in a more logical manner some core components of win32.
Yep.
> What happens now in 2015, i.e. 5 years after ? We have CMake well
> established, everything works, but only win32 core was reorganized.
Sure, 5 years is a magic number which means you can safely ignore everyone
else and just force your own change.
> I made http://jira.reactos.org/browse/CORE-9111 , people started to
> give proposals. You came back with the almost same argument, that is
> to finish the existing things first (adapt that: at the time of CMake,
> it was CMake, now, it's fix all ReactOS 0.4 bugs), and then improve
> structure of source tree. Since not all the existing bugs will be
> fixed by then, we can continue this way and wait another 5 years in order
to have a real tree restructure?
> I don't think so.
> So I took that for granted and committed r66575.
You know, users don't care about source code tree structure. Tree is for
developers. Users (and hence, popularity and usability of ReactOS) like when
ReactOS does not crash, when ReactOS runs their apps, when ReactOS loads
native binary drivers.
And my point is that internal changes (code refactorings, tree restructures,
reformatting) must happen only when the advantage of that is more than the
disadvantage/side effects.
Are you going to say that ReactOS 0.4 is closer now because you restructured
the tree according to your taste? Was there any urge to do the restructure?
> Active developers really think (at least, myself) it's a pain in the
> ***
The key part: "myself". Let's face it: you silently ignored my opinion and
decided not to ask anyone else. This is PITA, not the tree structure.
> that when we code on some given module (example: shell), we need to
> modify some bit of code in base/shell/whatever, some bit of code in
> dll/win32/shell32, some bit of code here and there. All the code of
> the shell should be tied together. This goes also for everything else:
> the core of NT (kernel, ntdll, "base" drivers...), the win32 subsystem
> (win32k; for it the change in r56305 started to make things more
> logical: you would not have to modify code in some win32k/ directory
> while also changing
> dll/win32/gdi32 or dll/win32/user32 that were by the way amongst all
> the rest of wine dlls, etc...) .
It's not "more logical", it's just different logical approaches.
> Because I didn't want to wait yet another 5 years I decided to start
> something.
Just remember, trunk is not your private branch. You have to take other devs
opinion into account. And you are not always right. Sometimes even Alex
Ionescu fails, though I must say it happens very rare.
Get used to convince people. Remember Arwinss? Did I just delete the
existing trunk win32ss back then? Imagine if I did? My reasoning was
perfect, the subsystem was superior to trunk back then in many ways, and "I
did not want to wait another 10 years for someone to finish trunk's
win32ss".
> OK my fault I would have to get a synthesis of the different proposals
> of tree restructures I got, then put in ros-dev, then wait 1 month
> until everybody starts to vote. Of course you would get people
> thinking it's better to do à la Wine and sort the files by extension
> type (that's what we almost have currently) and it was already
> repeated that it is BAD because it doesn't translate the fact that
> ROS/windows is built by modules; others would have thought it's nice
> to have this piece of thing next to another one whereas this can be
> postponed later on until the *obvious* parts of code have been properly
packed together.
Yes, unless I don't know something and suddenly all your ideas are
absolutely true without the need for verification. Mine aren't, I always
consult with other skilled people.
> And because of that, here is my proposal: UNTIL details get fixed, I
> propose
> to:
> - keep the /boot/, /include/, /lib/, /media/ and /tools/ directories
> (as well as /cmake/ and the files in / ) untouched.
> - ntoskrnl, ntdll and the drivers we have in /drivers/ (SAUF, the
> multimedia
> ones) go into some main "ntcore" directory (ntcore, ntos, call it
> whatever you prefer. I'm inclined to the second name, but I'm ok with the
first one).
> - the keyboard layouts can be moved either to win32ss/ or to / (in
> case we can give sense to keyboard layouts in "pure" NT, for example
> when we run usetup, etc...)
> - ok... my already-done (but revertable) modifs from 66575 (directory
> renamings can be done, it's not set in stone).
> - putting all printing support in some /win32/printsup (or
> "printing"...) directory : that means: localspl, ntprint, printui,
> spoolsv and spoolss, and winspool (so far...)
Oh, now you shared your secret plan with us. Thank you so much!
Actually, I would like to invent something better than just copying the NT
source code tree layout.
> That's what I'm 99.99% sure (and what I think is quite clear).
> Concerning the rest (that can create discussion) I still keep it in old
directories.
...
> Regards,
> Hermès.
>
>
>
> -----Message d'origine-----
> De : Ros-dev [mailto:ros-dev-bounces@reactos.org] De la part de
> Aleksey Bragin Envoyé : vendredi 6 mars 2015 00:15 À :
> ros-dev(a)reactos.org Objet : Re: [ros-dev] [ros-diffs] [hbelusca]
> 66575: Start source tree (final, I hope!) restructuration. Part 1/X
> Win32, Shell, Services, MVDM
>
> Hermes,
>
> What the fuck, may I ask?
>
> I don't understand since when we started doing big changes in trunk
> without talking (or listening) to anyone at all, just at your own
discretion?
>
> Are you so sure the change is accepted by majority of our developers?
> Did you get approval of those devs? Give them some respect which they
> earned over years with their skills and commitment.
>
> I understand ReactOS is a very loosely managed project (to favor ease
> of development), but totally ignoring everyone?
> I checked CORE-9111 and I don't see any single comment from Timo,
> Jerome, James, whoever else counts.
>
> Regards,
> Aleksey Bragin
> P.S. I'm not talking about actual changes, I'm talking about the
> process and attitude.
>
> On 06.03.2015 2:03, hbelusca(a)svn.reactos.org wrote:
>> Author: hbelusca
>> Date: Thu Mar 5 23:03:33 2015
>> New Revision: 66575
>>
>> URL: http://svn.reactos.org/svn/reactos?rev=66575&view=rev
>> Log:
>> Start source tree (final, I hope!) restructuration. Part 1/X Win32,
>> Shell, Services, MVDM
>>
>
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev
_______________________________________________
Ros-dev mailing list
Ros-dev(a)reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev
Dear all,
The ReactOS Foundation application to GSoC has been rejected this year
again. Statistics are not reliable after all.
In any case, keep up the good work. We don't need Google to be the bests
at what we do.
Cheers,
--
Pierre Schweitzer <pierre at reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.
Hermes,
What the fuck, may I ask?
I don't understand since when we started doing big changes in trunk
without talking (or listening) to anyone at all, just at your own
discretion?
Are you so sure the change is accepted by majority of our developers?
Did you get approval of those devs? Give them some respect which they
earned over years with their skills and commitment.
I understand ReactOS is a very loosely managed project (to favor ease of
development), but totally ignoring everyone?
I checked CORE-9111 and I don't see any single comment from Timo,
Jerome, James, whoever else counts.
Regards,
Aleksey Bragin
P.S. I'm not talking about actual changes, I'm talking about the process
and attitude.
On 06.03.2015 2:03, hbelusca(a)svn.reactos.org wrote:
> Author: hbelusca
> Date: Thu Mar 5 23:03:33 2015
> New Revision: 66575
>
> URL: http://svn.reactos.org/svn/reactos?rev=66575&view=rev
> Log:
> Start source tree (final, I hope!) restructuration. Part 1/X
> Win32, Shell, Services, MVDM
>
Hi!
I visited Intel's office in Moscow this week where I was given the brand
new Intel Edison along with the Arduino-compatible prototype board.
This story started by Alexander Rechitsky who brought all this to my
attention, communicated with Novosibirsk's and Moscow's Intel staff and
explained the ReactOS-on-Edison idea.
Now I can get my hands on this board, and I invite everyone who's
interested to play with it together. I am just getting started with it -
the basics, like attaching serial output, etc.
Some photos of this thing can be seen in my public Facebook album:
https://www.facebook.com/media/set/?set=a.10204517582234470.1073741833.1080…
Regards,
Aleksey Bragin
Hi all,
After a long, long time, we finally have a Testbot regularly running our
Wine tests and API tests under our target platform Windows Server 2003.
The VM is actually based on Windows Home Server, which is a cheap
Windows Server 2003 SP2 edition.
The first successful test results are here:
https://reactos.org/sites/all/modules/reactos/testman/compare.php?ids=34839
Okay, I have to admit this already required manual intervention. Test
msi:install reproducibly hangs with the error message "The process
cannot access the file because another process has locked a portion of
the file".
I expect all of this to still need some tweaking here and there. Please
reply to this mail with all your tweaking suggestions and I see what I
can do.
Have fun,
Colin
Hi all,
Based on Hermès' suggestion, I've transformed our Debug-Buildbot
"Trunk_x86_GCCLin Debug" into a Patchbot. That means, it will continue
to build each SVN revision as usual, but you can also force a build and
enter a patch ID. Your build will then be patched accordingly.
After building and testing, you will have:
* The patched regtest ISO at http://iso.reactos.org/regtestcd/
* A test result in Testman with source "Patched Trunk_x86_GCCLin (KVM)"
These changes will be applied to the other Buildslaves too once our
servers are all back up.
Cheers,
Colin
Hello,
Let me invite you to the monthly status meeting taking place 26th of
February, 19:00 UTC.
IRC service will only be started shortly before the meeting. Your
participation passwords and server address will be emailed to you
shortly before the meeting starts, and they are going to be different
once again as they are not stored in any database. Hopefully it's not
much of inconvenience.
If someone still is not getting passwords sent before a meeting - please
email Pierre before the meeting started to get one.
Please send agenda proposals to me before the meeting, so that we can
start with a proposed agenda.
And join Mumble! :-)
Regards,
Aleksey Bragin
Hi all,
As tests have shown that VirtualBox doesn't work properly inside an
already virtualized environment, ReactOS Deutschland e.V. has just
ordered a tiny Intel NUC that will serve as a VirtualBox Testslave. We
plan to set it up right next to our Buildslaves, so that every ISO could
possibly be regression-tested under VirtualBox. As a start, we plan to
test the builds of the new MSVC Builder. The machine is powerful enough
though to eventually test multiple ISOs simultaneously.
I don't know about the current state of sysreg2 regarding VirtualBox
support. To let this all happen as soon as possible, please ensure
sysreg2 can fully handle VirtualBox once I set up the machine.
Cheers,
Colin
I don't care about the reason.
Tests that fail on Windows are broken, period. In this order the tests
fail on Windows.
On 2015-02-26 09:38, jimtabor(a)svn.reactos.org wrote:
> Author: jimtabor
> Date: Thu Feb 26 08:38:00 2015
> New Revision: 66464
>
> URL: http://svn.reactos.org/svn/reactos?rev=66464&view=rev
> Log:
> [User32_WINETEST]
> - Move test_SetFocus first as it is done originally. Refer to read past wine CVS logs for the reason.
>
> Modified:
> trunk/rostests/winetests/user32/msg.c
>
> Modified: trunk/rostests/winetests/user32/msg.c
> URL: http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/user32/msg.c?re…
> ==============================================================================
> --- trunk/rostests/winetests/user32/msg.c [iso-8859-1] (original)
> +++ trunk/rostests/winetests/user32/msg.c [iso-8859-1] Thu Feb 26 08:38:00 2015
> @@ -14717,8 +14717,8 @@
> START_TEST(msg_focus)
> {
> init_tests();
> + test_SetFocus();
> test_SetActiveWindow();
> - test_SetFocus();
>
> /* HACK: For some reason test_SetForegroundWindow fails on Windows unless
> * we do this */
Hi!
The message testing, LOL just made more work for Amine...
Okay AlterWindowStyle, could it be better to place it in WIN_SetStyle as a
wrapper, maybe? WIN_SetStyle is just glue code for ReactOS.
James
Author: tkreuzer
Date: Tue Feb 24 23:15:08 2015
New Revision: 66444
[USER32_APITEST]
Add some test for GetDCEx that highlight the ridiculous implementation
of owned and class DCs.
Hello All!
What is ridiculous is the attitude of our smart A__ developers!
James
Hi
I'd like to propose introducing C++ to win32k. Don't worry, this is not
a suggestion to rewrite everything from scratch in C++, but to gradually
introduce C++.
The reason is not "That's what Windows does", but the fact that
especially GDI would heavily benefit in terms of code simplicity,
clarily and quality from using C++.
A lot of the interfaces are already in a C++ object style way, but still
code can bypass interfaces and directly modify structure members, even
if it is not supposed to be done that way.
Unless there are strong objections, I'd post a design / style / roadmap
suggestion soon.
If people feel strongly about it, we can defer this to after a 0.4.0
release.
Regards,
Timo
it might fix an assert but the patch is incorrect. will this also take 6
months to revert?
Best regards,
Alex Ionescu
On Tue, Feb 17, 2015 at 6:19 AM, <jgardou(a)svn.reactos.org> wrote:
> Author: jgardou
> Date: Tue Feb 17 14:19:05 2015
> New Revision: 66334
>
> URL: http://svn.reactos.org/svn/reactos?rev=66334&view=rev
> Log:
> [NTOSKRNL/MM]
> - MiIsEntireRangeCommitted: Ensure the PTE we are checking is really
> faulted in.
> - Prefer MiPteToPde and MiPdeToPte (which should really be called
> MiFirstPteInPde) instead of MiAddressToPte and MiPteToAddress
> Fixes weird failed ASSERT in page fault handler when using DPH.
>
> Modified:
> trunk/reactos/ntoskrnl/mm/ARM3/virtual.c
>
> Modified: trunk/reactos/ntoskrnl/mm/ARM3/virtual.c
> URL:
> http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/mm/ARM3/virtual.c…
>
> ==============================================================================
> --- trunk/reactos/ntoskrnl/mm/ARM3/virtual.c [iso-8859-1] (original)
> +++ trunk/reactos/ntoskrnl/mm/ARM3/virtual.c [iso-8859-1] Tue Feb 17
> 14:19:05 2015
> @@ -1994,14 +1994,13 @@
> if (OnBoundary)
> {
> /* Is this PDE demand zero? */
> - PointerPde = MiAddressToPte(PointerPte);
> + PointerPde = MiPteToPde(PointerPte);
> if (PointerPde->u.Long != 0)
> {
> /* It isn't -- is it valid? */
> if (PointerPde->u.Hard.Valid == 0)
> {
> /* Nope, fault it in */
> - PointerPte = MiPteToAddress(PointerPde);
> MiMakeSystemAddressValid(PointerPte, Process);
> }
> }
> @@ -2009,13 +2008,13 @@
> {
> /* The PTE was already valid, so move to the next one */
> PointerPde++;
> - PointerPte = MiPteToAddress(PointerPde);
> + PointerPte = MiPdeToPte(PointerPde);
>
> /* Is the entire VAD committed? If not, fail */
> if (!Vad->u.VadFlags.MemCommit) return FALSE;
>
> - /* Everything is committed so far past the range, return
> true */
> - if (PointerPte > LastPte) return TRUE;
> + /* New loop iteration with our new, on-boundary PTE. */
> + continue;
> }
> }
>
>
>
>
For me this looks like a hack. It might "do what Windows does", but the
result is more based on luck / random compiler behaviour rather than
deterministic behavior. We should think about returning a full ULONG in
all functions that rely on this (like Wow64EnableWow64FsRedirection),
containing the correct value, rather than relying on random stuff.
Am 20.02.2015 um 08:03 schrieb tfaber(a)svn.reactos.org:
> Author: tfaber
> Date: Fri Feb 20 07:03:00 2015
> New Revision: 66365
>
> URL: http://svn.reactos.org/svn/reactos?rev=66365&view=rev
> Log:
> [KERNEL32]
> - Make BaseSetLastNTError return the converted Win32 error code. This will determine the upper 24 bits of EAX in functions that return BOOLEAN FALSE right after calling BaseSetLastNTError, e.g. Wow64EnableWow64FsRedirection. Fixes installers using WiX Toolset (e.g. VS2012 redist) on MSVC builds.
> See http://wixtoolset.org/issues/4681/ for the WiX bug that causes this.
> CORE-8010
>
> Modified:
> trunk/reactos/dll/win32/kernel32/client/except.c
> trunk/reactos/dll/win32/kernel32/include/kernel32.h
>
> Modified: trunk/reactos/dll/win32/kernel32/client/except.c
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/…
> ==============================================================================
> --- trunk/reactos/dll/win32/kernel32/client/except.c [iso-8859-1] (original)
> +++ trunk/reactos/dll/win32/kernel32/client/except.c [iso-8859-1] Fri Feb 20 07:03:00 2015
> @@ -682,12 +682,16 @@
> /*
> * @implemented
> */
> -VOID
> +DWORD
> WINAPI
> BaseSetLastNTError(IN NTSTATUS Status)
> {
> + DWORD dwErrCode;
> +
> /* Convert from NT to Win32, then set */
> - SetLastError(RtlNtStatusToDosError(Status));
> + dwErrCode = RtlNtStatusToDosError(Status);
> + SetLastError(dwErrCode);
> + return dwErrCode;
> }
>
> /*
>
> Modified: trunk/reactos/dll/win32/kernel32/include/kernel32.h
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/include…
> ==============================================================================
> --- trunk/reactos/dll/win32/kernel32/include/kernel32.h [iso-8859-1] (original)
> +++ trunk/reactos/dll/win32/kernel32/include/kernel32.h [iso-8859-1] Fri Feb 20 07:03:00 2015
> @@ -353,7 +353,7 @@
> WINAPI
> InitCommandLines(VOID);
>
> -VOID
> +DWORD
> WINAPI
> BaseSetLastNTError(IN NTSTATUS Status);
>
>
>
>
In such situations, please update all the langages files and not only
English. This makes work easier for translators to track changes.
On 21/02/2015 13:52, gadamopoulos(a)svn.reactos.org wrote:
> Author: gadamopoulos
> Date: Sat Feb 21 12:52:58 2015
> New Revision: 66383
>
> URL: http://svn.reactos.org/svn/reactos?rev=66383&view=rev
> Log:
> [SHELL32]
> - Implement progress dialogs for SHFileOperation
> - Patch by Hwu Davies
> CORE-4476
>
> Modified:
> trunk/reactos/dll/win32/shell32/lang/en-US.rc
>
> Modified: trunk/reactos/dll/win32/shell32/lang/en-US.rc
> URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/shell32/lang/en-…
> ==============================================================================
> --- trunk/reactos/dll/win32/shell32/lang/en-US.rc [iso-8859-1] (original)
> +++ trunk/reactos/dll/win32/shell32/lang/en-US.rc [iso-8859-1] Sat Feb 21 12:52:58 2015
> @@ -693,6 +693,13 @@
> IDS_OVERWRITEFILE_CAPTION "Confirm file overwrite"
> IDS_OVERWRITEFOLDER_TEXT "This folder already contains a folder named '%1'.\n\nIf the files in the destination folder have the same names as files in the\nselected folder they will be replaced. Do you still want to move or copy\nthe folder?"
>
> + IDS_FILEOOP_COPYING "Copying"
> + IDS_FILEOOP_MOVING "Moving"
> + IDS_FILEOOP_DELETING "Deleting"
> + IDS_FILEOOP_FROM_TO "From %1 to %2"
> + IDS_FILEOOP_FROM "From %1"
> + IDS_FILEOOP_PREFLIGHT "Preflight"
> +
> /* message box strings */
> IDS_RESTART_TITLE "Restart"
> IDS_RESTART_PROMPT "Do you want to restart the system?"
>
--
Pierre Schweitzer <pierre at reactos.org>
System & Network Administrator
Senior Kernel Developer
ReactOS Deutschland e.V.