[Package] Seperate nnstreamer into core and conf
authorJihoon Lee <jhoon.it.lee@samsung.com>
Mon, 15 Mar 2021 11:11:20 +0000 (20:11 +0900)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Tue, 16 Mar 2021 04:58:29 +0000 (13:58 +0900)
This patch separates nnstreamer into nnstreamer-core and nnstreamer-configuration.
From this patch, nnstreamer becomes a meta package that requires
`nnstreamer-core` and `nnstreamer-configuration`.

**Evaluation Method**
gbs and pdebuild

**Self evaluation:**
1. Build test: [X]Passed [ ]Failed [ ]Skipped
2. Run test: [X]Passed [ ]Failed [ ]Skipped

Signed-off-by: Jihoon Lee <jhoon.it.lee@samsung.com>
Cc: Myungjoo Ham <myungjoo.ham@samsung.com>
debian/control
debian/nnstreamer-configuration.install [new file with mode: 0644]
debian/nnstreamer-core.install [moved from debian/nnstreamer.install with 95% similarity]
packaging/nnstreamer.spec

index 86cc572..1000eb9 100644 (file)
@@ -19,9 +19,27 @@ Homepage: https://github.com/nnstreamer/nnstreamer
 Package: nnstreamer
 Architecture: any
 Multi-Arch: same
+Depends: nnstreamer-core, nnstreamer-configuration, ${shlibs:Depends}, ${misc:Depends}
+Description: NNStreamer plugins for Gstreamer
+ Gstreamer plugins, "NNStreamer", provides access to neural network frameworks for media streams.
+ This package is meta package of nnstreamer-core and nnstreamer-configuration.
+
+Package: nnstreamer-core
+Architecture: any
+Multi-Arch: same
+Depends: ${shlibs:Depends}, ${misc:Depends}
+Description: NNStreamer plugins for Gstreamer
+ Gstreamer plugins, "NNStreamer", provides access to neural network frameworks for media streams.
+ This package is core package without configuration.
+
+Package: nnstreamer-configuration
+Architecture: any
+Multi-Arch: same
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: NNStreamer plugins for Gstreamer
  Gstreamer plugins, "NNStreamer", provides access to neural network frameworks for media streams.
+ This package contains nnstreamer configuration.
+
 
 Package: nnstreamer-tensorflow
 Architecture: amd64
diff --git a/debian/nnstreamer-configuration.install b/debian/nnstreamer-configuration.install
new file mode 100644 (file)
index 0000000..75efc18
--- /dev/null
@@ -0,0 +1 @@
+/etc/nnstreamer.ini
similarity index 95%
rename from debian/nnstreamer.install
rename to debian/nnstreamer-core.install
index 85dba15..49c9eb4 100644 (file)
@@ -5,4 +5,3 @@
 /usr/lib/nnstreamer/decoders/libnnstreamer_decoder_direct_video.so
 /usr/lib/nnstreamer/filters/libnnstreamer_filter_cpp.so
 /usr/lib/*/gstreamer-1.0/libnnstreamer.so
-/etc/nnstreamer.ini
index f6b4441..4cfb8f1 100644 (file)
@@ -124,8 +124,11 @@ Source0:   nnstreamer-%{version}.tar.gz
 Source1:       generate-tarball.sh
 Source1001:    nnstreamer.manifest
 
+## Define requirements ##
+Requires: nnstreamer-core = %{version}-%{release}
+Requires: nnstreamer-configuration = %{version}-%{release}
+
 ## Define build requirements ##
-Requires:      gstreamer >= 1.8.0
 BuildRequires: gstreamer-devel
 BuildRequires: gst-plugins-base-devel
 BuildRequires: gst-plugins-bad-devel
@@ -262,7 +265,20 @@ BuildRequires:     pkgconfig(orc-0.4)
 ## Define Packages ##
 %description
 NNStreamer is a set of gstreamer plugins to support general neural networks
-and their plugins in a gstreamer stream.
+and their plugins in a gstreamer stream. NNStreamer is a meta package of
+nnstreamer-core and nnstreamer-configuration
+
+%package core
+Requires: gstreamer >= 1.8.0
+Summary: NNStreamer core package
+%description core
+NNStreamer is a set of gstreamer plugins to support general neural networks
+and their plugins in a gstreamer stream, this package is core package without configuration
+
+%package configuration
+Summary: NNStreamer global configuration
+%description configuration
+NNStreamer's configuration setup for the end user.
 
 # for tensorflow
 %if 0%{?tensorflow_support}
@@ -370,7 +386,7 @@ NNStreamer's tensor_fliter subplugin of caffe2
 
 %package devel
 Summary:       Development package for custom tensor operator developers (tensor_filter/custom)
-Requires:      nnstreamer = %{version}-%{release}
+Requires:      nnstreamer-core = %{version}-%{release}
 Requires:      glib2-devel
 Requires:      gstreamer-devel
 %description devel
@@ -394,6 +410,7 @@ Static library package of nnstreamer-devel.
 %package test-devel
 Summary: Development package to provide testable environment of a subplugin (tensor_filter/custom)
 Requires: nnstreamer-devel = %{version}-%{release}
+Conflicts: nnstreamer-configuration
 %description test-devel
 Development package to provide testable environment of NNStreamer sub-plugin.
 This package enables testable environment of NNStreamer sub-plugin by making nnstreamer to recognize NNSTREAMER_CONF_PATH to steer a sub-plugin path to a custom path.
@@ -744,13 +761,7 @@ cp -r result %{buildroot}%{_datadir}/nnstreamer/unittest/
 
 %postun -p /sbin/ldconfig
 
-%post test-devel
-mv /etc/nnstreamer.ini /etc/nnstreamer.ini.bak
-
-%postun test-devel
-mv /etc/nnstreamer.ini.bak /etc/nnstreamer.ini
-
-%files
+%files core
 %manifest nnstreamer.manifest
 %defattr(-,root,root,-)
 %license LICENSE
@@ -762,6 +773,8 @@ mv /etc/nnstreamer.ini.bak /etc/nnstreamer.ini
 %{_prefix}/lib/nnstreamer/filters/libnnstreamer_filter_cpp.so
 %{gstlibdir}/libnnstreamer.so
 %{_libdir}/libnnstreamer.so
+
+%files configuration
 %{_sysconfdir}/nnstreamer.ini
 
 # for tensorflow