Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Javier Agustìn Fernàndez Arroyo
"As far as I'm aware that is a start-on-demand service which only starts up
if you run a MSI installer"

i confirm this

On Fri, Jun 3, 2011 at 2:24 AM, Zachary Gorden wrote:

> I intend to package the BE so that you have one installer for the various
> platform targets instead of the current three installers we have right now.
> I am not familiar enough with NSIS to know why Daniel did not do this,
> though from his complaining I got the impression he didn't try to get any
> fancier with the NSIS installer because he didn't want to go through the
> trouble of futzing with it.  One could argue that since we need little
> beyond installing files and making sure that an uninstallation actually
> cleans up the files and shortcuts, the best option is MSI since an MSI
> installer actually registers with the OS the things that need to be cleaned
> up when an application is to be uninstalled.
>
> Also a correction to your comment about the MSI service.  As far as I'm
> aware that is a start-on-demand service which only starts up if you run a
> MSI installer.  It'll hang around for a bit afterward, but then turns itself
> off if you don't run another installer for a while.
>
>
> On Thu, Jun 2, 2011 at 5:11 PM, Adam  wrote:
>
>> Fair enough, but does RosBE actually do anything (installer-wise) other
>> than install its files in a directory and set the occasional environment
>> variable (PATH) - if this is the case, surely any installer (be it NSIS,
>> Inno Setup, MSI, etc) can do this.
>>
>>
>> On Fri, 03 Jun 2011 08:03:07 +1000, Zachary Gorden <
>> drakekaizer...@gmail.com> wrote:
>>
>>  The amount of functionality that MSIs offer comes with a price.  Some of
>>> us
>>> believe it is worth it.  Some don't.  We, meaning Daniel and myself, want
>>> a
>>> MSI installer.  If someone else wants to maintain the NSIS installer, we
>>> will not stop them.  We just won't offer any help doing so since we
>>> (Daneil
>>> and myself) want a MSI installer.
>>>
>>> On Thu, Jun 2, 2011 at 4:55 PM, Adam  wrote:
>>>
>>>  So having a service running all the time just to install programs, and
 having to not be able to uninstall a program cleanly if the MSI file has
 been moved/deleted (or if the MSI file that was copied into some obscure
 place in the %SYSTEMROOT% path) or due to some other sort of failure,
 provides an error, is clean is it? Not to mention it will be impossible
 to
 uninstall in Safe Mode (should it be necessary) since MSIEXEC refuses to
 run
 under Safe Mode these days.

 Never tried WiX before, but the problem wouldn't be WiX - it would be
 MSIEXEC and the way it works.


 On Fri, 03 Jun 2011 07:35:56 +1000, Ged Murphy 
 wrote:

  Are you serious? Have you ever used WiX in a serious capacity?

> It's far superior to NSIS in pretty much every way.
>
>
> On 2 June 2011 22:18, Adam  wrote:
>
>  I do not like the idea of moving to Windows Installer for RosBE 2.0 -
>> it
>> can
>> be quite tedious to clean up if the install is half done. IMO the
>> original
>> installer (NSIS) is much more cleaner than Windows Installer too.
>>
>> If it ain't broke don't fix it I say.
>>
>> On Fri, 03 Jun 2011 06:52:17 +1000, Colin Finck 
>> wrote:
>>
>>  drei...@svn.reactos.org wrote:
>>
>>>  > if not exist "CMakeLists.txt" (
>>>
>>> Can we decide on dropping support for rbuild stuff in RosBE 2.0?
>>> Reasons:
>>>
>>> - RosBE 2.0 will certainly come with an updated set of build tools.
>>>  (GCC 4.6 with mingw-w64 target is planned, maybe even a multilib
>>>  version)
>>>  The target change already makes older builds uncompilable with RosBE
>>>  2.0. Even if this would be fixed, nobody would guarantee you that a
>>>  revision built with RosBE 2.0 behaves the same as one compiled with
>>>  1.5.x.
>>> - Several versions of RosBE can be installed parallely, especially if
>>>  you're also moving to a Windows Installer for RosBE 2.0, which
>>> doesn't
>>>  care about Uninstall entries of NSIS. So everybody has the option
>>>  to build older rbuild-powered revisions at any time.
>>> - It could make all scripts cleaner again :-)
>>>
>>> Regards,
>>>
>>> Colin
>>>
>>> ___
>>> Ros-dev mailing list
>>> Ros-dev@reactos.org
>>> http://www.reactos.org/mailman/listinfo/ros-dev
>>>
>>>
>>
>> --
>> Using Opera's revolutionary email client: http://www.opera.com/mail/
>>
>> ___
>> Ros-dev mailing list
>> Ros-dev@reactos.org
>> http://www.reactos.org/mailman/listinfo/ros-dev
>>
>>
>>  ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
>

 --
>>>

Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Timo Kreuzer

Am 03.06.2011 02:24, schrieb Zachary Gorden:
I intend to package the BE so that you have one installer for the 
various platform targets instead of the current three installers we 
have right now. 

You are aware that 14 MB + 16 MB + 11 MB = 41 MB ?
I really see no point in bundling them all together.



___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Javier Agustìn Fernàndez Arroyo
lol, ROS is ~41MB too

On Fri, Jun 3, 2011 at 9:21 AM, Timo Kreuzer  wrote:

> Am 03.06.2011 02:24, schrieb Zachary Gorden:
>
>  I intend to package the BE so that you have one installer for the various
>> platform targets instead of the current three installers we have right now.
>>
> You are aware that 14 MB + 16 MB + 11 MB = 41 MB ?
> I really see no point in bundling them all together.
>
>
>
>
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] [ros-diffs] [pschweitzer] 52065: [NTOSKRNL] - renamed Io volumes global to match Windows names (in case of debug) - renamed IopDereferenceVpb() to IopDereferenceVpbAndFree(), IopReferenc

2011-06-03 Thread Ged Murphy
Do you even understand what he’s ‘talking to himself’ about?

Perhaps you should refrain from commenting until you do.

 

 

From: ros-dev-boun...@reactos.org [mailto:ros-dev-boun...@reactos.org] On
Behalf Of Javier Agustìn Fernàndez Arroyo
Sent: 02 June 2011 20:18
To: ReactOS Development List
Cc: ros-di...@reactos.org
Subject: Re: [ros-dev] [ros-diffs] [pschweitzer] 52065: [NTOSKRNL] - renamed
Io volumes global to match Windows names (in case of debug) - renamed
IopDereferenceVpb() to IopDereferenceVpbAndFree(),
IopReferenceVpbForVerify() to IopR...

 

i love the way you talk with yourself :P

On Thu, Jun 2, 2011 at 8:02 PM, Alex Ionescu  wrote:

Same comment as before, resources MUST be acquired within a critical region
(as the old code did).


--
Best regards,
Alex Ionescu

On 2011-06-02, at 1:43 PM, pschweit...@svn.reactos.org wrote:

> /* Acquire the FS lock */
> -KeEnterCriticalRegion();
> -ExAcquireResourceExclusiveLite(&FileSystemListLock, TRUE);

> +ExAcquireResourceExclusiveLite(&IopDatabaseResource, TRUE);


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

 

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Adam
I am sure the blokes at Microsoft Corporation and Adobe think in similar  
ways. :)


On Fri, 03 Jun 2011 17:33:08 +1000, Javier Agustìn Fernàndez Arroyo  
 wrote:



lol, ROS is ~41MB too

On Fri, Jun 3, 2011 at 9:21 AM, Timo Kreuzer  wrote:


Am 03.06.2011 02:24, schrieb Zachary Gorden:

 I intend to package the BE so that you have one installer for the  
various
platform targets instead of the current three installers we have right  
now.



You are aware that 14 MB + 16 MB + 11 MB = 41 MB ?
I really see no point in bundling them all together.




___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev




--
Using Opera's revolutionary email client: http://www.opera.com/mail/

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Ged Murphy
I can't think of any advantages of packaging them together.
It actually sounds more confusing that helpful.

-Original Message-
From: ros-dev-boun...@reactos.org [mailto:ros-dev-boun...@reactos.org] On
Behalf Of Timo Kreuzer
Sent: 03 June 2011 08:22
To: ReactOS Development List
Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

Am 03.06.2011 02:24, schrieb Zachary Gorden:
> I intend to package the BE so that you have one installer for the 
> various platform targets instead of the current three installers we 
> have right now. 
You are aware that 14 MB + 16 MB + 11 MB = 41 MB ?
I really see no point in bundling them all together.



___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1296 [dreimer] Get the cmake path from a system variable called _ROSBE_CMAKEPATH. Hard coding is eeevul!

2011-06-03 Thread Colin Finck

Zachary Gorden wrote:

I object highly to the idea of bundling cmake with the BE.  Most
platforms already have binaries built of cmake, either by the distro or
for Windows, the people who make cmake provide an installer.


I don't see the point here, you could say exactly the same about every 
tool we bundle.




We provide the compilers and linkers and we provided rbuildbecause it was our 
own
thing, but cmake is not and has its own environment.


There are also easily installable third-party MinGW environments, but 
this is not the point.
RosBE started as a project to bundle all build tools (always including 
GNU Make by the way), even when we didn't need our own specially patched 
versions yet. This is precisely why ReactOS is one of the easiest 
operating systems to compile and we can have 5-minute tutorials like 
this: http://www.youtube.com/watch?v=jnt7s2zEZFo


On top of this, it allows us to have comparable builds between all 
developers, because we can be sure that they use the very same tools.
I don't want to spend nights of debugging if problems are suddenly 
caused by using different CMake versions.


I'm very reluctant to drop these fundamental ideas behind RosBE. They 
have certainly saved every ReactOS developer much time.



- Colin

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Adam
Of course, one could always provide functionality (within the installer)  
to download the optional components. That way the user doesn't have to  
download a 41MB file if he/she doesn't want to. No need to pack them up  
into one installer IMO


IIRC a lot of installers support this, and I've seen this kind of thing in  
Windows installers as well as NSIS and some other installers. Something  
like the way the MinGW GUI installer works.



On Fri, 03 Jun 2011 17:40:58 +1000, Ged Murphy  wrote:


I can't think of any advantages of packaging them together.
It actually sounds more confusing that helpful.

-Original Message-
From: ros-dev-boun...@reactos.org [mailto:ros-dev-boun...@reactos.org] On
Behalf Of Timo Kreuzer
Sent: 03 June 2011 08:22
To: ReactOS Development List
Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

Am 03.06.2011 02:24, schrieb Zachary Gorden:

I intend to package the BE so that you have one installer for the
various platform targets instead of the current three installers we
have right now.

