diff options
author | Nicola Hinssen | 2017-10-22 19:04:16 +0200 |
---|---|---|
committer | Nicola Hinssen | 2017-10-22 19:04:16 +0200 |
commit | bc1beb3844c63c455d7853609c321cbbb61aeec9 (patch) | |
tree | bce9b361d3e3ddd63de0dba72e35d11861c4012d | |
download | aur-bc1beb3844c63c455d7853609c321cbbb61aeec9.tar.gz |
Initial
-rw-r--r-- | .SRCINFO | 32 | ||||
-rw-r--r-- | PKGBUILD | 62 | ||||
-rw-r--r-- | emby-migrate-database | 56 | ||||
-rw-r--r-- | emby-server | 3 | ||||
-rw-r--r-- | emby-server.conf | 4 | ||||
-rw-r--r-- | emby-server.install | 18 | ||||
-rw-r--r-- | emby-server.service | 16 |
7 files changed, 191 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO new file mode 100644 index 000000000000..ed1f114f61f0 --- /dev/null +++ b/.SRCINFO @@ -0,0 +1,32 @@ +pkgbase = emby-server-dev-unlocked + pkgdesc = Emby Server compiled with a patch to unlock Emby Premiere features + pkgver = 3.2.33.12 + pkgrel = 1 + url = https://github.com/nicolahinssen/emby-dev-unlocked + install = emby-server.install + arch = i686 + arch = x86_64 + license = GPL2 + depends = ffmpeg + depends = imagemagick + depends = mono + depends = referenceassemblies-pcl + depends = sqlite + provides = emby-server + conflicts = emby-server + backup = etc/conf.d/emby-server + source = emby-server-3.2.33.12.tar.gz::https://github.com/MediaBrowser/Emby/archive/3.2.33.12.tar.gz + source = emby-dev-unlocked-3.2.33.12.tar.gz::https://github.com/nicolahinssen/emby-dev-unlocked/archive/3.2.33.12.tar.gz + source = emby-server + source = emby-migrate-database + source = emby-server.conf + source = emby-server.service + sha256sums = f90b92f5248a31907e9e5e0e0e9519770ad391ce4ec4cda32111971a248834df + sha256sums = a37316c15fd1ede805f75b3c1f27a0f151b4ebd2d40bd6ad167463b13957b9df + sha256sums = 7b1974f7bba8ac4b76e51ef7fe1257d165c7c4abbd0915e192391336048a3d74 + sha256sums = b25bf83a0ab371aff3b13b82f7af71b51bfe6d7e51eb8a8a3dd8f0774ffce6a5 + sha256sums = c9ad78f3e2f0ffcb4ee66bb3e99249fcd283dc9fee17895b9265dc733288b953 + sha256sums = 8a91ea49a1699c820c4a180710072cba1d6d5c10e45df97477ff6a898f4e1d70 + +pkgname = emby-server-dev-unlocked + diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..8ce0f7fd4d1f --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,62 @@ +# Contributor: Nicola Hinssen <nicola.hinssen@gmail.com> +# Contributor: Andrew Rabert <draje@nullsum.net> + +pkgname=emby-server-dev-unlocked +pkgver=3.2.33.12 +pkgrel=1 +pkgdesc='Emby Server compiled with a patch to unlock Emby Premiere features' +arch=('i686' 'x86_64') +url='https://github.com/nicolahinssen/emby-dev-unlocked' +license=('GPL2') +depends=('ffmpeg' 'imagemagick' 'mono' 'referenceassemblies-pcl' 'sqlite') +install='emby-server.install' +provides=('emby-server') +conflicts=('emby-server') +source=("emby-server-${pkgver}.tar.gz::https://github.com/MediaBrowser/Emby/archive/${pkgver}.tar.gz" + "emby-dev-unlocked-${pkgver}.tar.gz::https://github.com/nicolahinssen/emby-dev-unlocked/archive/${pkgver}.tar.gz" + 'emby-server' + 'emby-migrate-database' + 'emby-server.conf' + 'emby-server.service') +backup=('etc/conf.d/emby-server') +sha256sums=('f90b92f5248a31907e9e5e0e0e9519770ad391ce4ec4cda32111971a248834df' + 'a37316c15fd1ede805f75b3c1f27a0f151b4ebd2d40bd6ad167463b13957b9df' + '7b1974f7bba8ac4b76e51ef7fe1257d165c7c4abbd0915e192391336048a3d74' + 'b25bf83a0ab371aff3b13b82f7af71b51bfe6d7e51eb8a8a3dd8f0774ffce6a5' + 'c9ad78f3e2f0ffcb4ee66bb3e99249fcd283dc9fee17895b9265dc733288b953' + '8a91ea49a1699c820c4a180710072cba1d6d5c10e45df97477ff6a898f4e1d70') + +prepare() { + cd Emby-${pkgver} + + sed 's/libMagickWand-6.Q8.so/libMagickWand-6.Q16HDRI.so/' -i MediaBrowser.Server.Mono/ImageMagickSharp.dll.config +} + +build() { + cd Emby-${pkgver} + + patch -N -p1 -r - Emby.Server.Implementations/Security/PluginSecurityManager.cs < \ + ../emby-dev-unlocked-${pkgver}/patches/PluginSecurityManager.cs.patch + + xbuild \ + /p:Configuration='Release Mono' \ + /p:Platform='Any CPU' \ + /p:OutputPath="${srcdir}/build" \ + /t:build MediaBrowser.sln + mono --aot='full' -O='all' ../build/MediaBrowser.Server.Mono.exe + + cp ../emby-dev-unlocked-${pkgver}/replacements/connectionmanager.js ../build/dashboard-ui/bower_components/emby-apiclient +} + +package() { + install -dm 755 "${pkgdir}"/{etc/conf.d,usr/{bin,lib/systemd/system}} + cp -dr --no-preserve='ownership' build "${pkgdir}"/usr/lib/emby-server + find "${pkgdir}" -type f -name *.dylib -delete + install -m 755 emby-server "${pkgdir}"/usr/bin/ + install -m 755 emby-migrate-database "${pkgdir}"/usr/bin/ + install -m 644 emby-server.service "${pkgdir}"/usr/lib/systemd/system/ + install -m 644 emby-server.conf "${pkgdir}"/etc/conf.d/emby-server + + install -dm 755 "${pkgdir}"/var/lib/emby + chown 422:422 -R "${pkgdir}"/var/lib/emby +} diff --git a/emby-migrate-database b/emby-migrate-database new file mode 100644 index 000000000000..3e102124a9c2 --- /dev/null +++ b/emby-migrate-database @@ -0,0 +1,56 @@ +#!/bin/sh + +USER='emby' +GROUP='emby' + +usage() { + echo 'Usage: emby-migrate-database {-u user} {-g group} old_path_full new_path_full' + echo 'Default user: emby' + echo 'Default group: emby' +} + +migrate() { + if [[ $1 && $2 ]]; then + if [[ -f $1/data/library.db ]]; then + if [[ ! -e $2 ]]; then + mkdir -p $2 + fi + if [[ -d $2 ]]; then + if [[ -z $(ls $2) ]]; then + cp -r $1/* $2/ + sqlite3 $2/data/library.db "UPDATE TypedBaseItems SET data = CAST(REPLACE(CAST(data AS TEXT), '$1', '$2') AS BLOB);" + chown $USER:$GROUP -R $2 + echo "Migration complete. You can now delete $1." + else + echo "$2 is not empty. Aborting." + fi + else + echo "$2 is not a directory. Aborting." + fi + else + echo "$1 does not contain an emby database. Aborting." + fi + else + usage + fi +} + +if [[ $1 == '--help' ]]; then + usage +else + while getopts 'u:g:' opt; do + case $opt in + u) + USER=$OPTARG + ;; + g) + GROUP=$OPTARG + ;; + \?) + usage + ;; + esac + done + shift $((OPTIND-1)) + migrate $@ +fi diff --git a/emby-server b/emby-server new file mode 100644 index 000000000000..31461d269dcf --- /dev/null +++ b/emby-server @@ -0,0 +1,3 @@ +#!/bin/sh + +exec $MONO /usr/lib/emby-server/MediaBrowser.Server.Mono.exe -programdata $PROGRAM_DATA -ffmpeg $FFMPEG -ffprobe $FFPROBE diff --git a/emby-server.conf b/emby-server.conf new file mode 100644 index 000000000000..cbf376e727cc --- /dev/null +++ b/emby-server.conf @@ -0,0 +1,4 @@ +MONO=/usr/bin/mono +FFMPEG=/usr/bin/ffmpeg +FFPROBE=/usr/bin/ffprobe +PROGRAM_DATA=/var/lib/emby diff --git a/emby-server.install b/emby-server.install new file mode 100644 index 000000000000..e443a6f4118b --- /dev/null +++ b/emby-server.install @@ -0,0 +1,18 @@ +post_install() { + getent group emby > /dev/null 2>&1 || groupadd -g 422 emby + getent passwd emby > /dev/null 2>&1 || useradd -c 'Emby Media Server' -u 422 -g emby -d /var/lib/emby -s /usr/bin/nologin emby + passwd -l emby > /dev/null + +cat <<EOF + +Emby is not compatible with the 10-bit versionof libx264. Please stick to the +8-bit version if you plan on using emby's transcoding features. + +EOF +} + +post_upgrade() { + post_install +} + +# vim: ts=2 sw=2 et: diff --git a/emby-server.service b/emby-server.service new file mode 100644 index 000000000000..aaf35b161a4d --- /dev/null +++ b/emby-server.service @@ -0,0 +1,16 @@ +[Unit] +Description=Emby brings together your videos, music, photos, and live television. + +[Service] +EnvironmentFile=/etc/conf.d/emby-server +WorkingDirectory=/usr/lib/emby-server +ExecStart=/usr/bin/emby-server +User=emby +Group=emby +Restart=always + +[Unit] +After=network.target + +[Install] +WantedBy=multi-user.target |