SynoCommunity / spksrc

Cross compilation framework to create native packages for the Synology's NAS
https://synocommunity.com
Other
2.99k stars 1.22k forks source link

TVHeadEnd SPK #65

Closed Diaoul closed 11 years ago

Diaoul commented 12 years ago

That seems easy as it is shipped with web interface.

schumi2004 commented 12 years ago

Any progress on this request?

Diaoul commented 12 years ago

No. Currently focused on fixing bugs and enhancements of current SPKs. I'm sure you can do it yourself easily with spksrc. Give it a try

schumi2004 commented 12 years ago

Ok will try.

Can you give me a few directions which package i could modify to make this work?

Diaoul commented 12 years ago

Start by following the README and report here the issues you encounter.

schumi2004 commented 12 years ago

For now i give up, maybe later. I'm to much of a linux noob to get this working within a few hours.

I found this but don't know/understand how to convert this to a package. Maybe someone else can give it a shot?

ipkg install gconv-modules export GCONV_PATH=/opt/lib/gconv ipkg install libc-dev ipkg install openssl-dev ipkg install git cp /opt/arm-none-linux-gnueabi/lib/libpthread-2.5.so /opt/arm-none-linux-gnueabi/lib/libpthread-2.5.so.bk cp /lib/libpthread.so.0 /opt/arm-none-linux-gnueabi/lib/libpthread-2.5.so cp /opt/lib/libssl.so.0.9.8 /opt/arm-none-linux-gnueabi/lib cp /opt/lib/libssl.so.0.9.8 /lib cp /opt/lib/libcrypto.so.0.9.8 /lib

git clone https://github.com/andoma/tvheadend cd tvheadend bash ./configure --cc=gcc --disable-avahi make

Jeroenve commented 12 years ago

+1

Maybe I will giving it a shot trying to build a new package.

schumi2004 commented 12 years ago

@Jeroenve I think this could be useful. https://www.lonelycoder.com/redmine/issues/925

After many attempts i finally had a binary compiled on my Synology and trashed the source and kept binary. After starting the binary i noticed something was missing, it seems not all tvheadend needed resources are embedded. So i can start over again.

Diaoul commented 12 years ago

I think that if you follow the steps in the README there'll be no problem. All the stuff you can find on internet about configure, make or make install doesn't apply to spksrc as spksrc is a framework on top of that.

schumi2004 commented 12 years ago

I think i'm halfway there only needed to modify directory name inside tvheadend package to match package name.

