Re: [pcre-dev] Creating a distribution

Top Page
Delete this message
Author: Daniel Richard G.
Date:  
To: Philip Hazel
CC: pcre-dev
Subject: Re: [pcre-dev] Creating a distribution
Hi Philip,

On Wed, 2007 Mar 07 10:05:42 +0000, Philip Hazel wrote:
>
> Following the application of Bob and Daniel's patch, I'm working through
> a number of small issues (almost all to do with building and/or
> documentation - hardly anything affecting the code). One thing I have to
> sort out is how to build the next release. Previously, I had my own
> script to do this - before building the tarballs, it does a number of
> things including processing the documentation (man pages -> html and
> -> txt) and cleaning up trailing spaces. After building the tarballs it
> signs them with my PGP key.


I fully agree with killing trailing whitespace, but keep in mind that with
the source now in an SCM, this would be an edit that would have to be
checked in.

What if the Subversion repository were to have a pre-commit script that
would check the files being committed for trailing whitespace, and reject
the commit if present?

> The patch has provided us with "make dist" to build tarballs. I propose
> to adjust my script (renaming it from "MakeRelease" to "PrepareRelease")
> so that it just does preparatory things[*]. The sequence for making a
> release then becomes:
>
> PrepareRelease
> make dist
> sign the tarballs
> move the tarballs to wherever
>
> which of course could all be encapsulated in another script. Does this
> sound reasonable?


Yes, but see my next comment...

> I wondered about arranging for PrepareRelease to be called automatically
> by "make dist", but that would mean that PrepareRelease itself and the
> other scripts it calls would have to be part of the distribution if we
> want "make dist" to work in the distributed tarballs. At the moment, I
> have these scripts in the maintain/ subdirectory, assuming they are not
> to be distributed, but used only by package maintainers, who get them
> from the SVN repository.
>
> Anyone like to comment on this?


I think that the scripts to generate the HTML files from the man pages
should be a part of the distribution, so that the HTML can be updated
without pulling stuff from SVN. We can define the HTML files to be
"maintainer-generated", so that "make clean" won't delete them (you would
have to do "make maintainer-clean"), yet the rules to generate them can be
fully integrated with Automake.

> [*] A new preparatory thing has been suggested by someone who builds 
> PCRE by hand (i.e. without the Autotools). I have already arranged that 
> config.h is included in the distribution to help with this case. The 
> suggestion is that every #define in config.h should be wrapped with 
> #ifndef/#endif so that he can use -D on the compiler command line to 
> override without having to edit config.h. This can easily be done as 
> part of the PrepareRelease script.    


"config.h" should not be present as a file in the tarball. I would call the
file e.g. "config.h.manual", with the expectation that it would be renamed
if needed.


--Daniel


-- 
NAME   = Daniel Richard G.       ##  Remember, skunks       _\|/_  meef?
EMAIL1 = skunk@???        ##  don't smell bad---    (/o|o\) /
EMAIL2 = skunk@???      ##  it's the people who   < (^),>
WWW    = http://www.******.org/  ##  annoy them that do!    /   \
--
(****** = site not yet online)