[Bug 507089] Review Request: olpc-powerd - power management for the XO laptop

bugzilla at redhat.com bugzilla at redhat.com
Thu Jul 16 23:16:43 UTC 2009


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug.


https://bugzilla.redhat.com/show_bug.cgi?id=507089





--- Comment #3 from Christoph Wickert <fedora at christoph-wickert.de>  2009-07-16 19:16:42 EDT ---
Sorry it took so long, but the scriptlets really caused me some headache...

(In reply to comment #1)

> i'm aware that the post-install hook that disables ohmd is almost certainly not
> acceptable.  ohmd and olpc-powerd cannot run at the same time, though they can
> co-exist otherwise.  

It's definitely not according to the guidelines, see
https://fedoraproject.org/wiki/Packaging/SysVInitScript#Why_don.27t_we....

But as ohmd is olpc specific and not in Fedora IMO we can make an exception
here.


REVIEW FOR 55f351e35ee8dbb622c4565a8a7b1412  olpc-powerd-7-1.src.rpm


FIX - MUST: rpmlint must be run on every package. The output should be posted
in the review:
$ rpmlint Desktop/olpc-powerd-*
olpc-powerd.i586: W: incoherent-version-in-changelog 6-2 ['7-1.fc11', '7-1']
  => See https://fedoraproject.org/wiki/Packaging/Guidelines#Changelogs
olpc-powerd.i586: W: devel-file-in-non-devel-package /usr/bin/powerd-config
  => false positive, see https://bugzilla.redhat.com/show_bug.cgi?id=468987#c1
olpc-powerd.i586: W: dangerous-command-in-%preun rm
  => that's /var/run/powerevents, save to igonore.

OK - MUST: The package is named according to the Package Naming Guidelines.
OK - MUST: The spec file name matches the base package %{name}, in the format
%{name}.spec.
OK - MUST: The package meets the Packaging Guidelines.
OK - MUST: The package is licensed with a Fedora approved license and meets the
Licensing Guidelines: GPLv2+
OK - MUST: The License field in the package spec file matches the actual
license.
FIX - MUST: The license file from the source package is included in %doc, but
it's LGPLv2.1
OK - MUST: The spec file is in American English.
OK - MUST: The spec file for the package is legible.
N/A - MUST: The sources used to build the package match the upstream source by
MD5 (Git checkout)
OK - MUST: The package successfully compiles and builds into binary rpms on
%{ix86}
N/A - 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.
OK - MUST: All build dependencies are listed in BuildRequires.
N/A - MUST: The spec file handles locales properly with the %find_lang macro.
N/A - 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: 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.
OK - MUST: The package owns all directories that it creates.
FIX - MUST: The package contains duplicate files in the %files listing:

warning: File listed twice: /etc/event.d/olpc-switchd
warning: File listed twice: /etc/event.d/powerd
warning: File listed twice: /etc/powerd/pleaseconfirm.pgm
warning: File listed twice: /etc/powerd/powerd.conf
warning: File listed twice: /etc/powerd/shuttingdown.pgm

OK - MUST: Permissions on files are set properly. Every %files section includes
a %defattr(...) line.
OK - MUST: The package has a %clean section, which contains rm -rf
$RPM_BUILD_ROOT.
OK - MUST: The package consistently uses macros, as described in the macros
section of Packaging Guidelines.
OK - MUST: The package contains code, or permissable content.
N/A - MUST: Large documentation files should go in a -doc subpackage.
OK - MUST: Files included as %doc do not affect the runtime of the application.
N/A - 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: Requires: %{name} =
%{version}-%{release}
OK - MUST: The package does not contain any .la libtool archives.
N/A - MUST: Packages containing GUI applications must include a %{name}.desktop
file.
OK - MUST: The packages does not own files or directories already owned by
other packages.
OK - MUST: At the beginning of %install, the package runs rm -rf
$RPM_BUILD_ROOT.
OK - MUST: All filenames in rpm packages are valid UTF-8.



SHOULD Items:
N/A - SHOULD: If the source package does not include license text(s) as a
separate file from upstream, the packager SHOULD query upstream to include it.
N/A - SHOULD: The description and summary sections in the package spec file
should contain translations for supported Non-English languages, if available.
OK - SHOULD: The the package builds in mock.
OK - SHOULD: The package should compile and build into binary rpms on all
supported architectures.
OK - SHOULD: The package functions as described.
FIX - SHOULD: If scriptlets are used, those scriptlets must be sane.
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.
OK - SHOULD: No file dependencies outside of /etc, /bin, /sbin, /usr/bin, or
/usr/sbin.


Other items:
OK - latest version packaged
OK - RPM_OPT_FLAGS honored
OK - Timestamps are preserverd


Issues: 

- Scriptlets: 
%preun
initctl stop olpc-switchd
initctl stop powerd
rm -f /var/run/powerevents

The rest could also be done in %postun

if test -e /etc/init.d/ohmd
then
    /etc/init.d/ohmd start
    chkconfig ohmd on
fi


- scriptlets should run silent. Add ||: at the end of the last command, so the
scripts will always return 0. If they return 1, rpm will abort the transaction.

- Use conditionals for the scriptlets, see
https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Syntax
https://fedoraproject.org/wiki/Packaging/SysVInitScript#Initscript_packaging


- License: Source says it's GPLv2+, but COPYING is LGPLv2.1

-- 
Configure bugmail: https://bugzilla.redhat.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.




More information about the Fedora-package-review mailing list