/etc/dbus-1/system.d/org.tizen.sessiond.conf
/etc/package-manager/parserlib/libsessiond-update-skelimg.so
/usr/share/parser-plugins/sessiond-update-skelimg.info
+/usr/libexec/sessiond-update-skelimg
%files -n libsessiond
%manifest sessiond.manifest
pkgmgr-info
)
-ADD_LIBRARY(libsessiond-update-skelimg SHARED sessiond-update-skelimg.c)
+ADD_LIBRARY(libsessiond-update-skelimg SHARED plugin.c)
TARGET_COMPILE_OPTIONS(libsessiond-update-skelimg PUBLIC -fPIC ${deps_CFLAGS})
TARGET_LINK_LIBRARIES(libsessiond-update-skelimg PRIVATE ${deps_LDFLAGS})
+ADD_EXECUTABLE(sessiond-update-skelimg helper.cpp)
+TARGET_COMPILE_OPTIONS(sessiond-update-skelimg PUBLIC -fPIC -fPIE ${deps_CFLAGS})
+TARGET_INCLUDE_DIRECTORIES(sessiond-update-skelimg PRIVATE ../service/src)
+TARGET_LINK_LIBRARIES(sessiond-update-skelimg PRIVATE ${deps_LDFLAGS})
+
INSTALL(TARGETS libsessiond-update-skelimg LIBRARY DESTINATION /etc/package-manager/parserlib/)
+INSTALL(TARGETS sessiond-update-skelimg DESTINATION /usr/libexec/)
INSTALL(FILES sessiond-update-skelimg.info DESTINATION /usr/share/parser-plugins/)
--- /dev/null
+#include "fs_helpers.hpp"
+
+int main(int argc, char **argv)
+{
+ return 0;
+}
--- /dev/null
+#include <stdio.h>
+#include <dlog.h>
+#include <libxml/parser.h>
+#include <libxml/tree.h>
+#include <pkgmgr-info.h>
+#include <stdlib.h>
+
+#ifndef EXPORT_API
+#define EXPORT_API __attribute__((visibility("default")))
+#endif
+
+#ifdef LOG_TAG
+#undef LOG_TAG
+#endif
+#define LOG_TAG "SESSIOND_GEN_SKEL_IMG"
+
+int gen_skel(void) {
+ // No parameters passed, no need to call fork()+exec*() manually
+ // The logic for skel generation is in helper to make it possible to call it also manually during image build
+ return system("/usr/libexec/gen-skel-image");
+}
+
+EXPORT_API
+int PKGMGR_PARSER_PLUGIN_PRE_INSTALL(const char* packageId)
+{
+ return 0;
+}
+
+EXPORT_API
+int PKGMGR_PARSER_PLUGIN_INSTALL(xmlDocPtr docPtr, const char* packageId)
+{
+ return 0;
+}
+
+EXPORT_API
+int PKGMGR_PARSER_PLUGIN_POST_INSTALL(const char* packageId)
+{
+ SLOGD("Generate sessiond skel image for fast session add - triggered by %s package installation", packageId);
+ return gen_skel();
+}
+
+EXPORT_API
+int PKGMGR_PARSER_PLUGIN_UNINSTALL(xmlDocPtr docPtr, const char* packageId)
+{
+ return 0;
+}
+
+EXPORT_API
+int PKGMGR_PARSER_PLUGIN_PRE_UNINSTALL(const char* packageId)
+{
+ return 0;
+}
+
+EXPORT_API
+int PKGMGR_PARSER_PLUGIN_POST_UNINSTALL(const char* packageId)
+{
+ SLOGD("Generate sessiond skel image for fast session add - triggered by %s package deinstallation", packageId);
+ return gen_skel();
+}
+
+EXPORT_API
+int PKGMGR_PARSER_PLUGIN_PRE_UPGRADE(const char* packageId)
+{
+ return 0;
+}
+
+EXPORT_API
+int PKGMGR_PARSER_PLUGIN_UPGRADE(xmlDocPtr docPtr, const char* packageId)
+{
+ return 0;
+}
+
+EXPORT_API
+int PKGMGR_PARSER_PLUGIN_POST_UPGRADE(const char* packageId)
+{
+ SLOGD("Generate sessiond skel image for fast session add - triggered by %s package upgrade", packageId);
+ return gen_skel();
+}
+++ /dev/null
-#include <stdio.h>
-#include <dlog.h>
-#include <libxml/parser.h>
-#include <libxml/tree.h>
-#include <pkgmgr-info.h>
-#include <stdlib.h>
-
-#ifndef EXPORT_API
-#define EXPORT_API __attribute__((visibility("default")))
-#endif
-
-#ifdef LOG_TAG
-#undef LOG_TAG
-#endif
-#define LOG_TAG "SESSIOND_GEN_SKEL_IMG"
-
-#define IMGFILE "/etc/etc-skel-5001.img"
-
-int gen_skel(void) {
-
- char *tmpfile = IMGFILE".tmp";
- char *destfile = IMGFILE;
-
- unlink(tmpfile);
- int ret = system("/usr/sbin/mkfs.ext2 -E root_owner=5001:1000 -m0 -d /etc/skel /tmp/etc-skel-5001.img 10000");
- if (ret == 0)
- rename(tmpfile, destfile);
- else
- unlink(tmpfile);
-
- return ret;
-}
-
-EXPORT_API
-int PKGMGR_PARSER_PLUGIN_PRE_INSTALL(const char* packageId)
-{
- return 0;
-}
-
-EXPORT_API
-int PKGMGR_PARSER_PLUGIN_INSTALL(xmlDocPtr docPtr, const char* packageId)
-{
- return 0;
-}
-
-EXPORT_API
-int PKGMGR_PARSER_PLUGIN_POST_INSTALL(const char* packageId)
-{
- SLOGD("Generate sessiond skel image for fast session add - triggered by %s package installation", packageId);
- return gen_skel();
-}
-
-EXPORT_API
-int PKGMGR_PARSER_PLUGIN_UNINSTALL(xmlDocPtr docPtr, const char* packageId)
-{
- return 0;
-}
-
-EXPORT_API
-int PKGMGR_PARSER_PLUGIN_PRE_UNINSTALL(const char* packageId)
-{
- return 0;
-}
-
-EXPORT_API
-int PKGMGR_PARSER_PLUGIN_POST_UNINSTALL(const char* packageId)
-{
- SLOGD("Generate sessiond skel image for fast session add - triggered by %s package deinstallation", packageId);
- return gen_skel();
-}
-
-EXPORT_API
-int PKGMGR_PARSER_PLUGIN_PRE_UPGRADE(const char* packageId)
-{
- return 0;
-}
-
-EXPORT_API
-int PKGMGR_PARSER_PLUGIN_UPGRADE(xmlDocPtr docPtr, const char* packageId)
-{
- return 0;
-}
-
-EXPORT_API
-int PKGMGR_PARSER_PLUGIN_POST_UPGRADE(const char* packageId)
-{
- SLOGD("Generate sessiond skel image for fast session add - triggered by %s package upgrade", packageId);
- return gen_skel();
-}