Spec URL: http://www.salstar.sk/pub/fedora/SPECS/bandwidthd.spec SRPM URL: http://www.salstar.sk/pub/fedora/SRPMS/10/bandwidthd-2.0.1-4.fc10.src.rpm Description: Bandwidthd is a UNIX daemon/Windows service for graphing the traffic generated by each machine on several configurable subnets. It is much easier to configure than MRTG, and provides significantly more useful information. MRTG only tells you how much bandwidth you are using, Bandwidthd tells you that, and who is using it. Each IP address that has moved any significant volume of traffic has its own graph. The graphs are color coded to help you figure out at a glance if your user is surfing the web, or surfing Kazaa. Bandwidthd is targeted to run on my routing platforms. It is very low overhead. Easily graphing small business traffic on a 133Mhz Elan 486 every 2.5 minutes. My entire ISP (2000-3000 IP addresses across 4 states) is graphed on a Celeron 450 every 10 minutes.
If you add the following lines to the spec and drop the versioned requires on libpcap, libpng and gd the result will work perfectly well on Centos-4. I have it in production for quite some time. %if "0%{?dist}" == "0.el4" BuildRequires: libpcap %else BuildRequires: libpcap-devel %endif
Thank you, nice change. Applied. Same spec: http://www.salstar.sk/pub/fedora/SPECS/bandwidthd.spec SRPM: http://www.salstar.sk/pub/fedora/SRPMS/10/bandwidthd-2.0.1-5.fc10.src.rpm
review under way
Package Review ============== Key: - = 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. [x] Package successfully compiles and builds into binary rpms on at least one supported architecture. Tested on: devel/x86_64 [x] Rpmlint output: empty [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. [!] License field in the package spec file matches the actual license. License type as specified by source: GPLv2+? License file as specified by spec: GPLv3+ => the README file says "any version", two of the source files say GPLv2+, most of the files do not say anything. I am not an expert, but I see no reason to restrict to GPLv3+ [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] Spec file is legible and written in American English. [x] Sources used to build the package match the upstream source, as provided in the spec URL. SHA1SUM of package: 81e920830239a6769164946e6466ff7386e7ce8e lzip-1.1.tar.bz2 [x] Package is not known to require ExcludeArch [-] 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 -rf $RPM_BUILD_ROOT. [!] Package consistently uses macros. => please stick with either uppercase or lowercase macros [x] Package contains code, or permissable content. [-] Large documentation files are in a -doc subpackage, if required. [x] 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. [x] 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. [x] Final provides and requires are sane. === 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: devel/x86_64, F7/x86_64, EL-4/i386 [x] Package should compile and build into binary rpms on all supported architectures. Tested on: i386, x86_64; no reason to believe it would not work on other archs [x] Package functions as described. [x] Scriptlets must be sane, if used. [-] The placement of pkgconfig(.pc) files is correct. [-] File based requires are sane. [-] %check is present and the test passes. ===ISSUES === 1. please fix the license tag 2. please choose one kind of macros and use it everywhere. The current version of your spec makes use of both $RPM_BUILD_ROOT and %{buildroot}
Another issue comes from the fact that Fedora requires to have as much functionality as possible enabled by default. In this case, adding postgresql-devel as BR would enable building with the database bits in. Personally I think this would bring in cruft which would be useless for a small router, so I suggest one of the following two approaches - either add a build conditional, which by default would compile the postgresql deps but would allow to rebuild with them off (something allow rpmbuild --define "db off"), or - build a second package (say bandwithd-postgresql) with postgresql enabled
s/allow/along/
Where do you see in README, that I can use any version? I see this in README: You may use this software under any version of the GPL that is current as of your download. Current today is GPLv3+. I don't remember, when I downloaded this package first time, maybe when there was no GPLv3. Even if I am most familiar with GPLv2, I think I can't ignore this line. Or is my understanding of english in this file wrong? - buildroot macro fixed - trying to build bandwithd-postgresql package
* Mon Dec 8 2008 Jan ONDREJ (SAL) <ondrejj(at)salstar.sk> - 2.0.1-6 - buildroot macro replaced by RPM_BUILD_ROOT variable - added autoconf into build-requires - by default compiled with postgresql support - conditional build without postgresql (--without pgsql) - libpng removed from requires SRPM: http://www.salstar.sk/pub/fedora/SRPMS/10/bandwidthd-2.0.1-6.fc10.src.rpm Something else? Are you sure, license have to be GPLv2+?
Use: License: GPL+. No version is specified, and technically, all versions of the GPL are "current".
(In reply to comment #9) > Use: License: GPL+. No version is specified, and technically, all versions of > the GPL are "current". Done. * Mon Dec 8 2008 Jan ONDREJ (SAL) <ondrejj(at)salstar.sk> - 2.0.1-7 - changed License to GPL+ SRPM: http://www.salstar.sk/pub/fedora/SRPMS/10/bandwidthd-2.0.1-7.fc10.src.rpm
Please remove one of the two occurrences of autoconf and also the "Requires: gd", rpmbuild will automatically require libgd.so.2()(64bit) You could also remove "BR: libpng-devel", gd-devel brings it in automatically. What do you feel about including the phphtdocs directory as docs? I'd say it becomes useful in the database context. I suggest using: %{?!_without_pgsql:%doc phphtdocs } I have just tested, the package builds fine and php is not brought in as a Requires, leaving to the admin the decision to use these scripts or not.
(In reply to comment #11) > Please remove one of the two occurrences of autoconf OK, removed. > and also the "Requires: > gd", rpmbuild will automatically require libgd.so.2()(64bit) OK. > You could also remove "BR: libpng-devel", gd-devel brings it in automatically. OK. > What do you feel about including the phphtdocs directory as docs? I'd say it > becomes useful in the database context. I suggest using: > %{?!_without_pgsql:%doc phphtdocs } > I have just tested, the package builds fine and php is not brought in as a > Requires, leaving to the admin the decision to use these scripts or not. Added. SRPM: http://www.salstar.sk/pub/fedora/SRPMS/10/bandwidthd-2.0.1-8.fc10.src.rpm %changelog * Sat Dec 13 2008 Jan ONDREJ (SAL) <ondrejj(at)salstar.sk> - 2.0.1-8 - removed dependency on gd - removed one line of autoconf - removed dependency on libpng-devel - phphtdocs added for pgsql build, execute bit for gif and sh removed
Great job, Jan! Package APPROVED.
Thanks to you. :) New Package CVS Request ======================= Package Name: bandwidthd Short Description: Tracks network usage and builds html and graphs Owners: ondrejj Branches: F-9 F-10 EL-4 EL-5 InitialCC:
cvs done.
bandwidthd-2.0.1-9.fc10 has been submitted as an update for Fedora 10. http://admin.fedoraproject.org/updates/bandwidthd-2.0.1-9.fc10
bandwidthd-2.0.1-9.fc9 has been submitted as an update for Fedora 9. http://admin.fedoraproject.org/updates/bandwidthd-2.0.1-9.fc9
bandwidthd-2.0.1-9.fc10 has been pushed to the Fedora 10 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 bandwidthd'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F10/FEDORA-2008-11323
bandwidthd-2.0.1-9.fc9 has been pushed to the Fedora 9 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-newkey update bandwidthd'. You can provide feedback for this update here: http://admin.fedoraproject.org/updates/F9/FEDORA-2008-11370
bandwidthd-2.0.1-9.fc9 has been pushed to the Fedora 9 stable repository. If problems still persist, please make note of it in this bug report.
bandwidthd-2.0.1-9.fc10 has been pushed to the Fedora 10 stable repository. If problems still persist, please make note of it in this bug report.
Package Change Request ====================== Package Name: bandwidthd New Branches: epel7 Owners: ondrejj
Git done (by process-git-requests).