You are aware that 14 MB + 16 MB + 11 MB = 41 MB ?
I really see no point in bundling them all together.



___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev



--
Using Opera's revolutionary email client: http://www.opera.com/mail/

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Ged Murphy
When I say wix, I mean windows installer. The two have become synonymous for me 
now.

Much of what you say isn't true.
The only issue I've ever come across with msi's is that failed installs can 
lead to the database becoming corrupt.
However this is very rare and can be repaired in various ways.

I get the feeling people use NSIS because it's open source and that must mean 
it's better/cooler.
I prefer to look at the merits of both open and closed and choose the best.
In 99% of cases, closed source comes out on top.


-Original Message-
From: Adam [mailto:geekdun...@gmail.com] 
Sent: 02 June 2011 22:55
To: ReactOS Development List; Ged Murphy
Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

So having a service running all the time just to install programs, and  
having to not be able to uninstall a program cleanly if the MSI file has  
been moved/deleted (or if the MSI file that was copied into some obscure  
place in the %SYSTEMROOT% path) or due to some other sort of failure,  
provides an error, is clean is it? Not to mention it will be impossible to  
uninstall in Safe Mode (should it be necessary) since MSIEXEC refuses to  
run under Safe Mode these days.

Never tried WiX before, but the problem wouldn't be WiX - it would be  
MSIEXEC and the way it works.

On Fri, 03 Jun 2011 07:35:56 +1000, Ged Murphy  wrote:

> Are you serious? Have you ever used WiX in a serious capacity?
> It's far superior to NSIS in pretty much every way.
>
>
> On 2 June 2011 22:18, Adam  wrote:
>> I do not like the idea of moving to Windows Installer for RosBE 2.0 -  
>> it can
>> be quite tedious to clean up if the install is half done. IMO the  
>> original
>> installer (NSIS) is much more cleaner than Windows Installer too.
>>
>> If it ain't broke don't fix it I say.
>>
>> On Fri, 03 Jun 2011 06:52:17 +1000, Colin Finck   
>> wrote:
>>
>>> drei...@svn.reactos.org wrote:
>>>  > if not exist "CMakeLists.txt" (
>>>
>>> Can we decide on dropping support for rbuild stuff in RosBE 2.0?
>>> Reasons:
>>>
>>> - RosBE 2.0 will certainly come with an updated set of build tools.
>>>   (GCC 4.6 with mingw-w64 target is planned, maybe even a multilib
>>>   version)
>>>   The target change already makes older builds uncompilable with RosBE
>>>   2.0. Even if this would be fixed, nobody would guarantee you that a
>>>   revision built with RosBE 2.0 behaves the same as one compiled with
>>>   1.5.x.
>>> - Several versions of RosBE can be installed parallely, especially if
>>>   you're also moving to a Windows Installer for RosBE 2.0, which  
>>> doesn't
>>>   care about Uninstall entries of NSIS. So everybody has the option
>>>   to build older rbuild-powered revisions at any time.
>>> - It could make all scripts cleaner again :-)
>>>
>>> Regards,
>>>
>>> Colin
>>>
>>> ___
>>> Ros-dev mailing list
>>> Ros-dev@reactos.org
>>> http://www.reactos.org/mailman/listinfo/ros-dev
>>
>>
>> --
>> Using Opera's revolutionary email client: http://www.opera.com/mail/
>>
>> ___
>> Ros-dev mailing list
>> Ros-dev@reactos.org
>> http://www.reactos.org/mailman/listinfo/ros-dev
>>
>
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev


-- 
Using Opera's revolutionary email client: http://www.opera.com/mail/


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Adam

On Fri, 03 Jun 2011 17:58:42 +1000, Ged Murphy  wrote:

When I say wix, I mean windows installer. The two have become synonymous  
for me now.


Much of what you say isn't true.
The only issue I've ever come across with msi's is that failed installs  
can lead to the database becoming corrupt.

However this is very rare and can be repaired in various ways.


Now the problem here is: will the end users be able to apply this easily  
without risk of damaging the other installs? I'm not suggesting attempting  
to fix such a problem will damage the other installs or the system, but  
are the repair methods clean?




I get the feeling people use NSIS because it's open source and that must  
mean it's better/cooler.
I prefer to look at the merits of both open and closed and choose the  
best.

In 99% of cases, closed source comes out on top.


I must admit I am not a big fan of their clumsy syntax myself. Inno Setup  
seems better to me. As for open sourcedness - IMO its only really useful  
if you have the tools to edit the source. Bottom line is that I agree with  
this.





-Original Message-
From: Adam [mailto:geekdun...@gmail.com]
Sent: 02 June 2011 22:55
To: ReactOS Development List; Ged Murphy
Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

So having a service running all the time just to install programs, and
having to not be able to uninstall a program cleanly if the MSI file has
been moved/deleted (or if the MSI file that was copied into some obscure
place in the %SYSTEMROOT% path) or due to some other sort of failure,
provides an error, is clean is it? Not to mention it will be impossible  
to

uninstall in Safe Mode (should it be necessary) since MSIEXEC refuses to
run under Safe Mode these days.

Never tried WiX before, but the problem wouldn't be WiX - it would be
MSIEXEC and the way it works.

On Fri, 03 Jun 2011 07:35:56 +1000, Ged Murphy   
wrote:



Are you serious? Have you ever used WiX in a serious capacity?
It's far superior to NSIS in pretty much every way.


On 2 June 2011 22:18, Adam  wrote:

I do not like the idea of moving to Windows Installer for RosBE 2.0 -
it can
be quite tedious to clean up if the install is half done. IMO the
original
installer (NSIS) is much more cleaner than Windows Installer too.

If it ain't broke don't fix it I say.

On Fri, 03 Jun 2011 06:52:17 +1000, Colin Finck 
wrote:


drei...@svn.reactos.org wrote:
 > if not exist "CMakeLists.txt" (

Can we decide on dropping support for rbuild stuff in RosBE 2.0?
Reasons:

- RosBE 2.0 will certainly come with an updated set of build tools.
  (GCC 4.6 with mingw-w64 target is planned, maybe even a multilib
  version)
  The target change already makes older builds uncompilable with RosBE
  2.0. Even if this would be fixed, nobody would guarantee you that a
  revision built with RosBE 2.0 behaves the same as one compiled with
  1.5.x.
- Several versions of RosBE can be installed parallely, especially if
  you're also moving to a Windows Installer for RosBE 2.0, which
doesn't
  care about Uninstall entries of NSIS. So everybody has the option
  to build older rbuild-powered revisions at any time.
- It could make all scripts cleaner again :-)

Regards,

Colin

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev



--
Using Opera's revolutionary email client: http://www.opera.com/mail/

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev



___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev






--
Using Opera's revolutionary email client: http://www.opera.com/mail/

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] [ros-diffs] [pschweitzer] 52065: [NTOSKRNL] - renamed Io volumes g

2011-06-03 Thread Pierre Schweitzer
Hi,

> The notification routine can change the list, as there is no lock involved.
List is locked by the caller. Have a look to: IoRegisterFsRegistrationChange().

Regarding all your remarks: thank you! They have been used to fix code and 
commited in r52073.

Regards,
P. Schweitzer

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1296 [dreimer] Get the cmake path from a system variable called _ROSBE_CMAKEPATH. Hard coding is eeevul!

2011-06-03 Thread victor martinez

I am agree with Colin.
The idea of having a Build Environment is not just to make the life easier to 
our devs, but also to have ISOs which we can compare. 
If the Environment doesnt bundle *ALL* the tools, then we can have devs/testers 
with different Tools combinations...it can lead to break walls with our head.
Also we should try to do the compilation as easier as possible, why not 
creating RosBE 2.0 with GUI frontend? :3

  ___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] 1296 [dreimer] Get the cmake path from a system variable called _ROSBE_CMAKEPATH. Hard coding is eeevul!

2011-06-03 Thread Adam
I wonder if the CMake Gui can be used here. Have had a bit of a play with  
it but I'm not sure how it is possible to make it friendly for RosBE users  
so they don't have to linux around with the config and all that.


On Fri, 03 Jun 2011 20:26:58 +1000, victor martinez  
 wrote:




I am agree with Colin.
The idea of having a Build Environment is not just to make the life  
easier to our devs, but also to have ISOs which we can compare.
If the Environment doesnt bundle *ALL* the tools, then we can have  
devs/testers with different Tools combinations...it can lead to break  
walls with our head.
Also we should try to do the compilation as easier as possible, why not  
creating RosBE 2.0 with GUI frontend? :3






--
Using Opera's revolutionary email client: http://www.opera.com/mail/

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1296 [dreimer] Get the cmake path from a system variable called _ROSBE_CMAKEPATH. Hard coding is eeevul!

2011-06-03 Thread Jérôme Gardou

Guess what...

Cmake provides such a GUI

Le 03/06/2011 12:26, victor martinez a écrit :

I am agree with Colin.
The idea of having a Build Environment is not just to make the life 
easier to our devs, but also to have ISOs which we can compare.
If the Environment doesnt bundle *ALL* the tools, then we can have 
devs/testers with different Tools combinations...it can lead to break 
walls with our head.
Also we should try to do the compilation as easier as possible, why 
not creating RosBE 2.0 with GUI frontend? :3



___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] 1296 [dreimer] Get the cmake path from a system variable called _ROSBE_CMAKEPATH. Hard coding is eeevul!

2011-06-03 Thread victor martinez


Does Cmake provide a GUI which:
1)Updates the local copy to any desired revision?
2)Which changes the Architecture to build ReactOS for the current session?
3)Fully clean the source directory/logs?

:)


Date: Fri, 3 Jun 2011 12:32:41 +0200
From: jerome.gar...@laposte.net
To: ros-dev@reactos.org
Subject: Re: [ros-dev] 1296 [dreimer] Get the cmake path from a system variable 
called _ROSBE_CMAKEPATH. Hard coding is eeevul!



  



  
  
Guess what...



Cmake provides such a GUI



Le 03/06/2011 12:26, victor martinez a écrit :

  
  I am agree with Colin.

  The idea of having a Build Environment is not just to make the
  life easier to our devs, but also to have ISOs which we can
  compare. 

  If the Environment doesnt bundle *ALL* the tools, then we can have
  devs/testers with different Tools combinations...it can lead to
  break walls with our head.

  Also we should try to do the compilation as easier as possible,
  why not creating RosBE 2.0 with GUI frontend? :3

  

  
___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev



  


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev 
  ___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] 1296 [dreimer] Get the cmake path from a system variable called _ROSBE_CMAKEPATH. Hard coding is eeevul!

