packaging: tame the packaging madness 75/29675/7
authorRafal Krypa <r.krypa@samsung.com>
Tue, 11 Nov 2014 11:18:42 +0000 (12:18 +0100)
committerJacek Bukarewicz <j.bukarewicz@samsung.com>
Mon, 17 Nov 2014 11:12:45 +0000 (12:12 +0100)
Cynara seems to adapt the model of multiple small libraries put in separate
package each. This leads into plethora of small packages.
This commit tries to rationalize this decomposition, merging some of the
packages:
- all development packages are now merged into one cynara-devel
- client, client-async and client-common are merged into one
- storage is merged into libcynara-common

The overall result is decrease in total number of packages from 24 to 12,
not counting auto generated debuginfo and debugsource.

Change-Id: I947e733872a4d5c96c722b207243e3c1cdfe1ba6

packaging/cynara.spec
packaging/libcynara-client-async.manifest [deleted file]
packaging/libcynara-client-commons.manifest [deleted file]
packaging/libcynara-storage.manifest [deleted file]

index 62cfce1..bf5c00a 100644 (file)
@@ -8,18 +8,15 @@ Source0:    %{name}-%{version}.tar.gz
 Source1000:    %{name}-rpmlintrc
 Source1001:    cynara.manifest
 Source1002:    libcynara-client.manifest
-Source1003:    libcynara-client-async.manifest
-Source1004:    libcynara-admin.manifest
-Source1005:    cynara-tests.manifest
-Source1006:    libcynara-agent.manifest
-Source1007:    libcynara-client-commons.manifest
-Source1008:    libcynara-commons.manifest
-Source1009:    libcynara-creds-commons.manifest
-Source1010:    libcynara-creds-dbus.manifest
-Source1011:    libcynara-creds-socket.manifest
-Source1012:    libcynara-session.manifest
-Source1013:    libcynara-storage.manifest
-Source1014:    cynara-db-migration.manifest
+Source1003:    libcynara-admin.manifest
+Source1004:    cynara-tests.manifest
+Source1005:    libcynara-agent.manifest
+Source1006:    libcynara-commons.manifest
+Source1007:    libcynara-creds-commons.manifest
+Source1008:    libcynara-creds-dbus.manifest
+Source1009:    libcynara-creds-socket.manifest
+Source1010:    libcynara-session.manifest
+Source1011:    cynara-db-migration.manifest
 Requires:      default-ac-domains
 Requires(pre): pwdutils
 Requires(pre): cynara-db-migration >= %{version}-%{release}
@@ -52,57 +49,40 @@ BuildRequires: pkgconfig(libunwind)
 %endif
 
 %description
-service, client libraries (libcynara-client, libcynara-client-async, libcynara-admin),
+service, client libraries (libcynara-client, libcynara-admin),
 agent library, helper libraries (libcynara-session, libcynara-creds-common, libcynara-creds-dbus,
 libcynara-creds-socket) and tests (cynara-tests)
 
-#######################################################
-%package -n libcynara-client
-Summary:    Cynara - client library
-Requires:   cynara = %{version}-%{release}
-
-%description -n libcynara-client
-client library for checking policies
-
-%package -n libcynara-client-devel
-Summary:    Cynara - client library (devel)
+%package devel
+Summary:    Cynara development files
+Requires:   libcynara-admin = %{version}-%{release}
+Requires:   libcynara-agent = %{version}-%{release}
 Requires:   libcynara-client = %{version}-%{release}
-Requires:   libcynara-client-commons-devel = %{version}-%{release}
-
-%description -n libcynara-client-devel
-client library (devel) for checking policies
-
-#######################################################
-%package -n libcynara-client-async
-Summary:    Cynara - asynchronous client library
-Requires:   cynara = %{version}-%{release}
-
-%description -n libcynara-client-async
-asynchronous client library for checking policies
-
-%package -n libcynara-client-async-devel
-Summary:    Cynara - asynchronous client library (devel)
-Requires:   libcynara-client-async = %{version}-%{release}
-Requires:   libcynara-client-commons-devel = %{version}-%{release}
+Requires:   libcynara-commons = %{version}-%{release}
+Requires:   libcynara-creds-commons = %{version}-%{release}
+Requires:   libcynara-creds-dbus = %{version}-%{release}
+Requires:   libcynara-creds-socket = %{version}-%{release}
+Requires:   libcynara-session = %{version}-%{release}
 
