Commit Graph

282 Commits

Author SHA1 Message Date
Casey Bodley
96923c726c deb: update python-rgw dependencies to librgw2
Signed-off-by: Casey Bodley <cbodley@redhat.com>
2016-11-09 17:33:13 -05:00
Sage Weil
ffc3dd6e9a debian: add python-rgw package
Signed-off-by: Sage Weil <sage@redhat.com>
2016-11-09 12:22:46 -05:00
John Spray
f80c7a8f20 Merge pull request #11647 from ceph/wip-jlayton-cephfs
libcephfs client API overhaul and update

Reviewed-by: John Spray <john.spray@redhat.com>
2016-11-07 21:07:40 +01:00
Yuri Weinstein
a7dae73800 Merge pull request #11365 from badone/wip-lsb_release-remove
common: Remove the runtime dependency on lsb_release

Reviewed-by: Sage Weil <sage@redhat.com>
Reviewed-by: Ken Dreyer (Red Hat) <kdreyer@redhat.com>
2016-10-31 15:29:25 -07:00
Jeff Layton
c078dc0daa dpkg: libcephfs1 -> libcephfs2 package rename
Signed-off-by: Jeff Layton <jlayton@redhat.com>
2016-10-25 13:06:29 -04:00
Nathan Cutler
26f0ebd1d4 build/ops: deb: add python dependencies where needed
this reverts 48f4576 and f140a8c

Fixes: http://tracker.ceph.com/issues/17579
Signed-off-by: Nathan Cutler <ncutler@suse.com>
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-10-19 13:43:07 +02:00
Nathan Cutler
fcdef1e9a8 build/ops: deb: put depends on separate lines
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-10-19 13:43:07 +02:00
Brad Hubbard
8b1a57fd34 common: Remove the runtime dependency on lsb_release
With modern releases we should be able to make do with the call to
os_release_parse only which uses /etc/os-release which should be available on
most (all?) releases we currently support. this then allows us to remove the
runtime dependency which pulls in several other packages and would be nice to
avoid.

Fixes: http://tracker.ceph.com/issues/17425
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2016-10-07 14:54:06 +10:00
John Spray
042b6b4454 packaging: add debian packaging for ceph-mgr
...at least, try to!  This is a copy-paste of the ceph-mds
packaging with a search and replace mds to mgr.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-09-29 17:27:17 +01:00
John Spray
88977572f9 packaging: add boost-python dependency
Although ceph-mgr isn't packaged yet, builders
use these files to cue installation of dependencies.

Signed-off-by: John Spray <john.spray@redhat.com>
2016-09-29 17:27:05 +01:00
Brad Hubbard
7e71cd2c81 Remove dependency on sdparm/hdparm
The code requiring a dependency on hdparm has been removed so we can remove it
as a dependency.

Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
2016-09-14 21:33:36 +10:00
Kefu Chai
2e3b23a7f4 debian: drop python-argparse dependency
and bump up the dependency of python version to 2.7.
py2.6 support was only necessary for older (now unsupported) distro
versions.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-08-19 10:43:51 +08:00
Oleh Prypin
d91d89b718 debian: Add packages for Python 3 bindings
Signed-off-by: Oleh Prypin <oleh@pryp.in>
2016-08-11 16:36:57 +03:00
Nathan Cutler
df14dbf639 deb: merge ceph-fs-common into ceph-common
Fixes: http://tracker.ceph.com/issues/16808
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-07-26 12:45:31 +02:00
Kefu Chai
f11acf2b15 debian: use python:Depends for ceph-{common,base,osd}'s deps
* ceph-base: use ${python:Depends} instead of listing the python
  dependencies manually, dh_python2 will scan the requirements
  of ceph-detect-init. and fill the subst var for us.
* ceph-common: add ${python:Depends}, as it packages ceph,
  and ceph-brag client.
* ceph-osd: it packages ceph-disk, so should add ${python:Depends}
  as its dependencies.

