Commit Graph

455 Commits

Author SHA1 Message Date
Owen Synge
61240190c7 Added tmpfiles.d for rgw: templated user and group.
tmpfiles.d are part of system.d and define how temporary directories are setup.
rgw needs a socket directory. To do this we template tmpfiles.d user and group
for rgw and fill in the values using autotools.

Note1: Added to spec file.
Note2: Name changed to rgw from radosgw as is preferred name by Sage.
Note3: Adds configure options
    --with-rgw-user=UserName
    --with-rgw-group=GroupName
Note4: Defaults set for debian
Note5: spec file overrides defaults for redhat and suse

Signed-off-by: Owen Synge <osynge@suse.com>
2015-08-01 09:58:33 -04:00
Owen Synge
95db160da3 ceph.spec.in:Update rpm hooks and file content
Take rpm hooks from SUSE rpm and move upstream.
These are tested on SLE12 to include the correct files.

Signed-off-by: Owen Synge <osynge@suse.com>
2015-08-01 09:58:33 -04:00
Sage Weil
bbe84578bf remove rest-bench
This is a weak tool; users should look to cosbench or others instead.

Signed-off-by: Sage Weil <sage@redhat.com>
2015-07-30 13:21:36 -04:00
Ken Dreyer
b8671fd176 Merge pull request #5261 from SUSE/wip-drop-py-requires
ceph.spec.in: drop SUSE-specific %py_requires macro

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2015-07-23 07:48:12 -06:00
Ken Dreyer
fbbed3afaa Merge pull request #5263 from SUSE/wip-apache-not-required
ceph.spec.in: remove SUSE-specific apache2-mod_fcgid dependency

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2015-07-23 07:46:27 -06:00
Kefu Chai
50a33dea0a package ceph-monstore-update-crush.sh
Fixes: #11815
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-07-17 19:15:44 +08:00
Nathan Cutler
f3f8d3660d ceph.spec.in: remove SUSE-specific apache2-mod_fcgid dependency
This package is no longer required for RGW to work in SUSE.

http://tracker.ceph.com/issues/12358 Fixes: #12358

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-07-16 16:49:42 +02:00
Nathan Cutler
cbf6c7b46b ceph.spec.in: drop SUSE-specific %py_requires macro
%py_requires expands to

BuildRequires: /usr/bin/python
PreReq: python = 2.7

The BuildRequires: is already provided, and the PreReq is wrong because
e.g. SLE11-SP3 (a platform we are trying to support) has Python 2.6.

http://tracker.ceph.com/issues/12351 Fixes: #12351

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-07-16 14:18:12 +02:00
Kefu Chai
cfc9f493f6 packaging: package libcls_cephfs.so
Signed-off-by: Kefu Chai <kchai@redhat.com>
2015-07-16 14:21:03 +08:00
Ken Dreyer
c74a2f86a1 packaging: RGW depends on /etc/mime.types
If the mimecap RPM or mime-support DEB is not installed, then the
/etc/mime.types file is not present on the system. RGW attempts to read
this file during startup, and if the file is not present, RGW logs an
error:

  ext_mime_map_init(): failed to open file=/etc/mime.types ret=-2

Make the radosgw package depend on the mailcap/mime-support packages so
that /etc/mime.types is always available on RGW systems.

http://tracker.ceph.com/issues/11864 Fixes: #11864

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-07-15 09:14:15 -06:00
Gregory Farnum
d2f3ca8377 Merge pull request #4939 from ceph/wip-offline-backward
cephfs-data-scan (offline backward file recovery)

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-07-14 11:42:48 +01:00
Nathan Cutler
53072b9019 ceph.spec.in: do not run fdupes, even on SLE/openSUSE
In openSUSE there is a policy to use %fdupes in the spec file if RPMLINT
complains about duplicate files wasting space in the filesystem.

However, RPMLINT is not so complaining, so drop fdupes.

http://tracker.ceph.com/issues/12301 Fixes: #12301

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-07-13 18:17:22 +02:00
John Spray
cd6ead3583 packaging: add cephfs-data-scan
Signed-off-by: John Spray <john.spray@redhat.com>
2015-07-13 14:05:17 +01:00
Nathan Cutler
8a56c48259 packaging: add find and which dependencies
The postrotate script in src/logrotate.conf uses the which and find utilities
to do its work. Although logrotate itself is only a Recommends, I think which
and find are so ubiquitous that it makes sense to have them as hard
dependencies.

Also, I checked and the package names which and findutils are the same on all
the RPM distros we are currently targeting in the spec file.

In Debian, find is also in a package called findutils while the package
containing 'which' is called debianutils.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-07-09 21:59:39 +02:00
Ken Dreyer
6861db790a Merge pull request #5187 from SUSE/wip-12261
ceph.spec.in: install 95-ceph-osd.rules, mount.ceph, and mount.fuse.c…

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2015-07-09 13:44:57 -06:00
Ken Dreyer
ed6670fc1d Merge pull request #5181 from SUSE/wip-snappy-devel
ceph.spec.in: snappy-devel for all supported distros

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2015-07-09 13:43:41 -06:00
Ken Dreyer
52e1db9bf7 Merge pull request #5180 from SUSE/wip-add-missing-specfile-bit
ceph.spec.in: add missing -%{release}

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2015-07-09 13:42:42 -06:00
Ken Dreyer
6a6d82d92a Merge pull request #5076 from SUSE/wip-logrotate-hard-dependency
packaging: make logrotate a hard dependency across all distros

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>

 Conflicts:
	debian/control
2015-07-09 13:40:23 -06:00
Nathan Cutler
5ce38b9536 ceph.spec.in: install 95-ceph-osd.rules, mount.ceph, and mount.fuse.ceph properly on SUSE
http://tracker.ceph.com/issues/12261 Fixes: #12261

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-07-09 21:38:46 +02:00
Ken Dreyer
bc0992f2c0 Merge pull request #5079 from SUSE/wip-12166
ceph.spec.in: use %_udevrulesdir to eliminate conditionals
2015-07-09 12:55:54 -06:00
Ken Dreyer
90708bc806 Merge pull request #5126 from SUSE/wip-12201
ceph.spec.in: /var/run/ceph fixes

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
Reviewed-by: Boris Ranto <branto@redhat.com>
2015-07-09 10:32:31 -06:00
Nathan Cutler
8aa758ee7a ceph.spec.in: use _udevrulesdir to eliminate conditionals
The conditionals governing where 50-rbd.rules is installed were not doing the
right thing on SUSE distros.

Start using the %_udevrulesdir RPM macro, while taking care that it is defined
and set to the right value. Use it to eliminate some conditionals around other
udev rules files as well.

http://tracker.ceph.com/issues/12166 Fixes: #12166

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-07-09 18:17:55 +02:00
Nathan Cutler
e4634ddcc1 ceph.spec.in: snappy-devel for all supported distros
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-07-09 13:28:22 +02:00
Nathan Cutler
1abaebd869 ceph.spec.in: make /var/run/ceph conditional
/var/run/ceph should only be installed on Fedora, RH/CentOS, and
all supported SUSE distros that do not have systemd (e.g. SLE11-SP3).

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-07-09 12:44:19 +02:00
Nathan Cutler
d952d59ae9 ceph.spec.in: add missing -%{release}
We have it everywhere else and I can't think of any reason why
it should be omitted here.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-07-09 12:27:17 +02:00
Boris Ranto
7db8a6a1d1 Remove git build-time dependency
The git command is currently only needed in the src/make_version script.
However, we can simply avoid it by assuming that if the git command is
not installed then the current dir is not a git repo.

Signed-off-by: Boris Ranto <branto@redhat.com>
2015-07-08 17:16:29 +02:00
Nathan Cutler
4dd1e67de5 ceph.spec.in: fix _with_systemd conditional
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-07-03 10:18:44 +02:00
Ken Dreyer
69a22b2920 Merge pull request #5094 from SUSE/wip-sharutils-dupe
ceph.spec.in: remove duplicate BuildRequires: sharutils

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2015-06-29 13:27:28 -06:00
branto1
0537cf241c Merge pull request #5082 from ceph/wip-fedora-babeltrace
ceph.spec.in: fix babeltrace handling on Fedora

Reviewed-by: Ira Cooper ira@samba.org
Reviewed-by: Boris Ranto branto@redhat.com
2015-06-29 16:01:33 +02:00
Nathan Cutler
c418bd9615 ceph.spec.in: remove duplicate BuildRequires: sharutils
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-06-26 20:21:59 +02:00
Nathan Cutler
39c28b9faf ceph.spec.in: fix python-flask dependency for SUSE
In SLE and openSUSE, the package is called python-Flask with an upper-case F.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-06-26 20:12:45 +02:00
Ken Dreyer
909301917e Merge pull request #5086 from SUSE/wip-12173
logrotate.conf: fixes for systemd

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2015-06-26 11:49:59 -06:00
Nathan Cutler
05424a803b logrotate.conf: fixes for systemd
Before this patch, the command 'logrotate -f /etc/logrotate.d/ceph'
was generating an error "Failed to reload ceph.target: Job type reload is not
applicable for unit ceph.target".

Before we issue systemctl reload, check that there is at least
one active ceph-* service. (The hyphen is significant.)

Since we use grep, make the grep package a dependency.

http://tracker.ceph.com/issues/12173 Fixes: #12173

Signed-off-by: Tim Serong <tserong@suse.com>
Signed-off-by: Lars Marowsky-Bree <lmb@suse.com>
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-06-26 19:43:44 +02:00
Nathan Cutler
23171c9529 ceph.spec.in: python-argparse only in Python 2.6
argparse is a widely-used Python module for parsing command-line arguments.
Ceph makes heavy use of Python scripts, both in the build environment and on
cluster nodes and clients.

Until Python 2.6, argparse was distributed separately from Python proper.
As of 2.7 it is part of the Python standard library.

Although the python package in a given distro may or may not Provide:
python-argparse, this cannot be relied upon.

Therefore, this commit puts appropriate conditionals around Requires:
python-argparse and BuildRequires: python-argparse. It does so for Red
Hat/CentOS and SUSE only, because the last Fedora version with Python 2.6
was Fedora 13, which is EOL.

argparse is required by both the ceph and ceph-common packages, but since ceph
requires ceph-common, the argparse Requires and BuildRequires need only appear
once, under ceph-common.

http://tracker.ceph.com/issues/12034 Fixes: #12034

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-06-26 12:46:46 +02:00
Nathan Cutler
dd212fd1d3 ceph.spec.in: clarify two important comments
First, the terms "common" and "specific" are vague. Second,
"common" can easily be confused with the ceph-common subpackage.

Fix this by rephrasing to "distro-unconditional dependencies" and
"distro-conditional dependencies", respectively.

Third, move the "distro-unconditional dependencies" header so it
is above the part where these dependencies are actually defined.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-06-25 19:55:12 +02:00
Ken Dreyer
c0ace46cc2 Merge pull request #4942 from SUSE/wip-11991
rpm: add missing Java conditionals

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2015-06-25 10:47:21 -06:00
Nathan Cutler
0734cd1ec3 packaging: make logrotate a hard dependency across all distros
Given ceph's reputation for voluminous logs, it makes sense for
logrotate to be a hard dependency for all distros.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2015-06-25 16:55:10 +02:00
Ken Dreyer
f3e4a91c45 ceph.spec.in: rm reference to EOL Fedoras (< 20)
Fedora 19 is EOL, so there's no need to refer to Fedoras less than 20.
"%{fedora}" effectively implies "Fedora 20 and above".

Reported-by: Ira Cooper <ira@samba.org>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-06-24 16:43:53 -06:00
Ken Dreyer
2db9480fa2 ceph.spec.in: package rbd-replay-prep on all Fedoras
This reverts the change in commit
85517d611b. Since we BuildRequire:
libbabeltrace-devel, autoconf will see that babeltrace is available
during the build, and make will build/install the rbd-replay-prep
utility.

This change also simplifies Fedora selection logic, because Fedora 19 is
EOL, so "%{fedora}" implies "Fedora 20 and above".

Reported-by: Ira Cooper <ira@samba.org>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2015-06-24 16:43:30 -06:00
Ken Dreyer
b5e5778b20 Merge pull request #4981 from ceph/wip-fedora-build-fixes
Fix various issues with fedora (f21+) builds

Reviewed-by: Ken Dreyer <kdreyer@redhat.com>
2015-06-24 14:04:16 -06:00
Owen Synge
43c1784640 ceph.spec.in:BuildRequires sharutils
The uudecode binary is used to build Java-related components, and
uudecode is provided by the sharutils package on all supported
RPM platforms. When building with "--without=cephfs_java",
sharutils is not needed.

Thanks to Nathan Cutler <ncutler@suse.cz> for going into the
details with me.

On OBS without this patch we get the error message:

[  170s] -----------------------------------------------------------------
[  170s] ----- building ceph.spec (user abuild)
[  170s] -----------------------------------------------------------------
[  170s] -----------------------------------------------------------------
[  170s] + exec rpmbuild -ba --define '_srcdefattr (-,root,root)' --nosignature --define 'disturl obs://build.opensuse.org/home:osynge:ceph:wip:wip_obs_fedora/Fedora_20/c0bbbc1e62228ca956ac3d367edc4fba-master' /home/abuild/rpmbuild/SOURCES/ceph.spec
[  170s] error: Failed build dependencies:
[  170s]    sharutils is needed by ceph-1:2+git.1435043747.c1bd02c-1.1.x86_64

With this patch we can build fedora 22 and fedora 20 rpms fine.

Signed-off-by: Owen Synge <osynge@suse.com>
2015-06-24 12:50:11 +02:00
branto1
02ef5cf9b3 Merge pull request #4918 from SUSE/wip_ceph_spec_directories_not_owned_by_a_package
ceph.spec.in: fix:Add missing directories breaking suse rpm build

Reviewed-by: Boris Ranto <branto@redhat.com>
2015-06-19 11:54:29 +02:00
Owen Synge
f1ff3e4dcb ceph.spec.in: fix:Add missing directories breaking build
SUSE builds on OBS are failing with the missing dir entries:

    /usr/share/ceph
    /usr/lib/ceph

On suse these correspond to:

    %dir %{_datarootdir}/ceph/
    %dir %{_libexecdir}/ceph/

Signed-off-by: Owen Synge <osynge@suse.com>
2015-06-19 11:22:19 +02:00
Boris Ranto
85517d611b ceph.spec.in: rbd-replay-prep is not being built on f21+
Signed-off-by: Boris Ranto <branto@redhat.com>
2015-06-18 20:04:57 +02:00
Boris Ranto
15e9e3d497 ceph.spec.in: Require git distro-wide
Git is not a SUSE-only dependency, the build process itself requires it.

Signed-off-by: Boris Ranto <branto@redhat.com>
2015-06-18 20:00:09 +02:00
Gregory Farnum
459369e700 Merge pull request #4931 from yuyuyu101/wip-perf-msgr
PerfMsgr: A tool to benchmark messenger module

Reviewed-by: Greg Farnum <gfarnum@redhat.com>
2015-06-18 11:09:56 +01:00
branto1
c7da8b29b0 Merge pull request #4920 from SUSE/wip_ceph_spec_mandir
The file lists in spec files do expect that man pages are built so we better explicitly state that intention in spec file.
2015-06-17 16:16:26 +02:00
Owen Synge
5e756ed371 ceph_spec buildep python sphinx for fedora
Fedora, suse as well as centos >= 7 and rhel >= 7
use the same name for python-sphinx so add these
conditionals.

Note: Until OBS supports EPEL I cant test builds on
centos and rhel so this extention of build deps is
untested by Owen Synge.

Signed-off-by: Owen Synge <osynge@suse.com>
2015-06-17 15:40:17 +02:00
Owen Synge
26eba36f4e Bug fix for man file packaging.
Always compile and install man pages when making rpm.

Signed-off-by: Owen Synge <osynge@suse.com>
2015-06-16 22:38:02 +02:00
Owen Synge
18ba022617 Bug fix for man file packaging.
explicitly included man pages.

Original fix used %{_mandir}/*/* but this could potentially lead to ambiguity
as ceph rpm spec file contains many man pages for different packages.

Signed-off-by: Owen Synge <osynge@suse.com>
2015-06-16 17:49:38 +02:00