Spec URL: http://fedorapeople.org/~bnemec/dib-utils.spec SRPM URL: http://fedorapeople.org/~bnemec/dib-utils-0.0.1-1.fc20.src.rpm Description: Pieces of diskimage-builder that are useful standalone Fedora Account System Username: bnemec This package is intended to reflect an upcoming change in the upstream project (as seen in https://review.openstack.org/#/c/90281/ ), but because we need a split version of diskimage-builder for inclusion in the Fedora cloud image we don't have time to wait for the upstream change to go through. Adding this as a separate package now should address the immediate needs and allow for an easy transition to the new upstream repo when it becomes available.
- Package looks good, my only remarks are: * Unqualified use of Conflicts * Doesn't package the latest upstream version * Query re the package versioning wrt the upstream release Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [ ] = Manual review needed ===== MUST items ===== Generic: [x]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: License field in the package spec file matches the actual license. [x]: Package contains no bundled libraries without FPC exception. [x]: Changelog in prescribed format. [x]: Sources contain only permissible code or content. [-]: Package contains desktop file if it is a GUI application. [-]: Development files must be in a -devel package [x]: Package uses nothing in %doc for runtime. [x]: Package consistently uses macros (instead of hard-coded directory names). [x]: Package is named according to the Package Naming Guidelines. [!]: Package does not generate any conflict. It does create a conflict, and the diskimage-builder version which conflicts is not specified: https://fedoraproject.org/wiki/Packaging:Conflicts#Splitting_Packages [x]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [x]: Requires correct, justified where necessary. [x]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [x]: Package is not known to require an ExcludeArch tag. [-]: Large documentation must go in a -doc subpackage. Large could be size (~1MB) or number of files. Note: Documentation size is 20480 bytes in 1 files. [!]: Package complies to the Packaging Guidelines Failed due to conflict mentioned above [x]: Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [x]: Package installs properly. [x]: Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: 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 is included in %doc. [x]: Package requires other packages for directories it uses. [x]: Package must own all directories that it creates. [x]: Package does not own files or directories owned by other packages. [x]: All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT [x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. [x]: Macros in Summary, %description expandable at SRPM build time. [x]: Package does not contain duplicates in %files. [x]: Permissions on files are set properly. [x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't work. [x]: Package is named using only allowed ASCII characters. [x]: Package do not use a name that already exist [x]: Package is not relocatable. [x]: Sources used to build the package match the upstream source, as provided in the spec URL. [x]: Spec file name must match the spec package %{name}, in the format %{name}.spec. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. [x]: Final provides and requires are sane (see attachments). [?]: Package functions as described. I built and installed it, but have not been able to test the script itself [!]: Latest version is packaged. diskimage-builder-0.1.13 is in the SRPM but 0.1.14 has been released upstream Also query re the package versioning - is it intended that this no longer aligns with the DiB package numbering due to the split? [x]: Package does not include license text files separate from upstream. [-]: Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [?]: Package should compile and build into binary rpms on all supported architectures. Tested on x86_64, it's only a shell script so no issues expected [-]: %check is present and all tests pass. [-]: Packages should try to preserve timestamps of original installed files. [x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file [x]: Sources can be downloaded from URI in Source: tag [x]: Reviewer should test that the package builds in mock. [x]: Buildroot is not present [x]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) [x]: Dist tag is present (not strictly required in GL). [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: SourceX is a working URL. [x]: Spec use %global instead of %define unless justified. ===== EXTRA items ===== Generic: [x]: Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: dib-utils-0.0.1-1.fc20.noarch.rpm dib-utils-0.0.1-1.fc20.src.rpm dib-utils.noarch: W: spelling-error Summary(en_US) diskimage -> disk image, disk-image, disparage dib-utils.noarch: W: spelling-error %description -l en_US diskimage -> disk image, disk-image, disparage dib-utils.noarch: W: no-manual-page-for-binary dib-run-parts dib-utils.src: W: spelling-error Summary(en_US) diskimage -> disk image, disk-image, disparage dib-utils.src: W: spelling-error %description -l en_US diskimage -> disk image, disk-image, disparage dib-utils.src: W: no-%build-section 2 packages and 0 specfiles checked; 0 errors, 6 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint dib-utils dib-utils.noarch: W: spelling-error Summary(en_US) diskimage -> disk image, disk-image, disparage dib-utils.noarch: W: spelling-error %description -l en_US diskimage -> disk image, disk-image, disparage dib-utils.noarch: W: no-manual-page-for-binary dib-run-parts 1 packages and 0 specfiles checked; 0 errors, 3 warnings. # echo 'rpmlint-done:' Requires -------- dib-utils (rpmlib, GLIBC filtered): /bin/bash Provides -------- dib-utils: dib-utils Source checksums ---------------- http://tarballs.openstack.org/diskimage-builder/diskimage-builder-0.1.13.tar.gz : CHECKSUM(SHA256) this package : e2b510a2ac3db108e011bbb11d08981435fdd2ca34e6855eaa349e63cbc292e0 CHECKSUM(SHA256) upstream package : e2b510a2ac3db108e011bbb11d08981435fdd2ca34e6855eaa349e63cbc292e0 Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13 Command line :/usr/bin/fedora-review -b 1092149 Buildroot used: fedora-20-x86_64 Active plugins: Generic, Shell-api Disabled plugins: Java, C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG
Initial review completed, minor issues spotted so waiting on comment from reporter before proceeding.
Thanks for the review. Some responses: * I will bump the diskimage-builder version used. I just didn't realize .14 was released yet. * I don't know what upstream will do with the versioning on this new project/package, so I figured I would start at 0.0.1 and if they decide to match diskimage-builder then I can always bump the rpm version too. If I start at 0.1.14 and they decide to go with 0.0.1 I think that would be a problem. * There's a bit of a timing issue with version capping the conflict, at least until I know which release of diskimage-builder is going to have dib-run-parts removed. I could remove dib-run-parts in the diskimage-builder spec, but then diskimage-builder would have a dependency on this package, so this has to be available before any package of diskimage-builder that doesn't include dib-run-parts. It's doable, but possibly more complicated since this is a new package? So I guess it would be a little simpler to wait and resolve the conflict once the upstream split happens, but I think I could do it now too if that would be preferable. I'm not sure how big a deal the unversioned conflict is.
(In reply to Ben Nemec from comment #3) > Thanks for the review. Some responses: > > * I will bump the diskimage-builder version used. I just didn't realize .14 > was released yet. > yup should be an easy adjustment > * I don't know what upstream will do with the versioning on this new > project/package, so I figured I would start at 0.0.1 and if they decide to > match diskimage-builder then I can always bump the rpm version too. If I > start at 0.1.14 and they decide to go with 0.0.1 I think that would be a > problem. > Set Version field to 0.0.0 so upgrades work (if 0.0.1 is the first release, an upgrade will correctly upgrade - if you start with 0.0.1 yum won't upgrade as expected). > * There's a bit of a timing issue with version capping the conflict, at > least until I know which release of diskimage-builder is going to have > dib-run-parts removed. I could remove dib-run-parts in the > diskimage-builder spec, but then diskimage-builder would have a dependency > on this package, so this has to be available before any package of > diskimage-builder that doesn't include dib-run-parts. It's doable, but > possibly more complicated since this is a new package? release both dib and dib-utils together both as a combined update - and update the dib-run-parts to indicate the current version is a conflict. Use the release field as part of the version conflict. I suspect this should work. > > So I guess it would be a little simpler to wait and resolve the conflict > once the upstream split happens, but I think I could do it now too if that > would be preferable. I'm not sure how big a deal the unversioned conflict > is. Yes please resolve the conflict before the upstream split happens - ideally need to get this resolved before May 2nd (this Friday). I believe my suggested approach should work - if you run into trouble let the reviewer know. Regards, -steve
Just a note, when your ready with new spec files and srpms, please post them as a new comment to signal to shardy to re-review the package.
Okay, I've updated the spec and srpm: http://fedorapeople.org/~bnemec/dib-utils-0.0.0-1.fc20.src.rpm http://fedorapeople.org/~bnemec/dib-utils.spec I believe that should address the comments so far. I also have a spec update for the diskimage-builder version referenced in the conflicts, but since it removes dib-run-parts it needs to wait for this to be available or diskimage-builder will be broken. That shouldn't be a problem though since the current diskimage-builder rpm works fine, it just can't be installed with dib-utils. Once dib-utils goes in I'll push the diskimage-builder update. os-refresh-config will also need a dep added on this new package.
For anyone interested in testing the split package, the diskimage-builder-0.1.15 build is available here: http://koji.fedoraproject.org/koji/taskinfo?taskID=6804123
My review comments have all been addressed, thanks! Setting fedora-review +.
New Package SCM Request ======================= Package Name: dib-utils Short Description: Pieces of diskimage-builder that are useful standalone Owners: bnemec slagle Branches: f20 el6 epel7 InitialCC:
Git done (by process-git-requests).
This has been done for a long time now.