Merge remote-tracking branch 'upstream/master' into lakka

Conflicts:
	CHANGELOG
	packages/network/samba/default.d/samba.conf
	scripts/mkimage
This commit is contained in:
Jean-André Santoni 2014-03-19 11:17:55 +01:00
commit ed4086257e
277 changed files with 27822 additions and 6150 deletions

2
.gitignore vendored
View File

@ -26,3 +26,5 @@ mkpkg-temp
# backup files
*.orig
# crap
.DS_Store

View File

@ -1 +1,13 @@
Lakka (Initial release)
Lakka CHANGELOG
===============
To view recent changes/commits to the project (master branch) please visit:
https://github.com/Niouby/Lakka/commits/master
To compare commits between versions use a formatted URL like:
https://github.com/Niouby/Lakka/compare/3.2.3...3.2.4
If you have questions on differences between releases please ask them in the
IRC support channel.

View File

@ -35,6 +35,13 @@ Feature requests are great, but they usually end up lying around the issue
tracker indefinitely. Sending a pull request is a much better way of getting a
particular feature into OpenELEC.
### Reporting build failures
As buildsystem / core packages (toolchain) / random libraries change from time to time, it is required
that you always do a clean build (make clean) before reporting build failures. Also make sure that you
have a clean, unmodified git clone, we can't fix bugs caused by you failed to merge / rebase on
your own fork.
### Pull Requests
- **Create topic branches**. Don't ask us to pull from your master branch.

View File

@ -1,6 +1,6 @@
BUILD_DIRS=build.*
all: system
all: release
system:
./scripts/image
@ -11,6 +11,9 @@ release:
image:
./scripts/image mkimage
image-efi:
./scripts/image mkimage efi
noobs:
./scripts/image noobs

7
TODO
View File

@ -4,7 +4,6 @@ ncurses-5.8/5.9:
irserver:
- rework irserver/init.d for systemd
nettle/gmp
- ffmpeg shared build fails with gmp/nettle static (-fPIC?)
so try-build gmp/nettle as static-only libs once xbmc/ffmpeg
is static linked and we drop ffmpeg package (or build it static)
settings addon:
- remove ps3 sleep? should be fixed in bluez 5.13/5.14
- move LCDd to services

View File

@ -205,7 +205,7 @@ fix_module_depends() {
# Usage: enable_service <unit> [target]
enable_service () {
local unit="$1"
local unit_dir="/lib/systemd/system"
local unit_dir="/usr/lib/systemd/system"
local target="$2"
local target_dir=$INSTALL
@ -363,7 +363,6 @@ show_config() {
config_message="$config_message\n $dashes$dashes"
config_message="$config_message\n - OEM Support:\t\t\t\t $OEM_SUPPORT"
config_message="$config_message\n - Default Hostname:\t\t\t $HOSTNAME"
config_message="$config_message\n - Default ROOT Password:\t\t $ROOT_PASSWORD"
config_message="$config_message\n - Bootloader:\t\t\t\t $BOOTLOADER"
if [ "$BOOTLOADER" = "u-boot" ]; then

View File

@ -1,32 +1,16 @@
if [ "$OPTIMIZATIONS" = fast ];then
GCC_OPTIM="-Ofast"
GCC_OPTIM="$GCC_OPTIM -fexcess-precision=fast"
LD_OPTIM="-Wl,--as-needed"
fi
if [ "$OPTIMIZATIONS" = speed ];then
GCC_OPTIM="$GCC_OPTIM -O3"
GCC_OPTIM="$GCC_OPTIM -fexcess-precision=fast"
GCC_OPTIM="$GCC_OPTIM -ffast-math"
LD_OPTIM="-Wl,--as-needed"
fi
if [ "$OPTIMIZATIONS" = normal ];then
GCC_OPTIM="$GCC_OPTIM -O2"
GCC_OPTIM="-O2"
LD_OPTIM=""
fi
if [ "$OPTIMIZATIONS" = size ];then
GCC_OPTIM="$GCC_OPTIM -Os"
GCC_OPTIM="$GCC_OPTIM -fexcess-precision=fast"
GCC_OPTIM="$GCC_OPTIM -ffast-math"
GCC_OPTIM="-Os -fexcess-precision=fast -ffast-math"
LD_OPTIM="-Wl,--as-needed"
fi
if [ "$LTO_SUPPORT" = yes ];then
GCC_OPTIM="$GCC_OPTIM -flto"
LD_OPTIM="$LD_OPTIM -fuse-linker-plugin"
LD_OPTIM="$LD_OPTIM -flto"
LD_OPTIM="$LD_OPTIM -fuse-linker-plugin -flto"
fi
if [ "$GOLD_SUPPORT" = yes ];then

View File

@ -1,5 +1,7 @@
set -e
. config/functions
# setup initial directorys (relative to root)
CONFIG=config
SCRIPTS=scripts
@ -51,7 +53,10 @@ SED="sed -i"
PKG_LICENSE="unknown"
PKG_SITE=""
PKG_URL=""
PKG_DEPENDS=""
PKG_DEPENDS_TARGET=""
PKG_DEPENDS_HOST=""
PKG_DEPENDS_INIT=""
PKG_DEPENDS_BOOTSTRAP=""
PKG_PRIORITY="optional"
PKG_SECTION=""
PKG_SHORTDESC="$1 (autogenerated)"
@ -150,7 +155,6 @@ if [ -z "$LD_LIBRARY_PATH" -o "$LD_LIBRARY_PATH" = "${LD_LIBRARY_PATH#$ROOT/$TOO
fi
VERSION_SUFFIX=$TARGET_ARCH
. config/functions
check_path
check_config
@ -189,3 +193,7 @@ BUILD_INDENT_SIZE=4
# multilib? nah
unset CONFIG_SITE
# meh suse
unset PYTHONSTARTUP
unset PYTHONPATH

View File

@ -17,12 +17,12 @@
################################################################################
PKG_NAME="libzip"
PKG_VERSION="0.10.1"
PKG_VERSION="0.11.2"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.nih.at/libzip/"
PKG_URL="http://www.nih.at/libzip/${PKG_NAME}-${PKG_VERSION}.tar.bz2"
PKG_URL="http://www.nih.at/libzip/${PKG_NAME}-${PKG_VERSION}.tar.xz"
PKG_DEPENDS_TARGET="toolchain"
PKG_PRIORITY="optional"
PKG_SHORTDESC="libzip"

View File

@ -46,6 +46,10 @@ make_target() {
LOCALEDIR="./locale"
}
post_make_target() {
$STRIP libvdr-*.so*
}
makeinstall_target() {
: # installation not needed, done by create-addon script
}

View File

@ -0,0 +1,55 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="vdr-dummydevice"
PKG_VERSION="2.0.0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.vdr-wiki.de/wiki/index.php/Dummydevice-plugin"
PKG_URL="http://phivdr.dyndns.org/vdr/$PKG_NAME/$PKG_NAME-$PKG_VERSION.tgz"
PKG_SOURCE_DIR="dummydevice-${PKG_VERSION}"
PKG_DEPENDS_TARGET="toolchain vdr"
PKG_PRIORITY="optional"
PKG_SECTION="multimedia"
PKG_SHORTDESC="vdr dummydevice plugin"
PKG_LONGDESC="vdr dummydevice plugin"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"
export CXXFLAGS="$CXXFLAGS -fPIC"
export LDFLAGS="$LDFLAGS -fPIC"
}
make_target() {
VDR_DIR=$(get_build_dir vdr)
make VDRDIR=$VDR_DIR \
LIBDIR="." \
LOCALEDIR="./locale"
}
post_make_target() {
$STRIP libvdr-*.so*
}
makeinstall_target() {
: # installation not needed, done by create-addon script
}

View File

@ -0,0 +1,46 @@
diff --git a/Makefile b/Makefile
index dc959f1..5cb2315 100644
--- a/Makefile
+++ b/Makefile
@@ -15,22 +15,15 @@ VERSION = $(shell grep 'static const char \*VERSION *=' $(PLUGIN).c | awk '{ pri
### The directory environment:
-# Use package data if installed...otherwise assume we're under the VDR source directory:
-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
-#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### Allow user defined options to overwrite defaults:
@@ -47,7 +40,7 @@ SOFILE = libvdr-$(PLUGIN).so
### Includes and Defines (add further entries here):
-INCLUDES +=
+INCLUDES += -I$(VDRDIR)/include
DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
@@ -103,6 +96,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="vdr-iptv"
PKG_VERSION="2.0.2"
PKG_VERSION="2.1.0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="vdr-plugin-dvbapi"
PKG_VERSION="4d9de95"
PKG_VERSION="a9b738e"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,13 +1,13 @@
diff --git a/Makefile b/Makefile
index ebe9d76..ef2d2e5 100644
index a49dda6..873e73d 100644
--- a/Makefile
+++ b/Makefile
@@ -15,18 +15,11 @@ VERSION = $(shell grep 'static const char \*VERSION *=' DVBAPI.h | awk '{ print
@@ -16,18 +16,11 @@ GITTAG = $(shell git describe --always 2>/dev/null)
### The directory environment:
-# Use package data if installed...otherwise assume we're under the VDR source directory:
-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
@ -22,56 +22,29 @@ index ebe9d76..ef2d2e5 100644
### Allow user defined options to overwrite defaults:
@@ -34,33 +27,7 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
@@ -35,7 +28,7 @@ export CXXFLAGS = $(call PKGCFG,cxxflags)
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
-ifeq ($(strip $(APIVERSION)),)
-APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
-NOCONFIG := 1
-endif
-
-# backward compatibility with VDR version < 1.7.34
-API1733 := $(shell if [ "$(APIVERSION)" \< "1.7.34" ]; then echo true; fi; )
-
-ifdef API1733
-
-VDRSRC = $(VDRDIR)
-ifeq ($(strip $(VDRSRC)),)
-VDRSRC := ../../..
-endif
-LIBDIR = $(VDRSRC)/PLUGINS/lib
-
-ifndef NOCONFIG
-CXXFLAGS = $(call PKGCFG,cflags)
-CXXFLAGS += -fPIC
-else
--include $(VDRSRC)/Make.global
--include $(VDRSRC)/Make.config
-endif
-
-export CXXFLAGS
-endif
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### The name of the distribution archive:
@@ -73,9 +40,7 @@ SOFILE = libvdr-$(PLUGIN).so
@@ -48,7 +41,7 @@ SOFILE = libvdr-$(PLUGIN).so
### Includes and Defines (add further entries here):
-ifdef API1733
INCLUDES += -I$(VDRSRC)/include
-endif
-INCLUDES +=
+INCLUDES += -I$(VDRDIR)/include
DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"'
@@ -145,6 +110,7 @@ $(DEPFILE): Makefile
@@ -122,6 +115,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(OBJS) $(FFDECSA)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) $(DECSALIB) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
libdvbapi-dvbsddevice.so: device-sd.o
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $< -o $@
ifndef LIBDVBCSA
$(FFDECSA): $(FFDECSADIR)/*.c $(FFDECSADIR)/*.h

View File

@ -1,13 +0,0 @@
diff --git a/device-tmpl.cpp b/device-tmpl.cpp
index 158324b..4d9f862 100644
--- a/device-tmpl.cpp
+++ b/device-tmpl.cpp
@@ -71,7 +71,7 @@ SCDEVICE::SCDEVICE(cScDevicePlugin *DevPlugin, int Adapter, int Frontend, int ca
fd_dvr = -1;
int n = Adapter;
- softcsa = (fd_ca < 0);
+ softcsa = true;
if (softcsa)
{
if (HasDecoder())

View File

@ -0,0 +1,51 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="vdr-plugin-eepg"
PKG_VERSION="69b47ba"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://projects.vdr-developer.org/projects/plg-eepg"
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain vdr"
PKG_PRIORITY="optional"
PKG_SECTION="multimedia"
PKG_SHORTDESC="vdr-plugin-eepg"
PKG_LONGDESC="This plugin parses the Extended (2 to 10 day) EPG data which is send by providers on their portal channels. This EEPG data is transmitted in a non-standard format on a non-standard PID."
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"
export CXXFLAGS="$CXXFLAGS -fPIC"
export LDFLAGS="$LDFLAGS -fPIC"
}
make_target() {
VDR_DIR=$(get_build_dir vdr)
make VDRDIR=$VDR_DIR \
LIBDIR="." \
LOCALEDIR="./locale"
}
makeinstall_target() {
: # installation not needed, done by create-addon script
}

View File

@ -0,0 +1,34 @@
--- vdr-plugin-eepg-master/Makefile 2014-03-11 15:44:36.675368020 +0000
+++ vdr-plugin-eepg-master/Makefile 2014-03-11 15:51:02.065495474 +0000
@@ -31,21 +31,16 @@
### The directory environment:
# Use package data if installed...otherwise assume we're under the VDR source directory:
-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell PKG_CONFIG_PATH="$$PKG_CONFIG_PATH:../../.." pkg-config --variable=$(1) vdr))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### Allow user defined options to overwrite defaults:
@@ -119,6 +114,7 @@
$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="vdr-plugin-vnsiserver"
PKG_VERSION="af29425"
PKG_VERSION="e5f02b6"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -50,6 +50,8 @@ post_make_target() {
cd dist/epgdata2xmltv
make -j1
cd -
$STRIP dist/epgdata2xmltv/epgdata2xmltv
$STRIP libvdr-*.so*
}
makeinstall_target() {

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="vdr-plugin-xvdr"
PKG_VERSION="6249892"
PKG_VERSION="7f49bfa"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
@ -33,6 +33,12 @@ PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_configure_target() {
export CFLAGS="$CFLAGS -fPIC"
export CXXFLAGS="$CXXFLAGS -fPIC"
export LDFLAGS="$LDFLAGS -fPIC"
}
make_target() {
VDR_DIR=$(get_build_dir vdr)
make VDRDIR=$VDR_DIR \

View File

@ -0,0 +1,59 @@
From 08b08a02a8e93e9b11594e2e846ec2b1a316d314 Mon Sep 17 00:00:00 2001
From: Stefan Saraev <stefan@saraev.ca>
Date: Wed, 12 Feb 2014 20:32:03 +0200
Subject: [PATCH] makefile
---
Makefile | 15 ++++-----------
1 files changed, 4 insertions(+), 11 deletions(-)
diff --git a/Makefile b/Makefile
index da54323..81ba0e7 100644
--- a/Makefile
+++ b/Makefile
@@ -15,23 +15,15 @@ VERSION = $(shell grep 'static const char \*VERSION *=' src/xvdr/xvdr.h | awk '{
### The directory environment:
-# Use package data if installed...otherwise assume we're under the VDR source directory:
-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
-CFGDIR = $(call PKGCFG,configdir)/plugins/$(PLUGIN)
-#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+include $(VDRDIR)/Make.global
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+APIVERSION = $(shell sed -ne '/define APIVERSION/s/^.*"\(.*\)".*$$/\1/p' $(VDRDIR)/config.h)
### Allow user defined options to overwrite defaults:
@@ -48,7 +40,7 @@ SOFILE = libvdr-$(PLUGIN).so
### Includes and Defines (add further entries here):
-INCLUDES += -I./src -I./src/vdr
+INCLUDES += -I./src -I./src/vdr -I$(VDRDIR)/include
ifdef DEBUG
INCLUDES += -DDEBUG
@@ -136,6 +128,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
+ @cp --remove-destination $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)
--
1.7.2.5

View File

@ -1,79 +0,0 @@
diff --git a/Makefile b/Makefile
index 06a49a2..ab037bd 100644
--- a/Makefile
+++ b/Makefile
@@ -16,45 +16,46 @@ VERSION = $(shell grep 'static const char \*VERSION *=' src/xvdr/xvdr.h | awk '{
### The directory environment:
# Use package data if installed...otherwise assume we're under the VDR source directory:
-PKGCFG = $(if $(VDRDIR),$(shell pkg-config --variable=$(1) $(VDRDIR)/vdr.pc),$(shell pkg-config --variable=$(1) vdr || pkg-config --variable=$(1) ../../../vdr.pc))
-LIBDIR = $(call PKGCFG,libdir)
-LOCDIR = $(call PKGCFG,locdir)
-PLGCFG = $(call PKGCFG,plgcfg)
-CFGDIR = $(call PKGCFG,configdir)/plugins/$(PLUGIN)
#
TMPDIR ?= /tmp
### The compiler options:
-export CFLAGS = $(call PKGCFG,cflags)
-export CXXFLAGS = $(call PKGCFG,cxxflags)
+OPTLEVEL ?= 2
+CXXFLAGS = -O$(OPTLEVEL) -g -Wall -Woverloaded-virtual -fPIC -DPIC
### The version number of VDR's plugin API:
-APIVERSION = $(call PKGCFG,apiversion)
+#DVBDIR = ../../../../DVB
+#VDRDIR = ../../..
+#LIBDIR = ../../lib
+#TMPDIR = /tmp
### Allow user defined options to overwrite defaults:
--include $(PLGCFG)
+-include $(VDRDIR)/Make.config
+-include $(VDRDIR)/Make.global
### The name of the distribution archive:
ARCHIVE = $(PLUGIN)-$(VERSION)
PACKAGE = vdr-$(ARCHIVE)
+APIVERSION = $(shell grep 'define APIVERSION ' $(VDRDIR)/config.h | awk '{ print $$3 }' | sed -e 's/"//g')
+
### The name of the shared object file:
SOFILE = libvdr-$(PLUGIN).so
### Includes and Defines (add further entries here):
-INCLUDES += -I./src
+INCLUDES += -I$(VDRDIR)/include -I$(DVBDIR)/include -I$(VDRDIR) -I./src -I.
ifdef DEBUG
INCLUDES += -DDEBUG
endif
-DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"' -DXVDR_VERSION='"$(VERSION)"'
+DEFINES += -DPLUGIN_NAME_I18N='"$(PLUGIN)"' -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DXVDR_VERSION='"$(VERSION)"'
### The object files (add further files here):
@@ -103,7 +104,7 @@ all: $(SOFILE) i18n
MAKEDEP = $(CXX) -MM -MG
DEPFILE = .dependencies
$(DEPFILE): Makefile
- @$(MAKEDEP) $(CXXFLAGS) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
+ @$(MAKEDEP) $(DEFINES) $(INCLUDES) $(OBJS:%.o=%.c) > $@
-include $(DEPFILE)
@@ -137,6 +138,7 @@ install-i18n: $(I18Nmsgs)
$(SOFILE): $(OBJS)
$(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@
+ @cp $@ $(LIBDIR)/$@.$(APIVERSION)
install-lib: $(SOFILE)
install -D $^ $(DESTDIR)$(LIBDIR)/$^.$(APIVERSION)

View File

@ -1,32 +0,0 @@
commit 45b2e4ce57e345a9b9344d5b8d8f46155b872a27
Author: Stefan Saraev <stefan@saraev.ca>
Date: Sat Oct 19 21:48:49 2013 +0300
vdr 2.1.2 buildfix
diff --git a/src/config/config.c b/src/config/config.c
index e058e96..1aaf9b8 100644
--- a/src/config/config.c
+++ b/src/config/config.c
@@ -45,7 +45,7 @@ cXVDRServerConfig::cXVDRServerConfig()
}
void cXVDRServerConfig::Load() {
- cLiveQueue::SetTimeShiftDir(VideoDirectory);
+ cLiveQueue::SetTimeShiftDir(cVideoDirectory::Name());
cRecordingsCache::GetInstance().LoadResumeData();
if(!cConfig<cSetupLine>::Load(AddDirectory(ConfigDirectory, GENERAL_CONFIG_FILE), true, false))
diff --git a/src/xvdr/xvdrclient.c b/src/xvdr/xvdrclient.c
index a1a9460..e15dd8f 100644
--- a/src/xvdr/xvdrclient.c
+++ b/src/xvdr/xvdrclient.c
@@ -1385,7 +1385,7 @@ bool cXVDRClient::processTIMER_Update() /* OPCODE 85 */
bool cXVDRClient::processRECORDINGS_GetDiskSpace() /* OPCODE 100 */
{
int FreeMB;
- int Percent = VideoDiskSpace(&FreeMB);
+ int Percent = cVideoDirectory::VideoDiskSpace(&FreeMB);
int Total = (FreeMB / (100 - Percent)) * 100;
m_resp->put_U32(Total);

View File

@ -0,0 +1,73 @@
## source: http://overlays.gentoo.org/svn/proj/vdr/vdr-devel/media-plugins/vdr-sc/files/
diff -r 29b7b5f231c8 cam.c
--- a/cam.c Sat Jul 21 20:51:33 2012 +0200
+++ b/cam.c Wed Jan 08 16:47:38 2014 +0400
@@ -1841,7 +1841,7 @@
cScCamSlot(cCam *Cam, const char *DevId, int Slot);
void Process(const unsigned char *data, int len);
eModuleStatus Status(void);
- bool Reset(bool log=true);
+ bool ResetSlot(bool log=true);
cCiFrame *Frame(void) { return &frame; }
};
@@ -1853,7 +1853,7 @@
cam=Cam; devId=DevId; slot=Slot;
version=0; caids[0]=0; doReply=false; lastStatus=msReset;
frame.SetRb(&rb);
- Reset(false);
+ ResetSlot(false);
}
eModuleStatus cScCamSlot::Status(void)
@@ -1876,7 +1876,7 @@
return status;
}
-bool cScCamSlot::Reset(bool log)
+bool cScCamSlot::ResetSlot(bool log)
{
reset=true; resetTimer.Set(SLOT_RESET_TIME);
rb.Clear();
@@ -1890,7 +1890,7 @@
bool dr=cam->IsSoftCSA(false) || ScSetup.ConcurrentFF>0;
if(dr!=doReply && !IsDecrypting()) {
PRINTF(L_CORE_CI,"%s.%d: doReply changed, reset triggered",devId,slot);
- Reset(false);
+ ResetSlot(false);
doReply=dr;
}
if(checkTimer.TimedOut()) {
@@ -2330,7 +2330,7 @@
{
cMutexLock lock(&ciMutex);
PRINTF(L_CORE_CI,"%s: reset of slot %d requested",devId,Slot);
- return slots[Slot] ? slots[Slot]->Reset():false;
+ return slots[Slot] ? slots[Slot]->ResetSlot():false;
}
eModuleStatus cCam::ModuleStatus(int Slot)
--- a/device-tmpl.c 2012-07-21 20:51:33.000000000 +0200
+++ b/device-tmpl.c 2014-01-26 13:51:59.000000000 +0100
@@ -41,7 +41,6 @@
#endif //!SASC
protected:
#ifndef SASC
- virtual bool Ready(void);
virtual bool SetPid(cPidHandle *Handle, int Type, bool On);
virtual bool SetChannelDevice(const cChannel *Channel, bool LiveView);
virtual bool OpenDvr(void);
@@ -164,12 +163,6 @@
return cam || hwciadapter;
}
-bool SCDEVICE::Ready(void)
-{
- return (cam ? cam->Ready():true) &&
- (hwciadapter ? hwciadapter->Ready():true);
-}
-
bool SCDEVICE::SetPid(cPidHandle *Handle, int Type, bool On)
{
if(cam) cam->SetPid(Type,Handle->pid,On);

View File

@ -18,7 +18,7 @@
################################################################################
PKG_NAME="vdr"
PKG_VERSION="2.1.3"
PKG_VERSION="2.1.5"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -88,7 +88,7 @@ makeinstall_target() {
post_install() {
# link default.target to retroarch.target
ln -sf retroarch.target $INSTALL/lib/systemd/system/default.target
ln -sf retroarch.target $INSTALL/usr/lib/systemd/system/default.target
enable_service retroarch.service
}

View File

@ -25,7 +25,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="https://github.com/Niouby/OpenELEC.tv"
PKG_URL=""
PKG_DEPENDS="RetroArch mupen64plus vecx snes9x-next dosbox dinothawr prboom mednafen-pce fba pcsx_rearmed scummvm handy picodrive pocketsnes genesis-plus-gx nxengine fceu-next gambatte stella imame4all vbam mednafen-gba vba-next meteor nestopia quicknes libretro-ffmpeg retroarch-joypad-autoconfig core-info"
PKG_DEPENDS_TARGET="RetroArch mupen64plus vecx snes9x-next dosbox dinothawr prboom mednafen-pce fba pcsx_rearmed scummvm handy picodrive pocketsnes genesis-plus-gx nxengine fceu-next gambatte stella imame4all vbam mednafen-gba vba-next meteor nestopia quicknes libretro-ffmpeg retroarch-joypad-autoconfig core-info"
PKG_BUILD_DEPENDS=""
PKG_PRIORITY="optional"
PKG_SECTION="virtual"
@ -36,5 +36,5 @@ PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
if [ "$SAMBA_SUPPORT" = yes ]; then
PKG_DEPENDS="$PKG_DEPENDS samba"
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET samba"
fi

View File

@ -1,3 +1,11 @@
4.1.5
dont touch /storage/.profile
4.1.4
enable hw pid filter by default
4.1.3
include driver bin/libs
4.1.2
clean up. sorry. no analog tv anymore.
4.1.1
clean up
4.1.0

View File

@ -18,7 +18,7 @@
PKG_NAME="sundtek-mediatv"
PKG_VERSION="4.1"
PKG_REV="1"
PKG_REV="5"
PKG_ARCH="any"
PKG_LICENSE="nonfree"
PKG_SITE="http://support.sundtek.com/"
@ -33,7 +33,25 @@ PKG_ADDON_TYPE="xbmc.python.script"
PKG_AUTORECONF="no"
make_target() {
: # nothing to do here
mkdir -p $ROOT/$PKG_BUILD
cd $ROOT/$PKG_BUILD
case $TARGET_ARCH in
i386)
INSTALLER_URL="http://sundtek.de/media/netinst/32bit/installer.tar.gz"
;;
x86_64)
INSTALLER_URL="http://sundtek.de/media/netinst/64bit/installer.tar.gz"
;;
arm)
INSTALLER_URL="http://sundtek.de/media/netinst/armsysvhf/installer.tar.gz"
;;
esac
wget -O installer.tar.gz $INSTALLER_URL
tar -xzf installer.tar.gz
# we run this via wrapper
mv opt/bin/mediaclient opt/bin/mediaclient.bin
chmod 755 opt/bin/*
}
makeinstall_target() {
@ -44,4 +62,6 @@ addon() {
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/
cp -P $PKG_DIR/config/* $ADDON_BUILD/$PKG_ADDON_ID/config/
cp -P $PKG_DIR/settings-default.xml $ADDON_BUILD/$PKG_ADDON_ID/
cp -Pa $PKG_BUILD/opt/bin $ADDON_BUILD/$PKG_ADDON_ID/
cp -Pa $PKG_BUILD/opt/lib $ADDON_BUILD/$PKG_ADDON_ID/
}

View File

@ -1,9 +1,7 @@
<settings>
<setting id="AUTO_UPDATE" value="false" />
<setting id="ANALOG_TV" value="false" />
<setting id="SETTLE_TIME" value="0" />
<setting id="RUN_USER_SCRIPT" value="false" />
<setting id="ENABLE_HW_PID_FILTER" value="false" />
<setting id="ENABLE_HW_PID_FILTER" value="true" />
<setting id="ENABLE_IR_RECEIVER" value="false" />
<setting id="LOWEST_ADAPTER_NUM" value="0" />
<setting id="SUSPEND_DRIVER" value="true" />

View File

@ -0,0 +1,2 @@
#!/bin/sh
LD_PRELOAD=/storage/.xbmc/addons/driver.dvb.sundtek-mediatv/lib/libmediaclient.so exec mediaclient.bin "$@"

View File

@ -73,112 +73,8 @@ mkdir -p /var/config
cat "$SUNDTEK_ADDON_SETTINGS" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/sundtek-addon.conf
. /var/config/sundtek-addon.conf
if [ "$AUTO_UPDATE" = "true" -a -f $SUNDTEK_ADDON_DIR/bin/mediasrv ]; then
logger -t Sundtek "### Checking for new Sundtek binary installer ###"
touch $SUNDTEK_ADDON_HOME/driver-version.txt
wget -O /tmp/sundtek-driver-version.txt http://sundtek.de/media/latest.phtml
md5_1=$(md5sum -b /tmp/sundtek-driver-version.txt | awk '{print $1}')
md5_2=$(md5sum -b $SUNDTEK_ADDON_HOME/driver-version.txt | awk '{print $1}')
if [ "$md5_1" != "$md5_2" ]; then
logger -t Sundtek "### Updating Sundtek binary installer ###"
rm -f $SUNDTEK_ADDON_DIR/bin/mediasrv
fi
rm -f /tmp/sundtek-driver-version.txt
fi
if [ ! -f $SUNDTEK_ADDON_DIR/bin/mediasrv ]; then
# remove renamed addon if exist
rm -fr "$HOME/.xbmc/addons/driver.dvb.sundtek"
rm -fr "$HOME/userdata/addon_data/driver.dvb.sundtek"
logger -t Sundtek "### Downloading installer ###"
cd $SUNDTEK_ADDON_DIR
mkdir -p bin lib tmp
cd tmp/
ARCH=$(sed -n 's|.*\.\([^-]*\)-.*|\1|p' /etc/release | tr -d '\n')
if [ "$ARCH" = "x86_64" ]; then
INSTALLER_URL="http://sundtek.de/media/netinst/64bit/installer.tar.gz"
elif [ "$ARCH" = "i386" ]; then
INSTALLER_URL="http://sundtek.de/media/netinst/32bit/installer.tar.gz"
elif [ "$ARCH" = "arm" ]; then
INSTALLER_URL="http://sundtek.de/media/netinst/armsysvhf/installer.tar.gz"
# enable HW PID filter on RPi by default
sed -i 's|^use_hwpidfilter=.*|use_hwpidfilter=on|g' $SUNDTEK_ADDON_DIR/config/sundtek.conf
sed -i 's|^use_hwpidfilter=.*|use_hwpidfilter=on|g' $SUNDTEK_ADDON_HOME/sundtek.conf
sed -i 's|.*id="ENABLE_HW_PID_FILTER".*|<setting id="ENABLE_HW_PID_FILTER" value="true" />|' $SUNDTEK_ADDON_DIR/settings-default.xml
sed -i 's|.*id="ENABLE_HW_PID_FILTER".*|<setting id="ENABLE_HW_PID_FILTER" value="true" />|' $SUNDTEK_ADDON_SETTINGS
else
logger -t Sundtek "### Unsupported architecture ###"
cd ..
rm -fr tmp/
exit 1
fi
wget -O installer.tar.gz $INSTALLER_URL
wget -O ../driver-version.txt http://sundtek.de/media/latest.phtml
logger -t Sundtek "### Extracting installer ###"
tar -xzf installer.tar.gz
if [ $? -ne 0 ]; then
logger -t Sundtek "### Installer damaged ###"
cd ..
rm -fr tmp/
exit 2
fi
cp -Pa opt/bin/* ../bin/
cp -Pa opt/lib/* ../lib/
cp ../driver-version.txt $SUNDTEK_ADDON_HOME/
cd ..
rm -fr tmp/
logger -t Sundtek "### Installer finished ###"
cat "$SUNDTEK_ADDON_SETTINGS" | awk -F\" '{print $2"=\""$4"\""}' | sed '/^=/d' > /var/config/sundtek-addon.conf
. /var/config/sundtek-addon.conf
fi
if [ ! -f $SUNDTEK_ADDON_HOME/driver-version.txt ]; then
cp $SUNDTEK_ADDON_DIR/driver-version.txt $SUNDTEK_ADDON_HOME/
fi
# enable to install same addon package version again
#rm -f /storage/.xbmc/addons/packages/driver.dvb.sundtek*
# add alias for /opt/bin/mediaclient
alias_set="$(grep libmediaclient.so /storage/.profile 2>/dev/null)"
if [ -z "$alias_set" ]; then
echo "" >>/storage/.profile
echo "[ -f /storage/.xbmc/addons/driver.dvb.sundtek-mediatv/lib/libmediaclient.so ] && export LD_PRELOAD=/storage/.xbmc/addons/driver.dvb.sundtek-mediatv/lib/libmediaclient.so" >>/storage/.profile
echo "" >>/storage/.profile
else
# fix name
sed -i 's|/driver.dvb.sundtek/|/driver.dvb.sundtek-mediatv/|g' /storage/.profile
fi
export LD_PRELOAD=$SUNDTEK_ADDON_DIR/lib/libmediaclient.so
if [ "$ANALOG_TV" = "true" -a ! -f "$SUNDTEK_ADDON_DIR/bin/plugins/lib/libavcodec.so.54.12.100" ]; then
logger -t Sundtek "### Downloading missing ffmpeg libraries ###"
cd $SUNDTEK_ADDON_DIR/bin
mkdir -p plugins/
cd plugins/
ARCH=$(sed -n 's|.*\.\([^-]*\)-.*|\1|p' /etc/release | tr -d '\n')
wget -O sundtek-ffmpeg-analog_tv-lib.tgz http://dl.dropbox.com/u/8224157/public/sundtek/sundtek-ffmpeg-analog_tv-lib-$ARCH.tgz
logger -t Sundtek "### Extracting ffmpeg libraries ###"
tar -xzf sundtek-ffmpeg-analog_tv-lib.tgz
if [ $? -ne 0 ]; then
logger -t Sundtek "### Ffmpeg library archive damaged ###"
rm -f sundtek-ffmpeg-analog_tv-lib.tgz
exit 2
fi
rm -f sundtek-ffmpeg-analog_tv-lib.tgz
fi
if [ -z "$(pidof mediasrv)" ]; then
rm -f /var/log/mediasrv.log
rm -f /var/log/mediaclient.log
@ -324,12 +220,6 @@ if [ -z "$(pidof mediasrv)" ]; then
sleep $SETTLE_TIME
fi
if [ "$ANALOG_TV" = "true" ]; then
logger -t Sundtek "### Switching to analog TV mode ###"
#rm -fr /dev/dvb/
mediaclient --disable-dvb=/dev/dvb/adapter0
fi
if [ "$RUN_USER_SCRIPT" = "true" -a -f "$SUNDTEK_ADDON_HOME/userscript.sh" ]; then
logger -t Sundtek "### Running user script $SUNDTEK_ADDON_HOME/userscript.sh ###"
cat $SUNDTEK_ADDON_HOME/userscript.sh | dos2unix >/var/run/sundtek-userscript.sh
@ -339,7 +229,7 @@ if [ -z "$(pidof mediasrv)" ]; then
# save adapter serial number in background
sleep 5
serial_number_old=$(cat $SUNDTEK_ADDON_HOME/adapters.txt 2>/dev/null)
serial_number_new=$(mediaclient -e | awk '/device / {print $0} /ID:/ {print $2}')
serial_number_new=$(mediaclient.bin -e | awk '/device / {print $0} /ID:/ {print $2}')
if [ "$serial_number_old" != "$serial_number_new" ]; then
echo "$serial_number_new" >$SUNDTEK_ADDON_HOME/adapters.txt
fi

View File

@ -25,7 +25,7 @@ __cwd__ = __settings__.getAddonInfo('path')
__resources_lib__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'lib'))
__settings_xml__ = xbmc.translatePath(os.path.join(__cwd__, 'resources', 'settings.xml'))
__mediaclient__ = xbmc.translatePath(os.path.join(__cwd__, 'bin', 'mediaclient'))
__mediaclient__ = xbmc.translatePath(os.path.join(__cwd__, 'bin', 'mediaclient.bin'))
__ld_preload__ = xbmc.translatePath(os.path.join(__cwd__, 'lib', 'libmediaclient.so'))
__mediaclient_e__ = 'LD_PRELOAD=' + __ld_preload__ + ' ' + __mediaclient__ + ' -e'

View File

@ -1,8 +1,6 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<strings>
<string id="1000">General</string>
<string id="1011">Auto update binary driver</string>
<string id="1012">Enable analog TV</string>
<string id="1014">Extra delay [sec]</string>
<string id="1015">Run user script</string>
<string id="1030">Enable hardware PID filter</string>

View File

@ -2,11 +2,9 @@
<settings>
<category label="1000" >
<setting type="sep" />
<setting id="AUTO_UPDATE" type="bool" label="1011" default="false" />
<setting id="ANALOG_TV" type="bool" label="1012" default="false" enable="false" />
<setting id="SETTLE_TIME" type="number" label="1014" default="0" />
<setting id="RUN_USER_SCRIPT" type="bool" label="1015" default="false" />
<setting id="ENABLE_HW_PID_FILTER" type="bool" label="1030" default="false" />
<setting id="ENABLE_HW_PID_FILTER" type="bool" label="1030" default="true" />
<setting id="ENABLE_IR_RECEIVER" type="bool" label="1035" default="false" />
<setting id="LOWEST_ADAPTER_NUM" type="number" label="1040" default="0" />
<setting id="SUSPEND_DRIVER" type="bool" label="1050" default="true" />

View File

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

View File

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<addon id="repository.unofficial.addon.pro"
name="Unofficial [COLOR FF757677]Open[/COLOR][COLOR FF8ABEE2]ELEC[/COLOR] Mediacenter OS Add-ons"
version="4.1.2"
provider-name="unofficial.addon.pro">
<extension point="xbmc.addon.repository"
name="Unofficial OpenELEC.tv Add-on Repository">
<info>http://unofficial.addon.pro/addons/@ADDON_VERSION@/@PROJECT@/@ARCH@/addons.xml</info>
<checksum>http://unofficial.addon.pro/addons/@ADDON_VERSION@/@PROJECT@/@ARCH@/addons.xml.md5</checksum>
<datadir zip="true">http://unofficial.addon.pro/addons/@ADDON_VERSION@/@PROJECT@/@ARCH@</datadir>
</extension>
<extension point="xbmc.addon.metadata">
<summary>Unofficial addon repository for OpenELEC</summary>
<description>
[COLOR orange]Use with care. There will be NO end user support for addons in this repository[/COLOR]
</description>
<disclaimer>This is an unofficial addon repository. please don't ask for support in openelec forum / irc channel</disclaimer>
<platform>all</platform>
</extension>
</addon>

View File

@ -0,0 +1,17 @@
4.1.2
- fix typo in repository name
4.1.1
- bump
4.1.0
- rebuild for addon api bump
4.0.0
- rebuild for OpenELEC-4.0
1.0.1
- use generic/i386 addons for atv
1.0.0
- initial release

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB

View File

@ -1,3 +1,6 @@
4.1.2
- fix issues with "wait for frontend init". thanks @sraue
4.1.1
- rebuild to fix curl/gnutls/ssl

View File

@ -18,7 +18,7 @@
PKG_NAME="tvheadend"
PKG_VERSION="3.4.27"
PKG_REV="1"
PKG_REV="2"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.lonelycoder.com/hts/tvheadend_overview.html"

View File

@ -73,10 +73,13 @@ for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver
done
# (wait for) at least 1 adapter (xbmc allows to set 0)
# xbmc allows "numeric" type field to be empty. lets handle thaat
[ "$NUM_ADAPTERS" = "" ] && NUM_ADAPTERS=1
# 0 does not make sense. should be 1 or more
[ $NUM_ADAPTERS -lt 1 ] && NUM_ADAPTERS=1
if [ "$WAIT_FOR_FEINIT" == "true" ] ; then
while [ true ] ; do
if [ -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend* ] ; then
if [ -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend0 ] ; then
break
fi
sleep 1

View File

@ -1,3 +1,18 @@
4.1.5
- fix issues with "wait for frontend init". thanks @sraue
4.1.4
- add plugin 'vdr-plugin-eepg'
- update to vdr-plugin-xvdr-4a9d95e
- update to vdr-plugin-dvbapi-a9b738e
4.1.3
- update to vdr-2.1.5
- update to vdr-iptv-2.1.0
- update to vdr-plugin-vnsiserver-e5f02b6
- update to vdr-plugin-dvbapi-a3b4a5a
- update to vdr-plugin-xvdr-7d6ebb7
4.1.2
- update to vdr-2.1.3
- update to vdr-iptv-2.0.1

View File

@ -19,12 +19,12 @@
PKG_NAME="vdr-addon"
PKG_VERSION="4.1"
PKG_REV="2"
PKG_REV="5"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.openelec.tv"
PKG_URL=""
PKG_DEPENDS_TARGET="toolchain attr libcap vdr vdr-plugin-xvdr vdr-plugin-vnsiserver vdr-iptv vdr-wirbelscan vdr-wirbelscancontrol vdr-sc vdr-plugin-dvbapi vdr-plugin-streamdev vdr-live vdr-control vdr-epgsearch vdr-plugin-xmltv2vdr"
PKG_DEPENDS_TARGET="toolchain attr libcap vdr vdr-plugin-xvdr vdr-plugin-vnsiserver vdr-iptv vdr-wirbelscan vdr-wirbelscancontrol vdr-sc vdr-plugin-dvbapi vdr-plugin-streamdev vdr-live vdr-control vdr-epgsearch vdr-plugin-xmltv2vdr vdr-plugin-eepg"
PKG_PRIORITY="optional"
PKG_SECTION="service.multimedia"
PKG_SHORTDESC="vdr: A powerful DVB TV application"
@ -76,6 +76,7 @@ addon() {
cp -PR $(get_build_dir vdr-wirbelscan)/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $(get_build_dir vdr-wirbelscancontrol)/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $(get_build_dir vdr-plugin-dvbapi)/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $(get_build_dir vdr-plugin-eepg)/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $VDR_SC_DIR/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $VDR_SC_DIR/systems/*/libsc*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $VDR_PLUGIN_STREAMVEV_DIR/server/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
@ -84,6 +85,9 @@ addon() {
cp -PR $(get_build_dir vdr-control)/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $(get_build_dir vdr-epgsearch)/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $VDR_PLUGIN_XMLTV2VDR/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
cp -PR $(get_build_dir vdr-dummydevice)/libvdr*.so.* $ADDON_BUILD/$PKG_ADDON_ID/plugin
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/eepg
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/xvdr
cp -PR $VDR_PLUGIN_XVDR_DIR/xvdr/allowed_hosts.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/xvdr

View File

@ -22,14 +22,6 @@
oe_setup_addon service.multimedia.vdr-addon
check_tmpfs_mount() {
grep " /var/run/vdr " /proc/mounts >/dev/null
if [ $? -ne 0 ] ; then
mkdir -p /var/run/vdr
mount -t tmpfs -o size=10% tmpfs /var/run/vdr
fi
}
fix_config() {
if [ -f "$ADDON_CONFIG_DIR/setup.conf" ]; then
sed -i -e '/^$/d' $ADDON_CONFIG_DIR/setup.conf
@ -57,18 +49,6 @@ if [ ! -f "$ADDON_CACHE_DIR" ]; then
mkdir -p $ADDON_CACHE_DIR
fi
#handle epgsources
mkdir -p /var/lib/epgsources
mkdir -p $ADDON_HOME/config/epgsources
for source in `find $ADDON_DIR/config/epgsources -type f`; do
if [ ! -e $ADDON_HOME/config/epgsources/`basename $source` ] ; then
cp $source $ADDON_HOME/config/epgsources/
fi
done
for source in `find $ADDON_HOME/config/epgsources -type f`; do
cp $source /var/lib/epgsources
done
VDR_ARG="-g /tmp --no-kbd"
if [ "$DEBUG" = "yes" ]; then
VDR_ARG="$VDR_ARG --log=3"
@ -96,12 +76,11 @@ if [ "$ENABLE_EXTERNAL_RECCMD" == "true" ] ; then
fi
fi
VDR_ARG="$VDR_ARG -P $PVR_PLUGIN"
VDR_ARG="$VDR_ARG -P wirbelscan -P wirbelscancontrol"
# keep softcam first
if [ "$ENABLE_SOFTCAM" == "true" ] ; then
VDR_ARG="$VDR_ARG -P $SOFTCAM_PLUGIN"
fi
VDR_ARG="$VDR_ARG -P wirbelscan -P wirbelscancontrol"
if [ "$ENABLE_IPTV" == "true" ] ; then
VDR_ARG="$VDR_ARG -P iptv"
fi
@ -117,12 +96,33 @@ fi
if [ "$ENABLE_CONTROL" == "true" ] ; then
VDR_ARG="$VDR_ARG -P 'control -p $CONTROL_PORT'"
fi
if [ "$ENABLE_EEPG" == "true" ] ; then
VDR_ARG="$VDR_ARG -P eepg"
fi
if [ "$ENABLE_EPGSEARCH" == "true" ] ; then
VDR_ARG="$VDR_ARG -P epgsearch"
fi
if [ "$ENABLE_DUMMYDEVICE" == "true" ] ; then
VDR_ARG="$VDR_ARG -P dummydevice"
fi
if [ "$ENABLE_XMLTV2VDR" == "true" ] ; then
VDR_ARG="$VDR_ARG -P 'xmltv2vdr --epgfile=$ADDON_CACHE_DIR/epg.db'"
# xmltv2vdr needs /var/run/vdr
grep -q " /var/run/vdr " /proc/mounts || ( mkdir -p /var/run/vdr && mount -t tmpfs -o size=10% tmpfs /var/run/vdr )
#handle epgsources
mkdir -p /var/lib/epgsources
mkdir -p $ADDON_HOME/config/epgsources
for source in `find $ADDON_DIR/config/epgsources -type f`; do
if [ ! -e $ADDON_HOME/config/epgsources/`basename $source` ] ; then
cp $source $ADDON_HOME/config/epgsources/
fi
done
for source in `find $ADDON_HOME/config/epgsources -type f`; do
cp $source /var/lib/epgsources
done
fi
# vnsi/xvdr last
VDR_ARG="$VDR_ARG -P $PVR_PLUGIN"
cd $ADDON_DIR/config
mkdir -p $ADDON_CONFIG_DIR
@ -146,16 +146,18 @@ for driver_dvb in $(find /storage/.xbmc/addons/driver.dvb.*/bin/userspace-driver
done
# (wait for) at least 1 adapter (xbmc allows to set 0)
# xbmc allows "numeric" type field to be empty. lets handle thaat
[ "$NUM_ADAPTERS" = "" ] && NUM_ADAPTERS=1
# 0 does not make sense. should be 1 or more
[ $NUM_ADAPTERS -lt 1 ] && NUM_ADAPTERS=1
if [ "$WAIT_FOR_FEINIT" == "true" ] ; then
while [ true ] ; do
if [ -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend* ] ; then
if [ -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend0 ] ; then
break
fi
sleep 1
done
fi
check_tmpfs_mount
fix_config
eval LANG=en_US.UTF-8 exec vdr.bin $VDR_ARG

View File

@ -20,6 +20,8 @@
<string id="1043">control: listen on port</string>
<string id="1044">Enable plugin: epgsearch</string>
<string id="1045">Enable plugin: xmltv2vdr</string>
<string id="1046">Enable plugin: extended EPG</string>
<string id="1047">Enable plugin: dummydevice</string>
<string id="1051">VDR Configuration</string>
<string id="1052">VDR Video Dir</string>
<string id="1053">PVR plugin</string>

View File

@ -27,8 +27,10 @@
<setting id="LIVE_PORT" type="number" label="1040" values="" enable="!eq(-2,false)" default="8008"/>
<setting id="ENABLE_CONTROL" type="bool" label="1042" default="false" />
<setting id="CONTROL_PORT" type="number" label="1043" values="" enable="!eq(-1,false)" default="2002"/>
<setting id="ENABLE_EEPG" type="bool" label="1046" default="false" />
<setting id="ENABLE_EPGSEARCH" type="bool" label="1044" default="false" />
<setting id="ENABLE_XMLTV2VDR" type="bool" label="1045" default="false" />
<setting id="ENABLE_DUMMYDEVICE" type="bool" label="1047" default="false" />
<setting type="sep" />
<setting id="ENABLE_SOFTCAM" type="bool" label="1036" default="true" />
<setting id="SOFTCAM_PLUGIN" type="labelenum" label="1037" values="sc|dvbapi" enable="!eq(-1,false)" default="sc" />

View File

@ -13,8 +13,10 @@
<setting id="LIVE_PORT" value="8008" />
<setting id="ENABLE_CONTROL" value="false" />
<setting id="CONTROL_PORT" value="2002" />
<setting id="ENABLE_EEPG" value="false" />
<setting id="ENABLE_EPGSEARCH" value="false" />
<setting id="ENABLE_XMLTV2VDR" value="false" />
<setting id="ENABLE_DUMMYDEVICE" value="false" />
<setting id="SOFTCAM_PLUGIN" value="sc" />
<setting id="ENABLE_EXTERNAL_RECCMD" value="false" />
<setting id="EXTERNAL_RECCMD_PATH" value="" />

View File

@ -46,11 +46,12 @@ post_makeinstall_target() {
rm -rf $INSTALL/lib $INSTALL/var
rm -rf $INSTALL/usr/share/alsa/speaker-test
rm -rf $INSTALL/usr/share/sounds
rm -rf $INSTALL/usr/lib/systemd/system
for i in aconnect alsaucm amidi aplaymidi arecord arecordmidi aseqdump aseqnet iecset; do
rm -rf $INSTALL/usr/bin/$i
done
mkdir -p $INSTALL/lib/udev
cp $PKG_DIR/scripts/soundconfig $INSTALL/lib/udev
mkdir -p $INSTALL/usr/lib/udev
cp $PKG_DIR/scripts/soundconfig $INSTALL/usr/lib/udev
}

View File

@ -0,0 +1,53 @@
################################################################################
# This file is part of OpenELEC - http://www.openelec.tv
# Copyright (C) 2009-2014 Stephan Raue (stephan@openelec.tv)
#
# OpenELEC is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 2 of the License, or
# (at your option) any later version.
#
# OpenELEC is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
################################################################################
PKG_NAME="espeak"
PKG_VERSION="1.48.04-source"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://espeak.sourceforge.net/"
PKG_URL="http://downloads.sourceforge.net/$PKG_NAME/$PKG_NAME-$PKG_VERSION.zip"
PKG_SOURCE_DIR="$PKG_NAME/$PKG_NAME-$PKG_VERSION"
PKG_DEPENDS_TARGET="toolchain"
PKG_PRIORITY="optional"
PKG_SECTION="audio"
PKG_SHORTDESC="Text to Speech engine for English, with support for other languages"
PKG_LONGDESC="Text to Speech engine for English, with support for other languages"
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
pre_make_target() {
cp src/portaudio19.h src/portaudio.h
}
make_target() {
make -C src \
CXXFLAGS="$CXXFLAGS" \
LDFLAGS="$LDFLAGS" \
AUDIO=""
}
makeinstall_target() {
make -C src \
CXXFLAGS="$CXXFLAGS" \
LDFLAGS="$LDFLAGS" \
AUDIO="" \
DESTDIR=$INSTALL install
}

View File

@ -0,0 +1,23 @@
diff --git a/src/Makefile b/src/Makefile
index f04b4c4..b8d4b19 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -83,15 +83,15 @@ libespeak_SOURCES = speak_lib.cpp compiledict.cpp dictionary.cpp intonation.cpp
SRCS1=$(speak_SOURCES)
OBJS1=$(patsubst %.cpp,%.o,$(SRCS1))
-LIBS1=-lstdc++ $(LIB_AUDIO) -lpthread $(EXTRA_LIBS)
+LIBS1=-lstdc++ -lm $(LIB_AUDIO) -lpthread $(EXTRA_LIBS)
SRCS2=$(libespeak_SOURCES)
OBJS2=$(patsubst %.cpp,x_%.o,$(SRCS2))
-LIBS2=-lstdc++ $(LIB_AUDIO) -lpthread
+LIBS2=-lstdc++ -lm $(LIB_AUDIO) -lpthread
SRCS3 = espeak.cpp
OBJS3=$(patsubst %.cpp,%.o,$(SRCS3))
-LIBS3=-lstdc++ -L . -lespeak
+LIBS3=-lstdc++ -lm -L . -lespeak
CXXFLAGS=-O2

View File

@ -0,0 +1,23 @@
diff --git a/src/espeak.cpp b/src/espeak.cpp
index 00f93c1..4ad42e8 100644
--- a/src/espeak.cpp
+++ b/src/espeak.cpp
@@ -281,10 +281,7 @@ static int SynthCallback(short *wav, int numsamples, espeak_EVENT *events)
if(quiet) return(0); // -q quiet mode
if(wav == NULL)
- {
- CloseWavFile();
return(0);
- }
while(events->type != 0)
{
@@ -805,5 +802,7 @@ int main (int argc, char **argv)
if(f_phonemes_out != stdout)
fclose(f_phonemes_out); // needed for WinCE
+ CloseWavFile();
+ espeak_Terminate();
return(0);
}

View File

@ -33,4 +33,4 @@ PKG_IS_ADDON="no"
PKG_AUTORECONF="yes"
# package specific configure options
PKG_CONFIGURE_OPTS_TARGET="--with-ogg=$SYSROOT_PREFIX/usr"
PKG_CONFIGURE_OPTS_TARGET="--with-ogg=$SYSROOT_PREFIX/usr --disable-oggtest --disable-docs --disable-examples"

View File

@ -19,12 +19,12 @@
################################################################################
PKG_NAME="pulseaudio"
PKG_VERSION="4.99.2"
PKG_VERSION="5.0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://pulseaudio.org/"
PKG_URL="http://cgit.freedesktop.org/pulseaudio/pulseaudio/snapshot/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_URL="http://www.freedesktop.org/software/pulseaudio/releases/$PKG_NAME-$PKG_VERSION.tar.xz"
PKG_DEPENDS_TARGET="toolchain libtool json-c alsa-lib libsndfile libsamplerate speex dbus systemd openssl libcap"
PKG_PRIORITY="optional"
PKG_SECTION="audio"
@ -41,8 +41,6 @@ else
PULSEAUDIO_BLUETOOTH="--disable-bluez5"
fi
export GIT_DESCRIBE_FOR_BUILD="4.0"
# package specific configure options
PKG_CONFIGURE_OPTS_TARGET="--disable-silent-rules \
--disable-nls \

View File

@ -32,6 +32,8 @@ PKG_LONGDESC="XZ Utils is free general-purpose data compression software with hi
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
# never build shared or k0p happens when building
# on fedora due to host selinux/liblzma
PKG_CONFIGURE_OPTS_HOST="--disable-shared --enable-static \
--disable-lzmadec \
--disable-lzmainfo \
@ -39,4 +41,3 @@ PKG_CONFIGURE_OPTS_HOST="--disable-shared --enable-static \
--disable-scripts \
--disable-nls"
PKG_CONFIGURE_OPTS_TARGET="--disable-shared --enable-static"

View File

@ -17,12 +17,12 @@
################################################################################
PKG_NAME="sqlite"
PKG_VERSION="autoconf-3080002"
PKG_VERSION="autoconf-3080401"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="PublicDomain"
PKG_SITE="http://www.sqlite.org/"
PKG_URL="http://sqlite.org/2013/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_URL="http://sqlite.org/2014/$PKG_NAME-$PKG_VERSION.tar.gz"
PKG_DEPENDS_TARGET="toolchain"
PKG_PRIORITY="optional"
PKG_SECTION="database"
@ -61,7 +61,7 @@ PKG_AUTORECONF="yes"
# SQLITE_MAX_MMAP_SIZE can be modified at start-time using the
# sqlite3_config(SQLITE_CONFIG_MMAP_SIZE) call, or at run-time using the
# mmap_size pragma.
CFLAGS="$CFLAGS -DSQLITE_DEFAULT_MMAP_SIZE=268435456"
CFLAGS="$CFLAGS -DSQLITE_TEMP_STORE=3 -DSQLITE_DEFAULT_MMAP_SIZE=268435456"
PKG_CONFIGURE_OPTS_TARGET="--enable-static \

View File

@ -0,0 +1,22 @@
diff --git a/sqlite3.c b/sqlite3.c
index d0057a6..63b80c7 100644
--- a/sqlite3.c
+++ b/sqlite3.c
@@ -28278,7 +28278,7 @@ static void unixRemapfile(
pNew = osMremap(pOrig, nReuse, nNew, MREMAP_MAYMOVE);
zErr = "mremap";
#else
- pNew = osMmap(pReq, nNew-nReuse, flags, MAP_SHARED, h, nReuse);
+ pNew = osMmap(pReq, nNew-nReuse, flags, MAP_SHARED | MAP_POPULATE, h, nReuse);
if( pNew!=MAP_FAILED ){
if( pNew!=pReq ){
osMunmap(pNew, nNew - nReuse);
@@ -28297,7 +28297,7 @@ static void unixRemapfile(
/* If pNew is still NULL, try to create an entirely new mapping. */
if( pNew==0 ){
- pNew = osMmap(0, nNew, flags, MAP_SHARED, h, 0);
+ pNew = osMmap(0, nNew, flags, MAP_SHARED | MAP_POPULATE, h, 0);
}
if( pNew==MAP_FAILED ){

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="gdb"
PKG_VERSION="7.6"
PKG_VERSION="7.7"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
@ -49,6 +49,10 @@ PKG_CONFIGURE_OPTS_TARGET="bash_cv_have_mbstate_t=set \
--disable-tui \
--disable-libada \
--without-lzma \
--disable-libquadmath \
--disable-libquadmath-support \
--enable-libada \
--enable-libssp \
--disable-werror"
post_makeinstall_target() {

View File

@ -33,7 +33,7 @@ PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
configure_host() {
../configure --no-qt-gui
../configure --no-qt-gui -- -DBUILD_CursesDialog=0
}
makeinstall_host() {

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="eglibc"
PKG_VERSION="2.18-23911"
PKG_VERSION="2.19-25249"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -1,25 +0,0 @@
From: Carlos O'Donell <carlos@redhat.com>
Date: Thu, 29 Aug 2013 04:17:33 +0000 (-0400)
Subject: ARM: Pass dl_hwcap to IFUNC resolver.
X-Git-Url: https://sourceware.org/git/?p=glibc.git;a=commitdiff_plain;h=d0721e703d222c01a9e8c329311c4fb01dac6972;hp=3a3092398356c90788479fa75524a491e9d860cd
ARM: Pass dl_hwcap to IFUNC resolver.
For REL relocs pass dl_hwcap to the IFUNC resolver
as is required by the IFUNC API (bug 15905).
---
diff --git a/ports/sysdeps/arm/dl-machine.h b/ports/sysdeps/arm/dl-machine.h
index d251527..85dba67 100644
--- a/ports/sysdeps/arm/dl-machine.h
+++ b/ports/sysdeps/arm/dl-machine.h
@@ -503,7 +503,7 @@ elf_machine_rel (struct link_map *map, const Elf32_Rel *reloc,
break;
case R_ARM_IRELATIVE:
value = map->l_addr + *reloc_addr;
- value = ((Elf32_Addr (*) (void)) value) ();
+ value = ((Elf32_Addr (*) (int)) value) (GLRO(dl_hwcap));
*reloc_addr = value;
break;
#endif

View File

@ -1,281 +0,0 @@
diff --git a/manual/conf.texi b/manual/conf.texi
index 7eb8b36..c720063 100644
--- a/manual/conf.texi
+++ b/manual/conf.texi
@@ -1149,6 +1149,9 @@ typed ahead as input. @xref{I/O Queues}.
@deftypevr Macro int NAME_MAX
The uniform system limit (if any) for the length of a file name component, not
including the terminating null character.
+
+@strong{Portability Note:} On some systems, @theglibc{} defines
+@code{NAME_MAX}, but does not actually enforce this limit.
@end deftypevr
@comment limits.h
@@ -1157,6 +1160,9 @@ including the terminating null character.
The uniform system limit (if any) for the length of an entire file name (that
is, the argument given to system calls such as @code{open}), including the
terminating null character.
+
+@strong{Portability Note:} @Theglibc{} does not enforce this limit
+even if @code{PATH_MAX} is defined.
@end deftypevr
@cindex limits, pipe buffer size
@@ -1476,6 +1482,9 @@ Inquire about the value of @code{POSIX_REC_MIN_XFER_SIZE}.
Inquire about the value of @code{POSIX_REC_XFER_ALIGN}.
@end table
+@strong{Portability Note:} On some systems, @theglibc{} does not
+enforce @code{_PC_NAME_MAX} or @code{_PC_PATH_MAX} limits.
+
@node Utility Limits
@section Utility Program Capacity Limits
diff --git a/manual/filesys.texi b/manual/filesys.texi
index 1df9cf2..814c210 100644
--- a/manual/filesys.texi
+++ b/manual/filesys.texi
@@ -444,9 +444,9 @@ symbols are declared in the header file @file{dirent.h}.
@comment POSIX.1
@deftypefun {struct dirent *} readdir (DIR *@var{dirstream})
This function reads the next entry from the directory. It normally
-returns a pointer to a structure containing information about the file.
-This structure is statically allocated and can be rewritten by a
-subsequent call.
+returns a pointer to a structure containing information about the
+file. This structure is associated with the @var{dirstream} handle
+and can be rewritten by a subsequent call.
@strong{Portability Note:} On some systems @code{readdir} may not
return entries for @file{.} and @file{..}, even though these are always
@@ -461,19 +461,61 @@ conditions are defined for this function:
The @var{dirstream} argument is not valid.
@end table
-@code{readdir} is not thread safe. Multiple threads using
-@code{readdir} on the same @var{dirstream} may overwrite the return
-value. Use @code{readdir_r} when this is critical.
+To distinguish between an end-of-directory condition or an error, you
+must set @code{errno} to zero before calling @code{readdir}. To avoid
+entering an infinite loop, you should stop reading from the directory
+after the first error.
+
+In POSIX.1-2008, @code{readdir} is not thread-safe. In @theglibc{}
+implementation, it is safe to call @code{readdir} concurrently on
+different @var{dirstream}s, but multiple threads accessing the same
+@var{dirstream} result in undefined behavior. @code{readdir_r} is a
+fully thread-safe alternative, but suffers from poor portability (see
+below). It is recommended that you use @code{readdir}, with external
+locking if multiple threads access the same @var{dirstream}.
@end deftypefun
@comment dirent.h
@comment GNU
@deftypefun int readdir_r (DIR *@var{dirstream}, struct dirent *@var{entry}, struct dirent **@var{result})
-This function is the reentrant version of @code{readdir}. Like
-@code{readdir} it returns the next entry from the directory. But to
-prevent conflicts between simultaneously running threads the result is
-not stored in statically allocated memory. Instead the argument
-@var{entry} points to a place to store the result.
+This function is a version of @code{readdir} which performs internal
+locking. Like @code{readdir} it returns the next entry from the
+directory. To prevent conflicts between simultaneously running
+threads the result is stored inside the @var{entry} object.
+
+@strong{Portability Note:} It is recommended to use @code{readdir}
+instead of @code{readdir_r} for the following reasons:
+
+@itemize @bullet
+@item
+On systems which do not define @code{NAME_MAX}, it may not be possible
+to use @code{readdir_r} safely because the caller does not specify the
+length of the buffer for the directory entry.
+
+@item
+On some systems, @code{readdir_r} cannot read directory entries with
+very long names. If such a name is encountered, @theglibc{}
+implementation of @code{readdir_r} returns with an error code of
+@code{ENAMETOOLONG} after the final directory entry has been read. On
+other systems, @code{readdir_r} may return successfully, but the
+@code{d_name} member may not be NUL-terminated or may be truncated.
+
+@item
+POSIX-1.2008 does not guarantee that @code{readdir} is thread-safe,
+even when access to the same @var{dirstream} is serialized. But in
+current implementations (including @theglibc{}), it is safe to call
+@code{readdir} concurrently on different @var{dirstream}s, so there is
+no need to use @code{readdir_r} in most multi-threaded programs. In
+the rare case that multiple threads need to read from the same
+@var{dirstream}, it is still better to use @code{readdir} and external
+synchronization.
+
+@item
+It is expected that future versions of POSIX will obsolete
+@code{readdir_r} and mandate the level of thread safety for
+@code{readdir} which is provided by @theglibc{} and other
+implementations today.
+@end itemize
Normally @code{readdir_r} returns zero and sets @code{*@var{result}}
to @var{entry}. If there are no more entries in the directory or an
@@ -481,15 +523,6 @@ error is detected, @code{readdir_r} sets @code{*@var{result}} to a
null pointer and returns a nonzero error code, also stored in
@code{errno}, as described for @code{readdir}.
-@strong{Portability Note:} On some systems @code{readdir_r} may not
-return a NUL terminated string for the file name, even when there is no
-@code{d_reclen} field in @code{struct dirent} and the file
-name is the maximum allowed size. Modern systems all have the
-@code{d_reclen} field, and on old systems multi-threading is not
-critical. In any case there is no such problem with the @code{readdir}
-function, so that even on systems without the @code{d_reclen} member one
-could use multiple threads by using external locking.
-
It is also important to look at the definition of the @code{struct
dirent} type. Simply passing a pointer to an object of this type for
the second parameter of @code{readdir_r} might not be enough. Some
diff --git a/sysdeps/posix/dirstream.h b/sysdeps/posix/dirstream.h
index a7a074d..8e8570d 100644
--- a/sysdeps/posix/dirstream.h
+++ b/sysdeps/posix/dirstream.h
@@ -39,6 +39,8 @@ struct __dirstream
off_t filepos; /* Position of next entry to read. */
+ int errcode; /* Delayed error code. */
+
/* Directory block. */
char data[0] __attribute__ ((aligned (__alignof__ (void*))));
};
diff --git a/sysdeps/posix/opendir.c b/sysdeps/posix/opendir.c
index ddfc3a7..fc05b0f 100644
--- a/sysdeps/posix/opendir.c
+++ b/sysdeps/posix/opendir.c
@@ -231,6 +231,7 @@ __alloc_dir (int fd, bool close_fd, int flags, const struct stat64 *statp)
dirp->size = 0;
dirp->offset = 0;
dirp->filepos = 0;
+ dirp->errcode = 0;
return dirp;
}
diff --git a/sysdeps/posix/readdir_r.c b/sysdeps/posix/readdir_r.c
index b5a8e2e..8ed5c3f 100644
--- a/sysdeps/posix/readdir_r.c
+++ b/sysdeps/posix/readdir_r.c
@@ -40,6 +40,7 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result)
DIRENT_TYPE *dp;
size_t reclen;
const int saved_errno = errno;
+ int ret;
__libc_lock_lock (dirp->lock);
@@ -70,10 +71,10 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result)
bytes = 0;
__set_errno (saved_errno);
}
+ if (bytes < 0)
+ dirp->errcode = errno;
dp = NULL;
- /* Reclen != 0 signals that an error occurred. */
- reclen = bytes != 0;
break;
}
dirp->size = (size_t) bytes;
@@ -106,29 +107,46 @@ __READDIR_R (DIR *dirp, DIRENT_TYPE *entry, DIRENT_TYPE **result)
dirp->filepos += reclen;
#endif
- /* Skip deleted files. */
+#ifdef NAME_MAX
+ if (reclen > offsetof (DIRENT_TYPE, d_name) + NAME_MAX + 1)
+ {
+ /* The record is very long. It could still fit into the
+ caller-supplied buffer if we can skip padding at the
+ end. */
+ size_t namelen = _D_EXACT_NAMLEN (dp);
+ if (namelen <= NAME_MAX)
+ reclen = offsetof (DIRENT_TYPE, d_name) + namelen + 1;
+ else
+ {
+ /* The name is too long. Ignore this file. */
+ dirp->errcode = ENAMETOOLONG;
+ dp->d_ino = 0;
+ continue;
+ }
+ }
+#endif
+
+ /* Skip deleted and ignored files. */
}
while (dp->d_ino == 0);
if (dp != NULL)
{
-#ifdef GETDENTS_64BIT_ALIGNED
- /* The d_reclen value might include padding which is not part of
- the DIRENT_TYPE data structure. */
- reclen = MIN (reclen,
- offsetof (DIRENT_TYPE, d_name) + sizeof (dp->d_name));
-#endif
*result = memcpy (entry, dp, reclen);
-#ifdef GETDENTS_64BIT_ALIGNED
+#ifdef _DIRENT_HAVE_D_RECLEN
entry->d_reclen = reclen;
#endif
+ ret = 0;
}
else
- *result = NULL;
+ {
+ *result = NULL;
+ ret = dirp->errcode;
+ }
__libc_lock_unlock (dirp->lock);
- return dp != NULL ? 0 : reclen ? errno : 0;
+ return ret;
}
#ifdef __READDIR_R_ALIAS
diff --git a/sysdeps/posix/rewinddir.c b/sysdeps/posix/rewinddir.c
index 2935a8e..d4991ad 100644
--- a/sysdeps/posix/rewinddir.c
+++ b/sysdeps/posix/rewinddir.c
@@ -33,6 +33,7 @@ rewinddir (dirp)
dirp->filepos = 0;
dirp->offset = 0;
dirp->size = 0;
+ dirp->errcode = 0;
#ifndef NOT_IN_libc
__libc_lock_unlock (dirp->lock);
#endif
diff --git a/sysdeps/unix/sysv/linux/i386/readdir64_r.c b/sysdeps/unix/sysv/linux/i386/readdir64_r.c
index 8ebbcfd..a7d114e 100644
--- a/sysdeps/unix/sysv/linux/i386/readdir64_r.c
+++ b/sysdeps/unix/sysv/linux/i386/readdir64_r.c
@@ -18,7 +18,6 @@
#define __READDIR_R __readdir64_r
#define __GETDENTS __getdents64
#define DIRENT_TYPE struct dirent64
-#define GETDENTS_64BIT_ALIGNED 1
#include <sysdeps/posix/readdir_r.c>
diff --git a/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c b/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c
index 5ed8e95..290f2c8 100644
--- a/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c
+++ b/sysdeps/unix/sysv/linux/wordsize-64/readdir_r.c
@@ -1,5 +1,4 @@
#define readdir64_r __no_readdir64_r_decl
-#define GETDENTS_64BIT_ALIGNED 1
#include <sysdeps/posix/readdir_r.c>
#undef readdir64_r
weak_alias (__readdir_r, readdir64_r)
--
1.8.3.4

View File

@ -1,14 +0,0 @@
diff --git a/sysdeps/x86_64/multiarch/strstr.c b/sysdeps/x86_64/multiarch/strstr.c
index cd63b68..03d8b9a 100644
--- a/sysdeps/x86_64/multiarch/strstr.c
+++ b/sysdeps/x86_64/multiarch/strstr.c
@@ -86,7 +86,7 @@
/* Simple replacement of movdqu to address 4KB boundary cross issue.
If EOS occurs within less than 16B before 4KB boundary, we don't
cross to next page. */
-static __m128i
+static inline __m128i
__m128i_strloadu (const unsigned char * p, __m128i zero)
{
if (__builtin_expect ((int) ((size_t) p & 0xfff) > 0xff0, 0))

View File

@ -32,7 +32,8 @@ PKG_LONGDESC="This is the GNU gettext package. It is interesting for authors or
PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
PKG_CONFIGURE_OPTS_HOST="--disable-rpath \
PKG_CONFIGURE_OPTS_HOST="--enable-static --disable-shared \
--disable-rpath \
--with-gnu-ld \
--disable-java \
--disable-native-java \

View File

@ -37,6 +37,8 @@ PKG_CONFIGURE_OPTS_HOST="--with-gnu-ld \
--with-libiconv=no \
--enable-debug=no \
--disable-man \
--disable-dtrace \
--disable-systemtap \
--disable-rebuilds \
--disable-gtk-doc"

View File

@ -33,3 +33,7 @@ PKG_IS_ADDON="no"
PKG_AUTORECONF="no"
export CC=$LOCAL_CC
post_makeinstall_host() {
ln -sf make $ROOT/$TOOLCHAIN/bin/gmake
}

View File

@ -17,13 +17,13 @@
################################################################################
PKG_NAME="Mesa"
PKG_VERSION="10.0.2"
PKG_VERSION="10.1.0"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"
PKG_SITE="http://www.mesa3d.org/"
PKG_URL="ftp://freedesktop.org/pub/mesa/$PKG_VERSION/MesaLib-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_TARGET="toolchain Python:host makedepend:host libxml2:host expat glproto dri2proto libdrm libXext libXdamage libXfixes libXxf86vm libxcb libX11 systemd"
PKG_URL="ftp://freedesktop.org/pub/mesa/10.1/MesaLib-$PKG_VERSION.tar.bz2"
PKG_DEPENDS_TARGET="toolchain Python:host makedepend:host libxml2:host expat glproto dri2proto libdrm libXext libXdamage libXfixes libXxf86vm libxcb libX11 systemd dri3proto libxshmfence"
PKG_PRIORITY="optional"
PKG_SECTION="graphics"
PKG_SHORTDESC="mesa: 3-D graphics library with OpenGL API"
@ -77,6 +77,7 @@ PKG_CONFIGURE_OPTS_TARGET="CC_FOR_BUILD=$HOST_CC \
--disable-gles2 \
--disable-openvg \
--enable-dri \
--enable-dri3 \
--enable-glx \
--disable-osmesa \
--enable-egl --with-egl-platforms=x11,drm \

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="bcm2835-driver"
PKG_VERSION="f46e6d9"
PKG_VERSION="11886b8"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="nonfree"

View File

@ -48,7 +48,7 @@ configure_target() {
DRM_CONFIG=`echo $DRM_CONFIG | sed -e 's/disable-libkms/enable-libkms/'` && \
DRM_CONFIG=`echo $DRM_CONFIG | sed -e 's/disable-intel/enable-intel/'`
[ "$drv" = "r200" -o "$drv" = "r300" -o "$drv" = "r600" -o "$drv" = "radeon" ] && \
[ "$drv" = "r200" -o "$drv" = "r300" -o "$drv" = "r600" -o "$drv" = "radeonsi" ] && \
DRM_CONFIG=`echo $DRM_CONFIG | sed -e 's/disable-libkms/enable-libkms/'` && \
DRM_CONFIG=`echo $DRM_CONFIG | sed -e 's/disable-radeon/enable-radeon/'`

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="libpng"
PKG_VERSION="1.6.8"
PKG_VERSION="1.6.10"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="OSS"

View File

@ -158,4 +158,11 @@ post_makeinstall_target() {
echo "the issue in most cases"
exit 1
fi
# k0p
rm -rf $INSTALL/usr/bin/2to3
rm -rf $INSTALL/usr/bin/idle
rm -rf $INSTALL/usr/bin/pydoc
rm -rf $INSTALL/usr/bin/smtpd.py
rm -rf $INSTALL/usr/bin/python*-config
}

View File

@ -20,6 +20,7 @@
PKG_NAME="media_build"
PKG_VERSION="1c8936d"
MEDIA_BUILD_VERSION="2014-02-08"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"
@ -44,7 +45,7 @@ make_target() {
wget http://www.linuxtv.org/downloads/firmware/dvb-firmwares.tar.bz2 -O dvb-firmwares.tar.bz2.tmp
cd v4l/firmware/; tar xvfj ../../dvb-firmwares.tar.bz2.tmp
cd ../..
$SED -i -e "/^LATEST_TAR/s/-LATEST/-2014-01-16/g" linux/Makefile
$SED -i -e "/^LATEST_TAR/s/-LATEST/-$MEDIA_BUILD_VERSION/g" linux/Makefile
make VER=$KERNEL_VER SRCDIR=$(kernel_path) -C linux/ download
make VER=$KERNEL_VER SRCDIR=$(kernel_path) -C linux/ untar

View File

@ -0,0 +1,12 @@
This driver contains a binary blob, is utterly broken,
breaks too much hardware that works without it,
and is there only to make self-builders happy.
You are free to use it but there will be no support at all.
Please dont ask us to include it in release builds by default.
To be absolutely clear there will be
=== NO SUPPORT ===
on this driver.

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="vboxguest"
PKG_VERSION="4.3.4"
PKG_VERSION="4.3.8"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="GPL"

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="dvb-firmware"
PKG_VERSION="0.0.36"
PKG_VERSION="0.0.38"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Free-to-use"

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="misc-firmware"
PKG_VERSION="0.0.6"
PKG_VERSION="0.0.9"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Free-to-use"

View File

@ -17,7 +17,7 @@
################################################################################
PKG_NAME="wlan-firmware"
PKG_VERSION="0.0.14"
PKG_VERSION="0.0.17"
PKG_REV="1"
PKG_ARCH="any"
PKG_LICENSE="Free-to-use"

View File

@ -23,7 +23,7 @@ case "$LINUX" in
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
;;
*)
PKG_VERSION="3.13.1"
PKG_VERSION="3.13.6"
PKG_URL="http://www.kernel.org/pub/linux/kernel/v3.x/$PKG_NAME-$PKG_VERSION.tar.xz"
;;
esac
@ -32,7 +32,7 @@ PKG_ARCH="any"
PKG_LICENSE="GPL"
PKG_SITE="http://www.kernel.org"
PKG_DEPENDS_HOST="ccache:host"
PKG_DEPENDS_TARGET="toolchain cpio:host kmod:host pciutils xz wireless-regdb"
PKG_DEPENDS_TARGET="toolchain cpio:host kmod:host pciutils xz:host wireless-regdb"
PKG_DEPENDS_INIT="toolchain"
PKG_NEED_UNPACK="$LINUX_DEPENDS"
PKG_PRIORITY="optional"
@ -50,7 +50,7 @@ fi
PKG_MAKE_OPTS_HOST="ARCH=$TARGET_ARCH headers_check"
if [ "$BOOTLOADER" = "u-boot" ]; then
KERNEL_IMAGE="uImage"
KERNEL_IMAGE="$KERNEL_UBOOT_TARGET"
else
KERNEL_IMAGE="bzImage"
fi
@ -133,7 +133,13 @@ make_target() {
$SCRIPTS/install initramfs
)
LDFLAGS="" make $KERNEL_IMAGE
LDFLAGS="" make $KERNEL_IMAGE $KERNEL_MAKE_EXTRACMD
if [ "$BOOTLOADER" = "u-boot" -a -n "$KERNEL_UBOOT_EXTRA_TARGET" ]; then
for extra_target in "$KERNEL_UBOOT_EXTRA_TARGET"; do
LDFLAGS="" make $extra_target
done
fi
if [ "$PERF_SUPPORT" = "yes" -a "$DEVTOOLS" = "yes" ]; then
( cd tools/perf
@ -164,6 +170,13 @@ make_target() {
}
makeinstall_target() {
if [ "$BOOTLOADER" = "u-boot" ]; then
mkdir -p $INSTALL/usr/share/u-boot
for dtb in arch/arm/boot/dts/*.dtb; do
cp $dtb $INSTALL/usr/share/u-boot
done
fi
if [ "$PERF_SUPPORT" = "yes" -a "$DEVTOOLS" = "yes" ]; then
mkdir -p $INSTALL/usr/bin
cp -P tools/perf/perf $INSTALL/usr/bin/

View File

@ -1,32 +0,0 @@
From b091ef6be8a4d8f3c04c2ff15f6d20364438e8fc Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
Date: Thu, 30 Jan 2014 18:54:24 +0100
Subject: [PATCH] drm/radeon: fix UVD IRQ support on SI
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Otherwise decoding isn't really useable.
Signed-off-by: Christian König <christian.koenig@amd.com>
---
drivers/gpu/drm/radeon/si.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c
index 07ce587..a22df95 100644
--- a/drivers/gpu/drm/radeon/si.c
+++ b/drivers/gpu/drm/radeon/si.c
@@ -6334,6 +6334,10 @@ restart_ih:
break;
}
break;
+ case 124: /* UVD */
+ DRM_DEBUG("IH: UVD int: 0x%08x\n", src_data);
+ radeon_fence_process(rdev, R600_RING_TYPE_UVD_INDEX);
+ break;
case 146:
case 147:
addr = RREG32(VM_CONTEXT1_PROTECTION_FAULT_ADDR);
--
1.8.1.2

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