Dist::Zilla::Plugin::RPM - Build an RPM from your Dist::Zilla release
version 0.016
In your dist.ini:
[RPM] spec_file = build/dist.spec sign = 1 ignore_build_deps = 0 push_packages = 0 push_command = rhnpush -s push_ignore_packages = .src.rpm$
After adding the [RPM] section to the dist.ini file, the mkrpmspec command will be available. Running this command allow you to make the dzil.spec file from the template. Then dzil release will build the RPM file.
It keeps track of build RPM files and can be used to push generated packages into a repository.
This plugin is a Releaser for Dist::Zilla that builds an RPM of your distribution.
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:
The main Dist::Zilla object
The filename of the release tarball
If set to a true value, rpmbuild will be called with the --sign option.
If set to a true value, rpmbuild will be called with the --nodeps option.
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. If push_packages is set to 1, it will execute the push_command on the generated RPMs. By default the source packages will be excluded.
Command used to push packages.
A regular expression for packages which should NOT be pushed.
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 %> 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)
Dist::Zilla
Vincent Lequertier <vi.le@autistici.org>
This software is copyright (c) 2020 by Vincent Lequertier, Stephen Clouse.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
To install Dist::Zilla::Plugin::RPM, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Dist::Zilla::Plugin::RPM
CPAN shell
perl -MCPAN -e shell install Dist::Zilla::Plugin::RPM
For more information on module installation, please visit the detailed CPAN module installation guide.