From e52c2ba8b9827288cfc2d40f2f259884db51b034 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 24 Jun 2013 18:38:30 +0200 Subject: post_process_target: Replace libck-connector.so with dummy This is to prevent KDM from trying to talk to ConsoleKit (which we don't use) ConsoleKit is not being actively developed anymore, and we want to switch to systemd (and its logind) entirely --- remote/post-patch/ck-connector/fake-ck-connector.c | 55 ++++++++++++++++++++++ remote/setup_target | 21 ++++++++- remote/targets/stage32/hwinfo | 1 - 3 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 remote/post-patch/ck-connector/fake-ck-connector.c delete mode 120000 remote/targets/stage32/hwinfo 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 +#include + +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 -- cgit v1.2.3-55-g7522