Compare commits

..

104 Commits

Author SHA1 Message Date
Stephan Raue
f8a8d878a5 config/version: set version to 4.95.2
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-12 13:41:47 +01:00
Stephan Raue
d60a579dfc projects/*/linux: Enable Netfilter owner matching, this fixes #3607, this fixes #3585
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-12 13:06:23 +01:00
Stephan Raue
0d3512d492 projects/RPi/patches/kodi: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-12 02:50:10 +01:00
Stephan Raue
c34104feed flashrom: link agains libudev and libkmod, needed too link against newer pciutils
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-12 02:06:26 +01:00
Stephan Raue
3585439653 systemd: install pci hwdb
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-12 02:06:26 +01:00
Stephan Raue
926ed98ad4 pciutils: update to pciutils-3.3.0, enable udev and libkmod support, dont install pci.ids
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-12 02:06:07 +01:00
Stephan Raue
243886e415 kodi: update to kodi-14-bd7da38
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-12 02:05:56 +01:00
piotrasd
8744b4876c update NVIDIA drivers to 340.58v 2014-11-11 17:16:29 +01:00
Naffi
1b99a105fc update TBS drivers to v141019 2014-11-11 17:16:29 +01:00
Frank Razenberg
6d192350c3 add patch for missing axes 2014-11-11 17:16:29 +01:00
vpeter4
094be53b37 projects/imx6/linux: enable RTC on TBS Matrix system 2014-11-11 17:16:29 +01:00
Stephan Raue
48cb2b7581 irserver: change lirc's runtime dir to /run/lirc
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-11 17:16:29 +01:00
Stephan Raue
86f796d618 lirc: specify localstatedir so /run/lirc is used for socket and pid files
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-11 17:16:29 +01:00
Stephan Raue
62ede1ba96 xorg-server: update to xorg-server-1.16.2
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-11 17:16:29 +01:00
Stephan Raue
5703acd71f Merge pull request #3598 from fritsch/oe-ae-setting-for-nuc
AE: add AE setting for nuc
2014-11-11 12:15:25 +01:00
Stephan Raue
b147dc33ab OpenELEC-settings: update to OpenELEC-settings-0.5.3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-11 02:15:39 +01:00
Stephan Raue
a1047be164 projects/imx6/patches/kodi: remove libcec-2.1 support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-11 00:47:11 +01:00
Stephan Raue
ff9b487fe9 libcec: update to libcec-2.2.0 for all plattforms, add updated patch to add support for iMX6 systems
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-11 00:45:11 +01:00
Stephan Raue
b4a494f231 projects/imx6/patches/linux: update project based CEC driver patches
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-11 00:44:06 +01:00
Stephan Raue
885cb9c2f2 projects/imx6/patches/libcec: remove project based libcec patches
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-11 00:43:37 +01:00
Stephan Raue
1ba716ff1a wireless-regdb: update to wireless-regdb-2014.11.07
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
2b45337f3b libass: update to libass-0.12.0
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
0dfe65f0b2 readline: dont install /usr/share/readline
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
313060e13e kodi: fix FM patch again
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
f4eb2af766 wlan-firmware: update to wlan-firmware-0.0.25
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
93987c3c2e kodi: add PR5682
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
1af41effbc distributions/OpenELEC/options: enable RSXS support by default
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stefan Saraev
1fecfa9bcb mkimage: say something before doing 'sudo scripts/mkimage' 2014-11-10 19:41:15 +01:00
Stephan Raue
3cbed0708e plymouth-lite: add support for distro based splash, move default splash to distro folder
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
83163d7603 add support to create different distributions with the same project configs
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
94b5be6fc3 debug: call get_graphicdrivers
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
8dc105dc43 config/functions: update config overview
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
32d9edfa4e projects/*/options: rename $BDPLUS_SUPPORT to $BLURAY_BDPLUS_SUPPORT
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
f7e1f6702d projects/*/options: rename $AACS_SUPPORT to $BLURAY_AACS_SUPPORT
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
f98750943c projects/*/options: rename $SAMBA_SUPPORT to $KODI_SAMBA_SUPPORT, add option for SAMBA mount support via the OS
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
3a164d0a84 projects/*/options: rename $NFS_SUPPORT to $KODI_NFS_SUPPORT, add option for NFS mount support via the OS
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
ad1e4fb8fe projects/*/options: rename $BLURAY_SUPPORT to $KODI_BLURAY_SUPPORT
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
04600bf444 projects/*/options: rename $OPTICAL_DRIVE_SUPPORT to $KODI_OPTICAL_SUPPORT
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
89aabaaf9f projects/*/options: rename $DVDCSS_SUPPORT to $KODI_DVDCSS_SUPPORT
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
f0187ecbfe projects/*/options: rename $NONFREE_SUPPORT to $KODI_NONFREE_SUPPORT
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
2d2557f31b projects/*/options: rename $MYSQL_SUPPORT to $KODI_MYSQL_SUPPORT
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
815f2e7547 projects/*/options: rename $WEBSERVER to $KODI_WEBSERVER_SUPPORT
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
752cfd01f0 projects/*/options: rename $UPNP_SUPPORT to $KODI_UPNP_SUPPORT
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
d282b30f4e projects/*/options: rename $SSHLIB_SUPPORT to $KODI_SSHLIB_SUPPORT
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:15 +01:00
Stephan Raue
917501c9b7 projects/*/options: rename $AFP_SUPPORT to $KODI_AFP_SUPPORT
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
c1b70632ba projects/*/options: rename $AIRPLAY_SUPPORT to $KODI_AIRPLAY_SUPPORT
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
54db1b3339 projects/*/options: rename $AIRTUNES_SUPPORT to $KODI_AIRTUNES_SUPPORT
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
8e2b320b99 move vaapi / vdpau support to config/graphic
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
cc9335d6e5 bcm2835-bootloader: update to bcm2835-bootloader-778b370
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
4145cfe956 bcm2835-driver: update to bcm2835-driver-778b370
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
4a3bd93539 kodi: update to kodi-14-2d88a9a, update RPi support patch, update FM support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
f107fee66f Mesa: update to Mesa-10.3.3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
aa9b78065d linux: add some upstream patches
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
aaa2c58989 kodi-cleanlogs.service: move to sysinit 2014-11-10 19:41:14 +01:00
Stephan Raue
d37c22d61f debug-shell.service: move to sysinit 2014-11-10 19:41:14 +01:00
Stephan Raue
0f820b3068 samba: samba.*.service has no job with local-fs.target 2014-11-10 19:41:14 +01:00
Stephan Raue
b0482f422b systemd: move userconfig.service to sysinit.target 2014-11-10 19:41:14 +01:00
Stephan Raue
792a28b64b systemd: machine-id.service has no job after local-fs.target 2014-11-10 19:41:14 +01:00
Stephan Raue
cb4f28a577 v4l-utils: add support for user keytables in /storage/.config/rc_keymaps
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
7a30bdab0d v4l-utils: readd reworket patch to fix 'OTHER' protocol
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
8cc3a30690 v4l-utils: update to v4l-utils-1.6.0
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
8e4c355a16 systemd: add upstream patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stefan Saraev
a3cc43c4ef xorg-configure: dont count on tmpfiles
udevd runs early, xorg-configure can be started at any time

