Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 291437 - new ebuild: net-im/spectrum (xmpp transport system)
Summary: new ebuild: net-im/spectrum (xmpp transport system)
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: High enhancement with 4 votes (vote)
Assignee: Andriy Utkin
URL: http://spectrum.im/
Whiteboard: sunrise suggested
Keywords:
Depends on: 291449 652462 652464
Blocks:
  Show dependency tree
 
Reported: 2009-11-01 14:25 UTC by john
Modified: 2018-11-24 14:42 UTC (History)
13 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
spectrum live ebuild, no releases yet.. (spectrum-transport-9999.ebuild,1.02 KB, text/plain)
2009-11-01 17:05 UTC, john
Details
spectrum transport live git ebuild (spectrum-transport-9999.ebuild,1.45 KB, text/plain)
2009-11-01 21:04 UTC, john
Details
common configuration file modified and installed separately for each protocol (spectrum.cfg,2.78 KB, text/plain)
2009-11-01 21:05 UTC, john
Details
init script, modified and installed separately for each protocol known by spectrum (spectrum.init,831 bytes, text/plain)
2009-11-01 21:05 UTC, john
Details
spectrum transport live git ebuild (spectrum-transport-9999.ebuild,1.32 KB, text/plain)
2009-11-03 12:29 UTC, john
Details
spectrum transport live git ebuild (spectrum-transport-9999.ebuild,1.32 KB, text/plain)
2009-12-12 18:37 UTC, john
Details
spectrum transport live git ebuild (spectrum-transport-9999.ebuild,1.13 KB, text/plain)
2009-12-13 17:50 UTC, john
Details
spectrum transport live git ebuild (spectrum-transport-9999.ebuild,977 bytes, text/plain)
2010-01-21 13:47 UTC, john
Details
spectrum transport 0.1 release (spectrum-transport-0.1.ebuild,1.02 KB, text/plain)
2010-03-25 20:00 UTC, john
Details
spectrum-transport-0.2.ebuild (spectrum-transport-0.2.ebuild,1.49 KB, text/plain)
2010-04-19 16:21 UTC, Nikolaus Polak
Details
spectrum-2.cfg (spectrum-2.cfg,2.93 KB, text/plain)
2010-04-19 16:25 UTC, Nikolaus Polak
Details
spectrum-1.4.0.ebuild (spectrum-1.4.0.ebuild,1.28 KB, text/plain)
2010-08-23 09:11 UTC, Conrad Kostecki
Details
files/spectrum.cfg (spectrum.cfg,4.20 KB, text/plain)
2010-08-23 09:12 UTC, Conrad Kostecki
Details
spectrum-1.4.0.ebuild (spectrum-1.4.0.ebuild,2.29 KB, text/plain)
2010-08-23 14:00 UTC, Conrad Kostecki
Details
files/spectrum.cfg (spectrum.cfg,4.22 KB, text/plain)
2010-08-23 14:01 UTC, Conrad Kostecki
Details
files/spectrum.confd (spectrum.confd,225 bytes, text/plain)
2010-08-23 14:01 UTC, Conrad Kostecki
Details
files/spectrum.initd (spectrum.initd,592 bytes, text/plain)
2010-08-23 14:01 UTC, Conrad Kostecki
Details
spectrum-1.4.1.ebuild (spectrum-1.4.1.ebuild,2.29 KB, text/plain)
2010-08-25 14:04 UTC, Conrad Kostecki
Details
spectrum-1.4.2.ebuild (spectrum-1.4.2.ebuild,2.36 KB, text/plain)
2010-10-19 18:44 UTC, Conrad Kostecki
Details
spectrum-1.4.3.ebuild (spectrum-1.4.3.ebuild,2.36 KB, text/plain)
2010-10-28 12:49 UTC, Conrad Kostecki
Details
files/spectrum.cfg (spectrum.cfg,4.67 KB, text/plain)
2010-11-26 14:43 UTC, Conrad Kostecki
Details
spectrum.confd (spectrum.confd,157 bytes, text/plain)
2010-11-26 14:44 UTC, Conrad Kostecki
Details
files/spectrum.initd (spectrum.initd,548 bytes, text/plain)
2010-11-26 14:44 UTC, Conrad Kostecki
Details
files/spectrum.symlink.cfg (spectrum.symlink.cfg,4.74 KB, text/plain)
2010-11-26 14:45 UTC, Conrad Kostecki
Details
spectrum-1.4.4.ebuild (spectrum-1.4.4.ebuild,3.08 KB, text/plain)
2010-11-26 14:47 UTC, Conrad Kostecki
Details
spectrum-1.4.4.ebuild (spectrum-1.4.4.ebuild,3.46 KB, text/plain)
2010-11-26 14:50 UTC, Conrad Kostecki
Details
files/spectrum.cfg (spectrum.cfg,4.66 KB, text/plain)
2010-11-30 15:53 UTC, Conrad Kostecki
Details
files/spectrum.symlink.cfg (spectrum.symlink.cfg,4.74 KB, text/plain)
2010-11-30 15:54 UTC, Conrad Kostecki
Details
spectrum-1.4.5.ebuild (spectrum-1.4.5.ebuild,3.58 KB, text/plain)
2010-12-29 10:27 UTC, Conrad Kostecki
Details
spectrum.initd used with symlinks (spectrum.initd,794 bytes, text/plain)
2011-01-01 11:53 UTC, Marcel Pennewiß
Details
spectrum-1.4.6.ebuild (spectrum-1.4.6.ebuild,3.69 KB, text/plain)
2011-01-11 13:06 UTC, Conrad Kostecki
Details
spectrum-1.4.7.ebuild (spectrum-1.4.7.ebuild,3.48 KB, text/plain)
2011-01-31 13:27 UTC, Conrad Kostecki
Details
spectrum-1.4.7.ebuild (spectrum-1.4.7.ebuild,3.51 KB, text/plain)
2011-01-31 15:03 UTC, Conrad Kostecki
Details
spectrum-1.4.7-r1.ebuild (spectrum-1.4.7-r1.ebuild,3.57 KB, text/plain)
2011-03-29 11:11 UTC, Richard H.
Details
spectrum-1.4.7_remoteroster.patch (spectrum-1.4.7_remoteroster.patch,1.38 KB, patch)
2011-03-29 11:11 UTC, Richard H.
Details | Diff
spectrum-9999.ebuild (spectrum-9999.ebuild,3.63 KB, text/plain)
2011-05-16 19:19 UTC, Marcel Pennewiß
Details
spectrum-1.4.8.ebuild (spectrum-1.4.8.ebuild,3.58 KB, text/plain)
2011-06-11 12:32 UTC, Conrad Kostecki
Details
spectrum.initd used with symlinks (spectrum.initd,793 bytes, text/plain)
2011-07-21 10:40 UTC, Marcel Pennewiß
Details
Ebuild for spectrum-2.0.0-beta2 (spectrum-2.0.0_beta2.ebuild,1.55 KB, text/plain)
2012-04-03 12:30 UTC, Richard H.
Details
spectrum-1.4.8.ebuild - /etc/spectrum owned by root:jabber (spectrum-1.4.8.ebuild,3.58 KB, text/plain)
2012-04-04 08:39 UTC, Richard H.
Details
spectrum-icq.cfg (spectrum-icq.cfg,3.05 KB, text/plain)
2012-04-11 14:40 UTC, Sergey Ilinykh
Details
spectrum-irc.cfg (spectrum-irc.cfg,3.05 KB, text/plain)
2012-04-11 14:40 UTC, Sergey Ilinykh
Details
spectrum.logrotate (spectrum.logrotate,368 bytes, text/plain)
2012-05-06 20:02 UTC, Alexander Tsoy
Details
spectrum-1.4.8.ebuild (spectrum-1.4.8-r2.ebuild,3.79 KB, text/plain)
2012-05-06 20:10 UTC, Alexander Tsoy
Details
spectrum-1.4.8.ebuild (spectrum-1.4.8-r2.ebuild,3.83 KB, text/plain)
2012-05-06 21:36 UTC, Alexander Tsoy
Details
files/spectrum.logrotate (spectrum.logrotate,198 bytes, text/plain)
2012-05-10 09:37 UTC, Alexander Tsoy
Details
Ebuild for spectrum:2 (including git live when using 9999) (swift-9999.ebuild,4.06 KB, text/plain)
2012-10-17 15:03 UTC, Richard H.
Details
Ebuild for spectrum:2 (including git live when using 9999) (spectrum-9999.ebuild,1.88 KB, text/plain)
2012-10-17 15:04 UTC, Richard H.
Details

