Bug 623945

Summary: Review Request: nesc - Compiler used by TinyOS
Product: [Fedora] Fedora Reporter: Shakthi Kannan <shakthimaan>
Component: Package ReviewAssignee: Chitlesh GOORAH <chitlesh>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: chitlesh, fedora-package-review, notting, opensource, susi.lehtola
Target Milestone: ---Flags: chitlesh: fedora-review+
j: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: nesc-1.3.2-3.fc13 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-09-01 01:03:02 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Shakthi Kannan 2010-08-13 08:45:58 UTC
Spec URL: http://shakthimaan.fedorapeople.org/SPECS/nesc.spec
SRPM URL: http://shakthimaan.fedorapeople.org/SRPMS/nesc-1.3.2-1.fc13.src.rpm
Description: The nesC language was designed to support the TinyOS project. nesC provides several advantages over C: a component model based on bi-directional interfaces, whole-program compilation for performance and a simple concurrency model for embedded systems.

Comment 1 Shakthi Kannan 2010-08-13 08:48:31 UTC
$ rpmlint nesc.spec 
0 packages and 1 specfiles checked; 0 errors, 0 warnings.

$ rpmlint ../RPMS/i686/nesc-1.3.2-1.fc13.i686.rpm 
nesc.i686: W: manual-page-warning /usr/share/man/man1/nescc-ncg.1.gz 2: warning: `LO' not defined
nesc.i686: W: manual-page-warning /usr/share/man/man1/nescc-mig.1.gz 2: warning: `LO' not defined
nesc.i686: W: devel-file-in-non-devel-package /usr/lib/ncc/deputy_stage1.h
nesc.i686: W: manual-page-warning /usr/share/man/man1/nescc.1.gz 2: warning: `LO' not defined
nesc.i686: W: devel-file-in-non-devel-package /usr/lib/ncc/nesc_nx.h
nesc.i686: W: devel-file-in-non-devel-package /usr/lib/ncc/deputy_stage2.h
nesc.i686: W: devel-file-in-non-devel-package /usr/lib/ncc/deputy_nodeputy.h
nesc.i686: W: manual-page-warning /usr/share/man/man1/nescc-wiring.1.gz 2: warning: `LO' not defined
1 packages and 0 specfiles checked; 0 errors, 8 warnings.

$ rpmlint ../SRPMS/nesc-1.3.2-1.fc13.src.rpm 
1 packages and 0 specfiles checked; 0 errors, 0 warnings.

Successful Koji builds for F-13, F-14, EL-5 and EL-6:

http://koji.fedoraproject.org/koji/taskinfo?taskID=2399185
http://koji.fedoraproject.org/koji/taskinfo?taskID=2399189
http://koji.fedoraproject.org/koji/taskinfo?taskID=2399176
http://koji.fedoraproject.org/koji/taskinfo?taskID=2399181

To test nesc, create a file BlinkP.nc with the following:

=== BlinkP.nc ===

module BlinkP { }

implementation {
    int c;
    void increment() { c++;}
}

=== END ===

and compile using:

  $ nescc -c -fnesc-cfile=BlinkP.c BlinkP.nc

Comment 2 Susi Lehtola 2010-08-14 09:24:09 UTC
Url should be
 http://nescc.sourceforge.net/

and Summary should be e.g.
 "The nesC compiler"

Comment 3 Chitlesh GOORAH 2010-08-14 12:54:18 UTC
Shakthi,
update the URL as Jussi recommended, but keep your summary as is, since
with a package name "nesc", "The nesC compiler" does not convey much as information to the user.

- MUST: The package is named according to the Package Naming Guidelines.
- MUST: The spec file name matches the base package %{name}
- MUST: The package meets the Packaging Guidelines.
- MUST: The package is licensed with an open-source compatible license and
meet other legal requirements as defined in the legal section of Packaging
Guidelines.
- MUST: The License field in the package spec file matches the actual license.
- MUST: 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.
- MUST: The spec file must be written in American English.
- MUST: The spec file for the package is be legible. 
- MUST: The sources used to build the package must matches the upstream source,
as provided in the spec URL.
- MUST: The package successfully compiles and builds into binary rpms on at
least i386.
- MUST: All build dependencies is listed in BuildRequires.
- MUST: The spec file handles locales properly.
- MUST: If the package does not contain shared library files located in the
dynamic linker's default paths
- MUST: the package is not designed to be relocatable
- MUST: the package owns all directories that it creates.
- MUST: the package does not contain any duplicate files in the %files listing.
- MUST: Permissions on files are set properly.
- MUST: The package has a %clean section, which contains rm -rf %{buildroot}
(or
$RPM_BUILD_ROOT).
- MUST: The package consistently uses macros, as described in the macros
section
of Packaging Guidelines.
- MUST: The package contains code, or permissable content. This is described in
detail in the code vs. content section of Packaging Guidelines.
- MUST: There are no Large documentation files
- MUST: %doc does not affect the runtime of the application. To summarize: If
it
is in %doc, the program must run properly if it is not present.
- MUST: There are no Header files or static libraries 
- MUST: The package does not contain library files with a suffix 
- MUST: Package does NOT contain any .la libtool archives
- MUST: Package containing GUI applications includes a %{name}.desktop file,
and
that file must be properly installed with desktop-file-install in the %install
section.
- MUST: Package does not own files or directories already owned by other
packages. 

