Add rpm build script for fedora and update README
Signed-off-by: Thomas Büttner <thomas@vergesslicher.tech>
This commit is contained in:
parent
7f4a073b05
commit
ad36f9ec89
17
rpm-package/Dockerfile.fedora_package
Normal file
17
rpm-package/Dockerfile.fedora_package
Normal file
|
@ -0,0 +1,17 @@
|
|||
FROM fedora:29
|
||||
ARG HOME=/build
|
||||
RUN mkdir /build && \
|
||||
dnf install -y @buildsys-build rpmdevtools dnf-plugins-core && \
|
||||
dnf copr enable -y @dotnet-sig/dotnet && \
|
||||
rpmdev-setuptree
|
||||
|
||||
WORKDIR /build/rpmbuild
|
||||
COPY jellyfin.spec SPECS
|
||||
COPY . SOURCES
|
||||
|
||||
RUN spectool -g -R SPECS/jellyfin.spec && \
|
||||
rpmbuild -bs SPECS/jellyfin.spec && \
|
||||
dnf build-dep -y SRPMS/jellyfin-*.src.rpm && \
|
||||
rpmbuild -bb SPECS/jellyfin.spec && \
|
||||
mkdir /jellyfin && \
|
||||
find . -name 'jellyfin-*.rpm' -print -exec cp {} /jellyfin \;
|
|
@ -1,29 +1,33 @@
|
|||
# unoffical jellyfin RPM
|
||||
# Jellyfin RPM
|
||||
|
||||
<a href="https://copr.fedorainfracloud.org/coprs/wuerfelbecher/jellyfin/package/jellyfin/"><img src="https://copr.fedorainfracloud.org/coprs/wuerfelbecher/jellyfin/package/jellyfin/status_image/last_build.png" /></a>
|
||||
## Build Fedora Package with docker
|
||||
|
||||
Change into this directory `cd rpm-package`
|
||||
Run the build script `./build-fedora-rpm.sh`.
|
||||
Resulting RPM and src.rpm will be in `../../jellyfin-*.rpm`
|
||||
|
||||
## ffmpeg
|
||||
|
||||
The RPM package for Fedora/CentOS requires some additional repos as ffmpeg is not in the main repositories.
|
||||
The RPM package for Fedora/CentOS requires some additional repositories as ffmpeg is not in the main repositories.
|
||||
|
||||
```shell
|
||||
# ffmpeg from RPMfusion free
|
||||
# Fedora
|
||||
$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
|
||||
# CentOS 7
|
||||
# CentOS 7
|
||||
$ sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm
|
||||
```
|
||||
|
||||
## ISO mounting
|
||||
|
||||
To allow jellyfin to mount/umonut ISO files uncomment these two lines in `/etc/sudoers.d/jellyfin-sudoers`
|
||||
To allow Jellyfin to mount/umonut ISO files uncomment these two lines in `/etc/sudoers.d/jellyfin-sudoers`
|
||||
```
|
||||
# %jellyfin ALL=(ALL) NOPASSWD: /bin/mount
|
||||
# %jellyfin ALL=(ALL) NOPASSWD: /bin/umount
|
||||
```
|
||||
|
||||
|
||||
## Database patching
|
||||
|
||||
You may need to install sqlite since CentOS has no `Recommends:` with `yum install sqlite`.
|
||||
To fix the paths in the emby database for a migration to jellyfin run the script:
|
||||
```shell
|
||||
|
|
24
rpm-package/build-fedora-rpm.sh
Executable file
24
rpm-package/build-fedora-rpm.sh
Executable file
|
@ -0,0 +1,24 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# Build a Jellyfin .rpm file with Docker on Linux
|
||||
# Places the output .rpm file in the parent directory
|
||||
|
||||
set -o errexit
|
||||
set -o xtrace
|
||||
set -o nounset
|
||||
|
||||
package_temporary_dir="`mktemp -d`"
|
||||
current_user="`whoami`"
|
||||
image_name="jellyfin-rpmbuild"
|
||||
|
||||
cleanup() {
|
||||
set +o errexit
|
||||
docker image rm $image_name --force
|
||||
rm -rf "$package_temporary_dir"
|
||||
}
|
||||
trap cleanup EXIT INT
|
||||
|
||||
docker build . -t "$image_name" -f ./Dockerfile.fedora_package
|
||||
docker run --rm -v "$package_temporary_dir:/temp" "$image_name" cp -r /jellyfin /temp/
|
||||
sudo chown -R "$current_user" "$package_temporary_dir"
|
||||
mv "$package_temporary_dir"/jellyfin/*.rpm ../../
|
Loading…
Reference in New Issue
Block a user