Commit Graph

887 Commits

Author SHA1 Message Date
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
John Spray
2dbff88acc Merge pull request #10243 from jcsp/wip-cephfs-cleanup
CephFS: misc. cleanups and remove legacy cephfs tool

Reviewed-by: Nathan Cutler <ncutler@suse.com>
2016-07-25 15:20:42 +01: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
abe5da0e3a debian: do not run dh-python against non-python packages
some packages do not package python modules or scripts. so override
dh_python2 to exclude them.

this change silences warnings like:
```
warning: dpkg-gencontrol: package ceph-mon: unused substitution
variable ${python:Provides}
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-07-22 14:23:30 +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
John Spray
c76c31d312 tools: remove legacy cephfs tool
This has been deprecated for quite some time, in favour
of using proper vxattr and libcephfs interfaces.

Fixes: http://tracker.ceph.com/issues/16035
Signed-off-by: John Spray <john.spray@redhat.com>
2016-07-19 14:00:30 +01:00
Loic Dachary
b8a4ca7e4c Merge pull request #9885 from dachary/wip-16351-by-parttypeuuid
udev: always populate /dev/disk/by-parttypeuuid

Reviewed-by: Alexandre Derumier <aderumier@odiso.com>
2016-07-03 13:31:46 +02:00
Daniel Gryniewicz
4cb038c497 debian - set libexec dir to correct value as autotools did
Signed-off-by: Daniel Gryniewicz <dang@redhat.com>
2016-07-01 14:12:47 -04:00
Kefu Chai
45c05d4205 debian: package etc/init.d/ceph in ceph-base
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-30 02:20:28 +08:00
Sage Weil
97a9a7eb84 debian/rules: specify sysconf dir explicitly
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-29 22:26:24 +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
Sage Weil
8528aea8cf v11.0.0
Signed-off-by: Sage Weil <sage@redhat.com>
2016-06-28 11:43:46 -04:00
Loic Dachary
35004a628b udev: always populate /dev/disk/by-parttypeuuid
ceph-disk activate-all walks /dev/disk/by-parttypeuuid at boot time. It
is not necessary when udev fires ADD event for each partition and
95-ceph-osd.rules gets a chance to activate a ceph disk or journal.

There are various reasons why udev ADD events may not be fired at
boot (for instance Debian Jessi 8.5 never does it and CentOS 7.2 seems
to be racy in that regard when a LVM root is being used).

Populating /dev/disk/by-parttypeuuid fixes ceph-disk activate-all that
would not work without it. And it guarantees disks are activated at boot
time regardless of wether udev fires ADD events at the right time (or at
all).

The new udev file is a partial resurection of the
60-ceph-partuuid-workaround-rules that was removed by
9f77244b8e. It is given a name that
reflects its new purpose.

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

Signed-off-by: Loic Dachary <loic@dachary.org>
2016-06-23 09:37:05 +02: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
Kefu Chai
e00610a50f debian: add jh_depends for ${java:Depends}
this fixes:
warning: dpkg-gencontrol: Depends field of package libcephfs-java:
unknown substitution variable ${java:Depends}

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-18 23:54:59 +08:00
Kefu Chai
25dfbd09f4 Merge pull request #9476 from ceph/wip-no-unittests-in-deb
packaging: do not package unused unittests in deb

Reviewed-by: Sage Weil <sage@redhat.com>
2016-06-09 01:52:28 +08:00
Sage Weil
4dc3d08ef7 Merge pull request #9475 from tchaikov/wip-debian
debian: package compressor plugins and silence dpkg-shlibdeps warnings  

Reviewed-by: Sage Weil <sage@redhat.com>
2016-06-08 12:43:50 -04:00
Kefu Chai
70bbf1aded configure.ac,debian,rpm: do not package .a files in rpm/deb packages
this change removes *.a from -dev or -devel packages.

* configure.ac:
  - use LT_INIT instead of AM_PROG_LIBTOOL. the later is deprecated.
  - disable static lib:
    .a static libraries not not useful, it's tricky to generate both
    static libraries and shared libraries in cmake.
    see http://www.spinics.net/lists/ceph-devel/msg30637.html
* ceph.spec.in: fedora packaging policy forbids this
  see
  https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries
* debian/*-dev.install: debian does not requires this
  see
  https://www.debian.org/doc/debian-policy/ch-sharedlibs.html#s-sharedlibs-static

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-07 14:08:59 +08:00
Kefu Chai
4ba2bb750b debian: do not install *.la files
rationales:
* .la files are worthless
  see http://www.spinics.net/lists/ceph-devel/msg30637.html
* debian does not like it:
  see https://wiki.debian.org/ReleaseGoals/LAFileRemoval
* neither does fedora:
  https://fedoraproject.org/wiki/Packaging:Guidelines#Packaging_Static_Libraries
* also they are created by libtools, and cmake does not use libtools.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-07 14:08:59 +08:00
Kefu Chai
d596146e6d makefile,debian,rpm: do not package librgw_file* anymore
they are unit tests for rgw.

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-07 14:08:59 +08:00
Kefu Chai
52021ff9f0 makefile: install mount.fuse.ceph,mount.ceph into /usr/sbin
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-04 09:37:33 +08:00
Kefu Chai
33b64f5b0e debian: package compressor plugsin in ceph-common
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-03 15:40:34 +08:00
Kefu Chai
edeac4baed debian/rules: silence dpkg-shlibdeps warnings
plugins do have unresolved symbols. so exclude them from
dpkg-shlibdeps's scan list. this silences warnings like:

```
dpkg-shlibdeps: warning:
debian/ceph-base/usr/lib/ceph/erasure-code/libec_shec_generic.so.1.0.0
contains an unresolvable reference to symbol
_ZN4ceph6buffer3ptrC1EPNS0_3rawE: it's probably a plugin
```

Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-06-03 15:40:31 +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
Alexandre Derumier
13804fafd4 fix deb package /etc/default/ceph location
commit 7384a14f24 have introduce
the /etc/default/ceph file at a wrong location : /etc/default/ceph/ceph
2016-04-28 22:48:52 +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
Kefu Chai
f950a0a7f5 debian: install systemd target files
* enable it using dh_systemd_enable
* start the target using dh_systemd_start
* move the dh_installinit, dh_systemd_enable, dh_systemd_start calls
  down, so they can identify the service files if they care about them.

Fixes: http://tracker.ceph.com/issues/15573
Signed-off-by: Kefu Chai <kchai@redhat.com>
2016-04-28 10:02:08 +08: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
Sage Weil
b7afa78e22 Merge remote-tracking branch 'gh/jewel' 2016-04-21 07:39:36 -04:00
Jenkins Build Slave User
3a9fba20ec 10.2.0 2016-04-20 11:29:48 +00:00
Sage Weil
9f77244b8e udev: remove 60-ceph-partuuid-workaround-rules
These were added to get /dev/disk/by-partuuid/ symlinks to work on
wheezy.  They are no longer needed for the supported distros (el7+,
jessie+, trusty+), and they apparently break dm by opening devices they
should not.

Fixes: http://tracker.ceph.com/issues/15516
Signed-off-by: Sage Weil <sage@redhat.com>
2016-04-18 09:16:02 -04:00
Sage Weil
0cdf3bc875 debian: start ceph-mon-all and ceph-osd-all on package install
This matches ceph-mds-all and ceph-all behavior.

Fixes: http://tracker.ceph.com/issues/15098
Signed-off-by: Sage Weil <sage@redhat.com>
2016-04-15 11:46:56 -04:00
Jenkins Build Slave User
4a2a6f7264 10.1.2 2016-04-12 17:42:56 +00:00
Sage Weil
4e2a29ad4e Merge remote-tracking branch 'gh/jewel' 2016-04-11 08:38:27 -04:00
Sage Weil
9414befb89 debian/rules: include ceph-mds-*.conf upstart files in ceph-mds
These were lost by a typo in 0cbe3dea69

Fixes: http://tracker.ceph.com/issues/15395
Signed-off-by: Sage Weil <sage@redhat.com>
2016-04-06 08:55:49 -04:00
Jenkins Build Slave User
ce50389b77 10.1.1 2016-04-06 00:45:19 +00:00
Dan Mick
a29b96ad3a debian/rules: put init-ceph in /etc/init.d/ceph, not ceph-base
When the package name changed from ceph to ceph-base, dh_installinit
started installing the init script into /etc/init.d/ceph-base.  Fix
this by using --name ceph with dh_installinit, which requires
1) naming the .init file ceph-base.ceph.init, and
2) calling dh_installinit separately for each package

Fixes: http://tracker.ceph.com/issues/15329
Signed-off-by: Dan Mick <dan.mick@redhat.com>
2016-03-31 21:13:13 -07:00
Sage Weil
a0e5aa5c8a Merge remote-tracking branch 'gh/jewel' 2016-03-25 15:49:23 -04:00
Josh Durgin
20c86506ae Merge pull request #8224 from SUSE/wip-15212
rbdmap: add manpage

Reviewed-by: Boris Ranto <branto@redhat.com>
Reviewed-by: Josh Durgin <jdurgin@redhat.com>
2016-03-24 09:19:48 -07:00
Jenkins Build Slave User
96ae8bd25f 10.1.0 2016-03-24 10:53:48 +00: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
d01d983ad4 packaging: rbdmap manpage
Signed-off-by: Nathan Cutler <ncutler@suse.com>
2016-03-23 15:05:16 +01:00