Ensure that dh_systemd_* debhelpers are executed after dh_install
has installed the systemd unit and target definitions.
This ensures that targets are enabled by default once installed,
resolving issues with startup of ceph daemons on server reboot.
Fixes: http://tracker.ceph.com/issues/19585
Signed-off-by: James Page <james.page@ubuntu.com>
both Ubuntu and Debian put the logrotate script into
ceph-common, to ensure that radosgw logs are rotated as
well.
to prevent duplicate logrotate scripts handling the same log
files, and to minimize the delta between upstream and
downstream packaging, sync this change back upstream.
Fixes: http://tracker.ceph.com/issues/19938
Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
Allow boost build during toplevel cmake from Debian package build
to benefit from multiple processors. Should speed build a lot
on many-proc machines (say, arm64). Use argument passed to
debhelper.
Signed-off-by: Dan Mick <dan.mick@redhat.com>
so the subvar of ${python:Depends} and ${python3:Depends} can be set
properly. also this silences the warnings like
warning: dpkg-gencontrol: Depends field of package python3-rgw:
unknown substitution variable ${python3:Depends}
Signed-off-by: Kefu Chai <kchai@redhat.com>
libcephd is a library that contains ceph daemon code
that can be statically linked in other applications.
Added MergeStaticLibraries.cmake that can merge static libraries
to form a bigger one. This approach avoids the need to mess with
STATIC libraries all over the code base.
Signed-off-by: Bassam Tabbara <bassam.tabbara@quantum.com>
...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>
python3 is not a hard requirement to build ceph, so make it optional.
add an option named "WITH_PYTHON3" which accepts ON, OFF, or CHECK.
Fixes: http://tracker.ceph.com/issues/17103
Signed-off-by: Kefu Chai <kchai@redhat.com>
since we are not using subvar of ${shlibs:Depends} in python3-* packages,
just exclude them in dh_shlibdeps.
this silences warnings like
```
warning: dpkg-gencontrol: package python3-cephfs: unused substitution
variable ${shlibs:Depends}
```
Signed-off-by: Kefu Chai <kchai@redhat.com>
so we can use subvars like ${python3:Depends} in debian/control.
this silences the warnings like:
```
warning: dpkg-gencontrol: Depends field of package python3-cephfs:
unknown substitution variable ${python3:Depends}
```
Signed-off-by: Kefu Chai <kchai@redhat.com>
Stop shipping /etc/init.d/rbdmap in the Debian packages. Ship the
rbdmap.service systemd unit file instead.
The corresponding change has already been made for RPMs, in
9224ac2ad2.
For Upstart-based systems (eg Ubuntu Trusty), the Debian packages
already contain rbdmap.conf.
(This gets us a tiny bit closer to being able to remove the rbdmap SysV
script from our tree entirely.)
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
* 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>
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>
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>
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>
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>
* 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>
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>
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>
SUSE does not allow the use of /usr/libexec, so commit
69291f872e changed the RPM
packaging to put the libexec files into /usr/lib instead. Do the same
thing on Debian.
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>
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/10587Fixes: #10587
Signed-off-by: Ken Dreyer <kdreyer@redhat.com>