Name: Rex
Version: 1.5.0
Release: 2%{?dist}
Summary: Tool for Automation, Remote Execution and Configuration Deployment
License: ASL 2.0
URL: http://www.rexify.org/
Source0: http://rex.linux-files.org/source/%{name}-%{version}.tar.gz
BuildArch: noarch
Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`"; echo $version))
Requires: perl(Data::Validate::IP)
Requires: perl(Net::SSH2)
Requires: perl(Net::OpenSSH)
Requires: perl(Net::SFTP::Foreign)
Requires: perl(Parallel::ForkManager)
BuildRequires: perl-generators perl-interpreter
BuildRequires: perl(AWS::Signature4)
BuildRequires: perl(Data::Validate::IP)
BuildRequires: perl(Net::OpenSSH)
BuildRequires: perl(Net::SFTP::Foreign)
BuildRequires: perl(Net::SSH2)
BuildRequires: perl(Parallel::ForkManager)
BuildRequires: perl(DBI)
BuildRequires: perl(ExtUtils::MakeMaker)
BuildRequires: perl(JSON::XS)
BuildRequires: perl(Sort::Naturally)
BuildRequires: perl(Test::Deep)
BuildRequires: perl(Test::UseAllModules)
BuildRequires: perl(XML::LibXML)
Buildrequires: perl(Devel::Caller)
Buildrequires: perl(Digest::HMAC)
Buildrequires: perl(Expect)
Buildrequires: perl(Hash::Merge)
Buildrequires: perl(IO::String)
Buildrequires: perl(LWP)
Buildrequires: perl(List::MoreUtils)
Buildrequires: perl(Net::SSH2)
Buildrequires: perl(String::Escape)
Buildrequires: perl(Term::ReadKey)
Buildrequires: perl(Test::More)
Buildrequires: perl(Test::Pod)
Buildrequires: perl(Test::mysqld)
Buildrequires: perl(Text::Glob)
Buildrequires: perl(Time::HiRes)
Buildrequires: perl(XML::Simple)
Buildrequires: perl(YAML)
%description
(R)?ex(ify) is an automation tool on basis of the Perl scripting language. You
can use it in your everyday DevOps life for:
* Continous Delivery
* Configuration Management
* Automation
* Cloud Deployment
* Virtualization
* Software Rollout
* Server Provisioning
%prep
%setup -q %{name}-%{version}
%build
perl Makefile.PL
make %{?_smp_mflags}
%check
make test
%install
make pure_install DESTDIR=$RPM_BUILD_ROOT \
NO_PERLLOCAL=1 NO_PACKLIST=1 \
INSTALLSITEBIN=%{_bindir} \
INSTALLSITESCRIPT=%{_bindir} \
SITELIBEXP=%{perl_vendorlib} \
SITEARCHEXP=%{_libdir}/perl5 \
INSTALLSITEMAN1DIR=%{_mandir}/man1 \
INSTALLSITEMAN3DIR=%{_mandir}/man3 \
INSTALLSITELIB=%{perl_vendorlib}
chmod 755 $RPM_BUILD_ROOT/%{perl_vendorlib}/%{name}/Commands/templates/append_if_no_such_line.tpl.pl
sed -i "s|/usr/bin/env perl|/usr/bin/perl|" $RPM_BUILD_ROOT/%{_bindir}/rex
rm -f $RPM_BUILD_ROOT/usr/{lib,lib64}/perl5/perllocal.pod
rm -f $RPM_BUILD_ROOT/usr/local/lib*/perl5/auto/Rex/.packlist
%files
%doc ChangeLog CONTRIBUTORS README
%license LICENSE
%{_mandir}/man1/rex.1*
%{_mandir}/man1/rexify.1*
%{_mandir}/man3/%{name}*
%attr(644, root, root) %{perl_vendorlib}/%{name}.pm
%{perl_vendorlib}/%{name}/
%attr(755, root, root) %{_bindir}/rex
%attr(755, root, root) %{_bindir}/rexify
%changelog
* Tue Aug 01 2017 Dominic Hopf <dmaphy@fedoraproject.org> - 1.5.0-2
- Upgrade to Rex 1.5.0
- Fix wrong-script-interpreter issue
* Mon Jul 31 2017 Dominic Hopf <dmaphy@fedoraproject.org> - 1.4.1-6
- Remove explicit Requires: perl(AWS::Signature4)
- Change mode for append_if_no_such_line.tpl.pl in %%build section
- Do not explicitly install documentation
- Add Requires for: Net::OpenSSH, Net::SFTP::Foreign, Net::SSH2 and
Parallel::ForkManager
- Improve legibility of Requires and BuildRequires
* Sun Jul 30 2017 Dominic Hopf <dmaphy@fedoraproject.org> - 1.4.1-5
- Add Requires: perl(AWS::Signature4)
* Sat Jul 29 2017 Dominic Hopf <dmaphy@fedoraproject.org> - 1.4.1-4
- Remove BuildRequires on perl
- Add BuildRequires on Test::Pod
- Do not define LICENSE as %%doc
- Do not explictly define manpages as %%doc
- Replace make install command with make pure_install command
- chmod +x for append_if_no_such_line.tpl.pl
* Thu Jul 27 2017 Dominic Hopf <dmaphy@fedoraproject.org> - 1.4.1-3
- Install Rex into %%{perl_vendorlib}
- Add BuildRequires for perl-generators and perl-interpreter as of Guidelines
- Add Requires for versioned MODULE_COMPAT stuff as of Guidelines
- Use make install instead of %%makeinstall macro in %%install section
- Install documentation files to /usr/share/doc/Rex/ and mark LICENSE as
%%license
* Mon Jul 24 2017 Dominic Hopf <dmaphy@fedoraproject.org> - 1.4.1-2
- Update to 1.4.1
- Add BuildRequires for: Devel::Caller, IO::String, Test::Deep, Test::mysqld
and Time::HiRes
* Thu Jun 25 2015 Dominic Hopf <dmaphy@fedoraproject.org> - 1.3.1-1
- Update to 1.3.1
* Tue May 05 2015 Dominic Hopf <dmaphy@fedoraproject.org> - 1.2.1-1
- Update to 1.2.1
* Mon Apr 06 2015 Dominic Hopf <dmaphy@fedoraproject.org> - 1.1.0-1
- Update to 1.1.0
* Thu Nov 13 2014 Dominic Hopf <dmaphy@fedoraproject.org> - 0.55.3-1
- Update to 0.55.3
* Sat Oct 04 2014 Dominic Hopf <dmaphy@fedoraproject.org> - 0.54.3-1
- Update to 0.54.3
* Wed Jul 16 2014 Dominic Hopf <dmaphy@fedoraproject.org> - 0.49.1-1
- initial package