You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Jeff Trawick <tr...@gmail.com> on 2009/09/18 01:02:40 UTC

fcgid doc build

On Thu, Sep 17, 2009 at 5:22 PM, William A. Rowe, Jr.
<wr...@rowe-clan.net>wrote:

(About <Status> I'll look at what's going on here, but I'd be mostly
> curious if your build/ subdirectory is up to date?)
>

I just removed created a fresh checkout of httpd/mod_fcgid/trunk, used
configure.apxs with APXS pointing to httpd trunk, ran "make generate-docs",
manually created docs/man when generate-docs bombed, ran it again, touched
mod_fcgid.xml, ran it again, yada yada yada

Differences between what is committed, other than doc changes:

i. it says HTTP Server Version 2.2, which I guess corresponds to the branch
that was exported into build and style; you and Rainer get 2.3
ii. it says copyright 2009; you and Rainer get 2008
iii. I get "Status: " instead of "Status: External".

Are you guys building from within an httpd checkout?

Re: fcgid doc build

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
Jeff Trawick wrote:
> 
> I just checked out fcgid and ftp trunk, and this worked fine in each:
> 
> APXS=$HOME/inst/22/bin/apxs ./configure.apxs

... slaps forehead ...

 && make generate-docs

is indeed working fine.  Touching up the x-distclean target to mop up the
temporary style and build directories, and we'll be in good shape.

Re: fcgid doc build

Posted by Rainer Jung <ra...@kippdata.de>.
On 20.09.2009 16:01, Jeff Trawick wrote:
> On Sun, Sep 20, 2009 at 3:24 AM, William A. Rowe, Jr.
> <wrowe@rowe-clan.net <ma...@rowe-clan.net>> wrote:
> 
>     Rainer Jung wrote:
>     > On 19.09.2009 09:27, William A. Rowe, Jr. wrote:
>     >> Rainer Jung wrote:
>     >>> On 19.09.2009 04:27, William A. Rowe, Jr. wrote:
>     >>>> Yes, if anyone wants to suggest an update that lets us nuke man/
>     >>>> without modifying the xml, that would be cool.  Can we have a
>     conditional
>     >>>> on an 'exists' sort of criteria?
>     >>> Like this?
>     >> Badda bing, badda boom.... if you commit, I'll review before
>     rolling :)
>     >
>     > I committed as r816938. Note that this was for trunk only.
>     > The files are identical in 2.2.x, but I wanted to wait for the review
>     > before eventually backporting. To make it work for mod_ftp and
>     > mod_fcgid, we either need to backport, or switch those modules to
>     using
>     > the style directory from trunk. And then we can remove the empty man
>     > directory.
> 
>     Running the mod_ftp generate-docs target fresh, things are dying.
> 
>     I expected they might fail at manual/programs/ but it turns out they
>     are dying with docs/man/ ... please review before I proceed to tag
>     either ftp or fcgid modules ;-)
> 
> 
> hmmm...
> 
> I just checked out fcgid and ftp trunk, and this worked fine in each:
> 
> APXS=$HOME/inst/22/bin/apxs ./configure.apxs && make generate-docs

The same here, it works for me to, using a fresh checkout of both
modules, and building out of tree against httpd 2.2.x.

You need to have your java setup (JAVA_HOME). I used 1.4.2, but it will
work with newer versions to.

A problem I noticed before was with garbage files located in the
docs/manual directory. E.g. I had a build and a build.old under it,
which made the docs generation bomb.

Notice also, that "make generate-docs" will not update manual/build or
manual/style if they already exist. You need to remove them in order to
pick up the new version.

Which error do you get?

Regards,

Rainer

Re: fcgid doc build

Posted by Jeff Trawick <tr...@gmail.com>.
On Sun, Sep 20, 2009 at 3:24 AM, William A. Rowe, Jr.
<wr...@rowe-clan.net>wrote:

> Rainer Jung wrote:
> > On 19.09.2009 09:27, William A. Rowe, Jr. wrote:
> >> Rainer Jung wrote:
> >>> On 19.09.2009 04:27, William A. Rowe, Jr. wrote:
> >>>> Yes, if anyone wants to suggest an update that lets us nuke man/
> >>>> without modifying the xml, that would be cool.  Can we have a
> conditional
> >>>> on an 'exists' sort of criteria?
> >>> Like this?
> >> Badda bing, badda boom.... if you commit, I'll review before rolling :)
> >
> > I committed as r816938. Note that this was for trunk only.
> > The files are identical in 2.2.x, but I wanted to wait for the review
> > before eventually backporting. To make it work for mod_ftp and
> > mod_fcgid, we either need to backport, or switch those modules to using
> > the style directory from trunk. And then we can remove the empty man
> > directory.
>
> Running the mod_ftp generate-docs target fresh, things are dying.
>
> I expected they might fail at manual/programs/ but it turns out they
> are dying with docs/man/ ... please review before I proceed to tag
> either ftp or fcgid modules ;-)
>

hmmm...

I just checked out fcgid and ftp trunk, and this worked fine in each:

APXS=$HOME/inst/22/bin/apxs ./configure.apxs && make generate-docs

Re: fcgid doc build

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
Rainer Jung wrote:
> On 19.09.2009 09:27, William A. Rowe, Jr. wrote:
>> Rainer Jung wrote:
>>> On 19.09.2009 04:27, William A. Rowe, Jr. wrote:
>>>> Yes, if anyone wants to suggest an update that lets us nuke man/
>>>> without modifying the xml, that would be cool.  Can we have a conditional
>>>> on an 'exists' sort of criteria?
>>> Like this?
>> Badda bing, badda boom.... if you commit, I'll review before rolling :)
> 
> I committed as r816938. Note that this was for trunk only.
> The files are identical in 2.2.x, but I wanted to wait for the review
> before eventually backporting. To make it work for mod_ftp and
> mod_fcgid, we either need to backport, or switch those modules to using
> the style directory from trunk. And then we can remove the empty man
> directory.

Running the mod_ftp generate-docs target fresh, things are dying.

I expected they might fail at manual/programs/ but it turns out they
are dying with docs/man/ ... please review before I proceed to tag
either ftp or fcgid modules ;-)

Re: fcgid doc build

Posted by Rainer Jung <ra...@kippdata.de>.
On 19.09.2009 09:27, William A. Rowe, Jr. wrote:
> Rainer Jung wrote:
>> On 19.09.2009 04:27, William A. Rowe, Jr. wrote:
>>> Yes, if anyone wants to suggest an update that lets us nuke man/
>>> without modifying the xml, that would be cool.  Can we have a conditional
>>> on an 'exists' sort of criteria?
>>
>> Like this?
> 
> Badda bing, badda boom.... if you commit, I'll review before rolling :)

I committed as r816938. Note that this was for trunk only.
The files are identical in 2.2.x, but I wanted to wait for the review
before eventually backporting. To make it work for mod_ftp and
mod_fcgid, we either need to backport, or switch those modules to using
the style directory from trunk. And then we can remove the empty man
directory.

Regards,

Rainer

Re: fcgid doc build

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
Rainer Jung wrote:
> On 19.09.2009 04:27, William A. Rowe, Jr. wrote:
>> Yes, if anyone wants to suggest an update that lets us nuke man/
>> without modifying the xml, that would be cool.  Can we have a conditional
>> on an 'exists' sort of criteria?
> 
> Like this?

Badda bing, badda boom.... if you commit, I'll review before rolling :)

Bill

Re: fcgid doc build

Posted by Rainer Jung <ra...@kippdata.de>.
On 19.09.2009 04:27, William A. Rowe, Jr. wrote:
> Yes, if anyone wants to suggest an update that lets us nuke man/
> without modifying the xml, that would be cool.  Can we have a conditional
> on an 'exists' sort of criteria?

Like this?

--- style/xsl/language.xsl      2009-03-20 19:09:28.000000000 +0100
+++ style/xsl/language.xsl      2009-09-19 05:14:02.000000000 +0200
@@ -133,6 +133,14 @@
 <project name="lang-targets">
     &lf;&lf;

+    <!-- Test for existence of man page directory -->
+    <target name="check-man">
+        <if><not><available file="../../man" type="dir" /></not><then>
+            <property name="skip-man" value="yes" />
+        </then></if>
+    </target>
+    &lf;
+
     <!-- build *-all targets -->
     <!-- =================== -->
     <target name="all"
@@ -237,6 +245,8 @@

             <xsl:if test="$file/man">
                 <target name="man-{.}"
+                        depends="check-man"
+                        unless="skip-man"
                         description="- builds the {$file/name} nroff
files">&lf;
                     <xsl:text>    </xsl:text>
                     <nroff.generic lang="{.}" />&lf;


Re: fcgid doc build

