From f9129c417ff4165ca21f89f46fbadb048fee6545 Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Mon, 24 Jun 2013 14:19:26 +0200 Subject: Inserted detection of pango-querymodules-64 in case of 64bit OS --- remote/modules/openbox/openbox.build | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/remote/modules/openbox/openbox.build b/remote/modules/openbox/openbox.build index 51c6beec..f3ce1448 100644 --- a/remote/modules/openbox/openbox.build +++ b/remote/modules/openbox/openbox.build @@ -16,5 +16,15 @@ build() { post_copy() { [ ! -d "$TARGET_BUILD_DIR/etc/pango" ] && mkdir -p "$TARGET_BUILD_DIR/etc/pango" - pango-querymodules > "$TARGET_BUILD_DIR/etc/pango/pango.modules" + + # little Workaround, as under e.g. 64bit Suse the binary is called + # pango-querymodules-64, not pango-querymodules. + which pango-querymodules 2>/dev/null 1>&2 + ERR=$? + if [[ "$ERR" -ne 0 ]]; then + PANGO_QUERYMODULES_ARCH=pango-querymodules-64 + else + PANGO_QUERYMODULES_ARCH=pango-querymodules + fi + $PANGO_QUERYMODULES_ARCH > "$TARGET_BUILD_DIR/etc/pango/pango.modules" } -- cgit v1.2.3-55-g7522 From b6422953a5bfee73860a1f698df3ee72bd062ea7 Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Mon, 24 Jun 2013 18:22:03 +0200 Subject: Some glibc-libs (libnss_compat, libbnss_db, libnss_dns, libnss_files, libnss_nis) pushed for openSuse64bit --- remote/modules/pam/pam.conf.zypper | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/remote/modules/pam/pam.conf.zypper b/remote/modules/pam/pam.conf.zypper index 48dc1d52..403cd59f 100644 --- a/remote/modules/pam/pam.conf.zypper +++ b/remote/modules/pam/pam.conf.zypper @@ -7,6 +7,7 @@ REQUIRED_INSTALLED_PACKAGES=" libopenssl-devel openldap2-client nfsidmap + glibc " REQUIRED_CONTENT_PACKAGES=" pam_ldap @@ -17,12 +18,25 @@ REQUIRED_CONTENT_PACKAGES=" nss-mdns openldap2-client nfsidmap + glibc " REQUIRED_BINARIES=" sslconnect ldapsearch mkhomedir_helper " +REQUIRED_LIBRARIES=" + nsswitch + static + umich_ldap + libnfsidmap + libnss_compat + libnss_db + libnss_dns + libnss_files + libnss_nis +" + REQUIRED_DIRECTORIES=" /$LIB64 /usr/$LIB64 -- cgit v1.2.3-55-g7522 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 From 916ab61f6f32cfab33b2195e62b05adfd0fcebdf Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 24 Jun 2013 18:40:49 +0200 Subject: Update .gitignore: no *.so files please! --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 21bf516c..e03b82dd 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ *~ *.swp +*.so server/boot server/remote_builds src -- cgit v1.2.3-55-g7522 From 2b8b987b79ac1b0d8ebcb64475957c20dd7ddf22 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 24 Jun 2013 18:41:22 +0200 Subject: Don't fail when copying firmware modules that already exist --- helper/kernel.inc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/helper/kernel.inc b/helper/kernel.inc index a5989b15..af2af38b 100644 --- a/helper/kernel.inc +++ b/helper/kernel.inc @@ -105,6 +105,7 @@ copy_kernel_modules() { copy_firmware() { [ -z "${REQUIRED_FIRMWARE}" ] && perror "REQUIRED_FIRMWARE is empty. Check your config file." + local HORST=$(pwd) check_kernel_build_dir # # process firmware list @@ -153,13 +154,16 @@ copy_firmware() { # which have to be copied to /lib/firmware/${KERNEL_NEW_VERSION} if [ -d "${TARGET_BUILD_DIR}/lib/firmware/${KERNEL_VERSION}" ]; then mkdir -p "${TARGET_BUILD_DIR}/lib/firmware/${KERNEL_NEW_VERSION}/" - mv "${TARGET_BUILD_DIR}/lib/firmware/${KERNEL_VERSION}/"* "${TARGET_BUILD_DIR}/lib/firmware/${KERNEL_NEW_VERSION}/" - rmdir "${TARGET_BUILD_DIR}/lib/firmware/${KERNEL_VERSION}/" || perror "something went very wrong..." + #mv -f "${TARGET_BUILD_DIR}/lib/firmware/${KERNEL_VERSION}/"* "${TARGET_BUILD_DIR}/lib/firmware/${KERNEL_NEW_VERSION}/" + cd "${TARGET_BUILD_DIR}/lib/firmware/${KERNEL_VERSION}" || perror "old kernel but no old kernel" + tarcopy "$(ls)" "${TARGET_BUILD_DIR}/lib/firmware/${KERNEL_NEW_VERSION}/" + cd - + rm -r "${TARGET_BUILD_DIR}/lib/firmware/${KERNEL_VERSION}" || perror "something went very wrong..." else pdebug "No ${TARGET_BUILD_DIR}/lib/firmware/${KERNEL_VERSION} directory, skipping the merge." fi - cd - >/dev/null + cd "$HORST" } copy_kernel() { -- cgit v1.2.3-55-g7522 From 8b49197847b16ac9a0b9b0a2edb91241ce21ac82 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Mon, 24 Jun 2013 18:43:12 +0200 Subject: [rootfs-stage31] delay fetching config by 1 second, kernel might not have routing table up to date otherwise --- remote/rootfs/rootfs-stage31/data/init | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/remote/rootfs/rootfs-stage31/data/init b/remote/rootfs/rootfs-stage31/data/init index 586b21df..3a1087df 100755 --- a/remote/rootfs/rootfs-stage31/data/init +++ b/remote/rootfs/rootfs-stage31/data/init @@ -107,11 +107,14 @@ mount -n --move /dev/shm/uniontmp /mnt/uniontmp || drop_shell "Problem moving un [ $DEBUG -ge 2 ] && drop_shell "Requested Debug Shell: after aufs'ing." # Download config if available +( +sleep 1 /mnt/opt/openslx/bin/activate-sysconfig /mnt +) & # create udev rule for nic we booted from cat > "/mnt/etc/udev/rules.d/70-net-boot-nic-name.rules" </dev/null 1>&2 + ERR=$? + if [[ "$ERR" -eq 0 ]]; then + PANGO_QUERYMODULES_ARCH=pango-querymodules-64 + else + perror "Could not find either pango-querymodules or pango-querymodules-64!" + fi fi $PANGO_QUERYMODULES_ARCH > "$TARGET_BUILD_DIR/etc/pango/pango.modules" } -- cgit v1.2.3-55-g7522 From 63324b11b7df4d47f8de0322f891344635905952 Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Wed, 26 Jun 2013 16:52:44 +0200 Subject: Library paths changed to reflect openSuse 64bit ($LIB64) --- remote/modules/xorg/xorg.conf.zypper | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/remote/modules/xorg/xorg.conf.zypper b/remote/modules/xorg/xorg.conf.zypper index 9f7d69e7..4041f4bd 100644 --- a/remote/modules/xorg/xorg.conf.zypper +++ b/remote/modules/xorg/xorg.conf.zypper @@ -1,3 +1,4 @@ +# xkbutils, xkbprint, setxkbmap, xkbevd for 64-bit openSuse REQUIRED_CONTENT_PACKAGES=" xorg-x11 xorg-x11-server @@ -27,6 +28,10 @@ REQUIRED_CONTENT_PACKAGES=" libxcb-glx0 kdm-branding-openSUSE Mesa + xkbutils + xkbprint + setxkbmap + xkbevd " REQUIRED_LIBRARIES=" libI810XvMC @@ -50,7 +55,7 @@ REQUIRED_BINARIES=" Xorg vmmouse_detect" REQUIRED_DIRECTORIES=" /usr/lib/udev - /usr/lib/xorg + /usr/$LIB64/xorg /usr/bin /usr/share/X11 /usr/share/fonts -- cgit v1.2.3-55-g7522