Bug 1120788 - Review Request: Rex - Tool for Automation, Remote Execution and Configuration Deployment
Summary: Review Request: Rex - Tool for Automation, Remote Execution and Configuration...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Robin Lee
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 1476481
Blocks:
TreeView+ depends on / blocked
 
Reported: 2014-07-17 17:03 UTC by Dominic Hopf
Modified: 2017-11-01 16:37 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-11-01 00:01:40 UTC
Type: ---
Embargoed:
robinlee.sysu: fedora-review+


Attachments (Terms of Use)

Description Dominic Hopf 2014-07-17 17:03:58 UTC
Spec URL: http://dmaphy.fedorapeople.org//Rex.spec
SRPM URL: http://dmaphy.fedorapeople.org//Rex-0.49.1-1.fc20.src.rpm

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

Comment 1 Dominic Hopf 2014-07-17 17:04:00 UTC
This package built on koji:  http://koji.fedoraproject.org/koji/taskinfo?taskID=7159400

Comment 2 Christopher Meng 2014-07-18 06:07:58 UTC
Last year I thought this package was already in the repo, now I checked again seems that I was wrong and skipped it...

I will review it later.

Comment 3 Dominic Hopf 2014-10-04 19:47:14 UTC
Updated the package to latest release 0.54.3 and fixed some rpmlint warnings in the meanwhile:

Spec URL: https://dmaphy.fedorapeople.org/Rex/Rex.spec
SRPM URL: https://dmaphy.fedorapeople.org/Rex/Rex-0.54.3-1.fc20.src.rpm

Koji Scratch Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=7767299


You still have this Review on your plan?

Comment 4 Dominic Hopf 2015-04-06 12:47:05 UTC
Dear Christopher Meng,

I'd kindly like to remind you that you assigned this review to yourself by your own interest. The review unfortunately still did not happen. There is Rex 1.1.0 out in the meanwhile and I've built some new packages for that:

Spec URL: https://dmaphy.fedorapeople.org/Rex/Rex.spec
SRPM URL: https://dmaphy.fedorapeople.org/Rex/Rex-1.1.0-1.fc21.src.rpm

Koji Scratch Build: http://koji.fedoraproject.org/koji/taskinfo?taskID=9421015


May I ask when you plan to take care of this review then?

Best Regards,
Dominic

Comment 6 Robin Lee 2016-10-10 08:21:20 UTC
I would like to take the review.
Please update to the latest version 1.4.1.

Comment 7 Dominic Hopf 2017-07-24 08:06:53 UTC
I'm sorry for my unresponsiveness the last months, been busy with work and so on. I now have vacations for some days and I'll be glad if you're still interested in reviewing the package. I updated it to 1.4.1 today:

Spec URL: https://dmaphy.fedorapeople.org/Rex/Rex.spec
SRPM URL: https://dmaphy.fedorapeople.org/Rex/Rex-1.4.1-1.fc26.src.rpm
RPM URL: https://dmaphy.fedorapeople.org/Rex/Rex-1.4.1-1.fc26.noarch.rpm

Comment 8 Robin Lee 2017-07-24 08:23:04 UTC
Mock build on Rawhide failed during test:

+ make test
PERL_DL_NONLAZY=1 "/usr/bin/perl" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/commands/*.t t/issue/*.t
Can't locate Devel/Caller.pm in @INC (you may need to install the Devel::Caller module) (@INC contains: CODE(0x56488ff58ca8) /builddir/build/BUILD/Rex-1.4.1/blib/lib /builddir/build/BUILD/Rex-1.4.1/blib/arch /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /builddir/build/BUILD/Rex-1.4.1/lib /builddir/build/BUILD/Rex-1.4.1/lib/perl/lib/perl5 /builddir/build/BUILD/Rex-1.4.1/lib/perl/lib/perl5/x86_64-linux CODE(0x56488ff58e70) /builddir/.rex/recipes) at /builddir/build/BUILD/Rex-1.4.1/blib/lib/Rex/Helper/Rexfile/ParamLookup.pm line 14.
BEGIN failed--compilation aborted at /builddir/build/BUILD/Rex-1.4.1/blib/lib/Rex/Helper/Rexfile/ParamLookup.pm line 14.
Compilation failed in require at /builddir/build/BUILD/Rex-1.4.1/blib/lib/Rex.pm line 580.
BEGIN failed--compilation aborted at t/0.31.t line 6.
# Looks like your test exited with 2 before it could output anything.
t/0.31.t ......................... 
Dubious, test returned 2 (wstat 512, 0x200)
Failed 139/139 subtests 
Can't locate Devel/Caller.pm in @INC (you may need to install the Devel::Caller module) (@INC contains: CODE(0x55ca8e5d26f8) /builddir/build/BUILD/Rex-1.4.1/blib/lib /builddir/build/BUILD/Rex-1.4.1/blib/arch /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /builddir/build/BUILD/Rex-1.4.1/lib /builddir/build/BUILD/Rex-1.4.1/lib/perl/lib/perl5 /builddir/build/BUILD/Rex-1.4.1/lib/perl/lib/perl5/x86_64-linux CODE(0x55ca8e5d28c0) /builddir/.rex/recipes) at /builddir/build/BUILD/Rex-1.4.1/blib/lib/Rex/Helper/Rexfile/ParamLookup.pm line 14.
BEGIN failed--compilation aborted at /builddir/build/BUILD/Rex-1.4.1/blib/lib/Rex/Helper/Rexfile/ParamLookup.pm line 14.
Compilation failed in require at /builddir/build/BUILD/Rex-1.4.1/blib/lib/Rex.pm line 580.
BEGIN failed--compilation aborted at t/0.54.t line 6.
# Looks like your test exited with 2 before it could output anything.
t/0.54.t ......................... 
Dubious, test returned 2 (wstat 512, 0x200)
Failed 13/13 subtests 
t/01.t ........................... ok
t/args.t ......................... ok
t/auth.t ......................... ok
t/author-critic.t ................ skipped: these tests are for testing by the author
t/author-pod-syntax.t ............ skipped: these tests are for testing by the author
#   Failed test 'use Rex::CLI;'
#   at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#     Tried to use 'Rex::CLI'.
#     Error:  Can't locate Devel/Caller.pm in @INC (you may need to install the Devel::Caller module) (@INC contains: CODE(0x561fe8dbe498) lib /builddir/build/BUILD/Rex-1.4.1/blib/lib /builddir/build/BUILD/Rex-1.4.1/blib/arch /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /builddir/build/BUILD/Rex-1.4.1/lib /builddir/build/BUILD/Rex-1.4.1/lib/perl/lib/perl5 /builddir/build/BUILD/Rex-1.4.1/lib/perl/lib/perl5/x86_64-linux CODE(0x561fe8dbe660) /builddir/.rex/recipes) at lib/Rex/Helper/Rexfile/ParamLookup.pm line 14.
# BEGIN failed--compilation aborted at lib/Rex/Helper/Rexfile/ParamLookup.pm line 14.
# Compilation failed in require at lib/Rex.pm line 580.
# BEGIN failed--compilation aborted at lib/Rex/CLI.pm line 44.
# Compilation failed in require at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
# BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#   Failed test 'use Rex::Test::Base::has_service_stopped;'
#   at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#     Tried to use 'Rex::Test::Base::has_service_stopped'.
#     Error:  Attempt to reload Rex/Helper/Rexfile/ParamLookup.pm aborted.
# Compilation failed in require at lib/Rex.pm line 580.
# BEGIN failed--compilation aborted at lib/Rex/Test/Base/has_service_stopped.pm line 14.
# Compilation failed in require at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
# BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#   Failed test 'use Rex::Resource::firewall;'
#   at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#     Tried to use 'Rex::Resource::firewall'.
#     Error:  Attempt to reload Rex/Helper/Rexfile/ParamLookup.pm aborted.
# Compilation failed in require at lib/Rex.pm line 521.
# BEGIN failed--compilation aborted at lib/Rex/Resource/firewall.pm line 65.
# Compilation failed in require at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
# BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#   Failed test 'use Rex::Test::Base::has_file;'
#   at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#     Tried to use 'Rex::Test::Base::has_file'.
#     Error:  Attempt to reload Rex/Helper/Rexfile/ParamLookup.pm aborted.
# Compilation failed in require at lib/Rex.pm line 580.
# BEGIN failed--compilation aborted at lib/Rex/Test/Base/has_file.pm line 14.
# Compilation failed in require at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
# BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#   Failed test 'use Rex::Test::Base::has_dir;'
#   at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#     Tried to use 'Rex::Test::Base::has_dir'.
#     Error:  Attempt to reload Rex/Helper/Rexfile/ParamLookup.pm aborted.
# Compilation failed in require at lib/Rex.pm line 580.
# BEGIN failed--compilation aborted at lib/Rex/Test/Base/has_dir.pm line 14.
# Compilation failed in require at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
# BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#   Failed test 'use Rex::Commands::Augeas;'
#   at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#     Tried to use 'Rex::Commands::Augeas'.
#     Error:  Can't locate IO/String.pm in @INC (you may need to install the IO::String module) (@INC contains: CODE(0x561fe8dbe498) lib /builddir/build/BUILD/Rex-1.4.1/blib/lib /builddir/build/BUILD/Rex-1.4.1/blib/arch /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . /builddir/build/BUILD/Rex-1.4.1/lib /builddir/build/BUILD/Rex-1.4.1/lib/perl/lib/perl5 /builddir/build/BUILD/Rex-1.4.1/lib/perl/lib/perl5/x86_64-linux CODE(0x561fe8dbe660) /builddir/.rex/recipes) at lib/Rex/Commands/Augeas.pm line 56, <DATA> line 203.
# BEGIN failed--compilation aborted at lib/Rex/Commands/Augeas.pm line 56, <DATA> line 203.
# Compilation failed in require at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
# BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
#   Failed test 'use Rex::Group::Lookup::YAML;'
#   at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#     Tried to use 'Rex::Group::Lookup::YAML'.
#     Error:  Attempt to reload Rex/Helper/Rexfile/ParamLookup.pm aborted.
# Compilation failed in require at lib/Rex.pm line 580, <DATA> line 203.
# BEGIN failed--compilation aborted at lib/Rex/Group/Lookup/YAML.pm line 32, <DATA> line 203.
# Compilation failed in require at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
# BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
#   Failed test 'use Rex::Helper::Rexfile::ParamLookup;'
#   at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#     Tried to use 'Rex::Helper::Rexfile::ParamLookup'.
#     Error:  Attempt to reload Rex/Helper/Rexfile/ParamLookup.pm aborted.
# Compilation failed in require at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
# BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
#   Failed test 'use Rex::Test::Base::has_content;'
#   at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#     Tried to use 'Rex::Test::Base::has_content'.
#     Error:  Attempt to reload Rex/Helper/Rexfile/ParamLookup.pm aborted.
# Compilation failed in require at lib/Rex.pm line 580, <DATA> line 203.
# BEGIN failed--compilation aborted at lib/Rex/Test/Base/has_content.pm line 14, <DATA> line 203.
# Compilation failed in require at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
# BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
#   Failed test 'use Rex::Test::Base::has_service_running;'
#   at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#     Tried to use 'Rex::Test::Base::has_service_running'.
#     Error:  Attempt to reload Rex/Helper/Rexfile/ParamLookup.pm aborted.
# Compilation failed in require at lib/Rex.pm line 580, <DATA> line 203.
# BEGIN failed--compilation aborted at lib/Rex/Test/Base/has_service_running.pm line 14, <DATA> line 203.
# Compilation failed in require at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
# BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
#   Failed test 'use Rex::Test::Base::has_package;'
#   at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#     Tried to use 'Rex::Test::Base::has_package'.
#     Error:  Attempt to reload Rex/Helper/Rexfile/ParamLookup.pm aborted.
# Compilation failed in require at lib/Rex.pm line 580, <DATA> line 203.
# BEGIN failed--compilation aborted at lib/Rex/Test/Base/has_package.pm line 14, <DATA> line 203.
# Compilation failed in require at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
# BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
#   Failed test 'use Rex::Test;'
#   at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#     Tried to use 'Rex::Test'.
#     Error:  Attempt to reload Rex/Helper/Rexfile/ParamLookup.pm aborted.
# Compilation failed in require at lib/Rex.pm line 580, <DATA> line 203.
# BEGIN failed--compilation aborted at lib/Rex/Test.pm line 11, <DATA> line 203.
# Compilation failed in require at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
# BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
#   Failed test 'use Rex::Test::Base::has_stat;'
#   at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#     Tried to use 'Rex::Test::Base::has_stat'.
#     Error:  Attempt to reload Rex/Helper/Rexfile/ParamLookup.pm aborted.
# Compilation failed in require at lib/Rex.pm line 580, <DATA> line 203.
# BEGIN failed--compilation aborted at lib/Rex/Test/Base/has_stat.pm line 14, <DATA> line 203.
# Compilation failed in require at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
# BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
#   Failed test 'use Rex::Group::Lookup::Command;'
#   at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71.
#     Tried to use 'Rex::Group::Lookup::Command'.
#     Error:  Attempt to reload Rex/Helper/Rexfile/ParamLookup.pm aborted.
# Compilation failed in require at lib/Rex.pm line 580, <DATA> line 203.
# BEGIN failed--compilation aborted at lib/Rex/Group/Lookup/Command.pm line 35, <DATA> line 203.
# Compilation failed in require at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
# BEGIN failed--compilation aborted at /usr/share/perl5/vendor_perl/Test/UseAllModules.pm line 71, <DATA> line 203.
Bailout called.  Further testing stopped:  failed: Rex::CLI,Rex::Test::Base::has_service_stopped,Rex::Resource::firewall,Rex::Test::Base::has_file,Rex::Test::Base::has_dir,Rex::Commands::Augeas,Rex::Group::Lookup::YAML,Rex::Helper::Rexfile::ParamLookup,Rex::Test::Base::has_content,Rex::Test::Base::has_service_running,Rex::Test::Base::has_package,Rex::Test,Rex::Test::Base::has_stat,Rex::Group::Lookup::Command
FAILED--Further testing stopped: failed: Rex::CLI,Rex::Test::Base::has_service_stopped,Rex::Resource::firewall,Rex::Test::Base::has_file,Rex::Test::Base::has_dir,Rex::Commands::Augeas,Rex::Group::Lookup::YAML,Rex::Helper::Rexfile::ParamLookup,Rex::Test::Base::has_content,Rex::Test::Base::has_service_running,Rex::Test::Base::has_package,Rex::Test,Rex::Test::Base::has_stat,Rex::Group::Lookup::Command
make: *** [Makefile:1497: test_dynamic] Error 255

Comment 9 Dominic Hopf 2017-07-24 09:00:15 UTC
Okay, the BuildRequires for this one should be better now (checked with mockbuild myself):

Spec URL: https://dmaphy.fedorapeople.org/Rex/Rex.spec
SRPM URL: https://dmaphy.fedorapeople.org/Rex/Rex-1.4.1-2.fc26.src.rpm
RPM URL: https://dmaphy.fedorapeople.org/Rex/Rex-1.4.1-2.fc26.noarch.rpm

Comment 10 Robin Lee 2017-07-26 14:11:53 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[!]: If (and only if) the source package includes the text of the
     license(s) in its own file, then that file, containing the text of the
     license(s) for the package is included in %license.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Apache (v2.0)", "Artistic", "Unknown or generated". 433 files
     have unknown license. Detailed output of licensecheck in
     /home/cheese/Downloads/1120788-Rex/licensecheck.txt
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Package contains desktop file if it is a GUI application.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[!]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
     Note: %makeinstall used in %install section
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[!]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[-]: Package is not known to require an ExcludeArch tag.
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[!]: All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
     You should BuildRequires perl-generators and perl-interpreter.
     Please refer to:
     https://fedoraproject.org/wiki/Packaging:Perl?rd=Packaging/Perl
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 0 bytes in 0 files.
[x]: Packages must not store files under /srv, /opt or /usr/local

Perl:
[!]: Package contains the mandatory BuildRequires and Requires:.
     Note: Requires: perl(:MODULE_COMPAT_%(eval "`%{__perl} -V:version`";
     echo $version)) missing?
     Note: You should use %perl_vendorlib to specify the module path.

===== SHOULD items =====

Generic:
[x]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
[x]: Final provides and requires are sane (see attachments).
[?]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Uses parallel make %{?_smp_mflags} macro.
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: Rex-1.4.1-2.fc27.noarch.rpm
          Rex-1.4.1-2.fc27.src.rpm
Rex.noarch: W: spelling-error %description -l en_US ify -> if, iffy, ifs
Rex.noarch: E: non-executable-script /usr/share/perl5/Rex/Commands/templates/append_if_no_such_line.tpl.pl 444 /usr/bin/perl 
Rex.src: W: spelling-error %description -l en_US ify -> if, iffy, ifs
Rex.src:14: W: mixed-use-of-spaces-and-tabs (spaces: line 14, tab: line 1)
2 packages and 0 specfiles checked; 1 errors, 3 warnings.




Rpmlint (installed packages)
----------------------------
sh: /usr/bin/python: No such file or directory
Rex.noarch: W: spelling-error %description -l en_US ify -> if, iffy, ifs
Rex.noarch: E: non-executable-script /usr/share/perl5/Rex/Commands/templates/append_if_no_such_line.tpl.pl 444 /usr/bin/perl 
1 packages and 0 specfiles checked; 1 errors, 1 warnings.



Requires
--------
Rex (rpmlib, GLIBC filtered):
    /usr/bin/perl



Provides
--------
Rex:
    Rex



Source checksums
----------------
http://rex.linux-files.org/source/Rex-1.4.1.tar.gz :
  CHECKSUM(SHA256) this package     : f5f8ebd6c04236b1564fd452d95c9b792307a9a13564ee9d3689105fa42e7e54
  CHECKSUM(SHA256) upstream package : f5f8ebd6c04236b1564fd452d95c9b792307a9a13564ee9d3689105fa42e7e54


Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02
Command line :/usr/bin/fedora-review -b 1120788
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api, Perl
Disabled plugins: Java, C/C++, Python, fonts, SugarActivity, Ocaml, Haskell, R, PHP
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 11 Dominic Hopf 2017-07-27 20:17:35 UTC
Did I already mention this is the first time I'm packaging a perl-ish package for Fedora? :-)

Here is an update which should improve everything marked as fail above:

Spec URL: https://dmaphy.fedorapeople.org/Rex/Rex.spec
SRPM URL: https://dmaphy.fedorapeople.org/Rex/Rex-1.4.1-3.fc26.src.rpm
RPM URL: https://dmaphy.fedorapeople.org/Rex/Rex-1.4.1-3.fc26.noarch.rpm

Comment 12 Robin Lee 2017-07-28 08:35:29 UTC
The binary package requires perl(AWS::Signature4) which is not available in Fedora.
You may submit another request for this module. Or filter out this requirement if it is optional.

Under %files:
- The license text file should not be duplicated in %doc.
- man pages are not necessary marked explicitly as %doc.

The "make install" line can be replaced with "make pure_install DESTDIR=$RPM_BUILD_ROOT";

BuildRequires "perl" is not necessary.

rpmlint error is not fixed:
Rex.noarch: E: non-executable-script /usr/share/perl5/vendor_perl/Rex/Commands/templates/append_if_no_such_line.tpl.pl 444 /usr/bin/perl

Comment 13 Dominic Hopf 2017-07-29 11:39:45 UTC
Another set of improvements:

Spec URL: https://dmaphy.fedorapeople.org/Rex/Rex.spec
SRPM URL: https://dmaphy.fedorapeople.org/Rex/Rex-1.4.1-4.fc26.src.rpm
RPM URL: https://dmaphy.fedorapeople.org/Rex/Rex-1.4.1-4.fc26.noarch.rpm

I'm still working on a package for AWS::Signature4. Review Request for that one will follow.

Comment 14 Dominic Hopf 2017-07-29 13:39:39 UTC
So here is the Review Request for perl-AWS-Signature4: https://bugzilla.redhat.com/show_bug.cgi?id=1476481

Comment 15 Dominic Hopf 2017-07-30 09:09:22 UTC
The -5 release adds the dependency to perl-AWS-Signature4:

Spec URL: https://dmaphy.fedorapeople.org/Rex/Rex.spec
SRPM URL: https://dmaphy.fedorapeople.org/Rex/Rex-1.4.1-5.fc26.src.rpm
RPM URL: https://dmaphy.fedorapeople.org/Rex/Rex-1.4.1-5.fc26.noarch.rpm

Comment 16 Robin Lee 2017-07-30 13:53:27 UTC
> install -d $RPM_BUILD_ROOT%{_datadir}/doc/%{name}/
> install -p ChangeLog CONTRIBUTORS README $RPM_BUILD_ROOT%{_datadir}/doc/%{name}/

Theses two lines are not necessary, since %doc moacro will copy the files for you.

> %attr(755, root, root) %{perl_vendorlib}/%{name}/Commands/templates/append_if_no_such_line.tpl.pl
This line will end with a warning during packaging:
File listed twice: /usr/share/perl5/vendor_perl/Rex/Commands/templates/append_if_no_such_line.tpl.pl

You can just run chmod during %build instead of using %attr

> Requires:		perl(AWS::Signature4)
This line may not necessary since this requirement is auto-generated.

And this package may require 'perl(Net::SSH2)' but not auto-generated. I ran a simple synopsis of rex, but it throw an error:

[2017-07-30 21:40:32] WARN - No Rexfile found.
[2017-07-30 21:40:32] WARN - Create a file named 'Rexfile' in this directory,
[2017-07-30 21:40:32] WARN - or specify the file you want to use with:
[2017-07-30 21:40:32] WARN -    rex -f file_to_use task_to_run
[2017-07-30 21:40:32] INFO - Running task eval-line on 192.168.122.198
[2017-07-30 21:40:33] ERROR - 1 out of 1 task(s) failed:
[2017-07-30 21:40:33] ERROR - 	eval-line failed on 192.168.122.198
[2017-07-30 21:40:33] ERROR - 		Error loading connection interface SSH.
[2017-07-30 21:40:33] ERROR - 		Can't locate Net/SSH2.pm in @INC (you may need to install the Net::SSH2 module) (@INC contains: CODE(0x118dfc0) /usr/lib/rex/lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 . CODE(0x118e188) /home/cheese/.rex/recipes) at (eval 42) line 1.

And it goes well after I install 'perl(Net::SSH2)' manually.

Comment 17 Dominic Hopf 2017-07-31 12:01:12 UTC
Somehow the dependency management is a bit confusing to me today. Until today I was assuming that everything I BuildRequire is a Require afterwards anyway.

The perl(Net::SSH2) requirement actually is there, defined as BuildRequires. But that obviously wasn't enough, for whatever reason I didn't understand.

I now explicitly list that Require in the spec file, along with some other stuff. Not sure why I need to mention those explicitly when the requirement to AWS::Signature4 was generated automagically. Probably something within the upstream build system I need to dig even deeper.  

Spec URL: https://dmaphy.fedorapeople.org/Rex/Rex.spec
SRPM URL: https://dmaphy.fedorapeople.org/Rex/Rex-1.4.1-6.fc26.src.rpm
RPM URL: https://dmaphy.fedorapeople.org/Rex/Rex-1.4.1-6.fc26.noarch.rpm

Comment 18 Robin Lee 2017-07-31 12:59:50 UTC
This package is approved by cheeselee.

Comment 19 Dominic Hopf 2017-08-01 09:56:05 UTC
Thanks very much for taking care of this Review Robin. :-)

Comment 20 Gwyn Ciesla 2017-08-01 12:25:35 UTC
Package request has been approved: https://admin.fedoraproject.org/pkgdb/package/rpms/Rex

Comment 21 Fedora Update System 2017-09-01 11:55:41 UTC
Rex-1.5.0-2.fc26 has been pushed to the Fedora 26 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-9eb9e9d630

Comment 22 Fedora Update System 2017-09-01 12:53:55 UTC
Rex-1.5.0-2.fc25 has been pushed to the Fedora 25 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2017-4e208a87a2

Comment 23 Fedora Update System 2017-11-01 00:01:40 UTC
Rex-1.5.0-2.fc26 has been pushed to the Fedora 26 stable repository. If problems still persist, please make note of it in this bug report.

Comment 24 Fedora Update System 2017-11-01 16:37:52 UTC
Rex-1.5.0-2.fc25 has been pushed to the Fedora 25 stable repository. If problems still persist, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.