summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2012-12-20 10:49:34 -0800
committerSage Weil <sage@inktank.com>2012-12-20 10:49:34 -0800
commitf38d891138bc59809a6daf389ed3f66e81357daa (patch)
treeb81311ecf90d7fa96942dae015a49d38078df813
parenta803159b02abec070ef2561591d4779fb894af42 (diff)
parentd9c2396b550a13b6f1018e02c2ef92abdcce92cf (diff)
downloadceph-f38d891138bc59809a6daf389ed3f66e81357daa.tar.gz
Merge branch 'wip-build-fixes' into next
-rw-r--r--ceph.spec.in50
-rw-r--r--debian/control2
-rwxr-xr-xdebian/rules52
3 files changed, 82 insertions, 22 deletions
diff --git a/ceph.spec.in b/ceph.spec.in
index ba1cce459bc..7aae6fefedb 100644
--- a/ceph.spec.in
+++ b/ceph.spec.in
@@ -74,6 +74,9 @@ performance, reliability, and scalability.
Summary: Ceph fuse-based client
Group: System Environment/Base
Requires: %{name}
+Requires: fuse-libs
+Requires: libstdc++
+Requires: libuuid
BuildRequires: fuse-devel
%description fuse
FUSE based client for Ceph distributed network file system
@@ -186,8 +189,26 @@ Requires: libcephfs1 = %{version}-%{release}
%description -n ceph-test
This package contains Ceph benchmarks and test tools.
-# Enable building of debug package on distributions that don't automatically
-# build it.
+%package -n libcephfs-jni
+Summary: Java Native Interface library for CephFS Java bindings.
+Group: System Environment/Libraries
+License: LGPL-2.0
+Requires: java
+Requires: libcephfs1 = %{version}-%{release}
+BuildRequires: java-devel
+%description -n libcephfs-jni
+This package contains the Java Native Interface library for CephFS Java
+bindings.
+
+%package -n libcephfs-java
+Summary: Java libraries for the Ceph File System.
+Group: System Environment/Libraries
+License: LGPL-2.0
+Requires: java
+Requires: libcephfs-jni = %{version}-%{release}-
+BuildRequires: java-devel
+%description -n libcephfs-java
+This package contains the Java libraries for the Ceph File System.
%if (0%{?centos} || 0%{?opensuse} || 0%{?suse_version})
%debug_package
@@ -200,6 +221,11 @@ This package contains Ceph benchmarks and test tools.
%setup -q
%build
+# Find jni.h
+for i in /usr/{lib64,lib}/jvm/java/include{,/linux}; do
+ [ -d $i ] && java_inc="$java_inc -I$i"
+done
+
./autogen.sh
MY_CONF_OPT=""
@@ -209,7 +235,8 @@ export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'`
# be explicit about --with/without-tcmalloc because the
# autoconf default differs from what's needed for rpm
-%{configure} --prefix=/usr \
+%{configure} CPPFLAGS="$java_inc" \
+ --prefix=/usr \
--sbindir=/sbin \
--localstatedir=/var \
--sysconfdir=/etc \
@@ -219,6 +246,7 @@ export RPM_OPT_FLAGS=`echo $RPM_OPT_FLAGS | sed -e 's/i386/i486/'`
--without-cryptopp \
--with-rest-bench \
--with-debug \
+ --enable-cephfs-java \
$MY_CONF_OPT \
%{?_with_ocf} \
%{?with_tcmalloc:--with-tcmalloc} %{!?with_tcmalloc:--without-tcmalloc} \
@@ -250,6 +278,13 @@ mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/log/ceph/
mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/ceph/
mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/ceph/
+# Relocate java packages to expected locations in buildroot.
+mkdir -p $RPM_BUILD_ROOT/usr/lib/jni
+mv $RPM_BUILD_ROOT/usr/lib64/libcephfs_jni.so* $RPM_BUILD_ROOT/usr/lib/jni/.
+mkdir -p $RPM_BUILD_ROOT/usr/share/java
+mv $RPM_BUILD_ROOT/usr/lib64/libcephfs.jar $RPM_BUILD_ROOT/usr/share/java/.
+mv $RPM_BUILD_ROOT/usr/lib64/libcephfs-test.jar $RPM_BUILD_ROOT/usr/share/java/.
+
%clean
rm -rf $RPM_BUILD_ROOT
@@ -520,4 +555,13 @@ fi
%{_bindir}/tpbench
%{_bindir}/xattr_bench
+%files -n libcephfs-jni
+%defattr(-,root,root,-)
+/usr/lib/jni/libcephfs_jni.so*
+
+%files -n libcephfs-java
+%defattr(-,root,root,-)
+/usr/share/java/libcephfs.jar
+/usr/share/java/libcephfs-test.jar
+
%changelog
diff --git a/debian/control b/debian/control
index 2f0c311225f..2ad36d94acb 100644
--- a/debian/control
+++ b/debian/control
@@ -6,7 +6,7 @@ Vcs-Git: git://github.com/ceph/ceph.git
Vcs-Browser: https://github.com/ceph/ceph
Maintainer: Laszlo Boszormenyi (GCS) <gcs@debian.hu>
Uploaders: Sage Weil <sage@newdream.net>
-Build-Depends: debhelper (>= 6.0.7~), autotools-dev, autoconf, automake, libfuse-dev, libboost-dev (>= 1.34), libboost-thread-dev, libedit-dev, libnss3-dev, libtool, libexpat1-dev, libfcgi-dev, libatomic-ops-dev, libgoogle-perftools-dev [i386 amd64], pkg-config, libcurl4-gnutls-dev, libkeyutils-dev, uuid-dev, libaio-dev, python (>= 2.6.6-3~), libxml2-dev, javahelper, default-jdk
+Build-Depends: debhelper (>= 6.0.7~), autotools-dev, autoconf, automake, libfuse-dev, libboost-dev (>= 1.34), libboost-thread-dev, libedit-dev, libnss3-dev, libtool, libexpat1-dev, libfcgi-dev, libatomic-ops-dev, libgoogle-perftools-dev [i386 amd64], pkg-config, libcurl4-gnutls-dev, libkeyutils-dev, uuid-dev, libaio-dev, python (>= 2.6.6-3~), libxml2-dev, javahelper, default-jdk, junit4, libboost-program-options-dev
Standards-Version: 3.9.3
Package: ceph
diff --git a/debian/rules b/debian/rules
index 32380a41850..8f0b4ef2762 100755
--- a/debian/rules
+++ b/debian/rules
@@ -94,28 +94,44 @@ install: build
# Add here commands to install the package into debian/testpack.
# Build architecture-independent files here.
binary-indep: build install
+ dh_testdir
+ dh_testroot
jh_installlibs -v -i
+ dh_installchangelogs -i
+ dh_installdocs -i --all ChangeLog
+ dh_installexamples -i
+ dh_install -i --sourcedir=$(DESTDIR) --list-missing
+ dh_installman -i
+ dh_lintian -i
+ dh_link -i
+ dh_compress -i
+ dh_fixperms -i
+ dh_python2 -i
+ dh_installdeb -i
+ dh_gencontrol -i
+ dh_md5sums -i
+ dh_builddeb -i
# We have nothing to do by default.
# Build architecture-dependent files here.
binary-arch: build install
dh_testdir
dh_testroot
- dh_installchangelogs
- dh_installdocs --all ChangeLog
- dh_installexamples
- dh_install --sourcedir=$(DESTDIR) --list-missing
- dh_installlogrotate
- dh_installinit --no-start
+ dh_installchangelogs -a
+ dh_installdocs -a --all ChangeLog
+ dh_installexamples -a
+ dh_install -a --sourcedir=$(DESTDIR) --list-missing
+ dh_installlogrotate -a
+ dh_installinit -a --no-start
# dh_installinit is only set up to handle one upstart script
# per package, so do this ourselves
install -d -m0755 debian/ceph/etc/init
install -m0644 src/upstart/ceph*.conf debian/ceph/etc/init
install -d -m0755 debian/radosgw/etc/init
install -m0644 src/upstart/radosgw*.conf debian/radosgw/etc/init
- dh_installman
- dh_lintian
- dh_link
+ dh_installman -a
+ dh_lintian -a
+ dh_link -a
dh_strip -pceph --dbg-package=ceph-dbg -k --exclude=libcls_
dh_strip -pceph-mds --dbg-package=ceph-mds-dbg
@@ -129,15 +145,15 @@ binary-arch: build install
dh_strip -prest-bench --dbg-package=rest-bench-dbg
dh_strip -pceph-test --dbg-package=ceph-test-dbg
- dh_compress
- dh_fixperms
- dh_makeshlibs -X/usr/lib/rados-classes # exclude .so files in ceph package
- dh_python2
- dh_installdeb
- dh_shlibdeps
- dh_gencontrol
- dh_md5sums
- dh_builddeb
+ dh_compress -a
+ dh_fixperms -a
+ dh_makeshlibs -a -X/usr/lib/rados-classes # exclude .so files in ceph package
+ dh_python2 -a
+ dh_installdeb -a
+ dh_shlibdeps -a
+ dh_gencontrol -a
+ dh_md5sums -a
+ dh_builddeb -a
binary: binary-indep binary-arch
.PHONY: build clean binary-indep binary-arch binary install configure