Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d08f30d9ef |
No files matched your search
@@ -2,6 +2,8 @@
|
||||
|
||||
Lakka is a lightweight Linux distribution that transforms a small computer into a full blown emulation console.
|
||||
|
||||
## Features
|
||||
|
||||
* **Powerful** - Built on top of the famous RetroArch emulator, Lakka is able to emulate a large range of hardware and has some usefull features such as Braid-like rewinding, joypad hotplug and video streaming.
|
||||
* **User friendly** - Lakka is easy to setup and use. Once installed to your SD card, you just have to put your rom on the card, plug your joypad and enjoy your favorite old games.
|
||||
* **Low cost** - The hardware required to run Lakka cost only $35. We also support PS3 and XBox360 controllers so you don't have to buy new ones. The power can be supplied by any micro USB adapter like the one of your smartphone.
|
||||
@@ -15,5 +17,4 @@ Please refer to our website http://www.lakka.tv/get on how to setup Lakka.
|
||||
|
||||
* [FAQ](https://github.com/lakkatv/Lakka/wiki/FAQ)
|
||||
* #lakkatv on irc.freenode.org
|
||||
* [Forums](http://libretro.com/forums/forumdisplay.php?f=26)
|
||||
* contact@lakka.tv
|
||||
@@ -0,0 +1,8 @@
|
||||
ncurses-5.8/5.9:
|
||||
- segfaults in nano and dialog -> using ncurses-5.7
|
||||
|
||||
irserver:
|
||||
- rework irserver/init.d for systemd
|
||||
|
||||
settings addon:
|
||||
- remove ps3 sleep? should be fixed in bluez 5.13/5.14
|
||||
@@ -1,29 +0,0 @@
|
||||
# determines TARGET_CPU, if not forced by user
|
||||
if [ -z "$TARGET_CPU" ]; then
|
||||
TARGET_CPU=cortex-a53
|
||||
fi
|
||||
|
||||
# TARGET_CPU:
|
||||
# generic cortex-a35 cortex-a53 cortex-a57 cortex-a72
|
||||
# exynos-m1 qdf24xx thunderx xgene1 cortex-a57.cortex-a53
|
||||
# cortex-a72.cortex-a53
|
||||
|
||||
# determine architecture's family
|
||||
case $TARGET_CPU in
|
||||
generic|cortex-a35|cortex-a53|cortex-a57|cortex-a72|exynos-m1|qdf24xx|thunderx|xgene1|cortex-a57.cortex-a53|cortex-a72.cortex-a53)
|
||||
TARGET_SUBARCH=aarch64
|
||||
TARGET_VARIANT=armv8-a
|
||||
TARGET_ABI=eabi
|
||||
TARGET_CPU_FLAGS="+crc+crypto"
|
||||
TARGET_EXTRA_FLAGS="-mcpu=${TARGET_CPU}${TARGET_CPU_FLAGS}"
|
||||
SIMD_SUPPORT="yes"
|
||||
;;
|
||||
esac
|
||||
|
||||
TARGET_GCC_ARCH=${TARGET_SUBARCH/-}
|
||||
TARGET_KERNEL_ARCH=arm64
|
||||
|
||||
# setup ARCH specific *FLAGS
|
||||
TARGET_CFLAGS="-march=${TARGET_VARIANT}${TARGET_CPU_FLAGS} -mabi=lp64 -Wno-psabi $TARGET_EXTRA_FLAGS"
|
||||
TARGET_LDFLAGS="-march=${TARGET_VARIANT}${TARGET_CPU_FLAGS} -mtune=$TARGET_CPU"
|
||||
GCC_OPTS="--with-abi=lp64 --with-arch=$TARGET_VARIANT"
|
||||
@@ -31,10 +31,13 @@
|
||||
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||
SIMD_SUPPORT="no"
|
||||
;;
|
||||
cortex-a7|cortex-a15|cortex-a15.cortex-a7)
|
||||
TARGET_SUBARCH=armv7ve
|
||||
cortex-a7|cortex-a15)
|
||||
TARGET_SUBARCH=armv7-a
|
||||
TARGET_ABI=eabi
|
||||
TARGET_EXTRA_FLAGS="-mcpu=$TARGET_CPU"
|
||||
# It's not currently possible to specify the exact architecture variant (-mcpu)
|
||||
# that A7/A15 supports in the command line so use -mtune here.
|
||||
# see http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57907
|
||||
TARGET_EXTRA_FLAGS="-mtune=$TARGET_CPU"
|
||||
TARGET_FPU_FLAGS="-mfloat-abi=$TARGET_FLOAT -mfpu=$TARGET_FPU"
|
||||
SIMD_SUPPORT="yes"
|
||||
;;
|
||||
|
||||
@@ -307,14 +307,12 @@ show_config() {
|
||||
config_message="$config_message\n\n Graphic configuration:"
|
||||
config_message="$config_message\n $dashes$dashes"
|
||||
|
||||
if [ "$DISPLAYSERVER" = "x11" ] ; then
|
||||
config_message="$config_message\n - Xorg Graphic Drivers:\t\t $GRAPHIC_DRIVERS"
|
||||
config_message="$config_message\n - XORG Composite support:\t\t $COMPOSITE_SUPPORT"
|
||||
config_message="$config_message\n - WindowManager:\t\t\t $WINDOWMANAGER"
|
||||
fi
|
||||
config_message="$config_message\n - XORG Composite support:\t\t $COMPOSITE_SUPPORT"
|
||||
config_message="$config_message\n - SDL support:\t\t\t\t $SDL_SUPPORT"
|
||||
config_message="$config_message\n - OpenGL (GLX) support (provider):\t $OPENGL_SUPPORT ($OPENGL)"
|
||||
config_message="$config_message\n - OpenGLES support (provider):\t\t $OPENGLES_SUPPORT ($OPENGLES)"
|
||||
config_message="$config_message\n - WindowManager:\t\t\t $WINDOWMANAGER"
|
||||
config_message="$config_message\n - Xorg Graphic Drivers:\t\t $GRAPHIC_DRIVERS"
|
||||
config_message="$config_message\n - uvesafb support:\t\t\t $UVESAFB_SUPPORT"
|
||||
|
||||
# Hardware decoder support
|
||||
@@ -412,6 +410,7 @@ show_config() {
|
||||
config_message="$config_message\n - Kodi DVDCSS support:\t\t\t $KODI_DVDCSS_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Airplay support:\t\t $KODI_AIRPLAY_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Airtunes support:\t\t $KODI_AIRTUNES_SUPPORT"
|
||||
config_message="$config_message\n - Kodi AFP support:\t\t\t $KODI_AFP_SUPPORT"
|
||||
config_message="$config_message\n - Kodi NFS support:\t\t\t $KODI_NFS_SUPPORT"
|
||||
config_message="$config_message\n - Kodi MySQL support:\t\t\t $KODI_MYSQL_SUPPORT"
|
||||
config_message="$config_message\n - Kodi Optical Drive support:\t\t $KODI_OPTICAL_SUPPORT"
|
||||
|
||||
@@ -32,6 +32,10 @@ get_graphicdrivers() {
|
||||
fi
|
||||
|
||||
for drv in $GRAPHIC_DRIVERS; do
|
||||
if [ "$drv" = "dove" ]; then
|
||||
XORG_DRIVERS="$XORG_DRIVERS dove"
|
||||
fi
|
||||
|
||||
if [ "$drv" = "i915" ]; then
|
||||
DRI_DRIVERS="$DRI_DRIVERS,i915"
|
||||
XORG_DRIVERS="$XORG_DRIVERS intel"
|
||||
@@ -90,7 +94,7 @@ get_graphicdrivers() {
|
||||
|
||||
if [ "$drv" = "radeonsi" ]; then
|
||||
GALLIUM_DRIVERS="$GALLIUM_DRIVERS,radeonsi"
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati amdgpu"
|
||||
XORG_DRIVERS="$XORG_DRIVERS ati"
|
||||
LLVM_SUPPORT="yes"
|
||||
COMPOSITE_SUPPORT="yes"
|
||||
VDPAU_SUPPORT="yes"
|
||||
|
||||
@@ -1 +1 @@
|
||||
Lakka - The DIY retro emulation console
|
||||
Welcome to OpenELEC - the powerful Mediacenter4you
|
||||
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
@@ -1,10 +1,7 @@
|
||||
{
|
||||
"name": "@DISTRONAME@_@PROJECT@",
|
||||
"name": "@DISTRONAME@",
|
||||
"version": "@OPENELEC_VERSION@",
|
||||
"release_date": "@RELEASE_DATE@",
|
||||
"kernel": "@KERNEL_VERSION@",
|
||||
"description": "@DESCRIPTION@",
|
||||
"username": "root",
|
||||
"password": "@ROOT_PASSWORD@",
|
||||
"supported_hex_revisions": "@NOOBS_HEX@"
|
||||
"description": "@DESCRIPTION@"
|
||||
}
|
||||
@@ -1,15 +1,15 @@
|
||||
{
|
||||
"partitions": [
|
||||
{
|
||||
"label": "@DISTRONAME@_@PROJECT@_System",
|
||||
"label": "@DISTRONAME@System",
|
||||
"filesystem_type": "FAT",
|
||||
"partition_size_nominal": 200,
|
||||
"partition_size_nominal": 160,
|
||||
"want_maximised": false,
|
||||
"uncompressed_tarball_size": 170,
|
||||
"uncompressed_tarball_size": 120,
|
||||
"mkfs_options": ""
|
||||
},
|
||||
{
|
||||
"label": "@DISTRONAME@_@PROJECT@_Storage",
|
||||
"label": "@DISTRONAME@Storage",
|
||||
"filesystem_type": "ext4",
|
||||
"partition_size_nominal": 864,
|
||||
"want_maximised": true,
|
||||
|
||||
@@ -452,7 +452,7 @@ hCHKXQk7K9saByvnHQxUtj4O8Ofzv0U52nazcrnNJuVSm43KDXcblPPv1+MnrFMm7h/xA77Hd8qS
|
||||
sodipodi:role="line"
|
||||
x="512"
|
||||
y="958.36218"
|
||||
id="tspan3140">Lakka will appear in your home network</tspan><tspan
|
||||
id="tspan3140">Lakka will appear in you home network</tspan><tspan
|
||||
sodipodi:role="line"
|
||||
x="512"
|
||||
y="1008.3622"
|
||||
|
||||
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
@@ -1,338 +0,0 @@
|
||||
# Name of the Distro to build (full name, without special characters)
|
||||
DISTRONAME="EMU"
|
||||
|
||||
# short project description
|
||||
DESCRIPTION="The DIY retro emulation console"
|
||||
|
||||
# Welcome Message for e.g. SSH Server (up to 5 Lines)
|
||||
GREETING0="###########################################"
|
||||
GREETING1="# Lakka - The DIY retro emulation console #"
|
||||
GREETING2="# ...... visit http://www.lakka.tv ...... #"
|
||||
GREETING3="###########################################"
|
||||
GREETING4=""
|
||||
|
||||
# Root password to integrate in the target system
|
||||
ROOT_PASSWORD="root"
|
||||
|
||||
# Mediacenter to use (kodi / no)
|
||||
MEDIACENTER="no"
|
||||
|
||||
# Skins to install (Confluence)
|
||||
# Space separated list is supported,
|
||||
# e.g. SKINS="Confluence"
|
||||
SKINS="Confluence"
|
||||
|
||||
# Default Skin (Confluence)
|
||||
SKIN_DEFAULT="Confluence"
|
||||
|
||||
# install extra subtitle Fonts for KODI (yes / no)
|
||||
KODI_EXTRA_FONTS="yes"
|
||||
|
||||
# build and install 'RSXS' Screensaver (yes / no)
|
||||
KODI_SCR_RSXS="yes"
|
||||
|
||||
# build and install 'ProjectM' Visualization (yes / no)
|
||||
KODI_VIS_PROJECTM="yes"
|
||||
|
||||
# build and install 'GOOM' Visualization (yes / no)
|
||||
KODI_VIS_GOOM="yes"
|
||||
|
||||
# build and install 'Waveform' Visualization (yes / no)
|
||||
KODI_VIS_WAVEFORM="yes"
|
||||
|
||||
# build and install 'Spectrum' Visualization (yes / no)
|
||||
KODI_VIS_SPECTRUM="yes"
|
||||
|
||||
# build and install 'FishBMC' Visualization (yes / no)
|
||||
# does not work on RPi
|
||||
KODI_VIS_FISHBMC="yes"
|
||||
|
||||
# build and install PulseAudio support (yes / no)
|
||||
PULSEAUDIO_SUPPORT="no"
|
||||
|
||||
# build and install espeak support (yes / no)
|
||||
ESPEAK_SUPPORT="yes"
|
||||
|
||||
# build and install with non-free support
|
||||
# (RAR compression support in KODI) (yes / no)
|
||||
KODI_NONFREE_SUPPORT="yes"
|
||||
|
||||
# build and install with BluRay support (yes / no)
|
||||
KODI_BLURAY_SUPPORT="yes"
|
||||
|
||||
# build and install with BD+ support
|
||||
# (BD+ decryption support in KODI) (yes / no)
|
||||
BLURAY_BDPLUS_SUPPORT="yes"
|
||||
|
||||
# build and install with AACS support
|
||||
# (BD decryption support in KODI) (yes / no)
|
||||
BLURAY_AACS_SUPPORT="yes"
|
||||
|
||||
# build and install with DVDCSS support
|
||||
# (DVD decryption support in KODI) (yes / no)
|
||||
KODI_DVDCSS_SUPPORT="yes"
|
||||
|
||||
# additional drivers to install:
|
||||
# for a list of additinoal drivers see packages/linux-drivers
|
||||
# Space separated list is supported,
|
||||
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8192EU RTL8188EU RTL8812AU"
|
||||
|
||||
# build and install bluetooth support (yes / no)
|
||||
BLUETOOTH_SUPPORT="yes"
|
||||
|
||||
# build and install with KODI webfrontend (yes / no)
|
||||
KODI_WEBSERVER_SUPPORT="yes"
|
||||
|
||||
# build and install Avahi (Zeroconf) daemon (yes / no)
|
||||
AVAHI_DAEMON="yes"
|
||||
|
||||
# build with UPnP support (yes / no)
|
||||
KODI_UPNP_SUPPORT="yes"
|
||||
|
||||
# build with MySQL support (yes / no)
|
||||
KODI_MYSQL_SUPPORT="yes"
|
||||
|
||||
# build xbmc with sshlib support (yes / no)
|
||||
KODI_SSHLIB_SUPPORT="yes"
|
||||
|
||||
# build xbmc with optical drive support (yes / no)
|
||||
KODI_OPTICAL_SUPPORT="yes"
|
||||
|
||||
# KODI Audio encoders for usage with optical drive support
|
||||
# Space separated list is supported,
|
||||
# e.g. KODI_AUDIOENCODER_ADDONS="ENCODER1 ENCODER2"
|
||||
KODI_AUDIOENCODER_ADDONS="flac lame vorbis wav"
|
||||
|
||||
# build with AirPlay support (stream videos from iDevices to KODI) (yes / no)
|
||||
KODI_AIRPLAY_SUPPORT="yes"
|
||||
|
||||
# build with AirTunes support (stream music from iDevices to KODI) (yes / no)
|
||||
KODI_AIRTUNES_SUPPORT="yes"
|
||||
|
||||
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
|
||||
KODI_NFS_SUPPORT="yes"
|
||||
|
||||
# build with afpfs-ng support (mounting AFP shares with KODI) (yes / no)
|
||||
KODI_AFP_SUPPORT="no"
|
||||
|
||||
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
|
||||
KODI_SAMBA_SUPPORT="yes"
|
||||
|
||||
# build with NFS support (mounting nfs shares via the OS) (yes / no)
|
||||
NFS_SUPPORT="yes"
|
||||
|
||||
# build with Samba Client support (mounting samba shares via the OS) (yes / no)
|
||||
SAMBA_SUPPORT="yes"
|
||||
|
||||
# build and install Samba Server (yes / no)
|
||||
SAMBA_SERVER="yes"
|
||||
|
||||
# build and install SFTP Server (yes / no)
|
||||
SFTP_SERVER="yes"
|
||||
|
||||
# build and install PPP support (yes / no)
|
||||
PPTP_SUPPORT="yes"
|
||||
|
||||
# build and install OpenVPN support (yes / no)
|
||||
OPENVPN_SUPPORT="yes"
|
||||
|
||||
# build and install diskmounter support (udevil)
|
||||
# this service provide auto mounting support for external drives in the
|
||||
# mediacenter also automount internally drives at boottime via udev (yes / no)
|
||||
UDEVIL="yes"
|
||||
|
||||
# build and install exFAT fuse support (yes / no)
|
||||
EXFAT="yes"
|
||||
|
||||
# build and install NTFS-3G fuse support (yes / no)
|
||||
NTFS3G="yes"
|
||||
|
||||
# build and install hfs filesystem utilities (yes / no)
|
||||
HFSTOOLS="yes"
|
||||
|
||||
# Windowmanager to use (ratpoison / fluxbox / none)
|
||||
WINDOWMANAGER="none"
|
||||
|
||||
# Xorg Graphic drivers to use (all / i915,i965,r200,r300,r600,nvidia,nouveau)
|
||||
# Space separated list is supported,
|
||||
# e.g. GRAPHIC_DRIVERS="i915 i965 r300 r600 radeonsi nvidia nouveau"
|
||||
if [ "$TARGET_ARCH" = "i386" ]; then
|
||||
# TODO: create Legacy build with OpenELEC-4.2
|
||||
# install legacy drivers to i386 ARCH
|
||||
GRAPHIC_DRIVERS="r200 r300 r600 i915 i965 nouveau"
|
||||
elif [ "$TARGET_ARCH" = "x86_64" ]; then
|
||||
GRAPHIC_DRIVERS="r300 r600 radeonsi i915 i965 nouveau"
|
||||
fi
|
||||
|
||||
# build and install remote support (yes / no)
|
||||
REMOTE_SUPPORT="no"
|
||||
|
||||
# build and install ATV IR remote support (yes / no)
|
||||
ATVCLIENT_SUPPORT="no"
|
||||
|
||||
# build and install IRServer IR/LCD support (yes / no)
|
||||
IRSERVER_SUPPORT="no"
|
||||
|
||||
# build and install Joystick support (yes / no)
|
||||
JOYSTICK_SUPPORT="yes"
|
||||
|
||||
# build and install CEC adapter support (yes / no)
|
||||
CEC_SUPPORT="yes"
|
||||
|
||||
# build and install iSCSI support - iscsistart (yes / no)
|
||||
ISCSI_SUPPORT="yes"
|
||||
|
||||
# LCD driver to Use - Possible drivers are ( Comma seperated:
|
||||
# bayrad,CFontz,CFontz633,CFontzPacket,curses,CwLnx,dm140,
|
||||
# ea65,EyeboxOne,g15,glcdlib,glk,hd44780,i2500vfd,
|
||||
# icp_a106,imon,imonlcd,IOWarrior,irman,irtrans,
|
||||
# joy,lb216,lcdm001,lcterm,lirc,lis,MD8800,mdm166a,
|
||||
# ms6931,mtc_s16209x,MtxOrb,mx5000,NoritakeVFD,
|
||||
# picolcd,pyramid,sed1330,sed1520,serialPOS,
|
||||
# serialVFD,shuttleVFD,sli,stv5730,SureElec,svga,vlsys_m428
|
||||
# 'all' compiles all drivers;
|
||||
# 'all,!xxx,!yyy' de-selects previously selected drivers
|
||||
# "none" for disable LCD support
|
||||
LCD_DRIVER="irtrans,imon,imonlcd,mdm166a,MtxOrb,lis,dm140,hd44780,CFontz,SureElec,vlsys_m428,serialVFD,shuttleVFD"
|
||||
|
||||
# Support for partitioning and formating disks in initramfs (yes / no)
|
||||
# This adds support for parted and mkfs.ext3/4 to initramfs for OEM usage
|
||||
INITRAMFS_PARTED_SUPPORT="no"
|
||||
|
||||
# build with swap support (yes / no)
|
||||
SWAP_SUPPORT="no"
|
||||
|
||||
# swap support enabled per default (yes / no)
|
||||
SWAP_ENABLED_DEFAULT="no"
|
||||
|
||||
# swapfile size if SWAP_SUPPORT=yes in MB
|
||||
SWAPFILESIZE="256"
|
||||
|
||||
# build with installer (yes / no)
|
||||
INSTALLER_SUPPORT="yes"
|
||||
|
||||
# Testpackages for development (yes / no)
|
||||
TESTING="no"
|
||||
|
||||
# OEM packages for OEM's (yes / no)
|
||||
OEM_SUPPORT="yes"
|
||||
|
||||
# build and install nano text editor (yes / no)
|
||||
NANO_EDITOR="yes"
|
||||
|
||||
# cron support (yes / no)
|
||||
CRON_SUPPORT="yes"
|
||||
|
||||
# Perf support in development builds (yes / no)
|
||||
PERF_SUPPORT="yes"
|
||||
|
||||
# Distribution Specific source location
|
||||
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
|
||||
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"
|
||||
|
||||
# Addon Server Url
|
||||
ADDON_SERVER_URL="http://addons.openelec.tv"
|
||||
|
||||
# set the addon dirs
|
||||
ADDON_PATH="$ADDON_VERSION/$PROJECT/$TARGET_ARCH"
|
||||
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
|
||||
|
||||
LAKKA_MIRROR="http://sources.lakka.tv"
|
||||
RA_PLAYLIST_NAMES=""\
|
||||
"Atari - 2600.lpl;"\
|
||||
"Atari - 5200.lpl;"\
|
||||
"Atari - 7800.lpl;"\
|
||||
"Atari - Jaguar.lpl;"\
|
||||
"Atari - Lynx.lpl;"\
|
||||
"Atari - ST.lpl;"\
|
||||
"Bandai - WonderSwan Color.lpl;"\
|
||||
"Bandai - WonderSwan.lpl;"\
|
||||
"Cave Story.lpl;"\
|
||||
"Coleco - ColecoVision.lpl;"\
|
||||
"DOOM.lpl;"\
|
||||
"FB Alpha - Arcade Games.lpl;"\
|
||||
"GCE - Vectrex.lpl;"\
|
||||
"Lutro.lpl;"\
|
||||
"Magnavox - Odyssey2.lpl;"\
|
||||
"MAME.lpl;"\
|
||||
"Microsoft - MSX2.lpl;"\
|
||||
"Microsoft - MSX.lpl;"\
|
||||
"NEC - PC Engine SuperGrafx.lpl;"\
|
||||
"NEC - PC Engine - TurboGrafx 16.lpl;"\
|
||||
"Nintendo - Famicom Disk System.lpl;"\
|
||||
"Nintendo - Game Boy Advance (e-Cards).lpl;"\
|
||||
"Nintendo - Game Boy Advance.lpl;"\
|
||||
"Nintendo - Game Boy Color.lpl;"\
|
||||
"Nintendo - Game Boy.lpl;"\
|
||||
"Nintendo - Nintendo 64.lpl;"\
|
||||
"Nintendo - Nintendo DS Decrypted.lpl;"\
|
||||
"Nintendo - Nintendo DS (Download Play) (BETA).lpl;"\
|
||||
"Nintendo - Nintendo DSi Decrypted.lpl;"\
|
||||
"Nintendo - Nintendo DSi (DLC).lpl;"\
|
||||
"Nintendo - Nintendo Entertainment System.lpl;"\
|
||||
"Nintendo - Satellaview.lpl;"\
|
||||
"Nintendo - Super Nintendo Entertainment System.lpl;"\
|
||||
"Nintendo - Virtual Boy.lpl;"\
|
||||
"Quake1.lpl;"\
|
||||
"ScummVM.lpl;"\
|
||||
"Sega - 32X.lpl;"\
|
||||
"Sega - Game Gear.lpl;"\
|
||||
"Sega - Master System - Mark III.lpl;"\
|
||||
"Sega - Mega Drive - Genesis.lpl;"\
|
||||
"Sega - PICO.lpl;"\
|
||||
"Sega - SG-1000.lpl;"\
|
||||
"Sinclair - ZX Spectrum +3.lpl;"\
|
||||
"SNK - Neo Geo Pocket Color.lpl;"\
|
||||
"SNK - Neo Geo Pocket.lpl;"\
|
||||
"Sony - PlayStation Portable.lpl;"\
|
||||
"Sony - PlayStation.lpl"
|
||||
|
||||
RA_PLAYLIST_CORES=""\
|
||||
"/tmp/cores/stella_libretro.so;"\
|
||||
"DETECT;"\
|
||||
"/tmp/cores/prosystem_libretro.so;"\
|
||||
"/tmp/cores/virtualjaguar_libretro.so;"\
|
||||
"/tmp/cores/handy_libretro.so;"\
|
||||
"/tmp/cores/hatari_libretro.so;"\
|
||||
"/tmp/cores/mednafen_wswan_libretro.so;"\
|
||||
"/tmp/cores/mednafen_wswan_libretro.so;"\
|
||||
"/tmp/cores/nxengine_libretro.so;"\
|
||||
"/tmp/cores/bluemsx_libretro.so;"\
|
||||
"/tmp/cores/prboom_libretro.so;"\
|
||||
"/tmp/cores/fba_libretro.so;"\
|
||||
"/tmp/cores/vecx_libretro.so;"\
|
||||
"/tmp/cores/lutro_libretro.so;"\
|
||||
"/tmp/cores/o2em_libretro.so;"\
|
||||
"/tmp/cores/mame_libretro.so;"\
|
||||
"/tmp/cores/bluemsx_libretro.so;"\
|
||||
"/tmp/cores/bluemsx_libretro.so;"\
|
||||
"/tmp/cores/mednafen_supergrafx_libretro.so;"\
|
||||
"/tmp/cores/mednafen_pce_fast_libretro.so;"\
|
||||
"/tmp/cores/nestopia_libretro.so;"\
|
||||
"/tmp/cores/mgba_libretro.so;"\
|
||||
"/tmp/cores/mgba_libretro.so;"\
|
||||
"/tmp/cores/gambatte_libretro.so;"\
|
||||
"/tmp/cores/gambatte_libretro.so;"\
|
||||
"/tmp/cores/mupen64plus_libretro.so;"\
|
||||
"/tmp/cores/desmume_libretro.so;"\
|
||||
"/tmp/cores/desmume_libretro.so;"\
|
||||
"/tmp/cores/desmume_libretro.so;"\
|
||||
"/tmp/cores/desmume_libretro.so;"\
|
||||
"/tmp/cores/nestopia_libretro.so;"\
|
||||
"/tmp/cores/snes9x_next_libretro.so;"\
|
||||
"/tmp/cores/snes9x_next_libretro.so;"\
|
||||
"/tmp/cores/mednafen_vb_libretro.so;"\
|
||||
"/tmp/cores/tyrquake_libretro.so;"\
|
||||
"/tmp/cores/scummvm_libretro.so;"\
|
||||
"/tmp/cores/picodrive_libretro.so;"\
|
||||
"/tmp/cores/genesis_plus_gx_libretro.so;"\
|
||||
"/tmp/cores/genesis_plus_gx_libretro.so;"\
|
||||
"/tmp/cores/genesis_plus_gx_libretro.so;"\
|
||||
"/tmp/cores/picodrive_libretro.so;"\
|
||||
"/tmp/cores/genesis_plus_gx_libretro.so;"\
|
||||
"/tmp/cores/fuse_libretro.so;"\
|
||||
"/tmp/cores/mednafen_ngp_libretro.so;"\
|
||||
"/tmp/cores/mednafen_ngp_libretro.so;"\
|
||||
"/tmp/cores/ppsspp_libretro.so;"\
|
||||
"/tmp/cores/pcsx_rearmed_libretro.so"
|
||||
@@ -1,46 +0,0 @@
|
||||
# httpd.conf has the following format:
|
||||
#
|
||||
# H:/serverroot # define the server root. It will override -h
|
||||
# A:172.20. # Allow address from 172.20.0.0/16
|
||||
# A:10.0.0.0/25 # Allow any address from 10.0.0.0-10.0.0.127
|
||||
# A:10.0.0.0/255.255.255.128 # Allow any address that previous set
|
||||
# A:127.0.0.1 # Allow local loopback connections
|
||||
# D:* # Deny from other IP connections
|
||||
# E404:/path/e404.html # /path/e404.html is the 404 (not found) error page
|
||||
# I:index.html # Show index.html when a directory is requested
|
||||
#
|
||||
# P:/url:[http://]hostname[:port]/new/path
|
||||
# # When /urlXXXXXX is requested, reverse proxy
|
||||
# # it to http://hostname[:port]/new/pathXXXXXX
|
||||
#
|
||||
# /cgi-bin:foo:bar # Require user foo, pwd bar on urls starting with /cgi-bin/
|
||||
# /adm:admin:setup # Require user admin, pwd setup on urls starting with /adm/
|
||||
# /adm:toor:PaSsWd # or user toor, pwd PaSsWd on urls starting with /adm/
|
||||
# .au:audio/basic # additional mime type for audio.au files
|
||||
# *.php:/path/php # run xxx.php through an interpreter
|
||||
#
|
||||
# A/D may be as a/d or allow/deny - only first char matters.
|
||||
# Deny/Allow IP logic:
|
||||
# - Default is to allow all (Allow all (A:*) is a no-op).
|
||||
# - Deny rules take precedence over allow rules.
|
||||
# - "Deny all" rule (D:*) is applied last.
|
||||
#
|
||||
# Example:
|
||||
# 1. Allow only specified addresses
|
||||
# A:172.20 # Allow any address that begins with 172.20.
|
||||
# A:10.10. # Allow any address that begins with 10.10.
|
||||
# A:127.0.0.1 # Allow local loopback connections
|
||||
# D:* # Deny from other IP connections
|
||||
#
|
||||
# 2. Only deny specified addresses
|
||||
# D:1.2.3. # deny from 1.2.3.0 - 1.2.3.255
|
||||
# D:2.3.4. # deny from 2.3.4.0 - 2.3.4.255
|
||||
# A:* # (optional line added for clarity)
|
||||
#
|
||||
|
||||
H:/usr/www # define the server root. It will override -h
|
||||
A:* # Allow address from all ip's
|
||||
E404:/usr/www/error/404.html # /path/e404.html is the 404 (not found) error page
|
||||
I:index.html # Show index.html when a directory is requested
|
||||
|
||||
*.php:/usr/bin/php-cgi
|
||||
@@ -1,66 +0,0 @@
|
||||
# /etc/inputrc - global inputrc for libreadline
|
||||
# See readline(3readline) and `info rluserman' for more information.
|
||||
|
||||
# Be 8 bit clean.
|
||||
set input-meta on
|
||||
set output-meta on
|
||||
|
||||
# To allow the use of 8bit-characters like the german umlauts, uncomment
|
||||
# the line below. However this makes the meta key not work as a meta key,
|
||||
# which is annoying to those which don't need to type in 8-bit characters.
|
||||
|
||||
# set convert-meta off
|
||||
|
||||
# try to enable the application keypad when it is called. Some systems
|
||||
# need this to enable the arrow keys.
|
||||
# set enable-keypad on
|
||||
|
||||
# see /usr/share/doc/bash/inputrc.arrows for other codes of arrow keys
|
||||
|
||||
# do not bell on tab-completion
|
||||
# set bell-style none
|
||||
# set bell-style visible
|
||||
|
||||
# some defaults / modifications for the emacs mode
|
||||
$if mode=emacs
|
||||
|
||||
# allow the use of the Home/End keys
|
||||
"\e[1~": beginning-of-line
|
||||
"\e[4~": end-of-line
|
||||
|
||||
# allow the use of the Delete/Insert keys
|
||||
"\e[3~": delete-char
|
||||
"\e[2~": quoted-insert
|
||||
|
||||
# mappings for "page up" and "page down" to step to the beginning/end
|
||||
# of the history
|
||||
# "\e[5~": beginning-of-history
|
||||
# "\e[6~": end-of-history
|
||||
|
||||
# alternate mappings for "page up" and "page down" to search the history
|
||||
# "\e[5~": history-search-backward
|
||||
# "\e[6~": history-search-forward
|
||||
|
||||
# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
|
||||
"\e[1;5C": forward-word
|
||||
"\e[1;5D": backward-word
|
||||
"\e[5C": forward-word
|
||||
"\e[5D": backward-word
|
||||
"\e\e[C": forward-word
|
||||
"\e\e[D": backward-word
|
||||
|
||||
$if term=rxvt
|
||||
"\e[8~": end-of-line
|
||||
"\eOc": forward-word
|
||||
"\eOd": backward-word
|
||||
$endif
|
||||
|
||||
# for non RH/Debian xterm, can't hurt for RH/Debian xterm
|
||||
# "\eOH": beginning-of-line
|
||||
# "\eOF": end-of-line
|
||||
|
||||
# for freebsd console
|
||||
# "\e[H": beginning-of-line
|
||||
# "\e[F": end-of-line
|
||||
|
||||
$endif
|
||||
@@ -1,49 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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/>.
|
||||
################################################################################
|
||||
|
||||
# parse command line arguments
|
||||
for arg in $(cat /proc/cmdline); do
|
||||
case $arg in
|
||||
debugging)
|
||||
export DEBUG=yes
|
||||
;;
|
||||
progress)
|
||||
PROGRESS=yes
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if [ -e /storage/.cache/debug.openelec ] ; then
|
||||
export DEBUG=yes
|
||||
fi
|
||||
|
||||
# functions
|
||||
progress() {
|
||||
if test "$PROGRESS" = yes; then
|
||||
logger -s -t Boot "### $1 ###"
|
||||
else
|
||||
logger -t Boot "### $1 ###"
|
||||
fi
|
||||
}
|
||||
|
||||
# read config files
|
||||
for config in /etc/profile.d/*; do
|
||||
if [ -f "$config" ] ; then
|
||||
. $config
|
||||
fi
|
||||
done
|
||||
@@ -1 +0,0 @@
|
||||
SUSPEND_MODULES="jme asix anysee rtl8192se imon r8712u cx23885 cdc_acm ddbridge brcmfmac"
|
||||
@@ -1,5 +0,0 @@
|
||||
# transmission with uTP support
|
||||
# please comment out the follow line to activate this values:
|
||||
|
||||
# net.core.wmem_max=1048576
|
||||
# net.core.rmem_max=4194304
|
||||
@@ -1,256 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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="busybox"
|
||||
PKG_VERSION="1.23.1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.busybox.net"
|
||||
PKG_URL="http://busybox.net/downloads/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS_HOST=""
|
||||
PKG_DEPENDS_TARGET="toolchain busybox:host hdparm dosfstools e2fsprogs zip unzip pciutils usbutils parted"
|
||||
PKG_DEPENDS_INIT="toolchain"
|
||||
PKG_PRIORITY="required"
|
||||
PKG_SECTION="system"
|
||||
PKG_SHORTDESC="BusyBox: The Swiss Army Knife of Embedded Linux"
|
||||
PKG_LONGDESC="BusyBox combines tiny versions of many common UNIX utilities into a single small executable. It provides replacements for most of the utilities you usually find in GNU fileutils, shellutils, etc. The utilities in BusyBox generally have fewer options than their full-featured GNU cousins; however, the options that are included provide the expected functionality and behave very much like their GNU counterparts. BusyBox provides a fairly complete environment for any small or embedded system."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
PKG_MAKE_OPTS_HOST="ARCH=$TARGET_ARCH CROSS_COMPILE= KBUILD_VERBOSE=1 install"
|
||||
PKG_MAKE_OPTS_TARGET="ARCH=$TARGET_ARCH \
|
||||
HOSTCC=$HOST_CC \
|
||||
CROSS_COMPILE=$TARGET_PREFIX \
|
||||
KBUILD_VERBOSE=1 \
|
||||
install"
|
||||
PKG_MAKE_OPTS_INIT="ARCH=$TARGET_ARCH \
|
||||
HOSTCC=$HOST_CC \
|
||||
CROSS_COMPILE=$TARGET_PREFIX \
|
||||
KBUILD_VERBOSE=1 \
|
||||
install"
|
||||
|
||||
# nano text editor
|
||||
if [ "$NANO_EDITOR" = "yes" ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET nano"
|
||||
fi
|
||||
|
||||
# nfs support
|
||||
if [ "$NFS_SUPPORT" = yes ]; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET rpcbind"
|
||||
fi
|
||||
|
||||
if [ -f $PROJECT_DIR/$PROJECT/busybox/busybox-target.conf ]; then
|
||||
BUSYBOX_CFG_FILE_TARGET=$PROJECT_DIR/$PROJECT/busybox/busybox-target.conf
|
||||
else
|
||||
BUSYBOX_CFG_FILE_TARGET=$PKG_DIR/config/busybox-target.conf
|
||||
fi
|
||||
|
||||
if [ -f $PROJECT_DIR/$PROJECT/busybox/busybox-init.conf ]; then
|
||||
BUSYBOX_CFG_FILE_INIT=$PROJECT_DIR/$PROJECT/busybox/busybox-init.conf
|
||||
else
|
||||
BUSYBOX_CFG_FILE_INIT=$PKG_DIR/config/busybox-init.conf
|
||||
fi
|
||||
|
||||
pre_build_target() {
|
||||
mkdir -p $PKG_BUILD/.$TARGET_NAME
|
||||
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME
|
||||
}
|
||||
|
||||
pre_build_host() {
|
||||
mkdir -p $PKG_BUILD/.$HOST_NAME
|
||||
cp -RP $PKG_BUILD/* $PKG_BUILD/.$HOST_NAME
|
||||
}
|
||||
|
||||
pre_build_init() {
|
||||
mkdir -p $PKG_BUILD/.$TARGET_NAME-init
|
||||
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME-init
|
||||
}
|
||||
|
||||
configure_host() {
|
||||
cd $ROOT/$PKG_BUILD/.$HOST_NAME
|
||||
cp $PKG_DIR/config/busybox-host.conf .config
|
||||
|
||||
# set install dir
|
||||
sed -i -e "s|^CONFIG_PREFIX=.*$|CONFIG_PREFIX=\"$ROOT/$PKG_BUILD/.install_host\"|" .config
|
||||
|
||||
make oldconfig
|
||||
}
|
||||
|
||||
configure_target() {
|
||||
cd $ROOT/$PKG_BUILD/.$TARGET_NAME
|
||||
cp $BUSYBOX_CFG_FILE_TARGET .config
|
||||
|
||||
# set install dir
|
||||
sed -i -e "s|^CONFIG_PREFIX=.*$|CONFIG_PREFIX=\"$INSTALL\"|" .config
|
||||
|
||||
if [ ! "$DEVTOOLS" = yes ]; then
|
||||
sed -i -e "s|^CONFIG_DEVMEM=.*$|# CONFIG_DEVMEM is not set|" .config
|
||||
fi
|
||||
|
||||
if [ ! "$CRON_SUPPORT" = "yes" ] ; then
|
||||
sed -i -e "s|^CONFIG_CROND=.*$|# CONFIG_CROND is not set|" .config
|
||||
sed -i -e "s|^CONFIG_FEATURE_CROND_D=.*$|# CONFIG_FEATURE_CROND_D is not set|" .config
|
||||
sed -i -e "s|^CONFIG_CRONTAB=.*$|# CONFIG_CRONTAB is not set|" .config
|
||||
fi
|
||||
|
||||
if [ ! "$NFS_SUPPORT" = yes ]; then
|
||||
sed -i -e "s|^CONFIG_FEATURE_MOUNT_NFS=.*$|# CONFIG_FEATURE_MOUNT_NFS is not set|" .config
|
||||
fi
|
||||
|
||||
if [ ! "$SAMBA_SUPPORT" = yes ]; then
|
||||
sed -i -e "s|^CONFIG_FEATURE_MOUNT_CIFS=.*$|# CONFIG_FEATURE_MOUNT_CIFS is not set|" .config
|
||||
fi
|
||||
|
||||
# optimize for size
|
||||
CFLAGS=`echo $CFLAGS | sed -e "s|-Ofast|-Os|"`
|
||||
CFLAGS=`echo $CFLAGS | sed -e "s|-O.|-Os|"`
|
||||
|
||||
# busybox fails to build with GOLD support enabled with binutils-2.25
|
||||
strip_gold
|
||||
|
||||
LDFLAGS="$LDFLAGS -fwhole-program"
|
||||
|
||||
make oldconfig
|
||||
}
|
||||
|
||||
configure_init() {
|
||||
cd $ROOT/$PKG_BUILD/.$TARGET_NAME-init
|
||||
cp $BUSYBOX_CFG_FILE_INIT .config
|
||||
|
||||
# set install dir
|
||||
sed -i -e "s|^CONFIG_PREFIX=.*$|CONFIG_PREFIX=\"$INSTALL\"|" .config
|
||||
|
||||
# optimize for size
|
||||
CFLAGS=`echo $CFLAGS | sed -e "s|-Ofast|-Os|"`
|
||||
CFLAGS=`echo $CFLAGS | sed -e "s|-O.|-Os|"`
|
||||
|
||||
# busybox fails to build with GOLD support enabled with binutils-2.25
|
||||
strip_gold
|
||||
|
||||
LDFLAGS="$LDFLAGS -fwhole-program"
|
||||
|
||||
make oldconfig
|
||||
}
|
||||
|
||||
makeinstall_host() {
|
||||
mkdir -p $ROOT/$TOOLCHAIN/bin
|
||||
cp -R $ROOT/$PKG_BUILD/.install_host/bin/* $ROOT/$TOOLCHAIN/bin
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/bin
|
||||
cp $PKG_DIR/scripts/createlog $INSTALL/usr/bin/
|
||||
cp $PKG_DIR/scripts/lsb_release $INSTALL/usr/bin/
|
||||
cp $PKG_DIR/scripts/apt-get $INSTALL/usr/bin/
|
||||
cp $PKG_DIR/scripts/passwd $INSTALL/usr/bin/
|
||||
cp $PKG_DIR/scripts/sudo $INSTALL/usr/bin/
|
||||
ln -sf /bin/busybox $INSTALL/usr/bin/env #/usr/bin/env is needed for most python scripts
|
||||
cp $PKG_DIR/scripts/pastebinit $INSTALL/usr/bin/
|
||||
ln -sf pastebinit $INSTALL/usr/bin/paste
|
||||
|
||||
mkdir -p $INSTALL/usr/lib/openelec
|
||||
cp $PKG_DIR/scripts/fs-resize $INSTALL/usr/lib/openelec
|
||||
|
||||
mkdir -p $INSTALL/etc
|
||||
cp $PKG_DIR/config/profile $INSTALL/etc
|
||||
cp $PKG_DIR/config/inputrc $INSTALL/etc
|
||||
cp $PKG_DIR/config/httpd.conf $INSTALL/etc
|
||||
cp $PKG_DIR/config/suspend-modules.conf $INSTALL/etc
|
||||
|
||||
mkdir -p $INSTALL/usr/config/sysctl.d
|
||||
cp $PKG_DIR/config/transmission.conf $INSTALL/usr/config/sysctl.d
|
||||
|
||||
# /etc/fstab is needed by...
|
||||
touch $INSTALL/etc/fstab
|
||||
|
||||
# /etc/machine-id, needed by systemd and dbus
|
||||
ln -sf /run/machine-id $INSTALL/etc/machine-id
|
||||
|
||||
# /etc/hosts must be writeable
|
||||
ln -sf /var/cache/hosts $INSTALL/etc/hosts
|
||||
|
||||
# /etc/mtab is needed by udisks etc...
|
||||
ln -sf /proc/self/mounts $INSTALL/etc/mtab
|
||||
|
||||
# create /etc/hostname
|
||||
ln -sf /proc/sys/kernel/hostname $INSTALL/etc/hostname
|
||||
|
||||
# systemd wants /usr/bin/mkdir
|
||||
mkdir -p $INSTALL/usr/bin
|
||||
ln -sf /bin/busybox $INSTALL/usr/bin/mkdir
|
||||
|
||||
# add webroot
|
||||
mkdir -p $INSTALL/usr/www
|
||||
echo "It works" > $INSTALL/usr/www/index.html
|
||||
|
||||
mkdir -p $INSTALL/usr/www/error
|
||||
echo "404" > $INSTALL/usr/www/error/404.html
|
||||
}
|
||||
|
||||
post_install() {
|
||||
ROOT_PWD="`$ROOT/$TOOLCHAIN/bin/cryptpw -m sha512 $ROOT_PASSWORD`"
|
||||
|
||||
echo "chmod 4755 $INSTALL/bin/busybox" >> $FAKEROOT_SCRIPT
|
||||
echo "chmod 000 $INSTALL/etc/shadow" >> $FAKEROOT_SCRIPT
|
||||
|
||||
add_user root "$ROOT_PWD" 0 0 "Root User" "/storage" "/bin/sh"
|
||||
add_group root 0
|
||||
add_group users 100
|
||||
|
||||
add_user nobody x 65534 65534 "Nobody" "/" "/bin/sh"
|
||||
add_group nogroup 65534
|
||||
|
||||
enable_service debug-shell.service
|
||||
enable_service shell.service
|
||||
enable_service connman-ncurses.service
|
||||
enable_service show-version.service
|
||||
enable_service var.mount
|
||||
enable_service var-log-debug.service
|
||||
enable_service fs-resize.service
|
||||
|
||||
# cron support
|
||||
if [ "$CRON_SUPPORT" = "yes" ] ; then
|
||||
mkdir -p $INSTALL/usr/lib/systemd/system
|
||||
cp $PKG_DIR/system.d.opt/cron.service $INSTALL/usr/lib/systemd/system
|
||||
enable_service cron.service
|
||||
mkdir -p $INSTALL/usr/share/services
|
||||
cp -P $PKG_DIR/default.d/*.conf $INSTALL/usr/share/services
|
||||
cp $PKG_DIR/system.d.opt/cron-defaults.service $INSTALL/usr/lib/systemd/system
|
||||
enable_service cron-defaults.service
|
||||
fi
|
||||
}
|
||||
|
||||
makeinstall_init() {
|
||||
mkdir -p $INSTALL/bin
|
||||
ln -sf busybox $INSTALL/bin/sh
|
||||
chmod 4755 $INSTALL/bin/busybox
|
||||
|
||||
mkdir -p $INSTALL/etc
|
||||
touch $INSTALL/etc/fstab
|
||||
ln -sf /proc/self/mounts $INSTALL/etc/mtab
|
||||
|
||||
if [ -f $PROJECT_DIR/$PROJECT/initramfs/platform_init ]; then
|
||||
cp $PROJECT_DIR/$PROJECT/initramfs/platform_init $INSTALL
|
||||
chmod 755 $INSTALL/platform_init
|
||||
fi
|
||||
|
||||
cp $PKG_DIR/scripts/init $INSTALL
|
||||
chmod 755 $INSTALL/init
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -Naur busybox-1.13.2/init/halt.c busybox-1.13.2a/init/halt.c
|
||||
--- busybox-1.13.2/init/halt.c 2008-11-09 18:28:19.000000000 +0100
|
||||
+++ busybox-1.13.2a/init/halt.c 2009-02-01 16:38:37.000000000 +0100
|
||||
@@ -79,7 +79,7 @@
|
||||
|
||||
/* Perform action. */
|
||||
rc = 1;
|
||||
- if (!(flags & 4)) { /* no -f */
|
||||
+ if (ENABLE_INIT && !(flags & 4)) { /* no -f */
|
||||
//TODO: I tend to think that signalling linuxrc is wrong
|
||||
// pity original author didn't comment on it...
|
||||
if (ENABLE_FEATURE_INITRD) {
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -Naur busybox-1.17.3-old/scripts/trylink busybox-1.17.3-new/scripts/trylink
|
||||
--- busybox-1.17.3-old/scripts/trylink 2010-09-16 16:05:35.000000000 -0700
|
||||
+++ busybox-1.17.3-new/scripts/trylink 2010-10-10 07:38:03.000000000 -0700
|
||||
@@ -49,7 +49,7 @@
|
||||
local tempname="/tmp/temp.$$.$RANDOM"
|
||||
# Can use "-o /dev/null", but older gcc tend to *unlink it* on failure! :(
|
||||
# "-xc": C language. "/dev/null" is an empty source file.
|
||||
- if $CC $1 -shared -xc /dev/null -o "$tempname".o >/dev/null 2>&1; then
|
||||
+ if $CC $CFLAGS $LDFLAGS $1 -shared -xc /dev/null -o "$tempname".o >/dev/null 2>&1; then
|
||||
echo "$1";
|
||||
else
|
||||
echo "$2";
|
||||
@@ -1,20 +0,0 @@
|
||||
From 5f4085ddb16c206b1dc36d481c2aa6684ba392ee Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <[email protected]>
|
||||
Date: Thu, 18 Jul 2013 19:26:21 +0300
|
||||
Subject: [PATCH] silence crond startup logging
|
||||
|
||||
---
|
||||
miscutils/crond.c | 1 -
|
||||
1 files changed, 0 insertions(+), 1 deletions(-)
|
||||
|
||||
diff -Naur busybox-1.23.0/miscutils/crond.c busybox-1.23.0.patch/miscutils/crond.c
|
||||
--- busybox-1.23.0/miscutils/crond.c 2014-10-04 22:35:59.000000000 +0200
|
||||
+++ busybox-1.23.0.patch/miscutils/crond.c 2014-12-26 23:07:53.386118290 +0100
|
||||
@@ -945,7 +945,6 @@
|
||||
|
||||
reopen_logfile_to_stderr();
|
||||
xchdir(G.crontab_dir_name);
|
||||
- log8("crond (busybox "BB_VER") started, log level %d", G.log_level);
|
||||
rescan_crontab_dir();
|
||||
write_pidfile(CONFIG_PID_FILE_PATH "/crond.pid");
|
||||
|
||||
@@ -1,26 +0,0 @@
|
||||
#
|
||||
# stolen from OpenWRT
|
||||
#
|
||||
# https://dev.openwrt.org/attachment/ticket/7993/701-make_unicode_printable.patch
|
||||
#
|
||||
|
||||
--- a/libbb/printable_string.c 2013-01-13 20:06:04.210089516 +0800
|
||||
+++ b/libbb/printable_string.c 2013-01-13 20:00:27.917211167 +0800
|
||||
@@ -31,8 +31,6 @@
|
||||
}
|
||||
if (c < ' ')
|
||||
break;
|
||||
- if (c >= 0x7f)
|
||||
- break;
|
||||
s++;
|
||||
}
|
||||
|
||||
@@ -45,7 +43,7 @@
|
||||
unsigned char c = *d;
|
||||
if (c == '\0')
|
||||
break;
|
||||
- if (c < ' ' || c >= 0x7f)
|
||||
+ if (c < ' ')
|
||||
*d = '?';
|
||||
d++;
|
||||
}
|
||||
@@ -1,40 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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/>.
|
||||
################################################################################
|
||||
|
||||
message="$message\n There is no working 'apt-get'."
|
||||
message="$message\n "
|
||||
message="$message\n 'apt-get' is a command to install, update and remove software which"
|
||||
message="$message\n is stored in a non local repo. 'apt-get' does nothing then connecting to such"
|
||||
message="$message\n repo, downloads the software, unpacks the software, updates a big"
|
||||
message="$message\n local database with all filepaths and other informations about the"
|
||||
message="$message\n installed software or removes or updates installed Software."
|
||||
message="$message\n "
|
||||
message="$message\n With OpenELEC it is not possible to change the system for security and"
|
||||
message="$message\n stability reasons so even 'apt-get' would not be able to do this."
|
||||
message="$message\n We also dont have and want to maintain such a repo for various other"
|
||||
message="$message\n great reasons."
|
||||
message="$message\n "
|
||||
message="$message\n Also Ubuntu or Debian packages are often outdated and not compatible"
|
||||
message="$message\n with OpenELEC"
|
||||
message="$message\n "
|
||||
message="$message\n TIP: use XBMC's addon browser to enhance your OpenELEC system"
|
||||
|
||||
echo -e $message
|
||||
exit 1
|
||||
@@ -1,146 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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/>.
|
||||
################################################################################
|
||||
|
||||
# create logfile
|
||||
|
||||
DATE=`date -u +%Y-%m-%d-%H.%M.%S`
|
||||
BASEDIR="/tmp"
|
||||
LOGDIR="log-$DATE"
|
||||
RELEASE="`cat /etc/release`"
|
||||
GIT="`cat /etc/issue |grep git`"
|
||||
|
||||
getlog_cmd() {
|
||||
if which $1 >/dev/null; then
|
||||
echo "################################################################################" >> $BASEDIR/$LOGDIR/$LOGFILE
|
||||
echo "# ... output of $@" >> $BASEDIR/$LOGDIR/$LOGFILE
|
||||
echo "# OpenELEC release: $RELEASE" >> $BASEDIR/$LOGDIR/$LOGFILE
|
||||
echo "# $GIT" >> $BASEDIR/$LOGDIR/$LOGFILE
|
||||
echo "################################################################################" >> $BASEDIR/$LOGDIR/$LOGFILE
|
||||
$@ >> $BASEDIR/$LOGDIR/$LOGFILE 2>/dev/null
|
||||
echo "" >> $BASEDIR/$LOGDIR/$LOGFILE
|
||||
fi
|
||||
}
|
||||
|
||||
rm -rf $BASEDIR/$LOGDIR
|
||||
mkdir -p $BASEDIR/$LOGDIR
|
||||
|
||||
# kodi.log
|
||||
LOGFILE="01_KODI.log"
|
||||
for i in `find /storage/.kodi/temp/ -type f -name "*.log"`; do
|
||||
getlog_cmd cat $i
|
||||
done
|
||||
|
||||
# System.log
|
||||
LOGFILE="02_System.log"
|
||||
getlog_cmd dmesg
|
||||
getlog_cmd lsmod
|
||||
getlog_cmd ps xa
|
||||
for i in /storage/.config/hwdb.d/*.hwdb \
|
||||
/storage/.config/modprobe.d/*.conf \
|
||||
/storage/.config/modules-load.d/*.conf \
|
||||
/storage/.config/sleep.d/*.power \
|
||||
/storage/.config/sysctl.d/*.conf \
|
||||
/storage/.config/udev.rules.d/.rules \
|
||||
; do
|
||||
if [ -f "$i" ] ; then
|
||||
getlog_cmd cat $i
|
||||
fi
|
||||
done
|
||||
if [ -f "/storage/.config/autostart.sh" ] ; then
|
||||
getlog_cmd cat /storage/.config/autostart.sh
|
||||
fi
|
||||
if [ -f "/storage/.config/shutdown.sh" ] ; then
|
||||
getlog_cmd cat /storage/.config/shutdown.sh
|
||||
fi
|
||||
getlog_cmd ls -laR /storage/.config/system.d
|
||||
# note: we dont add .mount units here as they may contan
|
||||
# login credentials
|
||||
for i in /storage/.config/system.d/*.service ; do
|
||||
if [ -f "$i" -a ! -L "$i" ] ; then
|
||||
getlog_cmd cat $i
|
||||
fi
|
||||
done
|
||||
|
||||
# Hardware.log
|
||||
LOGFILE="03_Hardware.log"
|
||||
getlog_cmd lspci -vvvvnn
|
||||
getlog_cmd lsusb -vvv
|
||||
getlog_cmd lsusb -t
|
||||
getlog_cmd cat /proc/cpuinfo
|
||||
getlog_cmd cat /proc/meminfo
|
||||
|
||||
# Audio.log
|
||||
LOGFILE="04_Audio.log"
|
||||
getlog_cmd aplay -l
|
||||
getlog_cmd aplay -L
|
||||
getlog_cmd amixer
|
||||
|
||||
# Network.log
|
||||
LOGFILE="05_Network.log"
|
||||
getlog_cmd ifconfig -a
|
||||
getlog_cmd netstat -rn
|
||||
getlog_cmd netstat -nalp
|
||||
getlog_cmd connmanctl services
|
||||
getlog_cmd cat /etc/resolv.conf
|
||||
|
||||
# varlog.log
|
||||
LOGFILE="06_varlog.log"
|
||||
for i in `find /var/log -type f`; do
|
||||
getlog_cmd cat $i
|
||||
done
|
||||
|
||||
# Input.log
|
||||
LOGFILE="07_input.log"
|
||||
getlog_cmd cat /proc/bus/input/devices
|
||||
# make RPi users happy
|
||||
if [ -e /proc/acpi/wakeup ] ; then
|
||||
getlog_cmd cat /proc/acpi/wakeup
|
||||
fi
|
||||
|
||||
# Filesystem.log
|
||||
LOGFILE="08_Filesystem.log"
|
||||
getlog_cmd cat /proc/mounts
|
||||
getlog_cmd df -h
|
||||
getlog_cmd blkid
|
||||
|
||||
# Journal (current)
|
||||
LOGFILE="09_Journal-cur.log"
|
||||
getlog_cmd journalctl --no-pager -b -0
|
||||
|
||||
# Journal (prev)
|
||||
LOGFILE="10_Journal-prev.log"
|
||||
getlog_cmd journalctl --no-pager -b -1
|
||||
|
||||
# addons
|
||||
LOGFILE="11_Addons.log"
|
||||
for i in /storage/.kodi/userdata/addon_data/*/*.log \
|
||||
/storage/.kodi/userdata/addon_data/*/log/* \
|
||||
; do
|
||||
if [ -f "$i" ] ; then
|
||||
getlog_cmd cat $i
|
||||
fi
|
||||
done
|
||||
|
||||
# pack logfiles
|
||||
mkdir -p /storage/logfiles
|
||||
zip -jq /storage/logfiles/log-$DATE.zip $BASEDIR/$LOGDIR/*
|
||||
|
||||
# remove logdir
|
||||
rm -rf $BASEDIR/$LOGDIR
|
||||
@@ -1,70 +0,0 @@
|
||||
#!/bin/sh
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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/>.
|
||||
################################################################################
|
||||
|
||||
if [ -e /storage/.please_resize_me ] ; then
|
||||
# this sh** was never intended to be used
|
||||
# on already installed and runing system
|
||||
if [ -d /storage/.kodi -o -d /storage/.config -o -d /storage/.cache ] ; then
|
||||
rm -f /storage/.please_resize_me
|
||||
sync
|
||||
echo "resizing not allowed. rebooting in 15s"
|
||||
sleep 15
|
||||
reboot -f
|
||||
fi
|
||||
# get the disk. /storage on 2nd partition
|
||||
PART=$(grep "/storage " /proc/mounts | cut -d" " -f1 | grep '2$')
|
||||
|
||||
# get disk: /dev/sdx2 -> /dev/sdx, /dev/mmcblkxp2 -> /dev/mmcblkx
|
||||
case $PART in
|
||||
"/dev/mmcblk"*)
|
||||
DISK=$(echo $PART | sed s/p2$//g)
|
||||
;;
|
||||
*)
|
||||
DISK=$(echo $PART | sed s/2$//g)
|
||||
;;
|
||||
esac
|
||||
|
||||
rm -f /storage/.please_resize_me
|
||||
sync
|
||||
|
||||
# just in case
|
||||
if [ ! -z "$DISK" -a ! -z "$PART" ] ; then
|
||||
# get storage partition start
|
||||
PART_START=$(parted -s -m $DISK unit b print |grep -v ^/dev |grep -v BYT | grep ^2: | cut -f2 -d ":")
|
||||
|
||||
# failed to get partition start offset ?
|
||||
if [ ! -z "$PART_START" ] ; then
|
||||
umount $PART
|
||||
# TODO: clean up debug
|
||||
echo "resizing /storage..."
|
||||
echo "this may take a while. please do not reboot or turn off your computer"
|
||||
echo "... parted -s -m $DISK rm 2"
|
||||
parted -s -m $DISK rm 2 &>/dev/null
|
||||
echo "... parted -s -m $DISK unit b mkpart primary $PART_START 100%"
|
||||
parted -s -m $DISK unit b mkpart primary $PART_START 100% &>/dev/null
|
||||
echo "... e2fsck -f -p $PART"
|
||||
e2fsck -f -p $PART &>/dev/null
|
||||
echo "... resize2fs $PART"
|
||||
resize2fs $PART &>/dev/null
|
||||
echo "...done. rebooting in 15s"
|
||||
sleep 15
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
reboot -f
|
||||
@@ -1,732 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2010-2011 Roman Weber ([email protected])
|
||||
# Copyright (C) 2012 Yann Cézard ([email protected])
|
||||
#
|
||||
# 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/>.
|
||||
################################################################################
|
||||
|
||||
# create directories
|
||||
/bin/busybox mkdir -p /dev
|
||||
/bin/busybox mkdir -p /proc
|
||||
/bin/busybox mkdir -p /sys
|
||||
/bin/busybox mkdir -p /flash
|
||||
/bin/busybox mkdir -p /sysroot
|
||||
/bin/busybox mkdir -p /storage
|
||||
|
||||
# mount all needed special filesystems
|
||||
/bin/busybox mount -t devtmpfs devtmpfs /dev
|
||||
/bin/busybox mount -t proc proc /proc
|
||||
/bin/busybox mount -t sysfs sysfs /sys
|
||||
|
||||
# set needed variables
|
||||
MODULE_DIR=/lib/modules
|
||||
|
||||
UPDATE_DIR=/storage/.update
|
||||
UPDATE_KERNEL="KERNEL"
|
||||
UPDATE_SYSTEM="SYSTEM"
|
||||
IMAGE_KERNEL="KERNEL"
|
||||
IMAGE_SYSTEM="SYSTEM"
|
||||
|
||||
BOOT_STEP="start"
|
||||
MD5_FAILED="0"
|
||||
MD5_NOCHECK="0"
|
||||
SIZE_FAILED="0"
|
||||
RUN_FSCK="yes"
|
||||
RUN_FSCK_DISKS=""
|
||||
|
||||
NBD_DEVS="0"
|
||||
FLASH_FREE_MIN="5"
|
||||
|
||||
INSTALLED_MEMORY=`cat /proc/meminfo | grep 'MemTotal:' | awk '{print $2}'`
|
||||
SYSTEM_TORAM_LIMIT=1024000
|
||||
|
||||
# hide kernel log messages on console
|
||||
echo '1 4 1 7' > /proc/sys/kernel/printk
|
||||
|
||||
# run platform_init script if exists
|
||||
if [ -f "./platform_init" ]; then
|
||||
./platform_init
|
||||
fi
|
||||
|
||||
# clear screen and hide cursor
|
||||
clear
|
||||
if [ -f /sys/devices/virtual/graphics/fbcon/cursor_blink ] ; then
|
||||
echo 0 > /sys/devices/virtual/graphics/fbcon/cursor_blink
|
||||
fi
|
||||
|
||||
# parse command line arguments
|
||||
for arg in $(cat /proc/cmdline); do
|
||||
case $arg in
|
||||
BOOT_IMAGE=*)
|
||||
IMAGE_KERNEL="${arg#*=}"
|
||||
;;
|
||||
SYSTEM_IMAGE=*)
|
||||
IMAGE_SYSTEM="${arg#*=}"
|
||||
;;
|
||||
boot=*)
|
||||
boot="${arg#*=}"
|
||||
case $boot in
|
||||
ISCSI=*|NBD=*|NFS=*)
|
||||
UPDATE_DISABLED=yes
|
||||
FLASH_NETBOOT=yes
|
||||
;;
|
||||
/dev/*|LABEL=*|UUID=*)
|
||||
RUN_FSCK_DISKS="$RUN_FSCK_DISKS $boot"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
disk=*)
|
||||
disk="${arg#*=}"
|
||||
case $disk in
|
||||
ISCSI=*|NBD=*|NFS=*)
|
||||
STORAGE_NETBOOT=yes
|
||||
;;
|
||||
/dev/*|LABEL=*|UUID=*)
|
||||
RUN_FSCK_DISKS="$RUN_FSCK_DISKS $disk"
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
wol_mac=*)
|
||||
wol_mac="${arg#*=}"
|
||||
;;
|
||||
wol_wait=*)
|
||||
wol_wait="${arg#*=}"
|
||||
;;
|
||||
textmode)
|
||||
INIT_UNIT="--unit=textmode.target"
|
||||
;;
|
||||
installer)
|
||||
INIT_UNIT="--unit=installer.target"
|
||||
;;
|
||||
debugging)
|
||||
DEBUG=yes
|
||||
;;
|
||||
progress)
|
||||
PROGRESS=yes
|
||||
INIT_ARGS="$INIT_ARGS --show-status=1"
|
||||
;;
|
||||
nofsck)
|
||||
RUN_FSCK=no
|
||||
;;
|
||||
nosplash)
|
||||
SPLASH=no
|
||||
;;
|
||||
noram)
|
||||
SYSTEM_TORAM=no
|
||||
;;
|
||||
overlay)
|
||||
OVERLAY=yes
|
||||
;;
|
||||
break=*)
|
||||
BREAK="${arg#*=}"
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test "$DEBUG" = "yes"; then
|
||||
exec 3>&1
|
||||
else
|
||||
exec 3>/dev/null
|
||||
fi
|
||||
SILENT_OUT=3
|
||||
|
||||
progress() {
|
||||
if test "$PROGRESS" = "yes"; then
|
||||
echo "### $1 ###"
|
||||
fi
|
||||
}
|
||||
|
||||
debug_shell() {
|
||||
echo "### Starting debugging shell... type exit to quit ###"
|
||||
|
||||
# show cursor
|
||||
echo 0 > /sys/devices/virtual/graphics/fbcon/cursor_blink
|
||||
|
||||
sh </dev/tty1 >/dev/tty1 2>&1
|
||||
}
|
||||
|
||||
error() {
|
||||
# Display fatal error message
|
||||
# $1:action which caused error, $2:message
|
||||
echo "*** Error in $BOOT_STEP: $1: $2 ***"
|
||||
debug_shell
|
||||
}
|
||||
|
||||
break_after() {
|
||||
# Start debug shell after boot step $1
|
||||
case $BREAK in
|
||||
all|*$1*)
|
||||
debug_shell
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Mount handlers
|
||||
# All handlers take the following parameters:
|
||||
# $1:target, $2:mountpoint, $3:mount options, [$4:fs type]
|
||||
|
||||
mount_common() {
|
||||
# Common mount handler, handles block devices and filesystem images
|
||||
MOUNT_OPTIONS="-o $3"
|
||||
[ -n "$4" ] && MOUNT_OPTIONS="-t $4 $MOUNT_OPTIONS"
|
||||
|
||||
for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15; do
|
||||
ERR_ENV=1
|
||||
|
||||
mount $MOUNT_OPTIONS $1 $2 >&$SILENT_OUT 2>&1
|
||||
[ "$?" -eq "0" ] && ERR_ENV=0 && break
|
||||
|
||||
usleep 1000000
|
||||
done
|
||||
[ "$ERR_ENV" -ne "0" ] && error "mount_common" "Could not mount $1"
|
||||
}
|
||||
|
||||
get_iscsistart_options() {
|
||||
# Convert kernel commandline ISCSI= options to iscsistart options
|
||||
IFS_SAVE="$IFS"
|
||||
IFS=,
|
||||
|
||||
for arg in $1; do
|
||||
val="${arg#*=}"
|
||||
case "$arg" in
|
||||
iscsi_initiator=*)
|
||||
option="-i"
|
||||
;;
|
||||
iscsi_target_name=*)
|
||||
option="-t"
|
||||
;;
|
||||
iscsi_target_ip=*)
|
||||
option="-a"
|
||||
;;
|
||||
iscsi_target_port=*)
|
||||
option="-p"
|
||||
;;
|
||||
iscsi_target_group=*)
|
||||
option="-g"
|
||||
;;
|
||||
iscsi_username=*)
|
||||
option="-u"
|
||||
;;
|
||||
iscsi_password=*)
|
||||
option="-w"
|
||||
;;
|
||||
iscsi_in_username=*)
|
||||
option="-U"
|
||||
;;
|
||||
iscsi_in_password=*)
|
||||
option="-W"
|
||||
;;
|
||||
esac
|
||||
echo "$option $val"
|
||||
done
|
||||
|
||||
IFS="$IFS_SAVE"
|
||||
}
|
||||
|
||||
mount_iscsi() {
|
||||
# Mount iSCSI target
|
||||
ISCSI_DEV="${1##*,}"
|
||||
ISCSI_OPTIONS="${1%,*}"
|
||||
|
||||
if [ ! -f "/sbin/iscsistart" ]; then
|
||||
error "iscsistart" "iSCSI support not available"
|
||||
fi
|
||||
|
||||
if [ "$ISCSI_OPTIONS" = "auto" ]; then
|
||||
progress "Network configuration based on iBFT"
|
||||
/sbin/iscsistart -N >&$SILENT_OUT 2>&1 || \
|
||||
error "iscsistart" "Unable to configure network"
|
||||
progress "iSCSI auto connect based on iBFT"
|
||||
/sbin/iscsistart -b >&$SILENT_OUT 2>&1 || \
|
||||
error "iscsistart" "Unable to auto connect"
|
||||
else
|
||||
/sbin/iscsistart $(get_iscsistart_options "$ISCSI_OPTIONS") >&$SILENT_OUT 2>&1 || \
|
||||
error "iscsistart" "Unable to connect to ISCSI target"
|
||||
fi
|
||||
|
||||
mount_common "$ISCSI_DEV" "$2" "$3" "$4"
|
||||
}
|
||||
|
||||
mount_nbd() {
|
||||
# Mount NBD device
|
||||
NBD_SERVER="${1%%:*}"
|
||||
NBD_PORT="${1#*:}"
|
||||
NBD_DEV="/dev/nbd$NBD_DEVS"
|
||||
|
||||
nbd-client $NBD_SERVER $NBD_PORT $NBD_DEV >&$SILENT_OUT 2>&1 || \
|
||||
error "nbd-client" "Could not connect to NBD server $1"
|
||||
|
||||
mount_common "$NBD_DEV" "$2" "$3" "$4"
|
||||
|
||||
NBD_DEVS=$(( ${NBD_DEVS} + 1 ))
|
||||
}
|
||||
|
||||
mount_nfs() {
|
||||
# Mount NFS export
|
||||
NFS_EXPORT="${1%%,*}"
|
||||
NFS_OPTIONS="${1#*,}"
|
||||
|
||||
[ "$NFS_OPTIONS" = "$1" ] && NFS_OPTIONS=
|
||||
|
||||
mount_common "$NFS_EXPORT" "$2" "$3,nolock,soft,timeo=3,retrans=2,rsize=32768,wsize=32768,$NFS_OPTIONS" "nfs"
|
||||
}
|
||||
|
||||
mount_part() {
|
||||
# Mount a local or network filesystem
|
||||
# $1:[TYPE=]target, $2:mountpoint, $3:mount options, [$4:fs type]
|
||||
progress "mount filesystem $1 ..."
|
||||
|
||||
MOUNT_TARGET="${1#*=}"
|
||||
case $1 in
|
||||
LABEL=*|UUID=*|/*)
|
||||
MOUNT_CMD="mount_common"
|
||||
MOUNT_TARGET="$1"
|
||||
;;
|
||||
ISCSI=*)
|
||||
MOUNT_CMD="mount_iscsi"
|
||||
;;
|
||||
NBD=*)
|
||||
MOUNT_CMD="mount_nbd"
|
||||
;;
|
||||
NFS=*)
|
||||
MOUNT_CMD="mount_nfs"
|
||||
;;
|
||||
*)
|
||||
error "mount_part" "Unknown filesystem $1"
|
||||
;;
|
||||
esac
|
||||
$MOUNT_CMD "$MOUNT_TARGET" "$2" "$3" "$4"
|
||||
}
|
||||
|
||||
update_file() {
|
||||
if [ -f "$UPDATE_DIR/$2" -a -f "$3" ]; then
|
||||
echo "updating $1..."
|
||||
mount -o remount,rw /flash
|
||||
mv $UPDATE_DIR/$2 $3 2>/dev/null
|
||||
# loopback file needs writable /flash all the time
|
||||
if [ "${disk%%=*}" != "FILE" ]; then
|
||||
mount -o remount,ro /flash
|
||||
fi
|
||||
sync
|
||||
fi
|
||||
}
|
||||
|
||||
update_partition() {
|
||||
if [ -f "$UPDATE_DIR/$2" -a -b "$3" ]; then
|
||||
echo "updating $1..."
|
||||
dd if="$UPDATE_DIR/$2" of="$3"
|
||||
fi
|
||||
}
|
||||
|
||||
update_bootloader() {
|
||||
export BOOT_ROOT="/flash"
|
||||
export SYSTEM_ROOT="/sysroot"
|
||||
|
||||
mount_part "/flash/$IMAGE_SYSTEM" "/sysroot" "ro,loop"
|
||||
|
||||
if [ -f $SYSTEM_ROOT/usr/share/bootloader/update.sh ]; then
|
||||
echo "updating Bootloader..."
|
||||
sh $SYSTEM_ROOT/usr/share/bootloader/update.sh
|
||||
sync
|
||||
fi
|
||||
|
||||
umount /sysroot
|
||||
}
|
||||
|
||||
load_modules() {
|
||||
progress "Loading kernel modules"
|
||||
|
||||
[ ! -f "/etc/modules" ] && return
|
||||
for module in $(cat /etc/modules); do
|
||||
progress "Loading kernel module $module"
|
||||
insmod "$MODULE_DIR/$module.ko" || \
|
||||
progress "... Failed to load kernel module $module, skipping"
|
||||
done
|
||||
}
|
||||
|
||||
load_splash() {
|
||||
if [ ! "$SPLASH" = "no" ]; then
|
||||
progress "Loading bootsplash"
|
||||
|
||||
SPLASHIMAGE="/splash/splash-full.png"
|
||||
|
||||
# load uvesafb module if needed
|
||||
if [ -f "$MODULE_DIR/uvesafb.ko" -a ! -e /dev/fb0 ]; then
|
||||
progress "Loading kernel module uvesafb.ko"
|
||||
insmod "$MODULE_DIR/uvesafb.ko" || \
|
||||
progress "... Failed to load kernel module uvesafb, skipping"
|
||||
|
||||
# set framebuffer to a default resolution (1024x768-32)
|
||||
if [ ! "$SWITCH_FRAMEBUFFER" = "no" ]; then
|
||||
fbset -g 1024 768 1024 768 32
|
||||
SPLASHIMAGE="/splash/splash-1024.png"
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -e /dev/fb0 ]; then
|
||||
# load splash
|
||||
if [ -f /flash/oemsplash.png ]; then
|
||||
SPLASHIMAGE="/flash/oemsplash.png"
|
||||
elif [ -f /splash/splash.conf ]; then
|
||||
. /splash/splash.conf
|
||||
fi
|
||||
|
||||
ply-image $SPLASHIMAGE > /dev/null 2>&1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
do_reboot() {
|
||||
echo "System reboots now..."
|
||||
|
||||
# syncing filesystem
|
||||
sync
|
||||
|
||||
# unmount filesystems
|
||||
if /bin/busybox mountpoint -q /flash ; then
|
||||
/bin/busybox umount /flash
|
||||
fi
|
||||
|
||||
if /bin/busybox mountpoint -q /storage ; then
|
||||
/bin/busybox umount /storage
|
||||
fi
|
||||
|
||||
usleep 2000000
|
||||
/bin/busybox reboot
|
||||
}
|
||||
|
||||
force_fsck() {
|
||||
echo "Filesystem corruption has been detected"
|
||||
echo "To prevent an automatic repair attempt continuing"
|
||||
echo "press any key or power off your system within the next 120 seconds"
|
||||
echo ""
|
||||
read -t120 -n1
|
||||
# The exit status is 0 if input is available
|
||||
# The exit status is greater than 128 if the timeout is exceeded
|
||||
if [ "$?" -ne "0" -o "$?" -gt "128" ] ; then
|
||||
echo "repairing filesystem.."
|
||||
echo ""
|
||||
/sbin/fsck -T -M -y $RUN_FSCK_DISKS
|
||||
FSCK_RET="$?"
|
||||
if [ "$(( $FSCK_RET & 8 ))" = 8 ] ; then
|
||||
# fubar
|
||||
echo "Forced fsck failed. Your system is broken beyond repair"
|
||||
echo "Please re-install OpenELEC"
|
||||
echo ""
|
||||
echo "Press enter to shutdown now"
|
||||
echo ""
|
||||
read fubar
|
||||
poweroff
|
||||
fi
|
||||
do_reboot
|
||||
else
|
||||
echo "shutting down..."
|
||||
sleep 5
|
||||
sync
|
||||
poweroff
|
||||
fi
|
||||
}
|
||||
|
||||
check_disks() {
|
||||
if [ "$RUN_FSCK" = "yes" -a -n "$RUN_FSCK_DISKS" ]; then
|
||||
progress "Checking disk(s): $RUN_FSCK_DISKS"
|
||||
/sbin/fsck -T -M -p -a $RUN_FSCK_DISKS > /dev/null 2>&1
|
||||
FSCK_RET="$?"
|
||||
|
||||
# FSCK_RET is the bit-wise OR of the exit codes for each filesystem that is checked.
|
||||
if [ "$(( $FSCK_RET & 4 ))" = 4 ] ; then
|
||||
# errors left
|
||||
force_fsck
|
||||
elif [ "$(( $FSCK_RET & 2 ))" = 2 ] ; then
|
||||
# reboot needed
|
||||
echo "filesystem repaired, reboot needed..."
|
||||
do_reboot
|
||||
elif [ "$(( $FSCK_RET & 1 ))" = 1 ] ; then
|
||||
# filesystem errors corrected
|
||||
progress "filesystem errors corrected , continuing..."
|
||||
elif [ "$(( $FSCK_RET & 0 ))" = 0 ] ; then
|
||||
# no errors found
|
||||
progress "no filesystem errors found, continuing..."
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
wakeonlan() {
|
||||
if [ "$STORAGE_NETBOOT" = "yes" ]; then
|
||||
wol_ip=${disk%:*}
|
||||
wol_ip=${wol_ip#*=}
|
||||
elif [ "$FLASH_NETBOOT" = "yes" ]; then
|
||||
wol_ip=${boot%:*}
|
||||
wol_ip=${wol_ip#*=}
|
||||
else
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [ -n "$wol_ip" -a -n "$wol_mac" -a -n "$wol_wait" ]; then
|
||||
progress "Sending Magic Packet (WOL) if needed"
|
||||
|
||||
if ! ping -q -c 2 "$wol_ip" &>/dev/null; then
|
||||
ether-wake "$wol_mac"
|
||||
sleep "$wol_wait"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
mount_flash() {
|
||||
progress "Mounting flash"
|
||||
|
||||
wakeonlan
|
||||
|
||||
mount_part "$boot" "/flash" "ro,noatime"
|
||||
}
|
||||
|
||||
mount_storage() {
|
||||
progress "Mounting storage"
|
||||
|
||||
wakeonlan
|
||||
|
||||
if [ -n "$disk" ]; then
|
||||
if [ -n "$OVERLAY" ]; then
|
||||
OVERLAY_DIR=`cat /sys/class/net/eth0/address | tr -d :`
|
||||
|
||||
mount_part "$disk" "/storage" "rw,noatime"
|
||||
mkdir -p /storage/$OVERLAY_DIR
|
||||
umount /storage
|
||||
|
||||
# split $disk into $target,$options so we can append $OVERLAY_DIR
|
||||
options="${disk#*,}"
|
||||
target="${disk%%,*}"
|
||||
if [ "$options" = "$disk" ]; then
|
||||
disk="$target/$OVERLAY_DIR"
|
||||
else
|
||||
disk="$target/$OVERLAY_DIR,$options"
|
||||
fi
|
||||
fi
|
||||
mount_part "$disk" "/storage" "rw,noatime"
|
||||
fi
|
||||
}
|
||||
|
||||
check_update() {
|
||||
progress "Checking for updates"
|
||||
|
||||
UPDATE_TAR=`ls -1 "$UPDATE_DIR"/*.tar 2>/dev/null | head -n 1`
|
||||
if [ -f "$UPDATE_DIR/$UPDATE_KERNEL" -a -f "$UPDATE_DIR/$UPDATE_SYSTEM" -o -f "$UPDATE_TAR" ] ; then
|
||||
if [ "$UPDATE_DISABLED" = "yes" ] ; then
|
||||
rm -rf $UPDATE_DIR/[0-9a-zA-Z]* &>/dev/null
|
||||
echo "Updating not supported on netboot. normal startup in 10s..."
|
||||
sync
|
||||
usleep 10000000
|
||||
return 0
|
||||
fi
|
||||
|
||||
# check for .tar
|
||||
if [ -f "$UPDATE_TAR" ] ; then
|
||||
echo "Found new .tar archive. extracting..."
|
||||
mkdir -p $UPDATE_DIR/.tmp &>/dev/null
|
||||
tar -xf "$UPDATE_TAR" -C $UPDATE_DIR/.tmp &>/dev/null
|
||||
mv $UPDATE_DIR/.tmp/*/target/* $UPDATE_DIR &>/dev/null
|
||||
rm -f "$UPDATE_TAR" &>/dev/null
|
||||
rm -rf $UPDATE_DIR/.tmp &>/dev/null
|
||||
sync
|
||||
if [ ! -f "$UPDATE_DIR/$UPDATE_KERNEL" -o ! -f "$UPDATE_DIR/$UPDATE_SYSTEM" ] ; then
|
||||
echo "missing ${UPDATE_KERNEL} or ${UPDATE_SYSTEM}... normal startup in 10s"
|
||||
sync
|
||||
usleep 10000000
|
||||
return 0
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -f "$UPDATE_DIR/.nocheck" ] ; then
|
||||
MD5_NOCHECK="1"
|
||||
fi
|
||||
|
||||
# check md5 sums if .nocheck doesn't exist
|
||||
if [ "$MD5_NOCHECK" -eq "0" ] ; then
|
||||
if [ -f "$UPDATE_DIR/${UPDATE_KERNEL}.md5" -a -f "$UPDATE_DIR/${UPDATE_SYSTEM}.md5" ] ; then
|
||||
# *.md5 size-check
|
||||
if [ ! -s "$UPDATE_DIR/${UPDATE_KERNEL}.md5" -o ! -s "$UPDATE_DIR/${UPDATE_SYSTEM}.md5" ] ; then
|
||||
echo "zero-sized .md5 file..."
|
||||
MD5_FAILED="1"
|
||||
else
|
||||
sed -i 's#target#/storage/.update#g' "$UPDATE_DIR/${UPDATE_KERNEL}.md5"
|
||||
sed -i 's#target#/storage/.update#g' "$UPDATE_DIR/${UPDATE_SYSTEM}.md5"
|
||||
|
||||
echo "Checking ${UPDATE_KERNEL}.md5..."
|
||||
md5sum -c "$UPDATE_DIR/${UPDATE_KERNEL}.md5" || MD5_FAILED="1"
|
||||
|
||||
echo "Checking ${UPDATE_SYSTEM}.md5..."
|
||||
md5sum -c "$UPDATE_DIR/${UPDATE_SYSTEM}.md5" || MD5_FAILED="1"
|
||||
fi
|
||||
else
|
||||
echo "missing ${UPDATE_KERNEL}.md5 or ${UPDATE_SYSTEM}.md5..."
|
||||
MD5_FAILED="1"
|
||||
fi
|
||||
fi
|
||||
|
||||
# get sizes
|
||||
FLASH_FREE=$(df /flash/ | awk '/[0-9]%/{print $4}')
|
||||
FLASH_FREE=$(( $FLASH_FREE * 1024 ))
|
||||
|
||||
OLD_KERNEL="0"
|
||||
if [ ! -b $IMAGE_KERNEL ]; then
|
||||
OLD_KERNEL=$(stat -t "/flash/$IMAGE_KERNEL" | awk '{print $2}')
|
||||
fi
|
||||
|
||||
OLD_SYSTEM=$(stat -t "/flash/$IMAGE_SYSTEM" | awk '{print $2}')
|
||||
NEW_KERNEL=$(stat -t "$UPDATE_DIR/$UPDATE_KERNEL" | awk '{print $2}')
|
||||
NEW_SYSTEM=$(stat -t "$UPDATE_DIR/$UPDATE_SYSTEM" | awk '{print $2}')
|
||||
|
||||
# old KERNEL+SYSTEM+free space - new KERNEL+SYSTEM must be higher then 5MB
|
||||
# at least 5MB free after update
|
||||
|
||||
TMP_SIZE=$(($OLD_KERNEL+$OLD_SYSTEM+$FLASH_FREE-$NEW_KERNEL-$NEW_SYSTEM))
|
||||
FLASH_FREE_MIN=$(($FLASH_FREE_MIN*1024*1024))
|
||||
|
||||
if [ $TMP_SIZE -ge $FLASH_FREE_MIN ]; then
|
||||
echo "Checking size: OK"
|
||||
else
|
||||
echo "Checking size: FAILED"
|
||||
SIZE_FAILED="1"
|
||||
fi
|
||||
|
||||
# update if size check is ok
|
||||
if [ "$SIZE_FAILED" -eq "0" ] ; then
|
||||
# update if md5 check is ok or .nocheck exists
|
||||
if [ "$MD5_FAILED" -eq "0" -o "$MD5_NOCHECK" -eq "1" ] ; then
|
||||
if [ -b $IMAGE_KERNEL ]; then
|
||||
update_partition "Kernel" "$UPDATE_KERNEL" "$IMAGE_KERNEL"
|
||||
else
|
||||
update_file "Kernel" "$UPDATE_KERNEL" "/flash/$IMAGE_KERNEL"
|
||||
fi
|
||||
update_file "System" "$UPDATE_SYSTEM" "/flash/$IMAGE_SYSTEM"
|
||||
update_bootloader
|
||||
rm -rf $UPDATE_DIR/[0-9a-zA-Z]* &>/dev/null
|
||||
do_reboot
|
||||
else
|
||||
rm -rf $UPDATE_DIR/[0-9a-zA-Z]* &>/dev/null
|
||||
echo "md5 check failed. normal startup in 30s..."
|
||||
sync
|
||||
usleep 30000000
|
||||
fi
|
||||
else
|
||||
rm -rf $UPDATE_DIR/[0-9a-zA-Z]* &>/dev/null
|
||||
echo "size check failed. normal startup in 30s..."
|
||||
sync
|
||||
usleep 30000000
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
prepare_sysroot() {
|
||||
progress "Preparing system"
|
||||
|
||||
if [ "$SYSTEM_TORAM" = "no" -o "$INSTALLED_MEMORY" -lt "$SYSTEM_TORAM_LIMIT" ]; then
|
||||
mount_part "/flash/$IMAGE_SYSTEM" "/sysroot" "ro,loop"
|
||||
else
|
||||
cp /flash/$IMAGE_SYSTEM /dev/$IMAGE_SYSTEM
|
||||
mount_part "/dev/$IMAGE_SYSTEM" "/sysroot" "ro,loop"
|
||||
fi
|
||||
|
||||
mount --move /flash /sysroot/flash
|
||||
|
||||
if [ -n "$disk" ]; then
|
||||
mount --move /storage /sysroot/storage
|
||||
fi
|
||||
|
||||
if [ ! -d "/sysroot/lib/modules/$(uname -r)/" -a -f "/sysroot/usr/lib/systemd/systemd" ]; then
|
||||
echo ""
|
||||
echo "NEVER TOUCH boot= in extlinux.conf / cmdline.txt"
|
||||
echo "if you dont know what you are doing"
|
||||
echo ""
|
||||
echo "your installation is now broken"
|
||||
echo ""
|
||||
echo "normal boot in 60s..."
|
||||
usleep 60000000
|
||||
fi
|
||||
|
||||
|
||||
[ -f "/sysroot/usr/lib/systemd/systemd" ] || error "final_check" "Could not find system."
|
||||
}
|
||||
|
||||
if [ "${boot%%=*}" = "FILE" ]; then
|
||||
error "check arguments" "boot argument can't be FILE type..."
|
||||
fi
|
||||
|
||||
# main boot sequence
|
||||
for BOOT_STEP in \
|
||||
load_modules \
|
||||
check_disks \
|
||||
mount_flash \
|
||||
load_splash \
|
||||
mount_storage \
|
||||
check_update \
|
||||
prepare_sysroot; do
|
||||
$BOOT_STEP
|
||||
[ -n "$DEBUG" ] && break_after $BOOT_STEP
|
||||
done
|
||||
|
||||
BOOT_STEP=final
|
||||
|
||||
# log if booting from usb / removable storage
|
||||
STORAGE=$(cat /proc/mounts | grep " /sysroot/storage " | awk '{print $1}' | awk -F '/' '{print $3}')
|
||||
FLASH=$(cat /proc/mounts | grep " /sysroot/flash " | awk '{print $1}' | awk -F '/' '{print $3}')
|
||||
for i in $STORAGE $FLASH ; do
|
||||
if [ -n "$i" ] ; then
|
||||
removable="/sys/class/block/*/$i/../removable"
|
||||
if [ -e $removable ] ; then
|
||||
if [ "$(cat $removable 2>/dev/null)" = "1" ] ; then
|
||||
echo "### BIG FAT WARNING" > /dev/kmsg
|
||||
echo "### $i is removable. suspend/resume may not work" > /dev/kmsg
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
done
|
||||
# move some special filesystems
|
||||
/bin/busybox mount --move /dev /sysroot/dev
|
||||
/bin/busybox mount --move /proc /sysroot/proc
|
||||
/bin/busybox mount --move /sys /sysroot/sys
|
||||
|
||||
# tell OE settings addon to disable updates
|
||||
if [ "$UPDATE_DISABLED" = "yes" ] ; then
|
||||
echo "" > /sysroot/dev/.update_disabled
|
||||
fi
|
||||
# swap can not be used over nfs.(see scripts/mount-swap)
|
||||
if [ "$STORAGE_NETBOOT" = "yes" ] ; then
|
||||
echo "" > /sysroot/dev/.storage_netboot
|
||||
fi
|
||||
|
||||
if [ -f /sysroot/storage/.please_connect_me ] ; then
|
||||
INIT_UNIT="--unit=connman-ncurses.target"
|
||||
fi
|
||||
|
||||
if [ -f /sysroot/storage/.please_resize_me ] ; then
|
||||
INIT_UNIT="--unit=fs-resize.target"
|
||||
fi
|
||||
|
||||
BACKUP_FILE=`ls -1 /sysroot/storage/.restore/??????????????.tar 2>/dev/null | head -n 1`
|
||||
if [ -f "$BACKUP_FILE" ] ; then
|
||||
INIT_UNIT="--unit=backup-restore.target"
|
||||
fi
|
||||
|
||||
if [ -f /sysroot/storage/.cache/reset_oe -o -f /sysroot/storage/.cache/reset_xbmc ] ; then
|
||||
INIT_UNIT="--unit=factory-reset.target"
|
||||
fi
|
||||
# switch to new sysroot and start real init
|
||||
exec /bin/busybox switch_root /sysroot /usr/lib/systemd/systemd $INIT_ARGS $INIT_UNIT
|
||||
|
||||
error "switch_root" "Error in initramfs. Could not switch to new root"
|
||||
@@ -1,23 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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/>.
|
||||
################################################################################
|
||||
|
||||
# show release information
|
||||
. /etc/os-release
|
||||
echo "$PRETTY_NAME"
|
||||
@@ -1,34 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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/>.
|
||||
################################################################################
|
||||
|
||||
message="$message\n There is no working 'passwd'."
|
||||
message="$message\n"
|
||||
message="$message\n The 'passwd' command changes passwords for user accounts."
|
||||
message="$message\n"
|
||||
message="$message\n With OpenELEC it is not possible to change the system password"
|
||||
message="$message\n"
|
||||
message="$message\n SSH is included only as a last support resort. SSH is off by default."
|
||||
message="$message\n Most users never need SSH and need help using it so we need a default"
|
||||
message="$message\n password. If you need to keep SSH always on then this is unsupported"
|
||||
message="$message\n but can be secured with certificates."
|
||||
message="$message\n"
|
||||
message="$message\n TIP: disable password authentication in ssh and use public key authentication."
|
||||
|
||||
echo -e $message
|
||||
@@ -1,26 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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/>.
|
||||
################################################################################
|
||||
|
||||
#
|
||||
# wrapper for curl, posting to the sprunge.us pastebin
|
||||
# reads from stdin if called without an argument
|
||||
#
|
||||
|
||||
cat "$@" | curl -F 'sprunge=<-' http://sprunge.us
|
||||
@@ -1,32 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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/>.
|
||||
################################################################################
|
||||
|
||||
message="$message\n There is no working 'sudo'."
|
||||
message="$message\n "
|
||||
message="$message\n On debian/ubuntu/all general purpose linux distributions 'sudo'"
|
||||
message="$message\n allows a permitted user to execute a command as the superuser"
|
||||
message="$message\n or another user, as specified by the security policy"
|
||||
message="$message\n "
|
||||
message="$message\n With OpenELEC you have root access by default, so you dont need 'sudo'"
|
||||
message="$message\n "
|
||||
|
||||
echo -e $message
|
||||
|
||||
exit 1
|
||||
@@ -1,97 +0,0 @@
|
||||
#!/bin/sh
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# OpenELEC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
. /etc/suspend-modules.conf
|
||||
|
||||
modunload()
|
||||
{
|
||||
local MOD D C USED MODS I
|
||||
local UNL="$(echo $1 |tr - _)" RET=1
|
||||
|
||||
while read MOD D C USED D; do
|
||||
[ "$MOD" = "$UNL" ] || continue
|
||||
if [ "$USED" = "-" ]; then
|
||||
# no dependent modules, just try to remove this one.
|
||||
_rmmod "$MOD" $C
|
||||
RET=$?
|
||||
else
|
||||
# modules depend on this one. try to remove them first.
|
||||
MODS=",${USED%,}"
|
||||
while [ -n "${MODS}" ]; do
|
||||
# try to unload the last one first
|
||||
MOD="${MODS##*,}"
|
||||
modunload $MOD && RET=0
|
||||
# prune the last one from the list
|
||||
MODS="${MODS%,*}"
|
||||
done
|
||||
# if we unloaded at least one module, then let's
|
||||
# try again!
|
||||
[ $RET -eq 0 ] && modunload $MOD
|
||||
RET=$?
|
||||
fi
|
||||
return $RET
|
||||
done < /proc/modules
|
||||
# if we came this far, there was nothing to do,
|
||||
# the module is no longer loaded.
|
||||
return 0
|
||||
}
|
||||
|
||||
_rmmod()
|
||||
{
|
||||
if modprobe -r "$1"; then
|
||||
touch "/run/openelec/suspend/module:$1"
|
||||
return 0
|
||||
else
|
||||
logger -t suspend-modules "# could not unload '$1', usage count was $2"
|
||||
return 1
|
||||
fi
|
||||
}
|
||||
|
||||
resume_modules()
|
||||
{
|
||||
for x in /run/openelec/suspend/module:* ; do
|
||||
[ -O "${x}" ] || continue
|
||||
modprobe "${x##*:}" &>/dev/null && \
|
||||
logger -t resume-modules "Reloaded module ${x##*:}." || \
|
||||
logger -t resume-modules "Could not reload module ${x##*:}."
|
||||
done
|
||||
}
|
||||
|
||||
suspend_modules()
|
||||
{
|
||||
[ -z "$SUSPEND_MODULES" ] && return 0
|
||||
# clean up
|
||||
rm -rf /run/openelec/suspend
|
||||
mkdir -p /run/openelec/suspend
|
||||
for x in $SUSPEND_MODULES ; do
|
||||
modunload $x && \
|
||||
logger -t suspend-modules "Unloading kernel module $x: Done" || \
|
||||
logger -t suspend-modules "Unloading kernel module $x: Failed"
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
case $1 in
|
||||
pre)
|
||||
suspend_modules
|
||||
;;
|
||||
post)
|
||||
resume_modules
|
||||
;;
|
||||
esac
|
||||
@@ -1 +0,0 @@
|
||||
kernel.core_pattern=/storage/.cache/cores/core.%E.%t.%p
|
||||
@@ -1,2 +0,0 @@
|
||||
dev.cdrom.lock=0
|
||||
dev.cdrom.autoclose=0
|
||||
@@ -1 +0,0 @@
|
||||
vm.min_free_kbytes=16384
|
||||
@@ -1,11 +0,0 @@
|
||||
[Unit]
|
||||
Description=Cron defaults
|
||||
After=local-fs.target
|
||||
|
||||
ConditionPathExists=!/storage/.cache/services/crond.conf
|
||||
ConditionPathExists=!/storage/.cache/services/crond.disabled
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/bin/sh -c 'cp /usr/share/services/crond.conf /storage/.cache/services/'
|
||||
RemainAfterExit=yes
|
||||
@@ -1,16 +0,0 @@
|
||||
[Unit]
|
||||
Description=Cron daemon
|
||||
After=cron-defaults.service
|
||||
Requires=cron-defaults.service
|
||||
|
||||
ConditionPathExists=/storage/.cache/services/crond.conf
|
||||
|
||||
[Service]
|
||||
ExecStartPre=/bin/mkdir -p /storage/.cache/cron/crontabs
|
||||
ExecStart=/sbin/crond -f -S
|
||||
KillMode=process
|
||||
TimeoutStopSec=1s
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
|
||||
@@ -1,22 +0,0 @@
|
||||
[Unit]
|
||||
Description=Wifi Menu
|
||||
After=multi-user.target
|
||||
|
||||
[Service]
|
||||
Environment=TTY=1
|
||||
WorkingDirectory=/storage
|
||||
ExecStart=/bin/sh -c 'clear; echo fufuu; . /etc/profile; exec /usr/bin/connman-ncurses'
|
||||
|
||||
Restart=always
|
||||
RestartSec=0
|
||||
StandardInput=tty
|
||||
TTYPath=/dev/tty1
|
||||
TTYReset=yes
|
||||
TTYVHangup=yes
|
||||
KillMode=process
|
||||
IgnoreSIGPIPE=no
|
||||
# bash ignores SIGTERM
|
||||
KillSignal=SIGHUP
|
||||
|
||||
[Install]
|
||||
WantedBy=connman-ncurses.target
|
||||
@@ -1,6 +0,0 @@
|
||||
[Unit]
|
||||
Description=Wifi Menu
|
||||
Requires=multi-user.target
|
||||
After=multi-user.target
|
||||
Conflicts=rescue.target
|
||||
AllowIsolate=yes
|
||||
@@ -1,25 +0,0 @@
|
||||
[Unit]
|
||||
Description=Debug Shell
|
||||
|
||||
DefaultDependencies=no
|
||||
ConditionKernelCommandLine=|tty
|
||||
ConditionKernelCommandLine=|debugging
|
||||
ConditionPathExists=|/storage/.cache/debug.openelec
|
||||
|
||||
[Service]
|
||||
Environment=TTY=3
|
||||
WorkingDirectory=/storage
|
||||
ExecStart=/bin/sh -c '. /etc/profile; exec /bin/sh'
|
||||
Restart=always
|
||||
RestartSec=0
|
||||
StandardInput=tty
|
||||
TTYPath=/dev/tty3
|
||||
TTYReset=yes
|
||||
TTYVHangup=yes
|
||||
KillMode=process
|
||||
IgnoreSIGPIPE=no
|
||||
# bash ignores SIGTERM
|
||||
KillSignal=SIGHUP
|
||||
|
||||
[Install]
|
||||
WantedBy=sysinit.target
|
||||
@@ -1,10 +0,0 @@
|
||||
[Unit]
|
||||
Description=FS Resize
|
||||
DefaultDependencies=no
|
||||
|
||||
[Service]
|
||||
Type=idle
|
||||
ExecStart=/usr/lib/openelec/fs-resize
|
||||
StandardInput=tty-force
|
||||
StandardOutput=inherit
|
||||
StandardError=inherit
|
||||
@@ -1,5 +0,0 @@
|
||||
[Unit]
|
||||
Description=FS Resize target
|
||||
Requires=fs-resize.service
|
||||
After=fs-resize.service
|
||||
AllowIsolate=yes
|
||||
@@ -1,22 +0,0 @@
|
||||
[Unit]
|
||||
Description=Textmode Shell
|
||||
After=multi-user.target
|
||||
|
||||
[Service]
|
||||
Environment=TTY=1
|
||||
WorkingDirectory=/storage
|
||||
ExecStart=/bin/sh -c 'clear; lsb_release; . /etc/profile; exec /bin/sh'
|
||||
|
||||
Restart=always
|
||||
RestartSec=0
|
||||
StandardInput=tty
|
||||
TTYPath=/dev/tty1
|
||||
TTYReset=yes
|
||||
TTYVHangup=yes
|
||||
KillMode=process
|
||||
IgnoreSIGPIPE=no
|
||||
# bash ignores SIGTERM
|
||||
KillSignal=SIGHUP
|
||||
|
||||
[Install]
|
||||
WantedBy=textmode.target
|
||||
@@ -1,13 +0,0 @@
|
||||
[Unit]
|
||||
Description=Show Version
|
||||
DefaultDependencies=false
|
||||
ConditionKernelCommandLine=!morequiet
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStart=/usr/bin/lsb_release
|
||||
RemainAfterExit=yes
|
||||
#StandardOutput=tty
|
||||
|
||||
[Install]
|
||||
WantedBy=basic.target
|
||||
@@ -1,6 +0,0 @@
|
||||
[Unit]
|
||||
Description=Textmode
|
||||
Requires=multi-user.target
|
||||
After=multi-user.target
|
||||
Conflicts=rescue.target
|
||||
AllowIsolate=yes
|
||||
@@ -1,18 +0,0 @@
|
||||
[Unit]
|
||||
Description=Debug /var/log relink
|
||||
DefaultDependencies=false
|
||||
After=var.mount
|
||||
Before=systemd-journal-flush.service
|
||||
ConditionKernelCommandLine=!installer
|
||||
ConditionKernelCommandLine=|debugging
|
||||
ConditionPathExists=|/storage/.cache/debug.openelec
|
||||
|
||||
[Service]
|
||||
Type=oneshot
|
||||
ExecStartPre=/bin/rm -rf /var/log
|
||||
ExecStartPre=-/bin/mkdir -p /storage/log/journal
|
||||
ExecStart=-/bin/ln -sf /storage/log /var/log
|
||||
RemainAfterExit=yes
|
||||
|
||||
[Install]
|
||||
WantedBy=sysinit.target
|
||||
@@ -1,22 +0,0 @@
|
||||
# This file is part of systemd.
|
||||
#
|
||||
# systemd is free software; you can redistribute it and/or modify it
|
||||
# under the terms of the GNU Lesser General Public License as published by
|
||||
# the Free Software Foundation; either version 2.1 of the License, or
|
||||
# (at your option) any later version.
|
||||
|
||||
[Unit]
|
||||
Description=Variable Directory
|
||||
Documentation=man:hier(7)
|
||||
Documentation=http://www.freedesktop.org/wiki/Software/systemd/APIFileSystems
|
||||
DefaultDependencies=no
|
||||
Conflicts=umount.target
|
||||
Before=local-fs.target umount.target
|
||||
|
||||
[Mount]
|
||||
What=tmpfs
|
||||
Where=/var
|
||||
Type=tmpfs
|
||||
|
||||
[Install]
|
||||
WantedBy=local-fs.target
|
||||
@@ -1,26 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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/>.
|
||||
################################################################################
|
||||
|
||||
d /var/lock 0755 root root - -
|
||||
d /var/media 0755 root root - -
|
||||
|
||||
f /var/run/utmp 1777 root root - -
|
||||
d /storage/.update 0755 root root - -
|
||||
d /storage/.cache/cores 0755 root root - -
|
||||
d /storage/.cache/services 0755 root root - -
|
||||
d /storage/.config 0755 root root - -
|
||||
@@ -1,48 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2012 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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="connman-ncurses"
|
||||
PKG_VERSION="e2ad506"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://github.com/eurogiciel-oss/connman-json-client"
|
||||
PKG_URL="$LAKKA_MIRROR/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain ncurses json-c"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="network"
|
||||
PKG_SHORTDESC="A ncurses UI for connman"
|
||||
PKG_LONGDESC="A ncurses UI for connman"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-optimization --enable-debug"
|
||||
|
||||
pre_configure_target() {
|
||||
if [ -f ../configure ]; then
|
||||
sed -i "s|/usr/include/ncurses|$SYSROOT_PREFIX/usr/include/ncurses|g" ../configure
|
||||
fi
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
mkdir -p $INSTALL/usr/bin
|
||||
cp connman_ncurses $INSTALL/usr/bin/connman-ncurses
|
||||
}
|
||||
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 77 KiB |
|
Before Width: | Height: | Size: 1.3 KiB |
@@ -76,7 +76,7 @@
|
||||
# for a list of additinoal drivers see packages/linux-drivers
|
||||
# Space separated list is supported,
|
||||
# e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2"
|
||||
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8192EU RTL8188EU RTL8812AU"
|
||||
ADDITIONAL_DRIVERS="RTL8192CU RTL8192DU RTL8188EU RTL8812AU dvbhdhomerun"
|
||||
|
||||
# build and install bluetooth support (yes / no)
|
||||
BLUETOOTH_SUPPORT="yes"
|
||||
@@ -239,100 +239,3 @@
|
||||
ADDON_URL="$ADDON_SERVER_URL/$ADDON_PATH"
|
||||
|
||||
LAKKA_MIRROR="http://sources.lakka.tv"
|
||||
RA_PLAYLIST_NAMES=""\
|
||||
"Atari - 2600.lpl;"\
|
||||
"Atari - 5200.lpl;"\
|
||||
"Atari - 7800.lpl;"\
|
||||
"Atari - Jaguar.lpl;"\
|
||||
"Atari - Lynx.lpl;"\
|
||||
"Atari - ST.lpl;"\
|
||||
"Bandai - WonderSwan Color.lpl;"\
|
||||
"Bandai - WonderSwan.lpl;"\
|
||||
"Cave Story.lpl;"\
|
||||
"Coleco - ColecoVision.lpl;"\
|
||||
"DOOM.lpl;"\
|
||||
"FB Alpha - Arcade Games.lpl;"\
|
||||
"GCE - Vectrex.lpl;"\
|
||||
"Lutro.lpl;"\
|
||||
"Magnavox - Odyssey2.lpl;"\
|
||||
"MAME.lpl;"\
|
||||
"Microsoft - MSX2.lpl;"\
|
||||
"Microsoft - MSX.lpl;"\
|
||||
"NEC - PC Engine SuperGrafx.lpl;"\
|
||||
"NEC - PC Engine - TurboGrafx 16.lpl;"\
|
||||
"Nintendo - Famicom Disk System.lpl;"\
|
||||
"Nintendo - Game Boy Advance (e-Cards).lpl;"\
|
||||
"Nintendo - Game Boy Advance.lpl;"\
|
||||
"Nintendo - Game Boy Color.lpl;"\
|
||||
"Nintendo - Game Boy.lpl;"\
|
||||
"Nintendo - Nintendo 64.lpl;"\
|
||||
"Nintendo - Nintendo DS Decrypted.lpl;"\
|
||||
"Nintendo - Nintendo DS (Download Play) (BETA).lpl;"\
|
||||
"Nintendo - Nintendo DSi Decrypted.lpl;"\
|
||||
"Nintendo - Nintendo DSi (DLC).lpl;"\
|
||||
"Nintendo - Nintendo Entertainment System.lpl;"\
|
||||
"Nintendo - Satellaview.lpl;"\
|
||||
"Nintendo - Super Nintendo Entertainment System.lpl;"\
|
||||
"Nintendo - Virtual Boy.lpl;"\
|
||||
"Quake1.lpl;"\
|
||||
"ScummVM.lpl;"\
|
||||
"Sega - 32X.lpl;"\
|
||||
"Sega - Game Gear.lpl;"\
|
||||
"Sega - Master System - Mark III.lpl;"\
|
||||
"Sega - Mega Drive - Genesis.lpl;"\
|
||||
"Sega - PICO.lpl;"\
|
||||
"Sega - SG-1000.lpl;"\
|
||||
"Sinclair - ZX Spectrum +3.lpl;"\
|
||||
"SNK - Neo Geo Pocket Color.lpl;"\
|
||||
"SNK - Neo Geo Pocket.lpl;"\
|
||||
"Sony - PlayStation Portable.lpl;"\
|
||||
"Sony - PlayStation.lpl"
|
||||
|
||||
RA_PLAYLIST_CORES=""\
|
||||
"/tmp/cores/stella_libretro.so;"\
|
||||
"DETECT;"\
|
||||
"/tmp/cores/prosystem_libretro.so;"\
|
||||
"/tmp/cores/virtualjaguar_libretro.so;"\
|
||||
"/tmp/cores/handy_libretro.so;"\
|
||||
"/tmp/cores/hatari_libretro.so;"\
|
||||
"/tmp/cores/mednafen_wswan_libretro.so;"\
|
||||
"/tmp/cores/mednafen_wswan_libretro.so;"\
|
||||
"/tmp/cores/nxengine_libretro.so;"\
|
||||
"/tmp/cores/bluemsx_libretro.so;"\
|
||||
"/tmp/cores/prboom_libretro.so;"\
|
||||
"/tmp/cores/fba_libretro.so;"\
|
||||
"/tmp/cores/vecx_libretro.so;"\
|
||||
"/tmp/cores/lutro_libretro.so;"\
|
||||
"/tmp/cores/o2em_libretro.so;"\
|
||||
"/tmp/cores/mame_libretro.so;"\
|
||||
"/tmp/cores/bluemsx_libretro.so;"\
|
||||
"/tmp/cores/bluemsx_libretro.so;"\
|
||||
"/tmp/cores/mednafen_supergrafx_libretro.so;"\
|
||||
"/tmp/cores/mednafen_pce_fast_libretro.so;"\
|
||||
"/tmp/cores/nestopia_libretro.so;"\
|
||||
"/tmp/cores/mgba_libretro.so;"\
|
||||
"/tmp/cores/mgba_libretro.so;"\
|
||||
"/tmp/cores/gambatte_libretro.so;"\
|
||||
"/tmp/cores/gambatte_libretro.so;"\
|
||||
"/tmp/cores/mupen64plus_libretro.so;"\
|
||||
"/tmp/cores/desmume_libretro.so;"\
|
||||
"/tmp/cores/desmume_libretro.so;"\
|
||||
"/tmp/cores/desmume_libretro.so;"\
|
||||
"/tmp/cores/desmume_libretro.so;"\
|
||||
"/tmp/cores/nestopia_libretro.so;"\
|
||||
"/tmp/cores/snes9x_next_libretro.so;"\
|
||||
"/tmp/cores/snes9x_next_libretro.so;"\
|
||||
"/tmp/cores/mednafen_vb_libretro.so;"\
|
||||
"/tmp/cores/tyrquake_libretro.so;"\
|
||||
"/tmp/cores/scummvm_libretro.so;"\
|
||||
"/tmp/cores/picodrive_libretro.so;"\
|
||||
"/tmp/cores/genesis_plus_gx_libretro.so;"\
|
||||
"/tmp/cores/genesis_plus_gx_libretro.so;"\
|
||||
"/tmp/cores/genesis_plus_gx_libretro.so;"\
|
||||
"/tmp/cores/picodrive_libretro.so;"\
|
||||
"/tmp/cores/genesis_plus_gx_libretro.so;"\
|
||||
"/tmp/cores/fuse_libretro.so;"\
|
||||
"/tmp/cores/mednafen_ngp_libretro.so;"\
|
||||
"/tmp/cores/mednafen_ngp_libretro.so;"\
|
||||
"/tmp/cores/ppsspp_libretro.so;"\
|
||||
"/tmp/cores/pcsx_rearmed_libretro.so"
|
||||
|
Before Width: | Height: | Size: 2.5 KiB |
@@ -110,6 +110,9 @@
|
||||
# build with libnfs support (mounting nfs shares with KODI) (yes / no)
|
||||
KODI_NFS_SUPPORT="yes"
|
||||
|
||||
# build with afpfs-ng support (mounting AFP shares with KODI) (yes / no)
|
||||
KODI_AFP_SUPPORT="no"
|
||||
|
||||
# build with Samba Client support (mounting SAMBA shares with KODI) (yes / no)
|
||||
KODI_SAMBA_SUPPORT="yes"
|
||||
|
||||
@@ -212,6 +215,9 @@
|
||||
# cron support (yes / no)
|
||||
CRON_SUPPORT="yes"
|
||||
|
||||
# Perf support in development builds (yes / no)
|
||||
PERF_SUPPORT="yes"
|
||||
|
||||
# Distribution Specific source location
|
||||
DISTRO_MIRROR="http://sources.openelec.tv/mirror"
|
||||
DISTRO_SRC="http://sources.openelec.tv/$OPENELEC_VERSION"
|
||||
|
||||
@@ -1,55 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
rm -rf target/
|
||||
|
||||
>&2 echo "Generic.x86_64"
|
||||
DISTRO=Lakka PROJECT=Generic ARCH=x86_64 make image -j9
|
||||
>&2 echo "Generic.i386"
|
||||
DISTRO=Lakka PROJECT=Generic ARCH=i386 make image -j9
|
||||
>&2 echo "Generic.x86_64 UEFI"
|
||||
DISTRO=Lakka PROJECT=Generic ARCH=x86_64 UEFI="yes" make image -j9
|
||||
>&2 echo "Generic.i386 UEFI"
|
||||
DISTRO=Lakka PROJECT=Generic ARCH=i386 UEFI="yes" make image -j9
|
||||
>&2 echo "RPi.arm"
|
||||
DISTRO=Lakka PROJECT=RPi ARCH=arm make image -j9
|
||||
>&2 echo "RPi.arm noobs"
|
||||
DISTRO=Lakka PROJECT=RPi ARCH=arm make noobs -j9
|
||||
>&2 echo "RPi2.arm"
|
||||
DISTRO=Lakka PROJECT=RPi2 ARCH=arm make image -j9
|
||||
>&2 echo "RPi2.arm noobs"
|
||||
DISTRO=Lakka PROJECT=RPi2 ARCH=arm make noobs -j9
|
||||
>&2 echo "imx6.cuboxi.arm"
|
||||
DISTRO=Lakka PROJECT=imx6 SYSTEM=cuboxi ARCH=arm make image -j9
|
||||
>&2 echo "imx6.udoo.arm"
|
||||
DISTRO=Lakka PROJECT=imx6 SYSTEM=udoo ARCH=arm scripts/clean retroarch
|
||||
DISTRO=Lakka PROJECT=imx6 SYSTEM=udoo ARCH=arm make image -j9
|
||||
>&2 echo "a20.arm"
|
||||
DISTRO=Lakka PROJECT=a20 ARCH=arm make image -j9
|
||||
>&2 echo "a10.arm"
|
||||
DISTRO=Lakka PROJECT=a10 ARCH=arm make image -j9
|
||||
>&2 echo "Bananapi.arm"
|
||||
DISTRO=Lakka PROJECT=Bananapi ARCH=arm make image -j9
|
||||
>&2 echo "OdroidC1.arm"
|
||||
DISTRO=Lakka PROJECT=OdroidC1 ARCH=arm make image -j9
|
||||
>&2 echo "OdroidXU3.arm"
|
||||
DISTRO=Lakka PROJECT=OdroidXU3 ARCH=arm make image -j9
|
||||
>&2 echo "WeTek_Play.arm"
|
||||
DISTRO=Lakka PROJECT=WeTek_Play ARCH=arm make image -j9
|
||||
>&2 echo "WeTek_Core.arm"
|
||||
DISTRO=Lakka PROJECT=WeTek_Core ARCH=arm make image -j9
|
||||
|
||||
rm target/*.kernel
|
||||
rm target/*.system
|
||||
|
||||
for f in target/*; do
|
||||
md5sum $f > $f.md5
|
||||
sha256sum $f > $f.sha256
|
||||
done
|
||||
|
||||
for f in target/*; do
|
||||
dir=`echo $f | sed -e 's/target\/Lakka-\(.*\)-devel-\(.*\)/\1/'`
|
||||
mkdir -p target/$dir
|
||||
mv $f target/$dir/
|
||||
done
|
||||
|
||||
#scp -r target/* [email protected]:sources/nightly/
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="tntnet"
|
||||
PKG_VERSION="2.2.1"
|
||||
PKG_VERSION="2.2"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL-2"
|
||||
|
||||
|
Before Width: | Height: | Size: 45 KiB After Width: | Height: | Size: 45 KiB |
@@ -39,7 +39,7 @@ if [ "$DISPLAYSERVER" = "x11" ] ; then
|
||||
fi
|
||||
|
||||
if [ "$OPENGL_SUPPORT" = "yes" ] ; then
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET mesa glu"
|
||||
PKG_DEPENDS_TARGET="$PKG_DEPENDS_TARGET Mesa glu"
|
||||
fi
|
||||
|
||||
if [ "$OPENGL" = "no" ]; then
|
||||
|
||||
@@ -0,0 +1,182 @@
|
||||
4.3.6
|
||||
- fix tv_grab_file with --quiet (again!)
|
||||
- fix crash on imx6
|
||||
|
||||
4.3.5
|
||||
- fix crash on imx6
|
||||
|
||||
4.3.4
|
||||
- update to tvheadend-3.9.2182
|
||||
- fix xmltv grab issue
|
||||
|
||||
4.3.3
|
||||
- update to tvheadend-3.9.2168
|
||||
|
||||
4.3.2
|
||||
- update to kodi
|
||||
|
||||
4.3.1
|
||||
- update to tvheadend-3.9.1847
|
||||
- tvheadend now has native support for hdhomerun devices
|
||||
|
||||
4.3.0
|
||||
- rebuild for addon api bump
|
||||
- update to tvheadend-3.9.1083
|
||||
|
||||
4.1.2
|
||||
- fix issues with "wait for frontend init". thanks @sraue
|
||||
|
||||
4.1.1
|
||||
- rebuild to fix curl/gnutls/ssl
|
||||
|
||||
4.1.0
|
||||
- convert to systemd service
|
||||
- rebuild for addon api bump
|
||||
|
||||
4.0.1
|
||||
- rebuild
|
||||
|
||||
4.0.0
|
||||
- rebuild for OpenELEC-4.0
|
||||
|
||||
3.1.4
|
||||
- rebuild
|
||||
|
||||
3.1.3
|
||||
- update to TVHeadend 3.4.27
|
||||
|
||||
3.1.2
|
||||
- fix unloading multiple modules on suspend
|
||||
|
||||
3.1.1
|
||||
- rebuild for OpenELEC-3.2
|
||||
|
||||
3.0.11
|
||||
- improve suspend/resume
|
||||
|
||||
3.0.10
|
||||
- fix preloading capmt.so with sundtek
|
||||
- added the ability to use a script's stdout as the xmltv source instead of a fixed file or URL
|
||||
|
||||
3.0.9
|
||||
- update to TVHeadend 3.4
|
||||
|
||||
3.0.8
|
||||
- update to TVHeadend 3.3.521
|
||||
|
||||
3.0.7
|
||||
- update to TVHeadend 3.3.511
|
||||
|
||||
3.0.6
|
||||
- update to TVHeadend 3.3.491
|
||||
- disable avahi support
|
||||
|
||||
3.0.5
|
||||
- update to TVHeadend 3.3.485
|
||||
|
||||
3.0.4
|
||||
- update to TVHeadend 3.3.403
|
||||
|
||||
3.0.3
|
||||
- update to TVHeadend 3.3.328
|
||||
- add an option to preload capmt_ca.so library
|
||||
|
||||
3.0.2
|
||||
- update to TVHeadend 3.2.18
|
||||
|
||||
3.0.1
|
||||
- bump addon version
|
||||
- add support to install as system addon
|
||||
- update to TVHeadend 3.2, rename addon
|
||||
- add version string to addon summary
|
||||
|
||||
2.1.5
|
||||
- add an option to wait for more than 1 adapters to appear
|
||||
|
||||
2.1.3
|
||||
- update to hts-tvheadend-78213a0
|
||||
|
||||
2.1.2
|
||||
- add suspend/resume fixes
|
||||
- use KILL signal to stop tvheadend
|
||||
- add an option to wait for fe initialization
|
||||
|
||||
2.1.1
|
||||
- update to addon version 2.1
|
||||
- update to hts-tvheadend-85e23bb
|
||||
|
||||
2.0.8
|
||||
- define default recordings folder to /storage/recordings
|
||||
- update to hts-tvheadend-a76f365
|
||||
- add patch for support IPTV radio streams
|
||||
|
||||
2.0.7
|
||||
- enable unloading/loading dvb modules on suspend/resume
|
||||
- add while loop for restarting tvheadend if it crashes
|
||||
|
||||
2.0.6
|
||||
- add possibilty to start / stop addon from addon manager with enable / disable
|
||||
- add possibility to browse filesystem for xmltv source file
|
||||
- start tvheadend in video user group
|
||||
- update to hts-tvheadend-b877800
|
||||
|
||||
2.0.5
|
||||
- start userspace DVB drivers before Tvheadend
|
||||
|
||||
2.0.4
|
||||
- update to hts-tvheadend-fdf89b2
|
||||
|
||||
2.0.3
|
||||
- rebuild for libiconv changes
|
||||
|
||||
2.0.2
|
||||
- update to hts-tvheadend-d66746c
|
||||
|
||||
2.0.1
|
||||
- fix patches
|
||||
|
||||
2.0.0
|
||||
- prepare for OpenELEC-2.0 release
|
||||
|
||||
1.90.2
|
||||
- depends on xbmc.python API 2.0
|
||||
|
||||
1.90.1
|
||||
- update to hts-tvheadend-fdc743f
|
||||
|
||||
1.90.0
|
||||
- add (CH) GA Weissenstein default muxes
|
||||
- prepare for OpenELEC-1.90 release
|
||||
|
||||
1.0.1
|
||||
- add XMLTV tv_file_grab support
|
||||
- add XMLTV configuration support
|
||||
- add teletext support patch
|
||||
- add fix memory leak patch
|
||||
|
||||
1.0.0
|
||||
- prepare for OpenELEC-1.0 release
|
||||
|
||||
0.99.8
|
||||
- add suspend/wakeup script
|
||||
|
||||
0.99.7
|
||||
- update to hts-tvheadend-c88a646
|
||||
|
||||
0.99.6
|
||||
- update to hts-tvheadend-9d775da
|
||||
|
||||
0.99.5
|
||||
- update to hts-tvheadend-ca68ed4
|
||||
|
||||
0.99.4
|
||||
- change icon
|
||||
|
||||
0.99.3
|
||||
- rebuild for openssl downgrade
|
||||
|
||||
0.99.2
|
||||
- rework start scripts
|
||||
|
||||
0.99.1
|
||||
- initial version hts-tvheadend-90e3570
|
||||
|
After Width: | Height: | Size: 51 KiB |
@@ -0,0 +1,75 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# OpenELEC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="tvheadend"
|
||||
PKG_VERSION="3.9.2182"
|
||||
PKG_REV="6"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.tvheadend.org"
|
||||
PKG_URL="$DISTRO_SRC/${PKG_NAME}-${PKG_VERSION}.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain libressl curl"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="service/multimedia"
|
||||
PKG_SHORTDESC="tvheadend (Version: $PKG_VERSION): a TV streaming server for Linux supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as input sources."
|
||||
PKG_LONGDESC="Tvheadend (Version: $PKG_VERSION) is a TV streaming server for Linux supporting DVB-S, DVB-S2, DVB-C, DVB-T, ATSC, IPTV, and Analog video (V4L) as input sources. It also comes with a powerful and easy to use web interface both used for configuration and day-to-day operations, such as searching the EPG and scheduling recordings. Even so, the most notable feature of Tvheadend is how easy it is to set up: Install it, navigate to the web user interface, drill into the TV adapters tab, select your current location and Tvheadend will start scanning channels and present them to you in just a few minutes. If installing as an Addon a reboot is needed"
|
||||
PKG_IS_ADDON="yes"
|
||||
PKG_ADDON_TYPE="xbmc.service"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
pre_build_target() {
|
||||
mkdir -p $PKG_BUILD/.$TARGET_NAME
|
||||
cp -RP $PKG_BUILD/* $PKG_BUILD/.$TARGET_NAME
|
||||
export CROSS_COMPILE=$TARGET_PREFIX
|
||||
# meh imx6..
|
||||
if [ "$TARGET_ARCH" == "arm" ] ; then
|
||||
export CFLAGS="$CFLAGS -mno-unaligned-access"
|
||||
fi
|
||||
}
|
||||
|
||||
configure_target() {
|
||||
./configure --prefix=/usr \
|
||||
--arch=$TARGET_ARCH \
|
||||
--cpu=$TARGET_CPU \
|
||||
--cc=$TARGET_CC \
|
||||
--enable-hdhomerun_client \
|
||||
--enable-hdhomerun_static \
|
||||
--disable-avahi \
|
||||
--disable-libav \
|
||||
--enable-inotify \
|
||||
--enable-epoll \
|
||||
--disable-uriparser \
|
||||
--enable-tvhcsa \
|
||||
--enable-bundle \
|
||||
--disable-dbus_1 \
|
||||
--python=$ROOT/$TOOLCHAIN/bin/python
|
||||
}
|
||||
|
||||
post_make_target() {
|
||||
$CC -O -fbuiltin -fomit-frame-pointer -fPIC -shared -o capmt_ca.so src/extra/capmt_ca.c -ldl
|
||||
}
|
||||
|
||||
makeinstall_target() {
|
||||
: # nothing to do here
|
||||
}
|
||||
|
||||
addon() {
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
cp -P $PKG_BUILD/.$TARGET_NAME/build.linux/tvheadend $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
cp -P $PKG_BUILD/.$TARGET_NAME/capmt_ca.so $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
diff --git a/Makefile.hdhomerun b/Makefile.hdhomerun
|
||||
index 094a375..7916c14 100644
|
||||
--- a/Makefile.hdhomerun
|
||||
+++ b/Makefile.hdhomerun
|
||||
@@ -45,10 +45,10 @@ LIBHDHRDIR = $(ROOTDIR)/libhdhomerun_static
|
||||
|
||||
export PATH := $(LIBHDHRDIR)/build/bin:$(PATH)
|
||||
|
||||
-LIBHDHR = libhdhomerun_20140604
|
||||
+LIBHDHR = libhdhomerun_20141210
|
||||
LIBHDHR_TB = $(LIBHDHR).tgz
|
||||
LIBHDHR_URL = http://download.silicondust.com/hdhomerun/$(LIBHDHR_TB)
|
||||
-LIBHDHR_SHA1 = b8d910a5721c484a30b81662fd6991e3546ed67c
|
||||
+LIBHDHR_SHA1 = 4f6827e17f8f79401f272f62089352fe01eae740
|
||||
|
||||
.PHONY: build
|
||||
build: $(LIBHDHRDIR)/$(LIBHDHR)/.tvh_build
|
||||
@@ -0,0 +1,25 @@
|
||||
From 67e38551bc3acadf27b3ed4922e897348a612fdb Mon Sep 17 00:00:00 2001
|
||||
From: Stefan Saraev <[email protected]>
|
||||
Date: Wed, 15 Oct 2014 13:35:09 +0300
|
||||
Subject: [PATCH] remove werror
|
||||
|
||||
---
|
||||
Makefile | 2 +-
|
||||
1 files changed, 1 insertions(+), 1 deletions(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index ddcc47e..0087a6c 100644
|
||||
--- a/Makefile
|
||||
+++ b/Makefile
|
||||
@@ -28,7 +28,7 @@ PROG := $(BUILDDIR)/tvheadend
|
||||
#
|
||||
|
||||
CFLAGS += -g -O2 -Wunused-result
|
||||
-CFLAGS += -Wall -Werror -Wwrite-strings -Wno-deprecated-declarations
|
||||
+CFLAGS += -Wall -Wwrite-strings -Wno-deprecated-declarations
|
||||
CFLAGS += -Wmissing-prototypes
|
||||
CFLAGS += -fms-extensions -funsigned-char -fno-strict-aliasing
|
||||
CFLAGS += -D_FILE_OFFSET_BITS=64
|
||||
--
|
||||
1.7.2.5
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
@@ -17,21 +18,23 @@
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
# Attempts to generate a unique machine ID based on one local MAC address
|
||||
# MACHINEID SHOULD be the same between upgrades/reinstalls
|
||||
# MAC is hashed so that it cant be reversed making it anonymous
|
||||
# Used to help with global usage statistics, also used for dbus and systemd
|
||||
. /etc/profile
|
||||
|
||||
# creating machine-id, systemd otherwise does this automatically if not present.
|
||||
# this we want to avoid to have the same machine-id over reboot, fallback
|
||||
# to systemd's solution if this dont work here
|
||||
ADDON_HOME="$HOME/.kodi/userdata/addon_data/service.multimedia.tvheadend"
|
||||
ADDON_SETTINGS="$ADDON_HOME/settings.xml"
|
||||
XMLTV_TYPE=`grep XMLTV_TYPE $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
|
||||
XMLTV_LOCATION_FILE=`grep XMLTV_LOCATION_FILE $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
|
||||
XMLTV_LOCATION_WEB=`grep XMLTV_LOCATION_WEB $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
|
||||
XMLTV_LOCATION_SCRIPT=`grep XMLTV_LOCATION_SCRIPT $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`
|
||||
|
||||
if [ -e "/sys/class/net/eth0/address" ]; then
|
||||
MAC_ADRESS=`cat /sys/class/net/eth0/address`
|
||||
elif [ -e "/sys/class/net/wlan0/address" ]; then
|
||||
MAC_ADRESS=`cat /sys/class/net/wlan0/address`
|
||||
if [ "$XMLTV_TYPE" = "FILE" ]; then
|
||||
cat "$XMLTV_LOCATION_FILE"
|
||||
exit 0
|
||||
elif [ "$XMLTV_TYPE" = "SCRIPT" ]; then
|
||||
if [ -e "$XMLTV_LOCATION_SCRIPT" ] ; then
|
||||
exec "$XMLTV_LOCATION_SCRIPT"
|
||||
fi
|
||||
elif [ "$XMLTV_TYPE" = "WEB" ]; then
|
||||
wget -qO - "$XMLTV_LOCATION_WEB"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
MACHINEID=`echo $MAC_ADRESS | md5sum | cut -f1 -d" "`
|
||||
|
||||
echo "$MACHINEID" > /run/machine-id
|
||||
@@ -0,0 +1,89 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation, either version 2 of the License, or
|
||||
# (at your option) any later version.
|
||||
#
|
||||
# OpenELEC is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
. /etc/profile
|
||||
|
||||
oe_setup_addon service.multimedia.tvheadend
|
||||
|
||||
ADDON_SETTINGS="$ADDON_HOME/settings.xml"
|
||||
XMLTV_FILE="$ADDON_DIR/bin/tv_grab_file"
|
||||
XMLTV_SETTINGS_DIR="$ADDON_HOME/xmltv"
|
||||
XMLTV_SETTINGS_FILE="$XMLTV_SETTINGS_DIR/config"
|
||||
DVR_SETTINGS_DIR="$ADDON_HOME/dvr"
|
||||
DVR_SETTINGS_FILE="$DVR_SETTINGS_DIR/config"
|
||||
DVR_DIR="$HOME/recordings"
|
||||
TIMESHIFT_SETTINGS_DIR="$ADDON_HOME/timeshift"
|
||||
TIMESHIFT_SETTINGS_FILE="$TIMESHIFT_SETTINGS_DIR/config"
|
||||
TIMESHIFT_DIR="$ADDON_HOME/cache/timeshift"
|
||||
|
||||
chmod a+x $ADDON_DIR/bin/*
|
||||
|
||||
if [ ! -f "$XMLTV_SETTINGS_FILE" ]; then
|
||||
mkdir -p $XMLTV_SETTINGS_DIR
|
||||
if [ -f $ADDON_DIR/xmltv-config ]; then
|
||||
cp $ADDON_DIR/xmltv-config $XMLTV_SETTINGS_FILE
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -f "$DVR_SETTINGS_FILE" ]; then
|
||||
mkdir -p $DVR_DIR
|
||||
mkdir -p $DVR_SETTINGS_DIR
|
||||
if [ -f $ADDON_DIR/dvr-config ]; then
|
||||
cp $ADDON_DIR/dvr-config $DVR_SETTINGS_FILE
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ ! -f "$TIMESHIFT_SETTINGS_FILE" ]; then
|
||||
mkdir -p $TIMESHIFT_DIR
|
||||
mkdir -p $TIMESHIFT_SETTINGS_DIR
|
||||
if [ -f $ADDON_DIR/timeshift-config ]; then
|
||||
cp $ADDON_DIR/timeshift-config $TIMESHIFT_SETTINGS_FILE
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ "$DEBUG" = "yes" ]; then
|
||||
TVHEADEND_ARG="-B -C -s -u root -g video -c $ADDON_HOME"
|
||||
else
|
||||
TVHEADEND_ARG="-B -C -u root -g video -c $ADDON_HOME"
|
||||
fi
|
||||
|
||||
# start userspace DVB driver/addon
|
||||
for driver_dvb in $(find /storage/.kodi/addons/driver.dvb.*/bin/userspace-driver.sh -type f 2>/dev/null); do
|
||||
driver_dvb_name=$(echo $driver_dvb | awk 'BEGIN {FS="/"} {printf("%s", $5)}')
|
||||
logger -t Tvheadend "### Loading userspace DVB driver: $driver_dvb_name ###"
|
||||
# use ". " because of variable export
|
||||
. $driver_dvb
|
||||
done
|
||||
|
||||
if [ "$WAIT_FOR_FEINIT" == "true" ] ; then
|
||||
while [ true ] ; do
|
||||
if [ -e /dev/dvb/adapter$((NUM_ADAPTERS-1))/frontend0 ] ; then
|
||||
break
|
||||
fi
|
||||
sleep 1
|
||||
done
|
||||
fi
|
||||
|
||||
if [ "$PRELOAD_CAPMT_CA" == "true" ] ; then
|
||||
logger -t Tvheadend "### Preloading capmt_ca.so library ###"
|
||||
LD_PRELOAD="$ADDON_DIR/bin/capmt_ca.so $LD_PRELOAD" exec tvheadend $TVHEADEND_ARG &>$ADDON_LOG_FILE
|
||||
else
|
||||
exec tvheadend $TVHEADEND_ARG &>$ADDON_LOG_FILE
|
||||
fi
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"storage": "/storage/recordings",
|
||||
"retention-days": 31,
|
||||
"pre-extra-time": 0,
|
||||
"post-extra-time": 0,
|
||||
"day-dir": 0,
|
||||
"channel-dir": 0,
|
||||
"channel-in-title": 0,
|
||||
"date-in-title": 0,
|
||||
"time-in-title": 0,
|
||||
"whitespace-in-title": 0,
|
||||
"title-dir": 0,
|
||||
"episode-in-title": 0,
|
||||
"tag-files": 1
|
||||
}
|
||||
@@ -0,0 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<strings>
|
||||
|
||||
<!-- HTS TVHEADEND -->
|
||||
<string id="1000">XMLTV</string>
|
||||
<string id="1001">DVB</string>
|
||||
<string id="1011">XMLTV configuration</string>
|
||||
<string id="1011">XMLTV source type</string>
|
||||
<string id="1012">XMLTV File location</string>
|
||||
<string id="1013">XMLTV Web location</string>
|
||||
<string id="1014">XMLTV Script location</string>
|
||||
<string id="1020">DVB Configuration</string>
|
||||
<string id="1021">Unload DVB mudules before suspend</string>
|
||||
<string id="1022">Wait for frontend initialization</string>
|
||||
<string id="1023">Number of adapters to wait for</string>
|
||||
<string id="1024">Preload capmt_ca.so library</string>
|
||||
|
||||
</strings>
|
||||
@@ -0,0 +1,21 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
|
||||
<settings>
|
||||
|
||||
<!-- HTS TVHEADEND -->
|
||||
<category label="1000">
|
||||
<setting label="1010" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="XMLTV_TYPE" type="labelenum" label="1011" values="NONE|FILE|SCRIPT|WEB" sort="yes" default="NONE"/>
|
||||
<setting id="XMLTV_LOCATION_FILE" type="file" label="1012" default="" enable="eq(-1,0)"/>
|
||||
<setting id="XMLTV_LOCATION_WEB" type="text" label="1013" default="http://" enable="eq(-2,3)"/>
|
||||
<setting id="XMLTV_LOCATION_SCRIPT" type="file" label="1014" default="" enable="eq(-3,2)"/>
|
||||
</category>
|
||||
<category label="1001">
|
||||
<setting label="1020" type="lsep"/>
|
||||
<setting type="sep" />
|
||||
<setting id="WAIT_FOR_FEINIT" type="bool" label="1022" default="false" />
|
||||
<setting id="NUM_ADAPTERS" type="slider" range="1,16" option="int" label="1023" default="1" enable="eq(-1,true)" />
|
||||
<setting id="REMOVE_MODULES" type="text" label="1021" values="" default=""/>
|
||||
<setting id="PRELOAD_CAPMT_CA" type="bool" label="1024" default="false" />
|
||||
</category>
|
||||
</settings>
|
||||
@@ -0,0 +1,8 @@
|
||||
<settings>
|
||||
<setting id="WAIT_FOR_FEINIT" value="false" />
|
||||
<setting id="NUM_ADAPTERS" value="1" />
|
||||
<setting id="XMLTV_LOCATION_FILE" value="" />
|
||||
<setting id="XMLTV_LOCATION_WEB" value="http://" />
|
||||
<setting id="XMLTV_TYPE" value="NONE" />
|
||||
<setting id="PRELOAD_CAPMT_CA" value="false" />
|
||||
</settings>
|
||||
@@ -1,3 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
@@ -16,19 +18,27 @@
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
export HOME="/storage"
|
||||
export PATH="/bin:/sbin:/usr/bin:/usr/sbin"
|
||||
export LD_LIBRARY_PATH="/usr/lib:/lib"
|
||||
export HOSTNAME=`cat /etc/hostname`
|
||||
export PS1="\[\e[1;32m\]\h\[\e[1;32m\]:\[\e[1;34m\]\w \[\e[0m\]\\$ "
|
||||
# TODO: k0p: remove this and/or force TERM=xterm ? ping dag-
|
||||
case "$TERM" in
|
||||
linux|nxterm|screen|xterm|xterm-color)
|
||||
. /etc/profile
|
||||
|
||||
oe_setup_addon service.multimedia.tvheadend
|
||||
|
||||
SERVICE="service.multimedia.tvheadend"
|
||||
|
||||
case "$1" in
|
||||
pre)
|
||||
if systemctl is-active "$SERVICE" &>/dev/null ; then
|
||||
systemctl stop "$SERVICE"
|
||||
for module in $REMOVE_MODULES ; do
|
||||
rmmod $module
|
||||
done
|
||||
fi
|
||||
;;
|
||||
"")
|
||||
export TERM="linux"
|
||||
;;
|
||||
*)
|
||||
export TERM="xterm"
|
||||
post)
|
||||
if systemctl is-enabled "$SERVICE" &>/dev/null ; then
|
||||
for module in $REMOVE_MODULES ; do
|
||||
modprobe $module
|
||||
done
|
||||
systemctl start "$SERVICE"
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
@@ -0,0 +1,13 @@
|
||||
[Unit]
|
||||
Description=TVHeadend Service
|
||||
After=graphical.target
|
||||
|
||||
[Service]
|
||||
ExecStart=/bin/sh -c "exec sh /storage/.kodi/addons/service.multimedia.tvheadend/bin/tvheadend.start"
|
||||
TimeoutStopSec=2
|
||||
Restart=always
|
||||
RestartSec=2
|
||||
StartLimitInterval=0
|
||||
|
||||
[Install]
|
||||
WantedBy=kodi.target
|
||||
@@ -0,0 +1,9 @@
|
||||
{
|
||||
"enabled": 0,
|
||||
"ondemand": 0,
|
||||
"path": "/storage/.kodi/userdata/addon_data/service.multimedia.tvheadend/cache/timeshift",
|
||||
"unlimited_period": 0,
|
||||
"max_period": 3600,
|
||||
"unlimited_size": 0,
|
||||
"max_size": 1024
|
||||
}
|
||||
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"grabbers": [
|
||||
{
|
||||
"path": "/storage/.kodi/addons/service.multimedia.tvheadend/bin/tv_grab_file",
|
||||
"description": "tv_grag_file is a simple grabber that just read the ~/.xmltv/tv_grab_file.xmltv file",
|
||||
"version": "0.1\n",
|
||||
"mtime": 1318774706,
|
||||
"capabilities": 1
|
||||
}
|
||||
],
|
||||
"grab-interval": 12,
|
||||
"grab-enabled": 1,
|
||||
"current-grabber": "/storage/.kodi/addons/service.multimedia.tvheadend/bin/tv_grab_file"
|
||||
}
|
||||
@@ -1,32 +1,3 @@
|
||||
4.3.11
|
||||
- update to vdr-plugin-restfulapi-0.2.1.4
|
||||
|
||||
4.3.10
|
||||
- disable dvbapi network mode
|
||||
|
||||
4.3.9
|
||||
- update to vdr-2.2.0
|
||||
- update to vdr-iptv-2.2.0
|
||||
- update to vdr-satip-2.2.0
|
||||
- update to vdr-plugin-dvbapi-c0c7fa2
|
||||
- update to vdr-plugin-eepg-9cd9a75
|
||||
- update to vdr-plugin-vnsiserver-9529e6d
|
||||
- update to vdr-plugin-streamdev-84c6f6b
|
||||
|
||||
4.3.8
|
||||
- update to vdr-2.1.10
|
||||
- update to vdr-plugin-restfulapi-0.2.1.1
|
||||
- update to vdr-plugin-vnsiserver-f2175ba
|
||||
|
||||
4.3.7
|
||||
- update to vdr-2.1.8
|
||||
- update to vdr-plugin-vnsiserver-b887bc8
|
||||
- update to vdr-wirbelscan-0.0.9
|
||||
|
||||
4.3.6
|
||||
- update to vdr-satip-1.0.2
|
||||
- update to vdr-2.1.7
|
||||
|
||||
4.3.5
|
||||
- add plugin 'vdr-plugin-restfulapi'
|
||||
- update to vdr-plugin-xvdr-b300fc3
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
PKG_NAME="vdr-addon"
|
||||
PKG_VERSION="4.3"
|
||||
PKG_REV="11"
|
||||
PKG_REV="5"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.openelec.tv"
|
||||
@@ -103,7 +103,7 @@ addon() {
|
||||
cp -P $VDR_PLUGIN_XMLTV2VDR/dist/epgdata2xmltv/epgdata2xmltv $ADDON_BUILD/$PKG_ADDON_ID/bin
|
||||
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/lib
|
||||
cp -PL $(get_build_dir tntnet)/.install_pkg/usr/lib/libtntnet.so.12 $ADDON_BUILD/$PKG_ADDON_ID/lib
|
||||
cp -PL $(get_build_dir tntnet)/.install_pkg/usr/lib/libtntnet.so.11 $ADDON_BUILD/$PKG_ADDON_ID/lib
|
||||
|
||||
mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/streamdev-server
|
||||
cp -PR $VDR_PLUGIN_STREAMVEV_DIR/streamdev-server/streamdevhosts.conf $ADDON_BUILD/$PKG_ADDON_ID/config/plugins/streamdev-server
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<string id="1001">Plugins</string>
|
||||
<string id="1002">VDR</string>
|
||||
<string id="1020">DVB Configuration</string>
|
||||
<string id="1021">Unload DVB modules before suspend</string>
|
||||
<string id="1021">Unload DVB mudules before suspend</string>
|
||||
<string id="1022">Wait for frontend initialization</string>
|
||||
<string id="1023">Number of adapters to wait for</string>
|
||||
<string id="1024">Enable charset override</string>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -17,8 +17,8 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="alsa-lib"
|
||||
PKG_VERSION="1.1.0"
|
||||
PKG_REV="4"
|
||||
PKG_VERSION="1.0.28"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.alsa-project.org/"
|
||||
|
||||
@@ -1,23 +0,0 @@
|
||||
From 982c628f484266c8db4f70dc1e856bc7844c1873 Mon Sep 17 00:00:00 2001
|
||||
From: Patrick Rasmussen <[email protected]>
|
||||
Date: Fri, 13 Mar 2015 14:52:56 +0100
|
||||
Subject: [PATCH] Add USB Sound Blaster HD
|
||||
|
||||
---
|
||||
src/conf/cards/USB-Audio.conf | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/conf/cards/USB-Audio.conf b/src/conf/cards/USB-Audio.conf
|
||||
index 4cbf85e..2591d00 100644
|
||||
--- a/src/conf/cards/USB-Audio.conf
|
||||
+++ b/src/conf/cards/USB-Audio.conf
|
||||
@@ -62,6 +62,7 @@ USB-Audio.pcm.iec958_device {
|
||||
# Second iec958 device number, if any.
|
||||
USB-Audio.pcm.iec958_2_device {
|
||||
"PHIREE U2" 1 # 0 = PCM S/PDIF, 1 = non-PCM S/PDIF
|
||||
+ "USB Sound Blaster HD" 1
|
||||
}
|
||||
|
||||
|
||||
--
|
||||
2.1.4
|
||||
@@ -0,0 +1,69 @@
|
||||
From 01b686cf032d523642c5ab33f455d814ef468925 Mon Sep 17 00:00:00 2001
|
||||
From: fritsch <[email protected]>
|
||||
Date: Sat, 10 Jan 2015 23:47:58 +0100
|
||||
Subject: [PATCH] Support PHIREE U2 and Sound blaster F-Xi HD (done by Anssih)
|
||||
|
||||
---
|
||||
src/conf/cards/USB-Audio.conf | 41 ++++++++++++++++++++++++++++++++++++++++-
|
||||
1 file changed, 40 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/conf/cards/USB-Audio.conf b/src/conf/cards/USB-Audio.conf
|
||||
index ce3ae01..107d6fa 100644
|
||||
--- a/src/conf/cards/USB-Audio.conf
|
||||
+++ b/src/conf/cards/USB-Audio.conf
|
||||
@@ -52,6 +52,10 @@ USB-Audio.pcm.iec958_device {
|
||||
"USB Device 0x46d:0x992" 999
|
||||
}
|
||||
|
||||
+USB-Audio.pcm.iec958_2_device {
|
||||
+ "PHIREE U2" 1
|
||||
+ "USB Sound Blaster HD" 1
|
||||
+}
|
||||
|
||||
# If a device requires non-standard definitions for front, surround40,
|
||||
# surround51, surround71 or iec958, they can be defined here.
|
||||
@@ -422,4 +426,39 @@ USB-Audio.pcm.iec958.0 {
|
||||
}
|
||||
}
|
||||
|
||||
-# vim: ft=alsaconf
|
||||
+USB-Audio.pcm.iec958.1 {
|
||||
+ @args [ CARD AES0 AES1 AES2 AES3 ]
|
||||
+ @args.CARD { type string }
|
||||
+ @args.AES0 { type integer }
|
||||
+ @args.AES1 { type integer }
|
||||
+ @args.AES2 { type integer }
|
||||
+ @args.AES3 { type integer }
|
||||
+ @func refer
|
||||
+ name {
|
||||
+ @func concat
|
||||
+ strings [
|
||||
+ "cards.USB-Audio."
|
||||
+ { @func card_name card $CARD }
|
||||
+ ".pcm.iec958_2:CARD=" $CARD
|
||||
+ ",AES0=" $AES0 ",AES1=" $AES1 ",AES2=" $AES2 ",AES3=" $AES3
|
||||
+ ]
|
||||
+ }
|
||||
+ default {
|
||||
+ # FIXME: we cannot set the AES parameters
|
||||
+ type hw
|
||||
+ card $CARD
|
||||
+ device {
|
||||
+ @func refer
|
||||
+ name {
|
||||
+ @func concat
|
||||
+ strings [
|
||||
+ "cards.USB-Audio.pcm.iec958_2_device."
|
||||
+ { @func card_name card $CARD }
|
||||
+ ]
|
||||
+ }
|
||||
+ default 999
|
||||
+ }
|
||||
+ }
|
||||
+}
|
||||
+
|
||||
+# vim: ft=alsaconf
|
||||
\ No newline at end of file
|
||||
--
|
||||
1.9.1
|
||||
|
||||
@@ -1,2 +0,0 @@
|
||||
#Keep Alsa default order
|
||||
for i in 5 4 3 2 1 0; do [ -e /dev/snd/pcmC${i}D0p ] && export ALSA_CARD=$i; done
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -17,7 +17,7 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="alsa-utils"
|
||||
PKG_VERSION="1.1.0"
|
||||
PKG_VERSION="1.0.28"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
@@ -39,7 +39,6 @@ PKG_CONFIGURE_OPTS_TARGET="--disable-dependency-tracking \
|
||||
--disable-alsaconf \
|
||||
--disable-alsaloop \
|
||||
--enable-alsatest \
|
||||
--disable-bat \
|
||||
--disable-nls"
|
||||
|
||||
|
||||
|
||||
@@ -1,40 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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="asplib"
|
||||
PKG_VERSION="2fac1bf"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/AchimTuran/asplib"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
PKG_SHORTDESC="asplib: Achim's Signal Processing LIBrary"
|
||||
PKG_LONGDESC="asplib is a small and lightweight C++ library for digital signal processing."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
configure_target() {
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr -DBUILD_SHARED_LIBS=0 \
|
||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS -DTARGET_LINUX" \
|
||||
..
|
||||
}
|
||||
@@ -1,137 +0,0 @@
|
||||
diff -Naur a/CMakeLists.txt b/CMakeLists.txt
|
||||
--- a/CMakeLists.txt 2016-01-12 22:24:43.000000000 +0100
|
||||
+++ b/CMakeLists.txt 2016-01-12 22:47:16.624139358 +0100
|
||||
@@ -1,64 +1,17 @@
|
||||
project(asplib)
|
||||
|
||||
cmake_minimum_required(VERSION 2.6)
|
||||
-enable_language(CXX)
|
||||
-
|
||||
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${PROJECT_SOURCE_DIR})
|
||||
-
|
||||
-include(UseMultiArch.cmake)
|
||||
|
||||
set(asplib_NAME asplib)
|
||||
set(asplib_DESCRIPTION "asplib (Achim's Signal Processing LIBrary), is a small and lightweight C++ library for digital signal processing.")
|
||||
-set(asplib_VERSION_MAJOR ${APP_VERSION_MAJOR})
|
||||
-set(asplib_VERSION_MINOR ${APP_VERSION_MINOR})
|
||||
-set(asplib_VERSION_PATCH 0)
|
||||
-
|
||||
-if(NOT WIN32)
|
||||
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
|
||||
-endif()
|
||||
-
|
||||
-if(CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
- set(CMAKE_CXX_FLAGS "-DTARGET_LINUX")
|
||||
-endif()
|
||||
-
|
||||
-if(CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
- set(CMAKE_CXX_FLAGS "-DTARGET_WINDOWS")
|
||||
-endif()
|
||||
-
|
||||
-#set(asplib_INCLUDE_DIRS ${TINYXML_INCLUDE_DIR} "${CMAKE_INSTALL_PREFIX}/include/kodi")
|
||||
-#set(asplib_LIBRARIES ${CMAKE_THREAD_LIBS_INIT} ${TINYXML_LIBRARIES})
|
||||
-
|
||||
-if (NOT WIN32)
|
||||
- add_definitions(-fPIC -g -O2)
|
||||
-endif()
|
||||
-
|
||||
-include_directories(${PROJECT_SOURCE_DIR}
|
||||
- ${PROJECT_SOURCE_DIR}/Biquads)
|
||||
|
||||
-set(SOURCES asplib_utils/computeDeviceInfo/cpuInfo.cpp
|
||||
- Biquads/Biquad_Native/asplib_Biquad_Native.cpp
|
||||
+set(SOURCES Biquads/Biquad_Native/asplib_Biquad_Native.cpp
|
||||
Biquads/apslib_BiquadFactory.cpp)
|
||||
|
||||
-set(HEADERS interfaces/asplib_IBaseBiquad.h
|
||||
- asplib_utils/constants_typedefs/asplib_constants.h
|
||||
- asplib_utils/constants_typedefs/asplib_typedefs.h
|
||||
- asplib_utils/os/asplib_base_os.h
|
||||
- asplib_utils/os/windows/windows_definitions.h
|
||||
- asplib_utils/os/linux/linux_definitions.h
|
||||
- asplib_utils/computeDeviceInfo/cpuInfo_types.h
|
||||
- asplib_utils/computeDeviceInfo/cpuInfo.h
|
||||
- Biquads/apslib_BiquadFactory.h
|
||||
- Biquads/Biquad_Native/asplib_Biquad_Native.h)
|
||||
-
|
||||
-
|
||||
-#include_directories(${TINYXML_INCLUDE_DIR} ${KODI_INCLUDE_DIR})
|
||||
-
|
||||
-add_library(asplib ${SOURCES} ${PLAT_SOURCES})
|
||||
-target_link_libraries(asplib ${asplib_LIBRARIES})
|
||||
-#set_target_properties(asplib PROPERTIES VERSION ${asplib_VERSION_MAJOR}.${asplib_VERSION_MINOR}.${asplib_VERSION_PATCH}
|
||||
-# SOVERSION ${asplib_VERSION_MAJOR}.0)
|
||||
+add_library(asplib STATIC ${SOURCES})
|
||||
|
||||
-install(TARGETS asplib DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
||||
+include_directories(${PROJECT_SOURCE_DIR}
|
||||
+ ${PROJECT_SOURCE_DIR}/Biquads)
|
||||
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/interfaces/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/interfaces
|
||||
FILES_MATCHING PATTERN "*.h")
|
||||
@@ -66,8 +19,6 @@
|
||||
FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/asplib_utils/os/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/asplib_utils/os/
|
||||
FILES_MATCHING PATTERN "*.h")
|
||||
-install(DIRECTORY ${PROJECT_SOURCE_DIR}/asplib_utils/os/windows/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/asplib_utils/os/windows/
|
||||
- FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/asplib_utils/os/linux/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/asplib_utils/os/linux/
|
||||
FILES_MATCHING PATTERN "*.h")
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/asplib_utils/computeDeviceInfo/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/asplib_utils/computeDeviceInfo/
|
||||
@@ -77,54 +28,4 @@
|
||||
install(DIRECTORY ${PROJECT_SOURCE_DIR}/Biquads/Biquad_Native/ DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib/Biquads/Biquad_Native/
|
||||
FILES_MATCHING PATTERN "*.h")
|
||||
|
||||
-
|
||||
-# install(FILES interfaces/asplib_IBaseBiquad.h
|
||||
- # asplib_utils/constants_typedefs/asplib_constants.h
|
||||
- # asplib_utils/constants_typedefs/asplib_typedefs.h
|
||||
-
|
||||
- # DESTINATION include/asplib/asplib_utils/constants_typedefs/)
|
||||
-
|
||||
- # asplib_utils/os/asplib_base_os.h
|
||||
- # asplib_utils/os/windows/windows_definitions.h
|
||||
- # asplib_utils/os/linux/linux_definitions.h
|
||||
- # utils/computeDeviceInfo/cpuInfo_types.h
|
||||
- # utils/computeDeviceInfo/cpuInfo.h
|
||||
- # Biquads/apslib_BiquadFactory.h
|
||||
- # Biquads/Biquad_Native/asplib_Biquad_Native.h
|
||||
- # )
|
||||
-
|
||||
-# install(FILES interfaces/asplib_IBaseBiquad.h
|
||||
- # DESTINATION include/asplib/interfaces)
|
||||
-# install(FILES constants_typedefs/asplib_constants.h
|
||||
- # constants_typedefs/asplib_typedefs.h
|
||||
- # DESTINATION include/asplib/constants_typedefs)
|
||||
-# install(FILES utils/computeDeviceInfo/cpuInfo_types.h
|
||||
- # utils/computeDeviceInfo/cpuInfo.h
|
||||
- # DESTINATION include/asplib/utils)
|
||||
-# install(FILES Biquads/apslib_BiquadFactory.h
|
||||
- # Biquads/Biquad_Native/asplib_Biquad_Native.h
|
||||
- # DESTINATION include/asplib/Biquads)
|
||||
-
|
||||
-#install(FILES ${HEADERS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/asplib)
|
||||
-
|
||||
-#IF(NOT WIN32)
|
||||
- # Pkgconfig
|
||||
- #include(PkgConfigHandler.cmake)
|
||||
- #configure_pc_file(kodiutilities kodiutilities.pc.in
|
||||
- # kodiutilities.pc
|
||||
- # ${CMAKE_INSTALL_PREFIX}
|
||||
- # ${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}
|
||||
- # ${CMAKE_INSTALL_PREFIX}/include)
|
||||
-
|
||||
-# install(FILES ${CMAKE_BINARY_DIR}/kodiutilities.pc
|
||||
-# DESTINATION ${CMAKE_INSTALL_LIBDIR_NOARCH}/pkgconfig)
|
||||
-#ENDIF(NOT WIN32)
|
||||
-
|
||||
-# config mode
|
||||
-#configure_file (kodiutilities-config.cmake.in
|
||||
-# kodiutilities-config.cmake @ONLY)
|
||||
-#install(FILES ${CMAKE_BINARY_DIR}/kodiutilities-config.cmake
|
||||
-# DESTINATION ${CMAKE_INSTALL_LIBDIR_NOARCH}/kodiutilities)
|
||||
-
|
||||
-# Quell warnings with in-tree builds
|
||||
-#set(KODI_BUILD_DIR ${KODI_BUILD_DIR})
|
||||
+install(TARGETS asplib DESTINATION ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
@@ -1,48 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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="dcadec"
|
||||
PKG_VERSION="37d8e68"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="https://github.com/foo86/dcadec"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
PKG_SHORTDESC="DTS Coherent Acoustics decoder with support for HD extensions"
|
||||
PKG_LONGDESC="DTS Coherent Acoustics decoder with support for HD extensions"
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
# todo: we need to build as shared library, otherwise sond dont work
|
||||
# in kodi with enabled dcadec support and we have 100% CPU usage
|
||||
# (to test disable passtrough and use a DTS-HD sample)
|
||||
PKG_MAKE_OPTS_TARGET="PREFIX=/usr BINDIR=/usr/bin LIBDIR=/usr/lib INCLUDEDIR=/usr/include PKG_CONFIG_PATH=/usr/lib/pkgconfig CONFIG_SHARED=1"
|
||||
PKG_MAKEINSTALL_OPTS_TARGET="$PKG_MAKE_OPTS_TARGET"
|
||||
|
||||
pre_configure_target() {
|
||||
export CFLAGS="$CFLAGS -fPIC -DPIC"
|
||||
export LDFLAGS="$LDFLAGS -fPIC -DPIC"
|
||||
}
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -22,7 +22,8 @@ PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://espeak.sourceforge.net/"
|
||||
PKG_URL="$DISTRO_SRC/$PKG_NAME-$PKG_VERSION.zip"
|
||||
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"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -20,8 +20,8 @@ PKG_NAME="flac"
|
||||
PKG_VERSION="1.3.1"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv2"
|
||||
PKG_SITE="https://xiph.org/flac/"
|
||||
PKG_LICENSE="LGPL"
|
||||
PKG_SITE="http://flac.sourceforge.net/"
|
||||
PKG_URL="http://downloads.xiph.org/releases/flac/$PKG_NAME-$PKG_VERSION.tar.xz"
|
||||
PKG_DEPENDS_TARGET="toolchain libogg"
|
||||
PKG_PRIORITY="optional"
|
||||
|
||||
@@ -1,16 +0,0 @@
|
||||
diff -Naur flac-1.3.1/configure.ac flac-1.3.1.patch/configure.ac
|
||||
--- flac-1.3.1/configure.ac 2014-11-27 03:45:33.000000000 +0100
|
||||
+++ flac-1.3.1.patch/configure.ac 2015-01-24 20:19:19.119178172 +0100
|
||||
@@ -348,11 +348,10 @@
|
||||
|
||||
if test "x$debug" = xtrue; then
|
||||
CPPFLAGS="-DDEBUG $CPPFLAGS"
|
||||
- CFLAGS=$(echo "$CFLAGS" | sed 's/-g//')
|
||||
CFLAGS="-g $CFLAGS"
|
||||
else
|
||||
CPPFLAGS="-DNDEBUG $CPPFLAGS"
|
||||
- CFLAGS=$(echo "$CFLAGS" | sed 's/-O2//;s/-g//')
|
||||
+ CFLAGS=$(echo "$CFLAGS" | sed 's/-O2//')
|
||||
CFLAGS="-O3 -funroll-loops $CFLAGS"
|
||||
fi
|
||||
|
||||
@@ -1,43 +0,0 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
#
|
||||
# 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="fluidsynth"
|
||||
PKG_VERSION="1.1.6"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://fluidsynth.org/"
|
||||
PKG_URL="$SOURCEFORGE_SRC/project/fluidsynth/fluidsynth-$PKG_VERSION/$PKG_NAME-$PKG_VERSION.tar.bz2"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
PKG_SHORTDESC="FluidSynth: A SoundFont Synthesizer."
|
||||
PKG_LONGDESC="FluidSynth renders midi music files as raw audio data, for playing or conversion. "
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no"
|
||||
|
||||
configure_target() {
|
||||
cmake -DCMAKE_TOOLCHAIN_FILE=$CMAKE_CONF \
|
||||
-DCMAKE_INSTALL_PREFIX=/usr \
|
||||
-DBUILD_SHARED_LIBS=0 \
|
||||
-Denable-readline=0 \
|
||||
-Denable-pulseaudio=0 \
|
||||
-Denable-libsndfile=0 \
|
||||
..
|
||||
}
|
||||
@@ -1,18 +0,0 @@
|
||||
--- fluidsynth-1.1.6/CMakeLists.txt.orig 2015-04-06 13:12:55.151874342 +0200
|
||||
+++ fluidsynth-1.1.6/CMakeLists.txt 2015-04-06 13:14:32.931876573 +0200
|
||||
@@ -85,11 +85,11 @@
|
||||
endif ( ${CMAKE_SYSTEM} MATCHES "OS2" )
|
||||
|
||||
# Initialize the library directory name suffix.
|
||||
-if ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||
- set ( _init_lib_suffix "64" )
|
||||
-else ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||
+#if ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||
+# set ( _init_lib_suffix "64" )
|
||||
+#else ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||
set ( _init_lib_suffix "" )
|
||||
-endif ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||
+#endif ( CMAKE_SIZEOF_VOID_P EQUAL 8 )
|
||||
set ( LIB_SUFFIX ${_init_lib_suffix} CACHE STRING
|
||||
"library directory name suffix (32/64/nothing)" )
|
||||
mark_as_advanced ( LIB_SUFFIX )
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -17,12 +17,12 @@
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libcdio"
|
||||
PKG_VERSION="0.93"
|
||||
PKG_VERSION="0.92"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPLv3"
|
||||
PKG_SITE="https://www.gnu.org/software/libcdio/"
|
||||
PKG_URL="https://ftp.gnu.org/gnu/libcdio/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.gnu.org/software/libcdio/"
|
||||
PKG_URL="http://ftp.gnu.org/gnu/libcdio/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
################################################################################
|
||||
# This file is part of OpenELEC - http://www.openelec.tv
|
||||
# Copyright (C) 2009-2016 Stephan Raue ([email protected])
|
||||
# Copyright (C) 2009-2014 Stephan Raue ([email protected])
|
||||
#
|
||||
# OpenELEC is free software: you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
@@ -16,29 +16,41 @@
|
||||
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>.
|
||||
################################################################################
|
||||
|
||||
PKG_NAME="libsamplerate"
|
||||
PKG_VERSION="0.1.8"
|
||||
PKG_NAME="libmad"
|
||||
PKG_VERSION="0.15.1b"
|
||||
PKG_REV="1"
|
||||
PKG_ARCH="any"
|
||||
PKG_LICENSE="GPL"
|
||||
PKG_SITE="http://www.mega-nerd.com/SRC/"
|
||||
PKG_URL="http://www.mega-nerd.com/SRC/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_SITE="http://www.mars.org/home/rob/proj/mpeg/"
|
||||
PKG_URL="$SOURCEFORGE_SRC/mad/$PKG_NAME-$PKG_VERSION.tar.gz"
|
||||
PKG_DEPENDS_TARGET="toolchain"
|
||||
PKG_PRIORITY="optional"
|
||||
PKG_SECTION="audio"
|
||||
PKG_SHORTDESC="libsamplerate: A Sample Rate Converter library for audio"
|
||||
PKG_LONGDESC="Libsamplerate is a Sample Rate Converter for audio. One example of where such a thing would be useful is converting audio from the CD sample rate of 44.1kHz to the 48kHz sample rate used by DAT players."
|
||||
PKG_SHORTDESC="libmad: MPEG Audio Decoder"
|
||||
PKG_LONGDESC="MAD is a high-quality MPEG audio decoder. It currently supports MPEG-1 and the MPEG-2 extension to Lower Sampling Frequencies, as well as the so-called MPEG 2.5 format. All three audio layers (Layer I, Layer II, and Layer III a.k.a. MP3) are fully implemented."
|
||||
|
||||
PKG_IS_ADDON="no"
|
||||
PKG_AUTORECONF="no" # ToDo
|
||||
PKG_AUTORECONF="yes"
|
||||
|
||||
# package specific configure options
|
||||
PKG_CONFIGURE_OPTS_TARGET="--disable-shared \
|
||||
--enable-static \
|
||||
--datadir=/usr/share \
|
||||
--disable-fftw \
|
||||
--disable-sndfile"
|
||||
PKG_CONFIGURE_OPTS_TARGET="--enable-static --disable-shared"
|
||||
if [ $TARGET_ARCH == "x86_64" ] ; then
|
||||
PKG_CONFIGURE_OPTS_TARGET="$PKG_CONFIGURE_OPTS_TARGET --enable-accuracy --enable-fpm=64bit"
|
||||
fi
|
||||
|
||||
post_makeinstall_target() {
|
||||
rm -rf $INSTALL/usr/bin
|
||||
mkdir -p $SYSROOT_PREFIX/usr/lib/pkgconfig
|
||||
cat > $SYSROOT_PREFIX/usr/lib/pkgconfig/mad.pc << "EOF"
|
||||
prefix=/usr
|
||||
exec_prefix=${prefix}
|
||||
libdir=${exec_prefix}/lib
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: mad
|
||||
Description: MPEG audio decoder
|
||||
Requires:
|
||||
Version: 0.15.1b
|
||||
Libs: -L${libdir} -lmad
|
||||
Cflags: -I${includedir}
|
||||
EOF
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -Naur libmad-0.15.1b-old/configure.ac libmad-0.15.1b-new/configure.ac
|
||||
--- libmad-0.15.1b-old/configure.ac 2004-01-23 01:41:32.000000000 -0800
|
||||
+++ libmad-0.15.1b-new/configure.ac 2012-12-30 15:14:37.000000000 -0800
|
||||
@@ -28,7 +28,7 @@
|
||||
|
||||
AM_INIT_AUTOMAKE
|
||||
|
||||
-AM_CONFIG_HEADER([config.h])
|
||||
+AC_CONFIG_HEADERS([config.h])
|
||||
|
||||
dnl System type.
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
diff -Naur libmad-0.15.1b-orig/configure.ac libmad-0.15.1b/configure.ac
|
||||
--- libmad-0.15.1b-orig/configure.ac 2007-07-01 12:58:13.000000000 -0600
|
||||
+++ libmad-0.15.1b/configure.ac 2007-07-01 12:59:13.000000000 -0600
|
||||
@@ -105,7 +105,7 @@
|
||||
shift
|
||||
;;
|
||||
-O2)
|
||||
- optimize="-O"
|
||||
+ optimize="-O2"
|
||||
shift
|
||||
;;
|
||||
-fomit-frame-pointer)
|
||||