Bug 1033413 - Review Request: smuxi - An user-friendly IRC client based on GNOME/GTK+
Summary: Review Request: smuxi - An user-friendly IRC client based on GNOME/GTK+
Keywords:
Status: CLOSED DUPLICATE of bug 1177926
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Nobody's working on this, feel free to take it
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: NotReady, Stalled
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-11-22 04:10 UTC by Christopher Meng
Modified: 2014-12-31 11:09 UTC (History)
7 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2014-12-31 11:09:12 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Christopher Meng 2013-11-22 04:10:07 UTC
Spec URL: http://cicku.me/smuxi.spec
SRPM URL: http://cicku.me/smuxi-0.9-1.fc21.src.rpm
Description: Smuxi is an irssi-inspired, flexible, user-friendly and cross-platform IRC
client for sophisticated users, targeting the GNOME desktop.

Smuxi is based on the client-server model: The core application (engine) can
be placed onto a server which is connected to the Internet around-the-clock;
one or more frontends then connect to the core. This way, the connection to
IRC can be kept up even when all frontends have been closed. The combination
of screen and irssi served as example for this architecture.

Smuxi also supports the regular single application mode. This behaves like a
typical IRC client; it doesn't need separate core management and utilizes a
local engine that is used by the local frontend client.
Fedora Account System Username: cicku

Comment 1 Christopher Meng 2013-11-22 04:11:31 UTC
Mono is Fedora needs update and after then this package is compilable.

Comment 2 Christopher Meng 2013-11-24 03:26:12 UTC
s/is F/in F/.

Comment 3 Mirco Bauer 2013-11-24 09:59:53 UTC
The needed Mono version is lower (>= 2.6) if  you disable the JabbR engine. In the Debian source package I detect if Mono is current enough and enable/disable the JabbR version, e.g.: https://github.com/meebey/smuxi/blob/master/debian/rules#L9

Comment 4 Christopher Meng 2013-11-24 10:03:26 UTC
(In reply to Mirco Bauer from comment #3)
> The needed Mono version is lower (>= 2.6) if  you disable the JabbR engine.
> In the Debian source package I detect if Mono is current enough and
> enable/disable the JabbR version, e.g.:
> https://github.com/meebey/smuxi/blob/master/debian/rules#L9

I want to bring more functions to users, and in fact, Fedora mono will be updated to 3.2.3 soon(Yes, we are only waiting for arm hfp support ready).

Comment 5 Mirco Bauer 2013-11-24 10:13:20 UTC
I understand, but I didn't mean to disable JabbR always, only if the Mono version is too old. Which Mono version is in fedora currently? Maybe I can supply a patch that allows to build it on that version then...

With Mono 3.2 on armhf, oh yes that will make smuxi-server on raspberry pi awesome :-)

Comment 6 Christopher Meng 2013-11-24 10:16:34 UTC
(In reply to Mirco Bauer from comment #5)
> I understand, but I didn't mean to disable JabbR always, only if the Mono
> version is too old. Which Mono version is in fedora currently? Maybe I can
> supply a patch that allows to build it on that version then...
> 
> With Mono 3.2 on armhf, oh yes that will make smuxi-server on raspberry pi
> awesome :-)

You can search mono-devel in http://pkgs.org to get the information. This website is very helpful for comparing pkg version in different distros.

Very old now:

[rpmaker@fab dev]$ rpm -qa |grep mono-devel
mono-devel-2.10.8-5.fc20.i686

Comment 7 Mirco Bauer 2013-11-24 10:57:22 UTC
I am not aware of any build issues with Smuxi 0.9 on Mono 2.10.8, that is what Debian Stable and Testing contains and successfully compiled Smuxi 0.9. So do you have a compile issue? (because of your comment it needs a newer version to compile)

Comment 8 Christopher Meng 2013-11-24 11:38:30 UTC
Just had the dinner.

Well build is aborted:

+ ./configure --build=i686-redhat-linux-gnu --host=i686-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --enable-frontend-stfl
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether UID '1000' is supported by ustar format... yes
checking whether GID '1000' is supported by ustar format... yes
checking how to create a ustar tar archive... gnutar
checking whether to enable maintainer-specific portions of Makefiles... no
checking for pkg-config... /usr/bin/pkg-config
checking build system type... i686-redhat-linux-gnu
checking host system type... i686-redhat-linux-gnu
checking how to print strings... printf
checking for style of include used by make... GNU
checking for i686-redhat-linux-gnu-gcc... no
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking dependency style of gcc... none
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/bin/grep
checking for egrep... /usr/bin/grep -E
checking for fgrep... /usr/bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking how to convert i686-redhat-linux-gnu file names to i686-redhat-linux-gnu format... func_convert_file_noop
checking how to convert i686-redhat-linux-gnu file names to toolchain format... func_convert_file_noop
checking for /usr/bin/ld option to reload object files... -r
checking for i686-redhat-linux-gnu-objdump... no
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for i686-redhat-linux-gnu-dlltool... no
checking for dlltool... no
checking how to associate runtime and link libraries... printf %s\n
checking for i686-redhat-linux-gnu-ar... no
checking for ar... ar
checking for archiver @FILE support... @
checking for i686-redhat-linux-gnu-strip... no
checking for strip... strip
checking for i686-redhat-linux-gnu-ranlib... no
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for sysroot... no
checking for i686-redhat-linux-gnu-mt... no
checking for mt... no
checking if : is a manifest tool... no
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking whether NLS is requested... yes
checking for intltool >= 0.25... 0.50.2 found
checking for intltool-update... /usr/bin/intltool-update
checking for intltool-merge... /usr/bin/intltool-merge
checking for intltool-extract... /usr/bin/intltool-extract
checking for xgettext... /usr/bin/xgettext
checking for msgmerge... /usr/bin/msgmerge
checking for msgfmt... /usr/bin/msgfmt
checking for gmsgfmt... /usr/bin/msgfmt
checking for perl... /usr/bin/perl
checking for perl >= 5.8.1... 5.18.1
checking for XML::Parser... ok
checking for msgfmt... (cached) /usr/bin/msgfmt
checking for gmsgfmt... (cached) /usr/bin/msgfmt
checking for xgettext... (cached) /usr/bin/xgettext
checking for msgmerge... (cached) /usr/bin/msgmerge
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for shared library run path origin... done
checking for CFPreferencesCopyAppValue... no
checking for CFLocaleCopyCurrent... no
checking for GNU gettext in libc... yes
checking whether to use NLS... yes
checking where the gettext function comes from... libc
checking for git version... no
checking for i686-redhat-linux-gnu-pkg-config... (cached) /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for MONO_MODULE... yes
checking for mono... /usr/bin/mono
checking for gmcs... /usr/bin/gmcs
checking for Mono 2.0 GAC for System.dll... found
checking for Mono 2.0 GAC for System.Core.dll... found
checking for Mono 2.0 GAC for System.Xml.dll... found
checking for Mono 2.0 GAC for System.Runtime.Remoting.dll... found
checking for Mono 2.0 GAC for Mono.Posix.dll... found
checking for LOG4NET... yes
checking for NINI... yes
checking for xbuild... /usr/bin/xbuild
checking for xbuild... (cached) /usr/bin/xbuild
checking for Mono 2.0 GAC for System.dll... found
checking for Mono 2.0 GAC for Mono.Posix.dll... found
checking for xbuild... (cached) /usr/bin/xbuild
checking for Mono 2.0 GAC for System.dll... found
checking for Mono 2.0 GAC for System.Core.dll... found
checking for Mono 2.0 GAC for Mono.Posix.dll... found
checking for Mono 2.0 GAC for System.Xml.dll... found
checking for xbuild... (cached) /usr/bin/xbuild
checking for Mono >= 2.6... yes
checking for Mono 2.0 GAC for System.dll... found
checking for Mono 2.0 GAC for System.Core.dll... found
checking for Mono 2.0 GAC for System.Data.dll... found
checking for Mono 2.0 GAC for System.Runtime.Serialization.dll... found
checking for Mono 2.0 GAC for System.Web.dll... found
checking for Mono 2.0 GAC for System.Xml.dll... found
checking for Mono 2.0 GAC for System.Xml.Linq.dll... found
checking for Mono 2.0 GAC for System.dll... found
checking for Mono 2.0 GAC for System.Configuration.dll... found
checking for Mono 2.0 GAC for System.Core.dll... found
checking for Mono 2.0 GAC for System.Data.dll... found
checking for Mono 2.0 GAC for System.Drawing.dll... found
checking for Mono 2.0 GAC for System.Web.dll... found
checking for Mono 2.0 GAC for System.Web.Extensions.dll... found
checking for Mono 2.0 GAC for System.Xml.dll... found
checking for Mono 2.0 GAC for System.Xml.Linq.dll... found
checking for xbuild... (cached) /usr/bin/xbuild
checking for Mono >= 2.10... yes
checking for 4.0 compiler... no
configure: error: You need to compile with a 4.0 compiler (dmcs) for JabbR support (or use --disable-engine-jabbr)
error: Bad exit status from /var/tmp/rpm-tmp.J5J3mD (%build)

