I have another package at bug id 586473. Spec URL: http://mmckinst.nexcess.net/vile/vile.spec SRPM URL: http://mmckinst.nexcess.net/vile/vile-9.7zc-1.fc12.src.rpm Description: Vile is a text editor which is extremely compatible with vi in terms of "finger feel". In addition, it has extended capabilities in many areas, notably multi-file editing and viewing, syntax highlighting, and key rebinding. $ rpmlint vile.spec vile.spec: W: invalid-url Source0: ftp://invisible-island.net/vile/current/vile-9.7zc.tgz <urlopen error ftp error: timed out> 0 packages and 1 specfiles checked; 0 errors, 1 warnings. $ rpmlint vile-9.7zc-1.fc12.src.rpm vile.src: W: spelling-error %description -l en_US multi -> Miltie, Milt, milt vile.src: W: invalid-url Source0: ftp://invisible-island.net/vile/current/vile-9.7zc.tgz <urlopen error ftp error: timed out> 1 packages and 0 specfiles checked; 0 errors, 2 warnings. $ The invalid-url error comes because the FTP server is a little slow and times out. If you wget it, it will work fine.
- rpmlint output is OK. - Non-numeric versioning seems to be allowed in this case, so that's OK. - Please use %{version} macro in Source0 line. (The macro is automatically defined by the Version: tag) - Please don't mix "vile" and "%{name}" in %files, just choose one and stick with it. - This package uses GNU autotools, so a plain make %{?_smp_mflags} will do just fine. - There's optional X and Perl support. I think that they should be added, as well. - Furthermore you must add flex as a BuildRequire: checking for startup path... $(datadir) checking if lex supports %pointer... no configure: WARNING: Your lex program does not support POSIX %pointer. Get flex. checking if lex supports character classes... no configure: WARNING: Your lex program does not support POSIX character classes. Get flex. checking if lex supports options... no configure: WARNING: Your lex program does not support POSIX options. Get flex. checking if lex supports states... lex conftest.l 1>&5 configure: WARNING: disabling build for lex-filters - The license is not clearly defined. A lot of the source files don't have any license headers. The included COPYING file states that ... "it is released under the provisions of the specific version of the GNU General Public License, below." with the rest of the file containing the GPLv2 license. This would make the License: tag GPL+. However, ntwinio.c is explicitly under GPLv2, and regexp.c and vl_*.h under the MIT license. vl_ctype.c, however, doesn't have a license declaration. MIT is compatible with GPL, so GPL+ and GPLv2 makes GPLv2 in total. Please ask upstream to add proper license headers in all the source code files, and also a definition what version of the GPL applies to the distribution.
In the time since I submitted this, vile 9.8 has been released so I have updated the spec and SRPM to that version: Spec URL: http://mmckinst.nexcess.net/vile/vile.spec SRPM URL: http://mmckinst.nexcess.net/vile/vile-9.8-1.fc14.src.rpm Regarding your comments: > Please use %{version} macro in Source0 line. (The macro is automatically defined by the Version: tag) Fixed. > Please don't mix "vile" and "%{name}" in %files, just choose one and stick with it. Fixed. > This package uses GNU autotools, so a plain make %{?_smp_mflags} will do just fine. Fixed. > There's optional X and Perl support. I think that they should be added, as well. I looked in to perl but it requires Net::Dict and no RPM exists for it. I'll make an RPM for that later and add in perl support. Regarding X support, xvile should be its own package, rather than part of this vile package here. I might try to do xvile, but 100% of my Linux time is spent without a GUI so I might not be the best person. > Furthermore you must add flex as a BuildRequire: Added. > The license is not clearly defined I've updated the License to be GPLv2
As Jussi already suggested, I also think it's a good idea to build xvile too, and put it into an optionally installable subpackage, e.g. vile-x11. Both vile and xvile can share all data files and the filters. It shouldn't be complicated to extend the SPEC accordingly.
> As Jussi already suggested, I also think it's a good idea to build xvile too, > and put it into an optionally installable subpackage, e.g. vile-x11. Both vile > and xvile can share all data files and the filters. It shouldn't be complicated > to extend the SPEC accordingly. This is now done. vile.spec creates three packages, vile, xvile, and vile-common. http://koji.fedoraproject.org/koji/taskinfo?taskID=2740691 http://mmckinst.nexcess.net/vile/vile-9.8d-1.fc14.src.rpm http://mmckinst.nexcess.net/vile/vile.spec
Hi Mark, here are some notes on your package: - The .desktop file isn't installed. See here how to do it: http://fedoraproject.org/wiki/Packaging/Guidelines#Desktop_files - I recommend to use fully versioned dependencies on vile-common Requires: common = %{version}-%{release} - please replace the icon file vile.xbm with file vile.xpm as the xbm format is not supported in desktop files (only png, svg and xpm work) - replace %{_datarootdir} with %{_datadir} to be consistent
(In reply to comment #5) > Requires: common = %{version}-%{release} Sorry, it should be Requires: %{name}-common = %{version}-%{release} of course.
(In reply to comment #5) > - The .desktop file isn't installed. See here how to do it: > http://fedoraproject.org/wiki/Packaging/Guidelines#Desktop_files Doh. I read that same page about how to do the desktop file but forgot to install it. Its fixed now. > - I recommend to use fully versioned dependencies on vile-common > Requires: common = %{version}-%{release} Done. > - please replace the icon file vile.xbm with file vile.xpm as the xbm format is > not supported in desktop files (only png, svg and xpm work) Done. > - replace %{_datarootdir} with %{_datadir} to be consistent Done. Spec: http://mmckinst.nexcess.net/vile/vile-9.8d-2.fc14.src.rpm SRPM: http://mmckinst.nexcess.net/vile/vile.spec Scratch: http://koji.fedoraproject.org/koji/taskinfo?taskID=2744695
The package looks fine now. Since xvile.1 is a common manpage for xvile, uxvile, and lxvile, I suggest to add two symlinks uxvile.1 and lxvile.1 pointing to xvile.1. But that's optional. $ rpmlint /var/lib/mock/fedora-14-x86_64/result/*.rpm vile.src: W: spelling-error %description -l en_US multi -> mulch, mufti vile.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti vile.x86_64: W: no-manual-page-for-binary vile-pager vile-common.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti xvile.x86_64: W: spelling-error %description -l en_US multi -> mulch, mufti xvile.x86_64: W: no-manual-page-for-binary lxvile xvile.x86_64: W: no-manual-page-for-binary lxvile-fonts xvile.x86_64: W: no-manual-page-for-binary uxvile xvile.x86_64: W: no-manual-page-for-binary xshell.sh xvile.x86_64: W: no-manual-page-for-binary xvile-pager 5 packages and 0 specfiles checked; 0 errors, 10 warnings. All warnings can be ignored: - spelling errors are false positive - missing manpages are expected --------------------------------- key: [+] OK [.] OK, not applicable [X] needs work --------------------------------- [+] MUST: The package must be named according to the Package Naming Guidelines. [+] MUST: The spec file name must match the base package %{name}. [+] MUST: The package must meet the Packaging Guidelines. [+] MUST: The package must be licensed with a Fedora approved license. - GPLv2 [+] MUST: The License field in the package spec file must match the actual license. [+] MUST: The file containing the text of the license(s) for the package must be included in %doc. - present in vile-common required by vile and xvile [+] MUST: The spec file must be written in American English. [+] MUST: The spec file for the package MUST be legible. [+] MUST: The sources used to build the package must match the upstream source. $ md5sum vile-9.8d.tgz* cae7e55d75f880d99b864d7057c5c89c vile-9.8d.tgz cae7e55d75f880d99b864d7057c5c89c vile-9.8d.tgz.1 [+] MUST: The package MUST successfully compile and build into binary rpms on at least one primary architecture. koji scratch build (f15): http://koji.fedoraproject.org/koji/taskinfo?taskID=2746539 [+] MUST: %{optflags} must be applied properly when building binaries [.] MUST: If the package does not successfully compile, build or work on an architecture, ... [+] MUST: All build dependencies must be listed in BuildRequires. [.] MUST: The spec file MUST handle locales properly. [.] MUST: Packages storing shared library files (not just symlinks) must call ldconfig in %post and %postun. [+] MUST: Packages must NOT bundle copies of system libraries. [.] MUST: If the package is designed to be relocatable, ... [+] MUST: A package must own all directories that it creates. [+] MUST: A Fedora package must not list a file more than once in %files. [+] MUST: Permissions on files must be set properly. [+] MUST: Each package must consistently use macros. [+] MUST: The package must contain code, or permissable content. [.] MUST: Large documentation files must go in a -doc subpackage. [+] MUST: Files in %doc must not affect the runtime of the application. [.] MUST: Header files must be in a -devel package. [.] MUST: Static libraries must be in a -static package. [.] MUST: If a package contains library files with a suffix ... [.] MUST: devel packages must require the base package ... [+] MUST: Packages must NOT contain any .la libtool archives. [+] MUST: Packages containing GUI applications must include a %{name}.desktop file. [+] MUST: .desktop files must be properly installed with desktop-file-install in the %install section. [+] MUST: Packages must not own files or directories already owned by other packages. [+] MUST: All filenames in rpm packages must be valid UTF-8. [.] SHOULD: If the source package does not include license text(s) as a separate file from upstream, ... [+] SHOULD: The reviewer should test that the package builds in mock. [+] SHOULD: The package should compile and build into binary rpms on all supported architectures. [+] SHOULD: The reviewer should test that the package functions as described. [.] SHOULD: If scriptlets are used, those scriptlets must be sane. [+] SHOULD: Usually, subpackages other than devel should require the base package using a fully versioned dependency. [.] SHOULD: pkgconfig(.pc) should be placed in a -devel pkg. [.] SHOULD: If the package has file dependencies outside of /etc, /bin, /sbin, /usr/bin, or /usr/sbin [.] SHOULD: your package should contain man pages for binaries/scripts. ---------------- Package APPROVED ----------------
New Package SCM Request ======================= Package Name: vile Short Description: VI Like Emacs Owners: mmckinst Branches: f13 f14 el4 el5 el6
Git done (by process-git-requests).
vile-9.8d-3.el6 has been submitted as an update for Fedora EPEL 6. https://admin.fedoraproject.org/updates/vile-9.8d-3.el6
vile-9.8d-3.el5 has been submitted as an update for Fedora EPEL 5. https://admin.fedoraproject.org/updates/vile-9.8d-3.el5
vile-9.8d-3.fc13 has been submitted as an update for Fedora 13. https://admin.fedoraproject.org/updates/vile-9.8d-3.fc13
vile-9.8d-3.fc14 has been submitted as an update for Fedora 14. https://admin.fedoraproject.org/updates/vile-9.8d-3.fc14
vile-9.8d-3.el4 has been submitted as an update for Fedora EPEL 4. https://admin.fedoraproject.org/updates/vile-9.8d-3.el4
vile-9.8d-3.el5 has been pushed to the Fedora EPEL 5 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 vile'. You can provide feedback for this update here: https://admin.fedoraproject.org/updates/vile-9.8d-3.el5
vile-9.8d-3.el4 has been pushed to the Fedora EPEL 4 stable repository. If problems still persist, please make note of it in this bug report.
vile-9.8d-3.el6 has been pushed to the Fedora EPEL 6 stable repository. If problems still persist, please make note of it in this bug report.
vile-9.8d-3.el5 has been pushed to the Fedora EPEL 5 stable repository. If problems still persist, please make note of it in this bug report.
vile-9.8d-3.fc14 has been pushed to the Fedora 14 stable repository. If problems still persist, please make note of it in this bug report.
vile-9.8d-3.fc13 has been pushed to the Fedora 13 stable repository. If problems still persist, please make note of it in this bug report.
Package Change Request ====================== Package Name: vile New Branches: epel7 Owners: mmckinst
There's still no epel7 branch when I look at http://pkgs.fedoraproject.org/cgit/vile.git/ . Please advise if I need to do something on my end to get it created. Package Change Request ====================== Package Name: vile New Branches: epel7 Owners: mmckinst
vile-9.8o-1.el7 has been submitted as an update for Fedora EPEL 7. https://admin.fedoraproject.org/updates/vile-9.8o-1.el7
vile-9.8o-1.el7 has been pushed to the Fedora EPEL 7 stable repository.