-%description -n libcynara-client-async-devel
-asynchronous client library (devel) for checking policies
+%description devel
+Cynara development files
 
-#######################################################
-%package -n libcynara-client-commons
-Summary:    Cynara - client commons library
+%package tests
+Summary:    Cynara - cynara test binaries
+BuildRequires: pkgconfig(gmock)
 
-%description -n libcynara-client-commons
-client commons library with common functionalities
+%description tests
+Cynara tests
 
-%package -n libcynara-client-commons-devel
-Summary:    Cynara - client commons library (devel)
-Requires:   libcynara-client-commons = %{version}-%{release}
+%package -n libcynara-client
+Summary:    Cynara - client libraries
+Requires:   cynara = %{version}-%{release}
+Obsoletes:  libcynara-client-commons
+Obsoletes:  libcynara-client-async
 
-%description -n libcynara-client-commons-devel
-client commons library (devel) with common functionalities
+%description -n libcynara-client
+Client libraries for checking policies: synchronous and asynchronous
 
-#######################################################
 %package -n libcynara-admin
 Summary:    Cynara - admin client library
 Requires:   cynara = %{version}-%{release}
@@ -110,16 +90,6 @@ Requires:   cynara = %{version}-%{release}
 %description -n libcynara-admin
 admin client library for setting, listing and removing policies
 
-%package -n libcynara-admin-devel
-Summary:    Cynara - admin client library (devel)
-Requires:   libcynara-admin = %{version}-%{release}
-Requires:   libcynara-client-commons-devel = %{version}-%{release}
-Requires:   libcynara-commons-devel = %{version}-%{release}
-
-%description -n libcynara-admin-devel
-admin client library (devel) for setting, listing and removing policies
-
-#######################################################
 %package -n libcynara-agent
 Summary:    Cynara - agent client library
 Requires:   cynara = %{version}-%{release}
@@ -127,66 +97,19 @@ Requires:   cynara = %{version}-%{release}
 %description -n libcynara-agent
 agent client library for communication with cynara service and plugins
 
-%package -n libcynara-agent-devel
-Summary:    Cynara - agent client library (devel)
-Requires:   libcynara-agent = %{version}-%{release}
-Requires:   libcynara-client-commons-devel = %{version}-%{release}
-
-%description -n libcynara-agent-devel
-agent client library (devel) for communication with cynara service and plugins
-
-#######################################################
-%package -n libcynara-storage
-Summary:    Cynara - storage
-
-%description -n libcynara-storage
-cynara common storage library with common storage functionalities
-
-%package -n libcynara-storage-devel
-Summary:    Cynara - storage-devel
-Requires:   cynara = %{version}-%{release}
-
-%description -n libcynara-storage-devel
-cynara common storage library (devel) with common storage functionalities
-
-#######################################################
 %package -n libcynara-commons
 Summary:    Cynara - cynara commons library
+Obsoletes:  libcynara-storage
 
 %description -n libcynara-commons
 cynara common library with common functionalities
 
-%package -n libcynara-commons-devel
-Summary:    Cynara - cynara commons library (devel)
-Requires:   libcynara-commons = %{version}-%{release}
-
-%description -n libcynara-commons-devel
-cynara common library (devel) with common functionalities
-
-#######################################################
-%package -n libcynara-plugin-devel
-Summary:    Cynara - cynara plugin library (devel)
-Requires:   libcynara-commons-devel = %{version}-%{release}
-
-%description -n libcynara-plugin-devel
-cynara plugin library (devel) with plugin definitions
-
-#######################################################
 %package -n libcynara-creds-commons
 Summary:    Base library for cynara credentials helpers
 
 %description -n libcynara-creds-commons
 Base library for cynara credentials helpers
 
-%package -n libcynara-creds-commons-devel
-Summary:    Base library for cynara credentials helpers (devel)
-Requires:   libcynara-creds-commons = %{version}-%{release}
-Requires:   libcynara-client-commons-devel = %{version}-%{release}
-
-%description -n libcynara-creds-commons-devel
-Base library for cynara credentials helpers (devel)
-
-#######################################################
 %package -n libcynara-creds-dbus
 Summary:    Cynara credentials helpers library for dbus clients
 BuildRequires: pkgconfig(dbus-1)