Comment 9 Christopher Meng 2013-11-24 11:41:55 UTC
Ignore the last comment.

If I set build without jabbr support, the build process is perfect.

So I just need a 4.0 compiler now.

Comment 10 Mirco Bauer 2013-11-24 12:05:35 UTC
You can override the compiler with: ./configure MCS=/usr/bin/dmcs

Comment 11 Bart Verwilst 2013-12-12 15:26:36 UTC
I wanted to try out the spec file, but it seems it has become a 404 :(
Could you please attach the spec file to this report?

Thanks!

Comment 12 Christopher Meng 2013-12-13 08:34:46 UTC
(In reply to Bart Verwilst from comment #11)
> I wanted to try out the spec file, but it seems it has become a 404 :(
> Could you please attach the spec file to this report?
> 
> Thanks!

I've re-uploaded the things you desire ;)

Current inprogress SPEC generates configuration file for building:

        Configuration summary for smuxi 0.9 (tarball)

        * Installation prefix: /usr
        * Build profile:       debug
        * Compiler:            /usr/bin/dmcs
        * Target CLI runtime:  4.0

        * Engines
          -------
          Core:                (db4o: included)
          IRC:                 yes
          XMPP:                yes
          Twitter:             yes
          Campfire:            yes
          JabbR:               yes

        * Frontends
          ---------
          GNOME:               yes (IRC: yes XMPP: yes)
          + Messaging Menu     (indicate: Ubuntu <= 12.04, messaging-menu: Ubuntu >= 12.04)
            - indicate:        no
            - messaging-menu:  no
          + Notifications:     yes
          + Spell Checking:    yes
          + D-Bus:             yes
          Ncurses:             no
          STFL:                yes
          SWF (WinForms):      no
          WPF:                 no
          Test:                yes

Summary:

1. Ncurses support hasn't been implemented, so it's unavailable now.

2. SWF/WPF is used for Windows.

3. Messaging Menu is used for Ubuntu, I'm not sure if it deserves a packaging try for Fedora(I think not).

And:
1. I still haven't decided how many subpackages should I split out, awaiting answers from Mirco. He was busy ;)

2. Eithor smuxi or smuxi-server has similar warnings during running:

Symbol file /usr/lib/smuxi/smuxi-engine-campfire.dll.mdb is not a mono symbol file
Symbol file /usr/lib/smuxi/smuxi-engine-jabbr.dll.mdb is not a mono symbol file

Ideas are welcome.

Comment 13 Mirco Bauer 2013-12-13 23:48:55 UTC
Configure summary looks good to me and I agree to 1) 2) 3) of it.

