Bug 275831 - Review Request: libzzub - Powerful music sequencing library
Review Request: libzzub - Powerful music sequencing library
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: Package Review (Show other bugs)
rawhide
All Linux
medium Severity medium
: ---
: ---
Assigned To: Mamoru TASAKA
Fedora Extras Quality Assurance
:
: 275851 (view as bug list)
Depends On: 237575
Blocks: 275851 275871
  Show dependency treegraph
 
Reported: 2007-09-04 04:58 EDT by Alexander Kahl
Modified: 2007-11-30 17:12 EST (History)
3 users (show)

See Also:
Fixed In Version: 0.2.3-7.fc7
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-09-18 18:31:47 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---
mtasaka: fedora‑review+
kevin: fedora‑cvs+


Attachments (Terms of Use)

  None (edit)
Description Alexander Kahl 2007-09-04 04:58:35 EDT
Spec URL: http://prelive.iconmobile.com/dev31/fedora-icm-repo/Fedora/7/SPECS/libzzub.spec
SRPM URL: http://prelive.iconmobile.com/dev31/fedora-icm-repo/Fedora/7/SRPMS/libzzub-0.2.3-2.fc7.src.rpm
Description: If you are searching for a foundation for your next Soundtracker, libzzub is what you want. libzzub provides an extensible DSP plugin system, a
wavetable, instruments, a multitrack sequencer and support for major soundcard
APIs.

--

I'm still searching for a sponsor.

I've checked that mp3 support (with libmad) is not compiled into the resulting binaries.
Comment 1 Mamoru TASAKA 2007-09-04 11:33:29 EDT
I cannot see your spec/srpm
=====================================================
Proxy Error
The proxy server received an invalid response from an upstream server.

The proxy server could not handle the request GET
/dev31/fedora-icm-repo/Fedora/7/SPECS/libzzub.spec.

Reason: Could not connect to remote machine: Connection refused

Apache/1.3.34 Server at prelive.iconmobile.com Port 81
=====================================================
Comment 2 Alexander Kahl 2007-09-04 12:04:03 EDT
Sorry, I was just migrating my workstation. The repository will soon move to a
real server.

Access is available again now.
Comment 3 Mamoru TASAKA 2007-09-04 14:22:24 EDT
Well, this time:

==================================================================
Proxy Error
The proxy server received an invalid response from an upstream server.

The proxy server could not handle the request GET
/dev31/fedora-icm-repo/Fedora/7/SPECS/libzzub.spec.

Reason: Could not connect to remote machine: No route to host

Apache/1.3.34 Server at prelive.iconmobile.com Port 81
===================================================================
Comment 4 Mamoru TASAKA 2007-09-05 08:37:02 EDT
(Sorry, once unassigning...)
Comment 5 Mamoru TASAKA 2007-09-05 09:50:05 EDT
Some random comments for 0.2.3-2 (from very quick check:)

