You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Arlie Davis <ad...@stonestreetone.com> on 2006/02/24 16:47:04 UTC

Review & commit for svnserve Win32 service support

Ok, after a few initial comments, I've gotten no feedback on the Win32
service support patch.

What do I need to do to move this forward?  I believe the code is ready, and
is production-quality.  I've never contributed to Subversion before, so I
don't know the process.  Can someone review this, etc.?

There is only one thing that needs to be done before this patch is ready to
be checked in.  And that is, add svnserve_winservice.c to the build scripts.
I did my best to figure out how makefiles, vcproj files, etc. get generated
by gen-make.py, but it was beyond my mortal comprehension.

I had to roll my own vcproj files to get anything to build, and this is
actually a subject that I want to take up with this list -- the poor state
of autoconfig support on Win32.  It is inordinately difficult to build
Subversion on Win32, and for no good reason.  I don't say this to insult
anyone -- I'll fix it, given half a chance -- but to point out how cruddy it
is on Win32, and to ask if it's really *supposed* to be this cruddy.

Thanks.

-- arlie






---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Review & commit for svnserve Win32 service support

Posted by "D.J. Heap" <dj...@gmail.com>.
On 2/24/06, Arlie Davis <ad...@stonestreetone.com> wrote:
> Ok, after a few initial comments, I've gotten no feedback on the Win32
> service support patch.
>
> What do I need to do to move this forward?  I believe the code is ready, and
> is production-quality.  I've never contributed to Subversion before, so I
> don't know the process.  Can someone review this, etc.?
>
> There is only one thing that needs to be done before this patch is ready to
> be checked in.  And that is, add svnserve_winservice.c to the build scripts.
> I did my best to figure out how makefiles, vcproj files, etc. get generated
> by gen-make.py, but it was beyond my mortal comprehension.
>
> I had to roll my own vcproj files to get anything to build, and this is
> actually a subject that I want to take up with this list -- the poor state
> of autoconfig support on Win32.  It is inordinately difficult to build
> Subversion on Win32, and for no good reason.  I don't say this to insult
> anyone -- I'll fix it, given half a chance -- but to point out how cruddy it
> is on Win32, and to ask if it's really *supposed* to be this cruddy.
>
> Thanks.
>


You don't have to do anything except re-run gen-make.py.  It'll pick
up the new .c automatically.

Use something like this gen-make.py command to get project files:

python.exe .\gen-make.py -t vcproj --vsnet-version=2005
--with-httpd=c:\projects\apache\httpd
--with-zlib=c:\Projects\Apache\zlib123
--with-openssl=c:\Projects\Apache\httpd\srclib\openssl

You don't need the --with options if you don't need/want them.  See
http://svn.collab.net/repos/svn/trunk/INSTALL for step by step
instructions.

Most of the complexity stems from the fact that Subversion depends on
several external libraries of varying support for Win32.  Some are
makefile, some are dsp project files, etc.

What specifically are you having trouble with?  And, of course,
patches to improve and/or simplify the process would be welcome.

DJ

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: Win32 Build System (was: Review & commit for svnserve Win32 service support)

Posted by "D.J. Heap" <dj...@gmail.com>.
On 2/24/06, Mark Phippard <ma...@softlanding.com> wrote:
[snip]
>
> Sure, do it the easy way :)
>
> I cannot believe I ever thought of that, since I do that for our OS/400
> port.  When I did it, I changed that parm, and then manually edited all of
> the project files to change a whole bunch of other BDB-related items.  Now
> that I think about it, it seems like the APR DLL's were linked to BDB
> unless I did this.
>
> Regardless, I wish that gen-make.py just had an option for this.
> Fortunately, I no longer have any need to do this.
>


As far as I am aware, APR doesn't support BDB on Win32 unless the
gen-make.py option --enable-bdb-in-apr-util is used to tweak the APR
build files.

I agree, though, an option would be much nicer.

Anyway, there definitely are a few annoying issues building trunk
Win32 right now:

*  Building zlib with the 2005 assembler requires a small patch (fixed
file at http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/ext/build/inffas32.asm
thanks to the TSVN folks)

