Bug 810619

Summary: Review Request: hop - A web development kit
Product: [Fedora] Fedora Reporter: Michel Lind <michel>
Component: Package ReviewAssignee: Jerry James <loganjerry>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: loganjerry, notting, package-review
Target Milestone: ---Flags: loganjerry: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-05-26 07:29:16 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 Michel Lind 2012-04-07 09:25:35 UTC
Spec URL: http://salimma.fedorapeople.org/specs/funpl/hop.spec
SRPM URL: http://salimma.fedorapeople.org/specs/funpl/hop-2.3.0-0.rc2.1.fc17.src.rpm
Description:
Hop is a new programming language designed for the Web 2.0. It is a
higher-order language for programming interactive web applications
such as web agendas, web galleries, music players, etc. Hop can be
viewed as a replacement for traditional graphical toolkits. HOP is
implemented as a Web broker, i.e., a Web server that may act
indifferently as a regular Web server or Web proxy.

Comment 1 Jerry James 2012-04-18 15:45:31 UTC
On my x86_64 Fedora 16 machine, at least, rpmbuild fails like this:

+ cd hop-2.3.0-rc2
+ /bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ iconv -f ISO-8859-1 ChangeLog
iconv: illegal input sequence at position 81696
error: Bad exit status from /var/tmp/rpm-tmp.fjhT9i (%prep)

Adding an explicit "-t utf-8" to the iconv invocation fixes the problem.  Hmmm, that must mean that it defaults to something else (ASCII?).  But I've got LANG=en_US.utf8, and none of the LC_* variables are set, so I don't understand this.

Anyway, I'll continue the review with "-t utf-8" added.

Comment 2 Jerry James 2012-04-18 15:47:36 UTC
I will review this package

Comment 3 Jerry James 2012-04-18 15:53:01 UTC
Ignore that last comment.  That was fedora-review trying to be helpful. :-)

The same iconv problem happens when building in mock, so it isn't just something weird about my desktop machine.  FYI.

Comment 4 Jerry James 2012-04-18 16:46:03 UTC
Package Review
==============

Key:
- = N/A
x = Pass
! = Fail
? = Not evaluated



==== 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.
[!]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.

     A BR on sqlite-devel is also necessary.

[x]: MUST Buildroot is not present
     Note: Unless packager wants to package for EPEL5 this is fine
