-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy pathrobinhood4.iosea.spec.in
126 lines (113 loc) · 3.51 KB
/
robinhood4.iosea.spec.in
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
Name: robinhood4
Version: @version@
Release: 1%{?dist}
Summary: RobinHood V4 tool suite
Group: Applications/System
License: LGPLv3
URL: https://github.com/robinhood-suite/robinhood4.git
Source0: %{name}-%{version}.tar.xz
Requires: mongo-c-driver-libs
# The MongoDB dependency can be found here: https://repo.mongodb.org/yum/redhat/
Requires: mongodb-org
Requires: hestia
BuildRequires: meson
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: mongo-c-driver-devel
BuildRequires: jansson-devel
BuildRequires: check-devel
BuildRequires: libyaml-devel
BuildRequires: pkgconf-pkg-config
BuildRequires: hestia-devel
%description
The robinhood4 tools necessary for the IO-SEA project. Includes librobinhood
with the Hestia backend, rbh-sync, rbh-find, rbh-find-iosea and rbh-fsevents.
It is installed on machines that run a Mongo database.
%package devel
Summary: C API for RobinHood V4 tool suite.
Requires: robinhood4
Requires: pkgconf-pkg-config
%description devel
This package contains header files and libraries to use the robinhood4 tool
suite from a C program.
%prep
%autosetup
%build
export DIR=$PWD
for project in librobinhood rbh-sync rbh-find rbh-find-iosea miniyaml \
rbh-fsevents; do
cd $project
export LDFLAGS="$LDFLAGS -L$DIR/$project/redhat-linux-build/src"
export CFLAGS="$CFLAGS -I$DIR/$project/include -g"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:$DIR/$project/redhat-linux-build/meson-private:$DIR/$project/redhat-linux-build"
%meson
%meson_build
cd ..
done
%install
for project in librobinhood rbh-sync rbh-find rbh-find-iosea miniyaml \
rbh-fsevents; do
cd $project
%meson_install
if [ "$project" == "librobinhood" ]; then
rm -f $RPM_BUILD_ROOT/%{_libdir}/librbh-lustre.so*
rm -f $RPM_BUILD_ROOT/%{_includedir}/robinhood/backends/lustre.h
fi
cd ..
done
%files
%{_libdir}/librobinhood.so.*
%{_libdir}/librbh-hestia.so*
%{_libdir}/librbh-mongo.so*
%{_libdir}/librbh-posix.so*
%{_libdir}/pkgconfig/robinhood.pc
%{_bindir}/rbh-sync
%{_bindir}/rbh-find
%{_libdir}/librbh-find.so.*
%{_libdir}/pkgconfig/rbh-find.pc
%{_bindir}/rbh-ifind
%{_libdir}/libminiyaml.so.*
%{_libdir}/pkgconfig/miniyaml.pc
%{_bindir}/rbh-fsevents
%files devel
%{_libdir}/librobinhood.so
%{_includedir}/robinhood.h
%{_includedir}/robinhood/backend.h
%{_includedir}/robinhood/backends/hestia.h
%{_includedir}/robinhood/backends/mongo.h
%{_includedir}/robinhood/backends/posix.h
%{_includedir}/robinhood/filter.h
%{_includedir}/robinhood/fsentry.h
%{_includedir}/robinhood/fsevent.h
%{_includedir}/robinhood/hashmap.h
%{_includedir}/robinhood/id.h
%{_includedir}/robinhood/iterator.h
%{_includedir}/robinhood/itertools.h
%{_includedir}/robinhood/list.h
%{_includedir}/robinhood/plugin.h
%{_includedir}/robinhood/plugins/backend.h
%{_includedir}/robinhood/queue.h
%{_includedir}/robinhood/ring.h
%{_includedir}/robinhood/ringr.h
%{_includedir}/robinhood/sstack.h
%{_includedir}/robinhood/stack.h
%{_includedir}/robinhood/statx.h
%{_includedir}/robinhood/uri.h
%{_includedir}/robinhood/utils.h
%{_includedir}/robinhood/value.h
%{_libdir}/librbh-find.so
%{_includedir}/rbh-find/actions.h
%{_includedir}/rbh-find/core.h
%{_includedir}/rbh-find/filters.h
%{_includedir}/rbh-find/find_cb.h
%{_includedir}/rbh-find/parser.h
%{_includedir}/rbh-find/rbh-find.h
%{_includedir}/rbh-find/utils.h
%{_includedir}/miniyaml.h
%{_libdir}/libminiyaml.so
%post
ldconfig
%changelog
* Thu Feb 1 2024 - Yoann Valeri <[email protected]> - 0.1-1
- First version
- Support the POSIX, Mongo and Hestia backends