milvus.spec 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. %if 0%{!?version:1}
  2. %global version 2.0.2
  3. %endif
  4. %if 0%{!?release:1}
  5. %global release 1%{?dist}
  6. %endif
  7. Name: milvus
  8. Version: %{version}
  9. Release: %{release}
  10. Summary: Milvus V2 RPM
  11. License: Apache License 2.0
  12. Requires(preun): libstdc++ libgomp tbb-devel
  13. # tbb-devel actually provides it, but not defined
  14. Provides: libtbb.so()(64bit)
  15. BuildArch: x86_64
  16. %description
  17. Milvus is an open-source vector database built to power embedding similarity search and AI applications.
  18. Milvus makes unstructured data search more accessible, and provides a consistent user experience regardless of the deployment environment.
  19. %install
  20. # dir
  21. mkdir -p %{buildroot}/usr/bin/
  22. mkdir -p %{buildroot}/lib64/milvus
  23. mkdir -p %{buildroot}/etc/milvus/configs/advanced
  24. mkdir -p %{buildroot}/etc/systemd/system/
  25. mkdir -p %{buildroot}/etc/ld.so.conf.d/
  26. # bin
  27. echo 'export MILVUSCONF=/etc/milvus/configs/' > %{buildroot}/usr/bin/milvus
  28. echo 'milvus-server $@' >> %{buildroot}/usr/bin/milvus
  29. chmod 755 %{buildroot}/usr/bin/milvus
  30. install -m 755 bin/milvus %{buildroot}/usr/bin/milvus-server
  31. install -m 755 bin/etcd %{buildroot}/usr/bin/milvus-etcd
  32. install -m 755 bin/minio %{buildroot}/usr/bin/milvus-minio
  33. # lib
  34. install -m 755 lib/libknowhere.so %{buildroot}/lib64/milvus/libknowhere.so
  35. install -m 755 lib/libmilvus_core.so %{buildroot}/lib64/milvus/libmilvus_core.so
  36. install -m 755 /usr/lib/libopenblas-r0.3.9.so %{buildroot}/lib64/milvus/libopenblas.so.0
  37. install -m 755 lib/libngt.so.1.12.0 %{buildroot}/lib64/milvus/libngt.so.1
  38. install -m 755 /usr/lib64/libgfortran.so.4.0.0 %{buildroot}/lib64/milvus/libgfortran.so.4
  39. # conf
  40. install -m 755 configs/milvus.yaml %{buildroot}/etc/milvus/configs/milvus.yaml
  41. install -m 755 configs/advanced/etcd.yaml %{buildroot}/etc/milvus/configs/advanced/etcd.yaml
  42. # service
  43. install -m 644 services/milvus.service %{buildroot}/etc/systemd/system/milvus.service
  44. install -m 644 services/milvus-etcd.service %{buildroot}/etc/systemd/system/milvus-etcd.service
  45. install -m 644 services/milvus-minio.service %{buildroot}/etc/systemd/system/milvus-minio.service
  46. # ldconf
  47. echo '/usr/lib64/milvus' >> %{buildroot}/etc/ld.so.conf.d/milvus.conf
  48. chmod 644 %{buildroot}/etc/ld.so.conf.d/milvus.conf
  49. %post
  50. # update ld, systemd cache
  51. ldconfig
  52. systemctl daemon-reload
  53. %preun
  54. # disable service before remove
  55. systemctl stop milvus
  56. systemctl disable milvus
  57. rm -rf /lib64/milvus
  58. rm -rf /etc/milvus
  59. %postun
  60. # update ld, systemd cache
  61. ldconfig
  62. systemctl daemon-reload
  63. %files
  64. /usr/bin/milvus
  65. /usr/bin/milvus-server
  66. /usr/bin/milvus-etcd
  67. /usr/bin/milvus-minio
  68. /lib64/milvus/libknowhere.so
  69. /lib64/milvus/libmilvus_core.so
  70. /lib64/milvus/libopenblas.so.0
  71. /lib64/milvus/libngt.so.1
  72. /lib64/milvus/libgfortran.so.4
  73. /etc/milvus/configs/milvus.yaml
  74. /etc/milvus/configs/advanced/etcd.yaml
  75. /etc/systemd/system/milvus.service
  76. /etc/systemd/system/milvus-etcd.service
  77. /etc/systemd/system/milvus-minio.service
  78. /etc/ld.so.conf.d/milvus.conf
  79. %changelog
  80. # let's skip this for now