Merge branch 'next'
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
commit
8d07baab43
13
Config.in
13
Config.in
@ -412,6 +412,19 @@ config BR2_DEBUG_3
|
||||
endchoice
|
||||
endif
|
||||
|
||||
config BR2_ENABLE_RUNTIME_DEBUG
|
||||
bool "build packages with runtime debugging info"
|
||||
help
|
||||
Some packages may have runtime assertions, extra traces, and
|
||||
similar runtime elements that can help debugging. However,
|
||||
these elements may negatively influence performance so should
|
||||
normally not be enabled on production systems.
|
||||
|
||||
Enable this option to enable such runtime debugging.
|
||||
|
||||
Note: disabling this option is not a guarantee that all
|
||||
packages effectively removed these runtime debugging elements.
|
||||
|
||||
config BR2_STRIP_strip
|
||||
bool "strip target binaries"
|
||||
default y
|
||||
|
17
DEVELOPERS
17
DEVELOPERS
@ -35,6 +35,7 @@ F: package/bubblewrap/
|
||||
F: package/cage/
|
||||
F: package/cog/
|
||||
F: package/libepoxy/
|
||||
F: package/libpsl/
|
||||
F: package/libwpe/
|
||||
F: package/webkitgtk/
|
||||
F: package/wlroots/
|
||||
@ -460,6 +461,7 @@ F: package/waylandpp/
|
||||
F: package/x11r7/
|
||||
F: package/x264/
|
||||
F: package/x265/
|
||||
F: package/xmrig/
|
||||
F: package/ytree/
|
||||
F: package/znc/
|
||||
F: support/testing/tests/package/test_perl_html_parser.py
|
||||
@ -670,8 +672,15 @@ N: Derrick Lyndon Pallas <derrick@meter.com>
|
||||
F: package/ipcalc/
|
||||
|
||||
N: Dick Olsson <hi@senzilla.io>
|
||||
F: board/aarch64-efi/
|
||||
F: board/pc/
|
||||
F: board/qemu/aarch64-sbsa/
|
||||
F: boot/arm-trusted-firmware/
|
||||
F: boot/edk2/
|
||||
F: configs/qemu_aarch64_sbsa_defconfig
|
||||
F: package/bearssl/
|
||||
F: package/bitcoin/
|
||||
F: package/edk2-platforms/
|
||||
F: package/execline/
|
||||
F: package/mdevd/
|
||||
F: package/s6-dns/
|
||||
@ -682,6 +691,7 @@ F: package/s6-portable-utils/
|
||||
F: package/s6-rc/
|
||||
F: package/s6/
|
||||
F: package/skalibs/
|
||||
F: support/testing/tests/boot/test_edk2.py
|
||||
|
||||
N: Dimitrios Siganos <dimitris@siganos.org>
|
||||
F: package/wireless-regdb/
|
||||
@ -1637,6 +1647,7 @@ F: package/murata-cyw-fw/
|
||||
F: package/netdata/
|
||||
F: package/python-ansicolors/
|
||||
F: package/python-bleak/
|
||||
F: package/python-dbus-next/
|
||||
F: package/python-iniconfig/
|
||||
F: package/python-intelhex/
|
||||
F: package/python-packaging/
|
||||
@ -1647,9 +1658,11 @@ F: package/python-typing-extensions/
|
||||
F: package/python-xmodem/
|
||||
F: package/rs485conf/
|
||||
F: package/turbolua/
|
||||
F: support/testing/tests/package/sample_python_dbus_next.py
|
||||
F: support/testing/tests/package/sample_python_pytest.py
|
||||
F: support/testing/tests/package/sample_python_pytest_asyncio.py
|
||||
F: support/testing/tests/package/test_netdata.py
|
||||
F: support/testing/tests/package/test_python_dbus_next.py
|
||||
F: support/testing/tests/package/test_python_pytest.py
|
||||
F: support/testing/tests/package/test_python_pytest_asyncio.py
|
||||
|
||||
@ -2233,9 +2246,11 @@ F: package/bitwise/
|
||||
|
||||
N: Raphaël Mélotte <raphael.melotte@essensium.com>
|
||||
F: package/jbig2dec/
|
||||
F: package/mupdf/
|
||||
F: package/python-boto3/
|
||||
F: package/python-botocore/
|
||||
F: package/python-jmespath/
|
||||
F: package/python-pymupdf/
|
||||
F: package/python-s3transfer/
|
||||
|
||||
N: Refik Tuzakli <tuzakli.refik@gmail.com>
|
||||
@ -2299,6 +2314,7 @@ F: package/glibc/
|
||||
F: package/irrlicht/
|
||||
F: package/liblinear/
|
||||
F: package/lensfun/
|
||||
F: package/libbpf/
|
||||
F: package/libclc/
|
||||
F: package/libgta/
|
||||
F: package/libiec61850/
|
||||
@ -2706,6 +2722,7 @@ F: package/utp_com/
|
||||
N: Vincent Stehlé <vincent.stehle@laposte.net>
|
||||
F: board/bananapi/bananapi-m2-zero/
|
||||
F: configs/bananapi_m2_zero_defconfig
|
||||
F: configs/uevm5432_defconfig
|
||||
F: package/i7z/
|
||||
F: package/msr-tools/
|
||||
F: package/pixz/
|
||||
|
@ -23,6 +23,8 @@ This guide covers the following configurations:
|
||||
- microchip_sama5d27_wlsom1_ek_mmc_dev_defconfig
|
||||
- microchip_sam9x60ek_mmc_defconfig
|
||||
- microchip_sam9x60ek_mmc_dev_defconfig
|
||||
- microchip_sama5d2_icp_mmc_defconfig
|
||||
- microchip_sama5d2_icp_mmc_dev_defconfig
|
||||
|
||||
These configurations will use AT91Bootstrap, u-boot and a linux kernel from
|
||||
the git trees maintained by Atmel.
|
||||
|
31
board/microchip/sama5d2_icp/genimage.cfg
Normal file
31
board/microchip/sama5d2_icp/genimage.cfg
Normal file
@ -0,0 +1,31 @@
|
||||
# Image for SD card boot on Microchip SAMA5D2 ICP (Industrial Connectivity Platform)
|
||||
#
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"zImage",
|
||||
"at91-sama5d2_icp.dtb",
|
||||
"boot.bin",
|
||||
"u-boot.bin"
|
||||
}
|
||||
}
|
||||
size = 16M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
offset = 1M
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
11
board/qemu/aarch64-sbsa/assemble-flash-images
Executable file
11
board/qemu/aarch64-sbsa/assemble-flash-images
Executable file
@ -0,0 +1,11 @@
|
||||
#!/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
BOARD_DIR="$(dirname $0)"
|
||||
|
||||
cp -f ${BOARD_DIR}/grub.cfg ${BINARIES_DIR}/efi-part/EFI/BOOT/grub.cfg
|
||||
|
||||
# The QEMU sbsa machine expects flash devices to be 256M.
|
||||
truncate -s 256M ${BINARIES_DIR}/SBSA_FLASH0.fd
|
||||
truncate -s 256M ${BINARIES_DIR}/SBSA_FLASH1.fd
|
30
board/qemu/aarch64-sbsa/genimage.cfg
Normal file
30
board/qemu/aarch64-sbsa/genimage.cfg
Normal file
@ -0,0 +1,30 @@
|
||||
image efi-part.vfat {
|
||||
vfat {
|
||||
file startup.nsh {
|
||||
image = "efi-part/startup.nsh"
|
||||
}
|
||||
file EFI {
|
||||
image = "efi-part/EFI"
|
||||
}
|
||||
file Image {
|
||||
image = "Image"
|
||||
}
|
||||
}
|
||||
size = 32M
|
||||
}
|
||||
|
||||
image disk.img {
|
||||
hdimage {
|
||||
gpt = true
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xEF
|
||||
image = "efi-part.vfat"
|
||||
}
|
||||
|
||||
partition root {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext2"
|
||||
}
|
||||
}
|
6
board/qemu/aarch64-sbsa/grub.cfg
Normal file
6
board/qemu/aarch64-sbsa/grub.cfg
Normal file
@ -0,0 +1,6 @@
|
||||
set default="0"
|
||||
set timeout="5"
|
||||
|
||||
menuentry "Buildroot" {
|
||||
linux /Image root=/dev/sda2 rootwait console=ttyAMA0
|
||||
}
|
68
board/qemu/aarch64-sbsa/linux.config
Normal file
68
board/qemu/aarch64-sbsa/linux.config
Normal file
@ -0,0 +1,68 @@
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_NO_HZ_IDLE=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
CONFIG_TASKSTATS=y
|
||||
CONFIG_SCHED_AUTOGROUP=y
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_ARCH_VEXPRESS=y
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_FW_CFG_SYSFS=y
|
||||
CONFIG_FW_CFG_SYSFS_CMDLINE=y
|
||||
CONFIG_ACPI=y
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
CONFIG_BLK_DEV_BSGLIB=y
|
||||
CONFIG_BINFMT_MISC=y
|
||||
CONFIG_TRANSPARENT_HUGEPAGE=y
|
||||
CONFIG_NET=y
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_DIAG=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_BRIDGE=m
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_VSOCKETS=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_HOST_GENERIC=y
|
||||
CONFIG_DEVTMPFS=y
|
||||
CONFIG_DEVTMPFS_MOUNT=y
|
||||
CONFIG_VIRTIO_BLK=y
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
CONFIG_CHR_DEV_SG=y
|
||||
CONFIG_SCSI_CONSTANTS=y
|
||||
CONFIG_SCSI_LOGGING=y
|
||||
CONFIG_SCSI_SCAN_ASYNC=y
|
||||
CONFIG_SCSI_VIRTIO=y
|
||||
CONFIG_ATA=y
|
||||
CONFIG_SATA_AHCI_PLATFORM=y
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
CONFIG_MACVLAN=y
|
||||
CONFIG_VIRTIO_NET=y
|
||||
CONFIG_NLMON=y
|
||||
CONFIG_SERIAL_AMBA_PL011=y
|
||||
CONFIG_SERIAL_AMBA_PL011_CONSOLE=y
|
||||
CONFIG_VIRTIO_CONSOLE=y
|
||||
CONFIG_HW_RANDOM=y
|
||||
CONFIG_HW_RANDOM_VIRTIO=y
|
||||
CONFIG_TCG_TPM=y
|
||||
CONFIG_TCG_TIS=y
|
||||
CONFIG_DRM=y
|
||||
CONFIG_DRM_VIRTIO_GPU=y
|
||||
CONFIG_RTC_CLASS=y
|
||||
CONFIG_RTC_DRV_PL031=y
|
||||
CONFIG_VIRTIO_PCI=y
|
||||
CONFIG_VIRTIO_MMIO=y
|
||||
CONFIG_VIRTIO_MMIO_CMDLINE_DEVICES=y
|
||||
CONFIG_MAILBOX=y
|
||||
CONFIG_PL320_MBOX=y
|
||||
CONFIG_ARM_SMMU_V3=y
|
||||
CONFIG_EXT4_FS=y
|
||||
CONFIG_FUSE_FS=y
|
||||
CONFIG_VIRTIO_FS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
32
board/qemu/aarch64-sbsa/readme.txt
Normal file
32
board/qemu/aarch64-sbsa/readme.txt
Normal file
@ -0,0 +1,32 @@
|
||||
Intro
|
||||
=====
|
||||
|
||||
The QEMU sbsa-ref machine is primarily meant for firmware development
|
||||
and testing according to ARM's SBSA and SBBR standards.
|
||||
|
||||
Build
|
||||
=====
|
||||
|
||||
$ make qemu_aarch64_sbsa_defconfig
|
||||
$ make
|
||||
|
||||
Emulation
|
||||
=========
|
||||
|
||||
Run the emulation with:
|
||||
|
||||
qemu-system-aarch64 \
|
||||
-M sbsa-ref \
|
||||
-cpu cortex-a53 \
|
||||
-smp 4 \
|
||||
-m 1024 \
|
||||
-nographic \
|
||||
-pflash output/images/SBSA_FLASH0.fd \
|
||||
-pflash output/images/SBSA_FLASH1.fd \
|
||||
-hda output/images/disk.img
|
||||
|
||||
Note that if you want to run sbsa-ref emulation with QEMU provided by
|
||||
your distro (i.e., not host-qemu by Buildroot) then you may need to
|
||||
install the SeaBIOS package for some required drivers. On Debian:
|
||||
|
||||
# apt install seabios
|
30
board/raspberrypi/genimage-raspberrypicm4io-64.cfg
Normal file
30
board/raspberrypi/genimage-raspberrypicm4io-64.cfg
Normal file
@ -0,0 +1,30 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"bcm2711-rpi-cm4.dtb",
|
||||
"rpi-firmware/cmdline.txt",
|
||||
"rpi-firmware/config.txt",
|
||||
"rpi-firmware/fixup.dat",
|
||||
"rpi-firmware/start.elf",
|
||||
"rpi-firmware/overlays",
|
||||
"Image"
|
||||
}
|
||||
}
|
||||
size = 32M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
30
board/raspberrypi/genimage-raspberrypicm4io.cfg
Normal file
30
board/raspberrypi/genimage-raspberrypicm4io.cfg
Normal file
@ -0,0 +1,30 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"bcm2711-rpi-cm4.dtb",
|
||||
"rpi-firmware/cmdline.txt",
|
||||
"rpi-firmware/config.txt",
|
||||
"rpi-firmware/fixup.dat",
|
||||
"rpi-firmware/start.elf",
|
||||
"rpi-firmware/overlays",
|
||||
"zImage"
|
||||
}
|
||||
}
|
||||
size = 32M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
}
|
||||
}
|
@ -9,6 +9,7 @@ These instructions apply to all models of the Raspberry Pi:
|
||||
- the model B2 (aka Raspberry Pi 2)
|
||||
- the model B3 (aka Raspberry Pi 3).
|
||||
- the model B4 (aka Raspberry Pi 4).
|
||||
- the model CM4 (aka Raspberry Pi Compute Module 4 and IO Board).
|
||||
|
||||
How to build it
|
||||
===============
|
||||
@ -35,10 +36,26 @@ For model 3 B and B+:
|
||||
|
||||
$ make raspberrypi3_defconfig
|
||||
|
||||
or for model 3 B and B+ (64 bit):
|
||||
|
||||
$ make raspberrypi3_64_defconfig
|
||||
|
||||
For model 4 B:
|
||||
|
||||
$ make raspberrypi4_defconfig
|
||||
|
||||
or for model 4 B (64 bit):
|
||||
|
||||
$ make raspberrypi4_64_defconfig
|
||||
|
||||
For model CM4 (on IO Board):
|
||||
|
||||
$ make raspberrypicm4io_defconfig
|
||||
|
||||
or for CM4 (on IO Board - 64 bit):
|
||||
|
||||
$ make raspberrypicm4io_64_defconfig
|
||||
|
||||
Build the rootfs
|
||||
----------------
|
||||
|
||||
@ -63,6 +80,7 @@ After building, you should obtain this tree:
|
||||
+-- bcm2710-rpi-3-b.dtb [1]
|
||||
+-- bcm2710-rpi-3-b-plus.dtb [1]
|
||||
+-- bcm2711-rpi-4-b.dtb [1]
|
||||
+-- bcm2711-rpi-cm4.dtb [1]
|
||||
+-- boot.vfat
|
||||
+-- rootfs.ext4
|
||||
+-- rpi-firmware/
|
||||
@ -97,3 +115,31 @@ Insert the SDcard into your Raspberry Pi, and power it up. Your new system
|
||||
should come up now and start two consoles: one on the serial port on
|
||||
the P1 header, one on the HDMI output where you can login using a USB
|
||||
keyboard.
|
||||
|
||||
How to write to CM4 eMMC memory
|
||||
===============================
|
||||
|
||||
For CM4 modules without eMMC memory see above for booting from SD card,
|
||||
for CM4 moduels with eMMC memory proceed as following:
|
||||
|
||||
- fit jumper on IO Board header J2 to disable eMMC boot
|
||||
- connect IO Board micro USB port (J11 USB slave) to your host linux system
|
||||
- power up CM4/IO Board (lsusb command should show a '0a5c:2711 Broadcom Corp.
|
||||
BCM2711 Boot' device)
|
||||
- run 'sudo ./host/bin/rpiboot', output should look like the following:
|
||||
Waiting for BCM2835/6/7/2711...
|
||||
Loading embedded: bootcode4.bin
|
||||
Sending bootcode.bin
|
||||
Successful read 4 bytes
|
||||
Waiting for BCM2835/6/7/2711...
|
||||
Loading embedded: bootcode4.bin
|
||||
Second stage boot server
|
||||
Loading embedded: start4.elf
|
||||
File read: start4.elf
|
||||
Second stage boot server done
|
||||
|
||||
- a USB mass storage device should show up (the CM4 eMMC memory), proceed
|
||||
as described above to copy sdcard.img to it
|
||||
- power down CM4/IO Board
|
||||
- remove jumper on IO Board header J2 to re-enable eMMC boot
|
||||
- power up CM4/IO Board
|
||||
|
1
board/raspberrypicm4io
Symbolic link
1
board/raspberrypicm4io
Symbolic link
@ -0,0 +1 @@
|
||||
raspberrypi
|
1
board/raspberrypicm4io-64
Symbolic link
1
board/raspberrypicm4io-64
Symbolic link
@ -0,0 +1 @@
|
||||
raspberrypi
|
26
board/uevm5432/genimage.cfg
Normal file
26
board/uevm5432/genimage.cfg
Normal file
@ -0,0 +1,26 @@
|
||||
image boot.vfat {
|
||||
vfat {
|
||||
files = {
|
||||
"MLO",
|
||||
"u-boot.img"
|
||||
}
|
||||
}
|
||||
size = 8M
|
||||
}
|
||||
|
||||
image sdcard.img {
|
||||
hdimage {
|
||||
}
|
||||
|
||||
partition boot {
|
||||
partition-type = 0xC
|
||||
bootable = "true"
|
||||
image = "boot.vfat"
|
||||
}
|
||||
|
||||
partition rootfs {
|
||||
partition-type = 0x83
|
||||
image = "rootfs.ext4"
|
||||
size = 512M
|
||||
}
|
||||
}
|
40
board/uevm5432/readme.txt
Normal file
40
board/uevm5432/readme.txt
Normal file
@ -0,0 +1,40 @@
|
||||
OMAP5432 uEVM
|
||||
=============
|
||||
|
||||
This file documents the Buildroot support for the OMAP5432 uEVM[1], a
|
||||
single-board computer development platform based on the Texas Instruments
|
||||
OMAP5432 system on a chip (SoC).
|
||||
|
||||
How to build
|
||||
============
|
||||
|
||||
$ make uevm5432_defconfig
|
||||
$ make
|
||||
|
||||
How to write the SD card
|
||||
========================
|
||||
|
||||
Once the build process is finished you will have an image called "sdcard.img"
|
||||
in the output/images/ directory.
|
||||
|
||||
Copy the bootable "sdcard.img" onto an SD card with "dd":
|
||||
|
||||
$ sudo dd if=output/images/sdcard.img of=/dev/sdX
|
||||
$ sync
|
||||
|
||||
Where /dev/sdX is the device node of your SD card (may be /dev/mmcblkX instead
|
||||
depending on setup).
|
||||
|
||||
To boot from SD card, set the SYSBOOT switches S1 of your OMAP5432 uEVM to the
|
||||
following position:
|
||||
|
||||
ON x x
|
||||
x x
|
||||
1 2 3 4
|
||||
|
||||
Insert the micro SDcard in your OMAP5432 uEVM, and power it up with the POWER
|
||||
ON push button switch S3. The console is on the micro USB Debug UART, with
|
||||
serial settings 115200 8N1. Refer also to the quick start guide[2].
|
||||
|
||||
[1]: https://svtronics.com/5432
|
||||
[2]: https://www.ti.com/lit/ug/swcu131/swcu131.pdf
|
@ -10,6 +10,7 @@ source "boot/beaglev-ddrinit/Config.in"
|
||||
source "boot/beaglev-secondboot/Config.in"
|
||||
source "boot/binaries-marvell/Config.in"
|
||||
source "boot/boot-wrapper-aarch64/Config.in"
|
||||
source "boot/edk2/Config.in"
|
||||
source "boot/grub2/Config.in"
|
||||
source "boot/gummiboot/Config.in"
|
||||
source "boot/lpc32xxcdl/Config.in"
|
||||
|
@ -1,7 +1,7 @@
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE
|
||||
bool "ARM Trusted Firmware (ATF)"
|
||||
depends on (BR2_ARM_CPU_ARMV8A || BR2_ARM_CPU_ARMV7A) && \
|
||||
BR2_TARGET_UBOOT
|
||||
(BR2_TARGET_UBOOT || BR2_TARGET_EDK2)
|
||||
help
|
||||
Enable this option if you want to build the ATF for your ARM
|
||||
based embedded device.
|
||||
@ -15,7 +15,7 @@ choice
|
||||
Select the specific ATF version you want to use
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
|
||||
bool "v2.4"
|
||||
bool "v2.5"
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION
|
||||
bool "Custom version"
|
||||
@ -43,7 +43,7 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_VERSION_VALUE
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_VERSION
|
||||
string
|
||||
default "v2.4" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
|
||||
default "v2.5" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_LATEST_VERSION
|
||||
default "custom" if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_TARBALL
|
||||
default BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION \
|
||||
if BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT
|
||||
@ -135,6 +135,19 @@ config BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE
|
||||
|
||||
endif
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33
|
||||
bool "Use EDK2 as BL33"
|
||||
depends on BR2_TARGET_EDK2
|
||||
help
|
||||
This option allows to embed EDK2 as the BL33 part of
|
||||
the ARM Trusted Firmware. It ensures that the EDK2 package
|
||||
gets built before ATF, and that the appropriate BL33
|
||||
variable pointing to the EDK2 is passed when building ATF.
|
||||
|
||||
Do not choose this option if you intend to build ATF and EDK2
|
||||
for the 'qemu_sbsa' platform. In this case, due to the EDK2
|
||||
build system, the dependency between ATF and EDK is reversed.
|
||||
|
||||
config BR2_TARGET_ARM_TRUSTED_FIRMWARE_ADDITIONAL_TARGETS
|
||||
string "Additional ATF make targets"
|
||||
help
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 4bfda9fdbe5022f2e88ad3344165f7d38a8ae4a0e2d91d44d9a1603425cc642d arm-trusted-firmware-v2.4.tar.gz
|
||||
sha256 d12a824afcc5cb90d005f9820f3274f1319cef1bb282e40a6a190b75900206d3 arm-trusted-firmware-v2.5.tar.gz
|
||||
sha256 487795b8023df866259fa159bab94706b747fb0d623b7913f1c4955c0ab5f164 license.rst
|
||||
|
@ -79,6 +79,15 @@ ARM_TRUSTED_FIRMWARE_MAKE_OPTS += AARCH32_SP=optee
|
||||
endif
|
||||
endif # BR2_TARGET_ARM_TRUSTED_FIRMWARE_BL32_OPTEE
|
||||
|
||||
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33),y)
|
||||
ARM_TRUSTED_FIRMWARE_DEPENDENCIES += edk2
|
||||
# Since the flash device name vary between platforms, we use the variable
|
||||
# provided by the EDK2 package for this. Using this variable here is OK
|
||||
# as it will expand after all dependencies are resolved, inside _BUILD_CMDS.
|
||||
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += \
|
||||
BL33=$(BINARIES_DIR)/$(call qstrip,$(BR2_TARGET_EDK2_FD_NAME).fd)
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_AS_BL33),y)
|
||||
ARM_TRUSTED_FIRMWARE_UBOOT_BIN = $(call qstrip,$(BR2_TARGET_ARM_TRUSTED_FIRMWARE_UBOOT_BL33_IMAGE))
|
||||
ARM_TRUSTED_FIRMWARE_MAKE_OPTS += BL33=$(BINARIES_DIR)/$(ARM_TRUSTED_FIRMWARE_UBOOT_BIN)
|
||||
|
@ -1,5 +1,5 @@
|
||||
config BR2_TARGET_AT91BOOTSTRAP3
|
||||
bool "AT91 Bootstrap 3"
|
||||
bool "AT91 Bootstrap 3+"
|
||||
depends on BR2_arm926t || BR2_cortex_a5 || BR2_cortex_a7
|
||||
help
|
||||
AT91Bootstrap is a first level bootloader for the Atmel AT91
|
||||
@ -16,10 +16,13 @@ if BR2_TARGET_AT91BOOTSTRAP3
|
||||
|
||||
choice
|
||||
|
||||
prompt "AT91 Bootstrap 3 version"
|
||||
prompt "AT91 Bootstrap 3+ version"
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION
|
||||
bool "3.9.3"
|
||||
bool "4.0.0-rc2"
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION_3X
|
||||
bool "3.10.2"
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT
|
||||
bool "Custom Git repository"
|
||||
@ -51,7 +54,8 @@ endif
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_VERSION
|
||||
string
|
||||
default "v3.9.3" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION
|
||||
default "v4.0.0-rc2" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION
|
||||
default "v3.10.2" if BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION_3X
|
||||
default BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION \
|
||||
if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT
|
||||
default "custom" if BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL
|
||||
@ -96,4 +100,12 @@ config BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_CONFIG_FILE
|
||||
help
|
||||
Path to the at91bootstrap3 configuration file
|
||||
|
||||
config BR2_TARGET_AT91BOOTSTRAP3_NEEDS_PYTHON3
|
||||
bool "needs host-python3"
|
||||
help
|
||||
Enable this option if the at91bootstrap build process needs
|
||||
Python 3.x to be available on the host. This is needed in
|
||||
some at91bootstrap configurations to use NAND/PMECC Python
|
||||
scripts.
|
||||
|
||||
endif # BR2_TARGET_AT91BOOTSTRAP3
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 dd6a3c57c1c84fc3b18187bee3d139146a0e032dd1d8edea7b242730e0bc4fe1 at91bootstrap3-v3.9.3.tar.gz
|
||||
sha256 fd7a1ce5719bb7abf5e289da2e0ea8c933af3ba0f6ad03dbdbd2b7f54a77498a main.c
|
||||
sha256 33e4ba431af93a4fc2e81c1458cd31901b9f69c583ebe4c74ca78c0846479bfd at91bootstrap3-v3.10.2.tar.gz
|
||||
sha256 b5d5f042297cad0d091f7d8734e61eb9ec7b6020898e086503fb5f8bc71fb9fc at91bootstrap3-v4.0.0-rc2.tar.gz
|
||||
|
@ -20,9 +20,6 @@ AT91BOOTSTRAP3_SITE = $(call github,linux4sam,at91bootstrap,$(AT91BOOTSTRAP3_VER
|
||||
endif
|
||||
|
||||
AT91BOOTSTRAP3_LICENSE = Atmel License
|
||||
ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_LATEST_VERSION),y)
|
||||
AT91BOOTSTRAP3_LICENSE_FILES = main.c
|
||||
endif
|
||||
|
||||
AT91BOOTSTRAP3_CPE_ID_VENDOR = linux4sam
|
||||
AT91BOOTSTRAP3_CPE_ID_PRODUCT = at91bootstrap
|
||||
@ -30,6 +27,10 @@ AT91BOOTSTRAP3_CPE_ID_PRODUCT = at91bootstrap
|
||||
AT91BOOTSTRAP3_INSTALL_IMAGES = YES
|
||||
AT91BOOTSTRAP3_INSTALL_TARGET = NO
|
||||
|
||||
ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_NEEDS_PYTHON3),y)
|
||||
AT91BOOTSTRAP3_DEPENDENCIES += host-python3
|
||||
endif
|
||||
|
||||
AT91BOOTSTRAP3_CUSTOM_PATCH_DIR = \
|
||||
$(call qstrip,$(BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_PATCH_DIR))
|
||||
|
||||
@ -48,7 +49,7 @@ define AT91BOOTSTRAP3_BUILD_CMDS
|
||||
endef
|
||||
|
||||
define AT91BOOTSTRAP3_INSTALL_IMAGES_CMDS
|
||||
cp $(@D)/binaries/*.bin $(BINARIES_DIR)
|
||||
cp $(wildcard $(@D)/build/binaries/*.bin $(@D)/binaries/*.bin) $(BINARIES_DIR)
|
||||
endef
|
||||
|
||||
ifeq ($(BR2_TARGET_AT91BOOTSTRAP3_USE_DEFCONFIG),y)
|
||||
|
108
boot/edk2/Config.in
Normal file
108
boot/edk2/Config.in
Normal file
@ -0,0 +1,108 @@
|
||||
config BR2_TARGET_EDK2
|
||||
bool "EDK2"
|
||||
depends on BR2_x86_64 || BR2_aarch64
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
||||
select BR2_PACKAGE_EDK2_PLATFORMS
|
||||
help
|
||||
EDK II is a modern, feature-rich, cross-platform firmware
|
||||
development environment for the UEFI and PI specifications.
|
||||
|
||||
https://github.com/tianocore/tianocore.github.io/wiki/EDK-II
|
||||
|
||||
if BR2_TARGET_EDK2
|
||||
|
||||
choice
|
||||
prompt "Platform"
|
||||
default BR2_TARGET_EDK2_PLATFORM_OVMF_X64 if BR2_x86_64
|
||||
default BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU if BR2_aarch64
|
||||
|
||||
config BR2_TARGET_EDK2_PLATFORM_OVMF_X64
|
||||
bool "x86-64"
|
||||
depends on BR2_x86_64
|
||||
help
|
||||
Platform configuration for a generic x86-64 target.
|
||||
This platform will boot from flash address 0x0.
|
||||
It should therefore be used as the first bootloader.
|
||||
|
||||
config BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU
|
||||
bool "ARM Virt Qemu (flash)"
|
||||
depends on BR2_aarch64
|
||||
help
|
||||
Platform configuration for QEMU targeting the Virt machine.
|
||||
This platform will only boot from flash address 0x0.
|
||||
It should therefore be used as the first bootloader.
|
||||
|
||||
config BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU_KERNEL
|
||||
bool "ARM Virt Qemu (kernel)"
|
||||
depends on BR2_aarch64
|
||||
help
|
||||
Platform configuration for QEMU targeting the Virt machine.
|
||||
This platform can boot from either flash address 0x0 or via
|
||||
the Linux boot protocol. It can therefore be loaded by a
|
||||
previous bootloader like ARM Trusted Firmware or OP-TEE.
|
||||
|
||||
config BR2_TARGET_EDK2_PLATFORM_ARM_SGI575
|
||||
bool "ARM SGI-575"
|
||||
depends on BR2_aarch64
|
||||
help
|
||||
Platform configuration for ARM SGI-575 on ARM's
|
||||
Fixed Virtual Platform (FVP).
|
||||
|
||||
config BR2_TARGET_EDK2_PLATFORM_ARM_VEXPRESS_FVP_AARCH64
|
||||
bool "ARM VExpress FVP Aarch64"
|
||||
depends on BR2_aarch64
|
||||
help
|
||||
Platform configuration for ARM Versatile Express targeting
|
||||
the Aarch64 Fixed Virtual Platform (FVP).
|
||||
|
||||
config BR2_TARGET_EDK2_PLATFORM_SOCIONEXT_DEVELOPERBOX
|
||||
bool "Socionext DeveloperBox"
|
||||
depends on BR2_aarch64
|
||||
depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE
|
||||
depends on !BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33
|
||||
select BR2_PACKAGE_HOST_DTC
|
||||
select BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP
|
||||
help
|
||||
Platform configuration for Socionext SynQuacer DeveloperBox
|
||||
(SC2A11).
|
||||
|
||||
comment "Socionext DeveloperBox depends on ATF not using EDK2 as BL33"
|
||||
depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33
|
||||
|
||||
config BR2_TARGET_EDK2_PLATFORM_SOLIDRUN_ARMADA80X0MCBIN
|
||||
bool "SolidRun MacchiatoBin"
|
||||
depends on BR2_aarch64
|
||||
depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE
|
||||
select BR2_PACKAGE_HOST_DTC
|
||||
select BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP
|
||||
help
|
||||
Platform configuration for the SolidRun MacchiatoBin.
|
||||
|
||||
config BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA
|
||||
bool "QEMU SBSA"
|
||||
depends on BR2_aarch64
|
||||
depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE
|
||||
depends on !BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33
|
||||
help
|
||||
Platform configuration for QEMU targeting the SBSA reference
|
||||
machine.
|
||||
|
||||
comment "QEMU SBSA depends on ATF not using EDK2 as BL33"
|
||||
depends on BR2_TARGET_ARM_TRUSTED_FIRMWARE_EDK2_AS_BL33
|
||||
|
||||
endchoice
|
||||
|
||||
config BR2_TARGET_EDK2_FD_NAME
|
||||
string
|
||||
default "OVMF" if BR2_TARGET_EDK2_PLATFORM_OVMF_X64
|
||||
default "QEMU_EFI" if BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU
|
||||
default "QEMU_EFI" if BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU_KERNEL
|
||||
default "BL33_AP_UEFI" if BR2_TARGET_EDK2_PLATFORM_ARM_SGI575
|
||||
default "FVP_AARCH64_EFI" if BR2_TARGET_EDK2_PLATFORM_ARM_VEXPRESS_FVP_AARCH64
|
||||
default "FVP_AARCH64_EFI" if BR2_TARGET_EDK2_PLATFORM_SOCIONEXT_DEVELOPERBOX
|
||||
default "ARMADA_EFI" if BR2_TARGET_EDK2_PLATFORM_SOLIDRUN_ARMADA80X0MCBIN
|
||||
|
||||
endif
|
||||
|
||||
comment "EDK2 needs a toolchain w/ gcc >= 5"
|
||||
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_5
|
3
boot/edk2/edk2.hash
Normal file
3
boot/edk2/edk2.hash
Normal file
@ -0,0 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 04791c13b414a6d1877182a6d565cb762c30aa63e49bb4d495fca68ef4dd209d edk2-edk2-stable202102-br1.tar.gz
|
||||
sha256 50ce20c9cfdb0e19ee34fe0a51fc0afe961f743697b068359ab2f862b494df80 License.txt
|
150
boot/edk2/edk2.mk
Normal file
150
boot/edk2/edk2.mk
Normal file
@ -0,0 +1,150 @@
|
||||
################################################################################
|
||||
#
|
||||
# edk2
|
||||
#
|
||||
################################################################################
|
||||
|
||||
EDK2_VERSION = edk2-stable202102
|
||||
EDK2_SITE = https://github.com/tianocore/edk2
|
||||
EDK2_SITE_METHOD = git
|
||||
EDK2_LICENSE = BSD-2-Clause
|
||||
EDK2_LICENSE_FILE = License.txt
|
||||
EDK2_DEPENDENCIES = edk2-platforms host-python3 host-acpica host-util-linux
|
||||
EDK2_INSTALL_TARGET = NO
|
||||
EDK2_INSTALL_IMAGES = YES
|
||||
|
||||
ifeq ($(BR2_x86_64),y)
|
||||
EDK2_ARCH = X64
|
||||
else ifeq ($(BR2_aarch64),y)
|
||||
EDK2_ARCH = AARCH64
|
||||
endif
|
||||
|
||||
ifeq ($(BR2_ENABLE_DEBUG),y)
|
||||
EDK2_BUILD_TYPE = DEBUG
|
||||
else
|
||||
EDK2_BUILD_TYPE = RELEASE
|
||||
endif
|
||||
|
||||
# Build system notes.
|
||||
#
|
||||
# The EDK2 build system is rather unique, so here are a few useful notes.
|
||||
#
|
||||
# First, builds rely heavily on Git submodules to fetch various dependencies
|
||||
# into specific directory structures. It might be possible to work around this
|
||||
# and rely on Buildroot's infrastructure, but using Git submodules greatly
|
||||
# simplifies this already complicated build system.
|
||||
#
|
||||
# Second, the build system is spread across various commands and stages.
|
||||
# Therefore, all build variables needs to be exported to be available
|
||||
# accordingly. The first stage will build $(@D)/BaseTools which contains
|
||||
# various tools and scripts for the host.
|
||||
#
|
||||
# Third, where applicable, the dependency direction between EDK2 and
|
||||
# ARM Trusted Firmware (ATF) will go in different direction for different
|
||||
# platforms. Most commonly, ATF will depend on EDK2 via the BL33 payload.
|
||||
# But for some platforms (e.g. QEMU SBSA or DeveloperBox) EDK2 will package
|
||||
# the ATF images within its own build system. In such cases, intermediary
|
||||
# "EDK2 packages" will be built in $(EDK2_BUILD_PACKAGES) in order for EDK2
|
||||
# to be able to use them in subsequent build stages.
|
||||
#
|
||||
# For more information about the build setup:
|
||||
# https://edk2-docs.gitbook.io/edk-ii-build-specification/4_edk_ii_build_process_overview
|
||||
|
||||
EDK2_GIT_SUBMODULES = YES
|
||||
EDK2_BUILD_PACKAGES = $(@D)/Build/Buildroot
|
||||
EDK2_PACKAGES_PATH = $(@D):$(EDK2_BUILD_PACKAGES):$(STAGING_DIR)/usr/share/edk2-platforms
|
||||
|
||||
ifeq ($(BR2_TARGET_EDK2_PLATFORM_OVMF_X64),y)
|
||||
EDK2_DEPENDENCIES += host-nasm
|
||||
EDK2_PACKAGE_NAME = OvmfPkg
|
||||
EDK2_PLATFORM_NAME = OvmfPkgX64
|
||||
EDK2_BUILD_DIR = OvmfX64
|
||||
|
||||
else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU),y)
|
||||
EDK2_PACKAGE_NAME = ArmVirtPkg
|
||||
EDK2_PLATFORM_NAME = ArmVirtQemu
|
||||
EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-$(EDK2_ARCH)
|
||||
|
||||
else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VIRT_QEMU_KERNEL),y)
|
||||
EDK2_PACKAGE_NAME = ArmVirtPkg
|
||||
EDK2_PLATFORM_NAME = ArmVirtQemuKernel
|
||||
EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-$(EDK2_ARCH)
|
||||
|
||||
else ifeq ($(BR2_TARGET_EDK2_PLATFORM_ARM_VEXPRESS_FVP_AARCH64),y)
|
||||
EDK2_PACKAGE_NAME = Platform/ARM/VExpressPkg
|
||||
EDK2_PLATFORM_NAME = ArmVExpress-FVP-AArch64
|
||||
EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)
|
||||
|
||||
else ifeq ($(BR2_TARGET_EDK2_PLATFORM_SOCIONEXT_DEVELOPERBOX),y)
|
||||
EDK2_DEPENDENCIES += host-dtc arm-trusted-firmware
|
||||
EDK2_PACKAGE_NAME = Platform/Socionext/DeveloperBox
|
||||
EDK2_PLATFORM_NAME = DeveloperBox
|
||||
EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)
|
||||
EDK2_BUILD_ENV += DTC_PREFIX=$(HOST_DIR)/bin/
|
||||
EDK2_BUILD_OPTS += -D DO_X86EMU=TRUE
|
||||
EDK2_PRE_BUILD_HOOKS += EDK2_PRE_BUILD_SOCIONEXT_DEVELOPERBOX
|
||||
|
||||
define EDK2_PRE_BUILD_SOCIONEXT_DEVELOPERBOX
|
||||
mkdir -p $(EDK2_BUILD_PACKAGES)/Platform/Socionext/DeveloperBox
|
||||
$(ARM_TRUSTED_FIRMWARE_DIR)/tools/fiptool/fiptool create \
|
||||
--tb-fw $(BINARIES_DIR)/bl31.bin \
|
||||
--soc-fw $(BINARIES_DIR)/bl31.bin \
|
||||
--scp-fw $(BINARIES_DIR)/bl31.bin \
|
||||
$(EDK2_BUILD_PACKAGES)/Platform/Socionext/DeveloperBox/fip_all_arm_tf.bin
|
||||
endef
|
||||
|
||||
else ifeq ($(BR2_TARGET_EDK2_PLATFORM_SOLIDRUN_ARMADA80X0MCBIN),y)
|
||||
EDK2_DEPENDENCIES += host-dtc arm-trusted-firmware
|
||||
EDK2_PACKAGE_NAME = Platform/SolidRun/Armada80x0McBin
|
||||
EDK2_PLATFORM_NAME = Armada80x0McBin
|
||||
EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)-$(EDK2_ARCH)
|
||||
EDK2_BUILD_ENV += DTC_PREFIX=$(HOST_DIR)/bin/
|
||||
EDK2_BUILD_OPTS += -D INCLUDE_TFTP_COMMAND
|
||||
|
||||
else ifeq ($(BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA),y)
|
||||
EDK2_DEPENDENCIES += arm-trusted-firmware
|
||||
EDK2_PACKAGE_NAME = Platform/Qemu/SbsaQemu
|
||||
EDK2_PLATFORM_NAME = SbsaQemu
|
||||
EDK2_BUILD_DIR = $(EDK2_PLATFORM_NAME)
|
||||
EDK2_PRE_BUILD_HOOKS += EDK2_PRE_BUILD_QEMU_SBSA
|
||||
|
||||
define EDK2_PRE_BUILD_QEMU_SBSA
|
||||
mkdir -p $(EDK2_BUILD_PACKAGES)/Platform/Qemu/Sbsa
|
||||
ln -srf $(BINARIES_DIR)/{bl1.bin,fip.bin} $(EDK2_BUILD_PACKAGES)/Platform/Qemu/Sbsa/
|
||||
endef
|
||||
|
||||
endif
|
||||
|
||||
EDK2_BASETOOLS_OPTS = \
|
||||
EXTRA_LDFLAGS="$(HOST_LDFLAGS)" \
|
||||
EXTRA_OPTFLAGS="$(HOST_CPPFLAGS)"
|
||||
|
||||
EDK2_BUILD_ENV += \
|
||||
WORKSPACE=$(@D) \
|
||||
PACKAGES_PATH=$(EDK2_PACKAGES_PATH) \
|
||||
PYTHON_COMMAND=$(HOST_DIR)/bin/python3 \
|
||||
IASL_PREFIX=$(HOST_DIR)/bin/ \
|
||||
NASM_PREFIX=$(HOST_DIR)/bin/ \
|
||||
GCC5_$(EDK2_ARCH)_PREFIX=$(TARGET_CROSS)
|
||||
|
||||
EDK2_BUILD_OPTS += \
|
||||
-t GCC5 \
|
||||
-n $(BR2_JLEVEL) \
|
||||
-a $(EDK2_ARCH) \
|
||||
-b $(EDK2_BUILD_TYPE) \
|
||||
-p $(EDK2_PACKAGE_NAME)/$(EDK2_PLATFORM_NAME).dsc
|
||||
|
||||
define EDK2_BUILD_CMDS
|
||||
mkdir -p $(EDK2_BUILD_PACKAGES)
|
||||
export $(EDK2_BUILD_ENV) && \
|
||||
unset ARCH && \
|
||||
source $(@D)/edksetup.sh && \
|
||||
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/BaseTools $(EDK2_BASETOOLS_OPTS) && \
|
||||
build $(EDK2_BUILD_OPTS) all
|
||||
endef
|
||||
|
||||
define EDK2_INSTALL_IMAGES_CMDS
|
||||
cp -f $(@D)/Build/$(EDK2_BUILD_DIR)/$(EDK2_BUILD_TYPE)_GCC5/FV/*.fd $(BINARIES_DIR)
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
@ -17,6 +17,9 @@ BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
BR2_TARGET_AT91BOOTSTRAP3=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.2"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="acqua-256m"
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
|
@ -17,6 +17,9 @@ BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
BR2_TARGET_AT91BOOTSTRAP3=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_URL="https://github.com/linux4sam/at91bootstrap.git"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_REPO_VERSION="v3.10.2"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="acqua-512m"
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
|
@ -1,31 +1,52 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_cortex_a8=y
|
||||
BR2_ARM_FPU_VFPV3=y
|
||||
|
||||
# Patches
|
||||
BR2_GLOBAL_PATCH_DIR="board/beaglebone/patches"
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_19=y
|
||||
|
||||
# Linux headers same as kernel, a 5.10 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
|
||||
|
||||
# System
|
||||
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
|
||||
|
||||
# Image
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/beaglebone/post-build.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/beaglebone/genimage.cfg"
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,beagleboard,linux,4.19.79-ti-r30)/linux-4.19.79-ti-r30.tar.gz"
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,beagleboard,linux,5.10.30-ti-r3)/linux-5.10.30-ti-r3.tar.gz"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="omap2plus"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="am335x-evm am335x-bone am335x-boneblack am335x-bonegreen am335x-evmsk am335x-boneblue"
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
|
||||
# Bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2020.04"
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04"
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="am335x_evm"
|
||||
BR2_TARGET_UBOOT_NEEDS_DTC=y
|
||||
# BR2_TARGET_UBOOT_FORMAT_BIN is not set
|
||||
BR2_TARGET_UBOOT_FORMAT_IMG=y
|
||||
BR2_TARGET_UBOOT_SPL=y
|
||||
BR2_TARGET_UBOOT_SPL_NAME="MLO"
|
||||
|
||||
# Required tools to create the SD image
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
BR2_PACKAGE_HOST_MTOOLS=y
|
||||
|
||||
# Supporting host tools to build FIT image
|
||||
BR2_PACKAGE_HOST_UBOOT_TOOLS=y
|
||||
BR2_PACKAGE_HOST_UBOOT_TOOLS_FIT_SUPPORT=y
|
||||
|
@ -2,17 +2,17 @@ BR2_aarch64=y
|
||||
BR2_cortex_a53=y
|
||||
BR2_ARM_FPU_VFPV4=y
|
||||
|
||||
# Linux headers same as kernel, a 5.6 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_6=y
|
||||
# Linux headers same as kernel, a 5.11 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_11=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.6.11"
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.11.21"
|
||||
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
|
||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="board/globalscale/espressobin/linux-extras.config"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="marvell/armada-3720-espressobin marvell/armada-3720-espressobin-emmc marvell/armada-3720-espressobin-v7 marvell/armada-3720-espressobin-v7-emmc"
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="marvell/armada-3720-espressobin marvell/armada-3720-espressobin-emmc marvell/armada-3720-espressobin-v7 marvell/armada-3720-espressobin-v7-emmc marvell/armada-3720-espressobin-ultra"
|
||||
BR2_LINUX_KERNEL_INSTALL_TARGET=y
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
||||
|
||||
|
31
configs/microchip_sama5d2_icp_mmc_defconfig
Normal file
31
configs/microchip_sama5d2_icp_mmc_defconfig
Normal file
@ -0,0 +1,31 @@
|
||||
BR2_arm=y
|
||||
BR2_cortex_a5=y
|
||||
BR2_ARM_ENABLE_NEON=y
|
||||
BR2_ARM_ENABLE_VFP=y
|
||||
BR2_ARM_INSTRUCTIONS_THUMB2=y
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/microchip/sama5d2_icp/genimage.cfg"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam-2020.10)/linux-linux4sam-2020.10.tar.gz"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="sama5"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_icp"
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
|
||||
BR2_TARGET_AT91BOOTSTRAP3=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.0-rc2)/at91bootstrap-v4.0.0-rc2.tar.gz"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_icpsd_uboot"
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam-2020.10)/u-boot-at91-linux4sam-2020.10.tar.gz"
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d2_icp_mmc"
|
||||
BR2_TARGET_UBOOT_NEEDS_DTC=y
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
BR2_PACKAGE_HOST_MTOOLS=y
|
74
configs/microchip_sama5d2_icp_mmc_dev_defconfig
Normal file
74
configs/microchip_sama5d2_icp_mmc_dev_defconfig
Normal file
@ -0,0 +1,74 @@
|
||||
BR2_arm=y
|
||||
BR2_cortex_a5=y
|
||||
BR2_ARM_ENABLE_NEON=y
|
||||
BR2_ARM_ENABLE_VFP=y
|
||||
BR2_ARM_INSTRUCTIONS_THUMB2=y
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_4=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
|
||||
BR2_PTHREAD_DEBUG=y
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/microchip/sama5d2_icp/genimage.cfg"
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,linux-at91,linux4sam-2020.10)/linux-linux4sam-2020.10.tar.gz"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="sama5"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="at91-sama5d2_icp"
|
||||
BR2_PACKAGE_LINUX_TOOLS_IIO=y
|
||||
BR2_PACKAGE_BZIP2=y
|
||||
BR2_PACKAGE_XZ=y
|
||||
BR2_PACKAGE_ZIP=y
|
||||
BR2_PACKAGE_GDB=y
|
||||
BR2_PACKAGE_LMBENCH=y
|
||||
BR2_PACKAGE_STRACE=y
|
||||
BR2_PACKAGE_TREE=y
|
||||
BR2_PACKAGE_DOSFSTOOLS=y
|
||||
BR2_PACKAGE_DOSFSTOOLS_FATLABEL=y
|
||||
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||
BR2_PACKAGE_DOSFSTOOLS_MKFS_FAT=y
|
||||
BR2_PACKAGE_MMC_UTILS=y
|
||||
BR2_PACKAGE_MTD=y
|
||||
BR2_PACKAGE_WILC1000_FIRMWARE=y
|
||||
BR2_PACKAGE_EVTEST=y
|
||||
BR2_PACKAGE_SETSERIAL=y
|
||||
BR2_PACKAGE_SPI_TOOLS=y
|
||||
BR2_PACKAGE_USBUTILS=y
|
||||
BR2_PACKAGE_LIBSYSFS=y
|
||||
BR2_PACKAGE_LIBDRM=y
|
||||
BR2_PACKAGE_LIBDRM_INSTALL_TESTS=y
|
||||
BR2_PACKAGE_DTC=y
|
||||
BR2_PACKAGE_DTC_PROGRAMS=y
|
||||
BR2_PACKAGE_ARGP_STANDALONE=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS=y
|
||||
BR2_PACKAGE_BRIDGE_UTILS=y
|
||||
BR2_PACKAGE_CAN_UTILS=y
|
||||
BR2_PACKAGE_ETHTOOL=y
|
||||
BR2_PACKAGE_IPERF=y
|
||||
BR2_PACKAGE_IPROUTE2=y
|
||||
BR2_PACKAGE_IPTABLES=y
|
||||
BR2_PACKAGE_IW=y
|
||||
BR2_PACKAGE_LRZSZ=y
|
||||
BR2_PACKAGE_MII_DIAG=y
|
||||
BR2_PACKAGE_OPENSSH=y
|
||||
BR2_PACKAGE_WIRELESS_TOOLS=y
|
||||
BR2_PACKAGE_WPA_SUPPLICANT=y
|
||||
BR2_PACKAGE_HTOP=y
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
|
||||
BR2_TARGET_AT91BOOTSTRAP3=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_GIT=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL=y
|
||||
BR2_TARGET_AT91BOOTSTRAP3_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,at91bootstrap,v4.0.0-rc2)/at91bootstrap-v4.0.0-rc2.tar.gz"
|
||||
BR2_TARGET_AT91BOOTSTRAP3_DEFCONFIG="sama5d2_icpsd_uboot"
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_TARBALL=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_TARBALL_LOCATION="$(call github,linux4sam,u-boot-at91,linux4sam-2020.10)/u-boot-at91-linux4sam-2020.10.tar.gz"
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="sama5d2_icp_mmc"
|
||||
BR2_TARGET_UBOOT_NEEDS_DTC=y
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
BR2_PACKAGE_HOST_MTOOLS=y
|
52
configs/qemu_aarch64_sbsa_defconfig
Normal file
52
configs/qemu_aarch64_sbsa_defconfig
Normal file
@ -0,0 +1,52 @@
|
||||
# Architecture
|
||||
BR2_aarch64=y
|
||||
BR2_cortex_a53=y
|
||||
|
||||
# Toolchain
|
||||
BR2_TOOLCHAIN_BUILDROOT_WCHAR=y
|
||||
|
||||
# System
|
||||
BR2_SYSTEM_DHCP="eth0"
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttyAMA0"
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
|
||||
# Image
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/qemu/aarch64-sbsa/assemble-flash-images support/scripts/genimage.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/qemu/aarch64-sbsa/genimage.cfg"
|
||||
|
||||
# Linux headers same as kernel, a 5.10 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.10.34"
|
||||
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
||||
|
||||
# UEFI firmware
|
||||
BR2_TARGET_EDK2=y
|
||||
BR2_TARGET_EDK2_PLATFORM_QEMU_SBSA=y
|
||||
BR2_TARGET_GRUB2=y
|
||||
BR2_TARGET_GRUB2_ARM64_EFI=y
|
||||
|
||||
# ARM Trusted Firmware
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE=y
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_GIT=y
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_URL="https://github.com/ARM-software/arm-trusted-firmware.git"
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE_CUSTOM_REPO_VERSION="v2.4"
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE_PLATFORM="qemu_sbsa"
|
||||
BR2_TARGET_ARM_TRUSTED_FIRMWARE_FIP=y
|
||||
|
||||
# Host tools for genimage
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
BR2_PACKAGE_HOST_MTOOLS=y
|
||||
|
||||
# host-qemu for gitlab testing
|
||||
BR2_PACKAGE_HOST_QEMU=y
|
||||
BR2_PACKAGE_HOST_QEMU_SYSTEM_MODE=y
|
41
configs/raspberrypicm4io_64_defconfig
Normal file
41
configs/raspberrypicm4io_64_defconfig
Normal file
@ -0,0 +1,41 @@
|
||||
BR2_aarch64=y
|
||||
BR2_cortex_a72=y
|
||||
BR2_ARM_FPU_VFPV4=y
|
||||
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
|
||||
BR2_SYSTEM_DHCP="eth0"
|
||||
|
||||
# Linux headers same as kernel, a 5.10 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
|
||||
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,b657cd2f27d9171b75c846f21e7b4bb581b3ed29)/linux-b657cd2f27d9171b75c846f21e7b4bb581b3ed29.tar.gz"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
|
||||
|
||||
# Build the DTB from the kernel sources
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2711-rpi-cm4"
|
||||
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
||||
|
||||
BR2_PACKAGE_RPI_FIRMWARE=y
|
||||
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
|
||||
|
||||
# Required tools to create the SD image
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
BR2_PACKAGE_HOST_MTOOLS=y
|
||||
|
||||
# Required tool to flash CM4 eMMC memory
|
||||
BR2_PACKAGE_HOST_RASPBERRYPI_USBBOOT
|
||||
|
||||
# Filesystem / image
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypicm4io-64/post-build.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypicm4io-64/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay --aarch64"
|
41
configs/raspberrypicm4io_defconfig
Normal file
41
configs/raspberrypicm4io_defconfig
Normal file
@ -0,0 +1,41 @@
|
||||
BR2_arm=y
|
||||
BR2_cortex_a72=y
|
||||
BR2_ARM_FPU_NEON_VFPV4=y
|
||||
|
||||
BR2_TOOLCHAIN_BUILDROOT_CXX=y
|
||||
|
||||
BR2_SYSTEM_DHCP="eth0"
|
||||
|
||||
# Linux headers same as kernel, a 5.10 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_10=y
|
||||
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_TARBALL_LOCATION="$(call github,raspberrypi,linux,b657cd2f27d9171b75c846f21e7b4bb581b3ed29)/linux-b657cd2f27d9171b75c846f21e7b4bb581b3ed29.tar.gz"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="bcm2711"
|
||||
|
||||
# Build the DTB from the kernel sources
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2711-rpi-cm4"
|
||||
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
||||
|
||||
BR2_PACKAGE_RPI_FIRMWARE=y
|
||||
BR2_PACKAGE_RPI_FIRMWARE_VARIANT_PI4=y
|
||||
|
||||
# Required tools to create the SD image
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
BR2_PACKAGE_HOST_MTOOLS=y
|
||||
|
||||
# Required tool to flash CM4 eMMC memory
|
||||
BR2_PACKAGE_HOST_RASPBERRYPI_USBBOOT
|
||||
|
||||
# Filesystem / image
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
BR2_TARGET_ROOTFS_EXT2_SIZE="120M"
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypicm4io/post-build.sh"
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypicm4io/post-image.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="--add-miniuart-bt-overlay"
|
46
configs/uevm5432_defconfig
Normal file
46
configs/uevm5432_defconfig
Normal file
@ -0,0 +1,46 @@
|
||||
# Architecture
|
||||
BR2_arm=y
|
||||
BR2_cortex_a15=y
|
||||
BR2_ARM_FPU_NEON_VFPV4=y
|
||||
|
||||
# Linux headers same as kernel, a 5.12 series
|
||||
BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_5_12=y
|
||||
|
||||
# System
|
||||
BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_MDEV=y
|
||||
BR2_TARGET_GENERIC_GETTY_PORT="ttyS2"
|
||||
BR2_SYSTEM_DHCP="eth0"
|
||||
|
||||
# Image
|
||||
BR2_ROOTFS_POST_IMAGE_SCRIPT="support/scripts/genimage.sh"
|
||||
BR2_ROOTFS_POST_SCRIPT_ARGS="-c board/uevm5432/genimage.cfg"
|
||||
|
||||
# Kernel
|
||||
BR2_LINUX_KERNEL=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.12.2"
|
||||
BR2_LINUX_KERNEL_DEFCONFIG="omap2plus"
|
||||
BR2_LINUX_KERNEL_DTS_SUPPORT=y
|
||||
BR2_LINUX_KERNEL_INTREE_DTS_NAME="omap5-uevm"
|
||||
BR2_LINUX_KERNEL_INSTALL_TARGET=y
|
||||
BR2_LINUX_KERNEL_NEEDS_HOST_OPENSSL=y
|
||||
|
||||
# Filesystem
|
||||
BR2_TARGET_ROOTFS_EXT2=y
|
||||
BR2_TARGET_ROOTFS_EXT2_4=y
|
||||
# BR2_TARGET_ROOTFS_TAR is not set
|
||||
|
||||
# Bootloader
|
||||
BR2_TARGET_UBOOT=y
|
||||
BR2_TARGET_UBOOT_BUILD_SYSTEM_KCONFIG=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
|
||||
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2021.04"
|
||||
BR2_TARGET_UBOOT_BOARD_DEFCONFIG="omap5_uevm"
|
||||
BR2_TARGET_UBOOT_FORMAT_IMG=y
|
||||
BR2_TARGET_UBOOT_SPL=y
|
||||
BR2_TARGET_UBOOT_SPL_NAME="MLO"
|
||||
|
||||
# Required tools to create the SD card image
|
||||
BR2_PACKAGE_HOST_DOSFSTOOLS=y
|
||||
BR2_PACKAGE_HOST_GENIMAGE=y
|
||||
BR2_PACKAGE_HOST_MTOOLS=y
|
@ -100,7 +100,7 @@ typical packages will therefore only use a few of them.
|
||||
necessary to set them in the package's +*.mk+ file unless you want
|
||||
to override them:
|
||||
|
||||
** +CMAKE_BUILD_TYPE+ is driven by +BR2_ENABLE_DEBUG+;
|
||||
** +CMAKE_BUILD_TYPE+ is driven by +BR2_ENABLE_RUNTIME_DEBUG+;
|
||||
** +CMAKE_INSTALL_PREFIX+;
|
||||
** +BUILD_SHARED_LIBS+ is driven by +BR2_STATIC_LIBS+;
|
||||
** +BUILD_DOC+, +BUILD_DOCS+ are disabled;
|
||||
|
@ -109,6 +109,7 @@ menu "Debugging, profiling and benchmark"
|
||||
source "package/kvm-unit-tests/Config.in"
|
||||
source "package/kyua/Config.in"
|
||||
source "package/latencytop/Config.in"
|
||||
source "package/libbpf/Config.in"
|
||||
source "package/lmbench/Config.in"
|
||||
source "package/lsof/Config.in"
|
||||
source "package/ltp-testsuite/Config.in"
|
||||
@ -126,6 +127,7 @@ menu "Debugging, profiling and benchmark"
|
||||
source "package/pcm-tools/Config.in"
|
||||
source "package/piglit/Config.in"
|
||||
source "package/ply/Config.in"
|
||||
source "package/poke/Config.in"
|
||||
source "package/ptm2human/Config.in"
|
||||
source "package/pv/Config.in"
|
||||
source "package/racehound/Config.in"
|
||||
@ -373,6 +375,7 @@ comment "X applications"
|
||||
source "package/gtkperf/Config.in"
|
||||
source "package/leafpad/Config.in"
|
||||
source "package/midori/Config.in"
|
||||
source "package/mupdf/Config.in"
|
||||
source "package/nodm/Config.in"
|
||||
source "package/pcmanfm/Config.in"
|
||||
source "package/qt-webkit-kiosk/Config.in"
|
||||
@ -460,6 +463,7 @@ endmenu
|
||||
source "package/dvb-apps/Config.in"
|
||||
source "package/dvbsnoop/Config.in"
|
||||
source "package/edid-decode/Config.in"
|
||||
source "package/edk2-platforms/Config.in"
|
||||
source "package/eudev/Config.in"
|
||||
source "package/ev3dev-linux-drivers/Config.in"
|
||||
source "package/evemu/Config.in"
|
||||
@ -960,6 +964,7 @@ menu "External python modules"
|
||||
source "package/python-daphne/Config.in"
|
||||
source "package/python-dataproperty/Config.in"
|
||||
source "package/python-dateutil/Config.in"
|
||||
source "package/python-dbus-next/Config.in"
|
||||
source "package/python-decorator/Config.in"
|
||||
source "package/python-defusedxml/Config.in"
|
||||
source "package/python-dialog/Config.in"
|
||||
@ -1133,6 +1138,7 @@ menu "External python modules"
|
||||
source "package/python-pylibftdi/Config.in"
|
||||
source "package/python-pylru/Config.in"
|
||||
source "package/python-pymodbus/Config.in"
|
||||
source "package/python-pymupdf/Config.in"
|
||||
source "package/python-pymysql/Config.in"
|
||||
source "package/python-pynacl/Config.in"
|
||||
source "package/python-pyopenssl/Config.in"
|
||||
@ -1788,6 +1794,7 @@ menu "Networking"
|
||||
source "package/libpagekite/Config.in"
|
||||
source "package/libpcap/Config.in"
|
||||
source "package/libpjsip/Config.in"
|
||||
source "package/libpsl/Config.in"
|
||||
source "package/librelp/Config.in"
|
||||
source "package/librsync/Config.in"
|
||||
source "package/libshairplay/Config.in"
|
||||
@ -2057,6 +2064,7 @@ menu "Miscellaneous"
|
||||
source "package/sunwait/Config.in"
|
||||
source "package/taskd/Config.in"
|
||||
source "package/wine/Config.in"
|
||||
source "package/xmrig/Config.in"
|
||||
source "package/xutil_util-macros/Config.in"
|
||||
endmenu
|
||||
|
||||
@ -2489,6 +2497,7 @@ menu "System tools"
|
||||
source "package/scrub/Config.in"
|
||||
source "package/scrypt/Config.in"
|
||||
source "package/sdbusplus/Config.in"
|
||||
source "package/seatd/Config.in"
|
||||
source "package/smack/Config.in"
|
||||
source "package/start-stop-daemon/Config.in"
|
||||
source "package/supervisor/Config.in"
|
||||
|
@ -136,6 +136,9 @@ endif
|
||||
ifeq ($(BR2_OPTIMIZE_FAST),y)
|
||||
TARGET_OPTIMIZATION = -Ofast
|
||||
endif
|
||||
ifeq ($(BR2_ENABLE_DEBUG),)
|
||||
TARGET_DEBUGGING = -g0
|
||||
endif
|
||||
ifeq ($(BR2_DEBUG_1),y)
|
||||
TARGET_DEBUGGING = -g1
|
||||
endif
|
||||
@ -145,6 +148,9 @@ endif
|
||||
ifeq ($(BR2_DEBUG_3),y)
|
||||
TARGET_DEBUGGING = -g3
|
||||
endif
|
||||
ifeq ($(BR2_ENABLE_RUNTIME_DEBUG),)
|
||||
TARGET_DEBUGGING += -DNDEBUG
|
||||
endif
|
||||
|
||||
TARGET_LDFLAGS = $(call qstrip,$(BR2_TARGET_LDFLAGS))
|
||||
|
||||
|
@ -7,4 +7,4 @@ config BR2_PACKAGE_ABOOTIMG
|
||||
Tool to manipulate Android Boot Images, either on files
|
||||
or directly on /dev block devices.
|
||||
|
||||
https://github.com/ggrandou/abootimg
|
||||
https://gitlab.com/ajs124/abootimg
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 eb8d912bc7b5454c2afd3385fd86f4917d3587c48a6f5ae45df7856d88502cab abootimg-7e127fee6a3981f6b0a50ce9910267cd501e09d4.tar.gz
|
||||
sha256 f377da42a57d982cfc22fa75c5a69febdc3e4c1ef43cd0ceaec42e14067e2f37 abootimg-1ebeb393252ab5aeed62e34bc439b6728444f06e-br1.tar.gz
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 LICENSE
|
||||
|
@ -4,8 +4,9 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
ABOOTIMG_VERSION = 7e127fee6a3981f6b0a50ce9910267cd501e09d4
|
||||
ABOOTIMG_SITE = $(call github,ggrandou,abootimg,$(ABOOTIMG_VERSION))
|
||||
ABOOTIMG_VERSION = 1ebeb393252ab5aeed62e34bc439b6728444f06e
|
||||
ABOOTIMG_SITE = https://gitlab.com/ajs124/abootimg.git
|
||||
ABOOTIMG_SITE_METHOD = git
|
||||
ABOOTIMG_LICENSE = GPL-2.0+
|
||||
ABOOTIMG_LICENSE_FILES = LICENSE
|
||||
|
||||
|
@ -5,6 +5,7 @@ config BR2_PACKAGE_AIRCRACK_NG
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
depends on !BR2_STATIC_LIBS # dlfcn.h
|
||||
select BR2_PACKAGE_OPENSSL if !BR2_PACKAGE_LIBGCRYPT
|
||||
select BR2_PACKAGE_LIBOPENSSL_ENABLE_RC4 if BR2_PACKAGE_LIBOPENSSL
|
||||
help
|
||||
A set of tools for auditing wireless networks
|
||||
|
||||
|
@ -1,32 +0,0 @@
|
||||
From 6e1fd09f7bc131c8f16d9cc43e2455ba4650c651 Mon Sep 17 00:00:00 2001
|
||||
From: Carlos Santos <casantos@datacom.com.br>
|
||||
Date: Sat, 3 Nov 2018 08:25:58 -0300
|
||||
Subject: [PATCH] Fix audispd path in auditd.conf
|
||||
|
||||
audispd is installed at /usr/sbin but the configuration file pointed
|
||||
to /sbin, causing auditd to fail on startup.
|
||||
|
||||
This patch cannot be sent upstream because audispd does not exist
|
||||
anymore on the master branch (it was merged to auditd).
|
||||
|
||||
Signed-off-by: Carlos Santos <casantos@datacom.com.br>
|
||||
---
|
||||
init.d/auditd.conf | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/init.d/auditd.conf b/init.d/auditd.conf
|
||||
index 4dcda83..998904f 100644
|
||||
--- a/init.d/auditd.conf
|
||||
+++ b/init.d/auditd.conf
|
||||
@@ -13,7 +13,7 @@ max_log_file = 8
|
||||
num_logs = 5
|
||||
priority_boost = 4
|
||||
disp_qos = lossy
|
||||
-dispatcher = /sbin/audispd
|
||||
+dispatcher = /usr/sbin/audispd
|
||||
name_format = NONE
|
||||
##name = mydomain
|
||||
max_log_file_action = ROTATE
|
||||
--
|
||||
2.17.1
|
||||
|
@ -1,133 +0,0 @@
|
||||
From c39a071e7c021f6ff3554aca2758e97b47a9777c Mon Sep 17 00:00:00 2001
|
||||
From: Steve Grubb <sgrubb@redhat.com>
|
||||
Date: Tue, 26 Feb 2019 18:33:33 -0500
|
||||
Subject: [PATCH] Add substitue functions for strndupa & rawmemchr
|
||||
|
||||
(cherry picked from commit d579a08bb1cde71f939c13ac6b2261052ae9f77e)
|
||||
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
|
||||
---
|
||||
auparse/auparse.c | 12 +++++++++++-
|
||||
auparse/interpret.c | 9 ++++++++-
|
||||
configure.ac | 14 +++++++++++++-
|
||||
src/ausearch-lol.c | 12 +++++++++++-
|
||||
4 files changed, 43 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/auparse/auparse.c b/auparse/auparse.c
|
||||
index 650db02..2e1c737 100644
|
||||
--- a/auparse/auparse.c
|
||||
+++ b/auparse/auparse.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/* auparse.c --
|
||||
- * Copyright 2006-08,2012-17 Red Hat Inc., Durham, North Carolina.
|
||||
+ * Copyright 2006-08,2012-19 Red Hat Inc., Durham, North Carolina.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
@@ -1118,6 +1118,16 @@ static int str2event(char *s, au_event_t *e)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+#ifndef HAVE_STRNDUPA
|
||||
+static inline char *strndupa(const char *old, size_t n)
|
||||
+{
|
||||
+ size_t len = strnlen(old, n);
|
||||
+ char *tmp = alloca(len + 1);
|
||||
+ tmp[len] = 0;
|
||||
+ return memcpy(tmp, old, len);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/* Returns 0 on success and 1 on error */
|
||||
static int extract_timestamp(const char *b, au_event_t *e)
|
||||
{
|
||||
diff --git a/auparse/interpret.c b/auparse/interpret.c
|
||||
index 51c4a5e..67b7b77 100644
|
||||
--- a/auparse/interpret.c
|
||||
+++ b/auparse/interpret.c
|
||||
@@ -853,6 +853,13 @@ err_out:
|
||||
return print_escaped(id->val);
|
||||
}
|
||||
|
||||
+// rawmemchr is faster. Let's use it if we have it.
|
||||
+#ifdef HAVE_RAWMEMCHR
|
||||
+#define STRCHR rawmemchr
|
||||
+#else
|
||||
+#define STRCHR strchr
|
||||
+#endif
|
||||
+
|
||||
static const char *print_proctitle(const char *val)
|
||||
{
|
||||
char *out = (char *)print_escaped(val);
|
||||
@@ -863,7 +870,7 @@ static const char *print_proctitle(const char *val)
|
||||
// Proctitle has arguments separated by NUL bytes
|
||||
// We need to write over the NUL bytes with a space
|
||||
// so that we can see the arguments
|
||||
- while ((ptr = rawmemchr(ptr, '\0'))) {
|
||||
+ while ((ptr = STRCHR(ptr, '\0'))) {
|
||||
if (ptr >= end)
|
||||
break;
|
||||
*ptr = ' ';
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 6e345f1..6f3007e 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1,7 +1,7 @@
|
||||
dnl
|
||||
define([AC_INIT_NOTICE],
|
||||
[### Generated automatically using autoconf version] AC_ACVERSION [
|
||||
-### Copyright 2005-18 Steve Grubb <sgrubb@redhat.com>
|
||||
+### Copyright 2005-19 Steve Grubb <sgrubb@redhat.com>
|
||||
###
|
||||
### Permission is hereby granted, free of charge, to any person obtaining a
|
||||
### copy of this software and associated documentation files (the "Software"),
|
||||
@@ -72,6 +72,18 @@ dnl; posix_fallocate is used in audisp-remote
|
||||
AC_CHECK_FUNCS([posix_fallocate])
|
||||
dnl; signalfd is needed for libev
|
||||
AC_CHECK_FUNC([signalfd], [], [ AC_MSG_ERROR([The signalfd system call is necessary for auditd]) ])
|
||||
+dnl; check if rawmemchr is available
|
||||
+AC_CHECK_FUNCS([rawmemchr])
|
||||
+dnl; check if strndupa is available
|
||||
+AC_LINK_IFELSE(
|
||||
+ [AC_LANG_SOURCE(
|
||||
+ [[
|
||||
+ #define _GNU_SOURCE
|
||||
+ #include <string.h>
|
||||
+ int main() { (void) strndupa("test", 10); return 0; }]])],
|
||||
+ [AC_DEFINE(HAVE_STRNDUPA, 1, [Let us know if we have it or not])],
|
||||
+ []
|
||||
+)
|
||||
|
||||
ALLWARNS=""
|
||||
ALLDEBUG="-g"
|
||||
diff --git a/src/ausearch-lol.c b/src/ausearch-lol.c
|
||||
index 5d17a72..758c33e 100644
|
||||
--- a/src/ausearch-lol.c
|
||||
+++ b/src/ausearch-lol.c
|
||||
@@ -1,6 +1,6 @@
|
||||
/*
|
||||
* ausearch-lol.c - linked list of linked lists library
|
||||
-* Copyright (c) 2008,2010,2014,2016 Red Hat Inc., Durham, North Carolina.
|
||||
+* Copyright (c) 2008,2010,2014,2016,2019 Red Hat Inc., Durham, North Carolina.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* This software may be freely redistributed and/or modified under the
|
||||
@@ -152,6 +152,16 @@ static int compare_event_time(event *e1, event *e2)
|
||||
return 0;
|
||||
}
|
||||
|
||||
+#ifndef HAVE_STRNDUPA
|
||||
+static inline char *strndupa(const char *old, size_t n)
|
||||
+{
|
||||
+ size_t len = strnlen(old, n);
|
||||
+ char *tmp = alloca(len + 1);
|
||||
+ tmp[len] = 0;
|
||||
+ return memcpy(tmp, old, len);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/*
|
||||
* This function will look at the line and pick out pieces of it.
|
||||
*/
|
||||
--
|
||||
2.21.0
|
||||
|
@ -1,28 +0,0 @@
|
||||
From 017e6c6ab95df55f34e339d2139def83e5dada1f Mon Sep 17 00:00:00 2001
|
||||
From: Steve Grubb <sgrubb@redhat.com>
|
||||
Date: Fri, 10 Jan 2020 21:13:50 -0500
|
||||
Subject: [PATCH] Header definitions need to be external when building with
|
||||
-fno-common (which is default in GCC 10) - Tony Jones
|
||||
|
||||
Patch taken from upstream: https://github.com/linux-audit/audit-userspace/commit/017e6c6ab95df55f34e339d2139def83e5dada1f
|
||||
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
|
||||
---
|
||||
src/ausearch-common.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/ausearch-common.h b/src/ausearch-common.h
|
||||
index 6669203..3040547 100644
|
||||
--- a/src/ausearch-common.h
|
||||
+++ b/src/ausearch-common.h
|
||||
@@ -50,7 +50,7 @@ extern pid_t event_pid;
|
||||
extern int event_exact_match;
|
||||
extern uid_t event_uid, event_euid, event_loginuid;
|
||||
extern const char *event_tuid, *event_teuid, *event_tauid;
|
||||
-slist *event_node_list;
|
||||
+extern slist *event_node_list;
|
||||
extern const char *event_comm;
|
||||
extern const char *event_filename;
|
||||
extern const char *event_hostname;
|
||||
--
|
||||
2.20.1
|
||||
|
@ -1,4 +1,4 @@
|
||||
#Locally computed
|
||||
sha256 0e5d4103646e00f8d1981e1cd2faea7a2ae28e854c31a803e907a383c5e2ecb7 audit-2.8.5.tar.gz
|
||||
sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING
|
||||
sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB
|
||||
sha256 994c4250d8fd43f3087a3c2ce73461832e30f1e9b278bf5bb03c3e07091155a5 audit-3.0.1.tar.gz
|
||||
sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING
|
||||
sha256 f18a0811fa0e220ccbc42f661545e77f0388631e209585ed582a1c693029c6aa COPYING.LIB
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
AUDIT_VERSION = 2.8.5
|
||||
AUDIT_VERSION = 3.0.1
|
||||
AUDIT_SITE = http://people.redhat.com/sgrubb/audit
|
||||
AUDIT_LICENSE = GPL-2.0+ (programs), LGPL-2.1+ (libraries)
|
||||
AUDIT_LICENSE_FILES = COPYING COPYING.LIB
|
||||
|
@ -0,0 +1,33 @@
|
||||
From 301ef15aefa6764466c374d07efb511b1c3862cc Mon Sep 17 00:00:00 2001
|
||||
From: Nikita Ermakov <coffe92@gmail.com>
|
||||
Date: Wed, 20 May 2020 17:57:17 +0300
|
||||
Subject: [PATCH] Fix 'undefined reference to __data_start' linker error on
|
||||
RISC-V
|
||||
|
||||
Issue #294 (bdwgc).
|
||||
|
||||
* include/private/gcconfig.h [RISCV && LINUX] (__data_start): Add
|
||||
attribute(weak).
|
||||
|
||||
(cherry picked from commit 538562ad01b181f4cc3913da1ac06a77945cd9b9)
|
||||
Signed-off-by: Romain Naour <romain.naour@gmail.com>
|
||||
---
|
||||
include/private/gcconfig.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/include/private/gcconfig.h b/include/private/gcconfig.h
|
||||
index d9d45da1..d6cefa6f 100644
|
||||
--- a/include/private/gcconfig.h
|
||||
+++ b/include/private/gcconfig.h
|
||||
@@ -2943,7 +2943,7 @@ EXTERN_C_BEGIN
|
||||
# define ALIGNMENT (CPP_WORDSZ/8)
|
||||
# ifdef LINUX
|
||||
# define OS_TYPE "LINUX"
|
||||
- extern int __data_start[];
|
||||
+ extern int __data_start[] __attribute__((__weak__));
|
||||
# define DATASTART ((ptr_t)__data_start)
|
||||
# define LINUX_STACKBOTTOM
|
||||
# define DYNAMIC_LOADING
|
||||
--
|
||||
2.30.2
|
||||
|
@ -95,7 +95,7 @@ BOOST_OPTS += --no-cmake-config \
|
||||
toolset=gcc \
|
||||
threading=multi \
|
||||
abi=$(BOOST_ABI) \
|
||||
variant=$(if $(BR2_ENABLE_DEBUG),debug,release)
|
||||
variant=$(if $(BR2_ENABLE_RUNTIME_DEBUG),debug,release)
|
||||
|
||||
ifeq ($(BR2_sparc64),y)
|
||||
BOOST_OPTS += architecture=sparc instruction-set=ultrasparc
|
||||
|
@ -1,5 +1,5 @@
|
||||
# Generated locally
|
||||
sha256 38a3e3968f00cc58fe1d9448e972cfac7d1efa30c48699f09032f264101a55ac cage-0.1.2.1.tar.gz
|
||||
sha256 c28aa8230f937c89b564967748451c1eb15d8633a71a1ed6e22d532afa15462e cage-0.1.3.tar.gz
|
||||
|
||||
# Hashes for license files:
|
||||
sha256 e117104073335dbaf78596fb1bedf89dda63c71f60f0b665947b2d369c77ecee LICENSE
|
||||
|
@ -4,16 +4,17 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
CAGE_VERSION = 0.1.2.1
|
||||
CAGE_VERSION = 0.1.3
|
||||
CAGE_SITE = https://github.com/Hjdskes/cage/releases/download/v$(CAGE_VERSION)
|
||||
CAGE_LICENSE = MIT
|
||||
CAGE_LICENSE_FILES = LICENSE
|
||||
CAGE_DEPENDENCIES = host-pkgconf wlroots
|
||||
CAGE_CONF_OPTS = -Dman-pages=disabled
|
||||
|
||||
ifeq ($(BR2_PACKAGE_XORG7),y)
|
||||
CAGE_CONF_OPTS = -Dxwayland=true
|
||||
CAGE_CONF_OPTS += -Dxwayland=true
|
||||
else
|
||||
CAGE_CONF_OPTS = -Dxwayland=false
|
||||
CAGE_CONF_OPTS += -Dxwayland=false
|
||||
endif
|
||||
|
||||
$(eval $(meson-package))
|
||||
|
@ -1,5 +1,5 @@
|
||||
# https://github.com/SELinuxProject/selinux/wiki/Releases
|
||||
sha256 dfc7707070520c93b14fbbdfdbe081364d806bf28e3e79e10318c2594c77bbb2 checkpolicy-3.1.tar.gz
|
||||
sha256 9b1c81fa86fe3867842164448d90c8e7ea94b2987497809c65d4caa87a5c5bc8 checkpolicy-3.2.tar.gz
|
||||
|
||||
# Hash for license file
|
||||
sha256 204d8eff92f95aac4df6c8122bc1505f468f3a901e5a4cc08940e0ede1938994 COPYING
|
||||
|
@ -4,8 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
CHECKPOLICY_VERSION = 3.1
|
||||
CHECKPOLICY_SITE = https://github.com/SELinuxProject/selinux/releases/download/20200710
|
||||
CHECKPOLICY_VERSION = 3.2
|
||||
CHECKPOLICY_SITE = https://github.com/SELinuxProject/selinux/releases/download/$(CHECKPOLICY_VERSION)
|
||||
CHECKPOLICY_LICENSE = GPL-2.0
|
||||
CHECKPOLICY_LICENSE_FILES = COPYING
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
# From https://wpewebkit.org/releases/cog-0.8.1.tar.xz.sums
|
||||
md5 21664fb04c9149dea6d68e13e6074276 cog-0.8.1.tar.xz
|
||||
sha1 baabba7f0f6009c64ef0c4f7c5f807382cffef5d cog-0.8.1.tar.xz
|
||||
sha256 b82e917eb764943b9859c631974f8f0e748b79ae87bb7a944f46c818740e0208 cog-0.8.1.tar.xz
|
||||
# From https://wpewebkit.org/releases/cog-0.10.0.tar.xz.sums
|
||||
md5 1b0407b6163a3a01afdfc0fb454a7570 cog-0.10.0.tar.xz
|
||||
sha1 911816c00a2b08f4cfd388b1d2e176835c9b4e9e cog-0.10.0.tar.xz
|
||||
sha256 2c72369c636ca4684370adad1344071b23c9ee2c851eb7d738fa2e1d7092031f cog-0.10.0.tar.xz
|
||||
|
||||
# Hashes for license files:
|
||||
sha256 e6c42d93c68b292bcccf6d2ec3e13da85df90b718ba27c2c2a01053a9d009252 COPYING
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
COG_VERSION = 0.8.1
|
||||
COG_VERSION = 0.10.0
|
||||
COG_SITE = https://wpewebkit.org/releases
|
||||
COG_SOURCE = cog-$(COG_VERSION).tar.xz
|
||||
COG_INSTALL_STAGING = YES
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 737313719d7c04d7b9576fdc572d838c81ea22ea41a44c7646467018e67a0b97 dt-utils-v2019.01.0-br1.tar.gz
|
||||
sha256 8b29d3a8799170afdb1b077e655528bf4e6afe0c789107b1eec8fff9d4482771 dt-utils-v2021.03.0-br1.tar.gz
|
||||
sha256 a45932c79317d15116eadbf1c9c6fc59117ec3c4621db3a876066defa723963b COPYING
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
DT_UTILS_VERSION = v2019.01.0
|
||||
DT_UTILS_VERSION = v2021.03.0
|
||||
DT_UTILS_SITE = https://git.pengutronix.de/git/tools/dt-utils
|
||||
DT_UTILS_SITE_METHOD = git
|
||||
DT_UTILS_LICENSE = GPL-2.0
|
||||
|
8
package/edk2-platforms/Config.in
Normal file
8
package/edk2-platforms/Config.in
Normal file
@ -0,0 +1,8 @@
|
||||
config BR2_PACKAGE_EDK2_PLATFORMS
|
||||
bool
|
||||
help
|
||||
EDK2 description files for all supported platforms.
|
||||
The main EDK2 bootloader package will depend on these
|
||||
description files while building firmware for some platforms.
|
||||
|
||||
https://github.com/tianocore/edk2-platforms
|
3
package/edk2-platforms/edk2-platforms.hash
Normal file
3
package/edk2-platforms/edk2-platforms.hash
Normal file
@ -0,0 +1,3 @@
|
||||
# Locally calculated
|
||||
sha256 dfdc34fea86e5037a3a6cbd2a83b1f655f16b4c9ab4f5ff9da91e45a358c9a14 edk2-platforms-db922e1253cb6f1fc456805bc42fb7d401eed5c2.tar.gz
|
||||
sha256 50ce20c9cfdb0e19ee34fe0a51fc0afe961f743697b068359ab2f862b494df80 License.txt
|
22
package/edk2-platforms/edk2-platforms.mk
Normal file
22
package/edk2-platforms/edk2-platforms.mk
Normal file
@ -0,0 +1,22 @@
|
||||
################################################################################
|
||||
#
|
||||
# edk2-platforms
|
||||
#
|
||||
################################################################################
|
||||
|
||||
# Keep in sync with latest commit as of the release date for boot/edk2
|
||||
EDK2_PLATFORMS_VERSION = db922e1253cb6f1fc456805bc42fb7d401eed5c2
|
||||
EDK2_PLATFORMS_SITE = $(call github,tianocore,edk2-platforms,$(EDK2_PLATFORMS_VERSION))
|
||||
EDK2_PLATFORMS_LICENSE = BSD-2-Clause
|
||||
EDK2_PLATFORMS_LICENSE_FILE = License.txt
|
||||
EDK2_PLATFORMS_INSTALL_TARGET = NO
|
||||
EDK2_PLATFORMS_INSTALL_STAGING = YES
|
||||
|
||||
# There is nothing to build for edk2-platforms. All we need to do is to copy
|
||||
# all description files to staging, for other packages to build with.
|
||||
define EDK2_PLATFORMS_INSTALL_STAGING_CMDS
|
||||
rm -rf $(STAGING_DIR)/usr/share/edk2-platforms
|
||||
cp -rf $(@D) $(STAGING_DIR)/usr/share/edk2-platforms
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
@ -1,5 +1,5 @@
|
||||
# From https://www.kernel.org/pub/software/network/ethtool/sha256sums.asc
|
||||
sha256 817d5396a9307b4c637b435d4c558b8f5f964a1464a035ca3c0180f4cc93cfcf ethtool-5.10.tar.xz
|
||||
sha256 f5ddfa9c75053d8011b8c8c99ec4e2d3c83cd1972f638692d62e37fa3ef36f07 ethtool-5.12.tar.xz
|
||||
# Locally calculated
|
||||
sha256 8177f97513213526df2cf6184d8ff986c675afb514d4e68a404010521b880643 COPYING
|
||||
sha256 5d632934396f90c82dfebe3c9512648bbb6333b406113d0cd331b0e0aa2d34a1 LICENSE
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
ETHTOOL_VERSION = 5.10
|
||||
ETHTOOL_VERSION = 5.12
|
||||
ETHTOOL_SOURCE = ethtool-$(ETHTOOL_VERSION).tar.xz
|
||||
ETHTOOL_SITE = $(BR2_KERNEL_MIRROR)/software/network/ethtool
|
||||
ETHTOOL_LICENSE = GPL-2.0
|
||||
|
@ -14,16 +14,12 @@ FLARE_ENGINE_DEPENDENCIES += sdl2 sdl2_image sdl2_mixer sdl2_ttf
|
||||
# Don't use /usr/games and /usr/share/games
|
||||
FLARE_ENGINE_CONF_OPTS += -DBINDIR=bin -DDATADIR=share/flare
|
||||
|
||||
# Don't use the default Debug type as it adds -pg (gprof)
|
||||
ifeq ($(BR2_ENABLE_DEBUG),y)
|
||||
FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=RelWithDebInfo
|
||||
endif
|
||||
# CMAKE_BUILD_TYPE is only used to set optimization and debug flags, all of
|
||||
# which we want Buildroot to steer explicitly. Explicitly set a fake build type
|
||||
# to get this control.
|
||||
FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=Buildroot
|
||||
|
||||
ifeq ($(BR2_TOOLCHAIN_HAS_GCC_BUG_85180),y)
|
||||
# CMakeLists.txt sets CMAKE_CXX_FLAGS_<BUILD_TYPE> depending on
|
||||
# BUILD_TYPE, and this comes after the generic CMAKE_CXX_FLAGS.
|
||||
# Override CMAKE_BUILD_TYPE so no overrides are applied.
|
||||
FLARE_ENGINE_CONF_OPTS += -DCMAKE_BUILD_TYPE=Buildroot
|
||||
FLARE_ENGINE_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -O0"
|
||||
endif
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 928fb16f307507485bd1d9b010dafba8c747bce5de2ba47ab1705944c87013b6 fluidsynth-2.2.0.tar.gz
|
||||
sha256 1c56660f23f6c406b36646cc619fc2d2a5265d1d3290e79bcef4505bcd985fdd fluidsynth-2.2.1.tar.gz
|
||||
sha256 9b872a8a070b8ad329c4bd380fb1bf0000f564c75023ec8e1e6803f15364b9e9 LICENSE
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
FLUIDSYNTH_VERSION = 2.2.0
|
||||
FLUIDSYNTH_VERSION = 2.2.1
|
||||
FLUIDSYNTH_SITE = $(call github,FluidSynth,fluidsynth,v$(FLUIDSYNTH_VERSION))
|
||||
FLUIDSYNTH_LICENSE = LGPL-2.1+
|
||||
FLUIDSYNTH_LICENSE_FILES = LICENSE
|
||||
|
@ -231,7 +231,7 @@ endif
|
||||
# Set default to Secure-PLT to prevent run-time
|
||||
# generation of PLT stubs (supports RELRO and
|
||||
# SELinux non-exemem capabilities)
|
||||
ifeq ($(BR2_powerpc),y)
|
||||
ifeq ($(BR2_powerpc)$(BR2_powerpc64),y)
|
||||
HOST_GCC_COMMON_CONF_OPTS += --enable-secureplt
|
||||
endif
|
||||
|
||||
|
@ -1,3 +1,3 @@
|
||||
# sha256 locally computed
|
||||
sha256 e536675a61abe82e61b919f6b786755441d9fcd4c21e1c82fb9e5340dd229846 gnuchess-6.2.7.tar.gz
|
||||
sha256 d50446cda8012240321da39cddbb4df4d08458a8d538a4738882814139583847 gnuchess-6.2.8.tar.gz
|
||||
sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 COPYING
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GNUCHESS_VERSION = 6.2.7
|
||||
GNUCHESS_VERSION = 6.2.8
|
||||
GNUCHESS_SITE = $(BR2_GNU_MIRROR)/chess
|
||||
GNUCHESS_LICENSE = GPL-3.0+
|
||||
GNUCHESS_LICENSE_FILES = COPYING
|
||||
|
@ -16,7 +16,7 @@ diff --git a/meson.build b/meson.build
|
||||
index eed4d6b..5058664 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -214,12 +214,6 @@ if get_option('build_introspection_data') == true
|
||||
@@ -222,12 +222,6 @@ if get_option('build_introspection_data') == true
|
||||
endif
|
||||
subdir('docs')
|
||||
|
||||
|
@ -15,7 +15,7 @@ diff --git a/giscanner/ccompiler.py b/giscanner/ccompiler.py
|
||||
index a8bd5b1..51bb9bc 100644
|
||||
--- a/giscanner/ccompiler.py
|
||||
+++ b/giscanner/ccompiler.py
|
||||
@@ -229,6 +229,8 @@ class CCompiler(object):
|
||||
@@ -231,6 +231,8 @@ class CCompiler(object):
|
||||
|
||||
for envvar in runtime_path_envvar:
|
||||
if envvar in os.environ:
|
||||
|
@ -2,7 +2,6 @@ config BR2_PACKAGE_GOBJECT_INTROSPECTION_ARCH_SUPPORTS
|
||||
bool
|
||||
default y
|
||||
depends on BR2_PACKAGE_HOST_QEMU_ARCH_SUPPORTS
|
||||
depends on !BR2_RISCV_32 # qemu-riscv32 segfaults in qemu-5.0.0
|
||||
|
||||
config BR2_PACKAGE_GOBJECT_INTROSPECTION
|
||||
bool "gobject-introspection"
|
||||
|
@ -1,4 +1,5 @@
|
||||
#From http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.64/gobject-introspection-1.64.1.sha256sum
|
||||
sha256 80beae6728c134521926affff9b2e97125749b38d38744dc901f4010ee3e7fa7 gobject-introspection-1.64.1.tar.xz
|
||||
sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING.LGPL
|
||||
sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING.GPL
|
||||
#From http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/1.68/gobject-introspection-1.68.0.sha256sum
|
||||
sha256 d229242481a201b84a0c66716de1752bca41db4133672cfcfb37c93eb6e54a27 gobject-introspection-1.68.0.tar.xz
|
||||
sha256 d245807f90032872d1438d741ed21e2490e1175dc8aa3afa5ddb6c8e529b58e5 COPYING.LGPL
|
||||
sha256 32b1062f7da84967e7019d01ab805935caa7ab7321a7ced0e30ebe75e5df1670 COPYING.GPL
|
||||
sha256 ad35e98ae9342a3539c36f2171e84d175394ddcff625887290c751302cb02983 giscanner/scannerlexer.l
|
||||
|
@ -4,8 +4,8 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GOBJECT_INTROSPECTION_VERSION_MAJOR = 1.64
|
||||
GOBJECT_INTROSPECTION_VERSION = $(GOBJECT_INTROSPECTION_VERSION_MAJOR).1
|
||||
GOBJECT_INTROSPECTION_VERSION_MAJOR = 1.68
|
||||
GOBJECT_INTROSPECTION_VERSION = $(GOBJECT_INTROSPECTION_VERSION_MAJOR).0
|
||||
GOBJECT_INTROSPECTION_SITE = http://ftp.gnome.org/pub/GNOME/sources/gobject-introspection/$(GOBJECT_INTROSPECTION_VERSION_MAJOR)
|
||||
GOBJECT_INTROSPECTION_SOURCE = gobject-introspection-$(GOBJECT_INTROSPECTION_VERSION).tar.xz
|
||||
GOBJECT_INTROSPECTION_INSTALL_STAGING = YES
|
||||
@ -43,7 +43,7 @@ HOST_GOBJECT_INTROSPECTION_NINJA_ENV += \
|
||||
# Use the host gi-scanner to prevent the scanner from generating incorrect
|
||||
# elf classes.
|
||||
GOBJECT_INTROSPECTION_CONF_OPTS = \
|
||||
-Dgi_cross_use_host_gi=true \
|
||||
-Dgi_cross_use_prebuilt_gi=true \
|
||||
-Dgi_cross_binary_wrapper="$(STAGING_DIR)/usr/bin/g-ir-scanner-qemuwrapper" \
|
||||
-Dgi_cross_ldd_wrapper="$(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper" \
|
||||
-Dbuild_introspection_data=true \
|
||||
@ -64,8 +64,8 @@ HOST_GOBJECT_INTROSPECTION_CONF_ENV = \
|
||||
GI_SCANNER_DISABLE_CACHE=1
|
||||
|
||||
# Make sure g-ir-tool-template uses the host python.
|
||||
define GOBJECT_INTROSPECTION_FIX_TOOLTEMPLATE_PYTHON_PATH
|
||||
$(SED) '1s%#!.*%#!$(HOST_DIR)/bin/python%' $(@D)/tools/g-ir-tool-template.in
|
||||
define GOBJECT_INTROSPECTION_FIX_TOOLS_PYTHON_PATH
|
||||
$(SED) '1s%#!.*%#!$(HOST_DIR)/bin/python3%' $(@D)/tools/g-ir-tool-template.in
|
||||
endef
|
||||
HOST_GOBJECT_INTROSPECTION_PRE_CONFIGURE_HOOKS += GOBJECT_INTROSPECTION_FIX_TOOLTEMPLATE_PYTHON_PATH
|
||||
|
||||
@ -75,7 +75,7 @@ HOST_GOBJECT_INTROSPECTION_PRE_CONFIGURE_HOOKS += GOBJECT_INTROSPECTION_FIX_TOOL
|
||||
# - Create a safe modules directory which does not exist so we don't load random things
|
||||
# which may then get deleted (or their dependencies) and potentially segfault
|
||||
define GOBJECT_INTROSPECTION_INSTALL_PRE_WRAPPERS
|
||||
$(SED) '1s%#!.*%#!$(HOST_DIR)/bin/python%' $(@D)/tools/g-ir-tool-template.in
|
||||
$(SED) '1s%#!.*%#!$(HOST_DIR)/bin/python3%' $(@D)/tools/g-ir-tool-template.in
|
||||
|
||||
$(INSTALL) -D -m 755 $(GOBJECT_INTROSPECTION_PKGDIR)/g-ir-scanner-lddwrapper.in \
|
||||
$(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 c2dc8e876ea12052d6dd16704492fd8921df8c6d38c70c4708da332cf116df22 grpc-1.37.0.tar.gz
|
||||
sha256 acf247ec3a52edaee5dee28644a4e485c5e5badf46bdb24a80ca1d76cb8f1174 grpc-1.37.1.tar.gz
|
||||
sha256 cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30 LICENSE
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
GRPC_VERSION = 1.37.0
|
||||
GRPC_VERSION = 1.37.1
|
||||
GRPC_SITE = $(call github,grpc,grpc,v$(GRPC_VERSION))
|
||||
GRPC_LICENSE = Apache-2.0
|
||||
GRPC_LICENSE_FILES = LICENSE
|
||||
|
@ -1,6 +1,8 @@
|
||||
config BR2_PACKAGE_HOSTAPD
|
||||
bool "hostapd"
|
||||
depends on BR2_USE_MMU # fork()
|
||||
select BR2_PACKAGE_LIBOPENSSL_ENABLE_DES if BR2_PACKAGE_LIBOPENSSL
|
||||
select BR2_PACKAGE_LIBOPENSSL_ENABLE_MD4 if BR2_PACKAGE_LIBOPENSSL
|
||||
help
|
||||
User space daemon for wireless access points.
|
||||
|
||||
|
@ -1,8 +1,8 @@
|
||||
# From https://sourceforge.net/projects/enlightenment/files/imlib2-src/1.6.1/
|
||||
md5 7b3fbcb974b48822b32b326c6a47764b imlib2-1.6.1.tar.bz2
|
||||
sha1 3b5f850e83cbb7481e33061348fb9c7a555c8c60 imlib2-1.6.1.tar.bz2
|
||||
# From https://sourceforge.net/projects/enlightenment/files/imlib2-src/1.7.1/
|
||||
md5 98569de9b10bcb6fd5d13e4d331ddd81 imlib2-1.7.1.tar.bz2
|
||||
sha1 092c66ae0180798a4036e68c68d7f316de192e36 imlib2-1.7.1.tar.bz2
|
||||
|
||||
# Locally computed
|
||||
sha256 4d393a77e13da883c8ee2da3b029da3570210fe37d000c9ac33d9fce751b166d imlib2-1.6.1.tar.bz2
|
||||
sha256 033a6a639dcbc8e03f65ff05e57068e7346d50ee2f2fff304bb9095a1b2bc407 imlib2-1.7.1.tar.bz2
|
||||
sha256 fb70339dd33a77b6213c7ae067fccf93d04af44ff3f937c61f8863f7970e73f6 COPYING
|
||||
sha256 8c9a2e92ed4937e2d30c2ea95439c36ed3002fc47e34efee43455a460fee8ef5 COPYING-PLAIN
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IMLIB2_VERSION = 1.6.1
|
||||
IMLIB2_VERSION = 1.7.1
|
||||
IMLIB2_SOURCE = imlib2-$(IMLIB2_VERSION).tar.bz2
|
||||
IMLIB2_SITE = http://downloads.sourceforge.net/project/enlightenment/imlib2-src/$(IMLIB2_VERSION)
|
||||
IMLIB2_LICENSE = Imlib2
|
||||
|
@ -1,55 +0,0 @@
|
||||
From 12fafa27c7b306e6c397e858f4d5a8159500f659 Mon Sep 17 00:00:00 2001
|
||||
From: Stephen Hemminger <stephen@networkplumber.org>
|
||||
Date: Thu, 11 Jun 2020 09:46:46 -0700
|
||||
Subject: devlink: update include files
|
||||
|
||||
Use the tool iwyu to get more complete list of includes for
|
||||
all the bits used by devlink.
|
||||
|
||||
This should also fix build with musl libc.
|
||||
|
||||
Fixes: c4dfddccef4e ("fix JSON output of mon command")
|
||||
Reported-off-by: Dan Robertson <dan@dlrobertson.com>
|
||||
Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
|
||||
|
||||
[Retrieved from:
|
||||
https://git.kernel.org/pub/scm/network/iproute2/iproute2.git/commit/?id=12fafa27c7b306e6c397e858f4d5a8159500f659]
|
||||
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
|
||||
---
|
||||
devlink/devlink.c | 9 ++++++++-
|
||||
1 file changed, 8 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/devlink/devlink.c b/devlink/devlink.c
|
||||
index 507972c3..ce2e4676 100644
|
||||
--- a/devlink/devlink.c
|
||||
+++ b/devlink/devlink.c
|
||||
@@ -19,18 +19,25 @@
|
||||
#include <limits.h>
|
||||
#include <errno.h>
|
||||
#include <inttypes.h>
|
||||
+#include <signal.h>
|
||||
+#include <time.h>
|
||||
+#include <netinet/in.h>
|
||||
+#include <arpa/inet.h>
|
||||
#include <sys/sysinfo.h>
|
||||
#define _LINUX_SYSINFO_H /* avoid collision with musl header */
|
||||
#include <linux/genetlink.h>
|
||||
#include <linux/devlink.h>
|
||||
+#include <linux/netlink.h>
|
||||
#include <libmnl/libmnl.h>
|
||||
#include <netinet/ether.h>
|
||||
+#include <sys/select.h>
|
||||
+#include <sys/socket.h>
|
||||
#include <sys/types.h>
|
||||
|
||||
#include "SNAPSHOT.h"
|
||||
#include "list.h"
|
||||
#include "mnlg.h"
|
||||
-#include "json_writer.h"
|
||||
+#include "json_print.h"
|
||||
#include "utils.h"
|
||||
#include "namespace.h"
|
||||
|
||||
--
|
||||
cgit 1.2.3-1.el7
|
||||
|
@ -0,0 +1,114 @@
|
||||
From c5b72cc56bf88160bbf477ec8565fed865e7a1c9 Mon Sep 17 00:00:00 2001
|
||||
From: Heiko Thiery <heiko.thiery@gmail.com>
|
||||
Date: Sat, 8 May 2021 08:49:26 +0200
|
||||
Subject: [PATCH] lib/fs: fix issue when {name,open}_to_handle_at() is not
|
||||
implemented
|
||||
|
||||
With commit d5e6ee0dac64 the usage of functions name_to_handle_at() and
|
||||
open_by_handle_at() are introduced. But these function are not available
|
||||
e.g. in uclibc-ng < 1.0.35. To have a backward compatibility check for the
|
||||
availability in the configure script and in case of absence do a direct
|
||||
syscall.
|
||||
|
||||
Fixes: d5e6ee0dac64 ("ss: introduce cgroup2 cache and helper functions")
|
||||
Cc: Dmitry Yakunin <zeil@yandex-team.ru>
|
||||
Cc: Petr Vorel <petr.vorel@gmail.com>
|
||||
Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
|
||||
Reviewed-by: Petr Vorel <petr.vorel@gmail.com>
|
||||
Signed-off-by: David Ahern <dsahern@kernel.org>
|
||||
[ upstream-status: https://git.kernel.org/pub/scm/network/iproute2/iproute2-next.git/commit/?id=c5b72cc56bf88160bbf477ec8565fed865e7a1c9 ]
|
||||
---
|
||||
configure | 28 ++++++++++++++++++++++++++++
|
||||
lib/fs.c | 25 +++++++++++++++++++++++++
|
||||
2 files changed, 53 insertions(+)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 2c363d3b..179eae08 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -202,6 +202,31 @@ EOF
|
||||
rm -f $TMPDIR/setnstest.c $TMPDIR/setnstest
|
||||
}
|
||||
|
||||
+check_name_to_handle_at()
|
||||
+{
|
||||
+ cat >$TMPDIR/name_to_handle_at_test.c <<EOF
|
||||
+#define _GNU_SOURCE
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/stat.h>
|
||||
+#include <fcntl.h>
|
||||
+int main(int argc, char **argv)
|
||||
+{
|
||||
+ struct file_handle *fhp;
|
||||
+ int mount_id, flags, dirfd;
|
||||
+ char *pathname;
|
||||
+ name_to_handle_at(dirfd, pathname, fhp, &mount_id, flags);
|
||||
+ return 0;
|
||||
+}
|
||||
+EOF
|
||||
+ if $CC -I$INCLUDE -o $TMPDIR/name_to_handle_at_test $TMPDIR/name_to_handle_at_test.c >/dev/null 2>&1; then
|
||||
+ echo "yes"
|
||||
+ echo "CFLAGS += -DHAVE_HANDLE_AT" >>$CONFIG
|
||||
+ else
|
||||
+ echo "no"
|
||||
+ fi
|
||||
+ rm -f $TMPDIR/name_to_handle_at_test.c $TMPDIR/name_to_handle_at_test
|
||||
+}
|
||||
+
|
||||
check_ipset()
|
||||
{
|
||||
cat >$TMPDIR/ipsettest.c <<EOF
|
||||
@@ -492,6 +517,9 @@ fi
|
||||
echo -n "libc has setns: "
|
||||
check_setns
|
||||
|
||||
+echo -n "libc has name_to_handle_at: "
|
||||
+check_name_to_handle_at
|
||||
+
|
||||
echo -n "SELinux support: "
|
||||
check_selinux
|
||||
|
||||
diff --git a/lib/fs.c b/lib/fs.c
|
||||
index f161d888..05697a7e 100644
|
||||
--- a/lib/fs.c
|
||||
+++ b/lib/fs.c
|
||||
@@ -25,11 +25,36 @@
|
||||
|
||||
#include "utils.h"
|
||||
|
||||
+#ifndef HAVE_HANDLE_AT
|
||||
+# include <sys/syscall.h>
|
||||
+#endif
|
||||
+
|
||||
#define CGROUP2_FS_NAME "cgroup2"
|
||||
|
||||
/* if not already mounted cgroup2 is mounted here for iproute2's use */
|
||||
#define MNT_CGRP2_PATH "/var/run/cgroup2"
|
||||
|
||||
+
|
||||
+#ifndef HAVE_HANDLE_AT
|
||||
+struct file_handle {
|
||||
+ unsigned handle_bytes;
|
||||
+ int handle_type;
|
||||
+ unsigned char f_handle[];
|
||||
+};
|
||||
+
|
||||
+static int name_to_handle_at(int dirfd, const char *pathname,
|
||||
+ struct file_handle *handle, int *mount_id, int flags)
|
||||
+{
|
||||
+ return syscall(__NR_name_to_handle_at, dirfd, pathname, handle,
|
||||
+ mount_id, flags);
|
||||
+}
|
||||
+
|
||||
+static int open_by_handle_at(int mount_fd, struct file_handle *handle, int flags)
|
||||
+{
|
||||
+ return syscall(__NR_open_by_handle_at, mount_fd, handle, flags);
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
/* return mount path of first occurrence of given fstype */
|
||||
static char *find_fs_mount(const char *fs_to_find)
|
||||
{
|
||||
--
|
||||
2.31.1
|
||||
|
@ -1,3 +1,3 @@
|
||||
# From https://kernel.org/pub/linux/utils/net/iproute2/sha256sums.asc
|
||||
sha256 725dc7ba94aae54c6f8d4223ca055d9fb4fe89d6994b1c03bfb4411c4dd10f21 iproute2-5.7.0.tar.xz
|
||||
sha256 9d268db98a36ee2a0e3ff3b92b2efff66fc1138a51e409bdef6ab3cfe15f326f iproute2-5.12.0.tar.xz
|
||||
sha256 e6d6a009505e345fe949e1310334fcb0747f28dae2856759de102ab66b722cb4 COPYING
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
IPROUTE2_VERSION = 5.7.0
|
||||
IPROUTE2_VERSION = 5.12.0
|
||||
IPROUTE2_SOURCE = iproute2-$(IPROUTE2_VERSION).tar.xz
|
||||
IPROUTE2_SITE = $(BR2_KERNEL_MIRROR)/linux/utils/net/iproute2
|
||||
IPROUTE2_DEPENDENCIES = host-bison host-flex host-pkgconf \
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 f1756932e8cc602ce66c5db3bc1d44a442c01197c193561ca9248a405bd8bd86 kodi-inputstream-adaptive-2.6.14-Matrix.tar.gz
|
||||
sha256 49b9971973a8df16faa2a7a46d81156484a27c98930eae56dad12d466910db13 kodi-inputstream-adaptive-2.6.16-Matrix.tar.gz
|
||||
sha256 89931c1fb1f3716694175763cf3221cfcd63d6935031cf6b4512d17ffe5d9860 LICENSE.GPL
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
KODI_INPUTSTREAM_ADAPTIVE_VERSION = 2.6.14-Matrix
|
||||
KODI_INPUTSTREAM_ADAPTIVE_VERSION = 2.6.16-Matrix
|
||||
KODI_INPUTSTREAM_ADAPTIVE_SITE = $(call github,xbmc,inputstream.adaptive,$(KODI_INPUTSTREAM_ADAPTIVE_VERSION))
|
||||
KODI_INPUTSTREAM_ADAPTIVE_LICENSE = GPL-2.0+
|
||||
KODI_INPUTSTREAM_ADAPTIVE_LICENSE_FILES = LICENSE.GPL
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 4dc63c6c5bdad25881eeba800765d97c53b2583addf28e71bbcd67775452ecdb kodi-peripheral-joystick-1.7.1-Matrix.tar.gz
|
||||
sha256 405acfbcc510f96a48244168362213955357f95cd8b1b92fe1ce483213045bfb kodi-peripheral-joystick-1.7.2-Matrix.tar.gz
|
||||
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
KODI_PERIPHERAL_JOYSTICK_VERSION = 1.7.1-Matrix
|
||||
KODI_PERIPHERAL_JOYSTICK_VERSION = 1.7.2-Matrix
|
||||
KODI_PERIPHERAL_JOYSTICK_SITE = $(call github,xbmc,peripheral.joystick,$(KODI_PERIPHERAL_JOYSTICK_VERSION))
|
||||
KODI_PERIPHERAL_JOYSTICK_LICENSE = GPL-2.0+
|
||||
KODI_PERIPHERAL_JOYSTICK_LICENSE_FILES = LICENSE.md
|
||||
|
@ -1,3 +1,3 @@
|
||||
# Locally computed
|
||||
sha256 1310806ac4fd8c6e72020042e62bde8c9175e65015c4fddb82312cf32c53bf63 kodi-pvr-iptvsimple-7.6.4-Matrix.tar.gz
|
||||
sha256 2b46ab509e26fb4a60759e78f9f13808f5bb2c67a03a62c58ebcadb31c26e6e1 kodi-pvr-iptvsimple-7.6.5-Matrix.tar.gz
|
||||
sha256 310782e1abd43c4de6217c513e328bddf999d39302d67c6e05b10a59959827af LICENSE.md
|
||||
|
@ -4,7 +4,7 @@
|
||||
#
|
||||
################################################################################
|
||||
|
||||
KODI_PVR_IPTVSIMPLE_VERSION = 7.6.4-Matrix
|
||||
KODI_PVR_IPTVSIMPLE_VERSION = 7.6.5-Matrix
|
||||
KODI_PVR_IPTVSIMPLE_SITE = $(call github,kodi-pvr,pvr.iptvsimple,$(KODI_PVR_IPTVSIMPLE_VERSION))
|
||||
KODI_PVR_IPTVSIMPLE_LICENSE = GPL-2.0+
|
||||
KODI_PVR_IPTVSIMPLE_LICENSE_FILES = LICENSE.md
|
||||
|
@ -1,29 +0,0 @@
|
||||
From 8696d5408d6ec14b1ff4395ed538b7a48528fe68 Mon Sep 17 00:00:00 2001
|
||||
From: phunkyfish <phunkyfish@gmail.com>
|
||||
Date: Thu, 8 Oct 2020 16:12:18 +0100
|
||||
Subject: [PATCH] Revert "Removed no more supported (C++17) declaration keyword
|
||||
(register)"
|
||||
|
||||
This reverts commit a8edcafe6cc7a424615319995f4f7bdfab3856b1.
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
src/lib/tsreader/DvbUtil.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/lib/tsreader/DvbUtil.cpp b/src/lib/tsreader/DvbUtil.cpp
|
||||
index c973062..8c4798a 100644
|
||||
--- a/src/lib/tsreader/DvbUtil.cpp
|
||||
+++ b/src/lib/tsreader/DvbUtil.cpp
|
||||
@@ -77,7 +77,7 @@ namespace MPTV
|
||||
//*******************************************************************
|
||||
uint32_t crc32(char *data, int len)
|
||||
{
|
||||
- int i;
|
||||
+ register int i;
|
||||
uint32_t crc = 0xffffffff;
|
||||
|
||||
for (i = 0; i < len; i++)
|
||||
--
|
||||
2.29.2
|
||||
|
@ -1,157 +0,0 @@
|
||||
From be13de0679d1707eadaf5349ab904a07fa83bb13 Mon Sep 17 00:00:00 2001
|
||||
From: phunkyfish <phunkyfish@gmail.com>
|
||||
Date: Wed, 7 Oct 2020 17:34:56 +0100
|
||||
Subject: [PATCH] Remove p8 os includes
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
src/Socket.cpp | 1 -
|
||||
src/lib/tsreader/FileReader.h | 1 -
|
||||
src/lib/tsreader/MemorySink.cpp | 1 -
|
||||
src/lib/tsreader/Section.cpp | 2 ++
|
||||
src/os-dependent.h | 40 ++++++++++++++++++---------------
|
||||
src/timers.cpp | 1 -
|
||||
src/windows/FileUtils.cpp | 6 ++++-
|
||||
7 files changed, 29 insertions(+), 23 deletions(-)
|
||||
|
||||
diff --git a/src/Socket.cpp b/src/Socket.cpp
|
||||
index 12f7e80..b7dd250 100644
|
||||
--- a/src/Socket.cpp
|
||||
+++ b/src/Socket.cpp
|
||||
@@ -7,7 +7,6 @@
|
||||
|
||||
#include "utils.h"
|
||||
#include <string>
|
||||
-#include "p8-platform/os.h"
|
||||
#include "Socket.h"
|
||||
|
||||
#include <kodi/General.h>
|
||||
diff --git a/src/lib/tsreader/FileReader.h b/src/lib/tsreader/FileReader.h
|
||||
index 986bbc4..edb01f2 100644
|
||||
--- a/src/lib/tsreader/FileReader.h
|
||||
+++ b/src/lib/tsreader/FileReader.h
|
||||
@@ -33,7 +33,6 @@
|
||||
* http://forums.dvbowners.com/
|
||||
*/
|
||||
|
||||
-#include "p8-platform/os.h" // for __stat
|
||||
#include <string>
|
||||
#include <kodi/Filesystem.h>
|
||||
|
||||
diff --git a/src/lib/tsreader/MemorySink.cpp b/src/lib/tsreader/MemorySink.cpp
|
||||
index 2d60696..dafef56 100644
|
||||
--- a/src/lib/tsreader/MemorySink.cpp
|
||||
+++ b/src/lib/tsreader/MemorySink.cpp
|
||||
@@ -29,7 +29,6 @@
|
||||
|
||||
#if defined LIVE555
|
||||
|
||||
-#include "p8-platform/os.h"
|
||||
#include "MemorySink.h"
|
||||
#include "GroupsockHelper.hh"
|
||||
#include <kodi/General.h> //for kodi::Log
|
||||
diff --git a/src/lib/tsreader/Section.cpp b/src/lib/tsreader/Section.cpp
|
||||
index 258c6a9..aac6b53 100644
|
||||
--- a/src/lib/tsreader/Section.cpp
|
||||
+++ b/src/lib/tsreader/Section.cpp
|
||||
@@ -22,6 +22,8 @@
|
||||
#include "os-dependent.h"
|
||||
#include "Section.h"
|
||||
|
||||
+#include <cstring>
|
||||
+
|
||||
namespace MPTV
|
||||
{
|
||||
CSection::CSection(void)
|
||||
diff --git a/src/os-dependent.h b/src/os-dependent.h
|
||||
index 1f368ea..cdc6980 100644
|
||||
--- a/src/os-dependent.h
|
||||
+++ b/src/os-dependent.h
|
||||
@@ -7,29 +7,33 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
-#include "p8-platform/os.h"
|
||||
+#include <cstdint>
|
||||
|
||||
-#ifdef TARGET_LINUX
|
||||
-// Retrieve the number of milliseconds that have elapsed since the system was started
|
||||
-#include <time.h>
|
||||
-inline unsigned long long GetTickCount64(void)
|
||||
-{
|
||||
- struct timespec ts;
|
||||
- if(clock_gettime(CLOCK_MONOTONIC, &ts) != 0)
|
||||
- {
|
||||
- return 0;
|
||||
- }
|
||||
- return (unsigned long long)( (ts.tv_sec * 1000) + (ts.tv_nsec / 1000000) );
|
||||
-};
|
||||
-#elif defined(TARGET_DARWIN)
|
||||
-#include <time.h>
|
||||
+#if (defined(_WIN32) || defined(_WIN64))
|
||||
+
|
||||
+#ifndef _SSIZE_T_DEFINED
|
||||
+#ifdef _WIN64
|
||||
+typedef __int64 ssize_t;
|
||||
+#else
|
||||
+typedef _W64 int ssize_t;
|
||||
+#endif
|
||||
+#define _SSIZE_T_DEFINED
|
||||
+#endif
|
||||
+
|
||||
+#else
|
||||
+
|
||||
+#if (defined(TARGET_LINUX) || defined(TARGET_DARWIN))
|
||||
+#include <sys/types.h>
|
||||
+#include <chrono>
|
||||
+#include <cstring>
|
||||
inline unsigned long long GetTickCount64(void)
|
||||
{
|
||||
- struct timeval tv;
|
||||
- gettimeofday(&tv, NULL);
|
||||
- return (unsigned long long)( (tv.tv_sec * 1000) + (tv.tv_usec / 1000) );
|
||||
+ auto now = std::chrono::steady_clock::now();
|
||||
+ return std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()).count();
|
||||
};
|
||||
#endif /* TARGET_LINUX || TARGET_DARWIN */
|
||||
|
||||
+#endif
|
||||
+
|
||||
// Additional typedefs
|
||||
typedef uint8_t byte;
|
||||
diff --git a/src/timers.cpp b/src/timers.cpp
|
||||
index a8760e4..a60b4c2 100644
|
||||
--- a/src/timers.cpp
|
||||
+++ b/src/timers.cpp
|
||||
@@ -11,7 +11,6 @@
|
||||
|
||||
using namespace std;
|
||||
|
||||
-#include "p8-platform/os.h" //needed for snprintf
|
||||
#include "timers.h"
|
||||
#include "settings.h"
|
||||
#include "utils.h"
|
||||
diff --git a/src/windows/FileUtils.cpp b/src/windows/FileUtils.cpp
|
||||
index 0d26bc6..0c8a03e 100644
|
||||
--- a/src/windows/FileUtils.cpp
|
||||
+++ b/src/windows/FileUtils.cpp
|
||||
@@ -6,7 +6,6 @@
|
||||
*/
|
||||
|
||||
#include "../FileUtils.h"
|
||||
-#include "p8-platform/os.h"
|
||||
#include "p8-platform/windows/CharsetConverter.h"
|
||||
#include <string>
|
||||
#include "../utils.h"
|
||||
@@ -14,6 +13,11 @@
|
||||
#include <Shlobj.h>
|
||||
#endif
|
||||
|
||||
+#ifdef TARGET_WINDOWS
|
||||
+#include <windows.h>
|
||||
+#include <fileapi.h>
|
||||
+#endif
|
||||
+
|
||||
namespace OS
|
||||
{
|
||||
bool CFile::Exists(const std::string& strFileName, long* errCode)
|
@ -1,124 +0,0 @@
|
||||
From 621a98436875f8b4ceea18218a23025e0b59aeb3 Mon Sep 17 00:00:00 2001
|
||||
From: phunkyfish <phunkyfish@gmail.com>
|
||||
Date: Wed, 7 Oct 2020 17:46:14 +0100
|
||||
Subject: [PATCH] Use kodi StringUtils
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
src/GUIDialogRecordSettings.cpp | 6 +++---
|
||||
src/lib/tsreader/TSReader.cpp | 10 +++++-----
|
||||
src/pvrclient-mediaportal.cpp | 3 ++-
|
||||
src/utils.cpp | 3 ++-
|
||||
4 files changed, 12 insertions(+), 10 deletions(-)
|
||||
|
||||
diff --git a/src/GUIDialogRecordSettings.cpp b/src/GUIDialogRecordSettings.cpp
|
||||
index cf36d82..8e942d2 100644
|
||||
--- a/src/GUIDialogRecordSettings.cpp
|
||||
+++ b/src/GUIDialogRecordSettings.cpp
|
||||
@@ -9,9 +9,9 @@
|
||||
#include "timers.h"
|
||||
#include "utils.h"
|
||||
#include "DateTime.h"
|
||||
-#include "p8-platform/util/StringUtils.h"
|
||||
|
||||
#include <kodi/General.h>
|
||||
+#include <kodi/tools/StringUtils.h>
|
||||
|
||||
/* Dialog item identifiers */
|
||||
#define BUTTON_OK 1
|
||||
@@ -106,7 +106,7 @@ bool CGUIDialogRecordSettings::OnInit()
|
||||
|
||||
// Populate PreRecord spin control
|
||||
std::string marginStart;
|
||||
- marginStart = StringUtils::Format("%d (%s)", m_timerinfo.GetMarginStart(), kodi::GetLocalizedString(30136).c_str());
|
||||
+ marginStart = kodi::tools::StringUtils::Format("%d (%s)", m_timerinfo.GetMarginStart(), kodi::GetLocalizedString(30136).c_str());
|
||||
m_spinPreRecord->SetType(kodi::gui::controls::ADDON_SPIN_CONTROL_TYPE_TEXT);
|
||||
m_spinPreRecord->AddLabel(kodi::GetLocalizedString(30135), -1);
|
||||
m_spinPreRecord->AddLabel(marginStart, m_timerinfo.GetMarginStart()); //value from XBMC
|
||||
@@ -120,7 +120,7 @@ bool CGUIDialogRecordSettings::OnInit()
|
||||
|
||||
// Populate PostRecord spin control
|
||||
std::string marginEnd;
|
||||
- marginEnd = StringUtils::Format("%d (%s)", m_timerinfo.GetMarginEnd(), kodi::GetLocalizedString(30136).c_str());
|
||||
+ marginEnd = kodi::tools::StringUtils::Format("%d (%s)", m_timerinfo.GetMarginEnd(), kodi::GetLocalizedString(30136).c_str());
|
||||
m_spinPostRecord->SetType(kodi::gui::controls::ADDON_SPIN_CONTROL_TYPE_TEXT);
|
||||
m_spinPostRecord->AddLabel(kodi::GetLocalizedString(30135), -1);
|
||||
m_spinPostRecord->AddLabel(marginEnd, m_timerinfo.GetMarginEnd()); //value from XBMC
|
||||
diff --git a/src/lib/tsreader/TSReader.cpp b/src/lib/tsreader/TSReader.cpp
|
||||
index 1129c8e..3f9725b 100644
|
||||
--- a/src/lib/tsreader/TSReader.cpp
|
||||
+++ b/src/lib/tsreader/TSReader.cpp
|
||||
@@ -34,7 +34,7 @@
|
||||
#include "utils.h"
|
||||
#include "TSDebug.h"
|
||||
#include "p8-platform/util/timeutils.h"
|
||||
-#include "p8-platform/util/StringUtils.h"
|
||||
+#include <kodi/tools/StringUtils.h>
|
||||
#ifdef LIVE555
|
||||
#include "MemoryReader.h"
|
||||
#include "MepoRTSPClient.h"
|
||||
@@ -104,7 +104,7 @@ namespace MPTV
|
||||
{
|
||||
if (!tscard.TimeshiftFolderUNC.empty())
|
||||
{
|
||||
- StringUtils::Replace(sFileName, tscard.TimeshiftFolder.c_str(), tscard.TimeshiftFolderUNC.c_str());
|
||||
+ kodi::tools::StringUtils::Replace(sFileName, tscard.TimeshiftFolder.c_str(), tscard.TimeshiftFolderUNC.c_str());
|
||||
bFound = true;
|
||||
}
|
||||
else
|
||||
@@ -129,7 +129,7 @@ namespace MPTV
|
||||
if (!it->RecordingFolderUNC.empty())
|
||||
{
|
||||
// Remove the original base path and replace it with the given path
|
||||
- StringUtils::Replace(sFileName, it->RecordingFolder.c_str(), it->RecordingFolderUNC.c_str());
|
||||
+ kodi::tools::StringUtils::Replace(sFileName, it->RecordingFolder.c_str(), it->RecordingFolderUNC.c_str());
|
||||
bFound = true;
|
||||
break;
|
||||
}
|
||||
@@ -412,8 +412,8 @@ namespace MPTV
|
||||
if (tmp.find("smb://") != string::npos)
|
||||
{
|
||||
// Convert XBMC smb share name back to a real windows network share...
|
||||
- StringUtils::Replace(tmp, "smb://", "\\\\");
|
||||
- StringUtils::Replace(tmp, "/", "\\");
|
||||
+ kodi::tools::StringUtils::Replace(tmp, "smb://", "\\\\");
|
||||
+ kodi::tools::StringUtils::Replace(tmp, "/", "\\");
|
||||
}
|
||||
#else
|
||||
//TODO: do something useful...
|
||||
diff --git a/src/pvrclient-mediaportal.cpp b/src/pvrclient-mediaportal.cpp
|
||||
index 93ca1bc..fdb31e7 100644
|
||||
--- a/src/pvrclient-mediaportal.cpp
|
||||
+++ b/src/pvrclient-mediaportal.cpp
|
||||
@@ -11,7 +11,7 @@
|
||||
#include <clocale>
|
||||
|
||||
#include "p8-platform/util/timeutils.h"
|
||||
-#include "p8-platform/util/StringUtils.h"
|
||||
+#include <kodi/tools/StringUtils.h>
|
||||
|
||||
#include "timers.h"
|
||||
#include "channels.h"
|
||||
@@ -29,6 +29,7 @@
|
||||
#include <kodi/General.h>
|
||||
#include <kodi/Filesystem.h>
|
||||
|
||||
+using namespace kodi::tools;
|
||||
using namespace std;
|
||||
using namespace MPTV;
|
||||
|
||||
diff --git a/src/utils.cpp b/src/utils.cpp
|
||||
index 63c823a..9b8def8 100644
|
||||
--- a/src/utils.cpp
|
||||
+++ b/src/utils.cpp
|
||||
@@ -13,8 +13,9 @@
|
||||
#include "settings.h"
|
||||
#include <string>
|
||||
#include <stdio.h>
|
||||
-#include "p8-platform/util/StringUtils.h"
|
||||
+#include <kodi/tools/StringUtils.h>
|
||||
|
||||
+using namespace kodi::tools;
|
||||
using namespace std;
|
||||
|
||||
void Tokenize(const string& str, vector<string>& tokens, const string& delimiters = " ")
|
@ -1,289 +0,0 @@
|
||||
From 00d0d90fdac9257ed02e24677ba4f008f2486c94 Mon Sep 17 00:00:00 2001
|
||||
From: phunkyfish <phunkyfish@gmail.com>
|
||||
Date: Wed, 7 Oct 2020 18:00:57 +0100
|
||||
Subject: [PATCH] Remove SAFE_DELETE
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
src/lib/tsreader/FileReader.cpp | 9 ++++++++-
|
||||
src/lib/tsreader/MemoryBuffer.cpp | 22 +++++++++++++---------
|
||||
src/lib/tsreader/MultiFileReader.cpp | 11 ++++++++++-
|
||||
src/lib/tsreader/TSReader.cpp | 25 +++++++++++++++++--------
|
||||
src/pvrclient-mediaportal.cpp | 27 ++++++++++++++++++---------
|
||||
src/utils.h | 2 --
|
||||
6 files changed, 66 insertions(+), 30 deletions(-)
|
||||
|
||||
diff --git a/src/lib/tsreader/FileReader.cpp b/src/lib/tsreader/FileReader.cpp
|
||||
index ac8725c..3df22f2 100644
|
||||
--- a/src/lib/tsreader/FileReader.cpp
|
||||
+++ b/src/lib/tsreader/FileReader.cpp
|
||||
@@ -38,7 +38,6 @@
|
||||
#include "p8-platform/threads/threads.h"
|
||||
#include <algorithm> //std::min, std::max
|
||||
#include "p8-platform/util/timeutils.h" // for usleep
|
||||
-#include "p8-platform/util/util.h"
|
||||
#include "utils.h"
|
||||
#include <errno.h>
|
||||
|
||||
@@ -58,6 +57,14 @@
|
||||
/* calcuate bitrate for file while reading */
|
||||
#define READ_BITRATE 0x10
|
||||
|
||||
+template<typename T> void SafeDelete(T*& p)
|
||||
+{
|
||||
+ if (p)
|
||||
+ {
|
||||
+ delete p;
|
||||
+ p = nullptr;
|
||||
+ }
|
||||
+}
|
||||
namespace MPTV
|
||||
{
|
||||
FileReader::FileReader() :
|
||||
diff --git a/src/lib/tsreader/MemoryBuffer.cpp b/src/lib/tsreader/MemoryBuffer.cpp
|
||||
index 6d411d7..609b575 100644
|
||||
--- a/src/lib/tsreader/MemoryBuffer.cpp
|
||||
+++ b/src/lib/tsreader/MemoryBuffer.cpp
|
||||
@@ -31,7 +31,6 @@
|
||||
|
||||
#include "p8-platform/util/timeutils.h"
|
||||
#include "p8-platform/threads/mutex.h"
|
||||
-#include "p8-platform/util/util.h"
|
||||
#include "MemoryBuffer.h"
|
||||
#include <kodi/General.h> //for kodi::Log
|
||||
#include "TSDebug.h"
|
||||
@@ -59,11 +58,14 @@ void CMemoryBuffer::Clear()
|
||||
P8PLATFORM::CLockObject BufferLock(m_BufferLock);
|
||||
std::vector<BufferItem *>::iterator it = m_Array.begin();
|
||||
|
||||
- for ( ; it != m_Array.end(); ++it )
|
||||
+ for (auto& item : m_Array)
|
||||
{
|
||||
- BufferItem *item = *it;
|
||||
- SAFE_DELETE_ARRAY(item->data);
|
||||
- SAFE_DELETE(item);
|
||||
+ if (item)
|
||||
+ {
|
||||
+ if (item->data)
|
||||
+ delete[] item->data;
|
||||
+ delete item;
|
||||
+ }
|
||||
}
|
||||
|
||||
m_Array.clear();
|
||||
@@ -150,8 +152,9 @@ size_t CMemoryBuffer::ReadFromBuffer(unsigned char *pbData, size_t lDataLength)
|
||||
if (item->nOffset >= item->nDataLength)
|
||||
{
|
||||
m_Array.erase(m_Array.begin());
|
||||
- SAFE_DELETE_ARRAY(item->data);
|
||||
- SAFE_DELETE(item);
|
||||
+ if (item->data)
|
||||
+ delete[] item->data;
|
||||
+ delete item;
|
||||
}
|
||||
}
|
||||
return bytesWritten;
|
||||
@@ -182,8 +185,9 @@ long CMemoryBuffer::PutBuffer(unsigned char *pbData, size_t lDataLength)
|
||||
|
||||
m_BytesInBuffer -= copyLength;
|
||||
m_Array.erase(m_Array.begin());
|
||||
- SAFE_DELETE_ARRAY(item2->data);
|
||||
- SAFE_DELETE(item2);
|
||||
+ if (item2->data)
|
||||
+ delete[] item2->data;
|
||||
+ delete item2;
|
||||
}
|
||||
if (m_BytesInBuffer > 0)
|
||||
{
|
||||
diff --git a/src/lib/tsreader/MultiFileReader.cpp b/src/lib/tsreader/MultiFileReader.cpp
|
||||
index b8005b3..3828e06 100644
|
||||
--- a/src/lib/tsreader/MultiFileReader.cpp
|
||||
+++ b/src/lib/tsreader/MultiFileReader.cpp
|
||||
@@ -48,6 +48,15 @@ using namespace P8PLATFORM;
|
||||
//Maximum time in msec to wait for the buffer file to become available - Needed for DVB radio (this sometimes takes some time)
|
||||
#define MAX_BUFFER_TIMEOUT 1500
|
||||
|
||||
+template<typename T> void SafeDelete(T*& p)
|
||||
+{
|
||||
+ if (p)
|
||||
+ {
|
||||
+ delete p;
|
||||
+ p = nullptr;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
namespace MPTV
|
||||
{
|
||||
MultiFileReader::MultiFileReader() :
|
||||
@@ -484,7 +493,7 @@ namespace MPTV
|
||||
|
||||
TSDEBUG(ADDON_LOG_DEBUG, "MultiFileReader: Removing file %s\n", file->filename.c_str());
|
||||
|
||||
- SAFE_DELETE(file);
|
||||
+ SafeDelete(file);
|
||||
m_tsFiles.erase(m_tsFiles.begin());
|
||||
|
||||
filesToRemove--;
|
||||
diff --git a/src/lib/tsreader/TSReader.cpp b/src/lib/tsreader/TSReader.cpp
|
||||
index 3f9725b..4a72f4f 100644
|
||||
--- a/src/lib/tsreader/TSReader.cpp
|
||||
+++ b/src/lib/tsreader/TSReader.cpp
|
||||
@@ -44,6 +44,15 @@
|
||||
|
||||
using namespace std;
|
||||
|
||||
+template<typename T> void SafeDelete(T*& p)
|
||||
+{
|
||||
+ if (p)
|
||||
+ {
|
||||
+ delete p;
|
||||
+ p = nullptr;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
namespace MPTV
|
||||
{
|
||||
CTsReader::CTsReader() : m_demultiplexer(*this),
|
||||
@@ -69,10 +78,10 @@ namespace MPTV
|
||||
|
||||
CTsReader::~CTsReader(void)
|
||||
{
|
||||
- SAFE_DELETE(m_fileReader);
|
||||
+ SafeDelete(m_fileReader);
|
||||
#ifdef LIVE555
|
||||
- SAFE_DELETE(m_buffer);
|
||||
- SAFE_DELETE(m_rtspClient);
|
||||
+ SafeDelete(m_buffer);
|
||||
+ SafeDelete(m_rtspClient);
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -225,8 +234,8 @@ namespace MPTV
|
||||
|
||||
if ( !m_rtspClient->OpenStream(m_fileName.c_str()) )
|
||||
{
|
||||
- SAFE_DELETE(m_rtspClient);
|
||||
- SAFE_DELETE(m_buffer);
|
||||
+ SafeDelete(m_rtspClient);
|
||||
+ SafeDelete(m_buffer);
|
||||
return E_FAIL;
|
||||
}
|
||||
|
||||
@@ -318,8 +327,8 @@ namespace MPTV
|
||||
#ifdef LIVE555
|
||||
kodi::Log(ADDON_LOG_INFO, "TsReader: closing RTSP client");
|
||||
m_rtspClient->Stop();
|
||||
- SAFE_DELETE(m_rtspClient);
|
||||
- SAFE_DELETE(m_buffer);
|
||||
+ SafeDelete(m_rtspClient);
|
||||
+ SafeDelete(m_buffer);
|
||||
#endif
|
||||
}
|
||||
else
|
||||
@@ -327,7 +336,7 @@ namespace MPTV
|
||||
kodi::Log(ADDON_LOG_INFO, "TsReader: closing file");
|
||||
m_fileReader->CloseFile();
|
||||
}
|
||||
- SAFE_DELETE(m_fileReader);
|
||||
+ SafeDelete(m_fileReader);
|
||||
m_State = State_Stopped;
|
||||
}
|
||||
}
|
||||
diff --git a/src/pvrclient-mediaportal.cpp b/src/pvrclient-mediaportal.cpp
|
||||
index fdb31e7..5479950 100644
|
||||
--- a/src/pvrclient-mediaportal.cpp
|
||||
+++ b/src/pvrclient-mediaportal.cpp
|
||||
@@ -42,6 +42,15 @@ int g_iTVServerKodiBuild = 0;
|
||||
#define TVSERVERKODI_RECOMMENDED_VERSION_STRING "1.2.3.122 till 1.20.0.140"
|
||||
#define TVSERVERKODI_RECOMMENDED_VERSION_BUILD 140
|
||||
|
||||
+template<typename T> void SafeDelete(T*& p)
|
||||
+{
|
||||
+ if (p)
|
||||
+ {
|
||||
+ delete p;
|
||||
+ p = nullptr;
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
/************************************************************/
|
||||
/** Class interface */
|
||||
|
||||
@@ -75,10 +84,10 @@ cPVRClientMediaPortal::~cPVRClientMediaPortal()
|
||||
kodi::Log(ADDON_LOG_DEBUG, "->~cPVRClientMediaPortal()");
|
||||
Disconnect();
|
||||
|
||||
- SAFE_DELETE(Timer::lifetimeValues);
|
||||
- SAFE_DELETE(m_tcpclient);
|
||||
- SAFE_DELETE(m_genretable);
|
||||
- SAFE_DELETE(m_lastSelectedRecording);
|
||||
+ SafeDelete(Timer::lifetimeValues);
|
||||
+ SafeDelete(m_tcpclient);
|
||||
+ SafeDelete(m_genretable);
|
||||
+ SafeDelete(m_lastSelectedRecording);
|
||||
}
|
||||
|
||||
string cPVRClientMediaPortal::SendCommand(const char* command)
|
||||
@@ -321,7 +330,7 @@ void cPVRClientMediaPortal::Disconnect()
|
||||
if ((CSettings::Get().GetStreamingMethod()==TSReader) && (m_tsreader != NULL))
|
||||
{
|
||||
m_tsreader->Close();
|
||||
- SAFE_DELETE(m_tsreader);
|
||||
+ SafeDelete(m_tsreader);
|
||||
}
|
||||
SendCommand("StopTimeshift:\n");
|
||||
}
|
||||
@@ -1748,7 +1757,7 @@ bool cPVRClientMediaPortal::OpenLiveStream(const kodi::addon::PVRChannel& channe
|
||||
m_iCurrentChannel = -1;
|
||||
if (m_tsreader != nullptr)
|
||||
{
|
||||
- SAFE_DELETE(m_tsreader);
|
||||
+ SafeDelete(m_tsreader);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
@@ -1959,7 +1968,7 @@ void cPVRClientMediaPortal::CloseLiveStream(void)
|
||||
if (CSettings::Get().GetStreamingMethod() == TSReader && m_tsreader)
|
||||
{
|
||||
m_tsreader->Close();
|
||||
- SAFE_DELETE(m_tsreader);
|
||||
+ SafeDelete(m_tsreader);
|
||||
}
|
||||
result = SendCommand("StopTimeshift:\n");
|
||||
kodi::Log(ADDON_LOG_INFO, "CloseLiveStream: %s", result.c_str());
|
||||
@@ -2141,7 +2150,7 @@ void cPVRClientMediaPortal::CloseRecordedStream(void)
|
||||
{
|
||||
kodi::Log(ADDON_LOG_INFO, "CloseRecordedStream: Stop TSReader...");
|
||||
m_tsreader->Close();
|
||||
- SAFE_DELETE(m_tsreader);
|
||||
+ SafeDelete(m_tsreader);
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -2409,7 +2418,7 @@ cRecording* cPVRClientMediaPortal::GetRecordingInfo(const kodi::addon::PVRRecord
|
||||
{
|
||||
return m_lastSelectedRecording;
|
||||
}
|
||||
- SAFE_DELETE(m_lastSelectedRecording);
|
||||
+ SafeDelete(m_lastSelectedRecording);
|
||||
}
|
||||
|
||||
if (!IsUp())
|
||||
diff --git a/src/utils.h b/src/utils.h
|
||||
index 823b46e..d03569a 100644
|
||||
--- a/src/utils.h
|
||||
+++ b/src/utils.h
|
||||
@@ -11,13 +11,11 @@
|
||||
#include <vector>
|
||||
#include <ctime>
|
||||
#include "uri.h"
|
||||
-#include "p8-platform/util/util.h"
|
||||
|
||||
#ifdef TARGET_WINDOWS
|
||||
#include "windows/WindowsUtils.h"
|
||||
#endif
|
||||
|
||||
-
|
||||
/**
|
||||
* String tokenize
|
||||
* Split string using the given delimiter into a vector of substrings
|
@ -1,308 +0,0 @@
|
||||
From 4b4a16157870d5816339700616f1efdb60fb59e3 Mon Sep 17 00:00:00 2001
|
||||
From: phunkyfish <phunkyfish@gmail.com>
|
||||
Date: Wed, 7 Oct 2020 18:12:10 +0100
|
||||
Subject: [PATCH] Use thread sleep_for instead of p8 time utils
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
src/lib/tsreader/DeMultiplexer.cpp | 6 ++++--
|
||||
src/lib/tsreader/FileReader.cpp | 5 +++--
|
||||
src/lib/tsreader/MemoryBuffer.cpp | 5 +++--
|
||||
src/lib/tsreader/MepoRTSPClient.cpp | 5 +++--
|
||||
src/lib/tsreader/MultiFileReader.cpp | 9 +++++----
|
||||
src/lib/tsreader/TSReader.cpp | 5 +++--
|
||||
src/pvrclient-mediaportal.cpp | 23 +++++++++++++----------
|
||||
7 files changed, 34 insertions(+), 24 deletions(-)
|
||||
|
||||
diff --git a/src/lib/tsreader/DeMultiplexer.cpp b/src/lib/tsreader/DeMultiplexer.cpp
|
||||
index 63bf20e..436e452 100644
|
||||
--- a/src/lib/tsreader/DeMultiplexer.cpp
|
||||
+++ b/src/lib/tsreader/DeMultiplexer.cpp
|
||||
@@ -37,6 +37,8 @@
|
||||
#include <kodi/General.h> //for kodi::Log
|
||||
#include "TSReader.h"
|
||||
|
||||
+#include <thread>
|
||||
+
|
||||
#define MAX_BUF_SIZE 8000
|
||||
#define BUFFER_LENGTH 0x1000
|
||||
#define READ_SIZE (1316*30)
|
||||
@@ -83,7 +85,7 @@ namespace MPTV
|
||||
{
|
||||
size_t BytesRead = ReadFromFile();
|
||||
if (0 == BytesRead)
|
||||
- usleep(10000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||
}
|
||||
m_bStarting = false;
|
||||
}
|
||||
@@ -248,7 +250,7 @@ namespace MPTV
|
||||
{
|
||||
size_t BytesRead = ReadFromFile();
|
||||
if (0 == BytesRead)
|
||||
- usleep(10000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||
dwBytesProcessed += BytesRead;
|
||||
}
|
||||
|
||||
diff --git a/src/lib/tsreader/FileReader.cpp b/src/lib/tsreader/FileReader.cpp
|
||||
index 3df22f2..73b23af 100644
|
||||
--- a/src/lib/tsreader/FileReader.cpp
|
||||
+++ b/src/lib/tsreader/FileReader.cpp
|
||||
@@ -37,10 +37,10 @@
|
||||
#include "TSDebug.h"
|
||||
#include "p8-platform/threads/threads.h"
|
||||
#include <algorithm> //std::min, std::max
|
||||
-#include "p8-platform/util/timeutils.h" // for usleep
|
||||
#include "utils.h"
|
||||
#include <errno.h>
|
||||
|
||||
+#include <thread>
|
||||
|
||||
/* indicate that caller can handle truncated reads, where function returns before entire buffer has been filled */
|
||||
#define READ_TRUNCATED 0x01
|
||||
@@ -145,7 +145,8 @@ namespace MPTV
|
||||
}
|
||||
}
|
||||
}
|
||||
- usleep(20000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(20));
|
||||
+
|
||||
} while (--Tmo);
|
||||
|
||||
if (Tmo)
|
||||
diff --git a/src/lib/tsreader/MemoryBuffer.cpp b/src/lib/tsreader/MemoryBuffer.cpp
|
||||
index 609b575..0e736f2 100644
|
||||
--- a/src/lib/tsreader/MemoryBuffer.cpp
|
||||
+++ b/src/lib/tsreader/MemoryBuffer.cpp
|
||||
@@ -29,12 +29,13 @@
|
||||
|
||||
#ifdef LIVE555
|
||||
|
||||
-#include "p8-platform/util/timeutils.h"
|
||||
#include "p8-platform/threads/mutex.h"
|
||||
#include "MemoryBuffer.h"
|
||||
#include <kodi/General.h> //for kodi::Log
|
||||
#include "TSDebug.h"
|
||||
|
||||
+#include <thread>
|
||||
+
|
||||
#define MAX_MEMORY_BUFFER_SIZE (1024L*1024L*12L)
|
||||
|
||||
CMemoryBuffer::CMemoryBuffer(void)
|
||||
@@ -197,7 +198,7 @@ long CMemoryBuffer::PutBuffer(unsigned char *pbData, size_t lDataLength)
|
||||
|
||||
if (sleep)
|
||||
{
|
||||
- usleep(10000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||
}
|
||||
return S_OK;
|
||||
}
|
||||
diff --git a/src/lib/tsreader/MepoRTSPClient.cpp b/src/lib/tsreader/MepoRTSPClient.cpp
|
||||
index 4971986..ccd6761 100644
|
||||
--- a/src/lib/tsreader/MepoRTSPClient.cpp
|
||||
+++ b/src/lib/tsreader/MepoRTSPClient.cpp
|
||||
@@ -18,13 +18,14 @@
|
||||
|
||||
#if defined LIVE555
|
||||
|
||||
-#include "p8-platform/util/timeutils.h"
|
||||
#include "MepoRTSPClient.h"
|
||||
#include "MemorySink.h"
|
||||
#include <kodi/General.h> //for kodi::Log
|
||||
#include "utils.h"
|
||||
#include "os-dependent.h"
|
||||
|
||||
+#include <thread>
|
||||
+
|
||||
CRTSPClient::CRTSPClient()
|
||||
{
|
||||
kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient::CRTSPClient()");
|
||||
@@ -531,7 +532,7 @@ void CRTSPClient::FillBuffer(unsigned long byteCount)
|
||||
|
||||
while ( IsRunning() && m_buffer->Size() < byteCount)
|
||||
{
|
||||
- usleep(5000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(5));
|
||||
if (GetTickCount64() - tickCount > 3000)
|
||||
break;
|
||||
}
|
||||
diff --git a/src/lib/tsreader/MultiFileReader.cpp b/src/lib/tsreader/MultiFileReader.cpp
|
||||
index 3828e06..21fd7b2 100644
|
||||
--- a/src/lib/tsreader/MultiFileReader.cpp
|
||||
+++ b/src/lib/tsreader/MultiFileReader.cpp
|
||||
@@ -39,10 +39,11 @@
|
||||
#include <string>
|
||||
#include "utils.h"
|
||||
#include <algorithm>
|
||||
-#include "p8-platform/util/timeutils.h"
|
||||
#include "p8-platform/threads/threads.h"
|
||||
#include <inttypes.h>
|
||||
|
||||
+#include <thread>
|
||||
+
|
||||
using namespace P8PLATFORM;
|
||||
|
||||
//Maximum time in msec to wait for the buffer file to become available - Needed for DVB radio (this sometimes takes some time)
|
||||
@@ -112,7 +113,7 @@ namespace MPTV
|
||||
retryCount++;
|
||||
kodi::Log(ADDON_LOG_DEBUG, "MultiFileReader: buffer file has zero length, closing, waiting 100 ms and re-opening. Attempt: %d.", retryCount);
|
||||
m_TSBufferFile.CloseFile();
|
||||
- usleep(100000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||
hResult = m_TSBufferFile.OpenFile();
|
||||
kodi::Log(ADDON_LOG_DEBUG, "MultiFileReader: buffer file opened return code %d.", hResult);
|
||||
}
|
||||
@@ -124,7 +125,7 @@ namespace MPTV
|
||||
|
||||
do
|
||||
{
|
||||
- usleep(100000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||
if (timeout.TimeLeft() == 0)
|
||||
{
|
||||
kodi::Log(ADDON_LOG_ERROR, "MultiFileReader: timed out while waiting for buffer file to become available");
|
||||
@@ -457,7 +458,7 @@ namespace MPTV
|
||||
// try to clear local / remote SMB file cache. This should happen when we close the filehandle
|
||||
m_TSBufferFile.CloseFile();
|
||||
m_TSBufferFile.OpenFile();
|
||||
- usleep(5000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(5));
|
||||
}
|
||||
|
||||
if (Error)
|
||||
diff --git a/src/lib/tsreader/TSReader.cpp b/src/lib/tsreader/TSReader.cpp
|
||||
index 4a72f4f..40a4faf 100644
|
||||
--- a/src/lib/tsreader/TSReader.cpp
|
||||
+++ b/src/lib/tsreader/TSReader.cpp
|
||||
@@ -33,7 +33,6 @@
|
||||
#include "MultiFileReader.h"
|
||||
#include "utils.h"
|
||||
#include "TSDebug.h"
|
||||
-#include "p8-platform/util/timeutils.h"
|
||||
#include <kodi/tools/StringUtils.h>
|
||||
#ifdef LIVE555
|
||||
#include "MemoryReader.h"
|
||||
@@ -42,6 +41,8 @@
|
||||
#endif
|
||||
#include "FileUtils.h"
|
||||
|
||||
+#include <thread>
|
||||
+
|
||||
using namespace std;
|
||||
|
||||
template<typename T> void SafeDelete(T*& p)
|
||||
@@ -396,7 +397,7 @@ namespace MPTV
|
||||
fileReader->OnChannelChange();
|
||||
|
||||
kodi::Log(ADDON_LOG_DEBUG, "%s:: move from %I64d to %I64d tsbufpos %I64d", __FUNCTION__, pos_before, pos_after, timeShiftBufferPos);
|
||||
- usleep(100000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||
|
||||
// Set the stream start times to this new channel
|
||||
time(&m_startTime);
|
||||
diff --git a/src/pvrclient-mediaportal.cpp b/src/pvrclient-mediaportal.cpp
|
||||
index 5479950..851b940 100644
|
||||
--- a/src/pvrclient-mediaportal.cpp
|
||||
+++ b/src/pvrclient-mediaportal.cpp
|
||||
@@ -10,7 +10,6 @@
|
||||
#include <stdlib.h>
|
||||
#include <clocale>
|
||||
|
||||
-#include "p8-platform/util/timeutils.h"
|
||||
#include <kodi/tools/StringUtils.h>
|
||||
|
||||
#include "timers.h"
|
||||
@@ -29,6 +28,8 @@
|
||||
#include <kodi/General.h>
|
||||
#include <kodi/Filesystem.h>
|
||||
|
||||
+#include <thread>
|
||||
+
|
||||
using namespace kodi::tools;
|
||||
using namespace std;
|
||||
using namespace MPTV;
|
||||
@@ -389,7 +390,7 @@ void* cPVRClientMediaPortal::Process(void)
|
||||
if (keepWaiting)
|
||||
{
|
||||
// Wait for 1 minute before re-trying
|
||||
- usleep(60000000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(60000));
|
||||
}
|
||||
}
|
||||
SetConnectionState(state);
|
||||
@@ -1571,7 +1572,8 @@ PVR_ERROR cPVRClientMediaPortal::AddTimer(const kodi::addon::PVRTimer& timerinfo
|
||||
if (timerinfo.GetStartTime() <= 0)
|
||||
{
|
||||
// Refresh the recordings list to see the newly created recording
|
||||
- usleep(100000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||
+
|
||||
kodi::addon::CInstancePVRClient::TriggerRecordingUpdate();
|
||||
}
|
||||
|
||||
@@ -1785,7 +1787,8 @@ bool cPVRClientMediaPortal::OpenLiveStream(const kodi::addon::PVRChannel& channe
|
||||
kodi::Log(ADDON_LOG_INFO, "Channel timeshift buffer: %s", timeshiftfields[2].c_str());
|
||||
if (channelinfo.GetIsRadio())
|
||||
{
|
||||
- usleep(100000); // 100 ms sleep to allow the buffer to fill
|
||||
+ // 100 ms sleep to allow the buffer to fill
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -1796,7 +1799,7 @@ bool cPVRClientMediaPortal::OpenLiveStream(const kodi::addon::PVRChannel& channe
|
||||
if (CSettings::Get().GetSleepOnRTSPurl() > 0)
|
||||
{
|
||||
kodi::Log(ADDON_LOG_INFO, "Sleeping %i ms before opening stream: %s", CSettings::Get().GetSleepOnRTSPurl(), timeshiftfields[0].c_str());
|
||||
- usleep(CSettings::Get().GetSleepOnRTSPurl() * 1000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(CSettings::Get().GetSleepOnRTSPurl()));
|
||||
}
|
||||
|
||||
// Check the returned stream URL. When the URL is an rtsp stream, we need
|
||||
@@ -1878,7 +1881,7 @@ bool cPVRClientMediaPortal::OpenLiveStream(const kodi::addon::PVRChannel& channe
|
||||
CloseLiveStream();
|
||||
return false;
|
||||
}
|
||||
- usleep(400000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(400));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1924,7 +1927,7 @@ int cPVRClientMediaPortal::ReadLiveStream(unsigned char *pBuffer, unsigned int i
|
||||
|
||||
if (m_tsreader->Read(bufptr, read_wanted, &read_wanted) > 0)
|
||||
{
|
||||
- usleep(20000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(20));
|
||||
read_timeouts++;
|
||||
return static_cast<int>(read_wanted);
|
||||
}
|
||||
@@ -1948,7 +1951,7 @@ int cPVRClientMediaPortal::ReadLiveStream(unsigned char *pBuffer, unsigned int i
|
||||
}
|
||||
bufptr += read_wanted;
|
||||
read_timeouts++;
|
||||
- usleep(10000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(10));
|
||||
}
|
||||
}
|
||||
read_timeouts = 0;
|
||||
@@ -2175,7 +2178,7 @@ int cPVRClientMediaPortal::ReadRecordedStream(unsigned char *pBuffer, unsigned i
|
||||
|
||||
if (m_tsreader->Read(bufptr, read_wanted, &read_wanted) > 0)
|
||||
{
|
||||
- usleep(20000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(20));
|
||||
return static_cast<int>(read_wanted);
|
||||
}
|
||||
read_done += read_wanted;
|
||||
@@ -2183,7 +2186,7 @@ int cPVRClientMediaPortal::ReadRecordedStream(unsigned char *pBuffer, unsigned i
|
||||
if ( read_done < static_cast<size_t>(iBufferSize) )
|
||||
{
|
||||
bufptr += read_wanted;
|
||||
- usleep(20000);
|
||||
+ std::this_thread::sleep_for(std::chrono::milliseconds(20));
|
||||
}
|
||||
}
|
||||
|
@ -1,673 +0,0 @@
|
||||
From 482d898333facf53bd3208cf5e44a0cf3e1f4f3b Mon Sep 17 00:00:00 2001
|
||||
From: phunkyfish <phunkyfish@gmail.com>
|
||||
Date: Thu, 8 Oct 2020 14:59:55 +0100
|
||||
Subject: [PATCH] Use std::thread, std::mutex, condition_variable instead of
|
||||
event
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
src/lib/tsreader/DeMultiplexer.cpp | 2 +-
|
||||
src/lib/tsreader/DeMultiplexer.h | 4 +-
|
||||
src/lib/tsreader/FileReader.cpp | 2 +-
|
||||
src/lib/tsreader/MemoryBuffer.cpp | 15 +++--
|
||||
src/lib/tsreader/MemoryBuffer.h | 7 +-
|
||||
src/lib/tsreader/MemoryReader.h | 1 +
|
||||
src/lib/tsreader/MemorySink.cpp | 2 +-
|
||||
src/lib/tsreader/MemorySink.h | 4 +-
|
||||
src/lib/tsreader/MepoRTSPClient.cpp | 28 ++++----
|
||||
src/lib/tsreader/MepoRTSPClient.h | 10 ++-
|
||||
src/lib/tsreader/MultiFileReader.cpp | 9 ++-
|
||||
src/os-dependent.h | 95 ++++++++++++++++++++++++++++
|
||||
src/pvrclient-mediaportal.cpp | 29 ++++-----
|
||||
src/pvrclient-mediaportal.h | 21 +++---
|
||||
14 files changed, 168 insertions(+), 61 deletions(-)
|
||||
|
||||
diff --git a/src/lib/tsreader/DeMultiplexer.cpp b/src/lib/tsreader/DeMultiplexer.cpp
|
||||
index 436e452..3d0d9a2 100644
|
||||
--- a/src/lib/tsreader/DeMultiplexer.cpp
|
||||
+++ b/src/lib/tsreader/DeMultiplexer.cpp
|
||||
@@ -104,7 +104,7 @@ namespace MPTV
|
||||
if (m_filter.IsSeeking())
|
||||
return 0; // Ambass : to check
|
||||
|
||||
- P8PLATFORM::CLockObject lock(m_sectionRead);
|
||||
+ std::lock_guard<std::mutex> lock(m_sectionRead);
|
||||
if (NULL == m_reader)
|
||||
return 0;
|
||||
|
||||
diff --git a/src/lib/tsreader/DeMultiplexer.h b/src/lib/tsreader/DeMultiplexer.h
|
||||
index c7cd577..72ed87d 100644
|
||||
--- a/src/lib/tsreader/DeMultiplexer.h
|
||||
+++ b/src/lib/tsreader/DeMultiplexer.h
|
||||
@@ -37,7 +37,7 @@
|
||||
#include "PacketSync.h"
|
||||
#include "TSHeader.h"
|
||||
#include "PatParser.h"
|
||||
-#include "p8-platform/threads/mutex.h"
|
||||
+#include <mutex>
|
||||
|
||||
namespace MPTV
|
||||
{
|
||||
@@ -60,7 +60,7 @@ namespace MPTV
|
||||
private:
|
||||
unsigned long long m_LastDataFromRtsp;
|
||||
bool m_bEndOfFile;
|
||||
- P8PLATFORM::CMutex m_sectionRead;
|
||||
+ std::mutex m_sectionRead;
|
||||
FileReader* m_reader;
|
||||
CPatParser m_patParser;
|
||||
CTsReader& m_filter;
|
||||
diff --git a/src/lib/tsreader/FileReader.cpp b/src/lib/tsreader/FileReader.cpp
|
||||
index 73b23af..358b05f 100644
|
||||
--- a/src/lib/tsreader/FileReader.cpp
|
||||
+++ b/src/lib/tsreader/FileReader.cpp
|
||||
@@ -35,7 +35,7 @@
|
||||
#include "FileReader.h"
|
||||
#include <kodi/General.h> //for kodi::Log
|
||||
#include "TSDebug.h"
|
||||
-#include "p8-platform/threads/threads.h"
|
||||
+#include "os-dependent.h"
|
||||
#include <algorithm> //std::min, std::max
|
||||
#include "utils.h"
|
||||
#include <errno.h>
|
||||
diff --git a/src/lib/tsreader/MemoryBuffer.cpp b/src/lib/tsreader/MemoryBuffer.cpp
|
||||
index 0e736f2..b5400da 100644
|
||||
--- a/src/lib/tsreader/MemoryBuffer.cpp
|
||||
+++ b/src/lib/tsreader/MemoryBuffer.cpp
|
||||
@@ -29,7 +29,7 @@
|
||||
|
||||
#ifdef LIVE555
|
||||
|
||||
-#include "p8-platform/threads/mutex.h"
|
||||
+#include "os-dependent.h"
|
||||
#include "MemoryBuffer.h"
|
||||
#include <kodi/General.h> //for kodi::Log
|
||||
#include "TSDebug.h"
|
||||
@@ -56,7 +56,7 @@ bool CMemoryBuffer::IsRunning()
|
||||
|
||||
void CMemoryBuffer::Clear()
|
||||
{
|
||||
- P8PLATFORM::CLockObject BufferLock(m_BufferLock);
|
||||
+ std::lock_guard<std::mutex> BufferLock(m_BufferLock);
|
||||
std::vector<BufferItem *>::iterator it = m_Array.begin();
|
||||
|
||||
for (auto& item : m_Array)
|
||||
@@ -104,14 +104,17 @@ size_t CMemoryBuffer::ReadFromBuffer(unsigned char *pbData, size_t lDataLength)
|
||||
{
|
||||
if (!m_bRunning)
|
||||
return 0;
|
||||
- m_event.Wait(5000);
|
||||
+
|
||||
+ std::unique_lock<std::mutex> lock(m_BufferLock);
|
||||
+ m_condition.wait_for(lock, std::chrono::milliseconds(5000));
|
||||
+
|
||||
if (!m_bRunning)
|
||||
return 0;
|
||||
}
|
||||
|
||||
// kodi::Log(ADDON_LOG_DEBUG, "get..%d/%d", lDataLength, m_BytesInBuffer);
|
||||
size_t bytesWritten = 0;
|
||||
- P8PLATFORM::CLockObject BufferLock(m_BufferLock);
|
||||
+ std::lock_guard<std::mutex> BufferLock(m_BufferLock);
|
||||
|
||||
while (bytesWritten < lDataLength)
|
||||
{
|
||||
@@ -172,7 +175,7 @@ long CMemoryBuffer::PutBuffer(unsigned char *pbData, size_t lDataLength)
|
||||
memcpy(item->data, pbData, lDataLength);
|
||||
bool sleep = false;
|
||||
{
|
||||
- P8PLATFORM::CLockObject BufferLock(m_BufferLock);
|
||||
+ std::lock_guard<std::mutex> BufferLock(m_BufferLock);
|
||||
m_Array.push_back(item);
|
||||
m_BytesInBuffer += lDataLength;
|
||||
|
||||
@@ -192,7 +195,7 @@ long CMemoryBuffer::PutBuffer(unsigned char *pbData, size_t lDataLength)
|
||||
}
|
||||
if (m_BytesInBuffer > 0)
|
||||
{
|
||||
- m_event.Broadcast();
|
||||
+ m_condition.notify_one();
|
||||
}
|
||||
}
|
||||
|
||||
diff --git a/src/lib/tsreader/MemoryBuffer.h b/src/lib/tsreader/MemoryBuffer.h
|
||||
index 080553b..4f8708f 100644
|
||||
--- a/src/lib/tsreader/MemoryBuffer.h
|
||||
+++ b/src/lib/tsreader/MemoryBuffer.h
|
||||
@@ -30,7 +30,8 @@
|
||||
|
||||
#ifdef LIVE555
|
||||
|
||||
-#include "p8-platform/threads/mutex.h"
|
||||
+#include <condition_variable>
|
||||
+#include <mutex>
|
||||
#include <vector>
|
||||
|
||||
class CMemoryBuffer
|
||||
@@ -55,9 +56,9 @@ class CMemoryBuffer
|
||||
|
||||
protected:
|
||||
std::vector<BufferItem *> m_Array;
|
||||
- P8PLATFORM::CMutex m_BufferLock;
|
||||
+ std::mutex m_BufferLock;
|
||||
size_t m_BytesInBuffer;
|
||||
- P8PLATFORM::CEvent m_event;
|
||||
+ std::condition_variable m_condition;
|
||||
bool m_bRunning;
|
||||
};
|
||||
#endif //LIVE555
|
||||
diff --git a/src/lib/tsreader/MemoryReader.h b/src/lib/tsreader/MemoryReader.h
|
||||
index fef4f98..288984b 100644
|
||||
--- a/src/lib/tsreader/MemoryReader.h
|
||||
+++ b/src/lib/tsreader/MemoryReader.h
|
||||
@@ -32,6 +32,7 @@
|
||||
|
||||
#include "FileReader.h"
|
||||
#include "MemoryBuffer.h"
|
||||
+#include "os-dependent.h"
|
||||
|
||||
namespace MPTV
|
||||
{
|
||||
diff --git a/src/lib/tsreader/MemorySink.cpp b/src/lib/tsreader/MemorySink.cpp
|
||||
index dafef56..af8b74c 100644
|
||||
--- a/src/lib/tsreader/MemorySink.cpp
|
||||
+++ b/src/lib/tsreader/MemorySink.cpp
|
||||
@@ -84,7 +84,7 @@ void CMemorySink::addData(unsigned char* data, size_t dataSize, struct timeval U
|
||||
return;
|
||||
}
|
||||
|
||||
- P8PLATFORM::CLockObject BufferLock(m_BufferLock);
|
||||
+ std::lock_guard<std::mutex> BufferLock(m_BufferLock);
|
||||
|
||||
m_bReEntrant = true;
|
||||
m_buffer.PutBuffer(data, dataSize);
|
||||
diff --git a/src/lib/tsreader/MemorySink.h b/src/lib/tsreader/MemorySink.h
|
||||
index cc0f3c8..22d91c6 100644
|
||||
--- a/src/lib/tsreader/MemorySink.h
|
||||
+++ b/src/lib/tsreader/MemorySink.h
|
||||
@@ -35,7 +35,7 @@
|
||||
#endif
|
||||
|
||||
#include "MemoryBuffer.h"
|
||||
-#include "p8-platform/threads/mutex.h"
|
||||
+#include <mutex>
|
||||
|
||||
class CMemorySink: public MediaSink
|
||||
{
|
||||
@@ -57,7 +57,7 @@ class CMemorySink: public MediaSink
|
||||
private: // redefined virtual functions:
|
||||
virtual Boolean continuePlaying();
|
||||
|
||||
- P8PLATFORM::CMutex m_BufferLock;
|
||||
+ std::mutex m_BufferLock;
|
||||
unsigned char* m_pSubmitBuffer;
|
||||
int m_iSubmitBufferPos;
|
||||
bool m_bReEntrant;
|
||||
diff --git a/src/lib/tsreader/MepoRTSPClient.cpp b/src/lib/tsreader/MepoRTSPClient.cpp
|
||||
index ccd6761..688ae84 100644
|
||||
--- a/src/lib/tsreader/MepoRTSPClient.cpp
|
||||
+++ b/src/lib/tsreader/MepoRTSPClient.cpp
|
||||
@@ -54,7 +54,7 @@ CRTSPClient::CRTSPClient()
|
||||
m_env = NULL;
|
||||
m_fDuration = 0.0f;
|
||||
m_url[0] = '\0';
|
||||
- m_bRunning = false;
|
||||
+ m_running = false;
|
||||
}
|
||||
|
||||
CRTSPClient::~CRTSPClient()
|
||||
@@ -496,7 +496,9 @@ void CRTSPClient::StartBufferThread()
|
||||
|
||||
if (!m_BufferThreadActive)
|
||||
{
|
||||
- CreateThread();
|
||||
+ m_running = true;
|
||||
+ m_thread = std::thread([&] { Process(); });
|
||||
+
|
||||
m_BufferThreadActive = true;
|
||||
}
|
||||
kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient::StartBufferThread done");
|
||||
@@ -505,11 +507,12 @@ void CRTSPClient::StartBufferThread()
|
||||
void CRTSPClient::StopBufferThread()
|
||||
{
|
||||
kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient::StopBufferThread");
|
||||
- m_bRunning = false;
|
||||
+ m_running = false;
|
||||
if (!m_BufferThreadActive)
|
||||
return;
|
||||
|
||||
- StopThread();
|
||||
+ if (m_thread.joinable())
|
||||
+ m_thread.join();
|
||||
|
||||
m_BufferThreadActive = false;
|
||||
kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient::StopBufferThread done");
|
||||
@@ -539,25 +542,22 @@ void CRTSPClient::FillBuffer(unsigned long byteCount)
|
||||
kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient::Fillbuffer...%d/%d\n", byteCount, m_buffer->Size() );
|
||||
}
|
||||
|
||||
-void *CRTSPClient::Process()
|
||||
+void CRTSPClient::Process()
|
||||
{
|
||||
m_BufferThreadActive = true;
|
||||
- m_bRunning = true;
|
||||
|
||||
kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient:: thread started");
|
||||
|
||||
- while (m_env != NULL && !IsStopped())
|
||||
+ while (m_env != NULL && m_running)
|
||||
{
|
||||
m_env->taskScheduler().doEventLoop();
|
||||
- if (m_bRunning == false)
|
||||
+ if (m_running == false)
|
||||
break;
|
||||
}
|
||||
|
||||
kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient:: thread stopped");
|
||||
|
||||
m_BufferThreadActive = false;
|
||||
-
|
||||
- return NULL;
|
||||
}
|
||||
|
||||
void CRTSPClient::Continue()
|
||||
@@ -582,8 +582,12 @@ bool CRTSPClient::Pause()
|
||||
if (m_ourClient != NULL && m_session != NULL)
|
||||
{
|
||||
kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient::Pause() stopthread");
|
||||
- StopThread(10000); // Ambass : sometimes 100mS ( prev value ) is not enough and thread is not stopped.
|
||||
- // now stopping takes around 5 secs ?!?! why ????
|
||||
+ // Ambass : sometimes 100mS ( prev value ) is not enough and thread is not stopped.
|
||||
+ // now stopping takes around 5 secs ?!?! why ????
|
||||
+ m_running = false;
|
||||
+ if (m_thread.joinable())
|
||||
+ m_thread.join();
|
||||
+
|
||||
kodi::Log(ADDON_LOG_DEBUG, "CRTSPClient::Pause() thread stopped");
|
||||
RTSPClient* rtspClient=(RTSPClient*)m_ourClient;
|
||||
rtspClient->pauseMediaSession(*m_session);
|
||||
diff --git a/src/lib/tsreader/MepoRTSPClient.h b/src/lib/tsreader/MepoRTSPClient.h
|
||||
index bd6e578..9bb0421 100644
|
||||
--- a/src/lib/tsreader/MepoRTSPClient.h
|
||||
+++ b/src/lib/tsreader/MepoRTSPClient.h
|
||||
@@ -31,7 +31,8 @@
|
||||
|
||||
#ifdef LIVE555
|
||||
|
||||
-#include "p8-platform/threads/threads.h"
|
||||
+#include <atomic>
|
||||
+#include <thread>
|
||||
#include "lib/tsreader/MemoryBuffer.h"
|
||||
|
||||
#include "liveMedia.hh"
|
||||
@@ -41,7 +42,7 @@
|
||||
|
||||
#define RTSP_URL_BUFFERSIZE 2048
|
||||
|
||||
-class CRTSPClient: public P8PLATFORM::CThread
|
||||
+class CRTSPClient
|
||||
{
|
||||
public:
|
||||
CRTSPClient();
|
||||
@@ -101,7 +102,7 @@ class CRTSPClient: public P8PLATFORM::CThread
|
||||
|
||||
// Thread
|
||||
private:
|
||||
- virtual void *Process(void);
|
||||
+ void Process();
|
||||
void StartBufferThread();
|
||||
void StopBufferThread();
|
||||
bool m_BufferThreadActive;
|
||||
@@ -113,5 +114,8 @@ class CRTSPClient: public P8PLATFORM::CThread
|
||||
bool m_bRunning;
|
||||
bool m_bPaused;
|
||||
char m_outFileName[1000];
|
||||
+
|
||||
+ std::atomic<bool> m_running = {false};
|
||||
+ std::thread m_thread;
|
||||
};
|
||||
#endif //LIVE555
|
||||
diff --git a/src/lib/tsreader/MultiFileReader.cpp b/src/lib/tsreader/MultiFileReader.cpp
|
||||
index 21fd7b2..5106418 100644
|
||||
--- a/src/lib/tsreader/MultiFileReader.cpp
|
||||
+++ b/src/lib/tsreader/MultiFileReader.cpp
|
||||
@@ -35,17 +35,16 @@
|
||||
#include "MultiFileReader.h"
|
||||
#include <kodi/General.h> //for kodi::Log
|
||||
#include <kodi/Filesystem.h>
|
||||
+#include <kodi/tools/EndTime.h>
|
||||
#include "TSDebug.h"
|
||||
#include <string>
|
||||
#include "utils.h"
|
||||
#include <algorithm>
|
||||
-#include "p8-platform/threads/threads.h"
|
||||
#include <inttypes.h>
|
||||
+#include "os-dependent.h"
|
||||
|
||||
#include <thread>
|
||||
|
||||
-using namespace P8PLATFORM;
|
||||
-
|
||||
//Maximum time in msec to wait for the buffer file to become available - Needed for DVB radio (this sometimes takes some time)
|
||||
#define MAX_BUFFER_TIMEOUT 1500
|
||||
|
||||
@@ -121,12 +120,12 @@ namespace MPTV
|
||||
if (RefreshTSBufferFile() == S_FALSE)
|
||||
{
|
||||
// For radio the buffer sometimes needs some time to become available, so wait and try it more than once
|
||||
- P8PLATFORM::CTimeout timeout(MAX_BUFFER_TIMEOUT);
|
||||
+ kodi::tools::CEndTime timeout(MAX_BUFFER_TIMEOUT);
|
||||
|
||||
do
|
||||
{
|
||||
std::this_thread::sleep_for(std::chrono::milliseconds(100));
|
||||
- if (timeout.TimeLeft() == 0)
|
||||
+ if (timeout.MillisLeft() == 0)
|
||||
{
|
||||
kodi::Log(ADDON_LOG_ERROR, "MultiFileReader: timed out while waiting for buffer file to become available");
|
||||
kodi::QueueNotification(QUEUE_ERROR, "", "Time out while waiting for buffer file");
|
||||
diff --git a/src/os-dependent.h b/src/os-dependent.h
|
||||
index cdc6980..28c162c 100644
|
||||
--- a/src/os-dependent.h
|
||||
+++ b/src/os-dependent.h
|
||||
@@ -11,6 +11,13 @@
|
||||
|
||||
#if (defined(_WIN32) || defined(_WIN64))
|
||||
|
||||
+#include <wchar.h>
|
||||
+
|
||||
+/* Handling of 2-byte Windows wchar strings */
|
||||
+#define WcsLen wcslen
|
||||
+#define WcsToMbs wcstombs
|
||||
+typedef wchar_t Wchar_t; /* sizeof(wchar_t) = 2 bytes on Windows */
|
||||
+
|
||||
#ifndef _SSIZE_T_DEFINED
|
||||
#ifdef _WIN64
|
||||
typedef __int64 ssize_t;
|
||||
@@ -20,20 +27,108 @@ typedef _W64 int ssize_t;
|
||||
#define _SSIZE_T_DEFINED
|
||||
#endif
|
||||
|
||||
+/* Prevent deprecation warnings */
|
||||
+#define strnicmp _strnicmp
|
||||
+
|
||||
+#define PATH_SEPARATOR_CHAR '\\'
|
||||
+
|
||||
#else
|
||||
|
||||
#if (defined(TARGET_LINUX) || defined(TARGET_DARWIN))
|
||||
#include <sys/types.h>
|
||||
#include <chrono>
|
||||
#include <cstring>
|
||||
+
|
||||
+#define strnicmp(X,Y,N) strncasecmp(X,Y,N)
|
||||
+
|
||||
inline unsigned long long GetTickCount64(void)
|
||||
{
|
||||
auto now = std::chrono::steady_clock::now();
|
||||
return std::chrono::duration_cast<std::chrono::milliseconds>(now.time_since_epoch()).count();
|
||||
};
|
||||
+
|
||||
+#define PATH_SEPARATOR_CHAR '/'
|
||||
+
|
||||
+#if defined(__APPLE__)
|
||||
+// for HRESULT
|
||||
+#include <CoreFoundation/CFPlugInCOM.h>
|
||||
+#endif
|
||||
+
|
||||
+/* Handling of 2-byte Windows wchar strings on non-Windows targets
|
||||
+ * Used by The MediaPortal and ForTheRecord pvr addons
|
||||
+ */
|
||||
+typedef uint16_t Wchar_t; /* sizeof(wchar_t) = 4 bytes on Linux, but the MediaPortal buffer files have 2-byte wchars */
|
||||
+
|
||||
+/* This is a replacement of the Windows wcslen() function which assumes that
|
||||
+ * wchar_t is a 2-byte character.
|
||||
+ * It is used for processing Windows wchar strings
|
||||
+ */
|
||||
+inline size_t WcsLen(const Wchar_t *str)
|
||||
+{
|
||||
+ const unsigned short *eos = (const unsigned short*)str;
|
||||
+ while( *eos++ ) ;
|
||||
+ return( (size_t)(eos - (const unsigned short*)str) -1);
|
||||
+};
|
||||
+
|
||||
+/* This is a replacement of the Windows wcstombs() function which assumes that
|
||||
+ * wchar_t is a 2-byte character.
|
||||
+ * It is used for processing Windows wchar strings
|
||||
+ */
|
||||
+inline size_t WcsToMbs(char *s, const Wchar_t *w, size_t n)
|
||||
+{
|
||||
+ size_t i = 0;
|
||||
+ const unsigned short *wc = (const unsigned short*) w;
|
||||
+ while(wc[i] && (i < n))
|
||||
+ {
|
||||
+ s[i] = wc[i];
|
||||
+ ++i;
|
||||
+ }
|
||||
+ if (i < n) s[i] = '\0';
|
||||
+
|
||||
+ return (i);
|
||||
+};
|
||||
+
|
||||
#endif /* TARGET_LINUX || TARGET_DARWIN */
|
||||
|
||||
#endif
|
||||
|
||||
+typedef long LONG;
|
||||
+#if !defined(__APPLE__)
|
||||
+typedef LONG HRESULT;
|
||||
+#endif
|
||||
+
|
||||
+#ifndef FAILED
|
||||
+#define FAILED(Status) ((HRESULT)(Status)<0)
|
||||
+#endif
|
||||
+
|
||||
+#ifndef SUCCEEDED
|
||||
+#define SUCCEEDED(hr) (((HRESULT)(hr)) >= 0)
|
||||
+#endif
|
||||
+
|
||||
+#define _FILE_OFFSET_BITS 64
|
||||
+#define FILE_BEGIN 0
|
||||
+#define FILE_CURRENT 1
|
||||
+#define FILE_END 2
|
||||
+
|
||||
+#ifndef S_OK
|
||||
+#define S_OK 0L
|
||||
+#endif
|
||||
+
|
||||
+#ifndef S_FALSE
|
||||
+#define S_FALSE 1L
|
||||
+#endif
|
||||
+
|
||||
+// Error codes
|
||||
+#define ERROR_FILENAME_EXCED_RANGE 206L
|
||||
+#define ERROR_INVALID_NAME 123L
|
||||
+
|
||||
+#ifndef E_OUTOFMEMORY
|
||||
+#define E_OUTOFMEMORY 0x8007000EL
|
||||
+#endif
|
||||
+
|
||||
+#ifndef E_FAIL
|
||||
+#define E_FAIL 0x8004005EL
|
||||
+#endif
|
||||
+
|
||||
// Additional typedefs
|
||||
typedef uint8_t byte;
|
||||
diff --git a/src/pvrclient-mediaportal.cpp b/src/pvrclient-mediaportal.cpp
|
||||
index 851b940..c1052e3 100644
|
||||
--- a/src/pvrclient-mediaportal.cpp
|
||||
+++ b/src/pvrclient-mediaportal.cpp
|
||||
@@ -28,8 +28,6 @@
|
||||
#include <kodi/General.h>
|
||||
#include <kodi/Filesystem.h>
|
||||
|
||||
-#include <thread>
|
||||
-
|
||||
using namespace kodi::tools;
|
||||
using namespace std;
|
||||
using namespace MPTV;
|
||||
@@ -70,7 +68,6 @@ cPVRClientMediaPortal::cPVRClientMediaPortal(KODI_HANDLE instance, const std::st
|
||||
m_BackendTime = 0;
|
||||
m_tsreader = NULL;
|
||||
m_genretable = NULL;
|
||||
- m_iLastRecordingUpdate = 0;
|
||||
m_signalStateCounter = 0;
|
||||
m_iSignal = 0;
|
||||
m_iSNR = 0;
|
||||
@@ -99,7 +96,7 @@ string cPVRClientMediaPortal::SendCommand(const char* command)
|
||||
|
||||
string cPVRClientMediaPortal::SendCommand(const string& command)
|
||||
{
|
||||
- P8PLATFORM::CLockObject critsec(m_mutex);
|
||||
+ std::lock_guard<std::mutex> critsec(m_mutex);
|
||||
|
||||
if ( !m_tcpclient->send(command) )
|
||||
{
|
||||
@@ -174,10 +171,10 @@ ADDON_STATUS cPVRClientMediaPortal::TryConnect()
|
||||
case PVR_CONNECTION_STATE_SERVER_UNREACHABLE:
|
||||
kodi::Log(ADDON_LOG_ERROR, "Could not connect to MediaPortal TV Server backend.");
|
||||
// Start background thread for connecting to the backend
|
||||
- if (!IsRunning())
|
||||
+ if (!m_running)
|
||||
{
|
||||
- kodi::Log(ADDON_LOG_INFO, "Waiting for a connection in the background.");
|
||||
- CreateThread();
|
||||
+ m_running = true;
|
||||
+ m_thread = std::thread([&] { Process(); });
|
||||
}
|
||||
return ADDON_STATUS_LOST_CONNECTION;
|
||||
case PVR_CONNECTION_STATE_CONNECTING:
|
||||
@@ -190,7 +187,7 @@ ADDON_STATUS cPVRClientMediaPortal::TryConnect()
|
||||
|
||||
PVR_CONNECTION_STATE cPVRClientMediaPortal::Connect(bool updateConnectionState)
|
||||
{
|
||||
- P8PLATFORM::CLockObject critsec(m_connectionMutex);
|
||||
+ std::lock_guard<std::mutex> critsec(m_connectionMutex);
|
||||
|
||||
string result;
|
||||
|
||||
@@ -317,9 +314,11 @@ void cPVRClientMediaPortal::Disconnect()
|
||||
|
||||
kodi::Log(ADDON_LOG_INFO, "Disconnect");
|
||||
|
||||
- if (IsRunning())
|
||||
+ if (m_running)
|
||||
{
|
||||
- StopThread(1000);
|
||||
+ m_running = false;
|
||||
+ if (m_thread.joinable())
|
||||
+ m_thread.join();
|
||||
}
|
||||
|
||||
if (m_tcpclient->is_valid() && m_bTimeShiftStarted)
|
||||
@@ -361,14 +360,14 @@ bool cPVRClientMediaPortal::IsUp()
|
||||
}
|
||||
}
|
||||
|
||||
-void* cPVRClientMediaPortal::Process(void)
|
||||
+void cPVRClientMediaPortal::Process()
|
||||
{
|
||||
kodi::Log(ADDON_LOG_DEBUG, "Background thread started.");
|
||||
|
||||
bool keepWaiting = true;
|
||||
PVR_CONNECTION_STATE state;
|
||||
|
||||
- while (!IsStopped() && keepWaiting)
|
||||
+ while (m_running && keepWaiting)
|
||||
{
|
||||
state = Connect(false);
|
||||
|
||||
@@ -396,8 +395,6 @@ void* cPVRClientMediaPortal::Process(void)
|
||||
SetConnectionState(state);
|
||||
|
||||
kodi::Log(ADDON_LOG_DEBUG, "Background thread finished.");
|
||||
-
|
||||
- return NULL;
|
||||
}
|
||||
|
||||
|
||||
@@ -1188,7 +1185,7 @@ PVR_ERROR cPVRClientMediaPortal::GetRecordings(bool deleted, kodi::addon::PVRRec
|
||||
}
|
||||
}
|
||||
|
||||
- m_iLastRecordingUpdate = P8PLATFORM::GetTimeMs();
|
||||
+ m_iLastRecordingUpdate = std::chrono::system_clock::now();
|
||||
|
||||
return PVR_ERROR_NO_ERROR;
|
||||
}
|
||||
@@ -1383,7 +1380,7 @@ PVR_ERROR cPVRClientMediaPortal::GetTimers(kodi::addon::PVRTimersResultSet& resu
|
||||
}
|
||||
}
|
||||
|
||||
- if ( P8PLATFORM::GetTimeMs() > m_iLastRecordingUpdate + 15000)
|
||||
+ if ( std::chrono::system_clock::now() > m_iLastRecordingUpdate + std::chrono::milliseconds(15000))
|
||||
{
|
||||
kodi::addon::CInstancePVRClient::TriggerRecordingUpdate();
|
||||
}
|
||||
diff --git a/src/pvrclient-mediaportal.h b/src/pvrclient-mediaportal.h
|
||||
index 3087634..e5da832 100644
|
||||
--- a/src/pvrclient-mediaportal.h
|
||||
+++ b/src/pvrclient-mediaportal.h
|
||||
@@ -7,6 +7,10 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
+#include <atomic>
|
||||
+#include <chrono>
|
||||
+#include <mutex>
|
||||
+#include <thread>
|
||||
#include <vector>
|
||||
|
||||
/* Master defines for client control */
|
||||
@@ -17,8 +21,6 @@
|
||||
#include "Cards.h"
|
||||
#include "epg.h"
|
||||
#include "channels.h"
|
||||
-#include "p8-platform/threads/mutex.h"
|
||||
-#include "p8-platform/threads/threads.h"
|
||||
|
||||
/* Use a forward declaration here. Including RTSPClient.h via TSReader.h at this point gives compile errors */
|
||||
namespace MPTV
|
||||
@@ -28,9 +30,7 @@ namespace MPTV
|
||||
class cRecording;
|
||||
|
||||
class ATTRIBUTE_HIDDEN cPVRClientMediaPortal
|
||||
- : public kodi::addon::CInstancePVRClient,
|
||||
- public P8PLATFORM::PreventCopy,
|
||||
- public P8PLATFORM::CThread
|
||||
+ : public kodi::addon::CInstancePVRClient
|
||||
{
|
||||
public:
|
||||
/* Class interface */
|
||||
@@ -110,7 +110,7 @@ class ATTRIBUTE_HIDDEN cPVRClientMediaPortal
|
||||
|
||||
private:
|
||||
/* TVServerKodi Listening Thread */
|
||||
- void* Process(void);
|
||||
+ void Process();
|
||||
PVR_CONNECTION_STATE Connect(bool updateConnectionState = true);
|
||||
|
||||
void LoadGenreTable(void);
|
||||
@@ -134,9 +134,9 @@ class ATTRIBUTE_HIDDEN cPVRClientMediaPortal
|
||||
time_t m_BackendTime;
|
||||
CCards m_cCards;
|
||||
CGenreTable* m_genretable;
|
||||
- P8PLATFORM::CMutex m_mutex;
|
||||
- P8PLATFORM::CMutex m_connectionMutex;
|
||||
- int64_t m_iLastRecordingUpdate;
|
||||
+ std::mutex m_mutex;
|
||||
+ std::mutex m_connectionMutex;
|
||||
+ std::chrono::system_clock::time_point m_iLastRecordingUpdate;
|
||||
MPTV::CTsReader* m_tsreader;
|
||||
std::map<int,cChannel> m_channels;
|
||||
int m_signalStateCounter;
|
||||
@@ -145,6 +145,9 @@ class ATTRIBUTE_HIDDEN cPVRClientMediaPortal
|
||||
|
||||
cRecording* m_lastSelectedRecording;
|
||||
|
||||
+ std::atomic<bool> m_running = {false};
|
||||
+ std::thread m_thread;
|
||||
+
|
||||
//Used for TV Server communication:
|
||||
std::string SendCommand(const char* command);
|
||||
std::string SendCommand(const std::string& command);
|
@ -1,55 +0,0 @@
|
||||
From bb752566a31029df4ca2c8a2d7fca6680570bfe6 Mon Sep 17 00:00:00 2001
|
||||
From: phunkyfish <phunkyfish@gmail.com>
|
||||
Date: Thu, 8 Oct 2020 16:10:44 +0100
|
||||
Subject: [PATCH] Remove charset converter dependency
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
src/windows/FileUtils.cpp | 20 ++++++++++++++++----
|
||||
1 file changed, 16 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/src/windows/FileUtils.cpp b/src/windows/FileUtils.cpp
|
||||
index 0c8a03e..f829b2a 100644
|
||||
--- a/src/windows/FileUtils.cpp
|
||||
+++ b/src/windows/FileUtils.cpp
|
||||
@@ -6,24 +6,36 @@
|
||||
*/
|
||||
|
||||
#include "../FileUtils.h"
|
||||
-#include "p8-platform/windows/CharsetConverter.h"
|
||||
#include <string>
|
||||
#include "../utils.h"
|
||||
#ifdef TARGET_WINDOWS_DESKTOP
|
||||
#include <Shlobj.h>
|
||||
#endif
|
||||
|
||||
-#ifdef TARGET_WINDOWS
|
||||
#include <windows.h>
|
||||
#include <fileapi.h>
|
||||
-#endif
|
||||
+
|
||||
+std::wstring ToW(const char* str, size_t length)
|
||||
+{
|
||||
+ int result = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, str, length, nullptr, 0);
|
||||
+ if (result == 0)
|
||||
+ return std::wstring();
|
||||
+
|
||||
+ auto newStr = std::make_unique<wchar_t[]>(result);
|
||||
+ result = MultiByteToWideChar(CP_UTF8, MB_ERR_INVALID_CHARS, str, length, newStr.get(), result);
|
||||
+
|
||||
+ if (result == 0)
|
||||
+ return std::wstring();
|
||||
+
|
||||
+ return std::wstring(newStr.get(), result);
|
||||
+}
|
||||
|
||||
namespace OS
|
||||
{
|
||||
bool CFile::Exists(const std::string& strFileName, long* errCode)
|
||||
{
|
||||
std::string strWinFile = ToWindowsPath(strFileName);
|
||||
- std::wstring strWFile = p8::windows::ToW(strWinFile.c_str());
|
||||
+ std::wstring strWFile = ToW(strWinFile.c_str(), 0);
|
||||
DWORD dwAttr = GetFileAttributesW(strWFile.c_str());
|
||||
|
||||
if(dwAttr != 0xffffffff)
|
@ -1,74 +0,0 @@
|
||||
From e78eb2db7c42e302713d5e7129603e56d0e9b43b Mon Sep 17 00:00:00 2001
|
||||
From: phunkyfish <phunkyfish@gmail.com>
|
||||
Date: Thu, 8 Oct 2020 16:11:19 +0100
|
||||
Subject: [PATCH] Remove p8-platform dependency
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
CMakeLists.txt | 7 ++-----
|
||||
debian/control | 2 +-
|
||||
depends/common/p8-platform/p8-platform.txt | 1 -
|
||||
depends/windowsstore/p8-platform/p8-platform.txt | 1 -
|
||||
4 files changed, 3 insertions(+), 8 deletions(-)
|
||||
delete mode 100644 depends/common/p8-platform/p8-platform.txt
|
||||
delete mode 100644 depends/windowsstore/p8-platform/p8-platform.txt
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 1226685..f612570 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -4,7 +4,6 @@ project(pvr.mediaportal.tvserver)
|
||||
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR})
|
||||
|
||||
find_package(Kodi REQUIRED)
|
||||
-find_package(p8-platform REQUIRED)
|
||||
find_package(TinyXML REQUIRED)
|
||||
|
||||
set(LIVE555_INCLUDE_DIR
|
||||
@@ -17,8 +16,7 @@ set(LIVE555_INCLUDE_DIR
|
||||
|
||||
set(LIVE555_DEFINES -DLIVE555 -D_WINSOCK_DEPRECATED_NO_WARNINGS -DSOCKLEN_T=socklen_t -DBSD=1)
|
||||
|
||||
-include_directories(${p8-platform_INCLUDE_DIRS}
|
||||
- ${TINYXML_INCLUDE_DIR}
|
||||
+include_directories(${TINYXML_INCLUDE_DIR}
|
||||
${KODI_INCLUDE_DIR}/.. # Hack way with "/..", need bigger Kodi cmake rework to match right include ways
|
||||
${PROJECT_SOURCE_DIR}/src
|
||||
${PROJECT_BINARY_DIR}
|
||||
@@ -229,8 +227,7 @@ source_group("Header Files\\lib\\live555" FILES ${LIVE555_HEADERS})
|
||||
# Make sure that CMake adds all files to the MSVC project
|
||||
list(APPEND MPTV_SOURCES ${MPTV_HEADERS} ${TSREADER_SOURCES} ${TSREADER_HEADERS} ${LIVE555_SOURCES} ${LIVE555_HEADERS})
|
||||
|
||||
-set(DEPLIBS ${p8-platform_LIBRARIES}
|
||||
- ${TINYXML_LIBRARIES})
|
||||
+set(DEPLIBS ${TINYXML_LIBRARIES})
|
||||
|
||||
if(WIN32)
|
||||
list(APPEND DEPLIBS ws2_32)
|
||||
diff --git a/debian/control b/debian/control
|
||||
index 667e47c..e81ff45 100644
|
||||
--- a/debian/control
|
||||
+++ b/debian/control
|
||||
@@ -2,7 +2,7 @@ Source: kodi-pvr-mediaportal-tvserver
|
||||
Priority: extra
|
||||
Maintainer: Nobody <nobody@kodi.tv>
|
||||
Build-Depends: debhelper (>= 9.0.0), cmake, libtinyxml-dev,
|
||||
- libp8-platform-dev, kodi-addon-dev
|
||||
+ kodi-addon-dev
|
||||
Standards-Version: 4.1.2
|
||||
Section: libs
|
||||
Homepage: http://kodi.tv
|
||||
diff --git a/depends/common/p8-platform/p8-platform.txt b/depends/common/p8-platform/p8-platform.txt
|
||||
deleted file mode 100644
|
||||
index 98ed58a..0000000
|
||||
--- a/depends/common/p8-platform/p8-platform.txt
|
||||
+++ /dev/null
|
||||
@@ -1 +0,0 @@
|
||||
-p8-platform https://github.com/xbmc/platform.git cee64e9dc0b69e8d286dc170a78effaabfa09c44
|
||||
diff --git a/depends/windowsstore/p8-platform/p8-platform.txt b/depends/windowsstore/p8-platform/p8-platform.txt
|
||||
deleted file mode 100644
|
||||
index db6f782..0000000
|
||||
--- a/depends/windowsstore/p8-platform/p8-platform.txt
|
||||
+++ /dev/null
|
||||
@@ -1 +0,0 @@
|
||||
-p8-platform https://github.com/afedchin/platform.git win10
|
@ -1,28 +0,0 @@
|
||||
From e613bfbb4561173046451e9bb1ec64c7879de859 Mon Sep 17 00:00:00 2001
|
||||
From: phunkyfish <phunkyfish@gmail.com>
|
||||
Date: Sat, 17 Oct 2020 14:06:04 +0100
|
||||
Subject: [PATCH] Travis changes for cpp17
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
.travis.yml | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/.travis.yml b/.travis.yml
|
||||
index 1f2b61f..285f827 100644
|
||||
--- a/.travis.yml
|
||||
+++ b/.travis.yml
|
||||
@@ -10,11 +10,11 @@ env:
|
||||
matrix:
|
||||
include:
|
||||
- os: linux
|
||||
- dist: xenial
|
||||
+ dist: bionic
|
||||
sudo: required
|
||||
compiler: gcc
|
||||
- os: linux
|
||||
- dist: xenial
|
||||
+ dist: bionic
|
||||
sudo: required
|
||||
compiler: clang
|
||||
- os: linux
|
@ -1,23 +0,0 @@
|
||||
From 5cf2d4e05673964e269e4b9a2e779d20f57c0d17 Mon Sep 17 00:00:00 2001
|
||||
From: phunkyfish <phunkyfish@gmail.com>
|
||||
Date: Sat, 6 Feb 2021 12:56:50 +0000
|
||||
Subject: [PATCH] Remove register keyword as no longer valid in CPP17
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
src/lib/tsreader/DvbUtil.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/lib/tsreader/DvbUtil.cpp b/src/lib/tsreader/DvbUtil.cpp
|
||||
index 8c4798a..c973062 100644
|
||||
--- a/src/lib/tsreader/DvbUtil.cpp
|
||||
+++ b/src/lib/tsreader/DvbUtil.cpp
|
||||
@@ -77,7 +77,7 @@ namespace MPTV
|
||||
//*******************************************************************
|
||||
uint32_t crc32(char *data, int len)
|
||||
{
|
||||
- register int i;
|
||||
+ int i;
|
||||
uint32_t crc = 0xffffffff;
|
||||
|
||||
for (i = 0; i < len; i++)
|
@ -1,42 +0,0 @@
|
||||
From 79e33e1799976e2196132f90bd7f322f213c1a99 Mon Sep 17 00:00:00 2001
|
||||
From: phunkyfish <phunkyfish@gmail.com>
|
||||
Date: Sat, 6 Feb 2021 00:16:19 +0000
|
||||
Subject: [PATCH] changelog and version v8.1.1
|
||||
|
||||
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
|
||||
---
|
||||
pvr.mediaportal.tvserver/addon.xml.in | 2 +-
|
||||
pvr.mediaportal.tvserver/changelog.txt | 10 ++++++++++
|
||||
2 files changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/pvr.mediaportal.tvserver/addon.xml.in b/pvr.mediaportal.tvserver/addon.xml.in
|
||||
index de30c2a..1944bc0 100644
|
||||
--- a/pvr.mediaportal.tvserver/addon.xml.in
|
||||
+++ b/pvr.mediaportal.tvserver/addon.xml.in
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<addon
|
||||
id="pvr.mediaportal.tvserver"
|
||||
- version="8.1.0"
|
||||
+ version="8.1.1"
|
||||
name="MediaPortal PVR Client"
|
||||
provider-name="Marcel Groothuis">
|
||||
<requires>@ADDON_DEPENDS@</requires>
|
||||
diff --git a/pvr.mediaportal.tvserver/changelog.txt b/pvr.mediaportal.tvserver/changelog.txt
|
||||
index 7d1630e..8e06c48 100644
|
||||
--- a/pvr.mediaportal.tvserver/changelog.txt
|
||||
+++ b/pvr.mediaportal.tvserver/changelog.txt
|
||||
@@ -1,3 +1,13 @@
|
||||
+v8.1.1
|
||||
+- Remove p8-platform dependency
|
||||
+- Remove charset converter dependency
|
||||
+- Use std::thread, std::mutex, condition_variable instead of event and bool defines
|
||||
+- Use thread sleep_for instead of p8 time utils
|
||||
+- Remove SAFE_DELETE
|
||||
+- Use kodi StringUtils
|
||||
+- Remove p8 os includes
|
||||
+- Revert "Removed no more supported (C++17) declaration keyword (register)"
|
||||
+
|
||||
v8.1.0
|
||||
- Update PVR API 7.1.0
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user