*  New versions of neon require a fix to expat.h.in in apr-util (expat
version definitions don't get expanded on Win32 -- still not resolved
AFAIK: http://mail-archives.apache.org/mod_mbox/apr-dev/200509.mbox/%3C4332E1A9.10507@rowe-clan.net%3E)

*  I don't believe libserf support has been attempted at all on Win32
-- I've just been ignoring the error messages until I have a chance to
play with it.

*  We still have some serious problems (compiles but croaks at
runtime) with new versions of APR but Brane said he is working on that
(I've been sticking with Apache 2.0.55 and the APR that comes with
it).

*  Support on Win32 for bindings for various languages aside from
Python seems to be spotty at best.

There could be more issues, of course, but these are all I've hit
and/or heard about.

DJ

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


Re: Win32 Build System (was: Review & commit for svnserve Win32 service support)

Posted by Mark Phippard <ma...@softlanding.com>.
"D.J. Heap" <dj...@gmail.com> wrote on 02/24/2006 01:06:26 PM:

> On 2/24/06, Mark Phippard <ma...@softlanding.com> wrote:
> [snip]
> >
> > I have always found the Win32 build process to be quite easy.  The 
only
> > thing I do not like is that when it comes to customizing the process 
it is
> > not trivial.  For example, if you wanted to build without BDB support 
this
> > is easy to do on *nix, but on Windows you either have to hack the 
project
> > files, or learn how to hack gen-make.py and the system itself.
> 
> 
> I get rid of BDB support by commenting out the
> SVN_LIBSVN_FS_LINKS_FS_BASE defintion in svn_private_config.hw -- BDB
> does not get linked if that is not defined, although you still need
> the header files present.

Sure, do it the easy way :)

I cannot believe I ever thought of that, since I do that for our OS/400 
port.  When I did it, I changed that parm, and then manually edited all of 
the project files to change a whole bunch of other BDB-related items.  Now 
that I think about it, it seems like the APR DLL's were linked to BDB 
unless I did this.

Regardless, I wish that gen-make.py just had an option for this. 
Fortunately, I no longer have any need to do this.

Thanks

Mark


_____________________________________________________________________________
Scanned for SoftLanding Systems, Inc. and SoftLanding Europe Plc by IBM Email Security Management Services powered by MessageLabs. 
_____________________________________________________________________________

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Re: Win32 Build System (was: Review & commit for svnserve Win32 service support)

Posted by "D.J. Heap" <dj...@gmail.com>.
On 2/24/06, Mark Phippard <ma...@softlanding.com> wrote:
[snip]
>
> I have always found the Win32 build process to be quite easy.  The only
> thing I do not like is that when it comes to customizing the process it is
> not trivial.  For example, if you wanted to build without BDB support this
> is easy to do on *nix, but on Windows you either have to hack the project
> files, or learn how to hack gen-make.py and the system itself.


I get rid of BDB support by commenting out the
SVN_LIBSVN_FS_LINKS_FS_BASE defintion in svn_private_config.hw -- BDB
does not get linked if that is not defined, although you still need
the header files present.

DJ

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org


RE: Win32 Build System (was: Review & commit for svnserve Win32 service support)

Posted by Mark Phippard <ma...@softlanding.com>.
"Arlie Davis" <ad...@stonestreetone.com> wrote on 02/24/2006 12:29:02 PM:

> gen-make.py and its associated files may be an excellent way to maintain 
the
> project, especially given the needs of keeping the project coherent on a
> variety of different platforms.  I don't have a problem with 
gen-make.py.
> 
> What I do have a problem with is the fact that getting a working build 
on
> Windows is rather more difficult than it should be.  I followed the
> directions in hacking.html and INSTALL, but was still never able to get 
this
> working.  I could go into the details of my experience, but that would 
chew
> up a fair amount of list bandwidth, and may bore some people who have
> already gone through this.
> 
> I've used and developed on a wide variety of platforms, Unix variants,
> mainframes, VMS, Win32, etc.  And the experience that I'm accustomed to 
when
> dealing with OSS projects on Unix is fairly rational these days -- 
extract,
> ./configure (or something similar), build, and go.  But my experience 
with
> Subversion on Win32 is nowhere near as seamless.

