From e8ee13b7afe3b916bd6e7139a69e7bfc6e0a4d34 Mon Sep 17 00:00:00 2001 From: Nicolas Chauvet Date: Wed, 24 Jan 2018 16:12:55 +0100 Subject: [PATCH] Move apache dependency to handler,manager,portal Split requires into respectives sub-packages This allows to install only the portal or manager or handler into a dedicated host. Basically lemonldap-ng-conf is the "common package dependency" Signed-off-by: Nicolas Chauvet --- rpm/lemonldap-ng.spec | 76 ++++++++++++++++++++++++++----------------- 1 file changed, 46 insertions(+), 30 deletions(-) diff --git a/rpm/lemonldap-ng.spec b/rpm/lemonldap-ng.spec index 00d2f3ec0e..315836e1cf 100644 --- a/rpm/lemonldap-ng.spec +++ b/rpm/lemonldap-ng.spec @@ -97,36 +97,13 @@ BuildRequires: perl(XML::LibXSLT) BuildRequires: perl(XML::Simple) BuildRequires: systemd -%if 0%{?rhl}%{?rhel}%{?fedora} -Requires: perl(Apache::Session) -Requires: perl(IO::String) -Requires: perl(LWP::Protocol::https) -Requires: mod_perl -Requires: mod_fcgid -%else -Requires: cron -Requires: perl-Regexp-Assemble, perl-Cache-Cache, perl-Apache-Session, perl-XML-Simple, perl-Crypt-Rijndael, perl-IO-String -Requires: perl-ldap, perl-MIME-Base64, perl-DBI, perl-HTML-Template, perl-SOAP-Lite, perl-IPC-ShareLite, perl-Convert-ASN1, perl-Error, perl-Unicode-String -%endif +Requires: lemonldap-ng-conf = %{real_version}-%{release} +Requires: lemonldap-ng-doc = %{real_version}-%{release} +Requires: lemonldap-ng-handler = %{real_version}-%{release} +Requires: lemonldap-ng-manager = %{real_version}-%{release} +Requires: lemonldap-ng-portal = %{real_version}-%{release} +Requires: lemonldap-ng-test = %{real_version}-%{release} -Requires: lemonldap-ng-conf >= %{real_version} -Requires: lemonldap-ng-doc >= %{real_version} -Requires: lemonldap-ng-handler >= %{real_version} -Requires: lemonldap-ng-manager >= %{real_version} -Requires: lemonldap-ng-portal >= %{real_version} -Requires: lemonldap-ng-test >= %{real_version} - -%if 0%{?rhl}%{?rhel}%{?fedora} -Requires: perl(Lemonldap::NG::Common) >= %{cpan_common_version} -Requires: perl(Lemonldap::NG::Handler) >= %{cpan_handler_version} -Requires: perl(Lemonldap::NG::Manager) >= %{cpan_manager_version} -Requires: perl(Lemonldap::NG::Portal) >= %{cpan_portal_version} -%else -Requires: perl-Lemonldap-NG-Common >= %{cpan_common_version} -Requires: perl-Lemonldap-NG-Handler >= %{cpan_handler_version} -Requires: perl-Lemonldap-NG-Manager >= %{cpan_manager_version} -Requires: perl-Lemonldap-NG-Portal >= %{cpan_portal_version} -%endif %description LemonLdap::NG is a modular Web-SSO based on Apache::Session modules. It @@ -140,6 +117,8 @@ So you can have a full AAA protection for your web space as described below. #============================================================================== %package -n lemonldap-ng-conf Summary: LemonLDAP-NG configuration +Requires: perl(IO::String) +Requires: perl(Lemonldap::NG::Common) = %{cpan_common_version} %description -n lemonldap-ng-conf This package contains the main storage configuration. @@ -166,6 +145,17 @@ This package contains html documentation translated in French. # Handler #============================================================================== %package -n lemonldap-ng-handler +Summary: LemonLDAP-NG handler +Requires: lemonldap-ng-conf = %{real_version}-%{release} +Requires: perl(Lemonldap::NG::Handler) = %{cpan_handler_version} +Requires: perl(Apache::Session) +Requires: perl(mod_perl2) +%if 0%{?rhl}%{?rhel}%{?fedora} +Requires: crontabs +Requires(post): httpd +%else +Requires(post): apache2 +%endif %description -n lemonldap-ng-handler This package deploys the Apache Handler. @@ -175,6 +165,15 @@ This package deploys the Apache Handler. #============================================================================== %package -n lemonldap-ng-manager Summary: LemonLDAP-NG administration interface +Requires: lemonldap-ng-conf = %{real_version}-%{release} +Requires: perl(Lemonldap::NG::Manager) = %{cpan_manager_version} +Requires: perl(Apache::Session) +Requires: perl(mod_perl2) +%if 0%{?rhl}%{?rhel}%{?fedora} +Requires(post): httpd +%else +Requires(post): apache2 +%endif %description -n lemonldap-ng-manager This package deploys the adminsitration interface and sessions explorer. @@ -184,6 +183,16 @@ This package deploys the adminsitration interface and sessions explorer. #============================================================================== %package -n lemonldap-ng-portal Summary: LemonLDAP-NG authentication portal +Requires: lemonldap-ng-conf = %{real_version}-%{release} +Requires: perl(Lemonldap::NG::Portal) = %{cpan_portal_version} +Requires: perl(Apache::Session) +Requires: perl(mod_perl2) +%if 0%{?rhl}%{?rhel}%{?fedora} +Requires: crontabs +Requires(post): httpd +%else +Requires(post): apache2 +%endif %description -n lemonldap-ng-portal This package deploys the authentication portal. @@ -193,6 +202,7 @@ This package deploys the authentication portal. #============================================================================== %package -n lemonldap-ng-test Summary: LemonLDAP-NG test applications +Requires: lemonldap-ng-conf = %{real_version}-%{release} %description -n lemonldap-ng-test This package deploys small test applications. @@ -202,7 +212,13 @@ This package deploys small test applications. #============================================================================== %package -n lemonldap-ng-fastcgi-server Summary: LemonLDAP-NG FastCGI Server -Requires: perl-FCGI-ProcManager +Requires: lemonldap-ng-conf = %{real_version}-%{release} +%if 0%{?rhl}%{?rhel}%{?fedora} +Requires: mod_fcgid +%else +Requires: apache2-mod_fcgid +%endif +Requires: perl(FCGI::ProcManager) %description -n lemonldap-ng-fastcgi-server This package deploys files needed to start a FastCGI server. -- GitLab