forked from pool/kinit
This commit is contained in:
parent
61392c13aa
commit
1248a1a47f
16
fpie.patch
Normal file
16
fpie.patch
Normal file
@ -0,0 +1,16 @@
|
||||
diff --git a/src/start_kdeinit/CMakeLists.txt b/src/start_kdeinit/CMakeLists.txt
|
||||
index 56a91e3..1af14de 100644
|
||||
--- a/src/start_kdeinit/CMakeLists.txt
|
||||
+++ b/src/start_kdeinit/CMakeLists.txt
|
||||
@@ -2,6 +2,11 @@ add_executable(start_kdeinit start_kdeinit.c)
|
||||
if (Libcap_FOUND)
|
||||
target_link_libraries(start_kdeinit ${Libcap_LIBRARIES})
|
||||
endif()
|
||||
+
|
||||
+set_property(TARGET start_kdeinit APPEND_STRING PROPERTY COMPILE_FLAGS " -fPIE")
|
||||
+
|
||||
+set_property(TARGET start_kdeinit APPEND_STRING PROPERTY LINK_FLAGS " -pie")
|
||||
+
|
||||
add_executable(start_kdeinit_wrapper start_kdeinit_wrapper.c)
|
||||
|
||||
install(TARGETS start_kdeinit DESTINATION ${KF5_LIBEXEC_INSTALL_DIR})
|
@ -1,3 +1,10 @@
|
||||
-------------------------------------------------------------------
|
||||
Sun Jul 27 01:07:34 UTC 2014 - hrvoje.senjan@gmail.com
|
||||
|
||||
- Added fpie.patch: add -(f)pie link flags to start_kdeinit target
|
||||
- Added more_verbose.patch: add more usefull verbosity to kdeinit5
|
||||
and klauncher
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jul 11 09:48:44 UTC 2014 - hrvoje.senjan@gmail.com
|
||||
|
||||
|
@ -44,7 +44,10 @@ Group: System/GUI/KDE
|
||||
Url: http://www.kde.org
|
||||
Source: http://download.kde.org/stable/frameworks/%{version}/%{name}-%{version}.tar.xz
|
||||
Source1: baselibs.conf
|
||||
# PATCH-FIX-OPENSUSE more_verbose.patch -- add more usefull verbosity to kdeinit5 and klauncher
|
||||
Patch0: more_verbose.patch
|
||||
# PATCH-FIX-OPENSUSE fpie.patch -- add -(f)pie link flags to start_kdeinit target
|
||||
Patch1: fpie.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-build
|
||||
|
||||
%description
|
||||
@ -65,6 +68,7 @@ booting UNIX. Development files.
|
||||
%prep
|
||||
%setup -q
|
||||
%patch0 -p1
|
||||
%patch1 -p1
|
||||
|
||||
%build
|
||||
%cmake_kf5 -d build -- -DCMAKE_CXX_FLAGS="%{optflags} -fpie" -DCMAKE_C_FLAGS="%{optflags} -fpie" -DCMAKE_SHARED_LINKER_FLAGS="-pie" -DCMAKE_EXE_LINKER_FLAGS="-pie" -DCMAKE_MODULE_LINKER_FLAGS="-pie"
|
||||
|
@ -1,7 +1,8 @@
|
||||
diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.cpp
|
||||
--- kinit-5.0.0/src/kdeinit/kinit.cpp 2014-07-01 20:31:22.000000000 +0200
|
||||
+++ kinit-5.0.0.new/src/kdeinit/kinit.cpp 2014-07-26 14:54:45.372904933 +0200
|
||||
@@ -448,7 +448,7 @@
|
||||
diff --git a/src/kdeinit/kinit.cpp b/src/kdeinit/kinit.cpp
|
||||
index 296ebfd..dedbc9c 100644
|
||||
--- a/src/kdeinit/kinit.cpp
|
||||
+++ b/src/kdeinit/kinit.cpp
|
||||
@@ -448,7 +448,7 @@ static void reset_oom_protect()
|
||||
if (write(oom_pipe, &pid, sizeof(pid_t)) > 0) {
|
||||
sigsuspend(&oldsigs); // wait for the signal to come
|
||||
} else {
|
||||
@ -10,7 +11,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "Failed to reset OOM protection: %d\n", pid);
|
||||
#endif
|
||||
}
|
||||
@@ -512,7 +512,7 @@
|
||||
@@ -512,7 +512,7 @@ static pid_t launch(int argc, const char *_name, const char *args,
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -19,7 +20,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "kdeinit5: preparing to launch '%s'\n", libpath.isEmpty()
|
||||
? execpath.constData() : libpath.toUtf8().constData());
|
||||
#endif
|
||||
@@ -742,7 +742,7 @@
|
||||
@@ -742,7 +742,7 @@ static pid_t launch(int argc, const char *_name, const char *args,
|
||||
d.n = read(d.fd[0], &d.result, 1);
|
||||
if (d.n == 1) {
|
||||
if (d.result == 2) {
|
||||
@ -28,7 +29,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
//fprintf(stderr, "kdeinit5: no kdeinit module, trying exec....\n");
|
||||
#endif
|
||||
exec = true;
|
||||
@@ -1020,7 +1020,7 @@
|
||||
@@ -1020,7 +1020,7 @@ static void start_klauncher()
|
||||
sprintf(args + 5, "%d", d.launcher[1]);
|
||||
d.launcher_pid = launch(2, "klauncher", args);
|
||||
close(d.launcher[1]);
|
||||
@ -37,7 +38,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "kdeinit5: Launched KLauncher, pid = %ld, result = %d\n",
|
||||
(long) d.launcher_pid, d.result);
|
||||
#endif
|
||||
@@ -1036,7 +1036,7 @@
|
||||
@@ -1036,7 +1036,7 @@ static void launcher_died()
|
||||
}
|
||||
|
||||
// KLauncher died... restart
|
||||
@ -46,7 +47,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "kdeinit5: KLauncher died unexpectedly.\n");
|
||||
#endif
|
||||
// Make sure it's really dead.
|
||||
@@ -1055,7 +1055,7 @@
|
||||
@@ -1055,7 +1055,7 @@ static void launcher_died()
|
||||
|
||||
static bool handle_launcher_request(int sock, const char *who)
|
||||
{
|
||||
@ -55,7 +56,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
|
||||
klauncher_header request_header;
|
||||
char *request_data = 0L;
|
||||
@@ -1098,7 +1098,7 @@
|
||||
@@ -1098,7 +1098,7 @@ static bool handle_launcher_request(int sock, const char *who)
|
||||
int avoid_loops = 0;
|
||||
const char *startup_id_str = "0"; // krazy:exclude=doublequote_chars
|
||||
|
||||
@ -64,7 +65,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "kdeinit5: Got %s '%s' from %s.\n",
|
||||
commandToString(request_header.cmd),
|
||||
name, who);
|
||||
@@ -1148,7 +1148,7 @@
|
||||
@@ -1148,7 +1148,7 @@ static bool handle_launcher_request(int sock, const char *who)
|
||||
}
|
||||
|
||||
if ((arg_n - request_data) != request_header.arg_length) {
|
||||
@ -73,7 +74,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "kdeinit5: EXEC request has invalid format.\n");
|
||||
#endif
|
||||
free(request_data);
|
||||
@@ -1208,13 +1208,13 @@
|
||||
@@ -1208,13 +1208,13 @@ static bool handle_launcher_request(int sock, const char *who)
|
||||
env_name = request_data;
|
||||
env_value = env_name + strlen(env_name) + 1;
|
||||
|
||||
@ -89,7 +90,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "kdeinit5: SETENV request has invalid format.\n");
|
||||
#endif
|
||||
free(request_data);
|
||||
@@ -1222,14 +1222,14 @@
|
||||
@@ -1222,14 +1222,14 @@ static bool handle_launcher_request(int sock, const char *who)
|
||||
}
|
||||
qputenv(env_name, env_value);
|
||||
} else if (request_header.cmd == LAUNCHER_TERMINATE_KDE) {
|
||||
@ -106,7 +107,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "kdeinit5: Got termination request (PID %ld).\n", (long) getpid());
|
||||
#endif
|
||||
if (d.launcher_pid) {
|
||||
@@ -1242,14 +1242,14 @@
|
||||
@@ -1242,14 +1242,14 @@ static bool handle_launcher_request(int sock, const char *who)
|
||||
if (children) {
|
||||
close(d.wrapper);
|
||||
d.wrapper = -1;
|
||||
@ -123,7 +124,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "kdeinit5: Debug wait activated.\n");
|
||||
#endif
|
||||
d.debug_wait = true;
|
||||
@@ -1293,7 +1293,7 @@
|
||||
@@ -1293,7 +1293,7 @@ static void handle_requests(pid_t waitForPid)
|
||||
do {
|
||||
exit_pid = waitpid(-1, &exit_status, WNOHANG);
|
||||
if (exit_pid > 0) {
|
||||
@ -132,7 +133,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "kdeinit5: PID %ld terminated.\n", (long) exit_pid);
|
||||
#endif
|
||||
if (waitForPid && (exit_pid == waitForPid)) {
|
||||
@@ -1308,7 +1308,7 @@
|
||||
@@ -1308,7 +1308,7 @@ static void handle_requests(pid_t waitForPid)
|
||||
child_died(exit_pid, exit_status);
|
||||
|
||||
if (d.wrapper < 0 && !children) {
|
||||
@ -141,7 +142,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "kdeinit5: Last child terminated, exiting (PID %ld).\n",
|
||||
(long) getpid());
|
||||
#endif
|
||||
@@ -1463,7 +1463,7 @@
|
||||
@@ -1463,7 +1463,7 @@ int kdeinit_xio_errhandler(Display *disp)
|
||||
|
||||
int kdeinit_x_errhandler(Display *dpy, XErrorEvent *err)
|
||||
{
|
||||
@ -150,7 +151,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
char errstr[256];
|
||||
// kdeinit almost doesn't use X, and therefore there shouldn't be any X error
|
||||
XGetErrorText(dpy, err->error_code, errstr, 256);
|
||||
@@ -1536,7 +1536,7 @@
|
||||
@@ -1536,7 +1536,7 @@ static int initXconnection()
|
||||
0,
|
||||
BlackPixelOfScreen(DefaultScreenOfDisplay(X11display)),
|
||||
BlackPixelOfScreen(DefaultScreenOfDisplay(X11display)));
|
||||
@ -159,7 +160,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "kdeinit5: opened connection to %s\n", DisplayString(X11display));
|
||||
#endif
|
||||
int fd = XConnectionNumber(X11display);
|
||||
@@ -1595,7 +1595,7 @@
|
||||
@@ -1595,7 +1595,7 @@ mac_fork_and_reexec_self()
|
||||
switch (x_fork_result) {
|
||||
|
||||
case -1:
|
||||
@ -168,7 +169,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "Mac OS X workaround fork() failed!\n");
|
||||
#endif
|
||||
::_exit(255);
|
||||
@@ -1766,7 +1766,7 @@
|
||||
@@ -1766,7 +1766,7 @@ int main(int argc, char **argv)
|
||||
l.setLoadHints(QLibrary::ExportExternalSymbolsHint);
|
||||
(void)l.load();
|
||||
}
|
||||
@ -177,7 +178,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
else {
|
||||
fprintf(stderr, "%s was not found.\n", extra_libs[i]);
|
||||
}
|
||||
@@ -1799,7 +1799,7 @@
|
||||
@@ -1799,7 +1799,7 @@ int main(int argc, char **argv)
|
||||
qputenv("KDED_STARTED_BY_KDEINIT", "1");
|
||||
pid = launch(1, KDED_EXENAME, 0);
|
||||
unsetenv("KDED_STARTED_BY_KDEINIT");
|
||||
@ -186,7 +187,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "kdeinit5: Launched KDED, pid = %ld result = %d\n", (long) pid, d.result);
|
||||
#endif
|
||||
d.kded_pid = pid;
|
||||
@@ -1810,7 +1810,7 @@
|
||||
@@ -1810,7 +1810,7 @@ int main(int argc, char **argv)
|
||||
for (int i = 1; i < argc; i++) {
|
||||
if (safe_argv[i][0] == '+') {
|
||||
pid = launch(1, safe_argv[i] + 1, 0);
|
||||
@ -195,7 +196,7 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "kdeinit5: Launched '%s', pid = %ld result = %d\n", safe_argv[i] + 1, (long) pid, d.result);
|
||||
#endif
|
||||
handle_requests(pid);
|
||||
@@ -1822,7 +1822,7 @@
|
||||
@@ -1822,7 +1822,7 @@ int main(int argc, char **argv)
|
||||
// Ignore
|
||||
} else {
|
||||
pid = launch(1, safe_argv[i], 0);
|
||||
@ -204,9 +205,10 @@ diff -Naur kinit-5.0.0/src/kdeinit/kinit.cpp kinit-5.0.0.new/src/kdeinit/kinit.c
|
||||
fprintf(stderr, "kdeinit5: Launched '%s', pid = %ld result = %d\n", safe_argv[i], (long) pid, d.result);
|
||||
#endif
|
||||
}
|
||||
diff -Naur kinit-5.0.0/src/klauncher/klauncher.cpp kinit-5.0.0.new/src/klauncher/klauncher.cpp
|
||||
--- kinit-5.0.0/src/klauncher/klauncher.cpp 2014-07-01 20:31:22.000000000 +0200
|
||||
+++ kinit-5.0.0.new/src/klauncher/klauncher.cpp 2014-07-26 15:02:27.770124173 +0200
|
||||
diff --git a/src/klauncher/klauncher.cpp b/src/klauncher/klauncher.cpp
|
||||
index 31498e0..fbcb064 100644
|
||||
--- a/src/klauncher/klauncher.cpp
|
||||
+++ b/src/klauncher/klauncher.cpp
|
||||
@@ -65,7 +65,7 @@
|
||||
// Dispose slaves after being idle for SLAVE_MAX_IDLE seconds
|
||||
#define SLAVE_MAX_IDLE 30
|
||||
@ -216,7 +218,7 @@ diff -Naur kinit-5.0.0/src/klauncher/klauncher.cpp kinit-5.0.0.new/src/klauncher
|
||||
|
||||
static const char *const s_DBusStartupTypeToString[] =
|
||||
{ "DBusNone", "DBusUnique", "DBusMulti", "ERROR" };
|
||||
@@ -617,7 +617,7 @@
|
||||
@@ -617,7 +617,7 @@ KLauncher::requestStart(KLaunchRequest *request)
|
||||
request_header.arg_length = requestData.length();
|
||||
|
||||
#ifdef KLAUNCHER_VERBOSE_OUTPUT
|
||||
@ -225,7 +227,7 @@ diff -Naur kinit-5.0.0/src/klauncher/klauncher.cpp kinit-5.0.0.new/src/klauncher
|
||||
<< "cmd=" << commandToString(request_header.cmd);
|
||||
#endif
|
||||
|
||||
@@ -782,7 +782,7 @@
|
||||
@@ -782,7 +782,7 @@ KLauncher::start_service(KService::Ptr service, const QStringList &_urls,
|
||||
}
|
||||
|
||||
#ifdef KLAUNCHER_VERBOSE_OUTPUT
|
||||
@ -234,7 +236,7 @@ diff -Naur kinit-5.0.0/src/klauncher/klauncher.cpp kinit-5.0.0.new/src/klauncher
|
||||
<< "startup type=" << s_DBusStartupTypeToString[request->dbus_startup_type];
|
||||
#endif
|
||||
|
||||
@@ -957,7 +957,7 @@
|
||||
@@ -957,7 +957,7 @@ KLauncher::slotDequeue()
|
||||
if (request->status != KLaunchRequest::Launching) {
|
||||
// Request handled.
|
||||
#ifdef KLAUNCHER_VERBOSE_OUTPUT
|
||||
@ -243,7 +245,7 @@ diff -Naur kinit-5.0.0/src/klauncher/klauncher.cpp kinit-5.0.0.new/src/klauncher
|
||||
#endif
|
||||
requestDone(request);
|
||||
continue;
|
||||
@@ -1063,8 +1063,8 @@
|
||||
@@ -1063,8 +1063,8 @@ KLauncher::requestSlave(const QString &protocol,
|
||||
QString name = slaveModulePath;
|
||||
#endif
|
||||
|
||||
@ -254,7 +256,7 @@ diff -Naur kinit-5.0.0/src/klauncher/klauncher.cpp kinit-5.0.0.new/src/klauncher
|
||||
|
||||
#ifdef Q_OS_UNIX
|
||||
#ifndef USE_KPROCESS_FOR_KIOSLAVES
|
||||
@@ -1104,7 +1104,7 @@
|
||||
@@ -1104,7 +1104,7 @@ KLauncher::requestSlave(const QString &protocol,
|
||||
requestStart(request);
|
||||
pid_t pid = request->pid;
|
||||
|
||||
@ -263,7 +265,7 @@ diff -Naur kinit-5.0.0/src/klauncher/klauncher.cpp kinit-5.0.0.new/src/klauncher
|
||||
|
||||
// We don't care about this request any longer....
|
||||
requestDone(request);
|
||||
@@ -1208,7 +1208,7 @@
|
||||
@@ -1208,7 +1208,7 @@ KLauncher::slotGotOutput()
|
||||
#ifdef USE_KPROCESS_FOR_KIOSLAVES
|
||||
QProcess *p = static_cast<QProcess *>(sender());
|
||||
QByteArray _stdout = p->readAllStandardOutput();
|
||||
@ -272,7 +274,7 @@ diff -Naur kinit-5.0.0/src/klauncher/klauncher.cpp kinit-5.0.0.new/src/klauncher
|
||||
#endif
|
||||
}
|
||||
|
||||
@@ -1217,12 +1217,12 @@
|
||||
@@ -1217,12 +1217,12 @@ KLauncher::slotFinished(int exitCode, QProcess::ExitStatus exitStatus)
|
||||
{
|
||||
#ifdef USE_KPROCESS_FOR_KIOSLAVES
|
||||
QProcess *p = static_cast<QProcess *>(sender());
|
||||
|
Loading…
Reference in New Issue
Block a user