dh_python2 will figure them out.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-22 15:02:12 +08:00
Kefu Chai
7db7f236b3 debian: depends on python-all-dev instead of python-dev
* debian/control: Build-Depends: s/python-dev/python-all-dev/, per
    https://wiki.debian.org/Python/FAQ#Build_dependencies

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-22 15:02:12 +08:00
Kefu Chai
48f4576de1 debian: remove ${shlibs:Depends} from python-* packages
* debian/control:
  as we have listed the linked libraries in Depends section, for example,
  python-rados depends on librados. and we don't need `dpkg-shlibdeps` to
  help figure out shared library substvar dependencies for us. by removing
  them, we can silence the warnings of
```
warning: dpkg-shlibdeps: package could avoid a useless dependency if
debian/python-rados/usr/lib/python2.7/dist-packages/rados.x86_64-linux-gnu.so
was not linked against libpthread.so.0 (it uses none of the library's
symbols)
```
  -lpthread is introduced by `python-config --ldflags` but it turns out we
  are not using any symbols from pthread in the extension directly. and
  pthread is included in glibc. so this does not added any extra
  dependency to python-* pacakges. but it's desirable to have less
  warnings.
* debian/rules: exclude python-* packages from dh_shlibdeps, as we will
  not use it to prepare the shlib deps substvars for these packages any
  more.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-22 15:02:12 +08:00
Kefu Chai
c1c6cfc49c debian: bump compat to 9
dh_auto_configure set -DCMAKE_BUILD_TYPE=None so the default does not
take effect at all. this is on purpose, see [1].

and dpkg-buildflags is able to produce the suggested compiling flags by
debian policy. dh_* can pass these flags to cmake only if it works at
compat>=9, see [2].

and we are safe to move to compat 9, as jewel's supported debian based
distro is jessie (with debhelper 9.20150101), ubuntu trusty (with
debhelper 9.20131227ubuntu1)

