Spec URL: https://raw.github.com/jorti/arm-fedora-package/v1.4.4.1-5/SPECS/tor-arm.spec SRPM URL: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-5/SRPMS/tor-arm-1.4.4.1-5.fc15.src.rpm Description: The anonymizing relay monitor (arm) is a terminal status monitor for Tor relays, intended for command-line aficionados, ssh connections, and anyone with a tty terminal. This works much like top does for system usage, providing real time statistics. rpmlint output: $ rpmlint SPECS/tor-arm.spec SRPMS/tor-arm-1.4.4.1-5.fc15.src.rpm RPMS/noarch/tor-arm-1.4.4.1-5.fc15.noarch.rpm tor-arm.src: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing tor-arm.src: W: spelling-error %description -l en_US tty -> try, ttys, atty tor-arm.noarch: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing tor-arm.noarch: W: spelling-error %description -l en_US tty -> try, ttys, atty tor-arm.noarch: W: devel-file-in-non-devel-package /usr/share/arm/resources/torrcOverride/override.c tor-arm.noarch: W: devel-file-in-non-devel-package /usr/share/arm/resources/torrcOverride/override.h
I have separated in different packages some libraries needed by this program. They are waiting for review too: cagraph: https://bugzilla.redhat.com/show_bug.cgi?id=756443 pytorctl: https://bugzilla.redhat.com/show_bug.cgi?id=756435
I have updated the Spec file: Spec URL: https://raw.github.com/jorti/arm-fedora-package/v1.4.4.1-6/SPECS/tor-arm.spec SRPM URL: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-6/SRPMS/tor-arm-1.4.4.1-6.fc16.src.rpm Rpmlint output: $ rpmlint SPECS/tor-arm.spec RPMS/noarch/tor-arm-1.4.4.1-6.fc16.noarch.rpm SRPMS/tor-arm-1.4.4.1-6.fc16.src.rpm tor-arm.noarch: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing tor-arm.noarch: W: spelling-error %description -l en_US tty -> try, ttys, atty tor-arm.noarch: W: devel-file-in-non-devel-package /usr/share/arm/resources/torrcOverride/override.c tor-arm.noarch: W: devel-file-in-non-devel-package /usr/share/arm/resources/torrcOverride/override.h tor-arm.src: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing tor-arm.src: W: spelling-error %description -l en_US tty -> try, ttys, atty 2 packages and 1 specfiles checked; 0 errors, 6 warnings.
A new update to the package: Spec URL: https://raw.github.com/jorti/arm-fedora-package/v1.4.4.1-7/SPECS/tor-arm.spec SRPM URL: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-7/SRPMS/tor-arm-1.4.4.1-7.fc16.src.rpm The rpmlint output is: $ rpmlint RPMS/noarch/tor-arm-1.4.4.1-7.fc16.noarch.rpm SRPMS/tor-arm-1.4.4.1-7.fc16.src.rpm SPECS/tor-arm.spec tor-arm.noarch: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing tor-arm.noarch: W: spelling-error %description -l en_US tty -> try, ttys, atty tor-arm.noarch: W: devel-file-in-non-devel-package /usr/share/arm/resources/torrcOverride/override.c tor-arm.noarch: W: devel-file-in-non-devel-package /usr/share/arm/resources/torrcOverride/override.h tor-arm.src: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing tor-arm.src: W: spelling-error %description -l en_US tty -> try, ttys, atty 2 packages and 1 specfiles checked; 0 errors, 6 warnings. About the devel-file-in-non-devel-package warning, it's the source code of a wrapper provided as example if you want to run arm as root to be able to reconfigure the daemon it connects to. I'm not very sure what to do about this, I left it untouched.
I think the code should go in %doc, since that's a example.
(In reply to comment #4) > I think the code should go in %doc, since that's a example. I moved it to %doc SPEC: https://raw.github.com/jorti/arm-fedora-package/v1.4.4.1-8/SPECS/tor-arm.spec SRPM: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-8/SRPMS/tor-arm-1.4.4.1-8.fc16.src.rpm Rpmlint output: tor-arm.noarch: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing tor-arm.noarch: W: spelling-error %description -l en_US tty -> try, ttys, atty tor-arm.src: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing tor-arm.src: W: spelling-error %description -l en_US tty -> try, ttys, atty 2 packages and 1 specfiles checked; 0 errors, 4 warnings.
I'm not sure why this package doesn't look like this: %build %{__python} setup.py build %install rm -rf %{buildroot} %{__python} setup.py install --skip-build --root=%{buildroot} (The Python packaging guidelines need an overhaul, I know, but this is the default for noarch python packages that have setup.py.) Are you doing this to avoid having it include its local copy of TorCtl? Seems like it might be easier to simply add: # This lives in pytorctl rm -rf %{buildroot}%{_datadir}/%{realname}/TorCtl ***** Also, there should probably be a tor-arm.desktop file which runs arm -g.
I have updated the build/install commands as you said and removed TorCtl afterwards. Also I have included a desktop file and a icon, I asked upstream about including them in future releases. SPEC: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-9/SPECS/tor-arm.spec SRPM: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-9/SRPMS/tor-arm-1.4.4.1-9.fc16.src.rpm Rpmlint output: tor-arm.src: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing tor-arm.src: W: spelling-error %description -l en_US tty -> try, ttys, atty tor-arm.noarch: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing tor-arm.noarch: W: spelling-error %description -l en_US tty -> try, ttys, atty 2 packages and 1 specfiles checked; 0 errors, 4 warnings.
I have removed the Tor onion from the icon because there are some trademark issues with it. Now the icon is only based in the Oxygen theme, which is dual licensed with Creative Common Attribution-ShareAlike 3.0 License or the GNU Library General Public License. http://www.oxygen-icons.org/ Hope everything is allright now. SPEC: https://raw.github.com/jorti/arm-fedora-package/v1.4.4.1-10/SPECS/tor-arm.spec SRPM: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-10/SRPMS/tor-arm-1.4.4.1-10.fc16.src.rpm
I will take this review.
I'm not comfortable with the name of the binary or the datadir directory given the recent push for arm as a primary arch, can we use the package name instead, or will this cause problems?
(In reply to comment #10) > I'm not comfortable with the name of the binary or the datadir directory given > the recent push for arm as a primary arch, can we use the package name instead, > or will this cause problems? I'm not sure about the implications of changing the name of the directory, also in Debian it's packaged this way without problem. For example you don't have a binary called x86_64. I would prefer staying close to upstream in the directory layout.
OK, up to you. Unless it will cause issues with dependant packages, I'd still recommend prefixing with tor-, but I will leave it up to you to decide. Main package should not contain *.c or *.h files, create a -devel sub-package instead requiring the main package.
Looking good for approval, just use .* instead .gz for your man file
Spec: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-12/SPECS/tor-arm.spec SRPM: https://github.com/jorti/arm-fedora-package/raw/v1.4.4.1-12/SRPMS/tor-arm-1.4.4.1-12.fc16.src.rpm I will leave the datadir as is, I've done some tests and it breaks in several ways. I have created the devel subpackage with the example source code, and added the wildcard to the man page. Hope everything is ok.
This package is APPROVED. You can safely ignore all issues below. Package Review ============== Key: - = N/A x = Pass ! = Fail ? = Not evaluated ==== C/C++ ==== [x]: MUST Header files in -devel subpackage, if present. [x]: MUST Package does not contain any libtool archives (.la) [x]: MUST Package does not contain kernel modules. [x]: MUST Package contains no static executables. [x]: MUST Rpath absent or only used for internal libs. [x]: MUST Package is not relocatable. ==== Generic ==== [x]: 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. [x]: 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 Buildroot is not present Note: Buildroot is not needed unless packager plans to package for EPEL5 This is OK [x]: MUST Package contains no bundled libraries. [x]: MUST Changelog in prescribed format. [x]: MUST Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: Clean is needed only if supporting EPEL This is OK [ ]: MUST Sources contain only permissible code or content. [!]: MUST Each %files section contains %defattr if rpm < 4.4 Note: defattr(....) present in %files section. This is OK if packaging for EPEL5. Otherwise not needed [x]: MUST Macros in Summary, %description expandable at SRPM build time. [x]: MUST Package contains a properly installed %{name}.desktop using desktop- file-install file if it is a GUI application. [x]: MUST Package requires other packages for directories it uses. [x]: MUST Package uses nothing in %doc for runtime. [x]: 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. [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. [x]: 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. [x]: MUST License field in the package spec file matches the actual license. [x]: MUST License file installed when any subpackage combination is installed. [x]: MUST Package consistently uses macros (instead of hard-coded directory names). [x]: MUST Package is named according to the Package Naming Guidelines. [x]: MUST Package does not generate any conflict. [x]: MUST Package obeys FHS, except libexecdir and /usr/target. [x]: MUST Package must own all directories that it creates. [x]: MUST Package does not own files or directories owned by other packages. [x]: MUST Package installs properly. [x]: MUST Requires correct, justified where necessary. [!]: MUST Rpmlint output is silent. rpmlint tor-arm-1.4.4.1-12.fc18.src.rpm tor-arm.src: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing tor-arm.src: W: spelling-error %description -l en_US tty -> try, ttys, atty 1 packages and 0 specfiles checked; 0 errors, 2 warnings. rpmlint tor-arm-1.4.4.1-12.fc18.noarch.rpm tor-arm.noarch: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing tor-arm.noarch: W: spelling-error %description -l en_US tty -> try, ttys, atty 1 packages and 0 specfiles checked; 0 errors, 2 warnings. rpmlint tor-arm-devel-1.4.4.1-12.fc18.noarch.rpm tor-arm-devel.noarch: W: spelling-error %description -l en_US setuid -> setup tor-arm-devel.noarch: W: spelling-error %description -l en_US config -> con fig, con-fig, configure 1 packages and 0 specfiles checked; 0 errors, 2 warnings. This is OK [x]: MUST Sources used to build the package match the upstream source, as provided in the spec URL. /home/bsjones/rpmbuild/SPECS/arm-1.4.4.1.tar.bz2 : MD5SUM this package : a3bb93f7d7589bbc54c9b2d4e24d878b MD5SUM upstream package : a3bb93f7d7589bbc54c9b2d4e24d878b [x]: 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 a SysV-style init script if in need of one. [x]: MUST File names are valid UTF-8. [x]: MUST Useful -debuginfo package or justification otherwise. [x]: SHOULD Reviewer should test that the package builds in mock. [x]: 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. [x]: SHOULD Final provides and requires are sane (rpm -q --provides and rpm -q --requires). [-]: SHOULD Package functions as described. [x]: SHOULD Latest version is packaged. [x]: SHOULD Package does not include license text files separate from upstream. [x]: SHOULD Scriptlets must be sane, if used. [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. [x]: SHOULD Packages should try to preserve timestamps of original installed files. [x]: SHOULD Spec use %global instead of %define. Issues: [!]: MUST Buildroot is not present Note: Buildroot is not needed unless packager plans to package for EPEL5 See: http://fedoraproject.org/wiki/Packaging/Guidelines#BuildRoot_tag [!]: MUST Package has no %clean section with rm -rf %{buildroot} (or $RPM_BUILD_ROOT) Note: Clean is needed only if supporting EPEL See: http://fedoraproject.org/wiki/Packaging/Guidelines#.25clean [!]: MUST Each %files section contains %defattr if rpm < 4.4 Note: defattr(....) present in %files section. This is OK if packaging for EPEL5. Otherwise not needed See: http://fedoraproject.org/wiki/Packaging/Guidelines#FilePermissions [!]: MUST Package contains a properly installed %{name}.desktop using desktop- file-install file if it is a GUI application. See: http://fedoraproject.org/wiki/Packaging/Guidelines#desktop [!]: 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 Rpmlint output is silent. rpmlint tor-arm-1.4.4.1-12.fc18.src.rpm tor-arm.src: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing tor-arm.src: W: spelling-error %description -l en_US tty -> try, ttys, atty 1 packages and 0 specfiles checked; 0 errors, 2 warnings. rpmlint tor-arm-1.4.4.1-12.fc18.noarch.rpm tor-arm.noarch: W: spelling-error %description -l en_US anonymizing -> anatomizing, canonizing, anodizing tor-arm.noarch: W: spelling-error %description -l en_US tty -> try, ttys, atty 1 packages and 0 specfiles checked; 0 errors, 2 warnings. rpmlint tor-arm-devel-1.4.4.1-12.fc18.noarch.rpm tor-arm-devel.noarch: W: spelling-error %description -l en_US setuid -> setup tor-arm-devel.noarch: W: spelling-error %description -l en_US config -> con fig, con-fig, configure 1 packages and 0 specfiles checked; 0 errors, 2 warnings. See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint Generated by fedora-review 0.1.3 External plugins:
New Package SCM Request ======================= Package Name: tor-arm Short Description: Terminal status monitor for Tor Owners: jorti Branches: f15 f16 f17 InitialCC:
Git done (by process-git-requests).
tor-arm-1.4.4.1-12.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/tor-arm-1.4.4.1-12.fc17
tor-arm-1.4.4.1-12.fc16 has been submitted as an update for Fedora 16. https://admin.fedoraproject.org/updates/tor-arm-1.4.4.1-12.fc16
tor-arm-1.4.4.1-12.fc15 has been submitted as an update for Fedora 15. https://admin.fedoraproject.org/updates/tor-arm-1.4.4.1-12.fc15
tor-arm-1.4.4.1-12.fc17 has been pushed to the Fedora 17 testing repository.
tor-arm-1.4.4.1-12.fc16 has been pushed to the Fedora 16 stable repository.
tor-arm-1.4.4.1-12.fc15 has been pushed to the Fedora 15 stable repository.
tor-arm-1.4.4.1-12.fc17 has been pushed to the Fedora 17 stable repository.