Spec URL: http://codeblock.fedorapeople.org/packages/elixir/elixir.spec SRPM URL: http://codeblock.fedorapeople.org/packages/elixir/elixir-0.5.0-1.20120526git6052352.fc18.src.rpm Description: Elixir is a programming language built on top of the Erlang VM. As Erlang, it is a functional language built to support distributed, fault-tolerant, non-stop applications with hot code swapping. Fedora Account System Username: codeblock [ricky@t520 SRPMS]$ rpmlint ../SPECS/elixir.spec ../SPECS/elixir.spec: W: invalid-url Source0: elixir-lang-elixir-v0.5.0-0-g6052352.tar.gz 0 packages and 1 specfiles checked; 0 errors, 1 warnings. This one is due to pulling the source from a github tag, there's no easy way to link directly to the .tar.gz. [ricky@t520 SRPMS]$ rpmlint ../RPMS/noarch/elixir-0.5.0-1.20120526git6052352.fc18.noarch.rpm elixir.noarch: W: no-manual-page-for-binary iex elixir.noarch: W: no-manual-page-for-binary elixirc elixir.noarch: W: no-manual-page-for-binary elixir 1 packages and 0 specfiles checked; 0 errors, 3 warnings. There are no manpages currently for Elixir, unfortunately. I have a ping in with the lead dev about getting manpages in the next release.
I'll review it.
* First of all it fails to build (fails to pass the tests) until I removed all "time" invocations in the Makefile with the following line appended to the %prep section: sed -i -e "s,time ,,g" Makefile After that it builds just fine. * Consider removing *.bat files entirely. * I did a dependency checking with my (yet to be published) API checker and found that there are some missing dependencies. At least you must explicitly add Requires: erlang-inets My API checker shows that elixir's beam-files are also exporting functions from the following modules: Requires: erlang-compiler Requires: erlang-kernel Requires: erlang-stdlib Requires: erlang-syntax_tools but these ones are safe to omit since they're in a default dependency chain from erlang-erts. Feel free either to add them or not. * This package requires erlang-erts >= R15B - please fix your Requires directive. Just FYI - I plan to upgrade Erlang in F-16 and in EL6 up to R15B very soon. F-17 and F-18 already has R15B. Actually the only missing function in R14B is "file:read_file_info/2" and I believe the package could be fixed to work with R14B but I wouldn't hold my breath waiting for someone who is willing to fix that in the nearest future. Anyway since we will see a R15B build for EL6 and F-16 soon then this shouldn't even bother you. * Just FYI - The package won't work with R12B so no luck for EL5 users. Error:erlang(erlang:atom_to_binary/2) Error:erlang(erlang:binary_to_atom/2) Error:erlang(erlang:port_command/3) Error:erlang(erl_scan:token_info/2) Error:erlang(file:read_file_info/2) Error:erlang(io_lib:write_unicode_string/1) Error:erlang(lists:keyfind/3) Error:erlang(unicode:characters_to_binary/1) Error:erlang(unicode:characters_to_list/1) Some of these can be fixed easily, some cannot. My advice in case you have plans for EL5 builds (I hope you don't have them yet) is just to forget about that. * You didn't package include/elixir.hrl Whenever package it or not is entirely depends on the typical workflow which involves elixir - if you will use it from within other erlang packages then it *might* (I'm not sure) be useful, otherwise it may not. If I were you I'd rather package it - I see that files files from tests/erlang/ have "-include("elixir.hrl") directive so one could use it this way. Otherwise it looks quite good.
Thanks for the review! I've updated the spec with your suggestions. Same URLs: Spec URL: http://codeblock.fedorapeople.org/packages/elixir/elixir.spec SRPM URL: http://codeblock.fedorapeople.org/packages/elixir/elixir-0.5.0-1.20120526git6052352.fc18.src.rpm I'm not too worried about EL5 builds, but F16 and EPEL 6 will be nice, when Erlang gets updated there. :) Here's a (successful) rawhide scratch build: http://koji.fedoraproject.org/koji/taskinfo?taskID=4104402 And rpmlint output from the updated spec has not changed: [ricky@t520 rpmbuild]$ rpmlint ./SPECS/elixir.spec ./SPECS/elixir.spec: W: invalid-url Source0: elixir-lang-elixir-v0.5.0-0-g6052352.tar.gz 0 packages and 1 specfiles checked; 0 errors, 1 warnings. [ricky@t520 rpmbuild]$ rpmlint ./RPMS/noarch/elixir-0.5.0-1.20120526git6052352.fc18.noarch.rpm elixir.noarch: W: no-manual-page-for-binary iex elixir.noarch: W: no-manual-page-for-binary elixirc elixir.noarch: W: no-manual-page-for-binary elixir 1 packages and 0 specfiles checked; 0 errors, 3 warnings.
REVIEW: Legend: + = PASSED, - = FAILED, 0 = Not Applicable + rpmlint is almost silent sulaco ~/rpmbuild/SPECS: rpmlint ../RPMS/noarch/elixir-0.5.0-1.20120526git6052352.fc18.noarch.rpm ../SRPMS/elixir-0.5.0-1.20120526git6052352.fc18.src.rpm elixir.noarch: W: no-manual-page-for-binary iex elixir.noarch: W: no-manual-page-for-binary elixirc elixir.noarch: W: no-manual-page-for-binary elixir elixir.src: W: invalid-url Source0: elixir-lang-elixir-v0.5.0-0-g6052352.tar.gz 2 packages and 0 specfiles checked; 0 errors, 4 warnings. sulaco ~/rpmbuild/SPECS: + The package is named according to the Package Naming Guidelines. + The spec file name matches the base package %{name}, in the format %{name}.spec. + The package meets the Packaging Guidelines. + The package is licensed with a Fedora approved license and meets the Licensing Guidelines. + The License field in the package spec file matches the actual license (Apache Software License 2.0 and Erlang Public License). + The file, containing the text of the license(s) for the package, is included in %doc. + The spec file is written in American English. + The spec file for the package is legible. + The sources used to build the package, match the upstream source, as provided in the spec URL. sulaco ~/rpmbuild/SPECS: sha256sum ../SOURCES/elixir-lang-elixir-v0.5.0-0-g6052352.tar.gz ~/Desktop/elixir-lang-elixir-v0.5.0-0-g6052352.tar.gz adcb2be56d4abe5c43244318d23696b14a1158a89a2260a8317a4689c5949c59 ../SOURCES/elixir-lang-elixir-v0.5.0-0-g6052352.tar.gz adcb2be56d4abe5c43244318d23696b14a1158a89a2260a8317a4689c5949c59 /home/petro/Desktop/elixir-lang-elixir-v0.5.0-0-g6052352.tar.gz sulaco ~/rpmbuild/SPECS: + The package successfully compiles and builds into binary rpms on at least one primary architecture. + All build dependencies are listed in BuildRequires. 0 No need to handle locales. 0 No shared library files. + The package does NOT bundle copies of system libraries. + The package is not designed to be relocatable. + The package owns all directories that it creates. + The package does not list a file more than once in the spec file's %files listings. + Permissions on files are set properly. + The package has a %clean section, which contains rm -rf %{buildroot} (or $RPM_BUILD_ROOT). + The package consistently uses macros. + The package contains code, or permissible content. 0 No extremely large documentation files. + Anything, the package includes as %doc, does not affect the runtime of the application. 0 No C/C++ header files. 0 No static libraries. 0 No pkgconfig(.pc) files. 0 The package doesn't contain library files with a suffix (e.g. libfoo.so.1.1). 0 No devel sub-package. + The package does NOT contain any .la libtool archives. 0 Not a GUI application. + The package does not own files or directories already owned by other packages. + At the beginning of %install, the package runs rm -rf %{buildroot} (or $RPM_BUILD_ROOT). + All filenames in rpm packages are valid UTF-8. I don't see any other issues so this package is APPROVED. please add me (FAS name 'peter') to the InitialCC list. I'd like to stay informed about changes in the Erlang-related packages.
New Package SCM Request ======================= Package Name: elixir Short Description: A modern approach to programming for the Erlang VM Owners: codeblock Branches: f17 InitialCC: peter
Git done (by process-git-requests).
elixir-0.5.0-1.20120526git6052352.fc17 has been submitted as an update for Fedora 17. https://admin.fedoraproject.org/updates/elixir-0.5.0-1.20120526git6052352.fc17
elixir-0.5.0-1.20120526git6052352.fc17 has been pushed to the Fedora 17 testing repository.
elixir-0.5.0-1.20120526git6052352.fc17 has been pushed to the Fedora 17 stable repository.
Package Change Request ====================== Package Name: elixir InitialCC: erlang-sig
Done.