Bug 1166916 (fuzzynet)

Summary: Review Request: fuzzynet - Fuzzy Logic Library for Mono
Product: [Fedora] Fedora Reporter: Raphael Groner <projects.rg>
Component: Package ReviewAssignee: gil cattaneo <puntogil>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: medium    
Version: rawhideCC: besser82, extras-qa, matthias, package-review, puntogil
Target Milestone: ---Flags: puntogil: fedora-review?
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard: NotReady
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2016-11-05 21:41:58 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:
Bug Depends On: 1089278, 1089426, 1220138, 1221559    
Bug Blocks: 1159091    

Description Raphael Groner 2014-11-21 23:36:14 UTC
Spec URL: https://raphgro.fedorapeople.org/review/mono/fuzzynet/fuzzynet.spec
SRPM URL: https://raphgro.fedorapeople.org/review/mono/fuzzynet/fuzzynet-1.2.0-1.fc20.src.rpm
Description: Fuzzy Logic Library for Mono
Fedora Account System Username: raphgro

koji rawhide: https://koji.fedoraproject.org/koji/taskinfo?taskID=8204933

Comment 1 Björn 'besser82' Esser 2014-12-14 10:13:28 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated


===== MUST items =====

Generic:
[!]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.

---> Cannot find any license-info in package, license-file nor sources…

[-]: 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.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "Unknown or generated". 23 files have unknown license. Detailed output of
     licensecheck in
     /home/besser82/shared/fedora/review/1166916-fuzzynet/licensecheck.txt

---> Cannot verify license…

[-]: License file installed when any subpackage combination is installed.
[-]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[!]: Sources contain only permissible code or content.

---> License?!?

[-]: Package contains desktop file if it is a GUI application.
[!]: Development files must be in a -devel package

---> There are no devel-files but only documentation in -devel-pkg.

[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).

---> Execption for /usr/lib/ with Mono.

