%description plugin
+%package tools
+Summary: Tools for update control
+Group: System/Utilities
+Requires: %{name} = %{version}-%{release}
+
+%description tools
+
%prep
%setup -q
cp %{SOURCE1001} .
%cmake . -DMAJORVER=${MAJORVER} \
-DFULLVER=%{version} \
-DDEBUG_MODE=on \
- -DPLUGIN_PATH=%{_libdir}
+ -DPLUGIN_PATH=%{_libdir} \
+ -DBINARY_PATH=%{_bindir}
%__make %{?jobs:-j%jobs}
%license LICENSE
# path is fixed in src/update_control.c
%{_libdir}/libupdate-control-plugin.so*
+
+%files tools
+%manifest %{name}.manifest
+%license LICENSE
+%{_bindir}/fota
--- /dev/null
+CMAKE_MINIMUM_REQUIRED(VERSION 2.6)
+SET(OUTPUT_BIN_NAME fota)
+PROJECT(update-control-tools-${OUTPUT_BIN_NAME} C)
+
+INCLUDE_DIRECTORIES(${CMAKE_SOURCE_DIR}/include)
+
+FILE(GLOB_RECURSE SRCS main.c)
+ADD_EXECUTABLE(${OUTPUT_BIN_NAME} ${SRCS})
+SET(CMAKE_EXE_LINKER_FLAGS "-Wl,--as-needed -pie")
+TARGET_LINK_LIBRARIES(${OUTPUT_BIN_NAME} ${REQUIRED_PKGS_LDFLAGS} update-control)
+INSTALL(TARGETS ${OUTPUT_BIN_NAME} DESTINATION ${BINARY_PATH})
--- /dev/null
+#include <stdio.h>
+
+#include "update_control.h"
+
+int main(int argc, char **argv)
+{
+ int ret = 0;
+
+ ret = update_control_initialize();
+ if (ret != UPDATE_CONTROL_ERROR_NONE) {
+ printf("Failed to initialize: %d\n", ret);
+ return ret;
+ }
+ printf("Succeed to initialize\n");
+
+ ret = update_control_check_new_version();
+ if (ret != UPDATE_CONTROL_ERROR_NONE) {
+ printf("Failed to check new version: %d\n", ret);
+ goto cleanup;
+ }
+
+ ret = update_control_download_package();
+ if (ret != UPDATE_CONTROL_ERROR_NONE) {
+ printf("Failed to download delta: %d\n", ret);
+ goto cleanup;
+ }
+ printf("Succeed to download delta\n");
+
+ ret = update_control_do_update();
+ if (ret != UPDATE_CONTROL_ERROR_NONE) {
+ printf("Failed to trigger update: %d\n", ret);
+ goto cleanup;
+ }
+
+ printf("Succeed to trigger update: %d\n", ret);
+
+cleanup:
+ ret = update_control_deinitialize();
+ if (ret != UPDATE_CONTROL_ERROR_NONE)
+ printf("Failed to deinitialize: %d\n", ret);
+
+ return ret;
+}