Simplify dlog packaging 83/256583/3
authorKarol Lewandowski <k.lewandowsk@samsung.com>
Wed, 7 Apr 2021 12:51:33 +0000 (14:51 +0200)
committerKarol Lewandowski <k.lewandowsk@samsung.com>
Thu, 8 Apr 2021 18:45:44 +0000 (20:45 +0200)
This commit reduces number of packages by combining
 - all libraries - into libdlog package
 - all development files - into dlog-devel package
 - common files - into 'dlog' package

It does not seem the fine-grained "one library per package"
scheme is useful in Tizen.

Change-Id: I1e0dff4cfb836d5c4872faa9491fdd8b5128dcb3

packaging/dlog.spec

index bee4fd1..9da9b03 100644 (file)
@@ -3,7 +3,7 @@
 
 Name:       dlog
 Summary:    Logging service
-Version:    6.5.2
+Version:    6.5.3
 Release:    1
 Group:      System/Libraries
 License:    Apache-2.0, MIT
@@ -29,11 +29,14 @@ BuildRequires: lcov
 BuildRequires: zip
 %endif
 
+Requires:      %{name}-config-persistent-logs
+Obsoletes:     %{name}-common < 6.5.3
+
 %description
-dlog API library
+Shared files between libdlog and service
 
 %package -n libdlog
-Summary:    Logging service dlog API
+Summary:    dlog library APIs
 License:    MIT
 Group:      Development/Libraries
 Requires(pre): coreutils
@@ -41,113 +44,64 @@ Requires(post): coreutils
 Requires(post): /sbin/ldconfig
 Requires(post): /usr/bin/chsmack
 Requires(postun): /sbin/ldconfig
-Requires: %{name}-config-persistent-logs
-Requires: %{name}-common = %{version}-%{release}
+Requires: %{name} = %{version}-%{release}
 Requires: %{name}-logger = %{version}-%{release}
-
+Obsoletes: libdlogutil < 6.5.3
+Obsoletes: libdlog-redirect-stdout < 6.5.3
 %description -n libdlog
-dlog API library. If dlog-config-backend-logger is not installed, pipe backend is selected.
+* libdlog - client API
+* libdlogutil - log retrieval library
+* libdlog_redirect_stdout - client library for attaching stdout/stderr
 
-%package -n libdlog-devel
+%package    devel
 Summary:    Logging service dlog API
 License:    MIT
 Group:      Development/Libraries
-Requires:   lib%{name} = %{version}-%{release}
+Requires:   libdlog = %{version}-%{release}
 Requires:   pkgconfig(capi-base-common)
-
-%description -n libdlog-devel
-dlog API library
-
-%package    common
-Summary:    Shared files between libdlog and service
-License:    Apache-2.0
-Group:      Development/Libraries
-
-%description common
+Obsoletes:  libdlog-devel < 6.5.3
+Obsoletes:  libdlogutil-devel < 6.5.3
+Obsoletes:  libdlog-redirect-stdout-devel < 6.5.3
+%description devel
 
 %package    logger
 Summary:    Logger service
 License:    Apache-2.0
 Group:      Development/Libraries
-Requires:   %{name}-common = %{version}-%{release}
-
+Requires:   %{name} = %{version}-%{release}
 %description logger
 
-%package -n libdlogutil
-Summary:    Log retrieval API
-Group:      Development/Libraries
-Requires:   lib%{name} = %{version}-%{release}
-
-%description -n libdlogutil
-dlog log retrieval API
-
-%package -n libdlogutil-devel
-Summary:    Log retrieval API
-Group:      Development/Libraries
-Requires:   libdlog-devel
-Requires:   lib%{name} = %{version}-%{release}
-
-%description -n libdlogutil-devel
-dlog log retrieval API development files
-
-%package config-backend-logger
-Summary:       Android-logger backend selection for dlog
-Requires:      lib%{name} = %{version}-%{release}
-
-%description config-backend-logger
-Change dlog backend to logger backend. Require kernel support (Android-logger)
-
 %package -n dlogutil
 Summary:    print log data to the screen
 Group:      Development/Libraries
-Requires:   lib%{name} = %{version}-%{release}
-
 %description -n dlogutil
-Utilities for print log data
+
+%package    config-backend-logger
+Summary:    Android-logger backend selection for dlog
+%description config-backend-logger
+Change dlog backend to logger backend. Require kernel support (Android-logger)
 
 %package config-syslog
 License:    Apache-2.0
 Summary:    Logger: syslog-source logging via dlog
 Group:      Base/Startup
-Requires:   lib%{name} = %{version}-%{release}
 Provides:   tizen-log-syslog
-
 %description config-syslog
 Systemd unit for syslog socket configation to use with dlog
 
 %package config-persistent-logs
 Summary: enable persistent storage of logs
-
 %description config-persistent-logs
 Enable persistent logs in dlog (stored in /var/log/dlog/)
 
 %package config-qos
 Summary: enable quality of service module
-
 %description config-qos
 Enables Quality of Service module in dlog
 
-%package -n libdlog-redirect-stdout
-Summary:    Redirect standard streams to dlog log buffers
-Group:      Development/Libraries
-Requires:   lib%{name} = %{version}-%{release}
-
-%description -n libdlog-redirect-stdout
-Redirect standard streams to dlog log buffers
-
-%package -n libdlog-redirect-stdout-devel
-Summary:    Redirect standard streams to dlog log buffers
-Group:      Development/Libraries
-Requires:   libdlog-devel
-Requires:   lib%{name} = %{version}-%{release}
-
-%description -n libdlog-redirect-stdout-devel
-Redirect standard streams to dlog log buffers
-
 %package doc
 Summary: dlog documentation
 BuildRequires: doxygen