this should solve a (very rare) race on dual gpu setups..
2014-11-10 19:41:14 +01:00
vpeter4
d90ad6a0af sundtek-mediatv: fixed (some) errors 2014-11-10 19:41:14 +01:00
Stephan Raue
3a844a56af projects/Generic/linux: remove old commandline options
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
4e8086843a projects/*/linux: disable USB autosuspend per default
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
7f8f2e09c3 kodi: update to kodi-14-6acca80
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:14 +01:00
Stephan Raue
81e511484d ffmpeg: update to ffmpeg-2.4.3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:13 +01:00
Stephan Raue
28493a0ecb curl: update to curl-7.39.0
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-10 19:41:13 +01:00
Stefan Saraev
0f1e2130e6 sundtek-mediatv: here is a nice joke... 2014-11-10 19:41:13 +01:00
vpeter4
8fe7fb4eaf sundtek: transformed to service addon new addon settings option to enable to check for new driver at boot update to kodi 2014-11-10 19:41:13 +01:00
Stephan Raue
1a3380a66f Revert "plymouth-lite: add KodiOS splash, add initial support to select the splash based on DISTRO variable (to be reworked)"
This reverts commit 6690b7360e.
2014-11-10 19:40:24 +01:00
Stephan Raue
cc49129ea6 config/version: set version back to devel
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-06 22:27:26 +01:00
Stefan Saraev
dbe59534c6 Merge pull request #3597 from fritsch/openelec-5.0
xf86-video-intel: Downgrade to version 910
2014-11-06 22:59:43 +02:00
fritsch
171e9da663 kodi: Add av.xml setting to set minimal sample rate 2014-11-06 18:02:45 +01:00
fritsch
273585c995 xf86-video-intel: Downgrade to version 910 2014-11-06 17:47:50 +01:00
Stephan Raue
9ef4973efa config/version: set OPENELEC_VERSION to 4.95.1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-05 16:34:14 +01:00
Stephan Raue
9999a2a864 kodi: add upstream patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-05 16:34:14 +01:00
Stephan Raue
7e4ab7250f xf86-video-intel: disable tearfree support
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-05 01:30:43 +01:00
Stephan Raue
e92c0b39d6 projects/imx6/patches/kodi: add patch to support libcec-2.1
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-05 01:30:43 +01:00
Stephan Raue
e423e70267 projects/imx6/linux: remove deprecated commandline options
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-05 01:30:43 +01:00
Stephan Raue
261b9f041b libcec: move imx6 patches to project folder, build libcec-2.1.4 for imx6 project
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-05 01:30:43 +01:00
Stefan Saraev
ed84d28cb3 fluxbox: depend on xrandr/xext/xrender
and fix a typo (missing \, not a problem at all)
2014-11-05 01:30:43 +01:00
Stephan Raue
e152b81ec6 kodi: update to kodi-14-d6947be
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-05 01:30:43 +01:00
Stephan Raue
233710a48f add support for project based versioning
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-05 01:30:43 +01:00
Stephan Raue
0908a504c9 projects/Generic/linux: enable CONFIG_X86_BOOTPARAM_MEMORY_CORRUPTION_CHECK
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-05 01:30:43 +01:00
Stephan Raue
769122992d projects/Generic/linux: enable CONFIG_X86_CHECK_BIOS_CORRUPTION
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-05 01:30:43 +01:00
vpeter4
2ba5ddac6c projects/imx6/patches/u-boot: update tbs matrix patches 2014-11-05 01:30:43 +01:00
vpeter4
0fca33726d projects/imx6/patches/linux: update tbs matrix device tree, append kernel config cmdline 2014-11-05 01:30:43 +01:00
Stephan Raue
adfcd74f37 kodi-audioencoder-wav: update to kodi-audioencoder-wav-40aaedf
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-05 01:30:43 +01:00
Stephan Raue
6408e17a5d kodi-audioencoder-vorbis: update to kodi-audioencoder-vorbis-f75f329
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-05 01:30:42 +01:00
Stephan Raue
3b96de2f8a kodi-audioencoder-lame: update to kodi-audioencoder-lame-46592f8
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-05 01:30:42 +01:00
Stephan Raue
091ae119ad kodi: add PR5633
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-02 18:29:41 +01:00
Stephan Raue
dd83d899f5 projects/imx6/linux: update kernel config
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-02 16:06:31 +01:00
Stephan Raue
6690b7360e plymouth-lite: add KodiOS splash, add initial support to select the splash based on DISTRO variable (to be reworked)
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-02 16:05:35 +01:00
Stephan Raue
b52a555a22 projects/imx6/patches/linux: remove not needed patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-02 15:46:23 +01:00
Stephan Raue
76f4e6db01 linux: update to linux-cuboxi-3.14-dc5edb8
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-02 15:45:02 +01:00
Stephan Raue
e0dc3d7e9e OpenELEC-settings: update to OpenELEC-settings-0.5.2
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-02 15:44:16 +01:00
Stephan Raue
4fcc3ce6d9 projects/Generic/linux: decrease max supported cpus to 8 for i686 builds
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-02 12:29:14 +01:00
Stephan Raue
443b4fd6a6 kodi: update to kodi-14-a693300
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-02 12:27:12 +01:00
Stefan Saraev
8e45336ea0 vdr: remove eitscan disable patch
this re-enables eitscan in vdr-iptv
note: correct channel nid/tid/sid values must be set
2014-11-01 19:03:10 +01:00
Stephan Raue
3bffa1bf6c projects/RPi/patches/linux: update RPi support patch
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-01 18:59:26 +01:00
Stephan Raue
07407b98f3 libssh: update to libssh-0.6.3
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-01 18:54:17 +01:00
Stephan Raue
f3b9188ac1 samba: add patch to rename 'string_free', this fixes build of kodi with if libssh-0.6.x
Signed-off-by: Stephan Raue <stephan@openelec.tv>
2014-11-01 18:53:45 +01:00
1255 changed files with 112935 additions and 394677 deletions

View File

@@ -35,12 +35,6 @@ Feature requests are great, but they usually end up lying around the issue
tracker indefinitely. Sending a pull request is a much better way of getting a
particular feature into OpenELEC.
Please dont ask us to add 3rdparty drivers unless you are the maintainer/developer of the driver,
we have no manpower to support a non-mainlined kernel driver for your hardware.
However, OpenELEC comes with minimal set of kernel drivers enabled, if you are sure that your hardware
is supported in mainline kernel, feel free to send us a Pull Request to enable it in our
kernel defconfigs. We are always happy to support known-working hardware.
### Reporting build failures
As buildsystem / core packages (toolchain) / random libraries change from time to time, it is required

View File

@@ -11,12 +11,12 @@ release:
image:
./scripts/image mkimage
image-efi:
./scripts/image mkimage efi
noobs:
./scripts/image noobs
amlpkg:
./scripts/image amlpkg
clean:
rm -rf $(BUILD_DIRS)/* $(BUILD_DIRS)/.stamps

View File

@@ -2,8 +2,8 @@
# OpenELEC - Open Embedded Linux Entertainment Center
OpenELEC runs [Kodi](http://kodi.tv), an award-winning free and open source (GPL) software media
player and entertainment hub for digital media. For more info see http://kodi.tv .
OpenELEC runs [XBMC](http://xbmc.org), an award-winning free and open source (GPL) software media
player and entertainment hub for digital media. For more info see http://xbmc.org .
The base system has been designed and built from the ground up to be as
efficient as possible consuming only tiny disk and memory footprints and
providing cutting edge hardware support to deliver a set-top box experience.
@@ -16,6 +16,10 @@ providing cutting edge hardware support to deliver a set-top box experience.
* Please read the instructions in our wiki (http://wiki.openelec.tv/index.php?title=Installation) on how to install.
**Known issues**
* Testing snapshot
**License**
* OpenELEC is released under [GPLv2](http://www.gnu.org/licenses/gpl-2.0.html). Please refer to the "licenses" folder and
@@ -40,15 +44,16 @@ providing cutting edge hardware support to deliver a set-top box experience.
**Features**
* System size ~ 90 - 170MB
* System size ~ 90 - 130MB
* Minimal hardware requirements
* Ultra fast boot
* Simple configuration via Kodi itself
* Optimized builds for platforms such as ION, Intel, Fusion
* Simple configuration via XBMC itself
* Plug and Play external storage
**Software**
* Kodi HTPC software View/Manage all your media.
* XBMC HTPC software View/Manage all your media.
* Samba server File transfer from any PC client
* SSH server Remote console access for debugging
* IR/Bluetooth Remote Control
@@ -63,12 +68,13 @@ providing cutting edge hardware support to deliver a set-top box experience.
All data transfered to the machine will go here, the rest of the system is
read-only with the exception of /var (containing runtime configuration data).
* Manual update/downgrade procedure is as follows:
Copy the snapshot (.tar) to the 'Update' network share (or /storage/.update) on
Extract the snapshot and navigate to the 'target' directory.
Copy KERNEL and SYSTEM along with KERNEL.md5 and SYSTEM.md5 to the 'Update' network share (or /storage/.update) on
your openelec machine. Your system will automatically upgrade during the
next reboot.
* Automatic mounting of filesystems is supported. Devices such as USB Flash
sticks can be plugged into a running machine and will be mounted to /media,
showing up in Kodis GUI.
showing up in xbmcs GUI.
* Comments and questions are more than welcome, help is even better and patches
are absolutely perfect!!

8
TODO Normal file
View File

@@ -0,0 +1,8 @@
ncurses-5.8/5.9:
- segfaults in nano and dialog -> using ncurses-5.7
irserver:
- rework irserver/init.d for systemd
settings addon:
- remove ps3 sleep? should be fixed in bluez 5.13/5.14

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="@PKG_ADDON_ID@"
name="@ADDON_NAME@"
name="@PKG_NAME@"
version="@ADDON_VERSION@"
provider-name="@PROVIDER_NAME@">
<requires>
@@ -8,9 +8,11 @@
<import addon="xbmc.python" version="2.1.0"/>
@REQUIRES@
</requires>
<extension point="xbmc.python.script" library="default.py" />
<extension point="xbmc.python.module" library="lib/">
<extension point="@PKG_ADDON_TYPE@"
library="default.py">
<provides>executable</provides>
</extension>
@EXTENSIONS@
<extension point="xbmc.addon.metadata">
<summary>@PKG_SHORTDESC@</summary>
<description>

View File

@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="@PKG_ADDON_ID@"
name="@ADDON_NAME@"
version="@ADDON_VERSION@"
provider-name="@PROVIDER_NAME@">
<requires>
<import addon="os.openelec.tv" version="@OS_VERSION@"/>
<import addon="xbmc.python" version="2.1.0"/>
@REQUIRES@
</requires>
<extension point="xbmc.python.script" library="default.py">
<provides>@PKG_ADDON_PROVIDES@</provides>
</extension>
<extension point="xbmc.addon.metadata">
<summary>@PKG_SHORTDESC@</summary>
<description>
@PKG_LONGDESC@
</description>
<disclaimer>
@PKG_DISCLAIMER@
</disclaimer>
<platform>all</platform>
</extension>
</addon>

View File

@@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="@PKG_ADDON_ID@"
name="@ADDON_NAME@"
version="@ADDON_VERSION@"
provider-name="@PROVIDER_NAME@">
<requires>
<import addon="os.openelec.tv" version="@OS_VERSION@"/>
<import addon="xbmc.python" version="2.1.0"/>
@REQUIRES@
</requires>
<extension point="xbmc.service" library="default.py">
<provides>@PKG_ADDON_PROVIDES@</provides>
</extension>
<extension point="xbmc.addon.metadata">
<summary>@PKG_SHORTDESC@</summary>
<description>
@PKG_LONGDESC@
</description>
<disclaimer>
@PKG_DISCLAIMER@
</disclaimer>
<platform>all</platform>
</extension>
</addon>

View File

@@ -32,9 +32,12 @@
SIMD_SUPPORT="no"
;;
cortex-a7|cortex-a15)
TARGET_SUBARCH=armv7ve
TARGET_SUBARCH=armv7-a
TARGET_ABI=eabi
TARGET_EXTRA_FLAGS="-mcpu=$TARGET_CPU"
# It's not currently possible to specify the exact architecture variant (-mcpu)
# that A7/A15 supports in the command line so use -mtune here.
# see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57907
TARGET_EXTRA_FLAGS="-mtune=$TARGET_CPU"
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
SIMD_SUPPORT="yes"
;;

14
config/arch.i386 Normal file
View File

@@ -0,0 +1,14 @@
# determines TARGET_CPU, if not forced by user
if [ -z "$TARGET_CPU" ]; then
TARGET_CPU=i686
fi
# determine architecture's family
TARGET_SUBARCH=i686
# setup ARCH specific *FLAGS
TARGET_CFLAGS="-march=$TARGET_CPU -m32"
TARGET_LDFLAGS="-march=$TARGET_CPU -m32"
# build with SIMD support ( yes / no )
SIMD_SUPPORT="yes"

View File

@@ -224,13 +224,11 @@ enable_service () {
local target_dir=$INSTALL
[ -f "$target_dir/$unit_dir/$unit" ] || exit 1
if [ -z "$target" ] ; then
for target in `grep '^WantedBy' $target_dir/$unit_dir/$unit | cut -f2 -d=` ; do
if [ -n "$target" ]; then
mkdir -p ${target_dir}/$unit_dir/${target}.wants
ln -sf ../${unit} ${target_dir}/$unit_dir/${target}.wants/
fi
done
[ -z "$target" ] && target=`grep '^WantedBy' $target_dir/$unit_dir/$unit | cut -f2 -d=`
if [ -n "$target" ]; then
mkdir -p ${target_dir}/$unit_dir/${target}.wants
ln -sf ../${unit} ${target_dir}/$unit_dir/${target}.wants/
fi
}
@@ -284,7 +282,7 @@ show_config() {
dashes="==========================="
config_message="$config_message\n $dashes$dashes$dashes"
config_message="$config_message\n Configuration for $DISTRONAME ($([ "$OFFICIAL" = "yes" ] && echo "official" || echo "community"))"
config_message="$config_message\n Configuration for $DISTRONAME ($([ "$OFFICIAL" = "yes" ] && echo "official" || echo "unofficial"))"
config_message="$config_message\n $dashes$dashes$dashes"
# Build options
@@ -309,13 +307,14 @@ show_config() {
config_message="$config_message\n\n Graphic configuration:"
config_message="$config_message\n $dashes$dashes"
if [ "$DISPLAYSERVER" = "x11" ] ; then
config_message="$config_message\n - Xorg Graphic Drivers:\t\t $GRAPHIC_DRIVERS"
config_message="$config_message\n - XORG Composite support:\t\t $COMPOSITE_SUPPORT"
config_message="$config_message\n - WindowManager:\t\t\t $WINDOWMANAGER"
fi
config_message="$config_message\n - XORG support:\t\t\t $XORG_SUPPORT"
config_message="$config_message\n - XORG Composite support:\t\t $COMPOSITE_SUPPORT"
config_message="$config_message\n - XORG Xinerama support:\t\t $XINERAMA_SUPPORT"
config_message="$config_message\n - SDL support:\t\t\t\t $SDL_SUPPORT"
config_message="$config_message\n - OpenGL (GLX) support (provider):\t $OPENGL_SUPPORT ($OPENGL)"
config_message="$config_message\n - OpenGLES support (provider):\t\t $OPENGLES_SUPPORT ($OPENGLES)"
config_message="$config_message\n - WindowManager:\t\t\t $WINDOWMANAGER"
config_message="$config_message\n - Xorg Graphic Drivers:\t\t $GRAPHIC_DRIVERS"
config_message="$config_message\n - uvesafb support:\t\t\t $UVESAFB_SUPPORT"
# Hardware decoder support
@@ -326,7 +325,6 @@ show_config() {
config_message="$config_message\n - Kodi Player driver:\t\t\t $KODIPLAYER_DRIVER"
config_message="$config_message\n - VAAPI Support:\t\t\t $VAAPI_SUPPORT"
config_message="$config_message\n - VDPAU Support:\t\t\t $VDPAU_SUPPORT"
config_message="$config_message\n - DCA decoder Support:\t\t\t $DCADEC_SUPPORT"
# Input device configuration
@@ -347,6 +345,7 @@ show_config() {
config_message="$config_message\n - ALSA support:\t\t\t $ALSA_SUPPORT"
config_message="$config_message\n - Pulseaudio support:\t\t\t $PULSEAUDIO_SUPPORT"
config_message="$config_message\n - Bluetooth support:\t\t\t $BLUETOOTH_SUPPORT"
config_message="$config_message\n - Hardware Sensors support:\t\t $SENSOR_SUPPORT"
config_message="$config_message\n - LCD drivers:\t\t\t\t $LCD_DRIVER"
for config_driver in $ADDITIONAL_DRIVERS; do
@@ -371,6 +370,8 @@ show_config() {
config_message="$config_message\n - SAMBA mounting support:\t\t $SAMBA_SUPPORT"
config_message="$config_message\n - SAMBA server support:\t\t $SAMBA_SERVER"
config_message="$config_message\n - SFTP server support:\t\t\t $SFTP_SERVER"
config_message="$config_message\n - PPTP support:\t\t\t $PPTP_SUPPORT"
config_message="$config_message\n - OpenVPN support:\t\t\t $OPENVPN_SUPPORT"
# OS configuration
@@ -380,10 +381,10 @@ show_config() {
config_message="$config_message\n - OEM Support:\t\t\t\t $OEM_SUPPORT"
config_message="$config_message\n - Default ROOT Password:\t\t $ROOT_PASSWORD"
config_message="$config_message\n - Bootloader:\t\t\t\t $BOOTLOADER"
if [ "$BOOTLOADER" = "u-boot" ]; then
config_message="$config_message\n - U-Boot configuration:\t\t $UBOOT_CONFIG"
config_message="$config_message\n - U-Boot config file:\t\t $UBOOT_CONFIGFILE"
fi
if [ "$BOOTLOADER" = "u-boot" ]; then
config_message="$config_message\n - U-Boot configuration:\t\t $UBOOT_CONFIG"
config_message="$config_message\n - U-Boot config file:\t\t\t $UBOOT_CONFIGFILE"
fi
config_message="$config_message\n - UDevil support:\t\t\t $UDEVIL"
config_message="$config_message\n - Installer support:\t\t\t $INSTALLER_SUPPORT"
@@ -393,9 +394,9 @@ show_config() {
config_message="$config_message\n $dashes$dashes"
config_message="$config_message\n - Swap Support:\t\t\t $SWAP_SUPPORT"
if [ "$SWAP_SUPPORT" = "yes" ]; then
config_message="$config_message\n - Swapfile default size:\t\t $SWAPFILESIZE"
fi
if [ "$SWAP_SUPPORT" = "yes" ]; then
config_message="$config_message\n - Swapfile default size:\t\t $SWAPFILESIZE"
fi
config_message="$config_message\n - exFAT Support (via Fuse):\t\t $EXFAT"
config_message="$config_message\n - NTFS Support (via Fuse):\t\t $NTFS3G"
config_message="$config_message\n - Install HFS Tools:\t\t\t $HFSTOOLS"
@@ -408,13 +409,12 @@ show_config() {
config_message="$config_message\n - Kodi version:\t\t\t $MEDIACENTER"
config_message="$config_message\n - Kodi nonfree support:\t\t $KODI_NONFREE_SUPPORT"
config_message="$config_message\n - Kodi Blu-Ray support:\t\t $KODI_BLURAY_SUPPORT"
if [ "$KODI_BLURAY_SUPPORT" = "yes" ] ; then
config_message="$config_message\n - Bluray BD+ support:\t\t $BLURAY_BDPLUS_SUPPORT"
config_message="$config_message\n - Bluray AACS support:\t\t $BLURAY_AACS_SUPPORT"
fi
config_message="$config_message\n - Bluray BD+ support:\t\t\t $BLURAY_BDPLUS_SUPPORT"
config_message="$config_message\n - Bluray AACS support:\t\t\t $BLURAY_AACS_SUPPORT"
config_message="$config_message\n - Kodi DVDCSS support:\t\t\t $KODI_DVDCSS_SUPPORT"
config_message="$config_message\n - Kodi Airplay support:\t\t $KODI_AIRPLAY_SUPPORT"
config_message="$config_message\n - Kodi Airtunes support:\t\t $KODI_AIRTUNES_SUPPORT"
config_message="$config_message\n - Kodi AFP support:\t\t\t $KODI_AFP_SUPPORT"
config_message="$config_message\n - Kodi NFS support:\t\t\t $KODI_NFS_SUPPORT"
config_message="$config_message\n - Kodi MySQL support:\t\t\t $KODI_MYSQL_SUPPORT"
config_message="$config_message\n - Kodi Optical Drive support:\t\t $KODI_OPTICAL_SUPPORT"
@@ -430,6 +430,9 @@ show_config() {
config_message="$config_message\n - Default Skin:\t\t\t $SKIN_DEFAULT"
config_message="$config_message\n - Include extra fonts:\t\t\t $KODI_EXTRA_FONTS"
config_message="$config_message\n - Include RSXS Screensaver:\t\t $KODI_SCR_RSXS"
config_message="$config_message\n - Include ProjectM Visualization:\t $KODI_VIS_PROJECTM"
config_message="$config_message\n - Include Goom Visualization:\t\t $KODI_VIS_GOOM"
config_message="$config_message\n"
config_message="$config_message\n $dashes$dashes$dashes"
@@ -437,5 +440,5 @@ show_config() {
config_message="$config_message\n $dashes$dashes$dashes"
config_message="$config_message\n\n\n"
echo -e "$config_message"
echo -e $config_message
}

View File

@@ -1,3 +1,9 @@
if [ "$DISPLAYSERVER" = "x11" ]; then
SDL_SUPPORT="yes"
else
SDL_SUPPORT="no"
fi
if [ "$OPENGL" = no ]; then
OPENGL_SUPPORT="no"
else
@@ -10,12 +16,26 @@ else
OPENGLES_SUPPORT="yes"
fi
if [ "$SDL_SUPPORT" = no ]; then
JOYSTICK_SUPPORT="no"
fi
if [ "$OPENGL_SUPPORT" = no ]; then
KODI_SCR_RSXS="no"
KODI_VIS_PROJECTM="no"
KODI_VIS_GOOM="no"
fi
get_graphicdrivers() {
if [ "$GRAPHIC_DRIVERS" = "all" ]; then
GRAPHIC_DRIVERS="i915 i965 r200 r300 r600 nvidia"
fi
for drv in $GRAPHIC_DRIVERS; do
if [ "$drv" = "dove" ]; then
XORG_DRIVERS="$XORG_DRIVERS dove"
fi
if [ "$drv" = "i915" ]; then
DRI_DRIVERS="$DRI_DRIVERS,i915"
XORG_DRIVERS="$XORG_DRIVERS intel"
@@ -30,6 +50,16 @@ get_graphicdrivers() {
VAAPI_SUPPORT="yes"
fi
if [ "$drv" = "nouveau" ]; then
# DRI_DRIVERS are only used for NV04 - NV20 (which we dont want to support anymore)
DRI_DRIVERS="$DRI_DRIVERS"
# GALLIUM_DRIVERS are used for all cards from NV30 to nvc0
# see also http://nouveau.freedesktop.org/wiki/MesaDrivers/
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,nouveau"
XORG_DRIVERS="$XORG_DRIVERS nouveau"
COMPOSITE_SUPPORT="yes"
fi
if [ "$drv" = "nvidia" ]; then
XORG_DRIVERS="$XORG_DRIVERS nvidia"
VDPAU_SUPPORT="yes"

View File

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,10 +1,7 @@
{
"name": "@DISTRONAME@_@PROJECT@",
"name": "@DISTRONAME@",
"version": "@OPENELEC_VERSION@",
"release_date": "@RELEASE_DATE@",
"kernel": "@KERNEL_VERSION@",
"description": "@DESCRIPTION@",
"username": "root",
"password": "@ROOT_PASSWORD@",
"supported_hex_revisions": "@NOOBS_HEX@"
"description": "@DESCRIPTION@"
}

View File

@@ -1,20 +1,22 @@
#!/bin/sh -x
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2013 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
MOUNTPOINT="/tmp/OpenELEC-System"
@@ -38,7 +40,7 @@ md5sumCheck() {
)
}
if [ -z $part1 -o -z $part2 -o -z $id1 -o -z $id2 ]; then
if [ -z $part1 -o -z $part2 -o -z $id1 -o -z $id2]; then
echo "error: part1, part2, id1 or id2 not specified"
echo "actual values:"
echo "part1:" $part1

View File

@@ -1,17 +1,17 @@
{
"partitions": [
{
"label": "@DISTRONAME@_@PROJECT@_System",
"label": "System",
"filesystem_type": "FAT",
"partition_size_nominal": 512,
"partition_size_nominal": 160,
"want_maximised": false,
"uncompressed_tarball_size": 120,
"mkfs_options": ""
},
{
"label": "@DISTRONAME@_@PROJECT@_Storage",
"label": "Storage",
"filesystem_type": "ext4",
"partition_size_nominal": 512,
"partition_size_nominal": 864,
"want_maximised": true,
"uncompressed_tarball_size": 10,
"mkfs_options": ""

BIN
config/noobs/slides/A.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

BIN
config/noobs/slides/B.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

BIN
config/noobs/slides/C.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

BIN
config/noobs/slides/D.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

BIN
config/noobs/slides/E.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

View File

@@ -17,10 +17,10 @@ else
PROJECT="$PROJECT"
fi
# determines TARGET_ARCH, if not forced by user (x86_64 / arm)
# default is x86_64
# determines TARGET_ARCH, if not forced by user (i386 / x86_64 / arm)
# default is i386
if [ -z "$ARCH" ]; then
TARGET_ARCH="x86_64"
TARGET_ARCH="i386"
else
TARGET_ARCH="$ARCH"
fi
@@ -52,11 +52,6 @@ LINUX_DEPENDS="$PROJECT_DIR/$PROJECT/linux/linux.$TARGET_ARCH.conf $ROOT/package
# If you have ccache installed, take care that LOCAL_CC don't point to it
LOCAL_CC=`which gcc`
if [ -z "$LOCAL_CC" ] ; then
echo "***** Please install gcc *****"
exit 127
fi
# Need to point to your actual g++
# If you have ccache installed, take care that LOCAL_CXX don't point to it
LOCAL_CXX=`which g++`
@@ -70,9 +65,7 @@ fi
# Concurrency make level (-j option)
# Try value 1 (default) to 4 on single CPU computer, or more on
# multi-processor computer (like hyperthreading SMP CPU)
if test -z "${CONCURRENCY_MAKE_LEVEL}"; then
CONCURRENCY_MAKE_LEVEL=`cat /proc/cpuinfo | grep -c '^processor[[:cntrl:]]*:'`
fi
CONCURRENCY_MAKE_LEVEL=`cat /proc/cpuinfo | grep -c '^processor[[:cntrl:]]*:'`
# cache size for ccache
# Set the maximum size of the files stored in the cache. You can specify a
@@ -81,6 +74,9 @@ fi
# the nearest multiple of 16 kilobytes.
CCACHE_CACHE_SIZE="30G"
# forcing install of all packages (yes/no)
FORCE_INSTALL="no"
# install devtools on development builds
if [ "$OPENELEC_VERSION" = "devel" ]; then
DEVTOOLS=yes
@@ -90,8 +86,8 @@ fi
if [ -f "$HOME/.openelec/options" ]; then
. $HOME/.openelec/options
fi
if [ -f "$HOME/.openelec/projects/$PROJECT/options" ]; then
. $HOME/.openelec/projects/$PROJECT/options
if [ -f "$HOME/.openelec/$PROJECT/options" ]; then
. $HOME/.openelec/$PROJECT/options
fi
# read distro options from $HOME if available
@@ -99,10 +95,5 @@ fi
. $HOME/.openelec/options.$DISTRO
fi
# overwrite OEM_SUPPORT via commandline
if [ "$OEM" = yes -o "$OEM" = no ]; then
OEM_SUPPORT=$OEM
fi
. config/graphic
. config/path $1

View File

@@ -20,14 +20,6 @@ HOST_NAME=`$LOCAL_CC -dumpmachine`
TARGET_NAME=$(echo $TARGET_SUBARCH | sed -e "s,-,,")-openelec-linux-gnu${TARGET_ABI}
BUILD=$BUILD_BASE.$DISTRONAME-$PROJECT.$TARGET_ARCH-$OPENELEC_VERSION
if [ "$OPENELEC_VERSION" = "devel" ] ; then
BUILD=$BUILD_BASE.$DISTRONAME-$PROJECT.$TARGET_ARCH-$OS_VERSION-$OPENELEC_VERSION
fi
if [ -n "$BUILD_SUFFIX" ]; then
BUILD=$BUILD-$BUILD_SUFFIX
fi
TARGET_IMG=$ROOT/$TARGET
TARGET_ADDONS="$TARGET_IMG/$ADDONS/$ADDON_PATH"
ADDON_BUILD="$BUILD/$ADDONS/$1"
@@ -40,7 +32,7 @@ SYSROOT_PREFIX=$ROOT/$TOOLCHAIN/$TARGET_NAME/sysroot
LIB_PREFIX=$SYSROOT_PREFIX/usr
TARGET_PREFIX=$ROOT/$TOOLCHAIN/bin/$TARGET_NAME-
FAKEROOT_SCRIPT=$ROOT/.fakeroot.$BUILD
FAKEROOT_SCRIPT=$ROOT/.fakeroot.$PROJECT.$TARGET_ARCH
if [ -z "$INSTALL" ]; then
INSTALL=$BUILD/image/system
@@ -77,41 +69,7 @@ SED="sed -i"
_FOUND=0
PKG_DIR=""
# check project folder for a package in home dir
for DIR in $(find $HOME/.openelec/projects/$PROJECT/packages -type d -name $_PKG_ROOT_NAME 2>/dev/null); do
if [ -r "$DIR/package.mk" ]; then
# found first, set $PKG_DIR
PKG_DIR="$DIR"
# keep track of dirs with package.mk for detecting multiple folders
_ALL_DIRS="${_ALL_DIRS}${DIR}\\n"
_FOUND=$((_FOUND+1))
if [ $_FOUND -gt 1 ]; then
# _FOUND more ? fail
echo "Error - multiple package folders:"
echo -e "$_ALL_DIRS"
exit 1
fi
fi
done
# check for a package in home dir if not found already
for DIR in $(find $HOME/.openelec/packages -type d -name $_PKG_ROOT_NAME 2>/dev/null); do
if [ -r "$DIR/package.mk" ]; then
# found first, set $PKG_DIR
PKG_DIR="$DIR"
# keep track of dirs with package.mk for detecting multiple folders
_ALL_DIRS="${_ALL_DIRS}${DIR}\\n"
_FOUND=$((_FOUND+1))
if [ $_FOUND -gt 1 ]; then
# _FOUND more ? fail
echo "Error - multiple package folders:"
echo -e "$_ALL_DIRS"
exit 1
fi
fi
done
# check project folder for a package if not found already
# first check project folder for a package
for DIR in $(find $ROOT/projects/$PROJECT/packages -type d -name $_PKG_ROOT_NAME 2>/dev/null); do
if [ -r "$DIR/package.mk" ]; then
# found first, set $PKG_DIR
@@ -165,7 +123,7 @@ XORG_PATH_RGB=/usr/lib/X11/rgb
XORG_PATH_MODULES=/usr/lib/xorg/modules
XORG_PATH_DRIVERS=/usr/lib/xorg/modules/drivers
SSL_CERTIFICATES="/etc/ssl"
SSL_CERTIFICATES="/etc/pki/tls"
TOOLCHAIN_LANGUAGES=c
[ "$TOOLCHAIN_CXX" = yes ] && TOOLCHAIN_LANGUAGES=${TOOLCHAIN_LANGUAGES},c++

View File

@@ -0,0 +1,2 @@
[autorun]
icon=openelec.ico

BIN
config/release/openelec.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

View File

@@ -1,9 +1,9 @@
# VERSION: set full version, use "devel" for development version
OPENELEC_VERSION="6.0.2"
OPENELEC_VERSION="4.95.2"
# OS_VERSION: OS Version
OS_VERSION="6.0"
OS_VERSION="5.0"
# ADDON_VERSION: Addon version
ADDON_VERSION="6.0"
ADDON_VERSION="4.3"

View File

@@ -2,21 +2,18 @@
DISTRONAME="OpenELEC"
# short project description
DESCRIPTION="OpenELEC is a fast and user-friendly Kodi Entertainment Center distribution."
DESCRIPTION="OpenELEC is a fast and userfriendly Kodi Entertainment Center distribution."
# Welcome Message for e.g. SSH Server (up to 5 Lines)
GREETING0="##############################################"
GREETING1="# OpenELEC #"
GREETING2="# http://openelec.tv #"
GREETING1="# OpenELEC - The living room PC for everyone #"
GREETING2="# ...... visit http://www.openelec.tv ...... #"
GREETING3="##############################################"
GREETING4=""
# Root password to integrate in the target system
ROOT_PASSWORD="openelec"
# Install glibc locales to the build (yes / no)
GLIBC_LOCALES="yes"
# Mediacenter to use (kodi / no)
MEDIACENTER="kodi"
@@ -31,6 +28,25 @@
# install extra subtitle Fonts for KODI (yes / no)
KODI_EXTRA_FONTS="yes"
# build and install 'RSXS' Screensaver (yes / no)
KODI_SCR_RSXS="yes"
# build and install 'ProjectM' Visualization (yes / no)
KODI_VIS_PROJECTM="yes"
# build and install 'GOOM' Visualization (yes / no)
KODI_VIS_GOOM="yes"
# build and install 'Waveform' Visualization (yes / no)
KODI_VIS_WAVEFORM="yes"
# build and install 'Spectrum' Visualization (yes / no)
KODI_VIS_SPECTRUM="yes"
# build and install 'FishBMC' Visualization (yes / no)
# does not work on RPi
KODI_VIS_FISHBMC="yes"
# build and install PulseAudio support (yes / no)
PULSEAUDIO_SUPPORT="no"
@@ -60,7 +76,7 @@
# for a list of additinoal drivers see packages/linux-drivers
# Space separated list is supported,
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8192EU RTL8188EU RTL8812AU dvbhdhomerun"
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8188EU RTL8812AU dvbhdhomerun"
# build and install bluetooth support (yes / no)
BLUETOOTH_SUPPORT="yes"
@@ -83,6 +99,11 @@
# build xbmc with optical drive support (yes / no)
KODI_OPTICAL_SUPPORT="yes"
# KODI Audio encoders for usage with optical drive support
# Space separated list is supported,
# e.g. KODI_AUDIOENCODER_ADDONS="ENCODER1 ENCODER2"
KODI_AUDIOENCODER_ADDONS="flac lame vorbis wav"
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
KODI_AIRPLAY_SUPPORT="yes"
@@ -92,6 +113,9 @@
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
KODI_NFS_SUPPORT="yes"
# build with afpfs-ng support (mounting AFP shares with KODI) (yes / no)
KODI_AFP_SUPPORT="no"
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
KODI_SAMBA_SUPPORT="yes"
@@ -107,6 +131,12 @@
# build and install SFTP Server (yes / no)
SFTP_SERVER="yes"
# build and install PPP support (yes / no)
PPTP_SUPPORT="yes"
# build and install OpenVPN support (yes / no)
OPENVPN_SUPPORT="yes"
# build and install diskmounter support (udevil)
# this service provide auto mounting support for external drives in the
# mediacenter also automount internally drives at boottime via udev (yes / no)
@@ -124,10 +154,16 @@
# Windowmanager to use (ratpoison / fluxbox / none)
WINDOWMANAGER="fluxbox"
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia)
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
# Space separated list is supported,
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia"
GRAPHIC_DRIVERS="r300 r600 radeonsi i915 i965 nvidia"
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
if [ "$TARGET_ARCH" = "i386" ]; then
# TODO: create Legacy build with OpenELEC-4.2
# install legacy drivers to i386 ARCH
GRAPHIC_DRIVERS="r200 r300 r600 i915 i965 nvidia-legacy"
elif [ "$TARGET_ARCH" = "x86_64" ]; then
GRAPHIC_DRIVERS="r300 r600 radeonsi i915 i965 nvidia"
fi
# build and install remote support (yes / no)
REMOTE_SUPPORT="yes"
@@ -149,7 +185,7 @@
# LCD driver to Use - Possible drivers are ( Comma seperated:
# bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,dm140,
# ea65,EyeboxOne,g15,glcd,glcdlib,glk,hd44780,i2500vfd,
# ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,
# icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,
# joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,mdm166a,
# ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,
@@ -164,6 +200,11 @@
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
INITRAMFS_PARTED_SUPPORT="no"
# additional Firmware to use (dvb-firmware, misc-firmware, wlan-firmware)
# Space separated list is supported,
# e.g. FIRMWARE="dvb-firmware misc-firmware wlan-firmware"
FIRMWARE="misc-firmware wlan-firmware dvb-firmware"
# build with swap support (yes / no)
SWAP_SUPPORT="no"
@@ -188,6 +229,9 @@
# cron support (yes / no)
CRON_SUPPORT="yes"
# Perf support in development builds (yes / no)
PERF_SUPPORT="yes"
# Distribution Specific source location
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

After

Width:  |  Height:  |  Size: 207 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

After

Width:  |  Height:  |  Size: 439 KiB

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="cxxtools"
PKG_VERSION="2.2.1"
PKG_VERSION="2.2"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL-2"
@@ -48,7 +48,6 @@ post_makeinstall_host() {
}
post_makeinstall_target() {
$SED "s:\(['= ]\)/usr:\\1$SYSROOT_PREFIX/usr:g" $SYSROOT_PREFIX/usr/bin/cxxtools-config
rm -rf $SYSROOT_PREFIX/usr/bin/cxxtools-config
rm -rf $INSTALL/usr/bin
}

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="tntnet"
PKG_VERSION="2.2.1"
PKG_VERSION="2.2"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL-2"
@@ -51,8 +51,6 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-unittest \
--with-stressjob=no"
post_makeinstall_target() {
$SED "s:\(['= ]\)/usr:\\1$SYSROOT_PREFIX/usr:g" $SYSROOT_PREFIX/usr/bin/tntnet-config
rm -rf $INSTALL/usr/bin
rm -rf $INSTALL/usr/share
}

View File

@@ -1,517 +0,0 @@
diff -Naur tntnet-2.2.1/configure tntnet-2.2.1.patch/configure
--- tntnet-2.2.1/configure 2014-01-17 20:11:49.000000000 +0100
+++ tntnet-2.2.1.patch/configure 2016-01-07 06:34:42.002634975 +0100
@@ -16495,7 +16546,7 @@
ac_config_files="$ac_config_files tntnet-config"
-ac_config_files="$ac_config_files Makefile framework/common/Makefile framework/runtime/Makefile framework/defcomp/Makefile sdk/tools/common/Makefile sdk/tools/ecppc/Makefile sdk/tools/ecppl/Makefile sdk/tools/ecppll/Makefile sdk/demos/Makefile sdk/demos/backgroundjob/Makefile sdk/demos/calc/Makefile sdk/demos/calcajax/Makefile sdk/demos/calcapp/Makefile sdk/demos/calcmvc/Makefile sdk/demos/calci18n/Makefile sdk/demos/chat/Makefile sdk/demos/comp/Makefile sdk/demos/config/Makefile sdk/demos/controls/Makefile sdk/demos/cookie/Makefile sdk/demos/hello/Makefile sdk/demos/savepoint/Makefile sdk/demos/session/Makefile sdk/demos/sprintf/Makefile sdk/demos/strings/Makefile sdk/demos/rajax-jquery/Makefile sdk/demos/upload/Makefile utest/Makefile doc/man/Makefile etc/Makefile"
+ac_config_files="$ac_config_files Makefile framework/common/Makefile framework/runtime/Makefile framework/defcomp/Makefile pkgconfig/tntnet.pc pkgconfig/tntnet_sdk.pc sdk/tools/common/Makefile sdk/tools/ecppc/Makefile sdk/tools/ecppl/Makefile sdk/tools/ecppll/Makefile sdk/demos/Makefile sdk/demos/backgroundjob/Makefile sdk/demos/calc/Makefile sdk/demos/calcajax/Makefile sdk/demos/calcapp/Makefile sdk/demos/calcmvc/Makefile sdk/demos/calci18n/Makefile sdk/demos/chat/Makefile sdk/demos/comp/Makefile sdk/demos/config/Makefile sdk/demos/controls/Makefile sdk/demos/cookie/Makefile sdk/demos/hello/Makefile sdk/demos/savepoint/Makefile sdk/demos/session/Makefile sdk/demos/sprintf/Makefile sdk/demos/strings/Makefile sdk/demos/rajax-jquery/Makefile sdk/demos/upload/Makefile utest/Makefile doc/man/Makefile etc/Makefile"
cat >confcache <<\_ACEOF
@@ -17642,6 +17693,8 @@
"framework/common/Makefile") CONFIG_FILES="$CONFIG_FILES framework/common/Makefile" ;;
"framework/runtime/Makefile") CONFIG_FILES="$CONFIG_FILES framework/runtime/Makefile" ;;
"framework/defcomp/Makefile") CONFIG_FILES="$CONFIG_FILES framework/defcomp/Makefile" ;;
+ "pkgconfig/tntnet.pc") CONFIG_FILES="$CONFIG_FILES pkgconfig/tntnet.pc" ;;
+ "pkgconfig/tntnet_sdk.pc") CONFIG_FILES="$CONFIG_FILES pkgconfig/tntnet_sdk.pc" ;;
"sdk/tools/common/Makefile") CONFIG_FILES="$CONFIG_FILES sdk/tools/common/Makefile" ;;
"sdk/tools/ecppc/Makefile") CONFIG_FILES="$CONFIG_FILES sdk/tools/ecppc/Makefile" ;;
"sdk/tools/ecppl/Makefile") CONFIG_FILES="$CONFIG_FILES sdk/tools/ecppl/Makefile" ;;
diff -Naur tntnet-2.2.1/configure.in tntnet-2.2.1.patch/configure.in
--- tntnet-2.2.1/configure.in 2014-01-17 20:11:40.000000000 +0100
+++ tntnet-2.2.1.patch/configure.in 2016-01-07 06:08:14.679087771 +0100
@@ -218,6 +218,8 @@
framework/common/Makefile
framework/runtime/Makefile
framework/defcomp/Makefile
+ pkgconfig/tntnet.pc
+ pkgconfig/tntnet_sdk.pc
sdk/tools/common/Makefile
sdk/tools/ecppc/Makefile
sdk/tools/ecppl/Makefile
diff -Naur tntnet-2.2.1/Makefile.am tntnet-2.2.1.patch/Makefile.am
--- tntnet-2.2.1/Makefile.am 2014-01-17 20:12:20.000000000 +0100
+++ tntnet-2.2.1.patch/Makefile.am 2016-01-07 06:07:03.793973412 +0100
@@ -80,3 +80,9 @@
Releasenotes-2.2.markdown \
Releasenotes-2.2.1.markdown \
$(pkgdata_SCRIPTS)
+
+pkgconfigdir = $(libdir)/pkgconfig/
+
+pkgconfig_DATA = \
+ pkgconfig/tntnet.pc \
+ pkgconfig/tntnet_sdk.pc
diff -Naur tntnet-2.2.1/Makefile.in tntnet-2.2.1.patch/Makefile.in
--- tntnet-2.2.1/Makefile.in 2014-01-17 20:12:26.000000000 +0100
+++ tntnet-2.2.1.patch/Makefile.in 2016-01-07 06:33:05.045478363 +0100
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.12.2 from Makefile.am.
+# Makefile.in generated by automake 1.13.4 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2012 Free Software Foundation, Inc.
+# Copyright (C) 1994-2013 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -14,24 +14,53 @@
@SET_MAKE@
+
VPATH = @srcdir@
-am__make_dryrun = \
- { \
- am__dry=no; \
+am__is_gnu_make = test -n '$(MAKEFILE_LIST)' && test -n '$(MAKELEVEL)'
+am__make_running_with_option = \
+ case $${target_option-} in \
+ ?) ;; \
+ *) echo "am__make_running_with_option: internal error: invalid" \
+ "target option '$${target_option-}' specified" >&2; \
+ exit 1;; \
+ esac; \
+ has_opt=no; \
+ sane_makeflags=$$MAKEFLAGS; \
+ if $(am__is_gnu_make); then \
+ sane_makeflags=$$MFLAGS; \
+ else \
case $$MAKEFLAGS in \
*\\[\ \ ]*) \
- echo 'am--echo: ; @echo "AM" OK' | $(MAKE) -f - 2>/dev/null \
- | grep '^AM OK$$' >/dev/null || am__dry=yes;; \
- *) \
- for am__flg in $$MAKEFLAGS; do \
- case $$am__flg in \
- *=*|--*) ;; \
- *n*) am__dry=yes; break;; \
- esac; \
- done;; \
+ bs=\\; \
+ sane_makeflags=`printf '%s\n' "$$MAKEFLAGS" \
+ | sed "s/$$bs$$bs[$$bs $$bs ]*//g"`;; \
esac; \
- test $$am__dry = yes; \
- }
+ fi; \
+ skip_next=no; \
+ strip_trailopt () \
+ { \
+ flg=`printf '%s\n' "$$flg" | sed "s/$$1.*$$//"`; \
+ }; \
+ for flg in $$sane_makeflags; do \
+ test $$skip_next = yes && { skip_next=no; continue; }; \
+ case $$flg in \
+ *=*|--*) continue;; \
+ -*I) strip_trailopt 'I'; skip_next=yes;; \
+ -*I?*) strip_trailopt 'I';; \
+ -*O) strip_trailopt 'O'; skip_next=yes;; \
+ -*O?*) strip_trailopt 'O';; \
+ -*l) strip_trailopt 'l'; skip_next=yes;; \
+ -*l?*) strip_trailopt 'l';; \
+ -[dEDm]) skip_next=yes;; \
+ -[JT]) skip_next=yes;; \
+ esac; \
+ case $$flg in \
+ *$$target_option*) has_opt=yes; break;; \
+ esac; \
+ done; \
+ test $$has_opt = yes
+am__make_dryrun = (target_option=n; $(am__make_running_with_option))
+am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -52,11 +81,13 @@
host_triplet = @host@
target_triplet = @target@
subdir = .
-DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
- $(srcdir)/Makefile.in $(srcdir)/tntnet-config.in \
- $(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
- TODO config.guess config.sub depcomp install-sh ltmain.sh \
- missing
+DIST_COMMON = INSTALL NEWS README AUTHORS ChangeLog \
+ $(srcdir)/Makefile.in $(srcdir)/Makefile.am \
+ $(top_srcdir)/configure $(am__configure_deps) \
+ $(srcdir)/tntnet-config.in \
+ $(top_srcdir)/pkgconfig/tntnet.pc.in \
+ $(top_srcdir)/pkgconfig/tntnet_sdk.pc.in COPYING TODO \
+ config.guess config.sub depcomp install-sh missing ltmain.sh
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/acx_pthread.m4 \
$(top_srcdir)/m4/ax_check_compile_flag.m4 \
@@ -71,7 +102,8 @@
configure.lineno config.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/framework/common/config.h
-CONFIG_CLEAN_FILES = tntnet-config
+CONFIG_CLEAN_FILES = tntnet-config pkgconfig/tntnet.pc \
+ pkgconfig/tntnet_sdk.pc
CONFIG_CLEAN_VPATH_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
@@ -100,27 +132,62 @@
|| { echo " ( cd '$$dir' && rm -f" $$files ")"; \
$(am__cd) "$$dir" && rm -f $$files; }; \
}
-am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgdatadir)"
+am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgdatadir)" \
+ "$(DESTDIR)$(pkgconfigdir)"
SCRIPTS = $(bin_SCRIPTS) $(pkgdata_SCRIPTS)
+AM_V_P = $(am__v_P_@AM_V@)
+am__v_P_ = $(am__v_P_@AM_DEFAULT_V@)
+am__v_P_0 = false
+am__v_P_1 = :
+AM_V_GEN = $(am__v_GEN_@AM_V@)
+am__v_GEN_ = $(am__v_GEN_@AM_DEFAULT_V@)
+am__v_GEN_0 = @echo " GEN " $@;
+am__v_GEN_1 =
+AM_V_at = $(am__v_at_@AM_V@)
+am__v_at_ = $(am__v_at_@AM_DEFAULT_V@)
+am__v_at_0 = @
+am__v_at_1 =
SOURCES =
DIST_SOURCES =
-RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
- html-recursive info-recursive install-data-recursive \
- install-dvi-recursive install-exec-recursive \
- install-html-recursive install-info-recursive \
- install-pdf-recursive install-ps-recursive install-recursive \
- installcheck-recursive installdirs-recursive pdf-recursive \
- ps-recursive uninstall-recursive
+RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
+ ctags-recursive dvi-recursive html-recursive info-recursive \
+ install-data-recursive install-dvi-recursive \
+ install-exec-recursive install-html-recursive \
+ install-info-recursive install-pdf-recursive \
+ install-ps-recursive install-recursive installcheck-recursive \
+ installdirs-recursive pdf-recursive ps-recursive \
+ tags-recursive uninstall-recursive
am__can_run_installinfo = \
case $$AM_UPDATE_INFO_DIR in \
n|no|NO) false;; \
*) (install-info --version) >/dev/null 2>&1;; \
esac
+DATA = $(pkgconfig_DATA)
RECURSIVE_CLEAN_TARGETS = mostlyclean-recursive clean-recursive \
distclean-recursive maintainer-clean-recursive
-AM_RECURSIVE_TARGETS = $(RECURSIVE_TARGETS:-recursive=) \
- $(RECURSIVE_CLEAN_TARGETS:-recursive=) tags TAGS ctags CTAGS \
+am__recursive_targets = \
+ $(RECURSIVE_TARGETS) \
+ $(RECURSIVE_CLEAN_TARGETS) \
+ $(am__extra_recursive_targets)
+AM_RECURSIVE_TARGETS = $(am__recursive_targets:-recursive=) TAGS CTAGS \
cscope distdir dist dist-all distcheck
+am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
+# Read a list of newline-separated strings from the standard input,
+# and print each of them once, without duplicates. Input order is
+# *not* preserved.
+am__uniquify_input = $(AWK) '\
+ BEGIN { nonempty = 0; } \
+ { items[$$0] = 1; nonempty = 1; } \
+ END { if (nonempty) { for (i in items) print i; }; } \
+'
+# Make sure the list of sources is unique. This is necessary because,
+# e.g., the same source file might be shared among _SOURCES variables
+# for different programs/libraries.
+am__define_uniq_tagged_files = \
+ list='$(am__tagged_files)'; \
+ unique=`for i in $$list; do \
+ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
+ done | $(am__uniquify_input)`
ETAGS = etags
CTAGS = ctags
CSCOPE = cscope
@@ -179,6 +246,7 @@
ACLOCAL = @ACLOCAL@
AMTAR = @AMTAR@
AM_CFLAGS = @AM_CFLAGS@
+AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@
AR = @AR@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
@@ -382,6 +450,11 @@
Releasenotes-2.2.1.markdown \
$(pkgdata_SCRIPTS)
+pkgconfigdir = $(libdir)/pkgconfig/
+pkgconfig_DATA = \
+ pkgconfig/tntnet.pc \
+ pkgconfig/tntnet_sdk.pc
+
all: all-recursive
.SUFFIXES:
@@ -421,6 +494,10 @@
$(am__aclocal_m4_deps):
tntnet-config: $(top_builddir)/config.status $(srcdir)/tntnet-config.in
cd $(top_builddir) && $(SHELL) ./config.status $@
+pkgconfig/tntnet.pc: $(top_builddir)/config.status $(top_srcdir)/pkgconfig/tntnet.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
+pkgconfig/tntnet_sdk.pc: $(top_builddir)/config.status $(top_srcdir)/pkgconfig/tntnet_sdk.pc.in
+ cd $(top_builddir) && $(SHELL) ./config.status $@
install-binSCRIPTS: $(bin_SCRIPTS)
@$(NORMAL_INSTALL)
@list='$(bin_SCRIPTS)'; test -n "$(bindir)" || list=; \
@@ -500,6 +577,27 @@
distclean-libtool:
-rm -f libtool config.lt
+install-pkgconfigDATA: $(pkgconfig_DATA)
+ @$(NORMAL_INSTALL)
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ if test -n "$$list"; then \
+ echo " $(MKDIR_P) '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(MKDIR_P) "$(DESTDIR)$(pkgconfigdir)" || exit 1; \
+ fi; \
+ for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ echo "$$d$$p"; \
+ done | $(am__base_list) | \
+ while read files; do \
+ echo " $(INSTALL_DATA) $$files '$(DESTDIR)$(pkgconfigdir)'"; \
+ $(INSTALL_DATA) $$files "$(DESTDIR)$(pkgconfigdir)" || exit $$?; \
+ done
+
+uninstall-pkgconfigDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgconfig_DATA)'; test -n "$(pkgconfigdir)" || list=; \
+ files=`for p in $$list; do echo $$p; done | sed -e 's|^.*/||'`; \
+ dir='$(DESTDIR)$(pkgconfigdir)'; $(am__uninstall_files_from_dir)
# This directory's subdirectories are mostly independent; you can cd
# into them and run 'make' without going through this Makefile.
@@ -507,14 +605,13 @@
# (1) if the variable is set in 'config.status', edit 'config.status'
# (which will cause the Makefiles to be regenerated when you run 'make');
# (2) otherwise, pass the desired values on the 'make' command line.
-$(RECURSIVE_TARGETS) $(RECURSIVE_CLEAN_TARGETS):
- @fail= failcom='exit 1'; \
- for f in x $$MAKEFLAGS; do \
- case $$f in \
- *=* | --[!k]*);; \
- *k*) failcom='fail=yes';; \
- esac; \
- done; \
+$(am__recursive_targets):
+ @fail=; \
+ if $(am__make_keepgoing); then \
+ failcom='fail=yes'; \
+ else \
+ failcom='exit 1'; \
+ fi; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
case "$@" in \
@@ -535,31 +632,13 @@
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
-tags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
- done
-ctags-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
- done
-cscopelist-recursive:
- list='$(SUBDIRS)'; for subdir in $$list; do \
- test "$$subdir" = . || ($(am__cd) $$subdir && $(MAKE) $(AM_MAKEFLAGS) cscopelist); \
- done
-ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
- mkid -fID $$unique
-tags: TAGS
+ID: $(am__tagged_files)
+ $(am__define_uniq_tagged_files); mkid -fID $$unique
+tags: tags-recursive
+TAGS: tags
-TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
+tags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
set x; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
@@ -575,12 +654,7 @@
set "$$@" "$$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ $(am__define_uniq_tagged_files); \
shift; \
if test -z "$(ETAGS_ARGS)$$*$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
@@ -592,15 +666,11 @@
$$unique; \
fi; \
fi
-ctags: CTAGS
-CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
- $(TAGS_FILES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
- unique=`for i in $$list; do \
- if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
- done | \
- $(AWK) '{ files[$$0] = 1; nonempty = 1; } \
- END { if (nonempty) { for (i in files) print i; }; }'`; \
+ctags: ctags-recursive
+
+CTAGS: ctags
+ctags-am: $(TAGS_DEPENDENCIES) $(am__tagged_files)
+ $(am__define_uniq_tagged_files); \
test -z "$(CTAGS_ARGS)$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$unique
@@ -609,18 +679,16 @@
here=`$(am__cd) $(top_builddir) && pwd` \
&& $(am__cd) $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) "$$here"
-
cscope: cscope.files
test ! -s cscope.files \
|| $(CSCOPE) -b -q $(AM_CSCOPEFLAGS) $(CSCOPEFLAGS) -i cscope.files $(CSCOPE_ARGS)
-
clean-cscope:
-rm -f cscope.files
+cscope.files: clean-cscope cscopelist
+cscopelist: cscopelist-recursive
-cscope.files: clean-cscope cscopelist-recursive cscopelist
-
-cscopelist: cscopelist-recursive $(HEADERS) $(SOURCES) $(LISP)
- list='$(SOURCES) $(HEADERS) $(LISP)'; \
+cscopelist-am: $(am__tagged_files)
+ list='$(am__tagged_files)'; \
case "$(srcdir)" in \
[\\/]* | ?:[\\/]*) sdir="$(srcdir)" ;; \
*) sdir=$(subdir)/$(srcdir) ;; \
@@ -754,9 +822,9 @@
*.zip*) \
unzip $(distdir).zip ;;\
esac
- chmod -R a-w $(distdir); chmod u+w $(distdir)
- mkdir $(distdir)/_build
- mkdir $(distdir)/_inst
+ chmod -R a-w $(distdir)
+ chmod u+w $(distdir)
+ mkdir $(distdir)/_build $(distdir)/_inst
chmod a-w $(distdir)
test -d $(distdir)/_build || exit 0; \
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
@@ -820,10 +888,10 @@
exit 1; } >&2
check-am: all-am
check: check-recursive
-all-am: Makefile $(SCRIPTS)
+all-am: Makefile $(SCRIPTS) $(DATA)
installdirs: installdirs-recursive
installdirs-am:
- for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgdatadir)"; do \
+ for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(pkgdatadir)" "$(DESTDIR)$(pkgconfigdir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
@@ -878,7 +946,7 @@
info-am:
-install-data-am: install-pkgdataSCRIPTS
+install-data-am: install-pkgconfigDATA install-pkgdataSCRIPTS
install-dvi: install-dvi-recursive
@@ -924,30 +992,29 @@
ps-am:
-uninstall-am: uninstall-binSCRIPTS uninstall-pkgdataSCRIPTS
+uninstall-am: uninstall-binSCRIPTS uninstall-pkgconfigDATA \
+ uninstall-pkgdataSCRIPTS
+
+.MAKE: $(am__recursive_targets) install-am install-strip
-.MAKE: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) \
- cscopelist-recursive ctags-recursive install-am install-strip \
- tags-recursive
-
-.PHONY: $(RECURSIVE_CLEAN_TARGETS) $(RECURSIVE_TARGETS) CTAGS GTAGS \
- all all-am am--refresh check check-am clean clean-cscope \
- clean-generic clean-libtool cscope cscopelist \
- cscopelist-recursive ctags ctags-recursive dist dist-all \
- dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ dist-xz \
- dist-zip distcheck distclean distclean-generic \
+.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
+ am--refresh check check-am clean clean-cscope clean-generic \
+ clean-libtool cscope cscopelist-am ctags ctags-am dist \
+ dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
+ dist-xz dist-zip distcheck distclean distclean-generic \
distclean-libtool distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-binSCRIPTS install-data \
install-data-am install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-pdf install-pdf-am \
- install-pkgdataSCRIPTS install-ps install-ps-am install-strip \
- installcheck installcheck-am installdirs installdirs-am \
- maintainer-clean maintainer-clean-generic mostlyclean \
- mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
- tags tags-recursive uninstall uninstall-am \
- uninstall-binSCRIPTS uninstall-pkgdataSCRIPTS
+ install-pkgconfigDATA install-pkgdataSCRIPTS install-ps \
+ install-ps-am install-strip installcheck installcheck-am \
+ installdirs installdirs-am maintainer-clean \
+ maintainer-clean-generic mostlyclean mostlyclean-generic \
+ mostlyclean-libtool pdf pdf-am ps ps-am tags tags-am uninstall \
+ uninstall-am uninstall-binSCRIPTS uninstall-pkgconfigDATA \
+ uninstall-pkgdataSCRIPTS
tntnet-config: tntnet-config.in
diff -Naur tntnet-2.2.1/pkgconfig/tntnet.pc.in tntnet-2.2.1.patch/pkgconfig/tntnet.pc.in
--- tntnet-2.2.1/pkgconfig/tntnet.pc.in 1970-01-01 01:00:00.000000000 +0100
+++ tntnet-2.2.1.patch/pkgconfig/tntnet.pc.in 2016-01-07 06:07:03.794973414 +0100
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: tntnet
+Description: Modular, multithreaded web application library for C++
+Version: @PACKAGE_VERSION@
+Libs: -L${libdir} -ltntnet
+Cflags: -I${includedir}
+Requires.private: cxxtools
diff -Naur tntnet-2.2.1/pkgconfig/tntnet_sdk.pc.in tntnet-2.2.1.patch/pkgconfig/tntnet_sdk.pc.in
--- tntnet-2.2.1/pkgconfig/tntnet_sdk.pc.in 1970-01-01 01:00:00.000000000 +0100
+++ tntnet-2.2.1.patch/pkgconfig/tntnet_sdk.pc.in 2016-01-07 06:07:03.795973416 +0100
@@ -0,0 +1,11 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: tntnet_sdk
+Description: Helper library for ecpp-parsing programs
+Version: @PACKAGE_VERSION@
+Libs: -L${libdir} -ltntnet_sdk
+Cflags: -I${includedir}
+Requires.private: cxxtools

