milvus/build/rpm/milvus.spec
Zhen Ye 4b7357ee80
fix: fix typo in milvus spec (#35684)
issue: #35611

introduced by #35610

Signed-off-by: chyezh <chyezh@outlook.com>
2024-08-25 16:28:57 +08:00

99 lines
2.9 KiB
RPMSpec

%if 0%{!?version:1}
%global version 2.0.2
%endif
%if 0%{!?release:1}
%global release 1%{?dist}
%endif
Name: milvus
Version: %{version}
Release: %{release}
Summary: Milvus V2 RPM
License: Apache License 2.0
Requires(preun): libstdc++ libgomp tbb-devel
# tbb-devel actually provides it, but not defined
Provides: libtbb.so()(64bit)
BuildArch: x86_64
%description
Milvus is an open-source vector database built to power embedding similarity search and AI applications.
Milvus makes unstructured data search more accessible, and provides a consistent user experience regardless of the deployment environment.
%install
# dir
mkdir -p %{buildroot}/usr/bin/
mkdir -p %{buildroot}/lib64/milvus
mkdir -p %{buildroot}/etc/milvus/configs/advanced
mkdir -p %{buildroot}/etc/systemd/system/
mkdir -p %{buildroot}/etc/ld.so.conf.d/
# bin
echo 'export MILVUSCONF=/etc/milvus/configs/' > %{buildroot}/usr/bin/milvus
echo 'milvus-server $@' >> %{buildroot}/usr/bin/milvus
chmod 755 %{buildroot}/usr/bin/milvus
install -m 755 bin/milvus %{buildroot}/usr/bin/milvus-server
install -m 755 bin/etcd %{buildroot}/usr/bin/milvus-etcd
install -m 755 bin/minio %{buildroot}/usr/bin/milvus-minio
# lib
install -m 755 lib/libknowhere.so %{buildroot}/lib64/milvus/libknowhere.so
install -m 755 lib/libmilvus_core.so %{buildroot}/lib64/milvus/libmilvus_core.so
install -m 755 /usr/lib/libopenblas-r0.3.9.so %{buildroot}/lib64/milvus/libopenblas.so.0
install -m 755 lib/libngt.so.1.12.0 %{buildroot}/lib64/milvus/libngt.so.1
install -m 755 /usr/lib64/libgfortran.so.4.0.0 %{buildroot}/lib64/milvus/libgfortran.so.4
# conf
install -m 755 configs/milvus.yaml %{buildroot}/etc/milvus/configs/milvus.yaml
install -m 755 configs/advanced/etcd.yaml %{buildroot}/etc/milvus/configs/advanced/etcd.yaml
# service
install -m 644 services/milvus.service %{buildroot}/etc/systemd/system/milvus.service
install -m 644 services/milvus-etcd.service %{buildroot}/etc/systemd/system/milvus-etcd.service
install -m 644 services/milvus-minio.service %{buildroot}/etc/systemd/system/milvus-minio.service
# ldconf
echo '/usr/lib64/milvus' >> %{buildroot}/etc/ld.so.conf.d/milvus.conf
chmod 644 %{buildroot}/etc/ld.so.conf.d/milvus.conf
%post
# update ld, systemd cache
ldconfig
systemctl daemon-reload
%preun
# disable service before remove
systemctl stop milvus
systemctl disable milvus
rm -rf /lib64/milvus
rm -rf /etc/milvus
%postun
# update ld, systemd cache
ldconfig
systemctl daemon-reload
%files
/usr/bin/milvus
/usr/bin/milvus-server
/usr/bin/milvus-etcd
/usr/bin/milvus-minio
/lib64/milvus/libknowhere.so
/lib64/milvus/libmilvus_core.so
/lib64/milvus/libopenblas.so.0
/lib64/milvus/libngt.so.1
/lib64/milvus/libgfortran.so.4
/etc/milvus/configs/milvus.yaml
/etc/milvus/configs/advanced/etcd.yaml
/etc/systemd/system/milvus.service
/etc/systemd/system/milvus-etcd.service
/etc/systemd/system/milvus-minio.service
/etc/ld.so.conf.d/milvus.conf
%changelog
# let's skip this for now