Posted by "William A. Rowe, Jr." <wr...@rowe-clan.net>.
Rainer Jung wrote:
> On 18.09.2009 13:29, Jeff Trawick wrote:
>> On Fri, Sep 18, 2009 at 7:09 AM, Rainer Jung <rainer.jung@kippdata.de
>>     So the generation of the html manual works.
>>
>>
>> Note that I don't have any problems getting the html manual generated
>> per se.  I just get slightly different output from you and Bill, whether
>> running on Solaris or Mac.
> 
> Yes, but that's to be expected, because those informations come out of
> style/xsl/common.xsl (for the Copyright year) and style/version.ent for
> the version info. The make task exports "style" from the 2.2.x branch,
> and at least I did copy it over from trunk, because I hadn't noticed the
> make task. Don't know, where Bill took it from.

Probably was a clone on httpd-2.2 Makefile.  In any case; we can change the
build to export trunk and I believe we aught to (so that if we point to any
particular new directive, comment or example, they would resolve).

>>     If you want to temporarily get rid of the "man" directory message, you
>>     can uncomment the man pages generation in
>>     docs/manual/style/lang-targets.xml:
>>
>>     @@ -56,7 +56,9 @@
>>
>>      <target description="- builds English HTML files" name="en">
>>         <html.generic lang="en"/>
>>     +<!--
>>         <runtarget target="man-en"/>
>>     +-->
>>      </target>
>>      <target unless="-off.en.done" depends="metafiles" name="-off-en">
>>         <dependencies.offline dir="_off" style="zip" lang="en"/>
>>
>>
>> That's cool.  I guess there is some way to tweak the build definitions
>> so that fcgid can provide a properties file which disables generation of
>> man pages*, but I'm not the right person to do that ;)  Otherwise we
>> should just check in an empty man directory.
> 
> Bill did that as a quick fix.

Yes, if anyone wants to suggest an update that lets us nuke man/
without modifying the xml, that would be cool.  Can we have a conditional
on an 'exists' sort of criteria?

>> *Does this section of lang-targets.xml need an "unless" check for a new
>> property?
>>
>> <target description="- builds the English nroff files" name="man-en">
>>     <nroff.generic lang="en"/>
>> </target>
> 
> Exactly, I tried something like this:
> 
> --- style/xsl/language.xsl  2009-03-20 19:09:28.000000000 +0100
> +++ style/xsl/language.xsl   2009-09-19 02:40:45.000000000 +0200
> @@ -237,6 +237,7 @@
> 
>              <xsl:if test="$file/man">
>                  <target name="man-{.}"
> +                        unless="skip-man"
>                          description="- builds the {$file/name} nroff
> files">&lf;
>                      <xsl:text>    </xsl:text>
>                      <nroff.generic lang="{.}" />&lf;
> 
> Then you run "./build.sh bootstrap" in docs/manual/build.
> It will regenerate style/lang-targets.xml with the following changes:
> 
> --- style/lang-targets.xml  2009-03-20 19:09:31.000000000 +0100
> +++ style/lang-targets.xml   2009-09-19 02:45:11.000000000 +0200
> @@ -72,7 +72,7 @@
>  <target description="- builds the English CHM file" name="chm-en">
>      <chm.generic lang="en"/>
>  </target>
> -<target description="- builds the English nroff files" name="man-en">
> +<target description="- builds the English nroff files"
> unless="skip-man" name="man-en">
>      <nroff.generic lang="en"/>
>  </target>
>  <target description="- builds the English latex file" name="latex-en">
> @@ -230,7 +230,7 @@
>  <target description="- builds the Turkish CHM file" name="chm-tr">
>      <chm.generic lang="tr"/>
>  </target>
> -<target description="- builds the Turkish nroff files" name="man-tr">
> +<target description="- builds the Turkish nroff files"
> unless="skip-man" name="man-tr">
>      <nroff.generic lang="tr"/>
>  </target>
> 
> If we want to use this solution, we also should update this generated
> file in svn.

Hmmm :)  Interesting.

> The other possibility would be to include another properties file, but
> that would need to sit outside of build and outside of style (since we
> export both from httpd), so maybe there's no good place left.

Well let me tar things up before we going playing with this extensively.

I didn't hear objections, so I'm inclined to tag and roll both ftp and
another fcgid later tomorrow, and at least the builds should suffer no
issues with the docs for now.  But I'll make the trunk export change.

Bill

Re: fcgid doc build

Posted by Rainer Jung <ra...@kippdata.de>.
On 18.09.2009 13:29, Jeff Trawick wrote:
> On Fri, Sep 18, 2009 at 7:09 AM, Rainer Jung <rainer.jung@kippdata.de
>     So the generation of the html manual works.
> 
> 
> Note that I don't have any problems getting the html manual generated
> per se.  I just get slightly different output from you and Bill, whether
> running on Solaris or Mac.

Yes, but that's to be expected, because those informations come out of
style/xsl/common.xsl (for the Copyright year) and style/version.ent for
the version info. The make task exports "style" from the 2.2.x branch,
and at least I did copy it over from trunk, because I hadn't noticed the
make task. Don't know, where Bill took it from.

>     If you want to temporarily get rid of the "man" directory message, you
>     can uncomment the man pages generation in
>     docs/manual/style/lang-targets.xml:
> 
>     @@ -56,7 +56,9 @@
> 
>      <target description="- builds English HTML files" name="en">
>         <html.generic lang="en"/>
>     +<!--
>         <runtarget target="man-en"/>
>     +-->
>      </target>
>      <target unless="-off.en.done" depends="metafiles" name="-off-en">
>         <dependencies.offline dir="_off" style="zip" lang="en"/>
> 
> 
> That's cool.  I guess there is some way to tweak the build definitions
> so that fcgid can provide a properties file which disables generation of
> man pages*, but I'm not the right person to do that ;)  Otherwise we
> should just check in an empty man directory.

Bill did that as a quick fix.

> *Does this section of lang-targets.xml need an "unless" check for a new
> property?
> 
> <target description="- builds the English nroff files" name="man-en">
>     <nroff.generic lang="en"/>
> </target>

Exactly, I tried something like this:

--- style/xsl/language.xsl  2009-03-20 19:09:28.000000000 +0100
+++ style/xsl/language.xsl   2009-09-19 02:40:45.000000000 +0200
@@ -237,6 +237,7 @@

             <xsl:if test="$file/man">
                 <target name="man-{.}"
+                        unless="skip-man"
                         description="- builds the {$file/name} nroff
files">&lf;
                     <xsl:text>    </xsl:text>
                     <nroff.generic lang="{.}" />&lf;

Then you run "./build.sh bootstrap" in docs/manual/build.
It will regenerate style/lang-targets.xml with the following changes:

--- style/lang-targets.xml  2009-03-20 19:09:31.000000000 +0100
+++ style/lang-targets.xml   2009-09-19 02:45:11.000000000 +0200
@@ -72,7 +72,7 @@
 <target description="- builds the English CHM file" name="chm-en">
     <chm.generic lang="en"/>
 </target>
-<target description="- builds the English nroff files" name="man-en">
+<target description="- builds the English nroff files"
unless="skip-man" name="man-en">
     <nroff.generic lang="en"/>
 </target>
 <target description="- builds the English latex file" name="latex-en">
@@ -230,7 +230,7 @@
 <target description="- builds the Turkish CHM file" name="chm-tr">
     <chm.generic lang="tr"/>
 </target>
-<target description="- builds the Turkish nroff files" name="man-tr">
+<target description="- builds the Turkish nroff files"
unless="skip-man" name="man-tr">
     <nroff.generic lang="tr"/>
 </target>

If we want to use this solution, we also should update this generated
file in svn.

Now if you run as usual, nothing changes, it will try to produce man
pages and complain about missing man directories. But if you run

build.sh all -Dskip-man=

the man page generation will be skipped. Unfortunately one needs the
little awkward syntax, because -Dskip-man is not allowed (...=1 would
work to, but misleads one in thinking that =0 would not skip).

This "-Dskip-man=" could then be added to the Makefile.apxs task
generate-docs:

Index: Makefile.apxs
===================================================================
--- Makefile.apxs       (revision 816840)
+++ Makefile.apxs       (working copy)
@@ -83,7 +83,7 @@
          svn export $(svnroot)/httpd/branches/2.2.x/docs/manual/style; \
        fi
        cd $(manualdir)/build; \
-         ./build.sh all
+         ./build.sh all -Dskip-man=

 generate-dox:
        cd $(fcgid_srcdir); \


The other possibility would be to include another properties file, but
that would need to sit outside of build and outside of style (since we
export both from httpd), so maybe there's no good place left.

Does the above work for you?

Regards,

Rainer

Re: fcgid doc build

Posted by Jeff Trawick <tr...@gmail.com>.
On Fri, Sep 18, 2009 at 7:09 AM, Rainer Jung <ra...@kippdata.de>wrote:

