Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
This commit is contained in:
Kaleb S. KEITHLEY 2019-03-13 08:14:52 -04:00
parent c09fc157b9
commit b59e6efcf2
4 changed files with 61 additions and 196 deletions

View File

@ -1,78 +0,0 @@
From 5711508032b5f280c56eb983392b58ca66de6124 Mon Sep 17 00:00:00 2001
From: "Kaleb S. KEITHLEY" <kkeithle@redhat.com>
Date: Fri, 22 Feb 2019 09:25:26 -0500
Subject: [PATCH] glusterfind: revert shebangs to #!/usr/bin/python3
Using #!/usr/bin/env python is illegal in Fedora and RHEL packaging.
(Debian and SUSE packaging will complain about it too but don't
enforce it like Fedora packaging does. Yet.)
We went through a giant exercise fixing these once already.
The python needs to be python2/python3 clean. There is a build
scriptlet that converts the shebangs back to /usr/bin/python on rhel7.
Change-Id: If208a2557f7e5d727cda98c27905e249cf485d5b
updates: bz#1193929
Signed-off-by: Kaleb S. KEITHLEY <kkeithle@redhat.com>
---
tools/glusterfind/glusterfind.in | 2 +-
tools/glusterfind/src/brickfind.py | 2 +-
tools/glusterfind/src/changelog.py | 2 +-
tools/glusterfind/src/main.py | 2 +-
tools/glusterfind/src/nodeagent.py | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/tools/glusterfind/glusterfind.in b/tools/glusterfind/glusterfind.in
index 569bf4121..ca154b625 100644
--- a/tools/glusterfind/glusterfind.in
+++ b/tools/glusterfind/glusterfind.in
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# Copyright (c) 2015 Red Hat, Inc. <http://www.redhat.com/>
# This file is part of GlusterFS.
diff --git a/tools/glusterfind/src/brickfind.py b/tools/glusterfind/src/brickfind.py
index 1e72c00e5..73b635018 100644
--- a/tools/glusterfind/src/brickfind.py
+++ b/tools/glusterfind/src/brickfind.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Copyright (c) 2015 Red Hat, Inc. <http://www.redhat.com/>
diff --git a/tools/glusterfind/src/changelog.py b/tools/glusterfind/src/changelog.py
index 62669e950..40c381b59 100644
--- a/tools/glusterfind/src/changelog.py
+++ b/tools/glusterfind/src/changelog.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Copyright (c) 2015 Red Hat, Inc. <http://www.redhat.com/>
diff --git a/tools/glusterfind/src/main.py b/tools/glusterfind/src/main.py
index 1145fc1e2..cc5a86f27 100644
--- a/tools/glusterfind/src/main.py
+++ b/tools/glusterfind/src/main.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Copyright (c) 2015 Red Hat, Inc. <http://www.redhat.com/>
diff --git a/tools/glusterfind/src/nodeagent.py b/tools/glusterfind/src/nodeagent.py
index 2ddc77aff..679daa6fa 100644
--- a/tools/glusterfind/src/nodeagent.py
+++ b/tools/glusterfind/src/nodeagent.py
@@ -1,4 +1,4 @@
-#!/usr/bin/env python
+#!/usr/bin/python3
# -*- coding: utf-8 -*-
# Copyright (c) 2015 Red Hat, Inc. <http://www.redhat.com/>
--
2.20.1

View File

