Compare commits

...

657 Commits

Author SHA1 Message Date
Matthias Reichl
5d0330e6ad Merge pull request #4018 from CvH/9.2/addon-fail
distro: bump OS_VERSION
2019-11-23 00:18:02 +01:00
CvH
84875e4f25 distro: bump OS_VERSION 2019-11-23 00:15:28 +01:00
CvH
176222f38c Merge pull request #4015 from HiassofT/le92-slice-pcf8523
[le92] Slice/Slice3: use upstream method to set xtal load capacitance
2019-11-21 22:50:39 +01:00
Matthias Reichl
e089b59f30 Slice/Slice3: use upstream method to set xtal load capacitance
This fixes slice builds since upstream method to set xtal load capacitance
was backported in 4.19.82 stable

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-11-21 22:01:26 +01:00
CvH
41bc6862e3 Merge pull request #4012 from MilhouseVH/le92_fix_addons
audiodecoder.timidity: remove patch redundant since 2.0.2-Leia
2019-11-21 19:05:39 +01:00
MilhouseVH
17e869e877 audiodecoder.timidity: remove patch redundant since 2.0.2-Leia 2019-11-21 17:17:03 +00:00
MilhouseVH
83234e1b48 Merge pull request #4003 from CvH/9.2/kodi.18.5-addonup
Kodi 18.5 binary addon updates
2019-11-20 22:23:17 +00:00
MilhouseVH
d9fd376c71 Merge pull request #4002 from CvH/9.2/tvh-up
Tvheadend and ffmpeg-tools update
2019-11-20 22:22:46 +00:00
CvH
2b59e9b214 Merge pull request #3998 from HiassofT/le92-kodi-18.5
kodi: update to 18.5-Leia
2019-11-20 23:07:14 +01:00
Matthias Reichl
8af7ac11ad kodi: update to 18.5-Leia
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-11-20 22:34:07 +01:00
CvH
99cba92719 Merge pull request #4007 from HiassofT/le92-rpi-firmware-revert
RPi: revert to firmware 8e688a4
2019-11-19 19:22:09 +01:00
Matthias Reichl
a46fb152a0 RPi: revert to firmware 8e688a4
Later firmware versions have a nasty bug that can lead to HDMI
lock-ups when the RPi is fully throttled (eg due to over-temperature).

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-11-19 19:12:42 +01:00
CvH
a83d11491b visualization.shadertoy: remove patch 2019-11-19 00:51:46 +01:00
CvH
c81b7617c0 game.libretro: update to latest 2019-11-19 00:25:55 +01:00
CvH
ab47f0baf7 kodi-binary-addons: update to latest versions 2019-11-19 00:13:25 +01:00
CvH
c5d37bf33a tvheadend: update to 4.2.8-36 2019-11-18 23:49:10 +01:00
CvH
1fbeb10f5f tvheadend42: create default directories 2019-11-18 23:49:10 +01:00
CvH
564850c626 comskip: update to 2019-11-03 2019-11-18 23:44:23 +01:00
CvH
eb9dcf60de tvh-tv-scan-table: update to 6bb0a70a 2019-11-18 23:44:23 +01:00
CvH
8628b74a0e ffmpeg-tools: update to 109 2019-11-18 23:44:23 +01:00
CvH
7daee4bacd aom: update to 2019-11-15 2019-11-18 23:27:34 +01:00
CvH
63d5d8bfb2 x265: update to 3.2 2019-11-18 23:27:34 +01:00
CvH
0ef8a5b3b0 libvpx: update to 1.8.1 2019-11-18 23:27:34 +01:00
CvH
62cf3edf1a ffmpegx: update to 4.2.1 2019-11-18 23:27:34 +01:00
Matthias Reichl
bc18fe7b3b Merge pull request #3997 from MilhouseVH/le92_kodi_config_fix
kodi-config: create userdata when it doesn't exist [backport]
2019-11-18 00:39:31 +01:00
MilhouseVH
084fcb1c44 kodi: remove /storage/.kodi/userdata from tmpfiles.d, rely on kodi-config 2019-11-17 20:32:05 +00:00
MilhouseVH
33449d042f kodi-config: create userdata when it doesn't exist 2019-11-17 20:32:05 +00:00
CvH
f6473f65a8 Merge pull request #3898 from HiassofT/le92-kernel-4.19.79+
[le92] linux (RPi): update to 4.19.79+
2019-11-17 19:36:51 +01:00
CvH
a286f2d135 Merge pull request #3925 from mglae/master_bt_audio
bluetooth-audio: avoid LE Settings Addon crash
2019-11-17 19:08:50 +01:00
CvH
607ab8bb31 Merge pull request #3938 from MilhouseVH/le92_rpi-eeprom-vl805
rpi-eeprom: update with vl805 support [backport]
2019-11-17 19:06:37 +01:00
MilhouseVH
ead39e7478 Merge pull request #3985 from jsgh/jsconfigstatus-92
Make kodi-config return a zero exit status
2019-11-17 05:18:19 +00:00
MilhouseVH
f7ddb3e412 Merge pull request #3969 from nicolaspernoud/libreelec-9.2
feat: enable webcam driver as kernel module
2019-11-17 05:16:56 +00:00
Nicolas Pernoud
66b50feecd fix: usb webcam options for Allwinner 2019-11-15 18:13:11 +01:00
John Sullivan
582e5e4fc7 Make kodi-config return a zero exit status
(cherry picked from commit e12e8cb7c4)
2019-11-15 17:06:44 +00:00
Nicolas Pernoud
cccd235148 fix : missing options for USB Webcam 2019-11-15 18:06:34 +01:00
MilhouseVH
847945e219 RPi: update to firmware b9f83b1 2019-11-14 18:02:41 +01:00
Matthias Reichl
a2e51e3a7a linux (RPi): update to 4.19.83-3c235dc
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-11-11 21:18:15 +01:00
MilhouseVH
abf6dc244f rpi-eeprom: update to rpi-eeprom-99e8891 2019-11-11 19:32:45 +00:00
Nicolas Pernoud
821ad52da0 feat: enable webcam driver as kernel module 2019-11-09 13:50:44 +01:00
MilhouseVH
779efbc35c RPi: update to firmware 89deaba 2019-11-08 21:38:25 +01:00
MilhouseVH
9ad1a0ade3 rpi-eeprom: update to rpi-eeprom-9202943 2019-11-08 14:25:11 +00:00
Christian Hewitt
e9af55d89a Merge pull request #3952 from MilhouseVH/le92_samba-4.9.15
samba: update to samba-4.9.15
2019-11-07 15:01:22 +04:00
MilhouseVH
ddcfc575f6 RPi: update to firmware d737daa 2019-11-06 23:35:41 +01:00
MilhouseVH
4543ce351c RPi: update to firmware 8e688a4 2019-11-06 18:03:13 +01:00
Christian Hewitt
09b0403f0e Merge pull request #3958 from MilhouseVH/le92_revert_rpif_wifi
Revert "brcmfmac_sdio-firmware-rpi: update to brcmfmac_sdio-firmware-…
2019-11-04 16:22:51 +04:00
MilhouseVH
fe9b2e812a Revert "brcmfmac_sdio-firmware-rpi: update to brcmfmac_sdio-firmware-rpi-d4f7087"
This reverts commit d4508cd883.

See https://github.com/RPi-Distro/firmware-nonfree/issues/7 for details.
2019-11-04 11:54:27 +00:00
MilhouseVH
047797822c RPi: update to firmware b79618b 2019-11-01 19:16:29 +01:00
MilhouseVH
821447c6ee LibreELEC-settings: update to LibreELEC-settings-6dbbbed 2019-11-01 17:22:30 +00:00
Matthias Reichl
a60d05411b linux (RPi): update to 4.19.81-bbdf44a
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-11-01 16:33:30 +01:00
MilhouseVH
855ec8710c samba: update to samba-4.9.15 2019-10-29 12:28:41 +00:00
MilhouseVH
e14652e9db Update with vl805 support 2019-10-29 11:54:08 +00:00
MilhouseVH
260e26ac4b rpi-eeprom: update to rpi-eeprom-b360b29 2019-10-29 11:54:06 +00:00
Christian Hewitt
8c2dda0d92 Merge pull request #3941 from MilhouseVH/le92_fixup_addons
libprojectM: update to libprojectM-3.1.1-rc4
2019-10-29 09:36:59 +04:00
Christian Hewitt
438266895d Merge pull request #3942 from tmm1/9.2/avahi
[backport] avahi: remove disallow-other-stacks=yes
2019-10-29 09:32:00 +04:00
MilhouseVH
ff1e4f8565 RPi: update to firmware 00ea13e 2019-10-28 23:38:09 +01:00
Christian Hewitt
c73614dc3d Merge pull request #3951 from MilhouseVH/le92_texturecache-2.5.2
texturecache.py: update to texturecache.py-2.5.2 [backport]
2019-10-28 19:24:57 +04:00
MilhouseVH
781e637b16 texturecache.py: update to texturecache.py-2.5.2 2019-10-28 15:15:08 +00:00
Aman Gupta
b6e9a63684 avahi: remove disallow-other-stacks=yes
This was originally added because SO_REUSEPORT was not available on older kernels

With this setting, avahi-daemon does not use either SO_REUSEADDR or SO_REUSEPORT, which means that other mDNS applications cannot access the multicast udp port 5353 at the same time. This includes mDNS clients which are simply trying to discover other services on the network. One such client exists in a PVR add-on I am writing for Kodi which currently fails in network discovery when run on LibreELEC.

See also https://github.com/grandcat/zeroconf/issues/63

(cherry picked from commit 733eb8ff14)
2019-10-24 23:23:52 +00:00
MilhouseVH
10665ba6b1 libprojectM: update to libprojectM-3.1.1-rc4 2019-10-24 22:26:08 +01:00
MilhouseVH
828ff0a987 RPi: update to firmware ed238d3 2019-10-21 20:23:28 +02:00
Matthias Reichl
0321837881 linux (RPi): config options for 4.19.80
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-10-21 20:20:47 +02:00
Matthias Reichl
13b3252810 linux (RPi): update to 4.19.80-3492a1b
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-10-21 20:19:05 +02:00
CvH
c97f38e942 Merge pull request #3922 from MilhouseVH/le92_fix_init_busy_cond
init: make umount /update conditional [libreelec-9.2]
2019-10-18 17:52:20 +02:00
MilhouseVH
e2e05ade82 init: make umount /update conditional 2019-10-18 16:48:26 +01:00
CvH
a00b801426 Merge pull request #3920 from MilhouseVH/le92_fix_init_busy
init: unmount /update after a failed update [backport]
2019-10-17 20:09:41 +02:00
MilhouseVH
a233e7936a init: unmount /update after a failed update 2019-10-17 18:18:19 +01:00
mglae
d2ea00a971 bluetooth-audio: avoid LE Settings Addon crash 2019-10-17 00:39:40 +02:00
5schatten
3524972190 Merge pull request #3912 from CvH/9.2/addons-up
binary addons: update to latest Leia versions
2019-10-16 20:13:14 +02:00
CvH
99b2aba8c3 binary addons: update to latest Leia versions 2019-10-16 17:46:20 +02:00
Jernej Škrabec
4a2fd7e371 Merge pull request #3905 from CvH/9.2/backport
Package updates backport
2019-10-15 17:53:47 +02:00
CvH
bee07eede2 Merge pull request #3909 from MilhouseVH/le92_samba_nmblookup
samba: enable nmblookup, for kodi [backport]
2019-10-15 07:58:55 +02:00
MilhouseVH
654f3024eb samba: enable nmblookup, for kodi 2019-10-15 06:56:48 +01:00
Ian Leonard
e79385c0e4 zstd: update to 1.4.3
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-10-14 21:42:59 +02:00
Ian Leonard
6ba88724bf curl: update to 7.66.0
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-10-14 21:42:59 +02:00
Ian Leonard
8897a17546 libgcrypt: update to 1.8.5
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-10-14 21:42:59 +02:00
Ian Leonard
703b46a64a openssl: update to 1.1.1d
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-10-14 21:42:59 +02:00
CvH
17692771e2 Merge pull request #3885 from antonlacon/le92-ffmpeg-tools
ffmpeg-tools: update ffmpegx, opus, gnutls [le9.2]
2019-10-14 21:40:44 +02:00
MilhouseVH
e3c1bd93fc Merge pull request #3846 from CvH/9.2/addon_version_bump
LE 9.2 final addon version bump
2019-10-14 20:15:28 +01:00
CvH
d86dcbd288 Merge pull request #3865 from MilhouseVH/le92_backports5
libreelec-9.2 backports
2019-10-14 21:13:55 +02:00
CvH
309dbfe866 distro: bump ADDON_VERSION to 9.2.0 2019-10-14 21:01:22 +02:00
CvH
98394a9d5a Merge pull request #3868 from mglae/le92_fsck
init: fsck: wait for devices and unhide messages
2019-10-14 20:55:49 +02:00
CvH
46bd66865e Merge pull request #3887 from mglae/le92_nvidia_ld
xf86-video-nvidia/xf86-video-nvidia-legacy: use toolchain linker
2019-10-14 20:51:49 +02:00
CvH
e005812677 Merge pull request #3878 from sky42src/le92-allow-black
kodi: backport PR16643 always allow black screen saver
2019-10-14 20:47:49 +02:00
MilhouseVH
d2d351da83 RPi: update to firmware 9f49835 2019-10-12 10:23:51 +02:00
Matthias Reichl
22bd6ecacb linux (RPi): update to 4.19.79-047589b
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-10-12 10:20:42 +02:00
MilhouseVH
d4508cd883 brcmfmac_sdio-firmware-rpi: update to brcmfmac_sdio-firmware-rpi-d4f7087 2019-10-11 06:53:57 +01:00
MilhouseVH
a18f219654 LibreELEC-settings: update to LibreELEC-settings-a799a10 2019-10-10 16:03:59 +01:00
CvH
0c366f4a37 Merge pull request #3777 from HiassofT/le92-kernel-4.19.67+
[le92] linux (RPi): update to 4.19.67+
2019-10-10 14:45:16 +02:00
CvH
477629bdb9 Merge pull request #3816 from HiassofT/le92-kodi-rpi4_2
kodi: update RPi4 to latest leia_pi4 version
2019-10-10 14:44:51 +02:00
pretoriano80
fd9975888c eventlircd: adding new rule for iMON Panel, Knob and Mouse(15c2:ffdc)
- enables eventlircd for Imon UltraBay (front panel buttons)
- this will fix the issue with some front panel buttons not being
detected by Kodi (if keycode value is higher than 255)

Signed-off-by: pretoriano80 <viusflag@libero.it>
2019-10-10 12:38:38 +01:00
MilhouseVH
5ecc7e3674 pastekodi: add option to allow output to stdout 2019-10-10 12:38:38 +01:00
MilhouseVH
cad016cb9f mesa: update to mesa-19.1.7 2019-10-10 12:38:38 +01:00
MilhouseVH
a15eeec91b kodi: fix pastekodi efi check 2019-10-10 12:38:38 +01:00
MilhouseVH
e1034f423d rpi-eeprom: update to rpi-eeprom-741bf84 2019-10-10 12:38:38 +01:00
MilhouseVH
5625e11f5e RPi: update to firmware f8a8924 2019-10-07 19:55:04 +02:00
mglae
ba7ecaa609 xf86-video-nvidia/xf86-video-nvidia-legacy: use toolchain linker 2019-10-05 18:38:52 +02:00
Matthias Reichl
bc6b6d0551 linux (RPi): update to 4.19.76-7a54e45
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-10-04 17:43:20 +02:00
Ian Leonard
47d66c7e3f ffmpeg-tools: bump to 108
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-10-02 16:43:44 +00:00
Ian Leonard
104c9defd8 opus: update to 1.3.1
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-10-02 16:43:44 +00:00
Ian Leonard
a3e8e7d302 ffmpegx: update to 4.1.4
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-10-02 16:43:44 +00:00
Ian Leonard
ad83ea63e3 gnutls: update to 3.6.10
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-10-01 23:58:44 +00:00
MilhouseVH
be75d3b872 RPi: update to firmware a16470a 2019-09-30 22:49:39 +02:00
sky42
c35ea1ac6c kodi: backport PR16643 always allow black screen saver
https://github.com/xbmc/xbmc/pull/16643
2019-09-27 17:52:06 +02:00
CvH
c1bb7b94ab Merge pull request #3872 from HiassofT/le92-rpi-gpio
[le92] update RPi.GPIO to 0.7.0
2019-09-27 11:32:57 +02:00
Matthias Reichl
eff2608820 rpi-tools: bump PKG_REV because of RPi.GPIO update
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-26 11:50:00 +02:00
Matthias Reichl
4a6cf78f5d RPi.GPIO: update to 0.7.0
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-26 11:32:09 +02:00
mglae
cb59513294 init: fsck: wait for devices and unhide messages 2019-09-25 18:19:08 +02:00
MilhouseVH
236ea95fd8 Merge pull request #3833 from HiassofT/le92-systemd-debug-console
[le92] systemd: enable switch debug-tty to provide a debug console
2019-09-24 20:52:12 +01:00
MilhouseVH
2684517ad1 Merge pull request #3837 from HiassofT/le92-persistent-logging
[le92] busybox: cleanup persistent log setup when debugging is enabled
2019-09-24 20:51:55 +01:00
MilhouseVH
f979e6ab62 Merge pull request #3848 from sky42src/le92-early-squashfs
[le92] busybox: init: mount squashfs early
2019-09-24 20:51:40 +01:00
MilhouseVH
f75ec82571 RPi btuart: Sync with upstream 0.1.11 2019-09-24 20:23:37 +01:00
MilhouseVH
4e1fc8b029 linux: rebuild linux if busybox (ie. scripts/init) changes 2019-09-24 20:23:06 +01:00
MilhouseVH
ecc3500395 config/options: log PWD when the current directory includes a space 2019-09-24 20:23:06 +01:00
MilhouseVH
dae7e1c534 u-boot-tools: fix missing dependencies 2019-09-24 20:23:05 +01:00
MilhouseVH
d25b4aef4a bcmstat: update to bcmstat-0.5.3 2019-09-24 20:22:17 +01:00
Matthias Reichl
b18d021586 rpi-eeprom: allow overriding BOOTFS from environment
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-24 20:21:46 +01:00
MilhouseVH
766cfd33a2 init: add fix for RPi4 serial numbers 2019-09-24 20:21:46 +01:00
CvH
a33f204304 Merge pull request #3844 from MilhouseVH/le92_nvidia-430.50
xf86-video-nvidia: update to xf86-video-nvidia-430.50 [backport]
2019-09-24 21:10:59 +02:00
CvH
a873b63d46 Merge pull request #3850 from MilhouseVH/le92_kodi_pastekodi
kodi: add pastekodi script [backport]
2019-09-24 21:10:43 +02:00
Matthias Reichl
b0d2a1f51d linux (RPi): update to 4.19.75-6d8bf28
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-24 21:02:46 +02:00
MilhouseVH
8f3a881f12 RPi: update to firmware f5c626c 2019-09-24 20:53:30 +02:00
Matthias Reichl
68bf4bdd00 linux (RPi): update to 4.19.73-db69008
adds "drm/v3d: clean caches at the end of render jobs on
request from user space" commit.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-20 20:22:49 +02:00
MilhouseVH
dbf8f36048 RPi: update to firmware c3f9eee 2019-09-20 20:11:16 +02:00
Matthias Reichl
259a5b7f73 systemd: use upstream method to enable and configure debug shell
With systemd-debug-generator installed we can use the standard
"systemd.debug_shell" kernel command line parameter to enable the debug
shell. Since systemd 243 the tty can also be changed by appending
"=ttyXYZ" to that parameter.

Use this method instead of enabling the debug shell on all systems
by default.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-19 09:09:27 +02:00
MilhouseVH
e1d6e92907 systemd: fix issues after #3326
/etc/98-busybox.conf configures the prompt and TERM.

PR #3326 stopped sourcing /etc/profile, which meant the
prompt no longer includes the HOSTNAME.

Additionally, #3326 removed code which unhides the cursor.
2019-09-19 09:09:27 +02:00
Lukas Rusak
010bd5fd9d systemd: enable switch debug-tty to provide a debug console
This allows us to use the default debug-shell.service provided
by systemd and cut down on custom made services. This will also
always provide a debug shell as there is no reason we shouldn't
have access to one.
2019-09-19 09:09:27 +02:00
Matthias Reichl
707b974d76 busybox: add workaround for systemd issue 867
journald on systemd versions up to 242 don't close the persistent
journal files on shutdown which leads to a harmless but annoying
Failed unmounting message during shutdown
https://github.com/systemd/systemd/issues/867

Set LazyUnmount=yes on the persistent log mount unit as a temporary
workaround until systemd is updated to 243 or newer.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-19 09:08:20 +02:00
Matthias Reichl
78080a6a46 busybox: cleanup persistent log setup when debugging is enabled
The ancient approach of symlinking /var/log to /storage/log doesn't
play nice with systemd as it doesn't setup proper dependencies and
unmounting /storage during shutdown may fail because systemd doesn't
know that it's needed for /var/log.

Use a conditional bind mount instead so systemd can automatically
create proper dependencies and unmount filesystems in the correct order.

Also store the persistent logfiles on /storage in a .cache/log
directory instead of log to avoid confusing users - users can access
logfiles via /var/log.

Note: we can't use tmpfiles.d to create the .cache/log directory on
/storage because that would run after local-fs.target but we need
the .log directory before that so it has to be done via a one-shot
service.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-19 09:08:20 +02:00
sky42
01931c4940 busybox: init: changed upgrade to update in notes/messages 2019-09-18 23:04:50 +02:00
sky42
4ba4ba6df2 busybox: init: less mount/umount for update process 2019-09-18 23:04:43 +02:00
sky42
f44f964127 busybox: init: mount squashfs early
to have a full set of binaries in the init process as early as possible
it now mounts the squashfs direct after mounting /flash.
there is also a hook /flash/post-sysroot.sh for custom scripting.
i will use this e.g. for lvm2 and cryptsetup in the init process,
because they are very big and i dont like them in initramfs.
2019-09-18 23:00:14 +02:00
MilhouseVH
f504f8cdcf LibreELEC-settings: update to LibreELEC-settings-d9765c9 2019-09-18 21:47:01 +01:00
MilhouseVH
a06ddbdce1 kodi: add pastekodi script 2019-09-18 21:47:01 +01:00
Matthias Reichl
28ecf8f4ac Merge pull request #3803 from MilhouseVH/le92_rpi4_firmware
RPi4: add tools for updating SPI bootloader [backport]
2019-09-18 22:42:34 +02:00
MilhouseVH
ebceed98a9 Merge pull request #3845 from CvH/9.2/kodi-heif
imagedecoder.heif addon
2019-09-18 19:51:00 +01:00
CvH
c74a96b92d imagedecoder.heif: add package 2019-09-18 18:56:06 +02:00
CvH
bd07ce9ac5 libheif: initial package 2019-09-18 18:56:06 +02:00
CvH
a559932c08 libde265: initial package 2019-09-18 18:56:06 +02:00
MilhouseVH
97c2967826 Merge pull request #3805 from HiassofT/le92-systemd-fix-fs-corruption
[le92] fix filesystem corruption on reboot/shutdown
2019-09-18 17:18:44 +01:00
MilhouseVH
a6459fe37e Merge pull request #3838 from HiassofT/le92-init-toram
[le92] init: make copying SYSTEM to RAM opt-in
2019-09-18 17:16:33 +01:00
MilhouseVH
12495fad3f Merge pull request #3836 from HiassofT/le92-kodi-shutdown
[le92] kodi: give kodi enough time to properly shut down
2019-09-18 17:16:01 +01:00
MilhouseVH
17827c1c71 xf86-video-nvidia: update to xf86-video-nvidia-430.50 2019-09-18 16:37:20 +01:00
5schatten
226cc4234c Merge pull request #3824 from MilhouseVH/le92_mesa-19.1.6
mesa: update to mesa-19.1.6 [backport]
2019-09-18 17:32:57 +02:00
MilhouseVH
e807b9ca54 rpi-eeprom: update to rpi-eeprom-1923a55 2019-09-18 11:05:14 +01:00
MilhouseVH
e5236c3910 RPi: update to firmware f8e0510 2019-09-17 23:19:04 +02:00
MilhouseVH
138374b949 RPi: update to firmware 7f607df 2019-09-17 19:19:34 +02:00
Matthias Reichl
1c091618e8 linux (RPi): update to 4.19.73-2b1731f
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-17 14:15:03 +02:00
Matthias Reichl
5f778a505a init: make copying SYSTEM to RAM opt-in
Copying SYSTEM to RAM eats up precious memory that'd be better used
for kernel filesystem cache and other things and can takes quite some
time on slower storage devices like SD cards.

Instead of having two options to define a minimum RAM size (below
which SYSTEM won't be copied) and the "noram" option (which disables
copying completely) reverse the logic and use a single "toram" option
which users can set on kernel command line if they want SYSTEM copied
to RAM.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-16 21:35:22 +02:00
Matthias Reichl
7cfe729d29 kodi: give kodi enough time to properly shut down
The current stop timeout of 5 seconds is way too low and
leads to systemd frequently killing kodi while it's still
shutting down. This is really bad since it can potentially
lead to corrupted files or databases and should be avoided
at all costs.

eg plain kodi 18.4 setup with only pvr.hts installed takes
about 6 seconds to stop on RPi4.

Increase the stop timeout to 30 seconds to allow proper shutdown
on slower systems.