---
[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=701233#35
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=653916

Fixes: http://tracker.ceph.com/issues/16744
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-21 02:02:58 +08:00
Kefu Chai
a6e9379231 debian/rules: build deb with cmake
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-29 22:26:24 +08:00
Kefu Chai
457ddea9c8 debian/rules: package in a more debhelper way
this helps to keep the build rule simpler, and easier to customize

* -j$(NUMJOBS) is taken care of by 'dh --parallel'
* use 'autoreconf' dh add-on to autoconf cleanup
* add dh-autoreconf to Build-Depends
* bump debhelper compatibility level to 8, as jewel's supported
  debian based distro is jessie (with debhelper 9.20150101),
  ubuntu trusty (with debhelper 9.20131227ubuntu1)

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-29 16:12:24 +08:00
Kefu Chai
f369f4d585 debian: move libcephfs-jni to section "java"
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-18 23:55:00 +08:00
Kefu Chai
62d4aab325 debian: remove X-Python-Version section
it's obsolete and can be removed now,
see
https://www.debian.org/doc/packaging-manuals/python-policy/ch-module_packages.html#s-specifying_versions

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-18 23:55:00 +08:00
Kefu Chai
2454bda3f3 debian: add ${shlibs:Depends} to binary packages' Depends
rationale
* this fixes:
  warning: dpkg-gencontrol: package python-rbd: unused substitution
  variable ${shlibs:Depends}
* and to comply to debian policy. see
  https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-dpkg-shlibdeps

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-18 23:54:59 +08:00
Ken Dreyer
115349680b packaging: move parted requirement to -osd subpkg
Prior to this change, ceph-base required the "parted" package, which
meant that any installation of ceph-osd, ceph-mon, or ceph-mds would
pull in the parted package.

Move the parted dependency to ceph-osd, since ceph-disk is the only
thing that uses parted.

The advantage of this change is that Mon and MDS systems will not need
to install the parted package.

Fixes: http://tracker.ceph.com/issues/16095

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2016-05-31 17:51:55 -06:00
Ken Dreyer
4353eb2721 packaging: drop python-flask dependency from radosgw
The PowerDNS integration code itself is not packaged at this point, so
remove the python-flask dependency from the radosgw package.

Maybe the PowerDNS integration bits could live in a separate
sub-package, eventually.

Fixes: http://tracker.ceph.com/issues/16032
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2016-05-25 23:28:09 -06:00
Sage Weil
266ccccccf debian,rpm: add jq build dependency
Needed since db517ba917.

Signed-off-by: Sage Weil <sage@redhat.com>
2016-05-06 13:44:16 +02:00
Sage Weil
89154d1e01 debian/control: dh_systemd_start is in the dh-systemd package
Fixes: http://tracker.ceph.com/issues/15573
Signed-off-by: Sage Weil <sage@redhat.com>
2016-04-28 09:13:50 -04:00
Nathan Cutler
f27cda03b7 deb: make ceph-base and radosgw recommend time-daemon
References: http://tracker.ceph.com/issues/15419

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-04-25 22:16:15 +02:00
Dan Mick
fa05d802c6 debian/control: try installing virtualenv first, if it exists
Debian Jessie (at least) now has the virtualenv command in
package 'virtualenv', which depends on python3-virtualenv, and
that's how you get the virtualenv command there.  Earlier
Debian-based releases still use python-virtualenv.  Jessie's
virtualenv command still creates a python2 venv by default.

This will require a followup fix for install-deps.sh
to handle the | correctly, because currently it sends
the string to apt-get, which treats it as a regular expression
alternation of the two package names, so will try to install both.

The problem occurs when packages are installed without Recommended
packages (because jessie's virtualenv package currently Recommends
python-virtualenv); this is the case under pbuilder, and also using
'mk-build-deps --install', and I suspect under other automated
package-building tools.

Note that Build-Requires processing is not specified to
perform the searches in left-to-right order, so even this is
a tenuous workaround.  We probably need distro-specific
debian/ directories.

Signed-off-by: Dan Mick <dan.mick@redhat.com>
2016-03-23 17:38:12 -07:00
Loic Dachary
eb583cbbbf build/ops: in jessie virtualenv is in package virtualenv
The python scripts are not yet compatible with python3, yet it is the
default on jessie. Force the creation of the virtualenv to use python2.7
instead. The wheelhouse is already explicitly populated for both python3
and python2.7 by install-deps.sh, regardless of the default interpreter.

Signed-off-by: Loic Dachary <loic@dachary.org>
2016-03-23 19:56:11 +01:00
Nathan Cutler
c4364b13b7 packaging: align radosgw package description
First, make the Debian package description mention that RGW aims to
implement the Swift API.

Second, replace the RPM package description with the Debian one, both for
consistency and because the Debian one is better.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-19 22:43:53 +01:00
Sage Weil
5b18de23b5 Merge remote-tracking branch 'gh/wip-strict-debian-deps' 2016-03-17 17:53:23 -04:00
Yehuda Sadeh
5077d729cb Merge remote-tracking branch 'origin/master' into wip-rgw-ldap 2016-03-12 15:17:03 -08:00
Matt Benjamin
de8367bc27 rgw: require openldap library client headers
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-03-12 13:02:58 -08:00
Sage Weil
41cf56062b Merge remote-tracking branch 'gh/jewel' 2016-03-12 09:03:06 -05:00
Nathan Cutler
a230a3839d debian: make infernalis -> jewel upgrade work
Attempts to install jewel ceph-common, ceph-mon, ceph-osd, and ceph-base
package over infernalis ceph package fail due to files existing in both.

See comment #4 in the tracker issue for a deeper analysis.

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

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-12 00:22:07 +01:00
Sage Weil
57c6d3b67a Merge branch 'debian-stretch-dep-fix' of git://github.com/rldleblanc/ceph
Reviewed-by: Sage Weil <sage@redhat.com>
# Conflicts:
#	debian/control
2016-03-11 11:14:18 -05:00
Erwan Velu
7d48d21a53 packaging: Adding btrfs build require
When doing a 'make check', 'qa/workunits/ceph-helpers.sh' does expect the 'btrfs'
command to be available. If not, that make many tests failing.

Signed-off-by: Erwan Velu <erwan@redhat.com>
2016-03-07 20:27:06 +01:00
Ken Dreyer
11b1cdc649 debian: tighten sub-package version dependencies
Prior to this change, users could possibly install some ceph
sub-packages with differing versions. Make each sub-package explicitly
depend on a particular version of its dependencies.

I've purposly excluded ceph-test's dependencies for now (see
http://tracker.ceph.com/issues/10989 for background.)

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2016-03-04 07:57:36 -07:00
Sage Weil
2786f0bf11 Merge remote-tracking branch 'gh/jewel' 2016-03-02 09:22:28 -05:00
Nathan Cutler
b87f4efb56 packaging: lsb_release build and runtime dependency
The lsb_release executable is being run in multiple places, not least in
src/common/util.cc, which calls it via shell in the collect_sys_info() code
path.

This patch addresses this issue on SUSE- and Debian-derivatives, as well
as reinstating the dependency for RHEL/Fedora after it was dropped in
1560057226.

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

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-01 15:14:46 +01:00
Robert LeBlanc
b4f19352bc Python-argparse is a virtual package which stretch wants you to pick
a real package to satisfy the dependency.

Signed-off-by: Robert LeBlanc <robert.leblanc@endurance.com>
2016-02-27 17:16:18 +00:00
Nathan Cutler
cba211dfa8 packaging: pkg_resources.py runtime dependency
ceph-detect-init uses pkg_resources.py

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

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-27 14:59:54 +01:00
Nathan Cutler
1a0bb0f687 packaging: move python-flask runtime dependency to ceph-mon, radosgw
Flask is used by MON (in the Ceph REST API) and by RGW (powerdns).
Therefore, it only needs to be in the ceph-mon and ceph-radosgw packages.

Also, this commit encloses the specification of the python-flask runtime
dependency in distro-conditional blocks to account for a minor difference
in the package name between RHEL and SUSE.

Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-02-27 14:59:54 +01:00
Ali Maredia
d4dd0f495b debian: remove ceph-dbg package and any traces of it
Signed-off-by: Ali Maredia <amaredia@redhat.com>
2016-02-26 13:17:25 -05:00
Ken Dreyer
3fc7fdba91 debian: remove ceph-base's dependency on -mon and -osd
The ceph-base package contains files shared between the -mon, -osd, and
-mds. In other words, the MON, OSD, and MDS servers depend on ceph-base,
but ceph-base should not depend on the leaf packages.

Reported-by: Kefu Chai <kchai@redhat.com>
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2016-02-26 10:51:39 -07:00
Sage Weil
aa92f9dff0 rgw: link against system openssl (instead of dlopen at runtime)
Signed-off-by: Sage Weil <sage@redhat.com>
2016-02-25 11:44:10 -08:00
Ali Maredia
0cbe3dea69 debian/rpm: split mon/osd/mds server packages
Split up the "ceph" package into four new packages:

  1. ceph-mon
  2. ceph-osd
  3. ceph-mds (already done on Debian)
  4. ceph-base (files shared among multiple servers)

and then:

  5. Make "ceph" into a metapackage that depends on both -mon and -osd
    (and -mds, for RPMs).

To describe the outcome of this change another way:

  For RPMs:
  - "ceph-{mon,osd,mds}" Require: ceph-base.
  - "ceph" will become a metapackage that Requires: ceph-{mon,osd,mds}.

  For DEBs:
  - "ceph-{mon,osd,mds}" will Depends: ceph-base.
  - "ceph" will become a metapackage that Depends: ceph-{mon,osd}.
  - "ceph" will continue to Recommends: ceph-mds

New users should "yum install ceph-mon" or "yum install ceph-osd" (or
"apt-get install ceph-mon", etc) in order to install the exact daemons
that they need.

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

Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
2016-02-24 16:47:34 -05:00
Matt Benjamin
85e4febb17 librgw: fix new Debian control entries
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-02-12 13:07:28 -05:00
Matt Benjamin
de0f86691b librgw: add debian and rpm packaging
Signed-off-by: Matt Benjamin <mbenjamin@redhat.com>
2016-02-12 13:07:24 -05:00