View File

@@ -1,7 +1,3 @@
6.0.0
rebuild for OpenELEC-6.0
4.3.2
allow running scripts from addon settings
4.3.1
rebuild for addon api bump
4.3.0

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,8 +17,8 @@
################################################################################
PKG_NAME="hdhomerun"
PKG_VERSION="6.0"
PKG_REV="0"
PKG_VERSION="4.3"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.silicondust.com/products/hdhomerun/dvbt/"
@@ -31,8 +31,6 @@ PKG_LONGDESC="A linux DVB driver for the HDHomeRun (http://www.silicondust.com).
PKG_AUTORECONF="no"
PKG_IS_ADDON="yes"
PKG_ADDON_TYPE="xbmc.python.script"
PKG_ADDON_PROVIDES=""
PKG_ADDON_REPOVERSION="6.0"
make_target() {
: # nothing to do here

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2013 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -15,3 +15,18 @@
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
import os
import sys
import xbmcaddon
__settings__ = xbmcaddon.Addon(id = 'driver.dvb.hdhomerun')
__cwd__ = __settings__.getAddonInfo('path')
__resources_lib__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'lib'))
__settings_xml__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'settings.xml'))
if __name__ == "__main__" and len(sys.argv) == 2 and sys.argv[1] == 'refresh_tuners':
sys.path.append(__resources_lib__)
from functions import refresh_hdhomerun_tuners
refresh_hdhomerun_tuners(__settings_xml__)
__settings__.openSettings()

View File

@@ -37,39 +37,36 @@ def _usage(this_file):
return """SYNOPSIS: pretty print an XML document
USAGE: python %s <filename> \n""" % this_file
def _pprint_line(indent_level, line, width=100, output=_sys.stdout, ignore_contents = False):
def _pprint_line(indent_level, line, width=100, output=_sys.stdout):
if line.strip():
start = ""
number_chars = 0
for l in range(indent_level):
start = start + " "
number_chars = number_chars + 1
if not ignore_contents:
try:
elem_start = _re.findall("(\<\W{0,1}\w+:\w+) ?", line)[0]
elem_finished = _re.findall("([?|\]\]/|\-\-]*\>)", line)[0]
#should not have *
attrs = _re.findall("(\S*?\=\".*?\")", line)
output.write(start + elem_start)
number_chars = len(start + elem_start)
for attr in attrs:
if (attrs.index(attr) + 1) == len(attrs):
number_chars = number_chars + len(elem_finished)
if (number_chars + len(attr) + 1) > width:
output.write("\n")
for i in range(len(start + elem_start) + 1):
output.write(" ")
number_chars = len(start + elem_start) + 1
else:
try:
elem_start = _re.findall("(\<\W{0,1}\w+:\w+) ?", line)[0]
elem_finished = _re.findall("([?|\]\]/]*\>)", line)[0]
#should not have *
attrs = _re.findall("(\S*?\=\".*?\")", line)
output.write(start + elem_start)
number_chars = len(start + elem_start)
for attr in attrs:
if (attrs.index(attr) + 1) == len(attrs):
number_chars = number_chars + len(elem_finished)
if (number_chars + len(attr) + 1) > width:
output.write("\n")
for i in range(len(start + elem_start) + 1):
output.write(" ")
number_chars = number_chars + 1
output.write(attr)
number_chars = number_chars + len(attr)
output.write(elem_finished + "\n")
except IndexError:
#give up pretty print this line
output.write(start + line + "\n")
else:
number_chars = len(start + elem_start) + 1
else:
output.write(" ")
number_chars = number_chars + 1
output.write(attr)
number_chars = number_chars + len(attr)
output.write(elem_finished + "\n")
except IndexError:
#give up pretty print this line
output.write(start + line + "\n")
@@ -83,8 +80,7 @@ def _get_next_elem(data):
start_pos = data.find("<")
end_pos = data.find(">") + 1
retval = data[start_pos:end_pos]
stopper = retval.rfind("/")
ignore_contents = False
stopper = retval.rfind("/")
if stopper < retval.rfind("\""):
stopper = -1
single = (stopper > -1 and ((retval.find(">") - stopper) < (stopper - retval.find("<"))))
@@ -93,19 +89,11 @@ def _get_next_elem(data):
ignore_question = retval.find("<?") > -1
if ignore_excl:
ignore_contents = True
cdata = retval.find("<![CDATA[") > -1
if cdata:
end_pos = data.find("]]>")
if end_pos > -1:
end_pos = end_pos + len("]]>")
stopper = end_pos
else:
end_pos = data.find("-->")
if end_pos > -1:
end_pos = end_pos + len("-->")
stopper = end_pos
retval = data[start_pos:end_pos]
elif ignore_question:
end_pos = data.find("?>") + len("?>")
@@ -113,12 +101,11 @@ def _get_next_elem(data):
no_indent = ignore or single
#print retval, end_pos, start_pos, stopper > -1, no_indent
return start_pos, \
end_pos, \
stopper > -1, \
no_indent, \
ignore_contents
no_indent
def get_pprint(xml, indent=4, width=80):
"""Returns the pretty printed xml """
@@ -129,8 +116,6 @@ def get_pprint(xml, indent=4, width=80):
self.output += string
out = out()
pprint(xml, output=out, indent=indent, width=width)
return out.output
@@ -141,7 +126,7 @@ def pprint(xml, output=_sys.stdout, indent=4, width=80):
Use indent to select indentation level. Default is 4 """
data = xml
indent_level = 0
start_pos, end_pos, is_stop, no_indent, ignore_contents = _get_next_elem(data)
start_pos, end_pos, is_stop, no_indent = _get_next_elem(data)
while ((start_pos > -1 and end_pos > -1)):
_pprint_elem_content(indent_level, data[:start_pos].strip(),
output=output)
@@ -151,8 +136,7 @@ def pprint(xml, output=_sys.stdout, indent=4, width=80):
_pprint_line(indent_level,
data[:end_pos - start_pos],
width=width,
output=output,
ignore_contents=ignore_contents)
output=output)
data = data[end_pos - start_pos:]
if not is_stop and not no_indent :
indent_level = indent_level + indent
@@ -160,7 +144,7 @@ def pprint(xml, output=_sys.stdout, indent=4, width=80):
if not data:
break
else:
start_pos, end_pos, is_stop, no_indent, ignore_contents = _get_next_elem(data)
start_pos, end_pos, is_stop, no_indent = _get_next_elem(data)
if __name__ == "__main__":

View File

@@ -11,6 +11,6 @@
<category label="9000">
<setting type="sep" />
<setting id="ENABLE_TUNER_TYPES" type="bool" label="9005" default="true" />
<setting label="9010" option="close" type="action" id="refresh_tuners" action="RunScript($CWD/resources/actions.py, refresh_tuners)" />
<setting label="9010" option="close" type="action" action="RunScript($ID, refresh_tuners)" />
</category>
</settings>

View File

@@ -1,24 +1,13 @@
6.0.0
rebuild for OpenELEC-6.0
4.3.1
fix keymaps path
4.3.0
rebuild for addon api bump
4.1.0
rebuild for addon api bump
4.0.1
rebuild
4.0.0
rebuild for OpenELEC-4.0
3.1.1
rebuild for OpenELEC-3.2
3.0.1
- bump addon version

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,7 +17,7 @@
################################################################################
PKG_NAME="imon-mce"
PKG_VERSION="6.0"
PKG_VERSION="4.3"
PKG_REV="0"
PKG_ARCH="any"
PKG_LICENSE="OSS"
@@ -31,8 +31,6 @@ PKG_LONGDESC="imon-mce is a driver to add support for MCE remotes to the imon dr
PKG_IS_ADDON="yes"
PKG_ADDON_TYPE="xbmc.service"
PKG_ADDON_PROVIDES=""
PKG_ADDON_REPOVERSION="6.0"
PKG_AUTORECONF="no"

View File

@@ -21,4 +21,4 @@
. /etc/profile
sleep 1 && \
ir-keytable -p rc6 -w /usr/lib/udev/rc_keymaps/imon_mce &
ir-keytable -p rc6 -w /etc/rc_keymaps/imon_mce &

View File

@@ -1,10 +1,6 @@
6.0.1
update driver for new devices support
6.0.0
rebuild for OpenELEC-6.0
4.3.4
fixed xbmc/kodi rebranding error
some fixes
removed driver update option (can't run script from addon settings anymore)
4.3.3
addon transformed to service addon
new addon settings option to enable to check for new driver at boot

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,8 +17,8 @@
################################################################################
PKG_NAME="sundtek-mediatv"
PKG_VERSION="6.0"
PKG_REV="1"
PKG_VERSION="4.3"
PKG_REV="4"
PKG_ARCH="any"
PKG_LICENSE="nonfree"
PKG_SITE="http://support.sundtek.com/"
@@ -30,15 +30,16 @@ PKG_SHORTDESC="Sundtek USB Stick DVB userspace driver"
PKG_LONGDESC="Driver for Sundtek MediaTV Pro (DVB-C, DVB-T, AnalogTV, Composite, S-Video, FM-Radio USB Stick) and Sundtek SkyTV Ultimate (DVB-S/S2 USB)."
PKG_IS_ADDON="yes"
PKG_ADDON_TYPE="xbmc.service"
PKG_ADDON_PROVIDES=""
PKG_AUTORECONF="no"
PKG_ADDON_REPOVERSION="6.0"
make_target() {
mkdir -p $ROOT/$PKG_BUILD
cd $ROOT/$PKG_BUILD
case $TARGET_ARCH in
i386)
INSTALLER_URL="http://sundtek.de/media/netinst/32bit/installer.tar.gz"
;;
x86_64)
INSTALLER_URL="http://sundtek.de/media/netinst/64bit/installer.tar.gz"
;;
@@ -46,17 +47,10 @@ make_target() {
INSTALLER_URL="http://sundtek.de/media/netinst/armsysvhf/installer.tar.gz"
;;
esac
wget -O installer.tar.gz $INSTALLER_URL
tar -xzf installer.tar.gz
chmod -R 755 opt/ etc/
rm -f opt/bin/getinput.sh
rm -f opt/bin/lirc.sh
rm -fr opt/lib/pm/
wget -O version.used http://sundtek.de/media/latest.phtml
}

View File

@@ -2,7 +2,7 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2013 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -78,7 +78,7 @@ if [ "$CHECK_BOOT" = "true" ]; then
version_latest=$(cat version.latest)
if [ "$version_used" != "$version_latest" ]; then
# new version exist
kodi-send -a "Notification(Sundtek, \"New driver version exist, update manually\", 4000, $SUNDTEK_ADDON_DIR/icon.png)"
kodi-send -a "Notification(Sundtek, \"New driver version exist, update manually\", 7000, $SUNDTEK_ADDON_DIR/icon.png)"
fi
)&
fi

View File

@@ -2,7 +2,7 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2013 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@@ -24,35 +24,18 @@ SUNDTEK_ADDON_DIR="$HOME/.kodi/addons/driver.dvb.sundtek-mediatv"
SUNDTEK_ADDON_HOME="$HOME/.kodi/userdata/addon_data/driver.dvb.sundtek-mediatv"
SUNDTEK_ADDON_SETTINGS="$SUNDTEK_ADDON_HOME/settings.xml"
trap_exit_install() {
kodi-send -a "Notification(Sundtek, Something went wrong. Cleaning..., 8000, $SUNDTEK_ADDON_DIR/icon.png)"
cd "$SUNDTEK_ADDON_DIR"
rm -fr tmp
exit 5
}
# kill process
systemctl stop driver.dvb.sundtek-mediatv
killall -9 mediaclient &>/dev/null
killall -9 mediasrv &>/dev/null
# exit on errors
set -e
trap trap_exit_install EXIT
logger -t Sundtek "### Starting updating driver ###"
kodi-send -a "Notification(Sundtek, Starting updating driver, 2000, $SUNDTEK_ADDON_DIR/icon.png)"
cd "$SUNDTEK_ADDON_DIR"
rm -fr tmp
mkdir tmp
cd tmp
logger -t Sundtek "### Starting updating driver ###"
kodi-send -a "Notification(Sundtek, Starting updating driver, 2000, $SUNDTEK_ADDON_DIR/icon.png)"
wget -O ../version.used http://sundtek.de/media/latest.phtml
if [ $? -ne 0 ]; then
logger -t Sundtek "### Can't get latest version ###"
kodi-send -a "Notification(Sundtek, Cant get latest version, 8000, $SUNDTEK_ADDON_DIR/icon.png)"
kodi-send -a "Notification(Sundtek, Can't get latest version, 8000, $SUNDTEK_ADDON_DIR/icon.png)"
cd ..
rm -fr tmp/
exit 1
@@ -61,6 +44,8 @@ fi
ARCH=$(sed -n 's|.*\.\([^-]*\)-.*|\1|p' /etc/release | tr -d '\n')
if [ "$ARCH" = "x86_64" ]; then
INSTALLER_URL="http://sundtek.de/media/netinst/64bit/installer.tar.gz"
elif [ "$ARCH" = "i386" ]; then
INSTALLER_URL="http://sundtek.de/media/netinst/32bit/installer.tar.gz"
elif [ "$ARCH" = "arm" ]; then
INSTALLER_URL="http://sundtek.de/media/netinst/armsysvhf/installer.tar.gz"
else
@@ -81,7 +66,6 @@ if [ $? -ne 0 ]; then
rm -fr tmp/
exit 3
fi
logger -t Sundtek "### Extracting archive ###"
kodi-send -a "Notification(Sundtek, Extracting archive, 2000, $SUNDTEK_ADDON_DIR/icon.png)"
tar -xzf installer.tar.gz
@@ -93,12 +77,12 @@ if [ $? -ne 0 ]; then
exit 4
fi
# fix permissions
chmod -R 755 opt/ etc/
rm -f opt/bin/getinput.sh
rm -f opt/bin/lirc.sh
rm -fr opt/lib/pm/
killall -9 mediaclient &>/dev/null
killall -9 mediasrv &>/dev/null
chmod 755 opt/bin/*
cp -Pa opt/bin/* ../bin/
cp -Pa opt/lib/* ../lib/
@@ -109,9 +93,4 @@ rm -fr tmp
logger -t Sundtek "### Driver update finished ###"
kodi-send -a "Notification(Sundtek, Driver update finished, 5000, $SUNDTEK_ADDON_DIR/icon.png)"
kodi-send -a "Notification(Sundtek, Please reboot, 5000, $SUNDTEK_ADDON_DIR/icon.png)"
trap - EXIT
systemctl start driver.dvb.sundtek-mediatv
exit 0

View File

@@ -2,7 +2,7 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2013 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@@ -15,3 +15,29 @@
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
import os
import sys
import subprocess
import xbmcaddon
__settings__ = xbmcaddon.Addon(id = 'driver.dvb.sundtek-mediatv')
__cwd__ = __settings__.getAddonInfo('path')
__resources_lib__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'lib'))
__settings_xml__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'settings.xml'))
__mediaclient__ = xbmc.translatePath(os.path.join(__cwd__, 'bin', 'mediaclient'))
__mediaclient_e__ = __mediaclient__ + ' -e'
__update_sh__ = xbmc.translatePath(os.path.join(__cwd__, 'bin', 'sundtek-update-driver.sh'))
if __name__ == "__main__" and len(sys.argv) == 2:
if sys.argv[1] == 'refresh_tuners':
sys.path.append(__resources_lib__)
from functions import refresh_sundtek_tuners
refresh_sundtek_tuners(__settings_xml__, __mediaclient_e__)
__settings__.openSettings()
elif sys.argv[1] == 'update_driver':
proc = subprocess.Popen([__update_sh__], shell = True)
return_code = proc.wait()
print "sundtek update driver return value" + str(return_code)
__settings__.openSettings()

View File

@@ -1,45 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
import os
import sys
import subprocess
import xbmcaddon
__settings__ = xbmcaddon.Addon(id = 'driver.dvb.sundtek-mediatv')
__cwd__ = __settings__.getAddonInfo('path')
__resources_lib__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'lib'))
__settings_xml__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'settings.xml'))
__mediaclient__ = xbmc.translatePath(os.path.join(__cwd__, 'bin', 'mediaclient'))
__mediaclient_e__ = __mediaclient__ + ' -e'
__update_sh__ = xbmc.translatePath(os.path.join(__cwd__, 'bin', 'sundtek-update-driver.sh'))
if len(sys.argv) == 2:
if sys.argv[1] == 'refresh_tuners':
print "sundtek refresh tuners"
sys.path.append(__resources_lib__)
from functions import refresh_sundtek_tuners
refresh_sundtek_tuners(__settings_xml__, __mediaclient_e__)
__settings__.openSettings()
elif sys.argv[1] == 'update_driver':
print "sundtek update driver"
proc = subprocess.Popen([__update_sh__], shell = True)
return_code = proc.wait()
print "sundtek update driver return value " + str(return_code)
__settings__.openSettings()

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2013 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by

View File

@@ -37,39 +37,36 @@ def _usage(this_file):
return """SYNOPSIS: pretty print an XML document
USAGE: python %s <filename> \n""" % this_file
def _pprint_line(indent_level, line, width=100, output=_sys.stdout, ignore_contents = False):
def _pprint_line(indent_level, line, width=100, output=_sys.stdout):
if line.strip():
start = ""
number_chars = 0
for l in range(indent_level):
start = start + " "
number_chars = number_chars + 1
if not ignore_contents:
try:
elem_start = _re.findall("(\<\W{0,1}\w+:\w+) ?", line)[0]
elem_finished = _re.findall("([?|\]\]/|\-\-]*\>)", line)[0]
#should not have *
attrs = _re.findall("(\S*?\=\".*?\")", line)
output.write(start + elem_start)
number_chars = len(start + elem_start)
for attr in attrs:
if (attrs.index(attr) + 1) == len(attrs):
number_chars = number_chars + len(elem_finished)
if (number_chars + len(attr) + 1) > width:
output.write("\n")
for i in range(len(start + elem_start) + 1):
output.write(" ")
number_chars = len(start + elem_start) + 1
else:
try:
elem_start = _re.findall("(\<\W{0,1}\w+:\w+) ?", line)[0]
elem_finished = _re.findall("([?|\]\]/]*\>)", line)[0]
#should not have *
attrs = _re.findall("(\S*?\=\".*?\")", line)
output.write(start + elem_start)
number_chars = len(start + elem_start)
for attr in attrs:
if (attrs.index(attr) + 1) == len(attrs):
number_chars = number_chars + len(elem_finished)
if (number_chars + len(attr) + 1) > width:
output.write("\n")
for i in range(len(start + elem_start) + 1):
output.write(" ")
number_chars = number_chars + 1
output.write(attr)
number_chars = number_chars + len(attr)
output.write(elem_finished + "\n")
except IndexError:
#give up pretty print this line
output.write(start + line + "\n")
else:
number_chars = len(start + elem_start) + 1
else:
output.write(" ")
number_chars = number_chars + 1
output.write(attr)
number_chars = number_chars + len(attr)
output.write(elem_finished + "\n")
except IndexError:
#give up pretty print this line
output.write(start + line + "\n")
@@ -83,8 +80,7 @@ def _get_next_elem(data):
start_pos = data.find("<")
end_pos = data.find(">") + 1
retval = data[start_pos:end_pos]
stopper = retval.rfind("/")
ignore_contents = False
stopper = retval.rfind("/")
if stopper < retval.rfind("\""):
stopper = -1
single = (stopper > -1 and ((retval.find(">") - stopper) < (stopper - retval.find("<"))))
@@ -93,19 +89,11 @@ def _get_next_elem(data):
ignore_question = retval.find("<?") > -1
if ignore_excl:
ignore_contents = True
cdata = retval.find("<![CDATA[") > -1
if cdata:
end_pos = data.find("]]>")
if end_pos > -1:
end_pos = end_pos + len("]]>")
stopper = end_pos
else:
end_pos = data.find("-->")
if end_pos > -1:
end_pos = end_pos + len("-->")
stopper = end_pos
retval = data[start_pos:end_pos]
elif ignore_question:
end_pos = data.find("?>") + len("?>")
@@ -113,12 +101,11 @@ def _get_next_elem(data):
no_indent = ignore or single
#print retval, end_pos, start_pos, stopper > -1, no_indent
return start_pos, \
end_pos, \
stopper > -1, \
no_indent, \
ignore_contents
no_indent
def get_pprint(xml, indent=4, width=80):
"""Returns the pretty printed xml """
@@ -129,8 +116,6 @@ def get_pprint(xml, indent=4, width=80):
self.output += string
out = out()
pprint(xml, output=out, indent=indent, width=width)
return out.output
@@ -141,7 +126,7 @@ def pprint(xml, output=_sys.stdout, indent=4, width=80):
Use indent to select indentation level. Default is 4 """
data = xml
indent_level = 0
start_pos, end_pos, is_stop, no_indent, ignore_contents = _get_next_elem(data)
start_pos, end_pos, is_stop, no_indent = _get_next_elem(data)
while ((start_pos > -1 and end_pos > -1)):
_pprint_elem_content(indent_level, data[:start_pos].strip(),
output=output)
@@ -151,8 +136,7 @@ def pprint(xml, output=_sys.stdout, indent=4, width=80):
_pprint_line(indent_level,
data[:end_pos - start_pos],
width=width,
output=output,
ignore_contents=ignore_contents)
output=output)
data = data[end_pos - start_pos:]
if not is_stop and not no_indent :
indent_level = indent_level + indent
@@ -160,7 +144,7 @@ def pprint(xml, output=_sys.stdout, indent=4, width=80):
if not data:
break
else:
start_pos, end_pos, is_stop, no_indent, ignore_contents = _get_next_elem(data)
start_pos, end_pos, is_stop, no_indent = _get_next_elem(data)
if __name__ == "__main__":