[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[!]: Spec file is legible and written in American English.

---> See remarks below…

[-]: Package contains systemd file(s) if in need.
[!]: Useful -debuginfo package or justification otherwise.

---> Empty debuginfo

[!]: Package is not known to require an ExcludeArch tag.

---> There are arches known which are not working with Mono…

[!]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 184320 bytes in 21 files.

---> Move the documentation to the main-pkg and drop the devel-pkg, please.

[!]: Package complies to the Packaging Guidelines

---> *SEVERE* issues are present!

[x]: Package successfully compiles and builds into binary rpms on at least one
     supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any that
     are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install' ' DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package do not use a name that already exist
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as provided
     in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local


===== SHOULD items =====

Generic:
[!]: If the source package does not include license text(s) as a separate file
     from upstream, the packager SHOULD query upstream to include it.

---> Cannot find any hint about that in upstream's bugtracker >.>

[x]: Final provides and requires are sane (see attachments).
[-]: Fully versioned dependency in subpackages if applicable.
     Note: No Requires: %{name}%{?_isa} = %{version}-%{release} in fuzzynet-
     devel

---> -devel-pkg is obsolete and NOT useful.

[?]: Package functions as described.
[?]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[?]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[?]: Packages should try to preserve timestamps of original installed files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: Sources can be downloaded from URI in Source: tag
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: Dist tag is present (not strictly required in GL).
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.


===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package is
     arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: fuzzynet-1.2.0-1.fc22.x86_64.rpm
          fuzzynet-devel-1.2.0-1.fc22.x86_64.rpm
          fuzzynet-1.2.0-1.fc22.src.rpm
fuzzynet.x86_64: E: no-binary
fuzzynet.x86_64: W: only-non-binary-in-usr-lib
fuzzynet.x86_64: W: no-documentation
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/Properties/Resources.Designer.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/MainForm.Designer.cs
fuzzynet-devel.x86_64: W: file-not-utf8 /usr/share/doc/fuzzynet-devel/CruiseControlSample/MainForm.Designer.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/Program.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/Properties/Resources.Designer.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/TipsSample.csproj
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/Properties/Resources.resx
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/Properties/Settings.Designer.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/Properties/AssemblyInfo.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/Properties/Settings.settings
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/MainForm.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/MainForm.resx
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/MainForm.resx
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/CruiseControlSample.csproj
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/MainForm.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/MainForm.Designer.cs
fuzzynet-devel.x86_64: W: file-not-utf8 /usr/share/doc/fuzzynet-devel/TipsSample/MainForm.Designer.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/Properties/Resources.resx
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/Properties/Settings.settings
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/Properties/AssemblyInfo.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/Properties/Settings.Designer.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/Program.cs
fuzzynet.src:2: E: hardcoded-library-path in %{_prefix}/lib/%{name}
fuzzynet.src:55: W: macro-in-comment %{buildroot}
fuzzynet.src:55: W: macro-in-comment %{_defaultdocdir}
fuzzynet.src:64: W: macro-in-comment %{name}
fuzzynet.src:64: W: macro-in-comment %{name}
fuzzynet.src: W: invalid-url Source1: http://sf.net/projects/fuzzynet/files/fuzzynet/fuzzynet%20v1.2.0%20%28beta%29/fuzzynet_1.2.0.chm#/fuzzynet.chm HTTP Error 404: Not Found
fuzzynet.src: W: invalid-url Source0: http://sf.net/projects/fuzzynet/files/fuzzynet/fuzzynet%20v1.2.0%20%28beta%29/fuzzynet_1.2.0.zip#/fuzzynet-1.2.0.zip HTTP Error 404: Not Found
3 packages and 0 specfiles checked; 2 errors, 30 warnings.




Rpmlint (installed packages)
----------------------------
]0;<mock-chroot><mock-chroot>[root@x220 /]# rpmlint fuzzynet-devel fuzzynet
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/Properties/Resources.Designer.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/MainForm.Designer.cs
fuzzynet-devel.x86_64: W: file-not-utf8 /usr/share/doc/fuzzynet-devel/CruiseControlSample/MainForm.Designer.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/Program.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/Properties/Resources.Designer.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/TipsSample.csproj
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/Properties/Resources.resx
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/Properties/Settings.Designer.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/Properties/AssemblyInfo.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/Properties/Settings.settings
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/MainForm.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/MainForm.resx
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/MainForm.resx
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/CruiseControlSample.csproj
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/MainForm.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/MainForm.Designer.cs
fuzzynet-devel.x86_64: W: file-not-utf8 /usr/share/doc/fuzzynet-devel/TipsSample/MainForm.Designer.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/Properties/Resources.resx
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/Properties/Settings.settings
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/TipsSample/Properties/AssemblyInfo.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/Properties/Settings.Designer.cs
fuzzynet-devel.x86_64: W: wrong-file-end-of-line-encoding /usr/share/doc/fuzzynet-devel/CruiseControlSample/Program.cs
fuzzynet.x86_64: E: no-binary
fuzzynet.x86_64: W: only-non-binary-in-usr-lib
fuzzynet.x86_64: W: no-documentation
2 packages and 0 specfiles checked; 1 errors, 24 warnings.
]0;<mock-chroot><mock-chroot>[root@x220 /]# echo 'rpmlint-done:'


---> Fix those wrong eol-encodings, not-utf8 and macro-in-comment messages


Requires
--------
fuzzynet-devel (rpmlib, GLIBC filtered):
    fuzzynet
    pkgconfig

fuzzynet (rpmlib, GLIBC filtered):
    mono(mscorlib)



Provides
--------
fuzzynet-devel:
    fuzzynet-devel
    fuzzynet-devel(x86-64)

fuzzynet:
    fuzzynet
    fuzzynet(x86-64)
    mono(FuzzyLogicLibrary)



Source checksums
----------------
http://sf.net/projects/fuzzynet/files/fuzzynet/fuzzynet v1.2.0 (beta)/fuzzynet_1_2_0.zip#/fuzzynet-1.2.0.zip :
  CHECKSUM(SHA256) this package     : a9cf6019dc8f9d1db63b20d9b1eafaf11ab501008f747b46edf0fa93294681bf
  CHECKSUM(SHA256) upstream package : a9cf6019dc8f9d1db63b20d9b1eafaf11ab501008f747b46edf0fa93294681bf
