Bug 290081
| Summary: | Review Request: bodhi - A modular web-system that facilitates the process of publishing updates for a Fedora-based software distribution | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | Luke Macken <lmacken> |
| Component: | Package Review | Assignee: | Tim Lauridsen <tim.lauridsen> |
| Status: | CLOSED NEXTRELEASE | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | medium | Docs Contact: | |
| Priority: | medium | ||
| Version: | rawhide | CC: | a.badger, fedora-package-review, notting, pfrields, tim.lauridsen |
| Target Milestone: | --- | Flags: | tim.lauridsen:
fedora-review+
kevin: 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: | 2007-10-21 23:03:07 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: | |||
|
Description
Luke Macken
2007-09-13 21:27:28 UTC
Note: the client is not fully functional with the current server deployment. Luke:
You should add this to the spec file
%if 0%{?fedora} >= 8
BuildRequires: python-setuptools-devel
%else
BuildRequires: python-setuptools
%endif
to make it work F8 and later too.
$ rpmlint ~/rpmbuild/RPMS/noarch/bodhi-server-0.2.0-1.fc7.noarch.rpm bodhi-server.noarch: E: non-executable-script /usr/lib/python2.5/site-packages/bodhi/tools/bodhi-client.py 0644 bodhi-server.noarch: E: non-executable-script /usr/lib/python2.5/site-packages/bodhi/tests/test_cli.py 0644 bodhi-server.noarch: E: non-executable-script /usr/lib/python2.5/site-packages/bodhi/tools/dev_init.py 0644 bodhi-server.noarch: E: non-executable-script /usr/lib/python2.5/site-packages/bodhi/tools/test-bodhi.py 0644 bodhi-server.noarch: E: non-executable-script /usr/lib/python2.5/site-packages/bodhi/tools/init.py 0644 bodhi-server.noarch: W: non-executable-in-bin /usr/bin/start-bodhi.pyo 0644 bodhi-server.noarch: W: non-executable-in-bin /usr/bin/start-bodhi.pyc 0644 bodhi-server.noarch: E: non-executable-script /usr/lib/python2.5/site-packages/bodhi/modifyrepo.py 0644 bodhi-server.noarch: E: non-executable-script /usr/lib/python2.5/site-packages/bodhi/tools/pickledb.py 0644 look like it needs a little chmod magic to silence rpmlint $ rpmlint ~/rpmbuild/RPMS/noarch/bodhi-client-0.2.0-1.fc7.noarch.rpm bodhi-client.noarch: W: no-documentation maybe the should be a README or something in the client package too. Is it on purpose that the license is GPLv2 (GPL2 only) and not GPLv2+ (GPL2 or later), the later is easier to work with. what about a COPYING gpl file ??? (shouldn't there be one in a GPL package ???) you should use 'Requires: yum-utils >= 1.1.7' in the server package because you are using 'repoquery --repofrompath=' this is first available in yum-utils-1.1.7. MUST:
* package is named appropriately
* it is legal for Fedora to distribute this
* license field matches the actual license.
* 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
Maybe copy the main summary + description to the server package because
because no binary bodhi packages is build, so the description ends up
nowhere rpm -qi bodhi-server will not show much info.
* 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
? 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
* no config files
* 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
* no cp usage so no need to worry about -p
* split Requires(pre,post) into two separate lines
* package not relocatable
* package contains code
* package owns all directories and files
* no %files duplicates
? file permissions fine
See earlier comments.
* %defattrs present ( %defattr(-, root, root, -))
* %clean present
* %doc files do not affect runtime
* verify the final provides and requires of the binary RPMs
$ rpm -q -R -p rpmbuild/RPMS/noarch/bodhi-client-0.2.0-1.fc7.noarch.rpm
/usr/bin/python
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
$ rpm -q -R -p rpmbuild/RPMS/noarch/bodhi-server-0.2.0-1.fc7.noarch.rpm
/usr/bin/python
TurboGears
createrepo
intltool
mash
python(abi) = 2.5
python-TurboMail
rpmlib(CompressedFileNames) <= 3.0.4-1
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
yum-utils
$ rpm -q --provides -p rpmbuild/RPMS/noarch/bodhi-client-0.2.0-1.fc7.noarch.rpm
bodhi-client = 0.2.0-1.fc7
$ rpm -q --provides -p rpmbuild/RPMS/noarch/bodhi-server-0.2.0-1.fc7.noarch.rpm
bodhi-server = 0.2.0-1.fc7
* run rpmlint on the binary RPMs
- see previous bug comments
SHOULD:
x 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
when installing the bodhi-server packages everything goes into ?python_sitelib/bodhi is this the right way to do it ?? the bodhi/static should go into /usr/share/bodhi/static and bodhi/config should go into /etc/bodhi ( and maybe add some example cfg files) start-bodhi dev.cfg, should start bodhi and look for dev.cfg in /etc/bodhi/, ~/.bodhi/ or in current dir. the bodhi/tests should be exclude in the server package, unit tests don't make much sense in the binary packages (IMHO). the bodhi tools should goto the /usr/share/bodhi or be excluded from the server package is not needed. You might want to look at these pages: https://fedoraproject.org/wiki/PackagingDrafts/TGApps http://www.advogato.org/person/badger/diary/46.html They're non-binding at this point.. Just some things that I thought about and arrived at when packaging the pkgdb. (In reply to comment #8) > You might want to look at these pages: > > https://fedoraproject.org/wiki/PackagingDrafts/TGApps > http://www.advogato.org/person/badger/diary/46.html > > They're non-binding at this point.. Just some things that I thought about and > arrived at when packaging the pkgdb. Looks very good to me, it makes it looks much better than all the code located under python site libs. http://lmacken.fedorapeople.org/rpms/bodhi-0.3.2-1.fc8.src.rpm http://lmacken.fedorapeople.org/rpms/bodhi.spec • Added COPYING file • bodhi-server now installs to /usr/share/bodhi • configuration lives in /etc/bodhi.cfg • unittests are no longer included • Requires: yum-utils >= 1.1.7 X. Could not rebuild the srpm on a system without TurboGear installed (used by
setup.py) so TurboGear should be a BuildRequires.
X. Rpmlint is not silent
rpmbuild/RPMS/noarch/bodhi-server-0.3.2-1.fc8.noarch.rpm
TurboGearrpmbuild/RPMS/noarch/bodhi-server-0.3.2-1.fc8.noarch.rpm
[tim@localhost ~]$ rpmlint rpmbuild/RPMS/noarch/bodhi-server-0.3.2-1.fc8.noarch.rpm
bodhi-server.noarch: E: non-executable-script
/usr/share/bodhi/bodhi/tools/dev_init.py 0644
bodhi-server.noarch: E: non-executable-script
/usr/share/bodhi/bodhi/tools/test-bodhi.py 0644
bodhi-server.noarch: E: non-executable-script
/usr/share/bodhi/bodhi/tools/pickledb.py 0644
bodhi-server.noarch: E: non-executable-script
/usr/share/bodhi/bodhi/tools/bodhi-client.py 0644
bodhi-server.noarch: E: non-executable-script
/usr/share/bodhi/bodhi/tools/init.py 0644
can be fixed by adding
chmod +x $RPM_BUILD_ROOT/%{_datadir}/%{name}/bodhi/tools/*.py
to %install
* rpmlint silent on SRPM & bodhi-client.
If these issues are fixed, i will approve it.
http://lmacken.fedorapeople.org/rpms/bodhi-0.3.2-2.fc8.src.rpm http://lmacken.fedorapeople.org/rpms/bodhi.spec * Thu Oct 18 2007 Luke Macken <lmacken> - 0.3.2-2 - Add TurboGears to BuildRequires - Make some scripts executable to silence rpmlint Looks good. * rpmlint silent APPROVED. New Package CVS Request ======================= Package Name: bodhi Short Description: A modular framework that facilitates publishing software updates Owners: lmacken Branches: EL-5 FC-6 F-7 F-8 InitialCC: toshio, timlau Cvsextras Commits: yes cvs done. Imported into cvs. I'm going to do some testing and make sure the client actually works with our production instance before I build. Thanks! |