Note You need to log in before you can comment on or make changes to this bug.
Description john 2009-11-01 14:25:25 UTC
Spectrum is an xmpp transport system based on libpurple, since py-transports are mostly unsupported, deprecated and fairly buggy, this is quite a miss. I think libpurple is the way to go, since it has quite an extensive userbase and is updated regularly.

Reproducible: Always

Steps to Reproduce:
Comment 1 john 2009-11-01 17:03:06 UTC
latest ebuild at http://dev.9souldier.org/?p=overlay.git;a=blob_plain;f=net-im/spectrum-transport/spectrum-transport-9999.ebuild;hb=HEAD if i forget to update the attachment...
Comment 2 john 2009-11-01 17:05:29 UTC
Created attachment 208961 [details]
spectrum live ebuild, no releases yet..
Comment 3 john 2009-11-01 21:04:14 UTC
Created attachment 208984 [details]
spectrum transport live git ebuild

this version automatically installs init and configuration files for all protocols known by spectrum (libpurple)
Comment 4 john 2009-11-01 21:05:19 UTC
Created attachment 208985 [details]
common configuration file modified and installed separately for each protocol
Comment 5 john 2009-11-01 21:05:56 UTC
Created attachment 208986 [details]
init script, modified and installed separately for each protocol known by spectrum
Comment 6 john 2009-11-03 12:29:36 UTC
Created attachment 209125 [details]
spectrum transport live git ebuild

Removed installation of stats, and extras USE, stats is now in spectrumctl
Comment 7 john 2009-12-12 18:37:33 UTC
Created attachment 212809 [details]
spectrum transport live git ebuild

Updated source tree containse spectrumctl instead of spectrumctl.py, changed ebuild accordingly.
Comment 8 john 2009-12-13 17:50:15 UTC
Created attachment 212911 [details]
spectrum transport live git ebuild 

Updated according to sunrise guidelines and comments on #gentoo-sunrise
Comment 9 john 2010-01-21 13:47:47 UTC
Created attachment 217077 [details]
spectrum transport live git ebuild

Removed the python USE flag since it's unstable for now. The transport works fine without the spectrumctl script the python USE flag enabled, and the script is moved every few days in the repository. Also, now it has python libraries, but isn't installed as a python egg, which would cause some more problems.
Comment 10 Anton Romanov 2010-03-06 09:13:33 UTC
there a 0.1 release available as tarball
Comment 11 john 2010-03-25 19:32:34 UTC
(In reply to comment #10)
> there a 0.1 release available as tarball
> 

yeah, sorry, just returned from a month in the bush, will update the ebuild soon(ish?)
Comment 12 john 2010-03-25 20:00:36 UTC
Created attachment 225245 [details]
spectrum transport 0.1 release
Comment 13 Nikolaus Polak 2010-04-19 16:21:36 UTC
Created attachment 228411 [details]
spectrum-transport-0.2.ebuild

Spectrum 0.2 is out - updated the ebuild, added:
USE-flags/dependencies for mysql and sqlite (should be done better, one is needed to use Spectrum)
USE-flag to disable ping's to XMPP server (some situations need this as i've heard)
Dependency dev-python/xmpppy for '# spectrumctl stats' (doesn't work without)
Installation of SQL schemas and import tools.

Sorry I'm surely no good ebuild writer - this one should be better than 0.1, but surely not perfect.
Comment 14 Nikolaus Polak 2010-04-19 16:25:49 UTC
Created attachment 228413 [details]
spectrum-2.cfg

New .cfg file for use with the 0.2 ebuild
Comment 15 Richard H. 2010-05-18 09:44:49 UTC
I think the config file for 0.2 is outdated, after talking with the dev's I found out that this is really the case. The following ones are right:

0.2:
http://github.com/hanzz/spectrum/blob/v0.2/spectrum.cfg

9999:
http://github.com/hanzz/spectrum/blob/master/spectrum.cfg

I will try to update the ebuilds to take the files directly out of git :)
Comment 16 Anton Romanov 2010-07-15 06:31:11 UTC
0.3 released yesterday
Comment 17 Peter Volkov (RETIRED) gentoo-dev 2010-07-22 15:19:20 UTC
Guys I suggest you to add this ebuild into sunrise overlay. For further information, please, take a look at the following page:
http://overlays.gentoo.org/proj/sunrise/
Comment 18 Conrad Kostecki gentoo-dev 2010-08-23 09:11:49 UTC
Created attachment 244171 [details]
spectrum-1.4.0.ebuild

Updated ebuild for newest version 1.4.0.
Remove ping, why would someone disable this? But it can be always included again.
Comment 19 Conrad Kostecki gentoo-dev 2010-08-23 09:12:07 UTC
Created attachment 244173 [details]
files/spectrum.cfg
Comment 20 Nikolaus Polak 2010-08-23 09:23:53 UTC
The "ping"-useflag only made sence when somebody was using Ejabberd <2.1.4, see http://www.ejabberd.im/node/3985 - should be ok to remove it now.
Comment 21 Conrad Kostecki gentoo-dev 2010-08-23 14:00:50 UTC
Created attachment 244209 [details]
spectrum-1.4.0.ebuild

I've created an updated ebuild. Now the configfile and pidfile can be passed to the init.d file. Also the directories are generated with the rights for the jabber user. I've you have some suggestions, just tell me.

I also would suggest, that we should create use flags for every transport because by default, all transport (and scripts) are now installed.

Would be happy, if someone else could test this. For me its now working with openfire. (just testing)
Comment 22 Conrad Kostecki gentoo-dev 2010-08-23 14:01:09 UTC
Created attachment 244211 [details]
files/spectrum.cfg
Comment 23 Conrad Kostecki gentoo-dev 2010-08-23 14:01:24 UTC
Created attachment 244213 [details]
files/spectrum.confd
Comment 24 Conrad Kostecki gentoo-dev 2010-08-23 14:01:34 UTC
Created attachment 244215 [details]
files/spectrum.initd
Comment 25 Conrad Kostecki gentoo-dev 2010-08-25 14:04:47 UTC
Created attachment 244549 [details]
spectrum-1.4.1.ebuild

version bump to 1.4.1
Comment 26 Anton Romanov 2010-10-13 15:45:36 UTC
version 1.4.2 (2010-10-08)  is out
Comment 27 Conrad Kostecki gentoo-dev 2010-10-19 18:44:44 UTC
Created attachment 251281 [details]
spectrum-1.4.2.ebuild

Updated Ebuild to v1.4.2.
If you have any suggestions, just say.
Comment 28 Conrad Kostecki gentoo-dev 2010-10-28 12:34:32 UTC
Just rename ebuild to get 1.4.3.
It fixes to work with icq again.
Comment 29 Conrad Kostecki gentoo-dev 2010-10-28 12:49:11 UTC
Created attachment 252359 [details]
spectrum-1.4.3.ebuild
Comment 30 Richard H. 2010-11-04 00:36:16 UTC
I would really like to ask if we could maybe introduce a USE-Flag for the generated config files.

I am using the template-trick, and therefore really don't need all those config files which are getting generated - in fact they are disturbing.

--- Miscallanous Info follows, basically my question ends here ---

To all, who don't know this trick yet (I learned it from IRC with the devs):

first you make a single spectrum.cfg in say, templates/

There you can include the following variables:

protocol=$filename:protocol
jid=$protocol.domain.tld
port=$filename:port
config_interface = /var/run/jabber/spectrum-$protocol.sock
filetransfer_bind_address=1.2.3.4:6$port
filetransfer_public_address=1.2.3.4:6$port
filetransfer_cache=var/spool/jabber/spectrum-$protocol/filetransfer_cache
name=$protocol Transport
pid_file=/var/run/jabber/spectrum-$protocol.pid
log_file=/var/log/jabber/spectrum-$protocol.log
userdir=/var/spool/jabber/spectrum-$protocol

And then you simply create links like this:
lrwxrwxrwx  1 jabber jabber   21 18. Mai 12:38 aim:5347.cfg -> template/spectrum.cfg
lrwxrwxrwx  1 jabber jabber   21 18. Mai 12:38 icq:5348.cfg -> template/spectrum.cfg
lrwxrwxrwx  1 jabber jabber   21 18. Mai 12:39 msn:5349.cfg -> template/spectrum.cfg
drwxr-x--x  3 jabber jabber 4,0K  4. Nov 01:22 template
lrwxrwxrwx  1 jabber jabber   21 18. Mai 12:39 yahoo:5350.cfg -> template/spectrum.cfg

and you get - this:
2597   aim        aim.jabber.domain.tld     running  
2605   icq        icq.jabber.domain.tld     running  
2613   yahoo      yahoo.jabber.domain.tld   running  
2619   msn        msn.jabber.domain.tld     running  

Maybe someone learns from this ;)
Comment 31 Conrad Kostecki gentoo-dev 2010-11-04 15:48:37 UTC
Basically, thats an very good idea! :)
I'll try this and update the ebuild for this. Much more better than > 10 configs..
Comment 32 Sergey Ilinykh 2010-11-25 14:46:20 UTC
Conrad Kostecki, i've put your ebuild into my overlay (layman -a rion).
if you want i can give you commit access there. but i think its ready for sunrise
Comment 33 Conrad Kostecki gentoo-dev 2010-11-26 14:43:53 UTC
Created attachment 255489 [details]
files/spectrum.cfg
Comment 34 Conrad Kostecki gentoo-dev 2010-11-26 14:44:09 UTC
Created attachment 255491 [details]
spectrum.confd
Comment 35 Conrad Kostecki gentoo-dev 2010-11-26 14:44:35 UTC
Created attachment 255493 [details]
files/spectrum.initd
Comment 36 Conrad Kostecki gentoo-dev 2010-11-26 14:45:02 UTC
Created attachment 255495 [details]
files/spectrum.symlink.cfg
Comment 37 Conrad Kostecki gentoo-dev 2010-11-26 14:47:49 UTC
Created attachment 255497 [details]
spectrum-1.4.4.ebuild

Hi!
Updated spectrum to 1.4.4. I've also enabled the think with the symlink configuration files. To use this, just set the symlinks use flag and it will be done. I am assigning in this mode ports starting from 5347.

If there is anything not working, that say it.