2011-06-03 Thread Timo Kreuzer

Am 03.06.2011 12:31, schrieb Adam:
I wonder if the CMake Gui can be used here. Have had a bit of a play 
with it but I'm not sure how it is possible to make it friendly for 
RosBE users so they don't have to linux around with the config and all 
that.


I've been using the cmake gui quite often (especially before the 
configure script was there, and of course certain persons were telling 
me how lame I was, using a gui tool ;-)) and it works like a charm. Its 
also very useful, if you want to change configuration settings without 
changing cmake files in the sources or editing a huge config file.


For the initial configuration, I think the configure script is the easiest.


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1296 [dreimer] Get the cmake path from a system variable called _ROSBE_CMAKEPATH. Hard coding is eeevul!

2011-06-03 Thread Colin Finck

victor martinez  wrote:

Does Cmake provide a GUI which:
1)Updates the local copy to any desired revision?
2)Which changes the Architecture to build ReactOS for the current session?
3)Fully clean the source directory/logs?


I fear we would attract too many people from the sandbox if we ship 
RosBE with such a GUI. If you want to try or develop ReactOS, you simply 
need some skills. Just requiring basic command line skills for building 
a whole OS is already better than what similar projects offer.


In any case, something like this shouldn't be considered for the very 
first CMake release of RosBE.
We could maybe bundle the already available CMake GUI if there are more 
votes for it. But to be honest, I don't think it's that hard to use the 
command line for setting the few options we have. The rest of the 
building process happens there anyway.



- Colin

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] [ros-diffs] [pschweitzer] 52065: [NTOSKRNL] - renamed Io volumes g

2011-06-03 Thread Alex Ionescu
Ah, I didn't see the caller.

There's still the issue of the missing volatile. It's required to make sure 
there is strict ordering between the spinlock acquisition and the 
increment/decrement.

--
Best regards,
Alex Ionescu

On 2011-06-03, at 4:46 AM, Pierre Schweitzer wrote:

> Hi,
> 
>> The notification routine can change the list, as there is no lock involved.
> List is locked by the caller. Have a look to: 
> IoRegisterFsRegistrationChange().
> 
> Regarding all your remarks: thank you! They have been used to fix code and 
> commited in r52073.
> 
> Regards,
> P. Schweitzer
> 
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] [ros-diffs] [pschweitzer] 52065: [NTOSKRNL] - renamed Io volumes g

2011-06-03 Thread Timo Kreuzer

Am 03.06.2011 13:24, schrieb Alex Ionescu:

Ah, I didn't see the caller.

There's still the issue of the missing volatile. It's required to make sure 
there is strict ordering between the spinlock acquisition and the 
increment/decrement.

Ordering is guaranteed, since the spinlock functions act as memory 
barriers, otherwise a lot of our code wouldn't work.
Suggested reading: 
http://kernel.org/doc/Documentation/volatile-considered-harmful.txt


Regards,
Timo


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Zachary Gorden
The user is able to select which ones they want to install.  If they only
want the x86 BE, they don't have to install the x64 or ARM BE.

On Fri, Jun 3, 2011 at 3:14 AM, Adam  wrote:

> On Fri, 03 Jun 2011 17:58:42 +1000, Ged Murphy 
> wrote:
>
>  When I say wix, I mean windows installer. The two have become synonymous
>> for me now.
>>
>> Much of what you say isn't true.
>> The only issue I've ever come across with msi's is that failed installs
>> can lead to the database becoming corrupt.
>> However this is very rare and can be repaired in various ways.
>>
>
> Now the problem here is: will the end users be able to apply this easily
> without risk of damaging the other installs? I'm not suggesting attempting
> to fix such a problem will damage the other installs or the system, but are
> the repair methods clean?
>
>
>
>> I get the feeling people use NSIS because it's open source and that must
>> mean it's better/cooler.
>> I prefer to look at the merits of both open and closed and choose the
>> best.
>> In 99% of cases, closed source comes out on top.
>>
>
> I must admit I am not a big fan of their clumsy syntax myself. Inno Setup
> seems better to me. As for open sourcedness - IMO its only really useful if
> you have the tools to edit the source. Bottom line is that I agree with
> this.
>
>
>
>>
>> -Original Message-
>> From: Adam [mailto:geekdun...@gmail.com]
>> Sent: 02 June 2011 22:55
>> To: ReactOS Development List; Ged Murphy
>> Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...
>>
>> So having a service running all the time just to install programs, and
>> having to not be able to uninstall a program cleanly if the MSI file has
>> been moved/deleted (or if the MSI file that was copied into some obscure
>> place in the %SYSTEMROOT% path) or due to some other sort of failure,
>> provides an error, is clean is it? Not to mention it will be impossible to
>> uninstall in Safe Mode (should it be necessary) since MSIEXEC refuses to
>> run under Safe Mode these days.
>>
>> Never tried WiX before, but the problem wouldn't be WiX - it would be
>> MSIEXEC and the way it works.
>>
>> On Fri, 03 Jun 2011 07:35:56 +1000, Ged Murphy 
>> wrote:
>>
>>  Are you serious? Have you ever used WiX in a serious capacity?
>>> It's far superior to NSIS in pretty much every way.
>>>
>>>
>>> On 2 June 2011 22:18, Adam  wrote:
>>>
 I do not like the idea of moving to Windows Installer for RosBE 2.0 -
 it can
 be quite tedious to clean up if the install is half done. IMO the
 original
 installer (NSIS) is much more cleaner than Windows Installer too.

 If it ain't broke don't fix it I say.

 On Fri, 03 Jun 2011 06:52:17 +1000, Colin Finck 
 wrote:

  drei...@svn.reactos.org wrote:
>  > if not exist "CMakeLists.txt" (
>
> Can we decide on dropping support for rbuild stuff in RosBE 2.0?
> Reasons:
>
> - RosBE 2.0 will certainly come with an updated set of build tools.
>  (GCC 4.6 with mingw-w64 target is planned, maybe even a multilib
>  version)
>  The target change already makes older builds uncompilable with RosBE
>  2.0. Even if this would be fixed, nobody would guarantee you that a
>  revision built with RosBE 2.0 behaves the same as one compiled with
>  1.5.x.
> - Several versions of RosBE can be installed parallely, especially if
>  you're also moving to a Windows Installer for RosBE 2.0, which
> doesn't
>  care about Uninstall entries of NSIS. So everybody has the option
>  to build older rbuild-powered revisions at any time.
> - It could make all scripts cleaner again :-)
>
> Regards,
>
> Colin
>
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>


 --
 Using Opera's revolutionary email client: http://www.opera.com/mail/

 ___
 Ros-dev mailing list
 Ros-dev@reactos.org
 http://www.reactos.org/mailman/listinfo/ros-dev


>>> ___
>>> Ros-dev mailing list
>>> Ros-dev@reactos.org
>>> http://www.reactos.org/mailman/listinfo/ros-dev
>>>
>>
>>
>>
>
> --
> Using Opera's revolutionary email client: http://www.opera.com/mail/
>
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] 1296 [dreimer] Get the cmake path from a system variable called _ROSBE_CMAKEPATH. Hard coding is eeevul!

2011-06-03 Thread Daniel Reimer
After the chat with zwabbit yesterday i feared exactly this will happen. 
I think we have two ways to add cmake to RosBE.


1. Let the Installer load the setup and run it silently in the background.
2. Bundle a minimal Version.

I dont really like the idea to make users be forced to load cmake from 
an external link and install it afterwards. So lets choose between these 
two ways. I agree, some ppl have a cmake version already installed, but 
this does not stop us to provide it for the rest in one or another way.


Am 03.06.2011 13:16, schrieb Colin Finck:

victor martinez  wrote:

Does Cmake provide a GUI which:
1)Updates the local copy to any desired revision?
2)Which changes the Architecture to build ReactOS for the current 
session?

3)Fully clean the source directory/logs?


I fear we would attract too many people from the sandbox if we ship 
RosBE with such a GUI. If you want to try or develop ReactOS, you 
simply need some skills. Just requiring basic command line skills for 
building a whole OS is already better than what similar projects offer.


In any case, something like this shouldn't be considered for the very 
first CMake release of RosBE.
We could maybe bundle the already available CMake GUI if there are 
more votes for it. But to be honest, I don't think it's that hard to 
use the command line for setting the few options we have. The rest of 
the building process happens there anyway.



- Colin

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev




___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Timo Kreuzer

Am 03.06.2011 16:29, schrieb Zachary Gorden:
The user is able to select which ones they want to install.  If they 
only want the x86 BE, they don't have to install the x64 or ARM BE.


I don't worry about installation size, but download size. and 99% of all 
users will never use any of these.


My vote on this:
CMake: bundle it, optional on installation
x64/arm: create individual installers



___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1296 [dreimer] Get the cmake path from a system variable called _ROSBE_CMAKEPATH. Hard coding is eeevul!

2011-06-03 Thread Zachary Gorden
@Ged The user is able to choose which BEs they want to install, so if they
only want the x86 BE, they can deselect the x64 or ARM "features."  That's a
pretty standard functionality of MSI after all.

@Daniel If that's the route being taken, you're going to have to go with #2.
 You can't run 2 MSIs at the same time and figuring out a way of keeping
track of the latest version of cmake is not worth the effort.  And if we are
going with #2, I'm going to insist it's a separate install "feature" so that
does of us who already have cmake can avoid duplicate installs.  I still
object to cmake being bundled at all, especially if we go with some
"minimalist" version.  That basically severely limits the usage of cmake
while in the BE environment to what we happen to have included, which is a
step backward for the idea of using the BE as the foundation of a full
fledged SDK.

I highly doubt cmake, at least on different versions of their Windows
release, will be the determining factor for reproducible builds.  We're
using different versions of cmake on different OSes at work here and
generally cmake is not the cause of any build problems.

On Fri, Jun 3, 2011 at 9:33 AM, Daniel Reimer wrote:

> After the chat with zwabbit yesterday i feared exactly this will happen. I
> think we have two ways to add cmake to RosBE.
>
> 1. Let the Installer load the setup and run it silently in the background.
> 2. Bundle a minimal Version.
>
> I dont really like the idea to make users be forced to load cmake from an
> external link and install it afterwards. So lets choose between these two
> ways. I agree, some ppl have a cmake version already installed, but this
> does not stop us to provide it for the rest in one or another way.
>
> Am 03.06.2011 13:16, schrieb Colin Finck:
>
>  victor martinez  wrote:
>>
>>> Does Cmake provide a GUI which:
>>> 1)Updates the local copy to any desired revision?
>>> 2)Which changes the Architecture to build ReactOS for the current
>>> session?
>>> 3)Fully clean the source directory/logs?
>>>
>>
>> I fear we would attract too many people from the sandbox if we ship RosBE
>> with such a GUI. If you want to try or develop ReactOS, you simply need some
>> skills. Just requiring basic command line skills for building a whole OS is
>> already better than what similar projects offer.
>>
>> In any case, something like this shouldn't be considered for the very
>> first CMake release of RosBE.
>> We could maybe bundle the already available CMake GUI if there are more
>> votes for it. But to be honest, I don't think it's that hard to use the
>> command line for setting the few options we have. The rest of the building
>> process happens there anyway.
>>
>>
>> - Colin
>>
>> ___
>> Ros-dev mailing list
>> Ros-dev@reactos.org
>> http://www.reactos.org/mailman/listinfo/ros-dev
>>
>>
>
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] 1296 [dreimer] Get the cmake path from a system variable called _ROSBE_CMAKEPATH. Hard coding is eeevul!

2011-06-03 Thread Timo Kreuzer

Am 03.06.2011 16:46, schrieb Zachary Gorden:
@Ged The user is able to choose which BEs they want to install, so if 
they only want the x86 BE, they can deselect the x64 or ARM 
"features."  That's a pretty standard functionality of MSI after all.


Just to be clear, we are talking about 1,5 hours download time for 
people with a 56k modem.



___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1296 [dreimer] Get the cmake path from a system variable called _ROSBE_CMAKEPATH. Hard coding is eeevul!

2011-06-03 Thread Zachary Gorden
The only developer I know who would be majorly impacted by increased BE
download size is Eric.  Eric, any comments on this topic?

On Fri, Jun 3, 2011 at 10:03 AM, Timo Kreuzer  wrote:

> Am 03.06.2011 16:46, schrieb Zachary Gorden:
>
>  @Ged The user is able to choose which BEs they want to install, so if they
>> only want the x86 BE, they can deselect the x64 or ARM "features."  That's a
>> pretty standard functionality of MSI after all.
>>
>>  Just to be clear, we are talking about 1,5 hours download time for people
> with a 56k modem.
>
>
>
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Colin Finck

Timo Kreuzer  wrote:

My vote on this:
CMake: bundle it, optional on installation
x64/arm: create individual installers


* CMake: bundle it, go for the (minimal) version without an installer. 
It's nothing "exotic" to install after all, just put it together with 
the other utilities in RosBE.


* x64/arm: If build tool sizes are staying like this, create individual 
installers. Just for testing, I'll try an x86/x64 multilib build of 
Binutils and GCC though, would be nice to know how much smaller it is 
compared to separate x86 and x64 compilers.


So in general, I agree with Timo :-)


- Colin

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Zachary Gorden
Spoke with Amine and Daniel.  I've agreed to the lesser evil of bundling the
FULL cmake.  Reasons are if we want the BE to be flexible enough to be used
for more than just building ROS, we can't gimp cmake with the belief that no
one will need the things we didn't include.  This is again on Windows.  I
remain uninvolved with decisions about the Linux BE.

On Fri, Jun 3, 2011 at 10:34 AM, Colin Finck  wrote:

> Timo Kreuzer  wrote:
>
>> My vote on this:
>> CMake: bundle it, optional on installation
>> x64/arm: create individual installers
>>
>
> * CMake: bundle it, go for the (minimal) version without an installer. It's
> nothing "exotic" to install after all, just put it together with the other
> utilities in RosBE.
>
> * x64/arm: If build tool sizes are staying like this, create individual
> installers. Just for testing, I'll try an x86/x64 multilib build of Binutils
> and GCC though, would be nice to know how much smaller it is compared to
> separate x86 and x64 compilers.
>
> So in general, I agree with Timo :-)
>
>
> - Colin
>
>
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] [ros-diffs] [pschweitzer] 52065: [NTOSKRNL] - renamed Io volumes g

2011-06-03 Thread Alex Ionescu
While the paper on Linux's spinlock semantics was very interesting, it remains 
the fact that this is not the case in Windows in this particular instance.

A lot of ReactOS code *is* missing calls such as KeMemoryBarrier() and 
(volatile), and only works by chance, so the argument that "otherwise our code 
wouldn't work" is a bit of a fallacy.

You also need to think outside the strict-ordering x86 box. Most of ReactOS' 
code is totally borked on IA64, PPC or ARM (and semi-broken on x64 too, which 
has looser ordering).

Of course, feel free to ignore the suggestion.

--
Best regards,
Alex Ionescu

On 2011-06-03, at 8:08 AM, Timo Kreuzer wrote:

> Am 03.06.2011 13:24, schrieb Alex Ionescu:
>> Ah, I didn't see the caller.
>> 
>> There's still the issue of the missing volatile. It's required to make sure 
>> there is strict ordering between the spinlock acquisition and the 
>> increment/decrement.
>> 
> Ordering is guaranteed, since the spinlock functions act as memory barriers, 
> otherwise a lot of our code wouldn't work.
> Suggested reading: 
> http://kernel.org/doc/Documentation/volatile-considered-harmful.txt
> 
> Regards,
> Timo
> 
> 
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Alex Ionescu
Why separate installers for x64/ARM?

Just do what every software company this side of the century does: a 400kb 
installer which lets you select the packages you want, and downloads them.

--
Best regards,
Alex Ionescu

On 2011-06-03, at 11:38 AM, Zachary Gorden wrote:

> Spoke with Amine and Daniel.  I've agreed to the lesser evil of bundling the 
> FULL cmake.  Reasons are if we want the BE to be flexible enough to be used 
> for more than just building ROS, we can't gimp cmake with the belief that no 
> one will need the things we didn't include.  This is again on Windows.  I 
> remain uninvolved with decisions about the Linux BE.
> 
> On Fri, Jun 3, 2011 at 10:34 AM, Colin Finck  wrote:
> Timo Kreuzer  wrote:
> My vote on this:
> CMake: bundle it, optional on installation
> x64/arm: create individual installers
> 
> * CMake: bundle it, go for the (minimal) version without an installer. It's 
> nothing "exotic" to install after all, just put it together with the other 
> utilities in RosBE.
> 
> * x64/arm: If build tool sizes are staying like this, create individual 
> installers. Just for testing, I'll try an x86/x64 multilib build of Binutils 
> and GCC though, would be nice to know how much smaller it is compared to 
> separate x86 and x64 compilers.
> 
> So in general, I agree with Timo :-)
> 
> 
> - Colin
> 
> 
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
> 
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Kamil Hornicek
I didn't want to spam this discussion but I have to.. What every other 
software company also does is refusing to believe someone might be behind a 
proxy server. If you go this way, please make sure the installer doesn't 
need a direct connection. Also online installers are generally a major pain 
in the ass if you don't provide an offline installer too.


- Original Message - 
From: Alex Ionescu

To: ReactOS Development List
Sent: Friday, June 03, 2011 5:56 PM
Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...


Why separate installers for x64/ARM?


Just do what every software company this side of the century does: a 400kb 
installer which lets you select the packages you want, and downloads them.



--
Best regards,
Alex Ionescu


On 2011-06-03, at 11:38 AM, Zachary Gorden wrote:


Spoke with Amine and Daniel.  I've agreed to the lesser evil of bundling the 
FULL cmake.  Reasons are if we want the BE to be flexible enough to be used 
for more than just building ROS, we can't gimp cmake with the belief that no 
one will need the things we didn't include.  This is again on Windows.  I 
remain uninvolved with decisions about the Linux BE.



On Fri, Jun 3, 2011 at 10:34 AM, Colin Finck  wrote:

Timo Kreuzer  wrote:

My vote on this:
CMake: bundle it, optional on installation
x64/arm: create individual installers



* CMake: bundle it, go for the (minimal) version without an installer. It's 
nothing "exotic" to install after all, just put it together with the other 
utilities in RosBE.


* x64/arm: If build tool sizes are staying like this, create individual 
installers. Just for testing, I'll try an x86/x64 multilib build of Binutils 
and GCC though, would be nice to know how much smaller it is compared to 
separate x86 and x64 compilers.


So in general, I agree with Timo :-)


- Colin


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev






___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev 



___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Alex Ionescu
Since online installers use HTTP, and the user got the installer off HTTP, what 
would a proxy server change?

--
Best regards,
Alex Ionescu

On 2011-06-03, at 12:33 PM, Kamil Hornicek wrote:

> I didn't want to spam this discussion but I have to.. What every other 
> software company also does is refusing to believe someone might be behind a 
> proxy server. If you go this way, please make sure the installer doesn't need 
> a direct connection. Also online installers are generally a major pain in the 
> ass if you don't provide an offline installer too.
> 
> - Original Message - From: Alex Ionescu
> To: ReactOS Development List
> Sent: Friday, June 03, 2011 5:56 PM
> Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...
> 
> 
> Why separate installers for x64/ARM?
> 
> 
> Just do what every software company this side of the century does: a 400kb 
> installer which lets you select the packages you want, and downloads them.
> 
> 
> --
> Best regards,
> Alex Ionescu
> 
> 
> On 2011-06-03, at 11:38 AM, Zachary Gorden wrote:
> 
> 
> Spoke with Amine and Daniel.  I've agreed to the lesser evil of bundling the 
> FULL cmake.  Reasons are if we want the BE to be flexible enough to be used 
> for more than just building ROS, we can't gimp cmake with the belief that no 
> one will need the things we didn't include.  This is again on Windows.  I 
> remain uninvolved with decisions about the Linux BE.
> 
> 
> On Fri, Jun 3, 2011 at 10:34 AM, Colin Finck  wrote:
> 
> Timo Kreuzer  wrote:
> 
> My vote on this:
> CMake: bundle it, optional on installation
> x64/arm: create individual installers
> 
> 
> 
> * CMake: bundle it, go for the (minimal) version without an installer. It's 
> nothing "exotic" to install after all, just put it together with the other 
> utilities in RosBE.
> 
> * x64/arm: If build tool sizes are staying like this, create individual 
> installers. Just for testing, I'll try an x86/x64 multilib build of Binutils 
> and GCC though, would be nice to know how much smaller it is compared to 
> separate x86 and x64 compilers.
> 
> So in general, I agree with Timo :-)
> 
> 
> - Colin
> 
> 
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
> 
> 
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
> 
> 
> 
> 
> 
> 
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev 
> 
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Javier Agustìn Fernàndez Arroyo
just 1 more thing...

if you choose to download modules optionally, please dont forget about users
behind a proxy which requires authentication (im one of them at work :)
)