@@ -195,60 +118,18 @@ Requires:   dbus
 %description -n libcynara-creds-dbus
 Cynara credentials helpers library for dbus clients
 
-%package -n libcynara-creds-dbus-devel
-Summary:    Cynara credentials helpers library for dbus clients (devel)
-Requires:   libcynara-creds-dbus = %{version}-%{release}
-Requires:   libcynara-creds-commons-devel = %{version}-%{release}
-
-%description -n libcynara-creds-dbus-devel
-Cynara credentials helpers library for dbus clients (devel)
-
-#######################################################
 %package -n libcynara-creds-socket
 Summary:    Cynara credentials helpers library for socket clients
 
 %description -n libcynara-creds-socket
 Cynara credentials helpers library for socket clients
 
-%package -n libcynara-creds-socket-devel
-Summary:    Cynara credentials helpers library for socket clients (devel)
-Requires:   libcynara-creds-socket = %{version}-%{release}
-Requires:   libcynara-creds-commons-devel = %{version}-%{release}
-
-%description -n libcynara-creds-socket-devel
-Cynara credentials helpers library for socket clients (devel)
-
-#######################################################
 %package -n libcynara-session
 Summary:    Cynara helper client session string creation library
 
 %description -n libcynara-session
 Cynara helper client session string creation library
 
-%package -n libcynara-session-devel
-Summary:    Cynara helper client session string creation library (devel)
-Requires:   libcynara-session = %{version}-%{release}
-
-%description -n libcynara-session-devel
-Cynara helper client session string creation library (devel)
-
-#######################################################
-%package -n cynara-tests
-Summary:    Cynara - cynara test binaries
-BuildRequires: pkgconfig(gmock)
-
-%description -n cynara-tests
-Cynara tests
-
-#######################################################
-%package -n cynara-devel
-Summary:    Cynara service (devel)
-Requires:   cynara = %{version}-%{release}
-
-%description -n cynara-devel
-service (devel version)
-
-#######################################################
 %package -n cynara-db-migration
 Summary:    Migration tools for Cynara's database
 
@@ -268,9 +149,6 @@ cp -a %{SOURCE1008} .
 cp -a %{SOURCE1009} .
 cp -a %{SOURCE1010} .
 cp -a %{SOURCE1011} .
-cp -a %{SOURCE1012} .
-cp -a %{SOURCE1013} .
-cp -a %{SOURCE1014} .
 cp -a test/db/db* .
 
 %build
@@ -363,14 +241,6 @@ fi
 
 %postun -n libcynara-client -p /sbin/ldconfig
 
-%post -n libcynara-client-async -p /sbin/ldconfig
-
-%postun -n libcynara-client-async -p /sbin/ldconfig
-
-%post -n libcynara-client-commons -p /sbin/ldconfig
-
-%postun -n libcynara-client-commons -p /sbin/ldconfig
-
 %post -n libcynara-admin -p /sbin/ldconfig
 
 %postun -n libcynara-admin -p /sbin/ldconfig
@@ -379,75 +249,27 @@ fi
 
 %postun -n libcynara-agent -p /sbin/ldconfig
 
-%post -n libcynara-storage -p /sbin/ldconfig
-
-%postun -n libcynara-storage -p /sbin/ldconfig
-
-%post -n libcynara-storage-devel -p /sbin/ldconfig
-
-%postun -n libcynara-storage-devel -p /sbin/ldconfig
-
 %post -n libcynara-commons -p /sbin/ldconfig
 
 %postun -n libcynara-commons -p /sbin/ldconfig
 
-%post -n libcynara-client-devel -p /sbin/ldconfig
-
-%postun -n libcynara-client-devel -p /sbin/ldconfig
-
-%post -n libcynara-client-async-devel -p /sbin/ldconfig
-
-%postun -n libcynara-client-async-devel -p /sbin/ldconfig
-
-%post -n libcynara-client-commons-devel -p /sbin/ldconfig
-
-%postun -n libcynara-client-commons-devel -p /sbin/ldconfig
-
-%post -n libcynara-admin-devel -p /sbin/ldconfig
-
-%postun -n libcynara-admin-devel -p /sbin/ldconfig
-
-%post -n libcynara-agent-devel -p /sbin/ldconfig
-
-%postun -n libcynara-agent-devel -p /sbin/ldconfig
-
-%post -n libcynara-commons-devel -p /sbin/ldconfig
-
-%postun -n libcynara-commons-devel -p /sbin/ldconfig
-
 %post -n libcynara-creds-commons -p /sbin/ldconfig
 
 %postun -n libcynara-creds-commons -p /sbin/ldconfig
 
-%post -n libcynara-creds-commons-devel -p /sbin/ldconfig
-
-%postun -n libcynara-creds-commons-devel -p /sbin/ldconfig
-
 %post -n libcynara-creds-dbus -p /sbin/ldconfig
 
 %postun -n libcynara-creds-dbus -p /sbin/ldconfig
 
-%post -n libcynara-creds-dbus-devel -p /sbin/ldconfig
-
-%postun -n libcynara-creds-dbus-devel -p /sbin/ldconfig
-
 %post -n libcynara-creds-socket -p /sbin/ldconfig
 
 %postun -n libcynara-creds-socket -p /sbin/ldconfig
 
-%post -n libcynara-creds-socket-devel -p /sbin/ldconfig
-
-%postun -n libcynara-creds-socket-devel -p /sbin/ldconfig
-
 %post -n libcynara-session -p /sbin/ldconfig
 
 %postun -n libcynara-session -p /sbin/ldconfig
 
-%post -n libcynara-session-devel -p /sbin/ldconfig
-
-%postun -n libcynara-session-devel -p /sbin/ldconfig
-
-%files -n cynara
+%files
 %manifest cynara.manifest
 %license LICENSE
 %attr(755,root,root) /usr/bin/cynara
@@ -462,88 +284,42 @@ fi
 %dir %attr(700,cynara,cynara) %{state_path}
 %dir %attr(755,cynara,cynara) %{lib_path}/plugin/service
 
+%files -n cynara-devel
+%{_includedir}/cynara/*.h
+%{_includedir}/cynara/plugin/*.h
+%{_includedir}/cynara/types/*.h
+%{_libdir}/pkgconfig/*.pc
+%{_libdir}/*.so
+
+%files -n cynara-tests
+%manifest cynara-tests.manifest
+%attr(755,root,root) /usr/bin/cynara-tests
+%attr(755,root,root) %{tests_dir}/db*/*
+%dir %attr(755,root,root) %{tests_dir}/empty_db
+
 %files -n libcynara-client
 %manifest libcynara-client.manifest
 %license LICENSE
 %{_libdir}/libcynara-client.so.*
-
-%files -n libcynara-client-devel
-%{_includedir}/cynara/cynara-client.h
-%{_libdir}/pkgconfig/cynara-client.pc
-%{_libdir}/libcynara-client.so
-
-%files -n libcynara-client-async
-%manifest libcynara-client-async.manifest
-%license LICENSE
 %{_libdir}/libcynara-client-async.so.*
-
-%files -n libcynara-client-async-devel
-%{_includedir}/cynara/cynara-client-async.h
-%{_libdir}/pkgconfig/cynara-client-async.pc
-%{_libdir}/libcynara-client-async.so
-
-%files -n libcynara-client-commons
-%manifest libcynara-client-commons.manifest
-%license LICENSE
 %{_libdir}/libcynara-client-commons.so.*
 %dir %attr(755,cynara,cynara) %{lib_path}/plugin/client
 
-%files -n libcynara-client-commons-devel
-%{_includedir}/cynara/cynara-error.h
-%{_libdir}/libcynara-client-commons.so
-
 %files -n libcynara-admin
 %manifest libcynara-admin.manifest
 %license LICENSE
 %{_libdir}/libcynara-admin.so.*
 
-%files -n libcynara-admin-devel
-%{_includedir}/cynara/cynara-admin.h
-%{_includedir}/cynara/cynara-admin-types.h
-%{_libdir}/libcynara-admin.so
-%{_libdir}/pkgconfig/cynara-admin.pc
-
 %files -n libcynara-agent
 %manifest libcynara-agent.manifest
 %license LICENSE
 %{_libdir}/libcynara-agent.so.*
 
-%files -n libcynara-agent-devel
-%{_includedir}/cynara/cynara-agent.h
-%{_libdir}/libcynara-agent.so
-%{_libdir}/pkgconfig/cynara-agent.pc
-
-%files -n libcynara-storage
-%manifest libcynara-storage.manifest
-%license LICENSE
-%{_libdir}/libcynara-storage.so.*
-
-%files -n libcynara-storage-devel
-%{_libdir}/libcynara-storage.so
-
 %files -n libcynara-commons
 %manifest libcynara-commons.manifest
 %license LICENSE
 %{_libdir}/libcynara-commons.so.*
-
-%files -n libcynara-commons-devel
-%{_includedir}/cynara/cynara-policy-types.h
-%{_includedir}/cynara/plugin/ExternalPluginInterface.h
-%{_includedir}/cynara/types/ClientSession.h
-%{_includedir}/cynara/types/PolicyResult.h
-%{_includedir}/cynara/types/PolicyType.h
-%{_libdir}/libcynara-commons.so
-
-%files -n libcynara-plugin-devel
-%{_includedir}/cynara/cynara-plugin.h
-%{_includedir}/cynara/cynara-client-plugin.h
-%{_libdir}/pkgconfig/cynara-plugin.pc
-
-%files -n cynara-tests
-%manifest cynara-tests.manifest
-%attr(755,root,root) /usr/bin/cynara-tests
-%attr(755,root,root) %{tests_dir}/db*/*
-%dir %attr(755,root,root) %{tests_dir}/empty_db
+%{_libdir}/libcynara-storage.so.*
 
 %files -n libcynara-creds-commons
 %manifest libcynara-creds-commons.manifest
@@ -551,41 +327,21 @@ fi
 %{_libdir}/libcynara-creds-commons.so.*
 %{conf_path}creds.conf
 
-%files -n libcynara-creds-commons-devel
-%{_includedir}/cynara/cynara-creds-commons.h
-%{_libdir}/libcynara-creds-commons.so
-%{_libdir}/pkgconfig/cynara-creds-commons.pc
-
 %files -n libcynara-creds-dbus
 %manifest libcynara-creds-dbus.manifest
 %license LICENSE
 %{_libdir}/libcynara-creds-dbus.so.*
 
-%files -n libcynara-creds-dbus-devel
-%{_includedir}/cynara/cynara-creds-dbus.h
-%{_libdir}/libcynara-creds-dbus.so
-%{_libdir}/pkgconfig/cynara-creds-dbus.pc
-
 %files -n libcynara-creds-socket
 %manifest libcynara-creds-socket.manifest
 %license LICENSE
 %{_libdir}/libcynara-creds-socket.so.*
 
-%files -n libcynara-creds-socket-devel
-%{_includedir}/cynara/cynara-creds-socket.h
-%{_libdir}/libcynara-creds-socket.so
-%{_libdir}/pkgconfig/cynara-creds-socket.pc
-
 %files -n libcynara-session
 %manifest libcynara-session.manifest
 %license LICENSE
 %{_libdir}/libcynara-session.so.*
 
-%files -n libcynara-session-devel
-%{_includedir}/cynara/cynara-session.h
-%{_libdir}/libcynara-session.so
-%{_libdir}/pkgconfig/cynara-session.pc
-
 %files -n cynara-db-migration
 %manifest cynara-db-migration.manifest
 %attr(744,root,root) %{_sbindir}/cynara/cynara-db-migration.sh
diff --git a/packaging/libcynara-client-async.manifest b/packaging/libcynara-client-async.manifest
deleted file mode 100644 (file)
index a76fdba..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<manifest>
-       <request>
-               <domain name="_" />
-       </request>
-</manifest>
diff --git a/packaging/libcynara-client-commons.manifest b/packaging/libcynara-client-commons.manifest
deleted file mode 100644 (file)
index a76fdba..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<manifest>
-       <request>
-               <domain name="_" />
-       </request>
-</manifest>
diff --git a/packaging/libcynara-storage.manifest b/packaging/libcynara-storage.manifest
deleted file mode 100644 (file)
index a76fdba..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-<manifest>
-       <request>
-               <domain name="_" />
-       </request>
-</manifest>