Hello community, here is the log from the commit of package nfs-ganesha for openSUSE:Factory checked in at 2019-12-07 15:19:43 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/nfs-ganesha (Old) and /work/SRC/openSUSE:Factory/.nfs-ganesha.new.4691 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "nfs-ganesha" Sat Dec 7 15:19:43 2019 rev:6 rq:752370 version:3.0.2+git0.eae6d6d35 Changes: -------- --- /work/SRC/openSUSE:Factory/nfs-ganesha/nfs-ganesha.changes 2019-08-27 10:12:55.351973390 +0200 +++ /work/SRC/openSUSE:Factory/.nfs-ganesha.new.4691/nfs-ganesha.changes 2019-12-07 15:23:04.291731442 +0100 @@ -1,0 +2,48 @@ +Fri Nov 29 09:12:45 UTC 2019 - [email protected] + +- Update to version V3.0.2+git0.eae6d6d35: + * V3.0.2 + * ganesha_stats option rename + * cmake: LizardFS doesn't need to be a STRICT_PACKAGE + * Add fsal_test_access to exported symbols. + * doc: utf8 characters in ganesha-config.rsh + * V3.0.1 + * Adding trace in FSAL_GLUSTER + * call set_current_entry only after checking state_lock + * avoid mem leak + * Avoid twice free. + +------------------------------------------------------------------- +Thu Nov 28 17:47:05 UTC 2019 - Denis Kondratenko <[email protected]> + +- Changing service file to build from upstream git +- Adding patch to correctly detect SLE during the build + * added sle_build_detect.patch +- removing add-missing-CheckSymbolExists-include.patch + * already in sources + +------------------------------------------------------------------- +Wed Nov 13 09:30:12 UTC 2019 - Denis Kondratenko <[email protected]> + +- Update nfs-ganesha to V3.0 + + libntirpc + + Use non-blocking writes when we send RPC responses or make RPC callbacks + + Continued improvements of readdir cache + + Use of gss_iov for GSS integrity and privacy encode and decode to save + buffer copies. + + Change xdr encode of attributes to work from struct attrlist and other + changes to save a data copy when returning attributes for NFS v3. + + Implement xdr_putbuffs to save buffer copies for READ and READDIR responses + which also has the benefit of more completely filling the maximum READDIR + response size for fewer READDIR roundtrips to read a large directory. + + Add LizardFS FSAL + + Completed audit of string buffer handling (strncpy, snprintf and such) to + prevent overflows. Also make utf8str always NUL terminated including on + XDR decode. + + Make python scripts compatible with Python 3 + + Python script enhancements and cleanup + + Enhancements to stats collection + + Numerous Coverity issues fixed as well as other bug fixes +- remove CMake patch, as it is already in V3.0 + +------------------------------------------------------------------- Old: ---- add-missing-CheckSymbolExists-include.patch nfs-ganesha-2.8.dev.29+git.1557746732.251ace12d.tar.bz2 New: ---- nfs-ganesha-3.0.2+git0.eae6d6d35.obscpio nfs-ganesha.obsinfo sle_build_detect.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ nfs-ganesha.spec ++++++ --- /var/tmp/diff_new_pack.w6Qx3n/_old 2019-12-07 15:23:05.647731254 +0100 +++ /var/tmp/diff_new_pack.w6Qx3n/_new 2019-12-07 15:23:05.655731254 +0100 @@ -105,7 +105,7 @@ %define sourcename @CPACK_SOURCE_PACKAGE_FILE_NAME@ Name: nfs-ganesha -Version: 2.8.dev.29+git.1557746732.251ace12d +Version: 3.0.2+git0.eae6d6d35 Release: 0 Summary: An NFS server running in user space Group: Productivity/Networking/NFS @@ -113,8 +113,8 @@ Url: https://github.com/nfs-ganesha/nfs-ganesha/wiki Source: %{name}-%{version}.tar.bz2 -# PATCH-FIX-UPSTREAM https://github.com/nfs-ganesha/nfs-ganesha/pull/455.patch -Patch0: add-missing-CheckSymbolExists-include.patch + +Patch01: sle_build_detect.patch %if 0%{?suse_version} %if 0%{?is_opensuse} @@ -130,6 +130,9 @@ BuildRequires: pkgconfig BuildRequires: krb5-devel BuildRequires: liburcu-devel +%if %{with rados_recov} || %{with rados_urls} +BuildRequires: librados-devel >= 0.61 +%endif %if ( 0%{?suse_version} >= 1330 ) BuildRequires: libnsl-devel %endif @@ -205,10 +208,10 @@ file systems and name-spaces (notably the Ceph "file" and "object" back-ends - CephFS and RGW, respectively). -%package -n libntirpc1_7 +%package -n libntirpc3_0 Summary: NFS-Ganesha transport-independent RPC (TI-RPC) shared library Group: System/Libraries -%description -n libntirpc1_7 +%description -n libntirpc3_0 This package contains a new implementation of the original libtirpc, transport-independent RPC (TI-RPC) library for NFS-Ganesha. It has the following features not found in libtirpc: @@ -221,33 +224,33 @@ 5. Event channels (remove static arrays of xprt handles, new EPOLL/KEVENT integration) -%post -n libntirpc1_7 -p /sbin/ldconfig +%post -n libntirpc3_0 -p /sbin/ldconfig -%postun -n libntirpc1_7 -p /sbin/ldconfig +%postun -n libntirpc3_0 -p /sbin/ldconfig %package -n libntirpc-devel Summary: Copy of TIRPC headers from NFS-Ganesha Group: Development/Libraries/C and C++ -Requires: libntirpc1_7 = %{version} +Requires: libntirpc3_0 = %{version} Obsoletes: nfs-ganesha-devel < %{version} %description -n libntirpc-devel This package contains the libraries and headers needed to develop programs using NFS-Ganesha transport-independent RPC (TI-RPC). -%package -n libganesha_nfsd2_8 +%package -n libganesha_nfsd3_0 Summary: NFS-Ganesha NFSD shared library Group: System/Libraries -%description -n libganesha_nfsd2_8 +%description -n libganesha_nfsd3_0 This package contains the NFSD shared library from NFS-Ganesha. -%post -n libganesha_nfsd2_8 -p /sbin/ldconfig +%post -n libganesha_nfsd3_0 -p /sbin/ldconfig -%postun -n libganesha_nfsd2_8 -p /sbin/ldconfig +%postun -n libganesha_nfsd3_0 -p /sbin/ldconfig %package -n libganesha_nfsd-devel Summary: NFS-Ganesha NFSD shared library Group: Development/Libraries/C and C++ -Requires: libganesha_nfsd2_8 = %{version} +Requires: libganesha_nfsd3_0 = %{version} %description -n libganesha_nfsd-devel This package contains the libraries and headers needed to develop programs using NFS-Ganesha NFSD. @@ -281,27 +284,30 @@ %package utils Summary: The NFS-Ganesha utility scripts Group: Productivity/Networking/NFS +%if ( 0%{?rhel} && 0%{?rhel} < 8 ) +Requires: dbus-python, pygobject2, pyparsing +BuildRequires: python-devel +%else +Requires: python3-gobject, python3-pyparsing +BuildRequires: python3-devel +%endif %if ( 0%{?suse_version} ) Requires: dbus-1-python -Requires: python-gobject2 -Requires: python-pyparsing %else -Requires: dbus-python -Requires: pygobject2 -Requires: pyparsing +Requires: python3-dbus %endif %if %{with gui_utils} %if ( 0%{?suse_version} ) -BuildRequires: python-qt4-devel -Requires: python-qt4 +BuildRequires: python3-qt5-devel +Requires: python3-qt5 %else BuildRequires: PyQt4-devel Requires: PyQt4 %endif %endif -BuildRequires: python-devel +BuildRequires: python3-devel Requires: nfs-ganesha = %{version}-%{release} -Requires: python +Requires: python3 %description utils This package contains utility scripts for managing the NFS-Ganesha server %endif @@ -327,7 +333,20 @@ Requires: nfs-ganesha = %{version}-%{release} %description rados-grace This package contains the ganesha-rados-grace tool for interacting with the -database used by the rados_cluster recovery backend. +database used by the rados_cluster recovery backend and the +libganesha_rados_grace shared library for using RADOS storage for +recovery state. +%endif + +%if %{with rados_urls} +%package rados-urls +Summary: The NFS-GANESHA library for use with RADOS URLs +Group: Applications/System +Requires: nfs-ganesha = %{version}-%{release} + +%description rados-urls +This package contains the libganesha_rados_urls library used for +handling RADOS URL configurations. %endif # Option packages start here. use "rpmbuild --with gpfs" (or equivalent) @@ -444,7 +463,7 @@ %prep %setup -q -%patch0 -p2 +%patch01 %build export LANGUAGE=en_US.UTF-8 @@ -494,7 +513,7 @@ mkdir -p %{buildroot}%{_localstatedir}/run/ganesha mkdir -p %{buildroot}%{_libexecdir}/ganesha mkdir -p %{buildroot}%{_docdir}/ganesha -mkdir -p %{buildroot}/usr/share/doc/ganesha/config_samples +mkdir -p %{buildroot}%{_docdir}/ganesha/config_samples install -m 644 LICENSE.txt %{buildroot}%{_docdir}/ganesha/LICENSE.txt install -m 644 config_samples/logrotate_ganesha %{buildroot}%{_sysconfdir}/logrotate.d/ganesha install -m 644 scripts/ganeshactl/org.ganesha.nfsd.conf %{buildroot}%{_sysconfdir}/dbus-1/system.d @@ -511,10 +530,6 @@ %else install -D -m 644 scripts/systemd/sysconfig/nfs-ganesha %{buildroot}%{_sysconfdir}/sysconfig/ganesha %endif -%if 0%{?_tmpfilesdir:1} -mkdir -p %{buildroot}%{_tmpfilesdir} -install -m 644 scripts/systemd/tmpfiles.d/ganesha.conf %{buildroot}%{_tmpfilesdir} -%endif mkdir -p %{buildroot}%{_localstatedir}/log/ganesha %if %{with xfs} @@ -628,15 +643,11 @@ %{_unitdir}/nfs-ganesha.service %{_unitdir}/nfs-ganesha-lock.service %{_unitdir}/nfs-ganesha-config.service -%if 0%{?_tmpfilesdir:1} -%{_tmpfilesdir}/ganesha.conf -%endif %if ! %{with system_ntirpc} -%files -n libntirpc1_7 -%{_libdir}/libntirpc.so.1.7.999 -%{_libdir}/libntirpc.so.1.7 +%files -n libntirpc3_0 +%{_libdir}/libntirpc.so.3.0 %files -n libntirpc-devel %{_includedir}/ntirpc/ @@ -645,7 +656,7 @@ %endif -%files -n libganesha_nfsd2_8 +%files -n libganesha_nfsd3_0 %{_libdir}/libganesha_nfsd.so.* %files -n libganesha_nfsd-devel @@ -753,12 +764,18 @@ %if %{with rados_recov} %files rados-grace %{_bindir}/ganesha-rados-grace +%{_libdir}/libganesha_rados_recov.so* %if %{with man_page} %{_mandir}/*/ganesha-rados-grace.8.gz %{_mandir}/*/ganesha-rados-cluster-design.8.gz %endif %endif +%if %{with rados_urls} +%files rados-urls +%{_libdir}/libganesha_rados_urls.so* +%endif + %if %{with utils} %files utils %if ( 0%{?suse_version} || 0%{?fedora} ) ++++++ _service ++++++ --- /var/tmp/diff_new_pack.w6Qx3n/_old 2019-12-07 15:23:05.683731249 +0100 +++ /var/tmp/diff_new_pack.w6Qx3n/_new 2019-12-07 15:23:05.683731249 +0100 @@ -1,19 +1,19 @@ <services> - <service name="tar_scm" mode="disabled"> - <param name="versionformat">2.8.dev.29+git.%ct.%h</param> - <param name="url">git://github.com/SUSE/nfs-ganesha.git</param> - <param name="revision">ses6</param> + <service name="obs_scm" mode="disabled"> + <param name="versionformat">@PARENT_TAG@+git@TAG_OFFSET@.%h</param> + <param name="versionrewrite-pattern">V(.*)</param> + <param name="url">git://github.com/nfs-ganesha/nfs-ganesha.git</param> + <param name="revision">next</param> <param name="filename">nfs-ganesha</param> <param name="scm">git</param> - <param name="package-meta">no</param> <param name="subdir">src</param> - <param name="changesgenerate">disable</param> + <param name="changesgenerate">enable</param> + <param name="changesauthor">[email protected]</param> </service> - <service name="recompress" mode="disabled"> + <service name="set_version" mode="disabled"/> + <service name="tar" mode="buildtime"/> + <service name="recompress" mode="buildtime"> <param name="compression">bz2</param> <param name="file">*.tar</param> </service> - <service name="set_version" mode="disabled"> - <param name="basename">nfs-ganesha</param> - </service> </services> ++++++ _servicedata ++++++ --- /var/tmp/diff_new_pack.w6Qx3n/_old 2019-12-07 15:23:05.711731245 +0100 +++ /var/tmp/diff_new_pack.w6Qx3n/_new 2019-12-07 15:23:05.711731245 +0100 @@ -1,4 +1,4 @@ <servicedata> <service name="tar_scm"> - <param name="url">git://github.com/SUSE/nfs-ganesha.git</param> - <param name="changesrevision">6b4788aff033da44d78786fc47cad0bfc980df25</param></service></servicedata> \ No newline at end of file + <param name="url">git://github.com/nfs-ganesha/nfs-ganesha.git</param> + <param name="changesrevision">eae6d6d350bb273699a53922394751a0c511d0e2</param></service></servicedata> \ No newline at end of file ++++++ nfs-ganesha.obsinfo ++++++ name: nfs-ganesha version: 3.0.2+git0.eae6d6d35 mtime: 1574880554 commit: eae6d6d350bb273699a53922394751a0c511d0e2 ++++++ sle_build_detect.patch ++++++ --- CMakeLists.txt +++ CMakeLists.txt @@ -43,7 +43,7 @@ # Extra version is for naming development/RC. It is blank in master/stable branches # so it can be available to end-users to name local variants/versions # If used, it is always of the form "-whateveryouwant" -set(GANESHA_EXTRA_VERSION .2) +set(GANESHA_EXTRA_VERSION ) set(GANESHA_VERSION ${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}${GANESHA_EXTRA_VERSION}) set(GANESHA_BASE_VERSION ${GANESHA_MAJOR_VERSION}${GANESHA_MINOR_VERSION}) @@ -65,8 +65,13 @@ OUTPUT_VARIABLE SYS_RELEASE ERROR_QUIET ) -# Red Hat Enterprise Linux versions before 7.0 will be detected as UNKNOWN + EXECUTE_PROCESS( + COMMAND awk -F= "/^ID_LIKE=/ { print $2 }" /etc/os-release + OUTPUT_VARIABLE ID_LIKE + ) +# Red Hat Enterprise Linux versions before 7.0 will be detected as UNKNOWN + message( STATUS ${SYS_RELEASE} ) if( ${SYS_RELEASE} MATCHES "Red Hat" ) message( STATUS "Detected a Linux Red Hat machine" ) set(DISTRO "RED_HAT") @@ -90,8 +95,14 @@ set(DISTRO "DEBIAN") set(LIBEXECDIR "/${CMAKE_INSTALL_PREFIX}/lib") else( ${SYS_RELEASE} MATCHES "Red Hat" ) - message( STATUS "Detected an UNKNOWN Linux machine" ) - set(DISTRO "UNKNOWN") + if( ${ID_LIKE} MATCHES "suse" ) + message( STATUS "Detected a SUSE machine" ) + set(DISTRO "SLES") + set(LIBEXECDIR "/usr/lib") + else( ${ID_LIKE} MATCHES "suse" ) + set(LIBEXECDIR "/usr/lib") + message( STATUS "Detected an UNKNOWN Linux machine" ) + endif( ${ID_LIKE} MATCHES "suse" ) endif( ${SYS_RELEASE} MATCHES "Red Hat" ) endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux") @@ -596,8 +607,12 @@ if (LIZARDFS_CLIENT_LIB) message(STATUS "Found LizardFS client library: ${LIZARDFS_CLIENT_LIB}") else(LIZARDFS_CLIENT_LIB) - message(WARNING "Cannot find LizardFS client lib. Disabling lizardfs fsal") - set(USE_FSAL_LIZARDFS OFF) + if(STRICT_PACKAGE) + message(FATAL_ERROR "STRICT_PACKAGE: Cannot find LizardFS client lib. Disabling lizardfs fsal") + else(STRICT_PACKAGE) + message(WARNING "Cannot find LizardFS client lib. Disabling lizardfs fsal") + set(USE_FSAL_LIZARDFS OFF) + endif(STRICT_PACKAGE) endif(LIZARDFS_CLIENT_LIB) endif(USE_FSAL_LIZARDFS) @@ -1050,8 +1065,6 @@ # Sample config files if( ${DISTRO} MATCHES "SLES" ) install(DIRECTORY config_samples DESTINATION share/doc/packages/ganesha) -else( ${DISTRO} MATCHES "SLES" ) - install(DIRECTORY config_samples DESTINATION share/doc/ganesha) endif( ${DISTRO} MATCHES "SLES" ) # pre-create PREFIX/var/run/ganesha install(DIRECTORY DESTINATION ${SYSSTATEDIR}/run/ganesha)
