aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Dockerfile14
-rw-r--r--Emby.Drawing.Skia/Emby.Drawing.Skia.csproj1
-rw-r--r--MediaBrowser.sln20
-rw-r--r--README.md150
-rw-r--r--debian/changelog6
-rw-r--r--debian/control8
-rw-r--r--debian/preinst4
-rwxr-xr-xdebian/rules4
8 files changed, 80 insertions, 127 deletions
diff --git a/Dockerfile b/Dockerfile
index 9c352ef8f..f5e345225 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -3,18 +3,16 @@ ARG DOTNET_VERSION=2
FROM microsoft/dotnet:${DOTNET_VERSION}-sdk as builder
WORKDIR /repo
COPY . .
-ARG CONFIGURATION=RELEASE
RUN export DOTNET_CLI_TELEMETRY_OPTOUT=1 \
&& dotnet clean \
- && dotnet build --configuration ${CONFIGURATION} $(pwd)/MediaBrowser.sln \
- && dotnet publish --configuration ${CONFIGURATION} $(pwd)/MediaBrowser.sln --output /jellyfin
+ && dotnet publish --configuration release --output /jellyfin
FROM microsoft/dotnet:${DOTNET_VERSION}-runtime
COPY --from=builder /jellyfin /jellyfin
-RUN apt update \
- && apt install -y ffmpeg gosu
EXPOSE 8096
+RUN apt update \
+ && apt install -y ffmpeg
VOLUME /config /media
-ENV PUID=1000 PGID=1000
-ENTRYPOINT chown $PUID:$PGID /config /media \
- && gosu $PUID:$PGID dotnet /jellyfin/jellyfin.dll -programdata /config
+ENTRYPOINT if [ -n "$PUID$PGUID" ]; \
+ then echo "PUID/PGID are deprecated. Use Docker user param." >&2; exit 1; \
+ else dotnet /jellyfin/jellyfin.dll -programdata /config; fi
diff --git a/Emby.Drawing.Skia/Emby.Drawing.Skia.csproj b/Emby.Drawing.Skia/Emby.Drawing.Skia.csproj
index 447812458..7d6643d54 100644
--- a/Emby.Drawing.Skia/Emby.Drawing.Skia.csproj
+++ b/Emby.Drawing.Skia/Emby.Drawing.Skia.csproj
@@ -7,6 +7,7 @@
<ItemGroup>
<PackageReference Include="SkiaSharp" Version="1.68.0" />
+ <PackageReference Include="SkiaSharp.NativeAssets.Linux" Version="1.68.0" />
</ItemGroup>
<ItemGroup>
diff --git a/MediaBrowser.sln b/MediaBrowser.sln
index 1482cdd6f..1f4b01b31 100644
--- a/MediaBrowser.sln
+++ b/MediaBrowser.sln
@@ -487,6 +487,26 @@ Global
{E5AF7B26-2239-4CE0-B477-0AA2018EDAA2}.Release|x64.Build.0 = Release|Any CPU
{E5AF7B26-2239-4CE0-B477-0AA2018EDAA2}.Release|x86.ActiveCfg = Release|Any CPU
{E5AF7B26-2239-4CE0-B477-0AA2018EDAA2}.Release|x86.Build.0 = Release|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Debug|Mixed Platforms.Build.0 = Debug|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Debug|Win32.ActiveCfg = Debug|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Debug|Win32.Build.0 = Debug|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Debug|x64.Build.0 = Debug|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Debug|x86.Build.0 = Debug|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Release|Any CPU.Build.0 = Release|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Release|Mixed Platforms.Build.0 = Release|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Release|Win32.ActiveCfg = Release|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Release|Win32.Build.0 = Release|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Release|x64.ActiveCfg = Release|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Release|x64.Build.0 = Release|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Release|x86.ActiveCfg = Release|Any CPU
+ {124E0710-6572-497B-B2A5-696AA08AD8BB}.Release|x86.Build.0 = Release|Any CPU
{6EAFA7F0-8A82-49E6-B2FA-086C5CAEA95B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6EAFA7F0-8A82-49E6-B2FA-086C5CAEA95B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{6EAFA7F0-8A82-49E6-B2FA-086C5CAEA95B}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU
diff --git a/README.md b/README.md
index b978fa389..af73ccd51 100644
--- a/README.md
+++ b/README.md
@@ -1,131 +1,53 @@
-Jellyfin
-============
+<h1 align="center">Jellyfin</h1>
+<h3 align="center">The Free Software Media System</h3>
-Jellyfin is a personal media server. The Jellyfin project was started as a result of Emby's decision to take their code closed-source, as well as various philosophical differences with the core developers. Jellyfin seeks to be the free software alternative to Emby and Plex to provide media management and streaming from a dedicated server to end-user devices.
+<p align="center">
+Jellyfin is a free software media system that puts you in control of managing and streaming your media.
+</p>
-Jellyfin is descended from Emby 3.5.2, ported to the .NET Core framework, and aims to contain build facilities for every platform.
-
-For further details, please see [our wiki](https://github.com/jellyfin/jellyfin/wiki). To receive the latest project updates feel free to join [our public chat on Matrix/Riot](https://matrix.to/#/#jellyfin:matrix.org) and to subscribe to [our subreddit](https://www.reddit.com/r/jellyfin/).
-
-## Feature Requests
-
-While our first priority is a stable build, we will eventually add features that were missing in Emby or were not well implemented (technically or philosophically).
-
-[Feature Requests](http://feathub.com/jellyfin/jellyfin)
-
-## Contributing to Jellyfin
-
-If you're interested in contributing, please see [our wiki for guidelines](https://github.com/jellyfin/jellyfin/wiki/Contributing-to-Jellyfin).
-
-## Prebuilt Jellyfin packages
-
-Prebuild packages are available for Debian/Ubuntu and Arch, and via Docker Hub.
-
-### Docker
+-----
-The Jellyfin Docker image is available on Docker Hub at https://hub.docker.com/r/jellyfin/jellyfin/
+<p align="center">
+<strong>Want to get started?</strong> Choose from <a href="https://github.com/jellyfin/jellyfin/wiki/Prebuilt-Packages">Prebuilt Packages</a>, or <a href="https://github.com/jellyfin/jellyfin/wiki/Building-from-Source">Build from Source</a>.
+</p>
+<p align="center">
+<strong>Want to contribute?</strong> Check out <a href="https://github.com/jellyfin/jellyfin/wiki/Contributing-to-Jellyfin">our wiki for guidelines</a>.
+</p>
-### Arch
+---
-The Jellyfin package is in the AUR at https://aur.archlinux.org/packages/jellyfin-git/
+<p align="center">
+<a href="https://github.com/jellyfin/jellyfin"><img alt="GPL 2.0 License" src="https://img.shields.io/github/license/jellyfin/jellyfin.svg"></a>
+<a href="https://cloud.drone.io/jellyfin/jellyfin"><img alt="Build Status" src="https://cloud.drone.io/api/badges/jellyfin/jellyfin/status.svg"></a>
+<a href="https://hub.docker.com/r/jellyfin/jellyfin"><img alt="Docker Pull Count" src="https://img.shields.io/docker/pulls/jellyfin/jellyfin.svg"></a>
+<a href="https://matrix.to/#/#jellyfin:matrix.org"><img alt="Chat on Matrix" src="https://img.shields.io/matrix/!JXmoIxArWgVvbKKqex/matrix.org.svg?logo=matrix"></a>
+<a href="https://www.reddit.com/r/jellyfin/"><img alt="Join our Subreddit" src="https://img.shields.io/badge/reddit-r%2Fjellyfin-%23FF5700.svg"></a>
+</p>
-### Unraid
+For further details, please see [our wiki](https://github.com/jellyfin/jellyfin/wiki).
-An Unraid Docker template is available. See [this documentation page](https://github.com/jellyfin/jellyfin/blob/master/unRaid/docker-templates/README.md) for details on installing it.
+To receive the latest updates, please visit [our public chat on Matrix/Riot](https://matrix.to/#/#jellyfin:matrix.org), our [announce chat](https://matrix.to/#/#jellyfin-announce:matrix.org) for release info, and follow us on [Social Media](https://github.com/jellyfin/jellyfin/wiki/Social-Media).
-### Debian/Ubuntu
+## About
-A package repository is available at https://repo.jellyfin.org.
+The Jellyfin project was started as a result of Emby's decision to take their code closed-source, as well as various philosophical differences with the core developers. Jellyfin seeks to be the free software alternative to Emby and Plex to provide media management and streaming from a dedicated server to end-user devices.
-NOTE: Ubuntu users may find that the `ffmpeg` dependency package is not present in their release or is simply a rebranded `libav` which is not directly compatible. Please [obtain the ffmpeg package directly from the FFMPEG site](https://ffmpeg.org/download.html#build-linux) to use Jellyfin on Ubuntu.
-
-#### Clean install
-
-0. Install the `dotnet-runtime-2.2` package via [Microsoft's repositories](https://dotnet.microsoft.com/download/dotnet-core/2.2).
-0. Import the GPG signing key (signed by Joshua):
- ```
- wget -O - https://repo.jellyfin.org/debian/jellyfin-signing-key-joshua.gpg.key | sudo apt-key add -
- ```
-0. Add an entry to `/etc/apt/sources.list.d/jellyfin.list` (note that Ubuntu will get `buster` in the list file, but this should still work fine):
- ```
- echo "deb https://repo.jellyfin.org/debian $( grep -Ewo -m1 --color=none 'jessie|stretch|buster' /etc/os-release || echo buster ) main" | sudo tee /etc/apt/sources.list.d/jellyfin.list
- ```
-0. Update APT repositories:
- ```
- sudo apt update
- ```
-0. Install Jellyfin:
- ```
- sudo apt install jellyfin
- ```
-
-#### Upgrade from Emby
-
-The following procedure should work to upgrade from Emby to Jellyfin on an existing installation:
-
-0. Upgrade to Emby 3.5.X, preferably 3.5.2, so the database schema is fully up-to-date and consistent. This is somewhat optional but can reduce the risk of obscure bugs later on.
-0. Stop the `emby-server` daemon:
- ```
- sudo service emby-server stop
- ```
-0. Move your existing Emby data directory out of the way:
- ```
- sudo mv /var/lib/emby /var/lib/emby.backup
- ```
-0. Remove the `emby-server` package:
- ```
- sudo apt remove emby-server
- ```
-0. Install the `jellyfin` package using the instructions above, verifying that `/var/lib/emby` is a symlink to `/var/lib/jellyfin`.
-0. Stop the `jellyfin` daemon:
- ```
- sudo service jellyfin stop
- ```
-0. Copy over all the data files from the old backup data directory:
- ```
- sudo cp -a /var/lib/emby.backup/* /var/lib/jellyfin/
- ```
-0. Correct ownership on the new data directory:
- ```
- sudo chown -R jellyfin:jellyfin /var/lib/jellyfin
- ```
-0. Start the `jellyfin` daemon:
- ```
- sudo service jellyfin start
- ```
-
-This same general procedure should apply for upgrades on any other platform as well though the specific commands and/or paths may be different.
-
-## Building Jellyfin packages from source
-
-Jellyfin seeks to integrate build facilities for any desired packaging format. Instructions for the various formats can be found below.
-
-NOTE: When building from source, only cloning the full Git repository is supported, rather than using a `.zip`/`.tar` archive, in order to support submodules.
+Jellyfin is descended from Emby 3.5.2, ported to the .NET Core framework, and aims to contain build facilities for every platform.
-### Debian/Ubuntu
+## Issues and Feature Requests
-Debian build facilities are integrated into the repo at `debian/`.
-0. Install the `dotnet-sdk-2.2` package via [Microsoft's repositories](https://dotnet.microsoft.com/download/dotnet-core/2.2).
-0. Run `dpkg-buildpackage -us -uc`.
-0. Install the resulting `jellyfin_*.deb` file on your system.
-A huge thanks to Carlos Hernandez who created the original Debian build configuration for Emby 3.1.1.
+<p align="center">
+ <strong>New idea or improvement?</strong>
+<em>Open a <a href="https://github.com/jellyfin/jellyfin/wiki/Feature-Requests">Feature Request</a>.</em>
+</p>
+<p align="center">
+ <Strong>Something not working right?</strong>
+<em>Open an <a href="https://github.com/jellyfin/jellyfin/wiki/Issue-Guidelines">Issue</a>.</em>
+</p>
-### Windows (64 bit)
-A pre-built windows installer will be available soon. Until then it isn't too hard to install Jellyfin from Source.
+## Contributing to Jellyfin
-0. Install the dotnet core SDK 2.2 from [Microsoft's Webpage](https://dotnet.microsoft.com/download/dotnet-core/2.2) and [install Git for Windows](https://gitforwindows.org/)
-0. Clone Jellyfin into a directory of your choice.
- ```
- git clone https://github.com/jellyfin/jellyfin.git C:\Jellyfin
- ```
-0. From the Jellyfin directory you can use our Jellyfin build script. Call `Build-Jellyfin.ps1 -InstallFFMPEG` from inside the directory in a powershell window. Make sure you've set your executionpolicy to unrestricted.
-
- Additional flags:
- * If you want to optimize for your environment you can use the `-WindowsVersion` and `-Architecture` flags to do so; the default is generic Windows x64.
- * The `-InstallLocation` flag lets you select where the compiled binaries go; the default is `$Env:AppData\JellyFin-Server\` .
- * The `-InstallFFMPEG` flag will automatically pull the stable ffmpeg binaries appropriate to your architecture (x86/x64 only for now) from [Zeranoe](https://ffmpeg.zeranoe.com/builds/) and place them in your Jellyfin directory.
-0. (Optional) Use [NSSM](https://nssm.cc/) to configure JellyFin to run as a service
-0. Jellyfin is now available in the default directory (or the directory you chose). Assuming you kept the default directory, to start it from a Powershell window, run, `&"$env:APPDATA\Jellyfin-Server\EmbyServer.exe"`. To start it from CMD, run, `%APPDATA%\Jellyfin-Server\EmbyServer.exe`
+If you're interested in contributing, please see [our wiki for guidelines](https://github.com/jellyfin/jellyfin/wiki/Contributing-to-Jellyfin).
diff --git a/debian/changelog b/debian/changelog
index 3abd5c9b4..dbd489e8f 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+jellyfin (3.5.2-3) unstable; urgency=medium
+
+ * Correct several bugs in 3.5.2-2 packaging
+
+ -- Joshua Boniface <joshua@boniface.me> Sat, 15 Dec 2018 18:17:32 -0500
+
jellyfin (3.5.2-2) unstable; urgency=medium
* Major code updates related to rebranding and cleanup
diff --git a/debian/control b/debian/control
index c00988f3e..13c62c806 100644
--- a/debian/control
+++ b/debian/control
@@ -1,11 +1,13 @@
Source: jellyfin
Section: misc
Priority: optional
-Maintainer: Vasily <just.one.man@yandex.ru>
+Maintainer: Jellyfin Team <team@jellyfin.org>
Build-Depends: debhelper (>= 9),
dotnet-sdk-2.2,
libc6-dev,
- libcurl4-openssl-dev
+ libcurl4-openssl-dev,
+ libfontconfig1-dev,
+ libfreetype6-dev
Standards-Version: 3.9.4
Package: jellyfin
@@ -13,6 +15,6 @@ Replaces: mediabrowser, emby, emby-server-beta, jellyfin-dev, emby-server
Breaks: mediabrowser, emby, emby-server-beta, jellyfin-dev, emby-server
Conflicts: mediabrowser, emby, emby-server-beta, jellyfin-dev, emby-server
Architecture: any
-Depends: ${shlibs:Depends}, ${misc:Depends}, at, libsqlite3-0, ffmpeg
+Depends: at, libsqlite3-0, ffmpeg, libfontconfig1, libfreetype6, libssl1.0.0 | libssl1.0.2
Description: Jellyfin is a home media server.
It is built on top of other popular open source technologies such as Service Stack, jQuery, jQuery mobile, and Mono. It features a REST-based api with built-in documentation to facilitate client development. We also have client libraries for our api to enable rapid development.
diff --git a/debian/preinst b/debian/preinst
index c53260bb0..2ce29a0cf 100644
--- a/debian/preinst
+++ b/debian/preinst
@@ -53,6 +53,10 @@ case "$1" in
[[ -f $PIDFILE ]] && rm $PIDFILE
fi
fi
+
+ # Clean up old Emby cruft that can break the user's system
+ [[ -f /etc/sudoers.d/emby ]] && rm -f /etc/sudoers.d/emby
+
;;
abort-upgrade)
;;
diff --git a/debian/rules b/debian/rules
index 0b790f2e4..6c915af6f 100755
--- a/debian/rules
+++ b/debian/rules
@@ -15,8 +15,8 @@ override_dh_auto_test:
override_dh_clistrip:
override_dh_auto_build:
- dotnet publish --configuration $(CONFIG) $(CURDIR)/MediaBrowser.sln --output='$(CURDIR)/usr/lib/jellyfin/bin' --self-contained --runtime linux-x64
+ dotnet publish --configuration $(CONFIG) --output='$(CURDIR)/usr/lib/jellyfin/bin' --self-contained --runtime linux-x64
override_dh_auto_clean:
- dotnet clean -maxcpucount:1 --configuration $(CONFIG) $(CURDIR)/MediaBrowser.sln || true
+ dotnet clean -maxcpucount:1 --configuration $(CONFIG) || true
rm -rf '$(CURDIR)/usr'