Hi,

the attached patches fix <https://fedorahosted.org/freeipa/ticket/4532>, <https://fedorahosted.org/freeipa/ticket/4533> and <https://fedorahosted.org/freeipa/ticket/4536>.


Honza

--
Jan Cholasta
>From 3efd3e88cbe2865c2c8114a89f4ae392cb30c20a Mon Sep 17 00:00:00 2001
From: Jan Cholasta <jchol...@redhat.com>
Date: Wed, 17 Sep 2014 10:02:01 +0200
Subject: [PATCH] Allow RPM upgrade from ipa-* packages

https://fedorahosted.org/freeipa/ticket/4532
---
 freeipa.spec.in | 21 ++++++++++++++++-----
 1 file changed, 16 insertions(+), 5 deletions(-)

diff --git a/freeipa.spec.in b/freeipa.spec.in
index 1138299..14b954d 100644
--- a/freeipa.spec.in
+++ b/freeipa.spec.in
@@ -1,6 +1,7 @@
 # Define ONLY_CLIENT to only make the ipa-client and ipa-python subpackages
 %{!?ONLY_CLIENT:%global ONLY_CLIENT 0}
 
+%global alt_name ipa
 %global plugin_dir %{_libdir}/dirsrv/plugins
 %global POLICYCOREUTILSVER 2.1.12-5
 %global gettext_domain ipa
@@ -128,6 +129,9 @@ Requires(pre): 389-ds-base >= 1.3.3.2
 Requires: fontawesome-fonts
 Requires: open-sans-fonts
 
+Conflicts: %{alt_name}-server
+Obsoletes: %{alt_name}-server < %{version}-%{release}
+
 # With FreeIPA 3.3, package freeipa-server-selinux was obsoleted as the
 # entire SELinux policy is stored in the system policy
 Obsoletes: freeipa-server-selinux < 3.3.0
@@ -142,8 +146,6 @@ Conflicts: bind < 9.8.2-0.4.rc2
 # member.
 Conflicts: nss-pam-ldapd < 0.8.4
 
-Obsoletes: ipa-server >= 1.0
-
 %description server
 IPA is an integrated solution to provide centrally managed Identity (machine,
 user, virtual machines, groups, authentication credentials), Policy
@@ -172,6 +174,9 @@ Requires(post): python
 Requires(postun): %{_sbindir}/update-alternatives
 Requires(preun): %{_sbindir}/update-alternatives
 
+Conflicts: %{alt_name}-server-trust-ad
+Obsoletes: %{alt_name}-server-trust-ad < %{version}-%{release}
+
 %description server-trust-ad
 Cross-realm trusts with Active Directory in IPA require working Samba 4
 installation. This package is provided for convenience to install all required
@@ -207,7 +212,8 @@ Requires: nfs-utils
 Requires: python-backports-ssl_match_hostname
 Requires(post): policycoreutils
 