SHOULD Items:

 - SHOULD: The source package does include license text(s) as COPYING
 - SHOULD: mock builds succcessfully in i386.
 - SHOULD: The reviewer tested that the package functions as described. A
package should not segfault instead of running, for example.
 - SHOULD: No scriptlets were used, those scriptlets must be sane. 
 - SHOULD: No subpackages present.

Approved

Comment 5 Shakthi Kannan 2010-08-14 14:40:55 UTC
New Package CVS Request
=======================
Package Name: nesc
Short Description: Compiler used by TinyOS
Owners: shakthimaan chitlesh
Branches: F-13 F-14 EL-5 EL-6

Comment 6 Jason Tibbitts 2010-08-14 14:51:35 UTC
Git done (by process-git-requests).

Comment 7 Fedora Update System 2010-08-14 16:43:07 UTC
nesc-1.3.2-2.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/nesc-1.3.2-2.fc13

Comment 8 Fedora Update System 2010-08-14 16:43:13 UTC
nesc-1.3.2-2.fc14 has been submitted as an update for Fedora 14.
http://admin.fedoraproject.org/updates/nesc-1.3.2-2.fc14

Comment 9 Fedora Update System 2010-08-14 16:43:18 UTC
nesc-1.3.2-2.el5 has been submitted as an update for Fedora EPEL 5.
http://admin.fedoraproject.org/updates/nesc-1.3.2-2.el5

Comment 10 Susi Lehtola 2010-08-14 23:25:44 UTC
(In reply to comment #3)
> Shakthi,
> update the URL as Jussi recommended, but keep your summary as is, since
> with a package name "nesc", "The nesC compiler" does not convey much as
> information to the user.

Well, the odd thing here is that the tarball name is nesc instead of nescc, which it should be logically (nesC compiler).

I don't think "Compiler used by TinyOS" is a better summary than "The nesC compiler", since the former doesn't really hold any exact information about the package.

In general a project may have many requirements, so in general summaries like "library used by foo" are frowned upon.

Just my 2c.

Comment 11 Shakthi Kannan 2010-08-15 01:43:53 UTC
@Jussi:

Thanks for your feedback and comments.

nesC is a programming language, and nescc is the name of the compiler. "Compiler used by TinyOS" is more apt because the compiler was written for TinyOS, and not for any other OS.

Comment 12 Fedora Update System 2010-08-16 16:03:32 UTC
nesc-1.3.2-2.fc14 has been pushed to the Fedora 14 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 nesc'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/nesc-1.3.2-2.fc14

Comment 13 Fedora Update System 2010-08-16 17:35:38 UTC
nesc-1.3.2-2.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 nesc'.  You can provide feedback for this update here: http://admin.fedoraproject.org/updates/nesc-1.3.2-2.el5

Comment 14 Till Maas 2010-08-17 16:51:17 UTC
With this patch:
http://till.fedorapeople.org/tmp/nesc-1.3.1-vim-ftdetect.patch

And these commands:
# properly install vim syntax file
install -m 644 -p -D tools/editor-modes/vim/filetype.vim $RPM_BUILD_ROOT/%{_datadir}/vim/vimfiles/ftdetect/nesc.vim
install -m 644 -p -D tools/editor-modes/vim/nesc.vim $RPM_BUILD_ROOT/%{_datadir}/vim/vimfiles/syntax/nesc.vim

You can also properly install the nesc syntax files for vim.

Comment 15 Fedora Update System 2010-08-18 04:28:52 UTC
nesc-1.3.2-3.fc14 has been submitted as an update for Fedora 14.
http://admin.fedoraproject.org/updates/nesc-1.3.2-3.fc14

Comment 16 Fedora Update System 2010-08-18 04:28:57 UTC
nesc-1.3.2-3.fc13 has been submitted as an update for Fedora 13.
http://admin.fedoraproject.org/updates/nesc-1.3.2-3.fc13

Comment 17 Fedora Update System 2010-09-01 01:02:56 UTC
nesc-1.3.2-2.el5 has been pushed to the Fedora EPEL 5 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 18 Fedora Update System 2010-09-02 03:59:13 UTC
nesc-1.3.2-3.fc14 has been pushed to the Fedora 14 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 19 Fedora Update System 2010-09-02 20:40:34 UTC
nesc-1.3.2-3.fc13 has been pushed to the Fedora 13 stable repository.  If problems still persist, please make note of it in this bug report.