Spec URL: http://www.grid.tsl.uu.se/review/globus-gram-job-manager-sge.spec SRPM URL: http://www.grid.tsl.uu.se/review/globus-gram-job-manager-sge-1.0-1.fc16.src.rpm Description: The Globus Toolkit is an open source software toolkit used for building Grid systems and applications. It is being developed by the Globus Alliance and many others all over the world. A growing number of projects and companies are using the Globus Toolkit to unlock the potential of grids for their cause. The globus-gram-job-manager-fork package contains: Grid Engine Job Manager Support Note to reviewers: This review is caused by a rename of the upstream package. This package replaces the globus-gram-job-manager-setup-sge package. Some of the build dependencies for this package are in updates-testing. Buildroot overrides are in place in koji.
Updated package: http://www.grid.tsl.uu.se/review/globus-gram-job-manager-sge.spec http://www.grid.tsl.uu.se/review/globus-gram-job-manager-sge-1.0-2.fc16.src.rpm
Updated package: http://www.grid.tsl.uu.se/review/globus-gram-job-manager-sge.spec http://www.grid.tsl.uu.se/review/globus-gram-job-manager-sge-1.5-1.fc16.src.rpm
I'll take this one.
I will review this package
Package Review ============== Key: - = N/A x = Pass ! = Fail ? = Not evaluated ==== C/C++ ==== [x]: MUST Header files in -devel subpackage, if present. [x]: MUST ldconfig called in %post and %postun if required. [!]: MUST Package does not contain any libtool archives (.la) Note: globus-gram-job-manager-sge-setup-poll-1.5-1.fc17.noarch.rpm : globus-gram-job-manager-sge-setup-poll-1.5-1.fc17.noarch.rpm globus-gram- job-manager-sge-setup-poll-1.5-1.fc17.noarch.rpm : globus-gram-job- manager-sge-debuginfo-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge- setup-poll-1.5-1.fc17.noarch.rpm : globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge-setup- poll-1.5-1.fc17.noarch.rpm : globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge- debuginfo-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge-setup- poll-1.5-1.fc17.noarch.rpm globus-gram-job-manager-sge- debuginfo-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge- debuginfo-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge- debuginfo-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge- debuginfo-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge-setup- poll-1.5-1.fc17.noarch.rpm globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge- debuginfo-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge-setup- poll-1.5-1.fc17.noarch.rpm globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge- debuginfo-1.5-1.fc17.x86_64.rpm globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm [ ]: MUST Package does not contain kernel modules. [ ]: MUST Package contains no static executables. [x]: MUST Rpath absent or only used for internal libs. ==== Generic ==== [x]: EXTRA Rpmlint is run on all installed packages. Note: There are rpmlint messages (see attachment). [x]: EXTRA Spec file according to URL is the same as in SRPM. [ ]: MUST Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. [x]: MUST Package successfully compiles and builds into binary rpms on at least one supported primary architecture. [ ]: MUST %build honors applicable compiler flags or justifies otherwise. [x]: MUST All build dependencies are listed in BuildRequires, except for any that are listed in the exceptions section of Packaging Guidelines. [ ]: MUST Package contains no bundled libraries. [ ]: MUST Changelog in prescribed format. [ ]: MUST Sources contain only permissible code or content. [x]: MUST %config files are marked noreplace or the reason is justified. [!]: MUST Each %files section contains %defattr if rpm < 4.4 Note: defattr(....) present in %files -f package.filelist section. This is OK if packaging for EPEL5. Otherwise not needed [ ]: MUST Macros in Summary, %description expandable at SRPM build time. [ ]: MUST Package contains desktop file if it is a GUI application. [ ]: MUST Development files must be in a -devel package [ ]: MUST Package requires other packages for directories it uses. [ ]: MUST Package uses nothing in %doc for runtime. [ ]: MUST Package is not known to require ExcludeArch. [x]: MUST Permissions on files are set properly. [x]: MUST Package does not contain duplicates in %files. [x]: MUST Fully versioned dependency in subpackages, if present. [ ]: MUST Package complies to the Packaging Guidelines [x]: MUST Spec file lacks Packager, Vendor, PreReq tags. [!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. Note: rm -rf is only needed if supporting EPEL5 [ ]: MUST Large documentation files are in a -doc subpackage, if required. [!]: 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 is included in %doc. [ ]: MUST License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "GPL (v2 or later)" For detailed output of licensecheck see file: /home3/adam/772989-globus-gram-job-manager-sge/licensecheck.txt [ ]: MUST License file installed when any subpackage combination is installed. [ ]: MUST Package consistently uses macro is (instead of hard-coded directory names). [ ]: MUST If the package is under multiple licenses, the licensing breakdown must be documented in the spec. [x]: MUST Package is named using only allowed ascii characters. [ ]: MUST Package is named according to the Package Naming Guidelines. [x]: MUST No %config files under /usr. [ ]: MUST Package does not generate any conflict. Note: Package contains no Conflicts: tag(s) [ ]: MUST Package obeys FHS, except libexecdir and /usr/target. [ ]: MUST If the package is a rename of another package, proper Obsoletes and Provides are present. [ ]: MUST Package must own all directories that it creates. [ ]: MUST Package does not own files or directories owned by other packages. [x]: MUST Package installs properly. [ ]: MUST Package is not relocatable. [ ]: MUST Requires correct, justified where necessary. [x]: MUST Rpmlint is run on all rpms the build produces. Note: There are rpmlint messages (see attachment). [x]: MUST Sources used to build the package match the upstream source, as provided in the spec URL. [ ]: MUST Spec file is legible and written in American English. [x]: MUST Spec file name must match the spec package %{name}, in the format %{name}.spec. [ ]: MUST Package contains systemd file(s) if in need. [x]: MUST File names are valid UTF-8. [ ]: MUST Useful -debuginfo package or justification otherwise. [x]: SHOULD Reviewer should test that the package builds in mock. [!]: SHOULD Buildroot is not present Note: Buildroot is not needed unless packager plans to package for EPEL5 [!]: SHOULD Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: Clean is needed only if supporting EPEL5 [ ]: 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. [x]: SHOULD Dist tag is present. [x]: SHOULD No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [ ]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [ ]: SHOULD Package functions as described. [ ]: SHOULD Latest version is packaged. [ ]: SHOULD Package does not include license text files separate from upstream. [ ]: SHOULD Scriptlets must be sane, if used. [x]: SHOULD SourceX tarball generation or download is documented. [!]: SHOULD SourceX / PatchY prefixed with %{name}. Note: Source8 (GLOBUS-GRAM5) Source0 (globus_gram_job_manager_sge-1.5.tar.gz) [x]: SHOULD SourceX is a working URL. [ ]: SHOULD Description and summary sections in the package spec file contains translations for supported Non-English languages, if available. [ ]: SHOULD Package should compile and build into binary rpms on all supported architectures. [ ]: SHOULD %check is present and all tests pass. [ ]: SHOULD Packages should try to preserve timestamps of original installed files. [x]: SHOULD Spec use %global instead of %define. Issues: [!]: MUST Package does not contain any libtool archives (.la) Note: globus-gram-job-manager-sge-setup-poll-1.5-1.fc17.noarch.rpm : globus-gram-job-manager-sge-setup-poll-1.5-1.fc17.noarch.rpm globus-gram- job-manager-sge-setup-poll-1.5-1.fc17.noarch.rpm : globus-gram-job- manager-sge-debuginfo-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge- setup-poll-1.5-1.fc17.noarch.rpm : globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge-setup- poll-1.5-1.fc17.noarch.rpm : globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge- debuginfo-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge-setup- poll-1.5-1.fc17.noarch.rpm globus-gram-job-manager-sge- debuginfo-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge- debuginfo-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge- debuginfo-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge- debuginfo-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge-setup- poll-1.5-1.fc17.noarch.rpm globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge- debuginfo-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge-setup- poll-1.5-1.fc17.noarch.rpm globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge- debuginfo-1.5-1.fc17.x86_64.rpm globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager-sge-setup- seg-1.5-1.fc17.x86_64.rpm globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm : globus-gram-job-manager- sge-1.5-1.fc17.x86_64.rpm See: http://fedoraproject.org/wiki/Packaging/Guidelines#StaticLibraries [!]: MUST Each %files section contains %defattr if rpm < 4.4 Note: defattr(....) present in %files -f package.filelist section. This is OK if packaging for EPEL5. Otherwise not needed See: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions [!]: MUST Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the beginning of %install. Note: rm -rf is only needed if supporting EPEL5 See: None [!]: 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 is included in %doc. See: http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text Rpmlint ------- Checking: globus-gram-job-manager-sge-setup-seg-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge-debuginfo-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge-setup-poll-1.5-1.fc17.noarch.rpm globus-gram-job-manager-sge-1.5-1.fc17.x86_64.rpm globus-gram-job-manager-sge-1.5-1.fc17.src.rpm globus-gram-job-manager-sge-setup-seg.x86_64: W: shared-lib-calls-exit /usr/lib64/libglobus_seg_sge.so.1.0.5 exit.5 globus-gram-job-manager-sge-setup-seg.x86_64: W: no-documentation globus-gram-job-manager-sge-setup-seg.x86_64: E: zero-length /etc/globus/scheduler-event-generator/available/sge globus-gram-job-manager-sge-setup-poll.noarch: W: no-documentation globus-gram-job-manager-sge.x86_64: W: obsolete-not-provided globus-gram-job-manager-setup-sge-doc globus-gram-job-manager-sge.x86_64: E: no-binary globus-gram-job-manager-sge.src:45: W: unversioned-explicit-provides %{name}-setup globus-gram-job-manager-sge.src:53: W: unversioned-explicit-provides %{name}-setup 5 packages and 0 specfiles checked; 2 errors, 6 warnings. Rpmlint (installed packages) ---------------------------- # rpmlint globus-gram-job-manager-sge-debuginfo globus-gram-job-manager-sge globus-gram-job-manager-sge.x86_64: W: obsolete-not-provided globus-gram-job-manager-setup-sge-doc globus-gram-job-manager-sge.x86_64: E: no-binary 2 packages and 0 specfiles checked; 1 errors, 1 warnings. # echo 'rpmlint-done:' Requires -------- globus-gram-job-manager-sge-setup-seg-1.5-1.fc17.x86_64.rpm (rpmlib, GLIBC filtered): /bin/sh /sbin/ldconfig config(globus-gram-job-manager-sge-setup-seg) = 1.5-1.fc17 globus-common(x86-64) >= 14 globus-gram-job-manager-scripts >= 4 globus-gram-job-manager-sge(x86-64) = 1.5-1.fc17 globus-scheduler-event-generator(x86-64) >= 4 globus-scheduler-event-generator-progs >= 4 initscripts libc.so.6()(64bit) libglobus_common.so.0()(64bit) libglobus_common.so.0(GLOBUS_COMMON_14)(64bit) libglobus_scheduler_event_generator.so.0()(64bit) libpthread.so.0()(64bit) rtld(GNU_HASH) globus-gram-job-manager-sge-debuginfo-1.5-1.fc17.x86_64.rpm (rpmlib, GLIBC filtered): globus-gram-job-manager-sge-setup-poll-1.5-1.fc17.noarch.rpm (rpmlib, GLIBC filtered): /bin/sh config(globus-gram-job-manager-sge-setup-poll) = 1.5-1.fc17 globus-gram-job-manager-scripts >= 4 globus-gram-job-manager-sge = 1.5-1.fc17 globus-gram-job-manager-sge-1.5-1.fc17.x86_64.rpm (rpmlib, GLIBC filtered): config(globus-gram-job-manager-sge) = 1.5-1.fc17 globus-common-progs >= 14 globus-gass-cache-program >= 5 globus-gatekeeper >= 9 globus-gram-job-manager >= 13 globus-gram-job-manager-scripts >= 4 globus-gram-job-manager-sge-setup gridengine perl(:MODULE_COMPAT_5.14.2) perl(Config) perl(Globus::Core::Config) perl(Globus::Core::Paths) perl(Globus::GRAM::Error) perl(Globus::GRAM::JobManager) perl(Globus::GRAM::JobState) perl(IO::File) perl(IPC::Open3) perl(strict) perl(warnings) Provides -------- globus-gram-job-manager-sge-setup-seg-1.5-1.fc17.x86_64.rpm: config(globus-gram-job-manager-sge-setup-seg) = 1.5-1.fc17 globus-gram-job-manager-sge-setup globus-gram-job-manager-sge-setup-seg = 1.5-1.fc17 globus-gram-job-manager-sge-setup-seg(x86-64) = 1.5-1.fc17 libglobus_seg_sge.so.1()(64bit) globus-gram-job-manager-sge-debuginfo-1.5-1.fc17.x86_64.rpm: globus-gram-job-manager-sge-debuginfo = 1.5-1.fc17 globus-gram-job-manager-sge-debuginfo(x86-64) = 1.5-1.fc17 globus-gram-job-manager-sge-setup-poll-1.5-1.fc17.noarch.rpm: config(globus-gram-job-manager-sge-setup-poll) = 1.5-1.fc17 globus-gram-job-manager-sge-setup globus-gram-job-manager-sge-setup-poll = 1.5-1.fc17 globus-gram-job-manager-sge-1.5-1.fc17.x86_64.rpm: config(globus-gram-job-manager-sge) = 1.5-1.fc17 globus-gram-job-manager-setup-sge = 2.6 globus-gram-job-manager-sge = 1.5-1.fc17 globus-gram-job-manager-sge(x86-64) = 1.5-1.fc17 perl(Globus::GRAM::JobManager::sge) MD5-sum check ------------- http://www.globus.org/ftppub/gt5/5.2/5.2.1/packages/src/globus_gram_job_manager_sge-1.5.tar.gz : CHECKSUM(SHA256) this package : cf5afb583007aa1cf0bb23275141c7d231bd64cf7955bc1bbc82ff9865f8fb61 CHECKSUM(SHA256) upstream package : cf5afb583007aa1cf0bb23275141c7d231bd64cf7955bc1bbc82ff9865f8fb61 Generated by fedora-review 0.2.2 (9f8c0e5) last change: 2012-08-09 Not unexpectedly, the same comment applies to this one. Please check the libtool archives issue.
Thank you for looking at this review request. The reason for including the .la file in the package is stated in a comment in the spec file: # This library is opened using lt_dlopenext, so the libtool archive # (.la file) can not be removed The plugin handling in the Globus Toolkit is based on the use of the libtool dynamic loader library (libltdl). This mechanism works by first parsing the .la file to obtain the full name of the library to open (including the soname) and then dynamically opening the versioned library. Without the .la file present the lookup will not work. Other globus packages that provides libraries that are opened using this mechanism already include the .la file in the packages: /usr/lib64/libglobus_seg_job_manager.la /usr/lib64/libglobus_thread_pthread.la /usr/lib64/libglobus_xio_gsi_driver.la /usr/lib64/libglobus_xio_pipe_driver.la /usr/lib64/libglobus_xio_popen_driver.la This is also approved by the Packaging Guidelines: https://fedoraproject.org/wiki/Packaging:Globus#Plugins
Thanks for the clarification. Same comment applies as to the other packages - consider making the use of macros consistent in a future release. APPROVED
Many thanks for the review. New Package SCM Request ======================= Package Name: globus-gram-job-manager-sge Short Description: Globus Toolkit - Grid Engine Job Manager Support Owners: ellert Branches: f16 f17 f18 f19 el5 el6 InitialCC:
Git done (by process-git-requests).
globus-gram-job-manager-sge-1.5-1.fc18,globus-gram-job-manager-pbs-1.5-1.fc18,globus-gram-job-manager-fork-1.5-1.fc18 has been submitted as an update for Fedora 18. https://admin.fedoraproject.org/updates/globus-gram-job-manager-sge-1.5-1.fc18,globus-gram-job-manager-pbs-1.5-1.fc18,globus-gram-job-manager-fork-1.5-1.fc18
globus-gram-job-manager-sge-1.5-1.el6,globus-gram-job-manager-pbs-1.5-1.el6,globus-gram-job-manager-fork-1.5-1.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/globus-gram-job-manager-sge-1.5-1.el6,globus-gram-job-manager-pbs-1.5-1.el6,globus-gram-job-manager-fork-1.5-1.el6
globus-gram-job-manager-sge-1.5-1.fc16,globus-gram-job-manager-pbs-1.5-1.fc16,globus-gram-job-manager-fork-1.5-1.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/globus-gram-job-manager-sge-1.5-1.fc16,globus-gram-job-manager-pbs-1.5-1.fc16,globus-gram-job-manager-fork-1.5-1.fc16
globus-gram-job-manager-sge-1.5-1.el5,globus-gram-job-manager-pbs-1.5-1.el5,globus-gram-job-manager-fork-1.5-1.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/globus-gram-job-manager-sge-1.5-1.el5,globus-gram-job-manager-pbs-1.5-1.el5,globus-gram-job-manager-fork-1.5-1.el5
globus-gram-job-manager-sge-1.5-1.fc17,globus-gram-job-manager-pbs-1.5-1.fc17,globus-gram-job-manager-fork-1.5-1.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/globus-gram-job-manager-sge-1.5-1.fc17,globus-gram-job-manager-pbs-1.5-1.fc17,globus-gram-job-manager-fork-1.5-1.fc17
globus-gram-job-manager-sge-1.5-1.fc18, globus-gram-job-manager-pbs-1.5-1.fc18, globus-gram-job-manager-fork-1.5-1.fc18 has been pushed to the Fedora 18 testing repository.
globus-gram-job-manager-sge-1.5-1.fc18, globus-gram-job-manager-pbs-1.5-1.fc18, globus-gram-job-manager-fork-1.5-1.fc18 has been pushed to the Fedora 18 stable repository.
globus-gram-job-manager-sge-1.5-1.fc17, globus-gram-job-manager-pbs-1.5-1.fc17, globus-gram-job-manager-fork-1.5-1.fc17 has been pushed to the Fedora 17 stable repository.
globus-gram-job-manager-sge-1.5-1.fc16, globus-gram-job-manager-pbs-1.5-1.fc16, globus-gram-job-manager-fork-1.5-1.fc16 has been pushed to the Fedora 16 stable repository.
globus-gram-job-manager-sge-1.5-1.el5, globus-gram-job-manager-pbs-1.5-1.el5, globus-gram-job-manager-fork-1.5-1.el5 has been pushed to the Fedora EPEL 5 stable repository.
globus-gram-job-manager-sge-1.5-1.el6, globus-gram-job-manager-pbs-1.5-1.el6, globus-gram-job-manager-fork-1.5-1.el6 has been pushed to the Fedora EPEL 6 stable repository.