On Fri, Jun 3, 2011 at 7:03 PM, Alex Ionescu  wrote:

> Since online installers use HTTP, and the user got the installer off HTTP,
> what would a proxy server change?
>
> --
> Best regards,
> Alex Ionescu
>
> On 2011-06-03, at 12:33 PM, Kamil Hornicek wrote:
>
> > I didn't want to spam this discussion but I have to.. What every other
> software company also does is refusing to believe someone might be behind a
> proxy server. If you go this way, please make sure the installer doesn't
> need a direct connection. Also online installers are generally a major pain
> in the ass if you don't provide an offline installer too.
> >
> > - Original Message - From: Alex Ionescu
> > To: ReactOS Development List
> > Sent: Friday, June 03, 2011 5:56 PM
> > Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...
> >
> >
> > Why separate installers for x64/ARM?
> >
> >
> > Just do what every software company this side of the century does: a
> 400kb installer which lets you select the packages you want, and downloads
> them.
> >
> >
> > --
> > Best regards,
> > Alex Ionescu
> >
> >
> > On 2011-06-03, at 11:38 AM, Zachary Gorden wrote:
> >
> >
> > Spoke with Amine and Daniel.  I've agreed to the lesser evil of bundling
> the FULL cmake.  Reasons are if we want the BE to be flexible enough to be
> used for more than just building ROS, we can't gimp cmake with the belief
> that no one will need the things we didn't include.  This is again on
> Windows.  I remain uninvolved with decisions about the Linux BE.
> >
> >
> > On Fri, Jun 3, 2011 at 10:34 AM, Colin Finck  wrote:
> >
> > Timo Kreuzer  wrote:
> >
> > My vote on this:
> > CMake: bundle it, optional on installation
> > x64/arm: create individual installers
> >
> >
> >
> > * CMake: bundle it, go for the (minimal) version without an installer.
> It's nothing "exotic" to install after all, just put it together with the
> other utilities in RosBE.
> >
> > * x64/arm: If build tool sizes are staying like this, create individual
> installers. Just for testing, I'll try an x86/x64 multilib build of Binutils
> and GCC though, would be nice to know how much smaller it is compared to
> separate x86 and x64 compilers.
> >
> > So in general, I agree with Timo :-)
> >
> >
> > - Colin
> >
> >
> > ___
> > Ros-dev mailing list
> > Ros-dev@reactos.org
> > http://www.reactos.org/mailman/listinfo/ros-dev
> >
> >
> > ___
> > Ros-dev mailing list
> > Ros-dev@reactos.org
> > http://www.reactos.org/mailman/listinfo/ros-dev
> >
> >
> >
> >
> >
> >
> > ___
> > Ros-dev mailing list
> > Ros-dev@reactos.org
> > http://www.reactos.org/mailman/listinfo/ros-dev
> >
> > ___
> > Ros-dev mailing list
> > Ros-dev@reactos.org
> > http://www.reactos.org/mailman/listinfo/ros-dev
>
>
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev
>
___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Kamil Hornicek
whatever you use for downloading the installer has to be configured to 
connect throught the proxy and also to use its dns services for host name 
resolving. if the installer itself isn't aware of the need for proxy server 
(or is not able to connect through socks or whatever the proxy uses) it 
won't be usually able to resolve the hostname it's trying to connect to 
(depends on the exact network configuration). also the default route to the 
internet would be missing or direct outgoing connections would be blocked 
(which they usually are otherwise you wouldn't be forced to use the proxy 
server in the first place) so the traffic generated by the installer 
wouldn't have any means to reach its destination.


I didn't want to derail the discussion and I apologize for that. I'll shut 
up next time.


Kamil

- Original Message - 
From: "Alex Ionescu" 

To: "ReactOS Development List" 
Sent: Friday, June 03, 2011 7:03 PM
Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...


Since online installers use HTTP, and the user got the installer off HTTP, 
what would a proxy server change?


--
Best regards,
Alex Ionescu

On 2011-06-03, at 12:33 PM, Kamil Hornicek wrote:

I didn't want to spam this discussion but I have to.. What every other 
software company also does is refusing to believe someone might be behind 
a proxy server. If you go this way, please make sure the installer 
doesn't need a direct connection. Also online installers are generally a 
major pain in the ass if you don't provide an offline installer too.


- Original Message - From: Alex Ionescu
To: ReactOS Development List
Sent: Friday, June 03, 2011 5:56 PM
Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...


Why separate installers for x64/ARM?


Just do what every software company this side of the century does: a 
400kb installer which lets you select the packages you want, and 
downloads them.



--
Best regards,
Alex Ionescu


On 2011-06-03, at 11:38 AM, Zachary Gorden wrote:


Spoke with Amine and Daniel.  I've agreed to the lesser evil of bundling 
the FULL cmake.  Reasons are if we want the BE to be flexible enough to 
be used for more than just building ROS, we can't gimp cmake with the 
belief that no one will need the things we didn't include.  This is again 
on Windows.  I remain uninvolved with decisions about the Linux BE.



On Fri, Jun 3, 2011 at 10:34 AM, Colin Finck  wrote:

Timo Kreuzer  wrote:

My vote on this:
CMake: bundle it, optional on installation
x64/arm: create individual installers



* CMake: bundle it, go for the (minimal) version without an installer. 
It's nothing "exotic" to install after all, just put it together with the 
other utilities in RosBE.


* x64/arm: If build tool sizes are staying like this, create individual 
installers. Just for testing, I'll try an x86/x64 multilib build of 
Binutils and GCC though, would be nice to know how much smaller it is 
compared to separate x86 and x64 compilers.


So in general, I agree with Timo :-)


- Colin


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev






___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev



___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev 



___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Alex Ionescu
Again all of this is irrelevant: since I think you are a Linux user, I can 
understand why you are confused.

On Windows, all HTTP communication is done by WinHTTP and/or WinINET, nobody 
writes their own custom socket code.

WinHTTP/WinINET control the proxy settings for the machine. In fact, if you use 
Google Chrome on Windows (or Safari) and go to the proxy/connection settings, 
you will see "IE's" proxy connection dialog -- because these settings/dialog 
are owned by the OS Library, not the individual applications.

Therefore, the installer will use 100% the same settings as the web browser, 
including the same protocol.

So, as I stated, if the browser can download foo.exe, so will the online 
installer.

--
Best regards,
Alex Ionescu

On 2011-06-03, at 1:50 PM, Kamil Hornicek wrote:

> whatever you use for downloading the installer has to be configured to 
> connect throught the proxy and also to use its dns services for host name 
> resolving. if the installer itself isn't aware of the need for proxy server 
> (or is not able to connect through socks or whatever the proxy uses) it won't 
> be usually able to resolve the hostname it's trying to connect to (depends on 
> the exact network configuration). also the default route to the internet 
> would be missing or direct outgoing connections would be blocked (which they 
> usually are otherwise you wouldn't be forced to use the proxy server in the 
> first place) so the traffic generated by the installer wouldn't have any 
> means to reach its destination.
> 
> I didn't want to derail the discussion and I apologize for that. I'll shut up 
> next time.
> 
> Kamil
> 
> - Original Message - From: "Alex Ionescu" 
> To: "ReactOS Development List" 
> Sent: Friday, June 03, 2011 7:03 PM
> Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...
> 
> 
>> Since online installers use HTTP, and the user got the installer off HTTP, 
>> what would a proxy server change?
>> 
>> --
>> Best regards,
>> Alex Ionescu
>> 
>> On 2011-06-03, at 12:33 PM, Kamil Hornicek wrote:
>> 
>>> I didn't want to spam this discussion but I have to.. What every other 
>>> software company also does is refusing to believe someone might be behind a 
>>> proxy server. If you go this way, please make sure the installer doesn't 
>>> need a direct connection. Also online installers are generally a major pain 
>>> in the ass if you don't provide an offline installer too.
>>> 
>>> - Original Message - From: Alex Ionescu
>>> To: ReactOS Development List
>>> Sent: Friday, June 03, 2011 5:56 PM
>>> Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...
>>> 
>>> 
>>> Why separate installers for x64/ARM?
>>> 
>>> 
>>> Just do what every software company this side of the century does: a 400kb 
>>> installer which lets you select the packages you want, and downloads them.
>>> 
>>> 
>>> --
>>> Best regards,
>>> Alex Ionescu
>>> 
>>> 
>>> On 2011-06-03, at 11:38 AM, Zachary Gorden wrote:
>>> 
>>> 
>>> Spoke with Amine and Daniel.  I've agreed to the lesser evil of bundling 
>>> the FULL cmake.  Reasons are if we want the BE to be flexible enough to be 
>>> used for more than just building ROS, we can't gimp cmake with the belief 
>>> that no one will need the things we didn't include.  This is again on 
>>> Windows.  I remain uninvolved with decisions about the Linux BE.
>>> 
>>> 
>>> On Fri, Jun 3, 2011 at 10:34 AM, Colin Finck  wrote:
>>> 
>>> Timo Kreuzer  wrote:
>>> 
>>> My vote on this:
>>> CMake: bundle it, optional on installation
>>> x64/arm: create individual installers
>>> 
>>> 
>>> 
>>> * CMake: bundle it, go for the (minimal) version without an installer. It's 
>>> nothing "exotic" to install after all, just put it together with the other 
>>> utilities in RosBE.
>>> 
>>> * x64/arm: If build tool sizes are staying like this, create individual 
>>> installers. Just for testing, I'll try an x86/x64 multilib build of 
>>> Binutils and GCC though, would be nice to know how much smaller it is 
>>> compared to separate x86 and x64 compilers.
>>> 
>>> So in general, I agree with Timo :-)
>>> 
>>> 
>>> - Colin
>>> 
>>> 
>>> ___
>>> Ros-dev mailing list
>>> Ros-dev@reactos.org
>>> http://www.reactos.org/mailman/listinfo/ros-dev
>>> 
>>> 
>>> ___
>>> Ros-dev mailing list
>>> Ros-dev@reactos.org
>>> http://www.reactos.org/mailman/listinfo/ros-dev
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> ___
>>> Ros-dev mailing list
>>> Ros-dev@reactos.org
>>> http://www.reactos.org/mailman/listinfo/ros-dev
>>> 
>>> ___
>>> Ros-dev mailing list
>>> Ros-dev@reactos.org
>>> http://www.reactos.org/mailman/listinfo/ros-dev
>> 
>> 
>> ___
>> Ros-dev mailing list
>> Ros-dev@reactos.org
>> http://www.reactos.org/mailman/listinfo/ros-dev 
> 
> 
> 

Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Javier Agustìn Fernàndez Arroyo
thank you for your explanation, Alex, well, im both a Linux and Windows
user, but i didnt know this.