@ -1,102 +0,0 @@
From b235a56394c09bb1d7308a620053dbe098d15967 Mon Sep 17 00:00:00 2001
From: Niels de Vos <ndevos@redhat.com>
Date: Fri, 22 Feb 2019 15:17:48 +0100
Subject: [PATCH] build: include gluster/__init__.* files for python packaging
The gluster/__init__.py file was originaly part of the glupy
installation. This file is required to have the python-gluster package
function correctly, it is expected to provide the 'gluster' namespace
for other python packages (like from the libgfapi-python project).
Because glupy does not exist anymore, this file is now added to in a new
extras/python directory.
Change-Id: I14fe959778ee3344d7d54ba342c7928a4d8080a2
Fixes: c3fcff9ccbfcec1be242fd5cf210c9995586b078
Fixes: 8293d21280fd6ddfc9bb54068cf87794fc6be207
Updates: bz#1642810
Signed-off-by: Niels de Vos <ndevos@redhat.com>
---
configure.ac | 2 ++
extras/Makefile.am | 2 +-
extras/python/Makefile.am | 7 +++++++
extras/python/__init__.py | 2 ++
glusterfs.spec.in | 3 +++
5 files changed, 15 insertions(+), 1 deletion(-)
create mode 100644 extras/python/Makefile.am
create mode 100644 extras/python/__init__.py
diff --git a/configure.ac b/configure.ac
index 3aa7f4e77..e055e8c8f 100644
--- a/configure.ac
+++ b/configure.ac
@@ -226,6 +226,7 @@ AC_CONFIG_FILES([Makefile
extras/hook-scripts/reset/Makefile
extras/hook-scripts/reset/post/Makefile
extras/hook-scripts/reset/pre/Makefile
+ extras/python/Makefile
extras/snap_scheduler/Makefile
events/Makefile
events/src/Makefile
@@ -630,6 +631,7 @@ AM_PATH_PYTHON([2.6],,[:])
if test -n "${PYTHON}"; then
have_python=yes
fi
+AM_CONDITIONAL(HAVE_PYTHON, test "x$have_python" = "xyes")
dnl Use pkg-config to get runtime search path missing from ${PYTHON}-config
dnl Just do "true" on failure so that configure does not bail out
diff --git a/extras/Makefile.am b/extras/Makefile.am
index cf4e9264b..de062f37e 100644
--- a/extras/Makefile.am
+++ b/extras/Makefile.am
@@ -11,7 +11,7 @@ EditorModedir = $(docdir)
EditorMode_DATA = glusterfs-mode.el glusterfs.vim
SUBDIRS = init.d systemd benchmarking hook-scripts $(OCF_SUBDIR) LinuxRPM \
- $(GEOREP_EXTRAS_SUBDIR) snap_scheduler firewalld cliutils
+ $(GEOREP_EXTRAS_SUBDIR) snap_scheduler firewalld cliutils python
confdir = $(sysconfdir)/glusterfs
if WITH_SERVER
diff --git a/extras/python/Makefile.am b/extras/python/Makefile.am
new file mode 100644
index 000000000..7d81fa031
--- /dev/null
+++ b/extras/python/Makefile.am
@@ -0,0 +1,7 @@
+if HAVE_PYTHON
+# Install __init__.py into the Python site-packages area
+pypkgdir = @BUILD_PYTHON_SITE_PACKAGES@/gluster
+pypkg_PYTHON = __init__.py
+endif
+
+EXTRA_DIST = __init__.py
diff --git a/extras/python/__init__.py b/extras/python/__init__.py
new file mode 100644
index 000000000..3ad9513f4
--- /dev/null
+++ b/extras/python/__init__.py
@@ -0,0 +1,2 @@
+from pkgutil import extend_path
+__path__ = extend_path(__path__, __name__)
diff --git a/glusterfs.spec.in b/glusterfs.spec.in
index 45b671e33..205b51d4b 100644
--- a/glusterfs.spec.in
+++ b/glusterfs.spec.in
@@ -1186,9 +1186,12 @@ exit 0
# so that all other gluster submodules can reside in the same namespace.
%if ( %{_usepython3} )
%dir %{python3_sitelib}/gluster
+ %{python3_sitelib}/gluster/__init__.*
+ %{python3_sitelib}/gluster/__pycache__
%{python3_sitelib}/gluster/cliutils
%else
%dir %{python2_sitelib}/gluster
+ %{python2_sitelib}/gluster/__init__.*
%{python2_sitelib}/gluster/cliutils
%endif
--
2.20.1

View File

@ -7,7 +7,7 @@
%global _for_fedora_koji_builds 1
# uncomment and add '%' to use the prereltag for pre-releases
%global prereltag rc0
%global prereltag rc1
##-----------------------------------------------------------------------------
## All argument definitions should be placed here and keep them sorted
@ -185,6 +185,7 @@
# can't seem to make a generic macro that works
%global glusterd_svcfile %{_unitdir}/glusterd.service
%global glusterfsd_svcfile %{_unitdir}/glusterfsd.service
%global glusterta_svcfile %{_unitdir}/gluster-ta-volume.service
%global glustereventsd_svcfile %{_unitdir}/glustereventsd.service
%global glusterfssharedstorage_svcfile %{_unitdir}/glusterfssharedstorage.service
%else
@ -232,7 +233,7 @@ Summary: Distributed File System
%if ( 0%{_for_fedora_koji_builds} )
Name: glusterfs
Version: 6.0
Release: %{?prereltag:0.}3%{?prereltag:.%{prereltag}}%{?dist}
Release: %{?prereltag:0.}4%{?prereltag:.%{prereltag}}%{?dist}
%else
Name: @PACKAGE_NAME@
Version: @PACKAGE_VERSION@
@ -249,8 +250,6 @@ Source8: glusterfsd.init
%else
Source0: @PACKAGE_NAME@-@PACKAGE_VERSION@.tar.gz
%endif
Patch0001: 0001-glusterfind-revert-shebangs-to-usr-bin-python3.patch
Patch0002: 0002-build-include-gluster-__init__.-files-for-python-pac.patch
Requires(pre): shadow-utils
%if ( 0%{?_with_systemd:1} )
@ -261,6 +260,8 @@ Requires: %{name}-libs = %{version}-%{release}
%if ( 0%{?_with_systemd:1} )
%{?systemd_requires}
%endif
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
%if 0%{?_with_asan:1} && !( 0%{?rhel} && 0%{?rhel} < 7 )
BuildRequires: libasan
%endif
@ -308,6 +309,9 @@ Obsoletes: %{name}-core < %{version}-%{release}
Obsoletes: %{name}-regression-tests
%endif
Obsoletes: %{name}-ufo
%if ( 0%{!?_with_gnfs:1} )
Obsoletes: %{name}-gnfs
%endif
Obsoletes: %{name}-ganesha
Provides: %{name}-common = %{version}-%{release}
Provides: %{name}-core = %{version}-%{release}
@ -329,6 +333,8 @@ and client framework.
Summary: GlusterFS api library
Requires: %{name} = %{version}-%{release}
Requires: %{name}-client-xlators = %{version}-%{release}
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
%description api
GlusterFS is a distributed file-system capable of scaling to several
@ -539,6 +545,8 @@ This package provides the glusterfs legacy gNFS server xlator
%package libs
Summary: GlusterFS common libraries
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
%description libs
GlusterFS is a distributed file-system capable of scaling to several
@ -658,6 +666,8 @@ Requires(preun): /sbin/service
Requires(preun): /sbin/chkconfig
Requires(postun): /sbin/service
%endif
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
%if (0%{?_with_firewalld:1})
# we install firewalld rules, so we need to have the directory owned
%if ( 0%{!?rhel} )
@ -695,11 +705,20 @@ is in user space and easily manageable.
This package provides the glusterfs server daemon.
%endif
%package thin-arbiter
Summary: GlusterFS thin-arbiter module
Requires: %{name}%{?_isa} = %{version}-%{release}
Requires: %{name}-server%{?_isa} = %{version}-%{release}
%description thin-arbiter
This package provides a tie-breaker functionality to GlusterFS
replicate volume. It includes translators required to provide the
functionality, and also few other scripts required for setup.
This package provides the glusterfs thin-arbiter translator.
%prep
%setup -q -n %{name}-%{version}%{?prereltag}
%patch0001 -p1
%patch0002 -p1
%if ( ! %{_usepython3} )
echo "fixing python shebangs..."
for f in api events extras geo-replication libglusterfs tools xlators; do
@ -747,6 +766,7 @@ make check
%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
%if ( 0%{!?_without_server:1} )
%if ( 0%{_for_fedora_koji_builds} )
%if ( 0%{!?_without_server:1} )
install -D -p -m 0644 %{SOURCE1} \
@ -755,7 +775,6 @@ install -D -p -m 0644 %{SOURCE2} \
%{buildroot}%{_sysconfdir}/sysconfig/glusterfsd
%endif
%else
%if ( 0%{!?_without_server:1} )
install -D -p -m 0644 extras/glusterd-sysconfig \
%{buildroot}%{_sysconfdir}/sysconfig/glusterd
%endif
@ -855,7 +874,7 @@ install -p -m 0755 -D extras/command-completion/gluster.bash \
## All %%post should be placed here and keep them sorted
##
%post
/sbin/ldconfig
%{?ldconfig}
%if ( 0%{!?_without_syslog:1} )
%if ( 0%{?fedora} ) || ( 0%{?rhel} )
%systemd_postun_with_restart rsyslog
@ -863,7 +882,8 @@ install -p -m 0755 -D extras/command-completion/gluster.bash \
%endif
exit 0
%post api -p /sbin/ldconfig
# post and postun scriptlets for api
%ldconfig_scriptlets api
%if ( 0%{!?_without_events:1} )
%post events
@ -879,9 +899,8 @@ fi
exit 0
%endif
%post libs
/sbin/ldconfig
exit 0
# post and postun scriptlets for libs
%ldconfig_scriptlets libs
%if ( 0%{!?_without_server:1} )
%post server
@ -1000,10 +1019,19 @@ fi
exit 0
%endif
%preun thin-arbiter
if [ $1 -eq 0 ]; then
if [ -f %glusterta_svcfile ]; then
%service_stop gluster-ta-volume
%systemd_preun gluster-ta-volume
fi
fi
##-----------------------------------------------------------------------------
## All %%postun should be placed here and keep them sorted
##
%postun
%{?ldconfig}
%if ( 0%{!?_without_syslog:1} )
%if ( 0%{?fedora} ) || ( 0%{?rhel} )
%systemd_postun_with_restart rsyslog
@ -1013,6 +1041,7 @@ exit 0
%if ( 0%{!?_without_server:1} )
%postun server
%{?ldconfig}
%if (0%{?_with_firewalld:1})
%firewalld_reload
%endif
@ -1155,6 +1184,19 @@ exit 0
%ghost %attr(0600,-,-) %{_sharedstatedir}/glusterd/nfs/run/nfs.pid
%endif
%files thin-arbiter
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/thin-arbiter.so
%dir %{_datadir}/glusterfs/scripts
%{_datadir}/glusterfs/scripts/setup-thin-arbiter.sh
%config %{_sysconfdir}/glusterfs/thin-arbiter.vol
%if ( 0%{?_with_systemd:1} )
%{_unitdir}/gluster-ta-volume.service
%endif
%if ( 0%{!?_without_georeplication:1} )
%files geo-replication
%config(noreplace) %{_sysconfdir}/logrotate.d/glusterfs-georep
@ -1238,6 +1280,7 @@ exit 0
%doc extras/clear_xattrs.sh
# sysconf
%config(noreplace) %{_sysconfdir}/glusterfs
%exclude %{_sysconfdir}/glusterfs/thin-arbiter.vol
%exclude %{_sysconfdir}/glusterfs/eventsconfig.json
%exclude %{_sharedstatedir}/glusterd/nfs/nfs-server.vol
%exclude %{_sharedstatedir}/glusterd/nfs/run/nfs.pid
@ -1272,7 +1315,6 @@ exit 0
%dir %{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/arbiter.so
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/thin-arbiter.so
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bit-rot.so
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/bitrot-stub.so
%{_libdir}/glusterfs/%{version}%{?prereltag}/xlator/features/sdfs.so
@ -1394,8 +1436,8 @@ exit 0
%dir %{_sharedstatedir}/glusterd
%dir %{_sharedstatedir}/glusterd/events
%dir %{_libexecdir}/glusterfs
%dir %{_libexecdir}/glusterfs/events
%{_libexecdir}/glusterfs/events/*
%dir %{_libexecdir}/glusterfs/gfevents
%{_libexecdir}/glusterfs/gfevents/*
%{_libexecdir}/glusterfs/peer_eventsapi.py*
%{_sbindir}/glustereventsd
%{_sbindir}/gluster-eventsapi
@ -1408,6 +1450,9 @@ exit 0
%endif
%changelog
* Wed Mar 13 2019 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 6.0rc1-0.4
- 6.0 RC1
* Wed Mar 6 2019 Kaleb S. KEITHLEY <kkeithle[at]redhat.com> - 6.0rc0-0.3
- 6.0 RC0
- restore s390x rdma

View File

@ -1 +1 @@
SHA512 (glusterfs-6.0rc0.tar.gz) = 637a73c59ecbad4c4ab2db5af10f1e2dd6ed4a566ab58a6f5641c50a85962a411b46b73e45e0d59cb2c4136e9b3c86e92ff0119991ed9fadbb2789dde3e21ce2
SHA512 (glusterfs-6.0rc1.tar.gz) = 3f8c8d922a7bc64dfba03719e7fde3923166e2795baa1d8fedc443a3f42b67ba69d14caa658ec00e6adc56865b8119dfbba521e5268f20012ef3dc3705d67b35