Bug 1060804

Summary: Review Request: flamp - Amateur Multicast Protocol - file transfer program
Product: [Fedora] Fedora Reporter: Richard Shaw <hobbes1069>
Component: Package ReviewAssignee: Antonio T. (sagitter) <anto.trande>
Status: CLOSED ERRATA QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: i, package-review
Target Milestone: ---Flags: anto.trande: fedora-review+
gwync: fedora-cvs+
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: flamp-2.2.02-2.el7 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-06-15 13:30:23 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:
Attachments:
Description Flags
licensecheck.txt none

Description Richard Shaw 2014-02-03 16:29:18 UTC
Spec URL: http://hobbes1069.fedorapeople.org//flamp.spec
SRPM URL: http://hobbes1069.fedorapeople.org//flamp-2.1.02-1.fc19.src.rpm

Description:
Flamp is a program for AMP or Amateur Multicast Protocol. An flamp session will
transmit one or more files with one or more iterations of the transmission.

Each file is broken into blocks, each of which has a check sum. The receiving
station saves the blocks that pass check sum. Successive transmissions will fill
in the missing blocks provided that the new blocks pass the check sum. After the
transmission sequence, the entire file is assembled and may be saved. “Fills”
may be provided by retransmitting the entire file or by the sending station only
sending the missing blocks. Start by downloading the current version of flamp
from http://www.w1hkj.com/download.html. Install the software as you would any
of the NBEMS applications.

Comment 1 Richard Shaw 2014-02-03 16:29:22 UTC
This package built on koji:  http://koji.fedoraproject.org/koji/taskinfo?taskID=6485752

Comment 2 Christopher Meng 2014-02-04 00:17:55 UTC
sse flags shouldn't be mentioned in any spec.

Comment 3 Richard Shaw 2014-02-04 01:33:32 UTC
(In reply to Christopher Meng from comment #2)
> sse flags shouldn't be mentioned in any spec.

I don't see any guideline problem, so is this a technical issue? I could change it to native, but then it would assume at least sse which is not guaranteed for i686, correct?

Comment 4 Antonio T. (sagitter) 2014-02-08 22:42:14 UTC
- These files are licensed with a LGPLv2+
flamp-2.1.02/src/widgets/Fl_BlockMap.cxx
flamp-2.1.02/src/widgets/Fl_Native_File_Chooser.cxx
flamp-2.1.02/src/widgets/Fl_Text_Buffer_mod.cxx
flamp-2.1.02/src/widgets/missing_strings.c

and this with a GPLv2+
flamp-2.1.02/src/widgets/date.cxx

Please, fix License tag.
(See http://fedoraproject.org/wiki/Packaging:LicensingGuidelines#Mixed_Source_Licensing_Scenario)

Notes:

- Put 'desktop-file-validate' line in a %check section
- Use %{__isa_bits} macro to expand to either 32 or 64 according to the architecture of the package

%ifarch x86_64
    --enable-optimizations=sse2
%else
    --enable-optimizations=none
%endif

becomes

if [ %{__isa_bits} = "64" ]; then
    --enable-optimizations=sse2
fi

Package Review
==============

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



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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[!]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses found:
     "LGPL (v2.1 or later) (with incorrect FSF address)", "GPL (v2 or later)",
     "GPL (v3 or later)", "Unknown or generated", "*No copyright* GPL (v3 or
     later)", "*No copyright* GPL (v3 or later) (with incorrect FSF address)",
     "LGPL (v2 or later) (with incorrect FSF address)", "GPL (v2 or later)
     (with incorrect FSF address)", "GPL (v3 or later) (with incorrect FSF
     address)". 84 files have unknown license. Detailed output of licensecheck
     in /home/sagitter/1060804-flamp/licensecheck.txt
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Development files must be in a -devel package
[x]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory names).
[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.
[-]: Requires correct, justified where necessary.
[x]: Spec file is legible and written in American English.
[-]: Package contains systemd file(s) if in need.
[x]: Useful -debuginfo package or justification otherwise.
[x]: Package is not known to require an ExcludeArch tag.
[x]: Large documentation must go in a -doc subpackage. Large could be size
     (~1MB) or number of files.
     Note: Documentation size is 30720 bytes in 4 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]: 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]: 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 contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or desktop-
     file-validate if there is such a file.
