Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[request] icecast server #1663

Closed
msharp1 opened this issue Apr 26, 2015 · 24 comments
Closed

[request] icecast server #1663

msharp1 opened this issue Apr 26, 2015 · 24 comments
Labels

Comments

@msharp1
Copy link

msharp1 commented Apr 26, 2015

Hi, that would be great !

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

@Dr-Bean Dr-Bean added the request request for new package label Apr 27, 2015
@Dr-Bean
Copy link
Contributor

Dr-Bean commented Apr 27, 2015

Website: http://www.icecast.org
Prerequisites: http://www.icecast.org/docs/icecast-2.4.1/#prerequisites
Build method: http://www.icecast.org/docs/icecast-2.4.1/#buildinstall
Sourcecode: https://trac.xiph.org/browser/icecast-server
License: GPLv2

@calimou In the future, please add at least some details of what you're requesting, that makes it easier for people unfamiliar with that software :)

@msharp1
Copy link
Author

msharp1 commented Apr 27, 2015

Hi, sorry about this I opened the issue in a hurry which is not a good thing to do :)
Thank you for taking care adding the info youself !

@cytec
Copy link
Member

cytec commented May 7, 2015

i think i tried that a while ago but got stuck on compiling icecast itself if i remember correctly... maybe i'll find that code and give it another try

@msharp1
Copy link
Author

msharp1 commented May 7, 2015

Hi Cytec,
If you can give another try it would be greatly appreciated at least from me:) Take us informed.

@cytec
Copy link
Member

cytec commented May 8, 2015

i was right:

checking curl/curl.h usability... yes
checking curl/curl.h presence... yes
checking for curl/curl.h... yes
checking for libcurl... configure: error: in `/home/cytec/syno/cross/icecast/work-x64-5.1/icecast-2.4.1':
configure: error: cannot run test program while cross compiling

curl makes some problems as they use a native compiled file to test for curl ... when curl is disabled everything compiles...

@Dr-Bean
Copy link
Contributor

Dr-Bean commented May 8, 2015

Presumably you can just not do the test, right? The weird thing is, the compiler already knows you're cross-compiling, but it still halts with an error...

Quick and dirty: Change this in the configure file (L14007)

-as_fn_error $? "cannot run test program while cross compiling
+$as_echo $? "cannot run test program while cross compiling

Compiles succesfully. Don't know if it works though ;)

@cytec
Copy link
Member

cytec commented May 8, 2015

yup i did that already which compiles a binary...
BUT... somehow there is something wrong with the LDFLAGS seems like spksrc sets them like this:

LDFLAGS=" -L/home/cytec/syno/spk/icecast/work-x64-5.1/install//usr/local/lib -Wl,--rpath-link,/home/cytec/syno/spk/icecast/work-x64-5.1/install//usr/local/lib -Wl,--rpath,/usr/local/lib "

instead of

LDFLAGS=" -L/home/cytec/syno/spk/icecast/work-x64-5.1/install//usr/local/lib -Wl,--rpath-link,/home/cytec/syno/spk/icecast/work-x64-5.1/install//usr/local/lib -Wl,--rpath,/usr/local/icecast/lib "

which causes the binary to look in /usr/local/lib for the libs when run on synology... can fix that with LD_LIBRARY_PATH but i'd prefere to have rpath setup correctly...

readelf dump of icecast:

Dynamic section at offset 0x41028 contains 34 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libcurl.so.4]
 0x0000000000000001 (NEEDED)             Shared library: [libssl.so.1.0.0]
 0x0000000000000001 (NEEDED)             Shared library: [libcrypto.so.1.0.0]
 0x0000000000000001 (NEEDED)             Shared library: [libspeex.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libtheora.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libvorbis.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libogg.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libxslt.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libxml2.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libdl.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libz.so]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000f (RPATH)              Library rpath: [/usr/local/lib:/home/cytec/syno/spk/icecast/work-x64-5.1/install//usr/local/lib]

readelf dump of nzbget:

Dynamic section at offset 0x14d0e8 contains 30 entries:
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libz.so]
 0x0000000000000001 (NEEDED)             Shared library: [libncurses.so.5]
 0x0000000000000001 (NEEDED)             Shared library: [libpthread.so.0]
 0x0000000000000001 (NEEDED)             Shared library: [libxml2.so.2]
 0x0000000000000001 (NEEDED)             Shared library: [libssl.so.1.0.0]
 0x0000000000000001 (NEEDED)             Shared library: [libcrypto.so.1.0.0]
 0x0000000000000001 (NEEDED)             Shared library: [libstdc++.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libm.so.6]
 0x0000000000000001 (NEEDED)             Shared library: [libgcc_s.so.1]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
 0x000000000000000f (RPATH)              Library rpath: [/usr/local/nzbget/lib]

@cytec
Copy link
Member

cytec commented May 8, 2015

UPDATE: Nevermind... forgot to set INSTALL_PREFIX in Makefile -.-

@Dr-Bean
Copy link
Contributor

Dr-Bean commented May 8, 2015

Was just about to say that ;)

@cytec cytec mentioned this issue May 8, 2015
@cytec
Copy link
Member

cytec commented May 8, 2015

@Dr-Bean i've added a PR for this, works well on my 1513+...
so what this does is basically just install icecast with default settings. I don't know if thats enough or if we should provide a install wizzard to change some of the values (passwords, hostname, etc)?

EDIT: Personally i don't think thats needed because you'll have to edit the config file manually anyway (to add mountpoints/users/intro/headers etc) and i think everyone planing to run a icecast server would/should actually be advanced enough to use command line...

@Dr-Bean
Copy link
Contributor

Dr-Bean commented May 8, 2015

I assume it's useable with the defaults, but even so, using default passwords like hackme...? Probably better to add a wizard to change those, especially since a user has to read the documentation/config files to know what the default passwords are otherwise.

I have no idea what the interface looks like, but can you change (source/relay) passwords via the interface, after logging in as admin?

@Dr-Bean
Copy link
Contributor

Dr-Bean commented May 8, 2015

Right, I didn't see that edit you did. If the web interface is not the main interface for changing the config, or doesn't allow for config changes, then yes, I'd agree to skip the wizard. Then I'd say just add a SUPPORT_URL (or whatever the url we use for that) to the icecast website/documentation or something to that effect.

@cytec
Copy link
Member

cytec commented May 8, 2015

yeah that makes sense to me 👍

@cytec
Copy link
Member

cytec commented May 11, 2015

@calimou what arch do you use? i can provide a test SPK for you too ;)

@msharp1
Copy link
Author

msharp1 commented May 11, 2015

Hi there,
First I wanted to thank you for the work you are providing for that request, it is greatly appreciated.
I own a DS214 so I suppose the arch is armv7l ?
I somehow agree with the wizard / config file tweak which has to be done by hand.
If you look at windows build of icecast server, I vaguely remember there is a small interface to stop/start the service (a windows service btw) and a button "edit config" which popup notepad loaded with the config xml file.
That being said, hey, in the future we could think of a more friendly way to configure the icecast server at least for basic parameters like admin user and password ? Is it hard to do ?

@cytec
Copy link
Member

cytec commented May 11, 2015

@calimou http://cytec.us/syno/test-spk/icecast/ armadaxp should be the right one for your arch ;)

@msharp1
Copy link
Author

msharp1 commented May 11, 2015

Manual package installation through DSM UI tells me that the package doesn't contain a signature ?

@cytec
Copy link
Member

cytec commented May 11, 2015

yup thats right... i'm not synology nor a "trusted publisher" so you'll have to allow installation from non trusted publishers

@msharp1
Copy link
Author

msharp1 commented May 12, 2015

@cytec , the package seems to work :) I can access to the Icecast Web UI and all.
Now I have to find out where the config file is and edit it thru the shell.
About this, would it be difficult to make the config file to open in DSM's graphical text editor ?
Then something to restart the server when done.
We don't need this now, but this could be a great improvement.
Thanks again !

@cytec
Copy link
Member

cytec commented May 12, 2015

@calimou config is located at /usr/local/icecast/var/icecast.xml
Open the file in DSM text isn't possible as you don't have access to /usr/local/ through the webinterface.
There is/was a Package Called Config File Editor which is able to load various config files and edit them inside DSM here: http://www.mertymade.com/syno/#cfe just edit the Config File Editor config with Config File Editor itself and add this line at the end: /usr/local/icecast/var/icecast.xml,icecast then close and reopen it and you should see icecast at the bottom ;)

PS: you need to install pearl from Synology first!

@cytec
Copy link
Member

cytec commented May 12, 2015

@Diaoul @Dr-Bean generally speaking what do you think about something like that for SynoCommunity Packages? Or any other Ideas? Just playing with my thoughts and something like this would be pretty cool:

An Interface/Editor for most/all SynoCommunity Packages, so you'll be able to edit the config files easy (editor makes backup which can be restored) and restart the Package after editing... on the other hand.. some tools already allow to edit the config files through their Webinterface and that may collide...

@Diaoul
Copy link
Member

Diaoul commented May 12, 2015

That item is on my TODO for a loooooooooong time. Go ahead if you want to tackle this :)
Idea: Pluggable Configuration File Editor. i.e. have uMurmur depend on it, have uMurmur create a DSM button that opens the config Window with a list of files possible to edit and a restart button.

@cytec
Copy link
Member

cytec commented May 12, 2015

I don't have any experience in interaction with DSM but i'll take a look at how other apps do it... maybe that will help me :D
I don't understand that Pluggable Idea correctly i think... DSM Button?

@Diaoul
Copy link
Member

Diaoul commented May 12, 2015

Yep, this creates and icon in DSM: https://github.com/SynoCommunity/spksrc/blob/master/spk/umurmur/src/app/config
Maybe we can extend this and have it pass a few parameters to an URL with filepaths to edit and name of the package to restart.

The URL would point to our config file editor package .cgi and spawn a nice UI to edit the configuration files passed as parameter.

@Dr-Bean Dr-Bean added beta and removed request request for new package labels Nov 8, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants