summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--remote/post-patch/ck-connector/fake-ck-connector.c55
-rwxr-xr-xremote/setup_target21
l---------remote/targets/stage32/hwinfo1
3 files changed, 74 insertions, 3 deletions
diff --git a/remote/post-patch/ck-connector/fake-ck-connector.c b/remote/post-patch/ck-connector/fake-ck-connector.c
new file mode 100644
index 00000000..42fa1546
--- /dev/null
+++ b/remote/post-patch/ck-connector/fake-ck-connector.c
@@ -0,0 +1,55 @@
+#include <dbus/dbus.h>
+#include <sys/types.h>
+
+struct _CkConnector;
+typedef struct _CkConnector CkConnector;
+
+
+struct _CkConnector
+{
+ int refcount;
+ char *cookie;
+ dbus_bool_t session_created;
+ DBusConnection *connection;
+};
+
+void ck_connector_unref (CkConnector *connector)
+{
+ return;
+}
+
+CkConnector * ck_connector_ref (CkConnector *connector)
+{
+ return connector;
+}
+
+CkConnector * ck_connector_new (void)
+{
+ return (CkConnector*)1;
+}
+
+dbus_bool_t ck_connector_open_session (CkConnector *connector, DBusError *error)
+{
+ return 1;
+}
+
+dbus_bool_t ck_connector_open_session_with_parameters (CkConnector *connector, DBusError *error, const char *first_parameter_name, ...)
+{
+ return 1;
+}
+
+dbus_bool_t ck_connector_open_session_for_user (CkConnector *connector, uid_t user, const char *display_device, const char *x11_display, DBusError *error)
+{
+ return 1;
+}
+
+const char * ck_connector_get_cookie (CkConnector *connector)
+{
+ return NULL;
+}
+
+dbus_bool_t ck_connector_close_session (CkConnector *connector, DBusError *error)
+{
+ return 1;
+}
+
diff --git a/remote/setup_target b/remote/setup_target
index da4b7701..1638f392 100755
--- a/remote/setup_target
+++ b/remote/setup_target
@@ -315,7 +315,6 @@ post_process_target() {
#move systemd files from /lib to /etc/lib
pinfo "move systemd files from /lib/systemd to /etc/systemd"
-
if [ -d "${TARGET_BUILD_DIR}/lib/systemd" ]; then
cd "${TARGET_BUILD_DIR}/lib"
tarcopy "systemd" "${TARGET_BUILD_DIR}/etc"
@@ -323,7 +322,22 @@ post_process_target() {
rm -r "${TARGET_BUILD_DIR}/lib/systemd"
fi
+ # replace ck connector with fake one
+ local CK_LIBS=$(find "$TARGET_BUILD_DIR" -name "libck-connector.so*")
+ if [ -n "$CK_LIBS" ]; then
+ pinfo "Replacing libck-connector with dummy"
+ local SRC="$ROOT_DIR/remote/post-patch/ck-connector/fake-ck-connector.c"
+ local BIN="$ROOT_DIR/remote/post-patch/ck-connector/libck-connector.so"
+ if [ ! -s "$BIN" ]; then
+ gcc -O3 -shared -o "$BIN" "-I/usr/include/dbus-1.0" "-I/usr/lib/$ARCH_TRIPLET/dbus-1.0/include" "$SRC" || perror "Compiling fake libck-connector.so failed. Make sure libdbus-1-dev is installed."
+ fi
+ for OCCURENCE in $CK_LIBS; do
+ cp "$BIN" "$OCCURENCE" || perror "Frickeling ck-connector to $OCCURENCE failed."
+ done
+ fi
+
# figure out all relevant ld-paths
+ pinfo "Running ldconfig"
local LDTEMP="$TARGET_BUILD_DIR/ldconf-temp"
grep -h '^\s*/' /etc/ld.so.conf /etc/ld.so.conf.d/* > "$LDTEMP"
# TODO: Echo other stuff to $LDTEMP (but figure out if first or last match wins)
@@ -351,13 +365,16 @@ clean_modules() {
fi
set -- $(ls ${TARGET_DIR} | grep -v kernel)
fi
- cd ${TARGET_DIR}
+ cd "$TARGET_DIR"
while (( "$#" )); do
clean_module $(readlink -f $1)
shift
done
cd - &> /dev/null
+
+ # libck-connector cleanup
+ rm -f "$TARGET_DIR/post-patch/ck-connector/libck-connector.so"
}
clean_module() {
diff --git a/remote/targets/stage32/hwinfo b/remote/targets/stage32/hwinfo
deleted file mode 120000
index 6007a018..00000000
--- a/remote/targets/stage32/hwinfo
+++ /dev/null
@@ -1 +0,0 @@
-../../modules/hwinfo \ No newline at end of file