Blob Blame History Raw
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