Bug 554090
Summary: | Review Request: sugar-physics - A physical world simulator and playground for Sugar | ||
---|---|---|---|
Product: | [Fedora] Fedora | Reporter: | Sebastian Dziallas <sebastian> |
Component: | Package Review | Assignee: | Eric Smith <spacewar> |
Status: | CLOSED ERRATA | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
Severity: | medium | Docs Contact: | |
Priority: | medium | ||
Version: | rawhide | CC: | fedora-package-review, notting, spacewar, susi.lehtola |
Target Milestone: | --- | Flags: | spacewar:
fedora-review+
kevin: fedora-cvs+ |
Target Release: | --- | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Fixed In Version: | 3-3.fc11 | Doc Type: | Bug Fix |
Doc Text: | Story Points: | --- | |
Clone Of: | Environment: | ||
Last Closed: | 2010-02-02 20:39:13 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: | 554088, 554089 | ||
Bug Blocks: | 462625, 558617 |
Description
Sebastian Dziallas
2010-01-10 12:26:36 UTC
I'm not yet sponsored as a packager, but here's an unofficial review: The Require: tag is no longer necessary, or allowed. rpmlint output: sugar-physics.spec:6: W: non-standard-group Sugar/Activities sugar-physics.noarch: W: non-standard-group Sugar/Activities 1 packages and 1 specfiles checked; 0 errors, 2 warnings. I'm fairly sure I remember seeing a requirement that the Group: tag come from the official list in /usr/share/doc/rpm-*/GROUPS, but I can't find that in the packaging guidellines now, and the Sugar packaging guidelines use Sugar/Activities just as you have, so I guess that's allowed. source tarball verified against upstream compiles and builds on F12 x86_64 and i386 using mock I attempted to verify minimal functionality using sugar-emulator. When I start the physics activity, I get a pulsating logo, but nothing else seems to happen for quite a while, then it dumps me back to the activity list. It's entirely possible that I'm doing something wrong. Thanks for taking on this one! :) (In reply to comment #1) > I'm not yet sponsored as a packager, but here's an unofficial review: > > The Require: tag is no longer necessary, or allowed. Well, since this is a Python package we still need to use the Requires tag, as the dependencies don't get added here automagically. > rpmlint output: > sugar-physics.spec:6: W: non-standard-group Sugar/Activities > sugar-physics.noarch: W: non-standard-group Sugar/Activities > 1 packages and 1 specfiles checked; 0 errors, 2 warnings. > > I'm fairly sure I remember seeing a requirement that the Group: tag come from > the official list in /usr/share/doc/rpm-*/GROUPS, but I can't find that in the > packaging guidellines now, and the Sugar packaging guidelines use > Sugar/Activities just as you have, so I guess that's allowed. Yes, this is common practice among the Sugar Activity packages and in the guidelines here: http://fedoraproject.org/wiki/Packaging:SugarActivityGuidelines#Sample_SPEC > source tarball verified against upstream > compiles and builds on F12 x86_64 and i386 using mock > > I attempted to verify minimal functionality using sugar-emulator. When I start > the physics activity, I get a pulsating logo, but nothing else seems to happen > for quite a while, then it dumps me back to the activity list. It's entirely > possible that I'm doing something wrong. Oh yeah, I see. Looks like I'm missing another requirement (I had it already installed when giving it some initial testing). After installing python-olpcgames, you should be good to go. I'll add it to the next release bump. It does work for me with that requirement added. I can now do a formal review if you provide the updated SPEC and SRPM. (In reply to comment #2) > (In reply to comment #1) > > I'm fairly sure I remember seeing a requirement that the Group: tag come from > > the official list in /usr/share/doc/rpm-*/GROUPS, but I can't find that in the > > packaging guidellines now, and the Sugar packaging guidelines use > > Sugar/Activities just as you have, so I guess that's allowed. That statement is in the Creating Packages HOWTO. I don't think that there is an official guideline about this. Since the Group: tag doesn't have much meaning anymore as comps are used in package selection, instead, you really should use standard RPM groups, as you will get unnecessary rpmlint warnings if you don't... Alright, I've updated the .spec and .srpm. Spec URL: http://sdz.fedorapeople.org/rpmbuild/sugar-physics.spec SRPM URL: http://sdz.fedorapeople.org/rpmbuild/sugar-physics-3-2.fc12.src.rpm rpmlint output: sugar-physics.spec:6: W: non-standard-group Sugar/Activities sugar-physics.noarch: W: non-standard-group Sugar/Activities Since the Fedora Packaging:SugarActivityGuidelines specifically use the group Sugar/Activities in the sample spec, the rpmlint warnings are not a problem. Ideally Sugar/Activities would get added to the official group list. MUST: The package must be named according to the Package Naming Guidelines. OK MUST: The spec file for the package is legible and macros are used consistently. OK MUST: The package must be licensed with a Fedora approved license and meet the Licensing Guidelines. OK MUST: The License field in the package spec file must match the actual license. OK MUST: 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 must be included in %doc. OK MUST: The spec file must be written in American English. OK MUST: The spec file for the package MUST be legible. OK MUST: The sources used to build the package must match the upstream source, as provided in the spec URL. OK MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. OK MUST: If the package does not successfully compile, build or work on an architecture, then those architectures should be listed in the spec in ExcludeArch. N/A MUST: All build dependencies must be listed in BuildRequires, OK MUST: The spec file MUST handle locales properly. OK MUST: Every binary RPM package (or subpackage) which stores shared library files (not just symlinks) in any of the dynamic linker's default paths, must call ldconfig in %post and %postun. N/A MUST: Packages must NOT bundle copies of system libraries. OK MUST: If the package is designed to be relocatable, the packager must state this fact in the request for review, along with the rationalization for relocation of that specific package. Without this, use of Prefix: /usr is considered a blocker. OK MUST: A package must own all directories that it creates. If it does not create a directory that it uses, then it should require a package which does create that directory. OK MUST: A Fedora package must not list a file more than once in the spec file's %files listings. OK MUST: Permissions on files must be set properly. Executables should be set with executable permissions, for example. Every %files section must include a %defattr(...) line. OK MUST: Each package must have a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). OK MUST: Each package must consistently use macros. OK MUST: The package must contain code, or permissable content. OK MUST: Large documentation files must go in a -doc subpackage. N/A MUST: If a package includes something as %doc, it must not affect the runtime of the application. OK MUST: Header files must be in a -devel package. N/A MUST: Static libraries must be in a -static package. N/A MUST: Packages containing pkgconfig(.pc) files must 'Requires: pkgconfig' N/A MUST: If a package contains library files with a suffix (e.g. libfoo.so.1.1), then library files that end in .so (without suffix) must go in a -devel package. N/A MUST: In the vast majority of cases, devel packages must require the base package using a fully versioned dependency N/A MUST: Packages must NOT contain any .la libtool archives, these must be removed in the spec if they are built. N/A MUST: Packages containing GUI applications must include a %{name}.desktop file, and that file must be properly installed with desktop-file-install in the %install section N/A MUST: Packages must not own files or directories already owned by other packages. OK MUST: At the beginning of %install, each package MUST run rm -rf %{buildroot} (or $RPM_BUILD_ROOT). OK MUST: All filenames in rpm packages must be valid UTF-8. OK SHOULD: If the package does not include license text(s) as separate files from upstream, the packager should query upstream to include it. NEEDSWORK SHOULD: The description and summary sections in the package spec file should contain translations for supported Non-English languages, if available. NEEDSWORK I'm not sure whether suitable translations are available, but based on the inclusion of message translations in the package, it seems like they might be. SHOULD: The package builds in mock. OK SHOULD: The reviewer should test that the package functions as described. A package should not segfault instead of running, for example. OK SHOULD: If scriptlets are used, those scriptlets must be sane. This is vague, and left up to the reviewers judgement to determine sanity. N/A SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency. N/A SHOULD: The placement of pkgconfig(.pc) files depends on their usecase, and this is usually for development purposes, so should be placed in a -devel pkg. A reasonable exception is that the main pkg itself is a devel tool not installed in a user runtime, e.g. gcc or gdb. N/A SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin consider requiring the package which provides the file instead of the file itself. N/A SHOULD: your package should contain man pages for binaries/scripts. If it doesn't, work with upstream to add them where they make sense. N/A Review summary: The only NEEDSWORK items are two SHOULD items, to request that upstream include the GPLv3 license text in a file in the source distribution, and to include translated description and summary sections if available. Thanks for the review! Since those are only "should" items, could you approve the package and / or set the review flag? I can file a ticket with upstream to include the license text in the next release. Also, I haven't found translated summaries and descriptions. This package is APPROVED You can continue by requesting the CVS branches. New Package CVS Request ======================= Package Name: sugar-physics Short Description: A physical world simulator and playground for Sugar Owners: sdz Branches: F-11 F-12 Awesome stuff, thanks! I filed a ticket with upstream for a license file: http://bugs.sugarlabs.org/ticket/1695 CVS done (by process-cvs-requests.py). sugar-physics-3-3.fc11 has been submitted as an update for Fedora 11. http://admin.fedoraproject.org/updates/sugar-physics-3-3.fc11 sugar-physics-3-3.fc12 has been submitted as an update for Fedora 12. http://admin.fedoraproject.org/updates/sugar-physics-3-3.fc12 sugar-physics-3-3.fc12 has been pushed to the Fedora 12 stable repository. If problems still persist, please make note of it in this bug report. sugar-physics-3-3.fc11 has been pushed to the Fedora 11 stable repository. If problems still persist, please make note of it in this bug report. This package should BR: python-devel as it builds python stuff. Moreover, the license is not defined in all of the source files (only physics.py contains a license statement), and there is no global license statement. I wouldn't have passed the package as is without upstream releasing a new tarball that either adds license headers in the source code, or includes a COPYING (or README) stating that all the files are GPLv3 (or both). Darn, I thought I'd checked everything, but I missed that. Sebastian says he's already requested inclusion of a license file. I just ifled a ticket asking for that and for copyright & license headers in the other source files: http://dev.laptop.org/ticket/10011 Normally you just need to run $ licensecheck -r foo-1.2.3/ (licensecheck is in rpmdevtools), but if the licence headers aren't there (or licensecheck doesn't find them correctly) you still have to go through the source manually. And even if you'd think that everything is OK judging from the output of licensecheck, it's still good to go through a couple of files manually to verify that licensecheck has worked correctly. Just a quick heads-up here. I submitted a fixed version to testing, so that this should all be good soon. Thanks all for the help! :) |