Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Build/Pkg] Rename spec and manifest files #19

Merged
merged 1 commit into from
Feb 8, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions daemon/include/meson.build
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
ml_agent_headers = files('ml-agent-interface.h')
ml_agent_headers = files('mlops-agent-interface.h')

install_headers(ml_agent_headers,
subdir: 'ml-agent'
subdir: 'ml'
)
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
/* SPDX-License-Identifier: Apache-2.0 */
/**
* @file ml-agent-interface.h
* @file mlops-agent-interface.h
* @date 5 April 2023
* @brief A set of exported ml-agent interfaces for managing pipelines, models, and other service.
* @see https://github.com/nnstreamer/deviceMLOps.MLAgent
* @author Wook Song <[email protected]>
* @bug No known bugs except for NYI items
*/

#ifndef __ML_AGENT_INTERFACE_H__
#define __ML_AGENT_INTERFACE_H__
#ifndef __MLOPS_AGENT_INTERFACE_H__
#define __MLOPS_AGENT_INTERFACE_H__
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
Expand Down Expand Up @@ -190,4 +190,4 @@ gint ml_agent_resource_get (const gchar *name, gchar **res_info, GError **err);
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* __ML_AGENT_INTERFACE_H__ */
#endif /* __MLOPS_AGENT_INTERFACE_H__ */
10 changes: 5 additions & 5 deletions daemon/meson.build
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Machine Learning Agent
ml_agent_incs = include_directories('.', 'include')
ml_agent_lib_srcs = files('modules.c', 'gdbus-util.c', 'ml-agent-interface.c',
ml_agent_lib_srcs = files('modules.c', 'gdbus-util.c', 'mlops-agent-interface.c',
'pipeline-dbus-impl.cc', 'model-dbus-impl.cc', 'resource-dbus-impl.cc', 'service-db.cc')

if (get_option('enable-tizen'))
Expand Down Expand Up @@ -31,7 +31,7 @@ ml_agent_db_path_arg = '-DDB_PATH="' + serviceDBPath + '"'
serviceDBKeyPrefix = get_option('service-db-key-prefix')
ml_agent_db_key_prefix_arg = '-DDB_KEY_PREFIX="' + serviceDBKeyPrefix + '"'

ml_agent_shared_lib = shared_library ('ml-agent',
ml_agent_shared_lib = shared_library ('mlops-agent',
ml_agent_lib_srcs,
dependencies: ml_agent_deps,
include_directories: ml_agent_incs,
Expand All @@ -41,7 +41,7 @@ ml_agent_shared_lib = shared_library ('ml-agent',
version: ml_agent_version,
)

ml_agent_static_lib = static_library('ml-agent',
ml_agent_static_lib = static_library('mlops-agent',
ml_agent_lib_srcs,
dependencies: ml_agent_deps,
include_directories: ml_agent_incs,
Expand All @@ -63,7 +63,7 @@ ml_agent_dep = declare_dependency(
)

ml_agent_main_file = files('main.c')
ml_agent_executable = executable('machine-learning-agent',
ml_agent_executable = executable('mlops-agent',
ml_agent_main_file,
dependencies: ml_agent_dep,
install: true,
Expand All @@ -72,7 +72,7 @@ ml_agent_executable = executable('machine-learning-agent',
pie: true
)

configure_file(input: 'ml-agent.pc.in', output: 'ml-agent.pc',
configure_file(input: 'mlops-agent.pc.in', output: 'mlops-agent.pc',
install_dir: join_paths(ml_agent_install_libdir, 'pkgconfig'),
configuration: ml_agent_conf
)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include <errno.h>
#include <glib.h>

#include "include/ml-agent-interface.h"
#include "include/mlops-agent-interface.h"
#include "dbus-interface.h"
#include "model-dbus.h"
#include "pipeline-dbus.h"
Expand Down
8 changes: 4 additions & 4 deletions daemon/ml-agent.pc.in → daemon/mlops-agent.pc.in
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ exec_prefix=@EXEC_PREFIX@
libdir=@LIB_INSTALL_DIR@
includedir=@INCLUDE_INSTALL_DIR@

Name: ml-agent
Description: Development headers and libraries for interfaces provided by Machine Learning Agent
Name: mlops-agent
Description: Development headers and libraries for interfaces provided by MLOps Agent
Version: @VERSION@
Libs: -L${libdir} -lml-agent
Cflags: -I${includedir}/ml-agent
Libs: -L${libdir} -lmlops-agent
Cflags: -I${includedir}/mlops-agent
8 changes: 4 additions & 4 deletions dbus/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ gdbus_gen_header_dep = declare_dependency(
sources: [gdbus_gen_pipeline_src, gdbus_gen_model_src, gdbus_gen_resource_src])

# DBus Policy configuration
configure_file(input: 'machine-learning-agent.conf.in',
output: 'machine-learning-agent.conf',
configure_file(input: 'mlops-agent.conf.in',
output: 'mlops-agent.conf',
install_dir: dbus_policy_dir,
configuration: ml_agent_conf
)
Expand All @@ -46,8 +46,8 @@ configure_file(input: 'org.tizen.machinelearning.service.service.in',
)

# Systemd Service file
configure_file(input: 'machine-learning-agent.service.in',
output: 'machine-learning-agent.service',
configure_file(input: 'mlops-agent.service.in',
output: 'mlops-agent.service',
install_dir: systemd_service_dir,
configuration: ml_agent_conf
)
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
[Unit]
Description=Machine Learning Agent Daemon
Description=MLOps Agent Daemon

[Service]
Type=dbus
BusName=org.tizen.machinelearning.service
SmackProcessLabel=System
ExecStart=@EXEC_PREFIX@/machine-learning-agent
ExecStart=@EXEC_PREFIX@/mlops-agent
User=service_fw
Group=service_fw
4 changes: 2 additions & 2 deletions dbus/org.tizen.machinelearning.service.service.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[D-BUS Service]
Name=org.tizen.machinelearning.service
Exec=@EXEC_PREFIX@/machine-learning-agent
SystemdService=machine-learning-agent.service
Exec=@EXEC_PREFIX@/mlops-agent
SystemdService=mlops-agent.service
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
%define builddir build
%define source_root %{_builddir}/%{?buildsubdir}
%define test_script %{source_root}/packaging/run_unittests.sh
%define test_base_dir %{_bindir}/ml-agent-test
%define test_base_dir %{_bindir}/ml-test

# Note that debug packages generate an additional build and storage cost.
# If you do not need debug packages, run '$ gbs build ... --define "_skip_debug_rpm 1"'.
Expand Down Expand Up @@ -43,21 +43,21 @@

###########################################################################
# Package / sub-package definitions
Name: machine-learning-agent
Summary: AI service agent for ML(Machine Learning) API and NNStreamer
Name: mlops-agent
Summary: AI service agent for MLOps and ML(Machine Learning) API
# Synchronize the version information for ML-Agent.
# 1. Tizen : ./packaging/machine-learning-agent.spec
# 1. Tizen : ./packaging/mlops-agent.spec
jaeyun-jung marked this conversation as resolved.
Show resolved Hide resolved
# 2. Meson : ./meson.build
Version: 1.8.5
Release: 0
Group: Machine Learning/ML Framework
Packager: Sangjung Woo <[email protected]>
License: Apache-2.0
Source0: machine-learning-agent-%{version}.tar
Source1001: machine-learning-agent.manifest
Source0: mlops-agent-%{version}.tar
Source1001: mlops-agent.manifest

## Define runtime requirements ##
Requires: libmachine-learning-agent = %{version}-%{release}
Requires: libmlops-agent = %{version}-%{release}
Requires: dbus-1

## Define build requirements ##
Expand Down Expand Up @@ -90,17 +90,17 @@ BuildRequires: lcov
%description
AI service agent for ML(Machine Learning) API and NNStreamer.

%package -n libmachine-learning-agent
%package -n libmlops-agent
Summary: Library that exports interfaces provided by Machine Learning Agent
Group: Machine Learning/ML Framework = %{version}-%{release}
%description -n libmachine-learning-agent
%description -n libmlops-agent
Shared library to export interfaces provided by the Machine Learning Agent.

%package -n libmachine-learning-agent-devel
%package -n libmlops-agent-devel
Summary: Development headers and static library for interfaces provided by Machine Learning Agent
Group: Machine Learning/ML Framework
Requires: libmachine-learning-agent = %{version}-%{release}
%description -n libmachine-learning-agent-devel
Requires: libmlops-agent = %{version}-%{release}
%description -n libmlops-agent-devel
Development headers and static library for interfaces provided by Machine Learning Agent.

%package test
Expand All @@ -116,7 +116,7 @@ require testing with the ML Agent service.
%package unittests
Summary: Unittests for Machine Learning Agent
Group: Machine Learning/ML Framework
Requires: machine-learning-agent = %{version}-%{release}
Requires: mlops-agent-test = %{version}-%{release}
%description unittests
Unittests for Machine Learning Agent.
%endif
Expand Down Expand Up @@ -194,7 +194,7 @@ meson install -C %{builddir} --destdir=%{buildroot}
TZ='Asia/Seoul'; export TZ

# Get commit info
VCS=`cat ${RPM_SOURCE_DIR}/machine-learning-agent.spec | grep "^VCS:" | sed "s|VCS:\\W*\\(.*\\)|\\1|"`
VCS=`cat ${RPM_SOURCE_DIR}/mlops-agent.spec | grep "^VCS:" | sed "s|VCS:\\W*\\(.*\\)|\\1|"`

# Create human readable coverage report web page.
# Create null gcda files if gcov didn't create it because there is completely no unit test for them.
Expand Down Expand Up @@ -234,39 +234,39 @@ install -m 0755 packaging/run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests
%postun -p /sbin/ldconfig

%files
%manifest machine-learning-agent.manifest
%manifest mlops-agent.manifest
%license LICENSE
%attr(0755,root,root) %{_bindir}/machine-learning-agent
%attr(0644,root,root) %{_unitdir}/machine-learning-agent.service
%attr(0644,root,root) %config %{_sysconfdir}/dbus-1/system.d/machine-learning-agent.conf
%attr(0755,root,root) %{_bindir}/mlops-agent
%attr(0644,root,root) %{_unitdir}/mlops-agent.service
%attr(0644,root,root) %config %{_sysconfdir}/dbus-1/system.d/mlops-agent.conf
%attr(0644,root,root) %{_datadir}/dbus-1/system-services/org.tizen.machinelearning.service.service

%files -n libmachine-learning-agent
%manifest machine-learning-agent.manifest
%files -n libmlops-agent
%manifest mlops-agent.manifest
%license LICENSE
%{_libdir}/libml-agent.so.*
%{_libdir}/libmlops-agent.so.*

%files -n libmachine-learning-agent-devel
%manifest machine-learning-agent.manifest
%{_libdir}/libml-agent.so
%{_libdir}/libml-agent.a
%{_includedir}/ml-agent/ml-agent-interface.h
%{_libdir}/pkgconfig/ml-agent.pc
%files -n libmlops-agent-devel
%manifest mlops-agent.manifest
%{_libdir}/libmlops-agent.so
%{_libdir}/libmlops-agent.a
%{_includedir}/ml/mlops-agent-interface.h
%{_libdir}/pkgconfig/mlops-agent.pc

%files test
%manifest machine-learning-agent.manifest
%manifest mlops-agent.manifest
%license LICENSE
%attr(0755,root,root) %{test_base_dir}/machine-learning-agent-test
%attr(0755,root,root) %{test_base_dir}/mlops-agent-test
Copy link
Contributor

@jaeyun-jung jaeyun-jung Feb 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need fix 'test_base_dir'

%define test_base_dir %{_bindir}/mlops-agent-test
or
%define test_base_dir %{_bindir}/ml-test

then in file /tests/meson.build
test_base_dir = join_paths(.. , 'mlops-agent-test' or 'ml-test')

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I am going to use ml. Thanks

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

%define test_base_dir %{_bindir}/ml-agent-test

%attr(0755,root,root) %{test_base_dir}/services/org.tizen.machinelearning.service.service
again4you marked this conversation as resolved.
Show resolved Hide resolved
%{_libdir}/libml-agent-test.*
%{_libdir}/libmlops-agent-test.*

%if 0%{?unit_test}
%if 0%{?release_test}
%files unittests
%manifest machine-learning-agent.manifest
%manifest mlops-agent.manifest
%{test_base_dir}/unittests
%{_libdir}/libml-agent-test.a
%{_libdir}/libml-agent-test.so*
%{_libdir}/libmlops-agent-test.a
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we include libmlops-agent-test library here?

suggestion at line 116 (update require mlops-agent > mlops-agent-test)
%package unittests
....
Requires: mlops-agent = %{version}-%{release} > mlops-agent-test = %{version}-%{release}

%{_libdir}/libmlops-agent-test.so*
%if 0%{?gcov:1}
%{_bindir}/tizen-unittests/%{name}/run-unittest.sh
%endif # gcov
Expand All @@ -284,5 +284,8 @@ install -m 0755 packaging/run-unittest.sh %{buildroot}%{_bindir}/tizen-unittests
%endif # unit_test

%changelog
* Thu Feb 08 2024 Sangjung Woo <[email protected]>
- Rename the package prefix to mlops-agent

* Mon Dec 11 2023 Sangjung Woo <[email protected]>
- Started ML-Agent packaging for 1.8.5 (Initial version sync to ML API)
2 changes: 1 addition & 1 deletion tests/daemon/meson.build
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ testenv.set('MLAGENT_SOURCE_ROOT_PATH', meson.source_root())
testenv.set('MLAGENT_BUILD_ROOT_PATH', meson.build_root())

unittest_ml_agent = executable('unittest_ml_agent',
'unittest_ml_agent.cc',
'unittest_mlops_agent.cc',
dependencies: [gtest_dep, ml_agent_test_dep],
install: get_option('install-test'),
install_dir: unittest_install_dir
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
#include <gio/gio.h>

#include "log.h"
#include "ml-agent-interface.h"
#include "mlops-agent-interface.h"

/**
* @brief Test base class for ML-Agent.
Expand Down
6 changes: 3 additions & 3 deletions tests/meson.build
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
# Install path for unittest
test_base_dir = join_paths(ml_agent_install_bindir, 'ml-agent-test')
test_base_dir = join_paths(ml_agent_install_bindir, 'ml-test')
unittest_install_dir = join_paths(test_base_dir, 'unittests')

ml_agent_lib_objs = ml_agent_lib.extract_objects(ml_agent_lib_srcs)
ml_agent_test_both_lib = both_libraries('ml-agent-test',
ml_agent_test_both_lib = both_libraries('mlops-agent-test',
dependencies: ml_agent_deps,
include_directories: ml_agent_incs,
install: true,
Expand All @@ -26,7 +26,7 @@ ml_agent_test_dep = declare_dependency(
)

ml_agent_main_objs = ml_agent_executable.extract_objects(ml_agent_main_file)
executable('machine-learning-agent-test',
executable('mlops-agent-test',
dependencies: ml_agent_test_dep,
install: true,
install_dir: test_base_dir,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
[D-BUS Service]
Name=org.tizen.machinelearning.service
Exec=@build_dir@/machine-learning-agent-test --session --path=.
Exec=@build_dir@/mlops-agent-test --session --path=.