Report new bug | New search | Development Roadmap Status: Open | Feedback | All

Bug #1393 Download documentation not available
Submitted: 2004-05-12 15:24 UTC
From: alister-pear at abulman dot co dot uk Assigned: mj
Status: Closed Package: Documentation
PHP Version: Irrelevant OS: na
Roadmaps: (Not assigned)    
Subscription  


 [2004-05-12 15:24 UTC] alister-pear at abulman dot co dot uk
Description: ------------ http://pear.php.net/distributions/manual/pear_manual_en.tar.gz and other downloadable documention files are not created. See: http://pear.php.net/distributions/manual/?S=A the small (< 1K) files for .bz2 and .gz are the broken files.

Comments

 [2004-05-20 01:59 UTC] danielc
http://pear.php.net/distributions/manual/ pear_manual_en.html.gz 16-May-2004 07:35 656k pear_manual_en.tar.bz2 16-May-2004 07:35 1k pear_manual_en.tar.gz 16-May-2004 07:35 1k pear_manual_en.txt.gz 16-May-2004 07:35 452k pear_manual_en.zip 25-Apr-2004 07:22 3.4M Same situation exists for the other languages as well.
 [2004-05-22 21:42 UTC] danielc
First, please note, that even though pear_manual_en.zip is still in the list of available files, it is dated 25-Apr-2004. Second, the problem is happening because the number of files in the manual has grown to a point that we have reached the operating system's limit to process them all in one command (see where the build logs at http://pear.php.net/manual/en/build.log say "Argument list too long"). To work around this problem, we need to tweak the scripts so they create the tar and zip files in multiple stages.
 [2004-05-23 20:07 UTC] mj
The patch below should fix this problem. Interested parties with a working Docbook setup may want to try it. I don't expect much problems with the changes and I will thus commit them this week. Index: Makefile.in =================================================================== RCS file: /repository/peardoc/Makefile.in,v retrieving revision 1.1 diff -u -r1.1 Makefile.in --- Makefile.in 1 Oct 2002 02:40:51 -0000 1.1 +++ Makefile.in 23 May 2004 20:14:31 -0000 @@ -99,13 +99,13 @@ lynx -term=vt100 -nolist -dump file:`pwd`/$< > $@ @MANUAL@.zip: html/index.html - -rm -f $@ && (cd html; zip -9 -q ../$@ *.html) + -rm -f $@ `basename $@ .zip` && (find html -type f -exec zip -9 -uq $@ {} \;) @MANUAL@.tar.gz: html/index.html - -rm -f $@ && (cd html; tar -cf - *.html) | gzip -9 > $@ + -rm -f $@ `basename $@ .gz` && (find html -type f -exec tar -rf `basename $@ .gz` {} \;) && gzip -9 `basename $@ .gz` @MANUAL@.tar.bz2: html/index.html - -rm -f $@ && (cd html; tar -cf - *.html) | bzip2 -9 > $@ + -rm -f $@ `basename $@ .bz2` && (find html -type f -exec tar -rf `basename $@ .bz2` {} \;) && bzip2 -9 `basename $@ .bz2` # File endings we are going to define general rules for: .SUFFIXES: .html .xml .sgml
 [2004-05-23 20:11 UTC] ohill
The following will work too (I've been beaten by 10 seconds by Martin!) Index: Makefile.in =================================================================== RCS file: /repository/peardoc/Makefile.in,v retrieving revision 1.1 diff -u -r1.1 Makefile.in --- Makefile.in 1 Oct 2002 02:40:51 -0000 1.1 +++ Makefile.in 23 May 2004 20:18:44 -0000 @@ -102,10 +102,12 @@ -rm -f $@ && (cd html; zip -9 -q ../$@ *.html) @MANUAL@.tar.gz: html/index.html - -rm -f $@ && (cd html; tar -cf - *.html) | gzip -9 > $@ + (cd html; find . -name '*.html' -print) > archive.lst + -rm -f $@ && (cd html; tar -cf - -T ../archive.lst) | gzip -9 > $@ && rm archive.lst @MANUAL@.tar.bz2: html/index.html - -rm -f $@ && (cd html; tar -cf - *.html) | bzip2 -9 > $@ + (cd html; find . -name '*.html' -print) > archive.lst + -rm -f $@ && (cd html; tar -cf - -T ../archive.lst) | bzip2 -9 > $@ && rm archive.lst # File endings we are going to define general rules for: .SUFFIXES: .html .xml .sgml
 [2004-05-24 15:19 UTC] danielc
Oliver, your patch misses the .zip creation. In general I like Oliver's approach. Better yet, it can be modified a tad to make the process more efficient: * Create the file list once at the beginning. * Use the list for creating a zip file and one tar file. * Then make a copy of the tar file and gzip it. * Bzip the original tar file. * Delete the list.
 [2004-05-24 16:27 UTC] ohill
In response to Daniel comment: I don't think building a filelist for every archive is a good idea. The thing is that each archive is a different make target. This allows someone to build only the necessary type of archive. So generally, it would be difficult to chain those make rules. Considering building the manual takes about 15-20 minutes and creating the archive takes less than 5 seconds, I think we can live with the fact that the file list is made twice on the weekly automated build. As for Zip... The utility is less cumbersome and lets the filelist from standard input, which gives: @MANUAL@.zip: html/index.html - -rm -f $@ && (cd html; zip -9 -q ../$@ *.html) + -rm -f $@ && (cd html; find . -name '*.html' -print | zip -9 -q ../$@ -@) Ragards
 [2004-05-25 14:04 UTC] mj
I've committed my patch to CVS. Let's see if the archive files turns up next Sunday.