View File

@@ -27,11 +27,13 @@
<category label="9000">
<setting type="sep" />
<setting id="ENABLE_TUNER_TYPES" type="bool" label="9005" default="true" />
<setting label="9010" option="close" type="action" id="refresh_tuners" action="RunScript($CWD/resources/actions.py, refresh_tuners)" />
<setting label="9010" option="close" type="action" action="RunScript($ID, refresh_tuners)" />
</category>
<!--
<category label="3000">
<setting type="sep" />
<setting id="CHECK_BOOT" type="bool" label="3020" default="false" />
<setting label="3010" option="close" type="action" id="update_driver" action="RunScript($CWD/resources/actions.py, update_driver)" />
<setting label="3010" option="close" type="action" action="RunScript($ID, update_driver)" />
</category>
-->
</settings>

View File

@@ -1,24 +1,26 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# This Program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# This Program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
# along with OpenELEC.tv; see the file COPYING. If not, write to
# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA.
# http://www.gnu.org/copyleft/gpl.html
################################################################################
PKG_NAME="repository.unofficial.addon.pro"
PKG_VERSION="6.0"
PKG_REV="2"
PKG_VERSION="4.3.3"
PKG_REV="0"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://unofficial.addon.pro"
@@ -31,17 +33,16 @@ PKG_LONGDESC="Unfficial OpenELEC.tv Add-on Repository"
PKG_IS_ADDON="yes"
PKG_ADDON_TYPE="xbmc.addon.repository"
PKG_ADDON_PROVIDES=""
PKG_AUTORECONF="no"
PKG_MAINTAINER="unofficial.addon.pro"
make_target() {
$SED -e "s|@PROJECT@|$PROJECT|g" \
$SED -e "s|@ADDON_VERSION@|$ADDON_VERSION|g" \
-e "s|@PROJECT@|$PROJECT|g" \
-e "s|@ARCH@|$TARGET_ARCH|g" \
-e "s|@PKG_VERSION@|$PKG_VERSION|g" \
-e "s|@PKG_REV@|$PKG_REV|g"\
-i addon.xml
}

View File

@@ -1,20 +1,23 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="repository.unofficial.addon.pro"
name="[COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR] Add-ons (unofficial)"
version="@PKG_VERSION@.@PKG_REV@"
provider-name="OpenELEC Community">
name="Unofficial [COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR] (@PROJECT@/@ARCH@) Add-ons"
version="@PKG_VERSION@"
provider-name="unofficial.addon.pro">
<extension point="xbmc.addon.repository"
name="OpenELEC Add-ons (unofficial)">
<dir minversion="15.0.0">
<info>http://unofficial.addon.pro/addons/6.0/@PROJECT@/@ARCH@/addons.xml</info>
<checksum>http://unofficial.addon.pro/addons/6.0/@PROJECT@/@ARCH@/addons.xml.md5</checksum>
<datadir zip="true">http://unofficial.addon.pro/addons/6.0/@PROJECT@/@ARCH@</datadir>
</dir>
name="Unofficial OpenELEC.tv Add-on Repository">
<info>http://unofficial.addon.pro/addons/@ADDON_VERSION@/@PROJECT@/@ARCH@/addons.xml</info>
<checksum>http://unofficial.addon.pro/addons/@ADDON_VERSION@/@PROJECT@/@ARCH@/addons.xml.md5</checksum>
<datadir zip="true">http://unofficial.addon.pro/addons/@ADDON_VERSION@/@PROJECT@/@ARCH@</datadir>
</extension>
<extension point="xbmc.addon.metadata">
<summary>OpenELEC Add-ons (unofficial)</summary>
<description>The OpenELEC unofficial repository contains add-ons from the community. These add-ons are not supported by OpenELEC staff. If you find a broken add-on please check the OpenELEC or Kodi forums for community support threads and ask the add-on author to submit fixes via GitHub.</description>
<disclaimer>Add-ons in this repository are not maintained or supported by OpenELEC staff.</disclaimer>
<summary>Unofficial addon repository for OpenELEC</summary>
<description>
[COLOR red]=== BIG FAT WARNING ===[/COLOR]
Use this repository at your own risk.
If your house gets burned, it's your fault, not ours.
We give no guarantee. We give no support.
</description>
<disclaimer>This is an unofficial addon repository. please don't ask for support in openelec forum / irc channel</disclaimer>
<platform>all</platform>
</extension>
</addon>

View File

@@ -1,9 +1,3 @@
6.0.1
- update repo minversion for kodi 15
6.0.0
- rebuild for OpenELEC-6.0
4.3.3
- rebuild

View File

