Bug 1577404

Summary: Review Request: kaldi - A toolkit for speech recognition
Product: [Fedora] Fedora Reporter: Alejandro Acosta <alxacostaa>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED CANTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: medium Docs Contact:
Priority: unspecified    
Version: rawhideCC: dagostinelli, package-review, zebob.m
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2018-06-03 00:54:05 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:    
Bug Blocks: 177841    

Description Alejandro Acosta 2018-05-11 21:57:26 UTC
Spec URL: https://aacosta.fedorapeople.org/rpmdevel/kaldi-5.3.spec
SRPM URL: https://aacosta.fedorapeople.org/rpmdevel/kaldi-5.3-1.fc28.src.rpm
Description: Kaldi is a toolkit for speech recognition, intended for use by speech recognition researchers and professionals.
Fedora Account System Username: aacosta

The koji build is located at https://koji.fedoraproject.org/koji/taskinfo?taskID=26902190

This is my first package and I'm looking for a sponsor so I can join the packagers group. I've been in Fedora since 2008, contributing as an Ambassador and now I'm looking forward to expanding my contribution in this great project.

Comment 1 Robert-André Mauchin 🐧 2018-05-12 20:57:15 UTC
I don't understand what you're trying to do with this SPEC file?? This doesn't install anything.

See the guidelines: https://fedoraproject.org/wiki/Packaging:Guidelines

Look at how to install the software on the Github page. It seems the main dependency is ATLAS, then run %configure/%make_build/%make_install from within src. Might be more complicated though.

Comment 2 Alejandro Acosta 2018-05-13 21:45:22 UTC
You're right, my bad. Rookie mistake

I've modified it, please take another look at it


Thank you

Comment 3 Darryl T. Agostinelli 2018-05-17 02:00:08 UTC
This is an informal review.

- What files are installed?

In %files, it seems to be only specifying the COPYING file.  Are there any other files that get installed as part of this besides the license file?  I saw your response to Robert-André Mauchin, but I didn't see the file before now. It still looks like files are missing.
  
- %prep

In %prep, consider using `autosetup` to handle the unzipping for you. autosetup handles the peculiarities of how GitHub composes its zip files.

ex:
    %prep
    %autosetup -n %{name}-%{version}

- %build

In %build, it seems like the %configure/%make_build/%make_install macros might simplify this.

 - No:

%global debug_package %{nil}

   Do your best to generate debug symbols.

- fedora-review fails with

$ fedora-review -b 1577404
INFO: Processing bugzilla bug: 1577404
INFO: Getting .spec and .srpm Urls from : 1577404
INFO:   --> SRPM url: https://aacosta.fedorapeople.org/rpmdevel/kaldi-5.3-1.fc28.src.rpm
INFO:   --> Spec url: https://aacosta.fedorapeople.org/rpmdevel/kaldi-5.3.spec
INFO: Using review directory: /home/dagostinelli/connections/1577404-kaldi-5.3
INFO: Downloading .spec and .srpm files
INFO: Downloading (Source0): https://github.com/kaldi-asr/kaldi/archive/5.3.zip
INFO: Running checks and generating report
INFO: Results and/or logs in: /home/dagostinelli/connections/1577404-kaldi-5.3/results
INFO: WARNING: Probably non-rawhide buildroot used. Rawhide should be used for most package reviews
INFO: Build completed
INFO: Installing built package(s)
INFO: Install command returned error code 30
INFO: Active plugins: Generic, Shell-api
Last metadata expiration check: 2:50:58 ago on Wed 16 May 2018 06:00:44 PM CDT.
Last metadata expiration check: 2:51:02 ago on Wed 16 May 2018 06:00:44 PM CDT.
Last metadata expiration check: 2:51:07 ago on Wed 16 May 2018 06:00:44 PM CDT.
Last metadata expiration check: 2:51:11 ago on Wed 16 May 2018 06:00:44 PM CDT.
Last metadata expiration check: 2:51:14 ago on Wed 16 May 2018 06:00:44 PM CDT.
Last metadata expiration check: 2:51:19 ago on Wed 16 May 2018 06:00:44 PM CDT.
Last metadata expiration check: 2:53:34 ago on Wed 16 May 2018 06:00:44 PM CDT.
Last metadata expiration check: 2:53:36 ago on Wed 16 May 2018 06:00:44 PM CDT.
INFO:  ExclusiveArch dependency checking disabled, enable with EXARCH flag

- rpmlint has errors

Rpmlint
-------
Checking: kaldi-5.3-1.fc25.x86_64.rpm
          kaldi-5.3-1.fc25.src.rpm
kaldi.x86_64: E: explicit-lib-dependency libtool
kaldi.x86_64: E: devel-dependency zlib-devel
kaldi.x86_64: E: description-line-too-long C Kaldi is a toolkit for speech recognition, intended for use by speech recognition researchers and professionals.
kaldi.x86_64: E: no-binary
kaldi.x86_64: W: no-documentation
kaldi.src: E: description-line-too-long C Kaldi is a toolkit for speech recognition, intended for use by speech recognition researchers and professionals.
kaldi.src: E: invalid-spec-name
kaldi.src:19: W: macro-in-comment %autosetup
kaldi.src:33: W: macro-in-comment %{name}
kaldi.src:33: W: macro-in-comment %{version}
kaldi.src:37: W: macro-in-comment %make
kaldi.src:39: W: macro-in-comment %{name}
kaldi.src:39: W: macro-in-comment %{version}
2 packages and 0 specfiles checked; 6 errors, 7 warnings.

- mock

fedora-review will run mock internally, but you can also run it standalone.  It has errors from the fedora-review. I got:

ERROR: Command failed: 
 # /usr/bin/dnf --installroot /var/lib/mock/fedora-25-x86_64/root/ --releasever 25 --disableplugin=local --setopt=deltarpm=False install /home/dagostinelli/connections/1577404-kaldi-5.3/results/kaldi-5.3-1.fc25.x86_64.rpm

Comment 4 Alejandro Acosta 2018-05-17 03:11:10 UTC
(In reply to Darryl T. Agostinelli from comment #3)
> This is an informal review.
> 
> - What files are installed?
> 
> In %files, it seems to be only specifying the COPYING file.  Are there any
> other files that get installed as part of this besides the license file?  I
> saw your response to Robert-André Mauchin, but I didn't see the file before
> now. It still looks like files are missing.
>   
> - %prep

I went through the source and I couldn't find any other kind of documents. Documentation exists mainly in project's website


> In %prep, consider using `autosetup` to handle the unzipping for you.
> autosetup handles the peculiarities of how GitHub composes its zip files.
> 
> ex:
>     %prep
>     %autosetup -n %{name}-%{version}

I tried but I found this a bit hard to accomplish since the source is in .  directory inside the top-level structure (/src).

I followed this suggestion and this allowed me to build it

https://serverfault.com/questions/311440/build-rpm-using-source-directory-not-tarball



> - %build
> 
> In %build, it seems like the %configure/%make_build/%make_install macros
> might simplify this.

Again, I wasn't able to build it with the macro due to differences in directory levels. Also, as per the installation instructions, you only need to run 'make'. Not sure if macro would do


>  - No:
> 
> %global debug_package %{nil}
> 
>    Do your best to generate debug symbols.

I may need more insight on this. I'll research a bit more on this

> - fedora-review fails with
> 
> $ fedora-review -b 1577404
> INFO: Processing bugzilla bug: 1577404
> INFO: Getting .spec and .srpm Urls from : 1577404
> INFO:   --> SRPM url:
> https://aacosta.fedorapeople.org/rpmdevel/kaldi-5.3-1.fc28.src.rpm
> INFO:   --> Spec url:
> https://aacosta.fedorapeople.org/rpmdevel/kaldi-5.3.spec
> INFO: Using review directory:
> /home/dagostinelli/connections/1577404-kaldi-5.3
> INFO: Downloading .spec and .srpm files
> INFO: Downloading (Source0):
> https://github.com/kaldi-asr/kaldi/archive/5.3.zip
> INFO: Running checks and generating report
> INFO: Results and/or logs in:
> /home/dagostinelli/connections/1577404-kaldi-5.3/results
> INFO: WARNING: Probably non-rawhide buildroot used. Rawhide should be used
> for most package reviews
> INFO: Build completed
> INFO: Installing built package(s)
> INFO: Install command returned error code 30
> INFO: Active plugins: Generic, Shell-api
> Last metadata expiration check: 2:50:58 ago on Wed 16 May 2018 06:00:44 PM
> CDT.
> Last metadata expiration check: 2:51:02 ago on Wed 16 May 2018 06:00:44 PM
> CDT.
> Last metadata expiration check: 2:51:07 ago on Wed 16 May 2018 06:00:44 PM
> CDT.
> Last metadata expiration check: 2:51:11 ago on Wed 16 May 2018 06:00:44 PM
> CDT.
> Last metadata expiration check: 2:51:14 ago on Wed 16 May 2018 06:00:44 PM
> CDT.
> Last metadata expiration check: 2:51:19 ago on Wed 16 May 2018 06:00:44 PM
> CDT.
> Last metadata expiration check: 2:53:34 ago on Wed 16 May 2018 06:00:44 PM
> CDT.
> Last metadata expiration check: 2:53:36 ago on Wed 16 May 2018 06:00:44 PM
> CDT.
> INFO:  ExclusiveArch dependency checking disabled, enable with EXARCH flag
> 
> - rpmlint has errors
> 
> Rpmlint
> -------
> Checking: kaldi-5.3-1.fc25.x86_64.rpm
>           kaldi-5.3-1.fc25.src.rpm
> kaldi.x86_64: E: explicit-lib-dependency libtool
> kaldi.x86_64: E: devel-dependency zlib-devel
> kaldi.x86_64: E: description-line-too-long C Kaldi is a toolkit for speech
> recognition, intended for use by speech recognition researchers and
> professionals.
> kaldi.x86_64: E: no-binary
> kaldi.x86_64: W: no-documentation
> kaldi.src: E: description-line-too-long C Kaldi is a toolkit for speech
> recognition, intended for use by speech recognition researchers and
> professionals.
> kaldi.src: E: invalid-spec-name
> kaldi.src:19: W: macro-in-comment %autosetup
> kaldi.src:33: W: macro-in-comment %{name}
> kaldi.src:33: W: macro-in-comment %{version}
> kaldi.src:37: W: macro-in-comment %make
> kaldi.src:39: W: macro-in-comment %{name}
> kaldi.src:39: W: macro-in-comment %{version}
> 2 packages and 0 specfiles checked; 6 errors, 7 warnings.
> 
> - mock
> 
> fedora-review will run mock internally, but you can also run it standalone. 
> It has errors from the fedora-review. I got:
> 
> ERROR: Command failed: 
>  # /usr/bin/dnf --installroot /var/lib/mock/fedora-25-x86_64/root/
> --releasever 25 --disableplugin=local --setopt=deltarpm=False install
> /home/dagostinelli/connections/1577404-kaldi-5.3/results/kaldi-5.3-1.fc25.
> x86_64.rpm

I will need to go through this more deeply to check this out

Thank you for taking your time to review this, any comments, suggestions or hints are much appreciated