NAME

Dist::Zilla::Plugin::RPM::Push - Dist::Zilla plugin to build RPMs and push them into a repository

SYNOPSIS

In your dist.ini:

[RPM::Push]
spec_file = build/dist.spec
sign = 1
ignore_build_deps = 0

push_packages = 0
push_command = rhnpush -s
push_ignore_packages = .src.rpm$

DESCRIPTION

This plugin is a Releaser for Dist::Zilla that builds an RPM of your distribution. It keeps track of build RPM files and can be used to push generated packages into a repository.

ATTRIBUTES

spec_file (default: "build/dist.spec")

The spec file to use to build the RPM.

The spec file is run through Text::Template before calling rpmbuild, so you can substitute values from Dist::Zilla into the final output. The template uses <% %> tags (like Mason) as delimiters to avoid conflict with standard spec file markup.

Two variables are available in the template:

$zilla

The main Dist::Zilla object

$archive

The filename of the release tarball

sign (default: False)

If set to a true value, rpmbuild will be called with the --sign option.

ignore_build_deps (default: False)

If set to a true value, rpmbuild will be called with the --nodeps option.

push_packages (default: false)

This allowes you to specify a command to push your generated RPM packages to a repository. RPM filenames are writen one-per-line to stdin.

push_command (default: rhnpush -s)

Command used to push packages.

push_ignore_packages (default: .src.rpm$)

A regular expression for packages which should NOT be pushed.

SAMPLE SPEC FILE TEMPLATE

Name: <% $zilla->name %>
Version: <% (my $v = $zilla->version) =~ s/^v//; $v %>
Release: 1

Summary: <% $zilla->abstract %>
License: GPL+ or Artistic
Group: Applications/CPAN
BuildArch: noarch
URL: <% $zilla->license->url %>
Vendor: <% $zilla->license->holder %>
Source: <% $archive %>

BuildRoot: %{_tmppath}/%{name}-%{version}-BUILD

%description
<% $zilla->abstract %>

%prep
%setup -q

%build
perl Makefile.PL
make test

%install
if [ "%{buildroot}" != "/" ] ; then
    rm -rf %{buildroot}
fi
make install DESTDIR=%{buildroot}
find %{buildroot} | sed -e 's#%{buildroot}##' > %{_tmppath}/filelist

%clean
if [ "%{buildroot}" != "/" ] ; then
    rm -rf %{buildroot}
fi

%files -f %{_tmppath}/filelist
%defattr(-,root,root)

SEE ALSO

Dist::Zilla