Spec URL: http://fedorapeople.org/~cweyl/review/perl-Context-Preserve.spec SRPM URL: http://fedorapeople.org/~cweyl/review/perl-Context-Preserve-0.01-1.fc12.src.rpm Description: Sometimes you need to call a function, get the results, act on the results, then return the result of the function. This is painful because of contexts; the original function can behave different if it's called in void, scalar, or list context. You can ignore the various cases and just pick one, but that's fragile. To do things right, you need to see which case you're being called in, and then call the function in that context. This results in 3 code paths, which is a pain to type in (and maintain). This module automates the process. You provide a coderef that is the "original function", and another coderef to run after the original runs. You can modify the return value (aliased to @_) here, and do whatever else you need to do. 'wantarray' is correct inside both coderefs; in "after", though, the return value is ignored and the value 'wantarray' returns is related to the context that the original function was called in. Koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=2032334 Additional Comment: This is a new mandatory dependency of the latest GA DBIx::Class (0.08120). *rt-0.10_01
- = N/A x = Check ! = Problem ? = Not evaluated === REQUIRED ITEMS === [x] Package is named according to the Package Naming Guidelines. [x] Spec file name must match the base package %{name}, in the format %{name}.spec. [x] Package meets the Packaging Guidelines including the Perl specific items [x] Package successfully compiles and builds into binary rpms on at least one supported architecture. Tested on: dist-f14 http://koji.fedoraproject.org/koji/taskinfo?taskID=2051608 [x] Rpmlint output: perl-Context-Preserve.src: W: spelling-error %description -l en_US coderef -> code ref, code-ref, coder perl-Context-Preserve.src: W: spelling-error %description -l en_US wantarray -> want array, want-array, warranty perl-Context-Preserve.src: W: spelling-error %description -l en_US coderefs -> code refs, code-refs, coder perl-Context-Preserve.noarch: W: spelling-error %description -l en_US coderef -> code ref, code-ref, coder perl-Context-Preserve.noarch: W: spelling-error %description -l en_US wantarray -> want array, want-array, warranty perl-Context-Preserve.noarch: W: spelling-error %description -l en_US coderefs -> code refs, code-refs, coder perl-Context-Preserve.noarch: E: zero-length /usr/share/doc/perl-Context-Preserve-0.01/README 2 packages and 1 specfiles checked; 1 errors, 6 warnings. Chris, please remove the README from the %files section until there's something in it. [x] Package is not relocatable. [x] Buildroot is correct %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) [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. License type: GPL+ or Artistic [-] 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] Spec file is legible and written in American English. [x] Sources used to build the package matches the upstream source, as provided in the spec URL. e28c24d9e85d3f7de1c7b9a545ba991a Context-Preserve-0.01.tar.gz [x] Package is not known to require ExcludeArch [x] All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [-] The spec file handles locales properly. [-] ldconfig called in %post and %postun if required. [x] Package must own all directories that it creates. [x] Package requires other packages for directories it uses. [x] Package does not contain duplicates in %files. [x] Permissions on files are set properly. [x] Package has a %clean section, which contains rm -fR $RPM_BUILD_ROOT. [x] Package consistently uses macros. [x] Package contains code, or permissable content. [-] Large documentation files are in a -doc subpackage, if required. [-] Package uses nothing in %doc for runtime. [-] Header files in -devel subpackage, if present. [-] Static libraries in -devel subpackage, if present. [-] Package requires pkgconfig, if .pc files are present. [-] Development .so files in -devel subpackage, if present. [-] Fully versioned dependency in subpackages, if present. [-] Package does not contain any libtool archives (.la). [-] Package contains a properly installed %{name}.desktop file if it is a GUI application. [x] Package does not own files or directories owned by other packages. === SUGGESTED ITEMS === [x] Latest version is packaged. [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. [x] Reviewer should test that the package builds in mock. Tested on: rawhide.x86_64 [x] Package should compile and build into binary rpms on all supported architectures. Tested on: rawhide.x86_64 [?] Package functions as described. [-] Scriptlets must be sane, if used. [-] The placement of pkgconfig(.pc) files is correct. [-] File based requires are sane. [x] %check is present and the tests pass All tests successful. Files=2, Tests=13, 0 wallclock secs ( 0.02 usr 0.01 sys + 0.04 cusr 0.00 csys = 0.07 CPU) Result: PASS APPROVED.
New Package CVS Request ======================= Package Name: perl-Context-Preserve Short Description: Run code after a subroutine call, preserving context Owners: cweyl Branches: F-11 F-12 F-13 devel InitialCC: perl-sig
CVS done (by process-cvs-requests.py).
Thanks for the review! :-)
Package Change Request ====================== Package Name: perl-Context-Preserve New Branches: el6 Owners: iarnell tremble
Git done (by process-git-requests).