LCFG-Build-Tools

 view release on metacpan or  search on metacpan

lib/LCFG/Build/Tool/GenDeb.pm  view on Meta::CPAN

package LCFG::Build::Tool::GenDeb;    # -*-perl-*-
use strict;
use warnings;

# $Id: GenDeb.pm.in 36519 2019-06-21 09:27:03Z squinney@INF.ED.AC.UK $
# $Source: /var/cvs/dice/LCFG-Build-Tools/lib/LCFG/Build/Tool/CheckMacros.pm.in,v $
# $Revision: 36519 $
# $HeadURL: https://svn.lcfg.org/svn/source/tags/LCFG-Build-Tools/LCFG_Build_Tools_0_9_30/lib/LCFG/Build/Tool/GenDeb.pm.in $
# $Date: 2019-06-21 10:27:03 +0100 (Fri, 21 Jun 2019) $

use v5.10;

our $VERSION = '0.9.30';

use File::Copy::Recursive ();
use File::Spec ();
use File::Find::Rule ();
use LCFG::Build::Utils;
use Template v2.14;
use Try::Tiny;

use Moose;

extends 'LCFG::Build::Tool';

# We do not want this option for these commands so use an override.

has '+resultsdir' => ( traits => ['NoGetopt'] );

has 'logname' => (
    is            => 'rw',
    isa           => 'Str',
    lazy          => 1,
    default       => sub { $_[0]->spec->get_vcsinfo('logname') || 'ChangeLog' },
    documentation => 'The VCS log file name',
);

override '_load_vcs_module' => sub {
    my ($self) = @_;

    my $vcs = super;
    $vcs->logname( $self->logname );

    return $vcs;
};

__PACKAGE__->meta->make_immutable;

sub abstract {
    return q{Generate debian package metadata};
}

sub execute {
    my ($self) = @_;

    my $dir  = $self->dir;
    my $spec = $self->spec;
    my $vcs  = $self->vcs;

    my %templates;
    my @tmpldirs = grep { -d $_ }
               map { File::Spec->catdir( $_, 'templates', 'debian' ) }
               LCFG::Build::Utils::datadirs();

    # ignore dotfiles and backup files



( run in 1.182 second using v1.01-cache-2.11-cpan-39bf76dae61 )