Skip to content

Commit

Permalink
configure/packaging: introduce Cython dependency
Browse files Browse the repository at this point in the history
To prepare for the migration of rbd.py to Cython, add Cython as a package
dependency and have the configure script look for it.

Also adds Cython as a dependency for admin/build-doc, and changes the
virtualenv to allow usage of system packages (to avoid having to compile
Cython inside the virtualenv).

With contributions by Josh Durgin <[email protected]>

Signed-off-by: Hector Martin <[email protected]>
  • Loading branch information
marcan committed Dec 1, 2015
1 parent 9bd4f74 commit 5113c96
Show file tree
Hide file tree
Showing 4 changed files with 20 additions and 4 deletions.
8 changes: 4 additions & 4 deletions admin/build-doc
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ TOPDIR=`pwd`
install -d -m0755 build-doc

if command -v dpkg >/dev/null; then
for package in python-dev python-pip python-virtualenv doxygen ditaa ant libxml2-dev libxslt1-dev; do
for package in python-dev python-pip python-virtualenv doxygen ditaa ant libxml2-dev libxslt1-dev cython; do
if [ "$(dpkg --status -- $package|sed -n 's/^Status: //p')" != "install ok installed" ]; then
# add a space after old values
missing="${missing:+$missing }$package"
Expand All @@ -19,7 +19,7 @@ if command -v dpkg >/dev/null; then
exit 1
fi
elif command -v yum >/dev/null; then
for package in python-devel python-pip python-virtualenv doxygen ditaa ant libxml-devel libxslt-devel; do
for package in python-devel python-pip python-virtualenv doxygen ditaa ant libxml-devel libxslt-devel Cython; do
if ! rpm -q $package >/dev/null ; then
missing="${missing:+$missing }$package"
fi
Expand All @@ -30,7 +30,7 @@ elif command -v yum >/dev/null; then
exit 1
fi
else
for command in virtualenv doxygen ant ditaa; do
for command in virtualenv doxygen ant ditaa cython; do
command -v "$command" > /dev/null;
ret_code=$?
if [ $ret_code -ne 0 ]; then
Expand All @@ -56,7 +56,7 @@ cd build-doc
[ -z "$vdir" ] && vdir="./virtualenv"

if [ ! -e $vdir ]; then
virtualenv --no-site-packages $vdir
virtualenv --system-site-packages $vdir
fi
$vdir/bin/pip install --quiet -r ../admin/doc-requirements.txt

Expand Down
1 change: 1 addition & 0 deletions ceph.spec.in
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ BuildRequires: boost-devel
BuildRequires: cmake
BuildRequires: cryptsetup
BuildRequires: fuse-devel
BuildRequires: Cython
BuildRequires: gdbm
BuildRequires: hdparm
BuildRequires: leveldb-devel > 1.2
Expand Down
14 changes: 14 additions & 0 deletions configure.ac
Original file line number Diff line number Diff line change
Expand Up @@ -125,6 +125,12 @@ AC_ARG_WITH([rbd],
AM_CONDITIONAL(WITH_RBD, test "$with_rbd" = "yes")
#AS_IF([test "$with_rbd" = "yes"], [AC_DEFINE([WITH_RADOS, WITH_RBD])])

AC_ARG_WITH([cython],
[AS_HELP_STRING([--with-cython], [build python bindings for librbd])],
[],
[with_cython=yes])
AM_CONDITIONAL(WITH_CYTHON, test "$with_cython" = "yes")

# cephfs?
# cephfs requires rados
AC_ARG_WITH([cephfs],
Expand Down Expand Up @@ -201,6 +207,14 @@ AC_ARG_ENABLE([server],
AM_CONDITIONAL(ENABLE_SERVER, test "$enable_server" = "yes")
#AS_IF([test "$enable_server" = "yes"], [AC_DEFINE([WITH_MON, WITH_OSD, WITH_MDS, ENABLE_SERVER])])

# cython is required to build librbd python bindings
if test x"$with_cython" = xyes; then
AC_CHECK_PROG(CYTHON_CHECK, cython, yes)
if test x"$CYTHON_CHECK" != xyes; then
AC_MSG_FAILURE([cython not found])
fi
fi

# cond-check if snappy-devel is installed, needed by leveldb that is need by server parts of the project
AS_IF([test "$enable_server" = "yes" -a \( "$with_osd" = "yes" -o "$with_mon" = "yes" \)],
[AC_CHECK_LIB([snappy], [snappy_compress], [true], [AC_MSG_FAILURE([libsnappy not found])])])
Expand Down
1 change: 1 addition & 0 deletions debian/control
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ Build-Depends: autoconf,
libbz2-dev,
cmake,
cryptsetup-bin | cryptsetup,
cython,
debhelper (>= 6.0.7~),
default-jdk,
git,
Expand Down

0 comments on commit 5113c96

Please sign in to comment.