> On 18.09.2009 01:02, Jeff Trawick wrote:
> > On Thu, Sep 17, 2009 at 5:22 PM, William A. Rowe, Jr.
> > <wrowe@rowe-clan.net <ma...@rowe-clan.net>> wrote:
> >
> >     (About <Status> I'll look at what's going on here, but I'd be mostly
> >     curious if your build/ subdirectory is up to date?)
> >
> >
> > I just removed created a fresh checkout of httpd/mod_fcgid/trunk, used
> > configure.apxs with APXS pointing to httpd trunk, ran "make
> > generate-docs", manually created docs/man when generate-docs bombed, ran
> > it again, touched mod_fcgid.xml, ran it again, yada yada yada
> >
> > Differences between what is committed, other than doc changes:
> >
> > i. it says HTTP Server Version 2.2, which I guess corresponds to the
> > branch that was exported into build and style; you and Rainer get 2.3
>
> I think the make uses build from docs-build trunk and style from httpd 2.2.
>
> > ii. it says copyright 2009; you and Rainer get 2008
> > iii. I get "Status: " instead of "Status: External".
> >
> > Are you guys building from within an httpd checkout?
>
> No, I built out of tree.
>

...


> So the generation of the html manual works.
>

Note that I don't have any problems getting the html manual generated per
se.  I just get slightly different output from you and Bill, whether running
on Solaris or Mac.


> If you want to temporarily get rid of the "man" directory message, you
> can uncomment the man pages generation in
> docs/manual/style/lang-targets.xml:
>
> @@ -56,7 +56,9 @@
>
>  <target description="- builds English HTML files" name="en">
>     <html.generic lang="en"/>
> +<!--
>     <runtarget target="man-en"/>
> +-->
>  </target>
>  <target unless="-off.en.done" depends="metafiles" name="-off-en">
>     <dependencies.offline dir="_off" style="zip" lang="en"/>
>

That's cool.  I guess there is some way to tweak the build definitions so
that fcgid can provide a properties file which disables generation of man
pages*, but I'm not the right person to do that ;)  Otherwise we should just
check in an empty man directory.

*Does this section of lang-targets.xml need an "unless" check for a new
property?

<target description="- builds the English nroff files" name="man-en">
    <nroff.generic lang="en"/>
</target>

Re: fcgid doc build

Posted by Rainer Jung <ra...@kippdata.de>.
On 18.09.2009 01:02, Jeff Trawick wrote:
> On Thu, Sep 17, 2009 at 5:22 PM, William A. Rowe, Jr.
> <wrowe@rowe-clan.net <ma...@rowe-clan.net>> wrote:
> 
>     (About <Status> I'll look at what's going on here, but I'd be mostly
>     curious if your build/ subdirectory is up to date?)
> 
> 
> I just removed created a fresh checkout of httpd/mod_fcgid/trunk, used
> configure.apxs with APXS pointing to httpd trunk, ran "make
> generate-docs", manually created docs/man when generate-docs bombed, ran
> it again, touched mod_fcgid.xml, ran it again, yada yada yada
> 
> Differences between what is committed, other than doc changes:
> 
> i. it says HTTP Server Version 2.2, which I guess corresponds to the
> branch that was exported into build and style; you and Rainer get 2.3

I think the make uses build from docs-build trunk and style from httpd 2.2.

> ii. it says copyright 2009; you and Rainer get 2008
> iii. I get "Status: " instead of "Status: External".
> 
> Are you guys building from within an httpd checkout?

No, I built out of tree.

Concerning the error message about the missing "man" directory: maybe I
simply overlooked it and was happy to find a freshly generated html
page. I can reproduce the message, but if I create the directory
docs/man then the message does no longer appear.

The whole man part doesn't really fit well here, because we don't have
any man pages. The man part in the ant build.xml explicitly tries to
create man pages for httpd, ab, apachectl, apxs etc. So do not wonder,
that the created directory stays empty.

If I touch

    docs/manual/mod/mod_fcgid.xml

and run again "make generate-docs", I get an updated file

    docs/manual/mod/mod_fcgid.html.en

So the generation of the html manual works.

If you want to temporarily get rid of the "man" directory message, you
can uncomment the man pages generation in
docs/manual/style/lang-targets.xml:

@@ -56,7 +56,9 @@

 <target description="- builds English HTML files" name="en">
     <html.generic lang="en"/>
+<!--
     <runtarget target="man-en"/>
+-->
 </target>
 <target unless="-off.en.done" depends="metafiles" name="-off-en">
     <dependencies.offline dir="_off" style="zip" lang="en"/>

Regards,

Rainer