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:
- 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)