SHA256
1
0
forked from pool/ceph

Accepting request 478533 from filesystems:ceph

1

OBS-URL: https://build.opensuse.org/request/show/478533
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/ceph?expand=0&rev=8
This commit is contained in:
Dominique Leuenberger 2017-03-13 14:31:02 +00:00 committed by Git OBS Bridge
commit a0438e5b1c
10 changed files with 1142 additions and 150 deletions

View File

@ -1,13 +1,13 @@
<services> <services>
<service name="tar_scm" mode="disabled"> <service name="tar_scm" mode="disabled">
<param name="versionformat">11.0.0+git.%ct.%h</param> <param name="versionformat">12.0.0+git.%ct.%h</param>
<param name="url">git://github.com/SUSE/ceph.git</param> <param name="url">git://github.com/SUSE/ceph.git</param>
<param name="revision">ses5</param> <param name="revision">ses5</param>
<param name="filename">ceph</param> <param name="filename">ceph</param>
<param name="scm">git</param> <param name="scm">git</param>
<param name="package-meta">no</param> <param name="package-meta">no</param>
<param name="changesgenerate">enable</param> <param name="changesgenerate">enable</param>
<param name="commandtorun">sh ../../../ceph_ver_hack.sh</param> <param name="commandtorun">sh etc/ceph_ver_hack.sh</param>
</service> </service>
<service name="extract_ceph_spec" mode="disabled" /> <service name="extract_ceph_spec" mode="disabled" />
<service name="recompress" mode="disabled"> <service name="recompress" mode="disabled">

View File

@ -1,4 +1,4 @@
<servicedata> <servicedata>
<service name="tar_scm"> <service name="tar_scm">
<param name="url">git://github.com/SUSE/ceph.git</param> <param name="url">git://github.com/SUSE/ceph.git</param>
<param name="changesrevision">a17726c4326ee895bf40686e3340c04c6963c153</param></service></servicedata> <param name="changesrevision">410e200be5f33c0f2079a3ad1c0cbc2464236e53</param></service></servicedata>

View File

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

View File

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

View File

@ -1,3 +1,385 @@
-------------------------------------------------------------------
Fri Mar 10 15:55:53 UTC 2017 - ncutler@suse.com
- Update to version 12.0.0+git.1489159457.410e200:
+ build/ops: fix Group strings for library packages
-------------------------------------------------------------------
Fri Mar 3 15:32:06 UTC 2017 - ncutler@suse.com
- Update to version 12.0.0+git.1488553020.e902441:
+ Recent upstream master (3c0af07629dc661aba84e2fef696339ac7171914)
+ Builds with GCC7 (boo#1025891)
-------------------------------------------------------------------
Wed Feb 08 21:28:28 UTC 2017 - ncutler@suse.com
- Update to version 11.1.0+git.1486588482.ba197ae:
+ Update to latest upstream master (3d740bd)
+ cmake: added empty RPATH to several executables
+ rocksdb: sync with upstream
-------------------------------------------------------------------
Fri Jan 20 14:00:36 UTC 2017 - ncutler@suse.com
- Update to version 11.1.0+git.1484919552.9216e9a:
+ Revert "rpm: put distro conditionals around Source0 in spec file"
+ Revert "ceph.spec.in: revert Source0 line to upstream version"
-------------------------------------------------------------------
Fri Jan 20 10:18:44 UTC 2017 - ncutler@suse.com
- pre_checkin.sh: add logic to remove s390 architectures from ExclusiveArch
line in ceph-test.spec (rationale: ceph-test is not shipped for s390x)
-------------------------------------------------------------------
Fri Jan 20 10:06:54 UTC 2017 - ncutler@suse.com
- Update to version 11.1.0+git.1484745543.7b08de5:
+ Update to latest upstream master (36874c8) - significant changes:
* cmake: Turn libcommon into a shared library (PR#12840)
* cmake: fix rpath on shared libraries and executables (PR#12927)
+ Fix build failure in ppc64le and s390x, caused by missing
"-momit-leaf-frame-pointer" gcc option in these architectures:
+ rocksdb: build with ppc64 (PR#12908)
-------------------------------------------------------------------
Tue Jan 17 14:14:45 UTC 2017 - ncutler@suse.com
- Update to version 11.1.0+git.1484659687.3472421:
+ rpm: tell openSUSE to never clean the spec file
+ Enable ppc64le and s390x builds in SLE
+ rpm: lttng only on x86_64 and aarch64
-------------------------------------------------------------------
Thu Jan 05 10:43:34 UTC 2017 - jfajerski@suse.com
- Update to version 11.1.0+git.1483528076.d86680e (latest master)
+ Merge branch 'master' into ses5 (Merge: 185bcce798 a7b78620f0) with conflicts:
conflicts in qa/ where resolved with theirs
conflict in src/osd/PrimaryLogPG.cc was resolved with picking ours plus a method rename
int ReplicatedPG::do_extent_cmp -> int PrimaryLogPG::do_extent_cmp
-------------------------------------------------------------------
Tue Dec 13 21:21:41 UTC 2016 - ncutler@suse.com
- Update to version 11.1.0+git.1481663255.bf42706:
+ Update to upstream 11.1.0 release; for details see
http://docs.ceph.com/docs/master/release-notes/#v11-1-0-release-candidate
+ move ceph_ver_hack.sh script from build service package to git repo
(bsc#1015419)
-------------------------------------------------------------------
Tue Nov 29 20:39:16 UTC 2016 - ncutler@suse.com
- Update to version 11.0.2+git.1480437645.66595d3
+ Update to latest upstream master (boost library is now included in the
tarball, so the tarball is much larger than before and the build takes
longer to complete)
+ ceph_ver_hack_sh adaptation (upstream dropped src/make_version script)
+ rocksdb: do not build with --march=native (bsc#1012553)
-------------------------------------------------------------------
Fri Nov 25 20:42:45 UTC 2016 - ncutler@suse.com
- Update to version 11.0.2+git.1480105120.6b8e9e5:
+ Revert commit 8aee8db140bcbd1ffd2a7b571dbbade10bec9de3 because it
conflicted with upstream
+ update to latest upstream kraken (11.0.2) - for details, see
http://ceph.com/releases/kraken-11-0-2-released/
-------------------------------------------------------------------
Mon Sep 12 12:48:33 UTC 2016 - ncutler@suse.com
- Update to version 11.0.0+git.1473684054.73e4b4a:
+ safe_io: Improve portability by replacing loff_t type usage with off_t.
+ mon: remove the redundant list swap in paxos commit_proposal
+ msg/EventPoll.h: add override to virtual functions
+ msg/EventKqueue.h: add override to virtual func
+ msg/EventSelect.h: add override to virtual funct
+ ceph-disk: Compatibility fixes for Python 3
+ ceph-disk: Use true integer division in get_dev_size
+ ceph-disk: Fix bug in FileLock
+ ceph-disk: Allow ConfigObj to write in binary mode
+ ceph-disk: Use context manager with FileLock
+ ceph-disk: Use os.path.isabs instead of .startswith('/')
+ ceph-disk: Set space_symlink to the path, not file object
+ ceph-disk: PEP8ify
+ rgw: rgw file fix bug of rgw_lookup can not exact match file name
+ rgw: fix the wrong return value
+ rgw/rgw_coroutine: move WaitContext to .cc file
+ client: pass a mask parameter to path_walk
+ mds/mdstypes: add btime to inode
+ mds/Server: set btime=ctime on creation
+ mds/MDCache: set btime on system inodes
+ include/ceph_features: add FS_BTIME features
+ mds: pass btime in InodeStat MClientReply, if feature is present
+ client: keep btime in Inode and InodeStat
+ ceph: break up ll_getattr into two functions
+ client: move the device bitshift handling macros to Client.h
+ libcephfs: add a ceph_ll_getattrx and ceph_statx
+ libcephfs: add a test for "lazy" statx
+ mds/client: add btime to CapSnap and MClientCaps
+ mds/mdstypes: add change attribute to inode
+ mds/Server: set change_attr to 0 on creation
+ mds/MDCache: set change_attr to 0 on system_inodes
+ include/ceph_features: add FS_CHANGE_ATTR feature
+ mds: pass change_attr in InodeStat MClientReply, if feature is present
+ mds/client: keep change_attr in Inode, CapSnap and MClientCaps
+ mds: ensure that change_attr reflects metadata changes on clients that hold CAP_FILE_EXCL
+ mds/client: bump the change_attr at the appropriate time for files
+ libcephfs: return the change_attr in the statx.stx_version field
+ tests: add a ChangeAttr test
+ mds: make frag_info_t add_dirty() function take a pointer to touched_mtime
+ mds: add change_attr to frag_info_t
+ test: add test for change attribute of directories
+ cephfs: rename ceph_mds_request_head and _args with a _legacy postfix
+ MDS: allow the MDS to accept requests to set the btime
+ client: add the ability to set the btime
+ client: add a ceph_fstatx
+ client: extend the Btime test to cover fstatx as well
+ journal/JournalTrimmer: move C_RemoveSet struct
+ rbd_mirror/ImageSynceThrottler: move struct to .cc
+ libcephfs: add unmount function in cephfs.pyx
+ rgw: fix typo of "minite" to "minute" in rgw_lc.cc
+ rgw/rgw_lc.cc: fix sleep time according to the error message
+ crush: don't normalize input of crush_ln iteratively
+ crush: remove clutter
+ mds: remove max_mds config option
+ vstart.sh: add option to turn on multimds
+ rgw: right parenthesis is missing in radosgw-admin help message on caps
+ SQUASH: client: request AUTH caps on the directory during create if we'll need to check perms locally
+ SQUASH: Revert "mds: ensure that change_attr reflects metadata changes on clients that hold CAP_FILE_EXCL"
+ SQUASH: client: always take a change_attr update from the server if it's newer
+ SQUASH: mds/client: don't get clever with ceph_mds_request_head_legacy encode/decode
+ rgw/rgw_rados.h: remove unneeded class C_Tick
+ SQUASH: client: querying for stx_version field requires getting all shared caps
+ SQUASH: mds/client: add routines to copy to/from ceph_mds_request_head_legacy
+ client: properly set inode number of created inode in replay request
+ test/librbd/fsx: enable exclusive-lock feature in krbd mode
+ os/bluestore/BlueFS: fix async compaction txn
+ scripts/bdev_grep: parse bluefs style extents too
+ SQUASH: client: request all shared caps if ctime was requested
+ os/bluestore/BlueFS: factor unflushed log into runway calculation
+ osd/ReplicatedBackend: move classes to cc file
+ os/bluestore: honour allow-eio flag during read
+ CmakeLists.txt: use LIB_RESOLV instead of resolv.
+ osd/ReplicatedPG: move classes to .cc file
+ librbd: potential double-unwatch of watch handle upon error
+ cls/journal: add async client_update_state method
+ journal: allow to trim journal for "laggy" clients
+ librbd: optionally flag "laggy" journal clients disconnected
+ rbd: new command to disconnect journal client
+ rbd-mirror: decode_client_meta should return false on error
+ rbd-mirror: resync was possible only when image replayer start had succeeded
+ rbd-mirror: stop replay when client is disconnected
+ rbd-mirror: option to automatically resync after journal client disconnect
+ qa/workunits/cephtool/test.sh: fix omision of ceph-command
+ os/bluestore: use global compressor if possible
+ build/ops: fix /etc/os-release parsing in install-deps.sh
+ osd/OSD.cc: remove repeated searching of map
+ test/cephfs: add mount&&unmount test
+ mds: s/used_ions/used_inos/
+ Add dependencies from ceph_smalliobenchrbd on cls_rbd, cls_journal, and cls_lock.
+ ceph_test_objectstore: add SyntheticMatrixSharding
+ ceph_test_objectstore: occasional umount/fsck/mount
+ ceph_test_objectstore: test shards for longer
+ crush/CrushCompiler.cc:884 bug fix: index out of range
+ Makfile: Fix rocksdb error when make dist
+ src/CMakeLists.txt: exclude parts not buildable on FreeBSD
+ src/pybind/CMakeLists.txt: conditionaly build cython tools
+ src/tools/CMakeLists.txt: conditionaly build ceph-client-debug
+ src/test/objectstore/CMakeLists.txt: conditionaly build tests
+ mds: trim null dentries proactively
+ cmake: include(SIMDExt) in src/CMakeLists.txt
+ mds: log path with CDir damage messages
+ hint in extent_alloc code
+ remove wrap argument and handle in wrappers
+ Hint argument in alloc_blocks + test case changes
+ os/bluestore: shard extent map
+ os/bluestore: make nid and blobid allocation less racy
+ os/bluestore: optimize compress_extent_map
+ os/bluestore: fix fsck used_block bitmap
+ os/bluestore: use block_size for allocator unit
+ os/bluestore: make blob_t unused helpers use logical length
+ os/bluestore: instrument big/small writes
+ os/bluestore: instrument transaction count
+ os/bluestore: instrument onode reshard events
+ os/bluestore: dump some stats after fsck
+ os/bluestore: assert shared blob cache cleared on split
+ remove autotools
+ test/objectstore/CMakeLists.txt: fix libaio conditional
+ buffer: clear append_buffer on clear()
+ os/bluestore: tunable prealloc size for ExtentMap inline_bl
+ os/bluestore: don't dirty onode if its size is already at desired offset
+ os/bluestore: remove never reachable asserts
+ os/bluestore: drop unnecessary separator between fields
+ os/bluestore: fix key+name sort wonkiness
+ os/bluestore: encode shard id in single byte
+ os/bluestore: small put_ref cleanup
+ os/bluestore: remove faulted debug hackery
+ os/bluestore: bits for unit tests
+ unittest_bluestore_types: resurrect blob and extent_map unit tests
+ os/bluestore/BlueFS: do not start racing async compaction
+ os/bluestore/BlueFS: fix Dir memory leak
+ buffer: implement buffer::list::reserve(n)
+ os/bluestore: do not waste memory on cached encoded blobs
+ qa/workunits/objectstore: fix test_fuse.sh
+ os/FuseStore: only flush if dirty
+ build: drop dryrun of autogen.sh from run-cmake-check.sh script
+ os/bluestore/BlueFS: For logs of rocksdb & bluefs only use directio.
+ os/bluestore: remove some copy-pastes
+ cmake: make py3 a nice-to-have
+ os/bluestore/BlueFS: only extend extent on same bdev
+ msg/AsyncConnection: add const to mem functions
+ msg/AsyncMessenger: add const to function
+ client/barrier: move C_Block_Sync class to .cc
+ osd/OSD.cc: remove unneeded searching of map
+ Set ARM_CRC_FLAGS from the CRC test rather than ARM_NEON_FLAGS
+ rpm: Moved ceph-client-debug from ceph-base to ceph-test package
+ rpm: Renamed bcond tests flag to make_check
+ rbd-nbd: fix kernel deadlock during teuthology testing
+ rbd-nbd: mask out-of-bounds IO errors caused by image shrink
+ librbd: invalidate cache before trimming image
+ librbd: ignore cache busy errors when shrinking an image
+ librbd: potential seg fault when blacklisting an image client
+ cmake: Use WITH_TESTS flag to guard the build of ceph-test scripts/binaries
+ rpm: Added ceph_test_package bcond flag to control the build of ceph-test package
+ deb: Moved ceph-client-debug from ceph-base to ceph-test package
+ ceph-objectstore-tool: add a way to split filestore directories offline
+ install-deps: exit non-zero when we cannot match distro
+ librbd: possible deadlock if cluster connection closed after image
+ osd/ReplicatedPG: remove class redeclaration
+ librbd: ignore partial refresh error when acquiring exclusive lock
+ osd/OSD.cc: remove unneeded returns
-------------------------------------------------------------------
Fri Sep 09 12:53:16 UTC 2016 - ncutler@suse.com
- Update to version 11.0.0+git.1473424516.3b8b524:
+ Revert "ceph_disk.main: s/get_dev_size/get_free_partition_size/"
+ Revert "ceph_disk tests/test_prepare: s/get_dev_size/get_free_partition_size/"
+ Revert "ceph_disk tests/test_get_free_partition_size: New unit tests"
+ Revert "ceph_disk tox.ini: add tests/test_get_free_partition_size.py"
+ rpm: put distro conditionals around Source0 in spec file
-------------------------------------------------------------------
Fri Sep 09 10:59:53 UTC 2016 - ncutler@suse.com
- Update to version 11.0.0+git.1473418476.095f67c:
+ ceph.spec.in: revert Source0 line to upstream version
+ ceph.spec.in: conditionalize %prep command
-------------------------------------------------------------------
Fri Sep 09 08:16:40 UTC 2016 - ncutler@suse.com
- ceph.spec.in: enable cephfs_java build unconditionally
- new (merged) commits from upstream master branch:
+ mailmap updates
+ rgw: fix the handling of rgw_swift_url_prefix.
+ rgw: ONLY improve code formatting around RGWRESTMgr.
+ rgw: add support for the crossdomain.xml resource of Swift API.
+ rgw: add support for the healthcheck feature of Swift API.
+ swift /info implementation.
+ rgw: settle /info implementation across other swift-at-root features.
+ compressor: isa-l extension for zlib plugin Signed-off-by: Alyona Kiseleva <akiselyova@mirantis.com>
+ mon: tear down standby replays on MDS rank stop
+ mon/MDSMonitor: move C_Updated class to .cc file
+ rgw_file: fix/update rgw_open flag arguments
+ rgw_file: fix/update rgw_create flag arguments
+ doc: remove btrfs contradiction
+ msg: make async backend default
+ msg/simple: wait dispatch_queue until all pipes closed
+ rgw_file: implement stateless write completion timer
+ rgw_file: add RGW_OPEN_FLAG_STATELESS as a synonym for V3
+ rgw_file: log on write completion events at level 10
+ rgw file: allow RGWLibFS::write_completion_interval_s to be set in conf
+ osdc/ObjectCacher: move C_ReadFinish, C_RetryRead
+ osdc/Journaler: move C_DelayFlush class to .cc
+ rgw: fix RGWAccessControlPolicy_SWIFT::create return value check error
+ librgw: add API version defines for librgw and rgw_file
+ make-dist/ceph.spec.in: Fix srpm build breakage.
+ ceph_timer: prefer using directive to typedef
+ rgw_file: explain semantics of RGWFileHandle::commit
+ compressor: Better arch ifdefs for isal code
+ mds/MDSTable: add const to member functions
+ os/bluestore: fix some #includes
+ vstart.sh: -b for bluestore
+ os/bluestore/bluestore_types: make blob_t get_chunk_size const
+ os/bluestore: use Blob const and non-const accessors
+ os/bluestore: avoid reencoding unchanged blobs
+ os/bluestore: decode blobs on demand
+ mds/SnapRealm.h: add const to member functions
+ os/bluestore/bluefs: avoid check "locked" field for newly created file
+ os/bluestore/bluefs: check against locked field during unlink
+ os/bluestore/bluefs: assert refs of file don't underflow
+ os/kstore: kill dead code
+ rgw: remove duplicated calls to getattr
+ debian: should dh_python3 python3-* not python-*
+ pybind: silence -Wsign-compare warning
+ test/ceph_test_msgr: fix -Wsign-compare warnings
+ test/unittest_alloc: fix -Wsign-compare warnings
+ librbd: API methods to directly acquire and release the exclusive lock
+ doc: add graphic for cap bit field
+ mds/MDCache.h: remove unneeded access specifier
+ librbd: skeleton implementation of client-side image cache
+ librbd: blocking parent IO completion no longer required
+ librbd: remove use of owner_lock on IO path
+ Revert "osdc: ObjectCacher flusher might needs additional locks"
+ librbd: support bufferlist payload for AioImageWrite
+ librbd: add internal support for scatter/gather IO
+ librbd: initial integration of ImageWriteback to AioImageRequest
+ librbd: consolidate IO clipping to reusable method
+ librbd: differentiate between image and object cache
+ librbd: C_ImageCacheRead bridge from Context to AioCompletion
+ librbd: integrate image cache hooks into IO path
+ common/Throttle.h: remove unneeded class
+ cmake: fix the tracing header dependencies
+ src/test/bench/CMakeLists.txt: RBD exclude
+ src/CMakeLists.txt: RBD|KVS|FUSE exclude
+ src/librbd/CMakeLists.txt: krbd and secret.c are LINUX dependant
+ src/os/CMakeLists.txt: AIO|FUSE exclude
+ src/test/CMakeLists.txt: RADOSGW|RBD exclude
+ src/test/common/CMakeLists.txt: BLKID exclude
+ install-deps.sh: initial distro detection based on /etc/os-release
+ ceph_test_objectstore: fix ObjectStore/StoreTest.BluestoreStatFSTest/2 on ssd
+ ceph_test_objectstore: disable statfs checks on available space
+ messages/MOSDMap: mark as enlighten OSDMap encoder
+ cmake: remove unused librados_api target
+ cmake: replace Findlttng-ust.cmake with FindLTTngUST.cmake
+ cmake: let librados_api_obj depend on librados-tp
+ os/bluestore: yet another statfs test fix
+ Revert "osd/ReplicatedPG: for sync-read it don't cacl l_osd_op_r_prepare_lat."
+ doc/release-notes: v0.94.9
+ os/bluestore/bluefs: use map to track dirty files
+ os/bluestore/bluefs: update mtime of inode in unified path
+ os/bluestore/bluefs: drop redundant eof check for read_random()
+ os/CMakeLists.txt: undubble kv.cc usage.
+ test,pybind: silence -Wsign-compare warnings
+ test/perf_local: fix -Wmaybe-uninitialized warnings
+ os/bluestore: get rid off "isa-l" type in ZLibCompressor ctor
+ Allow compressor build without YASM
+ script/bdev_grep: update to use hex
+ os/bluestore: improve failed csum debug output
+ librbd: improve image state machine debug log messages
+ librbd: deadlock when replaying journal during image open
+ os/bluestore: end scope of std::hex properly
+ os/bluestore: don't over-gift if bluefs free is smaller than bluestore_bluefs_min
+ os/bluestore: use _setattr for SETATTR
+ os/bluestore: make object existence check robust
+ ceph_test_objectstore: assert umount succeeds
+ ceph_test_objectstore: clean up Rename test a bit
+ ceph_test_objectstore: fix TryMoveRename test
+ os/bluestore: add onode/buffer cache statistics
+ os/bluestore: end scope of std::hex properly
+ cmake: pass -DINTEL* to gf-complete cflags
+ os/bluestore: conditional checking label of bluefs devices
+ src/CMakeLists.txt: -Woverloaded-virtual is already included in -Wall on Clang
+ os/bluestore: don't overwrite type if it does already exist and at desired type
+ os/bluestore: trivial cleanups
+ os/bluestore: replace store with logger in Cache
+ os/bluestore: check iterator before using during fsck
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Aug 29 07:24:44 UTC 2016 - ncutler@suse.com Mon Aug 29 07:24:44 UTC 2016 - ncutler@suse.com

View File

@ -13,6 +13,7 @@
# #
# Please submit bugfixes or comments via http://tracker.ceph.com/ # Please submit bugfixes or comments via http://tracker.ceph.com/
# #
%bcond_with cephfs_java
%if 0%{?suse_version} %if 0%{?suse_version}
%bcond_without ceph_test_package %bcond_without ceph_test_package
%else %else
@ -26,15 +27,13 @@
# no gperftools/tcmalloc on s390(x) # no gperftools/tcmalloc on s390(x)
%bcond_with tcmalloc %bcond_with tcmalloc
%endif %endif
%bcond_with lowmem_builder %bcond_without lowmem_builder
%bcond_with minimal_debugging_information %bcond_with minimal_debugging_information
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%bcond_without cephfs_java
%bcond_with ocf %bcond_with ocf
%bcond_without selinux %bcond_without selinux
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%bcond_with cephfs_java
%bcond_without ocf %bcond_without ocf
%if %{with ocf} %if %{with ocf}
%global _with_ocf --with-ocf %global _with_ocf --with-ocf
@ -45,9 +44,11 @@
# LTTng-UST enabled on Fedora, RHEL 6+, and SLE (not openSUSE) # LTTng-UST enabled on Fedora, RHEL 6+, and SLE (not openSUSE)
%if 0%{?fedora} || 0%{?rhel} >= 6 || 0%{?suse_version} %if 0%{?fedora} || 0%{?rhel} >= 6 || 0%{?suse_version}
%if ! 0%{?is_opensuse} %if ! 0%{?is_opensuse}
%ifarch x86_64 aarch64
%bcond_without lttng %bcond_without lttng
%endif %endif
%endif %endif
%endif
%if %{with selinux} %if %{with selinux}
# get selinux policy version # get selinux policy version
@ -66,7 +67,7 @@
# common # common
################################################################################# #################################################################################
Name: ceph-test Name: ceph-test
Version: 11.0.0+git.1472455009.a17726c Version: 12.0.0+git.1489159457.410e200
Release: 0 Release: 0
Summary: Ceph benchmarks and test tools Summary: Ceph benchmarks and test tools
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
@ -75,7 +76,6 @@ Group: System/Filesystems
%endif %endif
URL: http://ceph.com/ URL: http://ceph.com/
Source0: ceph-%{version}.tar.bz2 Source0: ceph-%{version}.tar.bz2
Source97: ceph_ver_hack.sh
Source98: README-ceph-test.txt Source98: README-ceph-test.txt
Source99: ceph-rpmlintrc Source99: ceph-rpmlintrc
# _insert_obs_source_lines_here # _insert_obs_source_lines_here
@ -83,7 +83,7 @@ Source99: ceph-rpmlintrc
%if 0%{?is_opensuse} %if 0%{?is_opensuse}
ExclusiveArch: x86_64 aarch64 ppc64 ppc64le ExclusiveArch: x86_64 aarch64 ppc64 ppc64le
%else %else
ExclusiveArch: x86_64 aarch64 ExclusiveArch: x86_64 aarch64 ppc64le
%endif %endif
%endif %endif
################################################################################# #################################################################################
@ -92,6 +92,7 @@ ExclusiveArch: x86_64 aarch64
Requires: ceph-common Requires: ceph-common
Requires: xmlstarlet Requires: xmlstarlet
Requires(post): binutils Requires(post): binutils
@ -104,7 +105,7 @@ BuildRequires: checkpolicy
BuildRequires: selinux-policy-devel BuildRequires: selinux-policy-devel
BuildRequires: /usr/share/selinux/devel/policyhelp BuildRequires: /usr/share/selinux/devel/policyhelp
%endif %endif
BuildRequires: boost-devel BuildRequires: bc
BuildRequires: cmake BuildRequires: cmake
BuildRequires: cryptsetup BuildRequires: cryptsetup
BuildRequires: fuse-devel BuildRequires: fuse-devel
@ -113,7 +114,6 @@ BuildRequires: gdbm
%if 0%{with tcmalloc} %if 0%{with tcmalloc}
BuildRequires: gperftools-devel BuildRequires: gperftools-devel
%endif %endif
BuildRequires: hdparm
BuildRequires: jq BuildRequires: jq
BuildRequires: leveldb-devel > 1.2 BuildRequires: leveldb-devel > 1.2
BuildRequires: libaio-devel BuildRequires: libaio-devel
@ -218,46 +218,125 @@ This package contains Ceph benchmarks and test tools.
################################################################################# #################################################################################
# packages # packages
################################################################################# #################################################################################
%if 0%{?suse_version}
%endif
%if 0%{with selinux} %if 0%{with selinux}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{with xio} %if 0%{with xio}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?suse_version}
%endif
%if 0%{with xio} %if 0%{with xio}
%endif %endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{with selinux} %if 0%{with selinux}
%endif %endif
%if 0%{?rhel} || 0%{?fedora} %if 0%{?rhel} || 0%{?fedora}
%endif %endif
%if %{with ocf} %if %{with ocf}
%if 0%{?suse_version}
%endif
%endif
%if 0%{?suse_version}
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?rhel} || 0%{?fedora} %if 0%{?suse_version}
%endif %endif
%if 0%{?rhel} || 0%{?fedora} %if 0%{?rhel} || 0%{?fedora}
%endif %endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?rhel} || 0%{?fedora} %if 0%{?rhel} || 0%{?fedora}
%endif %endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?rhel} || 0%{?fedora}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{with ceph_test_package} %if 0%{with ceph_test_package}
%if 0%{?suse_version}
%endif
%endif %endif
%if 0%{with cephfs_java} %if 0%{with cephfs_java}
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?suse_version}
%endif
%endif %endif
%if 0%{with selinux} %if 0%{with selinux}
%if 0%{?suse_version}
%endif
%endif
%if 0%{?suse_version}
%endif %endif
%prep %prep
%if 0%{?rhel}
%autosetup -p1 -n @TARBALL_BASENAME@
%endif
%if ! 0%{?rhel}
%autosetup -p1 -n ceph-%version %autosetup -p1 -n ceph-%version
%endif
%build %build
%if 0%{with cephfs_java} %if 0%{with cephfs_java}
@ -279,6 +358,8 @@ export CPPFLAGS="$java_inc"
export CFLAGS="$RPM_OPT_FLAGS" export CFLAGS="$RPM_OPT_FLAGS"
export CXXFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$RPM_OPT_FLAGS"
env | sort
mkdir build mkdir build
cd build cd build
cmake .. \ cmake .. \
@ -289,7 +370,9 @@ cmake .. \
-DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} \ -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} \
-DCMAKE_INSTALL_MANDIR=%{_mandir} \ -DCMAKE_INSTALL_MANDIR=%{_mandir} \
-DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \ -DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \
-DWITH_EMBEDDED=OFF \
-DWITH_MANPAGE=ON \ -DWITH_MANPAGE=ON \
-DWITH_PYTHON3=ON \
-DWITH_SYSTEMD=ON \ -DWITH_SYSTEMD=ON \
%if 0%{?rhel} && ! 0%{?centos} %if 0%{?rhel} && ! 0%{?centos}
-DWITH_SUBMAN=ON \ -DWITH_SUBMAN=ON \
@ -364,7 +447,7 @@ make DESTDIR=%{buildroot} install
# we have dropped sysvinit bits # we have dropped sysvinit bits
rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph
popd popd
install -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap install -m 0644 -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph
%endif %endif
@ -400,6 +483,7 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/tmp
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mon mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mon
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/osd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/osd
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mds
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mgr
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/radosgw mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/radosgw
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-osd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-osd
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mds
@ -418,7 +502,6 @@ rm -rf %{buildroot}%{_bindir}/osdmaptool
rm -rf %{buildroot}%{_bindir}/ceph-run rm -rf %{buildroot}%{_bindir}/ceph-run
rm -rf %{buildroot}%{_bindir}/ceph-dencoder rm -rf %{buildroot}%{_bindir}/ceph-dencoder
rm -rf %{buildroot}%{_bindir}/ceph-detect-init rm -rf %{buildroot}%{_bindir}/ceph-detect-init
rm -rf %{buildroot}%{_unitdir}/ceph-create-keys@.service
rm -rf %{buildroot}%{_bindir}/cephfs-data-scan rm -rf %{buildroot}%{_bindir}/cephfs-data-scan
rm -rf %{buildroot}%{_bindir}/cephfs-journal-tool rm -rf %{buildroot}%{_bindir}/cephfs-journal-tool
rm -rf %{buildroot}%{_bindir}/cephfs-table-tool rm -rf %{buildroot}%{_bindir}/cephfs-table-tool
@ -492,6 +575,10 @@ rm -rf %{buildroot}%{_bindir}/ceph-mds
rm -rf %{buildroot}%{_mandir}/man8/ceph-mds.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-mds.8*
rm -rf %{buildroot}%{_unitdir}/ceph-mds@.service rm -rf %{buildroot}%{_unitdir}/ceph-mds@.service
rm -rf %{buildroot}%{_unitdir}/ceph-mds.target rm -rf %{buildroot}%{_unitdir}/ceph-mds.target
rm -rf %{buildroot}%{_bindir}/ceph-mgr
rm -rf %{buildroot}%{_libdir}/ceph/mgr
rm -rf %{buildroot}%{_unitdir}/ceph-mgr@.service
rm -rf %{buildroot}%{_unitdir}/ceph-mgr.target
rm -rf %{buildroot}%{_bindir}/ceph-mon rm -rf %{buildroot}%{_bindir}/ceph-mon
rm -rf %{buildroot}%{_bindir}/ceph-rest-api rm -rf %{buildroot}%{_bindir}/ceph-rest-api
rm -rf %{buildroot}%{_mandir}/man8/ceph-mon.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-mon.8*
@ -502,6 +589,8 @@ rm -rf %{buildroot}%{_unitdir}/ceph-mon.target
rm -rf %{buildroot}%{_bindir}/ceph-fuse rm -rf %{buildroot}%{_bindir}/ceph-fuse
rm -rf %{buildroot}%{_mandir}/man8/ceph-fuse.8* rm -rf %{buildroot}%{_mandir}/man8/ceph-fuse.8*
rm -rf %{buildroot}%{_sbindir}/mount.fuse.ceph rm -rf %{buildroot}%{_sbindir}/mount.fuse.ceph
rm -rf %{buildroot}%{_unitdir}/ceph-fuse@.service
rm -rf %{buildroot}%{_unitdir}/ceph-fuse.target
rm -rf %{buildroot}%{_bindir}/rbd-fuse rm -rf %{buildroot}%{_bindir}/rbd-fuse
rm -rf %{buildroot}%{_mandir}/man8/rbd-fuse.8* rm -rf %{buildroot}%{_mandir}/man8/rbd-fuse.8*
rm -rf %{buildroot}%{_bindir}/rbd-mirror rm -rf %{buildroot}%{_bindir}/rbd-mirror
@ -537,11 +626,13 @@ rm -rf %{buildroot}%{_unitdir}/ceph-osd.target
rm -rf %{buildroot}%{_unitdir}/ceph-disk@.service rm -rf %{buildroot}%{_unitdir}/ceph-disk@.service
rm -rf %{buildroot}%{_prefix}/lib/ocf/resource.d/ceph/rbd rm -rf %{buildroot}%{_prefix}/lib/ocf/resource.d/ceph/rbd
rm -rf %{buildroot}%{_libdir}/librados.so.* rm -rf %{buildroot}%{_libdir}/librados.so.*
rm -rf %{buildroot}%{_libdir}/ceph/libceph-common.so*
rm -rf %{buildroot}%{_libdir}/librados_tp.so.* rm -rf %{buildroot}%{_libdir}/librados_tp.so.*
rm -rf %{buildroot}%{_includedir}/rados/librados.h rm -rf %{buildroot}%{_includedir}/rados/librados.h
rm -rf %{buildroot}%{_includedir}/rados/librados.hpp rm -rf %{buildroot}%{_includedir}/rados/librados.hpp
rm -rf %{buildroot}%{_includedir}/rados/buffer.h rm -rf %{buildroot}%{_includedir}/rados/buffer.h
rm -rf %{buildroot}%{_includedir}/rados/buffer_fwd.h rm -rf %{buildroot}%{_includedir}/rados/buffer_fwd.h
rm -rf %{buildroot}%{_includedir}/rados/inline_memory.h
rm -rf %{buildroot}%{_includedir}/rados/page.h rm -rf %{buildroot}%{_includedir}/rados/page.h
rm -rf %{buildroot}%{_includedir}/rados/crc32c.h rm -rf %{buildroot}%{_includedir}/rados/crc32c.h
rm -rf %{buildroot}%{_includedir}/rados/rados_types.h rm -rf %{buildroot}%{_includedir}/rados/rados_types.h
@ -570,12 +661,17 @@ rm -rf %{buildroot}%{_libdir}/librgw.so.*
rm -rf %{buildroot}%{_includedir}/rados/librgw.h rm -rf %{buildroot}%{_includedir}/rados/librgw.h
rm -rf %{buildroot}%{_includedir}/rados/rgw_file.h rm -rf %{buildroot}%{_includedir}/rados/rgw_file.h
rm -rf %{buildroot}%{_libdir}/librgw.so rm -rf %{buildroot}%{_libdir}/librgw.so
rm -rf %{buildroot}%{python_sitearch}/rgw.so
rm -rf %{buildroot}%{python_sitearch}/rgw-*.egg-info
rm -rf %{buildroot}%{python3_sitearch}/rgw.cpython*.so
rm -rf %{buildroot}%{python3_sitearch}/rgw-*.egg-info
rm -rf %{buildroot}%{python_sitearch}/rbd.so rm -rf %{buildroot}%{python_sitearch}/rbd.so
rm -rf %{buildroot}%{python_sitearch}/rbd-*.egg-info rm -rf %{buildroot}%{python_sitearch}/rbd-*.egg-info
rm -rf %{buildroot}%{python3_sitearch}/rbd.cpython*.so rm -rf %{buildroot}%{python3_sitearch}/rbd.cpython*.so
rm -rf %{buildroot}%{python3_sitearch}/rbd-*.egg-info rm -rf %{buildroot}%{python3_sitearch}/rbd-*.egg-info
rm -rf %{buildroot}%{_libdir}/libcephfs.so.* rm -rf %{buildroot}%{_libdir}/libcephfs.so.*
rm -rf %{buildroot}%{_includedir}/cephfs/libcephfs.h rm -rf %{buildroot}%{_includedir}/cephfs/libcephfs.h
rm -rf %{buildroot}%{_includedir}/cephfs/ceph_statx.h
rm -rf %{buildroot}%{_libdir}/libcephfs.so rm -rf %{buildroot}%{_libdir}/libcephfs.so
rm -rf %{buildroot}%{python_sitearch}/cephfs.so rm -rf %{buildroot}%{python_sitearch}/cephfs.so
rm -rf %{buildroot}%{python_sitearch}/cephfs-*.egg-info rm -rf %{buildroot}%{python_sitearch}/cephfs-*.egg-info
@ -676,6 +772,16 @@ rm -rf %{buildroot}
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version}
%endif
%if 0%{?fedora} || 0%{?rhel}
%endif
%if 0%{?suse_version} %if 0%{?suse_version}
%endif %endif
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
@ -755,3 +861,4 @@ rm -rf %{buildroot}
%if 0%{with selinux} %if 0%{with selinux}
%endif # with selinux %endif # with selinux
%changelog %changelog
# nospeccleaner

View File

@ -1,3 +1,385 @@
-------------------------------------------------------------------
Fri Mar 10 15:55:53 UTC 2017 - ncutler@suse.com
- Update to version 12.0.0+git.1489159457.410e200:
+ build/ops: fix Group strings for library packages
-------------------------------------------------------------------
Fri Mar 3 15:32:06 UTC 2017 - ncutler@suse.com
- Update to version 12.0.0+git.1488553020.e902441:
+ Recent upstream master (3c0af07629dc661aba84e2fef696339ac7171914)
+ Builds with GCC7 (boo#1025891)
-------------------------------------------------------------------
Wed Feb 08 21:28:28 UTC 2017 - ncutler@suse.com
- Update to version 11.1.0+git.1486588482.ba197ae:
+ Update to latest upstream master (3d740bd)
+ cmake: added empty RPATH to several executables
+ rocksdb: sync with upstream
-------------------------------------------------------------------
Fri Jan 20 14:00:36 UTC 2017 - ncutler@suse.com
- Update to version 11.1.0+git.1484919552.9216e9a:
+ Revert "rpm: put distro conditionals around Source0 in spec file"
+ Revert "ceph.spec.in: revert Source0 line to upstream version"
-------------------------------------------------------------------
Fri Jan 20 10:18:44 UTC 2017 - ncutler@suse.com
- pre_checkin.sh: add logic to remove s390 architectures from ExclusiveArch
line in ceph-test.spec (rationale: ceph-test is not shipped for s390x)
-------------------------------------------------------------------
Fri Jan 20 10:06:54 UTC 2017 - ncutler@suse.com
- Update to version 11.1.0+git.1484745543.7b08de5:
+ Update to latest upstream master (36874c8) - significant changes:
* cmake: Turn libcommon into a shared library (PR#12840)
* cmake: fix rpath on shared libraries and executables (PR#12927)
+ Fix build failure in ppc64le and s390x, caused by missing
"-momit-leaf-frame-pointer" gcc option in these architectures:
+ rocksdb: build with ppc64 (PR#12908)
-------------------------------------------------------------------
Tue Jan 17 14:14:45 UTC 2017 - ncutler@suse.com
- Update to version 11.1.0+git.1484659687.3472421:
+ rpm: tell openSUSE to never clean the spec file
+ Enable ppc64le and s390x builds in SLE
+ rpm: lttng only on x86_64 and aarch64
-------------------------------------------------------------------
Thu Jan 05 10:43:34 UTC 2017 - jfajerski@suse.com
- Update to version 11.1.0+git.1483528076.d86680e (latest master)
+ Merge branch 'master' into ses5 (Merge: 185bcce798 a7b78620f0) with conflicts:
conflicts in qa/ where resolved with theirs
conflict in src/osd/PrimaryLogPG.cc was resolved with picking ours plus a method rename
int ReplicatedPG::do_extent_cmp -> int PrimaryLogPG::do_extent_cmp
-------------------------------------------------------------------
Tue Dec 13 21:21:41 UTC 2016 - ncutler@suse.com
- Update to version 11.1.0+git.1481663255.bf42706:
+ Update to upstream 11.1.0 release; for details see
http://docs.ceph.com/docs/master/release-notes/#v11-1-0-release-candidate
+ move ceph_ver_hack.sh script from build service package to git repo
(bsc#1015419)
-------------------------------------------------------------------
Tue Nov 29 20:39:16 UTC 2016 - ncutler@suse.com
- Update to version 11.0.2+git.1480437645.66595d3
+ Update to latest upstream master (boost library is now included in the
tarball, so the tarball is much larger than before and the build takes
longer to complete)
+ ceph_ver_hack_sh adaptation (upstream dropped src/make_version script)
+ rocksdb: do not build with --march=native (bsc#1012553)
-------------------------------------------------------------------
Fri Nov 25 20:42:45 UTC 2016 - ncutler@suse.com
- Update to version 11.0.2+git.1480105120.6b8e9e5:
+ Revert commit 8aee8db140bcbd1ffd2a7b571dbbade10bec9de3 because it
conflicted with upstream
+ update to latest upstream kraken (11.0.2) - for details, see
http://ceph.com/releases/kraken-11-0-2-released/
-------------------------------------------------------------------
Mon Sep 12 12:48:33 UTC 2016 - ncutler@suse.com
- Update to version 11.0.0+git.1473684054.73e4b4a:
+ safe_io: Improve portability by replacing loff_t type usage with off_t.
+ mon: remove the redundant list swap in paxos commit_proposal
+ msg/EventPoll.h: add override to virtual functions
+ msg/EventKqueue.h: add override to virtual func
+ msg/EventSelect.h: add override to virtual funct
+ ceph-disk: Compatibility fixes for Python 3
+ ceph-disk: Use true integer division in get_dev_size
+ ceph-disk: Fix bug in FileLock
+ ceph-disk: Allow ConfigObj to write in binary mode
+ ceph-disk: Use context manager with FileLock
+ ceph-disk: Use os.path.isabs instead of .startswith('/')
+ ceph-disk: Set space_symlink to the path, not file object
+ ceph-disk: PEP8ify
+ rgw: rgw file fix bug of rgw_lookup can not exact match file name
+ rgw: fix the wrong return value
+ rgw/rgw_coroutine: move WaitContext to .cc file
+ client: pass a mask parameter to path_walk
+ mds/mdstypes: add btime to inode
+ mds/Server: set btime=ctime on creation
+ mds/MDCache: set btime on system inodes
+ include/ceph_features: add FS_BTIME features
+ mds: pass btime in InodeStat MClientReply, if feature is present
+ client: keep btime in Inode and InodeStat
+ ceph: break up ll_getattr into two functions
+ client: move the device bitshift handling macros to Client.h
+ libcephfs: add a ceph_ll_getattrx and ceph_statx
+ libcephfs: add a test for "lazy" statx
+ mds/client: add btime to CapSnap and MClientCaps
+ mds/mdstypes: add change attribute to inode
+ mds/Server: set change_attr to 0 on creation
+ mds/MDCache: set change_attr to 0 on system_inodes
+ include/ceph_features: add FS_CHANGE_ATTR feature
+ mds: pass change_attr in InodeStat MClientReply, if feature is present
+ mds/client: keep change_attr in Inode, CapSnap and MClientCaps
+ mds: ensure that change_attr reflects metadata changes on clients that hold CAP_FILE_EXCL
+ mds/client: bump the change_attr at the appropriate time for files
+ libcephfs: return the change_attr in the statx.stx_version field
+ tests: add a ChangeAttr test
+ mds: make frag_info_t add_dirty() function take a pointer to touched_mtime
+ mds: add change_attr to frag_info_t
+ test: add test for change attribute of directories
+ cephfs: rename ceph_mds_request_head and _args with a _legacy postfix
+ MDS: allow the MDS to accept requests to set the btime
+ client: add the ability to set the btime
+ client: add a ceph_fstatx
+ client: extend the Btime test to cover fstatx as well
+ journal/JournalTrimmer: move C_RemoveSet struct
+ rbd_mirror/ImageSynceThrottler: move struct to .cc
+ libcephfs: add unmount function in cephfs.pyx
+ rgw: fix typo of "minite" to "minute" in rgw_lc.cc
+ rgw/rgw_lc.cc: fix sleep time according to the error message
+ crush: don't normalize input of crush_ln iteratively
+ crush: remove clutter
+ mds: remove max_mds config option
+ vstart.sh: add option to turn on multimds
+ rgw: right parenthesis is missing in radosgw-admin help message on caps
+ SQUASH: client: request AUTH caps on the directory during create if we'll need to check perms locally
+ SQUASH: Revert "mds: ensure that change_attr reflects metadata changes on clients that hold CAP_FILE_EXCL"
+ SQUASH: client: always take a change_attr update from the server if it's newer
+ SQUASH: mds/client: don't get clever with ceph_mds_request_head_legacy encode/decode
+ rgw/rgw_rados.h: remove unneeded class C_Tick
+ SQUASH: client: querying for stx_version field requires getting all shared caps
+ SQUASH: mds/client: add routines to copy to/from ceph_mds_request_head_legacy
+ client: properly set inode number of created inode in replay request
+ test/librbd/fsx: enable exclusive-lock feature in krbd mode
+ os/bluestore/BlueFS: fix async compaction txn
+ scripts/bdev_grep: parse bluefs style extents too
+ SQUASH: client: request all shared caps if ctime was requested
+ os/bluestore/BlueFS: factor unflushed log into runway calculation
+ osd/ReplicatedBackend: move classes to cc file
+ os/bluestore: honour allow-eio flag during read
+ CmakeLists.txt: use LIB_RESOLV instead of resolv.
+ osd/ReplicatedPG: move classes to .cc file
+ librbd: potential double-unwatch of watch handle upon error
+ cls/journal: add async client_update_state method
+ journal: allow to trim journal for "laggy" clients
+ librbd: optionally flag "laggy" journal clients disconnected
+ rbd: new command to disconnect journal client
+ rbd-mirror: decode_client_meta should return false on error
+ rbd-mirror: resync was possible only when image replayer start had succeeded
+ rbd-mirror: stop replay when client is disconnected
+ rbd-mirror: option to automatically resync after journal client disconnect
+ qa/workunits/cephtool/test.sh: fix omision of ceph-command
+ os/bluestore: use global compressor if possible
+ build/ops: fix /etc/os-release parsing in install-deps.sh
+ osd/OSD.cc: remove repeated searching of map
+ test/cephfs: add mount&&unmount test
+ mds: s/used_ions/used_inos/
+ Add dependencies from ceph_smalliobenchrbd on cls_rbd, cls_journal, and cls_lock.
+ ceph_test_objectstore: add SyntheticMatrixSharding
+ ceph_test_objectstore: occasional umount/fsck/mount
+ ceph_test_objectstore: test shards for longer
+ crush/CrushCompiler.cc:884 bug fix: index out of range
+ Makfile: Fix rocksdb error when make dist
+ src/CMakeLists.txt: exclude parts not buildable on FreeBSD
+ src/pybind/CMakeLists.txt: conditionaly build cython tools
+ src/tools/CMakeLists.txt: conditionaly build ceph-client-debug
+ src/test/objectstore/CMakeLists.txt: conditionaly build tests
+ mds: trim null dentries proactively
+ cmake: include(SIMDExt) in src/CMakeLists.txt
+ mds: log path with CDir damage messages
+ hint in extent_alloc code
+ remove wrap argument and handle in wrappers
+ Hint argument in alloc_blocks + test case changes
+ os/bluestore: shard extent map
+ os/bluestore: make nid and blobid allocation less racy
+ os/bluestore: optimize compress_extent_map
+ os/bluestore: fix fsck used_block bitmap
+ os/bluestore: use block_size for allocator unit
+ os/bluestore: make blob_t unused helpers use logical length
+ os/bluestore: instrument big/small writes
+ os/bluestore: instrument transaction count
+ os/bluestore: instrument onode reshard events
+ os/bluestore: dump some stats after fsck
+ os/bluestore: assert shared blob cache cleared on split
+ remove autotools
+ test/objectstore/CMakeLists.txt: fix libaio conditional
+ buffer: clear append_buffer on clear()
+ os/bluestore: tunable prealloc size for ExtentMap inline_bl
+ os/bluestore: don't dirty onode if its size is already at desired offset
+ os/bluestore: remove never reachable asserts
+ os/bluestore: drop unnecessary separator between fields
+ os/bluestore: fix key+name sort wonkiness
+ os/bluestore: encode shard id in single byte
+ os/bluestore: small put_ref cleanup
+ os/bluestore: remove faulted debug hackery
+ os/bluestore: bits for unit tests
+ unittest_bluestore_types: resurrect blob and extent_map unit tests
+ os/bluestore/BlueFS: do not start racing async compaction
+ os/bluestore/BlueFS: fix Dir memory leak
+ buffer: implement buffer::list::reserve(n)
+ os/bluestore: do not waste memory on cached encoded blobs
+ qa/workunits/objectstore: fix test_fuse.sh
+ os/FuseStore: only flush if dirty
+ build: drop dryrun of autogen.sh from run-cmake-check.sh script
+ os/bluestore/BlueFS: For logs of rocksdb & bluefs only use directio.
+ os/bluestore: remove some copy-pastes
+ cmake: make py3 a nice-to-have
+ os/bluestore/BlueFS: only extend extent on same bdev
+ msg/AsyncConnection: add const to mem functions
+ msg/AsyncMessenger: add const to function
+ client/barrier: move C_Block_Sync class to .cc
+ osd/OSD.cc: remove unneeded searching of map
+ Set ARM_CRC_FLAGS from the CRC test rather than ARM_NEON_FLAGS
+ rpm: Moved ceph-client-debug from ceph-base to ceph-test package
+ rpm: Renamed bcond tests flag to make_check
+ rbd-nbd: fix kernel deadlock during teuthology testing
+ rbd-nbd: mask out-of-bounds IO errors caused by image shrink
+ librbd: invalidate cache before trimming image
+ librbd: ignore cache busy errors when shrinking an image
+ librbd: potential seg fault when blacklisting an image client
+ cmake: Use WITH_TESTS flag to guard the build of ceph-test scripts/binaries
+ rpm: Added ceph_test_package bcond flag to control the build of ceph-test package
+ deb: Moved ceph-client-debug from ceph-base to ceph-test package
+ ceph-objectstore-tool: add a way to split filestore directories offline
+ install-deps: exit non-zero when we cannot match distro
+ librbd: possible deadlock if cluster connection closed after image
+ osd/ReplicatedPG: remove class redeclaration
+ librbd: ignore partial refresh error when acquiring exclusive lock
+ osd/OSD.cc: remove unneeded returns
-------------------------------------------------------------------
Fri Sep 09 12:53:16 UTC 2016 - ncutler@suse.com
- Update to version 11.0.0+git.1473424516.3b8b524:
+ Revert "ceph_disk.main: s/get_dev_size/get_free_partition_size/"
+ Revert "ceph_disk tests/test_prepare: s/get_dev_size/get_free_partition_size/"
+ Revert "ceph_disk tests/test_get_free_partition_size: New unit tests"
+ Revert "ceph_disk tox.ini: add tests/test_get_free_partition_size.py"
+ rpm: put distro conditionals around Source0 in spec file
-------------------------------------------------------------------
Fri Sep 09 10:59:53 UTC 2016 - ncutler@suse.com
- Update to version 11.0.0+git.1473418476.095f67c:
+ ceph.spec.in: revert Source0 line to upstream version
+ ceph.spec.in: conditionalize %prep command
-------------------------------------------------------------------
Fri Sep 09 08:16:40 UTC 2016 - ncutler@suse.com
- ceph.spec.in: enable cephfs_java build unconditionally
- new (merged) commits from upstream master branch:
+ mailmap updates
+ rgw: fix the handling of rgw_swift_url_prefix.
+ rgw: ONLY improve code formatting around RGWRESTMgr.
+ rgw: add support for the crossdomain.xml resource of Swift API.
+ rgw: add support for the healthcheck feature of Swift API.
+ swift /info implementation.
+ rgw: settle /info implementation across other swift-at-root features.
+ compressor: isa-l extension for zlib plugin Signed-off-by: Alyona Kiseleva <akiselyova@mirantis.com>
+ mon: tear down standby replays on MDS rank stop
+ mon/MDSMonitor: move C_Updated class to .cc file
+ rgw_file: fix/update rgw_open flag arguments
+ rgw_file: fix/update rgw_create flag arguments
+ doc: remove btrfs contradiction
+ msg: make async backend default
+ msg/simple: wait dispatch_queue until all pipes closed
+ rgw_file: implement stateless write completion timer
+ rgw_file: add RGW_OPEN_FLAG_STATELESS as a synonym for V3
+ rgw_file: log on write completion events at level 10
+ rgw file: allow RGWLibFS::write_completion_interval_s to be set in conf
+ osdc/ObjectCacher: move C_ReadFinish, C_RetryRead
+ osdc/Journaler: move C_DelayFlush class to .cc
+ rgw: fix RGWAccessControlPolicy_SWIFT::create return value check error
+ librgw: add API version defines for librgw and rgw_file
+ make-dist/ceph.spec.in: Fix srpm build breakage.
+ ceph_timer: prefer using directive to typedef
+ rgw_file: explain semantics of RGWFileHandle::commit
+ compressor: Better arch ifdefs for isal code
+ mds/MDSTable: add const to member functions
+ os/bluestore: fix some #includes
+ vstart.sh: -b for bluestore
+ os/bluestore/bluestore_types: make blob_t get_chunk_size const
+ os/bluestore: use Blob const and non-const accessors
+ os/bluestore: avoid reencoding unchanged blobs
+ os/bluestore: decode blobs on demand
+ mds/SnapRealm.h: add const to member functions
+ os/bluestore/bluefs: avoid check "locked" field for newly created file
+ os/bluestore/bluefs: check against locked field during unlink
+ os/bluestore/bluefs: assert refs of file don't underflow
+ os/kstore: kill dead code
+ rgw: remove duplicated calls to getattr
+ debian: should dh_python3 python3-* not python-*
+ pybind: silence -Wsign-compare warning
+ test/ceph_test_msgr: fix -Wsign-compare warnings
+ test/unittest_alloc: fix -Wsign-compare warnings
+ librbd: API methods to directly acquire and release the exclusive lock
+ doc: add graphic for cap bit field
+ mds/MDCache.h: remove unneeded access specifier
+ librbd: skeleton implementation of client-side image cache
+ librbd: blocking parent IO completion no longer required
+ librbd: remove use of owner_lock on IO path
+ Revert "osdc: ObjectCacher flusher might needs additional locks"
+ librbd: support bufferlist payload for AioImageWrite
+ librbd: add internal support for scatter/gather IO
+ librbd: initial integration of ImageWriteback to AioImageRequest
+ librbd: consolidate IO clipping to reusable method
+ librbd: differentiate between image and object cache
+ librbd: C_ImageCacheRead bridge from Context to AioCompletion
+ librbd: integrate image cache hooks into IO path
+ common/Throttle.h: remove unneeded class
+ cmake: fix the tracing header dependencies
+ src/test/bench/CMakeLists.txt: RBD exclude
+ src/CMakeLists.txt: RBD|KVS|FUSE exclude
+ src/librbd/CMakeLists.txt: krbd and secret.c are LINUX dependant
+ src/os/CMakeLists.txt: AIO|FUSE exclude
+ src/test/CMakeLists.txt: RADOSGW|RBD exclude
+ src/test/common/CMakeLists.txt: BLKID exclude
+ install-deps.sh: initial distro detection based on /etc/os-release
+ ceph_test_objectstore: fix ObjectStore/StoreTest.BluestoreStatFSTest/2 on ssd
+ ceph_test_objectstore: disable statfs checks on available space
+ messages/MOSDMap: mark as enlighten OSDMap encoder
+ cmake: remove unused librados_api target
+ cmake: replace Findlttng-ust.cmake with FindLTTngUST.cmake
+ cmake: let librados_api_obj depend on librados-tp
+ os/bluestore: yet another statfs test fix
+ Revert "osd/ReplicatedPG: for sync-read it don't cacl l_osd_op_r_prepare_lat."
+ doc/release-notes: v0.94.9
+ os/bluestore/bluefs: use map to track dirty files
+ os/bluestore/bluefs: update mtime of inode in unified path
+ os/bluestore/bluefs: drop redundant eof check for read_random()
+ os/CMakeLists.txt: undubble kv.cc usage.
+ test,pybind: silence -Wsign-compare warnings
+ test/perf_local: fix -Wmaybe-uninitialized warnings
+ os/bluestore: get rid off "isa-l" type in ZLibCompressor ctor
+ Allow compressor build without YASM
+ script/bdev_grep: update to use hex
+ os/bluestore: improve failed csum debug output
+ librbd: improve image state machine debug log messages
+ librbd: deadlock when replaying journal during image open
+ os/bluestore: end scope of std::hex properly
+ os/bluestore: don't over-gift if bluefs free is smaller than bluestore_bluefs_min
+ os/bluestore: use _setattr for SETATTR
+ os/bluestore: make object existence check robust
+ ceph_test_objectstore: assert umount succeeds
+ ceph_test_objectstore: clean up Rename test a bit
+ ceph_test_objectstore: fix TryMoveRename test
+ os/bluestore: add onode/buffer cache statistics
+ os/bluestore: end scope of std::hex properly
+ cmake: pass -DINTEL* to gf-complete cflags
+ os/bluestore: conditional checking label of bluefs devices
+ src/CMakeLists.txt: -Woverloaded-virtual is already included in -Wall on Clang
+ os/bluestore: don't overwrite type if it does already exist and at desired type
+ os/bluestore: trivial cleanups
+ os/bluestore: replace store with logger in Cache
+ os/bluestore: check iterator before using during fsck
------------------------------------------------------------------- -------------------------------------------------------------------
Mon Aug 29 07:24:44 UTC 2016 - ncutler@suse.com Mon Aug 29 07:24:44 UTC 2016 - ncutler@suse.com

329
ceph.spec
View File

@ -13,6 +13,7 @@
# #
# Please submit bugfixes or comments via http://tracker.ceph.com/ # Please submit bugfixes or comments via http://tracker.ceph.com/
# #
%bcond_with cephfs_java
%if 0%{?suse_version} %if 0%{?suse_version}
%bcond_with ceph_test_package %bcond_with ceph_test_package
%else %else
@ -26,15 +27,13 @@
# no gperftools/tcmalloc on s390(x) # no gperftools/tcmalloc on s390(x)
%bcond_with tcmalloc %bcond_with tcmalloc
%endif %endif
%bcond_with lowmem_builder %bcond_without lowmem_builder
%bcond_with minimal_debugging_information %bcond_with minimal_debugging_information
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
%bcond_without cephfs_java
%bcond_with ocf %bcond_with ocf
%bcond_without selinux %bcond_without selinux
%endif %endif
%if 0%{?suse_version} %if 0%{?suse_version}
%bcond_with cephfs_java
%bcond_without ocf %bcond_without ocf
%if %{with ocf} %if %{with ocf}
%global _with_ocf --with-ocf %global _with_ocf --with-ocf
@ -45,9 +44,11 @@
# LTTng-UST enabled on Fedora, RHEL 6+, and SLE (not openSUSE) # LTTng-UST enabled on Fedora, RHEL 6+, and SLE (not openSUSE)
%if 0%{?fedora} || 0%{?rhel} >= 6 || 0%{?suse_version} %if 0%{?fedora} || 0%{?rhel} >= 6 || 0%{?suse_version}
%if ! 0%{?is_opensuse} %if ! 0%{?is_opensuse}
%ifarch x86_64 aarch64
%bcond_without lttng %bcond_without lttng
%endif %endif
%endif %endif
%endif
%if %{with selinux} %if %{with selinux}
# get selinux policy version # get selinux policy version
@ -66,12 +67,12 @@
# common # common
################################################################################# #################################################################################
Name: ceph Name: ceph
Version: 11.0.0+git.1472455009.a17726c Version: 12.0.0+git.1489159457.410e200
Release: 0 Release: 0
Summary: User space components of the Ceph file system Summary: User space components of the Ceph file system
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
%if 0%{?suse_version} %if 0%{?suse_version}
Group: System/Filesystems Group: System/Filesystems
%endif %endif
URL: http://ceph.com/ URL: http://ceph.com/
Source0: %{name}-%{version}.tar.bz2 Source0: %{name}-%{version}.tar.bz2
@ -80,7 +81,7 @@ Source0: %{name}-%{version}.tar.bz2
%if 0%{?is_opensuse} %if 0%{?is_opensuse}
ExclusiveArch: x86_64 aarch64 ppc64 ppc64le ExclusiveArch: x86_64 aarch64 ppc64 ppc64le
%else %else
ExclusiveArch: x86_64 aarch64 ExclusiveArch: x86_64 aarch64 ppc64le s390x
%endif %endif
%endif %endif
################################################################################# #################################################################################
@ -88,6 +89,7 @@ ExclusiveArch: x86_64 aarch64
################################################################################# #################################################################################
Requires: ceph-osd = %{version}-%{release} Requires: ceph-osd = %{version}-%{release}
Requires: ceph-mds = %{version}-%{release} Requires: ceph-mds = %{version}-%{release}
Requires: ceph-mgr = %{version}-%{release}
Requires: ceph-mon = %{version}-%{release} Requires: ceph-mon = %{version}-%{release}
Requires(post): binutils Requires(post): binutils
%if 0%{with cephfs_java} %if 0%{with cephfs_java}
@ -99,7 +101,7 @@ BuildRequires: checkpolicy
BuildRequires: selinux-policy-devel BuildRequires: selinux-policy-devel
BuildRequires: /usr/share/selinux/devel/policyhelp BuildRequires: /usr/share/selinux/devel/policyhelp
%endif %endif
BuildRequires: boost-devel BuildRequires: bc
BuildRequires: cmake BuildRequires: cmake
BuildRequires: cryptsetup BuildRequires: cryptsetup
BuildRequires: fuse-devel BuildRequires: fuse-devel
@ -108,7 +110,6 @@ BuildRequires: gdbm
%if 0%{with tcmalloc} %if 0%{with tcmalloc}
BuildRequires: gperftools-devel BuildRequires: gperftools-devel
%endif %endif
BuildRequires: hdparm
BuildRequires: jq BuildRequires: jq
BuildRequires: leveldb-devel > 1.2 BuildRequires: leveldb-devel > 1.2
BuildRequires: libaio-devel BuildRequires: libaio-devel
@ -217,11 +218,13 @@ on commodity hardware and delivers object, block and file system storage.
################################################################################# #################################################################################
%package base %package base
Summary: Ceph Base Package Summary: Ceph Base Package
Group: System Environment/Base %if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: ceph-common = %{version}-%{release} Requires: ceph-common = %{version}-%{release}
Requires: librbd1 = %{version}-%{release} Requires: librbd1 = %{version}-%{release}
Requires: librados2 = %{version}-%{release} Requires: librados2 = %{version}-%{release}
Requires: libcephfs1 = %{version}-%{release} Requires: libcephfs2 = %{version}-%{release}
Requires: librgw2 = %{version}-%{release} Requires: librgw2 = %{version}-%{release}
%if 0%{with selinux} %if 0%{with selinux}
Requires: ceph-selinux = %{version}-%{release} Requires: ceph-selinux = %{version}-%{release}
@ -233,17 +236,12 @@ Requires: grep
Requires: xfsprogs Requires: xfsprogs
Requires: logrotate Requires: logrotate
Requires: util-linux Requires: util-linux
Requires: hdparm
Requires: cryptsetup Requires: cryptsetup
Requires: findutils Requires: findutils
Requires: which Requires: which
%if 0%{?suse_version} %if 0%{?suse_version}
Requires: lsb-release
Recommends: ntp-daemon Recommends: ntp-daemon
%endif %endif
%if 0%{?fedora} || 0%{?rhel}
Requires: redhat-lsb-core
%endif
%if 0%{with xio} %if 0%{with xio}
Requires: libxio Requires: libxio
%endif %endif
@ -252,13 +250,16 @@ Base is the package that includes all the files shared amongst ceph servers
%package -n ceph-common %package -n ceph-common
Summary: Ceph Common Summary: Ceph Common
Group: System Environment/Base %if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: librbd1 = %{version}-%{release} Requires: librbd1 = %{version}-%{release}
Requires: librados2 = %{version}-%{release} Requires: librados2 = %{version}-%{release}
Requires: libcephfs1 = %{version}-%{release} Requires: libcephfs2 = %{version}-%{release}
Requires: python-rados = %{version}-%{release} Requires: python-rados = %{version}-%{release}
Requires: python-rbd = %{version}-%{release} Requires: python-rbd = %{version}-%{release}
Requires: python-cephfs = %{version}-%{release} Requires: python-cephfs = %{version}-%{release}
Requires: python-rgw = %{version}-%{release}
Requires: python-requests Requires: python-requests
%{?systemd_requires} %{?systemd_requires}
%if 0%{?suse_version} %if 0%{?suse_version}
@ -274,7 +275,9 @@ Comprised of files that are common to Ceph clients and servers.
%package mds %package mds
Summary: Ceph Metadata Server Daemon Summary: Ceph Metadata Server Daemon
Group: System Environment/Base %if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: ceph-base = %{version}-%{release} Requires: ceph-base = %{version}-%{release}
%description mds %description mds
ceph-mds is the metadata server daemon for the Ceph distributed file system. ceph-mds is the metadata server daemon for the Ceph distributed file system.
@ -283,7 +286,9 @@ namespace, coordinating access to the shared OSD cluster.
%package mon %package mon
Summary: Ceph Monitor Daemon Summary: Ceph Monitor Daemon
Group: System Environment/Base %if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: ceph-base = %{version}-%{release} Requires: ceph-base = %{version}-%{release}
# For ceph-rest-api # For ceph-rest-api
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
@ -298,15 +303,33 @@ system. One or more instances of ceph-mon form a Paxos part-time
parliament cluster that provides extremely reliable and durable storage parliament cluster that provides extremely reliable and durable storage
of cluster membership, configuration, and state. of cluster membership, configuration, and state.
%package mgr
Summary: Ceph Manager Daemon
License: LGPL-2.1 and CC-BY-SA-1.0 and GPL-2.0 and BSL-1.0 and GPL-2.0-with-autoconf-exception and BSD-3-Clause and MIT
%if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: ceph-base = %{version}-%{release}
%description mgr
ceph-mgr enables python modules that provide services (such as the REST
module derived from Calamari) and expose CLI hooks. ceph-mgr gathers
the cluster maps, the daemon metadata, and performance counters, and
exposes all these to the python modules.
%package fuse %package fuse
Summary: Ceph fuse-based client Summary: Ceph fuse-based client
Group: System Environment/Base %if 0%{?suse_version}
Group: System/Filesystems
%endif
%description fuse %description fuse
FUSE based client for Ceph distributed network file system FUSE based client for Ceph distributed network file system
%package -n rbd-fuse %package -n rbd-fuse
Summary: Ceph fuse-based client Summary: Ceph fuse-based client
Group: System Environment/Base %if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: librados2 = %{version}-%{release} Requires: librados2 = %{version}-%{release}
Requires: librbd1 = %{version}-%{release} Requires: librbd1 = %{version}-%{release}
%description -n rbd-fuse %description -n rbd-fuse
@ -314,7 +337,9 @@ FUSE based client to map Ceph rbd images to files
%package -n rbd-mirror %package -n rbd-mirror
Summary: Ceph daemon for mirroring RBD images Summary: Ceph daemon for mirroring RBD images
Group: System Environment/Base %if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: ceph-common = %{version}-%{release} Requires: ceph-common = %{version}-%{release}
Requires: librados2 = %{version}-%{release} Requires: librados2 = %{version}-%{release}
%description -n rbd-mirror %description -n rbd-mirror
@ -323,7 +348,9 @@ changes asynchronously.
%package -n rbd-nbd %package -n rbd-nbd
Summary: Ceph RBD client base on NBD Summary: Ceph RBD client base on NBD
Group: System Environment/Base %if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: librados2 = %{version}-%{release} Requires: librados2 = %{version}-%{release}
Requires: librbd1 = %{version}-%{release} Requires: librbd1 = %{version}-%{release}
%description -n rbd-nbd %description -n rbd-nbd
@ -331,7 +358,9 @@ NBD based client to map Ceph rbd images to local device
%package radosgw %package radosgw
Summary: Rados REST gateway Summary: Rados REST gateway
Group: Development/Libraries %if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: ceph-common = %{version}-%{release} Requires: ceph-common = %{version}-%{release}
%if 0%{with selinux} %if 0%{with selinux}
Requires: ceph-selinux = %{version}-%{release} Requires: ceph-selinux = %{version}-%{release}
@ -350,7 +379,9 @@ service as well as the OpenStack Object Storage ("Swift") API.
%if %{with ocf} %if %{with ocf}
%package resource-agents %package resource-agents
Summary: OCF-compliant resource agents for Ceph daemons Summary: OCF-compliant resource agents for Ceph daemons
Group: System Environment/Base %if 0%{?suse_version}
Group: System/Filesystems
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: ceph-base = %{version} Requires: ceph-base = %{version}
Requires: resource-agents Requires: resource-agents
@ -362,7 +393,9 @@ managers such as Pacemaker.
%package osd %package osd
Summary: Ceph Object Storage Daemon Summary: Ceph Object Storage Daemon
Group: System Environment/Base %if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: ceph-base = %{version}-%{release} Requires: ceph-base = %{version}-%{release}
# for sgdisk, used by ceph-disk # for sgdisk, used by ceph-disk
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
@ -379,7 +412,9 @@ and providing access to them over the network.
%package -n librados2 %package -n librados2
Summary: RADOS distributed object store client library Summary: RADOS distributed object store client library
Group: System Environment/Libraries %if 0%{?suse_version}
Group: System/Libraries
%endif
License: LGPL-2.0 License: LGPL-2.0
%if 0%{?rhel} || 0%{?fedora} %if 0%{?rhel} || 0%{?fedora}
Obsoletes: ceph-libs < %{version}-%{release} Obsoletes: ceph-libs < %{version}-%{release}
@ -392,7 +427,9 @@ store using a simple file-like interface.
%package -n librados-devel %package -n librados-devel
Summary: RADOS headers Summary: RADOS headers
Group: Development/Libraries %if 0%{?suse_version}
Group: Development/Libraries/C and C++
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: librados2 = %{version}-%{release} Requires: librados2 = %{version}-%{release}
Obsoletes: ceph-devel < %{version}-%{release} Obsoletes: ceph-devel < %{version}-%{release}
@ -404,7 +441,9 @@ that use RADOS object store.
%package -n librgw2 %package -n librgw2
Summary: RADOS gateway client library Summary: RADOS gateway client library
Group: System Environment/Libraries %if 0%{?suse_version}
Group: System/Libraries
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: librados2 = %{version}-%{release} Requires: librados2 = %{version}-%{release}
%description -n librgw2 %description -n librgw2
@ -413,7 +452,9 @@ This package provides a library implementation of the RADOS gateway
%package -n librgw-devel %package -n librgw-devel
Summary: RADOS gateway client library Summary: RADOS gateway client library
Group: Development/Libraries %if 0%{?suse_version}
Group: Development/Libraries/C and C++
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: librados-devel = %{version}-%{release} Requires: librados-devel = %{version}-%{release}
Requires: librgw2 = %{version}-%{release} Requires: librgw2 = %{version}-%{release}
@ -423,9 +464,36 @@ Obsoletes: librgw2-devel < %{version}-%{release}
This package contains libraries and headers needed to develop programs This package contains libraries and headers needed to develop programs
that use RADOS gateway client library. that use RADOS gateway client library.
%package -n python-rgw
Summary: Python 2 libraries for the RADOS gateway
%if 0%{?suse_version}
Group: Development/Languages/Python
%endif
License: LGPL-2.0
Requires: librgw2 = %{version}-%{release}
Requires: python-rados = %{version}-%{release}
Obsoletes: python-ceph < %{version}-%{release}
%description -n python-rgw
This package contains Python 2 libraries for interacting with Cephs RADOS
gateway.
%package -n python%{python3_pkgversion}-rgw
Summary: Python 3 libraries for the RADOS gateway
%if 0%{?suse_version}
Group: Development/Languages/Python
%endif
License: LGPL-2.0
Requires: librgw2 = %{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{version}-%{release}
%description -n python%{python3_pkgversion}-rgw
This package contains Python 3 libraries for interacting with Cephs RADOS
gateway.
%package -n python-rados %package -n python-rados
Summary: Python 2 libraries for the RADOS object store Summary: Python 2 libraries for the RADOS object store
Group: System Environment/Libraries %if 0%{?suse_version}
Group: Development/Languages/Python
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: librados2 = %{version}-%{release} Requires: librados2 = %{version}-%{release}
Obsoletes: python-ceph < %{version}-%{release} Obsoletes: python-ceph < %{version}-%{release}
@ -435,7 +503,9 @@ object store.
%package -n python%{python3_pkgversion}-rados %package -n python%{python3_pkgversion}-rados
Summary: Python 3 libraries for the RADOS object store Summary: Python 3 libraries for the RADOS object store
Group: System Environment/Libraries %if 0%{?suse_version}
Group: Development/Languages/Python
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: python%{python3_pkgversion} Requires: python%{python3_pkgversion}
Requires: librados2 = %{version}-%{release} Requires: librados2 = %{version}-%{release}
@ -445,7 +515,9 @@ object store.
%package -n libradosstriper1 %package -n libradosstriper1
Summary: RADOS striping interface Summary: RADOS striping interface
Group: System Environment/Libraries %if 0%{?suse_version}
Group: System/Libraries
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: librados2 = %{version}-%{release} Requires: librados2 = %{version}-%{release}
%description -n libradosstriper1 %description -n libradosstriper1
@ -455,7 +527,9 @@ an interface very similar to the rados one.
%package -n libradosstriper-devel %package -n libradosstriper-devel
Summary: RADOS striping interface headers Summary: RADOS striping interface headers
Group: Development/Libraries %if 0%{?suse_version}
Group: Development/Libraries/C and C++
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: libradosstriper1 = %{version}-%{release} Requires: libradosstriper1 = %{version}-%{release}
Requires: librados-devel = %{version}-%{release} Requires: librados-devel = %{version}-%{release}
@ -468,7 +542,9 @@ that use RADOS striping interface.
%package -n librbd1 %package -n librbd1
Summary: RADOS block device client library Summary: RADOS block device client library
Group: System Environment/Libraries %if 0%{?suse_version}
Group: System/Libraries
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: librados2 = %{version}-%{release} Requires: librados2 = %{version}-%{release}
%if 0%{?rhel} || 0%{?fedora} %if 0%{?rhel} || 0%{?fedora}
@ -482,7 +558,9 @@ shared library allowing applications to manage these block devices.
%package -n librbd-devel %package -n librbd-devel
Summary: RADOS block device headers Summary: RADOS block device headers
Group: Development/Libraries %if 0%{?suse_version}
Group: Development/Libraries/C and C++
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: librbd1 = %{version}-%{release} Requires: librbd1 = %{version}-%{release}
Requires: librados-devel = %{version}-%{release} Requires: librados-devel = %{version}-%{release}
@ -495,7 +573,9 @@ that use RADOS block device.
%package -n python-rbd %package -n python-rbd
Summary: Python 2 libraries for the RADOS block device Summary: Python 2 libraries for the RADOS block device
Group: System Environment/Libraries %if 0%{?suse_version}
Group: Development/Languages/Python
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: librbd1 = %{version}-%{release} Requires: librbd1 = %{version}-%{release}
Requires: python-rados = %{version}-%{release} Requires: python-rados = %{version}-%{release}
@ -506,7 +586,9 @@ block device.
%package -n python%{python3_pkgversion}-rbd %package -n python%{python3_pkgversion}-rbd
Summary: Python 3 libraries for the RADOS block device Summary: Python 3 libraries for the RADOS block device
Group: System Environment/Libraries %if 0%{?suse_version}
Group: Development/Languages/Python
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: librbd1 = %{version}-%{release} Requires: librbd1 = %{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{version}-%{release}
@ -514,15 +596,17 @@ Requires: python%{python3_pkgversion}-rados = %{version}-%{release}
This package contains Python 3 libraries for interacting with Cephs RADOS This package contains Python 3 libraries for interacting with Cephs RADOS
block device. block device.
%package -n libcephfs1 %package -n libcephfs2
Summary: Ceph distributed file system client library Summary: Ceph distributed file system client library
Group: System Environment/Libraries %if 0%{?suse_version}
Group: System/Libraries
%endif
License: LGPL-2.0 License: LGPL-2.0
%if 0%{?rhel} || 0%{?fedora} %if 0%{?rhel} || 0%{?fedora}
Obsoletes: ceph-libs < %{version}-%{release} Obsoletes: ceph-libs < %{version}-%{release}
Obsoletes: ceph-libcephfs Obsoletes: ceph-libcephfs
%endif %endif
%description -n libcephfs1 %description -n libcephfs2
Ceph is a distributed network file system designed to provide excellent Ceph is a distributed network file system designed to provide excellent
performance, reliability, and scalability. This is a shared library performance, reliability, and scalability. This is a shared library
allowing applications to access a Ceph distributed file system via a allowing applications to access a Ceph distributed file system via a
@ -530,23 +614,29 @@ POSIX-like interface.
%package -n libcephfs-devel %package -n libcephfs-devel
Summary: Ceph distributed file system headers Summary: Ceph distributed file system headers
Group: Development/Libraries %if 0%{?suse_version}
Group: Development/Libraries/C and C++
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: libcephfs1 = %{version}-%{release} Requires: libcephfs2 = %{version}-%{release}
Requires: librados-devel = %{version}-%{release} Requires: librados-devel = %{version}-%{release}
Obsoletes: ceph-devel < %{version}-%{release} Obsoletes: ceph-devel < %{version}-%{release}
Provides: libcephfs1-devel = %{version}-%{release} Provides: libcephfs2-devel = %{version}-%{release}
Obsoletes: libcephfs1-devel < %{version}-%{release} Obsoletes: libcephfs2-devel < %{version}-%{release}
%description -n libcephfs-devel %description -n libcephfs-devel
This package contains libraries and headers needed to develop programs This package contains libraries and headers needed to develop programs
that use Cephs distributed file system. that use Cephs distributed file system.
%package -n python-cephfs %package -n python-cephfs
Summary: Python 2 libraries for Ceph distributed file system Summary: Python 2 libraries for Ceph distributed file system
Group: System Environment/Libraries %if 0%{?suse_version}
Group: Development/Languages/Python
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: libcephfs1 = %{version}-%{release} Requires: libcephfs2 = %{version}-%{release}
Requires: python-rados = %{version}-%{release} %if 0%{?suse_version}
Recommends: python-rados = %{version}-%{release}
%endif
Obsoletes: python-ceph < %{version}-%{release} Obsoletes: python-ceph < %{version}-%{release}
%description -n python-cephfs %description -n python-cephfs
This package contains Python 2 libraries for interacting with Cephs distributed This package contains Python 2 libraries for interacting with Cephs distributed
@ -554,9 +644,11 @@ file system.
%package -n python%{python3_pkgversion}-cephfs %package -n python%{python3_pkgversion}-cephfs
Summary: Python 3 libraries for Ceph distributed file system Summary: Python 3 libraries for Ceph distributed file system
Group: System Environment/Libraries %if 0%{?suse_version}
Group: Development/Languages/Python
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: libcephfs1 = %{version}-%{release} Requires: libcephfs2 = %{version}-%{release}
Requires: python%{python3_pkgversion}-rados = %{version}-%{release} Requires: python%{python3_pkgversion}-rados = %{version}-%{release}
%description -n python%{python3_pkgversion}-cephfs %description -n python%{python3_pkgversion}-cephfs
This package contains Python 3 libraries for interacting with Cephs distributed This package contains Python 3 libraries for interacting with Cephs distributed
@ -564,7 +656,9 @@ file system.
%package -n python%{python3_pkgversion}-ceph-argparse %package -n python%{python3_pkgversion}-ceph-argparse
Summary: Python 3 utility libraries for Ceph CLI Summary: Python 3 utility libraries for Ceph CLI
Group: System Environment/Libraries %if 0%{?suse_version}
Group: Development/Languages/Python
%endif
License: LGPL-2.0 License: LGPL-2.0
%description -n python%{python3_pkgversion}-ceph-argparse %description -n python%{python3_pkgversion}-ceph-argparse
This package contains types and routines for Python 3 used by the Ceph CLI as This package contains types and routines for Python 3 used by the Ceph CLI as
@ -575,7 +669,9 @@ descriptions, and submitting the command to the appropriate daemon.
%if 0%{with ceph_test_package} %if 0%{with ceph_test_package}
%package -n ceph-test %package -n ceph-test
Summary: Ceph benchmarks and test tools Summary: Ceph benchmarks and test tools
Group: System Environment/Libraries %if 0%{?suse_version}
Group: System/Benchmark
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: ceph-common Requires: ceph-common
Requires: xmlstarlet Requires: xmlstarlet
@ -587,17 +683,21 @@ This package contains Ceph benchmarks and test tools.
%package -n libcephfs_jni1 %package -n libcephfs_jni1
Summary: Java Native Interface library for CephFS Java bindings Summary: Java Native Interface library for CephFS Java bindings
Group: System Environment/Libraries %if 0%{?suse_version}
Group: System/Libraries
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: java Requires: java
Requires: libcephfs1 = %{version}-%{release} Requires: libcephfs2 = %{version}-%{release}
%description -n libcephfs_jni1 %description -n libcephfs_jni1
This package contains the Java Native Interface library for CephFS Java This package contains the Java Native Interface library for CephFS Java
bindings. bindings.
%package -n libcephfs_jni-devel %package -n libcephfs_jni-devel
Summary: Development files for CephFS Java Native Interface library Summary: Development files for CephFS Java Native Interface library
Group: System Environment/Libraries %if 0%{?suse_version}
Group: Development/Libraries/Java
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: java Requires: java
Requires: libcephfs_jni1 = %{version}-%{release} Requires: libcephfs_jni1 = %{version}-%{release}
@ -610,7 +710,9 @@ library.
%package -n cephfs-java %package -n cephfs-java
Summary: Java libraries for the Ceph File System Summary: Java libraries for the Ceph File System
Group: System Environment/Libraries %if 0%{?suse_version}
Group: System/Libraries
%endif
License: LGPL-2.0 License: LGPL-2.0
Requires: java Requires: java
Requires: libcephfs_jni1 = %{version}-%{release} Requires: libcephfs_jni1 = %{version}-%{release}
@ -625,7 +727,9 @@ This package contains the Java libraries for the Ceph File System.
%package selinux %package selinux
Summary: SELinux support for Ceph MON, OSD and MDS Summary: SELinux support for Ceph MON, OSD and MDS
Group: System Environment/Base %if 0%{?suse_version}
Group: System/Filesystems
%endif
Requires: ceph-base = %{version}-%{release} Requires: ceph-base = %{version}-%{release}
Requires: policycoreutils, libselinux-utils Requires: policycoreutils, libselinux-utils
Requires(post): selinux-policy-base >= %{_selinux_policy_version}, policycoreutils, gawk Requires(post): selinux-policy-base >= %{_selinux_policy_version}, policycoreutils, gawk
@ -639,24 +743,32 @@ populated file-systems.
%package -n python-ceph-compat %package -n python-ceph-compat
Summary: Compatibility package for Cephs python libraries Summary: Compatibility package for Cephs python libraries
Group: System Environment/Libraries %if 0%{?suse_version}
Group: Development/Languages/Python
%endif
License: LGPL-2.0 License: LGPL-2.0
Obsoletes: python-ceph Obsoletes: python-ceph
Requires: python-rados = %{version}-%{release} Requires: python-rados = %{version}-%{release}
Requires: python-rbd = %{version}-%{release} Requires: python-rbd = %{version}-%{release}
Requires: python-cephfs = %{version}-%{release} Requires: python-cephfs = %{version}-%{release}
Requires: python-rgw = %{version}-%{release}
Provides: python-ceph Provides: python-ceph
%description -n python-ceph-compat %description -n python-ceph-compat
This is a compatibility package to accommodate python-ceph split into This is a compatibility package to accommodate python-ceph split into
python-rados, python-rbd and python-cephfs. Packages still depending on python-rados, python-rbd, python-rgw and python-cephfs. Packages still
python-ceph should be fixed to depend on python-rados, python-rbd or depending on python-ceph should be fixed to depend on python-rados,
python-cephfs instead. python-rbd, python-rgw or python-cephfs instead.
################################################################################# #################################################################################
# common # common
################################################################################# #################################################################################
%prep %prep
%if 0%{?rhel}
%autosetup -p1 -n @TARBALL_BASENAME@
%endif
%if ! 0%{?rhel}
%autosetup -p1 %autosetup -p1
%endif
%build %build
%if 0%{with cephfs_java} %if 0%{with cephfs_java}
@ -678,6 +790,8 @@ export CPPFLAGS="$java_inc"
export CFLAGS="$RPM_OPT_FLAGS" export CFLAGS="$RPM_OPT_FLAGS"
export CXXFLAGS="$RPM_OPT_FLAGS" export CXXFLAGS="$RPM_OPT_FLAGS"
env | sort
mkdir build mkdir build
cd build cd build
cmake .. \ cmake .. \
@ -688,7 +802,9 @@ cmake .. \
-DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} \ -DCMAKE_INSTALL_SYSCONFDIR=%{_sysconfdir} \
-DCMAKE_INSTALL_MANDIR=%{_mandir} \ -DCMAKE_INSTALL_MANDIR=%{_mandir} \
-DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \ -DCMAKE_INSTALL_DOCDIR=%{_docdir}/ceph \
-DWITH_EMBEDDED=OFF \
-DWITH_MANPAGE=ON \ -DWITH_MANPAGE=ON \
-DWITH_PYTHON3=ON \
-DWITH_SYSTEMD=ON \ -DWITH_SYSTEMD=ON \
%if 0%{?rhel} && ! 0%{?centos} %if 0%{?rhel} && ! 0%{?centos}
-DWITH_SUBMAN=ON \ -DWITH_SUBMAN=ON \
@ -763,7 +879,7 @@ make DESTDIR=%{buildroot} install
# we have dropped sysvinit bits # we have dropped sysvinit bits
rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph rm -f %{buildroot}/%{_sysconfdir}/init.d/ceph
popd popd
install -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap install -m 0644 -D src/etc-rbdmap %{buildroot}%{_sysconfdir}/ceph/rbdmap
%if 0%{?fedora} || 0%{?rhel} %if 0%{?fedora} || 0%{?rhel}
install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph install -m 0644 -D etc/sysconfig/ceph %{buildroot}%{_sysconfdir}/sysconfig/ceph
%endif %endif
@ -799,6 +915,7 @@ mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/tmp
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mon mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mon
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/osd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/osd
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mds
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/mgr
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/radosgw mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/radosgw
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-osd mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-osd
mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mds mkdir -p %{buildroot}%{_localstatedir}/lib/ceph/bootstrap-mds
@ -829,7 +946,6 @@ rm -rf %{buildroot}
%{_bindir}/ceph-run %{_bindir}/ceph-run
%{_bindir}/ceph-dencoder %{_bindir}/ceph-dencoder
%{_bindir}/ceph-detect-init %{_bindir}/ceph-detect-init
%{_unitdir}/ceph-create-keys@.service
%{_bindir}/cephfs-data-scan %{_bindir}/cephfs-data-scan
%{_bindir}/cephfs-journal-tool %{_bindir}/cephfs-journal-tool
%{_bindir}/cephfs-table-tool %{_bindir}/cephfs-table-tool
@ -984,11 +1100,6 @@ usermod -c "Ceph storage service" \
-g ceph \ -g ceph \
-s /sbin/nologin \ -s /sbin/nologin \
ceph ceph
# fix ownership of log files
[ -d /var/log/ceph ] || exit 0
[ "$(stat -c %U /var/log/ceph)" = "ceph" ] && exit 0
find /var/log/ceph -type f -name '*.log' -exec chown ceph.ceph {} \;
chown ceph.ceph /var/log/ceph
%endif %endif
exit 0 exit 0
@ -1051,6 +1162,55 @@ if [ $FIRST_ARG -ge 1 ] ; then
fi fi
fi fi
%files mgr
%{_bindir}/ceph-mgr
%{_libdir}/ceph/mgr
%{_unitdir}/ceph-mgr@.service
%{_unitdir}/ceph-mgr.target
%attr(750,ceph,ceph) %dir %{_localstatedir}/lib/ceph/mgr
%post mgr
%if 0%{?suse_version}
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl preset ceph-mgr@\*.service ceph-mgr.target >/dev/null 2>&1 || :
fi
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_post ceph-mgr@\*.service ceph-mgr.target
%endif
if [ $1 -eq 1 ] ; then
/usr/bin/systemctl start ceph-mgr.target >/dev/null 2>&1 || :
fi
%preun mgr
%if 0%{?suse_version}
%service_del_preun ceph-mgr@\*.service ceph-mgr.target
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_preun ceph-mgr@\*.service ceph-mgr.target
%endif
%postun mgr
test -n "$FIRST_ARG" || FIRST_ARG=$1
%if 0%{?suse_version}
DISABLE_RESTART_ON_UPDATE="yes"
%service_del_postun ceph-mgr@\*.service ceph-mgr.target
%endif
%if 0%{?fedora} || 0%{?rhel}
%systemd_postun ceph-mgr@\*.service ceph-mgr.target
%endif
if [ $FIRST_ARG -ge 1 ] ; then
# Restart on upgrade, but only if "CEPH_AUTO_RESTART_ON_UPGRADE" is set to
# "yes". In any case: if units are not running, do not touch them.
SYSCONF_CEPH=%{_sysconfdir}/sysconfig/ceph
if [ -f $SYSCONF_CEPH -a -r $SYSCONF_CEPH ] ; then
source $SYSCONF_CEPH
fi
if [ "X$CEPH_AUTO_RESTART_ON_UPGRADE" = "Xyes" ] ; then
/usr/bin/systemctl try-restart ceph-mgr@\*.service > /dev/null 2>&1 || :
fi
fi
%files mon %files mon
%{_bindir}/ceph-mon %{_bindir}/ceph-mon
%{_bindir}/ceph-rest-api %{_bindir}/ceph-rest-api
@ -1108,6 +1268,8 @@ fi
%{_bindir}/ceph-fuse %{_bindir}/ceph-fuse
%{_mandir}/man8/ceph-fuse.8* %{_mandir}/man8/ceph-fuse.8*
%{_sbindir}/mount.fuse.ceph %{_sbindir}/mount.fuse.ceph
%{_unitdir}/ceph-fuse@.service
%{_unitdir}/ceph-fuse.target
%files -n rbd-fuse %files -n rbd-fuse
%defattr(-,root,root,-) %defattr(-,root,root,-)
@ -1181,15 +1343,6 @@ fi
%{_unitdir}/ceph-radosgw@.service %{_unitdir}/ceph-radosgw@.service
%{_unitdir}/ceph-radosgw.target %{_unitdir}/ceph-radosgw.target
%pre radosgw
%if 0%{?suse_version}
# fix ownership of log files
[ -d /var/log/ceph-radosgw ] || exit 0
[ "$(stat -c %U /var/log/ceph-radosgw)" = "ceph" ] && exit 0
find /var/log/ceph-radosgw -type f -name '*.log' -exec chown ceph.ceph {} \;
chown ceph.ceph /var/log/ceph-radosgw
%endif
%post radosgw %post radosgw
%if 0%{?suse_version} %if 0%{?suse_version}
if [ $1 -eq 1 ] ; then if [ $1 -eq 1 ] ; then
@ -1300,7 +1453,6 @@ fi
%files resource-agents %files resource-agents
%defattr(0755,root,root,-) %defattr(0755,root,root,-)
# N.B. src/ocf/Makefile.am uses $(prefix)/lib
%dir %{_prefix}/lib/ocf %dir %{_prefix}/lib/ocf
%dir %{_prefix}/lib/ocf/resource.d %dir %{_prefix}/lib/ocf/resource.d
%dir %{_prefix}/lib/ocf/resource.d/ceph %dir %{_prefix}/lib/ocf/resource.d/ceph
@ -1311,6 +1463,8 @@ fi
%files -n librados2 %files -n librados2
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/librados.so.* %{_libdir}/librados.so.*
%dir %{_libdir}/ceph
%{_libdir}/ceph/libceph-common.so*
%if %{with lttng} %if %{with lttng}
%{_libdir}/librados_tp.so.* %{_libdir}/librados_tp.so.*
%endif %endif
@ -1326,6 +1480,7 @@ fi
%{_includedir}/rados/librados.hpp %{_includedir}/rados/librados.hpp
%{_includedir}/rados/buffer.h %{_includedir}/rados/buffer.h
%{_includedir}/rados/buffer_fwd.h %{_includedir}/rados/buffer_fwd.h
%{_includedir}/rados/inline_memory.h
%{_includedir}/rados/page.h %{_includedir}/rados/page.h
%{_includedir}/rados/crc32c.h %{_includedir}/rados/crc32c.h
%{_includedir}/rados/rados_types.h %{_includedir}/rados/rados_types.h
@ -1403,6 +1558,16 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%{_includedir}/rados/rgw_file.h %{_includedir}/rados/rgw_file.h
%{_libdir}/librgw.so %{_libdir}/librgw.so
%files -n python-rgw
%defattr(-,root,root,-)
%{python_sitearch}/rgw.so
%{python_sitearch}/rgw-*.egg-info
%files -n python%{python3_pkgversion}-rgw
%defattr(-,root,root,-)
%{python3_sitearch}/rgw.cpython*.so
%{python3_sitearch}/rgw-*.egg-info
%files -n python-rbd %files -n python-rbd
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{python_sitearch}/rbd.so %{python_sitearch}/rbd.so
@ -1413,18 +1578,19 @@ ln -sf %{_libdir}/librbd.so.1 /usr/lib64/qemu/librbd.so.1
%{python3_sitearch}/rbd.cpython*.so %{python3_sitearch}/rbd.cpython*.so
%{python3_sitearch}/rbd-*.egg-info %{python3_sitearch}/rbd-*.egg-info
%files -n libcephfs1 %files -n libcephfs2
%defattr(-,root,root,-) %defattr(-,root,root,-)
%{_libdir}/libcephfs.so.* %{_libdir}/libcephfs.so.*
%post -n libcephfs1 -p /sbin/ldconfig %post -n libcephfs2 -p /sbin/ldconfig
%postun -n libcephfs1 -p /sbin/ldconfig %postun -n libcephfs2 -p /sbin/ldconfig
%files -n libcephfs-devel %files -n libcephfs-devel
%defattr(-,root,root,-) %defattr(-,root,root,-)
%dir %{_includedir}/cephfs %dir %{_includedir}/cephfs
%{_includedir}/cephfs/libcephfs.h %{_includedir}/cephfs/libcephfs.h
%{_includedir}/cephfs/ceph_statx.h
%{_libdir}/libcephfs.so %{_libdir}/libcephfs.so
%files -n python-cephfs %files -n python-cephfs
@ -1597,3 +1763,4 @@ exit 0
%changelog %changelog
# nospeccleaner

View File

@ -1,48 +0,0 @@
# Don't run this manually. It's only here to be invoked inside the
# git checkout during `osc service dr`. Here's why:
#
# - cmake, when it runs to set up the build system, in turn invokes
# git to set CEPH_GIT_VER and CEPH_GIT_NICE_VER (src/CMakeLists.txt
# line 237+).
# - Those two variables are substituted into src/ceph_ver.h.in.cmake,
# generating build/src/include/ceph_ver.h.
# - When cmake is run inside OBS, it's working off a tarball, so
# there's no git repo information, so CEPH_GIT_VER ends up set to
# GITDIR-NOTFOUND, which breaks the build.
# - cmake *really* wants to be run from a git source checkout (at
# least insofar as getting the version stuff set up goes).
#
# This script uses the old src/make_version script to generate
# src/.git_version (which has the git commit hash on the first line
# and the pretty version on the second), then sed's these two values
# into src/ceph_ver.h.in.cmake in place of @CEPH_GIT_VER@ and
# @CEPH_GIT_NICE_VER@, so when cmake later runs as part of the build,
# it ends up (effectively) just copying that file to
# build/src/include/ceph_ver.h. It doesn't matter that cmake will
# still internally set CEPH_GIT_VER and CEPH_GIT_NICE_VER to bogus
# values, because we've already done the variable substitution.
#
# This script is invoked from the _service file via:
#
# <param name="commandtorun">sh ../../../ceph_ver_hack.sh</param>
#
# It works because the cloned git source ends up three directories
# under the OBS source checkout. I had previously tried to do the
# below three commands directly inside the "comandtorun" parameter,
# as follows:
#
# <param name="commandtorun">sh -c 'src/make_version -g src/.git_version ; sed -i \"s/@CEPH_GIT_VER@/$(head -n1 src/.git_version)/\" src/ceph_ver.h.in.cmake ; sed -i \"s/@CEPH_GIT_NICE_VER@/$(tail -n1 src/.git_version)/\" src/ceph_ver.h.in.cmake'</param>
#
# ...but that doesn't work, because obs-service-tar_scm runs
# str.split() on it, which splits on whitespace and thus totally
# breaks the big long string I'm trying to pass to `sh -c`.
#
# This is the nastiest hack I've written in recent memory. I'm
# very, very sorry.
#
# -- Tim Serong <tserong@suse.com>
#
src/make_version -g src/.git_version
sed -i "s/@CEPH_GIT_VER@/$(head -n1 src/.git_version)/" src/ceph_ver.h.in.cmake
sed -i "s/@CEPH_GIT_NICE_VER@/$(tail -n1 src/.git_version)/" src/ceph_ver.h.in.cmake

View File

@ -169,8 +169,11 @@ function transform_spec_file {
"Source0:"*) "Source0:"*)
line=`echo $line | sed 's/%{name}/ceph/g'` line=`echo $line | sed 's/%{name}/ceph/g'`
;; ;;
"ExclusiveArch:"*)
line=`echo $line | sed 's/s390\S*//g'`
;;
"%autosetup -p1") "%autosetup -p1")
line="$line -n ceph-%version" line="%autosetup -p1 -n ceph-%version"
;; ;;
"Requires:"*) "Requires:"*)
if [[ $in_package == false ]]; then if [[ $in_package == false ]]; then
@ -284,5 +287,4 @@ reqs=`get_package_requires $SPEC_FILE $PACKAGE`
transform_spec_file $SPEC_FILE $PACKAGE "$rm_files" "$summ" "$desc" "$reqs" > $PACKAGE.spec 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" "Source99: ceph-rpmlintrc" "_insert_obs_source_lines_here"
insert_line_before "${PACKAGE}.spec" "Source98: README-ceph-test.txt" "^Source99:" insert_line_before "${PACKAGE}.spec" "Source98: README-ceph-test.txt" "^Source99:"
insert_line_before "${PACKAGE}.spec" "Source97: ceph_ver_hack.sh" "^Source98:"
copy_changes_file $PACKAGE copy_changes_file $PACKAGE