(For people who also want to check this spec/srpm, I put
 them given from Alexander by mail on:
 http://mtasaka.fedorapeople.org/Review_request/libzzub/ )

# For spec file:
A. Description stage:
* SourceURL
  - For sourceforge source, please refer to the section
    "Sourceforge.net" of
    http://fedoraproject.org/wiki/Packaging/SourceURL

* Redundant Requires:
-------------------------------------------------
Requires:	zlib
Requires:	jack-audio-connection-kit
Requires:	alsa-lib
-------------------------------------------------
  - All these Requires are redundant (and should be removed)
    because rpmbuild checks the dependencies for libraries
    automatically and the dependencies should pull these
    Requires.

? python dependency
-------------------------------------------------
BuildRequires:	python >= 2.5
Requires:	python >= 2.5
-------------------------------------------------
   - Would you explain why should this package have these
     dependencies (especially Requires)?

B. %prep/%build/%install stage
* Macros
  - Please use macros. For example, /usr -> %_prefix

* Debuginfo rpm issue:
--------------------------------------------------
find $RPM_BUILD_ROOT \
     -type f \
     -perm /a+x \
     -exec strip '{}' \;
--------------------------------------------------
  - Stripping binaries is strictly forbidden.
    * This disables to create debuginfo rpm.
    * Note that creating debuginfo automatically strips
      binaries.

C. %files section
* Directory ownership issue
---------------------------------------------------
%{_libdir}/lunar/fx/*/*.so
---------------------------------------------------
   - Please ensure that all directories this package will
     create are owned by this package.
     Currently %_libdir/lunar and all directories under
     %_libdir/lunar are not owned by any package.

D. rpmlint
----------------------------------------------------
W: file-not-utf8 /usr/share/doc/libzzub-0.2.3/CREDITS.txt
----------------------------------------------------
   * Change the encoding to UTF-8.

----------------------------------------------------
libzzub.src: W: mixed-use-of-spaces-and-tabs (spaces: line 53, tab: line 1)
----------------------------------------------------
   * The specfile mixes use of spaces and tabs for indentation,
     which is a cosmetic annoyance.  Use either spaces or tabs 
     for indentation, not both.

E. arch
   * This package does not be rebuilt on ppc64.
     http://koji.fedoraproject.org/koji/taskinfo?taskID=148578
Comment 6 Alexander Kahl 2007-09-10 05:02:14 EDT
Updated Spec URL:
http://prelive.iconmobile.com/dev31/fedora-icm-repo/Fedora/7/SPECS/libzzub.spec
Updated SRPM URL:
http://prelive.iconmobile.com/dev31/fedora-icm-repo/Fedora/7/SRPMS/libzzub-0.2.3-3.fc7.src.rpm

Fixed issues:
(- Source0 URL)
- fixed redundant dependencies
- replaced occurence of /usr with prefix macro
- removed manual stripping of binaries
- fixed directory ownership issue
- fixed encoding of CREDITS file
- excluded arch ppc64 due to build failure
- replaced all space occurences with tabs

About the Python dependency:
libzzub is usually used in conjunction with pyzzub that requires Python 2.5 to
be compiled without ctypes, hence two different spec versions would be needed to
provide both variants.

Source: http://doc.zeitherrschaft.org/zzub/html/x113.html

Is it save to remove the explicit require, i.e. for cases of downgrading what
would break the package?


The workstation this repository runs on is stable now, so it should be save now
to provide the files from here.
Comment 7 Mamoru TASAKA 2007-09-10 10:06:06 EDT
For 0.2.3-3: Almost good.

* Internal library
  - build log says:
----------------------------------------------------------
gcc -o src/flac/src/libFLAC/bitbuffer.o -c <snip>  src/flac/src/libFLAC/bitbuffer.c
<snip>
ar rc lib/libFLAC.a src/flac/src/libFLAC/bitbuffer.o <snip>
<snip>
g++ -o lib/libzzub.so.0.2.3 <snip> -Llib -lFLAC -lz -ldl -lpthread -lsndfile
-lasound -lrtaudio_static -lasound -ljack -lrt -lpthread -lm
----------------------------------------------------------
    Here the internal libFLAC is used. 
    However flac-devel is in Fedora so please fix the source code so that
    libzzub.so uses external libFLAC.so.

* Documents
  - The file "INSTALL" is for people who want to compile and install this
    by themselves and not needed for people who install this package
    using rpm.

* Source0
  - is written twice
  - Well, now you have disabled MP3 support. However Fedora requests
    that you have to remove MP3 support even on source code devel.
    So, please
    - first remove mp3 support part from libzzub tarball.
      As far as I am correct, you have to
      * remove src/libmad
      * and remove USE_LIBMAD part from src/libzzub/libzzub.cpp
    - And repackage it as libzzub-0.2.3-fe.tar.bz2, for example
      and use it as Source0
    - Add a comment in the spec file like
-------------------------------------------------------------
# The original source code is from:
# http://download.sourceforge.net/....
#
# For fedora tarball, the MP3 support parts are removed
# - src/libmad : completely removed
# - src/libzzub/libzzub.cpp: removed MP3 support part
Source0: libzzub-0.2.3-fe.tar.bz2
--------------------------------------------------------------

* About python:
> libzzub is usually used in conjunction with pyzzub
  - Then pyzzub should have "Requires: python" and libzzub need not
    require python.

> Is it save to remove the explicit require, i.e. for cases of downgrading what
> would break the package?
  - Thinking about "downgrade" is a "very specific" case and in
    that case usually extra consideration is needed.
Comment 8 Alexander Kahl 2007-09-11 05:10:48 EDT
I've fixed everything but the external->internal flac; it seems like they've
nailed the version to 1.1.2 since there is a major change in the flac macro API
in 1.1.3. I've already started a port to 1.1.4 but need some more spare time for
this.
Comment 9 Alexander Kahl 2007-09-11 20:08:01 EDT
After some amusing hours of gdb debugging I've figured out that libzzub also
relies on libsndfile for the actual loading of flac files, but since it is
linked against our (Fedora's) libsndfile that has no flac support (see bug
237575), we have to wait for that bug to be fixed. Tomorrow I'm going to post
the new spec/srpms including my flac patch anyway, so far the lib works well
(tested with aldrin).
Comment 10 Alexander Kahl 2007-09-12 08:16:57 EDT
Updated Spec URL:
http://prelive.iconmobile.com/dev31/fedora-icm-repo/Fedora/7/SPECS/libzzub.spec
Updated SRPM URL:
http://prelive.iconmobile.com/dev31/fedora-icm-repo/Fedora/7/SRPMS/libzzub-0.2.3-4.fc7.src.rpm

Fixed issues:
- fixed double source definition
- adapted modified source tarball w/ mp3 support removed
- added patch to use internal flac support
- removed INSTALL from %doc
- removed explicit python requirement
- replaced static rm commands with macros


The internal flac patch actually ports libzzub to flac 1.1.4 and links to
Fedora's supplied version but we still have to wait for 237575 to be fixed
first, so long flac support is unavailable.
Comment 11 Mamoru TASAKA 2007-09-12 09:43:16 EDT
Just to confirm: 
  do you want to stop this review request until bug 237575 is resolved?
  Or we can proceed this review and you can import this package into
  Fedora (if I approve this) even if bug 237575 is not fixed?
  
Comment 12 Alexander Kahl 2007-09-12 09:49:17 EDT
Let's proceed this review, libzzub still supports wave and aiff files via
libsndfile so it's not pointless after all. Most probably we won't even need to
change anything after the next libsndfile revision, i.e. flac will work
out-of-the-box then.
Comment 13 Mamoru TASAKA 2007-09-12 11:00:37 EDT
Well, then for 0.2.3-4:

* Redundant Requires
  - "Requires: flac >= 1.1.4" is actually not needed.
    I checked that soversion of libFLAC changed between <1.1.4 and
    >= 1.1.4, so this must correctly be treated by rpmbuild automated
    library check.

  - Still BuildRequires: flac-devel >= 1.1.4 is needed. Note that 
    if you want to import this also on FC-6, FC-6 flac is 1.1.2.

* Other things are okay.

=========================================================
    This package (libzzub) is APPROVED by me
=========================================================

Please follow the procedure according to:
http://fedoraproject.org/wiki/PackageMaintainers/Join
from "Get a Fedora Account".
At a point a mail should be sent to sponsor members which notifies
that you need a sponsor (at the stage, please also write on
this bug for confirmation that you requested for sponsorship)
Then I will sponsor you.

If you want to import this package into Fedora 7, you also have
to look at
http://fedoraproject.org/wiki/Infrastructure/UpdatesSystem/Bodhi-info-DRAFT
(after once you rebuilt this package on Fedora rebuilding system).

If you have questions, please ask me.
Comment 14 Alexander Kahl 2007-09-13 04:44:31 EDT
Updated Spec URL:
http://prelive.iconmobile.com/dev31/fedora-icm-repo/Fedora/7/SPECS/libzzub.spec
Updated SRPM URL:
http://prelive.iconmobile.com/dev31/fedora-icm-repo/Fedora/7/SRPMS/libzzub-0.2.3-5.fc7.src.rpm

Fixed issues:
- removed redundant explicit flac requirement


I'm certain that FC-6 support is negligible, Fedora 7 is the first version
seriously suitable for sound production without tweaking much and involving
Planet CCRMA.

Thank you Mamoru! I'm going to apply for the account during the day.
Comment 15 Alexander Kahl 2007-09-14 04:37:02 EDT
Mamoru, my cvsextras group membership is pending. Would you please confirm my
request now?
Comment 16 Mamoru TASAKA 2007-09-14 06:25:15 EDT
Okay, now I am sponsoring you. Please proceed.
Comment 17 Alexander Kahl 2007-09-14 10:53:33 EDT
New Package CVS Request
=======================
Package Name: libzzub
Short Description: Powerful music sequencing library
Owners: akahl
Branches: F-7
InitialCC: mtasaka
Cvsextras Commits: yes
Comment 18 Kevin Fenzi 2007-09-14 13:56:38 EDT
cvs done.
Comment 19 Mamoru TASAKA 2007-09-17 05:34:20 EDT
*** Bug 275851 has been marked as a duplicate of this bug. ***
Comment 20 Mamoru TASAKA 2007-09-17 05:34:54 EDT
Reopening.
Comment 21 Alexander Kahl 2007-09-17 09:31:20 EDT
Updated Spec URL:
http://prelive.iconmobile.com/dev31/fedora-icm-repo/Fedora/7/SPECS/libzzub.spec
Updated SRPM URL:
http://prelive.iconmobile.com/dev31/fedora-icm-repo/Fedora/7/SRPMS/libzzub-0.2.3-6.fc7.src.rpm

Fixed issues:
- added pyzzub as an internal extra package
(including all issues mentioned in Bug 275851)
Comment 22 Mamoru TASAKA 2007-09-17 11:21:41 EDT
For -6:

* pyzzub naming
  - Perhaps you want to use the name "pyzzub" for python binding
    subpackage, not "libzzub-pyzzub". In that case, you can do by
    passing -n option. i.e.
----------------------------------------------------
%package -n pyzzub
Summary:    Python Bindings For libzzub
........
%files -n pyzzub
%defattr(-,root,root,-)
........
----------------------------------------------------

*BuildRequires
  -6 does not build on rawhide:
   http://koji.fedoraproject.org/koji/taskinfo?taskID=160863
   - python-devel is missing from BuildRequires
   - and python-setuptools is not needed from BuildRequires
Comment 23 Alexander Kahl 2007-09-17 11:44:47 EDT
Updated Spec URL:
http://prelive.iconmobile.com/dev31/fedora-icm-repo/Fedora/7/SPECS/libzzub.spec
Updated SRPM URL:
http://prelive.iconmobile.com/dev31/fedora-icm-repo/Fedora/7/SRPMS/libzzub-0.2.3-7.fc7.src.rpm

Fixed issues:
- re-added pyzzub python-devel build requirement
- explicitly nailed the name of pyzzub

The only new drawback is that pyzzub cannot be built as a noarch package from
now on.

Mamoru, is it possible for me to do the Koji builds for non-approved revisions
yet or shall I leave that to you for now? However I really appreciate your help.
Comment 24 Mamoru TASAKA 2007-09-17 12:04:15 EDT
(In reply to comment #23)

> The only new drawback is that pyzzub cannot be built as a noarch package from
> now on.
This is not unusual. For example, there are lots of packages
named "*-doc(s)", which contain only documents but which are marked
as "arch-dependent".

> Mamoru, is it possible for me to do the Koji builds for non-approved revisions
> yet or shall I leave that to you for now? 
Actually now it is _possible_, i.e. you can try to rebuild
arbitrary srpms on koji like:
$ koji build --scratch <target> <srpm_you_want_to_try>
Currently target can be: "dist-fc7-updates-candidate" or "dist-f8".
If rebuild succeeds, the results are put under
http://koji.fedoraproject.org/scratch/<your_FAS_name>/task_<number>./

-7 is okay.
* Commit to CVS, rebuild on devel and F-7, and then you can
  close this bug again.
* For F-7, please request to push to the real repository
  by using bodhi system
* As currently libzzub does not support ppc64, please
  - open a new report (with component libzzub) which tells that
    libzzub does not support ppc64
  - and make the bug block bug 238953.

Comment 25 Alexander Kahl 2007-09-17 15:47:05 EDT
> Commit to CVS, rebuild on devel and F-7, and then you can close this bug again.
Done

> For F-7, please request to push to the real repository by using bodhi system
Shall I push to testing or stable? Pushed to testing for now. However how can
people test without aldrin for now..?

> As currently libzzub does not support ppc64, please
>   - open a new report (with component libzzub) which tells that
>     libzzub does not support ppc64
>   - and make the bug block FE-ExcludeArch-ppc64.
Done: Bug 293751
Comment 26 Mamoru TASAKA 2007-09-17 22:17:49 EDT
(In reply to comment #25)
 > For F-7, please request to push to the real repository by using bodhi system
> Shall I push to testing or stable? 
  I usually request to push to stable (i.e. skip testing).

> Pushed to testing for now. However how can
> people test without aldrin for now..?
  Perhaps no one can.
Comment 27 Fedora Update System 2007-09-17 23:17:24 EDT
libzzub-0.2.3-7.fc7 has been pushed to the Fedora 7 testing repository.  If problems still persist, please make note of it in this bug report.
Comment 28 Fedora Update System 2007-09-18 18:31:46 EDT
libzzub-0.2.3-7.fc7 has been pushed to the Fedora 7 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.