Bug 971059 - Review Request: nimrod - A statically typed, imperative programming language
Summary: Review Request: nimrod - A statically typed, imperative programming language
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 578990 (view as bug list)
Depends On:
Blocks: FE-DEADREVIEW
TreeView+ depends on / blocked
 
Reported: 2013-06-05 15:04 UTC by Christopher Meng
Modified: 2015-08-21 09:32 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-08-21 09:32:18 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Christopher Meng 2013-06-05 15:04:09 UTC
Spec URL: http://cicku.me/nimrod.spec
SRPM URL: http://cicku.me/nimrod-0.9.2-1.fc20.src.rpm
Description: Nimrod is a statically typed, imperative programming language that tries to 
give the programmer ultimate power without compromises on runtime efficiency. 
This means it focuses on compile-time mechanisms in all their various forms.

Beneath a nice infix/indentation based syntax with a powerful (AST based, 
hygienic) macro system lies a semantic model that supports a soft realtime GC 
on thread local heaps. Asynchronous message passing is used between threads, 
so no "stop the world" mechanism is necessary. An unsafe shared memory heap 
is also provided for the increased efficiency that results from that model.
Fedora Account System Username: cicku

Comment 1 Christopher Meng 2013-06-05 15:29:56 UTC
*** Bug 578990 has been marked as a duplicate of this bug. ***

Comment 2 Mario Blättermann 2013-06-06 18:25:04 UTC
Note: Your request has been marked as FE-DEADREVIEW. This happens when you mark an older review request as a duplicate. In this case, the new request inherits some properties (CC list, flags) from the duplicated one. I will remove the FE-DEADREVIEW blocker now.

Comment 3 Mario Blättermann 2013-06-08 08:08:18 UTC
Replace /usr/lib/%{name}/ with %{_libdir}/%{name}/.

For most of the source files, no license is specified in their headers. But for one we have a certain license:

lib/wrappers/zip/libzip_all.c: BSD (2 clause)

That's why the license had to be "MIT and BSD". But there is another problem: The mentioned file contains code from libzip (as the header says), which is already in Fedora. You have to make sure that it won't be used in the build process. Remove it after unpacking the tarball and see what happens. Maybe you have to patch the sources to use libzip from Fedora, and add libzip-devel to BuildRequires.

Comment 4 Christopher Meng 2013-06-09 16:18:44 UTC
(In reply to Mario Blättermann from comment #3)
> Replace /usr/lib/%{name}/ with %{_libdir}/%{name}/.
> 
> For most of the source files, no license is specified in their headers. But
> for one we have a certain license:

Hi, currently we don't know if lib64 can work well as lib. But I think there is no problem. Fixed.

> lib/wrappers/zip/libzip_all.c: BSD (2 clause)
> 
> That's why the license had to be "MIT and BSD". But there is another
> problem: The mentioned file contains code from libzip (as the header says),
> which is already in Fedora. You have to make sure that it won't be used in
> the build process. Remove it after unpacking the tarball and see what
> happens. Maybe you have to patch the sources to use libzip from Fedora, and
> add libzip-devel to BuildRequires.

Well, some thing need claim from the author.

Comment 5 Christopher Meng 2013-06-14 09:57:11 UTC
(In reply to Mario Blättermann from comment #3)

Hi, after consulting with the author I can safely remove this file.


NEW SPEC URL: http://cicku.me/nimrod.spec
NEW SRPM URL: http://cicku.me/nimrod-0.9.2-2.fc20.src.rpm

Comment 6 Mario Blättermann 2013-06-16 11:40:34 UTC
Scratch build:
http://koji.fedoraproject.org/koji/taskinfo?taskID=5509118

$ rpmlint -i -v *
nimrod.i686: I: checking
nimrod.i686: W: spelling-error %description -l en_US runtime -> run time, run-time, rudiment
The value of this tag appears to be misspelled. Please double-check.

nimrod.i686: W: spelling-error %description -l en_US realtime -> mealtime, real time, real-time
The value of this tag appears to be misspelled. Please double-check.

nimrod.i686: I: checking-url http://nimrod-code.org (timeout 10 seconds)
nimrod.i686: W: only-non-binary-in-usr-lib
There are only non binary files in /usr/lib so they should be in /usr/share.

nimrod.i686: W: devel-file-in-non-devel-package /usr/lib/nimrod/nimbase.h
A development file (usually source code) is located in a non-devel package. If
you want to include source code in your package, be sure to create a
development package.

nimrod.i686: W: file-not-utf8 /usr/share/doc/nimrod-0.9.2/contributors.txt
The character encoding of this file is not UTF-8.  Consider converting it in
the specfile's %prep section for example using iconv(1).

nimrod.i686: E: incorrect-fsf-address /usr/lib/nimrod/wrappers/cairo/cairo.nim
The Free Software Foundation address in this file seems to be outdated or
misspelled.  Ask upstream to update the address, or if this is a license file,
possibly the entire file with a new copy available from the FSF.

nimrod.i686: W: no-manual-page-for-binary nimrod
Each executable in standard binary directories should have a man page.

nimrod.src: I: checking
nimrod.src: W: spelling-error %description -l en_US runtime -> run time, run-time, rudiment
The value of this tag appears to be misspelled. Please double-check.

nimrod.src: W: spelling-error %description -l en_US realtime -> mealtime, real time, real-time
The value of this tag appears to be misspelled. Please double-check.

nimrod.src: I: checking-url http://nimrod-code.org (timeout 10 seconds)
nimrod.src: I: checking-url http://nimrod-code.org/download/nimrod_0.9.2.zip (timeout 10 seconds)
nimrod.x86_64: I: checking
nimrod.x86_64: W: spelling-error %description -l en_US runtime -> run time, run-time, rudiment
The value of this tag appears to be misspelled. Please double-check.

nimrod.x86_64: W: spelling-error %description -l en_US realtime -> mealtime, real time, real-time
The value of this tag appears to be misspelled. Please double-check.

nimrod.x86_64: I: checking-url http://nimrod-code.org (timeout 10 seconds)
nimrod.x86_64: W: only-non-binary-in-usr-lib
There are only non binary files in /usr/lib so they should be in /usr/share.

nimrod.x86_64: W: file-not-utf8 /usr/share/doc/nimrod-0.9.2/contributors.txt
The character encoding of this file is not UTF-8.  Consider converting it in
the specfile's %prep section for example using iconv(1).

nimrod.x86_64: E: incorrect-fsf-address /usr/lib64/nimrod/wrappers/cairo/cairo.nim
The Free Software Foundation address in this file seems to be outdated or
misspelled.  Ask upstream to update the address, or if this is a license file,
possibly the entire file with a new copy available from the FSF.

nimrod.x86_64: W: devel-file-in-non-devel-package /usr/lib64/nimrod/nimbase.h
A development file (usually source code) is located in a non-devel package. If
you want to include source code in your package, be sure to create a
development package.

nimrod.x86_64: W: no-manual-page-for-binary nimrod
Each executable in standard binary directories should have a man page.

nimrod-debuginfo.i686: I: checking
nimrod-debuginfo.i686: I: checking-url http://nimrod-code.org (timeout 10 seconds)
nimrod-debuginfo.i686: E: debuginfo-without-sources
This debuginfo package appears to contain debug symbols but no source files.
This is often a sign of binaries being unexpectedly stripped too early during
the build, or being compiled without compiler debug flags (which again often
is a sign of distro's default compiler flags ignored which might have security
consequences), or other compiler flags which result in rpmbuild's debuginfo
extraction not working as expected.  Verify that the binaries are not
unexpectedly stripped and that the intended compiler flags are used.

nimrod-debuginfo.x86_64: I: checking
nimrod-debuginfo.x86_64: I: checking-url http://nimrod-code.org (timeout 10 seconds)
nimrod-debuginfo.x86_64: E: debuginfo-without-sources
This debuginfo package appears to contain debug symbols but no source files.
This is often a sign of binaries being unexpectedly stripped too early during
the build, or being compiled without compiler debug flags (which again often
is a sign of distro's default compiler flags ignored which might have security
consequences), or other compiler flags which result in rpmbuild's debuginfo
extraction not working as expected.  Verify that the binaries are not
unexpectedly stripped and that the intended compiler flags are used.

nimrod-doc.noarch: I: checking
nimrod-doc.noarch: I: checking-url http://nimrod-code.org (timeout 10 seconds)
nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/examples/cross_calculator/readme.txt
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/doc/readme.txt
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/doc/estp.txt
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/examples/cross_calculator/lazarus/nimlaz.lrs
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/examples/cross_calculator/lazarus/nimlaz.lpr
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/examples/sdlex.nim
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/examples/maximum.nim
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/doc/endb.txt
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/examples/tunit.nim
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/examples/cross_calculator/nimrod_backend/backend.nim
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/examples/cross_calculator/lazarus/readme.txt
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/doc/nimgrep.txt
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/examples/gtk/ex1.nim
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/examples/cross_calculator/lazarus/nimlaz.rc
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/doc/gc.txt
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: W: wrong-file-end-of-line-encoding /usr/share/doc/nimrod-doc-0.9.2/doc/nimrodc.txt
This file has wrong end-of-line encoding, usually caused by creation or
modification on a non-Unix system. It could prevent it from being displayed
correctly in some circumstances.

nimrod-doc.noarch: E: wrong-script-interpreter /usr/share/doc/nimrod-doc-0.9.2/examples/filterex.nim stdtmpl
This script uses an incorrect interpreter.

nimrod.spec: I: checking-url http://nimrod-code.org/download/nimrod_0.9.2.zip (timeout 10 seconds)
6 packages and 1 specfiles checked; 5 errors, 30 warnings.


The debuginfo packages are empty. You have to apply the correct compiler flags:
http://fedoraproject.org./wiki/Packaging:Guidelines#Compiler_flags

Some files have non-*nix line endings, this can be fixed with a sed command:
sed -i 's/\r//' <file_to_strip>
See also http://fedoraproject.org/wiki/Common_Rpmlint_issues#wrong-file-end-of-line-encoding

Don't bother with incorrect FSF addresses, just report them upstream.

All text files in a package have to be utf8-encoded, you have to fix it for contributors.txt.

For nimrod.h it needs to be investigated if it has to go into a -devel package. In general, this package needs some communication with the upstream people to clarify things.


Christopher, to avoid such long issue lists from rpmlint, you should always build your packages in a chroot environment (Mock, Koji) and feed rpmlint with the resulting packages. After fixing the issues for which a direct solution can be found in the guidelines (see the wiki links above), file your review ticket.

Comment 7 Miroslav Suchý 2015-08-21 09:32:18 UTC
No updates for years. I think it is fair to mark it as dead review and close. Feel free to reopen if you want to continue.


Note You need to log in before you can comment on or make changes to this bug.