Bug 1887709

Summary: mamba - Virtual Midi Keyboard for Jack Audio Connection Kit
Product: [Fedora] Fedora Reporter: ycollet <ycollette.nospam>
Component: Package ReviewAssignee: Nobody's working on this, feel free to take it <nobody>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: rawhideCC: fedora, package-review, pampelmuse, samuel-rhbugs, zebob.m
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2020-11-24 19:21:05 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description ycollet 2020-10-13 07:47:25 UTC
Mamba is a virtual piano keyboard for Jack / Alsa.
It is developped by the guitarix developper.

The SRPMS package for version 1.6 of Mamba: https://download.copr.fedorainfracloud.org/results/ycollet/linuxmao/fedora-33-x86_64/01702727-mamba/mamba-1.6.0-1.fc33.src.rpm

The spec file: https://raw.githubusercontent.com/ycollet/fedora-spec/master/guitarix/mamba.spec

Comment 1 Artur Frenszek-Iwicki 2020-10-13 12:05:39 UTC
># ./mamba_source.sh v1.6
>
>Source0: Mamba.tar.gz
The script file should be included in the SRPM as a Source, since otherwise it's impossible to refetch/recreate the Source0 archive.

>Summary: Virtual Midi Keyboard for Jack Audio Connection Kit
>...
>%description
>Virtual Midi Keyboard for Jack Audio Connection Kit
The description should not be just a copy-paste of the summary. Please put some more text here.

Comment 2 ycollet 2020-10-13 12:41:10 UTC
Thanks for the review.
I updated the spec file and regenerated the srpm package.

I've got the mamba description from a post in the linuxmusician post.

The updated SRPM package: https://download.copr.fedorainfracloud.org/results/ycollet/linuxmao/fedora-32-x86_64/01705879-mamba/mamba-1.6.0-2.fc32.src.rpm

The spec file https://raw.githubusercontent.com/ycollet/fedora-spec/master/guitarix/mamba.spec

Comment 3 Robert-André Mauchin 🐧 2020-11-06 06:22:19 UTC
 - Use a link for source:

Source0:  https://github.com/brummer10/Mamba/archive/v%{version}/Mamba-%{version}.tar.gz

[…]

%autosetup -n Mamba-%{version}

 - Be more specific here:

%{_bindir}/*
%{_datadir}/*

 - Version is 1.7 without 0

Version:  1.7

 - Build fails:

DEBUG util.py:636:  Last metadata expiration check: 0:00:04 ago on Fri Nov  6 07:17:55 2020.
DEBUG util.py:634:  No matching package to install: 'libsmf-devel'
DEBUG util.py:634:  Not all dependencies satisfied
DEBUG util.py:634:  Error: Some packages could not be found.

Please package libsmf.

Comment 4 Robert-André Mauchin 🐧 2020-11-06 06:32:01 UTC
 Tips for your libsmf spec:

 - Not used if Fedora

Group: Applications/Multimedia
Group:          Development/Libraries

 - Use make instead of %{__make} as __ macro are reserved for rpm private use

 - Not needed:

%{__rm} -rf %{buildroot}

%clean
%{__rm} -rf %{buildroot}

%defattr(-,root,root,-)

 - %{__make} DESTDIR=%{buildroot} install → %make_install

 - %{__make} %{_smp_mflags} → %make_build

 - Do not put another %{__make} DESTDIR=%{buildroot} install in %build

 - COPYING must be installed with %license not %doc in %files

 - Do not glob all that, be more specific

%{_bindir}/*
%{_libdir}/*
%{_datadir}/man/*

%files devel
%{_includedir}/*


 - Requires needs arch info with isa:

Requires:       %{name}%{?_isa} = %{version}-%{release}

 - Use a more descriptive summary

 - Description must be below 80 characters per line.

 - Add a newline between your changelog entries

)Make a separate review request for that package)

Comment 5 ycollet 2020-11-08 13:58:44 UTC
I packaged libsmf and submitted a new package review here:
https://bugzilla.redhat.com/show_bug.cgi?id=1895696

I also completed the spec file for the mamba package.
I fixed all the comment everybody made in the package review. Except one for the moment: I didn't package separately the submodule of the git repo.
libXputty is a wrapper around cairo. You can have a look at the repository:
https://github.com/brummer10/libxputty

This library has no official version number, it's compiled as a static library and is included as a submodule in various brummer10 plugins at different commit. So, if we package libxputty, we will need to package to with various commit number as a version number.
So, let's wait until brummer10 makes an official release of this library.

The fixed mamba spec file is here: 
https://raw.githubusercontent.com/ycollet/fedora-spec/master/guitarix/mamba.spec

The new sec rpm file is here:
https://download.copr.fedorainfracloud.org/results/ycollet/linuxmao/fedora-33-x86_64/01746642-mamba/mamba-1.7-3.fc33.src.rpm

Comment 6 Christoph Karl 2020-11-08 15:03:27 UTC
Seems the following is still missing:
 - Use a link for source:

Source0:  https://github.com/brummer10/Mamba/archive/v%{version}/Mamba-%{version}.tar.gz

Is there a reason why you want to use a script for downloading the sources?

Comment 7 ycollet 2020-11-08 16:36:48 UTC
Maba uses a submodule: libxputty. And when you use the download link of github to get the source, you don't get the submodule sources.
That's a github problem which poses problem for many project. That's why I use a separate script to get the source code of mamba (including the submodule).

Comment 8 Artur Frenszek-Iwicki 2020-11-08 18:39:48 UTC
I think in this case it would be preferable to have Mamba, without the git submodule, as Source0, and to have libxputty as Source1. You can add a macro (e.g. "%global libxputty_version") to store the version/commit hash of the bundled library.

Comment 9 ycollet 2020-11-24 19:21:05 UTC
obody seems to be interested ...
So, I close the package review.
Somebody else will had back this if somebody at fedora is interested.