Bug 497441 - Review Request: mumble - Voice chat application
Summary: Review Request: mumble - Voice chat application
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
low
medium
Target Milestone: ---
Assignee: Mamoru TASAKA
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 717708 (view as bug list)
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2009-04-23 21:38 UTC by Igor Jurišković
Modified: 2011-06-29 15:56 UTC (History)
13 users (show)

Fixed In Version: 1.1.8-13.fc10
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-05-24 13:22:39 UTC
Type: ---
Embargoed:
mtasaka: fedora-review+
kevin: fedora-cvs+


Attachments (Terms of Use)
INIT SCRIPT FOR MURMUR (1.54 KB, text/plain)
2009-04-24 16:19 UTC, Simon
no flags Details
Patch to compile on dist-f10-updates-candidate (368 bytes, patch)
2009-05-16 18:10 UTC, Mamoru TASAKA
no flags Details | Diff

Description Igor Jurišković 2009-04-23 21:38:21 UTC
Spec URL: Requesting hosting space for spec
SRPM URL: Requesting hosting space for srpm
Description: 
Mumble is a voice chat application for groups.
While it can be used for any kind of activity,
it is primarily intended for gaming. It can be
compared to programs like Ventrilo or TeamSpeak.
People tend to simplify things, so when they
talk about Mumble they either talk about "Mumble"
the client application or about "Mumble & Murmur"
the whole voice chat application suite.

Mumble is client application witch connects to
running Murmur server.

Murmur is server application to witch clients
connect.


This is my first package and I need a sponsor.

Comment 1 Christoph Wickert 2009-04-23 23:14:43 UTC
Hi Igor,

thanks for submitting this review. I know there have been people already working on mumble, but so far nobody has managed to get it into Fedora. CC'ing Simon Wesp, he knows more about this.