11:59:09 {develop} ~/tvheadend/cross/tvheadend$ make arch-88f6281 ===> Building package for arch 88f6281 make[1]: Entering directory /home/openelec/tvheadend/cross/tvheadend' make[1]: Nothing to be done fordefault'. make[1]: Leaving directory `/home/openelec/tvheadend/cross/tvheadend'

Can't find the package yet but need to focus on the GUI part now i think.

Not sure what to do with this step.

On a successful cross-compilation create a PLIST file with the same syntax as spksrc/cross/transmission/PLIST but based on the auto-generated PLIST for your new package at spksrc/cross/newpackage/work-88f6281/newpackage.plist

do i need to copy content of tvheadend.plist in PLIST file for tvheadend in spk/tvheadend?

Diaoul commented 12 years ago

In cross you only cross compile. You have to change the package directory name in the Makefile

schumi2004 commented 12 years ago

Diaoul thanks, got it.

I'm at this step now

Once you have successfully cross compiled the new package, to create the SPK:

Copy a standard SPK directory like spksrc/spk/transmission in your new SPK directory spksrc/spk/newspk Edit the stuff to fit your needs

Need to read a bit more to understand what i need to change or add in Makefile

schumi2004 commented 12 years ago

Sorry for spamming this thread but i think i'm almost there

12:33:37 {develop} ~/tvheadend$ make ARCH=88f6281 tvheadend cd spk/tvheadend/ && env make make[1]: Entering directory /home/openelec/tvheadend/spk/tvheadend' (cd /home/openelec/tvheadend/spk/tvheadend/work-88f6281/staging && tar cpzf /home/openelec/tvheadend/spk/tvheadend/work-88f6281/package.tgz *) ===> Creating INFO file for tvheadend ===> Creating /home/openelec/tvheadend/spk/tvheadend/work-88f6281/scripts/preinst ===> Creating /home/openelec/tvheadend/spk/tvheadend/work-88f6281/scripts/postinst ===> Creating /home/openelec/tvheadend/spk/tvheadend/work-88f6281/scripts/preuninst ===> Creating /home/openelec/tvheadend/spk/tvheadend/work-88f6281/scripts/postuninst ===> Creating /home/openelec/tvheadend/spk/tvheadend/work-88f6281/scripts/preupgrade ===> Creating /home/openelec/tvheadend/spk/tvheadend/work-88f6281/scripts/postupgrade ===> Creating /home/openelec/tvheadend/spk/tvheadend/work-88f6281/scripts/start-stop-status ===> Creating /home/openelec/tvheadend/spk/tvheadend/work-88f6281/scripts/installer (cd /home/openelec/tvheadend/spk/tvheadend/work-88f6281 && tar cpf /home/openelec/tvheadend/spk/tvheadend/../../packages/tvheadend-88f6281-2.99-44-g4ef72fb-1.spk --group=root --owner=root package.tgz INFO scripts) make[1]: Leaving directory/home/openelec/tvheadend/spk/tvheadend' 12:34:02 {develop} ~/tvheadend$

So far i have a spk but i think there is something missing in the Makefile regarding config file for tvheadend, maybe i deleted to much.

Makefile: http://pastebin.com/vcamQzXb

Edit: Package failed to install. Now i need to find out why.

Diaoul commented 12 years ago

Remove WIZARDS_DIR = src/wizard/ from the Makefile Remove wizard files under spksrc/spk/tvheadend/src/wizard/ Check if the INFO file under spksrc/spk/tvheadend/work-88f6281/ and see if the structure is correct. If not, set the DESCRIPTION to something without special characters.

schumi2004 commented 12 years ago

Everything should be good to go but have to leave

If anyone is interested, it's here https://github.com/schumi2004/spksrc/commits/tvheadend

schumi2004 commented 12 years ago

@Diaoul is there a way to find out why it won't install on NAS?

Diaoul commented 12 years ago

Check the installer.sh script.

schumi2004 commented 12 years ago

Found 1 problem in installer.sh but i also checked the created package itself but couldn't find the tvheadend binary in it.

bzhnunu commented 12 years ago

hi schumi2004. I'am nunu from synology & NAS-Forum. I have DL your spkrc/tvheadend & try to compile it. But it seems that it can't be automatically build as the uncompressed name & the ref in the makefile config is are not the same !

schumi2004 commented 12 years ago

i know, you can download tar manually and rename folder inside tar as quick fix, need to solve that part.

Folder name inside archive should match archive name

bzhnunu commented 12 years ago

it is what i have done. I'am not familiar at all with builds environnement. And i havan't understood where is the download link to get tvheadend sources, and where you put configure option ?!

schumi2004 commented 12 years ago

download tar.gz here https://github.com/andoma/tvheadend/downloads rename folder inside archive to match with archive itself , so folder inside archive gets this name andoma-tvheadend-2.99-44-g4ef72fb

place this file in distrib folder

bzhnunu commented 12 years ago

I have already generated the package file.

does the spkrc environnement doesn't allow to download directly the files from original site ?

schumi2004 commented 12 years ago

It does but need to figure out how to handle different folder names inside archive.

For now i can't even get the package installed on NAS and that's something i would like to have figured out first.

Diaoul commented 12 years ago

That's the PKG_DIR variable in the Makefile, change it so it matches what you have.

schumi2004 commented 12 years ago

Maybe @Diaoul can assist a bit with the following. I can create package but it looks like the tvheadend binary itself isn't packed in package.

The binary is placed in a seperate folder build.linux and it stays there when making package.

Diaoul commented 12 years ago

I just finished the SPK, didn't watch your fork though, sorry. Anyone interested in testing this please PM me with GitHub or email me or leave your email here.

schumi2004 commented 12 years ago

xxxxxxxxx[at]gmail.com

Edit Diaoul : Thanks

Diaoul commented 12 years ago

Here it is e846b5ded02e8e6386d8beee02a1190bf9af0483

bzhnunu commented 12 years ago

i have installed the tvheadend package on my DS211. Seems good. I need to test with sudntek dongle.

Diaoul commented 12 years ago

The SPK has been moved from the main repo to the private beta repo.

bzhnunu commented 12 years ago

i have installed the spk from the repo. On question : all need libs are link with tvheadend ?

Diaoul commented 12 years ago

What libs? AFAIK only OpenSSL is required. That's what the configure script says.

bzhnunu commented 12 years ago

to be able to execute tvheadend ont he syno, with compilation on it, i add to do : cp /opt/arm-none-linux-gnueabi/lib/libpthread-2.5.so /opt/arm-none-linux-gnueabi/lib/libpthread-2.5.so.bk cp /lib/libpthread.so.0 /opt/arm-none-linux-gnueabi/lib/libpthread-2.5.so cp /opt/lib/libssl.so.0.9.8 /opt/arm-none-linux-gnueabi/lib cp /opt/lib/libssl.so.0.9.8 /lib cp /opt/lib/libcrypto.so.0.9.8 /lib

all theses libs that was not at the good version on the syno are updated with the spk, or link with tvheadend ? (libssl, lib crypto, libpthread ).

maybe it was because i was using the git sources ... a dev version of tvheadend

Diaoul commented 12 years ago

Well, hopefully spksrc's SPKs are way cleaner than that.

schumi2004 commented 12 years ago

Haven't tested yet but before i remove existing setup, is this package based on git or not? Currently i have good results with git version and tutorial i used also mentioned ssl version 0.9.8, i'm saying this because i saw ssl version 1.0.x being used. Also wondering why tvheadend binary is that small, my compiled binary was way bigger. Going to test tonight.

Diaoul commented 12 years ago

Source is taken from latest git and using OpenSSL 1.0.0j. You didn't strip the binary I think.

schumi2004 commented 12 years ago

Just installed package and it seems to work fine.

I made a copy from existing config /root/.hts/* and placed this in /volume1/@appstore/tvheadend/var/* Then chown -R tvheadend /volume1/@appstore/tvheadend/var/

All settings back and TV seems to work without any problems.

Great job Diaoul ;)

Only think i noticed is that play back is a bit shokking

Edit: Seems to be my mobile device

I think you can drop this in to main repo.

Diaoul commented 12 years ago

Need to solve an issue with PPC ARCH before I think

schumi2004 commented 12 years ago

Why?

I just removed original package :P

Diaoul commented 12 years ago

Don't know I think it doesn't build for some archs. Need to investigate, I just did quick and dirty yesterday :P

Diaoul commented 12 years ago

Well, not dirty

schumi2004 commented 12 years ago

@Diaoul Running it for 5 days now without any issues. Would be cool if Oscam could be packaged also ;)

Hardware used: DS211 Sundtek MediaTV Pro Smargo Cardreader Plus

BlueWombat commented 12 years ago

@Diaoul I'm having two issues with the package, aswell as a request.

Questions:

  1. The app seems to log only a single PID, but Tvheadend seems to spawn several proceses, and when you close a parent process, it dosen't seem to close the chile processes. So if I press Stop inpackage manager, it only stops a single process, if I then run "ps | grep -e tvheadend"-command, it still shows several proceses. Then I have to manually stop each by running "kill -9 pid1 pid 2 pid3, " if I don't, then when I press start, I'll have two process trees running in parallel, both listening on same port, and nothing responding. This is a minor issue, but should of course be adressed at some point.
  2. I can't seem to get Tvheadend to see my XMLTV Grabber, currently I have this: http://pastebin.com/NUWNJmk4 in my "/usr/bin/tv_grab_file"-script. And this is what I get when I do an "ls -l"-command, -rwxr-xr-x 1 tvheadend root 1050 Jul 4 23:31 tv_grab_file. When I created this file, chmoddet and chowned it, I was logged in as root, don't know if that could be the issue? And if so, how could I login as tvheadend-user instead?

Request:

Could it be possible to do a Dvbhdhomerun package aswell? Like virtualdj has done for the Qnap? This would be awesome, as the thing I've had most issues compiling, and haven't succeeded at yet, is the Dvbhdhomerun driver. I'm following this guide: https://www.lonelycoder.com/redmine/boards/4/topics/3706, at the very bottom.

And I'd also like the OSCam SPK, though I haven't decided yet wether to run that on my NAS, or a router with DD-WRT.

Sorry for my ignorance, but not that experienced on Linux.

Hardware: Synology DS1010+ HDHomerun EU DVB-T/C Version 2 Phoenix USB Card Reader for OSCam

schumi2004 commented 12 years ago

Mmmmm process tree, haven't noticed this yet, going to keep an eye on it.

Oscam would be cool, it also has it's own webinterface.

Diaoul commented 12 years ago

Please open other issues for SPKs requests.

About the processes, killing the parent with sigterm (not quit) should close child processes or this is a tvheadend issue. Report to their bug tracker if schumi can confirm this.

Thanks Le 9 juil. 2012 07:53, "schumi2004" < reply@reply.github.com> a écrit :

Mmmmm process tree, haven't noticed this yet, going to keep an eye on it.

Oscam would be cool, it also has it's own webinterface.


Reply to this email directly or view it on GitHub: https://github.com/SynoCommunity/spksrc/issues/65#issuecomment-6839005

jjLDN commented 12 years ago

Hi. Tried that spk yestarday. I have some issues though. I don't know how to use it. I cannot choose any grabber in xml tv. The window disappears immediately. I cannot choose any tv card even though I have two different devices an both recognizable by DSM. In IPTV section I cannot add any proper tv stream from internet. Whenever I tried to stop the package I cannot turn it on back again. It appears to be hanging in ram and not closing properly. So basically I don't know what is the purpose of this package. I use DS712+ on DSM 4.0-2228.

BlueWombat commented 12 years ago

@DIaoul I think you forgot to answer my 2nd question, regarding Theadend not recognising my grabber?

@schumi2004 If you have the above working, maybe you can help me get it working?...

I'll a open a request issue for the other package.

@jjLDN I can see your frustration, but your does sound a bit harsh, nd though i'm sure it wasnt your intention, it's still something you should think about. Diaoul is a volunteer, like everyone else working on this repository, as well as the original projects that are repacked here as SPK's.

schumi2004 commented 12 years ago

@sirgadget sure i can help you , no problem. Do you have oscam working on your DS1010+ and know on what device it's connected? (same for @jjLDN )

This is what i scrobbled from internet to get it working on a DS211 http://dl.dropbox.com/u/6696611/Synology/how-to%20tvstation%20synology.txt

For more info check http://www.oscam.to

Oscam was crucial for me to get tvheadend working, without oscam it's useless. (at least for me it is)

jjLDN commented 12 years ago

@sirgadget I am not really frustrated even if I sound like. So to everone offended - I am sorry, that wasn't my intention. I was just stating the fact, that even though I can install the package I am not able to evaluate that package so I don't know what that package really does. Apparently oscam plays the crucial role in here, but we would have to compile it by ourselves.

schumi2004 commented 12 years ago

@jjLDN did you ever had live TV on your Synology before?

It won't work out of the box with tvheadend only, you need to have installed/compiled the needed driver for reciever connected to Synology first to see it in tvheadend.

In my case i first needed to get oscam (other people use NewCS) working incl card reader and needed drivers for both to even see it popup in tvheadend.

It's indeed easy to use but not without the proper preparations.