This request is for an ebuild for TeamSpeak's server. The client is already included as an ebuild in Gentoo 1.4. I realize that TeamSpeak is going through many changes quickly as the development team tries to finalize the current version. This would probably make any ebuild difficult to keep in sync until they are finished with their current round of testing. Still, I would like to see it. Thank you.
I started looking at this. It doesn't look so bad, just going to take a while to work out where all the pieces go (config, libraries, logs, db, etc.)
Ive also thought of this. The installation is simple, the tricky part is to make give it a nice runscript, and to run it with minimum privileges. I suggest to run the server as a seperate user "tss" for security reasons. This user will have to be created in the ebuild, and needs the following rights (to be set in the ebuild): read: bad_names.txt, httpdocs, sqlite.so, sqlite_sql, tcpquerydocs write: server.ini, server.dbs, server.log execute: server_linux Its extremly important that nobody except the tss guy can read both server.log and server.dbs, as they contain the passwords. Then you need a decent runscript...which should: -drop root rights if invoked as root -on "start" check if there are server_linux processes, and if there are, either (design choice) kill them, look if they are gone, else kill -9 them and continue - OR exit with a error message that a teamspeak server is already running. -on "start" write the pid into a file. -on "stop" kill the pid from the file -check if processes are gone, else kill -9 them (maybe sleep a bit to let the server time to terminate, it takes some time with many users+virtual servers). This link might be helpful when writing the runscript: http://www.teamspeak.org/forums/showthread.php?s=&threadid=7388 also I liked this way of dropping root rights: if [ "$UID" = "0" ]; then exec "su" - tss -c "/etc/init.d/teamspeak2-server $1" fi If you have any questions just ask me "J.Ellis", im usualy on irc as "pwk".
I have created an ebuild for Teamspeak Server version 2.0.19.40. It installs itself in /opt/teamspeak2-server and puts the log file, db file, ini file, and pid file in their various /var dirs. There is also an init script that fires up the process as the teamspeak2 user (which gets added at install time). So please check it out and let me know what you think. -- Jeremy
Created attachment 18284 [details] media-sound/teamspeak2-server-bin-2.0.19.40 ebuild
Created attachment 18285 [details] media-sound/files/teamspeak2-server.rc6 init script
It looks like a good first cut to me! I'm not excited about using /opt but it appears to be what other binary packages seem to do. I'll talk to some other bin package maintainers and see what they recommend. I have life / work commitments this week but the weekend is looking good for getting the commited. Thanks muchly. j.
Well, just wanted to point out that the teamspeak2 client currently installs to /usr/share/teamspeak2-client, I found this to be what the guys in #gentoo thought to be a good place...Maybe put the server in /usr/share/teamspeak2-server ? Oh and btw. teamspeak has the tradition of releasing many so called "developer releases", Im not sure if the ebuilds should only follow the "public" releases (the ones that get a news on the main page), or if they should follow the developer releases line. Note: I havent percieved the "developer" releases to be less stable, but rather to have less bugs and of course features.
I'm a newbie to Gentoo, so bear with me. I'm the one who submitted this request, btw. Anyhow, I ran emerge sync;emerge search team. The ebuilds for the server aren't showing up. Do I need to do anything different? Is there a USE variable I need to turn on? BTW, Gentoo development guidelines do state that the LFS should be followed. This would imply that all binary packages should be under /opt, right?
I'm the original submitter. I'm a newbie to Gentoo, so bear with me if I do something stupid. :) I did an emerge sync, emerge search team. The two ebuilds listed above didn't show up. Do I need to do something special to get them? BTW, if wouldn't it be more appropriate to use the /opt directory for installation in order to maintain compliance with the LFS? I understood that was one of Gentoo's design goals. TIA, Jim
You'll need to wait until i've commited something to portage before you can pick it up... it's likely that i won't get to this until tomorrow.
Commited, ~x86 masked. i'm leaving this open to collect feedback. Thanks.
I was able to emerge the ebuild without a problem. I then copied over the configuration files from my old installation, then restarted the new server. I think these were server.ini, server.dbs, and server.log. Anyhow, the server came up just fine. All the configuration information was there, and all registered user accounts transferred correctly with all privileges assigned. I have not yet been able to confirm the actual person to person voice comms. Other than that, so far this looks like a successful ebuild!
Jup, didnt have any problems either.
I had a chance to test communications through the server night before last. Everything worked correctly. Any bugs that show up now would appear to be app related, not ebuild related. As far as I'm concerned this bug can be closed. Thanks again for your quick work on this one. Jim Smilanich
You're very welcome. Thanks for putting it in! -- Jeremy