#!/usr/bin/perl -w # # Init script for pb's website # # Export documentation to generate what is needed use ProjectBuilder::Base; use ProjectBuilder::Filter; use ProjectBuilder::CMS; use ProjectBuilder::Env; use File::Basename; use Pod::Man; use Pod::Html qw(pod2html); use Pod::Text; pb_temp_init(); pb_mkdir_p("docs"); pb_mkdir_p("tmp"); my %pb; $pb{'pkg'} = "PBPKG"; $pb{'ver'} = "PBVER"; $pb{'tag'} = "PBTAG"; $pb{'rev'} = "PBREV"; $pb{'proj'} = "PBPROJ"; $pb{'date'} = "PBDATE"; $pb{'repo'} = "PBREPO"; $pb->{'realpkg'} = "PBREALPKG"; $pb->{'packager'} = "PBPACKAGER"; $pb->{'chglog'} = ""; # Action needs to be pbinit my ($filteredfiles, $supfiles, $defpkgdir, $extpkgdir) = pb_env_init($pb{'proj'},undef,"pbinit"); my ($scheme,$uri) = pb_cms_init(undef); # export doc foreach my $f ("LabProject-Builder.org.odt", "LabProject-Builder.org.pdf","One_Source_for_Multiple_Platforms_Sol_Brief_final.pdf") { pb_cms_export($uri,"$ENV{'PBDIR'}/pb-doc/$f","docs"); } # using pod from files foreach my $f ("pb/bin/pb", "pb-modules/bin/pbdistrocheck", "pb-modules/etc/pb.conf.pod", "rpmbootstrap/bin/rpmbootstrap", <*/lib/ProjectBuilder/*.pm>) { pb_cms_export($uri,"$ENV{'PBDIR'}/$f","tmp"); } # call filter_file here my $ptr = pb_get_filters($pb{'pkg'}); foreach my $f () { pb_log(0,"Processing $f\n"); pb_log(0,"==========================\n"); pb_filter_file_inplace($ptr,$f,\%pb); my $ext = 1; if ($f =~ /\.pod/) { $ext = 5; } elsif ($f =~ /\.pm/) { $ext = 3; } # generate man pages pb_log(0,"Generating man pages\n"); my $parser = Pod::Man->new (release => $VERSION, section => $ext); $parser->parse_from_file ("$f", "$f.$ext"); # generate html pages pb_log(0,"Generating HTML pages\n"); pod2html(#"--podpath=lib:ext:pod:vms", "--htmlroot=/docs", "--libpods=perlfunc:perlguts:perlvar:perlrun:perlop", "--recurse", "--header", "--title=$f man page", "--backlink='Back to Top'", "--infile=$f", "--outfile=$f.$ext.html"); # generate ps pages pb_system("groff -Tps -mandoc $f > $f.$ext.ps","Generating Postscript pages"); # generate pdf pages pb_system("ps2pdf $f.$ext.ps","Generating PDF pages"); # generate text pages pb_log(0,"Generating text pages\n"); $parser = Pod::Text->new (sentence => 0, width => 78); $parser->parse_from_file ("$f","$f.$ext.txt"); }