Bug 351251 - Review Request: Func - Fedora Unified Network Controller
Review Request: Func - Fedora Unified Network Controller
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Tim Lauridsen
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-10-24 16:22 EDT by Michael DeHaan
Modified: 2014-01-21 17:59 EST (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-05-17 13:51:46 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
tla: fedora‑review+
wtogami: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Michael DeHaan 2007-10-24 16:22:30 EDT
Spec URL: https://hosted.fedoraproject.org/projects/func/attachment/wiki/FuncReleases/func.spec?format=raw

SRPM URL: https://hosted.fedoraproject.org/projects/func/attachment/wiki/FuncReleases/func-0.13-2.fc7.src.rpm

Description: (copied from Wiki)

Func allows for running commands on remote systems in a secure way, like SSH, but offers several improvements.

    * Func allows you to manage an arbitrary group of machines all at once.
    * Func automatically distributes certificates to all "slave" machines. There's almost nothing to configure.
    * Func comes with a command line for sending remote commands and gathering data.
    * There are lots of modules already provided for common tasks.
    * Anyone can write their own modules using the simple Python module API.
    * Everything that can be done with the command line can be done with the Python client API. The hack potential is unlimited.
    * You'll never have to use "expect" or other ugly hacks to automate your workflow.
    * It's really simple under the covers. Func works over XMLRPC and SSL.
    * Any program can use func certificates, latch on to them, and take advantage of secure master-to-slave communication.
    * There are no databases or crazy stuff to install and configure. Again, certificate distribution is automatic too. 

See website:  https://hosted.fedoraproject.org/projects/func/
Comment 1 Tim Lauridsen 2007-10-26 06:48:20 EDT
Problems:

X Need some BuildRequires to support python setup tools.

%if 0%{?fedora} >= 8
BuildRequires: python-setuptools-devel
%else
BuildRequires: python-setuptools
%endif

X Licence should follow the standard

Based on the source GPL header it should be.
GPLv2+ 

Comment 2 Tim Lauridsen 2007-10-26 07:05:41 EDT
#rpmlint rpmbuild/RPMS/noarch/func-0.13-2.noarch.rpm 
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/codes.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/overlord/sslclient.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/overlord/cmd_modules/show.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/minion/module_loader.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/minion/modules/test.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/overlord/inventory.py 0644
func.noarch: E: incoherent-logrotate-file /etc/logrotate.d/func_rotate
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/overlord/cmd_modules/call.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/overlord/test_func.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/overlord/client.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/certs.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/overlord/cmd_modules/copyfile.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/minion/modules/process.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/logger.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/commonconfig.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/certmaster.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/utils.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/minion/modules/virt.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/SSLConnection.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/minion/codes.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/overlord/func_command.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/config.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/minion/modules/service.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/minion/modules/hardware.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/minion/modules/func_module.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/minion/modules/smart.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/minion/server.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/overlord/cmd_modules/listminions.py 0644
func.noarch: E: non-executable-script
/usr/lib/python2.4/site-packages/func/minion/utils.py 0644
func.noarch: W: incoherent-version-in-changelog 0.0.13-2 0.13-2
func.noarch: W: service-default-enabled /etc/init.d/funcd
func.noarch: W: service-default-enabled /etc/init.d/funcd
func.noarch: W: service-default-enabled /etc/init.d/certmaster
func.noarch: W: service-default-enabled /etc/init.d/certmaster
Comment 3 Tim Lauridsen 2007-10-26 07:13:51 EDT
MUST:
* package is named appropriately
* it is legal for Fedora to distribute this
X license field matches the actual license.
  see earlier comment
* license is open source-compatible.
* specfile name matches %{name}
? verify source and patches (md5sum matches upstream, know what the patches do)
    No upstream tarball to match, SRPM is upstream source.
* summary and description fine
* correct buildroot
* %{?dist} is used
X license text included in package and marked with %doc
* package meets FHS (http://www.pathname.com/fhs/)
* changelog format fine 
* Packager tag not used
* Vendor tag not used
* Distribution tag not used
* License used and not Copyright 
* Summary tag does not end in a period
* specfile is legible
* package successfully compiles and builds on at least x86
X BuildRequires are proper
  See earlier comment.
* make sure lines are <= 80 characters
* specfile written in American English
* no -doc sub-package necessary
* no libraries
* no rpath
* not a GUI app
* no -devel sub-package necessary
* macros used appropriately and consistently
* no %makeinstall
* install section must begin with rm -rf $RPM_BUILD_ROOT or %{buildroot}
* no locale data
* split Requires(pre,post) into two separate lines
* package not relocatable
* package contains code
* package owns all directories and files
* no %files duplicates
X file permissions fine
  See earlier comments.
X %defattrs present ( %defattr(-, root, root, -))
* %clean present
* %doc files do not affect runtime
Comment 4 Michael DeHaan 2007-10-26 12:45:53 EDT
Responding to your first comments:

X Need some BuildRequires to support python setup tools.
* this is resolved upstream and will give new URLs shortly

X Licence should follow the standard ...
* this is also fixed
Comment 5 Michael DeHaan 2007-10-26 13:02:26 EDT
Responding to rpmlint

"non-executable-script"

* This is ok because these are modules, not scripts, so fine there.


func.noarch: W: incoherent-version-in-changelog 0.0.13-2 0.13-2

* Not sure what rpmlint is confused about, exactly.  Seems ok.

func.noarch: W: service-default-enabled /etc/init.d/funcd
func.noarch: W: service-default-enabled /etc/init.d/funcd
func.noarch: W: service-default-enabled /etc/init.d/certmaster
func.noarch: W: service-default-enabled /etc/init.d/certmaster

* these have been now disabled in the service init scripts

Comment 6 Michael DeHaan 2007-10-26 13:10:03 EDT
Responding to the 3rd part:

MUST:

X license field matches the actual license.

* This has been corrected, updated URLs coming shortly

? verify source and patches (md5sum matches upstream, know what the patches do)
    No upstream tarball to match, SRPM is upstream source.

* Snapshot tarball can be uploaded, one of the developers is the upstream
packager, see also: git

X license text included in package and marked with %doc

* Has been added

X BuildRequires are proper

* Fixed.

X file permissions fine
  See earlier comments.

* I'm in disagreement with the need for module (non-script) code to be chmod+x,
if you can point me at packaging guidelines that indicate this is a requirement
I'll address it.

X %defattrs present ( %defattr(-, root, root, -))

* Adding...
Comment 7 Michael DeHaan 2007-10-26 13:26:23 EDT
Tim,

I've uploaded a new SRC rpm, tarball, and specfile for you to look at.

The changes I have not incorporated are:
* permissions on non-script python files (which I believe is just rpmlint being
confused about what should be executable)

here's the spec:

https://hosted.fedoraproject.org/projects/func/attachment/wiki/FuncReleases/func.spec?format=raw

source rpm:
https://hosted.fedoraproject.org/projects/func/attachment/wiki/FuncReleases/func-0.13-3.fc7.src.rpm

here's a tarball built at the same time as the RPM:
https://hosted.fedoraproject.org/projects/func/attachment/wiki/FuncReleases/func-0.13.tar.3.gz

Thanks very much for doing the review!

--Michael
Comment 8 Tim Lauridsen 2007-10-28 06:13:11 EDT
* license field matches the actual license.
* license text included in package and marked with %doc
* BuildRequires are proper
* file permissions fine
  python site-lib modules is not scripts, so no need to be +x
* %defattrs present ( %defattr(-, root, root, -))
* verify the final provides and requires of the binary RPMs
	$ rpm -q -R -p rpmbuild/RPMS/noarch/func-0.13-3.fc8.noarch.rpm 
	/bin/sh  
	/bin/sh  
	/bin/sh  
	/usr/bin/python  
	config(func) = 0.13-3.fc8
	pyOpenSSL  
	python >= 2.3
	python(abi) = 2.5
	rpmlib(CompressedFileNames) <= 3.0.4-1
	rpmlib(PartialHardlinkSets) <= 4.0.4-1
	rpmlib(PayloadFilesHavePrefix) <= 4.0-1

    $  rpm -q --provides -p rpmbuild/RPMS/noarch/func-0.13-3.fc8.noarch.rpm 
	config(func) = 0.13-3.fc8
	func = 0.13-3.fc8


? run rpmlint on the binary RPMs
func.noarch: W: incoherent-version-in-changelog 0.0.13-3 0.13-3.fc8
this is because %%SOURCE1 contains 0.13.3 & changelog entries contains 0.0.13-3
as version
func.noarch: E: non-executable-script /usr/lib/python2.5/site-packages/func/*.py
python site-lib modules is not scripts, so no need to be +x
could be made silenced by chmod +x *.py for all *.py files in git.


SHOULD:
* package should include license text in the package and mark it with %doc
* package should build on i386
? package should build in mock
 - I haven't tried, but I don't think it'll be a problem

The Changelog entries should be fixed to have the right versions, feel free to
change the permissions on the *.py files if you like.
but nothing blocking.

APPROVED.
Comment 9 Michael DeHaan 2007-10-29 11:51:59 EDT
New Package CVS Request
=======================
Package Name: func
Short Description:  Fedora Unified Network Controller
Owners: mdehaan skvidal alikins
Branches: F-7 F-8 EL-4 EL-5
InitialCC: 
Cvsextras Commits: no
Comment 10 Peter Lemenkov 2008-05-17 13:51:46 EDT
Looks like this package was successfully built. Closing this ticket.

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