[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.
[x]: Final provides and requires are sane (see attachments).
[ ]: Package functions as described.
[x]: 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.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[!]: %check is present and all tests pass.
[x]: 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]: Uses parallel make %{?_smp_mflags} macro.
[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: flamp-2.1.02-1.fc21.x86_64.rpm
          flamp-2.1.02-1.fc21.src.rpm
flamp.x86_64: W: spelling-error %description -l en_US retransmitting -> re transmitting, re-transmitting, transmitting
flamp.x86_64: W: no-manual-page-for-binary flamp
flamp.src: W: spelling-error %description -l en_US retransmitting -> re transmitting, re-transmitting, transmitting
2 packages and 0 specfiles checked; 0 errors, 3 warnings.




Rpmlint (installed packages)
----------------------------
# rpmlint flamp
flamp.x86_64: W: spelling-error %description -l en_US retransmitting -> re transmitting, re-transmitting, transmitting
flamp.x86_64: W: no-manual-page-for-binary flamp
1 packages and 0 specfiles checked; 0 errors, 2 warnings.
# echo 'rpmlint-done:'



Requires
--------
flamp (rpmlib, GLIBC filtered):
    libX11.so.6()(64bit)
    libc.so.6()(64bit)
    libdl.so.2()(64bit)
    libfltk.so.1.3()(64bit)
    libfltk_images.so.1.3()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libm.so.6()(64bit)
    libpthread.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    rtld(GNU_HASH)



Provides
--------
flamp:
    application()
    application(flamp.desktop)
    flamp
    flamp(x86-64)



Source checksums
----------------
http://www.w1hkj.com/downloads/flamp/flamp-2.1.02.tar.gz :
  CHECKSUM(SHA256) this package     : 096372ec3a14b97280eec906bb04575f642d3f0053459b9e9dc11484174bcd9c
  CHECKSUM(SHA256) upstream package : 096372ec3a14b97280eec906bb04575f642d3f0053459b9e9dc11484174bcd9c


Generated by fedora-review 0.5.1 (bb9bf27) last change: 2013-12-13
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1060804
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, EPEL5, BATCH, DISTTAG

Comment 5 Michael Schwendt 2014-02-09 08:43:45 UTC
> - Use %{__isa_bits} macro to expand to either 32 or 64 according to the
> architecture of the package
> 
> %ifarch x86_64
>     --enable-optimizations=sse2
> %else
>     --enable-optimizations=none
> %endif
> 
> becomes
> 
> if [ %{__isa_bits} = "64" ]; then
>     --enable-optimizations=sse2
> fi

For x86_64 SSE2 is enabled by default for GCC. The assumption that any other 64-bit arch also supports SSE2 doesn't sound correct.

Comment 6 Richard Shaw 2014-02-09 14:28:13 UTC
(In reply to Michael Schwendt from comment #5)
> > - Use %{__isa_bits} macro to expand to either 32 or 64 according to the
> > architecture of the package
> > 
> > %ifarch x86_64
> >     --enable-optimizations=sse2
> > %else
> >     --enable-optimizations=none
> > %endif
> > 
> > becomes
> > 
> > if [ %{__isa_bits} = "64" ]; then
> >     --enable-optimizations=sse2
> > fi
> 
> For x86_64 SSE2 is enabled by default for GCC. The assumption that any other
> 64-bit arch also supports SSE2 doesn't sound correct.

Ok, I haven't had a chance to respond until now, so my question WAS going to be, how it the method above better than what I was using... NOW my question is, do I need to do this at all?

Comment 7 Michael Schwendt 2014-02-09 16:59:05 UTC
Well, whose idea was it to add that? ;)  There is no comment above that section in the spec file.  So, take a look at the configure script and figure out what it does if that option is set. If it only adds compiler flags for SSE2, that's not necessary for x86_64. Documents about GCC say that the SSE2 extension is enabled for default for x86_64. If the configure script also defines preprocessor variables that would affect conditional code, it may be necessary to enable that.

Comment 8 Richard Shaw 2014-02-11 03:40:07 UTC
Ok, I have updated the license tag to:

License:        GPLv3+ and GPLv2+ and LGPLv2+

I admit licenses are not my strong suit so does this look correct?

In looking at the configure script it doesn't look like anything is added except the sse2 flag so I'll remove it.

The GL allow for it to be in either %install or %check so this is not a blocker, or really, even an issue. My preference is to reserve %check for unit testing or other major testing that checks the the functionality of a library or binary. Creating a %check section for the sole purpose of desktop file validation is overkill in my opinion. 

Assuming all is OK above I'll post new links.

Comment 9 Antonio T. (sagitter) 2014-02-13 21:17:42 UTC
(In reply to Richard Shaw from comment #8)
> Ok, I have updated the license tag to:
> 
> License:        GPLv3+ and GPLv2+ and LGPLv2+
> 
> I admit licenses are not my strong suit so does this look correct?
> 

It's correct.

xmlrpc issue (https://bugzilla.redhat.com/show_bug.cgi?id=1060817#c3) is valid for flamp, too.

Comment 10 Richard Shaw 2014-05-08 20:39:40 UTC
(In reply to Antonio Trande from comment #9)
> (In reply to Richard Shaw from comment #8)
> > Ok, I have updated the license tag to:
> > 
> > License:        GPLv3+ and GPLv2+ and LGPLv2+
> > 
> > I admit licenses are not my strong suit so does this look correct?
> > 
> 
> It's correct.
> 
> xmlrpc issue (https://bugzilla.redhat.com/show_bug.cgi?id=1060817#c3) is
> valid for flamp, too.

Per a recently revived devel mail about this, it doesn't look to be against the guidelines. If he was bundling stock or near-stock xmlrpcpp then it would be an issue, but as it's effectively a fork (and upstream is dead), it's not a violation of the guidelines.

https://lists.fedoraproject.org/pipermail/devel/2014-May/199059.html

Comment 11 Antonio T. (sagitter) 2014-05-12 18:13:30 UTC
> [?]: Package contains no bundled libraries without FPC exception.

Please, check src/lzma directory for bundled files.
When package is ready, post new links.

Comment 12 Richard Shaw 2014-09-05 21:11:20 UTC
I tried substituting lzma-sdk in it's place but it seems to be missing some symbols so it looks to be modified so we're in a similar boat as xmlrpc...

Comment 13 Antonio T. (sagitter) 2014-09-06 10:26:57 UTC
Please, post final SPRM.

Comment 14 Richard Shaw 2014-09-06 23:44:46 UTC
Here's the link for my attempt. Hopefully you can provide some insight.

https://hobbes1069.fedorapeople.org/flamp-2.1.02-2.fc20.src.rpm

Comment 15 Antonio T. (sagitter) 2014-09-07 12:07:53 UTC
(In reply to Richard Shaw from comment #14)
> Here's the link for my attempt. Hopefully you can provide some insight.
> 
> https://hobbes1069.fedorapeople.org/flamp-2.1.02-2.fc20.src.rpm

Package building fails in rawhide.

...
Can't exec "libtoolize": No such file or directory at /usr/share/autoconf/Autom4te/FileUtils.pm line 345, <GEN3> line 3.
autoreconf: failed to run libtoolize: No such file or directory
autoreconf: libtoolize is needed because this package uses Libtool

Comment 16 Antonio T. (sagitter) 2014-09-07 12:12:10 UTC
(In reply to Antonio Trande from comment #15)
> (In reply to Richard Shaw from comment #14)
> > Here's the link for my attempt. Hopefully you can provide some insight.
> > 
> > https://hobbes1069.fedorapeople.org/flamp-2.1.02-2.fc20.src.rpm
> 
> Package building fails in rawhide.
> 
> ...
> Can't exec "libtoolize": No such file or directory at
> /usr/share/autoconf/Autom4te/FileUtils.pm line 345, <GEN3> line 3.
> autoreconf: failed to run libtoolize: No such file or directory
> autoreconf: libtoolize is needed because this package uses Libtool

Not consider the above error. Sorry.

Building fails because of

+ autoreconf -fi
/var/tmp/rpm-tmp.pKWsuP: line 31: autoreconf: command not found

Please, post both SPEC and SRPM.

Comment 17 Richard Shaw 2014-09-07 20:39:05 UTC
The only difference between the first SRPM and the second is my (unsuccessful) attempt to unbundle lzmasdk...

Comment 18 Antonio T. (sagitter) 2014-09-12 10:01:17 UTC
Please, post links of the SPEC/SRPM (2.1.02-2) updated in order to complete this review.

Comment 20 Antonio T. (sagitter) 2014-09-12 14:46:24 UTC
(In reply to Richard Shaw from comment #19)
> SPEC: https://hobbes1069.fedorapeople.org/flamp.spec
> SRPM: https://hobbes1069.fedorapeople.org/flamp-2.1.02-2.fc20.src.rpm

RPMs are not built yet (at least in rawhide). There are problems with Make.

Comment 21 Richard Shaw 2015-05-05 18:15:17 UTC
SPEC: https://hobbes1069.fedorapeople.org/flamp.spec
SRPM: https://hobbes1069.fedorapeople.org/flamp-2.2.02-1.fc21.src.rpm

* Tue May  5 2015 Richard Shaw <hobbes1069> - 2.2.02-1
- Update to latest upstream release.
- Build with external xmlrpc library.

Comment 22 Antonio T. (sagitter) 2015-05-06 20:38:47 UTC
(In reply to Richard Shaw from comment #21)
> SPEC: https://hobbes1069.fedorapeople.org/flamp.spec
> SRPM: https://hobbes1069.fedorapeople.org/flamp-2.2.02-1.fc21.src.rpm
> 
> * Tue May  5 2015 Richard Shaw <hobbes1069> - 2.2.02-1
> - Update to latest upstream release.
> - Build with external xmlrpc library.

http://www.w1hkj.com/downloads/flamp/flamp-2.2.02.tar.gz is not reachable; as soon as this link is reactivated i can review your package.

Comment 23 Richard Shaw 2015-05-07 13:00:36 UTC
I didn't get a chance to respond but it must have been a transient problem, the link worked when I tried it yesterday and rpmlint is not complaining today.

Comment 24 Antonio T. (sagitter) 2015-05-07 16:38:51 UTC
- License file COPYING is marked as %doc instead of %license
- Upstream URLs are not reachable yet for me at this time.
- There is no code GPLv2+ excluding 'flamp-2.2.02/src/include/gettext.h'
  License should be 'GPLv3+ and LGPLv2+'.

From comment#4:

> and this with a GPLv2+
> flamp-2.1.02/src/widgets/date.cxx

License of the file is changed in this release.

Package Review
==============

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


Issues:
=======
- 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.
  Note: License file COPYING is marked as %doc instead of %license
  See:
  http://fedoraproject.org/wiki/Packaging/LicensingGuidelines#License_Text


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

C/C++:
[x]: Package does not contain kernel modules.
[x]: Package contains no static executables.
[x]: Package does not contain any libtool archives (.la)
[x]: Rpath absent or only used for internal libs.

Generic:
[x]: Package is licensed with an open-source compatible license and meets
     other legal requirements as defined in the legal section of Packaging
     Guidelines.
[x]: License field in the package spec file matches the actual license.
     Note: Checking patched sources after %prep for licenses. Licenses
     found: "*No copyright* GPL (v3 or later)", "LGPL (v2 or later)", "GPL
     (v2 or later)", "GPL (v3 or later)", "Unknown or generated". 33 files
     have unknown license. Detailed output of licensecheck in
     /home/sagitter/1060804-flamp/licensecheck.txt
[!]: If the package is under multiple licenses, the licensing breakdown
     must be documented in the spec.
[x]: %build honors applicable compiler flags or justifies otherwise.
[x]: Package contains no bundled libraries without FPC exception.
[x]: Changelog in prescribed format.
[x]: Sources contain only permissible code or content.
[-]: Development files must be in a -devel package
[-]: Package uses nothing in %doc for runtime.
[x]: Package consistently uses macros (instead of hard-coded directory
     names).
[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.
[x]: Useful -debuginfo package or justification otherwise.
[x]: 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 30720 bytes in 4 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]: Package contains desktop file if it is a GUI application.
[x]: Package installs a %{name}.desktop using desktop-file-install or
     desktop-file-validate if there is such a file.
[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:
[!]: Sources can be downloaded from URI in Source: tag
     Note: Could not download Source0:
     http://www.w1hkj.com/downloads/flamp/flamp-2.2.02.tar.gz
     See: http://fedoraproject.org/wiki/Packaging:Guidelines#Tags
[!]: 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]: Final provides and requires are sane (see attachments).
[x]: Package functions as described.
[x]: Latest version is packaged.
[x]: Package does not include license text files separate from upstream.
[-]: SourceX tarball generation or download is documented.
     Note: Package contains tarball without URL, check comments
[-]: Description and summary sections in the package spec file contains
     translations for supported Non-English languages, if available.
[x]: Package should compile and build into binary rpms on all supported
     architectures.
[-]: %check is present and all tests pass.
[x]: Packages should try to preserve timestamps of original installed
     files.
[x]: Packager, Vendor, PreReq, Copyright tags should not be in spec file
[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]: Uses parallel make %{?_smp_mflags} macro.
[x]: SourceX is a working URL.
[x]: Spec use %global instead of %define unless justified.

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

Generic:
[x]: Rpmlint is run on debuginfo package(s).
     Note: There are rpmlint messages (see attachment).
[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: flamp-2.2.02-1.fc23.x86_64.rpm
          flamp-2.2.02-1.fc23.src.rpm
flamp.x86_64: W: spelling-error %description -l en_US retransmitting -> re transmitting, re-transmitting, transmitting
flamp.x86_64: W: invalid-url URL: http://www.w1hkj.com/ <urlopen error timed out>
flamp.x86_64: W: no-manual-page-for-binary flamp
flamp.src: W: spelling-error %description -l en_US retransmitting -> re transmitting, re-transmitting, transmitting
flamp.src: W: invalid-url URL: http://www.w1hkj.com/ <urlopen error timed out>
flamp.src: W: invalid-url Source0: http://www.w1hkj.com/downloads/flamp/flamp-2.2.02.tar.gz <urlopen error timed out>
2 packages and 0 specfiles checked; 0 errors, 6 warnings.




Rpmlint (debuginfo)
-------------------
Checking: flamp-debuginfo-2.2.02-1.fc23.x86_64.rpm
flamp-debuginfo.x86_64: W: invalid-url URL: http://www.w1hkj.com/ <urlopen error timed out>
1 packages and 0 specfiles checked; 0 errors, 1 warnings.





Rpmlint (installed packages)
----------------------------
flamp.x86_64: W: spelling-error %description -l en_US retransmitting -> re transmitting, re-transmitting, transmitting
flamp.x86_64: W: invalid-url URL: http://www.w1hkj.com/ <urlopen error timed out>
flamp.x86_64: W: no-manual-page-for-binary flamp
flamp-debuginfo.x86_64: W: invalid-url URL: http://www.w1hkj.com/ <urlopen error timed out>
2 packages and 0 specfiles checked; 0 errors, 4 warnings.



Requires
--------
flamp (rpmlib, GLIBC filtered):
    libX11.so.6()(64bit)
    libc.so.6()(64bit)
    libdl.so.2()(64bit)
    libfltk.so.1.3()(64bit)
    libfltk_images.so.1.3()(64bit)
    libflxmlrpc.so.1()(64bit)
    libgcc_s.so.1()(64bit)
    libgcc_s.so.1(GCC_3.0)(64bit)
    libm.so.6()(64bit)
    libpthread.so.0()(64bit)
    libstdc++.so.6()(64bit)
    libstdc++.so.6(CXXABI_1.3)(64bit)
    rtld(GNU_HASH)



Provides
--------
flamp:
    application()
    application(flamp.desktop)
    flamp
    flamp(x86-64)



Generated by fedora-review 0.5.3 (bcf15e3) last change: 2015-05-04
Command line :/usr/bin/fedora-review -m fedora-rawhide-x86_64 -b 1060804
Buildroot used: fedora-rawhide-x86_64
Active plugins: Generic, Shell-api, C/C++
Disabled plugins: Java, Python, fonts, SugarActivity, Ocaml, Perl, Haskell, R, PHP, Ruby
Disabled flags: EXARCH, DISTTAG, EPEL5, BATCH, EPEL6

Comment 25 Richard Shaw 2015-05-07 18:00:46 UTC
(In reply to Antonio Trande from comment #24)
> - License file COPYING is marked as %doc instead of %license

Fixed. I'll post new spec and SRPM when the below are addressed.


> - Upstream URLs are not reachable yet for me at this time.

I'm still not sure what's going on here...
$ curl -LO http://www.w1hkj.com/downloads/flamp/flamp-2.2.02.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  495k  100  495k    0     0   754k      0 --:--:-- --:--:-- --:--:--  755k


> - There is no code GPLv2+ excluding 'flamp-2.2.02/src/include/gettext.h'
>   License should be 'GPLv3+ and LGPLv2+'.

I'm not sure what you mean here. Since it's GPLv2+ and it's being included in a GPLv3+ program, wouldn't the combined sources just be GPLv3+?

If it didn't include the "or later version" clause then I think you would be correct.

Comment 26 Antonio T. (sagitter) 2015-05-07 18:25:36 UTC
(In reply to Richard Shaw from comment #25)
> 
> 
> > - Upstream URLs are not reachable yet for me at this time.
> 
> I'm still not sure what's going on here...
> $ curl -LO http://www.w1hkj.com/downloads/flamp/flamp-2.2.02.tar.gz
>   % Total    % Received % Xferd  Average Speed   Time    Time     Time 
> Current
>                                  Dload  Upload   Total   Spent    Left  Speed
> 100  495k  100  495k    0     0   754k      0 --:--:-- --:--:-- --:--:-- 
> 755k
> 

It's not a problem; now it seems work.

> 
> > - There is no code GPLv2+ excluding 'flamp-2.2.02/src/include/gettext.h'
> >   License should be 'GPLv3+ and LGPLv2+'.
> 
> I'm not sure what you mean here. Since it's GPLv2+ and it's being included
> in a GPLv3+ program, wouldn't the combined sources just be GPLv3+?
> 
> If it didn't include the "or later version" clause then I think you would be
> correct.

No file is licensed with a GPLv2+. See attached licensecheck.txt .

Comment 27 Antonio T. (sagitter) 2015-05-07 18:29:11 UTC
Created attachment 1023234 [details]
licensecheck.txt

Files without license should be modified by upstream to know their license.

Comment 28 Richard Shaw 2015-05-07 19:46:50 UTC
(In reply to Antonio Trande from comment #26)
> No file is licensed with a GPLv2+. See attached licensecheck.txt .

I think you are mistaken, from your attachment:

GPL (v2 or later)
-----------------
flamp-2.2.02/src/include/gettext.h

GPL (v2 or later) == GPLv2+

If it was GPL v2 only then the "+" would be excluded.

Comment 29 Antonio T. (sagitter) 2015-05-07 19:59:37 UTC
(In reply to Richard Shaw from comment #28)
> (In reply to Antonio Trande from comment #26)
> > No file is licensed with a GPLv2+. See attached licensecheck.txt .
> 
> I think you are mistaken, from your attachment:
> 
> GPL (v2 or later)
> -----------------
> flamp-2.2.02/src/include/gettext.h
> 
> GPL (v2 or later) == GPLv2+
> 
> If it was GPL v2 only then the "+" would be excluded.

That file is not involved when flamp binary is generated.

Comment 30 Richard Shaw 2015-05-07 20:13:57 UTC
(In reply to Antonio Trande from comment #24)
> - License file COPYING is marked as %doc instead of %license
> - Upstream URLs are not reachable yet for me at this time.
> - There is no code GPLv2+ excluding 'flamp-2.2.02/src/include/gettext.h'
>   License should be 'GPLv3+ and LGPLv2+'.

Ok, after going back and re-reading I understand what you're saying, but per:

http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility

When you use sources that are both GPLv3+ and LGPLv2+ the combined work is covered under GPLv3+ which is the whole point of the "+".

Comment 31 Antonio T. (sagitter) 2015-05-07 20:47:10 UTC
(In reply to Richard Shaw from comment #30)
> (In reply to Antonio Trande from comment #24)
> > - License file COPYING is marked as %doc instead of %license
> > - Upstream URLs are not reachable yet for me at this time.
> > - There is no code GPLv2+ excluding 'flamp-2.2.02/src/include/gettext.h'
> >   License should be 'GPLv3+ and LGPLv2+'.
> 
> Ok, after going back and re-reading I understand what you're saying, but per:
> 
> http://www.gnu.org/licenses/gpl-faq.html#AllCompatibility
> 
> When you use sources that are both GPLv3+ and LGPLv2+ the combined work is
> covered under GPLv3+ which is the whole point of the "+".

I understand; note#7 (http://www.gnu.org/licenses/gpl-faq.html#compat-matrix-footnote-7) says:

> 7: LGPLv2.1 gives you permission to relicense the code under any version of 
> the GPL since GPLv2. If you can switch the LGPLed code in this case to using 
> an appropriate version of the GPL instead (as noted in the table), you can  
> make this combination.

Original LGPLed code seems redistributed with GPLv2+; so i think you can use GPLv3+ combination.

Comment 32 Richard Shaw 2015-05-27 19:22:07 UTC
Are all the blockers resolved at this point?

Comment 33 Antonio T. (sagitter) 2015-05-27 19:32:50 UTC
(In reply to Richard Shaw from comment #32)
> Are all the blockers resolved at this point?

Please, post definitive SPEC/SRPM files.

Comment 34 Richard Shaw 2015-05-27 20:18:59 UTC
SPEC: https://hobbes1069.fedorapeople.org/flamp.spec
SRPM: https://hobbes1069.fedorapeople.org/flamp-2.2.02-2.fc21.src.rpm

* Wed May 27 2015 Richard Shaw <hobbes1069> - 2.2.02-2
- Use %%license macro where appropriate.
- Update license tag to GPLv3+ which covers the combined work.

Hopefully the links work, for some reason my work internet is not letting me go to fedorapeople.org so I constructed them from the previous links.

Comment 35 Antonio T. (sagitter) 2015-05-27 21:08:49 UTC
Package approved.

Comment 36 Richard Shaw 2015-05-27 21:17:04 UTC
New Package SCM Request
=======================
Package Name: flamp
Short Description: Amateur Multicast Protocol - file transfer program
Upstream URL: http://www.w1hkj.com/
Owners: hobbes1069
Branches: f21 f22 epel7
InitialCC: 

Thanks for the review!

Comment 37 Gwyn Ciesla 2015-05-28 01:37:31 UTC
Git done (by process-git-requests).

Comment 38 Fedora Update System 2015-05-28 03:31:09 UTC
flamp-2.2.02-2.el7 has been submitted as an update for Fedora EPEL 7.
https://admin.fedoraproject.org/updates/flamp-2.2.02-2.el7

Comment 39 Fedora Update System 2015-05-28 03:32:19 UTC
flamp-2.2.02-2.fc21 has been submitted as an update for Fedora 21.
https://admin.fedoraproject.org/updates/flamp-2.2.02-2.fc21

Comment 40 Fedora Update System 2015-05-28 03:32:26 UTC
flamp-2.2.02-2.fc22 has been submitted as an update for Fedora 22.
https://admin.fedoraproject.org/updates/flamp-2.2.02-2.fc22

Comment 41 Fedora Update System 2015-05-29 21:48:55 UTC
flamp-2.2.02-2.el7 has been pushed to the Fedora EPEL 7 testing repository.

Comment 42 Fedora Update System 2015-06-15 13:30:23 UTC
flamp-2.2.02-2.fc22 has been pushed to the Fedora 22 stable repository.

Comment 43 Fedora Update System 2015-06-15 13:31:13 UTC
flamp-2.2.02-2.fc21 has been pushed to the Fedora 21 stable repository.

Comment 44 Fedora Update System 2015-06-18 18:35:16 UTC
flamp-2.2.02-2.el7 has been pushed to the Fedora EPEL 7 stable repository.