While that is still a lot lower than the 90 seconds
systemd default it should both be enough for very slow systems
and also for us and users to notice kodi issues - in which case
those issues have to be investigated.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-16 14:34:32 +02:00
MilhouseVH
1c3da1e645 RPi: update to firmware a2778bf 2019-09-16 12:25:04 +02:00
CvH
536a2d0014 Merge pull request #3809 from HiassofT/le92-hyperion
[le92] hyperion: Update to version 2019-08-19
2019-09-15 18:58:53 +02:00
Matthias Reichl
dd198bf0b4 systemd: prevent unmounting flash via umount.target
add drop-in to set DefaultDependencies=no on /flash mount. This
removes the Conflicts=umount.target and /flash won't be unmounted
by systemd. systemd-shutdown will then later remount it ro and
try to unmount it.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-13 23:50:26 +02:00
Matthias Reichl
ec342bdd9b scripts/install: copy system.d files recursively
This allows installing drop-ins.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-13 23:50:26 +02:00
MilhouseVH
9ee80a21b7 mesa: update to mesa-19.1.6 2019-09-13 15:42:33 +01:00
Matthias Reichl
048a33c99c linux (RPi): config options for 4.19.71-bd3452c
Enable Hifiberry DAC+DSP soundcard driver

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-12 15:10:53 +02:00
Matthias Reichl
07f8b9418e linux (RPi): update to 4.19.71-bd3452c
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-12 15:09:51 +02:00
Matthias Reichl
c04a6f4759 ffmpeg: update RPi4 HEVC patch to 18.4-Leia-9e6b24c
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-12 13:34:02 +02:00
Matthias Reichl
74afcc236f kodi (RPi4): update to 18.4-Leia-9e6b24c
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-12 13:34:00 +02:00
Matthias Reichl
233b4ed056 Merge pull request #3812 from MilhouseVH/le92_libretro-mame-fix-sha
[le92] libretro-mame: fix PKG_SHA256
2019-09-11 18:34:36 +02:00
MilhouseVH
2129e29c22 [le92] libretro-mame: fix PKG_SHA256 2019-09-11 17:28:39 +01:00
Matthias Reichl
c042c433f6 hyperion: Update to version 2019-08-19
Fix resuming from paused in kodi 18

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-10 20:36:15 +02:00
MilhouseVH
2fd8ed32ce Merge pull request #3801 from Kwiboo/rockchip-update-9.2
Rockchip: update rkmpp and sync linux config
2019-09-09 21:51:55 +01:00
MilhouseVH
d6367beef7 RPi: update to firmware 3bba190 2019-09-09 22:42:57 +02:00
Matthias Reichl
87e293535a systemd: drop patch that causes filesystem corruption on reboot/shutdown
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-09 10:45:05 +02:00
Jernej Škrabec
55bb46103b Merge pull request #3795 from MilhouseVH/le92_samba-4.9.13
samba: update to samba-4.9.13 [backport]
2019-09-09 00:35:35 +02:00
MilhouseVH
6000b5c87b LibreELEC-settings: update to LibreELEC-settings-a8481d9 2019-09-08 20:23:02 +01:00
MilhouseVH
438198dcd6 init: cleanup flash; execute real script not wrapper 2019-09-08 20:22:52 +01:00
MilhouseVH
9e79363e78 rpi-eeprom: use wrapper to ensure /flash is writeable 2019-09-08 20:22:52 +01:00
MilhouseVH
505df7c788 LibreELEC-settings: update to LibreELEC-settings-edbb35f 2019-09-08 20:22:52 +01:00
MilhouseVH
72e19ccae8 init: add rpi-flash-firmware service 2019-09-08 20:22:52 +01:00
MilhouseVH
3e32f390db RPi4: enable rpi-eeprom 2019-09-08 20:22:52 +01:00
MilhouseVH
da11d70f7d rpi-eeprom: new package 2019-09-08 20:22:52 +01:00
MilhouseVH
c1cd2e5c73 flashrom: new package 2019-09-08 20:22:52 +01:00
MilhouseVH
6e05ca4a69 bcm2835-driver: /opt/vc/bin/vcmailbox (needed by rpi-eeprom-update) 2019-09-08 20:22:52 +01:00
MilhouseVH
bdeb0ccd4f binutils: build strings for target (needed by rpi-eeprom-update) 2019-09-08 20:22:52 +01:00
Jonas Karlman
44d46b4a23 Rockchip: sync linux config with master 2019-09-08 18:17:07 +00:00
Jonas Karlman
749b9b2068 ffmpeg: update rkmpp patches 2019-09-08 18:16:59 +00:00
Jonas Karlman
2a5b368872 rkmpp: update to 451ae59 2019-09-08 18:16:59 +00:00
CvH
276b989054 Merge pull request #3799 from HiassofT/le92-binary-addons2
[le92] binary addons: update to latest Leia versions
2019-09-07 20:10:11 +02:00
Matthias Reichl
329dbc22f2 binary addons: update to latest Leia versions
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-06 23:59:01 +02:00
MilhouseVH
18e6c50ee1 RPi: update to firmware e2e17cd 2019-09-06 19:04:24 +02:00
Matthias Reichl
ccfaa1ea32 linux (RPi): config options for 4.19.71
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-06 16:35:15 +02:00
Matthias Reichl
d2015cf60b linux (RPi): update to 4.19.71-4a6e8b2
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-06 16:15:25 +02:00
MilhouseVH
5c262a7c63 samba: update to samba-4.9.13 2019-09-04 16:50:40 +01:00
CvH
572c3ad9a2 Merge pull request #3788 from HiassofT/le92-game-addons
retroplayer addons: update to latest Leia versions
2019-09-02 23:05:37 +02:00
Matthias Reichl
728d0ee3ee game.libretro.melonds: set PKG_ARCH to none
Current version requires OpenGL which isn't supported in retroplayer.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-02 17:40:13 +02:00
Matthias Reichl
b615639ab1 libretro-desmume: fix build
ported from https://github.com/5schatten/LibreELEC-RR/tree/master-rr/packages/5schatten/emulation/libretro/desmume

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-02 17:38:40 +02:00
Matthias Reichl
23434e18ca libretro-nestopia: fix build
ported from https://github.com/5schatten/LibreELEC-RR/blob/master-rr/packages/5schatten/emulation/libretro/nestopia/package.mk

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-02 17:38:40 +02:00
Matthias Reichl
480fc09d5a libretro-stella: fix PKG_LIBNAME
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-02 17:38:40 +02:00
Matthias Reichl
077ee9572b yabause: reworked make opts / added armv build fix
ported from 953c80a0d7 (diff-34b47b9f7f580bd786394680c7f8c859)

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-02 17:38:40 +02:00
Matthias Reichl
38f45582e2 retroplayer addons: update to latest Leia versions
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-02 17:38:40 +02:00
CvH
f43acfbbde Merge pull request #3734 from MilhouseVH/le92_backports4
le92 backports (9.1.003)
2019-09-02 12:29:00 +02:00
MilhouseVH
a80ee9d033 mesa: update to mesa-19.1.5 2019-09-02 11:26:52 +01:00
CvH
d58acf754d Merge pull request #3770 from MilhouseVH/le92_buildsystem_fixups
buildsystem: minor fixups [backport]
2019-09-01 17:09:55 +02:00
CvH
0bd3e610a3 Merge pull request #3732 from mglae/le92_timidity
audiodecoder.timidity: add libtimidity.so
2019-09-01 17:09:19 +02:00
CvH
a076e074ef Merge pull request #3786 from HiassofT/le92-kodi-18.4-addons
binary addons: update to latest Leia versions
2019-09-01 17:07:22 +02:00
CvH
a3cab3855a Merge pull request #3783 from HiassofT/le92-ffmpeg-404
[le92] ffmpeg: update to 4.0.4-Leia-18.4
2019-09-01 17:07:07 +02:00
CvH
4e2e7c824c Merge pull request #3785 from HiassofT/le92-kodi-18.4
kodi: update to 18.4-Leia
2019-09-01 17:06:50 +02:00
Matthias Reichl
e117405cec kodi: update to 18.4-Leia
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-01 13:04:51 +02:00
5schatten
3ac9286fbf libretro-mame2015: switch PKG_TOOLCHAIN to make / reworked make opts 2019-09-01 12:01:19 +02:00
5schatten
be5afc4cdd game.libretro.mame2015: reset PKG_REV & restrict ARCH to arm & x86_64 2019-09-01 12:01:19 +02:00
5schatten
4d9d148629 game.libretro.mame2014: add back as broken addon 2019-09-01 12:01:19 +02:00
5schatten
9ae87b9e15 game.libretro.mame2016: build only for AMLG12 Generic & RK3399 2019-09-01 12:01:19 +02:00
5schatten
58430ffe6a libretro-mame2016: updated to git efc37c9 / fixed build for ARM / cleaned up / updated cross-compile patch 2019-09-01 12:01:19 +02:00
5schatten
a7c4f092e1 game.libretro.mame2015: initial package 0.160.0.3-Leia 2019-09-01 09:56:24 +02:00
5schatten
61461cd8e1 libretro-mame2015: initial package git d43c94f 2019-09-01 09:56:16 +02:00
5schatten
b7d6680f15 game.libretro.mame2014: decommission package 2019-09-01 09:56:01 +02:00
5schatten
b2b2eea1c2 libretro-mame2014: decommission package 2019-09-01 09:55:29 +02:00
Matthias Reichl
cebad6b63f binary addons: update to latest Leia versions
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-09-01 08:54:55 +02:00
Matthias Reichl
b8d6a1dfc9 ffmpeg: update to 4.0.4-Leia-18.4
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-31 11:26:09 +02:00
Matthias Reichl
a19b955bd9 linux (RPi): update to 4.19.69-216324a
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-31 08:21:41 +02:00
MilhouseVH
fc96741f5a RPi: update to firmware bc79c34 2019-08-31 08:17:51 +02:00
MilhouseVH
0225a0342b Merge pull request #3711 from HiassofT/le92-kodi-rpi4
Kodi (RPi4): update to latest leia_pi4 version
2019-08-29 23:36:35 +01:00
Matthias Reichl
4c42ff3f82 linux (RPi): update to 4.19.68-d9a27b2
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-29 09:46:35 +02:00
MilhouseVH
ec3ff1b6d1 RPi: update to firmware 18bf532 2019-08-29 09:45:18 +02:00
Matthias Reichl
2f1e06c26d linux (RPi): update to 4.19.67-174fcab
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-27 12:52:37 +02:00
MilhouseVH
10f41385b1 RPi: update to firmware 0b0ec99 2019-08-27 12:51:15 +02:00
MilhouseVH
2b35beeb0f RPi: update to firmware 0a18244 2019-08-27 12:51:15 +02:00
MilhouseVH
d81cc10a81 Merge pull request #3765 from HiassofT/le92-console-font
[le9.2] use a larger console font on HiDPI displays
2019-08-23 15:21:08 +01:00
Matthias Reichl
4533bf3ea7 init: make resolution limit for using big console font configurable
The vertical resulution limit can be set with the "bigfont" option.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-23 12:54:59 +02:00
Matthias Reichl
7da4fa4dc9 init: use terminus 16x32 font on >1080 lines displays
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-23 12:54:59 +02:00
Matthias Reichl
316620cdb9 initramfs: add terminus-font dependency
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-23 12:54:59 +02:00
Matthias Reichl
7deb7b0236 busybox: enable setfont
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-23 12:54:59 +02:00
Matthias Reichl
827e3f1444 terminus-font: add package
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-23 12:54:59 +02:00
capntrips
50935255f0 systemd: fix swap partition handling when multiple swap partitions are present 2019-08-23 00:32:43 +01:00
Mario Krupa
ee2503e625 getedid: added the active HDMI/DP port to new kernel parameters
Added the active HDMI/DP port to kernel parameters. 

Without it, fixed EDID does not work on Intel Haswell and possibly others.
2019-08-19 01:39:15 +01:00
MilhouseVH
86f677ceea save_build_config: centralise 2019-08-17 12:49:39 +01:00
MilhouseVH
50afe5e20c scripts/get_archive: fix typo 2019-08-17 12:49:39 +01:00
MilhouseVH
55a50f3ec7 shared-mime-info: fix target dependency 2019-08-17 12:49:39 +01:00
MilhouseVH
210f15173c libretro-fsuae: fix target dependency 2019-08-17 12:49:38 +01:00
MilhouseVH
db3061c294 liblognorm: fix target dependency 2019-08-17 12:49:38 +01:00
MilhouseVH
7437f95512 glew: fix target dependency 2019-08-17 12:49:38 +01:00
MilhouseVH
7f8b26a001 icu: fix host dependency 2019-08-17 12:49:38 +01:00
MilhouseVH
ea370a93cf efivar: fix host dependency 2019-08-17 12:49:38 +01:00
MilhouseVH
8883bab7b5 tsdecrypt: fix target dependency 2019-08-17 12:49:38 +01:00
MilhouseVH
b8637f24ee libretro-uae4arm: fix target dependency 2019-08-17 12:49:38 +01:00
MilhouseVH
3e0369fac2 libzip: fix target dependency 2019-08-17 12:49:38 +01:00
MilhouseVH
b081a83003 glib: fix target dependency 2019-08-17 12:49:38 +01:00
MilhouseVH
50fe8d25bb opencaster: fix target dependency 2019-08-17 12:49:38 +01:00
MilhouseVH
3487aa4f59 file: fix host dependency 2019-08-17 12:48:28 +01:00
MilhouseVH
538793e0e8 tools/dashboard: support THREADCOUNT=0 2019-08-17 12:48:13 +01:00
MilhouseVH
2c2a752bb4 config/functions: fix formatting with THREADCOUNT=0 2019-08-17 12:48:13 +01:00
MilhouseVH
bcb6fbb2dd config/multithread: allow THREADCOUNT=0 (one thread per package) 2019-08-17 12:47:44 +01:00
MilhouseVH
066d1f4915 config/functions: invert concurrency logic, more logical 2019-08-17 12:47:38 +01:00
MilhouseVH
f3ec7145ab buildsystem: fix stale comment 2019-08-17 12:47:32 +01:00
MilhouseVH
810135dfb1 Merge pull request #3696 from HiassofT/le92-kernel-4.19.58+
linux (RPi) update to 4.19.58+
2019-08-16 16:41:20 +01:00
Matthias Reichl
cc3f393bce linux (RPi): update to 4.19.66-fc5826f
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-15 18:24:01 +02:00
CvH
87a3e42c97 Merge pull request #3748 from awiouy/92-lsbitrate
librespot: update to 51a634d (2019-07-23) backport of #3747
2019-08-14 17:49:45 +02:00
MilhouseVH
e7e3247c27 zstd: update to zstd-1.4.2 2019-08-13 19:52:32 +01:00
5schatten
b6d91f188f zstd: update to 1.4.1 2019-08-13 19:52:32 +01:00
MilhouseVH
d044026689 mesa: update to mesa-19.1.4 2019-08-13 19:50:10 +01:00
MilhouseVH
3aa1bc4080 curl: update to curl-7.65.3 2019-08-13 19:48:35 +01:00
CvH
854f65ff6f Merge pull request #3763 from awiouy/92-emby4210
emby4: update to 4.2.1.0
2019-08-13 20:32:15 +02:00
awiouy
fdd66d5dc9 emby4: update to 4.2.1.0 2019-08-13 13:21:22 +02:00
awiouy
6a1675d0c4 imagemagick: update to 7.0.8-60 2019-08-13 13:21:02 +02:00
MilhouseVH
352fa92689 RPi: update to firmware 66bafab 2019-08-09 19:58:11 +02:00
Matthias Reichl
7b1fe3b40f linux (RPi): update to 4.19.65-f1c1b67
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-09 19:54:24 +02:00
CvH
9243994d4d Merge pull request #3752 from awiouy/92-emby42040
emby4: update to 4.2.0.40 backport of #3751
2019-08-08 17:44:47 +02:00
awiouy
e45756a624 emby4: update to 4.2.0.40 2019-08-08 17:02:28 +02:00
awiouy
4c82cf416b imagemagick: update 7.0.8-59 2019-08-08 17:01:58 +02:00
awiouy
2b05e02808 librespot: update to 51a634d (2019-07-23) 2019-08-08 13:35:13 +02:00
awiouy
7fdcfe9d4a pyalsaaudio: remove package 2019-08-08 13:33:59 +02:00
Matthias Reichl
a30489aef6 linux (RPi): enable CONFIG_SENSORS_GPIO_FAN
see https://forum.libreelec.tv/thread/20094-raspberry-pi-gpio-fan-overlay/

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-07 23:55:57 +02:00
Leonardo Brondani Schenkel
5b9312d366 busybox: allow customizing suspend-modules.conf 2019-08-07 17:04:34 +01:00
Leonardo Brondani Schenkel
0af77e49db busybox: add 'xpad' to SUSPEND_MODULES
In some systems, xpad times out during suspend:

[ 4470.773651] xpad 2-1.5:1.6: timed out waiting for output URB to complete, killing
[ 4475.892774] xpad 2-1.5:1.4: timed out waiting for output URB to complete, killing
[ 4481.011717] xpad 2-1.5:1.2: timed out waiting for output URB to complete, killing
[ 4486.130707] xpad 2-1.5:1.0: timed out waiting for output URB to complete, killing
[ 4486.288630] PM: suspend devices took 20.880 seconds

This causes suspend to take a long time to complete. Unloading/reloading
the module during suspend/wakeup successfully works around this issue.
2019-08-07 17:04:34 +01:00
Matthias Reichl
027f5f9542 linux (RPi): update to 4.19.64-76b2727
This fixes the vc4 oops

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-07 12:59:13 +02:00
Matthias Reichl
1ca4b9e2ab linux (RPi): revert back to 4.19.64-ea85838
latest vc4 changes currently cause a kernel Oops and kodi lockup on
splash screen on RPi4.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-07 00:55:15 +02:00
Matthias Reichl
0a63988817 linux (RPi): update to 4.19.64-6da0550
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-06 22:02:32 +02:00
MilhouseVH
dc56cf1aa0 RPi: update to firmware 94bae1b 2019-08-06 21:59:59 +02:00
Matthias Reichl
c31b78aa65 Merge pull request #3668 from CvH/9.2/backport_addons
[Backport] Addons Tvh, VDR, Minisatip, ffmpeg-tools
2019-08-06 11:27:57 +02:00
Peter Vicman
7f2c559952 jre.zulu: initial addon
Java Runtime Environment 8 for Blu-ray Disc Java menus from Azul Systems.
Also includes libbluray-j2se-*.jar file.
2019-08-05 18:27:18 +01:00
CvH
f07b611b85 tvheadend42: update to 4.2.8-27 2019-08-02 22:45:18 +02:00
CvH
9be01dd43b ffmpeg-tools: update to 108 2019-08-02 22:45:18 +02:00
CvH
d9f5c1f594 libhdhomerun: update to 20190625 2019-08-02 22:45:18 +02:00
CvH
ea070a4252 aom: update to e2c1d5e 2019-08-02 22:45:18 +02:00
CvH
5052df5098 aom: update to add63ad 2019-08-02 22:45:18 +02:00
CvH
11c50fa049 ffmpegx: x86_64 depends on vaapi 2019-08-02 22:45:18 +02:00
CvH
51952298df comskip: update to 14dffb2 2019-08-02 22:45:18 +02:00
CvH
fb481d6e8b x265: update to 3.0 2019-08-02 22:45:18 +02:00
CvH
692820c7e6 x264: update to d4099dd 2019-08-02 22:45:18 +02:00
CvH
49665d0f56 libvpx: update to 1.8.0 2019-08-02 22:45:18 +02:00
CvH
10b73fa523 vdr-addon: update to 2.4.1 2019-08-02 22:45:18 +02:00
mglae
be4588cba8 vdr-addon: don't stop vdr before kodi 2019-08-02 22:45:18 +02:00
CvH
f4ba1c8d0a vdr-plugin-epgsearch: update to 770de32 2019-08-02 22:45:18 +02:00
CvH
ba7682954f vdr-plugin-robotv: update to 13b691a 2019-08-02 22:45:18 +02:00
CvH
32fb0dbdb6 vdr-plugin-satip: update to b697e43 2019-08-02 22:45:18 +02:00
CvH
2307fc6682 vdr: update to 2.4.1 2019-08-02 22:45:18 +02:00
CvH
9689856e11 minisatip: update to 0.7.18 2019-08-02 22:45:18 +02:00
MilhouseVH
dc79a08ac8 xf86-video-nvidia: update to xf86-video-nvidia-430.40 2019-08-02 15:31:06 +01:00
Matthias Reichl
f7d3be64e8 linux (RPi): config options for 4.19.63
Adapt to RPi4 Kconfig change, enable RPIVID_MEM instead of ARGON_MEM

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-01 21:21:37 +02:00
Matthias Reichl
158db2052d linux (RPi): update to 4.19.63-75f1d14
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-08-01 21:15:55 +02:00
MilhouseVH
31ae0db426 RPi: update to firmware 3822340 2019-08-01 20:50:56 +02:00
MilhouseVH
4136121967 Merge pull request #3702 from HiassofT/le92-dosfstools
[le92] use e2fsprogs/dosfstools from toolchain for image creation
2019-07-31 17:58:57 +01:00
MilhouseVH
76abc3a94e mesa: update to mesa-19.1.3 2019-07-31 17:55:53 +01:00
MilhouseVH
e7ea4cda81 parallel: update to parallel-20190722 2019-07-31 17:53:31 +01:00
mglae
be5631bfca audiodecoder.timidity: add libtimidity.so 2019-07-30 18:24:43 +02:00
Matthias Reichl
0e2c544636 linux (RPi): config options for 4.19.60
Enable Hifiberry DAC+ADC PRO driver

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-26 21:40:38 +02:00
Matthias Reichl
dff7803273 linux (RPi): update to 4.19.60-20565c9
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-26 21:39:32 +02:00
MilhouseVH
3a2cb71bdb RPi: update to firmware 56e23d8 2019-07-26 21:35:40 +02:00
MilhouseVH
cc23c1aa7d Merge pull request #3717 from ToKe79/le92-func_safe_remove_symlink
safe_remove: remove also broken symbolic links
2019-07-24 15:13:25 +01:00
MilhouseVH
63dc844972 RPi: update to firmware 38e81f2 2019-07-24 13:51:24 +02:00
Tomas Kelemen (vudiq)
9fca79227d safe_remove: remove also broken symbolic links
if the target ($1) is a symbolic link to a removed file/folder, the
check will fail and the (broken) symbolic link will be not removed.
2019-07-23 17:07:16 +02:00
Matthias Reichl
73aef806ae linux (RPi): config options for 4.19.59
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-22 20:08:33 +02:00
Matthias Reichl
27a9b68274 linux (RPi): update to 4.19.59-a21b986
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-22 20:06:50 +02:00
CvH
d676a82920 Merge pull request #3715 from HiassofT/le92-rpi-fix-pulse
kodi (RPi): add missing alsa+pulseaudio patch
2019-07-21 22:03:58 +02:00
Matthias Reichl
434b5dcd20 kodi (RPi): add missing alsa+pulseaudio patch
Commit f1ef2f099c missed to
add the "use-alsa-and-pulse-together" for kodi vendor raspberrypi.
Add it back so pulseaudio shows up in Kodi on RPi again.

