Accepting request 881661 from filesystems:ceph

rpm: drop extraneous explicit sqlite-libs runtime dependency (forwarded request 881659 from smithfarm)

OBS-URL: https://build.opensuse.org/request/show/881661
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ceph?expand=0&rev=64
This commit is contained in:
Richard Brown 2021-04-06 15:28:45 +00:00 committed by Git OBS Bridge
commit 277e247abc
8 changed files with 250 additions and 24 deletions

44
README-packaging.txt Normal file
View File

@ -0,0 +1,44 @@
!!! DO NOT SUBMIT CEPH.SPEC MODIFICATIONS TO OBS !!!
!!! CEPH.SPEC IS MAINTAINED UPSTREAM !!!
So you have an idea for how to improve ceph.spec and are preparing to submit it
to the Factory devel project. You might also intend to test your patch in the
OBS, first. Please read this before proceeding!
Instructions for submitting
---------------------------
The ceph.spec file is maintained upstream at https://github.com/ceph/ceph
To patch it, use the following procedure:
1. find out the current Factory ceph maintainer(s) (e.g. by examining the
most recent entries in the ceph.changes file)
2. open PR targeting the master branch at https://github.com/ceph/ceph
Make sure to sign your commit ("git commit --signoff") using your real name
and real email address. If this is a problem, contact the current Factory
maintainers: they can act as a proxy.
3. ping the Factory ceph maintainers about your PR
The Factory ceph maintainers will take care of getting your upstream PR
reviewed, tested, merged and, if necessary, backported. They will also take care
of submitting the patch to Factory.
Caveat for testing
------------------
If you want to test your patch (e.g. in your home project), please read the
following CAVEAT:
The ceph.spec file is maintained upstream. As a consequence of that, we cannot
simply run the downstream spec file cleaner on it. (If you are now asking
"why?", here is one reason: the spec file cleaner changes the copyright notice!
Another reason is: the spec file cleaner has been known to munge ceph.spec so
badly that it breaks the build!)
Now, if special action is not taken, the spec file cleaner will run on the
server each time you commit. That must be avoided at all costs. Fortunately, it
is easy to avoid it by passing the "--noservice" option to "osc commit", e.g.:
osc commit --noservice

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c2a004d48715af96395c38a510e1e686aa5f1125e74238c9e3c4a091b254ceb8
size 126624817

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d9aa545e12fc519388fa267c20beee29eb892611d21a6af1b4bea15a8a9df3f8
size 126371021

View File

