Bug 551411

Summary: Review Request: olpc-os-builder - OLPC OS image build utility
Product: [Fedora] Fedora Reporter: Daniel Drake <dsd>
Component: Package ReviewAssignee: Peter Robinson <pbrobinson>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: abo, fedora-package-review, notting, pbrobinson, tcallawa
Target Milestone: ---Flags: pbrobinson: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: olpc-os-builder-3.0.0-0.2.pre2.fc14 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-04-07 18:53:16 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 Daniel Drake 2009-12-30 14:52:57 UTC
Spec URL: http://dev.laptop.org/~dsd/20091230/olpc-os-builder.spec
SRPM URL: http://dev.laptop.org/~dsd/20091230/olpc-os-builder-1.0.0-1.fc11.src.rpm
Description:

This is a new OLPC build tool which is being used by OLPC to build future OLPC OS releases (based on Fedora).
We'd like to make this tool easily accessible to our customers, who often want to tweak and customize the OS images. Having it available in the Fedora package database would meet these goals of making it easily accessible, meaning that an OLPC OS image can be remastered with 2 commands (yum install olpc-os-builder, followed by an olpc-os-builder invocation).

It is built around Fedora's image-creator infrastructure also used to build official Fedora releases, and glues in various parts of the OLPC ecosystem in order to produce the resultant XO-compatible software image.

Comment 1 Alexander Boström 2010-01-03 19:14:18 UTC
The license text is in the tarball but not packaged. Might as well add the readmes as well. So add "%doc COPYING doc/README doc/README.devel".

Comment 2 Daniel Drake 2010-01-03 19:37:12 UTC
Thanks for reviewing. All those files are already part of the package, installed through the makefile. Is an explicit %doc required too?

Comment 3 Alexander Boström 2010-01-03 23:24:50 UTC
Yes, using %doc is required for the license text (though not for the other documentation as far as I can tell):

https://fedoraproject.org/wiki/Packaging:LicensingGuidelines#License_Text

Presumably the justification is to make sure it's marked as documentation in the RPM metadata, which seems like good thing to do for the readme files as well.

Just rm the files at the end %install and use %doc instead.

Comment 4 Daniel Drake 2010-01-04 13:23:56 UTC
It's not quite that easy %doc has the side effect of wiping out the whole of /usr/share/doc/pkgname-ver

so instead I'll just move the docs aside and install them all through %doc

http://dev.laptop.org/~dsd/20100104/olpc-os-builder-1.0.0-1.fc11.src.rpm
http://dev.laptop.org/~dsd/20100104/olpc-os-builder.spec

Thanks for your help!

Comment 5 Peter Robinson 2010-01-06 20:19:29 UTC
adding a blocker on fe-legal

spot, this package references 3rd party repos. They are laptop.org related repos. Can you confirm whether this is allowed in a mainline fedora package?

Comment 6 Peter Robinson 2010-01-06 20:22:22 UTC
To confirm, I'm referring to this
http://dev.laptop.org/git/projects/olpc-os-builder/tree/modules/repos/ksmain.50.repos.py

Comment 7 Tom "spot" Callaway 2010-01-08 16:03:07 UTC
This should not be a problem, as I do not see anything in those repos which are legally questionable. Lifting FE-Legal.

Comment 9 Peter Robinson 2011-01-23 15:26:14 UTC
All looks fine. A few minor things that you might want to consider:
- spelling note in rpmlint as customizations doesn't need the s
- CFLAGS="$RPM_OPT_FLAGS" is superfluous as its automatically added by the rpmbuild process
- A man page would be a nice additions.

+ rpmlint output

$ rpmlint olpc-os-builder.spec olpc-os-builder-3.0.0-0.1.pre1.fc15.src.rpm olpc-os-builder-3.0.0-0.1.pre1.fc15.x86_64.rpm
olpc-os-builder.src: W: spelling-error %description -l en_US customizations -> customization, customization's, customization s
olpc-os-builder.x86_64: W: spelling-error %description -l en_US customizations -> customization, customization's, customization s
olpc-os-builder.x86_64: W: no-manual-page-for-binary olpc-os-builder
2 packages and 1 specfiles checked; 0 errors, 3 warnings.

+ package name satisfies the packaging naming guidelines
+ specfile name matches the package base name
+ package should satisfy packaging guidelines
+ license meets guidelines and is acceptable to Fedora
+ license matches the actual package license
+ latest version packaged
+ %doc includes license file
+ spec file written in American English
+ spec file is legible
+ upstream sources match sources in the srpm
  c03c72996bb1ea5faadc7d4bb7cc7f8d  olpc-os-builder-3.0.0_pre1.tar.bz2
+ package successfully builds on at least one architecture
  tested using koji scratch build
+ BuildRequires list all build dependencies
n/a %find_lang instead of %{_datadir}/locale/*
n/a binary RPM with shared library files must call ldconfig in %post and %postun+ does not use Prefix: /usr
n/a package owns all directories it creates
n/a no duplicate files in %files
+ Package perserves timestamps on install
+ Permissions on files must be set properly 
+ %defattr line
+ consistent use of macros
+ package must contain code or permissible content
n/a large documentation files should go in -doc subpackage
+ files marked %doc should not affect package runtime 
n/a header files should be in -devel
n/a static libraries should be in -static
n/a packages containing pkgconfig (.pc) files need 'Requires: pkgconfig'
n/a libfoo.so must go in -devel
n/a devel must require the fully versioned base
+ packages should not contain libtool .la files
n/a packages containing GUI apps must include %{name}.desktop file
+ packages must not own files or directories owned by other packages
+ filenames must be valid UTF-8

Optional:

+ if there is no license file, packager should query upstream to include it
n/a translations of description and summary for non-English languages, if
available
+ reviewer should build the package in mock/koji
n/a the package should build into binary RPMs on all supported architectures
n/a review should test the package functions as described
+ scriptlets should be sane
n/a non -devel packages should require fully versioned base
n/a pkgconfig files should go in -devel
+ shouldn't have file dependencies outside /etc /bin /sbin /usr/bin or
/usr/sbin
- Package should have man files

APPROVED!

Comment 10 Daniel Drake 2011-01-24 17:47:33 UTC
Thanks Peter.

New Package SCM Request
=======================
Package Name: olpc-os-builder
Short Description: A development tool to build and customize OLPC OS images
Owners: dsd pbrobinson cjb
Branches: rawhide F-14
InitialCC:

Comment 11 Jason Tibbitts 2011-01-24 21:46:29 UTC
There's no such branch as "rawhide".  Otherwise, 

Git done (by process-git-requests).

Comment 12 Fedora Update System 2011-01-27 00:37:59 UTC
olpc-os-builder-3.0.0-0.2.pre2.fc14 has been submitted as an update for Fedora 14.
https://admin.fedoraproject.org/updates/olpc-os-builder-3.0.0-0.2.pre2.fc14

Comment 13 Fedora Update System 2011-01-27 20:55:38 UTC
olpc-os-builder-3.0.0-0.2.pre2.fc14 has been pushed to the Fedora 14 testing repository.  If problems still persist, please make note of it in this bug report.
 If you want to test the update, you can install it with 
 su -c 'yum --enablerepo=updates-testing update olpc-os-builder'.  You can provide feedback for this update here: https://admin.fedoraproject.org/updates/olpc-os-builder-3.0.0-0.2.pre2.fc14

Comment 14 Fedora Update System 2011-04-07 18:53:09 UTC
olpc-os-builder-3.0.0-0.2.pre2.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.