-
 %description doc
 Documentation for dlog
 
@@ -155,15 +109,14 @@ Documentation for dlog
 Summary: dlog integration tests
 Requires: lib%{name} = %{version}-%{release}
 Requires(post): /usr/bin/chsmack
-
 %description tests
 Integration tests for dlog.
 
 %if 0%{?gcov:1}
-%package -n libdlog-gcov
+%package gcov
 Summary:  gcov files for libdlog
 Group:    Development/Libraries
-%description -n libdlog-gcov
+%description gcov
 This package contains gcov code coverage/profiling files for libdlog.
 %endif
 
@@ -270,26 +223,9 @@ install -m 0644 gcov-obj/* %{buildroot}%{_datadir}/gcov/obj
 chsmack %{_bindir}/dlogctl -a "System::Tools"
 %endif
 
-%files -n libdlog
-%manifest dlog.manifest
-%license LICENSE.MIT
-%{_libdir}/libdlog.so.0
-%{_libdir}/libdlog.so.0.0.0
-
 %post -n libdlog -p /sbin/ldconfig
-%postun -n libdlog -p /sbin/ldconfig
-
-%files common
-%manifest dlog.manifest
-%license LICENSE.APACHE2.0
-%{_sysconfdir}/dlog.conf
-%{_sysconfdir}/dlog.conf.d/20-pipe.conf
-%attr(755,log,log) /var/log/dlog
-%attr(2551,log,log) %{_libexecdir}/dlog-log-critical
-/usr/lib/tmpfiles.d/dlog-run.conf
-%{_udevrulesdir}/01-dlog.rules
 
-%post common
+%post
 chsmack -a System /var/log/dlog
 # set timestamp to beginning of the unix epoch to make rotation work even if we are run on system with no/broken rtc
 touch -m -t 197001010000.01 /var/log/dlog/critical.a
@@ -298,32 +234,44 @@ chmod 660 /var/log/dlog/critical*
 chown log:log /var/log/dlog/critical*
 chsmack -e 'System' %{_libexecdir}/dlog-log-critical
 
-%files logger
+%files
 %manifest dlog.manifest
 %license LICENSE.APACHE2.0
-%attr(750,log,log) %{_bindir}/dlog_logger
-%{_unitdir}/basic.target.wants/dlog_logger.service
-%{_unitdir}/dlog_logger.service
-
-%files -n libdlog-devel
-%manifest dlog.manifest
-%license LICENSE.MIT
-%{_includedir}/dlog/dlog.h
-%{_includedir}/dlog/dlog-internal.h
-%{_libdir}/pkgconfig/dlog.pc
-%{_libdir}/libdlog.so
+%{_sysconfdir}/dlog.conf
+%{_sysconfdir}/dlog.conf.d/20-pipe.conf
+%attr(755,log,log) /var/log/dlog
+%attr(2551,log,log) %{_libexecdir}/dlog-log-critical
+/usr/lib/tmpfiles.d/dlog-run.conf
+%{_udevrulesdir}/01-dlog.rules
 
-%files -n libdlogutil
+%files -n libdlog
 %manifest dlog.manifest
 %license LICENSE.MIT
+%{_libdir}/libdlog.so.0
+%{_libdir}/libdlog.so.0.0.0
 %{_libdir}/libdlogutil.so.*
+%{_libdir}/libdlog_redirect_stdout.so.*
 
-%files -n libdlogutil-devel
+%files devel
 %manifest dlog.manifest
 %license LICENSE.MIT
+%{_includedir}/dlog/dlog.h
+%{_includedir}/dlog/dlog-internal.h
 %{_includedir}/dlog/dlogutil.h
-%{_libdir}/pkgconfig/dlogutil.pc
+%{_includedir}/dlog/dlog-redirect-stdout.h
+%{_libdir}/libdlog.so
 %{_libdir}/libdlogutil.so
+%{_libdir}/libdlog_redirect_stdout.so
+%{_libdir}/pkgconfig/dlog.pc
+%{_libdir}/pkgconfig/dlogutil.pc
+%{_libdir}/pkgconfig/dlog-redirect-stdout.pc
+
+%files logger
+%manifest dlog.manifest
+%license LICENSE.APACHE2.0
+%attr(750,log,log) %{_bindir}/dlog_logger
+%{_unitdir}/basic.target.wants/dlog_logger.service
+%{_unitdir}/dlog_logger.service
 
 %files config-backend-logger
 %manifest dlog.manifest
@@ -343,18 +291,6 @@ chsmack -e 'System' %{_libexecdir}/dlog-log-critical
 %files config-qos
 %{_sysconfdir}/dlog.conf.d/15-qos.conf
 
-%files -n libdlog-redirect-stdout
-%manifest dlog.manifest
-%license LICENSE.MIT
-%{_libdir}/libdlog_redirect_stdout.so.*
-
-%files -n libdlog-redirect-stdout-devel
-%manifest dlog.manifest
-%license LICENSE.MIT
-%{_includedir}/dlog/dlog-redirect-stdout.h
-%{_libdir}/pkgconfig/dlog-redirect-stdout.pc
-%{_libdir}/libdlog_redirect_stdout.so
-
 %files doc
 %manifest dlog.manifest
 %license LICENSE.APACHE2.0 LICENSE.MIT