mkdir -p %{buildroot}/%{_unitdir}/basic.target.wants/
ln -s ../dumpsys-service.service %{buildroot}/%{_unitdir}/basic.target.wants/dumpsys-service.service
-mkdir -p %{buildroot}/%{_unitdir_user}/delayed.target.wants/
-ln -s ../dumpsys-session-agent.service %{buildroot}/%{_unitdir_user}/delayed.target.wants/dumpsys-session-agent.service
-
%files
%license LICENSE
%manifest %{name}.manifest
%{_bindir}/dumpsys
%{_libdir}/libdumpsys.so.*
%{_bindir}/dumpsys-service
-%{_bindir}/dumpsys-session-agent
-%{_libdir}/libdumpsys-agent.so.*
%defattr(0655,root,root)
%{_unitdir}/basic.target.wants/dumpsys-service.service
%{_unitdir}/dumpsys-service.service
-%{_unitdir_user}/delayed.target.wants/dumpsys-session-agent.service
-%{_unitdir_user}/dumpsys-session-agent.service
%{_libdir}/tmpfiles.d/dumpsys-run.conf
%{_sysconfdir}/dbus-1/system.d/dumpsys-service.conf
%{_sysconfdir}/dbus-1/system.d/dumpsys-agent.conf
%manifest %{name}.manifest
%{_includedir}/libdumpsys.h
%{_libdir}/libdumpsys.so
-%{_libdir}/libdumpsys-agent.so
%{_libdir}/pkgconfig/dumpsys.pc
%files -n libdumpsys-system
%{_libdir}/dumpsys_system_tests/utils/test-app
%{_libdir}/dumpsys_system_tests/run.sh
%{_libdir}/dumpsys_system_tests/dumpsys_system/dumpsys_system.sh
-%{_libdir}/dumpsys_system_tests/dumpsys_session/dumpsys_session.sh
%{_libdir}/dumpsys_system_tests/dumpsys_notfound/dumpsys_notfound.sh
%endif
INCLUDE(GNUInstallDirs)
INCLUDE(FindPkgConfig)
-SET(AGENT_BIN "dumpsys-session-agent")
SET(AGENT_LIB "libdumpsys-agent")
find_package(PkgConfig REQUIRED)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${EXTRA_CFLAGS} -Wall -Wextra -Werror -fPIE -Wno-unused-function -Wno-unused-const-variable")
-ADD_LIBRARY(${AGENT_LIB} SHARED libdumpsys-agent.c)
+ADD_LIBRARY(${AGENT_LIB} STATIC libdumpsys-agent.c)
TARGET_LINK_LIBRARIES(${AGENT_LIB} PUBLIC ${libagent_pkgs_LIBRARIES})
SET_TARGET_PROPERTIES(${AGENT_LIB} PROPERTIES
SOVERSION 1
OUTPUT_NAME dumpsys-agent)
-LINK_DIRECTORIES(${CMAKE_BINARY_DIR})
-ADD_EXECUTABLE(${AGENT_BIN} dumpsys-agent.c)
-TARGET_LINK_LIBRARIES(${AGENT_BIN} PUBLIC ${AGENT_LIB})
-
-INSTALL (TARGETS ${AGENT_BIN} DESTINATION ${CMAKE_INSTALL_BINDIR}
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE)
-INSTALL (TARGETS ${AGENT_LIB} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
INSTALL (FILES dumpsys-agent.conf DESTINATION /etc/dbus-1/system.d/
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE)
-INSTALL (FILES dumpsys-session-agent.service DESTINATION /usr/lib/systemd/user/
- PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE)
+ PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE)
+++ /dev/null
-/*
- * Copyright (c) 2019-2020 Samsung Electronics Co., Ltd. All rights reserved.
- *
- * Licensed under the Apache License, Version 2.0 (the License);
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#include <assert.h>
-#include <gio/gio.h>
-#include <stdlib.h>
-#include "libdumpsys-agent.h"
-
-int main()
-{
- int result = EXIT_SUCCESS;
- GMainLoop *loop = g_main_loop_new(NULL, false);
-
- assert(loop);
-
- if (!dumpsys_agent_run(loop, G_BUS_TYPE_SESSION)) {
- result = EXIT_FAILURE;
- goto out;
- }
-
- g_main_loop_run(loop);
-out:
- dumpsys_agent_stop();
- g_main_loop_unref(loop);
-
- return result;
-}
+++ /dev/null
-[Unit]
-Description=Dumpsys agent
-After=dbus.socket
-
-[Service]
-ExecStart=/usr/bin/dumpsys-session-agent
return true;
}
-static GBusType get_bus_type()
-{
- return (getuid() == 0) ? G_BUS_TYPE_SYSTEM : G_BUS_TYPE_SESSION;
-}
-
static bool dbus_init()
{
introspection_data = g_dbus_node_info_new_for_xml(introspection_xml, NULL);
GError *error = NULL;
- GBusType default_bus_type = get_bus_type();
- connection = g_bus_get_sync(default_bus_type, NULL, &error);
+ connection = g_bus_get_sync(G_BUS_TYPE_SYSTEM, NULL, &error);
if (!connection || error != NULL) {
LOGE("connect to the bus error: %s", error ? error->message : "(none)");
LINK_DIRECTORIES(${CMAKE_SOURCE_DIR}/src/agent)
ADD_EXECUTABLE(dumpsys-service ${DUMPSYS_SERVICE})
ADD_DEPENDENCIES(dumpsys-service libdumpsys-agent)
-TARGET_LINK_LIBRARIES(dumpsys-service PUBLIC ${dumpsys_service_pkgs_LIBRARIES} -ldumpsys-agent)
+TARGET_LINK_LIBRARIES(dumpsys-service PUBLIC ${dumpsys_service_pkgs_LIBRARIES} libdumpsys-agent)
INSTALL (TARGETS dumpsys-service DESTINATION ${CMAKE_INSTALL_BINDIR}
PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE)
endmacro()
configure_test("dumpsys_system")
-configure_test("dumpsys_session")
configure_test("dumpsys_notfound")
configure_file("run.sh.template" "run.sh" @ONLY)
+++ /dev/null
-#!/bin/bash
-
-# dumpsys session bus test
-
-if [ -z "${DUMPSYS_SYSTEM_TESTS}" ]; then
- DUMPSYS_SYSTEM_TESTS="@DUMPSYS_SYSTEM_TESTS_PATH@"
-fi
-
-. ${DUMPSYS_SYSTEM_TESTS}/utils/dumpsys-utils.sh
-
-APP_NAME=apka
-MESSAGE="some message"
-ARG1="-some arg 1"
-ARG2="--some arg 2"
-OUTPUT_FILE=/tmp/dumpsys_output
-APP_PID=0
-
-cleanup()
-{
- if [[ ${APP_PID} != 0 ]]; then
- kill ${APP_PID}
- fi
-
- rm -f "${OUTPUT_FILE:?}"
-}
-
-trap cleanup 0
-
-su -c "${DUMPSYS_SYSTEM_TESTS}/utils/test-app \"${APP_NAME}\" \"${MESSAGE}\"" -l owner > ${OUTPUT_FILE} &
-APP_PID=${!}
-sleep 1
-RESULT=`dumpsys ${APP_NAME} -- "${ARG1}" "${ARG2}"`
-
-check "${MESSAGE}"
-
-RESULT=`cat ${OUTPUT_FILE}`
-
-check "${ARG1}"
-check "${ARG2}"
-
-exit_ok