From d8d0683a5716c7038c7806a3b534b9d631256ed7 Mon Sep 17 00:00:00 2001 From: Rafal Krypa Date: Tue, 11 Nov 2014 12:18:42 +0100 Subject: [PATCH] packaging: tame the packaging madness 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 | 342 ++++------------------------ packaging/libcynara-client-async.manifest | 5 - packaging/libcynara-client-commons.manifest | 5 - packaging/libcynara-storage.manifest | 5 - 4 files changed, 49 insertions(+), 308 deletions(-) delete mode 100644 packaging/libcynara-client-async.manifest delete mode 100644 packaging/libcynara-client-commons.manifest delete mode 100644 packaging/libcynara-storage.manifest diff --git a/packaging/cynara.spec b/packaging/cynara.spec index 62cfce1..bf5c00a 100644 --- a/packaging/cynara.spec +++ b/packaging/cynara.spec @@ -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 index a76fdba..0000000 --- a/packaging/libcynara-client-async.manifest +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/packaging/libcynara-client-commons.manifest b/packaging/libcynara-client-commons.manifest deleted file mode 100644 index a76fdba..0000000 --- a/packaging/libcynara-client-commons.manifest +++ /dev/null @@ -1,5 +0,0 @@ - - - - - diff --git a/packaging/libcynara-storage.manifest b/packaging/libcynara-storage.manifest deleted file mode 100644 index a76fdba..0000000 --- a/packaging/libcynara-storage.manifest +++ /dev/null @@ -1,5 +0,0 @@ - - - - - -- 2.7.4