(In reply to comment #0)
> Spec URL: Requesting hosting space for spec
> SRPM URL: Requesting hosting space for srpm

If you applied for a FAS account, you should already have some space at fedorapeolpe.org

> This is my first package and I need a sponsor.  

OK, I added a blocker on bug # 177841, so potential sponsors can find you

Comment 2 Igor Jurišković 2009-04-24 01:10:15 UTC
Hello Christoph.

Here are the required files:
Spec URL: http://78.46.84.75:81/tj/etmain/mumble.spec
SRPM URL: http://78.46.84.75:81/tj/etmain/mumble-1.1.8-1.fc9.src.rpm

Comment 3 Igor Jurišković 2009-04-24 11:06:26 UTC
It was pretty late last night and some things I forgot to mention.

By default mumble doesn't include installation procedures. To changed that I recreated main.pro trough mumble.spec. So now every time you start building the project it adds install procedures into Makefile. But there is a problem with that. Obviously qmake doesn't make install procedures for files that have not been created yet. Calling qmake before make doesn't create Makefile with installation for binaries and libraries that are going to be created. To bypass this in my mumble.spec file I'm calling qmake twice. Once before make to create Makefile and once after make to recreate Makefile with proper installation procedures.

Is this the right way? (I was trying some other ways but with no success)

Currently mumble is compiled without support for g15 and similar devices because I couldn't find proper dependencies in repositories. (if there are please let me now the complete name)

Mumble uses speex as a voice codec but not the speex from fedora repositories. It uses speex distributed with mumble.

One more thing. Mumble consists of two parts.
1. mumble - client application.
2. murmur - server application.

Right now both applications are compiled together. This means when you install mumble(but mumble as app suite not client app) you get mumble(client app) and murmur.

Should it stay as suite or should I recreate two packages from this one?

Thanks in advance,
Igor

Comment 4 Christoph Wickert 2009-04-24 11:24:04 UTC
I'm not really into that but I suggest you look at the old bugs first to see if there is anything you can take from theses packages:
https://bugzilla.redhat.com/show_bug.cgi?id=294001
https://bugzilla.redhat.com/show_bug.cgi?id=294001

Some quick comments on the spec file:

Source0: Change it as described in 
http://fedoraproject.org/wiki/Packaging/SourceURL

BuildRequires: Use several lines for better legibility

%description: line breaks at 80 characters

Do not create main.pro in the spec but include it as Source1

Package murmur and mumble into different packages

Include an initscript for the murmur server. Get it from one of the other reviews.

Mumbles needs to be patched to use the speex from Fedora and not the included one. See
http://fedoraproject.org/wiki/Packaging:Guidelines#Duplication_of_system_libraries

That's all I can say, because I have never used mumble and have no idea how it works. Simon, please step in here to get this review going.

Comment 5 Igor Jurišković 2009-04-24 11:52:07 UTC
(In reply to comment #4)
> I'm not really into that but I suggest you look at the old bugs first to see if
> there is anything you can take from theses packages:
> https://bugzilla.redhat.com/show_bug.cgi?id=294001
> https://bugzilla.redhat.com/show_bug.cgi?id=294001
> 
> Do not create main.pro in the spec but include it as Source1

If I don't create main.pro inside spec file I cant use marcos. If I don't use macros then the installation path for files has to be set manually every time you change package version. e.g. if you change from 1.1.8-1 to 1.1.8-2 you would have to manually change main.pro. That's the reason I created main.pro inside mumble.spec

Or should I manually install files?

Comment 6 Andreas Osowski 2009-04-24 14:36:17 UTC
Hello,
damn, you were two days faster than me :D 
I was intending to request a review for mumble, too... 
Anyway... 

You've got a very interesting approach there.
Might I ask why you create your own main.pro file?
I've -- so far -- installed everything manually.
Besides of that we don't want the speex version supplied with mumble, so disable it. -- oh I just saw that you appear to be disabling it... 

Same goes for XEVIE (as that requires a modification of the xorg.conf) and embedded qt translations I guess...

You should set the PLUGIN_PATH to something when running qmake (it's a DEFINE)
Otherwise it will locate to something default that we don't want.
Thus, liblink.so should be isntalled to somewhere else like /usr/lib/mumble/

Christoph has already said that you should make two packages out of mumble and murmur, the server should not be installed automatically.

The description contains incorrect English
<snip>
Mumble is client application witch connects to
running Murmur server.

Murmur is server application to witch clients 
connect.
</snip>

Should be:
<snip>
Mumble is a client application for the Murmur
server.

Murmur is the server application to which Mumble
clients can connect.
</snip>
Mind that I'd -- personally -- not put those two phrases in there at all, it's already said in the paragraph above.

According to the guidelines, packages ending with .so should only be included in the -devel packages. 

The license is not GPLv2+ but BSD.

Source0 should not point to a specific SF server but rather to http://downloads.sourceforge.net

Why are you only installing the icons with a 32x32 resolution and not all available?

In %install you don't adhere to the smp_flags,
make install 
should be:
make install %{?_smp_mflags}

So much for now and for a quick glance.

If you are interested in seeing my spec file / SRPM:
Spec URL:
http://fedora.mkdir.name/packages/mumble-1.1.8/mumble.spec
SRPM URL:
http://fedora.mkdir.name/packages/mumble-1.1.8/mumble-1.1.8-1.fc10.src.rpm

Comment 7 Andreas Osowski 2009-04-24 14:42:02 UTC
I'm sorry, I didn't see that you had already done a make before make install, ignore the comment concerning the smp flags then.

Comment 8 Andreas Osowski 2009-04-24 15:03:12 UTC
Hey,
I just talked to Simon Wesp and he asked me to remove the files on my webspace again, that's why you'll only get 404s.
After all, this is your first package and supposed to be a learning experience.

Andreas

Comment 9 Simon 2009-04-24 16:19:33 UTC
Created attachment 341206 [details]
INIT SCRIPT FOR MURMUR

(In reply to comment #4)
> Simon, please step in here to get this review going.

Fine. I'm here. Lets take a little look inside. First of all. This package is a hard package. It is not an easy package and should be imho for advanced packagers.
The version 1.1.6 Rudolf Kastl, Andreas Osowski and me agonized over 1.1.6
Andreas creted a srpm for 1.1.8 a few days ago, based on our groupwork.


------------------------
(In reply to comment #3)
> By default mumble doesn't include installation procedures. To changed that I
> recreated main.pro trough mumble.spec. So now every time you start building the
> project it adds install procedures into Makefile. But there is a problem with
> that. Obviously qmake doesn't make install procedures for files that have not
> been created yet. Calling qmake before make doesn't create Makefile with
> installation for binaries and libraries that are going to be created. To bypass
> this in my mumble.spec file I'm calling qmake twice. Once before make to create
> Makefile and once after make to recreate Makefile with proper installation
> procedures.
> 
> Is this the right way? (I was trying some other ways but with no success)
(In reply to comment #5)
> If I don't create main.pro inside spec file I cant use marcos. If I don't use
> macros then the installation path for files has to be set manually every time
> you change package version. e.g. if you change from 1.1.8-1 to 1.1.8-2 you
> would have to manually change main.pro. That's the reason I created main.pro
> inside mumble.spec
Imho this isn't the right way. remove this part completely.
this makes you a lot of manual work and it is ugly. follow the steps in my little todo list. you won't need such things. 

------------------------
(In reply to comment #4)
> Mumbles needs to be patched to use the speex from Fedora and not the included
> one.
"no-bundled-speex" is a CONFIGS parameter to do this 

------------------------
(In reply to comment #4)
> Package murmur and mumble into different packages
This is absolute correct...
(In reply to comment #3)
> Right now both applications are compiled together.
Yeah, they compiled together, but they don't need each other, you can seperate it


------------------------
(In reply to comment #4)
> Include an initscript for the murmur server. Get it from one of the other
> reviews.
Attached :-)


------------------------
WHAT YOU NEED TO DO
(just to get in a right way, this list is not complete, there are still some things missing)
(not good sorted)

- remove your created make.pro

- Correct the Description as cwickert says.
-- You can use texts from upstreams hp/wiki 

- correct License
the correct license is BSD 

- correct url
http://mumble.sourceforge.net/
please don't use the "sf"-token 

- correct SOURCE
http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
Please don't select a specific sourceforge-mirror.

- add missing build requirements
-- spexx-devel is needed for build without bundled spexx
-- desktop-file-utils is needed for the desktop file install
you need some more, please recheck this.

- split package in mumble and murmur (with -n)
%package -n murmur
this package needs a summary and a description and a group, too.
you can add a description on this way
%description -n murmur 
create an own filelist 
%files -n murmur 
for murmur

- add a new user "murmur" for murmur
you need a user for the murmur process. it makes sense to name this user "murmur"

- add persmissions for "murmur" on murmur related files 
you can handle this with %attr in %files

- Add to make install
-- INSTALL="install -p" for perserve timestamps
-- INSTALL_ROOT="%buildroot" will install in the buildroot 

- Use CONFIG and DEFINES parameters in qmake
-- CONFIG+"no-bundled-speex" no additional comment. should be clear
you can find more infos in the mumble wiki
some configs would be problematical in different fedoraversions. like pulseaudioparameters.
you should create seperate configstrings for these and seperate it with different if "instructions"
examples:
%if 0%{?fedora_version} = 9
CONFIG+"no-bundled-speex no-pulseaudio no-oss"
%endif
%if 0%{?fedora_version} = 10
CONFIG+"no-bundled-speex no-pulseaudio"
%endif
%if 0%{?fedora_version} >= 11
CONFIG+"no-bundled-speex"
%endif

- install all pixmaps and all icons
you can find it in the "icons" directory

- install all mumble plugins (seperate subopackage(s))
-- work with PLUGIN_PATH - a DEFINES parameter

- murmurd should be installed in sbin

- add the attached initfile as seperate source, like Source1

- add overlay (seperate subpackage)
you can find it in the "scripts" directory
-- add a desktopfile for mumble overlay
add it as seperate source, like Source2

- you need to honor optflags
QMAKE_CFLAGS_RELEASE="%{optflags}"
QMAKE_CXXFLAGS_RELEASE="%{optflags}"


------------------------
I hope this will help you a little bit.

Comment 10 Igor Jurišković 2009-04-24 20:04:00 UTC
Sorry for the late reply.

I'll follow Simon's reply while creating/modifying mumble.spec. Don't expect it to be finished tomorrow. This will take some time for a newbie packager like I am.

Thanks Simon for such good reply. I'm sure its going to help me a lot.

Comment 11 Simon 2009-04-24 20:12:12 UTC
np, if you need help or if you have questions.
just ask!

Comment 12 Igor Jurišković 2009-04-24 22:28:26 UTC
> ------------------------
> (In reply to comment #4)
> > Mumbles needs to be patched to use the speex from Fedora and not the included
> > one.
> "no-bundled-speex" is a CONFIGS parameter to do this 
> 
Done
> - remove your created make.pro
Removed

> 
> - Correct the Description as cwickert says.
> -- You can use texts from upstreams hp/wiki 
Fixed

> 
> - correct License
> the correct license is BSD 
> 
Done

> - correct url
> http://mumble.sourceforge.net/
> please don't use the "sf"-token 
> 
Done

> - correct SOURCE
> http://downloads.sourceforge.net/%{name}/%{name}-%{version}.tar.gz
> Please don't select a specific sourceforge-mirror.
> 
Done

> - add missing build requirements
> -- spexx-devel is needed for build without bundled spexx
> -- desktop-file-utils is needed for the desktop file install
> you need some more, please recheck this.
> 
Done

> - split package in mumble and murmur (with -n)
> %package -n murmur
> this package needs a summary and a description and a group, too.
> you can add a description on this way
> %description -n murmur 
> create an own filelist 
> %files -n murmur 
> for murmur
> 
Did but you'll have to take a look at it

> - add a new user "murmur" for murmur
> you need a user for the murmur process. it makes sense to name this user
> "murmur"
> 
Did but you take a look

> - add persmissions for "murmur" on murmur related files 
> you can handle this with %attr in %files
>
Done but take a look

> - Add to make install
> -- INSTALL="install -p" for perserve timestamps
> -- INSTALL_ROOT="%buildroot" will install in the buildroot 
>
Problematic part. If you remove main.pro(like you said) then there is NO make install and you have to install everything by hand using "install". So there is no point in doing INSTALL_ROOT="%{buildroot}". Or am I wrong?

 
> - Use CONFIG and DEFINES parameters in qmake
> -- CONFIG+"no-bundled-speex" no additional comment. should be clear
> you can find more infos in the mumble wiki
As I said before I need to use no-g15 too cause I didn't found dependency for it on F9(witch I'm using now till F11 comes out).

> some configs would be problematical in different fedoraversions. like
> pulseaudioparameters.
> you should create seperate configstrings for these and seperate it with
> different if "instructions"
> examples:
> %if 0%{?fedora_version} = 9
> CONFIG+"no-bundled-speex no-pulseaudio no-oss"
> %endif
> %if 0%{?fedora_version} = 10
> CONFIG+"no-bundled-speex no-pulseaudio"
> %endif
> %if 0%{?fedora_version} >= 11
> CONFIG+"no-bundled-speex"
> %endif
Don't see the reason why would it be problematic? Pulseaudio works on F9(using it right now with mumble).


> 
> - install all pixmaps and all icons
> you can find it in the "icons" directory
This part I can't understand. To witch directory should I install icons and how? How to choose witch icon will mumble use? There are many icons dirs and I get lost. I couldn't find anything in wiki that would help me.

> 
> - install all mumble plugins (seperate subopackage(s))
> -- work with PLUGIN_PATH - a DEFINES parameter
Can you explain this a little bit more? Should I make another package like I did with murmur. 
%package -n mumble-plugins


> 
> - murmurd should be installed in sbin
Done

> 
> - add the attached initfile as seperate source, like Source1
Done

> 
> - add overlay (seperate subpackage)
> you can find it in the "scripts" directory
Same as above:
Can you explain this a little bit more? Should I make another package like I did with murmur. 
%package -n mumble-overlay


> -- add a desktopfile for mumble overlay
> add it as seperate source, like Source2
Should I create desktop file?

> 
> - you need to honor optflags
> QMAKE_CFLAGS_RELEASE="%{optflags}"
> QMAKE_CXXFLAGS_RELEASE="%{optflags}"
If i do:
make %{optflags}
it throws me an error. Really big one. Would be hard to read if I post it here. Here is the link: 
http://78.46.84.75:81/tj/etmain/mumble.error
Compiling works with only make


Here is the new spec file: http://78.46.84.75:81/tj/etmain/mumble.spec

Currently spec file throws error cause installation isn't working but I want to be sure that I'm going to right direction with installation.

Greetz,
Igor

Comment 13 Christoph Wickert 2009-04-24 22:39:54 UTC
(In reply to comment #9)
> Created an attachment (id=341206) [details]
> INIT SCRIPT FOR MURMUR

I think setting MURMUR_USER and MURMUR_GROUP in the init script IMO is bad, how about outsourcing it to /etc/sysconfig/murmur for example?

Comment 14 Igor Jurišković 2009-04-25 19:50:09 UTC
Nah, don't like to wait. So I did almost everything as I think it should be.
--------------------------------------------
MUMBLE:
[makerpm@localhost SPECS]$ rpmls ../RPMS/i386/mumble-1.1.8-2.fc9.i386.rpm
-rwxr-xr-x  /usr/bin/mumble
-rwxr-xr-x  /usr/lib/libmumble.so
-rwxr-xr-x  /usr/lib/libmumble.so.1
-rwxr-xr-x  /usr/lib/libmumble.so.1.1
-rwxr-xr-x  /usr/lib/libmumble.so.1.1.8
-rwxr-xr-x  /usr/lib/mumble/liblink.so
drwxr-xr-x  /usr/share/doc/mumble-1.1.8
-rw-r--r--  /usr/share/doc/mumble-1.1.8/CHANGES
-rw-r--r--  /usr/share/doc/mumble-1.1.8/LICENSE
-rw-r--r--  /usr/share/doc/mumble-1.1.8/README
-rw-r--r--  /usr/share/doc/mumble-1.1.8/README.Linux
[makerpm@localhost SPECS]$

[makerpm@localhost SPECS]$ rpmlint ../RPMS/i386/mumble-1.1.8-2.fc9.i386.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
[makerpm@localhost SPECS]$
-------------------------------------------------
MURMUR:
[makerpm@localhost SPECS]$ rpmls ../RPMS/i386/murmur-1.1.8-2.fc9.i386.rpm
lrw-rw-r--  /etc/mumble-server.ini
-rw-rw-r--  /etc/murmur/murmur.ini
-rwxr-xr-x  /etc/rc.d/init.d/murmur
lrwxrwxrwx  /usr/bin/mumble-server
lrwxrwxrwx  /usr/sbin/murmur
-rwxr-xr-x  /usr/sbin/murmurd
drwxr-xr-x  /usr/share/doc/murmur-1.1.8
-rw-r--r--  /usr/share/doc/murmur-1.1.8/CHANGES
-rw-r--r--  /usr/share/doc/murmur-1.1.8/LICENSE
-rw-r--r--  /usr/share/doc/murmur-1.1.8/README
-rw-r--r--  /usr/share/doc/murmur-1.1.8/README.Linux
[makerpm@localhost SPECS]$

[makerpm@localhost SPECS]$ rpmlint ../RPMS/i386/murmur-1.1.8-2.fc9.i386.rpm
murmur.i386: W: non-standard-uid /etc/rc.d/init.d/murmur murmur
murmur.i386: W: non-standard-gid /etc/rc.d/init.d/murmur murmur
murmur.i386: W: non-standard-uid /etc/murmur/murmur.ini murmur
murmur.i386: W: non-standard-gid /etc/murmur/murmur.ini murmur
murmur.i386: W: non-standard-uid /usr/bin/mumble-server murmur
murmur.i386: W: non-standard-gid /usr/bin/mumble-server murmur
murmur.i386: W: non-standard-uid /usr/sbin/murmur murmur
murmur.i386: W: non-standard-gid /usr/sbin/murmur murmur
murmur.i386: W: non-standard-uid /etc/mumble-server.ini murmur
murmur.i386: W: non-standard-gid /etc/mumble-server.ini murmur
murmur.i386: W: non-standard-uid /usr/sbin/murmurd murmur
murmur.i386: W: non-standard-gid /usr/sbin/murmurd murmur
murmur.i386: W: spurious-bracket-in-%preun
1 packages and 0 specfiles checked; 0 errors, 13 warnings.
[makerpm@localhost SPECS]$

All those warnings are related to new user and group murmur:murmur. They shouldn't make any problems? But W13 is related to if[] in %preun. Tried to fix it but no success. Its something related to space before ]?
-------------------------------------------------------------
SRPM:
[makerpm@localhost SPECS]$ rpmlint ../SRPMS/mumble-1.1.8-2.fc9.src.rpm
1 packages and 0 specfiles checked; 0 errors, 0 warnings.
[makerpm@localhost SPECS]$
-------------------------------------------------------------
SPEC:
[makerpm@localhost SPECS]$ rpmlint mumble.spec
0 packages and 1 specfiles checked; 0 errors, 0 warnings.
[makerpm@localhost SPECS]$
-------------------------------------------------------------
INIT:
When I do /etc/init.d/murmur it throws me an error. Should I remove this line or fix it somehow?
root /home/makerpm/rpmbuild/SPECS  #  /etc/init.d/murmur
/etc/init.d/murmur: line 16: /lib/lsb/init-functions: No such file or directory
Usage: <servicename> {start|stop|status|restart|reload|force-reload|condrestart
root /home/makerpm/rpmbuild/SPECS  #


- fixed murmur.init. lockfile pointed to /var/log/subsys/murmur correct one is /var/lock/subsys/murmur
---------------------------------------------------------------------

SPEC: http://78.46.84.75:81/tj/etmain/mumble/mumble.spec
SRPM: http://78.46.84.75:81/tj/etmain/mumble/mumble-1.1.8-2.fc9.src.rpm
NEW INIT: http://78.46.84.75:81/tj/etmain/mumble/murmur.init


TODO:
Install:
icons - where, how...?
scripts - should I add them as %doc or /usr/share/mumble/?
desktop-file for mumble
subpackage for mumble-overlay and desktop file - can somebody explain this a little bit more. As far as I see mumble-overlay is just bash script that preloads library before starting chosen program. Why would I create desktop file for script?


Hmm, that's all? 

Review wanted. :)

Comment 15 Igor Jurišković 2009-04-26 14:15:50 UTC
Ok, I added icons. But only 16x16,32x32,48x48 to hicolor directory. Other icons idk where to put. 

All scripts from scripts dir(except murmur.ini/init/overlay/user-wrapper) are included as %doc.

Desktop file is added for mumble.

All things are done now except:

----------------------------------------------------
I need to register protocol mumble:// so mumble can use it but in wiki there is nothing related to register protocols. How to do that?
----------------------------------------------------
Mumble-overlay - as I said before I don't understand what really you want with this. Explain this a little bit more.
----------------------------------------------------
Error that throws /etc/init.d/murmur:
root /home/makerpm/rpmbuild/SPECS  #  /etc/init.d/murmur
/etc/init.d/murmur: line 16: /lib/lsb/init-functions: No such file or directory
Usage: <servicename> {start|stop|status|restart|reload|force-reload|condrestart
root /home/makerpm/rpmbuild/SPECS  #
----------------------------------------------------

OLD SPEC(the one from my last post): http://78.46.84.75:81/tj/etmain/mumble/mumble.spec_old
NEW SPEC: http://78.46.84.75:81/tj/etmain/mumble/mumble.spec
SRPM: http://78.46.84.75:81/tj/etmain/mumble/mumble-1.1.8-3.fc9.src.rpm
INIT(nothing changed from last post): http://78.46.84.75:81/tj/etmain/mumble/murmur.init
DESKTOP: http://78.46.84.75:81/tj/etmain/mumble/mumble.desktop


btw, did somebody died so nobody answers or my posts are nonsense so everyone is laughing? :)

Comment 16 Rudolf Kastl 2009-04-26 19:11:03 UTC
/sbin/ldconfig: /usr/lib64/libmumble.so.1 is not a symbolic link

library symlinking seems broken.

Comment 17 Rudolf Kastl 2009-04-26 19:17:08 UTC
the category for the mumble menu entry is broken too:

Categories=Audio;

Actually the entry is missing AudioVideo which is a must according to:
http://standards.freedesktop.org/menu-spec/latest/apa.html

maybe Categories=Network;Chat; would fit better.

Comment 18 Igor Jurišković 2009-04-26 19:45:24 UTC
Thanks for reply Rudolf.

Category AudioVideo wouldn't fit because Mumble isn't video program. So I changed it to suggested Network;Chat; witch fits better.

About symlink. I don't now why is it broken. Right now mumble libraries are installed normally without any modifications:
install -p release/libmumble.so* %{buildroot}%{_libdir}/
eg.
libmumble.so -> libmumble.so.1.1.8
libmumble.so.1 -> libmumble.so.1.1.8
libmumble.so.1.1 -> libmumble.so.1.1.8

All of those files are symlinks to libmumble.so.1.1.8. Why would libmumble.so and *.so.1.1 work and *.so.1 wouldn't work? You have any suggestion how to fix this problem?

Comment 19 Rudolf Kastl 2009-04-26 20:03:04 UTC
ll libmumble.so*
-rwxr-xr-x. 1 root root 36044 26. Apr 21:06 libmumble.so
-rwxr-xr-x. 1 root root 36044 26. Apr 21:06 libmumble.so.1
-rwxr-xr-x. 1 root root 36044 26. Apr 21:06 libmumble.so.1.1
-rwxr-xr-x. 1 root root 36044 26. Apr 21:06 libmumble.so.1.1.8

actually they are hardlinks here after installing the resulting mumble binary rpm.

Comment 20 Rudolf Kastl 2009-04-26 20:25:48 UTC
dont want to flood you with issues but:

init script doesent work:
LANG=C /etc/init.d/murmur start
/etc/init.d/murmur: line 16: /lib/lsb/init-functions: No such file or directory
Starting murmur: /etc/init.d/murmur: line 30: start_daemon: command not found

changing:
. /lib/lsb/init-functions


to:
. /etc/rc.d/init.d/functions

resolves that.

and changing:
start_daemon ...

to:
daemon ...

makes it actually start.

to clean up more:
/etc/init.d/murmur start
Starting murmur: Unknown argument --PIDFile
                                                           [  OK  ]
murmur -h shows there is no such commandline switch --PIDFile

and the last issue i can spot after looking over it really quick that it is missing lsb headers.

look into other init scripts here is an example taken from xinetd:

### BEGIN INIT INFO
# Provides:
# Required-Start: $network
# Required-Stop:
# Should-Start:
# Should-Stop:
# Default-Start: 3 4 5
# Default-Stop: 0 1 2 6
# Short-Description: start and stop xinetd
# Description: xinetd is a powerful replacement for inetd. \
#              xinetd has access control mechanisms, extensive \
#              logging capabilities, the ability to make services \
#              available based on time, and can place \
#              limits on the number of servers that can be started, \
#              among other things.
### END INIT INFO

i will checking more and let you know what else i can find.

Comment 21 Rudolf Kastl 2009-04-26 20:36:09 UTC
specfile:

can be removed from the murmur subpackage:
Provides:       murmur = %{version}-%{release}

Comment 22 Igor Jurišković 2009-04-26 23:44:15 UTC
(In reply to comment #21)
> specfile:
> 
> can be removed from the murmur subpackage:
> Provides:       murmur = %{version}-%{release}  
Fixed

INIT:
Fixed: /lib/lsb/init-functions
Fixed: start_daemon
Fixed: --PIDFile - it should be --pidfile
Fixed: lsb header

--chuid isn't working. Looks like that func doesn't exists. Murmur start fine without it but with user:group root:root witch I don't want. It needs to be started as murmur:murmur. While looking at /etc/rc.d/init.d/functions I couldn't find any function that would start murmur as murmur:murmur. 

--RunAsDaemon doesn't exist in functions. It would be logical that when u start app as daemon that it is already started as daemon so I dont see point in this func?

SPEC: http://78.46.84.75:81/tj/etmain/mumble/mumble.spec
SRPM: http://78.46.84.75:81/tj/etmain/mumble/mumble-1.1.8-4.fc9.src.rpm
INIT: http://78.46.84.75:81/tj/etmain/mumble/murmur.init
DESKTOP: http://78.46.84.75:81/tj/etmain/mumble/mumble.desktop


------------------------------------------------------------------------
I just made unofficial review of LPG: https://bugzilla.redhat.com/show_bug.cgi?id=497756

Comment 23 Simon 2009-04-27 06:02:18 UTC
(In reply to comment #15)
> ----------------------------------------------------
> I need to register protocol mumble:// so mumble can use it but in wiki there is
> nothing related to register protocols. How to do that?
Don't know how, but should be imho a seperate package


(In reply to comment #15)
> ----------------------------------------------------
> Mumble-overlay - as I said before I don't understand what really you want with
> this. Explain this a little bit more.
> ----------------------------------------------------
The overlay is an extension for mumble. you can create a subpacakge like murmur without -n parameter. -n will give a complete name. if you named it %package overlay it is a subpackage and named mumble-overlay automaticly.
You need a desktopfile that can start mumble in overlay mode in the overlay subpackage


(In reply to comment #12)
> Can you explain this a little bit more? Should I make another package 
> like I did with murmur. 
> %package -n mumble-plugins
%package plugins < as i said it above


(In reply to comment #13)
> I think setting MURMUR_USER and MURMUR_GROUP in the init script IMO is bad,
> how about outsourcing it to /etc/sysconfig/murmur for example?  
Never said it's the perfect or ultimate initscript. Just add it from another review like you said in C4
(In reply to comment #13)
> Include an initscript for the murmur server. Get it from one 
> of the other reviews.



(In reply to comment #15)
> btw, did somebody died so nobody answers or my posts are nonsense so everyone
> is laughing? :)  
We are crying 
No, was a joke! :-)

Comment 24 Rudolf Kastl 2009-04-27 10:23:56 UTC
we are all happy you are going for mumble. dont worry. ;)

Comment 25 Igor Jurišković 2009-04-27 11:53:21 UTC
(In reply to comment #23)
> (In reply to comment #15)
> > ----------------------------------------------------
> > I need to register protocol mumble:// so mumble can use it but in wiki there is
> > nothing related to register protocols. How to do that?
> Don't know how, but should be imho a seperate package
/usr/share/services/ has protocol files. I installed protocol file there but its not working. Some articles on internet says that protocol are handle by DE(Gnome,KDE...). I can install protocol inside /usr/share/kde4/services/ but then it wouldnt work at Gnome - I think. 

> 
> 
> (In reply to comment #15)
> > ----------------------------------------------------
> > Mumble-overlay - as I said before I don't understand what really you want with
> > this. Explain this a little bit more.
> > ----------------------------------------------------
> The overlay is an extension for mumble. you can create a subpacakge like murmur
> without -n parameter. -n will give a complete name. if you named it %package
> overlay it is a subpackage and named mumble-overlay automaticly.
> You need a desktopfile that can start mumble in overlay mode in the overlay
> subpackage
It is installed.

> 
> 
> (In reply to comment #12)
> > Can you explain this a little bit more? Should I make another package 
> > like I did with murmur. 
> > %package -n mumble-plugins
> %package plugins < as i said it above
Done.
> 
> 
> (In reply to comment #13)
> > I think setting MURMUR_USER and MURMUR_GROUP in the init script IMO is bad,
> > how about outsourcing it to /etc/sysconfig/murmur for example?  
> Never said it's the perfect or ultimate initscript. Just add it from another
> review like you said in C4
How do you mean outsource? Make another file murmur then set user:group inside then include that file inside init script or something else?
 
> (In reply to comment #15)
> > btw, did somebody died so nobody answers or my posts are nonsense so everyone
> > is laughing? :)  
> We are crying 
> No, was a joke! :-)  
:D

SPEC: http://78.46.84.75:81/tj/etmain/mumble/mumble.spec
SRPM: http://78.46.84.75:81/tj/etmain/mumble/mumble-1.1.8-5.fc9.src.rpm
INIT(nothing changed): http://78.46.84.75:81/tj/etmain/mumble/murmur.init
DESKTOP MUMBLE: http://78.46.84.75:81/tj/etmain/mumble/mumble.desktop
DESKTOP OVERLAY: http://78.46.84.75:81/tj/etmain/mumble/mumble-overlay.desktop

Comment 26 Igor Jurišković 2009-04-27 13:24:01 UTC
Can I request a full review of all files? I would like that someone reviews every file, package, attributes, spec, desktop files, init scripts and tells me what needs to be fixed. Like this I'm catching errors "on-the-fly" and can't keep track of them. Its pretty big package so please don't mind.

With above I would like that someone tells me:
- how to register mumble protocol
- how to start murmur as daemon with user:group -> murmur:murmur (inside murmur.init)

Thanks in advance,
Igor

Comment 27 Rudolf Kastl 2009-04-27 15:42:25 UTC
issues left i can currently see:

1. mumble.logrotate needs to be copiedto %{buildroot}%{_sysconfdir}/logrotate.d

2. you might want to use runuser within the init script to get the daemon started as $DAEMONUSER

3. i still see /sbin/ldconfig: /usr/lib64/libmumble.so.1 is not a symbolic link (1.1.8-5)

4. the protocol file is kde4 stuff and needs to go to %{_datadir}/kde4/services/%{name}.protocol

5. murmur.conf (from scripts directory) needs to go to %{buildroot}%{_sysconfdir}/dbus-1/system.d/murmur.conf

6. id recommend adding no-embed-qt-translations because it gets rid of embedded qt translation probs.

7. id recommend adding no-update because we want to have users update the rpm way anyways.

8. adding DEFINES+=PLUGIN_PATH=%{_libdir}/%{name} cant really hurt

9. DEFINES+=DEFAULT_SOUNDSYSTEM=PulseAudio also makes sense to me.

Comment 28 Kevin Kofler 2009-04-27 15:48:32 UTC
Services are always desktop-specific. /usr/share/services is the old KDE 3 services directory. The services need to be installed to /usr/share/kde4/services.

Comment 29 Thorvald Natvig 2009-04-27 17:16:24 UTC
Mumble doesn't depend on or use sqlite; it depends on Qt's sqlite database driver, which includes (or depends on) sqlite3. Same goes for DBus.

Speaking of DBus, please include the murmur.conf file for registering murmur on the system dbus.

Are there no builds of the g15daemon for Fedora? :(

Why do you have both a murmur.ini and a mumble-server.ini? You only need one, which should be whatever you use in the init file.

murmur.ini should be based on murmur.ini.system, not murmur.ini (which is intended for use when you run this from your home directory). Unless you happen to use the same paths as Debian, you'll need to regexp a few paths.

When building on x86_64, you also need to build i386 libmumble.so, and stuff that in the appropriate directory. Otherwise you won't be able to use the overlay for 32-bit processes (which include most binary-only games).

Comment 30 Igor Jurišković 2009-04-27 19:15:59 UTC
Issues and suggestions pointed by Rudolf and Thorvald will be fixed in few hours(I hope).

Comment 31 Kevin Kofler 2009-04-27 19:52:26 UTC
> When building on x86_64, you also need to build i386 libmumble.so, and stuff
> that in the appropriate directory.

Uh, no, you must not build i386 stuff in the x86_64 package, Koji won't even let you do that. The way this has to work is that the package containing libmumble.so has to be multilibbed (i.e. both the i386/i586 and the x86_64 package available in the x86_64 repository) and people who use 32-bit apps need to install the 32-bit package explicitly.

Comment 32 Igor Jurišković 2009-04-28 00:11:21 UTC
(In reply to comment #27)
> issues left i can currently see:
> 
> 1. mumble.logrotate needs to be copiedto %{buildroot}%{_sysconfdir}/logrotate.d
Done

> 
> 2. you might want to use runuser within the init script to get the daemon
> started as $DAEMONUSER
Fixed - its not working right now but will be fixed till tomorrow.(problem with permissions I think)

> 
> 3. i still see /sbin/ldconfig: /usr/lib64/libmumble.so.1 is not a symbolic link
> (1.1.8-5)
Fixed

> 
> 4. the protocol file is kde4 stuff and needs to go to
> %{_datadir}/kde4/services/%{name}.protocol
Fixed

> 
> 5. murmur.conf (from scripts directory) needs to go to
> %{buildroot}%{_sysconfdir}/dbus-1/system.d/murmur.conf
Done

> 
> 6. id recommend adding no-embed-qt-translations because it gets rid of embedded
> qt translation probs.
Done

> 
> 7. id recommend adding no-update because we want to have users update the rpm
> way anyways.
Done

> 
> 8. adding DEFINES+=PLUGIN_PATH=%{_libdir}/%{name} cant really hurt
Done

> 
> 9. DEFINES+=DEFAULT_SOUNDSYSTEM=PulseAudio also makes sense to me.  
Done

(In reply to comment #29)
> Mumble doesn't depend on or use sqlite; it depends on Qt's sqlite database
> driver, which includes (or depends on) sqlite3. Same goes for DBus.
Done

> 
> Speaking of DBus, please include the murmur.conf file for registering murmur on
> the system dbus.
Done

> 
> Are there no builds of the g15daemon for Fedora? :(
In F9 nope.

> 
> Why do you have both a murmur.ini and a mumble-server.ini? You only need one,
> which should be whatever you use in the init file.
mumble-server.ini is symlink to murmur.ini

> 
> murmur.ini should be based on murmur.ini.system, not murmur.ini (which is
> intended for use when you run this from your home directory). Unless you happen
> to use the same paths as Debian, you'll need to regexp a few paths.
Fixed

> 
> When building on x86_64, you also need to build i386 libmumble.so, and stuff
> that in the appropriate directory. Otherwise you won't be able to use the
> overlay for 32-bit processes (which include most binary-only games).  


The issue with murmur.init will be fixed tomorrow - its pretty late here :)

SPEC: http://78.46.84.75:81/tj/etmain/mumble/mumble.spec
SRPM: http://78.46.84.75:81/tj/etmain/mumble/mumble-1.1.8-6.fc9.src.rpm
INIT: http://78.46.84.75:81/tj/etmain/mumble/murmur.init
DESKTOP MUMBLE: http://78.46.84.75:81/tj/etmain/mumble/mumble.desktop
DESKTOP OVERLAY: http://78.46.84.75:81/tj/etmain/mumble/mumble-overlay.desktop

Comment 33 Igor Jurišković 2009-04-28 14:19:21 UTC
Ok, got it running. Under these circumstances:
- using runuser crashes murmur every time if you try to run it as daemon. Running /sbin/runuser murmur -g murmur -c 'murmur -ini /etc/mumble-server.ini' 
works but inside init it crashes. IDK why. Tried to fix the problem but found no success.

- to start it I had to modify /etc/mumble-server.ini and change uname to murmur. This causes murmur to be started with user murmur if you try to start it as root.

I supplied new ini file as Source4.

SPEC: http://78.46.84.75:81/tj/etmain/mumble/mumble.spec
SRPM: http://78.46.84.75:81/tj/etmain/mumble/mumble-1.1.8-6.fc9.src.rpm
INIT: http://78.46.84.75:81/tj/etmain/mumble/murmur.init
ini: http://78.46.84.75:81/tj/etmain/mumble/murmur.ini.system

Comment 34 Thorvald Natvig 2009-04-28 16:34:45 UTC
Just a quick comment: If you're using scripts/murmur.conf as it is, that expects murmur to be running under the username "mumble-server". If you want the user to be named "murmur", you'll need to change it :)
Unless it clashes with Fedora policy, I would actually recommend keeping the username as "mumble-server", as that will allow you to use the majority of the config-files as-is.

Also the input-policy file -- please check that it does indeed work. It's a complete hack, has only been tested on Ubuntu (and does not work on e.g. Debian), and so it might not give the result you wish. Also, unless you happen to run an older X server, X will lock input devices so they can't be read, which means it won't work anyway. May be better to just remove it.

BTW: I may be missing something obvious here, but why target F9? F10 is released, and F11 is due in a month?

Comment 35 Igor Jurišković 2009-04-28 17:47:56 UTC
(In reply to comment #34)
> Just a quick comment: If you're using scripts/murmur.conf as it is, that
> expects murmur to be running under the username "mumble-server". If you want
> the user to be named "murmur", you'll need to change it :)
> Unless it clashes with Fedora policy, I would actually recommend keeping the
> username as "mumble-server", as that will allow you to use the majority of the
> config-files as-is.
Yeah, I was thinking to do that but it was late last night. And mumble-server fits better because most files and directories are called mumble-server. I'll change that today.
> 
> Also the input-policy file -- please check that it does indeed work. It's a
> complete hack, has only been tested on Ubuntu (and does not work on e.g.
> Debian), and so it might not give the result you wish. Also, unless you happen
> to run an older X server, X will lock input devices so they can't be read,
> which means it won't work anyway. May be better to just remove it.
> 
> BTW: I may be missing something obvious here, but why target F9? F10 is
> released, and F11 is due in a month?  
Mine system is F9. Its heavily modified and doing an upgrade is not an option. I'll do a complete new installation of F11 when it comes out. Anyway I wont need to change nothing in spec file. g15 is still missing in F11. :( I would try to make package but I don't have G15 keyboard so I can't test binaries.


I'll upload new spec and srpms later(few hours).

Comment 36 Rudolf Kastl 2009-04-28 19:18:49 UTC
you did really great work but unfortunately i have a few small issues left:

1.
Requires: %{name} = %{version}-%{release} missing in subpackages (overlay and protocol) that dont do proper autodeptracking cause of their payload.

2. one has to think about if it is really necassery to symlink the binary so many times or instead focus on the upstream method and fix everything else. but i will leave that up to you.

Comment 37 Igor Jurišković 2009-04-28 19:50:09 UTC
(In reply to comment #36)
> you did really great work but unfortunately i have a few small issues left:
> 
> 1.
> Requires: %{name} = %{version}-%{release} missing in subpackages (overlay and
> protocol) that dont do proper autodeptracking cause of their payload.
Yea, forgot that. :) Its fixed now.

> 
> 2. one has to think about if it is really necassery to symlink the binary so
> many times or instead focus on the upstream method and fix everything else. but
> i will leave that up to you.
I was thinking of calling it mumble-server everywhere but got confused when Mumble devs call it sometimes murmur sometimes mumble-server. I don't now what is the proper name(Thorvald can tell us probably). I guess its murmur. But if I call it murmur users will get confused because many don't now what is murmur. They only now what is mumble. I changed it a little bit. Now there is only /usr/sbin/murmur and /usr/bin/mumble-server.

Spec coming in one hour - if I'm lucky and everything goes well. :)

Comment 39 Thorvald Natvig 2009-04-29 00:13:42 UTC
Definitely getting there :)

Right now, all the descriptions are identical. Wouldn't it be better if the different packages explained what they contained, instead of just a common description of what Mumble is? Unless you already know, it's not very clear what "mumble-overlay" does.

You're calling the package "murmur", which provides "mumble-murmur". If you make it provide "mumble-server" instead (or simply make it the "server" subpackage), you'll match the naming used in other distros, which means less confusion :)

You're currently renaming the binary from murmurd to murmur. The 'd' is kind of standard for daemons, and I suggest leaving it.

Read the comment about the input-policy file above :) Unless you know it to work in current revisions of Fedora, I recommend dropping it.

There needs to be a post-install for murmur/mumble-server that reloads the dbus service.

You're installing a logrotate, and your murmur.ini contains logging information for /var/log/murmur, but this directory isn't created anywhere. Same goes for /var/run/murmur (where murmur will try to store it's pid file)

Comment 40 Igor Jurišković 2009-04-29 13:29:20 UTC
(In reply to comment #39)
> Definitely getting there :)
> 
> Right now, all the descriptions are identical. Wouldn't it be better if the
> different packages explained what they contained, instead of just a common
> description of what Mumble is? Unless you already know, it's not very clear
> what "mumble-overlay" does.
Changed for everything except for protocol. Dont now what to write.

> 
> You're calling the package "murmur", which provides "mumble-murmur". If you
> make it provide "mumble-server" instead (or simply make it the "server"
> subpackage), you'll match the naming used in other distros, which means less
> confusion :)
It's called mumble-server now.
> 
> You're currently renaming the binary from murmurd to murmur. The 'd' is kind of
> standard for daemons, and I suggest leaving it.
Changed.

> 
> Read the comment about the input-policy file above :) Unless you know it to
> work in current revisions of Fedora, I recommend dropping it.
To be honest with you I don't even now what it does. I'll put it as documentation so if somebody wants it, it can get it there.

> 
> There needs to be a post-install for murmur/mumble-server that reloads the dbus
> service.
dbus uses inotify to monitor conf files. They'll get updated automatically.
> 
> You're installing a logrotate, and your murmur.ini contains logging information
> for /var/log/murmur, but this directory isn't created anywhere. Same goes for
> /var/run/murmur (where murmur will try to store it's pid file)  

Are you sure about this? I just untared mumble-1.1.8.tar.gz and opened scripts/murmur.ini.system and it says this:

logfile=/var/log/mumble-server/mumble-server.log

pidfile=/var/run/mumble-server/mumble-server.pid

murmur.logrotate first line is:
/var/log/mumble-server/mumble-server.log

Files coming in about one hour.

Comment 41 Rudolf Kastl 2009-04-29 13:36:44 UTC
(In reply to comment #40)
> (In reply to comment #39)
> > Definitely getting there :)
> > 
> > You're installing a logrotate, and your murmur.ini contains logging information
> > for /var/log/murmur, but this directory isn't created anywhere. Same goes for
> > /var/run/murmur (where murmur will try to store it's pid file)  
> 
> Are you sure about this? I just untared mumble-1.1.8.tar.gz and opened
> scripts/murmur.ini.system and it says this:
> 
> logfile=/var/log/mumble-server/mumble-server.log
> 
> pidfile=/var/run/mumble-server/mumble-server.pid
> 
> murmur.logrotate first line is:
> /var/log/mumble-server/mumble-server.log

that is correct but you need to mkdir -p %{buildroot}%{_localstatedir}/log/mumble-server and mkdir -p %{buildroot}%{_localstatedir}/run/mumble-server

and %dir them both in the files section:

%dir %{_localstatedir}/log/mumble-server
%dir %{_localstatedir}/run/mumble-server

> 
> Files coming in about one hour.

Comment 43 Igor Jurišković 2009-04-29 15:50:33 UTC
Oops, forgot to add openssl-devel and libogg-devel as dependency. Ill upload new spec when I finish building in mock on all architectures.

Comment 44 Igor Jurišković 2009-04-29 16:36:37 UTC
New spec uploaded. Same URL as above.

Comment 45 Rudolf Kastl 2009-04-29 18:26:10 UTC
> You're calling the package "murmur", which provides "mumble-murmur". If you
> make it provide "mumble-server" instead (or simply make it the "server"
> subpackage), you'll match the naming used in other distros, which means less
> confusion :)
It's called mumble-server now.

hmm in your spec it is still called murmur. just a notifier. great work otherwise.

Comment 46 Igor Jurišković 2009-04-29 18:37:53 UTC
(In reply to comment #45)
> > You're calling the package "murmur", which provides "mumble-murmur". If you
> > make it provide "mumble-server" instead (or simply make it the "server"
> > subpackage), you'll match the naming used in other distros, which means less
> > confusion :)
> It's called mumble-server now.
> 
> hmm in your spec it is still called murmur. just a notifier. great work
> otherwise.  

O_o

Server subpackage is called murmur. Subpackage murmur provides mumble-server. Something wrong with that? Or did you mean that I call the whole subpackage mumble-server?

Comment 47 Thorvald Natvig 2009-04-29 18:55:21 UTC
Only thing left that I can see is that you're installing the manpage for murmur-user-wrapper without installing or supporting that script. That script is only necesarry if a non-privileged user wants to run their own murmur instance from their home directory, so I recommend dropping the manpage (rather than installing the script).

Have you thought about creating a mumble-server-web package containing the registration script? It turns out to be very handy to have a package that sets up PHP and Ice for use with Murmur, as it's rather non-trivial to get right.

Comment 48 Thorvald Natvig 2009-04-29 18:58:22 UTC
Er. libmumble.so.x.y.z is currently installed in the plugins package; that belongs in the overlay package.

I should probably also note that the Mumble binary will complain quite loudly if it can't find libmumble.so, so you might want to strongly encourage it's installation :)

Comment 49 Rudolf Kastl 2009-04-29 19:24:32 UTC
checking everything again:

1. mumble-plugins also needs to Requires: %{name} = %{version}-%{release} (just checked it)
2. i am curious if the menu entry for mumble-overlay makes sense really because it doesent start that way (one needs to start a binary with it.). your decision! ;)
3. gtk-update-icon-cache -q %{_datadir}/icons/hicolor >& /dev/null ||: is probably a typo -> &> /dev/null ||: 
fixing that lets it install nearly cleanly
4. i still get the warnings from ldconfig that /usr/lib64/libmumble.so.1 is not a symbolic link (infact it is a hardlink)
id suggest to remove the 2>/dev/null from /sbin/ldconfig calls because that just hides issues (and not even that correctly in this case)
going to investigate the issue deeper and let you know if i figure out how to fix that correctly.

i hope that you see now that it would be quite impossible to find all issues in one run because you picked a really complex package there.

Comment 50 Igor Jurišković 2009-04-29 19:30:40 UTC
(In reply to comment #48)
> Er. libmumble.so.x.y.z is currently installed in the plugins package; that
> belongs in the overlay package.
libmumble.so.x.y.z is installed with mumble package. Plugins package installs liblink.so and overlay install mumble-overlay scripts. You are saying that libmumble.x.y.z part of overlay package? That would mean that I should package libmumble.so.x.y.z with overlay package? 

> 
> I should probably also note that the Mumble binary will complain quite loudly
> if it can't find libmumble.so, so you might want to strongly encourage it's
> installation :)  
libmumble.so is installed together with mumble binary. Its not possible to install only mumble binary.

Comment 51 Igor Jurišković 2009-04-29 19:41:15 UTC
(In reply to comment #49)
> checking everything again:
> 
> 1. mumble-plugins also needs to Requires: %{name} = %{version}-%{release} (just
> checked it)
Fixed

> 2. i am curious if the menu entry for mumble-overlay makes sense really because
> it doesent start that way (one needs to start a binary with it.). your
> decision! ;)
It was always senseless to me but Simon told me in earlier replies that it should be installed. I tought "well he is already a packager, he nows better than me". Thats the reason why I was installing it. 

Its removed now.

> 3. gtk-update-icon-cache -q %{_datadir}/icons/hicolor >& /dev/null ||: is
> probably a typo -> &> /dev/null ||: 
> fixing that lets it install nearly cleanly
Fixed.

> 4. i still get the warnings from ldconfig that /usr/lib64/libmumble.so.1 is not
> a symbolic link (infact it is a hardlink)
> id suggest to remove the 2>/dev/null from /sbin/ldconfig calls because that
> just hides issues (and not even that correctly in this case)
> going to investigate the issue deeper and let you know if i figure out how to
> fix that correctly.
I think the solution for this is mine bad packaging. It looks like that libmumble.so.x.y.z is part of mumble-overlay package. Thats why it reports it is hardlink. Im waiting for Thorvalds reply to confirm this.

> 
> i hope that you see now that it would be quite impossible to find all issues in
> one run because you picked a really complex package there.  
Complex guy needs a complex package. :)


Anyway, I'm jobless so I have really a lot of spare time.

When Thorvald answers my previous post about libraries I'll upload a new spec.

Comment 52 Thorvald Natvig 2009-04-29 20:24:58 UTC
(In reply to comment #50)
> (In reply to comment #48)
> > Er. libmumble.so.x.y.z is currently installed in the plugins package; that
> > belongs in the overlay package.
> libmumble.so.x.y.z is installed with mumble package. Plugins package installs
> liblink.so and overlay install mumble-overlay scripts. You are saying that
> libmumble.x.y.z part of overlay package? That would mean that I should package
> libmumble.so.x.y.z with overlay package? 
> 
> > 
> > I should probably also note that the Mumble binary will complain quite loudly
> > if it can't find libmumble.so, so you might want to strongly encourage it's
> > installation :)  
> libmumble.so is installed together with mumble binary. Its not possible to
> install only mumble binary.  

Oops. My bad, I misread the .spec file. Just ignore me ;)

Comment 53 Igor Jurišković 2009-04-29 21:02:41 UTC
No problem. :)

Here is the new spec:

http://78.46.84.75:81/tj/etmain/mumble/mumble.spec

Same error pops up when installing mumble.
/sbin/ldconfig: /usr/lib/libmumble.so.1 is not a symbolic link

But it should be sym link to mumble.so.1.1.8. In $HOME/rpmbuild/BUILD/mumble-.1.1.8/release it is symlink but after installation its not.

Comment 54 Igor Jurišković 2009-05-01 20:58:20 UTC
Building mumble on ppc64 fails. 
https://koji.fedoraproject.org/koji/taskinfo?taskID=1331819

Reason: ice-devel witch is required by mumble is not available for ppc64 arch.

Should I fill this as a bug report or?

NEW SPEC: http://78.46.84.75:81/tj/etmain/mumble/mumble.spec
SRPM: http://78.46.84.75:81/tj/etmain/mumble/mumble-1.1.8-7.fc9.src.rpm

Comment 55 Igor Jurišković 2009-05-04 10:21:54 UTC
Ping?

Comment 56 Rudolf Kastl 2009-05-04 11:18:14 UTC
i will get back to you shortly. sorry but i have been pretty busy. lets get that symlink error fixed ;)

Comment 57 Igor Jurišković 2009-05-04 13:37:27 UTC
Might be that install doesn't preserve symlinks. Here is the spec file with symlinks "made by hand".

SPEC: http://78.46.84.75/fedora/mumble.spec
SRPM: http://78.46.84.75/fedora/mumble-1.1.8-9.fc9.src.rpm

btw, please use links above. Other ones are obsolete now. Some guys tried to access files over the wrong port even when port 81 was supplied. Errors in apache log aren't good thing :) 

You're able to browse all files here: http://78.46.84.75/fedora/

Comment 58 Igor Jurišković 2009-05-08 18:50:19 UTC
/sarcasm --on
Will this be over this year?
/sarcasm --off

I made a review here: https://bugzilla.redhat.com/show_bug.cgi?id=498413

Is there so many review requests or the whole review system is badly made?

Comment 59 Mamoru TASAKA 2009-05-14 18:54:57 UTC
Well, I have not fully read previous comments, however
for -9:

* BR (BuildRequires)
  - Would you explain why non-devel packages like:
-------------------------------------------------------------------
dbus-qt
qt-sqlite
-------------------------------------------------------------------
    have to be written as BRs explicitly?

* Requires
  - Proper Requires(pre) or so are missing:
    https://fedoraproject.org/wiki/Packaging/UsersAndGroups
    https://fedoraproject.org/wiki/Packaging/SysVInitScript#InitscriptScriptlets
  - Would you explain why murmur subpackage does not depend
    on mumble main package?
  - The directory %{_datadir}/kde4/services/ is owned by kde-filesystem
    so it is better that -protocol subpackage should have
    "Requires: kde-filesystem".

* Parallel make
  - Support parallel make if possible. If not possible
    write some comments about this:
    https://fedoraproject.org/wiki/Packaging/Guidelines#Parallel_make

* Installation directory
------------------------------------------------------------------
install -pD -m0755 release/murmurd %{buildroot}%{_sbindir}/murmurd
ln -s ../sbin/murmurd %{buildroot}%{_bindir}/%{name}-server
------------------------------------------------------------------
  - Why is the same command has to be in two different directories
    in the path with different names?

  - By the way
------------------------------------------------------------------
%attr(-,mumble-server,mumble-server) %{_bindir}/mumble-server
------------------------------------------------------------------
    Here %{_bindir}/mumble-server is a symlink and
    %attr(.....) on symlink is useless (see man symlink(2))
    ! By the way using %{name} macro is preferred because
      you already use it.

------------------------------------------------------------------
#man pages
mkdir -p %{buildroot}%{_mandir}/
install -pD -m0664 man/murmurd.1 %{buildroot}%{_mandir}/
install -pD -m0664 man/mumble* %{buildroot}%{_mandir}/
------------------------------------------------------------------
  - These man pages must be installed under %_mandir/man1,
    not under %_mandir (and also see below)

* Permissions
------------------------------------------------------------------
install -pD -m0664 icons/%{name}.16x16.png %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
------------------------------------------------------------------
  - Usually these files should have 0644 (not 0664) permission

------------------------------------------------------------------
install -pD scripts/%{name}.protocol %{buildroot}%{_datadir}/kde4/services/%{name}.protocol
install -pD scripts/murmur.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d/murmur.conf
------------------------------------------------------------------
  - Due to this these files have executable permission however it
    seems these should be with 0644 permision.

* Inconsistent commands
------------------------------------------------------------------
install -d %{buildroot}%{_libdir}/%{name}/
mkdir -p %{buildroot}%{_mandir}/
------------------------------------------------------------------
  - Why do you use both "install -d" and "mkdir -p"?

* Scriptlets
  - Scriptlets for GTK cache updating does not match current Fedora
    guideline. Please fix this:
    https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Icon_Cache
    (especially check %postun)

  - Please specify the home directory of mumble-server user
    (see the -d option:
     https://fedoraproject.org/wiki/Packaging/UsersAndGroups )
    Currently this is set as "/home/mumble-server" automatically
    (on Fedora)

------------------------------------------------------------------
%preun -n murmur
if [$1 = 0]; then
------------------------------------------------------------------
  - This is wrong.
------------------------------------------------------------------
[tasaka1@localhost ~]$ num=0
[tasaka1@localhost ~]$ if [$num = 0] ; then echo "yes" ; fi
-bash: [0: command not found
------------------------------------------------------------------
    "if [ $1 = 0 ] ; then" is correct
    ! Note: here "[" is a built-in "command".

------------------------------------------------------------------
%post -n murmur
/sbin/chkconfig --add murmur --level a|| :
------------------------------------------------------------------
  - "--level a" is not needed:
    https://fedoraproject.org/wiki/Packaging/SysVInitScript#InitscriptScriptlets

* Duplicate %files entry
------------------------------------------------------------------
-%files plugins
%defattr(-,root,root,-)
%{_libdir}/%{name}
%{_libdir}/%{name}/*.so
-----------------------------------------------------------------
  - The %files entry "%{_libdir}/%{name}" means the directory %_libdir/%name
    itself and all files/directories/etc under %_libdir/%name.
    build.log shows:
-----------------------------------------------------------------
   857  Processing files: mumble-plugins-1.1.8-9.fc11.i586
   858  warning: File listed twice: /usr/lib/mumble/liblink.so
-----------------------------------------------------------------

* initscript behavior
-----------------------------------------------------------------
[root@localhost ~]# service murmur start
Starting murmur:                                           [  OK  ]
[root@localhost ~]# service murmur stop
Shutting down murmur:                                      [  OK  ]
[root@localhost ~]#                                        [  OK  ]
-----------------------------------------------------------------
  - killproc() (in %_initrcdir/functions) internally calls
    success() or failure so there are duplicate messages when
    shutting down murmur daemon.

Comment 60 Igor Jurišković 2009-05-16 13:21:53 UTC
Tnx for reply Mamoru.

(In reply to comment #59)
> Well, I have not fully read previous comments, however
> for -9:
> 
> * BR (BuildRequires)
>   - Would you explain why non-devel packages like:
> -------------------------------------------------------------------
> dbus-qt
> qt-sqlite
> -------------------------------------------------------------------
>     have to be written as BRs explicitly?
> 
There is a problem. qt-sqlite is not available on F10. Because of that(i think cause of that) mumble fails to build at koji. What is the replacement for qt-sqlite on F10? I was searching but found nothing.

> * Requires
>   - Proper Requires(pre) or so are missing:
>     https://fedoraproject.org/wiki/Packaging/UsersAndGroups
>
Done.
    
> https://fedoraproject.org/wiki/Packaging/SysVInitScript#InitscriptScriptlets
>   - Would you explain why murmur subpackage does not depend
>     on mumble main package?
You dont need mumble to run murmur. Murmur is for servers and mumble is for clients.

>   - The directory %{_datadir}/kde4/services/ is owned by kde-filesystem
>     so it is better that -protocol subpackage should have
>     "Requires: kde-filesystem".
> 
Done.

> * Parallel make
>   - Support parallel make if possible. If not possible
>     write some comments about this:
>     https://fedoraproject.org/wiki/Packaging/Guidelines#Parallel_make
> 
Done.

> * Installation directory
> ------------------------------------------------------------------
> install -pD -m0755 release/murmurd %{buildroot}%{_sbindir}/murmurd
> ln -s ../sbin/murmurd %{buildroot}%{_bindir}/%{name}-server
> ------------------------------------------------------------------
>   - Why is the same command has to be in two different directories
>     in the path with different names?
Less confusion. After years of mumble nobody told me murmur - everyone says mumble-server.

> 
>   - By the way
> ------------------------------------------------------------------
> %attr(-,mumble-server,mumble-server) %{_bindir}/mumble-server
> ------------------------------------------------------------------
>     Here %{_bindir}/mumble-server is a symlink and
>     %attr(.....) on symlink is useless (see man symlink(2))
>     ! By the way using %{name} macro is preferred because
>       you already use it.
> 
Fixed.

> ------------------------------------------------------------------
> #man pages
> mkdir -p %{buildroot}%{_mandir}/
> install -pD -m0664 man/murmurd.1 %{buildroot}%{_mandir}/
> install -pD -m0664 man/mumble* %{buildroot}%{_mandir}/
> ------------------------------------------------------------------
>   - These man pages must be installed under %_mandir/man1,
>     not under %_mandir (and also see below)
> 
Done.

> * Permissions
> ------------------------------------------------------------------
> install -pD -m0664 icons/%{name}.16x16.png
> %{buildroot}%{_datadir}/icons/hicolor/16x16/apps/%{name}.png
> ------------------------------------------------------------------
>   - Usually these files should have 0644 (not 0664) permission
> 
Done.

> ------------------------------------------------------------------
> install -pD scripts/%{name}.protocol
> %{buildroot}%{_datadir}/kde4/services/%{name}.protocol
> install -pD scripts/murmur.conf
> %{buildroot}%{_sysconfdir}/dbus-1/system.d/murmur.conf
> ------------------------------------------------------------------
>   - Due to this these files have executable permission however it
>     seems these should be with 0644 permision.
> 
Done.

> * Inconsistent commands
> ------------------------------------------------------------------
> install -d %{buildroot}%{_libdir}/%{name}/
> mkdir -p %{buildroot}%{_mandir}/
> ------------------------------------------------------------------
>   - Why do you use both "install -d" and "mkdir -p"?
> 
Fixed.

> * Scriptlets
>   - Scriptlets for GTK cache updating does not match current Fedora
>     guideline. Please fix this:
>     https://fedoraproject.org/wiki/Packaging/ScriptletSnippets#Icon_Cache
>     (especially check %postun)
> 
Done.

>   - Please specify the home directory of mumble-server user
>     (see the -d option:
>      https://fedoraproject.org/wiki/Packaging/UsersAndGroups )
>     Currently this is set as "/home/mumble-server" automatically
>     (on Fedora)
> 
What should set as home directory? It says directory with data but there is none.

> ------------------------------------------------------------------
> %preun -n murmur
> if [$1 = 0]; then
> ------------------------------------------------------------------
>   - This is wrong.
> ------------------------------------------------------------------
> [tasaka1@localhost ~]$ num=0
> [tasaka1@localhost ~]$ if [$num = 0] ; then echo "yes" ; fi
> -bash: [0: command not found
> ------------------------------------------------------------------
>     "if [ $1 = 0 ] ; then" is correct
>     ! Note: here "[" is a built-in "command".
> 
Fixed.

> ------------------------------------------------------------------
> %post -n murmur
> /sbin/chkconfig --add murmur --level a|| :
> ------------------------------------------------------------------
>   - "--level a" is not needed:
> 
> https://fedoraproject.org/wiki/Packaging/SysVInitScript#InitscriptScriptlets
Fixed.

> 
> * Duplicate %files entry
> ------------------------------------------------------------------
> -%files plugins
> %defattr(-,root,root,-)
> %{_libdir}/%{name}
> %{_libdir}/%{name}/*.so
> -----------------------------------------------------------------
>   - The %files entry "%{_libdir}/%{name}" means the directory %_libdir/%name
>     itself and all files/directories/etc under %_libdir/%name.
>     build.log shows:
> -----------------------------------------------------------------
>    857  Processing files: mumble-plugins-1.1.8-9.fc11.i586
>    858  warning: File listed twice: /usr/lib/mumble/liblink.so
> -----------------------------------------------------------------
Fixed.

> 
> * initscript behavior
> -----------------------------------------------------------------
> [root@localhost ~]# service murmur start
> Starting murmur:                                           [  OK  ]
> [root@localhost ~]# service murmur stop
> Shutting down murmur:                                      [  OK  ]
> [root@localhost ~]#                                        [  OK  ]
> -----------------------------------------------------------------
>   - killproc() (in %_initrcdir/functions) internally calls
>     success() or failure so there are duplicate messages when
>     shutting down murmur daemon.  
Fixed.


As stated above building at koji fails after fixing above problems. Its got to be something related to dependency or sqlite but cant find it. btw on my PC everything builds fine - works as expected.

SPEC: http://78.46.84.75/fedora/mumble.spec
SRPM: http://78.46.84.75/fedora/mumble-1.1.8-10.fc10.src.rpm

Comment 61 Kevin Kofler 2009-05-16 16:51:55 UTC
SQLite support is now included in the main qt package because it's used by the new help system in Qt >= 4.4.

Comment 62 Mamoru TASAKA 2009-05-16 18:10:56 UTC
Created attachment 344291 [details]
Patch to compile on dist-f10-updates-candidate

For -10:

* BR
  - BR: qt3-sqlite should not be needed. This uses Qt4, not
    Qt3.

* About mumble-server user directory
  - Well, -d %{buildroot}%{_datadir}/%{name}/ is definitely wrong,
    this directory should be used only when building this package.
    I would suggest -d %{_localstatedir}/lib/mumble-server/

* Requires
  - Needed Requires(pre) or so are still missing for murmur subpackage:
    https://fedoraproject.org/wiki/Packaging/SysVInitScript#Initscripts_in_spec_file_scriptlets

* Build failure
  - The attached patch will make this package compile on
    F-11/F-10 (F-12 not checked)
    http://koji.fedoraproject.org/koji/taskinfo?taskID=1358131
    http://koji.fedoraproject.org/koji/taskinfo?taskID=1358127

* Devel files in main package
----------------------------------------------------------------------
ln -s %{_libdir}/libmumble.so.%{version} %{buildroot}%{_libdir}/libmumble.so
----------------------------------------------------------------------
  - I guess %_libdir/libmumble.so is not needed.
    Note that rpmlint warns about this:
----------------------------------------------------------------------
mumble.i586: W: devel-file-in-non-devel-package /usr/lib/libmumble.so
----------------------------------------------------------------------

* Service enabled by default
----------------------------------------------------------------------
murmur.i586: W: service-default-enabled /etc/rc.d/init.d/murmur
----------------------------------------------------------------------
  - Installing murmur package enables "murmur" service by default
    on level 345:
----------------------------------------------------------------------
# chkconfig --list murmur
murmur   0:off 1:off	2:off	3:on	4:on	5:on	6:off
----------------------------------------------------------------------
    These should be disabled by default.
    In murmur init script, # Default-Start: item should have no
    level.

* Init script fix
----------------------------------------------------------------------
diff -uN mumble-1.1.8-9.fc9.src/murmur.init mumble-1.1.8-10.fc10.src/murmur.init
--- mumble-1.1.8-9.fc9.src/murmur.init  2009-04-30 01:03:18.000000000 +0900
+++ mumble-1.1.8-10.fc10.src/murmur.init        2009-05-15 08:32:48.000000000 +0900
@@ -52,7 +52,7 @@
        RETVAL=$?
        echo
        if [ $RETVAL -eq 0 ]; then
-               /bin/rm -f "$lockfile" "$pidfile" 2> /dev/null && success || failure
+               /bin/rm -f "$lockfile" "$pidfile" 2> /dev/null || failure
        fi
 }

----------------------------------------------------------------------
  - I guess " || failure" can also be removed.

* undefined non-weak symbols
----------------------------------------------------------------------
mumble.i586: W: undefined-non-weak-symbol /usr/lib/libmumble.so.1.1.8 glAttachShader
mumble.i586: W: undefined-non-weak-symbol /usr/lib/libmumble.so.1.1.8 glEnable
mumble.i586: W: undefined-non-weak-symbol /usr/lib/libmumble.so.1.1.8 glTexCoordPointer
....
(and so many)
----------------------------------------------------------------------
  - libmumble.so has undefined non-weak symbols. As
    this package does not provide -devel subpackage, currently this
    can be ignored, however it is preferable that this issue
    is fixed.
    ! You can also check this issue by
       $ ldd -r /usr/lib/libmumble.so.1 > /dev/null
    This can be fixed by making libmumble.so linked against libGL.so.

* Permission
----------------------------------------------------------------------
install -pD -m0664 man/murmurd.1 %{buildroot}%{_mandir}/man1/
install -pD -m0664 man/mumble* %{buildroot}%{_mandir}/man1/
----------------------------------------------------------------------
  - These should be 0644 permission

(In reply to comment #60)
> > * Installation directory
> > ------------------------------------------------------------------
> > install -pD -m0755 release/murmurd %{buildroot}%{_sbindir}/murmurd
> > ln -s ../sbin/murmurd %{buildroot}%{_bindir}/%{name}-server
> > ------------------------------------------------------------------
> >   - Why is the same command has to be in two different directories
> >     in the path with different names?
> Less confusion. After years of mumble nobody told me murmur - everyone says
> mumble-server.
  - Well, What I wonder is that where murmurd is under /usr/sbin,
    mumble-server is under /usr/bin. Why these directories are different?

Comment 63 Thorvald Natvig 2009-05-16 18:24:03 UTC
(In reply to comment #62)
> * undefined non-weak symbols
> ----------------------------------------------------------------------
> mumble.i586: W: undefined-non-weak-symbol /usr/lib/libmumble.so.1.1.8
> glAttachShader
> mumble.i586: W: undefined-non-weak-symbol /usr/lib/libmumble.so.1.1.8 glEnable
> mumble.i586: W: undefined-non-weak-symbol /usr/lib/libmumble.so.1.1.8
> glTexCoordPointer
> ....

libmumble.so is an injection library to get the overlay in third-party applications. It can't link (and hence load) libGL on it's own, as this breaks games that provide their own GL wrapper.

Comment 64 Igor Jurišković 2009-05-17 12:18:53 UTC
(In reply to comment #62)
> Created an attachment (id=344291) [details]
> Patch to compile on dist-f10-updates-candidate
> 
> For -10:
> 
> * BR
>   - BR: qt3-sqlite should not be needed. This uses Qt4, not
>     Qt3.
I uploaded wrong spec file. It was already removed at the time you wrote this.

> 
> * About mumble-server user directory
>   - Well, -d %{buildroot}%{_datadir}/%{name}/ is definitely wrong,
>     this directory should be used only when building this package.
>     I would suggest -d %{_localstatedir}/lib/mumble-server/
> 
Done.

> * Requires
>   - Needed Requires(pre) or so are still missing for murmur subpackage:
>    
> https://fedoraproject.org/wiki/Packaging/SysVInitScript#Initscripts_in_spec_file_scriptlets
> 
Done.

> * Build failure
>   - The attached patch will make this package compile on
>     F-11/F-10 (F-12 not checked)
>     http://koji.fedoraproject.org/koji/taskinfo?taskID=1358131
>     http://koji.fedoraproject.org/koji/taskinfo?taskID=1358127
> 
Included.

> * Devel files in main package
> ----------------------------------------------------------------------
> ln -s %{_libdir}/libmumble.so.%{version} %{buildroot}%{_libdir}/libmumble.so
> ----------------------------------------------------------------------
>   - I guess %_libdir/libmumble.so is not needed.
It is needed. Mumble will complain loudly if it cant find libmumble.so. Thorvald said this few post back.

>     Note that rpmlint warns about this:
> ----------------------------------------------------------------------
> mumble.i586: W: devel-file-in-non-devel-package /usr/lib/libmumble.so
> ----------------------------------------------------------------------
> 
> * Service enabled by default
> ----------------------------------------------------------------------
> murmur.i586: W: service-default-enabled /etc/rc.d/init.d/murmur
> ----------------------------------------------------------------------
>   - Installing murmur package enables "murmur" service by default
>     on level 345:
> ----------------------------------------------------------------------
> # chkconfig --list murmur
> murmur   0:off 1:off 2:off 3:on 4:on 5:on 6:off
> ----------------------------------------------------------------------
>     These should be disabled by default.
>     In murmur init script, # Default-Start: item should have no
>     level.
Fixed.

> 
> * Init script fix
> ----------------------------------------------------------------------
> diff -uN mumble-1.1.8-9.fc9.src/murmur.init
> mumble-1.1.8-10.fc10.src/murmur.init
> --- mumble-1.1.8-9.fc9.src/murmur.init  2009-04-30 01:03:18.000000000 +0900
> +++ mumble-1.1.8-10.fc10.src/murmur.init        2009-05-15 08:32:48.000000000
> +0900
> @@ -52,7 +52,7 @@
>         RETVAL=$?
>         echo
>         if [ $RETVAL -eq 0 ]; then
> -               /bin/rm -f "$lockfile" "$pidfile" 2> /dev/null && success ||
> failure
> +               /bin/rm -f "$lockfile" "$pidfile" 2> /dev/null || failure
>         fi
>  }
> 
> ----------------------------------------------------------------------
>   - I guess " || failure" can also be removed.
> 
This was already changed at the time you wrote this. I accidently uploaded wrong spec and srpm.

> * undefined non-weak symbols
> ----------------------------------------------------------------------
> mumble.i586: W: undefined-non-weak-symbol /usr/lib/libmumble.so.1.1.8
> glAttachShader
> mumble.i586: W: undefined-non-weak-symbol /usr/lib/libmumble.so.1.1.8 glEnable
> mumble.i586: W: undefined-non-weak-symbol /usr/lib/libmumble.so.1.1.8
> glTexCoordPointer
> ....
> (and so many)
> ----------------------------------------------------------------------
>   - libmumble.so has undefined non-weak symbols. As
>     this package does not provide -devel subpackage, currently this
>     can be ignored, however it is preferable that this issue
>     is fixed.
>     ! You can also check this issue by
>        $ ldd -r /usr/lib/libmumble.so.1 > /dev/null
>     This can be fixed by making libmumble.so linked against libGL.so.
> 
Thorvald answered this. I'm leaving this as is.

> * Permission
> ----------------------------------------------------------------------
> install -pD -m0664 man/murmurd.1 %{buildroot}%{_mandir}/man1/
> install -pD -m0664 man/mumble* %{buildroot}%{_mandir}/man1/
> ----------------------------------------------------------------------
>   - These should be 0644 permission
> 
Again, wrong spec file. :(

> (In reply to comment #60)
> > > * Installation directory
> > > ------------------------------------------------------------------
> > > install -pD -m0755 release/murmurd %{buildroot}%{_sbindir}/murmurd
> > > ln -s ../sbin/murmurd %{buildroot}%{_bindir}/%{name}-server
> > > ------------------------------------------------------------------
> > >   - Why is the same command has to be in two different directories
> > >     in the path with different names?
> > Less confusion. After years of mumble nobody told me murmur - everyone says
> > mumble-server.
>   - Well, What I wonder is that where murmurd is under /usr/sbin,
>     mumble-server is under /usr/bin. Why these directories are different?  
I moved symlink to sbin dir.

SPEC: http://78.46.84.75/fedora/mumble.spec
SRPM: http://78.46.84.75/fedora/mumble-1.1.8-11.fc10.src.rpm

Comment 65 Mamoru TASAKA 2009-05-18 17:15:56 UTC
For -11:

* Again user directory for mumble-server:
  - As said above, using %{buildroot} cannot be accepted here
    because %buildroot should be used only when building
    this package, and when installing murmur binary rpm
    this directory (%buildroot) is not expected to exist.

    Please change this to "-d %{_localstatedir}/lib/mumble-server"

! Scriptlets
  - By the way is "condrestart" scriptlets at "%postun" unneeded
    for murmur service? If it is preferable to add this,
    please check %postun example on
    https://fedoraproject.org/wiki/Packaging/SysVInitScript#Initscripts_in_spec_file_scriptlets

* %{name}-server symlink
-------------------------------------------------------
ln -s ../sbin/murmurd %{buildroot}%{_sbindir}/%{name}-server
-------------------------------------------------------
  - As murmurd and %{name}-server are now in the same directory,
    this can be simplified to:
-------------------------------------------------------
ln -s murmurd %{buildroot}%{_sbindir}/%{name}-server
-------------------------------------------------------

Now:
-------------------------------------------------------------
NOTE: Before being sponsored:

This package will be accepted with another few work. 
But before I accept this package, someone (I am a candidate) 
must sponsor you.

Once you are sponsored, you have the right to review other 
submitters' review requests and approve the packages formally. 
For this reason, the person who want to be sponsored (like you) 
are required to "show that you have an understanding 
of the process and of the packaging guidelines" as is described
on :
http://fedoraproject.org/wiki/PackageMaintainers/HowToGetSponsored

Usually there are two ways to show this.
A. submit other review requests with enough quality.
B. Do a "pre-review" of other person's review request
   (at the time you are not sponsored, you cannot do
   a formal review)

When you have submitted a new review request or have pre-reviewed other 
person's review request, please write the bug number on this bug report 
so that I can check your comments or review request.

Fedora package collection review requests which are waiting for someone to
review can be checked on my wiki page:
http://fedoraproject.org/wiki/User:Mtasaka#B._Review_request_tickets
(Check "No one is reviewing")

Review guidelines are described mainly on:
http://fedoraproject.org/wiki/Packaging/ReviewGuidelines
http://fedoraproject.org/wiki/Packaging/Guidelines
http://fedoraproject.org/wiki/Packaging/ScriptletSnippets
------------------------------------------------------------

Comment 67 Garry Reisky 2009-05-19 05:47:30 UTC
I just compiled this on my fedora 11 system and I'd like to mention 3 things. I guess this package is being targeted for f10 but f11 is just about here . 8 days.

1. First is that mumble-overlay complains "32-bit libmumble.so.1 not found in" . To fix this I did a ln -s /usr/lib/libmumble.so.1 /usr/lib/mumble/libmumble.so.1 .

2. In plugins shouldn't 'link' plugin be in there by default because it doesn't show up. Settings | Plugins is empty.

3. In Settings | Shortcuts. There aren't any shortcut entries visible. The only one there is push to talk because that one was set with the audio wizard. Other than that the defaults are not there. Even clicking 'restore defaults' does nothing.

I'm very happy about this package making it into the repo.

Comment 68 Rudolf Kastl 2009-05-19 14:52:08 UTC
regarding #67

3. there are no shortcuts by default. has to be fixed upstream (source: upstream)

other issues:

1. upstream also suggests to enable Ice else none of the web frontends there are will work out of the box. Can we enable Ice support?

going to checkout the newest version of the package later today.

Comment 69 Mamoru TASAKA 2009-05-19 17:26:43 UTC
For -12:

* postun initscript scriptlets
  - Now "Requires(postun): initscripts" is also needed for murmur
  - And this postun scriptlet must be:
    * the part of "%postun -n murmur", not in the part of
      mumble %postun scriptlets
    * And "condrestart" must be called in "[ $1 -ge 1 ]"
    https://fedoraproject.org/wiki/Packaging/SysVInitScript#Initscripts_in_spec_file_scriptlets

Comment 70 Igor Jurišković 2009-05-19 18:59:34 UTC
(In reply to comment #67)
> I just compiled this on my fedora 11 system and I'd like to mention 3 things. I
> guess this package is being targeted for f10 but f11 is just about here . 8
> days.
> 
> 1. First is that mumble-overlay complains "32-bit libmumble.so.1 not found in"
> . To fix this I did a ln -s /usr/lib/libmumble.so.1
> /usr/lib/mumble/libmumble.so.1 .
> 
Fixed.

> 2. In plugins shouldn't 'link' plugin be in there by default because it doesn't
> show up. Settings | Plugins is empty.
No solution for this. Tried many different configurations, made some symlinks and still same problem. Looks like mumble cant find liblink.so. btw, works fine if you start mumble from BUILD directory.

Suggestions are welcome.

> 
> 3. In Settings | Shortcuts. There aren't any shortcut entries visible. The only
> one there is push to talk because that one was set with the audio wizard. Other
> than that the defaults are not there. Even clicking 'restore defaults' does
> nothing.
> 
> I'm very happy about this package making it into the repo.  

Fixed scriptlets pointed by Mamoru.

Comment #67
To enable Ice I would have to change murmur.ini and php.ini. After that I would have to make another sub-package with php and perl scripts for registering users. This is no problem(except changing php and murmur ini's) but it would be stupid(from my point of view) to do all of this for half complete scripts. 

I would suggest we wait for complete solution for administering murmur server before doing any of these. One is already out (http://hiddenservers.org/murmurcp) but its license is not compatible with Fedora. http://creativecommons.org/licenses/by-nc-nd/3.0/

Comment 71 Mamoru TASAKA 2009-05-20 15:50:42 UTC
For -13:
- Well, I don't know why I didn't notice this, however
  these Requires
--------------------------------------------------------
    24  Requires(pre): shadow-utils
    25  Requires(post): chkconfig
    26  Requires(preun): chkconfig, initscripts
    27  Requires(postun): initscripts
--------------------------------------------------------
  should all be moved to "murmur" subpackage and should
  not be in "mumble" main package.

Please fix above when importing this package into
Fedora CVS.

------------------------------------------------------------
    This package (mumble) is APPROVED by mtasaka
------------------------------------------------------------

Please follow the procedure written on:
http://fedoraproject.org/wiki/PackageMaintainers/Join
from "Get a Fedora Account".
After you request for sponsorship a mail will be sent to sponsor 
members automatically (which is invisible for you) which notifies 
that you need a sponsor. After that, please also write on
this bug for confirmation that you requested for sponsorship and
your FAS (Fedora Account System) name. Then I will sponsor you.

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

If you have questions, please ask me.

Comment 72 Igor Jurišković 2009-05-20 17:40:51 UTC
Moved Requires to murmur subpackage. SPEC and SRPM are on the same links as above.

FAS: "igjurisk" (without quotes). I applied for packagers group.

Comment 73 Mamoru TASAKA 2009-05-20 17:49:16 UTC
Okay, now I am sponsoring you. Please follow "Join"
wiki again.

Comment 74 Igor Jurišković 2009-05-20 18:13:54 UTC
New Package CVS Request
=======================
Package Name: mumble
Short Description: Voice chat software primarily intended for use while gaming
Owners: igjurisk
Branches: F-9 F-10 F-11
InitialCC:

Comment 75 Igor Jurišković 2009-05-20 18:18:45 UTC
Do I have to download new cert on FAS because my status changed?

Comment 76 Mamoru TASAKA 2009-05-20 18:26:19 UTC
As far as I know it is not needed.

Comment 77 Kevin Fenzi 2009-05-21 23:45:49 UTC
cvs done.

Comment 78 Garry Reisky 2009-05-22 04:53:12 UTC
I'm not sure where libmumbe should reside. Right now it is in /usr/lib. Should it be in /usr/lib/mumble? Also. Libmumble should have 2 more symlinks in /usr/lib/mumble. So wether libmumble is in /usr/lib or /usr/lib/mumble 2 more symlinks should be added.

libmumble.so -> libmumble.so.1.1.8*
libmumble.so.1 -> libmumble.so.1.1.8*
libmumble.so.1.1 -> libmumble.so.1.1.8*
libmumble.so.1.1.8*

Comment 79 Fedora Update System 2009-05-22 21:02:08 UTC
mumble-1.1.8-13.fc9 has been submitted as an update for Fedora 9.
http://admin.fedoraproject.org/updates/mumble-1.1.8-13.fc9

Comment 80 Fedora Update System 2009-05-22 21:03:51 UTC
mumble-1.1.8-13.fc10 has been submitted as an update for Fedora 10.
http://admin.fedoraproject.org/updates/mumble-1.1.8-13.fc10

Comment 81 Fedora Update System 2009-05-22 21:05:31 UTC
mumble-1.1.8-13.fc11 has been submitted as an update for Fedora 11.
http://admin.fedoraproject.org/updates/mumble-1.1.8-13.fc11

Comment 82 Mamoru TASAKA 2009-05-24 13:22:39 UTC
Closing.

Comment 83 Fedora Update System 2009-06-04 21:09:57 UTC
mumble-1.1.8-13.fc9 has been pushed to the Fedora 9 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 84 Fedora Update System 2009-06-04 21:10:22 UTC
mumble-1.1.8-13.fc11 has been pushed to the Fedora 11 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 85 Fedora Update System 2009-06-04 21:12:37 UTC
mumble-1.1.8-13.fc10 has been pushed to the Fedora 10 stable repository.  If problems still persist, please make note of it in this bug report.

Comment 86 maedball 2009-07-27 23:13:49 UTC
It looks like the initscript was not fixed in the last release! 1.1.8-13.fc11
Can someone upload a working InitScript?

Thanks

Comment 87 Mamoru TASAKA 2009-07-27 23:39:45 UTC
This package is already imported into Fedora.
If there is any bug on mumble (like initscript script not working), please
file a bug against mumble and don't discuss on this bug ticket.

Comment 88 maedball 2009-07-28 20:17:10 UTC
I am just doing what has been told in comment 85?!? 

"please make note of it in this bug report."

Comment 89 Mamoru TASAKA 2009-07-29 15:44:16 UTC
This review request was already closed about two months ago.

The reason "please make note of it in this bug report." comment
appeas on this bug is that the package maintainer marked this bug
as the reference on bodhi when submitting newpackage push request,
which is not strictly needed. Anyway the review request is not
for chasing bugs which is already imported. Please file a
bug against mumble and do not use this review request.

Comment 90 Ortal 2011-04-18 09:46:51 UTC
*** Bug 697442 has been marked as a duplicate of this bug. ***

Comment 91 Ortal 2011-06-29 15:56:55 UTC
*** Bug 717708 has been marked as a duplicate of this bug. ***


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