@@ -1,50 +0,0 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="script.config.vdr"
PKG_VERSION="1.0.8"
PKG_REV="0"
PKG_ARCH="any"
PKG_LICENSE="OSS"
PKG_SITE="http://www.openelec.tv"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET=""
PKG_PRIORITY="optional"
PKG_SECTION=""
PKG_SHORTDESC="script.config.vdr"
PKG_LONGDESC="script.config.vdr"
PKG_IS_ADDON="yes"
PKG_ADDON_TYPE="dummy"
PKG_ADDON_PROVIDES=""
PKG_ADDON_REPOVERSION="6.0"
PKG_AUTORECONF="no"
make_target() {
: # nothing to do here
}
makeinstall_target() {
: # nothing to do here
}
addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID
cp -PR $PKG_BUILD/* $ADDON_BUILD/$PKG_ADDON_ID
}

View File

@@ -1,9 +1,3 @@
6.0.0
- rebuild for OpenELEC-6.0
4.3.5
- added boblight-aml
4.3.4
- update to kodi

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -18,7 +18,7 @@
PKG_NAME="boblightd"
PKG_VERSION="478"
PKG_REV="0"
PKG_REV="4"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://code.google.com/p/boblight"
@@ -31,8 +31,6 @@ PKG_LONGDESC="Boblight's main purpose is to create light effects from an externa
PKG_IS_ADDON="yes"
PKG_ADDON_TYPE="xbmc.service"
PKG_ADDON_PROVIDES=""
PKG_ADDON_REPOVERSION="6.0"
PKG_AUTORECONF="yes"
@@ -41,7 +39,7 @@ if [ "$DISPLAYSERVER" = "x11" ] ; then
fi
if [ "$OPENGL_SUPPORT" = "yes" ] ; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET mesa glu"
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET Mesa glu"
fi
if [ "$OPENGL" = "no" ]; then
@@ -65,7 +63,6 @@ addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
cp -P $PKG_BUILD/.$TARGET_NAME/src/boblightd $ADDON_BUILD/$PKG_ADDON_ID/bin
cp -P $PKG_BUILD/.$TARGET_NAME/src/boblight-constant $ADDON_BUILD/$PKG_ADDON_ID/bin
cp -P $PKG_BUILD/.$TARGET_NAME/src/boblight-aml $ADDON_BUILD/$PKG_ADDON_ID/bin
if [ "$DISPLAYSERVER" = "x11" ] ; then
cp -P $PKG_BUILD/.$TARGET_NAME/src/boblight-X11 $ADDON_BUILD/$PKG_ADDON_ID/bin
fi

View File

@@ -1,632 +0,0 @@
diff --git a/src/Makefile.am b/src/Makefile.am
index 9ba5381..c5a4dc6 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -7,6 +7,7 @@ AM_CFLAGS =\
-g
bin_PROGRAMS = boblightd \
+ boblight-aml \
boblight-constant
@@ -19,6 +20,11 @@ endif
endif
+boblight_aml_SOURCES = clients/boblight-aml/boblight-aml.cpp
+boblight_aml_SOURCES += clients/boblight-aml/flagmanager-aml.cpp
+boblight_aml_SOURCES += clients/flagmanager.cpp
+boblight_aml_SOURCES += util/misc.cpp
+
boblight_v4l_SOURCES = \
clients/boblight-v4l/boblight-v4l.cpp \
clients/boblight-v4l/flagmanager-v4l.cpp \
diff -urPp src/clients/boblight-aml.cpp src/clients/boblight-aml/boblight-aml.cpp
--- /dev/null Thu Jan 1 00:00:00 1970
+++ b/src/clients/boblight-aml/boblight-aml.cpp Thu Jan 15 10:24:16 2015
@@ -0,0 +1,491 @@
+/*
+ * boblight
+ * Copyright (C) Bob 2009
+ *
+ * boblight is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * boblight is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#define BOBLIGHT_DLOPEN
+#include "lib/boblight.h"
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+#include <signal.h>
+#include <algorithm>
+
+#include <fcntl.h>
+#include <errno.h>
+#include <sys/stat.h>
+#include <sys/poll.h>
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/ioctl.h>
+
+#include "config.h"
+#include "util/misc.h"
+#include "util/timeutils.h"
+#include "flagmanager-aml.h"
+
+using namespace std;
+
+//from linux/amlogic/amports/amvideocap.h
+#define AMVIDEOCAP_IOC_MAGIC 'V'
+#define AMVIDEOCAP_IOW_SET_WANTFRAME_WIDTH _IOW(AMVIDEOCAP_IOC_MAGIC, 0x02, int)
+#define AMVIDEOCAP_IOW_SET_WANTFRAME_HEIGHT _IOW(AMVIDEOCAP_IOC_MAGIC, 0x03, int)
+
+
+// helper class - tries to load the "movie" settings from the script.xbmc.boblight addon
+// and pass them to the boblight-aml client
+class CBoblightAddonSettings
+{
+ public:
+ CBoblightAddonSettings() : m_bobdisable(false), m_settingsLoaded(false)
+ {
+ m_settingsLoaded = loadBoblightAddonSettings();
+ }
+
+ std::string getBoblightClientCmdLine()
+ {
+ std::string cmdLine = "";
+ //convert bool string to lowercase
+ transform(m_interpolation.begin(), m_interpolation.end(), m_interpolation.begin(), ::tolower);
+
+ cmdLine += "-s " + m_ip + ":" + m_port;
+ cmdLine += " -o autospeed=" + m_autospeed;
+ cmdLine += " -o interpolation=" + m_interpolation;
+ cmdLine += " -o saturation=" + m_saturation;
+ cmdLine += " -o speed=" + m_speed;
+ cmdLine += " -o threshold=" + m_threshold;
+ cmdLine += " -o value=" + m_value;
+ return cmdLine;
+ }
+
+ bool m_bobdisable;
+ bool m_settingsLoaded;
+ std::string m_ip;
+ std::string m_port;
+ std::string m_autospeed;
+ std::string m_interpolation;
+ std::string m_saturation;
+ std::string m_speed;
+ std::string m_threshold;
+ std::string m_value;
+
+ private:
+ #define SETTINGS_ATTR_BOBDISABLE "bobdisable"
+ #define SETTINGS_ATTR_IP "hostip"
+ #define SETTINGS_ATTR_PORT "hostport"
+ #define SETTINGS_ATTR_AUTOSPEED "movie_autospeed"
+ #define SETTINGS_ATTR_INTERPOLATION "movie_interpolation"
+ #define SETTINGS_ATTR_SATURATION "movie_saturation"
+ #define SETTINGS_ATTR_SPEED "movie_speed"
+ #define SETTINGS_ATTR_THRESHOLD "movie_threshold"
+ #define SETTINGS_ATTR_VALUE "movie_value"
+ #define KODI_HOME_ENV_VAR "HOME"
+
+ bool loadBoblightAddonSettings()
+ {
+ bool ret = false;
+ char *kodiHome = getenv(KODI_HOME_ENV_VAR);
+ //fallback to custom settings file in case boblight addon is not installed
+ std::string settingsFile = "/storage/boblight-aml.xml";
+
+ if (kodiHome != NULL)
+ {
+ settingsFile = std::string(kodiHome) + "/.kodi/userdata/addon_data/script.xbmc.boblight/settings.xml";
+ }
+
+ FILE *fd = fopen(settingsFile.c_str(), "r");
+
+ if (fd != NULL)
+ {
+ fseek(fd, 0, SEEK_END);
+ size_t fileSize = ftell(fd);
+ fseek(fd, 0, SEEK_SET);
+ if (fileSize > 0)
+ {
+ if (fileSize > 32000)//read 16k max - there shouldn't be a bigger settings.xml from boblight [tm]
+ fileSize = 32000;
+ char *xmlBuffer = new char[fileSize];
+ size_t readCount = fread(xmlBuffer, fileSize, 1, fd);
+ fclose(fd);
+
+ if (readCount == 1)
+ {
+ parseBoblightSettings(std::string(xmlBuffer));
+ ret = true;
+ }
+ else
+ {
+ fprintf(stderr, "Failed reading boblight addon settings.xml");
+ }
+ delete[] xmlBuffer;
+ }
+ }
+ return ret;
+ }
+
+ void parseBoblightSettings(std::string xmlBuffer)
+ {
+ std::string settings_bobdisable_str;
+ settings_bobdisable_str = getValueFromXmlBuffer(xmlBuffer, SETTINGS_ATTR_BOBDISABLE);
+ if (settings_bobdisable_str == "true" || settings_bobdisable_str == "True")
+ m_bobdisable = true;
+
+ m_ip = getValueFromXmlBuffer(xmlBuffer, SETTINGS_ATTR_IP);
+ m_port = getValueFromXmlBuffer(xmlBuffer, SETTINGS_ATTR_PORT);
+ m_autospeed = getValueFromXmlBuffer(xmlBuffer, SETTINGS_ATTR_AUTOSPEED);
+ m_interpolation = getValueFromXmlBuffer(xmlBuffer, SETTINGS_ATTR_INTERPOLATION);
+ m_saturation = getValueFromXmlBuffer(xmlBuffer, SETTINGS_ATTR_SATURATION);
+ m_speed = getValueFromXmlBuffer(xmlBuffer, SETTINGS_ATTR_SPEED);
+ m_threshold = getValueFromXmlBuffer(xmlBuffer, SETTINGS_ATTR_THRESHOLD);
+ m_value = getValueFromXmlBuffer(xmlBuffer, SETTINGS_ATTR_VALUE);
+ }
+
+ std::string getValueFromXmlBuffer(const std::string &xmlBuffer, const char* xmlAttribute)
+ {
+ size_t strPos = 0;
+ std::string valueStr;
+
+ // each line in the xml looks like this:
+ // <setting id="movie_value" value="1.000006" />
+ // find the attribute
+ if ((strPos = xmlBuffer.find(xmlAttribute)) != std::string::npos)
+ {
+ size_t strPos2 = 0;
+ // from movie_value" value="1.000006" /> look for "value"
+ if ((strPos2 = xmlBuffer.find("value", strPos)) != std::string::npos)
+ {
+ size_t strPos3 = 0;
+ // from value="1.000006" /> look for "="
+ if ((strPos3 = xmlBuffer.find("=", strPos2)) != std::string::npos)
+ {
+ //extract the value - strPos3 points to ="1.000006"
+ int valueOffset = 1; //skip the "="
+ if (xmlBuffer[strPos3 + valueOffset] == '"')
+ valueOffset++;//skip " if needed
+ int strLen = 0;
+ do
+ {
+ // value stops with " or space
+ if (xmlBuffer[strPos3 + valueOffset + strLen] == '"' ||
+ xmlBuffer[strPos3 + valueOffset + strLen] == ' ')
+ break;
+ strLen++;
+ } while (strLen < 20);// no insane xml garbage ...
+
+ valueStr = xmlBuffer.substr(strPos3 + valueOffset, strLen);
+ }
+ }
+ }
+ return valueStr;
+ }
+};
+
+struct aml_snapshot_t {
+ unsigned int dst_width;
+ unsigned int dst_height;
+ unsigned int dst_stride;
+ unsigned int dst_size;
+ void *dst_vaddr;
+};
+
+volatile bool g_stop = false;
+CFlagManagerAML g_flagmanager;
+/*********************************************************
+ *********************************************************/
+static void SignalHandler(int signum)
+{
+ if (signum == SIGTERM)
+ {
+ fprintf(stderr, "caught SIGTERM\n");
+ g_stop = true;
+ }
+ else if (signum == SIGINT)
+ {
+ fprintf(stderr, "caught SIGTERM\n");
+ g_stop = true;
+ }
+}
+
+#define VIDEO_PATH "/dev/amvideo"
+#define AMSTREAM_IOC_MAGIC 'S'
+#define AMSTREAM_IOC_GET_VIDEO_DISABLE _IOR(AMSTREAM_IOC_MAGIC, 0x48, unsigned long)
+static int amvideo_utils_video_playing()
+{
+ int video_fd;
+ int video_disable;
+
+ video_fd = open(VIDEO_PATH, O_RDWR);
+ if (video_fd < 0) {
+ return -1;
+ }
+
+ ioctl(video_fd, AMSTREAM_IOC_GET_VIDEO_DISABLE, &video_disable);
+ if (video_disable)
+ {
+ close(video_fd);
+ return 1;
+ }
+
+ close(video_fd);
+
+// fprintf(stderr, "pos x %d y %d w %d h %d\n",snapshot.src_x, snapshot.src_y,snapshot.src_width,snapshot.src_height);
+ return 0;
+}
+
+static int capture_frame(int fd, aml_snapshot_t &snapshot)
+{
+ int ret = 0;
+
+ ssize_t readResult = pread(fd, snapshot.dst_vaddr, snapshot.dst_size, 0);
+
+ if (readResult < snapshot.dst_size)
+ {
+ fprintf(stderr, "frame read returned %d\n", readResult);
+ }
+ //fprintf(stderr, "requ: %d read %d \n", snapshot.dst_size, readResult);
+ fprintf(stderr, ".");
+ return ret;
+}
+
+static int configure_capture(int fd, aml_snapshot_t &snapshot)
+{
+ int ret = 0;
+ int ioctlret = 0;
+
+ if ((ioctlret = ioctl(fd, AMVIDEOCAP_IOW_SET_WANTFRAME_WIDTH, snapshot.dst_width)) != 0)
+ {
+ ret = 2;
+ fprintf(stderr, "Error setting frame width (ret: %d errno: %d)\n", ioctlret, errno);
+ }
+
+
+ if ((ioctlret = ioctl(fd, AMVIDEOCAP_IOW_SET_WANTFRAME_HEIGHT, snapshot.dst_height)) != 0)
+ {
+ ret = 3;
+ fprintf(stderr, "Error setting frame height (ret: %d errno: %d)\n", ioctlret, errno);
+ }
+
+ return ret;
+}
+
+static void frameToboblight(void *boblight, uint8_t* outputptr, int w, int h, int stride)
+{
+ if (!boblight)
+ {
+ fprintf(stderr, "no boblight\n");
+ return;
+ }
+ if (!outputptr)
+ {
+ fprintf(stderr, "no outputptr\n");
+ return;
+ }
+ //read out pixels and hand them to libboblight
+ uint8_t* buffptr;
+ for (int y = h; y > 0; y--) {
+ buffptr = outputptr + stride * y;
+ for (int x = 0; x < w; x++) {
+ int rgb[3];
+ rgb[2] = *(buffptr++);
+ rgb[1] = *(buffptr++);
+ rgb[0] = *(buffptr++);
+
+ //fprintf(stdout, "frameToboblight: x(%d), y(%d)\n", x, y);
+
+ boblight_addpixelxy(boblight, x, y, rgb);
+ }
+ }
+}
+
+static int Run(void* boblight)
+{
+ int snapshot_fd = -1;
+ aml_snapshot_t aml_snapshot = {0};
+ int lastPriority = 255;
+
+ aml_snapshot.dst_width = 160;
+ aml_snapshot.dst_height = 160;
+
+ // calc stride, size and alloc mem
+ aml_snapshot.dst_stride = aml_snapshot.dst_width * 3;
+ aml_snapshot.dst_size = aml_snapshot.dst_stride * aml_snapshot.dst_height;
+ aml_snapshot.dst_vaddr = calloc(aml_snapshot.dst_size, 1);
+
+ fprintf(stdout, "Connection to boblightd config: width(%d), height(%d)\n",
+ aml_snapshot.dst_width, aml_snapshot.dst_height);
+ //tell libboblight how big our image is
+ boblight_setscanrange(boblight, (int)aml_snapshot.dst_width, (int)aml_snapshot.dst_height);
+
+ while(!g_stop)
+ {
+ int64_t bgn = GetTimeUs();
+
+ if (snapshot_fd == -1) {
+ snapshot_fd = open(g_flagmanager.m_device.c_str(), O_RDWR, 0);
+
+ if (snapshot_fd == -1) {
+ sleep(1);
+ continue;
+ } else {
+ fprintf(stdout, "snapshot_fd(%d) \n", snapshot_fd);
+ }
+ }
+
+ // match source ratio if possible
+ if (amvideo_utils_video_playing() != 0) {
+ if ( lastPriority != 255)
+ {
+ boblight_setpriority(boblight, 255);
+ lastPriority = 255;
+ }
+ sleep(1);
+ continue;
+ }
+
+ if (configure_capture(snapshot_fd, aml_snapshot) == 0)
+ {
+ if (capture_frame(snapshot_fd, aml_snapshot) == 0)
+ {
+ // image to boblight convert.
+ frameToboblight(boblight, (uint8_t*)aml_snapshot.dst_vaddr,
+ aml_snapshot.dst_width, aml_snapshot.dst_height, aml_snapshot.dst_stride);
+
+ if (lastPriority != g_flagmanager.m_priority)
+ {
+ boblight_setpriority(boblight, g_flagmanager.m_priority);
+ lastPriority = g_flagmanager.m_priority;
+ }
+ if (!boblight_sendrgb(boblight, 1, NULL))
+ {
+ // some error happened, probably connection broken, so bitch and try again
+ PrintError(boblight_geterror(boblight));
+ boblight_destroy(boblight);
+ continue;
+ }
+ }
+ else
+ {
+ fprintf(stdout, "nap time\n");
+ sleep(1);
+ }
+ }
+ int64_t end = GetTimeUs();
+ float calc_time_ms = (float)(end - bgn) / 1000.0;
+ // throttle to 100ms max cycle rate
+ calc_time_ms -= 100.0;
+ if ((int)calc_time_ms < 0)
+ usleep((int)(-calc_time_ms * 1000));
+ }
+
+ // last image is black
+ boblight_setpriority(boblight, 255);
+ boblight_destroy(boblight);
+ close(snapshot_fd);
+ return 0;
+}
+
+/*********************************************************
+ *********************************************************/
+int main(int argc, char *argv[])
+{
+ //load the boblight lib, if it fails we get a char* from dlerror()
+ const char* boblight_error = boblight_loadlibrary(NULL);
+ if (boblight_error)
+ {
+ PrintError(boblight_error);
+ return 1;
+ }
+
+ //try to parse the flags and bitch to stderr if there's an error
+ try {
+ g_flagmanager.ParseFlags(argc, argv);
+ }
+ catch (string error) {
+ PrintError(error);
+ g_flagmanager.PrintHelpMessage();
+ return 1;
+ }
+
+ if (g_flagmanager.m_printhelp) {
+ g_flagmanager.PrintHelpMessage();
+ return 1;
+ }
+
+ if (g_flagmanager.m_printboblightoptions) {
+ g_flagmanager.PrintBoblightOptions();
+ return 1;
+ }
+
+ // check if we only should generate a cmdline based
+ // on settings from possible found boblight addon
+ if (g_flagmanager.generateCmdLine)
+ {
+ CBoblightAddonSettings settings;
+ string cmdLine = "-p 100"; //default cmdline just contains priority 100
+
+ if (settings.m_settingsLoaded)
+ cmdLine += " " + settings.getBoblightClientCmdLine();
+ fprintf(stdout, "%s", cmdLine.c_str());
+ return 0;//exit
+ }
+
+ fprintf(stderr, "Using device: %s \n", g_flagmanager.m_device.c_str());
+
+ //set up signal handlers
+ signal(SIGINT, SignalHandler);
+ signal(SIGTERM, SignalHandler);
+
+ //keep running until we want to quit
+ while(!g_stop) {
+ //init boblight
+ void* boblight = boblight_init();
+
+ fprintf(stdout, "Connecting to boblightd(%p)\n", boblight);
+
+ //try to connect, if we can't then bitch to stderr and destroy boblight
+ if (!boblight_connect(boblight, g_flagmanager.m_address, g_flagmanager.m_port, 5000000) ||
+ !boblight_setpriority(boblight, 255)) {
+ PrintError(boblight_geterror(boblight));
+ fprintf(stdout, "Waiting 10 seconds before trying again\n");
+ boblight_destroy(boblight);
+ sleep(2);
+ continue;
+ }
+
+ fprintf(stdout, "Connection to boblightd opened\n");
+
+ //try to parse the boblight flags and bitch to stderr if we can't
+ try {
+ g_flagmanager.ParseBoblightOptions(boblight);
+ }
+ catch (string error) {
+ PrintError(error);
+ return 1;
+ }
+
+ try {
+ Run(boblight);
+ }
+ catch (string error) {
+ PrintError(error);
+ boblight_destroy(boblight);
+ return 1;
+ }
+ }
+ fprintf(stdout, "Exiting\n");
+}
diff -urPp src/clients/flagmanager-aml.cpp src/clients/boblight-aml/flagmanager-aml.cpp
--- /dev/null Thu Jan 1 00:00:00 1970
+++ b/src/clients/boblight-aml/flagmanager-aml.cpp Thu Jan 15 10:21:40 2015
@@ -0,0 +1,68 @@
+/*
+ * boblight
+ * Copyright (C) Bob 2009
+ *
+ * boblight is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * boblight is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <iostream>
+
+#include "flagmanager-aml.h"
+#include "util/misc.h"
+#include "config.h"
+
+#define DEFAULT_CAPTURE_DEVICE "/dev/amvideocap0"
+
+using namespace std;
+
+CFlagManagerAML::CFlagManagerAML()
+{
+ // extend the flags -d -> device
+ // -g -> only generate cmdline from possible found boblight addon settings.xml
+ m_flags += "d:g";
+ m_device = DEFAULT_CAPTURE_DEVICE;
+ generateCmdLine = false;
+}
+
+void CFlagManagerAML::ParseFlagsExtended(int& argc, char**& argv, int& c, char*& optarg)
+{
+ if (c == 'd') //devicename
+ {
+ if (optarg) //optional device
+ {
+ m_device = optarg;
+ }
+ }
+
+ if (c == 'g') //generate cmdline
+ {
+ generateCmdLine = true;
+ }
+}
+
+void CFlagManagerAML::PrintHelpMessage()
+{
+ cout << "Usage: boblight-aml\n";
+ cout << "\n";
+ cout << " options:\n";
+ cout << "\n";
+ cout << " -p priority, from 0 to 255, default is 128\n";
+ cout << " -s address[:port], set the address and optional port to connect to\n";
+ cout << " -o add libboblight option, syntax: [light:]option=value\n";
+ cout << " -l list libboblight options\n";
+ cout << " -f fork\n";
+ cout << " -d <device> (defaults to " << m_device << ")\n";
+ cout << " -g try to find the settings.xml file from boblight addon and return the cmdline to use its options\n";
+ cout << "\n";
+}
diff -urPp src/clients/flagmanager-aml.h src/clients/boblight-aml/flagmanager-aml.h
--- /dev/null Thu Jan 1 00:00:00 1970
+++ b/src/clients/boblight-aml/flagmanager-aml.h Thu Jan 15 10:20:15 2015
@@ -0,0 +1,36 @@
+/*
+ * boblight
+ * Copyright (C) Bob 2009
+ *
+ * boblight is free software: you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * boblight is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ * See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License along
+ * with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef FLAGMANAGERAML
+#define FLAGMANAGERAML
+
+#include "clients/flagmanager.h"
+
+class CFlagManagerAML : public CFlagManager
+{
+ public:
+ CFlagManagerAML();
+ void ParseFlagsExtended(int& argc, char**& argv, int& c, char*& optarg);
+
+ void PrintHelpMessage();
+ std::string m_device; //device to open for amvideocap
+ bool generateCmdLine;
+
+};
+
+#endif //FLAGMANAGERAML
\ No newline at end of file

View File

@@ -35,10 +35,4 @@ if [ -x $ADDON_DIR/bin/boblight-X11 -a -e $ADDON_HOME/boblight.X11 ] ; then
boblight-X11 -f >/dev/null 2>&1
fi
if [ -x $ADDON_DIR/bin/boblight-aml -a -e /dev/amvideocap0 ] ; then
#generates cmdline from boblight addon settings
CMDLINE=`boblight-aml -g`
boblight-aml $CMDLINE >/dev/null 2>&1 &
fi
exec boblightd -c $ADDON_HOME/boblight.conf > $ADDON_LOG_FILE 2>&1

View File

@@ -4,6 +4,7 @@ After=graphical.target
[Service]
ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.multimedia.boblightd/bin/boblightd.start"
ExecStopPost=-/bin/sh -c "pidof boblight-X11 && killall -q -9 boblight-X11"
TimeoutStopSec=1
Restart=always
RestartSec=10

View File

@@ -0,0 +1,168 @@
4.3.2
- update to kodi
4.3.1
- update to tvheadend-3.9.1847
- tvheadend now has native support for hdhomerun devices
4.3.0
- rebuild for addon api bump
- update to tvheadend-3.9.1083
4.1.2
- fix issues with "wait for frontend init". thanks @sraue
4.1.1
- rebuild to fix curl/gnutls/ssl
4.1.0
- convert to systemd service
- rebuild for addon api bump
4.0.1
- rebuild
4.0.0
- rebuild for OpenELEC-4.0
3.1.4
- rebuild
3.1.3
- update to TVHeadend 3.4.27
3.1.2
- fix unloading multiple modules on suspend
3.1.1
- rebuild for OpenELEC-3.2
3.0.11
- improve suspend/resume
3.0.10
- fix preloading capmt.so with sundtek
- added the ability to use a script's stdout as the xmltv source instead of a fixed file or URL
3.0.9
- update to TVHeadend 3.4
3.0.8
- update to TVHeadend 3.3.521
3.0.7
- update to TVHeadend 3.3.511
3.0.6
- update to TVHeadend 3.3.491
- disable avahi support
3.0.5
- update to TVHeadend 3.3.485
3.0.4
- update to TVHeadend 3.3.403
3.0.3
- update to TVHeadend 3.3.328
- add an option to preload capmt_ca.so library
3.0.2
- update to TVHeadend 3.2.18
3.0.1
- bump addon version
- add support to install as system addon
- update to TVHeadend 3.2, rename addon
- add version string to addon summary
2.1.5
- add an option to wait for more than 1 adapters to appear
2.1.3
- update to hts-tvheadend-78213a0
2.1.2
- add suspend/resume fixes
- use KILL signal to stop tvheadend
- add an option to wait for fe initialization
2.1.1
- update to addon version 2.1
- update to hts-tvheadend-85e23bb
2.0.8
- define default recordings folder to /storage/recordings
- update to hts-tvheadend-a76f365
- add patch for support IPTV radio streams
2.0.7
- enable unloading/loading dvb modules on suspend/resume
- add while loop for restarting tvheadend if it crashes
2.0.6
- add possibilty to start / stop addon from addon manager with enable / disable
- add possibility to browse filesystem for xmltv source file
- start tvheadend in video user group
- update to hts-tvheadend-b877800
2.0.5
- start userspace DVB drivers before Tvheadend
2.0.4
- update to hts-tvheadend-fdf89b2
2.0.3
- rebuild for libiconv changes
2.0.2
- update to hts-tvheadend-d66746c
2.0.1
- fix patches
2.0.0
- prepare for OpenELEC-2.0 release
1.90.2
- depends on xbmc.python API 2.0
1.90.1
- update to hts-tvheadend-fdc743f
1.90.0
- add (CH) GA Weissenstein default muxes
- prepare for OpenELEC-1.90 release
1.0.1
- add XMLTV tv_file_grab support
- add XMLTV configuration support
- add teletext support patch
- add fix memory leak patch
1.0.0
- prepare for OpenELEC-1.0 release
0.99.8
- add suspend/wakeup script
0.99.7
- update to hts-tvheadend-c88a646
0.99.6
- update to hts-tvheadend-9d775da
0.99.5
- update to hts-tvheadend-ca68ed4
0.99.4
- change icon
0.99.3
- rebuild for openssl downgrade
0.99.2
- rework start scripts
0.99.1
- initial version hts-tvheadend-90e3570

Binary file not shown.

After

Width:  |  Height:  |  Size: 51 KiB

View File

@@ -0,0 +1,73 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="tvheadend"
PKG_VERSION="3.9.1847"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.lonelycoder.com/hts/tvheadend_overview.html"
#PKG_URL="https://github.com/downloads/tvheadend/tvheadend/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_URL="$DISTRO_SRC/${PKG_NAME}-${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain libressl curl"
PKG_PRIORITY="optional"
PKG_SECTION="service/multimedia"
PKG_SHORTDESC="tvheadend (Version: $PKG_VERSION): a TV streaming server for Linux supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as input sources."
PKG_LONGDESC="Tvheadend (Version: $PKG_VERSION) is a TV streaming server for Linux supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as input sources. It also comes with a powerful and easy to use web interface both used for configuration and day-to-day operations, such as searching the EPG and scheduling recordings. Even so, the most notable feature of Tvheadend is how easy it is to set up: Install it, navigate to the web user interface, drill into the TV adapters tab, select your current location and Tvheadend will start scanning channels and present them to you in just a few minutes. If installing as an Addon a reboot is needed"
PKG_IS_ADDON="yes"
PKG_ADDON_TYPE="xbmc.service"
PKG_AUTORECONF="no"
pre_build_target() {
mkdir -p $PKG_BUILD/.$TARGET_NAME
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME
export CROSS_COMPILE=$TARGET_PREFIX
}
configure_target() {
./configure --prefix=/usr \
--arch=$TARGET_ARCH \
--cpu=$TARGET_CPU \
--cc=$TARGET_CC \
--enable-hdhomerun_client \
--enable-hdhomerun_static \
--enable-timeshift \
--disable-avahi \
--disable-libav \
--enable-inotify \
--enable-epoll \
--disable-uriparser \
--enable-tvhcsa \
--enable-bundle \
--disable-dbus_1 \
--python=$ROOT/$TOOLCHAIN/bin/python
}
post_make_target() {
$CC -O -fbuiltin -fomit-frame-pointer -fPIC -shared -o capmt_ca.so src/extra/capmt_ca.c -ldl
}
makeinstall_target() {
: # nothing to do here
}
addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
cp -P $PKG_BUILD/.$TARGET_NAME/build.linux/tvheadend $ADDON_BUILD/$PKG_ADDON_ID/bin
cp -P $PKG_BUILD/.$TARGET_NAME/capmt_ca.so $ADDON_BUILD/$PKG_ADDON_ID/bin
}

View File

@@ -0,0 +1,25 @@
From 67e38551bc3acadf27b3ed4922e897348a612fdb Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Wed, 15 Oct 2014 13:35:09 +0300
Subject: [PATCH] remove werror
---
Makefile | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/Makefile b/Makefile
index ddcc47e..0087a6c 100644
--- a/Makefile
+++ b/Makefile
@@ -28,7 +28,7 @@ PROG := $(BUILDDIR)/tvheadend
#
CFLAGS += -g -O2 -Wunused-result
-CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
+CFLAGS += -Wall -Wwrite-strings -Wno-deprecated-declarations
CFLAGS += -Wmissing-prototypes
CFLAGS += -fms-extensions -funsigned-char -fno-strict-aliasing
CFLAGS += -D_FILE_OFFSET_BITS=64
--
1.7.2.5

View File

@@ -0,0 +1,84 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
. /etc/profile
ADDON_HOME="$HOME/.kodi/userdata/addon_data/service.multimedia.tvheadend"
ADDON_SETTINGS="$ADDON_HOME/settings.xml"
XMLTV_TYPE=`grep XMLTV_TYPE $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
XMLTV_LOCATION_FILE=`grep XMLTV_LOCATION_FILE $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
XMLTV_LOCATION_WEB=`grep XMLTV_LOCATION_WEB $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
XMLTV_LOCATION_SCRIPT=`grep XMLTV_LOCATION_SCRIPT $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
dflag=
vflag=
cflag=
if [[ $# -lt 1 ]]; then
if [ "$XMLTV_TYPE" = "FILE" ]; then
cat "$XMLTV_LOCATION_FILE"
exit 0
elif [ "$XMLTV_TYPE" = "SCRIPT" ]; then
if [ -e "$XMLTV_LOCATION_SCRIPT" ] ; then
exec "$XMLTV_LOCATION_SCRIPT"
fi
elif [ "$XMLTV_TYPE" = "WEB" ]; then
wget -qO - "$XMLTV_LOCATION_WEB"
exit 0
fi
fi
for arg; do
delim=""
case "$arg" in
#translate --gnu-long-options to -g (short options)
--description) args="${args}-d ";;
--version) args="${args}-v ";;
--capabilities) args="${args}-c ";;
#pass through anything else
*) [[ "${arg:0:1}" == "-" ]] || delim="\""
args="${args}${delim}${arg}${delim} ";;
esac
done
#Reset the positional parameters to the short options
eval set -- $args
while getopts "dvc" option; do
case $option in
d) dflag=1;;
v) vflag=1;;
c) cflag=1;;
\?) printf "unknown option: -%s\n" $OPTARG
printf "Usage: %s: [--description] [--version] [--capabilities] \n" $(basename $0)
exit 2
;;
esac >&2
done
if [ "$dflag" ]; then
printf "tv_grab_file is a simple grabber that just read the local or web XMLTV formated file\n"
fi
if [ "$vflag" ]; then
printf "0.1\n"
fi
if [ "$cflag" ]; then
printf "baseline\n"
fi

View File

@@ -0,0 +1,89 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
. /etc/profile
oe_setup_addon service.multimedia.tvheadend
ADDON_SETTINGS="$ADDON_HOME/settings.xml"
XMLTV_FILE="$ADDON_DIR/bin/tv_grab_file"
XMLTV_SETTINGS_DIR="$ADDON_HOME/xmltv"
XMLTV_SETTINGS_FILE="$XMLTV_SETTINGS_DIR/config"
DVR_SETTINGS_DIR="$ADDON_HOME/dvr"
DVR_SETTINGS_FILE="$DVR_SETTINGS_DIR/config"
DVR_DIR="$HOME/recordings"
TIMESHIFT_SETTINGS_DIR="$ADDON_HOME/timeshift"
TIMESHIFT_SETTINGS_FILE="$TIMESHIFT_SETTINGS_DIR/config"
TIMESHIFT_DIR="$ADDON_HOME/cache/timeshift"
chmod a+x $ADDON_DIR/bin/*
if [ ! -f "$XMLTV_SETTINGS_FILE" ]; then
mkdir -p $XMLTV_SETTINGS_DIR
if [ -f $ADDON_DIR/xmltv-config ]; then
cp $ADDON_DIR/xmltv-config $XMLTV_SETTINGS_FILE
fi
fi
if [ ! -f "$DVR_SETTINGS_FILE" ]; then
mkdir -p $DVR_DIR
mkdir -p $DVR_SETTINGS_DIR
if [ -f $ADDON_DIR/dvr-config ]; then
cp $ADDON_DIR/dvr-config $DVR_SETTINGS_FILE
fi
fi
if [ ! -f "$TIMESHIFT_SETTINGS_FILE" ]; then
mkdir -p $TIMESHIFT_DIR
mkdir -p $TIMESHIFT_SETTINGS_DIR
if [ -f $ADDON_DIR/timeshift-config ]; then
cp $ADDON_DIR/timeshift-config $TIMESHIFT_SETTINGS_FILE
fi
fi
if [ "$DEBUG" = "yes" ]; then
TVHEADEND_ARG="-B -C -s -u root -g video -c $ADDON_HOME"
else
TVHEADEND_ARG="-B -C -u root -g video -c $ADDON_HOME"
fi
# start userspace DVB driver/addon
for driver_dvb in $(find /storage/.kodi/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do
driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}')
logger -t Tvheadend "### Loading userspace DVB driver: $driver_dvb_name ###"
# use ". " because of variable export
. $driver_dvb
done
if [ "$WAIT_FOR_FEINIT" == "true" ] ; then
while [ true ] ; do
if [ -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend0 ] ; then
break
fi
sleep 1
done
fi
if [ "$PRELOAD_CAPMT_CA" == "true" ] ; then
logger -t Tvheadend "### Preloading capmt_ca.so library ###"
LD_PRELOAD="$ADDON_DIR/bin/capmt_ca.so $LD_PRELOAD" exec tvheadend $TVHEADEND_ARG &>$ADDON_LOG_FILE
else
exec tvheadend $TVHEADEND_ARG &>$ADDON_LOG_FILE
fi

View File

@@ -0,0 +1,17 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################

View File

@@ -0,0 +1,15 @@
{
"storage": "/storage/recordings",
"retention-days": 31,
"pre-extra-time": 0,
"post-extra-time": 0,
"day-dir": 0,
"channel-dir": 0,
"channel-in-title": 0,
"date-in-title": 0,
"time-in-title": 0,
"whitespace-in-title": 0,
"title-dir": 0,
"episode-in-title": 0,
"tag-files": 1
}

View File

@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<!-- HTS TVHEADEND -->
<string id="1000">XMLTV</string>
<string id="1001">DVB</string>
<string id="1011">XMLTV configuration</string>
<string id="1011">XMLTV source type</string>
<string id="1012">XMLTV File location</string>
<string id="1013">XMLTV Web location</string>
<string id="1014">XMLTV Script location</string>
<string id="1020">DVB Configuration</string>
<string id="1021">Unload DVB mudules before suspend</string>
<string id="1022">Wait for frontend initialization</string>
<string id="1023">Number of adapters to wait for</string>
<string id="1024">Preload capmt_ca.so library</string>
</strings>

View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
<!-- HTS TVHEADEND -->
<category label="1000">
<setting label="1010" type="lsep"/>
<setting type="sep" />
<setting id="XMLTV_TYPE" type="labelenum" label="1011" values="NONE|FILE|SCRIPT|WEB" sort="yes" default="NONE"/>
<setting id="XMLTV_LOCATION_FILE" type="file" label="1012" default="" enable="eq(-1,0)"/>
<setting id="XMLTV_LOCATION_WEB" type="text" label="1013" default="http://" enable="eq(-2,3)"/>
<setting id="XMLTV_LOCATION_SCRIPT" type="file" label="1014" default="" enable="eq(-3,2)"/>
</category>
<category label="1001">
<setting label="1020" type="lsep"/>
<setting type="sep" />
<setting id="WAIT_FOR_FEINIT" type="bool" label="1022" default="false" />
<setting id="NUM_ADAPTERS" type="slider" range="1,16" option="int" label="1023" default="1" enable="eq(-1,true)" />
<setting id="REMOVE_MODULES" type="text" label="1021" values="" default=""/>
<setting id="PRELOAD_CAPMT_CA" type="bool" label="1024" default="false" />
</category>
</settings>

View File

@@ -0,0 +1,8 @@
<settings>
<setting id="WAIT_FOR_FEINIT" value="false" />
<setting id="NUM_ADAPTERS" value="1" />
<setting id="XMLTV_LOCATION_FILE" value="" />
<setting id="XMLTV_LOCATION_WEB" value="http://" />
<setting id="XMLTV_TYPE" value="NONE" />
<setting id="PRELOAD_CAPMT_CA" value="false" />
</settings>

View File

@@ -1,3 +1,5 @@
#!/bin/sh
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
@@ -16,17 +18,27 @@
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
import os
import sys
import xbmcaddon
. /etc/profile
__settings__ = xbmcaddon.Addon(id = 'driver.dvb.hdhomerun')
__cwd__ = __settings__.getAddonInfo('path')
__resources_lib__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'lib'))
__settings_xml__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'settings.xml'))
oe_setup_addon service.multimedia.tvheadend
if len(sys.argv) == 2 and sys.argv[1] == 'refresh_tuners':
sys.path.append(__resources_lib__)
from functions import refresh_hdhomerun_tuners
refresh_hdhomerun_tuners(__settings_xml__)
__settings__.openSettings()
SERVICE="service.multimedia.tvheadend"
case "$1" in
pre)
if systemctl is-active "$SERVICE" &>/dev/null ; then
systemctl stop "$SERVICE"
for module in $REMOVE_MODULES ; do
rmmod $module
done
fi
;;
post)
if systemctl is-enabled "$SERVICE" &>/dev/null ; then
for module in $REMOVE_MODULES ; do
modprobe $module
done
systemctl start "$SERVICE"
fi
;;
esac

View File

@@ -0,0 +1,13 @@
[Unit]
Description=TVHeadend Service
After=graphical.target
[Service]
ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.multimedia.tvheadend/bin/tvheadend.start"
TimeoutStopSec=2
Restart=always
RestartSec=2
StartLimitInterval=0
[Install]
WantedBy=kodi.target

View File

@@ -0,0 +1,9 @@
{
"enabled": 0,
"ondemand": 0,
"path": "/storage/.kodi/userdata/addon_data/service.multimedia.tvheadend/cache/timeshift",
"unlimited_period": 0,
"max_period": 3600,
"unlimited_size": 0,
"max_size": 1024
}

View File

@@ -0,0 +1,14 @@
{
"grabbers": [
{
"path": "/storage/.kodi/addons/service.multimedia.tvheadend/bin/tv_grab_file",
"description": "tv_grag_file is a simple grabber that just read the ~/.xmltv/tv_grab_file.xmltv file",
"version": "0.1\n",
"mtime": 1318774706,
"capabilities": 1
}
],
"grab-interval": 12,
"grab-enabled": 1,
"current-grabber": "/storage/.kodi/addons/service.multimedia.tvheadend/bin/tv_grab_file"
}

View File

@@ -1,60 +1,3 @@
6.0.2
- update to vdr-satip-2.2.3
- update to vdr-plugin-vnsiserver-7c6ff30
6.0.1
- update to vdr-plugin-dvbapi-0489e01
- update to vdr-plugin-vnsiserver-a7b0670
- update to vdr-satip-2.2.2
- update to vdr-iptv-2.2.1
6.0.0
- rebuild for OpenELEC-6.0
- remove plugin 'control'
- remove plugin 'xvdr'
- update to vdr-plugin-vnsiserver-36e2b61
4.3.11
- update to vdr-plugin-restfulapi-0.2.1.4
4.3.10
- disable dvbapi network mode
4.3.9
- update to vdr-2.2.0
- update to vdr-iptv-2.2.0
- update to vdr-satip-2.2.0
- update to vdr-plugin-dvbapi-c0c7fa2
- update to vdr-plugin-eepg-9cd9a75
- update to vdr-plugin-vnsiserver-9529e6d
- update to vdr-plugin-streamdev-84c6f6b
4.3.8
- update to vdr-2.1.10
- update to vdr-plugin-restfulapi-0.2.1.1
- update to vdr-plugin-vnsiserver-f2175ba
4.3.7
- update to vdr-2.1.8
- update to vdr-plugin-vnsiserver-b887bc8
- update to vdr-wirbelscan-0.0.9
4.3.6
- update to vdr-satip-1.0.2
- update to vdr-2.1.7
4.3.5
- add plugin 'vdr-plugin-restfulapi'
- update to vdr-plugin-xvdr-b300fc3
4.3.4
- update to vdr-plugin-vnsiserver-a48edf1
- update to vdr-plugin-dvbapi-36a6b1d
4.3.3
- add plugin 'vdr-plugin-epgfixer'
- update to vdr-satip-1.0.1
4.3.2
- update to kodi

View File

@@ -0,0 +1,31 @@
KBD.Up 00000000001B5B41
KBD.Down 00000000001B5B42
KBD.Menu 000000000000006D
KBD.Ok 000000000000000D
KBD.Back 000000000000007F
KBD.Left 00000000001B5B44
KBD.Right 00000000001B5B43
KBD.Red 000000001B5B5B41
KBD.Green 000000001B5B5B42
KBD.Yellow 000000001B5B5B43
KBD.Blue 000000001B5B5B44
KBD.0 0000000000000030
KBD.1 0000000000000031
KBD.2 0000000000000032
KBD.3 0000000000000033
KBD.4 0000000000000034
KBD.5 0000000000000035
KBD.6 0000000000000036
KBD.7 0000000000000037
KBD.8 0000000000000038
KBD.9 0000000000000039
KBD.Info 0000000000000069
KBD.FastFwd 0000001B5B31377E
KBD.FastRew 000000001B5B5B45
KBD.Power 0000000000000070
KBD.Volume+ 0000001B5B32347E
KBD.Volume- 0000001B5B32337E
KBD.Mute 0000001B5B32317E
KBD.User7 0000001B5B31387E
KBD.User8 0000001B5B31397E
KBD.User9 0000001B5B32307E

View File

@@ -1,6 +1,6 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2011 Anthony Nash (nash.ant@gmail.com)
#
# OpenELEC is free software: you can redistribute it and/or modify
@@ -18,13 +18,13 @@
################################################################################
PKG_NAME="vdr-addon"
PKG_VERSION="6.0"
PKG_VERSION="4.3"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.openelec.tv"
PKG_URL=""
PKG_DEPENDS_TARGET="toolchain attr libcap vdr vdr-plugin-vnsiserver vdr-iptv vdr-wirbelscan vdr-wirbelscancontrol vdr-plugin-dvbapi vdr-plugin-streamdev vdr-live vdr-epgsearch vdr-plugin-xmltv2vdr vdr-plugin-eepg vdr-dummydevice vdr-satip vdr-plugin-epgfixer vdr-plugin-restfulapi"
PKG_DEPENDS_TARGET="toolchain attr libcap vdr vdr-plugin-xvdr vdr-plugin-vnsiserver vdr-iptv vdr-wirbelscan vdr-wirbelscancontrol vdr-plugin-dvbapi vdr-plugin-streamdev vdr-live vdr-control vdr-epgsearch vdr-plugin-xmltv2vdr vdr-plugin-eepg vdr-dummydevice vdr-satip"
PKG_PRIORITY="optional"
PKG_SECTION="service.multimedia"
PKG_SHORTDESC="vdr: A powerful DVB TV application"
@@ -32,10 +32,6 @@ PKG_LONGDESC="This project describes how to build your own digital satellite rec
PKG_AUTORECONF="no"
PKG_IS_ADDON="yes"
PKG_ADDON_TYPE="xbmc.service"
PKG_ADDON_PROVIDES=""
PKG_ADDON_REQUIRES="pvr.vdr.vnsi:0.0.0 script.config.vdr:0.0.0"
PKG_ADDON_NAME="VDR PVR Backend"
PKG_ADDON_REPOVERSION="6.0"
make_target() {
: # nothing to do here
@@ -48,21 +44,20 @@ makeinstall_target() {
addon() {
VDR_DIR="$(get_build_dir vdr)"
VDR_LIVE_DIR="$(get_build_dir vdr-live)"
VDR_PLUGIN_XVDR_DIR="$(get_build_dir vdr-plugin-xvdr)"
VDR_PLUGIN_VNSISERVER_DIR="$(get_build_dir vdr-plugin-vnsiserver)"
VDR_PLUGIN_STREAMVEV_DIR="$(get_build_dir vdr-plugin-streamdev)"
VDR_PLUGIN_XMLTV2VDR="$(get_build_dir vdr-plugin-xmltv2vdr)"
VDR_PLUGIN_EPGFIXER_DIR="$(get_build_dir vdr-plugin-epgfixer)"
VDR_PLUGIN_RESTFULAPI_DIR="$(get_build_dir vdr-plugin-restfulapi)"
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config
touch $ADDON_BUILD/$PKG_ADDON_ID/config/channels.conf
cp $VDR_DIR/channels.conf $ADDON_BUILD/$PKG_ADDON_ID/config
cp $VDR_DIR/diseqc.conf $ADDON_BUILD/$PKG_ADDON_ID/config
cp $VDR_DIR/keymacros.conf $ADDON_BUILD/$PKG_ADDON_ID/config
cp $VDR_DIR/scr.conf $ADDON_BUILD/$PKG_ADDON_ID/config
cp $VDR_DIR/sources.conf $ADDON_BUILD/$PKG_ADDON_ID/config
cp $VDR_DIR/svdrphosts.conf $ADDON_BUILD/$PKG_ADDON_ID/config
echo '0.0.0.0/0' >> $ADDON_BUILD/$PKG_ADDON_ID/config/svdrphosts.conf
cp $PKG_DIR/config.plugins/remote.conf $ADDON_BUILD/$PKG_ADDON_ID/config
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/epgsearch
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/res/plugins/live
@@ -74,6 +69,7 @@ addon() {
cp $VDR_PLUGIN_XMLTV2VDR/dist/epgdata2xmltv/epgdata2xmltv.dist $ADDON_BUILD/$PKG_ADDON_ID/config/epgsources/epgdata2xmltv
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $VDR_PLUGIN_XVDR_DIR/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $VDR_PLUGIN_VNSISERVER_DIR/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $(get_build_dir vdr-iptv)/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $(get_build_dir vdr-wirbelscan)/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
@@ -83,15 +79,18 @@ addon() {
cp -PR $VDR_PLUGIN_STREAMVEV_DIR/server/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $VDR_PLUGIN_STREAMVEV_DIR/client/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $VDR_LIVE_DIR/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $(get_build_dir vdr-control)/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $(get_build_dir vdr-epgsearch)/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $VDR_PLUGIN_XMLTV2VDR/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $(get_build_dir vdr-dummydevice)/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $(get_build_dir vdr-satip)/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $VDR_PLUGIN_EPGFIXER_DIR/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $VDR_PLUGIN_RESTFULAPI_DIR/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/eepg
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/xvdr
cp -PR $VDR_PLUGIN_XVDR_DIR/xvdr/allowed_hosts.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/xvdr
cp -PR $VDR_PLUGIN_XVDR_DIR/xvdr/xvdr.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/xvdr
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/vnsiserver
cp -PR $VDR_PLUGIN_VNSISERVER_DIR/vnsiserver/allowed_hosts.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/vnsiserver
@@ -100,15 +99,8 @@ addon() {
cp -P $VDR_PLUGIN_XMLTV2VDR/dist/epgdata2xmltv/epgdata2xmltv $ADDON_BUILD/$PKG_ADDON_ID/bin
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib
cp -PL $(get_build_dir tntnet)/.install_pkg/usr/lib/libtntnet.so.12 $ADDON_BUILD/$PKG_ADDON_ID/lib
cp -PL $(get_build_dir tntnet)/.install_pkg/usr/lib/libtntnet.so.11 $ADDON_BUILD/$PKG_ADDON_ID/lib
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/streamdev-server
cp -PR $VDR_PLUGIN_STREAMVEV_DIR/streamdev-server/streamdevhosts.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/streamdev-server
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/epgfixer
cp -PR $VDR_PLUGIN_EPGFIXER_DIR/epgfixer/*.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/epgfixer
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/res/plugins/restfulapi
cp -P $VDR_PLUGIN_RESTFULAPI_DIR/web/* $ADDON_BUILD/$PKG_ADDON_ID/res/plugins/restfulapi
cp -P $VDR_PLUGIN_RESTFULAPI_DIR/API.html $ADDON_BUILD/$PKG_ADDON_ID/res/plugins/restfulapi
}

View File

@@ -45,7 +45,9 @@ ADDON_PLUGIN_DIR="$ADDON_DIR/plugin"
chmod a+x $ADDON_DIR/bin/*
ADDON_CACHE_DIR="$ADDON_HOME/cache"
mkdir -p $ADDON_CACHE_DIR
if [ ! -f "$ADDON_CACHE_DIR" ]; then
mkdir -p $ADDON_CACHE_DIR
fi
VDR_ARG="-g /tmp --no-kbd"
if [ "$DEBUG" = "yes" ]; then
@@ -97,12 +99,12 @@ fi
if [ "$ENABLE_LIVE" == "true" ] ; then
VDR_ARG="$VDR_ARG -P 'live -i $LIVE_IP -p $LIVE_PORT'"
fi
if [ "$ENABLE_CONTROL" == "true" ] ; then
VDR_ARG="$VDR_ARG -P 'control -p $CONTROL_PORT'"
fi
if [ "$ENABLE_EEPG" == "true" ] ; then
VDR_ARG="$VDR_ARG -P eepg"
fi
if [ "$ENABLE_EPGFIXER" == "true" ] ; then
VDR_ARG="$VDR_ARG -P epgfixer"
fi
if [ "$ENABLE_EPGSEARCH" == "true" ] ; then
VDR_ARG="$VDR_ARG -P epgsearch"
fi
@@ -128,21 +130,8 @@ if [ "$ENABLE_XMLTV2VDR" == "true" ] ; then
cp $source /var/lib/epgsources
done
fi
if [ ! -d "$ADDON_HOME/epgimages" ]; then
mkdir -p "$ADDON_HOME/epgimages"
fi
if [ ! -z "$ADDON_HOME/channellogos" ]; then
mkdir -p "$ADDON_HOME/channellogos"
fi
RESTFULAPI_ARGS="--ip $RESTFULAPI_IP --port $RESTFULAPI_PORT"
RESTFULAPI_ARGS="$RESTFULAPI_ARGS --epgimages=\"$ADDON_HOME/epgimages\""
RESTFULAPI_ARGS="$RESTFULAPI_ARGS --channellogos=\"$ADDON_HOME/channellogos\""
VDR_ARG="$VDR_ARG -P 'restfulapi $RESTFULAPI_ARGS'"
# vnsi last
VDR_ARG="$VDR_ARG -P vnsiserver"
# vnsi/xvdr last
VDR_ARG="$VDR_ARG -P $PVR_PLUGIN"
cd $ADDON_DIR/config
mkdir -p $ADDON_CONFIG_DIR

View File

@@ -4,7 +4,7 @@
<string id="1001">Plugins</string>
<string id="1002">VDR</string>
<string id="1020">DVB Configuration</string>
<string id="1021">Unload DVB modules before suspend</string>
<string id="1021">Unload DVB mudules before suspend</string>
<string id="1022">Wait for frontend initialization</string>
<string id="1023">Number of adapters to wait for</string>
<string id="1024">Enable charset override</string>
@@ -17,18 +17,17 @@
<string id="1038">Enable plugin: live</string>
<string id="1039">- listen on ip</string>
<string id="1040">- listen on port</string>
<string id="1042">Enable plugin: control</string>
<string id="1043">- listen on port</string>
<string id="1044">Enable plugin: epgsearch</string>
<string id="1045">Enable plugin: xmltv2vdr</string>
<string id="1046">Enable plugin: extended EPG</string>
<string id="1047">Enable plugin: dummydevice</string>
<string id="1048">Enable plugin: satip</string>
<string id="1049">Enable plugin: epgfixer</string>
<string id="1051">VDR Configuration</string>
<string id="1052">VDR Video Dir</string>
<string id="1053">PVR plugin</string>
<string id="1056">Enable external recdmd</string>
<string id="1057">External recdmd path</string>
<string id="1058">- number of devices</string>
<string id="1070">restfulapi plugin options</string>
<string id="1071">- listen on ip</string>
<string id="1072">- listen on port</string>
</strings>

View File

@@ -20,6 +20,7 @@
<category label="1001">
<setting label="1030" type="lsep"/>
<setting type="sep" />
<setting id="PVR_PLUGIN" type="labelenum" label="1053" values="xvdr|vnsiserver" default="vnsiserver" />
<setting id="ENABLE_IPTV" type="bool" label="1031" default="false" />
<setting id="IPTV_NUM_DEVICES" type="slider" option="int" range="1,4" label="1058" visible="!eq(-1,false)" default="1" />
<setting id="ENABLE_STREAMDEV_CLIENT" type="bool" label="1032" default="false" />
@@ -27,16 +28,14 @@
<setting id="ENABLE_LIVE" type="bool" label="1038" default="false" />
<setting id="LIVE_IP" type="ipaddress" label="1039" values="" visible="!eq(-1,false)" default="0.0.0.0"/>
<setting id="LIVE_PORT" type="number" label="1040" values="" visible="!eq(-2,false)" default="8008"/>
<setting id="ENABLE_CONTROL" type="bool" label="1042" default="false" />
<setting id="CONTROL_PORT" type="number" label="1043" values="" visible="!eq(-1,false)" default="2002"/>
<setting id="ENABLE_EEPG" type="bool" label="1046" default="false" />
<setting id="ENABLE_EPGSEARCH" type="bool" label="1044" default="false" />
<setting id="ENABLE_XMLTV2VDR" type="bool" label="1045" default="false" />
<setting id="ENABLE_DUMMYDEVICE" type="bool" label="1047" default="false" />
<setting id="ENABLE_SATIP" type="bool" label="1048" default="false" />
<setting id="ENABLE_EPGFIXER" type="bool" label="1049" default="false" />
<setting type="sep" />
<setting id="ENABLE_SOFTCAM" type="bool" label="1036" default="true" />
<setting type="lsep" label="1070" />
<setting id="RESTFULAPI_IP" type="ipaddress" label="1071" values="" default="127.0.0.1"/>
<setting id="RESTFULAPI_PORT" type="number" label="1072" values="" default="8002"/>
</category>
</settings>

View File

@@ -3,6 +3,7 @@
<setting id="NUM_ADAPTERS" value="1" />
<setting id="REMOVE_MODULES" value="" />
<setting id="VDR_VIDEO_DIR" value="/storage/videos" />
<setting id="PVR_PLUGIN" value="vnsiserver" />
<setting id="ENABLE_IPTV" value="false" />
<setting id="ENABLE_SOFTCAM" value="true" />
<setting id="ENABLE_STREAMDEV_CLIENT" value="false" />
@@ -10,8 +11,9 @@
<setting id="ENABLE_LIVE" value="false" />
<setting id="LIVE_IP" value="0.0.0.0" />
<setting id="LIVE_PORT" value="8008" />
<setting id="ENABLE_CONTROL" value="false" />
<setting id="CONTROL_PORT" value="2002" />
<setting id="ENABLE_EEPG" value="false" />
<setting id="ENABLE_EPGFIXER" value="false" />
<setting id="ENABLE_EPGSEARCH" value="false" />
<setting id="ENABLE_XMLTV2VDR" value="false" />
<setting id="ENABLE_DUMMYDEVICE" value="false" />
@@ -21,6 +23,4 @@
<setting id="ENABLE_CHARSET_OVERRIDE" value="false" />
<setting id="CHARSET_OVERRIDE_STR" value="" />
<setting id="IPTV_NUM_DEVICES" value="1" />
<setting id="RESTFULAPI_IP" value="127.0.0.1" />
<setting id="RESTFULAPI_PORT" value="8002" />
</settings>

Some files were not shown because too many files have changed in this diff Show More