-Obsoletes: ipa-client >= 1.0
+Conflicts: %{alt_name}-client
+Obsoletes: %{alt_name}-client < %{version}-%{release}
 
 %description client
 IPA is an integrated solution to provide centrally managed Identity (machine,
@@ -226,7 +232,8 @@ Requires: %{name}-client = %{version}-%{release}
 Requires: python-krbV
 Requires: python-ldap
 
-Obsoletes: ipa-admintools >= 1.0
+Conflicts: %{alt_name}-admintools
+Obsoletes: %{alt_name}-admintools < %{version}-%{release}
 
 %description admintools
 IPA is an integrated solution to provide centrally managed Identity (machine,
@@ -253,7 +260,8 @@ Requires: python-pyasn1
 Requires: python-dateutil
 Requires: python-yubico
 
-Obsoletes: ipa-python >= 1.0
+Conflicts: %{alt_name}-python
+Obsoletes: %{alt_name}-python < %{version}-%{release}
 
 %description python
 IPA is an integrated solution to provide centrally managed Identity (machine,
@@ -275,6 +283,9 @@ Requires: python-coverage
 Requires: python-polib
 Requires: python-paramiko >= 1.7.7
 
+Conflicts: %{alt_name}-tests
+Obsoletes: %{alt_name}-tests < %{version}-%{release}
+
 %description tests
 IPA is an integrated solution to provide centrally managed Identity (machine,
 user, virtual machines, groups, authentication credentials), Policy
-- 
1.9.3

>From 3139fa03be08b1b3693fd65282785873f1637aa5 Mon Sep 17 00:00:00 2001
From: Jan Cholasta <jchol...@redhat.com>
Date: Wed, 17 Sep 2014 11:49:51 +0200
Subject: [PATCH] Include ipaplatform in client-only build

https://fedorahosted.org/freeipa/ticket/4533
---
 Makefile        | 6 ++++++
 freeipa.spec.in | 3 +++
 setup.py        | 3 ---
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index ddb47bf..3bdec71 100644
--- a/Makefile
+++ b/Makefile
@@ -71,6 +71,7 @@ client: client-autogen
 	@for subdir in $(CLIENTDIRS); do \
 		(cd $$subdir && $(MAKE) all) || exit 1; \
 	done
+	cd ipaplatform && $(PYTHON) setup.py build
 
 bootstrap-autogen: version-update client-autogen
 	@echo "Building IPA $(IPA_VERSION)"
@@ -96,8 +97,10 @@ client-install: client client-dirs
 	cd install/po && $(MAKE) install || exit 1;
 	if [ "$(DESTDIR)" = "" ]; then \
 		$(PYTHON) setup-client.py install; \
+		(cd ipaplatform && $(PYTHON) setup.py install); \
 	else \
 		$(PYTHON) setup-client.py install --root $(DESTDIR); \
+		(cd ipaplatform && $(PYTHON) setup.py install --root $(DESTDIR)); \
 	fi
 
 client-dirs:
@@ -164,12 +167,15 @@ version-update: release-update
 
 server: version-update
 	$(PYTHON) setup.py build
+	cd ipaplatform && $(PYTHON) setup.py build
 
 server-install: server
 	if [ "$(DESTDIR)" = "" ]; then \
 		$(PYTHON) setup.py install; \
+		(cd ipaplatform && $(PYTHON) setup.py install); \
 	else \
 		$(PYTHON) setup.py install --root $(DESTDIR); \
+		(cd ipaplatform && $(PYTHON) setup.py install --root $(DESTDIR)); \
 	fi
 
 tests: version-update tests-man-autogen
diff --git a/freeipa.spec.in b/freeipa.spec.in
index 1138299..3fd307d 100644
--- a/freeipa.spec.in
+++ b/freeipa.spec.in
@@ -332,6 +332,8 @@ make client-install DESTDIR=%{buildroot}
 %find_lang %{gettext_domain}
 
 
+mkdir -p %{buildroot}%{_usr}/share/ipa
+
 %if ! %{ONLY_CLIENT}
 # Remove .la files from libtool - we don't want to package
 # these files
@@ -778,6 +780,7 @@ fi
 %attr(0644,root,root) %{python_sitearch}/default_encoding_utf8.so
 %{python_sitelib}/ipapython-*.egg-info
 %{python_sitelib}/freeipa-*.egg-info
+%{python_sitelib}/ipaplatform-*.egg-info
 %{python_sitearch}/python_default_encoding-*.egg-info
 %dir %attr(0755,root,root) %{_sysconfdir}/ipa/
 %ghost %attr(0644,root,apache) %config(noreplace) %{_sysconfdir}/ipa/default.conf
diff --git a/setup.py b/setup.py
index af968e1..af7964d 100755
--- a/setup.py
+++ b/setup.py
@@ -78,9 +78,6 @@ setup(
     packages=[
         'ipalib',
         'ipalib.plugins',
-        'ipaplatform',
-        'ipaplatform.base',
-        'ipaplatform.fedora',
         'ipaserver',
         'ipaserver.advise',
         'ipaserver.advise.plugins',
-- 
1.9.3

>From 596a572e91ec3aae02087ee201f4207f0ce438d0 Mon Sep 17 00:00:00 2001
From: Jan Cholasta <jchol...@redhat.com>
Date: Wed, 17 Sep 2014 11:52:37 +0200
Subject: [PATCH] Include the ipa command in client-only build

https://fedorahosted.org/freeipa/ticket/4536
---
 freeipa.spec.in | 8 ++------
 setup-client.py | 2 ++
 2 files changed, 4 insertions(+), 6 deletions(-)

diff --git a/freeipa.spec.in b/freeipa.spec.in
index 3fd307d..dc9a6d0 100644
--- a/freeipa.spec.in
+++ b/freeipa.spec.in
@@ -217,7 +217,6 @@ logs, analysis thereof). If your network uses IPA for authentication,
 this package should be installed on every client machine.
 
 
-%if ! %{ONLY_CLIENT}
 %package admintools
 Summary: IPA administrative tools
 Group: System Environment/Base
@@ -234,7 +233,6 @@ user, virtual machines, groups, authentication credentials), Policy
 (configuration settings, access control information) and Audit (events,
 logs, analysis thereof). This package provides command-line tools for
 IPA administrators.
-%endif # ONLY_CLIENT
 
 %package python
 Summary: Python libraries used by IPA
@@ -416,10 +414,10 @@ mkdir -p %{buildroot}%{_sysconfdir}/ipa/
 /bin/touch %{buildroot}%{_sysconfdir}/ipa/default.conf
 /bin/touch %{buildroot}%{_sysconfdir}/ipa/ca.crt
 mkdir -p %{buildroot}/%{_localstatedir}/lib/ipa-client/sysrestore
-
-%if ! %{ONLY_CLIENT}
 mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d
 install -pm 644 contrib/completion/ipa.bash_completion %{buildroot}%{_sysconfdir}/bash_completion.d/ipa
+
+%if ! %{ONLY_CLIENT}
 mkdir -p %{buildroot}%{_sysconfdir}/cron.d
 
 (cd %{buildroot}/%{python_sitelib}/ipaserver && find . -type f  | \
@@ -759,14 +757,12 @@ fi
 %{_mandir}/man1/ipa-join.1.gz
 %{_mandir}/man5/default.conf.5.gz
 
-%if ! %{ONLY_CLIENT}
 %files admintools
 %defattr(-,root,root,-)
 %doc COPYING README Contributors.txt
 %{_bindir}/ipa
 %config %{_sysconfdir}/bash_completion.d
 %{_mandir}/man1/ipa.1.gz
-%endif # ONLY_CLIENT
 
 %files python -f %{gettext_domain}.lang
 %defattr(-,root,root,-)
diff --git a/setup-client.py b/setup-client.py
index a424440..802df32 100755
--- a/setup-client.py
+++ b/setup-client.py
@@ -35,4 +35,6 @@ setup(
         'ipalib',
         'ipalib.plugins',
     ],
+    scripts=['ipa'],
+    data_files = [('share/man/man1', ["ipa.1"])],
 )
-- 
1.9.3

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to