[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdebase/workspace/kdm
From: Oswald Buddenhagen <ossi () kde ! org>
Date: 2007-10-27 13:12:35
Message-ID: 1193490755.780462.5676.nullmailer () svn ! kde ! org
[Download RAW message or body]
SVN commit 729942 by ossi:
install kdm_config, kdm_greet and krootimage into libexec_dir
M +29 -0 ConfigureChecks.cmake
M +29 -6 backend/dm.c
M +7 -1 backend/dm.h
M +8 -1 backend/process.c
M +3 -0 config-kdm.h.cmake
M +3 -3 kfrontend/CMakeLists.txt
--- trunk/KDE/kdebase/workspace/kdm/ConfigureChecks.cmake #729941:729942
@@ -179,3 +179,32 @@
set(KDM_DEF_USER_PATH "/usr/local/bin:/usr/bin:/bin:${XBINDIR}:/usr/games")
set(KDM_DEF_SYSTEM_PATH "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${XBINDIR}")
endif (dont_add_xbin)
+
+set(KDM_LIBEXEC_STRIP 0)
+if (NOT LIBEXEC_INSTALL_DIR STREQUAL "${BIN_INSTALL_DIR}")
+ STRING(LENGTH "${BIN_INSTALL_DIR}" bidl)
+ STRING(LENGTH "${LIBEXEC_INSTALL_DIR}" lxidl)
+ set(ips "${CMAKE_INSTALL_PREFIX}/")
+ STRING(LENGTH "${ips}" ipsl)
+ set(inip 1)
+ if (bild LESS ${ipsl} OR lxild LESS ${ipsl})
+ set(inip)
+ else (bild LESS ${ipsl} OR lxild LESS ${ipsl})
+ STRING(SUBSTRING "${BIN_INSTALL_DIR}" 0 ${ipsl} bpr)
+ STRING(SUBSTRING "${LIBEXEC_INSTALL_DIR}" 0 ${ipsl} lpr)
+ if (NOT bpr STREQUAL "${lpr}")
+ set(inip)
+ endif (NOT bpr STREQUAL "${lpr}")
+ endif (bild LESS ${ipsl} OR lxild LESS ${ipsl})
+ if (NOT inip)
+ set(KDM_LIBEXEC_STRIP -1)
+ set(KDM_LIBEXEC_SUFFIX "${LIBEXEC_INSTALL_DIR}")
+ else (NOT inip)
+ MATH(EXPR bsfxl "${bidl} - ${ipsl}")
+ STRING(SUBSTRING "${BIN_INSTALL_DIR}" ${ipsl} ${bsfxl} bsfx)
+ STRING(REPLACE "/" ";" bsfxl "${bsfx}")
+ LIST(LENGTH bsfxl KDM_LIBEXEC_STRIP)
+ MATH(EXPR klxsfxl "${lxidl} - ${ipsl}")
+ STRING(SUBSTRING "${LIBEXEC_INSTALL_DIR}" ${ipsl} ${klxsfxl} KDM_LIBEXEC_SUFFIX)
+ endif (NOT inip)
+endif (NOT LIBEXEC_INSTALL_DIR STREQUAL "${BIN_INSTALL_DIR}")
--- trunk/KDE/kdebase/workspace/kdm/backend/dm.c #729941:729942
@@ -74,7 +74,13 @@
time_t now;
-char *prog, *progpath;
+#if KDM_LIBEXEC_STRIP != -1
+char *progpath;
+#endif
+#if KDM_LIBEXEC_STRIP
+char *progname;
+#endif
+char *prog;
int
main( int argc, char **argv )
@@ -96,11 +102,15 @@
if (fcntl( 2, F_GETFD ) < 0)
dup2( 0, 2 );
+#if KDM_LIBEXEC_STRIP == -1
+ prog = strrchr( argv[0], '/' );
+ progname = prog = prog ? prog + 1 : argv[0];
+#else
if (argv[0][0] == '/') {
if (!strDup( &progpath, argv[0] ))
panic( "Out of memory" );
} else
-#ifdef __linux__
+# ifdef __linux__
{
/* note that this will resolve symlinks ... */
int len;
@@ -110,10 +120,10 @@
if (!strNDup( &progpath, fullpath, len ))
panic( "Out of memory" );
}
-#else
-# if 0
+# else
+# if 0
panic( "Must be invoked with full path specification" );
-# else
+# else
{
char directory[PATH_MAX+1];
if (!getcwd( directory, sizeof(directory) ))
@@ -152,9 +162,22 @@
panic( "Out of memory" );
}
}
+# endif
# endif
+ prog = strrchr( progpath, '/' ) + 1;
+# if KDM_LIBEXEC_STRIP
+ for (progname = pt = prog, fd = 0; fd < KDM_LIBEXEC_STRIP + 1; fd++) {
+ for (;;) {
+ pt--;
+ if (pt == progpath)
+ panic( "Executable is obviously located outside BINDIR" );
+ if (*pt == '/')
+ break;
+ }
+ }
+ *pt = 0;
+# endif
#endif
- prog = strrchr( progpath, '/' ) + 1;
#if !defined(HAVE_SETPROCTITLE) && !defined(NOXDMTITLE)
title = argv[0];
--- trunk/KDE/kdebase/workspace/kdm/backend/dm.h #729941:729942
@@ -361,7 +361,13 @@
void becomeDaemon( void );
/* in dm.c */
-extern char *prog, *progpath;
+#if KDM_LIBEXEC_STRIP != -1
+extern char *progpath;
+#endif
+#if KDM_LIBEXEC_STRIP
+extern char *progname;
+#endif
+extern char *prog;
extern time_t now;
extern SdRec sdRec;
void startDisplay( struct display *d );
--- trunk/KDE/kdebase/workspace/kdm/backend/process.c #729941:729942
@@ -493,7 +493,14 @@
free( cname );
return -1;
}
- if (!strApp( margv, progpath, what, (char *)0 )) {
+#if KDM_LIBEXEC_STRIP == -1
+ if (!strApp( margv, KDM_LIBEXEC_SUFFIX, progname, what, (char *)0 ))
+#elif KDM_LIBEXEC_STRIP == 0
+ if (!strApp( margv, progpath, what, (char *)0 ))
+#else
+ if (!strApp( margv, progpath, "/" KDM_LIBEXEC_SUFFIX, progname, what, (char *)0 ))
+#endif
+ {
free( margv );
if (cname)
free( cname );
--- trunk/KDE/kdebase/workspace/kdm/config-kdm.h.cmake #729941:729942
@@ -121,3 +121,6 @@
#cmakedefine KDM_DEF_USER_PATH "${KDM_DEF_USER_PATH}"
#cmakedefine KDM_DEF_SYSTEM_PATH "${KDM_DEF_SYSTEM_PATH}"
+/* Parameters to get from bindir to libexecdir */
+#cmakedefine KDM_LIBEXEC_STRIP ${KDM_LIBEXEC_STRIP}
+#cmakedefine KDM_LIBEXEC_SUFFIX "${KDM_LIBEXEC_SUFFIX}/"
--- trunk/KDE/kdebase/workspace/kdm/kfrontend/CMakeLists.txt #729941:729942
@@ -77,21 +77,21 @@
target_link_libraries(kdm_greet ${KDE4_KPTY_LIBS})
endif (WITH_KDM_XCONSOLE)
-install(TARGETS kdm_greet DESTINATION ${BIN_INSTALL_DIR})
+install(TARGETS kdm_greet DESTINATION ${LIBEXEC_INSTALL_DIR})
set(kdm_config_SRCS kdm_config.c)
macro_add_file_dependencies(kdm_config.c ${confci})
kde4_add_executable(kdm_config NOGUI ${kdm_config_SRCS})
macro_add_compile_flags(kdm_config -U_REENTRANT)
target_link_libraries(kdm_config ${SOCKET_LIBRARIES} ${RESOLV_LIBRARIES} ${POSIX4_LIBRARIES})
-install(TARGETS kdm_config DESTINATION ${BIN_INSTALL_DIR})
+install(TARGETS kdm_config DESTINATION ${LIBEXEC_INSTALL_DIR})
set(krootimage_SRCS krootimage.cpp krootimage.h ${backgroundlib_SRCS})
kde4_add_executable(krootimage ${krootimage_SRCS})
# needs qt3support for q3ptrvector in background/bgrender.cpp
target_link_libraries(krootimage ${KDE4_KDE3SUPPORT_LIBS} ${KDE4_KIO_LIBS} ${QT_QTCORE_LIBRARY}
${QT_QTGUI_LIBRARY} ${QT_QT3SUPPORT_LIBRARY} ${BLITZ_LIBRARIES})
-install(TARGETS krootimage DESTINATION ${BIN_INSTALL_DIR})
+install(TARGETS krootimage DESTINATION ${LIBEXEC_INSTALL_DIR})
set(genkdmconf_SRCS genkdmconf.c)
macro_add_file_dependencies(genkdmconf.c ${confci})
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic