10 Commits

Author SHA256 Message Date
32a7a16f35 Accepting request 1316866 from multimedia:apps
OBS-URL: https://build.opensuse.org/request/show/1316866
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gerbera?expand=0&rev=25
2025-11-10 18:20:31 +00:00
304f2bb9d6 - Update to 3.0.0
- Add support for libsystemd
  - Add Test for formatSizeValue
  - Allow masking arguments
  - Block client group
  - Build for ubuntu-25.10
  - Bump actions/setup-node from 5 to 6
  - Bump actions/upload-artifact from 4 to 5
  - Bump github/codeql-action from 3 to 4
  - Check Headers in Quirks
  - CI Tests: Try more alpine versions
  - clazy fixes
  - Command line option for even more config details
  - Command line option to drop database tables
  - Config XML Schemas
  - Configure searchable flags via BoxLayout
  - Documentation on Return Path Filtering
  - Enable ICU for MacOS
  - Fix derivedFrom search handling
  - Fix docker libqxx library pattern
  - Fix dynamic folders for lowercase trees
  - Fix formatSizeValue on 32-bit systems
  - Fix help message for option "-c"
  - Fix help test
  - Fix ProxyUrl for external items
  - Fix title from wrong stream
  - Fixing Searchable flag in import script
  - forward declare pugixml classes
  - Handle title from nfo correctly
  - Hide boxkey values
  - Implement new Client Quirk to force SortCriteria 'title'
  - Improve MacOS build
  - Introduce sphinx toolbox
  - New PostgreSQL database backend
  - nproc missing on MacOS
  - Quirk to block protocolInfo in CaptionInfoEx
  - Reduce code duplication in XmlBuilder
  - Remove loading complete scripts to create virutal layout
  - remove unique_ptr from ProcListItem vector
  - Restrict number of subtitle bytes to read
  - Rotation of thumbnails by ffmpegthumbnailer
  - Track unused config file entries
  - Unify doxygen tags
  - Update CMakeLists.txt for ICU on APPLE
  - Update to exiv2 v0.28.6
  - Update to exiv2 v0.28.7
  - Update to fmt 12.0.0
  - Update to fmt 12.1.0
  - Update to pupnp 1.14.25
  - Update to spdlog 1.16.0
  - Use new confval links in help
  - various small cleanups
  - WavPack under MacOS
  - WebUI: Show referenced items in details
  - WebUI: Show spinner on loading
- Remove upstreamed patch f8e158bc72986e46b93d05358c29db0c10f2fe9f.patch

OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/gerbera?expand=0&rev=83
2025-11-10 09:28:50 +00:00
f5edd67200 Accepting request 1315242 from multimedia:apps
OBS-URL: https://build.opensuse.org/request/show/1315242
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gerbera?expand=0&rev=24
2025-11-03 17:55:13 +00:00
f95bda0828 - Use --preset to build standard release build with NPUPNP
- BuildRequires minimum versions supported by upstream (rather than
  recommended versions) to allow building on older Leap versions
- Don't cap versions of external libraries to tested ones upstream
  as this doesn't work well with a rolling release (like Tumbleweed)
  and isn't needed for stable Leap releases
- Fix rpmlint errors/warnings
  + add gerbera.rpmlintrc
  + add gerbera-cmake-pie.patch

OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/gerbera?expand=0&rev=81
2025-11-03 07:41:30 +00:00
d0ac003d12 Accepting request 1308515 from multimedia:apps
OBS-URL: https://build.opensuse.org/request/show/1308515
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gerbera?expand=0&rev=23
2025-10-02 17:20:55 +00:00
3dd84bf69c - Fix build error with newer fmt.
Add patch f8e158bc72986e46b93d05358c29db0c10f2fe9f.patch.

OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/gerbera?expand=0&rev=79
2025-10-02 06:26:04 +00:00
68aa29a7ff Accepting request 1300445 from multimedia:apps
OBS-URL: https://build.opensuse.org/request/show/1300445
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gerbera?expand=0&rev=22
2025-08-20 11:27:17 +00:00
9b02c8a730 - Update to 2.6.1
* FIXES
    - Configuration error when creating MySQL from scratch
    - Internal subtitles seem to be broken on older ffmpeg
  * NEW Features
    - Inotify support for script folders allows developing scripts without restarting the server
  * Code Improvements
    - Increased size of debug-mode config option to unsigned long long to avoid overflow. Includes new very long integer config option.
    - Support for loading scripts in tests is dropped in preperation of dropping the feature completely.
  * Changes
    - Gerbera 2.6.1 (#3565), thanks @KarlStraussberger
    - Catch exceptions from metadata handlers (#3563)
    - Remove test support for loading scripts (#3562)
    - Fix MySQL database upgrade from 23 to 24 (#3558)
    - Bump docker/build-push-action from 5 to 6 (#3561)
    - Bump peter-evans/dockerhub-description from 3 to 4 (#3560)
    - Bump DoozyX/clang-format-lint-action from 0.18 to 0.20 (#3559)
    - Update Actions (#3556)
    - Fix for MultiInsert statement (#3555)
    - Fix resource file pattern with braces (#3554)
    - Pull config dependencies (#3549)
    - Inotify for scripts: reload without server restart (#3548)
    - Bump tmp from 0.2.3 to 0.2.4 in /gerbera-web (#3547)
    - Fix MySql config load (#3545)
    - Bump master (#3544)

OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/gerbera?expand=0&rev=77
2025-08-20 08:42:10 +00:00
b6a690e88c Accepting request 1297437 from multimedia:apps
OBS-URL: https://build.opensuse.org/request/show/1297437
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gerbera?expand=0&rev=21
2025-08-04 13:25:43 +00:00
310564821c - Update to 2.6.0
* Deprecation Info
    The scripting interface will soon support the import-function-approach only.
    This means that entries like import-script and playlist-script will not work anymore
    and the respective scripts will be loaded on startup with no argument.
    Instead the defaults of import-function/audio-file will be applied.
    To prepare your config file run gerbera --check-config -c <YourConfigFile>.
    If you get deprecation warnings, run gerbera --create-config=Import and merge the output into your config file.
  * NEW Features
    - Support "natural" file sorting for numbers in file names
    - Support transliteration of texts depending on device output
    - Extract multiple stream information in ffmpeg handler including embedded subtitles
    - Filter resources by mimetype instead of extension
    - Artwork support for dsf files with taglib 2.0
    - "PC Directory" can be configured with <boxlayout>
    - MySql: Configuration of engine, charset and collation before first run
    - User defined virtual layout sub trees
  * FIXES
    - Changing autoscans via ui failed in some cases
    - Failing import including stale objects
  * Code Improvements
    - Use JsonCpp to generate responses in web request handlers
    - Sql database code uses enum properties instead of column names
    - Database initialisation does tables only, initial root values are in code
    - Upgrade documentation build environment to sphinx 8.2 with python 3.12
    - Update versions of npupnp (6.2.1), fmtlib (11.2.0), spdlog (1.15.3), googletest (1.17.0), pupnp (1.14.24), taglib (2.1.1)
    - Install script for cmake
  * Changes
    - Gerbera 2.6.0 (#3538)
    - some more cleanups (#3542)
    - clang-tidy cleanups (#3541)
    - ci: deb-s3 clean does not allow --arch (#3540)
    - ci: fix up pruning old deb packages (#3539)
    - Clean up builds (#3537)
    - Code layout in ui tests (#3534)
    - Check for LIBICONV_PLUG (#3533)
    - Add taglib support for pcm files (#3532)
    - Fix subdir logic (#3531)
    - Edit SortKey on web ui (#3527)
    - Extract metadata from substreams with ffmpeg (#3529)
    - Bump form-data from 4.0.2 to 4.0.4 in /gerbera-web (#3528)
    - Do not send internal subtitles as UPnP resources (#3526)
    - Fix captionInfoCount handling (#3523)
    - Properly support ipv6-only environments (#3517)
    - Fix Support for non-root user in docker image (#3516)
    - Restore owner of config file in docker (#3514)
    - Mark some options as deprecated (#3513)
    - Fix inotify for files (#3509)
    - Update taglib to 2.1.1 (#3512)
    - Fix subtitle detection in import (#3508)
    - Execinfo for stack traces in error log (#3507)
    - User Defined virtual tree parts (#3504)
    - Changed OpenWRT Installation note (#3501)
    - Allow hiding PC directory in web view (#3499)
    - Refactor ConfigSetup code for complex types (#3497)
    - Update PUpnp to 1.14.24 (#3495)
    - Make ImportService stable for multiple calls (#3493)
    - Update PUpnp to 1.14.23 (#3492)
    - Fix issue with stale objects in autoscan (#3488)
    - MySql: Allow configuration of engine, charset and collation (#3486)
    - Fix upload for bionic (#3485)
    - Fix upload for bionic (#3484)
    - Update PUpnp to 1.14.22 and taglib to 2.1 (#3483)
    - Fill database on startup (#3481)
    - Configure limit of sql strings (#3476)
    - Fix timed playlist import (#3475)
    - Quirks for Freebox Player (#3473)
    - Add taglib and artwork support for dsf files (#3466)
    - Fix resources for containers (#3465)
    - Extend details extracted by WavPack handler (#3464)
    - Update spdlog to 1.15.3 (#3463)
    - Filter resources by mimetype (#3462)
    - Update fmtlib to 11.2.0 (#3458)
    - Update googletest to 1.17.0 (#3454)
    - Get correct ffmpeg subtitle stream (#3453)
    - Upgrade documentation build environment (#3452)
    - Get multiple streams in FFMpeg handler (#3451)
    - Fix import and xml (#3447)
    - Provide bash completion file (#3445)
    - Limit strings to column size (#3441)
    - Add support for transliterating device output strings (#3438)
    - Update spdlog to 1.15.2 (#3435)
    - Add missing jsoncpp to Dockerfiles (#3433)
    - Remove legacy compile option SQLITE_BACKUP_ENABLED (#3430)
    - Support "natural" file sorting (#3429)
    - Fix SQL for changing persistent object flag in database (#3427)
    - Improve compile info output (#3425)
    - Tweak for old Samsung TV (#3424)
    - Reorganise installation scripts (#3421)
    - Update NPUPnP (#3420)
    - Bump axios from 1.7.9 to 1.8.3 in /gerbera-web (#3419)
    - Use JsonCpp for web JSON output (#3418)
    - Bump master (#3417)

OBS-URL: https://build.opensuse.org/package/show/multimedia:apps/gerbera?expand=0&rev=75
2025-08-04 09:22:47 +00:00
7 changed files with 276 additions and 43 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e1dd2c710758fbb9f4db6f1afc461bdd1b6c55ef29147d450ab6d90624177f09
size 9873077

3
gerbera-3.0.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d7934a2318f45330deb2ed1b589bd37b49f42f7929a9d11650349d17c998f920
size 9916800

14
gerbera-cmake-pie.patch Normal file
View File

@@ -0,0 +1,14 @@
diff -purN gerbera-2.6.1.orig/CMakeLists.txt gerbera-2.6.1/CMakeLists.txt
--- gerbera-2.6.1.orig/CMakeLists.txt 2025-08-15 15:41:10.000000000 +0200
+++ gerbera-2.6.1/CMakeLists.txt 2025-11-02 17:45:39.166202203 +0100
@@ -47,6 +47,10 @@ set(CMAKE_INSTALL_BINDIR bin)
set(CMAKE_INSTALL_DATADIR share/gerbera)
set(CMAKE_INSTALL_MANDIR share/man/man1)
+# build all executables as PIE
+set(CMAKE_POSITION_INDEPENDENT_CODE ON)
+set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -pie")
+
option(WITH_NPUPNP "Use npupnp instead of libupnp" OFF)
option(WITH_MAGIC "Use libmagic to identify file mime types" ON)
option(WITH_MYSQL "Store media information in MySQL DB" OFF)

View File

@@ -1,3 +1,208 @@
-------------------------------------------------------------------
Sat Nov 8 21:31:49 UTC 2025 - Arjen de Korte <suse+build@de-korte.org>
- Update to 3.0.0
- Add support for libsystemd
- Add Test for formatSizeValue
- Allow masking arguments
- Block client group
- Build for ubuntu-25.10
- Bump actions/setup-node from 5 to 6
- Bump actions/upload-artifact from 4 to 5
- Bump github/codeql-action from 3 to 4
- Check Headers in Quirks
- CI Tests: Try more alpine versions
- clazy fixes
- Command line option for even more config details
- Command line option to drop database tables
- Config XML Schemas
- Configure searchable flags via BoxLayout
- Documentation on Return Path Filtering
- Enable ICU for MacOS
- Fix derivedFrom search handling
- Fix docker libqxx library pattern
- Fix dynamic folders for lowercase trees
- Fix formatSizeValue on 32-bit systems
- Fix help message for option "-c"
- Fix help test
- Fix ProxyUrl for external items
- Fix title from wrong stream
- Fixing Searchable flag in import script
- forward declare pugixml classes
- Handle title from nfo correctly
- Hide boxkey values
- Implement new Client Quirk to force SortCriteria 'title'
- Improve MacOS build
- Introduce sphinx toolbox
- New PostgreSQL database backend
- nproc missing on MacOS
- Quirk to block protocolInfo in CaptionInfoEx
- Reduce code duplication in XmlBuilder
- Remove loading complete scripts to create virutal layout
- remove unique_ptr from ProcListItem vector
- Restrict number of subtitle bytes to read
- Rotation of thumbnails by ffmpegthumbnailer
- Track unused config file entries
- Unify doxygen tags
- Update CMakeLists.txt for ICU on APPLE
- Update to exiv2 v0.28.6
- Update to exiv2 v0.28.7
- Update to fmt 12.0.0
- Update to fmt 12.1.0
- Update to pupnp 1.14.25
- Update to spdlog 1.16.0
- Use new confval links in help
- various small cleanups
- WavPack under MacOS
- WebUI: Show referenced items in details
- WebUI: Show spinner on loading
- Remove upstreamed patch f8e158bc72986e46b93d05358c29db0c10f2fe9f.patch
-------------------------------------------------------------------
Sun Nov 2 16:20:08 UTC 2025 - Arjen de Korte <suse+build@de-korte.org>
- Use --preset to build standard release build with NPUPNP
- BuildRequires minimum versions supported by upstream (rather than
recommended versions) to allow building on older Leap versions
- Don't cap versions of external libraries to tested ones upstream
as this doesn't work well with a rolling release (like Tumbleweed)
and isn't needed for stable Leap releases
- Fix rpmlint errors/warnings
+ add gerbera.rpmlintrc
+ add gerbera-cmake-pie.patch
-------------------------------------------------------------------
Wed Oct 1 13:01:51 UTC 2025 - ecsos <ecsos@opensuse.org>
- Fix build error with newer fmt.
Add patch f8e158bc72986e46b93d05358c29db0c10f2fe9f.patch.
-------------------------------------------------------------------
Tue Aug 19 08:55:26 UTC 2025 - ecsos <ecsos@opensuse.org> - 2.6.1
- Update to 2.6.1
* FIXES
- Configuration error when creating MySQL from scratch
- Internal subtitles seem to be broken on older ffmpeg
* NEW Features
- Inotify support for script folders allows developing scripts without restarting the server
* Code Improvements
- Increased size of debug-mode config option to unsigned long long to avoid overflow. Includes new very long integer config option.
- Support for loading scripts in tests is dropped in preperation of dropping the feature completely.
* Changes
- Gerbera 2.6.1 (#3565), thanks @KarlStraussberger
- Catch exceptions from metadata handlers (#3563)
- Remove test support for loading scripts (#3562)
- Fix MySQL database upgrade from 23 to 24 (#3558)
- Bump docker/build-push-action from 5 to 6 (#3561)
- Bump peter-evans/dockerhub-description from 3 to 4 (#3560)
- Bump DoozyX/clang-format-lint-action from 0.18 to 0.20 (#3559)
- Update Actions (#3556)
- Fix for MultiInsert statement (#3555)
- Fix resource file pattern with braces (#3554)
- Pull config dependencies (#3549)
- Inotify for scripts: reload without server restart (#3548)
- Bump tmp from 0.2.3 to 0.2.4 in /gerbera-web (#3547)
- Fix MySql config load (#3545)
- Bump master (#3544)
-------------------------------------------------------------------
Mon Aug 4 08:02:03 UTC 2025 - ecsos <ecsos@opensuse.org> - 2.6.0
- Update to 2.6.0
* Deprecation Info
The scripting interface will soon support the import-function-approach only.
This means that entries like import-script and playlist-script will not work anymore
and the respective scripts will be loaded on startup with no argument.
Instead the defaults of import-function/audio-file will be applied.
To prepare your config file run gerbera --check-config -c <YourConfigFile>.
If you get deprecation warnings, run gerbera --create-config=Import and merge the output into your config file.
* NEW Features
- Support "natural" file sorting for numbers in file names
- Support transliteration of texts depending on device output
- Extract multiple stream information in ffmpeg handler including embedded subtitles
- Filter resources by mimetype instead of extension
- Artwork support for dsf files with taglib 2.0
- "PC Directory" can be configured with <boxlayout>
- MySql: Configuration of engine, charset and collation before first run
- User defined virtual layout sub trees
* FIXES
- Changing autoscans via ui failed in some cases
- Failing import including stale objects
* Code Improvements
- Use JsonCpp to generate responses in web request handlers
- Sql database code uses enum properties instead of column names
- Database initialisation does tables only, initial root values are in code
- Upgrade documentation build environment to sphinx 8.2 with python 3.12
- Update versions of npupnp (6.2.1), fmtlib (11.2.0), spdlog (1.15.3), googletest (1.17.0), pupnp (1.14.24), taglib (2.1.1)
- Install script for cmake
* Changes
- Gerbera 2.6.0 (#3538)
- some more cleanups (#3542)
- clang-tidy cleanups (#3541)
- ci: deb-s3 clean does not allow --arch (#3540)
- ci: fix up pruning old deb packages (#3539)
- Clean up builds (#3537)
- Code layout in ui tests (#3534)
- Check for LIBICONV_PLUG (#3533)
- Add taglib support for pcm files (#3532)
- Fix subdir logic (#3531)
- Edit SortKey on web ui (#3527)
- Extract metadata from substreams with ffmpeg (#3529)
- Bump form-data from 4.0.2 to 4.0.4 in /gerbera-web (#3528)
- Do not send internal subtitles as UPnP resources (#3526)
- Fix captionInfoCount handling (#3523)
- Properly support ipv6-only environments (#3517)
- Fix Support for non-root user in docker image (#3516)
- Restore owner of config file in docker (#3514)
- Mark some options as deprecated (#3513)
- Fix inotify for files (#3509)
- Update taglib to 2.1.1 (#3512)
- Fix subtitle detection in import (#3508)
- Execinfo for stack traces in error log (#3507)
- User Defined virtual tree parts (#3504)
- Changed OpenWRT Installation note (#3501)
- Allow hiding PC directory in web view (#3499)
- Refactor ConfigSetup code for complex types (#3497)
- Update PUpnp to 1.14.24 (#3495)
- Make ImportService stable for multiple calls (#3493)
- Update PUpnp to 1.14.23 (#3492)
- Fix issue with stale objects in autoscan (#3488)
- MySql: Allow configuration of engine, charset and collation (#3486)
- Fix upload for bionic (#3485)
- Fix upload for bionic (#3484)
- Update PUpnp to 1.14.22 and taglib to 2.1 (#3483)
- Fill database on startup (#3481)
- Configure limit of sql strings (#3476)
- Fix timed playlist import (#3475)
- Quirks for Freebox Player (#3473)
- Add taglib and artwork support for dsf files (#3466)
- Fix resources for containers (#3465)
- Extend details extracted by WavPack handler (#3464)
- Update spdlog to 1.15.3 (#3463)
- Filter resources by mimetype (#3462)
- Update fmtlib to 11.2.0 (#3458)
- Update googletest to 1.17.0 (#3454)
- Get correct ffmpeg subtitle stream (#3453)
- Upgrade documentation build environment (#3452)
- Get multiple streams in FFMpeg handler (#3451)
- Fix import and xml (#3447)
- Provide bash completion file (#3445)
- Limit strings to column size (#3441)
- Add support for transliterating device output strings (#3438)
- Update spdlog to 1.15.2 (#3435)
- Add missing jsoncpp to Dockerfiles (#3433)
- Remove legacy compile option SQLITE_BACKUP_ENABLED (#3430)
- Support "natural" file sorting (#3429)
- Fix SQL for changing persistent object flag in database (#3427)
- Improve compile info output (#3425)
- Tweak for old Samsung TV (#3424)
- Reorganise installation scripts (#3421)
- Update NPUPnP (#3420)
- Bump axios from 1.7.9 to 1.8.3 in /gerbera-web (#3419)
- Use JsonCpp for web JSON output (#3418)
- Bump master (#3417)
-------------------------------------------------------------------
Thu Mar 6 18:21:10 UTC 2025 - ecsos <ecsos@opensuse.org>

1
gerbera.rpmlintrc Normal file
View File

@@ -0,0 +1 @@
addFilter("zero-length /etc/gerbera/gerbera.html")

View File

@@ -19,9 +19,8 @@
%if 0%{?suse_version} && 0%{?suse_version} < 1590
%global force_gcc_version 12
%endif
Name: gerbera
Version: 2.5.0
Version: 3.0.0
Release: 0
Summary: UPnP Media Server
License: GPL-2.0-only
@@ -30,46 +29,57 @@ URL: https://gerbera.io
Source0: https://github.com/gerbera/gerbera/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
Source1: config.xml
Source2: gerbera.sysusers.in
Source3: %{name}.rpmlintrc
Source10: %{name}-vhost-apache.conf
Source11: %{name}-vhost-nginx.conf
Source90: README.SUSE
Patch0: harden_gerbera.service.patch
# PATCH-FIX-OPENSUSE - build executables as PIE
Patch1: gerbera-cmake-pie.patch
BuildRequires: apache-rpm-macros
BuildRequires: ccache
BuildRequires: cmake >= 3.13
BuildRequires: cmake >= 3.25
BuildRequires: fdupes
BuildRequires: file-devel
BuildRequires: gcc%{?force_gcc_version}-c++ >= 12
BuildRequires: hicolor-icon-theme
BuildRequires: mysql-devel
BuildRequires: pkgconfig
BuildRequires: sysuser-tools
BuildRequires: pkgconfig(duktape) >= 2.6.0
BuildRequires: pkgconfig(duktape) >= 2.1.0
BuildRequires: pkgconfig(exiv2) >= 0.26
BuildRequires: pkgconfig(fmt) >= 9.1.0
BuildRequires: pkgconfig(fmt) >= 7.1.3
BuildRequires: pkgconfig(gmock)
BuildRequires: pkgconfig(gmock_main)
BuildRequires: pkgconfig(gtest)
BuildRequires: pkgconfig(gtest) >= 1.10.0
BuildRequires: pkgconfig(gtest_main)
BuildRequires: pkgconfig(icu-i18n) >= 65.1
BuildRequires: pkgconfig(jsoncpp) >= 1.7.4
BuildRequires: pkgconfig(libavcodec)
BuildRequires: pkgconfig(libavformat)
BuildRequires: pkgconfig(libavutil)
BuildRequires: pkgconfig(libcurl)
BuildRequires: pkgconfig(libebml)
BuildRequires: pkgconfig(libebml) >= 1.4.2
BuildRequires: pkgconfig(libexif)
BuildRequires: pkgconfig(libffmpegthumbnailer) >= 2.2.2
BuildRequires: pkgconfig(libmatroska) >= 1.6.3
BuildRequires: pkgconfig(libnpupnp) >= 4.2.1
BuildRequires: pkgconfig(libpq)
BuildRequires: pkgconfig(libpqxx)
BuildRequires: pkgconfig(libswscale)
BuildRequires: pkgconfig(libupnp) >= 1.14.6
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(pugixml) >= 1.10
BuildRequires: pkgconfig(spdlog) >= 1.11.0
BuildRequires: pkgconfig(sqlite3) >= 3.35.5
BuildRequires: pkgconfig(spdlog) >= 1.8.1
BuildRequires: pkgconfig(sqlite3) >= 3.7.0
BuildRequires: pkgconfig(systemd)
BuildRequires: pkgconfig(taglib) >= 1.12
BuildRequires: pkgconfig(uuid)
BuildRequires: pkgconfig(wavpack) >= 5.1.0
BuildRequires: pkgconfig(zlib)
Requires: diffutils
Requires: logrotate
%{?systemd_requires}
%sysusers_requires
BuildRequires: gcc%{?force_gcc_version}-c++ >= 12
%description
Gerbera is a UPnP media server which allows streaming digital
@@ -84,6 +94,7 @@ Requires: %{name} = %{version}
Requires: apache2
Supplements: (apache2 and %{name})
Conflicts: %{name}-nginx
BuildArch: noarch
%description apache
This subpackage contains the Apache configuration files
@@ -96,6 +107,7 @@ Requires: %{name} = %{version}
Requires: nginx
Supplements: (nginx and %{name})
Conflicts: %{name}-apache
BuildArch: noarch
%description nginx
This subpackage contains the nginx configuration files
@@ -113,20 +125,14 @@ sed -i -e '/test_server/d' test/CMakeLists.txt
%build
%cmake \
-DWITH_JS=1 \
-DWITH_TAGLIB=1 \
-DWITH_MAGIC=1 \
-DWITH_AVCODEC=1 \
-DWITH_EXIF=0 \
-DWITH_EXIV2=1 \
--preset=release-npupnp \
%if 0%{?force_gcc_version}
-DCMAKE_CXX_COMPILER=%{_bindir}/g++-%{?force_gcc_version} \
-DCMAKE_CXX_COMPILER=%{_bindir}/g++-%{?force_gcc_version} \
%endif
-DWITH_FFMPEGTHUMBNAILER=1 \
-DWITH_INOTIFY=1 \
-DWITH_SYSTEMD=1 \
-DWITH_TESTS=1 \
-Wno-dev
%if %{pkg_vcmp libpqxx-devel < 7.10.3}
-DWITH_PGSQL=OFF \
%endif
-DWITH_TESTS=ON
%cmake_build
%install
@@ -156,6 +162,9 @@ EOF
install -d %{buildroot}%{_sbindir}
ln -s service %{buildroot}%{_sbindir}/rc%{name}
# remove shebang line (not needed here)
sed -i '/\/usr\/bin\/env.*/d' %{buildroot}%{_datadir}/bash-completion/completions/gerbera
#install -p -D -m0644 %%{SOURCE1} %%{buildroot}%%{_sysconfdir}/gerbera/config.xml
install -p -D -m0644 %{SOURCE2} %{buildroot}%{_sysusersdir}/gerbera.conf
@@ -181,20 +190,20 @@ chown -R root:root %{_sysconfdir}/%{name}
# only do on install
if [ "$1" -eq 1 ]; then
echo "o Create config.xml..." || :
gerbera --create-config | sudo tee /etc/gerbera/config.xml || :
sed -i -e 's|<home>/root/</home>|<home>/etc/gerbera</home>|g' /etc/gerbera/config.xml || :
sed -i -e 's|<database-file>gerbera.db</database-file>|<database-file>/var/lib/gerbera/gerbera.db</database-file>|g' /etc/gerbera/config.xml || :
gerbera --create-config | sudo tee %{_sysconfdir}/gerbera/config.xml || :
sed -i -e 's|<home>/root/</home>|<home>%{_sysconfdir}/gerbera</home>|g' %{_sysconfdir}/gerbera/config.xml || :
sed -i -e 's|<database-file>gerbera.db</database-file>|<database-file>%{_localstatedir}/lib/gerbera/gerbera.db</database-file>|g' %{_sysconfdir}/gerbera/config.xml || :
fi
# only do on upgrade
if [ "$1" -gt 1 ]; then
echo "o Create config-diff.xml from own config to new config..." || :
gerbera --create-config | sudo tee /etc/gerbera/config-new.xml || :
sed -i -e 's|<home>/root/</home>|<home>/etc/gerbera</home>|g' /etc/gerbera/config-new.xml || :
sed -i -e 's|<database-file>gerbera.db</database-file>|<database-file>/var/lib/gerbera/gerbera.db</database-file>|g' /etc/gerbera/config-new.xml || :
diff /etc/gerbera/config.xml /etc/gerbera/config-new.xml > /etc/gerbera/config-diff.xml || :
gerbera --create-config | sudo tee %{_sysconfdir}/gerbera/config-new.xml || :
sed -i -e 's|<home>/root/</home>|<home>%{_sysconfdir}/gerbera</home>|g' %{_sysconfdir}/gerbera/config-new.xml || :
sed -i -e 's|<database-file>gerbera.db</database-file>|<database-file>%{_localstatedir}/lib/gerbera/gerbera.db</database-file>|g' %{_sysconfdir}/gerbera/config-new.xml || :
diff %{_sysconfdir}/gerbera/config.xml %{_sysconfdir}/gerbera/config-new.xml > %{_sysconfdir}/gerbera/config-diff.xml || :
fi
echo "o Create new config-example.xml with almost all options..." || :
gerbera --create-example-config | sudo tee /etc/gerbera/config-example.xml || :
gerbera --create-example-config | sudo tee %{_sysconfdir}/gerbera/config-example.xml || :
chown -R gerbera:gerbera %{_sysconfdir}/%{name}
%preun
@@ -217,17 +226,22 @@ chown -R gerbera:gerbera %{_sysconfdir}/%{name}
%{_unitdir}/gerbera.service
%{_sysusersdir}/gerbera.conf
%{_mandir}/man?/%{name}.?%{?ext_man}
%{_datadir}/bash-completion/completions/gerbera
%dir %{_datadir}/gerbera
%{_datadir}/gerbera/config2.xsd
%{_datadir}/gerbera/mysql-drop.sql
%{_datadir}/gerbera/mysql-upgrade.xml
%{_datadir}/gerbera/mysql.sql
%{_datadir}/gerbera/sqlite3-drop.sql
%{_datadir}/gerbera/sqlite3-upgrade.xml
%{_datadir}/gerbera/sqlite3.sql
%dir %{_datadir}/gerbera
%{_datadir}/gerbera/postgres-drop.sql
%{_datadir}/gerbera/postgres-upgrade.xml
%{_datadir}/gerbera/postgres.sql
%dir %{_datadir}/gerbera/js
%dir %{_datadir}/gerbera/web
%{_datadir}/gerbera/js/*
%dir %{_datadir}/gerbera/web
%{_datadir}/gerbera/web/*
%exclude %{apache_sysconfdir}/vhosts.d/%{name}.conf
%exclude %{_sysconfdir}/nginx/vhosts.d/%{name}.conf
%files apache
%config(noreplace) %{apache_sysconfdir}/vhosts.d/%{name}.conf

View File

@@ -1,7 +1,6 @@
Index: gerbera-1.12.0/scripts/systemd/gerbera.service.cmake
===================================================================
--- gerbera-1.12.0.orig/scripts/systemd/gerbera.service.cmake
+++ gerbera-1.12.0/scripts/systemd/gerbera.service.cmake
diff -purN gerbera-3.0.0.orig/scripts/systemd/gerbera.service.cmake gerbera-3.0.0/scripts/systemd/gerbera.service.cmake
--- gerbera-3.0.0.orig/scripts/systemd/gerbera.service.cmake 2025-11-07 11:18:57.000000000 +0100
+++ gerbera-3.0.0/scripts/systemd/gerbera.service.cmake 2025-11-08 22:21:21.672927906 +0100
@@ -4,6 +4,20 @@ After=${SYSTEMD_AFTER_TARGET}
Wants=${SYSTEMD_WANTS_TARGET}
@@ -21,5 +20,5 @@ Index: gerbera-1.12.0/scripts/systemd/gerbera.service.cmake
+ReadWritePaths=/usr/share/gerbera/ /etc/gerbera/ /var/log/gerbera
+# end of automatic additions
Type=simple
NotifyAccess=all
User=gerbera
Group=gerbera