See also https://forum.libreelec.tv/thread/13245-kodi-18-0-update-for-slice/?postID=123042#post123042

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-21 20:41:24 +02:00
Matthias Reichl
ff14fc75de ffmpeg: update RPi4 HEVC patch to 18.3-Leia-b0e4133
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-19 10:28:00 +02:00
Matthias Reichl
ee01247de3 kodi (RPi4): update to 18.3-Leia-b0e4133
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-19 10:27:58 +02:00
Matthias Reichl
62f0784860 linux (RPi4): enable CONFIG_PCIEPORTBUS
Sync with official RPi kernel, see
https://github.com/raspberrypi/linux/pull/3086

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-18 19:34:16 +02:00
MilhouseVH
151ff51d3d RPi: update to firmware cba4be2 2019-07-17 18:58:02 +02:00
Matthias Reichl
a62c0088b7 scripts/image: drop /sbin from PATH
All programs needed for image creation are available in toolchain.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-16 21:02:12 +02:00
Matthias Reichl
6fce87427b e2fsprogs: build binaries needed for image creation
build e2fsck, mke2fs and tune2fs and install them to toolchain

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-16 21:02:12 +02:00
Matthias Reichl
ec6cd1c748 scripts/mkimage: use fsck.fat to check FAT partition
fsck.fat is available in toolchain, so use that instead of fsck from
build host (which may not support checking FAT filesystems).

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-16 21:02:12 +02:00
CvH
af21cb6650 Merge pull request #3697 from HiassofT/le92-bumpscripts
[le92] cleanup and improve addon update scripts
2019-07-16 20:16:01 +02:00
CvH
e5204380fa Merge pull request #3691 from awiouy/92-ls
librespot: update to 4e3576b (2019-06-01), only play with kodi (backport of #3690)
2019-07-16 19:50:17 +02:00
CvH
a2c343813a Merge pull request #3699 from MilhouseVH/le92_drop_ninja_with_kodi
kodi: building with ninja makes xbmc/1600 more likely - don't use ninja [Backport]
2019-07-16 19:48:31 +02:00
Matthias Reichl
ad6a9f656e dosfstools: install fsck.fat and fatlabel to toolchain
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-15 21:15:29 +02:00
awiouy
6a0e35e8c4 librespot: update to 4e3576b (2019-06-01), only play with kodi 2019-07-14 23:32:51 +02:00
awiouy
838b7587c4 rust: update to 1.36.0 2019-07-14 23:32:51 +02:00
awiouy
a5480b6fbb rustup.rs: update to 1.18.3 2019-07-14 23:32:51 +02:00
MilhouseVH
089293d1b1 kodi: building with ninja makes xbmc/1600 more likely - don't use ninja 2019-07-14 22:28:10 +01:00
CvH
60c0025939 Merge pull request #3694 from HiassofT/le92-kodi-addon-bump
binary addons: updated to latest Leia, bump PKG_REV on current ones
2019-07-14 00:11:06 +02:00
Matthias Reichl
d40e6da679 update_binary-addons: fix PKG_REV bump for unofficial addons
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-13 16:04:37 +02:00
Matthias Reichl
02781b9cbf update_retroplayer-addons: drop loop over single item
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-13 16:04:37 +02:00
Matthias Reichl
2ae4537216 addon update scripts: refactor repo fetching and package updating
Kodi binary and game addons always reference branches in the addon
repo. The only exception is the kodi-platform package which references
a githash.

This allows us to simplify remote repo fetch and tag / branch HEAD
resolving: we don't need named branches in the working copy but can
simply query remote branches or use a detached branch if we need the
actual contents.

With this change the same (out-of-tree) directory containing cloned
repos can be used to update both kodi Leia and master addon versions,
without needing another clone.

Also refactor the package update code, drop update_to_latest_tag from
common functions (it was only used by update_binary-addons,
update_retroplayer-addons needs slightly different logic) and use
update_pkg function. update_retroplayer-addons now also uses update_pkg
instead of duplicating nearly identical code.

Several variable names have been cleaned up to follow a common naming
pattern.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-13 16:04:37 +02:00
Matthias Reichl
43e58805d7 addon update scripts: change PKG_REV update logic
When updating versioned / tagged addons reset PKG_REV to 1.

When updating unversioned / untagged addons always bump PKG_REV
as we don't know if the version has been changed or not.

If the "-b/--bump-pkg-rev" option is used PKG_REV will be bumped
on all addons that weren't updated. Use this to ensure all addons
will have a newer version than before.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-13 16:04:37 +02:00
Matthias Reichl
212c181de6 addon update scripts: set modes via command line options
Use command line options to select PKG_REV bump and deleting
cloned git dis after update. git dirs are now kept by default,
deleting them has to be explicitly enabled via "-d".

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-13 16:04:37 +02:00
MilhouseVH
af7dd480fd RPi: update to firmware f6d9f13 2019-07-13 09:20:29 +02:00
Matthias Reichl
4200d032e3 linux (RPi): update to 4.19.58-2461136
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-13 09:11:33 +02:00
Matthias Reichl
f2340cbcc9 binary addons: updated to latest Leia, bump PKG_REV on current ones
the PKG_REV bump on non-updated addons ensures rebuilt addons will
be rolled out to RPi4 users.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-12 23:51:05 +02:00
CvH
e25aee7b70 Merge pull request #3684 from MilhouseVH/le92_shadertoys_pi4
packages: fix shadertoys when building with RPi4 [backport]
2019-07-11 22:12:33 +02:00
CvH
3d3548216e Merge pull request #3681 from HiassofT/le92-addon-version-9.1.901
bump ADDON_VERSION to 9.1.901
2019-07-11 22:12:08 +02:00
CvH
9a21fc75d9 Merge pull request #3679 from MilhouseVH/le92_backports3
backports: various backports for libreelec-9.2
2019-07-11 22:11:40 +02:00
MilhouseVH
66d3241701 visualization.shadertoy: remove unused EGL headers, fix RPi4 build 2019-07-11 19:24:15 +01:00
MilhouseVH
224bbd25a8 screensaver.shadertoy: update to screensaver.shadertoy-81b2758 2019-07-11 19:24:14 +01:00
CvH
0ebb14559d Merge pull request #3678 from awiouy/92-addons
update addons: emby4, dotnet-runtime, syncthing, tvmosaic (backport of #3677)
2019-07-11 20:07:47 +02:00
Matthias Reichl
7b0de5b7f6 bump ADDON_VERSION to 9.1.901
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-11 10:09:47 +02:00
MilhouseVH
161b7d7942 Merge pull request #3675 from HiassofT/le92-hyperion-rpi4
hyperion: check for RPi project instead of KODIPLAYER_DRIVER
2019-07-11 08:49:19 +01:00
MilhouseVH
1ebce4e7eb Merge pull request #3606 from HiassofT/le92-kernel-4.19.56
linux (RPi): update to 4.19.56+
2019-07-11 08:45:01 +01:00
Christian Hewitt
5a6715c5aa Merge pull request #3680 from MilhouseVH/le92_abs_patch_dir
buildsystem: add absolute patch dirs, remove unecessary sub-process, other cleanup [backport]
2019-07-11 07:12:10 +01:00
MilhouseVH
d93bd49a02 distro-tool: halve the time required to generate workload 2019-07-11 07:03:56 +01:00
Christian Hewitt
426ff4cb1f Merge pull request #3673 from MilhouseVH/le92_systemd_rdrand_fix
systemd: eat up RDRAND values seen on AMD cpus [backport]
2019-07-11 06:24:22 +01:00
MilhouseVH
8fc217337c buildsystem: include BUILD_SUFFIX in dashboard 2019-07-11 00:37:12 +01:00
MilhouseVH
82f70d28c9 buildsystem: no need to source package for PKG_NAME 2019-07-11 00:37:12 +01:00
MilhouseVH
eaf81e7277 buildsystem: fix and relocate comment 2019-07-11 00:37:12 +01:00
MilhouseVH
fc97f456dc buildsystem: HACK: fix current status after initramfs
initramfs is currently built from within linux:target which is a problem
yet to be solved as it should be built as separately scheduled processes
just like everything else.

As we build initramfs from within linux:target, once initramfs is
finished it emits an "UNLOCK" event which is the last event for the
linux:target package until it too finishes, perhaps 5 or 10 minutes later.
During this 5-10 minute period the dashboard gives the impression that
initramfs is "stuck" in an UNLOCKed state when in fact processing continues
within linux:target, which is now the "ACTIVE" package for the process slot.

Until the initramfs scheduling problem is resolved, emit an extra "ACTIVE"
event upon returning to linux:target correcting the dashboard (and also
tools/mtstats.py elapsed time accumulation).
2019-07-11 00:37:12 +01:00
MilhouseVH
8380877cf5 buildsystem: support 6 digit process ids 2019-07-11 00:36:22 +01:00
MilhouseVH
ff8c463b31 buildsystem: bootstrapping parallel must not use locks 2019-07-11 00:36:22 +01:00
MilhouseVH
7d84fbe6fa buildsystem: add GETPKG history event 2019-07-11 00:36:22 +01:00
MilhouseVH
cff7ea1ab8 scripts/unpack: always download missing tarballs - fixes PKG_DEPENDS_UNPACK 2019-07-11 00:36:22 +01:00
MilhouseVH
e0dc24ea42 scripts/unpack: ensure PKG_BUILD is unpack dir for all unpack functions
The unpack folder will be a temporary (isolated) unpack folder for
pre_unpack() and unpack(), but by the time of post_unpack() the folder will
have been moved into the main ${BUILD} "public" folder.

This change ensures that PKG_BUILD always references the correct folder at all times.
2019-07-11 00:36:22 +01:00
MilhouseVH
79b31b45fd package inheritance: cleanup redundant files 2019-07-11 00:36:22 +01:00
MilhouseVH
341aa35c3c buildsystem: perform unpack when custom function provided 2019-07-11 00:36:22 +01:00
MilhouseVH
02601a2500 crazycat & dvb-latest: fix misconfiguration 2019-07-11 00:36:22 +01:00
MilhouseVH
adbe82298a scripts/unpack: avoid sub-process during custom unpack() 2019-07-11 00:36:22 +01:00
MilhouseVH
365faa110f buildsystem: support absolute paths in PKG_PATCH_DIRS 2019-07-11 00:36:22 +01:00
MilhouseVH
f1614bbac7 xf86-video-nvidia: update to xf86-video-nvidia-430.34 2019-07-11 00:32:01 +01:00
MilhouseVH
e89045361a mesa: update to mesa-19.1.2 2019-07-11 00:31:51 +01:00
MilhouseVH
ff813fca35 libva: update to libva-2.5.0 2019-07-11 00:30:56 +01:00
MilhouseVH
3e1563cb68 init: clean up splash image selection 2019-07-11 00:28:19 +01:00
MilhouseVH
b50aa11e7d libdrm: update to libdrm-2.4.99 2019-07-10 22:40:52 +01:00
awiouy
05a8e96592 dotnet-runtime: update to 2.2.6 2019-07-10 23:33:31 +02:00
awiouy
2caa3e3b8b lttng-ust: update to 2.10.4 2019-07-10 23:33:31 +02:00
awiouy
ff815836c5 userspace-rcu: update to 0.11.1 2019-07-10 23:33:31 +02:00
awiouy
39a81f5182 krb5: update to 1.17-final 2019-07-10 23:33:31 +02:00
awiouy
e826e18033 syncthing: update to 1.2.0 2019-07-10 23:33:31 +02:00
awiouy
a6bc84ddd3 tvmosaic: remove addon 2019-07-10 23:33:31 +02:00
Matthias Reichl
f04ec17bed Merge pull request #3658 from MilhouseVH/le92_fix_symlink_fixups
buildsystem: fix symbolic link fixups [backport]
2019-07-10 21:42:59 +02:00
awiouy
357615473e emby4: update to 4.1.1.0 2019-07-10 21:31:55 +02:00
awiouy
96d92948a7 imagemagick: update to 7.0.8-53 2019-07-10 21:31:09 +02:00
Matthias Reichl
28b122f38b hyperion: check for RPi project instead of KODIPLAYER_DRIVER
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-10 11:55:00 +02:00
MilhouseVH
1e68ced1fb RPi: update to firmware 025759b 2019-07-09 20:18:16 +02:00
MilhouseVH
8dbe022c96 systemd: eat up RDRAND values seen on AMD cpus 2019-07-09 18:45:42 +01:00
MilhouseVH
c2a626cdb6 RPi: update to firmware 549140c 2019-07-09 10:14:09 +02:00
MilhouseVH
266954d8b0 Merge pull request #3665 from CvH/9.2/back_libx11
[backport] libX11: update to 1.6.8 and crosscompile fixes
2019-07-07 21:19:02 +01:00
CvH
94aa4aebf6 libX11: update to 1.6.8 2019-07-07 14:22:23 +02:00
CvH
6536414a46 libX11: fix cross-compiling 2019-07-07 14:22:08 +02:00
MilhouseVH
a4a45cb3ba Merge pull request #3662 from sky42src/le92_5116
[le92] linux (Generic): update to linux-5.1.16
2019-07-07 01:23:17 +01:00
sky42
8c216956fd linux (Generic): update to linux-5.1.16
5.1.10 changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.1.10
5.1.11 changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.1.11
5.1.12 changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.1.12
5.1.13 changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.1.13
5.1.14 changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.1.14
5.1.15 changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.1.15
5.1.16 changelog: https://cdn.kernel.org/pub/linux/kernel/v5.x/ChangeLog-5.1.16
2019-07-06 10:41:35 +00:00
MilhouseVH
2b95120495 buildsystem: fix /usr targets 2019-07-05 23:00:15 +01:00
MilhouseVH
e44dd201a7 serdisplib: modify SYSROOT_PREFIX only during install 2019-07-05 23:00:15 +01:00
MilhouseVH
69e818ad25 bcm2835-driver: modify SYSROOT_PREFIX only during install 2019-07-05 23:00:15 +01:00
MilhouseVH
bf06da5c6b buildsystem: don't dereference LINK_NAME when fixing up sym links 2019-07-05 23:00:15 +01:00
MilhouseVH
973b437725 Merge pull request #3642 from HiassofT/le92-lirc
[le92] lirc: fix missing irman driver, include Debian patches
2019-07-05 22:56:01 +01:00
MilhouseVH
5fd83ea792 Merge pull request #3618 from HiassofT/le92-kodi-vendor-rpi4
kodi: switch RPi4 to use vendor tree
2019-07-05 22:52:20 +01:00
MilhouseVH
78e9965676 Merge pull request #3619 from HiassofT/le92-ffmpeg-patch-restructure
[le92] ffmpeg: restructure patches into feature sets
2019-07-05 22:50:53 +01:00
Matthias Reichl
8aad391e89 linux (RPi): update to 4.19.57-8ea4810
DT overlays and I2C fixes

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-05 23:40:42 +02:00
Matthias Reichl
fd1a20ede9 bcm2835-driver: update to eaf7268
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-05 23:03:04 +02:00
Matthias Reichl
5ae38dba9d bcm2835-bootloader: update to eaf7268
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-05 23:03:01 +02:00
Matthias Reichl
1fb4d27773 linux (RPi): update to 4.19.57-6e787b8
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-04 21:57:23 +02:00
Matthias Reichl
84e70210df ffmpeg: update RPi4 HEVC patch
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-04 11:21:30 +02:00
Matthias Reichl
664cadb820 RPi4: switch kodi vendor to raspberrypi4
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-04 11:21:30 +02:00
Matthias Reichl
237ed098f2 kodi: add "use alsa and pulse together" patch for raspberrypi4 vendor
Our patch had to be rebased because the RPi4 leia_pi4 branch registers
PiSink in WinSystemGbm.cpp which lead to a conflict.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-04 11:21:30 +02:00
Matthias Reichl
f1ef2f099c kodi: move "use alsa and pulse together" patch to vendor patch dirs
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-04 11:21:30 +02:00
Matthias Reichl
8bf41b5646 RPi4: drop kodi patches already included in leia_pi4 tree
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-04 11:21:30 +02:00
Matthias Reichl
285ff64f93 kodi: add kodi vendor raspberrypi4
This is tracking the leia_pi4 branch of https://github.com/popcornmix/xbmc
and allows us to drop the RPi4 kodi patches in LE.

Current version includes BT.2020 colour space fixes.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-04 11:21:30 +02:00
Christian Hewitt
f51e242eb6 Merge pull request #3643 from MilhouseVH/le92_nano_4.3
nano: updated to v4.3 [backport]
2019-07-03 19:11:59 +01:00
5schatten
5f4af38bda nano: updated to v4.3 2019-07-03 17:20:54 +01:00
Matthias Reichl
15cf6edcda lirc: add --enable-uinput configure option
Don't rely on autodetection as this will fail, eg when building
in a chroot without /dev/uinput, and result in lircd-uinput missing

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-03 17:03:05 +02:00
Matthias Reichl
fad82f0e52 libirman: rebuild after lirc changes
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-03 15:37:51 +02:00
Matthias Reichl
f999f5818e lirc: add patches from Debian Buster
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-03 12:15:38 +02:00
Matthias Reichl
60541fc7a4 lirc: fix disable-python patch
The patch accidentally dropped installation of pkgconfig files which
lead to libirman not detecting lirc

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-03 12:08:42 +02:00
Matthias Reichl
1da93cec4f bcm2835-driver: update to 383fcf5
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-03 09:35:59 +02:00
Matthias Reichl
5c211cf5d1 bcm2835-bootloader: update to 383fcf5
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-03 09:35:58 +02:00
Matthias Reichl
965be3346f linux (RPi): update to 4.19.56-9d1deec
This adds latest vc4 fixes and support for signalling colour
space/encoding.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-03 09:35:36 +02:00
Matthias Reichl
d46852e00c linux (RPi): disable initramfs compression
This was accidentally brought back with the switch to kernel 4.19
in commit 707655ced2

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-03 09:35:36 +02:00
Matthias Reichl
8fc25d9216 linux (RPi): config options for 4.19.56
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-03 09:35:36 +02:00
Matthias Reichl
bb6cb4a18c linux (RPi): update to 4.19.56
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-07-03 09:35:36 +02:00
Christian Hewitt
75104714e1 Merge pull request #3638 from MilhouseVH/le92_backports2
backports: various
2019-07-03 06:28:08 +01:00
5schatten
788419c782 docker: updated to 18.09.7 / updated Kodi addon storage location patch 2019-07-03 05:35:03 +01:00
5schatten
30f1e06c23 runc: updated to v1.0.0-rc8 2019-07-03 05:35:03 +01:00
5schatten
5cd2c6e4c9 libnetwork: updated to git e7933d4 2019-07-03 05:35:03 +01:00
5schatten
aba8d19930 go: updated to v1.12.6 2019-07-03 05:35:03 +01:00
5schatten
27130e8aa1 containerd: updated to v1.2.7 2019-07-03 05:35:03 +01:00
MilhouseVH
c29f446179 mesa: update to mesa-19.1.1 2019-07-03 05:35:03 +01:00
MilhouseVH
87eb94dc15 buildsystem: scripts/unpack becomes ACTIVE after clean 2019-07-03 05:35:03 +01:00
MilhouseVH
e76f0a39c0 buildsystem: unpack should recursively unpack, not build 2019-07-03 05:35:03 +01:00
MilhouseVH
b26a38279d samba: update to samba-4.9.10 2019-07-03 05:35:03 +01:00
MilhouseVH
0644052754 samba: update to samba-4.9.9 2019-07-03 05:35:03 +01:00
Christian Hewitt
7678359759 Merge pull request #3595 from MilhouseVH/le92_installer_options
init: more informative syslinux boot message [backport]
2019-07-03 05:16:09 +01:00
Christian Hewitt
5a5768aa60 Merge pull request #3594 from HiassofT/le92-mpg123-drop-sdl2
[le92] mpg123: drop dependency on SDL2
2019-07-03 05:15:39 +01:00
Christian Hewitt
eb8a4720ae Merge pull request #3624 from MilhouseVH/le92_revert_streamdetails_update
kodi: temp fix stream details are being lost once playback ends [backport]
2019-07-03 05:10:20 +01:00
MilhouseVH
541d29df36 Merge pull request #3636 from chewitt/repo_addon_version_backport
kodi: set @ADDON_VERSION@ in repo addon.xml
2019-07-02 19:14:59 +01:00
chewitt
f8ebb2f97a kodi: set @ADDON_VERSION@ in repo addon.xml 2019-07-02 22:00:05 +04:00
5schatten
bd95afbae4 kodi: temp fix stream details are being lost once playback ends https://github.com/xbmc/xbmc/issues/16322 2019-06-30 04:09:52 +01:00
Matthias Reichl
4ba7e76c64 ffmpeg: move RPi and RPi4 HEVC patches to separate patch dirs
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-27 23:46:35 +02:00
Matthias Reichl
d7c2207b8a ffmpeg: move rkmpp patches to separate patch dir
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-27 21:22:13 +02:00
Matthias Reichl
c4b17555e1 ffmpeg: move v4l2 request api patches to separate patch dir
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-27 21:22:13 +02:00
Christian Hewitt
7562b1f433 Merge pull request #3613 from vpeter4/touch-9.2
touchscreen: fix a crash with segfaults on x64 machines
2019-06-27 18:03:23 +04:00
Christian Hewitt
1aebc8cbf5 Merge pull request #3605 from HiassofT/le92-rpi4-cleanup
cleanup RPi4 commits
2019-06-27 17:53:47 +04:00
Peter Vicman
6f8b63acfe touchscreen: fix a crash with segfaults on x64 machines 2019-06-27 11:54:38 +02:00
Matthias Reichl
331d203edf bcm2835-bootloader: update to bcf40b5
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-27 10:46:55 +02:00
Matthias Reichl
f63b7fba07 bcm2835-driver: update to bcf40b5
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-27 10:46:09 +02:00
Christian Hewitt
60e06a17a3 Merge pull request #3611 from MilhouseVH/le92_pigz
buildsystem: use pigz when compressing images [backport]
2019-06-27 07:12:32 +04:00
MilhouseVH
2a9c4bb5be glibc: use pigz when compressing charmap 2019-06-27 04:10:58 +01:00
MilhouseVH
3cf175b0b2 scripts/mkimage: use pigz when compressing image 2019-06-27 04:10:58 +01:00
MilhouseVH
a4b0706441 toolchain: build pigz:host 2019-06-27 04:10:58 +01:00
MilhouseVH
240d6f7917 pigz: new package
Co-Authored-By: CvH <1355173+CvH@users.noreply.github.com>
2019-06-27 04:10:58 +01:00
MilhouseVH
e8a8df3f00 Merge pull request #3610 from HiassofT/le92-noobs-fixes
[le92] fix noobs image creation
2019-06-27 01:33:35 +01:00
Matthias Reichl
92e234cb70 RPi4: don't set legacy NOOBS_HEX version
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-27 01:37:40 +02:00
Matthias Reichl
a5bdc03af1 scripts/image: only include hex version in noobs os.json if NOOBS_HEX is set
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-27 01:37:29 +02:00
Matthias Reichl
8f3af234a2 config/noobs/os.json: move legacy hex revisions before models
This makes it easier to drop the property if it's not set.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-27 01:36:55 +02:00
Matthias Reichl
e7e91da91c scripts/image: create NOOBS tarballs with fakeroot
Otherwise builder user ID will leak in and storage partition
will be owned by that instead of root and lots of services
will fail to start.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-27 00:38:04 +02:00
Matthias Reichl
6a01a9db3b scripts/image: copy config.txt and distroconfig.txt from INSTALL
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-26 21:56:54 +02:00
MilhouseVH
243ca122d3 Merge pull request #3608 from chewitt/gzip-force-92
scripts/mkimage: force gzip to overwrite target/*.img.gz
2019-06-26 07:13:41 +01:00
chewitt
e910fb0626 scripts/mkimage: force gzip to overwrite target/*.img.gz 2019-06-26 09:48:33 +04:00
Matthias Reichl
d64d3819b0 brcmfmac_sdio-firmware-rpi: update to versions from 2019-06-20 Raspbian Buster image
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-26 00:38:35 +02:00
Matthias Reichl
10050ae75e bcmstat: update to 0.5.2
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-26 00:38:35 +02:00
Matthias Reichl
ca4b9da4c6 bcm2835-bootloader: update to d786b62
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-26 00:35:01 +02:00
Matthias Reichl
d41d3b9cc6 bcm2835-driver: update to d786b62
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-26 00:34:53 +02:00
Christian Hewitt
ab0021b78f Merge pull request #3599 from MilhouseVH/le92_fix_unpack_bug
buildsystem: fix scripts/unpack after #3591 [backport]
2019-06-25 10:00:19 +04:00
MilhouseVH
a7004681fa Merge pull request #3602 from HiassofT/le92-fix-ffmpeg-rpi
ffmpeg: drop --disable-rpi option on non-RPi projects
2019-06-24 20:37:28 +01:00
Matthias Reichl
c3cc72fe3c ffmpeg: drop --disable-rpi option on non-RPi projects
The ffmpeg patches which add enable/disable-rpi options are now
RPi device specific, so using --disable-rpi breaks builds on non-RPi
projects.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-24 17:52:28 +02:00
MilhouseVH
c7babb3620 buildsystem: fix scripts/unpack after #3570 2019-06-24 10:06:27 +01:00
CvH
fc72e5d751 Merge pull request #3596 from HiassofT/le92-rpi4
add support for Raspberry Pi 4
2019-06-24 08:04:16 +02:00
MilhouseVH
68570a6588 image: explain available options 2019-06-23 21:40:45 +01:00
MilhouseVH
3adcb6ca9b init: more informative syslinux boot message 2019-06-23 21:40:45 +01:00
Matthias Reichl
ba818a4e9c mpg123: drop dependency on SDL2
mpg123 only checks for SDL, not SDL2, so we only built mpg123 with
alsa, oss and pulse support (which is enough) and we ca drop the SDL2
dependency.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 22:33:54 +02:00
Matthias Reichl
c010cd4852 RPi4: add config.txt with default 320MB gpu mem
Several 4k HEVC files were reported to play with artifacts unless
gpu mem is bumped to at least 288MB. Use 320MB for now to have a bit
more headroom, just in case.

Unfortunately this can't be changed via distroconfig.txt so we have
to do it in config.txt.

Also drop the disable_overscan block as that's enabled by default
via distroconfig.txt.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
06a4a58835 kodi (RPi4): add patch to limit GUI size, default to 1080p
Leia backport of https://github.com/xbmc/xbmc/pull/16063/ picked from
b2ad605c9a

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
3365ab2af7 kodi (RPi4): add patch to enable PiSink
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
818afbc013 bcm2835-driver: only filter out libEGL/libGL on RPi4
libopenmaxil links against libbrcmEGL.so and libbrcmGLESv2.so so
these libs should not be filtered out.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
a8cffb1142 kodi (RPi4): use MMAL renderer with gbm
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
bdd90f6c23 kodi: always depend on bcm2835-driver when building for RPi
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
4c7e6a19d2 bcmstat: add patch from milhouse
Replace this patch with a PKG_VERSION bump once a newer version is
publically available.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
67de716210 brcmfmac_sdio-firmware-rpi: add patch to sync with rasbian buster
The boardflags3 change in brcmfmac43455-sdio.txt is needed to get
bluetooth working on RPi4.

Replace this patch with a PKG_VERSION bump once the brcmfmac43455-sdio.txt
file is publically available.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
bde8334d50 ffmpeg (RPi4): add patch to use HEVC hardware decoder
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
edf491d1c1 bcm2835-bootloader: use start4x/fixup4x for RPi4
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
40b068464b RPi4: add new device
Use upstream kodi with gbm/vc4

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
d7ca15cce3 ffmpeg: check for RPi project instead of KODIPLAYER_DRIVER
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
1f64a8165d ffmpeg: make RPi HEVC optimization patch device specific
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
9917b60837 scripts/image: copy firmware from INSTALL
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
a94ed02bac bcm2835-bootloader release: copy firmware from INSTALL
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
12169b7387 bcm2835-driver: update to 2b7c80a
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:03 +02:00
Matthias Reichl
23c75ecd68 bcm2835-bootloader: update to 2b7c80a
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:02 +02:00
Matthias Reichl
4d65280e66 linux (RPi): update to kernel 71d47f4c4bd7 with RPi4 support
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:02 +02:00
Matthias Reichl
439d3ff31e config/graphic: also enable v3d and kmsro when building vc4
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:02 +02:00
Matthias Reichl
5e495a2bd2 libcec: check for RPi project instead of KODIPLAYER_DRIVER
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:02 +02:00
Matthias Reichl
26b2b6317c RPi: add alsa card conf for bcm2835-audio
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:02 +02:00
Matthias Reichl
df47b8be68 RPi: always install bcm2835-driver
bcm2835-driver provides various tools like vcdbg and tvservice

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:02 +02:00
Matthias Reichl
ce7b145f29 bcm2835-driver: install GL libs only if using bcm2835 GLES driver
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-23 02:09:02 +02:00
Matthias Reichl
2d400f1239 Merge pull request #3591 from MilhouseVH/le92_buildsystem_cleanup_scripts
buildsystem: cleanup scripts, consistent brace usage [backport]
2019-06-23 01:53:07 +02:00
MilhouseVH
8a7f1edad0 buildsystem: die if a kernel config is not available 2019-06-22 21:09:13 +01:00
MilhouseVH
b6027210f5 buildsystem: clean/install - dquote both sides 2019-06-22 21:03:54 +01:00
MilhouseVH
113b2829ab buildsystem: build/unpack - simplify some logic 2019-06-22 21:03:48 +01:00
MilhouseVH
0e2b1c616b buildsystem: image - use HERE docs 2019-06-22 21:03:38 +01:00
MilhouseVH
0ef9bd02e5 buildsystem: consistently use braces 2019-06-22 21:01:46 +01:00
MilhouseVH
b63c7cfe41 buildsystem: cleanup - PACKAGE_NAME is redundant 2019-06-22 20:54:06 +01:00
Christian Hewitt
b4a9b00c60 Merge pull request #3588 from Kwiboo/le92-kodi-18.3-rk-v2
kodi (Rockchip): update to kodi-rockchip_18.3-Leia-v2
2019-06-22 22:41:31 +04:00
Christian Hewitt
5225394e95 Merge pull request #3590 from Kwiboo/le92-rkmpp-bump
[le92] rkmpp: update to 66b140e
2019-06-22 22:34:10 +04:00
Jonas Karlman
8daa6cd4a2 rkmpp: update to 66b140e 2019-06-22 17:40:32 +00:00
Jonas Karlman
bd66701ec9 kodi (Rockchip): update to kodi-rockchip_18.3-Leia-v2 2019-06-22 17:26:10 +00:00
Christian Hewitt
1279115624 Merge pull request #3579 from HiassofT/le92-kodi-18.3
Update Kodi to 18.3-Leia
2019-06-22 07:54:27 +04:00
Matthias Reichl
2d418f67cc Merge pull request #3581 from CvH/9.2/addon_ver_up
distro: bump ADDON_VERSION to 9.1.900
2019-06-21 21:15:04 +02:00
CvH
934cb939f3 distro: bump ADDON_VERSION to 9.1.900 2019-06-21 21:00:21 +02:00
Matthias Reichl
a032fbd82e Allwinner: drop kodi sw format check patch
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-20 10:54:19 +02:00
MilhouseVH
2f3ef07ca5 binary-addons: bump to latest Leia 2019-06-20 00:23:16 +02:00
Matthias Reichl
dc44c45496 kodi: update to 18.3-Leia
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-19 23:54:17 +02:00
Christian Hewitt
97c44d6185 Merge pull request #3578 from MilhouseVH/le9.2-drop_aml_3.14
Goodbye Amlogic 3.14 [backport]
2019-06-19 22:50:02 +04:00
Carlos Garces
8cb1faf75a RTL8192EU: Remove patches for old GCC versions. 2019-06-19 19:10:47 +01:00
Carlos Garces
1d18803bd6 RTL8192CU: Remove patches for old kernels and GCC versions 2019-06-19 19:10:47 +01:00
kszaq
0f9583da99 wetekdvb: drop package 2019-06-19 19:09:56 +01:00
MilhouseVH
e748d109b4 libcec: force disable amlogic options while not required 2019-06-19 19:06:58 +01:00
MilhouseVH
95422fadf0 linux: should have been kept 2019-06-19 19:06:58 +01:00
kszaq
d7e956544a busybox/init: amend comment on block devices 2019-06-19 19:06:43 +01:00
kszaq
267a536c16 libretro-ppsspp: use target_has_feature neon to enable neon+GLES2 2019-06-19 19:06:43 +01:00
kszaq
987f53ca59 touchscreen: remove Amlogic from PKG_ADDON_PROJECTS 2019-06-19 19:06:43 +01:00
kszaq
a3f6e5a14a tools: drop mkpkg_linux-amlogic 2019-06-19 19:06:43 +01:00
kszaq
91594773df fd628: remove addon 2019-06-19 19:06:43 +01:00
kszaq
0019bbb7db kodi: drop libamcodec support 2019-06-19 19:06:43 +01:00
kszaq
1f360da59f hyperion: drop amlogic-specific patch 2019-06-19 19:06:43 +01:00
kszaq
42d2f83366 boblightd: drop amlogic-specific path and binary 2019-06-19 19:06:43 +01:00
kszaq
3c36022773 linux: drop amlogic-3.14 kernel, drop building Android kernel image 2019-06-19 19:06:40 +01:00
kszaq
7bd39a17c5 packages: drop amlogic-specific packages 2019-06-19 18:54:42 +01:00
kszaq
f0b6c134bc scripts, tools: drop amlpkg building 2019-06-19 18:52:37 +01:00
kszaq
68a053bf5d projects: remove Amlogic_legacy project 2019-06-19 18:31:17 +01:00
MilhouseVH
61e8300e84 Merge pull request #3576 from HiassofT/le92-edid-decode
[le92] edid-decode: switch to current URL and update to latest version
2019-06-19 16:44:37 +01:00
Matthias Reichl
a01d717b01 edid-decode: switch to current URL and update to latest version
The project moved from freedesktop.org to linuxtv.org in 2018.

See https://cgit.freedesktop.org/xorg/app/edid-decode/tree/README

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-19 11:42:31 +02:00
Christian Hewitt
ef00cbec7a Merge pull request #3559 from MilhouseVH/le92_linux_5.1
Backports: kernel 5.1, Allwinner, u-boot, mali, dvb-latest
2019-06-17 05:52:44 +04:00
Jernej Skrabec
ba4d163046 Allwinner: Extract USB3 patch and move it to common patch folder 2019-06-15 07:31:59 +01:00
Jernej Skrabec
d44512f065 Allwinner: Move OrangePi One Plus patches to H6 specific folder 2019-06-15 07:31:30 +01:00
MilhouseVH
644437a35c buildsystem: remove legacy sequential code 2019-06-15 06:26:49 +01:00
MilhouseVH
86a09910c8 busybox: fix XBMC reference 2019-06-15 06:26:29 +01:00
viulian
324c9b9e91 tinkerboard: disable 5s polling for CEC adapters (solve kwiboo's reviews) 2019-06-15 06:26:29 +01:00
viulian
18835008d7 tinkerboard: disable 5s polling for CEC adapters 2019-06-15 06:26:29 +01:00
MilhouseVH
424156e8c2 procps-ng: use gitlab.com for download url 2019-06-15 06:26:29 +01:00
MilhouseVH
58652ed54f nss: update to nss-3.44 2019-06-15 06:26:29 +01:00
MilhouseVH
7fe797c21d nss-mdns: update to nss-mdns-0.14.1 2019-06-15 06:26:29 +01:00
MilhouseVH
8a44aff0ae xkeyboard-config: update to xkeyboard-config-2.27 2019-06-15 06:26:29 +01:00
MilhouseVH
b350409a87 pycryptodome: update to pycryptodome-3.8.2 2019-06-15 06:26:29 +01:00
MilhouseVH
02c26cf74c nghttp2: update to nghttp2-1.39.1 2019-06-15 06:26:29 +01:00
MilhouseVH
10ceab95eb mariadb-connector-c: update to mariadb-connector-c-3.1.1 2019-06-15 06:26:29 +01:00
MilhouseVH
19eab3c0b4 libmicrohttpd: update to libmicrohttpd-0.9.64 2019-06-15 06:26:29 +01:00
MilhouseVH
1de4183ac9 libevdev: update to libevdev-1.7.0 2019-06-15 06:26:29 +01:00
MilhouseVH
8468cb546d e2fsprogs: update to e2fsprogs-1.45.2 2019-06-15 06:26:29 +01:00
MilhouseVH
1ef9d61701 Mako: update to Mako-1.0.12 2019-06-15 06:26:29 +01:00
Marcus Cooper
8b74db943e Allwinner: Update uboot changes for Orange Pi 1+ 2019-06-15 06:26:29 +01:00
Marcus Cooper
a25d0284bb Allwinner: linux: Add Orange Pi One Plus updates 2019-06-15 06:26:29 +01:00
Marcus Cooper
6c35c7744d uboot_helper: Add Orange Pi One Plus board 2019-06-15 06:26:29 +01:00
Matthias Reichl
d015207763 systemd: add version-tag build option
Without this option systemd 241 and newer builds will run git describe
and report the LibreELEC git tree info as version, eg in journal

systemd 8.95.002-927-gb1cdc76 running in system mode.

With version-tag set the version is reported like before

systemd 242 running in system mode.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-15 06:26:29 +01:00
MilhouseVH
309c06aa95 systemd: add new options 2019-06-15 06:26:29 +01:00
MilhouseVH
48454e8f09 systemd: disable options being detected automagically 2019-06-15 06:26:29 +01:00
MilhouseVH
dce3e3d9b2 systemd: drop unknown options 2019-06-15 06:26:29 +01:00
MilhouseVH
bf92570214 systemd: update hwdb.bin patch 2019-06-15 06:26:29 +01:00
MilhouseVH
f308199746 systemd: drop patches 2019-06-15 06:26:29 +01:00
MilhouseVH
33a9e93a8b systemd: update to systemd-242 2019-06-15 06:26:29 +01:00
MilhouseVH
7e8d54b030 Rockchip: disable crazycat 2019-06-15 06:26:29 +01:00
CvH
44e5a963ec crazycat: update to 2019-05-12 2019-06-15 06:26:29 +01:00
CvH
84b141fb03 media_tree_cc: update to 2019-05-12 2019-06-15 06:26:29 +01:00
CvH
549631cc92 digital_devices: update to 040a1c5 2019-06-15 06:26:29 +01:00
CvH
79faa669af dvb-latest: update to 2019-05-30 2019-06-15 06:26:29 +01:00
CvH
ef314ac176 media_tree: update to 2019-05-30 2019-06-15 06:26:29 +01:00
Jonas Karlman
1994796f5f libmali: add depends on kernel driver 2019-06-15 06:26:29 +01:00
kszaq
c5c03e9217 Allwinner/H6: match upstream DT bingings in add-mali-node patch 2019-06-15 06:26:29 +01:00
kszaq
ae802aa241 mali-midgard: update to r28p0 with all patches integrated 2019-06-15 06:26:29 +01:00
kszaq
45b4a7eaf9 gpu-sunxi-midgard: rename to mali-midgard 2019-06-15 06:26:29 +01:00
kszaq
2e82cb8bfe mali-utgard: use LibreELEC repo with support for all platforms, remove patches 2019-06-15 06:26:29 +01:00
kszaq
a8f0af8f9f gpu-sunxi: rename to mali-utgard, prepare for adding platforms 2019-06-15 06:26:29 +01:00
Jonas Karlman
b01294dfbd libmali: update to 4cbf211
Adds support for multiple so-files
2019-06-15 06:26:29 +01:00
Félix Arreola Rodríguez
075cd80895 Alliwinner: Add eMMC definition to device tree of Orange PI 3 2019-06-15 06:26:29 +01:00
Jernej Skrabec
17402b185f u-boot: Update to 2019.04 and drop merged Allwinner patch 2019-06-15 06:26:29 +01:00
Jernej Skrabec
ecfc4182fb Drop KERNEL_UBOOT_EXTRA_TARGET, it's never used 2019-06-15 06:26:29 +01:00
Jernej Skrabec
997b403b4c Drop UBOOT_CONFIGFILE, it's never used 2019-06-15 06:26:29 +01:00
Jernej Skrabec
b66f07ff23 Drop UBOOT_CONFIG, it's never used 2019-06-15 06:26:29 +01:00
Jernej Skrabec
3c407df2fc Allwinner: Update Beelink X2 U-Boot patch 2019-06-15 06:26:29 +01:00
MilhouseVH
65b88d4550 linux (Allwinner): fix H6 BT patch 2019-06-15 06:26:29 +01:00
Jernej Skrabec
5224281992 uboot_helper: Add OrangePi 3 2019-06-15 06:26:29 +01:00
Jernej Skrabec
ed3f230d16 Allwinner: Add support for OrangePi 3 (H6) 2019-06-15 06:26:29 +01:00
Jernej Skrabec
37fb055954 brcmfmac_sdio-firmware: Update package 2019-06-15 06:26:29 +01:00
Jernej Skrabec
531c4785ec atf: Add fix for Allwinner H6 reboot issue 2019-06-15 06:26:29 +01:00
Jernej Skrabec
5897e8155e ffmpeg: update request api patches 2019-06-15 06:26:29 +01:00
Jernej Skrabec
61ad04c423 brcmfmac_sdio-firmware: Update to 3d887490ab93 2019-06-15 06:26:29 +01:00
Jernej Skrabec
10e8774143 gpu-sunxi: Fix building with Linux 5.1 2019-06-15 06:26:29 +01:00
Jernej Skrabec
0423b4c8b6 gpu-sunxi-midgard: Fix building with 5.1 2019-06-15 06:26:29 +01:00
MilhouseVH
c01f524e80 linux (Allwinner): update to 5.1.9 2019-06-15 06:26:29 +01:00
MilhouseVH
89c4916d11 linux (RPi/Generic/Allwinner): revert faulty Bluetooth commit
https://forum.kodi.tv/showthread.php?tid=343069&pid=2858940#pid2858940
https://forum.kodi.tv/showthread.php?tid=343068&pid=2859150#pid2859150
2019-06-15 06:26:29 +01:00
MilhouseVH
f25a4c7159 wireless-regdb: update to wireless-regdb-2019.06.03 2019-06-15 06:26:29 +01:00
MilhouseVH
48bda22cbc xf86-video-nvidia-legacy: fix panic with 5.1 2019-06-15 06:26:29 +01:00
MilhouseVH
43df7485f8 iwlwifi-firmware: update to iwlwifi-firmware-caaa6cc 2019-06-15 06:26:29 +01:00
Matthias Reichl
2c5d302d8e binutils: build libopcodes for target
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-15 06:26:29 +01:00
MilhouseVH
02cca7dc25 bcm_sta: fix kernel 5.1-rc1 2019-06-15 06:26:29 +01:00
MilhouseVH
0127603ce4 RTL8192EU: update to RTL8192EU-0a7199b 2019-06-15 06:26:29 +01:00
MilhouseVH
78cb67eebf RTL8192DU: update to RTL8192DU-72b53f8 2019-06-15 06:26:29 +01:00
MilhouseVH
d7d0f551e2 RTL8192CU: update to RTL8192CU-f32ef39 2019-06-15 06:26:29 +01:00
MilhouseVH
6027f4759b RTL8812AU: update to RTL8812AU-bdfef37 2019-06-15 06:26:29 +01:00
MilhouseVH
076d6c901a linux (Generic): update to 5.1.9 2019-06-15 06:26:29 +01:00
CvH
a48dc02c2e Merge pull request #3488 from MilhouseVH/le92_backports1
backports: group PR for libreelec-9.2 updates
2019-06-14 00:13:47 +02:00
MilhouseVH
2ab4c72852 atvclient: used by macmini hw, should be other support in kernel now 2019-06-13 22:12:21 +01:00
MilhouseVH
b1ace294eb amremote: drop reference to non-existent package 2019-06-13 22:12:21 +01:00
MilhouseVH
1e505759d7 busybox: update to busybox-1.31.0 2019-06-13 22:12:21 +01:00
MilhouseVH
2082afff78 mesa: update to mesa-19.1.0 2019-06-13 22:12:21 +01:00
MilhouseVH
fb0007845a packages: mega bump 2019-06-13 22:12:21 +01:00
MilhouseVH
d7fc0eb6f0 procps-ng: free from busybox doesn't match top 2019-06-13 22:12:21 +01:00
Lukas Rusak
8bfb08e555 procps-ng: build and install libprocps.a 2019-06-13 22:12:21 +01:00
MilhouseVH
abc9d658a2 xf86-video-nvidia: update to xf86-video-nvidia-430.26 2019-06-13 22:12:21 +01:00
MilhouseVH
0e5401939e config/functions: ln -sf is not always thread safe 2019-06-13 22:12:21 +01:00
MilhouseVH
6e69cd582f heimdal: update to heimdal-7.7.0 2019-06-13 22:12:21 +01:00
MilhouseVH
54072e33c8 openssl: update to openssl-1.1.1c 2019-06-13 22:12:21 +01:00
MilhouseVH
08c38cb59a LibreELEC-settings: update to LibreELEC-settings-f59dcc8 2019-06-13 22:12:21 +01:00
Ian Leonard
235fb0c12b rpi: update.sh: drop code commented 5+ years
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-06-13 22:12:21 +01:00
Ian Leonard
8ac3106fb6 rpi: update.sh: drop leading spaces and misplaced comment
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-06-13 22:12:21 +01:00
Ian Leonard
5b5284cd6a rpi: make update.sh and canupdate.sh part of project or device files
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-06-13 22:12:21 +01:00
MilhouseVH
08565fa0e3 xf86-video-nvidia: update to xf86-video-nvidia-430.14 2019-06-13 22:12:21 +01:00
MilhouseVH
0bd4793492 buildsystem: avoid process forks to init dashboard status file
A typical image build will update the dashboard 3500-4500 times. This change
avoids two process forks (cat, wc) per update, and the remaining $(< file) is
faster than $(cat file).
2019-06-13 22:12:21 +01:00
MilhouseVH
04b8036e32 buildsystem: replace $(cat file) with faster alternative
See: https://www.gnu.org/software/bash/manual/html_node/Command-Substitution.html

"
...
Bash performs the expansion by executing command in a subshell environment and replacing
the command substitution with the standard output of the command, with any trailing newlines
deleted. Embedded newlines are not deleted, but they may be removed during word splitting. The
command substitution $(cat file) can be replaced by the equivalent but faster $(< file).
"

Testing indicates var=$(< file) is twice as fast as var=$(cat file).
2019-06-13 22:12:21 +01:00
MilhouseVH
0eb36d786b buildsystem: add pre_configure() function that is not target specific 2019-06-13 22:12:21 +01:00
MilhouseVH
195c206669 distro-tool: handle garbage in error response 2019-06-13 22:12:21 +01:00
MilhouseVH
fbf0c54b71 screensaver.greynetic: needs glm 2019-06-13 22:12:21 +01:00
MilhouseVH
9a24528e3f udpxy: broken since gcc-8.0 2019-06-13 22:12:21 +01:00
MilhouseVH
775df5da16 audiodecoder.usf: don't build for RPi1, broken in #3503 2019-06-13 22:12:21 +01:00
MilhouseVH
7604df2686 fontconfig: needs util-linux for uuid support 2019-06-13 22:12:21 +01:00
MilhouseVH
17ab4518fd firmware-imx: unpack into unique unpack folder not $BUILD 2019-06-13 22:12:21 +01:00
MilhouseVH
bb9f7fa623 media_tree/media_tree_cc: use post_unpack() 2019-06-13 22:12:21 +01:00
MilhouseVH
c3e674ed7d dotnet-runtime: redundant custom unpack() 2019-06-13 22:12:21 +01:00
MilhouseVH
5f777dcbe8 buildsystem: don't allow unpack folder to become visible until tagged 2019-06-13 22:12:21 +01:00
MilhouseVH
6400a8cb7e linux: avoid building host and target concurrently 2019-06-13 22:12:21 +01:00
MilhouseVH
7aabe781cb buildsystem: addons install minor cleanup 2019-06-13 22:12:21 +01:00
Matthias Reichl
5cdbdf0303 linux: drop ati_remote.conf modprobe file
Disabling mouse support in the driver not only makes the mouse
feature of the remote non-functional but also results in a kernel
crash when a pressing a mouse button on the remote.

See https://forum.libreelec.tv/thread/17562-le-9-0-2-freeze-when-ati-remote-is-used/

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-13 22:12:21 +01:00
Jernej Skrabec
9d6a971612 uboot_helper: Fix Allwinner boards and add NanoPi M1 2019-06-13 22:12:21 +01:00
Jernej Skrabec
dc1d83925e u-boot: Fail if config is wrongly configured 2019-06-13 22:12:21 +01:00
MilhouseVH
f8ec58745e kernel-firmware: add mediatek mt7662 firmwares 2019-06-13 22:12:21 +01:00
MilhouseVH
85cb44de99 kernel-firmware: add project & device support; use config dir 2019-06-13 22:12:21 +01:00
MilhouseVH
c10e761b0d kernel-firmware: update to kernel-firmware-20190514 2019-06-13 22:12:21 +01:00
MilhouseVH
6c8ab49eec intel-ucode: update to intel-ucode-20190514, switch url, drop unnecessary depends 2019-06-13 22:12:21 +01:00
MilhouseVH
9e9e6befb3 kernel-firmware: update to kernel-firmware-92e17d0 2019-06-13 22:12:21 +01:00
MilhouseVH
f470d833b7 curl: update to curl-7.65.0 2019-06-13 22:12:21 +01:00
MilhouseVH
06f48133bb mesa: update to mesa-19.0.5 2019-06-13 22:12:21 +01:00
kszaq
8ebda35e84 addons: drop references to legacy projects 2019-06-13 22:12:21 +01:00
kszaq
4fb34fc66a u-boot-script: add package to compile env scripts for u-boot
Some targets require to have scripts for u-boot included in system image.
Provide a package to compile them.
2019-06-13 22:12:21 +01:00
Jernej Skrabec
26e3588d79 libdrm: Update package to 2.4.98 2019-06-13 22:12:21 +01:00
kszaq
e50834fd82 scripts/build: strip all executables in /usr
Some packages install outside /usr/*bin, e.g. /usr/lib/bluetooth
and executables remain unstripped. Try to strip everything
executable except .ko and .so which are handled in separate cases.
2019-06-13 22:12:20 +01:00
Jernej Skrabec
0b13c7b6fe Allwinner: Fix HDMI monitor/TV detection and speed up boot 2019-06-13 22:12:20 +01:00
Jernej Skrabec
b96e205f14 u-boot: Allow to add project/device specific configuration 2019-06-13 22:12:20 +01:00
Jernej Skrabec
7ae3eb5b10 Allwinner: linux: Add HDMI 4K init fix 2019-06-13 22:12:20 +01:00
kszaq
9e39ce6f1c u-boot: explicitly enable decompression
u-boot defconfigs don't enable decompression routines
required if we want to use compressed kernel image.
Enable them to be able to compress kernel and run it.
2019-06-13 22:12:20 +01:00
kszaq
1122893a50 linux: restore original KERNEL_TARGET after creating uImage 2019-06-13 22:12:20 +01:00
kszaq
ffdd6878a3 linux: use PKG_UIMAGE_*ADDR for the used address
If a package is sources multiple times, the destination address
may be recalculated and overwritten a few times. Prevent this by
using PKG-prefixed variables for results.

Thanks to MilhouseVH for suggesting this.
2019-06-13 22:12:20 +01:00
kszaq
4ef5e73ae6 linux: abort building arm64 uImage if KERNEL_UIMAGE_LOADADDR or KERNEL_UIMAGE_ENTRYADDR is not set
If either of these values is not set, resulting uImage
will not load properly. Abort if these are not set.
2019-06-13 22:12:20 +01:00
kszaq
69f3db483e linux: amend uimage load address for proper decompression
When kernel image is compressed, it is first loaded
to RAM at load address specified in command line,
then unpacks to loadaddr provided by uImage.

For decompressed image not to overwrite compressed
data, uncompressed image load address needs to be
shifted by compressed image size + 1 MiB alignment.
2019-06-13 22:12:20 +01:00
kszaq
2fb1df6623 ethmactool: new package for getting HW MAC address or generating from CPU SN
Ethernet MAC address should be passed by u-boot in device tree. In
many cases this address is not correct: ethmactool package allows
userspace to take care of it.

Currently these are possible sources of "real" MAC:
 - Amlogic: cmdline, eFuse, CPU SN
 - Rockchip: CPU SN
2019-06-13 22:12:20 +01:00
CvH
6202251a6c oscam: update to 11518 2019-06-13 22:12:20 +01:00
CvH
caaf067615 tvmosaic: fix PKG_ARCH 2019-06-13 22:12:20 +01:00
MilhouseVH
18d9847829 config/functions: endianness in meson cross is always little 2019-06-13 22:12:20 +01:00
MilhouseVH
505ccecbc8 mesa: update to mesa-19.0.4 2019-06-13 22:12:20 +01:00
MilhouseVH
50fc3b5569 heimdal: update to heimdal-7.6.0 2019-06-13 22:12:20 +01:00
MilhouseVH
8f4bdc77cc samba: update to samba-4.9.8 2019-06-13 22:12:20 +01:00
Ian Leonard
902f198d46 systemd: add depend on libidn2
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-06-13 22:12:20 +01:00
Ian Leonard
3d10ea2d16 tvheadend42: use system libidn2
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-06-13 22:12:20 +01:00
Ian Leonard
0f73329ce0 ffmpeg-tools: use system libidn2
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-06-13 22:12:20 +01:00
Ian Leonard
1fd115b699 lftp: add libidn2 as depend
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-06-13 22:12:20 +01:00
Ian Leonard
58fc3e7ea9 libidn2: update to 2.1.1a, disable doc, static libs and idn2 binary
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-06-13 22:12:20 +01:00
Ian Leonard
c0ed05c6f6 libc: add libidn2 as target depend
Signed-off-by: Ian Leonard <antonlacon@gmail.com>
2019-06-13 22:12:20 +01:00
Matthias Reichl
ca952e8937 config/functions: add C++ compiler and linker flags to meson.conf
Due to missing cpp_args and cpp_link_args in meson.conf ninja builds
of projects with C++ code were performed without CPU optimization
flags (-march, -mcpu, -mtune etc). Add these args so C++ code is
built with proper flags.

Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-13 22:12:20 +01:00
MilhouseVH
08c06b05cf tools/pkginfo: simple tool to dump a package.mk 2019-06-13 22:12:20 +01:00
MilhouseVH
284432cf4f samba: update to samba-4.9.7 2019-06-13 22:12:20 +01:00
MilhouseVH
c502b14ce6 Merge pull request #3556 from HiassofT/le92-kernel-4.19
linux (RPi): switch to 4.19.50
2019-06-13 12:37:05 +01:00
Matthias Reichl
707655ced2 linux (RPi): switch to 4.19.50
Signed-off-by: Matthias Reichl <hias@horus.com>
2019-06-12 23:07:58 +02:00
876 changed files with 23243 additions and 26517 deletions

View File

@@ -14,25 +14,6 @@ image:
noobs:
./scripts/image noobs
amlpkg:
./scripts/image amlpkg
# legacy sequential build targets
system-st:
./scripts/image_st
release-st:
./scripts/image_st release
image-st:
./scripts/image_st mkimage
noobs-st:
./scripts/image_st noobs
amlpkg-st:
./scripts/image_st amlpkg
clean:
rm -rf $(BUILD_DIRS)/* $(BUILD_DIRS)/.stamps

View File

@@ -136,7 +136,7 @@ safe_remove() {
[ -z "${path}" ] && return 0
if [ -f "${path}" -o -d "${path}" ]; then
if [ -e "${path}" -o -L "${path}" ]; then
rm -r "${path}"
elif [ -n "${PKG_NAME}" ]; then
print_color CLR_WARNING "safe_remove: path does not exist: [${PKG_NAME}]: ${path}\n"
@@ -242,12 +242,12 @@ setup_toolchain() {
fi
# parallel
if ! flag_enabled "parallel" "yes"; then
NINJA_OPTS="$NINJA_OPTS -j1"
export MAKEFLAGS="-j1"
else
if flag_enabled "parallel" "yes"; then
NINJA_OPTS="$NINJA_OPTS -j$CONCURRENCY_MAKE_LEVEL"
export MAKEFLAGS="-j$CONCURRENCY_MAKE_LEVEL"
else
NINJA_OPTS="$NINJA_OPTS -j1"
export MAKEFLAGS="-j1"
fi
# verbose flag
@@ -357,11 +357,9 @@ setup_toolchain() {
create_meson_conf() {
local endian root properties
case "$1" in
target|init) endian="little"
root="$SYSROOT_PREFIX/usr"
target|init) root="$SYSROOT_PREFIX/usr"
;;
host|bootstrap) endian="big"
root="$TOOLCHAIN"
host|bootstrap) root="$TOOLCHAIN"
;;
esac
@@ -380,12 +378,14 @@ llvm-config = '$SYSROOT_PREFIX/usr/bin/llvm-config-host'
system = 'linux'
cpu_family = '$TARGET_ARCH'
cpu = '$TARGET_SUBARCH'
endian = '$endian'
endian = 'little'
[properties]
root = '$root'
$(python -c "import os; print('c_args = {}'.format([x for x in os.getenv('CFLAGS').split()]))")
$(python -c "import os; print('c_link_args = {}'.format([x for x in os.getenv('LDFLAGS').split()]))")
$(python -c "import os; print('cpp_args = {}'.format([x for x in os.getenv('CXXFLAGS').split()]))")
$(python -c "import os; print('cpp_link_args = {}'.format([x for x in os.getenv('LDFLAGS').split()]))")
${!properties}
EOF
}
@@ -714,7 +714,7 @@ get_pkg_variable() {
# get package's build dir
get_build_dir() {
local _PKG_NAME="$(get_pkg_variable "$1" PKG_NAME)" _PKG_VERSION="$(get_pkg_version "$1")"
local _PKG_NAME="${1%:*}" _PKG_VERSION="$(get_pkg_version "$1")"
if [ -n "$_PKG_NAME" -a -n "$_PKG_VERSION" ]; then
echo $BUILD/${_PKG_NAME}-${_PKG_VERSION}
fi
@@ -989,8 +989,10 @@ kernel_config_path() {
$pkg_linux_dir/config/$config_name \
; do
[[ $cfg =~ /devices//linux/ ]] && continue
[ -f "$cfg" ] && echo "$cfg" && break
[ -f "$cfg" ] && echo "$cfg" && return
done
die "ERROR: Unable to locate kernel config for ${LINUX} - looking for ${config_name}"
}
kernel_make() {
@@ -1155,6 +1157,8 @@ done
}
install_addon_files() {
mkdir -p "$1"
install_addon_source "$1"
install_addon_images "$1"
create_addon_xml "$1"
@@ -1190,7 +1194,7 @@ add_user() {
mkdir -p ${INSTALL}/usr/cache
touch ${INSTALL}/usr/cache/shadow
ln -sf /storage/.cache/shadow ${INSTALL}/etc/shadow
ln -sf /storage/.cache/shadow ${INSTALL}/etc/shadow 2>/dev/null || true
PASSWORD="$2"
if [ "$PASSWORD" = "x" ]; then
@@ -1235,6 +1239,8 @@ enable_service() {
### MULTI-THREADED FUNCTION HELPERS ###
# Test MTWITHLOCKS so that these functions are a no-op during non-multithreaded builds.
# Prevent concurrent modifications to a package (unpack) or
# package:target (install/build).
#
@@ -1245,7 +1251,7 @@ pkg_lock() {
local pkg="$1" task="$2" parent_pkg="$3"
local this_job="${MTJOBID}"
local lock_job lock_seq lock_task lock_pkg locked=no
local lock_job lock_seq lock_task lock_pkg locked=no idwidth
local fail_seq
exec 98>"${THREAD_CONTROL}/locks/${pkg}.${task}"
@@ -1256,13 +1262,14 @@ pkg_lock() {
done
if [ "${locked}" = "no" -a "${lock_job}/${lock_seq}" != "${this_job}/${PARALLEL_SEQ}" ]; then
pkg_lock_status "STALLED" "${parent_pkg}" "${task}" "$(printf "waiting on [%02d] %s %s" ${lock_job} "${lock_task}" "${lock_pkg}")"
[ "${THREADCOUNT}" = "0" ] && idwidth=${#MTMAXJOBS} || idwidth=2
pkg_lock_status "STALLED" "${parent_pkg}" "${task}" "$(printf "waiting on [%0*d] %s %s" ${idwidth} ${lock_job} "${lock_task}" "${lock_pkg}")"
flock --exclusive 98
fi
# As we now have the lock, if .failed still exists then a previous process must have failed
if [ -f "${THREAD_CONTROL}/locks/${pkg}.${task}.failed" ]; then
fail_seq="$(cat "${THREAD_CONTROL}/locks/${pkg}.${task}.failed")"
fail_seq="$(< "${THREAD_CONTROL}/locks/${pkg}.${task}.failed")"
print_color CLR_ERROR "FAILURE: ${pkg}.${task}.failed exists, a previous dependency process has failed (seq: ${fail_seq})\n"
if [ -d "${THREAD_CONTROL}/logs" ]; then
cat <<EOF
@@ -1284,13 +1291,15 @@ pkg_lock_status() {
[ "${MTWITHLOCKS}" != "yes" ] && return 0
local status="$1" pkg="$2" task="$3" msg="$4"
local this_job="${MTJOBID}" line
local this_job="${MTJOBID}" line idwidth
[ "${THREADCOUNT}" = "0" ] && idwidth=${#MTMAXJOBS} || idwidth=2
(
flock --exclusive 94
printf -v line "%s: <%05d> [%02d/%0*d] %-7s %-7s %-35s" \
"$(date +%Y-%m-%d\ %H:%M:%S.%N)" $$ ${this_job} ${#MTMAXJOBS} ${PARALLEL_SEQ:-0} "${status}" "${task}" "${pkg}"
printf -v line "%s: <%06d> [%0*d/%0*d] %-7s %-7s %-35s" \
"$(date +%Y-%m-%d\ %H:%M:%S.%N)" $$ ${idwidth} ${this_job} ${#MTMAXJOBS} ${PARALLEL_SEQ:-0} "${status}" "${task}" "${pkg}"
[ -n "${msg}" ] && line+=" (${msg})"
echo "${line}" >>"${THREAD_CONTROL}/history"
@@ -1316,19 +1325,25 @@ update_dashboard() {
local status="$1" pkg="$2" task="$3" msg="$4"
local line sedline preamble num elapsed projdevarch
local boldred boldgreen boldyellow endcolor
local boldred boldgreen boldyellow endcolor idwidth
sedline=$((MTJOBID + 2))
num=$(cat "${THREAD_CONTROL}/status" | wc -l)
while [ ${num} -lt ${sedline} ]; do echo "" >>"${THREAD_CONTROL}/status"; num=$((num + 1)); done
[ "${THREADCOUNT}" = "0" ] && idwidth=${#MTMAXJOBS} || idwidth=2
num=$(($(cat "${THREAD_CONTROL}/progress.prev") + 1))
num=$(< "${THREAD_CONTROL}/status.max")
if [ ${num} -lt ${sedline} ]; then
echo ${sedline} >"${THREAD_CONTROL}/status.max"
for i in $(seq $((num + 1)) ${sedline}); do echo "" >>"${THREAD_CONTROL}/status"; done
fi
num=$(< "${THREAD_CONTROL}/progress.prev")
projdevarch="${PROJECT}/"
[ -n "${DEVICE}" ] && projdevarch+="${DEVICE}/"
projdevarch+="${TARGET_ARCH}"
[ -n "${BUILD_SUFFIX}" ] && projdevarch+=", ${BUILD_SUFFIX}"
TZ=UTC0 printf -v elapsed "%(%H:%M:%S)T" $(($(date +%s) - MTBUILDSTART))
printf -v preamble "%s Dashboard (%s) - %d of %d jobs completed, %s elapsed" "${DISTRONAME}" "${projdevarch}" ${num} ${MTMAXJOBS} "${elapsed}"
printf -v preamble "%s Dashboard (%s) - %d of %d jobs completed, %s elapsed" "${DISTRONAME}" "${projdevarch}" $((num + 1)) ${MTMAXJOBS} "${elapsed}"
printf -v preamble "%b%-105s %s" "\e[2J\e[0;0H" "${preamble//\//\\/}" "$(date "+%Y-%m-%d %H:%M:%S")"
if [ "${DISABLE_COLORS}" != "yes" ]; then
@@ -1347,7 +1362,7 @@ update_dashboard() {
esac
fi
printf -v line "[%02d\/%0*d] %b%-7s%b %-7s %-35s" ${MTJOBID} ${#MTMAXJOBS} ${PARALLEL_SEQ:-0} "${color}" "${status//\//\\/}" "${endcolor}" "${task}" "${pkg}"
printf -v line "[%0*d\/%0*d] %b%-7s%b %-7s %-35s" ${idwidth} ${MTJOBID} ${#MTMAXJOBS} ${PARALLEL_SEQ:-0} "${color}" "${status//\//\\/}" "${endcolor}" "${task}" "${pkg}"
[ -n "${msg}" ] && line+=" ${msg//\//\\/}"
sed -e "1s/.*/${preamble}/;${sedline}s/.*/${line}/" -i "${THREAD_CONTROL}/status"
@@ -1355,13 +1370,12 @@ update_dashboard() {
# Thread concurrency helpers to avoid concurrency issues with some code,
# eg. when Python installs directly into $TOOLCHAIN.
# Test MTJOBID so that these functions are a no-op during non-multithreaded builds.
acquire_exclusive_lock() {
[ "${MTWITHLOCKS}" != "yes" ] && return 0
local pkg="$1" task="$2" lockfile="${3:-global}"
local this_job="${MTJOBID}"
local lock_job lock_seq lock_task lock_pkg locked=no
local lock_job lock_seq lock_task lock_pkg locked=no idwidth
exec 96>"${THREAD_CONTROL}/locks/.mutex.${lockfile}"
while [ : ]; do
@@ -1371,7 +1385,8 @@ acquire_exclusive_lock() {
done
if [ "${locked}" = "no" -a "${lock_job}/${lock_seq}" != "${this_job}/${PARALLEL_SEQ}" ]; then
pkg_lock_status "MUTEX/W" "${pkg}" "${task}" "$(printf "mutex: %s; waiting on [%02d] %s %s" "${lockfile}" ${lock_job} "${lock_task}" "${lock_pkg}")"
[ "${THREADCOUNT}" = "0" ] && idwidth=${#MTMAXJOBS} || idwidth=2
pkg_lock_status "MUTEX/W" "${pkg}" "${task}" "$(printf "mutex: %s; waiting on [%0*d] %s %s" "${lockfile}" ${idwidth} ${lock_job} "${lock_task}" "${lock_pkg}")"
flock --exclusive 96
fi

View File

@@ -107,7 +107,7 @@ get_graphicdrivers() {
fi
if listcontains "${GRAPHIC_DRIVERS}" "vc4"; then
GALLIUM_DRIVERS+=" vc4"
GALLIUM_DRIVERS+=" vc4 v3d kmsro"
V4L2_SUPPORT="yes"
VAAPI_SUPPORT="no"
VDPAU_SUPPORT="no"

View File

@@ -107,8 +107,9 @@ package_worker() {
(
flock --exclusive 95
[ ${result} -eq 0 ] && status="DONE" || status="FAIL"
num=$(($(cat "${THREAD_CONTROL}/progress") + 1))
num=$(< "${THREAD_CONTROL}/progress")
mv "${THREAD_CONTROL}/progress" "${THREAD_CONTROL}/progress.prev"
num=$((num + 1))
echo ${num} >"${THREAD_CONTROL}/progress"
printf "[%0*d/%0*d] [%-4s] %-7s %s\n" ${#jobs} ${num} ${#jobs} ${jobs} "${status}" "${task}" "${pkgname}" >&2
) 95>"${THREAD_CONTROL}/locks/.progress"
@@ -143,17 +144,19 @@ start_multithread_build() {
mkdir -p "${THREAD_CONTROL}/locks"
echo -1 >"${THREAD_CONTROL}/progress.prev"
echo 0 >"${THREAD_CONTROL}/progress"
echo 0 >"${THREAD_CONTROL}/status.max"
touch "${THREAD_CONTROL}/status"
[ "${THREADCOUNT}" = "0" ] && THREADCOUNT=1
# Increase file descriptors if building one thread/package
[ "${THREADCOUNT}" = "0" ] && ulimit -n ${ULIMITN:-10240}
# Bootstrap GNU parallel
$SCRIPTS/build parallel:host 2>&1 || die "Unable to bootstrap parallel package"
MTWITHLOCKS=no $SCRIPTS/build parallel:host 2>&1 || die "Unable to bootstrap parallel package"
# if number of detected slots is 1 then don't bother using inter-process locks as this is a sequential build
# determine number of available slots for the given THREADCOUNT - optimise logging for single threaded builds
[ $(seq 1 32 | ${TOOLCHAIN}/bin/parallel --plain --no-notice --max-procs ${THREADCOUNT} echo {%} | sort -n | tail -1) -eq 1 ] && singlethread=yes || singlethread=no
# create a single log file by default if not using locks (single build process), or the builder is a masochist
# create a single log file by default for a single threaded build (or the builder is a masochist)
if [ "${singlethread}" = "yes" -a "${ONELOG,,}" != "no" ] || [ "${ONELOG,,}" = "yes" ]; then
buildopts+=" --ungroup"
else
@@ -172,6 +175,8 @@ start_multithread_build() {
${SCRIPTS}/genbuildplan.py --no-reorder --show-wants --build ${@} > "${THREAD_CONTROL}"/plan || result=1
if [ ${result} -eq 0 ]; then
save_build_config
cat "${THREAD_CONTROL}"/plan | awk '{print $1 " " $2}' | \
MTBUILDSTART=$(date +%s) MTWITHLOCKS=yes ${TOOLCHAIN}/bin/parallel \
--plain --no-notice --max-procs ${THREADCOUNT} --joblog="${THREAD_CONTROL}/joblog" --plus ${buildopts} \

View File

@@ -6,6 +6,6 @@
"description": "@DESCRIPTION@",
"username": "root",
"password": "@ROOT_PASSWORD@",
"supported_models": [@NOOBS_SUPPORTED_MODELS@],
"supported_hex_revisions": "@NOOBS_HEX@"
"supported_hex_revisions": "@NOOBS_HEX@",
"supported_models": [@NOOBS_SUPPORTED_MODELS@]
}

View File

@@ -6,6 +6,8 @@ fi
# Spaces in paths are verboten
if [[ ${PWD} =~ [[:space:]] ]]; then
echo "Current PWD: \"${PWD}\"" 1>&2
echo 1>&2
echo "Building in a folder that includes spaces is NOT supported. Use a folder without spaces." 1>&2
exit 1
fi

View File

@@ -53,7 +53,6 @@ show_config() {
config_message="$config_message\n $dashes$dashes"
config_message="$config_message\n - Remote support:\t\t\t $REMOTE_SUPPORT"
config_message="$config_message\n - ATV Remote support:\t\t\t $ATVCLIENT_SUPPORT"
config_message="$config_message\n - CEC Adapter support:\t\t\t $CEC_SUPPORT"
config_message="$config_message\n - CEC Framework support:\t\t $CEC_FRAMEWORK_SUPPORT"
config_message="$config_message\n - Kodi Joystick support:\t\t $JOYSTICK_SUPPORT"
@@ -105,10 +104,6 @@ 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
config_message="$config_message\n - UDevil support:\t\t\t $UDEVIL"
config_message="$config_message\n - Installer support:\t\t\t $INSTALLER_SUPPORT"
for config_package in $ADDITIONAL_PACKAGES; do

View File

@@ -140,9 +140,6 @@
# build and install remote support (yes / no)
REMOTE_SUPPORT="yes"
# build and install ATV IR remote support (yes / no)
ATVCLIENT_SUPPORT="yes"
# build and install Joystick support (yes / no)
JOYSTICK_SUPPORT="yes"
@@ -225,3 +222,5 @@
# IR remote keymaps supported in default config
IR_REMOTE_KEYMAPS="rc6_mce xbox_360 xbox_one"
# debug tty path
DEBUG_TTY="/dev/tty3"

View File

@@ -2,7 +2,7 @@
LIBREELEC_VERSION="devel"
# OS_VERSION: OS Version
OS_VERSION="9.1"
OS_VERSION="9.2"
# ADDON_VERSION: Addon version
ADDON_VERSION="9.1"
ADDON_VERSION="9.2.0"

View File

@@ -7,6 +7,7 @@ PKG_SHA256="d007f89ae8a2543a53525c74359b65b36412fa84b3349f1400be6dcf409fafef"
PKG_LICENSE="Custom"
PKG_SITE="http://www.icu-project.org"
PKG_URL="http://download.icu-project.org/files/icu4c/${PKG_VERSION}/icu4c-${PKG_VERSION//./_}-src.tgz"
PKG_DEPENDS_HOST="gcc:host"
PKG_DEPENDS_TARGET="toolchain icu:host"
PKG_LONGDESC="International Components for Unicode library."

View File

@@ -7,7 +7,7 @@ PKG_SHA256="5c0133ec4e228e41bdf52f726d271a2d821499c2ab97afd3aa3d6cf43efcdc83"
PKG_LICENSE="GPL2"
PKG_SITE="https://freedesktop.org/wiki/Software/shared-mime-info/"
PKG_URL="http://freedesktop.org/~hadess/shared-mime-info-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain libxml2"
PKG_DEPENDS_TARGET="toolchain glib libxml2"
PKG_LONGDESC="The shared-mime-info package contains the core database of common types."
PKG_BUILD_FLAGS="-parallel"

View File

@@ -2,17 +2,17 @@
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="comskip"
PKG_VERSION="6030aa0d3b589161ec96c6c986c48aa826fb9f72"
PKG_SHA256="df0b4b0354aef5acc17e4e94a20a396fa69c474af7579c94aad09dd490e0ee38"
PKG_VERSION="84fcd7388394c95fc8a7e558642bbadb43134507"
PKG_SHA256="4d45d30335ce1c28fb4de8865ada57f81de18d83a77950e9ab7c3ea26d24a883"
PKG_LICENSE="GPL"
PKG_SITE="http://www.kaashoek.com/comskip/"
PKG_URL="https://github.com/erikkaashoek/Comskip/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_TARGET="toolchain argtable2 ffmpeg"
PKG_DEPENDS_TARGET="toolchain argtable2 ffmpeg gnutls"
PKG_LONGDESC="Comskip detects commercial breaks from a video stream. It can be used for post-processing recordings."
PKG_TOOLCHAIN="autotools"
pre_configure_target() {
LDFLAGS="$LDFLAGS -ldl"
LDFLAGS+=" -ldl"
export argtable2_CFLAGS="-I$(get_build_dir argtable2)/src"
export argtable2_LIBS="-L$(get_build_dir argtable2)/src/.libs -largtable2"

View File

@@ -3,8 +3,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="containerd"
PKG_VERSION="1.2.6"
PKG_SHA256="f2d578b743fb9faa5b3477b7cf4b33d00501087043a53b27754f14bbe741f891"
PKG_VERSION="1.2.7"
PKG_SHA256="7179c709a0d187708a1eeddcbdecd7206b2c642dc4413bcdb049cd6b38d06801"
PKG_LICENSE="APL"
PKG_SITE="https://containerd.tools/"
PKG_URL="https://github.com/containerd/containerd/archive/v$PKG_VERSION.tar.gz"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="krb5"
PKG_VERSION="1.16.2-final"
PKG_SHA256="92f62e5a54404d22aa2a7eee9fba64d1be8d10d8dd3aa052e1799993208acce4"
PKG_VERSION="1.17-final"
PKG_SHA256="bd170f6aadea5d753cc9a93a3a915a5bde07bd3d294a00651ed647dcf964e867"
PKG_LICENSE="MIT"
PKG_SITE="http://web.mit.edu/kerberos/"
PKG_URL="https://github.com/krb5/krb5/archive/krb5-$PKG_VERSION.tar.gz"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="lttng-ust"
PKG_VERSION="2.10.2"
PKG_SHA256="015452be6f94e4468315d0478cd5a4d01d9e52672bcea122b4ff7426198d5803"
PKG_VERSION="2.10.4"
PKG_SHA256="9df458fbfeac5a380672751decbd9b57356075acbfe106cb8820e803a94a0d96"
PKG_LICENSE="LGPLv2.1"
PKG_SITE="https://lttng.org/"
PKG_URL="https://github.com/lttng/lttng-ust/archive/v$PKG_VERSION.tar.gz"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="userspace-rcu"
PKG_VERSION="0.10.1"
PKG_SHA256="4ddbca9927b459b7a295dec612cf43df5886d398161d50c59d0097995e368a3b"
PKG_VERSION="0.11.1"
PKG_SHA256="a0ed8995edfbeac5f5eb2f152a8f3654040ecfc99a746bfe3da3bccf435b7d5d"
PKG_LICENSE="LGPLv2.1"
PKG_SITE="http://liburcu.org"
PKG_URL="https://github.com/urcu/userspace-rcu/archive/v$PKG_VERSION.tar.gz"

View File

@@ -10,14 +10,6 @@ PKG_URL="https://github.com/mighty-p/t2scan/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A small channel scan tool which generates DVB-T/T2 channels.conf files."
# aml 3.14 hack
pre_configure_target() {
if [ "$LINUX" = "amlogic-3.14" -o "$LINUX" = "amlogic-3.10" ]; then
sed -i 's/DVB_HEADER=0/DVB_HEADER=1/g' $PKG_BUILD/configure*
sed -i 's/HAS_DVB_API5=0/HAS_DVB_API5=1/g' $PKG_BUILD/configure*
fi
}
makeinstall_target() {
:
}

View File

@@ -11,14 +11,6 @@ PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A channel scan tool which generates ATSC, DVB-C, DVB-S/S2 and DVB-T channels.conf files."
PKG_TOOLCHAIN="autotools"
# aml 3.14 hack
pre_configure_target() {
if [ "$LINUX" = "amlogic-3.14" -o "$LINUX" = "amlogic-3.10" ]; then
sed -i 's/DVB_HEADER=0/DVB_HEADER=1/g' $PKG_BUILD/configure*
sed -i 's/HAS_DVB_API5=0/HAS_DVB_API5=1/g' $PKG_BUILD/configure*
fi
}
makeinstall_target() {
:
}

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="imagemagick"
PKG_VERSION="7.0.8-11"
PKG_SHA256="95e4da5fa109bc8b59b5e7a54cdfcf1af3230067c95adf608ff21c08eca1de20"
PKG_VERSION="7.0.8-60"
PKG_SHA256="a0ffa621051aa66b4eec919761d1a741aefea8b993acc2425e3ed5855c540156"
PKG_LICENSE="http://www.imagemagick.org/script/license.php"
PKG_SITE="http://www.imagemagick.org/"
PKG_URL="https://github.com/ImageMagick/ImageMagick/archive/$PKG_VERSION.tar.gz"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libvpx"
PKG_VERSION="1.7.0"
PKG_SHA256="1fec931eb5c94279ad219a5b6e0202358e94a93a90cfb1603578c326abfc1238"
PKG_VERSION="1.8.1"
PKG_SHA256="df19b8f24758e90640e1ab228ab4a4676ec3df19d23e4593375e6f3847dee03e"
PKG_LICENSE="BSD"
PKG_SITE="https://www.webmproject.org"
PKG_URL="https://github.com/webmproject/libvpx/archive/v${PKG_VERSION}.tar.gz"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="x264"
PKG_VERSION="545de2ffec6ae9a80738de1b2c8cf820249a2530"
PKG_SHA256="74725cf7036b2c96387c2c014ef00d181942d00230f21e16277f11d2d9683adc"
PKG_VERSION="d4099dd4c722f52c4f3c14575d7d39eb8fadb97f"
PKG_SHA256="9b6688b81e13cf342fc9b6b7adf1759eebd300c243c0707566ffe7ea9f0ccc7e"
PKG_LICENSE="GPL"
PKG_SITE="http://www.videolan.org/developers/x264.html"
PKG_URL="http://repo.or.cz/x264.git/snapshot/$PKG_VERSION.tar.gz"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="x265"
PKG_VERSION="2.9"
PKG_SHA256="ebae687c84a39f54b995417c52a2fdde65a4e2e7ebac5730d251471304b91024"
PKG_VERSION="3.2"
PKG_SHA256="364d79bcd56116a9e070fdeb1d9d2aaef1a786b4970163fb56ff0991a183133b"
PKG_ARCH="x86_64"
PKG_LICENSE="GPL"
PKG_SITE="https://www.videolan.org/developers/x265.html"

View File

@@ -2,11 +2,11 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="ffmpegx"
PKG_VERSION="4.1"
PKG_SHA256="7afb163d6974693cdad742aa1224c33683c50845c67ee5ae35506efc631ac121"
PKG_VERSION="4.2.1"
PKG_SHA256="cec7c87e9b60d174509e263ac4011b522385fd0775292e1670ecc1180c9bb6d4"
PKG_LICENSE="LGPLv2.1+"
PKG_SITE="https://ffmpeg.org"
PKG_URL="https://github.com/FFmpeg/FFmpeg/archive/n${PKG_VERSION}.tar.gz"
PKG_URL="https://ffmpeg.org/releases/ffmpeg-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain aom bzip2 gnutls libvorbis opus x264 zlib"
PKG_LONGDESC="FFmpegx is an complete FFmpeg build to support encoding and decoding."
PKG_BUILD_FLAGS="-gold"
@@ -19,7 +19,7 @@ if [ "$KODIPLAYER_DRIVER" == "bcm2835-driver" ]; then
fi
if [ "$TARGET_ARCH" = "x86_64" ]; then
PKG_DEPENDS_TARGET+=" nasm:host x265"
PKG_DEPENDS_TARGET+=" nasm:host intel-vaapi-driver x265"
fi
if [[ ! $TARGET_ARCH = arm ]] || target_has_feature neon; then
@@ -34,7 +34,7 @@ fi
pre_configure_target() {
cd $PKG_BUILD
rm -rf .$TARGET_NAME
# pass gnutls to build
PKG_CONFIG_PATH="$(get_build_dir gnutls)/.INSTALL_PKG/usr/lib/pkgconfig"
CFLAGS="$CFLAGS -I$(get_build_dir gnutls)/.INSTALL_PKG/usr/include"
@@ -66,14 +66,14 @@ pre_configure_target() {
if [[ "$TARGET_ARCH" = "x86_64" ]]; then
PKG_FFMPEG_HW_ENCODERS_GENERIC="\
`#Video encoders` \
--enable-encoder=h264_nvenc \
--enable-encoder=h264_vaapi \
--enable-encoder=hevc_nvenc \
--enable-encoder=hevc_vaapi \
--enable-encoder=mjpeg_vaapi \
--enable-encoder=mpeg2_vaapi \
--enable-encoder=vp8_vaapi \
--enable-encoder=vp9_vaapi \
--disable-encoder=h264_nvenc \
--disable-encoder=hevc_nvenc \
\
`#Video hwaccel` \
--enable-hwaccel=h263_vaapi \
@@ -138,7 +138,6 @@ configure_target() {
\
`#Licensing options` \
--enable-gpl \
--disable-nonfree \
\
`#Documentation options` \
--disable-doc \

View File

@@ -3,8 +3,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="go"
PKG_VERSION="1.12.3"
PKG_SHA256="b710a65982e9001ef99a167cf6e8636e46ec36a10e487e7c1c7384cdcd6fcd7c"
PKG_VERSION="1.12.6"
PKG_SHA256="d61ff8fa5685b911653c8153de6e6501728ec3aee26a9d5a56880bab3120426b"
PKG_LICENSE="BSD"
PKG_SITE="https://golang.org"
PKG_URL="https://github.com/golang/go/archive/${PKG_NAME}${PKG_VERSION}.tar.gz"

View File

@@ -0,0 +1,25 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2019-present Peter Vicman (peter.vicman@gmail.com)
PKG_NAME="apache-ant"
PKG_VERSION="1.10.6"
PKG_SHA256="a4adf371696089e1730d4f55fd4d0c6f3784dea1eee402fcc981f2330f8d6fc1"
PKG_LICENSE="Apache License 2.0"
PKG_SITE="https://ant.apache.org/"
PKG_URL="https://archive.apache.org/dist/ant/source/${PKG_NAME}-${PKG_VERSION}-src.tar.xz"
PKG_DEPENDS_HOST="jdk-x86_64-zulu:host"
PKG_LONGDESC="Apache Ant is a Java library and command-line tool that help building software."
PKG_TOOLCHAIN="manual"
make_host() {
(
export JAVA_HOME=$(get_build_dir jdk-x86_64-zulu)
./bootstrap.sh
./bootstrap/bin/ant -f fetch.xml -Ddest=optional
./build.sh -Ddist.dir=${PKG_BUILD}/binary dist
cp binary/bin/ant ${TOOLCHAIN}/bin
cp -r binary/lib ${TOOLCHAIN}
)
}

View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2019-present Peter Vicman (peter.vicman@gmail.com)
PKG_NAME="jdk-aarch64-zulu"
PKG_VERSION="8.38.0.162-1.8.0_212"
PKG_SHA256="2afa6b9a86fea6f9275856506b5cc1efd8420f674c5e2dc3e1b04e140d6ad852"
PKG_LICENSE="GPLv2"
PKG_SITE="https://www.azul.com/products/zulu-embedded/"
PKG_URL="http://cdn.azul.com/zulu-embedded/bin/zulu${PKG_VERSION%%-*}-ca-jdk${PKG_VERSION##*-}-linux_aarch64.tar.gz"
PKG_LONGDESC="Zulu, the open Java(TM) platform from Azul Systems."
PKG_TOOLCHAIN="manual"
post_unpack() {
rm -f $PKG_BUILD/src.zip
}

View File

@@ -0,0 +1,19 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2019-present Peter Vicman (peter.vicman@gmail.com)
PKG_NAME="jdk-arm-zulu"
PKG_VERSION="8.38.0.163-1.8.0_212"
PKG_SHA256="bc45f41eab6e55c4e740e980001831c5e35db85745ec61a2b110e816e1074715"
PKG_LICENSE="GPLv2"
PKG_SITE="https://www.azul.com/products/zulu-embedded/"
PKG_URL="https://cdn.azul.com/zulu-embedded/bin/zulu${PKG_VERSION%%-*}-ca-jdk${PKG_VERSION##*-}-linux_aarch32hf.tar.gz"
PKG_LONGDESC="Zulu, the open Java(TM) platform from Azul Systems."
PKG_TOOLCHAIN="manual"
post_unpack() {
rm -f $PKG_BUILD/src.zip
# libbluray needs arm/server
mv $PKG_BUILD/jre/lib/aarch32 $PKG_BUILD/jre/lib/arm
mv $PKG_BUILD/jre/lib/arm/client $PKG_BUILD/jre/lib/arm/server
}

View File

@@ -0,0 +1,15 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2019-present Peter Vicman (peter.vicman@gmail.com)
PKG_NAME="jdk-x86_64-zulu"
PKG_VERSION="8.38.0.13-8.0.212"
PKG_SHA256="568e7578f1b20b1e62a8ed2c374bad4eb0e75d221323ccfa6ba8d7bc56cf33cf"
PKG_LICENSE="GPLv2"
PKG_SITE="https://www.azul.com/products/zulu-enterprise/"
PKG_URL="https://cdn.azul.com/zulu/bin/zulu${PKG_VERSION%%-*}-ca-jdk${PKG_VERSION##*-}-linux_x64.tar.gz"
PKG_LONGDESC="Zulu, the open Java(TM) platform from Azul Systems."
PKG_TOOLCHAIN="manual"
post_unpack() {
rm -f $PKG_BUILD/src.zip
}

View File

@@ -0,0 +1,20 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
. $(get_pkg_directory libXinerama)/package.mk
PKG_NAME="jre-libXinerama"
PKG_LONGDESC="libXinerama for JRE"
PKG_URL=""
PKG_DEPENDS_UNPACK+=" libXinerama"
PKG_CONFIGURE_OPTS_TARGET+=" --disable-static --enable-shared"
unpack() {
mkdir -p $PKG_BUILD
tar --strip-components=1 -xf $SOURCES/${PKG_NAME:4}/${PKG_NAME:4}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD
}
makeinstall_target() {
:
}

View File

@@ -0,0 +1,33 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
. $(get_pkg_directory libbluray)/package.mk
PKG_NAME="jre-libbluray"
PKG_DEPENDS_TARGET+=" jdk-x86_64-zulu:host apache-ant:host"
PKG_LONGDESC="libbluray jar for BD-J menus"
PKG_URL=""
PKG_DEPENDS_UNPACK+=" libbluray"
PKG_PATCH_DIRS+=" $(get_pkg_directory libbluray)/patches"
unpack() {
mkdir -p $PKG_BUILD
tar --strip-components=1 -xf $SOURCES/${PKG_NAME:4}/${PKG_NAME:4}-$PKG_VERSION.tar.bz2 -C $PKG_BUILD
}
pre_configure_target() {
# build also jar
PKG_CONFIGURE_OPTS_TARGET="${PKG_CONFIGURE_OPTS_TARGET/disable-bdjava-jar/enable-bdjava-jar}"
}
make_target() {
(
export JAVA_HOME="$(get_build_dir jdk-x86_64-zulu)"
make all-local
)
}
makeinstall_target() {
:
}

View File

@@ -26,16 +26,14 @@ pre_configure_target() {
export ac_cv_path_LIBUSB_CONFIG=$SYSROOT_PREFIX/usr/bin/libusb-config
}
post_make_target() {
makeinstall_target() {
# copy necessary libs and headers to build serdisplib support
# into the driver glcd from lcdproc
mkdir -p $SYSROOT_PREFIX/usr/include/serdisplib
cp include/serdisplib/*.h $SYSROOT_PREFIX/usr/include/serdisplib
mkdir -p $SYSROOT_PREFIX/usr/lib
cp lib/libserdisp.so* $SYSROOT_PREFIX/usr/lib
}
makeinstall_target() {
mkdir -p $INSTALL/usr/lib
cp lib/libserdisp.so* $INSTALL/usr/lib
}

View File

@@ -3,8 +3,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libnetwork"
PKG_VERSION="4725f2163fb214a6312f3beae5991f838ec36326"
PKG_SHA256="049bddc1e584f30c29e0fed8716b3c7023d4bb31789d7c3aa48d17b979f1522b"
PKG_VERSION="e7933d41e7b206756115aa9df5e0599fc5169742"
PKG_SHA256="b9695c4d7711487543b2eff8ca74cc2deb9828f7f4582196324d39d20eab3855"
PKG_LICENSE="APL"
PKG_SITE="https://github.com/docker/libnetwork"
PKG_URL="https://github.com/docker/libnetwork/archive/${PKG_VERSION}.tar.gz"

View File

@@ -1,25 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="pyalsaaudio"
PKG_VERSION="0.8.4"
PKG_SHA256="84e8f8da544d7f4bd96479ce4a237600077984d9be1d7f16c1d9a492ecf50085"
PKG_LICENSE="PSF"
PKG_SITE="http://larsimmisch.github.io/pyalsaaudio/"
PKG_URL="https://files.pythonhosted.org/packages/source/${PKG_NAME:0:1}/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain Python2 distutilscross:host alsa-lib"
PKG_LONGDESC="ALSA bindings"
PKG_TOOLCHAIN="manual"
make_target() {
export LDSHARED="$CC -shared"
export PYTHONXCPREFIX="$SYSROOT_PREFIX/usr"
python setup.py build --cross-compile
}
makeinstall_target() {
python setup.py install --root=$INSTALL --prefix=/usr
find $INSTALL/usr/lib -name "*.py" -exec rm -rf "{}" ";"
rm -rf $INSTALL/usr/lib/python*/site-packages/*.egg-info \
$INSTALL/usr/lib/python*/site-packages/*/tests
}

View File

@@ -2,7 +2,7 @@
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="rust"
PKG_VERSION="1.31.1"
PKG_VERSION="1.36.0"
PKG_LICENSE="MIT"
PKG_SITE="https://www.rust-lang.org"
PKG_DEPENDS_TARGET="toolchain rustup.rs"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="rustup.rs"
PKG_VERSION="1.16.0"
PKG_SHA256="8c4ffeda2088dbdd5ea2eac8acef5ddd57dfcfe1f06a503e3da790f93161e1a6"
PKG_VERSION="1.18.3"
PKG_SHA256="9a2ae2c85bbbfc838b25d86d049bc677532950d78765725beabb8a61df1c2710"
PKG_LICENSE="MIT"
PKG_SITE="https://www.rust-lang.org"
PKG_URL="https://github.com/rust-lang-nursery/rustup.rs/archive/$PKG_VERSION.tar.gz"

View File

@@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="libzip"
PKG_VERSION="0.11.2"
@@ -7,7 +8,7 @@ PKG_SHA256="7cfbbc2c540e154b933b6e9ec781e2671086bd8114eb744ae1a1ade34d2bb6bb"
PKG_LICENSE="GPL"
PKG_SITE="http://www.nih.at/libzip/"
PKG_URL="http://www.nih.at/libzip/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain"
PKG_DEPENDS_TARGET="toolchain zlib"
PKG_LONGDESC="A C library for reading, creating, and modifying zip archives."
PKG_TOOLCHAIN="configure"

View File

@@ -7,7 +7,7 @@ PKG_SHA256="6c1337aee2e4bf993299851c70b7db11faec785303cfca3a5c3eb5f329ba7023"
PKG_LICENSE="LGPLv2"
PKG_SITE="http://www.mpg123.org/"
PKG_URL="http://downloads.sourceforge.net/sourceforge/mpg123/mpg123-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_TARGET="toolchain alsa-lib SDL2"
PKG_DEPENDS_TARGET="toolchain alsa-lib"
PKG_LONGDESC="A console based real time MPEG Audio Player for Layer 1, 2 and 3."
PKG_CONFIGURE_OPTS_TARGET="--disable-shared \

View File

@@ -7,7 +7,7 @@ PKG_SHA256="c9d77f98b31d53f521e3179003a9cb66b0586704717e9d401f3bc0dafa243865"
PKG_LICENSE="GPL"
PKG_SITE="http://www.avalpa.com/the-key-values/15-free-software/33-opencaster"
PKG_URL="http://ftp.de.debian.org/debian/pool/main/o/opencaster/opencaster_${PKG_VERSION}+dfsg.orig.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_DEPENDS_TARGET="toolchain zlib"
PKG_LONGDESC="A free and open source MPEG2 transport stream data generator and packet manipulator."
pre_configure_target() {

View File

@@ -1,5 +1,6 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv)
# Copyright (C) 2019-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="tsdecrypt"
PKG_VERSION="10.0"
@@ -7,7 +8,7 @@ PKG_SHA256="a337a7d60cc8f78b9dffbd7d675390497763bcb8f878ec9f1bec3eb80f32b1f1"
PKG_LICENSE="GPL"
PKG_SITE="http://georgi.unixsol.org/programs/tsdecrypt"
PKG_URL="http://georgi.unixsol.org/programs/tsdecrypt/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_DEPENDS_TARGET="toolchain libdvbcsa"
PKG_DEPENDS_TARGET="toolchain libdvbcsa openssl"
PKG_LONGDESC="A tool that reads incoming mpeg transport stream over UDP/RTP and then decrypts it using libdvbcsa/ffdecsa."
make_target() {

View File

@@ -7,7 +7,7 @@ PKG_SHA256="4ebc271e9e5cea84a683375a0f7e91086e5dac90c5d51bb3f169f75386107a62"
PKG_LICENSE="GPLv3"
PKG_SITE="http://lftp.yar.ru/"
PKG_URL="http://lftp.yar.ru/ftp/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain readline openssl zlib"
PKG_DEPENDS_TARGET="toolchain readline openssl zlib libidn2"
PKG_LONGDESC="A sophisticated ftp/http client, and a file transfer program supporting a number of network protocols."
PKG_CONFIGURE_OPTS_TARGET="--disable-nls \

View File

@@ -10,6 +10,10 @@ PKG_URL="http://www.udpxy.com/download/1_23/${PKG_NAME}.${PKG_VERSION}-prod.tar.
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="A UDP-to-HTTP multicast traffic relay daemon."
configure_target() {
export CFLAGS+=" -Wno-stringop-truncation"
}
makeinstall_target() {
:
}

View File

@@ -2,13 +2,14 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="opus"
PKG_VERSION="1.3"
PKG_SHA256="4f3d69aefdf2dbaf9825408e452a8a414ffc60494c70633560700398820dc550"
PKG_VERSION="1.3.1"
PKG_SHA256="65b58e1e25b2a114157014736a3d9dfeaad8d41be1c8179866f144a2fb44ff9d"
PKG_LICENSE="BSD"
PKG_SITE="http://www.opus-codec.org"
PKG_URL="https://archive.mozilla.org/pub/opus/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_LONGDESC="Codec designed for interactive speech and audio transmission over the Internet."
PKG_TOOLCHAIN="configure"
if [ "$TARGET_ARCH" = "arm" ]; then
PKG_FIXED_POINT="--enable-fixed-point"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="RPi.GPIO"
PKG_VERSION="0.6.3"
PKG_SHA256="a5fc0eb5e401963b6c0a03650da6b42c4005f02d962b81241d96c98d0a578516"
PKG_VERSION="0.7.0"
PKG_SHA256="7424bc6c205466764f30f666c18187a0824077daf20b295c42f08aea2cb87d3f"
PKG_ARCH="arm"
PKG_LICENSE="MIT"
PKG_SITE="http://sourceforge.net/p/raspberry-gpio-python/"

View File

@@ -7,7 +7,7 @@ PKG_SHA256="dd779b6992de37995555e1d54caf0716a694765efc65480eed2c713105ab46fe"
PKG_LICENSE="GPL"
PKG_SITE="http://www.liblognorm.com"
PKG_URL="https://github.com/rsyslog/liblognorm/archive/v$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain libestr"
PKG_DEPENDS_TARGET="toolchain libestr libfastjson"
PKG_TOOLCHAIN="autotools"
PKG_LONGDESC="A fast samples-based log normalization library."

View File

@@ -3,8 +3,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="runc"
PKG_VERSION="v1.0.0-rc7"
PKG_SHA256="e8388b812d93a8a131a2a2fdd851847295c8e341721002940dadd2999fb81b51"
PKG_VERSION="v1.0.0-rc8"
PKG_SHA256="efe4ff9bbe49b19074346d65c914d809c0a3e90d062ea9619fe240f931f0b700"
PKG_LICENSE="APL"
PKG_SITE="https://github.com/opencontainers/runc"
PKG_URL="https://github.com/opencontainers/runc/archive/${PKG_VERSION}.tar.gz"

View File

@@ -8,6 +8,7 @@ PKG_ARCH="x86_64"
PKG_LICENSE="LGPL"
PKG_SITE="https://github.com/rhboot/efivar"
PKG_URL="https://github.com/rhboot/efivar/archive/$PKG_VERSION.tar.gz"
PKG_DEPENDS_HOST="gcc:host"
PKG_DEPENDS_TARGET="toolchain efivar:host"
PKG_LONGDESC="Tools and library to manipulate EFI variables."

View File

@@ -7,7 +7,7 @@ PKG_SHA256="acc16f878576ad0bb29bbb7c724e29d2827f14ddb39fe94d76c3a859d4a3d0d9"
PKG_LICENSE="BSD"
PKG_SITE="http://www.darwinsys.com/file/"
PKG_URL="https://github.com/file/file/archive/${PKG_VERSION}.tar.gz"
PKG_DEPENDS_HOST="ccache:host"
PKG_DEPENDS_HOST="toolchain"
PKG_DEPENDS_TARGET="toolchain file:host zlib"
PKG_LONGDESC="The file utility is used to determine the types of various files."
PKG_TOOLCHAIN="autotools"

View File

@@ -0,0 +1,24 @@
From c4c59790f3191c1a233fc1a61f8fedad85de1aeb Mon Sep 17 00:00:00 2001
From: Peter Fink <pfink@christ-es.de>
Date: Wed, 8 Feb 2017 14:04:45 +0100
Subject: [PATCH] fbutils: Fix x64 execution. Call malloc not with a hardcoded
sizeof(__u32). This caused the application to crash with segfaults on x64
machines.
---
tests/fbutils.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tests/fbutils.c b/tests/fbutils.c
index 8ee494bc..fd7fbfe9 100644
--- a/tests/fbutils.c
+++ b/tests/fbutils.c
@@ -138,7 +138,7 @@ int open_framebuffer(void)
memset(fbuffer,0,fix.smem_len);
bytes_per_pixel = (var.bits_per_pixel + 7) / 8;
- line_addr = malloc (sizeof (__u32) * var.yres_virtual);
+ line_addr = malloc (sizeof (line_addr) * var.yres_virtual);
addr = 0;
for (y = 0; y < var.yres_virtual; y++, addr += fix.line_length)
line_addr [y] = fbuffer + addr;

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="tvh-dtv-scan-tables"
PKG_VERSION="68f86b42272fc364cdd53d7cfeaa2a78d676dbfa"
PKG_SHA256="2bb102094696bbaf440b9319a9e8a4c93e2ecbcf2d2c556fb719b1febf1a7d3b"
PKG_VERSION="6bb0a70a0dcb97d5457c1ef4a7ccce634ea419b0"
PKG_SHA256="a5f375d28e52ff3f527fecb7968f3ede6bc2e128d1ad78537ab4f0f7844edb45"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/tvheadend"
PKG_URL="https://github.com/tvheadend/dtv-scan-tables/archive/$PKG_VERSION.tar.gz"

View File

@@ -3,8 +3,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="vdr-plugin-epgsearch"
PKG_VERSION="84b59b81137887a48533cc897551bccf2e9e10f6"
PKG_SHA256="d6c4a9136588a7cdf2eb43b6b9643a5bb81a44c542c6e6fcf7448b2383901914"
PKG_VERSION="770de32f1908b1f9c60f66bf288a4c8a03f97d52"
PKG_SHA256="8b6144ee3d22b0c13ba81be94920b421b05fd9b921dfe8245ed582db407acac8"
PKG_LICENSE="GPL"
PKG_SITE="http://winni.vdr-developer.org/epgsearch/"
PKG_URL="https://github.com/vdr-projects/vdr-plugin-epgsearch/archive/$PKG_VERSION.tar.gz"

View File

@@ -2,8 +2,8 @@
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="vdr-plugin-robotv"
PKG_VERSION="50d4bdcdbe3bdb6e85fe02de4c4086ca1f8db94d"
PKG_SHA256="062489e55111f0ba2420463cc506865ac59b1c1d080b318cb81d58ec3f4fbd3f"
PKG_VERSION="13b691af63743ce6481e2558dc50ee89dd7a0349"
PKG_SHA256="1bd508383d3b393dd1273af9bef07a1a64ac22c8eada85c96e5aa541c3abf228"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/pipelka/roboTV"
PKG_URL="https://github.com/pipelka/vdr-plugin-robotv/archive/$PKG_VERSION.tar.gz"

View File

@@ -3,8 +3,8 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="vdr-plugin-satip"
PKG_VERSION="a4051bf88c1f3c86cfe5133fd703517296f7f590"
PKG_SHA256="ea9f930b829e4c333f8401e64b5e03a82efb88a4c6db3320463b295d297b0035"
PKG_VERSION="b697e435d4bf42754309e6b5a9c5f8ff43463077"
PKG_SHA256="9ccb90b4b55848bad738236e07e0feb2af9e78e6c9ee6614b5a1172db3e00fb0"
PKG_LICENSE="GPL"
PKG_SITE="http://www.saunalahti.fi/~rahrenbe/vdr/satip/"
PKG_URL="https://github.com/rofafor/vdr-plugin-satip/archive/$PKG_VERSION.tar.gz"

View File

@@ -4,11 +4,11 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="vdr"
PKG_VERSION="2.4.0"
PKG_SHA256="93af49fe87048073dc38ef5e6c71e9704344d730f21c261afac69e3c937f8cce"
PKG_VERSION="2.4.1"
PKG_SHA256="25c3f835c4f3ff92cd2db10c004439ef22c2e895193c77fbe8cc7eac4858a1dc"
PKG_LICENSE="GPL"
PKG_SITE="http://www.tvdr.de"
PKG_URL="ftp://ftp.tvdr.de/vdr/vdr-$PKG_VERSION.tar.bz2"
PKG_URL="http://ftp.tvdr.de/vdr-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_TARGET="toolchain bzip2 fontconfig freetype libcap libiconv libjpeg-turbo"
PKG_LONGDESC="A DVB TV server application."
PKG_TOOLCHAIN="manual"

View File

@@ -1,46 +0,0 @@
ftp://ftp.tvdr.de/vdr/Developer/Patches/vdr-2.4/
# This patch fixes a bug in handling the tfRecording flag in the SVDRP commands MODT
# and UPDT. The tfRecording flag must only be handled by the VDR that actually hosts
# and processes the timer.
#
--- a/svdrp.c 2018/03/19 12:16:33 5.0
+++ b/svdrp.c 2018/04/19 09:45:08
@@ -2036,6 +2036,7 @@
LOCK_TIMERS_WRITE;
Timers->SetExplicitModify();
if (cTimer *Timer = Timers->GetById(Id)) {
+ bool IsRecording = Timer->HasFlags(tfRecording);
cTimer t = *Timer;
if (strcasecmp(tail, "ON") == 0)
t.SetFlags(tfActive);
@@ -2046,6 +2047,10 @@
return;
}
*Timer = t;
+ if (IsRecording)
+ Timer->SetFlags(tfRecording);
+ else
+ Timer->ClrFlags(tfRecording);
Timers->SetModified();
isyslog("SVDRP %s < %s modified timer %s (%s)", Setup.SVDRPHostName, *clientName, *Timer->ToDescr(), Timer->HasFlags(tfActive) ? "active" : "inactive");
Reply(250, "%d %s", Timer->Id(), *Timer->ToText(true));
@@ -2478,12 +2483,18 @@
if (Timer->Parse(Option)) {
LOCK_TIMERS_WRITE;
if (cTimer *t = Timers->GetTimer(Timer)) {
+ bool IsRecording = t->HasFlags(tfRecording);
t->Parse(Option);
delete Timer;
Timer = t;
+ if (IsRecording)
+ Timer->SetFlags(tfRecording);
+ else
+ Timer->ClrFlags(tfRecording);
isyslog("SVDRP %s < %s updated timer %s", Setup.SVDRPHostName, *clientName, *Timer->ToDescr());
}
else {
+ Timer->ClrFlags(tfRecording);
Timers->Add(Timer);
isyslog("SVDRP %s < %s added timer %s", Setup.SVDRPHostName, *clientName, *Timer->ToDescr());
}

View File

@@ -1,48 +0,0 @@
# This patch fixes a possible invalid locking sequence in case a remote timer handling error message
# is displayed on the OSD and the skin tries to lock the Recordings or DeletedRecordings
# list in its Flush() function (for instance by calling cVideoDiskUsage::HasChanged()).
# To do this, the call to Skins.Message() in menu.c's HandleRemoteModifications() has
# been changed to Skins.QueueMessage(), and cSkins::ProcessQueuedMessages() is now called
# unconditionally in the main loop, and checks whether the current cSkinDisplay object
# (if any) implements SetMessage().
#
--- 1/menu.c 2018/04/14 10:24:41 5.0
+++ 1/menu.c 2018/04/28 12:09:45
@@ -1075,7 +1075,7 @@
{
cString ErrorMessage;
if (!HandleRemoteTimerModifications(NewTimer, OldTimer, &ErrorMessage)) {
- Skins.Message(mtError, ErrorMessage);
+ Skins.QueueMessage(mtError, ErrorMessage);
return false;
}
return true;
--- 1/skins.c 2013/08/18 12:07:22 5.0
+++ 1/skins.c 2018/04/28 12:13:01
@@ -352,6 +352,14 @@
dsyslog("cSkins::ProcessQueuedMessages() called from background thread - ignored!");
return;
}
+ // Check whether there is a cSkinDisplay object (if any) that implements SetMessage():
+ if (cSkinDisplay *sd = cSkinDisplay::Current()) {
+ if (!(dynamic_cast<cSkinDisplayChannel *>(sd) ||
+ dynamic_cast<cSkinDisplayMenu *>(sd) ||
+ dynamic_cast<cSkinDisplayReplay *>(sd) ||
+ dynamic_cast<cSkinDisplayMessage *>(sd)))
+ return;
+ }
cSkinQueuedMessage *msg = NULL;
// Get the first waiting message:
queueMessageMutex.Lock();
--- 1/vdr.c 2018/04/10 13:24:43 5.0
+++ 1/vdr.c 2018/04/28 11:27:48
@@ -1176,8 +1176,7 @@
if (!Menu && !cOsd::IsOpen())
Menu = CamControl();
// Queued messages:
- if (!Skins.IsOpen())
- Skins.ProcessQueuedMessages();
+ Skins.ProcessQueuedMessages();
// User Input:
cOsdObject *Interact = Menu ? Menu : cControl::Control();
eKeys key = Interface->GetKey(!Interact || !Interact->NeedsFastResponse());

View File

@@ -1,89 +0,0 @@
# Fixed locking the Channels list in cDisplayChannel, where the lock was still held
# when Flush() was called.
#
--- 1/menu.c 2018/04/28 12:09:45 5.1
+++ 1/menu.c 2018/05/06 09:30:11
@@ -4626,14 +4626,17 @@
cOsdProvider::OsdSizeChanged(osdState); // just to get the current state
positioner = NULL;
channel = NULL;
- LOCK_CHANNELS_READ;
- channel = Channels->GetByNumber(Number);
- lastPresent = lastFollowing = NULL;
- if (channel) {
- DisplayChannel();
- DisplayInfo();
+ {
+ LOCK_CHANNELS_READ;
+ channel = Channels->GetByNumber(Number);
+ lastPresent = lastFollowing = NULL;
+ if (channel) {
+ DisplayChannel();
+ DisplayInfo();
+ }
+ }
+ if (channel)
displayChannel->Flush();
- }
lastTime.Set();
}
@@ -4868,31 +4871,33 @@
}
};
if (positioner || !timeout || lastTime.Elapsed() < (uint64_t)(Setup.ChannelInfoTime * 1000)) {
- LOCK_CHANNELS_READ;
- if (Key == kNone && !number && group < 0 && !NewChannel && channel && channel->Number() != cDevice::CurrentChannel()) {
- // makes sure a channel switch through the SVDRP CHAN command is displayed
- channel = Channels->GetByNumber(cDevice::CurrentChannel());
- Refresh();
- lastTime.Set();
- }
- DisplayInfo();
- if (NewChannel) {
- SetTrackDescriptions(NewChannel->Number()); // to make them immediately visible in the channel display
- Channels->SwitchTo(NewChannel->Number());
- SetTrackDescriptions(NewChannel->Number()); // switching the channel has cleared them
- channel = NewChannel;
- }
- const cPositioner *Positioner = cDevice::ActualDevice()->Positioner();
- bool PositionerMoving = Positioner && Positioner->IsMoving();
- SetNeedsFastResponse(PositionerMoving);
- if (!PositionerMoving) {
- if (positioner)
- lastTime.Set(); // to keep the channel display up a few seconds after the target position has been reached
- Positioner = NULL;
- }
- if (Positioner || positioner) // making sure we call SetPositioner(NULL) if there is a switch from "with" to "without" positioner
- displayChannel->SetPositioner(Positioner);
- positioner = Positioner;
+ {
+ LOCK_CHANNELS_READ;
+ if (Key == kNone && !number && group < 0 && !NewChannel && channel && channel->Number() != cDevice::CurrentChannel()) {
+ // makes sure a channel switch through the SVDRP CHAN command is displayed
+ channel = Channels->GetByNumber(cDevice::CurrentChannel());
+ Refresh();
+ lastTime.Set();
+ }
+ DisplayInfo();
+ if (NewChannel) {
+ SetTrackDescriptions(NewChannel->Number()); // to make them immediately visible in the channel display
+ Channels->SwitchTo(NewChannel->Number());
+ SetTrackDescriptions(NewChannel->Number()); // switching the channel has cleared them
+ channel = NewChannel;
+ }
+ const cPositioner *Positioner = cDevice::ActualDevice()->Positioner();
+ bool PositionerMoving = Positioner && Positioner->IsMoving();
+ SetNeedsFastResponse(PositionerMoving);
+ if (!PositionerMoving) {
+ if (positioner)
+ lastTime.Set(); // to keep the channel display up a few seconds after the target position has been reached
+ Positioner = NULL;
+ }
+ if (Positioner || positioner) // making sure we call SetPositioner(NULL) if there is a switch from "with" to "without" positioner
+ displayChannel->SetPositioner(Positioner);
+ positioner = Positioner;
+ }
displayChannel->Flush();
return osContinue;
}

View File

@@ -1,18 +0,0 @@
# Fixed locking the Channels list in cDisplayChannel, where the lock was still held
# when Flush() was called (cont'd).
#
--- 1/menu.c 2018/05/06 09:30:11 5.2
+++ 1/menu.c 2018/05/27 09:51:56 5.3
@@ -4654,8 +4654,10 @@
displayChannel = Skins.Current()->DisplayChannel(withInfo);
positioner = NULL;
channel = NULL;
- LOCK_CHANNELS_READ;
- channel = Channels->GetByNumber(cDevice::CurrentChannel());
+ {
+ LOCK_CHANNELS_READ;
+ channel = Channels->GetByNumber(cDevice::CurrentChannel());
+ }
ProcessKey(FirstKey);
}

View File

@@ -1,33 +0,0 @@
# Fixed shutdown after user inactivity in case a plugin is keeping the OSD open.
#
--- a/vdr.c 2018/04/28 11:27:48 5.1
+++ b/vdr.c 2018/07/16 08:52:40 5.2
@@ -1514,9 +1514,7 @@
ShutdownHandler.countdown.Cancel();
}
- if ((Now - LastInteract) > ACTIVITYTIMEOUT && !cRecordControls::Active() && !RecordingsHandler.Active() && (Now - cRemote::LastActivity()) > ACTIVITYTIMEOUT) {
- // Handle housekeeping tasks
-
+ if (!cRecordControls::Active() && !RecordingsHandler.Active() && (Now - cRemote::LastActivity()) > ACTIVITYTIMEOUT) {
// Shutdown:
// Check whether VDR will be ready for shutdown in SHUTDOWNWAIT seconds:
time_t Soon = Now + SHUTDOWNWAIT;
@@ -1535,7 +1533,8 @@
// Do this again a bit later:
ShutdownHandler.SetRetry(SHUTDOWNRETRY);
}
-
+ // Handle housekeeping tasks
+ if ((Now - LastInteract) > ACTIVITYTIMEOUT) {
// Disk housekeeping:
RemoveDeletedRecordings();
ListGarbageCollector.Purge();
@@ -1543,6 +1542,7 @@
// Plugins housekeeping:
PluginManager.Housekeeping();
}
+ }
ReportEpgBugFixStats();

View File

@@ -1,31 +0,0 @@
# Fixed switching through encrypted channels with the Up/Down keys
#
--- a/device.c 2018/03/24 09:49:14 5.0
+++ b/device.c 2018/07/16 09:29:57
@@ -787,6 +787,7 @@
if (LiveView) {
isyslog("switching to channel %d %s (%s)", Channel->Number(), *Channel->GetChannelID().ToString(), Channel->Name());
cControl::Shutdown(); // prevents old channel from being shown too long if GetDevice() takes longer
+ // and, if decrypted, this removes the now superflous PIDs from the CAM, too
}
for (int i = 3; i--;) {
switch (SetChannel(Channel, LiveView)) {
@@ -809,6 +810,7 @@
Direction = sgn(Direction);
if (Direction) {
cControl::Shutdown(); // prevents old channel from being shown too long if GetDevice() takes longer
+ // and, if decrypted, this removes the now superflous PIDs from the CAM, too
int n = CurrentChannel() + Direction;
int first = n;
LOCK_CHANNELS_READ;
--- a/menu.c 2018/05/27 09:51:56 5.3
+++ b/menu.c 2018/07/16 09:29:57
@@ -4704,6 +4704,8 @@
const cChannel *cDisplayChannel::NextAvailableChannel(const cChannel *Channel, int Direction)
{
if (Direction) {
+ cControl::Shutdown(); // prevents old channel from being shown too long if GetDevice() takes longer
+ // and, if decrypted, this removes the now superflous PIDs from the CAM, too
LOCK_CHANNELS_READ;
while (Channel) {
Channel = Direction > 0 ? Channels->Next(Channel) : Channels->Prev(Channel);

View File

@@ -1,13 +0,0 @@
# Now deactivating MTD support if a non MCD capable CAM is inserted after removing
# a previously used CAM that is MCD capable.
#
--- a/ci.c 2018/03/19 16:37:03 5.0
+++ b/ci.c 2018/09/23 10:17:20
@@ -1213,6 +1213,7 @@
}
else {
dsyslog("CAM %d: doesn't reply to QUERY - only a single channel can be decrypted", CamSlot()->SlotNumber());
+ CamSlot()->MtdActivate(false);
state = 4; // normal operation
}
}

View File

@@ -5,7 +5,6 @@ PKG_NAME="repository.linuxserver.docker"
PKG_VERSION="9.0"
PKG_REV="102"
PKG_ARCH="any"
PKG_ADDON_PROJECTS="any !WeTek_Core !WeTek_Play"
PKG_LICENSE="GPL"
PKG_SITE="https://linuxserver.io"
PKG_URL=""

View File

@@ -1,3 +1,6 @@
102
- Avoid LibreELEC Settings addon crash
101
- Fix log errors

View File

@@ -3,7 +3,7 @@
PKG_NAME="bluetooth-audio"
PKG_VERSION="0"
PKG_REV="101"
PKG_REV="102"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE=""

View File

@@ -0,0 +1,110 @@
#!/usr/bin/python2
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
from __future__ import print_function
import sys
import dbus
import dbus.mainloop.glib
import gobject
import time
gobject.threads_init()
class BluetoothAudioClient(object):
def __init__(self):
self.devices = {}
self.signal_added = None
self.signal_removed = None
self._setup_loop()
self._setup_bus()
self._setup_signals()
def quit(self):
self.signal_added.remove()
self.signal_removed.remove()
self._loop.quit()
def _setup_loop(self):
self._loop = gobject.MainLoop()
def run(self):
self._loop.run()
def _setup_bus(self):
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
self._bus = dbus.SystemBus()
def _setup_signals(self):
self.signal_added = self._bus.add_signal_receiver(handler_function=self.switch_audio,
signal_name='InterfacesAdded',
dbus_interface='org.freedesktop.DBus.ObjectManager',
bus_name='org.bluez',
member_keyword='signal')
self.signal_removed = self._bus.add_signal_receiver(handler_function=self.switch_audio,
signal_name='InterfacesRemoved',
dbus_interface='org.freedesktop.DBus.ObjectManager',
bus_name='org.bluez',
member_keyword='signal')
def switch_audio(self, *args, **kwargs):
device_path = args[0]
try:
if kwargs['signal'] == 'InterfacesAdded':
self.devices[device_path] = {
'Connected': '',
'Device': '',
'Class': '',
}
device = self._bus.get_object('org.bluez', device_path)
device_iface = dbus.Interface(device, dbus.PROPERTIES_IFACE)
self.devices[device_path]['Device'] = device_iface.Get('org.bluez.MediaTransport1', 'Device')
audio_device_path = self._bus.get_object('org.bluez', self.devices[device_path]['Device'])
audio_device_iface = dbus.Interface(audio_device_path, dbus.PROPERTIES_IFACE)
self.devices[device_path]['Class'] = audio_device_iface.Get('org.bluez.Device1', 'Class')
self.devices[device_path]['Connected'] = audio_device_iface.Get('org.bluez.Device1', 'Connected')
if self.devices[device_path]['Class'] & (1 << 21):
print('bluetooth')
sys.stdout.flush()
elif kwargs['signal'] == 'InterfacesRemoved':
if self.devices[device_path]['Device'] is not None and self.devices[device_path]['Class'] & (1 << 21):
audio_device_path = self._bus.get_object('org.bluez', self.devices[device_path]['Device'])
audio_device_iface = dbus.Interface(audio_device_path, dbus.PROPERTIES_IFACE)
self.devices[device_path]['Connected'] = audio_device_iface.Get('org.bluez.Device1', 'Connected')
while self.devices[device_path]['Connected']:
self.devices[device_path]['Connected'] = audio_device_iface.Get('org.bluez.Device1', 'Connected')
time.sleep(0.1)
for path in self.devices:
if self.devices[path]['Connected'] and self.devices[path]['Class'] & (1 << 21):
return
print('default')
sys.stdout.flush()
except (TypeError, KeyError, dbus.exceptions.DBusException) as e:
print('%s: ' % unicode(e), file=sys.stderr)
client = BluetoothAudioClient()
client.run()
del BluetoothAudioClient

View File

@@ -1,19 +1,15 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
import dbus
import dbus.mainloop.glib
import gobject
import json
import subprocess
import threading
import time
import xbmc
import xbmcaddon
__addon__ = xbmcaddon.Addon()
__addonid__ = __addon__.getAddonInfo('id')
gobject.threads_init()
__addonpath__ = xbmc.translatePath(xbmcaddon.Addon().getAddonInfo('path')).decode('utf-8')
class KodiFunctions(object):
@@ -63,103 +59,38 @@ class BluetoothAudioClient(object):
xbmc.log('%s: starting add-on' % __addonid__, xbmc.LOGNOTICE)
self.devices = {}
self.signal_added = None
self.signal_removed = None
self.kodi = KodiFunctions()
self.path = __addonpath__ + '/bin/dbusservice.py'
self.service = subprocess.Popen([self.path], stdout=subprocess.PIPE)
self._thread = threading.Thread(target=self.loop)
self._thread.start()
def loop(self):
while True:
line = self.service.stdout.readline()
if line == '':
break
if line == 'bluetooth\n':
self.kodi.select_pulse()
continue
if line == 'default\n':
self.kodi.select_default()
continue
xbmc.log('%s: unexpected input: %s' % (__addonid__, line), xbmc.LOGERROR)
self._setup_loop()
self._setup_bus()
self._setup_signals()
def quit(self):
xbmc.log('%s: stopping add-on' % __addonid__, xbmc.LOGNOTICE)
self.service.terminate()
self._thread.join()
self.kodi.select_default()
self.signal_added.remove()
self.signal_removed.remove()
self._loop.quit()
def _setup_loop(self):
self._loop = gobject.MainLoop()
self._thread = threading.Thread(target=self._loop.run)
self._thread.start()
def _setup_bus(self):
dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
self._bus = dbus.SystemBus()
def _setup_signals(self):
self.signal_added = self._bus.add_signal_receiver(handler_function=self.switch_audio,
signal_name='InterfacesAdded',
dbus_interface='org.freedesktop.DBus.ObjectManager',
bus_name='org.bluez',
member_keyword='signal')
self.signal_removed = self._bus.add_signal_receiver(handler_function=self.switch_audio,
signal_name='InterfacesRemoved',
dbus_interface='org.freedesktop.DBus.ObjectManager',
bus_name='org.bluez',
member_keyword='signal')
def switch_audio(self, *args, **kwargs):
device_path = args[0]
try:
if kwargs['signal'] == 'InterfacesAdded':
self.devices[device_path] = {
'Connected': '',
'Device': '',
'Class': '',
}
device = self._bus.get_object('org.bluez', device_path)
device_iface = dbus.Interface(device, dbus.PROPERTIES_IFACE)
self.devices[device_path]['Device'] = device_iface.Get('org.bluez.MediaTransport1', 'Device')
audio_device_path = self._bus.get_object('org.bluez', self.devices[device_path]['Device'])
audio_device_iface = dbus.Interface(audio_device_path, dbus.PROPERTIES_IFACE)
self.devices[device_path]['Class'] = audio_device_iface.Get('org.bluez.Device1', 'Class')
self.devices[device_path]['Connected'] = audio_device_iface.Get('org.bluez.Device1', 'Connected')
if self.devices[device_path]['Class'] & (1 << 21):
xbmc.log('%s: bluetooth audio device connected' % __addonid__, xbmc.LOGNOTICE)
xbmc.log('%s: switching to bluetooth audio device' % __addonid__, xbmc.LOGNOTICE)
self.kodi.select_pulse()
elif kwargs['signal'] == 'InterfacesRemoved':
if self.devices[device_path]['Device'] is not None and self.devices[device_path]['Class'] & (1 << 21):
audio_device_path = self._bus.get_object('org.bluez', self.devices[device_path]['Device'])
audio_device_iface = dbus.Interface(audio_device_path, dbus.PROPERTIES_IFACE)
self.devices[device_path]['Connected'] = audio_device_iface.Get('org.bluez.Device1', 'Connected')
while self.devices[device_path]['Connected']:
self.devices[device_path]['Connected'] = audio_device_iface.Get('org.bluez.Device1', 'Connected')
time.sleep(0.1)
xbmc.log('%s: bluetooth audio device disconnected' % __addonid__, xbmc.LOGNOTICE)
xbmc.log('%s: checking for other connected devices' % __addonid__, xbmc.LOGNOTICE)
for path in self.devices:
if self.devices[path]['Connected'] and self.devices[path]['Class'] & (1 << 21):
xbmc.log('%s: found connected bluetooth audio device' % __addonid__, xbmc.LOGNOTICE)
return
xbmc.log('%s: switching to default audio device' % __addonid__, xbmc.LOGNOTICE)
self.kodi.select_default()
except (TypeError, KeyError, dbus.exceptions.DBusException) as e:
xbmc.log('%s: ' % __addonid__ + unicode(e), xbmc.LOGERROR)
class BluetoothMonitor(xbmc.Monitor):

View File

@@ -48,7 +48,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

@@ -18,10 +18,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

@@ -1,3 +1,6 @@
126
- Update to docker 18.09.7
125
- Update to docker 18.09.5

View File

@@ -3,11 +3,10 @@
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="docker"
PKG_VERSION="18.09.5"
PKG_SHA256="57f2a5d3374d86a8eb680c91df4351f5cb648351b9b32520c6fd2d66e7e97fd5"
PKG_REV="125"
PKG_VERSION="18.09.7"
PKG_SHA256="f05dc15f5c11635472534c3aaf759c39c1bba842dd1ac23059431c2fd1ae1795"
PKG_REV="126"
PKG_ARCH="any"
PKG_ADDON_PROJECTS="any !WeTek_Core !WeTek_Play"
PKG_LICENSE="ASL"
PKG_SITE="http://www.docker.com/"
PKG_URL="https://github.com/docker/docker-ce/archive/v${PKG_VERSION}.tar.gz"

View File

@@ -1,8 +1,25 @@
From 9979cbaa4d0108da552fd452294788a042766995 Mon Sep 17 00:00:00 2001
From de25daa9281709a90e4dc23b4c27cbcdcef32fd3 Mon Sep 17 00:00:00 2001
From: 5schatten <supervisedthinking@gmail.com>
Date: Wed, 7 Nov 2018 12:22:23 +0100
Date: Sat, 29 Jun 2019 17:58:09 +0200
Subject: [PATCH] use Kodi addon storage location
---
.../github.com/docker/docker/registry/config_unix.go | 2 +-
.../github.com/docker/docker/registry/endpoint_v1.go | 2 +-
components/engine/cmd/dockerd/daemon_unix.go | 4 ++--
components/engine/daemon/config/config_test.go | 2 +-
.../engine/integration-cli/docker_cli_daemon_test.go | 12 ++++++------
.../docker_cli_external_volume_driver_unix_test.go | 8 ++++----
.../integration-cli/docker_cli_network_unix_test.go | 8 ++++----
.../engine/integration-cli/docker_cli_swarm_test.go | 8 ++++----
.../integration/plugin/authz/authz_plugin_test.go | 6 +++---
.../integration/plugin/graphdriver/external_test.go | 6 +++---
components/engine/pkg/plugins/discovery_unix.go | 2 +-
components/engine/pkg/plugins/plugins.go | 2 +-
components/engine/registry/config_unix.go | 2 +-
components/engine/registry/endpoint_v1.go | 2 +-
14 files changed, 33 insertions(+), 33 deletions(-)
diff --git a/components/cli/vendor/github.com/docker/docker/registry/config_unix.go b/components/cli/vendor/github.com/docker/docker/registry/config_unix.go
index 20fb47bcae..a023df7895 100644
--- a/components/cli/vendor/github.com/docker/docker/registry/config_unix.go
@@ -65,7 +82,7 @@ index 6998ed3312..c255b62146 100644
flags.String("config-file", configFile, "")
err := Reload(configFile, flags, func(c *Config) {
diff --git a/components/engine/integration-cli/docker_cli_daemon_test.go b/components/engine/integration-cli/docker_cli_daemon_test.go
index 986cc27530..7a0c2805cd 100644
index d3cd5f1676..b5e504489d 100644
--- a/components/engine/integration-cli/docker_cli_daemon_test.go
+++ b/components/engine/integration-cli/docker_cli_daemon_test.go
@@ -546,11 +546,11 @@ func (s *DockerDaemonSuite) TestDaemonAllocatesListeningPort(c *check.C) {
@@ -121,11 +138,11 @@ index da8bb7e011..605a162e79 100644
- err := os.MkdirAll("/etc/docker/plugins", 0755)
+ err := os.MkdirAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins", 0755)
c.Assert(err, checker.IsNil)
assert.NilError(c, err)
- err = ioutil.WriteFile("/etc/docker/plugins/"+name+".spec", []byte(s.Server.URL), 0644)
+ err = ioutil.WriteFile("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/"+name+".spec", []byte(s.Server.URL), 0644)
c.Assert(err, checker.IsNil)
assert.NilError(c, err)
return s
}
@@ -278,7 +278,7 @@ func newVolumePlugin(c *check.C, name string) *volumePlugin {
@@ -134,7 +151,7 @@ index da8bb7e011..605a162e79 100644
- err := os.RemoveAll("/etc/docker/plugins")
+ err := os.RemoveAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins")
c.Assert(err, checker.IsNil)
assert.NilError(c, err)
}
@@ -371,7 +371,7 @@ func hostVolumePath(name string) string {
@@ -156,17 +173,17 @@ index d3d6256a75..a0f0ae973d 100644
- err := os.MkdirAll("/etc/docker/plugins", 0755)
+ err := os.MkdirAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins", 0755)
c.Assert(err, checker.IsNil)
assert.NilError(c, err)
- fileName := fmt.Sprintf("/etc/docker/plugins/%s.spec", netDrv)
+ fileName := fmt.Sprintf("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/%s.spec", netDrv)
err = ioutil.WriteFile(fileName, []byte(url), 0644)
c.Assert(err, checker.IsNil)
assert.NilError(c, err)
- ipamFileName := fmt.Sprintf("/etc/docker/plugins/%s.spec", ipamDrv)
+ ipamFileName := fmt.Sprintf("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/%s.spec", ipamDrv)
err = ioutil.WriteFile(ipamFileName, []byte(url), 0644)
c.Assert(err, checker.IsNil)
assert.NilError(c, err)
}
@@ -227,7 +227,7 @@ func (s *DockerNetworkSuite) TearDownSuite(c *check.C) {
@@ -174,11 +191,11 @@ index d3d6256a75..a0f0ae973d 100644
- err := os.RemoveAll("/etc/docker/plugins")
+ err := os.RemoveAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins")
c.Assert(err, checker.IsNil)
assert.NilError(c, err)
}
diff --git a/components/engine/integration-cli/docker_cli_swarm_test.go b/components/engine/integration-cli/docker_cli_swarm_test.go
index 9f99d0c849..2d9a4b088e 100644
index f6fadcf995..5d0b5256c1 100644
--- a/components/engine/integration-cli/docker_cli_swarm_test.go
+++ b/components/engine/integration-cli/docker_cli_swarm_test.go
@@ -783,14 +783,14 @@ func setupRemoteGlobalNetworkPlugin(c *check.C, mux *http.ServeMux, url, netDrv,
@@ -187,17 +204,17 @@ index 9f99d0c849..2d9a4b088e 100644
- err := os.MkdirAll("/etc/docker/plugins", 0755)
+ err := os.MkdirAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins", 0755)
c.Assert(err, checker.IsNil)
assert.NilError(c, err)
- fileName := fmt.Sprintf("/etc/docker/plugins/%s.spec", netDrv)
+ fileName := fmt.Sprintf("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/%s.spec", netDrv)
err = ioutil.WriteFile(fileName, []byte(url), 0644)
c.Assert(err, checker.IsNil)
assert.NilError(c, err)
- ipamFileName := fmt.Sprintf("/etc/docker/plugins/%s.spec", ipamDrv)
+ ipamFileName := fmt.Sprintf("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins/%s.spec", ipamDrv)
err = ioutil.WriteFile(ipamFileName, []byte(url), 0644)
c.Assert(err, checker.IsNil)
assert.NilError(c, err)
}
@@ -802,7 +802,7 @@ func (s *DockerSwarmSuite) TestSwarmNetworkPlugin(c *check.C) {
setupRemoteGlobalNetworkPlugin(c, mux, s.server.URL, globalNetworkPlugin, globalIPAMPlugin)
@@ -205,11 +222,11 @@ index 9f99d0c849..2d9a4b088e 100644
s.server.Close()
- err := os.RemoveAll("/etc/docker/plugins")
+ err := os.RemoveAll("/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins")
c.Assert(err, checker.IsNil)
assert.NilError(c, err)
}()
diff --git a/components/engine/integration/plugin/authz/authz_plugin_test.go b/components/engine/integration/plugin/authz/authz_plugin_test.go
index d0f5d8a783..ba626c6310 100644
index 105affc1af..fa631a377a 100644
--- a/components/engine/integration/plugin/authz/authz_plugin_test.go
+++ b/components/engine/integration/plugin/authz/authz_plugin_test.go
@@ -55,15 +55,15 @@ func setupTestV1(t *testing.T) func() {
@@ -268,7 +285,7 @@ index 58058f2828..a7b449ca25 100644
-var specsPaths = []string{"/etc/docker/plugins", "/usr/lib/docker/plugins"}
+var specsPaths = []string{"/storage/.kodi/userdata/addon_data/service.system.docker/config/plugins", "/usr/lib/docker/plugins"}
diff --git a/components/engine/pkg/plugins/plugins.go b/components/engine/pkg/plugins/plugins.go
index 28c06ff693..c24cad2b63 100644
index 6962079df9..77b69265b1 100644
--- a/components/engine/pkg/plugins/plugins.go
+++ b/components/engine/pkg/plugins/plugins.go
@@ -4,7 +4,7 @@

View File

@@ -1,3 +1,12 @@
105
- Update to 4.2.1.0
104
- Update to 4.2.0.40
103
- Update to 4.1.1.0
102
- Update to 4.1.0.26

View File

@@ -2,9 +2,9 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="emby4"
PKG_VERSION="4.1.0.26"
PKG_SHA256="ccb9bb463e6ff5e084f731ccbb48119176cdc3592b3234796eefa09ec9e03e0f"
PKG_REV="102"
PKG_VERSION="4.2.1.0"
PKG_SHA256="684a47c36700063141257c6325bbb2519ba11a7c7711e54e128d96f30adecdff"
PKG_REV="105"
PKG_ARCH="any"
PKG_LICENSE="prop."
PKG_SITE="http://emby.media"

View File

@@ -1,13 +0,0 @@
110
- Rewrite add-on from scratch
- Add support for APPS, SETUP, CVBS (X92) and POWER (A1 Max) indicators.
- Add a configuration dialog:
* Adjust display brightness.
* Storage access indication.
* Advanced hardware configuration of the display.
- Fix crash if aml_fd628 module is not loaded (led_on, led_off files don't exist)
- Fix disable add-on from Kodi UI.
- Turn off indicators when add-on is disabled.
100
- Initial add-on

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

View File

@@ -1,30 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="fd628"
PKG_VERSION="1.1"
PKG_REV="100"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://libreelec.tv"
PKG_URL=""
PKG_DEPENDS_TARGET="toolchain"
PKG_SECTION="service"
PKG_SHORTDESC="fd628: Kodi service to light up additional icons on devices with FD628 display"
PKG_LONGDESC="fd628: Kodi service to light up additional icons on devices with FD628 display"
PKG_TOOLCHAIN="manual"
PKG_IS_ADDON="yes"
PKG_ADDON_NAME="service.fd628"
PKG_ADDON_PROJECTS="S905 S912"
PKG_ADDON_TYPE="xbmc.service"
make_target() {
sed -e "s|@PKG_VERSION@|$PKG_VERSION|g" \
-i addon.xml
}
addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID
cp -R $PKG_BUILD/* $ADDON_BUILD/$PKG_ADDON_ID
}

View File

@@ -1,22 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="service.fd628"
name="FD628 Display"
version="@PKG_VERSION@"
provider-name="Team LibreELEC">
<requires>
<import addon="xbmc.python" version="2.1.0"/>
</requires>
<extension point="xbmc.service"
library="resources/lib/service.py"
start="startup">
</extension>
<extension point="xbmc.addon.metadata">
<summary>Service for controlling FD628 VFD display icons</summary>
<description>Service for controlling FD628 VFD display icons, e.g. Ethernet/WiFi connection status and Time</description>
<platform>all</platform>
<assets>
<icon>resources/icon.png</icon>
</assets>
</extension>
</addon>

View File

@@ -1,136 +0,0 @@
# Kodi Media Center language file
# Addon Name: FD628 Display
# Addon id: service.fd628
# Addon Provider: Team LibreELEC
msgid ""
msgstr ""
"Project-Id-Version: XBMC-Addons\n"
"Report-Msgid-Bugs-To: alanwww1@xbmc.org\n"
"POT-Creation-Date: 2018-02-12 17:48+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Language: en_GB\n"
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
# Kodi Settings
msgctxt "#30000"
msgid "General"
msgstr ""
msgctxt "#30001"
msgid "Turn on display"
msgstr ""
msgctxt "#30002"
msgid "Display brightness"
msgstr ""
msgctxt "#30003"
msgid "Advanced settings"
msgstr ""
msgctxt "#30004"
msgid "Display type"
msgstr ""
msgctxt "#30026"
msgid "Common anode display (transposed ram)"
msgstr ""
msgctxt "#30013"
msgid "Enable storage access (RW) indicator"
msgstr ""
msgctxt "#30014"
msgid "Select which icon is to be used as the access indicator"
msgstr ""
msgctxt "#30028"
msgid "Clock colon (:) always on"
msgstr ""
msgctxt "#30015"
msgid "play"
msgstr ""
msgctxt "#30016"
msgid "pause"
msgstr ""
msgctxt "#30017"
msgid "hdmi"
msgstr ""
msgctxt "#30018"
msgid "cvbs"
msgstr ""
msgctxt "#30019"
msgid "eth"
msgstr ""
msgctxt "#30020"
msgid "wifi"
msgstr ""
msgctxt "#30021"
msgid "setup"
msgstr ""
msgctxt "#30022"
msgid "apps"
msgstr ""
msgctxt "#30023"
msgid "usb"
msgstr ""
msgctxt "#30024"
msgid "sd"
msgstr ""
msgctxt "#30025"
msgid "alarm"
msgstr ""
msgctxt "#30027"
msgid "power"
msgstr ""
msgctxt "#30012"
msgid "Reorder character indexes"
msgstr ""
msgctxt "#30005"
msgid "Index 0"
msgstr ""
msgctxt "#30006"
msgid "Index 1"
msgstr ""
msgctxt "#30007"
msgid "Index 2"
msgstr ""
msgctxt "#30008"
msgid "Index 3"
msgstr ""
msgctxt "#30009"
msgid "Index 4"
msgstr ""
msgctxt "#30010"
msgid "Index 5"
msgstr ""
msgctxt "#30011"
msgid "Index 6"
msgstr ""
# Max index 30028

View File

@@ -1,78 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
import os
import struct
from fd628utils import *
_led_cmd = '/sys/class/leds/le-vfd/led_cmd'
class fd628Dev:
def __init__(self):
import ioctl
import ctypes
size = ctypes.sizeof(ctypes.c_int(0))
self._FD628_IOC_MAGIC = ord('M')
self._FD628_IOC_SMODE = ioctl.IOW(self._FD628_IOC_MAGIC, 1, size)
self._FD628_IOC_GMODE = ioctl.IOR(self._FD628_IOC_MAGIC, 2, size)
self._FD628_IOC_SBRIGHT = ioctl.IOW(self._FD628_IOC_MAGIC, 3, size)
self._FD628_IOC_GBRIGHT = ioctl.IOR(self._FD628_IOC_MAGIC, 4, size)
self._FD628_IOC_POWER = ioctl.IOW(self._FD628_IOC_MAGIC, 5, size)
self._FD628_IOC_GVER = ioctl.IOR(self._FD628_IOC_MAGIC, 6, size)
self._FD628_IOC_STATUS_LED = ioctl.IOW(self._FD628_IOC_MAGIC, 7, size)
self._FD628_IOC_GDISPLAY_TYPE = ioctl.IOR(self._FD628_IOC_MAGIC, 8, size)
self._FD628_IOC_SDISPLAY_TYPE = ioctl.IOW(self._FD628_IOC_MAGIC, 9, size)
self._FD628_IOC_SCHARS_ORDER = ioctl.IOW(self._FD628_IOC_MAGIC, 10, 7)
self._FD628_IOC_USE_DTB_CONFIG = ioctl.IOW(self._FD628_IOC_MAGIC, 11, size)
self._FD628_IOC_MAXNR = 12
def enableDisplay(self, value):
self.__writeFD628(self._FD628_IOC_POWER, int(value))
def getBrightness(self):
return self.__readFD628(self._FD628_IOC_GBRIGHT)
def setBrightness(self, value):
self.__writeFD628(self._FD628_IOC_SBRIGHT, value)
def getDisplayType(self):
return self.__readFD628(self._FD628_IOC_GDISPLAY_TYPE)
def setDisplayType(self, value):
self.__writeFD628(self._FD628_IOC_SDISPLAY_TYPE, value)
def setCharacterOrder(self, value):
pack = struct.pack('BBBBBBB', value[0], value[1], value[2], value[3], value[4], value[5], value[6])
self.__writeFD628(self._FD628_IOC_SCHARS_ORDER, pack, True)
def useDtbConfig(self):
self.__writeFD628(self._FD628_IOC_USE_DTB_CONFIG, 0)
def __readFD628(self, cmd, isBuf = False):
import ioctl
ret = None
if (ioctl.DIR(cmd) == ioctl.READ and self.__writeFD628(cmd, 0)):
with open(_led_cmd, "rb") as vfd:
ret = vfd.read()
if (ret == ''):
ret = None
if (not isBuf and ret != None):
ret = int(ret, 0)
kodiLog('fd628Dev.__readFD628: value = {0}'.format(str(ret)))
return ret
def __writeFD628(self, cmd, value, isBuf = False):
ret = False
if (os.path.isfile(_led_cmd)):
if isBuf:
value = ''.join([struct.pack('I', cmd), value])
else:
value = struct.pack('Ii', cmd, value)
kodiLog('fd628Dev.__writeFD628: value = {0}'.format(repr(value)))
try:
with open(_led_cmd, "wb") as vfd:
vfd.write(value)
ret = True
except Exception as inst:
kodiLogError(inst)
return ret

View File

@@ -1,95 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
import xbmcaddon
addon = xbmcaddon.Addon(id='service.fd628')
def getSetting(id):
return addon.getSetting(id)
def getSettingBool(id):
value = getSetting(id).lower()
if (value == 'true'):
value = True
else:
value = False
return value
def getSettingInt(id):
return int(getSetting(id))
def getSettingNumber(id):
return float(getSetting(id))
class fd628Settings:
def __init__(self):
self.readValues()
def isDisplayOn(self):
return self._displayOn
def isAdvancedSettings(self):
return self._displayAdvanced
def getBrightness(self):
return self._displayBrightness
def getDisplayType(self):
return self._displayType
def isCommonAnode(self):
return self._commonAnode
def getDisplay(self):
value = self.getDisplayType()
if (self.isCommonAnode()):
value = value + (1 << 16)
return value
def getCharacterIndex(self, i):
return self._characterIndexes[i]
def getCharacterIndexes(self):
return self._characterIndexes
def isStorageIndicator(self):
return self._storageIndicator
def getStorageIndicatorIcon(self):
return self._storageIndicatorIcon
def isColonOn(self):
return self._colonOn
def readValues(self):
self._displayAdvanced = False
self._displayOn = getSettingBool('display.on')
if (self._displayOn):
self._displayBrightness = getSettingInt('display.brightness')
self._storageIndicator = getSettingBool('display.storage.indicator')
self._storageIndicatorIcon = getSetting('display.storage.indicator.icon')
self._colonOn = getSettingBool('display.colon.on')
self._displayAdvanced = getSettingBool('display.advanced')
if (self._displayAdvanced):
self._displayType = getSettingInt('display.type')
self._commonAnode = getSettingBool('display.common.anode')
self._characterIndexes = []
for i in range(7):
self._characterIndexes.append(getSettingInt('display.char.index{0}'.format(i)))
else:
self.__initDefaultValues()
else:
self.__initDefaultValues()
def __initDefaultValues(self):
if not (self._displayOn):
self._displayBrightness = 7
self._storageIndicator = False
self._storageIndicatorIcon = ''
self._colonOn = False
self._displayAdvanced = False
if not (self._displayAdvanced):
self._displayType = 0
self._commonAnode = False
self._characterIndexes = range(0, 7)

View File

@@ -1,187 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
import xbmc
import os
from fd628utils import *
class fd628State(object):
def __init__(self, ledName):
self._value = False
self._hasChanged = False
self._ledName = ledName
def _getStr(self, className):
return '{0} ({1})'.format(className, self._ledName)
def update(self):
raise NotImplementedError
def getValue(self):
return self._value
def hasChanged(self):
return self._hasChanged
def getLedName(self):
return self._ledName
def _update(self, value):
if (value != self._value):
self._hasChanged = True
self._value = value
else:
self._hasChanged = False
class fd628IconIndicator(fd628State):
def __init__(self, on, ledName):
super(fd628IconIndicator, self).__init__(ledName)
self._on = on
def __str__(self):
return self._getStr('fd628IconIndicator')
def turnOn(self):
self._on = True
def turnOff(self):
self._on = False
def toggle(self):
self._on = not self._on
def update(self):
self._update(self._on)
class fd628CondVisibility(fd628State):
def __init__(self, ledName, cmd):
super(fd628CondVisibility, self).__init__(ledName)
self._cmd = cmd
def __str__(self):
return self._getStr('fd628CondVisibility')
def update(self):
value = xbmc.getCondVisibility(self._cmd)
self._update(value)
class fd628FileContains(fd628State):
def __init__(self, ledName, path, strings):
super(fd628FileContains, self).__init__(ledName)
self._path = path
self._strings = strings
def __str__(self):
return self._getStr('fd628FileContains')
def update(self):
if (os.path.isfile(self._path)):
with open(self._path, 'rb') as state:
content = state.read()
value = self.__checkContent(content)
self._update(value)
else:
self._update(False)
def __checkContent(self, content):
ret = False
for s in self._strings:
if (s in content):
ret = True
break
return ret
class fd628WindowChecker(fd628State):
def __init__(self, ledName, windows):
super(fd628WindowChecker, self).__init__(ledName)
self._windows = windows
def __str__(self):
return self._getStr('fd628WindowChecker')
def update(self):
value = False
for id in self._windows:
if (xbmc.getCondVisibility('Window.IsVisible({0})'.format(id))):
value = True
break
self._update(value)
class fd628ExtStorageChecker(fd628State):
def __init__(self, ledName, path):
super(fd628ExtStorageChecker, self).__init__(ledName)
self._path = path
def __str__(self):
return self._getStr('fd628ExtStorageChecker')
def update(self):
value = False
for folder, subs, files in os.walk('/dev/disk/by-uuid'):
for filename in files:
path = os.path.realpath(os.path.join(folder, filename))
if (path.startswith(self._path)):
value = True
break
self._update(value)
class fd628ExtStorageCount(fd628State):
def __init__(self, ledName, drives, type):
super(fd628ExtStorageCount, self).__init__(ledName)
if (drives == None): # Monitor all drives
self._drives = None
drives = self.__getAllDrives()
else: # Monitor listed drives
self._drives = drives
drives = self.__getSelectedDrives()
self._driveStats = {key: self.__readStatus(key) for key in drives}
kodiLogNotice('fd628ExtStorageCount.__init__: Drive stats ' + str(self._driveStats))
self._read = False
self._write = False
if (type == 'r'):
self._read = True
elif (type == 'w'):
self._write = True
elif (type == 'rw'):
self._read = True
self._write = True
else:
raise Exception('\'type\' must be \'r\', \'w\' or \'rw\'.')
def update(self):
value = False
if (self._drives == None):
drives = self.__getAllDrives()
else:
drives = self.__getSelectedDrives()
for drive in drives:
if (not drive in self._driveStats):
self._driveStats[drive] = None
kodiLogNotice('fd628ExtStorageCount.update: New drive found \'{0}\''.format(drive))
for path, stats in self._driveStats.iteritems():
newStats = self.__readStatus(path)
if (stats != None and newStats != None):
if (self._read):
value = value or stats[0] != newStats[0]
if (self._write):
value = value or stats[1] != newStats[1]
self._driveStats[path] = newStats
self._update(value)
def __readStatus(self, path):
path = os.path.join('/sys/block', path, 'stat')
if (os.path.isfile(path)):
with open(path, 'rb') as status:
values = status.read().split()
return (values[2], values[6])
else:
return None
def __getAllDrives(self):
drives = []
for folder, subs, files in os.walk('/sys/block'):
drives = [sub for sub in subs if (not sub.startswith('loop'))]
return drives
def __getSelectedDrives(self):
return [drive for drive in self.__getAllDrives() if ([d for d in self._drives if drive.startswith(d)])]

View File

@@ -1,19 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
import xbmc
import xbmcaddon
addonName = xbmcaddon.Addon(id='service.fd628').getAddonInfo('name')
def kodiLog(message, level = xbmc.LOGDEBUG):
xbmc.log('{0} -> {1}'.format(addonName, str(message)), level)
def kodiLogError(message):
kodiLog(message, xbmc.LOGERROR)
def kodiLogWarning(message):
kodiLog(message, xbmc.LOGWARNING)
def kodiLogNotice(message):
kodiLog(message, xbmc.LOGNOTICE)

View File

@@ -1,89 +0,0 @@
#!/usr/bin/python
"""
Author: SpliFF
License: Public Domain
Python ioctl constants and functions module
Mostly follows specifications in asm-generic/ioctl.h from linux 2.5.36
Notable differences:
* no architecture dependant stuff
* size parameters are all passed as bytes, not types (ie pass 4, not int)
!! WARNING EXPERIMENTAL SOFTWARE !!
Make sure the values returned by these functions are properly tested before using fcntl on anything remotely valuable!
"""
NRBITS = 8
TYPEBITS = 8
# may be arch dependent
SIZEBITS = 14
DIRBITS = 2
NRMASK = (1 << NRBITS) - 1
TYPEMASK = (1 << TYPEBITS) - 1
SIZEMASK = (1 << SIZEBITS) - 1
DIRMASK = (1 << DIRBITS) - 1
NRSHIFT = 0
TYPESHIFT = NRSHIFT + NRBITS
SIZESHIFT = TYPESHIFT + TYPEBITS
DIRSHIFT = SIZESHIFT + SIZEBITS
# may be arch dependent
NONE = 0x0
WRITE = 0x1
READ = 0x2
# for the drivers/sound files...
IN = WRITE << DIRSHIFT
OUT = READ << DIRSHIFT
INOUT = (WRITE | READ) << DIRSHIFT
IOCSIZE_MASK = SIZEMASK << SIZESHIFT
IOCSIZE_SHIFT = SIZESHIFT
# used to create numbers ...
def IO( _type, nr):
return IOC(NONE, _type, nr, 0)
def IOC(direction, _type, nr, size):
return (direction << DIRSHIFT) | (_type << TYPESHIFT) | (nr << NRSHIFT) | (size << SIZESHIFT)
def IOR( _type, nr, size):
return IOC(READ, _type, nr, size)
def IOW(_type, nr, size):
return IOC(WRITE, _type, nr, size)
def IOWR(_type, nr, size):
return IOC(READ|WRITE, _type, nr, size)
def IOR_BAD(_type, nr, size):
return IOC(READ, _type, nr, size)
def IOW_BAD(_type, nr, size):
return IOC(WRITE, _type, nr, size)
def IOWR_BAD(_type, nr, size):
return IOC(READ|WRITE, _type, nr, size)
# used to decode ioctl numbers..
def DIR(nr):
return (nr >> DIRSHIFT) & DIRMASK
def TYPE(nr):
return (nr >> TYPESHIFT) & TYPEMASK
def NR(nr):
return (nr >> NRSHIFT) & NRMASK
def SIZE(nr):
return (nr >> SIZESHIFT) & SIZEMASK

View File

@@ -1,143 +0,0 @@
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
import xbmcaddon
import threading
import os
import fd628states
import fd628dev
import fd628settings
from fd628utils import *
addon = xbmcaddon.Addon(id='service.fd628')
class fd628Monitor(xbmc.Monitor):
def __init__(self):
super(fd628Monitor, self).__init__()
self._settingsChangedCallback = None
def setSettingsChangedCallback(self, callbackObject):
self._settingsChangedCallback = callbackObject
def onSettingsChanged(self):
kodiLog('Enter fd628Monitor.onSettingsChanged')
if (self._settingsChangedCallback != None):
self._settingsChangedCallback.onSettingsChanged()
class fd628Addon():
def __init__(self, monitor):
self._fd628 = fd628dev.fd628Dev()
self._states = []
self._monitor = monitor
self._monitor.setSettingsChangedCallback(self)
self._settings = fd628settings.fd628Settings()
self._vfdon = '/sys/class/leds/le-vfd/led_on'
self._vfdoff = '/sys/class/leds/le-vfd/led_off'
self._rlock = threading.RLock()
def run(self):
firstLoop = True
while not self._monitor.abortRequested():
if self._monitor.waitForAbort(0.5):
break
if (not os.path.isfile(self._vfdon) or not os.path.isfile(self._vfdoff)):
firstLoop = True
continue
if (firstLoop):
self.onSettingsChanged()
firstLoop = False
self.__updateIndicators()
self.__cleanUp()
def __updateIndicators(self):
ledon = []
ledoff = []
if (self._rlock.acquire()):
for state in self._states:
state.update()
if (state.hasChanged()):
if (state.getValue()):
ledon.append(state.getLedName())
else:
ledoff.append(state.getLedName())
self.__writeFile(self._vfdon, ledon)
self.__writeFile(self._vfdoff, ledoff)
self._rlock.release()
def __cleanUp(self):
self.__turnOffIndicators()
self._monitor = None
def __turnOffIndicators(self):
if (self._rlock.acquire()):
ledoff = [state.getLedName() for state in self._states]
self.__writeFile(self._vfdoff, ledoff)
self._rlock.release()
def __writeFile(self, path, values):
if (os.path.isfile(path)):
with open(path, "wb") as vfd:
for j in values:
vfd.write(j)
vfd.flush()
def onSettingsChanged(self):
kodiLog('Enter fd628Addon.onSettingsChanged')
self._settings.readValues()
if (self._rlock.acquire()):
self.__createStates()
self._fd628.enableDisplay(self._settings.isDisplayOn())
if (self._settings.isDisplayOn()):
self._fd628.setBrightness(self._settings.getBrightness())
if (self._settings.isAdvancedSettings()):
self._fd628.setDisplayType(self._settings.getDisplay())
self._fd628.setCharacterOrder(self._settings.getCharacterIndexes())
else:
self._fd628.useDtbConfig()
if (self._colonIcon != None and self._settings.isColonOn()):
self._colonIcon.turnOn()
self.__updateIndicators()
self._rlock.release()
kodiLog('isDisplayOn = {0}'.format(self._settings.isDisplayOn()))
kodiLog('getBrightness = {0}'.format(self._settings.getBrightness()))
kodiLog('isAdvancedSettings = {0}'.format(self._settings.isAdvancedSettings()))
kodiLog('getDisplayType = {0}'.format(self._settings.getDisplayType()))
kodiLog('isCommonAnode = {0}'.format(self._settings.isCommonAnode()))
kodiLog('getCharacterIndexex = {0}'.format(self._settings.getCharacterIndexes()))
def __createStates(self):
settingsWindows = ['settings', 'systeminfo', 'systemsettings', 'servicesettings', 'pvrsettings', \
'playersettings', 'mediasettings', 'interfacesettings', 'profiles', 'skinsettings', 'videossettings', \
'musicsettings', 'appearancesettings', 'picturessettings', 'weathersettings', 'gamesettings', \
'service-LibreELEC-Settings-mainWindow.xml', 'service-LibreELEC-Settings-wizard.xml', \
'service-LibreELEC-Settings-getPasskey.xml']
appsWindows = ['addonbrowser', 'addonsettings', 'addoninformation', 'addon', 'programs']
states = []
states.append(fd628states.fd628IconIndicator(True, 'power'))
states.append(fd628states.fd628CondVisibility('play', 'Player.Playing'))
states.append(fd628states.fd628CondVisibility('pause', 'Player.Paused'))
states.append(fd628states.fd628FileContains('hdmi', '/sys/class/amhdmitx/amhdmitx0/hpd_state', ['1']))
states.append(fd628states.fd628FileContains('cvbs', '/sys/class/display/mode', ['cvbs']))
states.append(fd628states.fd628FileContains('eth', '/sys/class/net/eth0/operstate', ['up', 'unknown']))
states.append(fd628states.fd628FileContains('wifi', '/sys/class/net/wlan0/operstate', ['up']))
states.append(fd628states.fd628WindowChecker('setup', settingsWindows))
states.append(fd628states.fd628WindowChecker('apps', appsWindows))
states.append(fd628states.fd628ExtStorageChecker('usb', '/dev/sd'))
states.append(fd628states.fd628ExtStorageChecker('sd', '/dev/mmcblk'))
self._colonIcon = fd628states.fd628IconIndicator(False, 'colon')
states.append(self._colonIcon)
if (self._settings.isStorageIndicator()):
for state in states:
if (state.getLedName() == self._settings.getStorageIndicatorIcon()):
states.remove(state)
break
states.append(fd628states.fd628ExtStorageCount(self._settings.getStorageIndicatorIcon(), None, 'rw'))
kodiLog('Active states: ' + str([str(state) for state in states]))
self.__turnOffIndicators()
self._states = states
monitor = fd628Monitor()
fd628 = fd628Addon(monitor)
kodiLog('Service start.')
fd628.run()
kodiLog('Service stop.')

View File

@@ -1,21 +0,0 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<settings>
<category label="30000">
<setting label="30001" type="bool" id="display.on" default="true" />
<setting label="30002" type="slider" id="display.brightness" default="7" range="0,7" option="int" visible="eq(-1,true)" />
<setting label="30013" type="bool" id="display.storage.indicator" default="false" visible="eq(-2,true)" />
<setting label="30014" type="labelenum" id="display.storage.indicator.icon" lvalues="30025|30015|30016|30017|30018|30019|30020|30021|30022|30023|30024|30027" default="30025" visible="eq(-3,true) + eq(-1,true)" subsetting="true" />
<setting label="30028" type="bool" id="display.colon.on" default="false" visible="eq(-4,true)" />
<setting label="30003" type="bool" id="display.advanced" default="false" visible="eq(-5,true)" />
<setting label="30004" type="enum" id="display.type" values="0|1|2|3|4|5|6" default="1" visible="eq(-6,true) + eq(-1,true)" subsetting="true" />
<setting label="30026" type="bool" id="display.common.anode" default="false" visible="eq(-7,true) + eq(-2,true)" subsetting="true" />
<setting type="lsep" label="30012" visible="eq(-8,true) + eq(-3,true)" />
<setting label="30005" type="enum" id="display.char.index0" values="0|1|2|3|4|5|6" default="0" visible="eq(-9 ,true) + eq(-4,true)" subsetting="true" />
<setting label="30006" type="enum" id="display.char.index1" values="0|1|2|3|4|5|6" default="1" visible="eq(-10,true) + eq(-5,true)" subsetting="true" />
<setting label="30007" type="enum" id="display.char.index2" values="0|1|2|3|4|5|6" default="2" visible="eq(-11,true) + eq(-6,true)" subsetting="true" />
<setting label="30008" type="enum" id="display.char.index3" values="0|1|2|3|4|5|6" default="3" visible="eq(-12,true) + eq(-7,true)" subsetting="true" />
<setting label="30009" type="enum" id="display.char.index4" values="0|1|2|3|4|5|6" default="4" visible="eq(-13,true) + eq(-8,true)" subsetting="true" />
<setting label="30010" type="enum" id="display.char.index5" values="0|1|2|3|4|5|6" default="5" visible="false" subsetting="true" />
<setting label="30011" type="enum" id="display.char.index6" values="0|1|2|3|4|5|6" default="6" visible="false" subsetting="true" />
</category>
</settings>

View File

@@ -1,3 +1,10 @@
111
- Update to version 2019-08-19
* Fix resuming from paused in kodi 18
110
- Fix RPi4 build to use dispmanx grabber
109
- Update to version 2018-12-20

View File

@@ -3,10 +3,10 @@
# Copyright (C) 2016-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="hyperion"
PKG_VERSION="22f7be8df010fe8f0a51e3677fe0c8e709042622"
PKG_SHA256="51cb6c5694d4bad67255ac4ae61a3c0aa481395c4868fb044a3ee19ca35bf19d"
PKG_VERSION_DATE="2018-12-20"
PKG_REV="109"
PKG_VERSION="fb413cd7e8825ffc26925013f57ac93a774f12bc"
PKG_SHA256="fafa4eeddacb15a8fd96b0e69fac400faa735c6e1ccd78673c9d96b0ac84d7a3"
PKG_VERSION_DATE="2019-08-19"
PKG_REV="111"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/hyperion-project/hyperion"
@@ -25,10 +25,7 @@ PKG_DISPMANX_SUPPORT="-DENABLE_DISPMANX=0"
PKG_FB_SUPPORT="-DENABLE_FB=1"
PKG_X11_SUPPORT="-DENABLE_X11=0"
if [ "$KODIPLAYER_DRIVER" = "libamcodec" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET libamcodec"
PKG_AMLOGIC_SUPPORT="-DENABLE_AMLOGIC=1"
elif [ "$KODIPLAYER_DRIVER" = "bcm2835-driver" ]; then
if [ "$PROJECT" = "RPi" ]; then
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET bcm2835-driver"
PKG_DISPMANX_SUPPORT="-DENABLE_DISPMANX=1"
PKG_FB_SUPPORT="-DENABLE_FB=0"

View File

@@ -1,59 +0,0 @@
From 49f9c51f5519d48bae601c174914f82e8e71e093 Mon Sep 17 00:00:00 2001
From: redpanther <redpanther@spooky-online.de>
Date: Wed, 31 Aug 2016 14:39:14 +0200
Subject: [PATCH] fix amlogic for newer kernels crosscompile stay on 32bit aml
with kernel 3.10
backport 58a8e22 from hyperion.ng
---
libsrc/grabber/amlogic/AmlogicGrabber.cpp | 10 +++++++---
libsrc/grabber/amlogic/CMakeLists.txt | 7 +++++++
2 files changed, 14 insertions(+), 3 deletions(-)
diff --git a/libsrc/grabber/amlogic/AmlogicGrabber.cpp b/libsrc/grabber/amlogic/AmlogicGrabber.cpp
index 11cd280..5f39883 100644
--- a/libsrc/grabber/amlogic/AmlogicGrabber.cpp
+++ b/libsrc/grabber/amlogic/AmlogicGrabber.cpp
@@ -20,9 +20,13 @@
#define AMVIDEOCAP_IOW_SET_WANTFRAME_WIDTH _IOW(AMVIDEOCAP_IOC_MAGIC, 0x02, int)
#define AMVIDEOCAP_IOW_SET_WANTFRAME_HEIGHT _IOW(AMVIDEOCAP_IOC_MAGIC, 0x03, int)
-// Flags copied from 'include/linux/amlogic/amports/amvstream.h' at https://github.com/codesnake/linux-amlogic
-#define AMSTREAM_IOC_MAGIC 'S'
-#define AMSTREAM_IOC_GET_VIDEO_DISABLE _IOR(AMSTREAM_IOC_MAGIC, 0x48, unsigned long)
+#if HAVE_AML_HEADER
+ #include <amcodec/amports/amstream.h>
+#else
+ // Flags copied from 'include/linux/amlogic/amports/amvstream.h' at https://github.com/codesnake/linux-amlogic
+ #define AMSTREAM_IOC_MAGIC 'S'
+ #define AMSTREAM_IOC_GET_VIDEO_DISABLE _IOR(AMSTREAM_IOC_MAGIC, 0x48, unsigned long)
+#endif
AmlogicGrabber::AmlogicGrabber(const unsigned width, const unsigned height) :
// Minimum required width or height is 160
diff --git a/libsrc/grabber/amlogic/CMakeLists.txt b/libsrc/grabber/amlogic/CMakeLists.txt
index cf8844b..326f7c7 100644
--- a/libsrc/grabber/amlogic/CMakeLists.txt
+++ b/libsrc/grabber/amlogic/CMakeLists.txt
@@ -1,3 +1,4 @@
+INCLUDE (CheckIncludeFiles)
# Define the current source locations
SET(CURRENT_HEADER_DIR ${CMAKE_SOURCE_DIR}/include/grabber)
@@ -21,6 +22,12 @@ else(ENABLE_QT5)
QT4_WRAP_CPP(AmlogicHEADERS_MOC ${AmlogicQT_HEADERS})
endif(ENABLE_QT5)
+CHECK_INCLUDE_FILES ("amcodec/amports/amstream.h" HAVE_AML_HEADER)
+IF (${HAVE_AML_HEADER})
+ ADD_DEFINITIONS( -DHAVE_AML_HEADER )
+ENDIF()
+
+
add_library(amlogic-grabber
${AmlogicHEADERS}
${AmlogicQT_HEADERS}
--
2.9.3

View File

@@ -1,5 +1,14 @@
117
- Update to 51a634d (2019-07-23)
- Set bit rate to 320 kpbs
116
- Update to 4e3576b (2019-06-01)
- Only use Kodi
- Rework
115
- Update to daeeeaa (22-02-2019)
- Update to daeeeaa (2019-02-22)
114
- Fix discovery mode setting

View File

@@ -1,25 +1,25 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# SPDX-License-Identifier: GPL-2.0
# Copyright (C) 2017 Shane Meagher (shanemeagher)
# Copyright (C) 2017-present Team LibreELEC (https://libreelec.tv)
PKG_NAME="librespot"
PKG_VERSION="daeeeaa122fc2d71edf11e562e23038db4210b39"
PKG_SHA256="e9ebb8ca09c850598ae8c222bdab44e7d8321cb3c36017ba8e17a41db418c06e"
PKG_VERSION_DATE="2019-02-22"
PKG_REV="115"
PKG_VERSION="51a634dc33233ca85a92db3e723d19550b548593"
PKG_SHA256="581727e560c81cafbfeaf611b51f0a6987a48d348795785b3b6c0a304656a731"
PKG_VERSION_DATE="2019-07-23"
PKG_REV="117"
PKG_ARCH="any"
PKG_LICENSE="MIT"
PKG_SITE="https://github.com/librespot-org/librespot/"
PKG_URL="https://github.com/librespot-org/librespot/archive/$PKG_VERSION.zip"
PKG_DEPENDS_TARGET="toolchain avahi pulseaudio pyalsaaudio rust"
PKG_DEPENDS_TARGET="toolchain avahi pulseaudio rust"
PKG_SECTION="service"
PKG_SHORTDESC="Librespot: play Spotify through LibreELEC using a Spotify app as a remote"
PKG_LONGDESC="Librespot ($PKG_VERSION_DATE) plays Spotify through LibreELEC using the open source librespot library using a Spotify app as a remote."
PKG_SHORTDESC="Librespot: play Spotify through Kodi using a Spotify app as a remote"
PKG_LONGDESC="Librespot ($PKG_VERSION_DATE) lets you play Spotify through Kodi using a Spotify app as a remote."
PKG_TOOLCHAIN="manual"
PKG_IS_ADDON="yes"
PKG_ADDON_NAME="Librespot"
PKG_ADDON_TYPE="xbmc.service.library"
PKG_ADDON_TYPE="xbmc.service"
PKG_MAINTAINER="Anton Voyl (awiouy)"
configure_target() {
@@ -29,21 +29,17 @@ configure_target() {
make_target() {
cd src
$CARGO_BUILD --no-default-features --features "alsa-backend pulseaudio-backend with-dns-sd"
$CARGO_BUILD --no-default-features --features "pulseaudio-backend with-dns-sd"
cd "$PKG_BUILD/.$TARGET_NAME"/*/release
$STRIP librespot
}
addon() {
mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID"
cp "$(get_build_dir pyalsaaudio)/.install_pkg/usr/lib/$PKG_PYTHON_VERSION/site-packages/alsaaudio.so" \
"$ADDON_BUILD/$PKG_ADDON_ID"
mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/bin"
cp "$PKG_BUILD/.$TARGET_NAME"/*/release/librespot \
"$ADDON_BUILD/$PKG_ADDON_ID/bin"
cp "$PKG_BUILD/.$TARGET_NAME"/*/release/librespot \
"$ADDON_BUILD/$PKG_ADDON_ID/bin"
mkdir -p "$ADDON_BUILD/$PKG_ADDON_ID/lib"
cp "$(get_build_dir avahi)/avahi-compat-libdns_sd/.libs/libdns_sd.so.1" \
"$ADDON_BUILD/$PKG_ADDON_ID/lib"
cp "$(get_build_dir avahi)/avahi-compat-libdns_sd/.libs/libdns_sd.so.1" \
"$ADDON_BUILD/$PKG_ADDON_ID/lib"
}

View File

@@ -0,0 +1,151 @@
diff --git a/playback/src/config.rs b/playback/src/config.rs
index 0f71110..931167d 100644
--- a/playback/src/config.rs
+++ b/playback/src/config.rs
@@ -30,6 +30,7 @@ pub struct PlayerConfig {
pub bitrate: Bitrate,
pub normalisation: bool,
pub normalisation_pregain: f32,
+ pub notify_kodi: bool,
}
impl Default for PlayerConfig {
@@ -38,6 +39,7 @@ impl Default for PlayerConfig {
bitrate: Bitrate::default(),
normalisation: false,
normalisation_pregain: 0.0,
+ notify_kodi: false,
}
}
}
diff --git a/playback/src/player.rs b/playback/src/player.rs
index ab1a8ab..19d6394 100644
--- a/playback/src/player.rs
+++ b/playback/src/player.rs
@@ -4,7 +4,8 @@ use futures::sync::oneshot;
use futures::{future, Future};
use std;
use std::borrow::Cow;
-use std::io::{Read, Result, Seek, SeekFrom};
+use std::fs::OpenOptions;
+use std::io::{Read, Result, Seek, SeekFrom, Write};
use std::mem;
use std::sync::mpsc::{RecvError, RecvTimeoutError, TryRecvError};
use std::thread;
@@ -394,6 +395,14 @@ impl PlayerInternal {
}
}
+ fn notify_kodi(&mut self, id: &str, track_id: &SpotifyId) {
+ // println!("fifo = {} {}", id, track_id.to_base62());
+ if self.config.notify_kodi {
+ let mut file = OpenOptions::new().write(true).open("/tmp/librespot").unwrap();
+ writeln!(&mut file, "{}\n{}", id, track_id.to_base62()).unwrap();
+ }
+ }
+
fn handle_command(&mut self, cmd: PlayerCommand) {
debug!("command={:?}", cmd);
match cmd {
@@ -413,11 +422,17 @@ impl PlayerInternal {
| PlayerState::EndOfTrack {
track_id: old_track_id,
..
- } => self.send_event(PlayerEvent::Changed {
- old_track_id: old_track_id,
- new_track_id: track_id,
- }),
- _ => self.send_event(PlayerEvent::Started { track_id }),
+ } => {
+ self.send_event(PlayerEvent::Changed {
+ old_track_id: old_track_id,
+ new_track_id: track_id,
+ });
+ self.notify_kodi("1", &track_id)
+ }
+ _ => {
+ self.send_event(PlayerEvent::Started { track_id });
+ self.notify_kodi("2", &track_id)
+ }
}
self.start_sink();
@@ -443,13 +458,17 @@ impl PlayerInternal {
| PlayerState::EndOfTrack {
track_id: old_track_id,
..
- } => self.send_event(PlayerEvent::Changed {
- old_track_id: old_track_id,
- new_track_id: track_id,
- }),
+ } => {
+ self.send_event(PlayerEvent::Changed {
+ old_track_id: old_track_id,
+ new_track_id: track_id,
+ });
+ self.notify_kodi("3", &track_id)
+ }
_ => (),
}
self.send_event(PlayerEvent::Stopped { track_id });
+ self.notify_kodi("4", &track_id)
}
}
@@ -476,6 +495,7 @@ impl PlayerInternal {
self.send_event(PlayerEvent::Started { track_id });
self.start_sink();
+ self.notify_kodi("5", &track_id)
} else {
warn!("Player::play called from invalid state");
}
@@ -487,6 +507,7 @@ impl PlayerInternal {
self.stop_sink_if_running();
self.send_event(PlayerEvent::Stopped { track_id });
+ self.notify_kodi("6", &track_id)
} else {
warn!("Player::pause called from invalid state");
}
@@ -499,6 +520,7 @@ impl PlayerInternal {
self.stop_sink_if_running();
self.send_event(PlayerEvent::Stopped { track_id });
self.state = PlayerState::Stopped;
+ self.notify_kodi("7", &track_id)
}
PlayerState::Stopped => {
warn!("Player::stop called from invalid state");
diff --git a/src/main.rs b/src/main.rs
index 36cd1b5..502cac8 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -168,6 +168,11 @@ fn setup(args: &[String]) -> Setup {
"Pregain (dB) applied by volume normalisation",
"PREGAIN",
)
+ .optflag(
+ "",
+ "notify-kodi",
+ "Notify Kodi",
+ )
.optflag(
"",
"linear-volume",
@@ -248,6 +253,8 @@ fn setup(args: &[String]) -> Setup {
)
};
+ let notify_kodi = matches.opt_present("notify-kodi");
+
let session_config = {
let device_id = device_id(&name);
@@ -291,6 +298,7 @@ fn setup(args: &[String]) -> Setup {
.opt_str("normalisation-pregain")
.map(|pregain| pregain.parse::<f32>().expect("Invalid pregain float value"))
.unwrap_or(PlayerConfig::default().normalisation_pregain),
+ notify_kodi: notify_kodi,
}
};

View File

@@ -1,140 +0,0 @@
From 109452968762175b255d3a46d2447bf103022a68 Mon Sep 17 00:00:00 2001
From: awiouy <awiouy@gmail.com>
Date: Wed, 7 Nov 2018 07:49:31 +0100
Subject: [PATCH] libreelec: kodi hooks
---
playback/src/player.rs | 44 ++++++++++++++++++++++++++-----------
src/player_event_handler.rs | 8 +++++--
2 files changed, 37 insertions(+), 15 deletions(-)
diff --git a/playback/src/player.rs b/playback/src/player.rs
index ab1a8ab..0aa0630 100644
--- a/playback/src/player.rs
+++ b/playback/src/player.rs
@@ -49,15 +49,18 @@ enum PlayerCommand {
pub enum PlayerEvent {
Started {
track_id: SpotifyId,
+ new_state: String,
},
Changed {
old_track_id: SpotifyId,
new_track_id: SpotifyId,
+ new_state: String,
},
Stopped {
track_id: SpotifyId,
+ new_state: String,
},
}
@@ -413,11 +416,18 @@ impl PlayerInternal {
| PlayerState::EndOfTrack {
track_id: old_track_id,
..
- } => self.send_event(PlayerEvent::Changed {
- old_track_id: old_track_id,
- new_track_id: track_id,
- }),
- _ => self.send_event(PlayerEvent::Started { track_id }),
+ } => {
+ let new_state = "play".to_string();
+ self.send_event(PlayerEvent::Changed {
+ old_track_id: old_track_id,
+ new_track_id: track_id,
+ new_state: new_state,
+ });
+ },
+ _ => {
+ let new_state = "play".to_string();
+ self.send_event(PlayerEvent::Started { track_id, new_state });
+ },
}
self.start_sink();
@@ -443,13 +453,18 @@ impl PlayerInternal {
| PlayerState::EndOfTrack {
track_id: old_track_id,
..
- } => self.send_event(PlayerEvent::Changed {
- old_track_id: old_track_id,
- new_track_id: track_id,
- }),
+ } => {
+ let new_state = "pause".to_string();
+ self.send_event(PlayerEvent::Changed {
+ old_track_id: old_track_id,
+ new_track_id: track_id,
+ new_state: new_state,
+ })
+ },
_ => (),
}
- self.send_event(PlayerEvent::Stopped { track_id });
+ let new_state = "pause".to_string();
+ self.send_event(PlayerEvent::Stopped { track_id, new_state });
}
}
@@ -474,7 +489,8 @@ impl PlayerInternal {
if let PlayerState::Paused { track_id, .. } = self.state {
self.state.paused_to_playing();
- self.send_event(PlayerEvent::Started { track_id });
+ let new_state = "play".to_string();
+ self.send_event(PlayerEvent::Started { track_id, new_state });
self.start_sink();
} else {
warn!("Player::play called from invalid state");
@@ -486,7 +502,8 @@ impl PlayerInternal {
self.state.playing_to_paused();
self.stop_sink_if_running();
- self.send_event(PlayerEvent::Stopped { track_id });
+ let new_state = "pause".to_string();
+ self.send_event(PlayerEvent::Stopped { track_id, new_state });
} else {
warn!("Player::pause called from invalid state");
}
@@ -497,7 +514,8 @@ impl PlayerInternal {
| PlayerState::Paused { track_id, .. }
| PlayerState::EndOfTrack { track_id } => {
self.stop_sink_if_running();
- self.send_event(PlayerEvent::Stopped { track_id });
+ let new_state = "stop".to_string();
+ self.send_event(PlayerEvent::Stopped { track_id, new_state });
self.state = PlayerState::Stopped;
}
PlayerState::Stopped => {
diff --git a/src/player_event_handler.rs b/src/player_event_handler.rs
index 1e682b9..3b478f1 100644
--- a/src/player_event_handler.rs
+++ b/src/player_event_handler.rs
@@ -19,18 +19,22 @@ pub fn run_program_on_events(event: PlayerEvent, onevent: &str) -> io::Result<Ch
PlayerEvent::Changed {
old_track_id,
new_track_id,
+ new_state,
} => {
env_vars.insert("PLAYER_EVENT", "change".to_string());
env_vars.insert("OLD_TRACK_ID", old_track_id.to_base62());
env_vars.insert("TRACK_ID", new_track_id.to_base62());
+ env_vars.insert("STATE", new_state.to_string());
}
- PlayerEvent::Started { track_id } => {
+ PlayerEvent::Started { track_id, new_state } => {
env_vars.insert("PLAYER_EVENT", "start".to_string());
env_vars.insert("TRACK_ID", track_id.to_base62());
+ env_vars.insert("STATE", new_state.to_string());
}
- PlayerEvent::Stopped { track_id } => {
+ PlayerEvent::Stopped { track_id, new_state } => {
env_vars.insert("PLAYER_EVENT", "stop".to_string());
env_vars.insert("TRACK_ID", track_id.to_base62());
+ env_vars.insert("STATE", new_state.to_string());
}
}
run_program(onevent, env_vars)

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