[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 would be needed if support for EPEL is required
[x]: MUST Sources contain only permissible code or content.
[x]: MUST %config files are marked noreplace or the reason is justified.
[x]: MUST Each %files section contains %defattr if rpm < 4.4
     Note: Note: defattr macros not found. They would be needed for EPEL5
[x]: MUST Macros in Summary, %description expandable at SRPM build time.
[x]: MUST Package requires other packages for directories it uses.
[x]: MUST Package uses nothing in %doc for runtime.
[!]: MUST Package is not known to require ExcludeArch.

     Since bigloo has ExcludeArch: ppc64, this package must also.

[x]: MUST Permissions on files are set properly.
[x]: MUST Package does not contain duplicates in %files.
[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 Package consistently uses macros (instead of hard-coded directory
     names).
[x]: MUST Package is named according to the Package Naming Guidelines.
[x]: MUST No %config files under /usr.
[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 hop-2.3.0-0.rc2.1.fc18.src.rpm

hop.src: W: spelling-error %description -l en_US toolkits -> toolkit, tool kits, tool-kits
hop.src: W: invalid-url URL: http://hop.inria.fr/ HTTP Error 500: Internal Server Error
hop.src: W: invalid-url Source0: ftp://ftp-sop.inria.fr/indes/fp/Hop/hop-2.3.0-rc2.tar.gz <urlopen error ftp error: timed out>
1 packages and 0 specfiles checked; 0 errors, 3 warnings.


rpmlint hop-2.3.0-0.rc2.1.fc18.i686.rpm

hop.i686: W: spelling-error %description -l en_US toolkits -> toolkit, tool kits, tool-kits
hop.i686: W: invalid-url URL: http://hop.inria.fr/ HTTP Error 500: Internal Server Error
hop.i686: W: obsolete-not-provided scheme2js
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/epassword/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/dashboard/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/weblets/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/color/.afile
hop.i686: W: hidden-file-or-dir /usr/share/hop/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/hz/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/test/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/hop/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/doc/.afile
hop.i686: E: zero-length /usr/lib/hop/2.3.0/weblets/dashboard/etc/dashboard-rfc.png
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/shutdown/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/wizard/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/trace/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/info/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/wiki/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/home/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/hzbuilder/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/webfilter/.afile
hop.i686: W: no-manual-page-for-binary hopc
hop.i686: W: no-manual-page-for-binary hop-2.3.0
1 packages and 0 specfiles checked; 1 errors, 22 warnings.


rpmlint hop-debuginfo-2.3.0-0.rc2.1.fc18.i686.rpm

hop-debuginfo.i686: W: invalid-url URL: http://hop.inria.fr/ HTTP Error 500: Internal Server Error
hop-debuginfo.i686: E: non-standard-dir-perm /usr/src/debug/tmp 01777L
hop-debuginfo.i686: E: debuginfo-without-sources
1 packages and 0 specfiles checked; 2 errors, 1 warnings.


[?]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
     Unable to download the file from the web server.  I consistently get
     HTTP 425: Failed to establish connection.
[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.
[-]: 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).
[x]: SHOULD Package functions as described.
[x]: SHOULD Latest version is packaged.
[x]: SHOULD Package does not include license text files separate from
     upstream.
[!]: SHOULD SourceX is a working URL.
[x]: SHOULD Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: SHOULD Package should compile and build into binary rpms on all supported
     architectures.
[!]: SHOULD %check is present and all tests pass.
     There does not appear to be any upstream test suite.
[x]: SHOULD Packages should try to preserve timestamps of original installed
     files.
[x]: SHOULD Spec use %global instead of %define.

Issues:
[!]: MUST All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
     A BR on sqlite-devel is also necessary.
[!]: MUST Package is not known to require ExcludeArch.
     Since bigloo has ExcludeArch: ppc64, this package must also.
[!]: 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 Rpmlint output is silent.

rpmlint hop-2.3.0-0.rc2.1.fc18.src.rpm

hop.src: W: spelling-error %description -l en_US toolkits -> toolkit, tool kits, tool-kits
hop.src: W: invalid-url URL: http://hop.inria.fr/ HTTP Error 500: Internal Server Error
hop.src: W: invalid-url Source0: ftp://ftp-sop.inria.fr/indes/fp/Hop/hop-2.3.0-rc2.tar.gz <urlopen error ftp error: timed out>
1 packages and 0 specfiles checked; 0 errors, 3 warnings.


rpmlint hop-2.3.0-0.rc2.1.fc18.i686.rpm

hop.i686: W: spelling-error %description -l en_US toolkits -> toolkit, tool kits, tool-kits
hop.i686: W: invalid-url URL: http://hop.inria.fr/ HTTP Error 500: Internal Server Error
hop.i686: W: obsolete-not-provided scheme2js
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/epassword/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/dashboard/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/weblets/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/color/.afile
hop.i686: W: hidden-file-or-dir /usr/share/hop/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/hz/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/test/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/hop/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/doc/.afile
hop.i686: E: zero-length /usr/lib/hop/2.3.0/weblets/dashboard/etc/dashboard-rfc.png
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/shutdown/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/wizard/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/trace/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/info/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/wiki/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/home/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/hzbuilder/.afile
hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/webfilter/.afile
hop.i686: W: no-manual-page-for-binary hopc
hop.i686: W: no-manual-page-for-binary hop-2.3.0
1 packages and 0 specfiles checked; 1 errors, 22 warnings.


rpmlint hop-debuginfo-2.3.0-0.rc2.1.fc18.i686.rpm

hop-debuginfo.i686: W: invalid-url URL: http://hop.inria.fr/ HTTP Error 500: Internal Server Error
hop-debuginfo.i686: E: non-standard-dir-perm /usr/src/debug/tmp 01777L
hop-debuginfo.i686: E: debuginfo-without-sources
1 packages and 0 specfiles checked; 2 errors, 1 warnings.


See: http://fedoraproject.org/wiki/Packaging/Guidelines#rpmlint
[?]: MUST Sources used to build the package match the upstream source, as
     provided in the spec URL.
     Unable to download the file from the web server.  I consistently get
     HTTP 425: Failed to establish connection.

See: http://fedoraproject.org/wiki/Packaging/SourceURL
[!]: SHOULD SourceX is a working URL.
     This appears to be an upstream problem.

Generated by fedora-review 0.1.3
External plugins:

Comment 5 Michel Lind 2012-05-03 12:08:14 UTC
(In reply to comment #4)
> [!]: MUST All build dependencies are listed in BuildRequires, except for any
>      that are listed in the exceptions section of Packaging Guidelines.
> 
>      A BR on sqlite-devel is also necessary.
> 
Added, thanks

> [!]: MUST Package is not known to require ExcludeArch.
> 
>      Since bigloo has ExcludeArch: ppc64, this package must also.
> 
Added

> [!]: 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
Ah, yes; the bigloo version there is too old so we won't be supporting it. Removed.

> [!]: MUST Rpmlint output is silent.
> 
> rpmlint hop-2.3.0-0.rc2.1.fc18.src.rpm
> 
> hop.src: W: spelling-error %description -l en_US toolkits -> toolkit, tool
> kits, tool-kits

This is surely a problem with the dictionary not being comprehensive. I'll ignore this unless you have strong objections?

> hop.src: W: invalid-url URL: http://hop.inria.fr/ HTTP Error 500: Internal
> Server Error
> hop.src: W: invalid-url Source0:
> ftp://ftp-sop.inria.fr/indes/fp/Hop/hop-2.3.0-rc2.tar.gz <urlopen error ftp
> error: timed out>
> 1 packages and 0 specfiles checked; 0 errors, 3 warnings.
> 
2.3.0 final is out and the RC tarball has been removed; I've updated the spec

> hop.i686: W: obsolete-not-provided scheme2js

Explained in the spec comment -- this is not an apple-for-apple replacement for scheme2js, and there's no need to provide the old package since the old version is not a dependency of anything:

http://fedoraproject.org/wiki/Packaging:Guidelines#Renaming.2FReplacing_Existing_Packages
http://fedoraproject.org/wiki/Upgrade_paths_%E2%80%94_renaming_or_splitting_packages#Do_I_need_to_Provide_my_old_package_names.3F

> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/epassword/.afile
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/dashboard/.afile
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/weblets/.afile
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/color/.afile
> hop.i686: W: hidden-file-or-dir /usr/share/hop/.afile
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/hz/.afile
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/test/.afile
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/hop/.afile
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/doc/.afile
> hop.i686: E: zero-length
> /usr/lib/hop/2.3.0/weblets/dashboard/etc/dashboard-rfc.png
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/shutdown/.afile
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/wizard/.afile
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/trace/.afile
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/info/.afile
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/wiki/.afile
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/home/.afile
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/hzbuilder/.afile
> hop.i686: W: hidden-file-or-dir /usr/lib/hop/2.3.0/weblets/webfilter/.afile
> hop.i686: W: no-manual-page-for-binary hopc
> hop.i686: W: no-manual-page-for-binary hop-2.3.0
> 1 packages and 0 specfiles checked; 1 errors, 22 warnings.
> 
The .afile files have substantial information inside them, so I wouldn't remove them without checking with upstream first.

manpages problems are just warnings, and with the zero-length image files, it's probably better that they are zero-length than if they're not found (and thus causing artifacts on displayed web pages that link to them?)

> 
> rpmlint hop-debuginfo-2.3.0-0.rc2.1.fc18.i686.rpm
> 
> hop-debuginfo.i686: W: invalid-url URL: http://hop.inria.fr/ HTTP Error 500:
> Internal Server Error
> hop-debuginfo.i686: E: non-standard-dir-perm /usr/src/debug/tmp 01777L
> hop-debuginfo.i686: E: debuginfo-without-sources
> 1 packages and 0 specfiles checked; 2 errors, 1 warnings.
> 
I'll probably just disable the debuginfo generation

> [!]: SHOULD SourceX is a working URL.
Fixed

> [!]: SHOULD %check is present and all tests pass.
>      There does not appear to be any upstream test suite.


I wonder who added the requirement that rpmlint output "MUST" be silent? Some warnings are inevitable, and sometimes even errors are just false positives.

Will post the updated package soon.

Comment 6 Michel Lind 2012-05-03 12:38:32 UTC
Updated spec and SRPM:
http://salimma.fedorapeople.org/specs/funpl/hop.spec
http://salimma.fedorapeople.org/specs/funpl/hop-2.3.0-1.fc17.src.rpm

Apart from the .afile and 0-length images, everything should be fine (oh, the website hop.inria.fr is still down too)

Comment 7 Jerry James 2012-05-03 20:35:53 UTC
(In reply to comment #5)
> (In reply to comment #4)
> This is surely a problem with the dictionary not being comprehensive. I'll
> ignore this unless you have strong objections?

No objection.  The dictionary we use is so lacking in technical terms that it is almost useless, in my opinion.  I tend to ignore the spell check results.

> I wonder who added the requirement that rpmlint output "MUST" be silent? Some
> warnings are inevitable, and sometimes even errors are just false positives.

I agree.

This version has fixed or explained all of the MUST items, so it is APPROVED.

FYI, bigloo 3.8b was just released.  I will try to get it built in time for the next Rawhide compose.

Comment 8 Michel Lind 2012-05-04 04:49:41 UTC
Thanks. I'm requesting the f17 branch only, as scheme2js is still working in f16, and I'm assuming you don't want to push bigloo 3.8 there.

New Package SCM Request
=======================
Package Name: hop
Short Description: A web development kit
Owners: salimma
Branches: f17
InitialCC:

Comment 9 Gwyn Ciesla 2012-05-04 12:22:13 UTC
Git done (by process-git-requests).

Comment 10 Jerry James 2012-05-04 14:07:42 UTC
(In reply to comment #8)
> Thanks. I'm requesting the f17 branch only, as scheme2js is still working in
> f16, and I'm assuming you don't want to push bigloo 3.8 there.

Yes, that's right.  I should have created the buildroot override for you.  Sorry about that.  It's a good thing you can take care of that yourself.

Comment 11 Fedora Update System 2012-05-04 14:23:39 UTC
hop-2.3.0-1.fc17 has been submitted as an update for Fedora 17.
https://admin.fedoraproject.org/updates/hop-2.3.0-1.fc17

Comment 12 Michel Lind 2012-05-04 15:03:37 UTC
(In reply to comment #10)
> (In reply to comment #8)
> > Thanks. I'm requesting the f17 branch only, as scheme2js is still working in
> > f16, and I'm assuming you don't want to push bigloo 3.8 there.
> 
> Yes, that's right.  I should have created the buildroot override for you. 
> Sorry about that.  It's a good thing you can take care of that yourself.

No problem -- if you had created it before the review is done it might have expired (and Bodhi is a bit fussy when that happens - you need to find the original override and renew it, you can't create a new one!)

Comment 13 Fedora Update System 2012-05-04 22:16:23 UTC
hop-2.3.0-1.fc17 has been pushed to the Fedora 17 testing repository.

Comment 14 Fedora Update System 2012-05-26 07:29:16 UTC
hop-2.3.0-1.fc17 has been pushed to the Fedora 17 stable repository.