That toolchain does not exist or is not used for Windows development, so 
the Python script approximates it.  I seriously doubt that you problem is 
with the script (other than customizing it as I mentioned) but it is 
usually with getting all of the required pieces installed correctly so 
that you can use the script.  I have always found that the INSTALL 
document does a good job laying this out.

TortoiseSVN has created NANT build scripts for Subversion if that 
interests you at all.

Mark


_____________________________________________________________________________
Scanned for SoftLanding Systems, Inc. and SoftLanding Europe Plc by IBM Email Security Management Services powered by MessageLabs. 
_____________________________________________________________________________

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

RE: Win32 Build System (was: Review & commit for svnserve Win32 service support)

Posted by Arlie Davis <ad...@stonestreetone.com>.
gen-make.py and its associated files may be an excellent way to maintain the
project, especially given the needs of keeping the project coherent on a
variety of different platforms.  I don't have a problem with gen-make.py.

What I do have a problem with is the fact that getting a working build on
Windows is rather more difficult than it should be.  I followed the
directions in hacking.html and INSTALL, but was still never able to get this
working.  I could go into the details of my experience, but that would chew
up a fair amount of list bandwidth, and may bore some people who have
already gone through this.

I've used and developed on a wide variety of platforms, Unix variants,
mainframes, VMS, Win32, etc.  And the experience that I'm accustomed to when
dealing with OSS projects on Unix is fairly rational these days -- extract,
./configure (or something similar), build, and go.  But my experience with
Subversion on Win32 is nowhere near as seamless.

-- arlie
 

-----Original Message-----
From: Mark Phippard [mailto:markp@softlanding.com] 
Sent: Friday, February 24, 2006 11:54 AM
To: Arlie Davis
Cc: dev@subversion.tigris.org
Subject: Win32 Build System (was: Review & commit for svnserve Win32 service
support)

"Arlie Davis" <ad...@stonestreetone.com> wrote on 02/24/2006 11:47:04 AM:

> I had to roll my own vcproj files to get anything to build, and this 
> is actually a subject that I want to take up with this list -- the 
> poor
state
> of autoconfig support on Win32.  It is inordinately difficult to build 
> Subversion on Win32, and for no good reason.  I don't say this to 
> insult anyone -- I'll fix it, given half a chance -- but to point out 
> how
cruddy it
> is on Win32, and to ask if it's really *supposed* to be this cruddy.

Changing the subject so that it does not muddy up the main point of your
post and thread.

I have always found the Win32 build process to be quite easy.  The only
thing I do not like is that when it comes to customizing the process it is
not trivial.  For example, if you wanted to build without BDB support this
is easy to do on *nix, but on Windows you either have to hack the project
files, or learn how to hack gen-make.py and the system itself.

All that said, I do not see how it could be much better.

Mark



____________________________________________________________________________
_
Scanned for SoftLanding Systems, Inc. and SoftLanding Europe Plc by IBM
Email Security Management Services powered by MessageLabs. 
____________________________________________________________________________
_



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org

Win32 Build System (was: Review & commit for svnserve Win32 service support)

Posted by Mark Phippard <ma...@softlanding.com>.
"Arlie Davis" <ad...@stonestreetone.com> wrote on 02/24/2006 11:47:04 AM:

> I had to roll my own vcproj files to get anything to build, and this is
> actually a subject that I want to take up with this list -- the poor 
state
> of autoconfig support on Win32.  It is inordinately difficult to build
> Subversion on Win32, and for no good reason.  I don't say this to insult
> anyone -- I'll fix it, given half a chance -- but to point out how 
cruddy it
> is on Win32, and to ask if it's really *supposed* to be this cruddy.

Changing the subject so that it does not muddy up the main point of your 
post and thread.

I have always found the Win32 build process to be quite easy.  The only 
thing I do not like is that when it comes to customizing the process it is 
not trivial.  For example, if you wanted to build without BDB support this 
is easy to do on *nix, but on Windows you either have to hack the project 
files, or learn how to hack gen-make.py and the system itself.

All that said, I do not see how it could be much better.

Mark



_____________________________________________________________________________
Scanned for SoftLanding Systems, Inc. and SoftLanding Europe Plc by IBM Email Security Management Services powered by MessageLabs. 
_____________________________________________________________________________

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org