initial buildroot for linux 5.15

This commit is contained in:
Huan.Feng
2021-12-06 14:12:13 +08:00
parent d7767d594e
commit 7b6fc358fa
12736 changed files with 508822 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
config BR2_PACKAGE_GERBERA
bool "gerbera"
depends on BR2_USE_MMU # fork()
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on BR2_TOOLCHAIN_HAS_THREADS
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_8 # C++17 filesystem
depends on BR2_INSTALL_LIBSTDCPP
depends on !BR2_STATIC_LIBS
depends on BR2_USE_WCHAR # fmt
select BR2_PACKAGE_FMT
select BR2_PACKAGE_LIBICONV if !BR2_ENABLE_LOCALE
select BR2_PACKAGE_LIBUPNP if !BR2_PACKAGE_LIBNPUPNP
select BR2_PACKAGE_PUGIXML
select BR2_PACKAGE_PUGIXML_XPATH_SUPPORT
select BR2_PACKAGE_SPDLOG
select BR2_PACKAGE_SQLITE
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
select BR2_PACKAGE_ZLIB
help
A free media server.
Stream your media to devices on your home network.
Select BR2_PACKAGE_DUKTAPE if you want to enable JavaScript
for scripting.
https://gerbera.io
comment "gerbera needs a toolchain w/ C++, dynamic library, threads, wchar, gcc >= 8"
depends on BR2_USE_MMU
depends on BR2_TOOLCHAIN_HAS_ATOMIC
depends on !BR2_INSTALL_LIBSTDCPP || BR2_STATIC_LIBS || \
!BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR || \
!BR2_TOOLCHAIN_GCC_AT_LEAST_8
+55
View File
@@ -0,0 +1,55 @@
#!/bin/sh
DAEMON="gerbera"
PIDFILE="/var/run/$DAEMON.pid"
GERBERA_ARGS="-c /etc/gerbera/config.xml -l /var/log/gerbera.log"
# shellcheck source=/dev/null
[ -r "/etc/default/$DAEMON" ] && . "/etc/default/$DAEMON"
# (Re)create home directory
mkdir -p /var/lib/$DAEMON
start() {
printf 'Starting %s: ' "$DAEMON"
# shellcheck disable=SC2086 # we need the word splitting
start-stop-daemon -S -q -m -b -p "$PIDFILE" -x "/usr/bin/$DAEMON" \
-- $GERBERA_ARGS
status=$?
if [ "$status" -eq 0 ]; then
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
stop() {
printf 'Stopping %s: ' "$DAEMON"
start-stop-daemon -K -q -p "$PIDFILE"
status=$?
if [ "$status" -eq 0 ]; then
rm -f "$PIDFILE"
echo "OK"
else
echo "FAIL"
fi
return "$status"
}
restart() {
stop
start
}
case "$1" in
start|stop|restart)
"$1";;
reload)
# Restart, since there is no true "reload" feature.
restart;;
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
esac
+135
View File
@@ -0,0 +1,135 @@
<?xml version="1.0" encoding="UTF-8"?>
<config version="2" xmlns="http://mediatomb.cc/config/2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://mediatomb.cc/config/2 http://mediatomb.cc/config/2.xsd">
<!--
See http://gerbera.io or read the docs for more
information on creating and using config.xml configuration files.
-->
<server>
<ui enabled="yes" show-tooltips="yes">
<accounts enabled="no" session-timeout="30">
<account user="gerbera" password="gerbera" />
</accounts>
</ui>
<name>Gerbera</name>
<udn>uuid:ac20d9b6-5c82-48e6-80de-436965fbe1d7</udn>
<home>/var/lib/gerbera</home>
<webroot>/usr/share/gerbera/web</webroot>
<!--
How frequently (in seconds) to send ssdp:alive advertisements.
Minimum alive value accepted is: 62
The advertisement will be sent every (A/2)-30 seconds,
and will have a cache-control max-age of A where A is
the value configured here. Ex: A value of 62 will result
in an SSDP advertisement being sent every second.
-->
<alive>1800</alive>
<storage>
<sqlite3 enabled="yes">
<database-file>gerbera.db</database-file>
</sqlite3>
</storage>
<extended-runtime-options>
<mark-played-items enabled="no" suppress-cds-updates="yes">
<string mode="prepend">*</string>
<mark>
<content>video</content>
</mark>
</mark-played-items>
</extended-runtime-options>
</server>
<import hidden-files="no">
<scripting>
<virtual-layout type="builtin" />
</scripting>
<mappings>
<extension-mimetype ignore-unknown="no">
<map from="asf" to="video/x-ms-asf" />
<map from="asx" to="video/x-ms-asf" />
<map from="dff" to="audio/x-dsd" />
<map from="dsf" to="audio/x-dsd" />
<map from="flv" to="video/x-flv" />
<map from="m2ts" to="video/mp2t" />
<map from="m3u" to="audio/x-mpegurl" />
<map from="mka" to="audio/x-matroska" />
<map from="mkv" to="video/x-matroska" />
<map from="mp3" to="audio/mpeg" />
<map from="mts" to="video/mp2t" />
<map from="oga" to="audio/ogg" />
<map from="ogg" to="audio/ogg" />
<map from="ogm" to="video/ogg" />
<map from="ogv" to="video/ogg" />
<map from="ogx" to="application/ogg" />
<map from="pls" to="audio/x-scpls" />
<map from="ts" to="video/mp2t" />
<map from="tsa" to="audio/mp2t" />
<map from="tsv" to="video/mp2t" />
<map from="wax" to="audio/x-ms-wax" />
<map from="wm" to="video/x-ms-wm" />
<map from="wma" to="audio/x-ms-wma" />
<map from="wmv" to="video/x-ms-wmv" />
<map from="wmx" to="video/x-ms-wmx" />
<map from="wv" to="audio/x-wavpack" />
<map from="wvx" to="video/x-ms-wvx" />
<!-- Uncomment the line below for PS3 divx support -->
<!-- <map from="avi" to="video/divx" /> -->
<!-- Uncomment the line below for D-Link DSM / ZyXEL DMA-1000 -->
<!-- <map from="avi" to="video/avi" /> -->
</extension-mimetype>
<mimetype-upnpclass>
<map from="application/ogg" to="object.item.audioItem.musicTrack" />
<map from="audio/*" to="object.item.audioItem.musicTrack" />
<map from="image/*" to="object.item.imageItem" />
<map from="video/*" to="object.item.videoItem" />
</mimetype-upnpclass>
<mimetype-contenttype>
<treat mimetype="application/ogg" as="ogg" />
<treat mimetype="audio/L16" as="pcm" />
<treat mimetype="audio/flac" as="flac" />
<treat mimetype="audio/mp4" as="mp4" />
<treat mimetype="audio/mpeg" as="mp3" />
<treat mimetype="audio/ogg" as="ogg" />
<treat mimetype="audio/x-dsd" as="dsd" />
<treat mimetype="audio/x-flac" as="flac" />
<treat mimetype="audio/x-matroska" as="mka" />
<treat mimetype="audio/x-mpegurl" as="playlist" />
<treat mimetype="audio/x-ms-wma" as="wma" />
<treat mimetype="audio/x-scpls" as="playlist" />
<treat mimetype="audio/x-wav" as="pcm" />
<treat mimetype="audio/x-wavpack" as="wv" />
<treat mimetype="image/jpeg" as="jpg" />
<treat mimetype="video/mp4" as="mp4" />
<treat mimetype="video/x-matroska" as="mkv" />
<treat mimetype="video/x-msvideo" as="avi" />
</mimetype-contenttype>
</mappings>
<online-content>
<AppleTrailers enabled="no" refresh="43200" update-at-start="no" resolution="640" />
</online-content>
</import>
<transcoding enabled="no">
<mimetype-profile-mappings>
<transcode mimetype="application/ogg" using="vlcmpeg" />
<transcode mimetype="audio/ogg" using="ogg2mp3" />
<transcode mimetype="video/x-flv" using="vlcmpeg" />
</mimetype-profile-mappings>
<profiles>
<profile name="ogg2mp3" enabled="no" type="external">
<mimetype>audio/mpeg</mimetype>
<accept-url>no</accept-url>
<first-resource>yes</first-resource>
<accept-ogg-theora>no</accept-ogg-theora>
<agent command="ffmpeg" arguments="-y -i %in -f mp3 %out" />
<buffer size="1048576" chunk-size="131072" fill-size="262144" />
</profile>
<profile name="vlcmpeg" enabled="no" type="external">
<mimetype>video/mpeg</mimetype>
<accept-url>yes</accept-url>
<first-resource>yes</first-resource>
<accept-ogg-theora>yes</accept-ogg-theora>
<agent command="vlc" arguments="-I dummy %in --sout #transcode{venc=ffmpeg,vcodec=mp2v,vb=4096,fps=25,aenc=ffmpeg,acodec=mpga,ab=192,samplerate=44100,channels=2}:standard{access=file,mux=ps,dst=%out} vlc:quit" />
<buffer size="14400000" chunk-size="512000" fill-size="120000" />
</profile>
</profiles>
</transcoding>
</config>
+3
View File
@@ -0,0 +1,3 @@
# Locally computed:
sha256 dee562cc5d22e8442e2fe1620b073bda612c80f9c4a8333311c647db06c1c4cd gerbera-1.9.2.tar.gz
sha256 cae4138373be41fd2be75faf41ce7efbcf49fb17d0e05ad1c51cc01ac335b9b6 LICENSE.md
+133
View File
@@ -0,0 +1,133 @@
################################################################################
#
# gerbera
#
################################################################################
GERBERA_VERSION = 1.9.2
GERBERA_SITE = $(call github,gerbera,gerbera,v$(GERBERA_VERSION))
GERBERA_LICENSE = GPL-2.0
GERBERA_LICENSE_FILES = LICENSE.md
GERBERA_DEPENDENCIES = \
fmt \
host-pkgconf \
pugixml \
spdlog \
sqlite \
util-linux \
zlib
GERBERA_CONF_OPTS = -DWITH_DEBUG=OFF
ifeq ($(BR2_TOOLCHAIN_GCC_AT_LEAST_9)$(BR2_OPTIMIZE_S),yy)
GERBERA_CONF_OPTS += -DCMAKE_CXX_FLAGS="$(TARGET_CXXFLAGS) -O2"
endif
# Uses __atomic_fetch_add_4
ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y)
GERBERA_CONF_OPTS += -DCMAKE_EXE_LINKER_FLAGS=-latomic
endif
ifeq ($(BR2_PACKAGE_DUKTAPE),y)
GERBERA_DEPENDENCIES += duktape
GERBERA_CONF_OPTS += -DWITH_JS=ON
else
GERBERA_CONF_OPTS += -DWITH_JS=OFF
endif
ifeq ($(BR2_PACKAGE_EXIV2),y)
GERBERA_DEPENDENCIES += exiv2
GERBERA_CONF_OPTS += -DWITH_EXIV2=ON
else
GERBERA_CONF_OPTS += -DWITH_EXIV2=OFF
endif
ifeq ($(BR2_PACKAGE_FFMPEG),y)
GERBERA_DEPENDENCIES += ffmpeg
GERBERA_CONF_OPTS += -DWITH_AVCODEC=ON
else
GERBERA_CONF_OPTS += -DWITH_AVCODEC=OFF
endif
ifeq ($(BR2_PACKAGE_FILE),y)
GERBERA_DEPENDENCIES += file
GERBERA_CONF_OPTS += -DWITH_MAGIC=ON
else
GERBERA_CONF_OPTS += -DWITH_MAGIC=OFF
endif
ifeq ($(BR2_PACKAGE_LIBCURL),y)
GERBERA_DEPENDENCIES += libcurl
GERBERA_CONF_OPTS += -DWITH_CURL=ON
else
GERBERA_CONF_OPTS += -DWITH_CURL=OFF
endif
ifeq ($(BR2_PACKAGE_LIBEXIF),y)
GERBERA_DEPENDENCIES += libexif
GERBERA_CONF_OPTS += -DWITH_EXIF=ON
else
GERBERA_CONF_OPTS += -DWITH_EXIF=OFF
endif
ifeq ($(BR2_PACKAGE_LIBICONV),y)
GERBERA_DEPENDENCIES += libiconv
endif
ifeq ($(BR2_PACKAGE_LIBMATROSKA),y)
GERBERA_DEPENDENCIES += libmatroska
GERBERA_CONF_OPTS += -DWITH_MATROSKA=ON
else
GERBERA_CONF_OPTS += -DWITH_MATROSKA=OFF
endif
# Either libupnp or libnpupnp are guranteed to be enabled
ifeq ($(BR2_PACKAGE_LIBNPUPNP),y)
GERBERA_DEPENDENCIES += libnpupnp
GERBERA_CONF_OPTS += -DWITH_NPUPNP=ON
else
GERBERA_DEPENDENCIES += libupnp
GERBERA_CONF_OPTS += -DWITH_NPUPNP=OFF
endif
ifeq ($(BR2_PACKAGE_MYSQL),y)
GERBERA_DEPENDENCIES += mysql
GERBERA_CONF_OPTS += -DWITH_MYSQL=ON
else
GERBERA_CONF_OPTS += -DWITH_MYSQL=OFF
endif
ifeq ($(BR2_PACKAGE_SYSTEMD),y)
GERBERA_DEPENDENCIES += systemd
GERBERA_CONF_OPTS += -DWITH_SYSTEMD=ON
else
GERBERA_CONF_OPTS += -DWITH_SYSTEMD=OFF
endif
ifeq ($(BR2_PACKAGE_TAGLIB),y)
GERBERA_DEPENDENCIES += taglib
GERBERA_CONF_OPTS += -DWITH_TAGLIB=ON
else
GERBERA_CONF_OPTS += -DWITH_TAGLIB=OFF
endif
# gerbera does not provide a default configuration file, it can be
# created during run time through --create-config:
# http://docs.gerbera.io/en/latest/config-overview.html#generating-configuration
# However, to have a correct home directory and UDN, install it ourself
define GERBERA_INSTALL_CONFIGURATION
$(INSTALL) -D -m 0644 package/gerbera/config.xml \
$(TARGET_DIR)/etc/gerbera/config.xml
endef
GERBERA_POST_INSTALL_TARGET_HOOKS += GERBERA_INSTALL_CONFIGURATION
define GERBERA_USERS
gerbera -1 gerbera -1 * /var/lib/gerbera - - Gerbera user
endef
define GERBERA_INSTALL_INIT_SYSV
$(INSTALL) -D -m 0755 package/gerbera/S99gerbera \
$(TARGET_DIR)/etc/init.d/S99gerbera
endef
$(eval $(cmake-package))