http://sf.net/projects/fuzzynet/files/fuzzynet/fuzzynet v1.2.0 (beta)/fuzzynet_1_2_0.chm#/fuzzynet.chm :
  CHECKSUM(SHA256) this package     : be04098140f0ad5c36167cfd7107f80b06319c83a42f4a70b76d2060ec775e44
  CHECKSUM(SHA256) upstream package : be04098140f0ad5c36167cfd7107f80b06319c83a42f4a70b76d2060ec775e44


Generated by fedora-review 0.5.2 (63c24cb) last change: 2014-07-14
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1166916
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api
Disabled plugins: Java, C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG


===== Further remarks =====

* What does this sh*t do?

    rm -rf %{source}
    unzip -q %{SOURCE0} -d %{source}
    %setup -DTn%{source}

  Using `%setup -qc` solves your problem…


* %SOURCE1 is not versioned…

  Make this versioned and use `cp -a %{SOURCE1} %{name}.chm`


* Using pushd / popd is preferred over using cd


* Using mkdir -p ist preferred over install -d because you can
  create several dirs with one invocation.


* You can shorten the SourceX-Urls with using %{url} for the
  common portion.


* URL *never* ends on a slash '/'.


===== Solution =====

**NOT** approved, fix those severe stuff  and I'll have another run.

Comment 3 Björn 'besser82' Esser 2014-12-15 08:08:35 UTC
from current spec-file:

  # license https://sf.net/p/%{name}/discussion/793047/thread/c1b1867f/
  Source10:       http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt

dafuq?  Thou shall not includeth license-files which are not in tarball!

Comment 4 Raphael Groner 2015-01-08 20:34:23 UTC
Setting *depends* on openra review cause that library has no other intention currently than to unbundle from openra.

Comment 6 Raphael Groner 2015-01-10 23:29:26 UTC
Now with all ExclusiveArchs.

http://koji.fedoraproject.org/koji/taskinfo?taskID=8585916

Comment 8 Raphael Groner 2015-01-26 16:13:52 UTC
ping?

Comment 9 Raphael Groner 2015-01-28 14:38:56 UTC
No reply since over two weeks, removing assigned reviewer due to I guess it is no interest any more.

Comment 10 Raphael Groner 2015-10-09 22:20:10 UTC
Spec URL: https://raphgro.fedorapeople.org/review/openra/fuzzynet.spec
SRPM URL: https://raphgro.fedorapeople.org/review/openra/fuzzynet-1.2.0-0.4.beta.fc23.src.rpm

http://koji.fedoraproject.org/koji/taskinfo?taskID=11390816