Its just i have got several apps that cannot work because of the issue i
said above

But, anywan, im ok now, and thank you so much

On Fri, Jun 3, 2011 at 8:20 PM, Alex Ionescu  wrote:

> Again all of this is irrelevant: since I think you are a Linux user, I can
> understand why you are confused.
>
> On Windows, all HTTP communication is done by WinHTTP and/or WinINET,
> nobody writes their own custom socket code.
>
> WinHTTP/WinINET control the proxy settings for the machine. In fact, if you
> use Google Chrome on Windows (or Safari) and go to the proxy/connection
> settings, you will see "IE's" proxy connection dialog -- because these
> settings/dialog are owned by the OS Library, not the individual
> applications.
>
> Therefore, the installer will use 100% the same settings as the web
> browser, including the same protocol.
>
> So, as I stated, if the browser can download foo.exe, so will the online
> installer.
>
> --
> Best regards,
> Alex Ionescu
>
> On 2011-06-03, at 1:50 PM, Kamil Hornicek wrote:
>
> > whatever you use for downloading the installer has to be configured to
> connect throught the proxy and also to use its dns services for host name
> resolving. if the installer itself isn't aware of the need for proxy server
> (or is not able to connect through socks or whatever the proxy uses) it
> won't be usually able to resolve the hostname it's trying to connect to
> (depends on the exact network configuration). also the default route to the
> internet would be missing or direct outgoing connections would be blocked
> (which they usually are otherwise you wouldn't be forced to use the proxy
> server in the first place) so the traffic generated by the installer
> wouldn't have any means to reach its destination.
> >
> > I didn't want to derail the discussion and I apologize for that. I'll
> shut up next time.
> >
> > Kamil
> >
> > - Original Message - From: "Alex Ionescu" 
> > To: "ReactOS Development List" 
> > Sent: Friday, June 03, 2011 7:03 PM
> > Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...
> >
> >
> >> Since online installers use HTTP, and the user got the installer off
> HTTP, what would a proxy server change?
> >>
> >> --
> >> Best regards,
> >> Alex Ionescu
> >>
> >> On 2011-06-03, at 12:33 PM, Kamil Hornicek wrote:
> >>
> >>> I didn't want to spam this discussion but I have to.. What every other
> software company also does is refusing to believe someone might be behind a
> proxy server. If you go this way, please make sure the installer doesn't
> need a direct connection. Also online installers are generally a major pain
> in the ass if you don't provide an offline installer too.
> >>>
> >>> - Original Message - From: Alex Ionescu
> >>> To: ReactOS Development List
> >>> Sent: Friday, June 03, 2011 5:56 PM
> >>> Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...
> >>>
> >>>
> >>> Why separate installers for x64/ARM?
> >>>
> >>>
> >>> Just do what every software company this side of the century does: a
> 400kb installer which lets you select the packages you want, and downloads
> them.
> >>>
> >>>
> >>> --
> >>> Best regards,
> >>> Alex Ionescu
> >>>
> >>>
> >>> On 2011-06-03, at 11:38 AM, Zachary Gorden wrote:
> >>>
> >>>
> >>> Spoke with Amine and Daniel.  I've agreed to the lesser evil of
> bundling the FULL cmake.  Reasons are if we want the BE to be flexible
> enough to be used for more than just building ROS, we can't gimp cmake with
> the belief that no one will need the things we didn't include.  This is
> again on Windows.  I remain uninvolved with decisions about the Linux BE.
> >>>
> >>>
> >>> On Fri, Jun 3, 2011 at 10:34 AM, Colin Finck 
> wrote:
> >>>
> >>> Timo Kreuzer  wrote:
> >>>
> >>> My vote on this:
> >>> CMake: bundle it, optional on installation
> >>> x64/arm: create individual installers
> >>>
> >>>
> >>>
> >>> * CMake: bundle it, go for the (minimal) version without an installer.
> It's nothing "exotic" to install after all, just put it together with the
> other utilities in RosBE.
> >>>
> >>> * x64/arm: If build tool sizes are staying like this, create individual
> installers. Just for testing, I'll try an x86/x64 multilib build of Binutils
> and GCC though, would be nice to know how much smaller it is compared to
> separate x86 and x64 compilers.
> >>>
> >>> So in general, I agree with Timo :-)
> >>>
> >>>
> >>> - Colin
> >>>
> >>>
> >>> ___
> >>> Ros-dev mailing list
> >>> Ros-dev@reactos.org
> >>> http://www.reactos.org/mailman/listinfo/ros-dev
> >>>
> >>>
> >>> ___
> >>> Ros-dev mailing list
> >>> Ros-dev@reactos.org
> >>> http://www.reactos.org/mailman/listinfo/ros-dev
> >>>
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> ___
> >>> Ros-dev mailing list
> >>> Ros-dev@reactos.org

Re: [ros-dev] [ros-diffs] [pschweitzer] 52065: [NTOSKRNL] - renamed Io volumes g

2011-06-03 Thread Timo Kreuzer

Am 03.06.2011 17:55, schrieb Alex Ionescu:

While the paper on Linux's spinlock semantics was very interesting, it remains 
the fact that this is not the case in Windows in this particular instance.

A lot of ReactOS code *is* missing calls such as KeMemoryBarrier() and (volatile), and 
only works by chance, so the argument that "otherwise our code wouldn't work" 
is a bit of a fallacy.

You also need to think outside the strict-ordering x86 box. Most of ReactOS' 
code is totally borked on IA64, PPC or ARM (and semi-broken on x64 too, which 
has looser ordering).

Of course, feel free to ignore the suggestion.

--
Best regards,
Alex Ionescu



I won't ignore the suggestion. I'd rather try to convince you that its 
useless.

Lets look at this particular instance.

Irql = KeAcquireQueuedSpinLock(Queue);
OldValue = (*Ulong)--;
KeReleaseQueuedSpinLock(Queue, Irql);

KeAcquireQueuedSpinLock is declared as:

_DECL_HAL_KE_IMPORT
KIRQL
FASTCALL
KeAcquireQueuedSpinLock(
  IN OUT KSPIN_LOCK_QUEUE_NUMBER Number);

Thats really all we need to know. Its a fastcall function. Its not 
inline, but a function calls across the translation unit boundaries. 
This alone is enough to guarantee strict compiler ordering of memory 
accesses around the bounds of the call.
The compiler cannot know what will happen inside the function that is 
being called, so it won't make any assumptions about reordering 
possibilities.


See:
http://publications.gbdirect.co.uk/c_book/chapter8/sequence_points.html

MSDN: http://msdn.microsoft.com/en-us/library/d45c7a5d%28VS.80%29.aspx
"Function-call operator. The function-call expression and all arguments 
to a function, including default arguments, are evaluated/*and all side 
effects completed*/ prior to entry to the function. There is no 
specified order of evaluation among the arguments or the function-call 
expression."


Also described in the ansi-C standard, but pretty abstract:
http://www.bsb.me.uk/ansi-c/ansi-c-one-file#sec_2_1_2_3
http://www.bsb.me.uk/ansi-c/ansi-c-one-file#sec_3_3_2_2

Regards,
Timo

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] [ros-diffs] [pschweitzer] 52065: [NTOSKRNL] - renamed Io volumes g

2011-06-03 Thread Alex Ionescu
What about on UP, where a strong compiler will realize that the call only 
raises IRQL to dispatch, and since these apis are in NTOSKRNL, they might get 
in-lined or modified.

On AMD64, raising the IRQL means only modifying cr8.

So the function will become:

OldIrql == __readcr8();
__writecr8(DISPATCH_LEVEL);
inc dword ptr [reg];
__writecr8(OldIrql);

Is ordering still guaranteed in this scenario?

--
Best regards,
Alex Ionescu

On 2011-06-03, at 3:35 PM, Timo Kreuzer wrote:

> Am 03.06.2011 17:55, schrieb Alex Ionescu:
>> 
>> While the paper on Linux's spinlock semantics was very interesting, it 
>> remains the fact that this is not the case in Windows in this particular 
>> instance.
>> 
>> A lot of ReactOS code *is* missing calls such as KeMemoryBarrier() and 
>> (volatile), and only works by chance, so the argument that "otherwise our 
>> code wouldn't work" is a bit of a fallacy.
>> 
>> You also need to think outside the strict-ordering x86 box. Most of ReactOS' 
>> code is totally borked on IA64, PPC or ARM (and semi-broken on x64 too, 
>> which has looser ordering).
>> 
>> Of course, feel free to ignore the suggestion.
>> 
>> --
>> Best regards,
>> Alex Ionescu
>> 
> 
> I won't ignore the suggestion. I'd rather try to convince you that its 
> useless.
> Lets look at this particular instance. 
> 
> Irql = KeAcquireQueuedSpinLock(Queue);
> OldValue = (*Ulong)--;
> KeReleaseQueuedSpinLock(Queue, Irql);
> 
> KeAcquireQueuedSpinLock is declared as:
> 
> _DECL_HAL_KE_IMPORT
> KIRQL
> FASTCALL
> KeAcquireQueuedSpinLock(
>   IN OUT KSPIN_LOCK_QUEUE_NUMBER Number);
> 
> Thats really all we need to know. Its a fastcall function. Its not inline, 
> but a function calls across the translation unit boundaries. This alone is 
> enough to guarantee strict compiler ordering of memory accesses around the 
> bounds of the call.
> The compiler cannot know what will happen inside the function that is being 
> called, so it won't make any assumptions about reordering possibilities.
> 
> See:
> http://publications.gbdirect.co.uk/c_book/chapter8/sequence_points.html
> 
> MSDN: http://msdn.microsoft.com/en-us/library/d45c7a5d%28VS.80%29.aspx
> "Function-call operator. The function-call expression and all arguments to a 
> function, including default arguments, are evaluated and all side effects 
> completed prior to entry to the function. There is no specified order of 
> evaluation among the arguments or the function-call expression."
> 
> Also described in the ansi-C standard, but pretty abstract:
> http://www.bsb.me.uk/ansi-c/ansi-c-one-file#sec_2_1_2_3
> http://www.bsb.me.uk/ansi-c/ansi-c-one-file#sec_3_3_2_2
> 
> Regards,
> Timo
> 
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] 1296 [dreimer] Get the cmake path from a system variable called _R

2011-06-03 Thread Jan Blomqvist Kinander
For all not-so-techie guys who want to start building and possibly develop 
ReactOS and for many testers it's important to keep it super-simple, RosBE is 
just so simple anyone can get started and it's not threatning at all. This is 
really important in my opinion. 

