You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Greg Stein <gs...@lyra.org> on 2001/08/08 01:11:11 UTC

Re: CVS update: MODIFIED: . ...

On Tue, Aug 07, 2001 at 10:25:58PM -0000, kfogel@tigris.org wrote:
>...
>   --- Makefile.in	2001/07/10 23:24:44	1.21
>   +++ Makefile.in	2001/08/07 22:25:58	1.22
>   @@ -29,6 +29,12 @@
>    DVIPS = dvips
>    DVIPDF = dvipdf
>    
>   +### See `dist' rule.
>   +DIST_SANDBOX = .dist_sandbox
>   +DISTNAME = subversion
>   +VERSION = `grep SVN_VERSION svn_private_config.h | cut -f 3 -d ' ' | sed -e 's/"//g'`

Pull the version from configure.in -- that is the "original" source.
svn_private_config.h is a couple steps down the configure/build process.

>...
>   +## Build a tarball.
>   +#
>   +# Notes:
>   +# 
>   +# After Subversion is checked into itself, it will be a lot easier to
>   +# define this rule in terms of what should be included in the dist,
>   +# instead of what shouldn't.
>   +# 
>   +# Although `make distclean' should clean up apr and neon, in reality
>   +# neon/src/ still has .o files afterwards.  So we clean them up by
>   +# hand below.  Better to patch Neon, of course; but the fix wasn't
>   +# obvious to me -- something to do with @NEONOBJS@ in
>   +# neon/src/Makefile.in?
>   +dist: ChangeLog
>   +	@rm -rf ${DIST_SANDBOX}
>   +	@mkdir ${DIST_SANDBOX}
>   +	@mkdir ${DIST_SANDBOX}/subversion
>   +	@cp -v -d -r * ${DIST_SANDBOX}/subversion
>   +	@rm -rf `find ${DIST_SANDBOX}/subversion -name CVS -print`
>   +	@rm -rf `find ${DIST_SANDBOX}/subversion -name .cvsignore -print`
>   +	@(cd ${DIST_SANDBOX}/subversion;                                  \
>   +         make distclean;                                                 \
>   +         ./autogen.sh;                                                   \
>   +         rm -f neon/src/*.o;                                             \
>   +         cd ..;                                                          \
>   +         cp ../svn_private_config.h .;                                   \
>   +         echo "Rolling ${DISTNAME}-${VERSION}.tar.gz ...";               \
>   +         tar zcvpf ${DISTNAME}-${VERSION}.tar.gz subversion;             \
>   +        )
>   +	@cp ${DIST_SANDBOX}/*.tar.gz .
>   +	@rm -rf ${DIST_SANDBOX}
>   +	@echo "Done; see `ls -1 subversion-*.tar.gz`."

Personally, I would recommend a short script that can pull the information
from CVS, then add in the necessary bits. By putting it into the makefile, a
person must first go through the full get-from-CVS, autogen, configure
process.

Further, note that changes to the dist process would require changing
Makefile.in, then re-running configure. A plain release script is much
cleaner :-)

I've attached an example script that I use for my "edna" application. I use
a similar one for ViewCVS.

Cheers,
-g

-- 
Greg Stein, http://www.lyra.org/

Re: CVS update: MODIFIED: . ...

Posted by kf...@collab.net.
Greg Stein <gs...@lyra.org> writes:
> Pull the version from configure.in -- that is the "original" source.
> svn_private_config.h is a couple steps down the configure/build process.

Yeah, I think you're right.  It's not quite as easy to parse, but
still not a problem, and it *is* the master after all.  That will
simplify some other things, too.

Thanks for the suggestion!  Will do.

> Personally, I would recommend a short script that can pull the information
> from CVS, then add in the necessary bits. By putting it into the makefile, a
> person must first go through the full get-from-CVS, autogen, configure
> process.

You mean the script would do a checkout?  Hmmm.

I had been avoiding that method, because what I want is to build a
dist from exactly what I have in my working copy.  But maybe it's
always better to build from a known HEAD (especially after we have
atomic revisions, later).

Of course, that script would still live in the tree, so you'd still
have to have a working copy.  But you wouldn't have to have a
configured working copy with a Makefile.

> Further, note that changes to the dist process would require changing
> Makefile.in, then re-running configure. A plain release script is much
> cleaner :-)

Yeah; have been rediscovering that very relevant fact lately. :-)

> I've attached an example script that I use for my "edna" application. I use
> a similar one for ViewCVS.

Thanks; will examine and perhaps rework the way dist-building works.

-K

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

Re: CVS update: MODIFIED: . ...

Posted by kf...@collab.net.
Ben Collins-Sussman <su...@collab.net> writes:
> We want to do this too;  we talked about it for a long time.  But it
> seems a waste to do so, since this script would have to be rewritten
> *after* M3 to pull the "good" list from an 'svn status' command.
> 
> So I think this `make dist' rule is a temporary pre-M3 hack.  After
> M3, I suspect Karl wants to write a more permanent svn-based system.

If I understand Greg's suggestion correctly, what he's talking about
is fairly independent of CVS vs SVN.  It's just a matter of rewriting
a checkout command; everything else is the same.

However, we still need a configured tree around to make dist, because
we need to ship with pre-built documentation, which means running
texinfo & friends.  So I'm not sure yet whether it's a win or not.

Either way, there will be some changes made to the dist system after
we switch to SVN hosting.

-K

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

Re: CVS update: MODIFIED: . ...

Posted by Ben Collins-Sussman <su...@collab.net>.
Greg Stein <gs...@lyra.org> writes:

> Personally, I would recommend a short script that can pull the information
> from CVS, then add in the necessary bits. By putting it into the makefile, a
> person must first go through the full get-from-CVS, autogen, configure
> process.

We want to do this too;  we talked about it for a long time.  But it
seems a waste to do so, since this script would have to be rewritten
*after* M3 to pull the "good" list from an 'svn status' command.

So I think this `make dist' rule is a temporary pre-M3 hack.  After
M3, I suspect Karl wants to write a more permanent svn-based system.


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