|
| 1 | +# Disable debuginfo -- it does not work well with nodejs apps |
| 2 | +%global debug_package %{nil} |
| 3 | +# This speeds up the build a lot and it is not really required |
| 4 | +%global __os_install_post %{nil} |
| 5 | + |
1 | 6 | %define revision null
|
2 | 7 | %define noobaaver null
|
3 | 8 | %define nodever null
|
4 | 9 | %define releasedate null
|
5 | 10 | %define changelogdata null
|
| 11 | +%define BUILD_S3SELECT null |
| 12 | +%define BUILD_S3SELECT_PARQUET null |
| 13 | +%define CENTOS_VER null |
| 14 | +%define _build_id_links none |
6 | 15 |
|
7 | 16 | %define noobaatar %{name}-%{version}-%{revision}.tar.gz
|
8 |
| -%define nodetar node-%{nodever}.tar.xz |
9 | 17 | %define buildroot %{_tmppath}/%{name}-%{version}-%{release}
|
10 | 18 |
|
11 |
| -Name: noobaa-core |
12 |
| -Version: %{noobaaver} |
13 |
| -Release: %{revision}%{?dist} |
14 |
| -Summary: NooBaa RPM |
| 19 | +Name: noobaa-core |
| 20 | +Version: %{noobaaver} |
| 21 | +Release: %{revision}%{?dist} |
| 22 | +Summary: NooBaa RPM |
15 | 23 |
|
16 |
| -License: Apache-2.0 |
17 |
| -URL: https://www.noobaa.io/ |
18 |
| -Source0: %{noobaatar} |
19 |
| -Source1: %{nodetar} |
| 24 | +License: Apache-2.0 |
| 25 | +URL: https://www.noobaa.io/ |
| 26 | +Source0: %{noobaatar} |
20 | 27 |
|
21 |
| -BuildRequires: systemd |
| 28 | +BuildRequires: systemd |
| 29 | +BuildRequires: python3 |
| 30 | +BuildRequires: make |
| 31 | +BuildRequires: gcc-c++ |
| 32 | +BuildRequires: boost-devel |
22 | 33 |
|
23 |
| -Recommends: jemalloc |
24 |
| - |
25 |
| -%global __os_install_post %{nil} |
| 34 | +Recommends: jemalloc |
26 | 35 |
|
27 | 36 | %global __requires_exclude ^/usr/bin/python$
|
28 | 37 |
|
29 | 38 | %description
|
30 | 39 | NooBaa is a data service for cloud environments, providing S3 object-store interface with flexible tiering, mirroring, and spread placement policies, over any storage resource that allows GET/PUT including S3, GCS, Azure Blob, Filesystems, etc.
|
31 | 40 |
|
32 | 41 | %prep
|
33 |
| -mkdir noobaa-core-%{version}-%{revision} |
34 |
| -mkdir node-%{nodever} |
35 |
| -tar -xzf %{SOURCE0} -C noobaa-core-%{version}-%{revision}/ |
36 |
| -tar -xJf %{SOURCE1} -C node-%{nodever}/ |
| 42 | +%setup -n noobaa -q |
| 43 | + |
| 44 | +%build |
| 45 | +NODEJS_VERSION="%{nodever}" |
| 46 | +SKIP_NODE_INSTALL=1 source src/deploy/NVA_build/install_nodejs.sh $NODEJS_VERSION |
| 47 | + |
| 48 | +mkdir -p ../node/ |
| 49 | + |
| 50 | +nodepath=$(download_node) |
| 51 | +tar -xJf ${nodepath} -C ../node/ |
37 | 52 |
|
38 |
| -%clean |
39 |
| -[ ${RPM_BUILD_ROOT} != "/" ] && rm -rf ${RPM_BUILD_ROOT} |
| 53 | +PATH=$PATH:%{_builddir}/node/node-v$NODEJS_VERSION-linux-$(get_arch)/bin |
| 54 | + |
| 55 | +npm install --omit=dev && npm cache clean --force |
| 56 | + |
| 57 | +./src/deploy/NVA_build/clone_s3select_submodules.sh |
| 58 | + |
| 59 | +if [[ "%{CENTOS_VER}" = "8" ]] |
| 60 | +then |
| 61 | + sed -i 's/\/lib64\/libboost_thread.so.1.75.0/\/lib64\/libboost_thread.so.1.66.0/g' ./src/native/s3select/s3select.gyp |
| 62 | + echo "Using libboost 1.66 for S3 Select" |
| 63 | +fi |
| 64 | + |
| 65 | +GYP_DEFINES="BUILD_S3SELECT=%{BUILD_S3SELECT} BUILD_S3SELECT_PARQUET=%{BUILD_S3SELECT_PARQUET}" npm run build |
40 | 66 |
|
41 | 67 | %install
|
42 | 68 | rm -rf $RPM_BUILD_ROOT
|
43 |
| -mkdir -p $RPM_BUILD_ROOT/usr/local/ |
44 | 69 |
|
45 |
| -cp -R %{_builddir}/%{name}-%{version}-%{revision}/noobaa $RPM_BUILD_ROOT/usr/local/noobaa-core |
46 |
| -cp -R %{_builddir}/node-%{nodever}/* $RPM_BUILD_ROOT/usr/local/noobaa-core/node |
| 70 | +mkdir -p $RPM_BUILD_ROOT/usr/local/ |
| 71 | +cp -R %{_builddir}/noobaa $RPM_BUILD_ROOT/usr/local/noobaa-core |
| 72 | +mv %{_builddir}/node/* $RPM_BUILD_ROOT/usr/local/noobaa-core/node |
47 | 73 |
|
48 | 74 | mkdir -p $RPM_BUILD_ROOT/usr/local/noobaa-core/bin
|
49 | 75 | ln -s /usr/local/noobaa-core/node/bin/node $RPM_BUILD_ROOT/usr/local/noobaa-core/bin/node
|
50 | 76 | ln -s /usr/local/noobaa-core/node/bin/npm $RPM_BUILD_ROOT/usr/local/noobaa-core/bin/npm
|
51 | 77 | ln -s /usr/local/noobaa-core/node/bin/npx $RPM_BUILD_ROOT/usr/local/noobaa-core/bin/npx
|
52 | 78 |
|
53 | 79 | mkdir -p $RPM_BUILD_ROOT%{_unitdir}/
|
54 |
| -cp -R %{_builddir}/%{name}-%{version}-%{revision}/noobaa/src/deploy/noobaa_nsfs.service $RPM_BUILD_ROOT%{_unitdir}/noobaa_nsfs.service |
| 80 | +mv $RPM_BUILD_ROOT/usr/local/noobaa-core/src/deploy/noobaa_nsfs.service $RPM_BUILD_ROOT%{_unitdir}/noobaa_nsfs.service |
55 | 81 | ln -s /usr/local/noobaa-core/src/deploy/nsfs_env.env $RPM_BUILD_ROOT/usr/local/noobaa-core/nsfs_env.env
|
56 | 82 | mkdir -p $RPM_BUILD_ROOT/etc/noobaa.conf.d/
|
57 | 83 |
|
58 | 84 | mkdir -p $RPM_BUILD_ROOT/etc/rsyslog.d/
|
59 |
| -cp -R $RPM_BUILD_ROOT/usr/local/noobaa-core/src/deploy/standalone/noobaa_syslog.conf $RPM_BUILD_ROOT/etc/rsyslog.d/noobaa_syslog.conf |
| 85 | +mv $RPM_BUILD_ROOT/usr/local/noobaa-core/src/deploy/standalone/noobaa_syslog.conf $RPM_BUILD_ROOT/etc/rsyslog.d/noobaa_syslog.conf |
60 | 86 |
|
61 | 87 | mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d/noobaa
|
62 | 88 | ln -s /usr/local/noobaa-core/src/deploy/standalone/logrotate_noobaa.conf $RPM_BUILD_ROOT/etc/logrotate.d/noobaa/logrotate_noobaa.conf
|
|
0 commit comments