I also follow the Contiki OS, they also have a development suite, but it is a 
VMware Player image of the size of more then 2GB To include Ubuntu + build 
tools and utilities, that is heavy and mega crippled.

I also insist on one RosBE including all needed portions of the building 
environment. I also would like to see some util for translators to make that 
easy.

I would like something like RosTE too, a one installation package including a 
Test Environment with VM automatic iso downloader, debug-tools and such.

ReactOS is supposed to be easy, keep it that way.

/Jaix Bly
Jan Blomqvist Kinander

"ReactOS Development List"  wrote on Fri, June 3rd, 2011, 
9:42 AM:
> Zachary Gorden wrote:
> > I object highly to the idea of bundling cmake with the BE.  Most
> > platforms already have binaries built of cmake, either by the distro or
> > for Windows, the people who make cmake provide an installer.
> 
> I don't see the point here, you could say exactly the same about every 
> tool we bundle.
> 
> 
> > We provide the compilers and linkers and we provided rbuildbecause it was 
> > our own
> > thing, but cmake is not and has its own environment.
> 
> There are also easily installable third-party MinGW environments, but 
> this is not the point.
> RosBE started as a project to bundle all build tools (always including 
> GNU Make by the way), even when we didn't need our own specially patched 
> versions yet. This is precisely why ReactOS is one of the easiest 
> operating systems to compile and we can have 5-minute tutorials like 
> this: http://www.youtube.com/watch?v=jnt7s2zEZFo
> 
> On top of this, it allows us to have comparable builds between all 
> developers, because we can be sure that they use the very same tools.
> I don't want to spend nights of debugging if problems are suddenly 
> caused by using different CMake versions.
> 
> I'm very reluctant to drop these fundamental ideas behind RosBE. They 
> have certainly saved every ReactOS developer much time.
> 
> 
> - Colin
> 
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Jan Blomqvist Kinander
I suggest doing like many other, have one standard 400k installer but one fully 
packad exe as well, for the ones having troubble.

/Jaix Bly

"ReactOS Development List"  wrote on Fri, June 3rd, 2011, 
7:44 PM:
> just 1 more thing...
> 
> if you choose to download modules optionally, please dont forget about users
> behind a proxy which requires authentication (im one of them at work :)
> )
> 
> On Fri, Jun 3, 2011 at 7:03 PM, Alex Ionescu  wrote:
> 
> > Since online installers use HTTP, and the user got the installer off HTTP,
> > what would a proxy server change?
> >
> > --
> > Best regards,
> > Alex Ionescu
> >
> > On 2011-06-03, at 12:33 PM, Kamil Hornicek wrote:
> >
> > > I didn't want to spam this discussion but I have to.. What every other
> > software company also does is refusing to believe someone might be behind a
> > proxy server. If you go this way, please make sure the installer doesn't
> > need a direct connection. Also online installers are generally a major pain
> > in the ass if you don't provide an offline installer too.
> > >
> > > - Original Message - From: Alex Ionescu
> > > To: ReactOS Development List
> > > Sent: Friday, June 03, 2011 5:56 PM
> > > Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...
> > >
> > >
> > > Why separate installers for x64/ARM?
> > >
> > >
> > > Just do what every software company this side of the century does: a
> > 400kb installer which lets you select the packages you want, and downloads
> > them.
> > >
> > >
> > > --
> > > Best regards,
> > > Alex Ionescu
> > >
> > >
> > > On 2011-06-03, at 11:38 AM, Zachary Gorden wrote:
> > >
> > >
> > > Spoke with Amine and Daniel.  I've agreed to the lesser evil of bundling
> > the FULL cmake.  Reasons are if we want the BE to be flexible enough to be
> > used for more than just building ROS, we can't gimp cmake with the belief
> > that no one will need the things we didn't include.  This is again on
> > Windows.  I remain uninvolved with decisions about the Linux BE.
> > >
> > >
> > > On Fri, Jun 3, 2011 at 10:34 AM, Colin Finck  wrote:
> > >
> > > Timo Kreuzer  wrote:
> > >
> > > My vote on this:
> > > CMake: bundle it, optional on installation
> > > x64/arm: create individual installers
> > >
> > >
> > >
> > > * CMake: bundle it, go for the (minimal) version without an installer.
> > It's nothing "exotic" to install after all, just put it together with the
> > other utilities in RosBE.
> > >
> > > * x64/arm: If build tool sizes are staying like this, create individual
> > installers. Just for testing, I'll try an x86/x64 multilib build of Binutils
> > and GCC though, would be nice to know how much smaller it is compared to
> > separate x86 and x64 compilers.
> > >
> > > So in general, I agree with Timo :-)
> > >
> > >
> > > - Colin
> > >
> > >
> > > ___
> > > Ros-dev mailing list
> > > Ros-dev@reactos.org
> > > http://www.reactos.org/mailman/listinfo/ros-dev
> > >
> > >
> > > ___
> > > Ros-dev mailing list
> > > Ros-dev@reactos.org
> > > http://www.reactos.org/mailman/listinfo/ros-dev
> > >
> > >
> > >
> > >
> > >
> > >
> > > ___
> > > Ros-dev mailing list
> > > Ros-dev@reactos.org
> > > http://www.reactos.org/mailman/listinfo/ros-dev
> > >
> > > ___
> > > Ros-dev mailing list
> > > Ros-dev@reactos.org
> > > http://www.reactos.org/mailman/listinfo/ros-dev
> >
> >
> > ___
> > Ros-dev mailing list
> > Ros-dev@reactos.org
> > http://www.reactos.org/mailman/listinfo/ros-dev
> >
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] [ros-diffs] [pschweitzer] 52065: [NTOSKRNL] - renamed Io volumes g

2011-06-03 Thread Timo Kreuzer


Am 03.06.2011 21:48, schrieb Alex Ionescu:
What about on UP, where a strong compiler will realize that the call 
only raises IRQL to dispatch, and since these apis are in NTOSKRNL, 
they might get in-lined or modified.
This would only happen, if the function is either delcared as inline or 
inside the same translation unit. Both of that is not the case here.
If it was the case (say we inlined KeAcquireQueuedSpinLock) then we 
would need to add an explicit memory barrier to that inline function.





On AMD64, raising the IRQL means only modifying cr8.

So the function will become:

OldIrql == __readcr8();
__writecr8(DISPATCH_LEVEL);
inc dword ptr [reg];
__writecr8(OldIrql);

Is ordering still guaranteed in this scenario?
No, not in this case. (Which is IMO a bad definition of KeRaiseIrql or a 
bad implementation of __writecr8) But how does the use of volatile fix 
this? It doesn't!

MSDN says about volatile objects:
"A write to a volatile object (volatile write) has Release semantics; a 
reference to a global or static object that occurs before a write to a 
volatile object in the instruction sequence will occur before that 
volatile write in the compiled binary."
But we would need release + acquire semantics. and even then it wouldn't 
guarantee that __writecr8() is considered "reference to a global or 
static object". And gcc might even behave different.


Luckily at least all Spinlock functions have an implicit memory barrier 
and are thus not prone to this problem.


So instead of adding volatile here and there and random places or even 
to all shared data structures, we need to make sure, we stick to some 
locking rules, which would mean not to expect KeRaiseIrql() to provide 
an implicit memory barrier and to make sure all inlined spinlock 
functions will have a proper memory barrier.


Regards,
Timo



___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev


Re: [ros-dev] [ros-diffs] [nyadav] 52076: [AUDSRV] finish upto actual mixing functions

2011-06-03 Thread Ged Murphy
Can you use the reactos / ansi coding standard.
This code is almost unreadable, which makes it very difficult to review