@Rion
Whats layman and sunrise? I've never used such things
Comment 38 Conrad Kostecki gentoo-dev 2010-11-26 14:50:11 UTC
Created attachment 255499 [details]
spectrum-1.4.4.ebuild
Comment 39 Sergey Ilinykh 2010-11-26 14:52:33 UTC
Conrad Kostecki, http://en.gentoo-wiki.com/wiki/Overlay
Comment 40 Marcel Pennewiß 2010-11-26 15:18:14 UTC
(In reply to comment #37)
> I am assigning in this mode ports starting from 5347.

# component port
port=5347
 
This is the port of the local jabber-router the transport connects to. This must be 5347 in every config-file ;)
Comment 41 Conrad Kostecki gentoo-dev 2010-11-26 15:23:15 UTC
(In reply to comment #40)
> (In reply to comment #37)
> > I am assigning in this mode ports starting from 5347.
> 
> # component port
> port=5347
> 
> This is the port of the local jabber-router the transport connects to. This
> must be 5347 in every config-file ;)
> 

Hi Marcel,
is this always this way? Because I've read about ejabberd, that every service/transport has its own port and so aim has port a, icq has port b etc.
In Openfire you're right, as everything is trough one port :)
Comment 42 Sergey Ilinykh 2010-11-26 15:25:07 UTC
i was unable to configure ejabberd with single port for all transports.
so yes each transport uses its own port. and btw, for ejabberd default is 8888
Comment 43 Conrad Kostecki gentoo-dev 2010-11-26 15:29:44 UTC
(In reply to comment #42)
> i was unable to configure ejabberd with single port for all transports.
> so yes each transport uses its own port. and btw, for ejabberd default is 8888
> 

Ok, so we have to ways for the ports, depending in which software we are using.
Anybody an idea, how to solve this in the ebuild?
Comment 44 Sergey Ilinykh 2010-11-26 15:33:30 UTC
its not possible to solve this for ejabberd, since it needs server side configuration as well. i'd leave things as is.
Comment 45 Conrad Kostecki gentoo-dev 2010-11-27 14:41:16 UTC
(In reply to comment #44)
> its not possible to solve this for ejabberd, since it needs server side
> configuration as well. i'd leave things as is.
> 

I know ;) I am aware about the configuration with ejabberd. I mean more the creation of the symlinks with the ebuild. The current one is creating $protocol:$port.cfg

This is for ejabberd no problem. But if someone is using e.g. Openfire he should have to recreate per hand the symlinks.

Maybe this should be controlled by another useflag like "staticport"?
Comment 46 Marcel Pennewiß 2010-11-30 14:45:05 UTC
(In reply to comment #33)
> Created an attachment (id=255489) [details]
> files/spectrum.cfg

This file contains an error...

-userdir=/var/lib/spectrum/SPECTRUMGEN2PROTOCOL/userdir
+userdir=/var/lib/spectrum/S2P/userdir

Comment 47 Marcel Pennewiß 2010-11-30 14:56:44 UTC
(In reply to comment #46)
> (In reply to comment #33)
> > Created an attachment (id=255489) [details] [details]
> > files/spectrum.cfg
> 
> This file contains an error...

and another one
-#prefix=icq_
+#prefix=S2P_
Comment 48 Conrad Kostecki gentoo-dev 2010-11-30 15:53:54 UTC
Created attachment 255957 [details]
files/spectrum.cfg
Comment 49 Conrad Kostecki gentoo-dev 2010-11-30 15:54:19 UTC
Created attachment 255959 [details]
files/spectrum.symlink.cfg

Thanks for this catch!
Comment 50 ScytheMan 2010-12-29 00:23:33 UTC
spectrum 1.4.5 released this day. 

would be great to see this in sunrise :]
Comment 51 Conrad Kostecki gentoo-dev 2010-12-29 10:27:50 UTC
Created attachment 258324 [details]
spectrum-1.4.5.ebuild

Version Bump for the 1.4.5 Version.
Comment 52 ScytheMan 2010-12-31 18:29:17 UTC
(In reply to comment #45)
> (In reply to comment #44)
> > its not possible to solve this for ejabberd, since it needs server side
> > configuration as well. i'd leave things as is.
> > 
> 
> I know ;) I am aware about the configuration with ejabberd. I mean more the
> creation of the symlinks with the ebuild. The current one is creating
> $protocol:$port.cfg
> 
> This is for ejabberd no problem. But if someone is using e.g. Openfire he
> should have to recreate per hand the symlinks.
> 
> Maybe this should be controlled by another useflag like "staticport"?
> 

if i start the init script (thats what i'm supposed to do to start the transport, don't i?), it complains about missing $protocol.cfg.

So it would be good to update /etc/conf.d/spectrum.$protocol or probably better to change the config files from $protocol:$port.cfg to $protocol.cfg?
Comment 53 john 2010-12-31 19:06:10 UTC
Hi

(In reply to comment #52)
> (In reply to comment #45)
> > (In reply to comment #44)
> > > its not possible to solve this for ejabberd, since it needs server side
> > > configuration as well. i'd leave things as is.
> > > 
> > 
> > I know ;) I am aware about the configuration with ejabberd. I mean more the
> > creation of the symlinks with the ebuild. The current one is creating
> > $protocol:$port.cfg
> > 
> > This is for ejabberd no problem. But if someone is using e.g. Openfire he
> > should have to recreate per hand the symlinks.
> > 
> > Maybe this should be controlled by another useflag like "staticport"?
> > 
> 
> if i start the init script (thats what i'm supposed to do to start the
> transport, don't i?), it complains about missing $protocol.cfg.
> 
> So it would be good to update /etc/conf.d/spectrum.$protocol or probably better
> to change the config files from $protocol:$port.cfg to $protocol.cfg?
> 

Imho this whole template thing is too much: how often do you really change your setup? but if you want to be able to have multiple instances of the same protocol's transport with a template you need the $protocol:$port
my 2¢
Comment 54 Marcel Pennewiß 2011-01-01 11:53:59 UTC
Created attachment 258563 [details]
spectrum.initd used with symlinks

Instead of copy multiple initscripts to /etc/init.d we should use an initscript which could be used with symlinks (e.g. as openvpn does):

spectrum
spectrum.icq -> spectrum

works fine here. maybe i'll find some free time to update the ebuild later
Comment 55 Conrad Kostecki gentoo-dev 2011-01-11 13:06:23 UTC
(In reply to comment #54)
> Created an attachment (id=258563) [details]
> spectrum.initd used with symlinks
> 
> Instead of copy multiple initscripts to /etc/init.d we should use an initscript
> which could be used with symlinks (e.g. as openvpn does):
> 
> spectrum
> spectrum.icq -> spectrum
> 
> works fine here. maybe i'll find some free time to update the ebuild later
> 

Sounds like a good idea. But what would then /etc/init.d/spectrum directly start? Just all transports? 
Comment 56 Conrad Kostecki gentoo-dev 2011-01-11 13:06:49 UTC
Created attachment 259538 [details]
spectrum-1.4.6.ebuild
Comment 57 Marcel Pennewiß 2011-01-19 11:57:09 UTC
(In reply to comment #55)
> Sounds like a good idea. But what would then /etc/init.d/spectrum directly
> start? Just all transports? 

you'll get a notice to use spectrum.PROTOCOL init-scripts 

Comment 58 Marcel Pennewiß 2011-01-19 12:08:21 UTC
Conrad (and all others) please have a look at spectrum-1.4.6-r1.ebuild [1].

The ebuild (and configs) contains the following changes:

  - single protocol-list at the beginning
  - not using ${IMAGE} (no need for while in sandbox)
  - symlinked init-scripts
  - not using .cfg as extension for shared config (see [2])
  - database-config in config-files will be adapted by use-flag (mysql/sqlite)
  - staticport-useflag
  - not using port in filetransfer_* (imho there's no need for)
  - using PROTOCOL instead of S2P in conf.d for sed (just a cosmetic repair)

Because i do not use symlinks please check if ebuild behaves properly.

[1] http://subversion.fem.tu-ilmenau.de/websvn/wsvn/fem-overlay/trunk/net-im/spectrum/

[2] http://spectrum.im/projects/spectrum/wiki/Shared_configuration_files
Comment 59 Conrad Kostecki gentoo-dev 2011-01-20 09:13:17 UTC
Hi Marcel,
the ebuild looks good. I'll give a try, to test it, when its weekend.
Personally, I would like to see, that /etc/init.d/spectrum just starts all transports. So you can use one Script, if you need to start/restart all transports. And if you don't want to start every transports, you can set symlinks for the specific ones, as you did.
Comment 60 Marcel Pennewiß 2011-01-22 18:31:47 UTC
(In reply to comment #59)
> Personally, I would like to see, that /etc/init.d/spectrum just starts all
> transports. So you can use one Script, if you need to start/restart all
> transports. And if you don't want to start every transports, you can set
> symlinks for the specific ones, as you did.

Please have a look at the updated version ;) Now you can use
/etc/init.d/spectrum start to start all transports which has AUTOSTART="yes" in conf.d-file (default in ebuild). /etc/init.d/spectrum starts/stop the specified /etc/init.d/spectrum.transport init script and so you could always start/stop/restart a single transport ;)

I don't know if the init-script breaks any (well-known) standards while starting other init-scripts. So it just works for me... ;)
Comment 61 Conrad Kostecki gentoo-dev 2011-01-31 13:27:50 UTC
Created attachment 261173 [details]
spectrum-1.4.7.ebuild

Updates 1.4.7 Ebuild.
Based on the 1.4.6-r2 of Marcel Pennewiß
Comment 62 Sergey Ilinykh 2011-01-31 14:47:37 UTC
from changelog it now depends on imagemagick[cxx]
Comment 63 Conrad Kostecki gentoo-dev 2011-01-31 14:54:53 UTC
> 	* Resize and convert avatars before sending them into legacy network.
>	  Needs libmagick++ installed during compilation.

Strange, I don't have installed imagemagick and it still compiles fine?
Comment 64 Richard H. 2011-01-31 14:58:17 UTC
As the changelog says, I would understand that this is something worth a useflag:

"Resize and convert avatars before sending them into legacy network.
Needs libmagick++ installed during compilation."

So, if it is not found, this feature is simply not enabled. I guess. Haven't tried it yet, but will later.
Comment 65 Sergey Ilinykh 2011-01-31 14:59:50 UTC
I have imagemagick installed and spectrum linked with it.

$ ldd /usr/bin/spectrum | grep -i magick
	libMagick++.so.4 => /usr/lib/libMagick++.so.4 (0x00007f2faf17d000)
	libMagickWand.so.4 => /usr/lib/libMagickWand.so.4 (0x00007f2fab24e000)
	libMagickCore.so.4 => /usr/lib/libMagickCore.so.4 (0x00007f2faadcc000)
Comment 66 Conrad Kostecki gentoo-dev 2011-01-31 15:03:34 UTC
Created attachment 261180 [details]
spectrum-1.4.7.ebuild
Comment 67 Marcel Pennewiß 2011-01-31 15:06:14 UTC
(In reply to comment #63)
> Strange, I don't have installed imagemagick and it still compiles fine?

Same here, notice during build:

-- Magick++ not found - avatars synchronization don't have to work!!!

thx for new updated ebuild ;)
 

Comment 68 Sergey Ilinykh 2011-01-31 15:13:49 UTC
Conrad, i still suggest to you to put ebuild and other files into some overlay.
"sunrise" is pretty good for that. You can read documntation on gentoo.org if you don't know how.
or i can give you commit access to my overlay http://code.google.com/p/rion-overlay/

for now i'll put your ebuild into my overlay.
Comment 69 Conrad Kostecki gentoo-dev 2011-01-31 15:21:35 UTC
Yeah, you're right. It's getting to much here. I'll get a look into sunrise.
Comment 70 Richard H. 2011-03-29 11:09:13 UTC
I have patched 1.4.7 with the help of HanzZ, there was a problem with changing Nicknames when using remote roster XEP.
Comment 71 Richard H. 2011-03-29 11:11:16 UTC
Created attachment 267675 [details]
spectrum-1.4.7-r1.ebuild

based on 1.4.7, added patch
Comment 72 Richard H. 2011-03-29 11:11:58 UTC
Created attachment 267677 [details, diff]
spectrum-1.4.7_remoteroster.patch

This patch fixes the problems with renaming contacts when using the remote roster XEP.
Comment 73 Marcel Pennewiß 2011-03-29 12:41:41 UTC
(In reply to comment #70)
> I have patched 1.4.7 with the help of HanzZ, there was a problem with changing
> Nicknames when using remote roster XEP.

Did you also report this upstream?
Comment 74 Sergey Ilinykh 2011-03-29 12:44:56 UTC
Marcel Pennewiß. HanzZ - upstream author
Comment 75 Richard H. 2011-03-30 00:34:51 UTC
Exactly. This patch is so to say a backport from git/upcoming 1.4.8, where it is fixed already. But this bug was so disturbing for me that I contacted the dev's and eventually HanzZ helped me by showing me the commit which fixed it. Out of this I created the patched ebuild.
Comment 76 Marcel Pennewiß 2011-05-16 19:19:20 UTC
Created attachment 273479 [details]
spectrum-9999.ebuild

live ebuild (using git master branch)
Comment 77 Conrad Kostecki gentoo-dev 2011-06-11 12:23:22 UTC
Anybody tried the new 1.4.8 version?
I am unable to build it..

>>> Working in BUILD_DIR: "/var/tmp/portage/net-im/spectrum-1.4.8/work/spectrum-1.4.8_build"
make -j9
Scanning dependencies of target translations
Scanning dependencies of target man
Scanning dependencies of target spectrum
[  0%] Built target translations
[  0%] Built target man
[  1%] [  2%] [  4%] [  5%] [  7%] [  8%] [ 10%] Building CXX object CMakeFiles/spectrum.dir/src/geventloop.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/sql.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/protocolmanager.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/abstractconversation.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/resourcemanager.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/user.cpp.o
[ 11%] Building CXX object CMakeFiles/spectrum.dir/src/accountcollector.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/spectrumbuddy.cpp.o
[ 13%] Building CXX object CMakeFiles/spectrum.dir/src/filetransfermanager.cpp.o
[ 14%] [ 16%] [ 17%] [ 19%] [ 20%] Building CXX object CMakeFiles/spectrum.dir/src/rosterstorage.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/capabilityhandler.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/spectrumconversation.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/filetransferrepeater.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/registerhandler.cpp.o
[ 22%] [ 23%] Building CXX object CMakeFiles/spectrum.dir/src/abstractspectrumbuddy.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/statshandler.cpp.o
[ 25%] [ 26%] [ 28%] Building CXX object CMakeFiles/spectrum.dir/src/transport.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/gatewayhandler.cpp.o
[ 29%] Building CXX object CMakeFiles/spectrum.dir/src/commands.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/vcardhandler.cpp.o
[ 32%] [ 32%] [ 34%] Building CXX object CMakeFiles/spectrum.dir/src/log.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/thread.cpp.o
Building CXX object CMakeFiles/spectrum.dir/src/configfile.cpp.o
In file included from /var/tmp/portage/net-im/spectrum-1.4.8/work/spectrum-1.4.8/src/geventloop.cpp:21:0:
/var/tmp/portage/net-im/spectrum-1.4.8/work/spectrum-1.4.8/src/geventloop.h:27:16: fatal error: ev.h: No such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/spectrum.dir/src/geventloop.cpp.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [CMakeFiles/spectrum.dir/all] Error 2
make: *** [all] Error 2
emake failed
Comment 78 Conrad Kostecki gentoo-dev 2011-06-11 12:28:16 UTC
Ok, got it ;D
dev-libs/libev needs to be installed.
Comment 79 Conrad Kostecki gentoo-dev 2011-06-11 12:32:25 UTC
Created attachment 276647 [details]
spectrum-1.4.8.ebuild
Comment 80 Anton Romanov 2011-07-05 04:56:14 UTC
works on ~arm system
Comment 81 Marcel Pennewiß 2011-07-21 10:40:23 UTC
Created attachment 280513 [details]
spectrum.initd used with symlinks

Fixed initd with user instead of chuid (deprecated in openrc-0.8.3)
Comment 82 Conrad Kostecki gentoo-dev 2011-07-21 10:51:40 UTC
Comment on attachment 255493 [details]
files/spectrum.initd

>#!/sbin/runscript
># Copyright 1999-2010 Gentoo Foundation
># Distributed under the terms of the GNU General Public License v2
># $Header: $
>
>depend() {
>        need net
>        use jabber-server
>}
>
>start() {
>        ebegin "Starting S2P Spectrum Transport"
>        start-stop-daemon --start --pidfile ${PIDFILE} \
>                 --chuid jabber:jabber --exec /usr/bin/spectrum -- ${CONFFILE}
>        eend $?
>}
>
>stop() {
>        ebegin "Stopping S2P Spectrum Transport"
>        start-stop-daemon --stop --quiet --pidfile ${PIDFILE}
>        eend $?
>}
Comment 84 ScytheMan 2012-02-29 03:29:49 UTC
Spectrum 2.0.0 beta released
Comment 85 Alexander Tsoy 2012-03-15 09:20:42 UTC
There is an error in source configuration phase when python-3 is active by default:


-- Found PythonInterp: /usr/bin/python (found version "3.2.2")
  File "<string>", line 1
    from distutils.sysconfig import get_python_lib; print get_python_lib()
                                                                       ^
SyntaxError: invalid syntax
-- Python site-packages directory:
Comment 86 Alexander Tsoy 2012-03-15 09:45:48 UTC
(In reply to comment #85)
> There is an error in source configuration phase when python-3 is active by
> default:

As I see here is fixed ebuild
http://subversion.fem.tu-ilmenau.de/websvn/wsvn/fem-overlay/trunk/net-im/spectrum/
Comment 87 Richard H. 2012-04-03 12:30:44 UTC
Created attachment 307613 [details]
Ebuild for spectrum-2.0.0-beta2

So, here it is - the ebuild for Spectrum 2.0.0 beta2!

Please keep in mind, I have only edited ebuilds so far, this is my very first completely self-written. I took a bit out of the 1.4.8 ebuild.

So this might, or might not work for you. I tried to identify all dependencies. I was able to run the Skype backend with it, so you should also be able to :)

Things which need to be done:
* the USE-flags so far only add packages to the dependency list - I haven't found the prober CMake variables yet - will work on that one.

* Postgres anyone? Please help me add the right dependency/setup. I don't know a thing about PGSQL.

* FEEDBACK! Help me make this ebuild better - I will try to follow all advises I will receive.
Comment 88 Manuel Rüger (RETIRED) gentoo-dev 2012-04-03 14:44:09 UTC
(In reply to comment #87)
> * FEEDBACK! Help me make this ebuild better - I will try to follow all
> advises I will receive.

You might want to join #gentoo-sunrise on freenode and let your ebuild reviewed there :)
Comment 89 Richard H. 2012-04-04 08:39:17 UTC
Created attachment 307723 [details]
spectrum-1.4.8.ebuild - /etc/spectrum owned by root:jabber

In recent versions, the config files need to be owned by root in order to be used by spectrum. So I changed the according line in the ebuild.
Comment 90 Sergey Ilinykh 2012-04-11 14:37:33 UTC
I've added spectrum2 into my overlay (layman -a rion)
if you want irc plugin, you have to patch qt-core (see Bug 401551).
It does not install preconfigured configs for transports but has an example.
also I'll upload my configs for icq and irc transports (in transport mode)
Comment 91 Sergey Ilinykh 2012-04-11 14:40:27 UTC
Created attachment 308523 [details]
spectrum-icq.cfg

put it to /etc/spectrum2/transports/
Comment 92 Sergey Ilinykh 2012-04-11 14:40:46 UTC
Created attachment 308525 [details]
spectrum-irc.cfg
Comment 93 Alexander Tsoy 2012-05-06 20:02:01 UTC
Created attachment 311029 [details]
spectrum.logrotate

Command
`spectrumctl --status="running" list`
doesn't work for me, so I use awk in this script.
Comment 94 Alexander Tsoy 2012-05-06 20:10:08 UTC
Created attachment 311031 [details]
spectrum-1.4.8.ebuild

Changes:

1. net-im/jabber-base dependency (so drop enewgroup and enewuser from ebuild)
2. install logrotate script
3. fix spectrumctl script for systems where python 3 is a default python version
4. move permission fixes in src_install()
Comment 95 Alexander Tsoy 2012-05-06 21:36:12 UTC
Created attachment 311041 [details]
spectrum-1.4.8.ebuild

Python related changes. I hope they are correct (and better than in fem-overlay ;) ).
Comment 96 Alexander Tsoy 2012-05-10 09:37:02 UTC
Created attachment 311343 [details]
files/spectrum.logrotate

More simple logrotate script
Comment 97 Julian Ospald 2012-05-10 12:37:22 UTC
again, would you guys consider to join

#gentoo-sunrise ?

http://overlays.gentoo.org/proj/sunrise/

That would be a good starting point until a dev finds interest in this.
Comment 98 Richard H. 2012-10-17 15:03:19 UTC
Created attachment 326774 [details]
Ebuild for spectrum:2 (including git live when using 9999)
Comment 99 Richard H. 2012-10-17 15:04:50 UTC
Created attachment 326776 [details]
Ebuild for spectrum:2 (including git live when using 9999)

Oops, that was the wrong one...
Comment 100 Sergey Ilinykh 2012-10-17 15:21:31 UTC
I'd recommend to use my ebuild for spectrum2 (layman -a rion)
Comment 101 Richard H. 2012-10-17 21:07:25 UTC
(In reply to comment #100)
> I'd recommend to use my ebuild for spectrum2 (layman -a rion)

Thanks, I did not know of it until now. You have done some really great work there. I will use that one, you also solved the optional backends question for me =)
Comment 102 Andriy Utkin gentoo-dev 2018-11-06 18:42:00 UTC
Finally, I am actively working with ConiKost, author of PR https://github.com/gentoo/gentoo/pull/9098, reviewing and build testing, also going to do runtime testing. Sorry for delay.
Comment 103 Larry the Git Cow gentoo-dev 2018-11-24 02:46:28 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=051f912c4915ce603ccba7bc15c34ae708c2b851

commit 051f912c4915ce603ccba7bc15c34ae708c2b851
Author:     Conrad Kostecki <conrad@kostecki.com>
AuthorDate: 2018-11-17 20:30:38 +0000
Commit:     Andrey Utkin <andrey_utkin@gentoo.org>
CommitDate: 2018-11-24 02:45:20 +0000

    net-im/spectrum2: New package
    
    Spectrum2 is an open source instant messaging jabber transport daemon.
    
    Closes: https://bugs.gentoo.org/291437
    Package-Manager: Portage-2.3.51, Repoman-2.3.12
    RepoMan-Options: --force
    Signed-off-by: Conrad Kostecki <conrad@kostecki.com>
    Signed-off-by: Andrey Utkin <andrey_utkin@gentoo.org>

 net-im/spectrum2/Manifest                          |   1 +
 .../spectrum2-2.0.9-remove_debug_cflags.patch      |  13 +++
 .../files/spectrum2-2.0.9-use_qt5_libcommuni.patch |  54 +++++++++
 net-im/spectrum2/files/spectrum2.initd             |  47 ++++++++
 net-im/spectrum2/files/spectrum2.service           |  12 ++
 net-im/spectrum2/files/spectrum2.tmpfiles          |   1 +
 net-im/spectrum2/metadata.xml                      |  26 +++++
 net-im/spectrum2/spectrum2-2.0.9.ebuild            | 125 +++++++++++++++++++++
 8 files changed, 279 insertions(+)