* Wed Oct 07 2015 Raphael Groner <> - 1.2.0-0.4.beta
- rebuild with mono4
- use gacutil
- sign assembly
- replace dos2unix with iconv
- replace b0rken chm2pdf (rhbz#1265419) with chmlib

Comment 11 Upstream Release Monitoring 2015-10-09 22:23:16 UTC
raphgro's scratch build of fuzzynet-1.2.0-0.4.beta.fc23.src.rpm for rawhide completed http://koji.fedoraproject.org/koji/taskinfo?taskID=11390816

Comment 12 Raphael Groner 2016-05-14 19:23:33 UTC
Spec URL: https://raphgro.fedorapeople.org/review/openra/fuzzynet.spec
SRPM URL: https://raphgro.fedorapeople.org/review/openra/fuzzynet-1.2.0-0.5.beta.fc23.src.rpm

%changelog
* Sat May 14 2016 Raphael Groner <> - 1.2.0-0.5.beta
- fix folder ownership
- split pkgconfig into devel subpackage

Comment 13 gil cattaneo 2016-05-17 10:47:43 UTC
Hi
Again my apologize. I explained here [1] why i can't review immediately this package. If, meanwhile, comes forward someone else then I have no problem to leave review.

[1] https://bugzilla.redhat.com/show_bug.cgi?id=1202231#c4

Comment 14 Raphael Groner 2016-05-17 10:49:04 UTC
(In reply to gil cattaneo from comment #13)
> Hi
> Again my apologize. I explained here [1] why i can't review immediately this
> package. If, meanwhile, comes forward someone else then I have no problem to
> leave review.
> 
> [1] https://bugzilla.redhat.com/show_bug.cgi?id=1202231#c4

No problem. Take your time and thanks for your interest. :)

Comment 15 Raphael Groner 2016-05-17 12:50:39 UTC
We should set status to ASSIGNED. fedora-review flag does not make any sense without.

Comment 17 Raphael Groner 2016-05-21 14:30:02 UTC
Right! Sorry for the typo.

Comment 18 gil cattaneo 2016-05-21 15:09:27 UTC
Package Review
==============

Legend:
[x] = Pass, [!] = Fail, [-] = Not applicable, [?] = Not evaluated
[ ] = Manual review needed



===== MUST items =====

Generic:
[?]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[-]: 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 %license.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Unknown or generated". 23 files have unknown license. Detailed
     output of licensecheck in /home/gil/1166916-fuzzynet/licensecheck.txt

Most of the source code files provides this header,
but do not explain what license is applied

/*
 * 
 * fuzzynet: Fuzzy Logic Library for Microsoft .NET
 * Copyright (C) 2008 Dmitry Kaluzhny  (kaluzhny_dmitrie)
 * 
 * */
 
These files are without license headers

fuzzynet-1.2.0/CruiseControlSample/MainForm.Designer.cs
fuzzynet-1.2.0/CruiseControlSample/MainForm.cs
fuzzynet-1.2.0/CruiseControlSample/Program.cs
fuzzynet-1.2.0/CruiseControlSample/Properties/AssemblyInfo.cs
fuzzynet-1.2.0/CruiseControlSample/Properties/Resources.Designer.cs
fuzzynet-1.2.0/CruiseControlSample/Properties/Settings.Designer.cs
fuzzynet-1.2.0/FuzzyLogicLibrary/Properties/AssemblyInfo.cs
fuzzynet-1.2.0/TipsSample/MainForm.Designer.cs
fuzzynet-1.2.0/TipsSample/MainForm.cs
fuzzynet-1.2.0/TipsSample/Program.cs
fuzzynet-1.2.0/TipsSample/Properties/AssemblyInfo.cs
fuzzynet-1.2.0/TipsSample/Properties/Resources.Designer.cs
fuzzynet-1.2.0/TipsSample/Properties/Settings.Designer.cs

[-]: License file installed when any subpackage combination is installed.
[-]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[?]: Sources contain only permissible code or content.

 Impossible for me to determine whether the source code under the
 GPLv2 license as stated in http://sf.net/projects/fuzzynet
 
[-]: Package contains desktop file if it is a GUI application.
[x]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[!]: Package consistently uses macros (instead of hard-coded directory
     names).

 gacutil -i %{libname}/bin/Debug/%{libname}.dll -f -package %{name} -root %{buildroot}/usr/lib
 Please use %{_libdir}
 
[x]: Package is named according to the Package Naming Guidelines.
[x]: Package does not generate any conflict.
[x]: Package obeys FHS, except libexecdir and /usr/target.
[-]: If the package is a rename of another package, proper Obsoletes and
     Provides are present.
[x]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[-]: Useful -debuginfo package or justification otherwise.
[-]: Package is not known to require an ExcludeArch tag.
[-]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 716800 bytes in 215 files.
[?]: Package complies to the Packaging Guidelines
[x]: Package successfully compiles and builds into binary rpms on at least
     one supported primary architecture.
[x]: Package installs properly.
[x]: Rpmlint is run on all rpms the build produces.
     Note: There are rpmlint messages (see attachment).
[x]: Package requires other packages for directories it uses.
[x]: Package must own all directories that it creates.
[x]: Package does not own files or directories owned by other packages.
[x]: All build dependencies are listed in BuildRequires, except for any
     that are listed in the exceptions section of Packaging Guidelines.
[x]: Package uses either %{buildroot} or $RPM_BUILD_ROOT
[x]: Package does not run rm -rf %{buildroot} (or $RPM_BUILD_ROOT) at the
     beginning of %install.
[x]: Macros in Summary, %description expandable at SRPM build time.
[x]: Dist tag is present.
[x]: Package does not contain duplicates in %files.
[x]: Permissions on files are set properly.
[x]: Package use %makeinstall only when make install DESTDIR=... doesn't
     work.
[x]: Package is named using only allowed ASCII characters.
[x]: Package does not use a name that already exists.
[x]: Package is not relocatable.
[x]: Sources used to build the package match the upstream source, as
     provided in the spec URL.
[x]: Spec file name must match the spec package %{name}, in the format
     %{name}.spec.
[x]: File names are valid UTF-8.
[x]: Packages must not store files under /srv, /opt or /usr/local

===== SHOULD items =====

Generic:
[x]: If the source package does not include license text(s) as a separate
     file from upstream, the packager SHOULD query upstream to include it.
    Please
[x]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[!]: Package does not include license text files separate from upstream.
[!]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.
[x]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[!]: %check is present and all tests pass.
[?]: Packages should try to preserve timestamps of original installed
     files.
[x]: Reviewer should test that the package builds in mock.
[x]: Buildroot is not present
[x]: Package has no %clean section with rm -rf %{buildroot} (or
     $RPM_BUILD_ROOT)
[x]: No file requires outside of /etc, /bin, /sbin, /usr/bin, /usr/sbin.
[x]: Fully versioned dependency in subpackages if applicable.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[x]: The placement of pkgconfig(.pc) files are correct.
[x]: Sources can be downloaded from URI in Source: tag
[x]: SourceX is a working URL.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[x]: Spec use %global instead of %define unless justified.

===== EXTRA items =====

Generic:
[x]: Rpmlint is run on all installed packages.
     Note: There are rpmlint messages (see attachment).
[x]: Large data in /usr/share should live in a noarch subpackage if package
     is arched.
[x]: Spec file according to URL is the same as in SRPM.


Rpmlint
-------
Checking: fuzzynet-1.2.0-0.5.beta.fc25.i686.rpm
          fuzzynet-devel-1.2.0-0.5.beta.fc25.i686.rpm
          fuzzynet-1.2.0-0.5.beta.fc25.src.rpm
fuzzynet.i686: E: no-binary
fuzzynet.i686: W: only-non-binary-in-usr-lib
fuzzynet-devel.i686: W: no-documentation
fuzzynet.src:65: E: hardcoded-library-path in %{buildroot}/usr/lib
fuzzynet.src: W: invalid-url Source1: http://sf.net/projects/fuzzynet/files/fuzzynet/fuzzynet%20v1.2.0%20%28beta%29/fuzzynet_1.2.0.chm#/fuzzynet-1.2.0.chm HTTP Error 404: Not Found
fuzzynet.src: W: invalid-url Source0: http://sf.net/projects/fuzzynet/files/fuzzynet/fuzzynet%20v1.2.0%20%28beta%29/fuzzynet_1.2.0.zip#/fuzzynet-1.2.0.zip HTTP Error 404: Not Found
3 packages and 0 specfiles checked; 2 errors, 4 warnings.




Rpmlint (installed packages)
----------------------------
fuzzynet-devel.i686: W: no-documentation
fuzzynet.i686: E: no-binary
fuzzynet.i686: W: only-non-binary-in-usr-lib
2 packages and 0 specfiles checked; 1 errors, 2 warnings.



Requires
--------
fuzzynet-devel (rpmlib, GLIBC filtered):
    /usr/bin/pkg-config
    fuzzynet(x86-32)
    pkgconfig(mono)

fuzzynet (rpmlib, GLIBC filtered):
    mono(mscorlib)



Provides
--------
fuzzynet-devel:
    fuzzynet-devel
    fuzzynet-devel(x86-32)
    pkgconfig(fuzzynet)

fuzzynet:
    fuzzynet
    fuzzynet(x86-32)
    mono(FuzzyLogicLibrary)



Source checksums
----------------
http://sf.net/projects/fuzzynet/files/fuzzynet/fuzzynet v1.2.0 (beta)/fuzzynet_1_2_0.zip#/fuzzynet-1.2.0.zip :
  CHECKSUM(SHA256) this package     : a9cf6019dc8f9d1db63b20d9b1eafaf11ab501008f747b46edf0fa93294681bf
  CHECKSUM(SHA256) upstream package : a9cf6019dc8f9d1db63b20d9b1eafaf11ab501008f747b46edf0fa93294681bf
http://sf.net/projects/fuzzynet/files/fuzzynet/fuzzynet v1.2.0 (beta)/fuzzynet_1_2_0.chm#/fuzzynet-1.2.0.chm :
  CHECKSUM(SHA256) this package     : be04098140f0ad5c36167cfd7107f80b06319c83a42f4a70b76d2060ec775e44
  CHECKSUM(SHA256) upstream package : be04098140f0ad5c36167cfd7107f80b06319c83a42f4a70b76d2060ec775e44


Generated by fedora-review 0.6.1 (f03e4e7) last change: 2016-05-02
Command line :/usr/bin/fedora-review -b 1166916 -m fedora-rawhide-i386
Buildroot used: fedora-rawhide-i386
Active plugins: Generic, Shell-api
Disabled plugins: Java, C/C++, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 19 gil cattaneo 2016-05-21 15:29:22 UTC
ISSUES:

https://fedoraproject.org/wiki/Packaging:SourceURL?rd=Packaging/SourceURL#Sourceforge.net
Please, use:
Source0:        http://downloads.sourceforge.net/fuzzynet/fuzzynet_1_2_0.zip
Source1:        http://downloads.sourceforge.net/fuzzynet/fuzzynet_1_2_0.chm


[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "Unknown or generated". 23 files have unknown license.

Please, ask upstream to add license header in those files where missing (see above c#18)

[!]: Package consistently uses macros (instead of hard-coded directory
     names).

 gacutil -i %{libname}/bin/Debug/%{libname}.dll -f -package %{name} -root %{buildroot}/usr/lib
 Please use %{_libdir}

[!]: Package does not include license text files separate from upstream.
[!]: Patches link to upstream bugs/comments/lists or are otherwise
     justified.

Comment 20 Raphael Groner 2016-05-21 15:37:29 UTC
@Matthias,
can you please add valid license headers to fuzzynet sources and provide a license text file? Otherwise, we can not validate GPLv2. I guess GPLv3 is also okay - or any other newer version?

@Gil,
gacutil is intentional pointed to /usr/lib for all platforms. We do so for all mono packages.
https://fedoraproject.org/wiki/Packaging:Mono#gacutil_in_a_spec_file

Comment 21 Raphael Groner 2016-05-21 15:39:01 UTC
> [!]: Patches link to upstream bugs/comments/lists or are otherwise
>      justified.

Patch is to sign assembly. Otherwise gacutil refuses.

Comment 22 Raphael Groner 2016-09-29 17:14:59 UTC
The license issue is a clear blocker.

Comment 23 Raphael Groner 2016-11-01 20:02:43 UTC
Maybe DotFuzzy is an alternatve, it's clearly licensed with LGPLv3+.
https://github.com/MicheleBertoli/DotFuzzy

Comment 24 Raphael Groner 2016-11-05 21:41:58 UTC
fuzzynet is nonfree. Upstream of OpenRA refused a patch to use DotFuzzy.

Comment 25 Matthias Mailänder 2017-02-01 20:53:57 UTC
The OpenRA project received no patch for DotFuzzy so there was nothing to refuse. Dependency licensing issues were also not communicated to us. The problem has been resolved upstream https://github.com/kaluzhny/fuzzynet/blob/master/LICENSE 10 months prior to this post.

See also https://github.com/OpenRA/OpenRA/issues/8264#issuecomment-276521734

Comment 26 Raphael Groner 2017-02-01 21:44:19 UTC
Right, the serious way to continue with a package review would be to use the github sources. Please feel free to use this request as base for a new attempt for another review request.