On 3 June 2011 22:41,   wrote:
> Author: nyadav
> Date: Fri Jun  3 21:41:26 2011
> New Revision: 52076
>
> URL: http://svn.reactos.org/svn/reactos?rev=52076&view=rev
> Log:
> [AUDSRV] finish upto actual mixing functions
>
> Added:
>    branches/nyadav-audio-branch/base/services/audsrv/mixer.c   (with props)
> Modified:
>    branches/nyadav-audio-branch/base/services/audsrv/CMakeLists.txt
>    branches/nyadav-audio-branch/base/services/audsrv/audsrv.c
>    branches/nyadav-audio-branch/base/services/audsrv/audsrv.h
>    branches/nyadav-audio-branch/base/services/audsrv/rpc.c
>    branches/nyadav-audio-branch/base/services/audsrv/stream.c
>    branches/nyadav-audio-branch/dll/win32/audsrvapi/audsrvapi.c
>    branches/nyadav-audio-branch/dll/win32/audsrvapi/audsrvapi.spec
>    
> branches/nyadav-audio-branch/drivers/wdm/audio/backpln/audclient/audclient.c
>    branches/nyadav-audio-branch/include/reactos/idl/audsrvrpc.idl
>    branches/nyadav-audio-branch/include/reactos/libs/audsrv/audsrvapi.h
>
> Modified: branches/nyadav-audio-branch/base/services/audsrv/CMakeLists.txt
> URL: 
> http://svn.reactos.org/svn/reactos/branches/nyadav-audio-branch/base/services/audsrv/CMakeLists.txt?rev=52076&r1=52075&r2=52076&view=diff
> ==
> --- branches/nyadav-audio-branch/base/services/audsrv/CMakeLists.txt 
> [iso-8859-1] (original)
> +++ branches/nyadav-audio-branch/base/services/audsrv/CMakeLists.txt 
> [iso-8859-1] Fri Jun  3 21:41:26 2011
> @@ -7,6 +7,7 @@
>     audsrv.c
>     audsrv.rc
>     rpc.c
> +       mixer.c
>        stream.c)
>
>  add_executable(audsrv ${SOURCE})
>
> Modified: branches/nyadav-audio-branch/base/services/audsrv/audsrv.c
> URL: 
> http://svn.reactos.org/svn/reactos/branches/nyadav-audio-branch/base/services/audsrv/audsrv.c?rev=52076&r1=52075&r2=52076&view=diff
> ==
> --- branches/nyadav-audio-branch/base/services/audsrv/audsrv.c [iso-8859-1] 
> (original)
> +++ branches/nyadav-audio-branch/base/services/audsrv/audsrv.c [iso-8859-1] 
> Fri Jun  3 21:41:26 2011
> @@ -41,6 +41,7 @@
>  const GUID KSMEDIUMSETID_Standard               = {0x4747B320L, 0x62CE, 
> 0x11CF, {0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00}};
>  const GUID KSDATAFORMAT_TYPE_AUDIO              = {0x73647561L, 0x, 
> 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}};
>  const GUID KSDATAFORMAT_SUBTYPE_PCM             = {0x0001L, 0x, 
> 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}};
> +const GUID KSDATAFORMAT_SUBTYPE_IEEE_FLOAT      = {0x0003L, 0x, 
> 0x0010, {0x80, 0x00, 0x00, 0xaa, 0x00, 0x38, 0x9b, 0x71}};
>  const GUID KSDATAFORMAT_SPECIFIER_WAVEFORMATEX  = {0x05589f81L, 0xc356, 
> 0x11ce, {0xbf, 0x01, 0x00, 0xaa, 0x00, 0x55, 0x59, 0x5a}};
>
>  MixerEngine engine,*pengine;
> @@ -152,24 +153,31 @@
>
>
>
> -
> -void fill(MixerEngine * mixer,int buffer)
> -{
> -       DWORD Length;
> -       UINT i = 0;
> -Sleep(100);
> -       Length = mixer->masterfreq * mixer->masterchannels * 
> mixer->masterbitspersample / 8;
> -       mixer->masterbuf[buffer] = (PSHORT)HeapAlloc(GetProcessHeap(), 0, 
> Length);
> -    while (i < Length / 2)
> -    {
> -        mixer->masterbuf[buffer][i] = 0x7FFF * sin(0.5 * (i - 1) * 500 * 
> _2pi / 48000);
> -        i++;
> -        mixer->masterbuf[buffer][i] = 0x7FFF * sin(0.5 * (i - 2) * 500 * 
> _2pi / 48000);
> -        i++;
> -    }
> -       mixer->bytes_to_play = Length;
> -}
> -
> +void mixandfill(MixerEngine * mixer,int buffer)
> +{
> +       
> while(WaitForSingleObject(mixer->streampresent,100)!=0){if(mixer->dead) 
> return;} /*Check if there is at least one stream present.*/
> +       if(mixer->masterdatatype == 0)/*signed int*/
> +       {
> +               if(mixer->masterbitspersample == 8)mixs8(mixer,buffer);else 
> if(mixer->masterbitspersample == 16) mixs16(mixer,buffer);else 
> if(mixer->masterbitspersample == 32) mixs32(mixer,buffer);else 
> if(mixer->masterbitspersample == 64) mixs64(mixer,buffer);
> +       }
> +       else if (mixer->masterdatatype == 1)/*unsigned int*/
> +       {
> +               if(mixer->masterbitspersample == 8)mixu8(mixer,buffer);else 
> if(mixer->masterbitspersample == 16) mixu16(mixer,buffer);else 
> if(mixer->masterbitspersample == 32) mixu32(mixer,buffer);else 
> if(mixer->masterbitspersample == 64) mixu64(mixer,buffer);
> +       }
> +       else if(mixer->masterdatatype == 2)/*Float*/
> +       {
> +               if(mixer->masterbitspersample == 
> 32)mixfl32(mixer,buffer);else if(mixer->masterbitspersample == 64) 
> mixfl64(mixer,buffer);
> +       }
> +
> +       mixer->masterbuf[buffer] = HeapAlloc(GetProcessHeap(), 0, 
> mixer->serverstreamlist->length_filtered);
> +       
> CopyMemory(mixer->masterbuf[buffer],mixer->serverstreamlist->filt

Re: [ros-dev] [ros-diffs] [pschweitzer] 52065: [NTOSKRNL] - renamed Io volumes g

2011-06-03 Thread Alex Ionescu

On 2011-06-03, at 5:31 PM, Timo Kreuzer wrote:

> 
> Am 03.06.2011 21:48, schrieb Alex Ionescu:
>> What about on UP, where a strong compiler will realize that the call only 
>> raises IRQL to dispatch, and since these apis are in NTOSKRNL, they might 
>> get in-lined or modified.
> This would only happen, if the function is either delcared as inline or 
> inside the same translation unit. Both of that is not the case here.
> If it was the case (say we inlined KeAcquireQueuedSpinLock) then we would 
> need to add an explicit memory barrier to that inline function.

This isn't true -- a modern optimizing compiler uses link-time code generation 
which crosses compilation units and inline semantics.

For example, in Windows 7, this function stores the address of the addend in 
ESI, and all callers move the address in ESI prior. Completely different from 
how it's defined in source, but the result of LTGC.

> 
> 
>> 
>> On AMD64, raising the IRQL means only modifying cr8.
>> 
>> So the function will become:
>> 
>> OldIrql == __readcr8();
>> __writecr8(DISPATCH_LEVEL);
>> inc dword ptr [reg];
>> __writecr8(OldIrql);
>> 
>> Is ordering still guaranteed in this scenario?
> No, not in this case. (Which is IMO a bad definition of KeRaiseIrql or a bad 
> implementation of __writecr8)

This is how KeRaiseIrql(DISPATCH_LEVEL) behaves on AMD64 it's an inline in 
wdm.h, which I'll paste, since last time I quoted MSDN you said I was making 
stuff up.

__forceinline
KIRQL
KfRaiseIrql (
__in KIRQL NewIrql
)
{

KIRQL OldIrql;

OldIrql = KeGetCurrentIrql();

NT_ASSERT(OldIrql <= NewIrql);

WriteCR8(NewIrql);
return OldIrql;
}

> But how does the use of volatile fix this? It doesn't!
> MSDN says about volatile objects:
> "A write to a volatile object (volatile write) has Release semantics; a 
> reference to a global or static object that occurs before a write to a 
> volatile object in the instruction sequence will occur before that volatile 
> write in the compiled binary."
> But we would need release + acquire semantics. and even then it wouldn't 
> guarantee that __writecr8() is considered "reference to a global or static 
> object". And gcc might even behave different.

These are all good points.

> 
> Luckily at least all Spinlock functions have an implicit memory barrier and 
> are thus not prone to this problem.

But not in UP -- which is what ReactOS Builds as.

> 
> So instead of adding volatile here and there and random places or even to all 
> shared data structures, we need to make sure, we stick to some locking rules, 
> which would mean not to expect KeRaiseIrql() to provide an implicit memory 
> barrier and to make sure all inlined spinlock functions will have a proper 
> memory barrier.

Fair enough, so then those should be fixed.

> 
> Regards,
> Timo
> 
> 
> 
> ___
> Ros-dev mailing list
> Ros-dev@reactos.org
> http://www.reactos.org/mailman/listinfo/ros-dev

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev

Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

2011-06-03 Thread Adam
One issue I can think of with packing everything up together is that it  
will become 3 times the size of the original BE (you're now packing 3  
copies there) and in addition if ReactOS wants to support more platforms,  
the Build Environment will grow so big it will *appear* to be bloated.


At the same time however it means fewer installers to maintain, but to be  
honest I think that appears to be the only advantage in packing them all  
into one.


On Sat, 04 Jun 2011 00:29:53 +1000, Zachary Gorden  
 wrote:



The user is able to select which ones they want to install.  If they only
want the x86 BE, they don't have to install the x64 or ARM BE.

On Fri, Jun 3, 2011 at 3:14 AM, Adam  wrote:


On Fri, 03 Jun 2011 17:58:42 +1000, Ged Murphy 
wrote:

 When I say wix, I mean windows installer. The two have become  
synonymous

for me now.

Much of what you say isn't true.
The only issue I've ever come across with msi's is that failed installs
can lead to the database becoming corrupt.
However this is very rare and can be repaired in various ways.



Now the problem here is: will the end users be able to apply this easily
without risk of damaging the other installs? I'm not suggesting  
attempting
to fix such a problem will damage the other installs or the system, but  
are

the repair methods clean?



I get the feeling people use NSIS because it's open source and that  
must

mean it's better/cooler.
I prefer to look at the merits of both open and closed and choose the
best.
In 99% of cases, closed source comes out on top.



I must admit I am not a big fan of their clumsy syntax myself. Inno  
Setup
seems better to me. As for open sourcedness - IMO its only really  
useful if

you have the tools to edit the source. Bottom line is that I agree with
this.





-Original Message-
From: Adam [mailto:geekdun...@gmail.com]
Sent: 02 June 2011 22:55
To: ReactOS Development List; Ged Murphy
Subject: Re: [ros-dev] 1294 [dreimer] Fix clean for cmake trees. ...

So having a service running all the time just to install programs, and
having to not be able to uninstall a program cleanly if the MSI file  
has
been moved/deleted (or if the MSI file that was copied into some  
obscure

place in the %SYSTEMROOT% path) or due to some other sort of failure,
provides an error, is clean is it? Not to mention it will be  
impossible to
uninstall in Safe Mode (should it be necessary) since MSIEXEC refuses  
to

run under Safe Mode these days.

Never tried WiX before, but the problem wouldn't be WiX - it would be
MSIEXEC and the way it works.

On Fri, 03 Jun 2011 07:35:56 +1000, Ged Murphy 
wrote:

 Are you serious? Have you ever used WiX in a serious capacity?

It's far superior to NSIS in pretty much every way.


On 2 June 2011 22:18, Adam  wrote:


I do not like the idea of moving to Windows Installer for RosBE 2.0 -
it can
be quite tedious to clean up if the install is half done. IMO the
original
installer (NSIS) is much more cleaner than Windows Installer too.

If it ain't broke don't fix it I say.

On Fri, 03 Jun 2011 06:52:17 +1000, Colin Finck 
wrote:

 drei...@svn.reactos.org wrote:

 > if not exist "CMakeLists.txt" (

Can we decide on dropping support for rbuild stuff in RosBE 2.0?
Reasons:

- RosBE 2.0 will certainly come with an updated set of build tools.
 (GCC 4.6 with mingw-w64 target is planned, maybe even a multilib
 version)
 The target change already makes older builds uncompilable with  
RosBE

 2.0. Even if this would be fixed, nobody would guarantee you that a
 revision built with RosBE 2.0 behaves the same as one compiled with
 1.5.x.
- Several versions of RosBE can be installed parallely, especially  
if

 you're also moving to a Windows Installer for RosBE 2.0, which
doesn't
 care about Uninstall entries of NSIS. So everybody has the option
 to build older rbuild-powered revisions at any time.
- It could make all scripts cleaner again :-)

Regards,

Colin

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev




--
Using Opera's revolutionary email client: http://www.opera.com/mail/

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev



___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev







--
Using Opera's revolutionary email client: http://www.opera.com/mail/

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev




--
Using Opera's revolutionary email client: http://www.opera.com/mail/

___
Ros-dev mailing list
Ros-dev@reactos.org
http://www.reactos.org/mailman/listinfo/ros-dev