@ -1,3 +1,36 @@
-------------------------------------------------------------------
Fri Mar 26 10:14:59 UTC 2021 - Nathan Cutler <ncutler@suse.com>
- Update to 16.1.0-1217-g8e1da7347e:
+ rpm: drop extraneous explicit sqlite-libs runtime dependency
-------------------------------------------------------------------
Thu Mar 25 18:21:58 UTC 2021 - Nathan Cutler <ncutler@suse.com>
- pre_checkin.sh: add README-packaging.txt as a source file to ceph-test.spec
(to pacify obs-service-source_validator)
-------------------------------------------------------------------
Thu Mar 25 16:38:00 UTC 2021 - Nathan Cutler <ncutler@suse.com>
- Update to 16.1.0-1216-gbaca20b112:
+ spec: prepare openSUSE usrmerge (boo#1029961)
-------------------------------------------------------------------
Thu Mar 25 11:15:20 UTC 2021 - Nathan Cutler <ncutler@suse.com>
- Update to 16.1.0-1215-gd99465b6ba
+ rebase on top of upstream commit 3eb70cf622aace689e45749e8a92fce033d3d55c
(tip of "pacific" branch)
* introduce libnpmem and libpmemobj dependencies to for RBD_RWL and
RBD_SSD_CACHE features backed by system PMDK
* introduce libcephsqlite
-------------------------------------------------------------------
Thu Mar 25 09:53:31 UTC 2021 - Nathan Cutler <ncutler@suse.com>
- Add README-packaging.txt
-------------------------------------------------------------------
Wed Jan 27 15:17:14 UTC 2021 - Nathan Cutler <ncutler@suse.com>

View File

@ -32,6 +32,14 @@
%endif
%if 0%{?fedora} || 0%{?rhel}
%bcond_without selinux
%ifarch x86_64 ppc64le
%bcond_without rbd_rwl_cache
%bcond_without rbd_ssd_cache
%global _system_pmdk 1
%else
%bcond_with rbd_rwl_cache
%bcond_with rbd_ssd_cache
%endif
%if 0%{?rhel} >= 8
%bcond_with cephfs_java
%else
@ -51,8 +59,14 @@
%bcond_with libradosstriper
%ifarch x86_64 aarch64 ppc64le
%bcond_without lttng
%global _system_pmdk 1
%bcond_without rbd_rwl_cache
%bcond_without rbd_ssd_cache
%else
%bcond_with lttng
%global _system_pmdk 0
%bcond_with rbd_rwl_cache
%bcond_with rbd_ssd_cache
%endif
%bcond_with ocf
%bcond_with selinux
@ -109,7 +123,7 @@
# main package definition
#################################################################################
Name: ceph-test
Version: 16.1.0.46+g571704f730
Version: 16.1.0.1217+g8e1da7347e
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
@ -125,12 +139,14 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-
Group: System/Filesystems
%endif
URL: http://ceph.com/
Source0: %{?_remote_tarball_prefix}ceph-16.1.0-46-g571704f730.tar.bz2
Source0: %{?_remote_tarball_prefix}ceph-16.1.0-1217-g8e1da7347e.tar.bz2
%if 0%{?suse_version}
Source96: checkin.sh
Source97: README-checkin.txt
Source98: README-ceph-test.txt
Source99: ceph-rpmlintrc
Source94: ceph-rpmlintrc
Source95: checkin.sh
Source96: pre_checkin.sh
Source97: README-ceph-test.txt
Source98: README-checkin.txt
Source99: README-packaging.txt
# _insert_obs_source_lines_here
ExclusiveArch: x86_64
%endif
@ -186,6 +202,7 @@ BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: make
BuildRequires: ncurses-devel
BuildRequires: libicu-devel
BuildRequires: parted
BuildRequires: patch
BuildRequires: perl
@ -194,6 +211,7 @@ BuildRequires: procps
BuildRequires: python%{python3_pkgversion}
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: snappy-devel
BuildRequires: sqlite-devel
BuildRequires: sudo
BuildRequires: pkgconfig(udev)
BuildRequires: util-linux
@ -241,6 +259,10 @@ BuildRequires: nlohmann_json-devel
BuildRequires: libevent-devel
BuildRequires: yaml-cpp-devel
%endif
%if 0%{?_system_pmdk}
BuildRequires: libpmem-devel
BuildRequires: libpmemobj-devel
%endif
%if 0%{with seastar}
BuildRequires: c-ares-devel
BuildRequires: gnutls-devel
@ -469,6 +491,8 @@ This package contains Ceph benchmarks and test tools.
%endif
%if 0%{?rhel} || 0%{?fedora}
%endif
%if 0%{?weak_deps}
%endif
%if %{with ocf}
%if 0%{?suse_version}
%endif
@ -499,6 +523,10 @@ This package contains Ceph benchmarks and test tools.
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{with libradosstriper}
%if 0%{?suse_version}
%endif
@ -558,7 +586,7 @@ This package contains Ceph benchmarks and test tools.
%if 0%{?suse_version}
%endif
%prep
%autosetup -p1 -n ceph-16.1.0-46-g571704f730
%autosetup -p1 -n ceph-16.1.0-1217-g8e1da7347e
%build
# LTO can be enabled as soon as the following GCC bug is fixed:
@ -674,13 +702,22 @@ ${CMAKE} .. \
-DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \
%endif
%if 0%{without lua_packages}
-DWITH_RADOSGW_LUA_PACKAGES=OFF
-DWITH_RADOSGW_LUA_PACKAGES=OFF \
%endif
%if 0%{with zbd}
-DWITH_ZBD=ON \
%endif
%if 0%{with cmake_verbose_logging}
-DCMAKE_VERBOSE_MAKEFILE=ON \
%endif
%if 0%{with rbd_rwl_cache}
-DWITH_RBD_RWL=ON \
%endif
%if 0%{with rbd_ssd_cache}
-DWITH_RBD_SSD_CACHE=ON \
%endif
%if 0%{?_system_pmdk}
-DWITH_SYSTEM_PMDK:BOOL=ON \
%endif
-DBOOST_J=$CEPH_SMP_NCPUS \
-DWITH_GRAFANA=ON
@ -738,7 +775,7 @@ touch %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys
chmod 0600 %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys
# firewall templates and /sbin/mount.ceph symlink
%if 0%{?suse_version}
%if 0%{?suse_version} && !0%{?usrmerged}
mkdir -p %{buildroot}/sbin
ln -sf %{_sbindir}/mount.ceph %{buildroot}/sbin/mount.ceph
%endif
@ -890,6 +927,7 @@ rm -rf %{buildroot}%{_datadir}/ceph/mgr/insights
rm -rf %{buildroot}%{_datadir}/ceph/mgr/iostat
rm -rf %{buildroot}%{_datadir}/ceph/mgr/localpool
rm -rf %{buildroot}%{_datadir}/ceph/mgr/mds_autoscaler
rm -rf %{buildroot}%{_datadir}/ceph/mgr/mirroring
rm -rf %{buildroot}%{_datadir}/ceph/mgr/orchestrator
rm -rf %{buildroot}%{_datadir}/ceph/mgr/osd_perf_query
rm -rf %{buildroot}%{_datadir}/ceph/mgr/osd_support
@ -943,6 +981,8 @@ rm -rf %{buildroot}%{_bindir}/radosgw
rm -rf %{buildroot}%{_bindir}/radosgw-token
rm -rf %{buildroot}%{_bindir}/radosgw-es
rm -rf %{buildroot}%{_bindir}/radosgw-object-expirer
rm -rf %{buildroot}%{_bindir}/rgw-gap-list
rm -rf %{buildroot}%{_bindir}/rgw-gap-list-comparator
rm -rf %{buildroot}%{_bindir}/rgw-orphan-list
rm -rf %{buildroot}%{_libdir}/libradosgw.so*
rm -rf %{buildroot}%{_mandir}/man8/radosgw.8*
@ -988,6 +1028,8 @@ rm -rf %{buildroot}%{_includedir}/rados/page.h
rm -rf %{buildroot}%{_includedir}/rados/rados_types.hpp
rm -rf %{buildroot}%{python3_sitearch}/rados.cpython*.so
rm -rf %{buildroot}%{python3_sitearch}/rados-*.egg-info
rm -rf %{buildroot}%{_libdir}/libcephsqlite.so
rm -rf %{buildroot}%{_includedir}/libcephsqlite.h
rm -rf %{buildroot}%{_libdir}/libradosstriper.so.*
rm -rf %{buildroot}%{_includedir}/radosstriper/libradosstriper.h
rm -rf %{buildroot}%{_includedir}/radosstriper/libradosstriper.hpp
@ -1082,7 +1124,7 @@ rm -rf %{buildroot}
%endif
%if ! 0%{?suse_version}
%endif
%if 0%{?suse_version}
%if 0%{?suse_version} && !0%{?usrmerged}
%endif
%if %{with lttng}
%endif

View File

@ -1,3 +1,36 @@
-------------------------------------------------------------------
Fri Mar 26 10:14:59 UTC 2021 - Nathan Cutler <ncutler@suse.com>
- Update to 16.1.0-1217-g8e1da7347e:
+ rpm: drop extraneous explicit sqlite-libs runtime dependency
-------------------------------------------------------------------
Thu Mar 25 18:21:58 UTC 2021 - Nathan Cutler <ncutler@suse.com>
- pre_checkin.sh: add README-packaging.txt as a source file to ceph-test.spec
(to pacify obs-service-source_validator)
-------------------------------------------------------------------
Thu Mar 25 16:38:00 UTC 2021 - Nathan Cutler <ncutler@suse.com>
- Update to 16.1.0-1216-gbaca20b112:
+ spec: prepare openSUSE usrmerge (boo#1029961)
-------------------------------------------------------------------
Thu Mar 25 11:15:20 UTC 2021 - Nathan Cutler <ncutler@suse.com>
- Update to 16.1.0-1215-gd99465b6ba
+ rebase on top of upstream commit 3eb70cf622aace689e45749e8a92fce033d3d55c
(tip of "pacific" branch)
* introduce libnpmem and libpmemobj dependencies to for RBD_RWL and
RBD_SSD_CACHE features backed by system PMDK
* introduce libcephsqlite
-------------------------------------------------------------------
Thu Mar 25 09:53:31 UTC 2021 - Nathan Cutler <ncutler@suse.com>
- Add README-packaging.txt
-------------------------------------------------------------------
Wed Jan 27 15:17:14 UTC 2021 - Nathan Cutler <ncutler@suse.com>

View File

@ -32,6 +32,14 @@
%endif
%if 0%{?fedora} || 0%{?rhel}
%bcond_without selinux
%ifarch x86_64 ppc64le
%bcond_without rbd_rwl_cache
%bcond_without rbd_ssd_cache
%global _system_pmdk 1
%else
%bcond_with rbd_rwl_cache
%bcond_with rbd_ssd_cache
%endif
%if 0%{?rhel} >= 8
%bcond_with cephfs_java
%else
@ -51,8 +59,14 @@
%bcond_with libradosstriper
%ifarch x86_64 aarch64 ppc64le
%bcond_without lttng
%global _system_pmdk 1
%bcond_without rbd_rwl_cache
%bcond_without rbd_ssd_cache
%else
%bcond_with lttng
%global _system_pmdk 0
%bcond_with rbd_rwl_cache
%bcond_with rbd_ssd_cache
%endif
%bcond_with ocf
%bcond_with selinux
@ -109,7 +123,7 @@
# main package definition
#################################################################################
Name: ceph
Version: 16.1.0.46+g571704f730
Version: 16.1.0.1217+g8e1da7347e
Release: 0%{?dist}
%if 0%{?fedora} || 0%{?rhel}
Epoch: 2
@ -125,7 +139,7 @@ License: LGPL-2.1 and LGPL-3.0 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-
Group: System/Filesystems
%endif
URL: http://ceph.com/
Source0: %{?_remote_tarball_prefix}ceph-16.1.0-46-g571704f730.tar.bz2
Source0: %{?_remote_tarball_prefix}ceph-16.1.0-1217-g8e1da7347e.tar.bz2
%if 0%{?suse_version}
# _insert_obs_source_lines_here
ExclusiveArch: x86_64 aarch64 ppc64le s390x
@ -178,6 +192,7 @@ BuildRequires: libtool
BuildRequires: libxml2-devel
BuildRequires: make
BuildRequires: ncurses-devel
BuildRequires: libicu-devel
BuildRequires: parted
BuildRequires: patch
BuildRequires: perl
@ -186,6 +201,7 @@ BuildRequires: procps
BuildRequires: python%{python3_pkgversion}
BuildRequires: python%{python3_pkgversion}-devel
BuildRequires: snappy-devel
BuildRequires: sqlite-devel
BuildRequires: sudo
BuildRequires: pkgconfig(udev)
BuildRequires: util-linux
@ -233,6 +249,10 @@ BuildRequires: nlohmann_json-devel
BuildRequires: libevent-devel
BuildRequires: yaml-cpp-devel
%endif
%if 0%{?_system_pmdk}
BuildRequires: libpmem-devel
BuildRequires: libpmemobj-devel
%endif
%if 0%{with seastar}
BuildRequires: c-ares-devel
BuildRequires: gnutls-devel
@ -421,7 +441,7 @@ BuildArch: noarch
Requires: lvm2
Requires: python%{python3_pkgversion}
%if 0%{?weak_deps}
Recommends: podman
Recommends: podman >= 2.0.2
%endif
%description -n cephadm
Utility to bootstrap a Ceph cluster and manage Ceph daemons deployed
@ -506,6 +526,7 @@ Group: System/Filesystems
%endif
Requires: ceph-base = %{_epoch_prefix}%{version}-%{release}
Requires: ceph-mgr-modules-core = %{_epoch_prefix}%{version}-%{release}
Requires: libcephsqlite = %{_epoch_prefix}%{version}-%{release}
%if 0%{?weak_deps}
Recommends: ceph-mgr-dashboard = %{_epoch_prefix}%{version}-%{release}
Recommends: ceph-mgr-diskprediction-local = %{_epoch_prefix}%{version}-%{release}
@ -716,6 +737,9 @@ Requires: librgw2 = %{_epoch_prefix}%{version}-%{release}
%if 0%{?rhel} || 0%{?fedora}
Requires: mailcap
%endif
%if 0%{?weak_deps}
Recommends: gawk
%endif
%description radosgw
RADOS is a distributed object store used by the Ceph distributed
storage system. This package provides a REST gateway to the
@ -870,6 +894,32 @@ Obsoletes: python-rados < %{_epoch_prefix}%{version}-%{release}
This package contains Python 3 libraries for interacting with Ceph RADOS
object store.
%package -n libcephsqlite
Summary: SQLite3 VFS for Ceph
%if 0%{?suse_version}
Group: System/Libraries
%endif
Requires: librados2 = %{_epoch_prefix}%{version}-%{release}
%description -n libcephsqlite
A SQLite3 VFS for storing and manipulating databases stored on Ceph's RADOS
distributed object store.
%package -n libcephsqlite-devel
Summary: SQLite3 VFS for Ceph headers
%if 0%{?suse_version}
Group: Development/Libraries/C and C++
%endif
Requires: sqlite-devel
Requires: libcephsqlite = %{_epoch_prefix}%{version}-%{release}
Requires: librados-devel = %{_epoch_prefix}%{version}-%{release}
Requires: libradospp-devel = %{_epoch_prefix}%{version}-%{release}
Obsoletes: ceph-devel < %{_epoch_prefix}%{version}-%{release}
Provides: libcephsqlite-devel = %{_epoch_prefix}%{version}-%{release}
Obsoletes: libcephsqlite-devel < %{_epoch_prefix}%{version}-%{release}
%description -n libcephsqlite-devel
A SQLite3 VFS for storing and manipulating databases stored on Ceph's RADOS
distributed object store.
%if 0%{with libradosstriper}
%package -n libradosstriper1
Summary: RADOS striping interface
@ -1152,7 +1202,7 @@ This package provides Ceph default alerts for Prometheus.
# common
#################################################################################
%prep
%autosetup -p1 -n ceph-16.1.0-46-g571704f730
%autosetup -p1 -n ceph-16.1.0-1217-g8e1da7347e
%build
# LTO can be enabled as soon as the following GCC bug is fixed:
@ -1268,13 +1318,22 @@ ${CMAKE} .. \
-DWITH_RADOSGW_KAFKA_ENDPOINT=OFF \
%endif
%if 0%{without lua_packages}
-DWITH_RADOSGW_LUA_PACKAGES=OFF
-DWITH_RADOSGW_LUA_PACKAGES=OFF \
%endif
%if 0%{with zbd}
-DWITH_ZBD=ON \
%endif
%if 0%{with cmake_verbose_logging}
-DCMAKE_VERBOSE_MAKEFILE=ON \
%endif
%if 0%{with rbd_rwl_cache}
-DWITH_RBD_RWL=ON \
%endif
%if 0%{with rbd_ssd_cache}
-DWITH_RBD_SSD_CACHE=ON \
%endif
%if 0%{?_system_pmdk}
-DWITH_SYSTEM_PMDK:BOOL=ON \
%endif
-DBOOST_J=$CEPH_SMP_NCPUS \
-DWITH_GRAFANA=ON
@ -1332,7 +1391,7 @@ touch %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys
chmod 0600 %{buildroot}%{_sharedstatedir}/cephadm/.ssh/authorized_keys
# firewall templates and /sbin/mount.ceph symlink
%if 0%{?suse_version}
%if 0%{?suse_version} && !0%{?usrmerged}
mkdir -p %{buildroot}/sbin
ln -sf %{_sbindir}/mount.ceph %{buildroot}/sbin/mount.ceph
%endif
@ -1508,7 +1567,7 @@ exit 0
%{_bindir}/rbd-replay-many
%{_bindir}/rbdmap
%{_sbindir}/mount.ceph
%if 0%{?suse_version}
%if 0%{?suse_version} && !0%{?usrmerged}
/sbin/mount.ceph
%endif
%if %{with lttng}
@ -1708,6 +1767,7 @@ fi
%{_datadir}/ceph/mgr/iostat
%{_datadir}/ceph/mgr/localpool
%{_datadir}/ceph/mgr/mds_autoscaler
%{_datadir}/ceph/mgr/mirroring
%{_datadir}/ceph/mgr/orchestrator
%{_datadir}/ceph/mgr/osd_perf_query
%{_datadir}/ceph/mgr/osd_support
@ -1956,6 +2016,8 @@ fi
%{_bindir}/radosgw-token
%{_bindir}/radosgw-es
%{_bindir}/radosgw-object-expirer
%{_bindir}/rgw-gap-list
%{_bindir}/rgw-gap-list-comparator
%{_bindir}/rgw-orphan-list
%{_libdir}/libradosgw.so*
%{_mandir}/man8/radosgw.8*
@ -2116,6 +2178,16 @@ fi
%{python3_sitearch}/rados.cpython*.so
%{python3_sitearch}/rados-*.egg-info
%files -n libcephsqlite
%{_libdir}/libcephsqlite.so
%post -n libcephsqlite -p /sbin/ldconfig
%postun -n libcephsqlite -p /sbin/ldconfig
%files -n libcephsqlite-devel
%{_includedir}/libcephsqlite.h
%if 0%{with libradosstriper}
%files -n libradosstriper1
%{_libdir}/libradosstriper.so.*

View File

@ -286,8 +286,10 @@ desc=`get_package_description $SPEC_FILE $PACKAGE`
reqs=`get_package_requires $SPEC_FILE $PACKAGE`
sed -i -e 's/%bcond_without ceph_test_package/%bcond_with ceph_test_package/' $SPEC_FILE
transform_spec_file $SPEC_FILE $PACKAGE "$rm_files" "$summ" "$desc" "$reqs" > $PACKAGE.spec
insert_line_before "${PACKAGE}.spec" "Source99: ceph-rpmlintrc" "_insert_obs_source_lines_here"
insert_line_before "${PACKAGE}.spec" "Source98: README-ceph-test.txt" "^Source99:"
insert_line_before "${PACKAGE}.spec" "Source97: README-checkin.txt" "^Source98:"
insert_line_before "${PACKAGE}.spec" "Source96: checkin.sh" "^Source97:"
insert_line_before "$PACKAGE.spec" "Source99: README-packaging.txt" "_insert_obs_source_lines_here"
insert_line_before "$PACKAGE.spec" "Source98: README-checkin.txt" "^Source99:"
insert_line_before "$PACKAGE.spec" "Source97: README-ceph-test.txt" "^Source98:"
insert_line_before "$PACKAGE.spec" "Source96: pre_checkin.sh" "^Source97:"
insert_line_before "$PACKAGE.spec" "Source95: checkin.sh" "^Source96:"
insert_line_before "$PACKAGE.spec" "Source94: ceph-rpmlintrc" "^Source95:"
copy_changes_file $PACKAGE