logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Debian::Package::HTML - Generates a webpage information (and Linda/Lintian checks) about a Debian binary

Author

       Jose Parrella (joseparrella@cantv.net) wrote the original code, then modularized and OOed the code.

       Thanks go to Christian Sanchez (csanchez@unplug.org.ve) who helped with the original HTML::Template'ing

Customization

Templatecustomization
       You can customize the final output using your own HTML::Template template file and  specifying  it  as  a
       parameter for the output() method. The following template variable names are honored by WebInfo:

       packageName: the name of the package

       packageVersion: the version of the package

       maintainerName: the name of the maintainer

       maintainerMail: the e-mail address of the maintainer

       maintainerPlus: a "+" separated name/surname for the maintainer (useful for URL searching)

       pageCharset: the page charset (customizable in the output() method)

       pageStyle: the CSS file (customizable in the output() method)

       packagef:  the  available  package files as an array reference, so HTML::Template should iterate over the
       "packagefile" variable.

       date: the date specified by the current locale

       doChecks: a boolean variable specifying if Linda/Lintian checks were made

       briefing: a boolean variable specifying if a briefing.html file should be included

Description

       This module outputs a webpage using HTML::Template templates which resumes the information of a normal
       build environment for a package in Debian (source files, binary packages and changelogs) using
       Linda/Lintian for sanity checks. It is useful for making unified presentation webpages for those packages
       which are being sponsorized by someone in Debian.

Diagnostics

NoDSCcouldbefound/open
       You  need to specify a DSC control file using the "control" parameter for the new() method. If you don't,
       WebInfo can't do much. The package will inform if the file could not be FOUND or could not be OPEN.

       Please report the bugs, I'd love to work on them.

Examples

Onlyacontrolfile
         #!/usr/bin/perl

         use strict;
         use warnings;

         use Debian::Package::HTML;

         my $package = Debian::Package::HTML->new( "control" => "falselogin.dsc" );
         $package->output ( "resultTemplate" => "result.tmpl", "dump" => "index.html" );

   Acompletebuildingenvironment
         #!/usr/bin/perl

         use strict;
         use warnings;

         use Debian::Package::HTML;

         my $package = Debian::Package::HTML->new("control" => "falselogin.dsc",
         "binary" => "falselogin.deb",
         "diff" => "falselogin.diff.gz",
         "source" => "falselogin.orig.tar.gz",
         "changes" => "falselogin.changes"
         ;

         $package -> output ( "resultTemplate" => "anotherTemplate.tmpl",
         "style" => "groovy-style.css",
         "charset" => "UTF-8",
         "doChecks" => "1",
         "dump" => "firstPackage.html"
         );

   Someideas
       Well, throw the files generated  by  your  compilations  (dpkg-buildpackage,  i.e.)   in  a  /var/www/<my
       package>  served  by  your  webserver of choice and run a small program using Debian::Package::HTML and a
       nice CSS/Template. You will have a great webpage for all your Debian packages, really  useful  if  you're
       not yet a Developer and need to handle several packages with your sponsors.

Exports

       Nothing

Methods

Constructor
       •   $object->new(%packageHash)

           Constructs   an  $object  with  all  information  concerning  the  package,  including  location  for
           binary/source files, changelogs, diffs, pristine sources, as well as templates,  charsets  and  other
           settings.

           Possible elements for the hash are:

           "binary",  "control",  "source",  "diff",  "changes",  each  one  of  them specifying one of the five
           possible files generated by a package building process in Debian.

           "control" is mandatory.

   Output
       •   $object->output(%contextHash)

           Does the actual XHTML output. Possible elements for the hash are:

           "briefing" (boolean): if TRUE, WebInfo will look for a briefing.html in the  current  directory,  and
           will  include  the  content  in  the  resulting  output.  Useful for introducing commentaries without
           touching the final HTML. Defaults to FALSE.

           "charset": determines the output charset. Defaults to "ISO-8859-1".

           "resultTemplate": specifies the location of an HTML::Template style  template  for  output.  This  is
           mandatory, and defaults to "result.tmpl"

           "pageStyle": specifies the location of a CSS file which might be included.

           "doChecks"  (boolean):  if  TRUE,  WebInfo  will run linda and lintian over the control file and will
           generate a ${packageName}-checks.txt file which will be included in the  final  output.  Defaults  to
           FALSE.

           "dump": determines where to put the resulting HTML output. Defaults to index.html

Name

       Debian::Package::HTML - Generates a webpage information (and Linda/Lintian checks) about a Debian binary
       or source package using HTML::Template

Requires

       HTML::Template

See Also

perl(1), HTML::Template.

perl v5.32.1                                       2022-01-06                         Debian::Package::HTML(3pm)

Synopsis

         use strict;
         use Debian::Package::HTML;
         my $package = Debian::Package::HTML->new(%packageHash);
         $package->output(%contextHash);

See Also