For the package split I suggest to follow the upstream and downstream packaging I do in Debian:
* smuxi-engine: smuxi-engine* libraries, smuxi-server.exe and all other private libraries (SmartIrcr4net, Twitterizer, ServiceStack, etc)
* smuxi-frontend-gnome: smuxi-frontend-gnome*
* smuxi-frontend-stfl: smuxi-frontend-stfl

This the smallest possible split that still allows to install a) server-only without X11/GUI dependencies, b) just the GNOME frontend c) just the console frontend

Comment 14 Mirco Bauer 2013-12-14 00:10:33 UTC
Oh and the .mdb warnings are a bug in the Smuxi build system, but are harmless and can be ignored/skipped from the packages.

Comment 16 Jeff Peeler 2014-10-23 14:22:06 UTC
I was looking for this in Fedora and came across this review. Could the spec files be re-uploaded once more? (Not fully committed here yet, but I am interested in helping this along.)

Comment 17 Christopher Meng 2014-11-15 05:00:33 UTC
(In reply to Jeff Peeler from comment #16)
> I was looking for this in Fedora and came across this review. Could the spec
> files be re-uploaded once more? (Not fully committed here yet, but I am
> interested in helping this along.)

Yes, I'd like to finish this one ASAP.

Comment 18 Jeff Peeler 2014-11-17 15:41:36 UTC
Hey Christopher, I'm glad you're still interested. Do you have another URL to provide? I was hoping to find the spec at your original location (http://cicku.me/smuxi.spec), but am currently getting a 404 not found.

Comment 19 Antonio T. (sagitter) 2014-12-24 20:52:43 UTC
Hi Christopher.

I have a smuxi-0.11 src-package almost ready for the review.
Please, let me know if you are still interested to it; maybe we can co-maintain this package with Jeff, too.

Comment 20 Mirco Bauer 2014-12-25 11:02:08 UTC
(In reply to Antonio Trande from comment #19)
> Hi Christopher.
> 
> I have a smuxi-0.11 src-package almost ready for the review.
> Please, let me know if you are still interested to it; maybe we can
> co-maintain this package with Jeff, too.

Does your src package have the suggested package split?

Comment 21 Antonio T. (sagitter) 2014-12-25 11:25:56 UTC
(In reply to Mirco Bauer from comment #20)
> (In reply to Antonio Trande from comment #19)
> > Hi Christopher.
> > 
> > I have a smuxi-0.11 src-package almost ready for the review.
> > Please, let me know if you are still interested to it; maybe we can
> > co-maintain this package with Jeff, too.
> 
> Does your src package have the suggested package split?

I have splitted in this way:

smuxi
smuxi-engine
smuxi-frontend-gnome
smuxi-stfl
smuxi-devel

and I have a doubt if we must use 'gautil' to register all .dll files.
http://fedoraproject.org/wiki/Packaging:Mono#gacutil_in_a_spec_file

However, 'gautil' fails with

Failure adding assembly bin/debug/?.dll to the cache: Attempt to install an assembly without a strong name

Comment 22 Mirco Bauer 2014-12-25 18:24:28 UTC
Smuxi's libs are private and thus not signed. Unsigned assemblies can't be installed into the GAC. The stfl package should be called smuxi-frontend-stfl because it is also a frontend like GNOME.

Comment 23 Antonio T. (sagitter) 2014-12-25 21:19:19 UTC
(In reply to Mirco Bauer from comment #22)
> Smuxi's libs are private and thus not signed. Unsigned assemblies can't be
> installed into the GAC. The stfl package should be called
> smuxi-frontend-stfl because it is also a frontend like GNOME.

Okay.

My package is ready.
I'm waiting for a reply from Christopher, if he will not make contact in some days, i close this review and take this package according to the policies for stalled package reviews.

Comment 24 Antonio T. (sagitter) 2014-12-31 11:09:12 UTC

*** This bug has been marked as a duplicate of bug 1177926 ***


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