Bug 192311
Summary: | Review Request: cobbler | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Michael DeHaan <mdehaan> |
Component: | Package Review | Assignee: | John Mahowald <jpmahowald> |
Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Package Reviews List <fedora-package-review> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | j, k.georgiou, shenson |
Target Milestone: | --- | Flags: | j:
fedora-cvs+
|
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | Doc Type: | Bug Fix | |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2006-09-28 13:59:32 UTC | Type: | --- |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 163779, 192313 |
Description
Michael DeHaan
2006-05-18 21:09:38 UTC
This is associated with a program submitted here, but for just using PXE, the "koan" program is not required. https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=192313 rpmlint: E: cobbler description-line-too-long Cobbler is a command line tool for simplified configuration of boot/provisioning servers. It is also accessible as a Python library. Cobbler supports PXE, Xen, and re-provisioning an existing Linux system via auto-kickstart. The last two modes require 'koan' to be run on the remote system. Wrap at 80 characters. E: cobbler no-changelogname-tag You need a %changelog E: cobbler non-executable-script /usr/lib/python2.4/site-packages/cobbler/cobbler.py 0644 Begins with #!/usr/bin/python, ignorable. * Package is marked as relocatable, please check. (wiki: Packaging/Guidelines#RelocatablePackages) * Spec file: tag Vendor is forbidden (wiki: Packaging/Guidelines#tags) * No downloadable source. Please give the full URL in the Source tag. * The BuildRoot must be cleaned at the beginning of %install SPEC file required following changes * Also You need to use dist tag instead of coding release * Source tag is not a URL * Add Changelog All items are now fixed except for the part about the 'dist tag', which I did not understand, and the relocatable part, which AFAIK, I have not marked the package relocatable. Pointers on these two items would be greatly appreciated. I've updated the src rpms, noarch rpms, and spec files accordingly. === Wrap at 80 characters. * Fixed E: cobbler no-changelogname-tag You need a %changelog * Fixed E: cobbler non-executable-script /usr/lib/python2.4/site-packages/cobbler/cobbler.py 0644 Begins with #!/usr/bin/python, ignorable. * Fixed anyway Package is marked as relocatable, please check. (wiki: Packaging/Guidelines#RelocatablePackages) * I don't see "relocatable" in the spec file. So I'm not sure how the package is marked as such. Spec file: tag Vendor is forbidden (wiki: Packaging/Guidelines#tags) * Fixed No downloadable source. Please give the full URL in the Source tag. * Fixed. The source is also in the bugzilla entry at the top of this page. The BuildRoot must be cleaned at the beginning of %install * Fixed. Also You need to use dist tag instead of coding release * Can you elaborate on what needs to be done here? Source tag is not a URL * Fixed Add Changelog * Fixed === DistTag should be fixed now as well. Now that we have some changes please increment the release every time you make some changes. It allows for tracking of stuff via %changelog and ensures we all have the latest version. Different packages circulating with the same version and release is bad. Don't bother with defining your own macros for name, version, and release, rpm does that. Typically the URL points at an informational page. Does one exist? Is your packages the only release? Seems INSTALLED_FILES doesn't list directories, so don't use that. http://fedoraproject.org/wiki/Packaging/Python (this page has some other hints for python packaging as well) please increment the release every time you make some changes. -- The installed product didn't technically change. Regardless, this can be done. Don't bother with defining your own macros for name, version, and release, rpm does that. -- If I remove the version macro, 'version' will be seperately hard coded into 3 parts of the file. Having the version macro at the top of the file is most convient for editing and is very much D.R.Y. If i need to call it something other than 'version', this can be done, though I need to understand the technical reason for this. Typically the URL points at an informational page. Does one exist? -- Not *yet*. Full documentation is provided in the man pages and can be saved to file if required. Seems INSTALLED_FILES doesn't list directories, so don't use that. -- Directories will be added. (In reply to comment #7) > Don't bother with defining your own macros for name, version, and release, rpm > does that. > > -- If I remove the version macro, 'version' will be seperately hard coded into 3 > parts of the file. Having the version macro at the top of the file is most > convient for editing and is very much D.R.Y. If i need to call it something > other than 'version', this can be done, though I need to understand the > technical reason for this. If you remove the line: %define version 0.1.0 And replace: Version: %{version} with: Version: 0.1.0 then rpm will define the %{version} macro for you, which you can use in the rest of the spec file just as you are now. Defining it manually is simply redundant. Same goes for the %{name} and %{release} macros; there is no need to define them manually. Updated. - added doc URL - added directories - removed redundant macros - bumped release New RPM: http://et.redhat.com/~mdehaan/software/cobbler/cobbler-0.1.0-2.src.rpm New spec file: http://et.redhat.com/~mdehaan/software/cobbler/cobbler.spec Documentation URL as listed in spec: http://et.redhat.com/page/Cobbler_%26_Koan_Provisioning_Tools (largely a manpage copy for now) Looks like you're missing a dep on yaml: rpm -q cobbler cobbler-0.1.0-2 cobbler help Traceback (most recent call last): File "/usr/bin/cobbler", line 18, in ? import cobbler.cobbler as app File "/usr/lib/python2.4/site-packages/cobbler/cobbler.py", line 18, in ? import api File "/usr/lib/python2.4/site-packages/cobbler/api.py", line 17, in ? import config File "/usr/lib/python2.4/site-packages/cobbler/config.py", line 27, in ? import serializer File "/usr/lib/python2.4/site-packages/cobbler/serializer.py", line 15, in ? import yaml # Howell-Clark version ImportError: No module named yaml Thanks. Fixed (per my email to David) at 17:38 EST. Same URLs are still valid. The setup.py file was not updated after doing some work to make the code build/run on RHEL, which involved swapping out yaml modules. Added kickstart templating support in cobbler using Cheetah. Kickstart templating works for PXE, Xen, and auto-kickstart re-provisioning alike. http://et.redhat.com/~mdehaan/software/cobbler/cobbler-0.1.1-3.src.rpm http://et.redhat.com/~mdehaan/software/cobbler/cobbler.spec I see no one has attempted to run the code yet :) Several of our development systems are tainted from having a yaml module installed on them that RHN uses, therefore I didn't detect that the load paths from the yaml module were not correct. These are corrected versions of cobber with relative imports: http://et.redhat.com/~mdehaan/software/cobbler/cobbler-0.1.1-4.src.rpm http://et.redhat.com/~mdehaan/software/cobbler/cobbler.spec For convience of anyone wanting to try this out, I also have uploaded noarch's. http://et.redhat.com/~mdehaan/software/cobbler/cobbler-0.1.1-4.noarch.rpm It's been a month over the last response from anyone. Can anyone take a look at this? It seems the earlier RPM issues are resolved and it would be nice if someone could confirm packaging issues are ok so I we can go forward with the next steps. The stalled review policy indicates that we give John one more week to respond and then he can be unassigned from the package. However, just a quick once over from me: Source0: does not contain a URL to the upstream tarball. I'd consider this a blocker unless somehow there is no upstream other than this package. rpmlint on SRPM says: W: cobbler strange-permission cobbler.spec 01664 Really odd for the sticky bit to be set on a spec file. W: cobbler setup-not-quiet Not a big deal; pass -q to the %setup macro if you want to quiet this. rpmlint on the built RPM says: E: cobbler non-executable-script /usr/lib/python2.4/site-packages/cobbler/gui.py 0644 rpmlint fires this off anytime it sees a shebang line in a file that's not executable. For Python source this is often bogus; it depends on whether the code is actually runnable (i.e. contains something other than class definitions). This seems to be the case here, so the rpmlint complaint can be ignored. The downloads page has all source rpms so I assume this srpm is the canonical source. I agree with the rest of comment 15. The scripts in %install seemed to have worked around the warning in the python packaging guidelines about INSATLLED_FILES and directories. http://fedoraproject.org/wiki/Packaging/Python Needs work: rpm added a Requires of python(abi) = 2.4. This makes Requiring python >= 2.3 redundant on FC4+. Good: + noarch + permissions + uses setuptools + clean section + macros """ Source0: does not contain a URL to the upstream tarball. I'd consider this a blocker unless somehow there is no upstream other than this package. """ I am the upstream; the SRPM is canonical. This app is not expected to work outside of RHEL4+/FC5+ without modification. Seeing it includes kickstart features (which are already very distro specific) that shouldn't be a problem. -------------- "Really odd for the sticky bit to be set on a spec file." Fixed. -------------- """ W: cobbler setup-not-quiet Not a big deal; pass -q to the %setup macro if you want to quiet this. """ Fixed. ---------------------------- """ cobbler non-executable-script /usr/lib/python2.4/site-packages/cobbler/gui.py 0644 """ Fixed. That file should not have been in the release. -------------------- rpmlint on both RPM's yields no output at this point and unit tests pass. New versions: http://et.redhat.com/~mdehaan/software/cobbler/cobbler-0.1.1-5.src.rpm http://et.redhat.com/~mdehaan/software/cobbler/cobbler-0.1.1-5.noarch.rpm """ rpm added a Requires of python(abi) = 2.4. This makes Requiring python >= 2.3 redundant on FC4+. """ There's a good reason for this. Currently the same SRPM file can be used to build the RPM on RHEL4/Centos, which is desirable to preserve. The noarch has a 2.4 abi because it was built using distutils on a FC5 system. Cobbler itself will build on either platform as it only requires Python 2.3 (no Python 2.4 features and no extensions included). Using the example of IETF RFC 2119 the Wiki entry about abi appears to be more of a "SHOULD NOT" than a "MUST NOT". The redundancy will not break a build system or RPM, so it shouldn't be a problem. If it is, it can be dealt with, though it seems sensible to me. Ping. Seems you have combined the list of files and dirs into INSTALLED_OBJECTS but the files section is %files -f INSTALLED_FILES. Thus cobbler does not own its dir in site-packages. Good: + License: GPL + noarch python package + macro use + %clean section + file permissions + rpmlint clean + follows packaging guidelines APPROVED Just fix the %files before building. John (et al), Thanks! Would you mind sponsoring me on this? I'm currently lacking sponsorship and can't submit otherwise. The CLA is in the mail. Michael Newness: Source code of released builds is now available in Mercurial: http://hg.et.redhat.com/hg/emd/applications/cobbler New home for files: http://et.redhat.com/~mdehaan/software/repo/ Accessible via yum: http://et.redhat.com/~mdehaan/software/mdehaan.repo All of this info is updated on the Wiki page: http://et.redhat.com/page/Cobbler_%26_Koan_Provisioning_Tools John: ping on the above sponsorship request... %files has been fixed to Python packaging guidelines. Sponsored you, should eb good to go for building Package Change Request ====================== Package Name: cobbler New Branches: EL-6 Owners: shenson jeckersb awood This package already seems to have an EL-6 branch. |