Import edgetpu runtime library.
[platform/adaptation/npu/google-edgetpu-runtime.git] / packaging / edgetpu-runtime.spec
1 Name:           edgetpu-runtime
2 Summary:        Support library for Edge TPU
3 Version:        12.1
4 Release:        0
5 Group:          Development/Libraries
6 Packager:       MyungJoo Ham <myungjoo.ham@samsung.com>
7 License:        Apache-2.0
8 Source0:        edgetpu-runtime-%{version}.tar.gz
9 Source1001:     edgetpu-runtime.manifest
10 Source1002:     edgetpu.pc.in
11 ExclusiveArch:  aarch64 x86_64
12
13 %description
14 This is repackaging of libedgetpu1-*.deb of Ubuntu at
15 https://packages.cloud.google.com/apt
16
17 %prep
18 %setup -q
19 cp %{SOURCE1001} .
20 cp %{SOURCE1002} .
21
22 %build
23 sed -i 's|@PREFIX@|%{_prefix}|' edgetpu.pc.in
24 sed -i 's|@EXEC_PREFIX@|%{_exec_prefix}|' edgetpu.pc.in
25 sed -i 's|@LIB_INSTALL_DIR@|%{_libdir}|' edgetpu.pc.in
26 sed -i 's|@INCLUDE_INSTALL_DIR@|%{_includedir}|' edgetpu.pc.in
27 sed -i 's|@VERSION@|%{version}|' edgetpu.pc.in
28 mv edgetpu.pc.in edgetpu.pc
29
30 %install
31 mkdir -p %{buildroot}%{_libdir}
32 mkdir -p %{buildroot}%{_libdir}/pkgconfig
33 mkdir -p %{buildroot}%{_includedir}/edgetpu
34 %ifarch aarch64
35 install -p -m 0755 libedgetpu/direct/aarch64/libedgetpu.so.1.0 %{buildroot}%{_libdir}/libedgetpu-max.so.1.0
36 install -p -m 0755 libedgetpu/throttled/aarch64/libedgetpu.so.1.0 %{buildroot}%{_libdir}/libedgetpu-std.so.1.0
37 %endif
38 %ifarch x86_64
39 install -p -m 0755 libedgetpu/direct/k8/libedgetpu.so.1.0 %{buildroot}%{_libdir}/libedgetpu-max.so.1.0
40 install -p -m 0755 libedgetpu/throttled/k8/libedgetpu.so.1.0 %{buildroot}%{_libdir}/libedgetpu-std.so.1.0
41 %endif
42 install -p -m 0644 libedgetpu/*.h %{buildroot}%{_includedir}/
43
44 pushd %{buildroot}%{_libdir}
45 ln -sf libedgetpu-max.so.1.0 libedgetpu-max.so.1
46 ln -sf libedgetpu-std.so.1.0 libedgetpu-std.so.1
47 ln -sf libedgetpu.so.1 libedgetpu.so
48 popd
49 install -p -m 0644 edgetpu.pc %{buildroot}%{_libdir}/pkgconfig/
50
51 %package -n libedgetpu1
52 Summary:        Metapackage for edgetpu-runtime library
53 Requires:       libedgetpu1-driver = %{version}-%{release}
54 Recommends:     libedgetpu1-std = %{version}-%{release}
55 %description -n libedgetpu1
56 Metapacakge for edgetpu-runtime library.
57 By default it uses "std" library instead of "max" library.
58 %files -n libedgetpu1
59
60 %package -n libedgetpu1-std
61 Summary:        Standard throttling version of edgetpu-runtime library
62 Provides:       libedgetpu1-driver = %{version}-%{release}
63 Conflicts:      libedgetpu1-max
64 %description -n libedgetpu1-std
65 Standard throttled edgetpu-runtime library
66
67 %files -n libedgetpu1-std
68 %manifest edgetpu-runtime.manifest
69 %license LICENSE
70 %{_libdir}/libedgetpu-std.so.1
71 %{_libdir}/libedgetpu-std.so.1.0
72
73 %post -n libedgetpu1-std
74 pushd %{_libdir}
75 ln -sf libedgetpu-std.so.1 libedgetpu.so.1
76 ln -sf libedgetpu-std.so.1.0 libedgetpu.so.1.0
77 popd
78 /sbin/ldconfig
79 %postun -n libedgetpu1-std
80 # If it's uninstall
81 if [ "$1" == "0" ]; then
82 rm %{_libdir}/libedgetpu.so.1
83 rm %{_libdir}/libedgetpu.so.1.0
84 fi
85 /sbin/ldconfig
86
87 %package -n libedgetpu1-max
88 Summary:        Max-performance version of edgetpu-runtime library
89 Provides:       libedgetpu1-driver = %{version}-%{release}
90 Conflicts:      libedgetpu1-std
91 %description -n libedgetpu1-max
92 Non-throttled, max-performance edgetpu-runtime library
93
94 %files -n libedgetpu1-max
95 %manifest edgetpu-runtime.manifest
96 %license LICENSE
97 %{_libdir}/libedgetpu-max.so.1
98 %{_libdir}/libedgetpu-max.so.1.0
99
100 %post -n libedgetpu1-max
101 pushd %{_libdir}
102 ln -sf libedgetpu-max.so.1 libedgetpu.so.1
103 ln -sf libedgetpu-max.so.1.0 libedgetpu.so.1.0
104 popd
105 /sbin/ldconfig
106 %postun -n libedgetpu1-max
107 # If it's uninstall
108 if [ "$1" == "0" ]; then
109 rm %{_libdir}/libedgetpu.so.1
110 rm %{_libdir}/libedgetpu.so.1.0
111 fi
112 /sbin/ldconfig
113
114 %package -n libedgetpu-dev
115 Summary:        Developmental support for libedgetpu
116 Requires:       libedgetpu1 = %{version}-%{release}
117 %description -n libedgetpu-dev
118 Developmental support for libedgetpu
119
120 %files -n libedgetpu-dev
121 %{_libdir}/libedgetpu.so
122 %{_libdir}/pkgconfig/*
123 %{_includedir}/*