Spec URL: http://nodebrain.org/package/nb/version/0.9/release/0.9.03/file/nodebrain.spec.txt SRPM URL: http://nodebrain.org/package/nb/version/0.9/release/0.9.03/file/nodebrain-0.9.03-1.el6.src.rpm Description: NodeBrain is a rule engine for construction of state and event monitoring applications. It interacts with other monitoring components to perform simple element state monitoring or complex event correlation based on user specified rules. It is extended through the development of plug-in modules using the C API, and servant programs that may be written in any language to interact with the rule engine via standard input, output, and error. The package includes a small set of plug-in modules to provide capabilities often required for monitoring applications. Fedora Account System Username: Trettevik This is my first request and I need a sponsor. A review request was submit by John Ellson in 2011 as bug 592504. It was reviewed by Jason Tibbitts, but the ticket was closed when John was unable to follow up. I believe I've addressed all the issues identified by Jason. I am the upstream developer of NodeBrain and my motive in submitting this request is to make it more convenient for others to use NodeBrain as a rule engine component in monitoring applications they develop. For users in large enterprises my hope is for this package to eventually make it into RHEL for convenient use, which was John Ellson's original motive in submitting the package. This package built successfully on multiple platforms, include Fedora 17, 18, 19 and 20 at the openSUSE Build Service, https://build.opensuse.org/package/show/home:trettevik/nodebrain. I've tried to follow the Fedora packaging guidelines, but am prepared to respond quickly to an suggestions or issues identified by reviewers. Ed Tretttevik eat
Here's a link to koji build results for targets f22, f21, f19, and f20. http://nodebrain.org/package/nb/version/0.9/release/0.9.03/file/koji.txt The initial attempt for f20 had two failures. I don't know enough about koji builds yet to find the referenced root.log to investigate, but will continue browsing the documentation. A second attempt was successful---at bottom of linked paged.
Here are the links to the NodeBrain koji scratch builds. f19 http://koji.fedoraproject.org/koji/taskinfo?taskID=8392033 f20 http://koji.fedoraproject.org/koji/taskinfo?taskID=8392110 f21 http://koji.fedoraproject.org/koji/taskinfo?taskID=8391318 f22 http://koji.fedoraproject.org/koji/taskinfo?taskID=8391202 The build with target f20 that failed, prior to the successful build on retry, shows what looks like a temporary connection error in root.log. (http://koji.fedoraproject.org/koji/taskinfo?taskID=8391841). DEBUG util.py:283: http://kojipkgs.fedoraproject.org//repos/f20-build/439790/armhfp/toplink/packages/gettext/0.18.3.2/3.fc20/armv7hl/gettext-0.18.3.2-3.fc20.armv7hl.rpm: [Errno 14] curl#7 - "Failed connect to kojipkgs.fedoraproject.org:80; Connection refused" So my package seems to build ok. However, I see comments about %license and %defattr in other package reviews that may apply, so I'll investigate that a bit and update the spec file if appropriate.
Spec URL: http://nodebrain.org/package/nb/version/0.9/release/0.9.03/file/nodebrain-0.9.03-3.spec.txt SRPM URL: http://nodebrain.org/package/nb/version/0.9/release/0.9.03/file/nodebrain-0.9.03-3.fc21.src.rpm Scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=8455276 Responded to comments seen in other reviews about license and group. Have been including the spec file upstream to support "make rpm", so it has conditionals to attempt conformance with Fedora Packaging Policy as well as multiple versions of other distributions. Hope the conditionals are not too much of an annoyance to reviewers. Can maintain a Fedora specific spec file if preferred.
Spec URL: http://nodebrain.org/fedora/nodebrain-0.9.03-4/nodebrain.spec SRPM URL: http://nodebrain.org/fedora/nodebrain-0.9.03-4/nodebrain-0.9.03-4.f22.src.rpm koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=8497126 Made additional modifications based on fedora-review using prebuilt option on download of scratch build. Modified spec url in attempt to get fedora-review -b 1174097 to find it.
Spec URL: http://nodebrain.org/fedora/nodebrain-0.9.03-4/nodebrain.spec SRPM URL: http://nodebrain.org/fedora/nodebrain-0.9.03-4/nodebrain-0.9.03-4.fc22.src.rpm koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=8497126 Fixing source rpm url.
Spec URL: http://nodebrain.org/fedora/nodebrain-0.9.03-5/nodebrain.spec SRPM URL: http://nodebrain.org/fedora/nodebrain-0.9.03-5/nodebrain-0.9.03-5.fc21.src.rpm koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=8503433 Updates following a more complete fedora-review using -b option.
This is an unofficial informal practice review on my own package. Package Review ============== Legend: [x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated [*] = Packager has considered and believes the package is compliant with policy. Issues: ======= - 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. Note: Cannot find COPYING in rpm(s) See: http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text - using %license instead of %doc for COPYING file - /usr/share/licenses/nodebrain/COPYING found after install ===== MUST items ===== C/C++: [*]: Package does not contain kernel modules. [*]: Package contains no static executables. - Shared executables in main package, separate nodebrain-static package [*]: Development (unversioned) .so files in -devel subpackage, if present. Note: Unversioned so-files in private %_libdir subdirectory (see attachment). Verify they are not in ld path. - not in ld path, these are plug-in modules in versioned subdirectory [x]: Header files in -devel subpackage, if present. [x]: ldconfig called in %post and %postun if required. [x]: Package does not contain any libtool archives (.la) [x]: Rpath absent or only used for internal libs. Generic: [*]: Package is licensed with an open-source compatible license and meets other legal requirements as defined in the legal section of Packaging Guidelines. - MIT License [*]: License field in the package spec file matches the actual license. Note: Checking patched sources after %prep for licenses. Licenses found: "GPL (v3 or later)", "Unknown or generated". 180 files have unknown license. - File headers reference MIT License or equivalent NodeBrain License - Both provided in COPYING file [*]: License file installed when any subpackage combination is installed. [*]: %build honors applicable compiler flags or justifies otherwise. [*]: Package contains no bundled libraries without FPC exception. [*]: Changelog in prescribed format. [*]: 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 [*]: Package uses nothing in %doc for runtime. [*]: Texinfo files are installed using install-info in %post and %preun if package has .info files. Note: Texinfo .info file(s) in nodebrain [*]: Package consistently uses macros (instead of hard-coded directory names). [*]: Package is named according to the Package Naming Guidelines. [?]: Package does not generate any conflict. [*]: Package obeys FHS, except libexecdir and /usr/target. [-]: If the package is a rename of another package, proper Obsoletes and Provides are present. [*]: Requires correct, justified where necessary. [*]: Spec file is legible and written in American English. [-]: Package contains systemd file(s) if in need. [*]: Useful -debuginfo package or justification otherwise. [*]: 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 112640 bytes in 7 files. [*]: Package complies to the Packaging Guidelines [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). - nodebrain-devel.x86_64: W: only-non-binary-in-usr-lib - Only installing libnb.so symbolic link to libnb.so.0 [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]: Static libraries in -static or -devel subpackage, providing -devel if present. Note: Package has .a files: nodebrain-static. [x]: File names are valid UTF-8. [x]: Packages must not store files under /srv, /opt or /usr/local ===== SHOULD items ===== Generic: [*]: Buildroot is not present Note: Buildroot: present but not needed - Buildroot is conditionally present for other platforms - not for Fedora >= 19 [*]: Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: %clean present but not required - %clean section is conditionally present for other platforms - not Fedora >= 19 [-]: If the source package does not include license text(s) as a separate file from upstream, the packager SHOULD query upstream to include it. - license text included [*]: Final provides and requires are sane (see attachments). [!]: Fully versioned dependency in subpackages if applicable. Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in nodebrain- devel , nodebrain-static - using Requires: nodebrain = %{version}-%{release} - will change to %{name}%{?_isa} [?]: Package functions as described. [*]: Latest version is packaged. [*]: Package does not include license text files separate from upstream. [*]: Patches link to upstream bugs/comments/lists or are otherwise justified. - Patches have been applied upstream for next release [*]: Scriptlets must be sane, if used. [-]: 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. [*]: %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]: Dist tag is present (not strictly required in GL). [x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin. [x]: Uses parallel make %{?_smp_mflags} macro. [x]: The placement of pkgconfig(.pc) files are correct. [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]: Large data in /usr/share should live in a noarch subpackage if package is arched. [x]: Spec file according to URL is the same as in SRPM. Rpmlint ------- Checking: nodebrain-0.9.03-5.fc21.x86_64.rpm nodebrain-devel-0.9.03-5.fc21.x86_64.rpm nodebrain-static-0.9.03-5.fc21.x86_64.rpm nodebrain-0.9.03-5.fc21.src.rpm nodebrain-devel.x86_64: W: only-non-binary-in-usr-lib 4 packages and 0 specfiles checked; 0 errors, 1 warnings. - This is libnb.so symbolic link to libnb.so.0 Rpmlint (installed packages) ---------------------------- ^[]0;<mock-chroot>^G<mock-chroot>[root@ip-172-31-6-11 /]# rpmlint nodebrain nodebrain-devel nodebrain-static nodebrain-devel.x86_64: W: only-non-binary-in-usr-lib 3 packages and 0 specfiles checked; 0 errors, 1 warnings. ^[]0;<mock-chroot>^G<mock-chroot>[root@ip-172-31-6-11 /]# echo 'rpmlint-done:' Requires -------- nodebrain (rpmlib, GLIBC filtered): /bin/sh /sbin/install-info /sbin/ldconfig libc.so.6()(64bit) libcrypto.so.10()(64bit) libcrypto.so.10(libcrypto.so.10)(64bit) libdl.so.2()(64bit) libedit.so.0()(64bit) libm.so.6()(64bit) libnb.so.0()(64bit) libpcre.so.1()(64bit) libssl.so.10()(64bit) libssl.so.10(libssl.so.10)(64bit) rtld(GNU_HASH) nodebrain-devel (rpmlib, GLIBC filtered): /usr/bin/pkg-config glibc-devel libnb.so.0()(64bit) nodebrain openssl-devel pcre-devel pkgconfig nodebrain-static (rpmlib, GLIBC filtered): nodebrain-devel Provides -------- nodebrain: libnb.so.0()(64bit) nodebrain nodebrain(x86-64) nodebrain-devel: nodebrain-devel nodebrain-devel(x86-64) pkgconfig(nb) nodebrain-static: nodebrain-static nodebrain-static(x86-64) Unversioned so-files [plug-in modules in versioned subdirectory] -------------------- nodebrain: /usr/lib64/nb-0/nb_audit.so nodebrain: /usr/lib64/nb-0/nb_baseline.so nodebrain: /usr/lib64/nb-0/nb_cache.so nodebrain: /usr/lib64/nb-0/nb_console.so nodebrain: /usr/lib64/nb-0/nb_mail.so nodebrain: /usr/lib64/nb-0/nb_message.so nodebrain: /usr/lib64/nb-0/nb_netflow.so nodebrain: /usr/lib64/nb-0/nb_peer.so nodebrain: /usr/lib64/nb-0/nb_pipe.so nodebrain: /usr/lib64/nb-0/nb_servant.so nodebrain: /usr/lib64/nb-0/nb_set.so nodebrain: /usr/lib64/nb-0/nb_snmptrap.so nodebrain: /usr/lib64/nb-0/nb_string.so nodebrain: /usr/lib64/nb-0/nb_syslog.so nodebrain: /usr/lib64/nb-0/nb_toy.so nodebrain: /usr/lib64/nb-0/nb_translator.so nodebrain: /usr/lib64/nb-0/nb_tree.so nodebrain: /usr/lib64/nb-0/nb_udp.so nodebrain: /usr/lib64/nb-0/nb_webster.so Source checksums ---------------- http://downloads.sourceforge.net/nodebrain/nodebrain-0.9.03.tar.gz : CHECKSUM(SHA256) this package : e9fce23525da8c6b3e553492b724eb2122faf22aed92ed45b15c6018eb643fef CHECKSUM(SHA256) upstream package : e9fce23525da8c6b3e553492b724eb2122faf22aed92ed45b15c6018eb643fef Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14 Command line :/usr/bin/fedora-review -b 1174097 Buildroot used: fedora-21-x86_64 [rawhide preferred] Active plugins: Generic, Shell-api, C/C++ Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG
Spec URL: http://nodebrain.org/fedora/nodebrain-0.9.03-6/nodebrain.spec SRPM URL: http://nodebrain.org/fedora/nodebrain-0.9.03-6/nodebrain-0.9.03-6.fc21.src.rpm koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=8503730 Changed subpackage fully versioned dependency on main package to use %{name}%{?_isa} instead of hard coded package name.
This doesn't match our requirement: 1. # Group will be dropped when no distribution complains %if 0%{?rhel} || 0%{?centos} Group: Development/Languages %else # Drop group for fedora now, keep for others %if 0%{?fedora} == 0 Group: Development/Languages/Other %endif %endif Please, just drop them unless you're gonna package this for EPEL5. 2. Source: http://downloads.sourceforge.net/nodebrain/nodebrain-0.9.03.tar.gz Patch: nodebrain-0.9.03-messages.patch URL: http://nodebrain.org/ It's better to put URL tag above the Source tag. And, for the link in the source, use %version macro will help you reduce the time to update the URL. http://downloads.sourceforge.net/nodebrain/nodebrain-%{version}.tar.gz 3. %if 0%{?fedora} >= 19 || 0%{?rhel} >= 6 || 0%{?centos} >= 6 || 0%{?suse_version} >= 1200 %else BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) %endif I don't want to see any SUSE stuffs in Fedora package, I hope you can drop that. And for the buildroot tag, you don't need to use such a long conditional line to satisfy the rpmlint or whatever, just drop this. 4. %if 0%{?fedora} >= 19 || 0%{?centos} >= 6 || 0%{?suse_version} >= 1200 BuildRequires: pkgconfig(libedit) pkgconfig(libpcre) pkgconfig(openssl) gettext pkgconfig %else BuildRequires: pcre-devel openssl-devel gettext pkgconfig %endif I think it's just a waste of space. It doesn't mean that Fedora 18 can't do this job. 5. %prep %setup -q %patch -p1 %build %configure make %{?_smp_mflags} I hope you can leave a blank line above the %build. 6. %if 0%{?fedora} >= 19 || 0%{?rhel} >= 6 || 0%{?centos} >= 6 || 0%{?suse_version} >= 1200 %else %clean rm -rf %{buildroot} %endif Same applies to this. 7. Static packages are not welcome. https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries 8. Requires: pkgconfig Requires: %{name}%{?_isa} = %{version}-%{release} Requires: pcre-devel Requires: openssl-devel Requires: glibc-devel Drop R line of pkgconfig, if you install a pkgconfig file in this package, RPM will pick this dependency up automatically. 9. For the %{?_isa} macro, you should use it everywhere in -devel: https://fedoraproject.org/wiki/Packaging:Guidelines#Requiring_Base_Package 10. %{_libdir}/*.so %exclude %{_libdir}/*.so.* %exclude %{_libdir}/nb-0 We always do like this: %files %{_libdir}/*.so.* %files devel %{_libdir}/*.so Put your plugins in main packages as well, as you've put them to a nb-0 directory, I think it's OK. But don't misinclude other unversioned library files in the main package. 11. I think you don't have to mention glibc in most of packages, it's a default dep of the basic system.
Spec URL: http://nodebrain.org/fedora/nodebrain-0.9.03-7/nodebrain.spec SRPM URL: http://nodebrain.org/fedora/nodebrain-0.9.03-7/nodebrain-0.9.03-7.fc21.src.rpm koji build: http://koji.fedoraproject.org/koji/taskinfo?taskID=8508317 Thank you very much for the review. Think I've implemented all your recommended changes.
Package requires modification to comply with Packaging:CryptoPolicies. Flagged as NotReady for now and will provide an update.
trettevik's scratch build of nodebrain-0.10.0-1.fc22.src.rpm for f23 completed http://koji.fedoraproject.org/koji/taskinfo?taskID=11388595
This is an automatic check from review-stats script. This review request ticket hasn't been updated for some time. We're sorry it is taking so long. If you're still interested in packaging this software into Fedora repositories, please respond to this comment clearing the NEEDINFO flag. You may want to update the specfile and the src.rpm to the latest version available and to propose a review swap on Fedora devel mailing list to increase chances to have your package reviewed. If this is your first package and you need a sponsor, you may want to post some informal reviews. Read more at https://fedoraproject.org/wiki/How_to_get_sponsored_into_the_packager_group. Without any reply, this request will shortly be considered abandoned and will be closed. Thank you for your patience.
This is an automatic action taken by review-stats script. The ticket submitter failed to clear the NEEDINFO flag in a month. As per https://fedoraproject.org/wiki/Policy_for_stalled_package_reviews we consider this ticket as DEADREVIEW and proceed to close it.