mirror of
https://abf.rosa.ru/djam/kdebase4-workspace.git
synced 2025-02-24 10:12:50 +00:00
Revert last commit
This commit is contained in:
parent
8c47bf5ff8
commit
bb1bafc3c9
5 changed files with 27 additions and 581 deletions
4
.abf.yml
4
.abf.yml
|
@ -1,6 +1,4 @@
|
|||
removed_sources:
|
||||
kde-workspace-4.9.5.tar.xz: 20cfefd98a8dddef963b86ff0c7b832a464593fb
|
||||
sources:
|
||||
kde-workspace-4.9.98.tar.xz: e3fca63a2a37e78b5a6505af2329558284f9c5da
|
||||
kde-workspace-4.9.5.tar.xz: 20cfefd98a8dddef963b86ff0c7b832a464593fb
|
||||
kdebase-workspace-kdm-2.7.tar.bz2: 0a91235a76db901a16ec8dcafff04cfccdac9868
|
||||
kdebase-workspace-plasma-applet-systemtray-1.2.tar.gz: d6a5229c84e8ec95ed72f88f7937900135d09f58
|
||||
|
|
|
@ -1,37 +0,0 @@
|
|||
per https://bugzilla.redhat.com/show_bug.cgi?id=796969#c23
|
||||
The process that executes kdm/backend/session.c:manageSession() is the leader
|
||||
process of the logind session.
|
||||
|
||||
manageSession() calls:
|
||||
|
||||
blockTerm();
|
||||
clientExited();
|
||||
unblockTerm();
|
||||
|
||||
where clientExited() ends the PAM session.
|
||||
With the current systemd-logind, ending the PAM session will cause the leader
|
||||
process to be delivered SIGHUP and SIGTERM. The process will die and the
|
||||
remainder of manageSession() will not be executed.
|
||||
|
||||
Interestingly, at the end of the function there's a call to sessionExit(),
|
||||
which calls clientExited() again.
|
||||
|
||||
Removing the three lines quoted above makes reboot from KDE work again. I
|
||||
haven't noticed any bad effects.
|
||||
|
||||
diff -up kde-workspace-4.8.0/kdm/backend/session.c.bz796969 kde-workspace-4.8.0/kdm/backend/session.c
|
||||
--- kde-workspace-4.8.0/kdm/backend/session.c.bz796969 2012-01-18 14:08:40.000000000 -0600
|
||||
+++ kde-workspace-4.8.0/kdm/backend/session.c 2012-02-28 07:17:16.270219932 -0600
|
||||
@@ -662,9 +662,9 @@ manageSession(void)
|
||||
sessionExit(EX_AL_RESERVER_DPY);
|
||||
}
|
||||
|
||||
- blockTerm();
|
||||
- clientExited();
|
||||
- unblockTerm();
|
||||
+ /* blockTerm(); */
|
||||
+ /* clientExited(); */
|
||||
+ /* unblockTerm(); */
|
||||
|
||||
gSet(&mstrtalk);
|
||||
gSendInt(D_UnUser);
|
|
@ -1,497 +0,0 @@
|
|||
diff -up kde-workspace-4.8.2/kdm/CMakeLists.txt.bz#732830-login kde-workspace-4.8.2/kdm/CMakeLists.txt
|
||||
--- kde-workspace-4.8.2/kdm/CMakeLists.txt.bz#732830-login 2012-03-30 00:02:31.000000000 +0200
|
||||
+++ kde-workspace-4.8.2/kdm/CMakeLists.txt 2012-03-30 13:38:35.094493727 +0200
|
||||
@@ -33,6 +33,11 @@ set(backgroundlib_SRCS
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/kcm/background/bgsettings.cpp
|
||||
)
|
||||
|
||||
+set(kdmminmaxuidlib_SRCS
|
||||
+ ${CMAKE_CURRENT_SOURCE_DIR}/kdm-minmaxuid.c
|
||||
+ ${CMAKE_CURRENT_SOURCE_DIR}/kdm-minmaxuid.h
|
||||
+)
|
||||
+
|
||||
# after confci is defined
|
||||
add_subdirectory(backend)
|
||||
add_subdirectory(kfrontend)
|
||||
diff -up kde-workspace-4.8.2/kdm/config.def.bz#732830-login kde-workspace-4.8.2/kdm/config.def
|
||||
--- kde-workspace-4.8.2/kdm/config.def.bz#732830-login 2012-03-30 00:02:31.000000000 +0200
|
||||
+++ kde-workspace-4.8.2/kdm/config.def 2012-03-30 13:38:35.112493501 +0200
|
||||
@@ -2288,9 +2288,13 @@ Instance: #*/
|
||||
Update: upd_minshowuid
|
||||
Comment:
|
||||
Special case of HiddenUsers: users with a non-zero UID less than this number
|
||||
- will not be shown as well.
|
||||
+ will not be shown as well. Setting this to -1 means that the limit should be
|
||||
+ determined in a platform-specific way (by reading /etc/login.defs or using a
|
||||
+ compiled-in default).
|
||||
Description:
|
||||
- See <option>ShowUsers</option>.
|
||||
+ See <option>ShowUsers</option>. Setting this to -1 means that the limit
|
||||
+ should be determined in a platform-specific way (by reading
|
||||
+ <filename>/etc/login.defs</filename> or using a compiled-in default).
|
||||
|
||||
Key: MaxShowUID
|
||||
Type: int
|
||||
@@ -2301,9 +2305,11 @@ Instance: #*/
|
||||
Update: upd_maxshowuid
|
||||
Comment:
|
||||
Complement to MinShowUID: users with a UID greater than this number will
|
||||
- not be shown as well.
|
||||
+ not be shown as well. Unlike MinShowUID, the special value -1 is not
|
||||
+ supported.
|
||||
Description:
|
||||
- See <option>ShowUsers</option>.
|
||||
+ See <option>ShowUsers</option>. Unlike <option>MinShowUID</option>, the
|
||||
+ special value -1 is not supported.
|
||||
|
||||
Key: SortUsers
|
||||
Type: bool
|
||||
diff -up kde-workspace-4.8.2/kdm/kcm/CMakeLists.txt.bz#732830-login kde-workspace-4.8.2/kdm/kcm/CMakeLists.txt
|
||||
--- kde-workspace-4.8.2/kdm/kcm/CMakeLists.txt.bz#732830-login 2012-03-30 00:02:31.000000000 +0200
|
||||
+++ kde-workspace-4.8.2/kdm/kcm/CMakeLists.txt 2012-03-30 13:38:35.114493477 +0200
|
||||
@@ -15,6 +15,7 @@ kde4_add_ui_files(kcmbackgroundlib_SRCS
|
||||
background/bgadvanced_ui.ui)
|
||||
|
||||
set(kcm_kdm_PART_SRCS ${kcmbackgroundlib_SRCS} ${backgroundlib_SRCS}
|
||||
+ ${kdmminmaxuidlib_SRCS}
|
||||
background.cpp
|
||||
kdm-gen.cpp
|
||||
kdm-dlg.cpp
|
||||
diff -up kde-workspace-4.8.2/kdm/kcm/kdm-users.cpp.bz#732830-login kde-workspace-4.8.2/kdm/kcm/kdm-users.cpp
|
||||
--- kde-workspace-4.8.2/kdm/kcm/kdm-users.cpp.bz#732830-login 2012-03-30 00:02:31.000000000 +0200
|
||||
+++ kde-workspace-4.8.2/kdm/kcm/kdm-users.cpp 2012-03-30 13:38:35.123493365 +0200
|
||||
@@ -58,6 +58,9 @@
|
||||
#include <unistd.h>
|
||||
#include <pwd.h>
|
||||
|
||||
+#include "../kdm-minmaxuid.h"
|
||||
+
|
||||
+
|
||||
extern KConfig *config;
|
||||
|
||||
extern int handleActionReply(QWidget *parent, const KAuth::ActionReply &reply);
|
||||
@@ -80,28 +83,11 @@ static int executeFaceAction(QWidget *pa
|
||||
KDMUsersWidget::KDMUsersWidget(QWidget *parent)
|
||||
: QWidget(parent)
|
||||
{
|
||||
-#ifdef __linux__
|
||||
- struct stat st;
|
||||
- if (!stat("/etc/debian_version", &st)) { /* debian */
|
||||
- defminuid = "1000";
|
||||
- defmaxuid = "29999";
|
||||
- } else if (!stat("/usr/portage", &st)) { /* gentoo */
|
||||
- defminuid = "1000";
|
||||
- defmaxuid = "65000";
|
||||
- } else if (!stat("/etc/mandrake-release", &st)) { /* mandrake - check before redhat! */
|
||||
- defminuid = "500";
|
||||
- defmaxuid = "65000";
|
||||
- } else if (!stat("/etc/redhat-release", &st)) { /* redhat */
|
||||
- defminuid = "100";
|
||||
- defmaxuid = "65000";
|
||||
- } else /* if (!stat("/etc/SuSE-release", &st)) */ { /* suse */
|
||||
- defminuid = "500";
|
||||
- defmaxuid = "65000";
|
||||
- }
|
||||
-#else
|
||||
- defminuid = "1000";
|
||||
- defmaxuid = "65000";
|
||||
-#endif
|
||||
+ int minUid, maxUid;
|
||||
+
|
||||
+ getDefaultMinMaxUids(&minUid, &maxUid);
|
||||
+ defminuid = QString::number(minUid);
|
||||
+ defmaxuid = QString::number(maxUid);
|
||||
|
||||
m_userPixDir = config->group("X-*-Greeter").readEntry("FaceDir",
|
||||
QString(KStandardDirs::installPath("data") + "kdm/faces" + '/'));
|
||||
diff -up kde-workspace-4.8.2/kdm/kcm/main.cpp.bz#732830-login kde-workspace-4.8.2/kdm/kcm/main.cpp
|
||||
--- kde-workspace-4.8.2/kdm/kcm/main.cpp.bz#732830-login 2012-03-30 00:02:31.000000000 +0200
|
||||
+++ kde-workspace-4.8.2/kdm/kcm/main.cpp 2012-03-30 13:38:35.135493214 +0200
|
||||
@@ -59,6 +59,7 @@
|
||||
#include <pwd.h>
|
||||
#include <grp.h>
|
||||
|
||||
+#include "../kdm-minmaxuid.h"
|
||||
|
||||
K_PLUGIN_FACTORY(KDMFactory, registerPlugin<KDModule>();)
|
||||
K_EXPORT_PLUGIN(KDMFactory("kdmconfig"))
|
||||
@@ -393,13 +394,14 @@ void KDModule::propagateUsers()
|
||||
{
|
||||
groupmap.clear();
|
||||
emit clearUsers();
|
||||
+ int realminuid = interpretMinUid(minshowuid);
|
||||
QMap<QString, int> lusers;
|
||||
QMap<QString, QPair<int, QStringList> >::const_iterator it;
|
||||
QStringList::ConstIterator jt;
|
||||
QMap<QString, int>::Iterator gmapi;
|
||||
for (it = usermap.constBegin(); it != usermap.constEnd(); ++it) {
|
||||
int uid = it.value().first;
|
||||
- if (!uid || (uid >= minshowuid && uid <= maxshowuid)) {
|
||||
+ if (!uid || (uid >= realminuid && uid <= maxshowuid)) {
|
||||
lusers[it.key()] = uid;
|
||||
for (jt = it.value().second.begin(); jt != it.value().second.end(); ++jt)
|
||||
if ((gmapi = groupmap.find(*jt)) == groupmap.end()) {
|
||||
@@ -415,6 +417,8 @@ void KDModule::propagateUsers()
|
||||
|
||||
void KDModule::slotMinMaxUID(int min, int max)
|
||||
{
|
||||
+ int oldrealmin = interpretMinUid(minshowuid);
|
||||
+ int newrealmin = interpretMinUid(min);
|
||||
if (updateOK) {
|
||||
QMap<QString, int> alusers, dlusers;
|
||||
QMap<QString, QPair<int, QStringList> >::const_iterator it;
|
||||
@@ -424,8 +428,8 @@ void KDModule::slotMinMaxUID(int min, in
|
||||
int uid = it.value().first;
|
||||
if (!uid)
|
||||
continue;
|
||||
- if ((uid >= minshowuid && uid <= maxshowuid) &&
|
||||
- !(uid >= min && uid <= max)) {
|
||||
+ if ((uid >= oldrealmin && uid <= maxshowuid) &&
|
||||
+ !(uid >= newrealmin && uid <= max)) {
|
||||
dlusers[it.key()] = uid;
|
||||
for (jt = it.value().second.begin();
|
||||
jt != it.value().second.end(); ++jt) {
|
||||
@@ -435,8 +439,8 @@ void KDModule::slotMinMaxUID(int min, in
|
||||
dlusers['@' + *jt] = -uid;
|
||||
}
|
||||
}
|
||||
- } else if ((uid >= min && uid <= max) &&
|
||||
- !(uid >= minshowuid && uid <= maxshowuid)) {
|
||||
+ } else if ((uid >= newrealmin && uid <= max) &&
|
||||
+ !(uid >= oldrealmin && uid <= maxshowuid)) {
|
||||
alusers[it.key()] = uid;
|
||||
for (jt = it.value().second.begin();
|
||||
jt != it.value().second.end(); ++jt)
|
||||
diff -up kde-workspace-4.8.2/kdm/kdm-minmaxuid.c.bz#732830-login kde-workspace-4.8.2/kdm/kdm-minmaxuid.c
|
||||
--- kde-workspace-4.8.2/kdm/kdm-minmaxuid.c.bz#732830-login 2012-03-30 13:38:35.137493189 +0200
|
||||
+++ kde-workspace-4.8.2/kdm/kdm-minmaxuid.c 2012-03-30 13:38:35.137493189 +0200
|
||||
@@ -0,0 +1,152 @@
|
||||
+/*
|
||||
+ * Utilities for handling the UID range allocated for non-system user
|
||||
+ */
|
||||
+
|
||||
+#include <stdio.h>
|
||||
+#include <sys/stat.h>
|
||||
+#ifdef __linux__
|
||||
+#include <assert.h>
|
||||
+#include <errno.h>
|
||||
+#include <inttypes.h>
|
||||
+#include <regex.h>
|
||||
+#include <stdlib.h>
|
||||
+#include <string.h>
|
||||
+#endif
|
||||
+
|
||||
+#include "kdm-minmaxuid.h"
|
||||
+
|
||||
+static void internalMinMaxUids(int *minUid, int *maxUid, int staticValues)
|
||||
+{
|
||||
+ struct stat st;
|
||||
+
|
||||
+#ifdef __linux__
|
||||
+ if (!stat("/etc/debian_version", &st)) { /* debian */
|
||||
+ *minUid = 1000;
|
||||
+ *maxUid = 29999;
|
||||
+ } else if (!stat("/usr/portage", &st)) { /* gentoo */
|
||||
+ *minUid = 1000;
|
||||
+ *maxUid = 65000;
|
||||
+ } else if (!stat("/etc/mandrake-release", &st)) { /* mandrake - check before redhat! */
|
||||
+ *minUid = 500;
|
||||
+ *maxUid = 65000;
|
||||
+ } else if (!stat("/etc/redhat-release", &st)) { /* redhat */
|
||||
+ if (!staticValues && !stat("/etc/login.defs", &st))
|
||||
+ *minUid = -1;
|
||||
+ else
|
||||
+ *minUid = 100;
|
||||
+ *maxUid = 65000;
|
||||
+ } else /* if (!stat("/etc/SuSE-release", &st)) */ { /* suse */
|
||||
+ *minUid = 500;
|
||||
+ *maxUid = 65000;
|
||||
+ }
|
||||
+#else
|
||||
+ *minUid = 1000;
|
||||
+ *maxUid = 65000;
|
||||
+#endif
|
||||
+}
|
||||
+
|
||||
+void getDefaultMinMaxUids(int *minUid, int *maxUid)
|
||||
+{
|
||||
+ internalMinMaxUids(minUid, maxUid, 0);
|
||||
+}
|
||||
+
|
||||
+#ifdef __linux__
|
||||
+static int getLoginDefsMinUid(void)
|
||||
+{
|
||||
+ int res;
|
||||
+ char *buf;
|
||||
+ size_t buf_size;
|
||||
+ ssize_t line_len;
|
||||
+ regex_t re;
|
||||
+ FILE *f;
|
||||
+
|
||||
+ f = fopen("/etc/login.defs", "r");
|
||||
+ if (f == NULL)
|
||||
+ return -1;
|
||||
+
|
||||
+ /* No, this is not particularly nice, but "compatible" is more important
|
||||
+ than "beautiful". */
|
||||
+ if (regcomp(&re,
|
||||
+ "^[ \t]*" /* Initial whitespace */
|
||||
+ "([^ \t]+)" /* Variable name */
|
||||
+ "[ \t][ \t\"]*" /* Separator - yes, may have multiple "s */
|
||||
+ "("
|
||||
+ "([^\"]*)\".*" /* Value, case 1 - terminated by " */
|
||||
+ /* Value, case 2 - only drop trailing [[:space:]] */
|
||||
+ "|([^\"]*[^[:space:]])?[[:space:]]*"
|
||||
+ ")$", REG_EXTENDED) != 0)
|
||||
+ abort();
|
||||
+
|
||||
+ buf = NULL;
|
||||
+ buf_size = 0;
|
||||
+ res = -1;
|
||||
+ while ((line_len = getline(&buf, &buf_size, f)) > 0) {
|
||||
+ regmatch_t match[5];
|
||||
+ const char *name, *value;
|
||||
+
|
||||
+ if (line_len > 0 && buf[line_len - 1] == '\n')
|
||||
+ buf[line_len - 1] = '\0';
|
||||
+
|
||||
+ if (regexec(&re, buf, sizeof(match) / sizeof(*match), match, 0) != 0)
|
||||
+ continue;
|
||||
+
|
||||
+ assert(match[1].rm_so != -1);
|
||||
+ name = buf + match[1].rm_so;
|
||||
+ if (*name == '#')
|
||||
+ continue;
|
||||
+ /* The "separator" is at least one character long, so we can safely
|
||||
+ overwrite it with '\0'. */
|
||||
+ buf[match[1].rm_eo] = '\0';
|
||||
+
|
||||
+ if (match[3].rm_so != -1) {
|
||||
+ value = buf + match[3].rm_so;
|
||||
+ buf[match[3].rm_eo] = '\0';
|
||||
+ } else if (match[4].rm_so != -1) {
|
||||
+ value = buf + match[4].rm_so;
|
||||
+ buf[match[4].rm_eo] = '\0';
|
||||
+ } else
|
||||
+ value = "";
|
||||
+
|
||||
+ /* fprintf(stderr, "\tMatched: %s = %s!\n", name, value); */
|
||||
+
|
||||
+ if (strcmp(name, "UID_MIN") == 0) {
|
||||
+ intmax_t imax;
|
||||
+ char *p;
|
||||
+
|
||||
+ errno = 0;
|
||||
+ imax = strtoimax(value, &p, 10);
|
||||
+ if (errno == 0 && *p == '\0' && p != value && (uid_t)imax == imax)
|
||||
+ res = imax;
|
||||
+ }
|
||||
+ }
|
||||
+ free(buf);
|
||||
+
|
||||
+ regfree(&re);
|
||||
+ fclose(f);
|
||||
+
|
||||
+ return res;
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+int interpretMinUid(int minUid)
|
||||
+{
|
||||
+ int res, dummy;
|
||||
+
|
||||
+ if (minUid != -1)
|
||||
+ return minUid;
|
||||
+#ifdef __linux__
|
||||
+ res = getLoginDefsMinUid();
|
||||
+ if (res != -1)
|
||||
+ return res;
|
||||
+#endif
|
||||
+ internalMinMaxUids(&res, &dummy, 1);
|
||||
+ return res;
|
||||
+}
|
||||
+
|
||||
+#ifdef TESTING
|
||||
+int main(void)
|
||||
+{
|
||||
+ printf("interpretMinUid returns %d\n", interpretMinUid(-1));
|
||||
+ return 0;
|
||||
+}
|
||||
+#endif
|
||||
diff -up kde-workspace-4.8.2/kdm/kdm-minmaxuid.h.bz#732830-login kde-workspace-4.8.2/kdm/kdm-minmaxuid.h
|
||||
--- kde-workspace-4.8.2/kdm/kdm-minmaxuid.h.bz#732830-login 2012-03-30 13:38:35.148493053 +0200
|
||||
+++ kde-workspace-4.8.2/kdm/kdm-minmaxuid.h 2012-03-30 13:38:35.138493177 +0200
|
||||
@@ -0,0 +1,25 @@
|
||||
+/*
|
||||
+ * Utilities for handling the UID range allocated for non-system user
|
||||
+ */
|
||||
+
|
||||
+#ifndef KDM_MINMAXUID_H
|
||||
+#define KDM_MINMAXUID_H
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+extern "C" {
|
||||
+#endif
|
||||
+
|
||||
+/* Get platform-specific defaults for minShowUID and maxShowUID.
|
||||
+ Never fails. */
|
||||
+void getDefaultMinMaxUids(int *minUid, int *maxUid);
|
||||
+
|
||||
+/* Return the lower limit of user UIDs, based on supplied minShowUID value
|
||||
+ (i.e. interpret the value -1). */
|
||||
+int interpretMinUid(int minUid);
|
||||
+
|
||||
+#ifdef __cplusplus
|
||||
+}
|
||||
+#endif
|
||||
+
|
||||
+
|
||||
+#endif
|
||||
diff -up kde-workspace-4.8.2/kdm/kfrontend/CMakeLists.txt.bz#732830-login kde-workspace-4.8.2/kdm/kfrontend/CMakeLists.txt
|
||||
--- kde-workspace-4.8.2/kdm/kfrontend/CMakeLists.txt.bz#732830-login 2012-03-30 00:02:31.000000000 +0200
|
||||
+++ kde-workspace-4.8.2/kdm/kfrontend/CMakeLists.txt 2012-03-30 13:38:35.149493040 +0200
|
||||
@@ -52,6 +52,7 @@ set(kdm_greet_SRCS
|
||||
utils.cpp
|
||||
utils.h
|
||||
${kdmthemer_SRCS}
|
||||
+ ${kdmminmaxuidlib_SRCS}
|
||||
)
|
||||
|
||||
if (XDMCP)
|
||||
@@ -93,7 +94,7 @@ kde4_add_executable(krootimage ${krootim
|
||||
target_link_libraries(krootimage ${KDE4_KDEUI_LIBS} ${X11_X11_LIB} ${QIMAGEBLITZ_LIBRARIES})
|
||||
install(TARGETS krootimage DESTINATION ${LIBEXEC_INSTALL_DIR})
|
||||
|
||||
-set(genkdmconf_SRCS genkdmconf.c)
|
||||
+set(genkdmconf_SRCS genkdmconf.c ${kdmminmaxuidlib_SRCS})
|
||||
macro_add_file_dependencies(genkdmconf.c ${confci})
|
||||
kde4_add_executable(genkdmconf NOGUI ${genkdmconf_SRCS})
|
||||
macro_add_compile_flags(genkdmconf -U_REENTRANT)
|
||||
diff -up kde-workspace-4.8.2/kdm/kfrontend/genkdmconf.c.bz#732830-login kde-workspace-4.8.2/kdm/kfrontend/genkdmconf.c
|
||||
--- kde-workspace-4.8.2/kdm/kfrontend/genkdmconf.c.bz#732830-login 2012-03-30 00:02:31.000000000 +0200
|
||||
+++ kde-workspace-4.8.2/kdm/kfrontend/genkdmconf.c 2012-03-30 13:49:49.760059248 +0200
|
||||
@@ -58,6 +58,8 @@ Foundation, Inc., 51 Franklin Street, Fi
|
||||
# endif
|
||||
#endif
|
||||
|
||||
+#include "../kdm-minmaxuid.h"
|
||||
+
|
||||
#define WANT_CONF_GEN
|
||||
#include <config.ci>
|
||||
|
||||
@@ -2008,7 +2010,7 @@ upd_showusers(Entry *ce, Section *cs)
|
||||
}
|
||||
}
|
||||
|
||||
-static const char *defminuid, *defmaxuid;
|
||||
+static char defminuid[64], defmaxuid[64];
|
||||
|
||||
static void
|
||||
upd_minshowuid(Entry *ce, Section *cs ATTR_UNUSED)
|
||||
@@ -2034,16 +2036,18 @@ upd_hiddenusers(Entry *ce, Section *cs)
|
||||
char *nv;
|
||||
const char *msu, *pt, *et;
|
||||
struct passwd *pw;
|
||||
- unsigned minuid, maxuid;
|
||||
+ int minuid, maxuid;
|
||||
char nbuf[128];
|
||||
|
||||
if (!ce->active)
|
||||
return;
|
||||
|
||||
msu = getFqVal(cs->name, "MinShowUID", "0");
|
||||
- sscanf(msu, "%u", &minuid);
|
||||
+ sscanf(msu, "%d", &minuid);
|
||||
msu = getFqVal(cs->name, "MaxShowUID", "65535");
|
||||
- sscanf(msu, "%u", &maxuid);
|
||||
+ sscanf(msu, "%d", &maxuid);
|
||||
+
|
||||
+ minuid = interpretMinUid(minuid);
|
||||
|
||||
nv = 0;
|
||||
pt = ce->value;
|
||||
@@ -2057,7 +2061,7 @@ upd_hiddenusers(Entry *ce, Section *cs)
|
||||
}
|
||||
if ((pw = getpwnam(nbuf))) {
|
||||
if (!pw->pw_uid ||
|
||||
- (pw->pw_uid >= minuid && pw->pw_uid <= maxuid))
|
||||
+ (pw->pw_uid >= (uid_t)minuid && pw->pw_uid <= (uid_t)maxuid))
|
||||
{
|
||||
if (nv)
|
||||
strCat(&nv, ",%s", nbuf);
|
||||
@@ -3000,7 +3004,7 @@ int main(int argc, char **argv)
|
||||
StrList *fp;
|
||||
Section *cs;
|
||||
Entry *ce, **cep;
|
||||
- int i, ap, locals, foreigns;
|
||||
+ int i, ap, locals, foreigns, minuid, maxuid;
|
||||
int no_old_xdm = 0, no_old_kde = 0;
|
||||
struct stat st;
|
||||
|
||||
@@ -3239,27 +3243,9 @@ int main(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
}
|
||||
-#ifdef __linux__
|
||||
- if (!stat("/etc/debian_version", &st)) { /* debian */
|
||||
- defminuid = "1000";
|
||||
- defmaxuid = "29999";
|
||||
- } else if (!stat("/usr/portage", &st)) { /* gentoo */
|
||||
- defminuid = "1000";
|
||||
- defmaxuid = "65000";
|
||||
- } else if (!stat("/etc/mandrake-release", &st)) { /* mandrake - check before redhat! */
|
||||
- defminuid = "500";
|
||||
- defmaxuid = "65000";
|
||||
- } else if (!stat("/etc/redhat-release", &st)) { /* redhat */
|
||||
- defminuid = "100";
|
||||
- defmaxuid = "65000";
|
||||
- } else /* if (!stat("/etc/SuSE-release", &st)) */ { /* suse */
|
||||
- defminuid = "500";
|
||||
- defmaxuid = "65000";
|
||||
- }
|
||||
-#else
|
||||
- defminuid = "1000";
|
||||
- defmaxuid = "65000";
|
||||
-#endif
|
||||
+ getDefaultMinMaxUids(&minuid, &maxuid);
|
||||
+ sprintf(defminuid, "%d", minuid);
|
||||
+ sprintf(defmaxuid, "%d", maxuid);
|
||||
for (i = 0; i <= CONF_MAX_PRIO; i++)
|
||||
for (cs = config; cs; cs = cs->next)
|
||||
for (ce = cs->ents; ce; ce = ce->next)
|
||||
diff -up kde-workspace-4.8.2/kdm/kfrontend/kgreeter.cpp.bz#732830-login kde-workspace-4.8.2/kdm/kfrontend/kgreeter.cpp
|
||||
--- kde-workspace-4.8.2/kdm/kfrontend/kgreeter.cpp.bz#732830-login 2012-03-30 00:02:31.000000000 +0200
|
||||
+++ kde-workspace-4.8.2/kdm/kfrontend/kgreeter.cpp 2012-03-30 13:38:35.163492865 +0200
|
||||
@@ -66,6 +66,8 @@ Foundation, Inc., 51 Franklin Street, Fi
|
||||
#include <X11/Xlib.h>
|
||||
#include <fixx11h.h>
|
||||
|
||||
+#include "../kdm-minmaxuid.h"
|
||||
+
|
||||
class UserListView : public QListWidget {
|
||||
public:
|
||||
UserListView(QWidget *parent = 0)
|
||||
@@ -389,12 +391,13 @@ KGreeter::insertUsers()
|
||||
default_pix.fill(0);
|
||||
}
|
||||
}
|
||||
+ int realLowUserId = interpretMinUid(_lowUserId);
|
||||
if (_showUsers == SHOW_ALL) {
|
||||
UserList noUsers(_noUsers);
|
||||
QSet<QString> dupes;
|
||||
for (setpwent(); (ps = getpwent()) != 0;) {
|
||||
if (*ps->pw_dir && *ps->pw_shell &&
|
||||
- (ps->pw_uid >= (unsigned)_lowUserId ||
|
||||
+ (ps->pw_uid >= (unsigned)realLowUserId ||
|
||||
(!ps->pw_uid && _showRoot)) &&
|
||||
ps->pw_uid <= (unsigned)_highUserId &&
|
||||
!noUsers.hasUser(ps->pw_name) &&
|
||||
@@ -413,7 +416,7 @@ KGreeter::insertUsers()
|
||||
QSet<QString> dupes;
|
||||
for (setpwent(); (ps = getpwent()) != 0;) {
|
||||
if (*ps->pw_dir && *ps->pw_shell &&
|
||||
- (ps->pw_uid >= (unsigned)_lowUserId ||
|
||||
+ (ps->pw_uid >= (unsigned)realLowUserId ||
|
||||
(!ps->pw_uid && _showRoot)) &&
|
||||
ps->pw_uid <= (unsigned)_highUserId &&
|
||||
(users.hasUser(ps->pw_name) ||
|
|
@ -1,24 +1,25 @@
|
|||
--- kde-workspace-4.9.98/powerdevil/kcmodule/activities/powerdevilactivitiesconfig.desktop.0004~ 2013-01-15 17:10:50.000000000 +0100
|
||||
+++ kde-workspace-4.9.98/powerdevil/kcmodule/activities/powerdevilactivitiesconfig.desktop 2013-01-29 02:09:12.707089141 +0100
|
||||
@@ -39,7 +39,7 @@ Name[pl]=Ustawienia działań
|
||||
diff -urN kde-workspace-4.9.5/powerdevil/kcmodule/activities/powerdevilactivitiesconfig.desktop kde-workspace-4.9.5-patched/powerdevil/kcmodule/activities/powerdevilactivitiesconfig.desktop
|
||||
--- kde-workspace-4.9.5/powerdevil/kcmodule/activities/powerdevilactivitiesconfig.desktop 2012-12-28 04:54:16.777717437 +1100
|
||||
+++ kde-workspace-4.9.5-patched/powerdevil/kcmodule/activities/powerdevilactivitiesconfig.desktop 2013-01-26 15:25:28.278178158 +1100
|
||||
@@ -37,7 +37,7 @@
|
||||
Name[pl]=Ustawienia działań
|
||||
Name[pt]=Configuração da Actividade
|
||||
Name[pt_BR]=Configurações da atividade
|
||||
Name[ro]=Configurare activități
|
||||
-Name[ru]=Настройка активных действий
|
||||
+Name[ru]=Настройка для комнат
|
||||
Name[sk]=Nastavenie aktivity
|
||||
Name[sl]=Nastavitve dejavnosti
|
||||
Name[sr]=Поставке активности
|
||||
@@ -81,7 +81,7 @@ Comment[pl]=Konfiguracja zarządzania en
|
||||
@@ -77,7 +77,7 @@
|
||||
Comment[pl]=Konfiguracja zarządzania energią charakterystycznie dla działania
|
||||
Comment[pt]=Configurar a Gestão de Energia por Actividade
|
||||
Comment[pt_BR]=Configura o gerenciamento de energia por atividade
|
||||
Comment[ro]=Configurează gestiunea alimentării per activitate
|
||||
-Comment[ru]=Настройки параметров энергосбережения для активных действий
|
||||
+Comment[ru]=Настройка параметров энергосбережения отдельно для каждой комнаты
|
||||
Comment[sk]=Nastaviť nastavenia správy napájania podľa aktivity
|
||||
Comment[sl]=Nastavitve upravljanja z energijo glede na dejavnost
|
||||
Comment[sr]=Подешавање управљања напајањем према активности
|
||||
@@ -120,7 +120,7 @@ X-KDE-Keywords[nl]=systeem,energie,energ
|
||||
@@ -115,7 +115,7 @@
|
||||
X-KDE-Keywords[pl]=system,moc,zarządzanie energią,energia,laptop,bateria,wstrzymanie,AC,wstrzymaj,hibernuj,jasność,wydajność,pokrywka,działanie,działania
|
||||
X-KDE-Keywords[pt]=sistema,energia,gestão de energia,portátil,bateria,suspensão,AC,suspender,hibernar,brilho,performance,tampo,actividade,actividades
|
||||
X-KDE-Keywords[pt_BR]=sistema,energia,gerenciamento de energia,energia,portátil,laptop,notebook,bateria,suspensão,AC,suspender,hibernar,brilho,desempenho,tampa,atividade,atividades
|
||||
|
@ -27,12 +28,13 @@
|
|||
X-KDE-Keywords[sk]=systém,napájanie,správa napájanie,energia,laptop,batéria,uspanie,AC,uspať,hibernovať,jas,výkon,kryt,aktivita,aktivity
|
||||
X-KDE-Keywords[sl]=sistem,energija,upravljanje z energijo,prenosnik,prenosni računalnik,baterija,akumulator,pripravljenost,mirovanje,električno omrežje,svetlost,zmogljivost,pokrov,dejavnost,dejavnosti,napajanje
|
||||
X-KDE-Keywords[sr]=system,power,power management,energy,laptop,battery,suspension,AC,suspend,hibernate,brightness,performance,lid,activity,activities,систем,напајање,струја,управљање напајањем,лаптоп,батерија,суспендовање,АЦ,хибернација,светлина,осветљај,перформансе,поклопац,активност
|
||||
--- kde-workspace-4.9.98/powerdevil/kcmodule/global/powerdevilglobalconfig.desktop.0004~ 2013-01-29 02:01:31.119529861 +0100
|
||||
+++ kde-workspace-4.9.98/powerdevil/kcmodule/global/powerdevilglobalconfig.desktop 2013-01-29 02:09:50.963636201 +0100
|
||||
@@ -82,7 +82,7 @@ Comment[pl]=Konfiguracja zaawansowanych
|
||||
diff -urN kde-workspace-4.9.5/powerdevil/kcmodule/global/powerdevilglobalconfig.desktop kde-workspace-4.9.5-patched/powerdevil/kcmodule/global/powerdevilglobalconfig.desktop
|
||||
--- kde-workspace-4.9.5/powerdevil/kcmodule/global/powerdevilglobalconfig.desktop 2012-12-28 04:54:16.777717437 +1100
|
||||
+++ kde-workspace-4.9.5-patched/powerdevil/kcmodule/global/powerdevilglobalconfig.desktop 2013-01-26 15:28:44.525019752 +1100
|
||||
@@ -78,7 +78,7 @@
|
||||
Comment[pl]=Konfiguracja zaawansowanych ustawienia zarządzania energią
|
||||
Comment[pt]=Configurar a Gestão de Energia Avançada
|
||||
Comment[pt_BR]=Configura as opções avançadas de gerenciamento de energia
|
||||
Comment[ro]=Configurează opțiunile avansate de gestiune a alimentării
|
||||
-Comment[ru]=Настройка дополнительных параметров энергосбережения
|
||||
+Comment[ru]=Дополнительные параметры управления питанием
|
||||
Comment[sk]=Nastaviť nastavenia pokročilej správy napájania
|
||||
|
|
|
@ -10,19 +10,13 @@
|
|||
|
||||
Name: kdebase4-workspace
|
||||
Summary: KDE 4 application workspace components
|
||||
Version: 4.9.98
|
||||
Version: 4.9.5
|
||||
Release: 1
|
||||
Epoch: 2
|
||||
Group: Graphical desktop/KDE
|
||||
License: GPL
|
||||
URL: http://www.kde.org
|
||||
%define is_beta %(if test `echo %version |cut -d. -f3` -ge 70; then echo -n 1; else echo -n 0; fi)
|
||||
%if %is_beta
|
||||
%define ftpdir unstable
|
||||
%else
|
||||
%define ftpdir stable
|
||||
%endif
|
||||
Source: ftp://ftp.kde.org/pub/kde/%ftpdir/%{version}/src/kde-workspace-%{version}.tar.xz
|
||||
Source: ftp://ftp.kde.org/pub/kde/stable/%{version}/src/kde-workspace-%{version}.tar.xz
|
||||
Source1: kde.pam
|
||||
Source2: kde-np.pam
|
||||
Source3: mandriva-startkde
|
||||
|
@ -60,7 +54,6 @@ BuildRequires: libsasl-devel
|
|||
BuildRequires: lm_sensors-devel
|
||||
BuildRequires: openldap-devel
|
||||
BuildRequires: python-kde4-devel
|
||||
BuildRequires: prison-devel
|
||||
BuildRequires: automoc4
|
||||
BuildRequires: bdftopcf
|
||||
BuildRequires: imake
|
||||
|
@ -89,7 +82,6 @@ BuildRequires: pkgconfig(smbclient)
|
|||
BuildRequires: pkgconfig(qimageblitz)
|
||||
BuildRequires: pkgconfig(xcomposite)
|
||||
BuildRequires: pkgconfig(xcursor)
|
||||
BuildRequires: pkgconfig(libggadget-1.0) pkgconfig(libggadget-qt-1.0)
|
||||
Requires: qt4-qtdbus
|
||||
Requires: kdebase4-runtime
|
||||
Requires: strigi
|
||||
|
@ -116,20 +108,6 @@ Suggests: kickoff
|
|||
%description
|
||||
This package contains the KDE 4 application workspace components.
|
||||
|
||||
%package google-gadgets
|
||||
Summary: Support for running google-gadgets in Plasma
|
||||
Group: Graphical desktop/KDE
|
||||
Requires: %name = %EVRD
|
||||
|
||||
%description google-gadgets
|
||||
Support for running google-gadgets in Plasma
|
||||
|
||||
%files google-gadgets
|
||||
%_libdir/kde4/plasma_package_ggl.so
|
||||
%_libdir/kde4/plasma_scriptengine_ggl.so
|
||||
%_datadir/kde4/services/plasma-packagestructure-googlegadgets.desktop
|
||||
%_datadir/kde4/services/plasma-scriptengine-googlegadgets.desktop
|
||||
|
||||
%post
|
||||
%make_session
|
||||
|
||||
|
@ -178,13 +156,16 @@ Support for running google-gadgets in Plasma
|
|||
%{_kde_bindir}/plasma-netbook
|
||||
%{_kde_bindir}/plasma-overlay
|
||||
%{_kde_bindir}/plasma-windowed
|
||||
%{_kde_bindir}/plasmaengineexplorer
|
||||
%{_kde_bindir}/plasmawallpaperviewer
|
||||
%{_kde_bindir}/plasmoidviewer
|
||||
%{_kde_bindir}/solid-action-desktop-gen
|
||||
%{_kde_bindir}/solid-network
|
||||
%{_kde_bindir}/startkde
|
||||
%{_kde_bindir}/oxygen-shadow-demo
|
||||
%{_kde_bindir}/remote-widgets-browser
|
||||
%{_kde_bindir}/systemsettings
|
||||
%{_kde_libdir}/kconf_update_bin/*
|
||||
%{_kde_libdir}/kde4/imports
|
||||
%{_kde_libdir}/kde4/classic_mode.so
|
||||
%{_kde_libdir}/kde4/fontthumbnail.so
|
||||
%{_kde_libdir}/kde4/icon_mode.so
|
||||
|
@ -258,19 +239,19 @@ Support for running google-gadgets in Plasma
|
|||
%{_kde_libdir}/kde4/kwin3_b2.so
|
||||
%{_kde_libdir}/kde4/kwin3_laptop.so
|
||||
%{_kde_libdir}/kde4/kwin3_oxygen.so
|
||||
%{_kde_libdir}/kde4/kwin3_plastik.so
|
||||
%{_kde_libdir}/kde4/kwin4_effect_builtins.so
|
||||
%{_kde_libdir}/kde4/kwin_b2_config.so
|
||||
%{_kde_libdir}/kde4/kwin_oxygen_config.so
|
||||
%{_kde_libdir}/kde4/kwin_plastik_config.so
|
||||
%{_kde_libdir}/kde4/libexec/fontinst
|
||||
%{_kde_libdir}/kde4/libexec/fontinst_helper
|
||||
%{_kde_libdir}/kde4/libexec/fontinst_x11
|
||||
%{_kde_libdir}/kde4/libexec/kscreenlocker
|
||||
%{_kde_libdir}/kde4/libexec/ksysguardprocesslist_helper
|
||||
%{_kde_libdir}/kde4/libexec/kwin_killer_helper
|
||||
%{_kde_libdir}/kde4/libexec/kwin_opengl_test
|
||||
%{_kde_libdir}/kde4/libexec/kwin_rules_dialog
|
||||
%{_kde_libdir}/kde4/libexec/kscreenlocker_greet
|
||||
%{_kde_libdir}/kde4/kded_appmenu.so
|
||||
%{_kde_libdir}/kde4/kded_ktouchpadenabler.so
|
||||
%{_kde_libdir}/kde4/plasma-geolocation-gps.so
|
||||
%{_kde_libdir}/kde4/plasma-geolocation-ip.so
|
||||
%{_kde_libdir}/kde4/plasma_animator_default.so
|
||||
|
@ -280,6 +261,7 @@ Support for running google-gadgets in Plasma
|
|||
%{_kde_libdir}/kde4/plasma_applet_dig_clock.so
|
||||
%{_kde_libdir}/kde4/plasma_applet_icon.so
|
||||
%{_kde_libdir}/kde4/plasma_applet_keyboard.so
|
||||
%{_kde_libdir}/kde4/plasma_applet_notifications.so
|
||||
%{_kde_libdir}/kde4/plasma_applet_pager.so
|
||||
%{_kde_libdir}/kde4/plasma_applet_panelspacer_internal.so
|
||||
%{_kde_libdir}/kde4/plasma_applet_searchbox.so
|
||||
|
@ -365,7 +347,6 @@ Support for running google-gadgets in Plasma
|
|||
%{_kde_appsdir}/katepart
|
||||
%{_kde_appsdir}/kcminput
|
||||
%{_kde_appsdir}/kcmkeys
|
||||
%{_kde_appsdir}/kcmstyle
|
||||
%{_kde_appsdir}/kcmsolidactions
|
||||
%{_kde_appsdir}/kconf_update/*
|
||||
%{_kde_appsdir}/kcontrol
|
||||
|
@ -375,6 +356,7 @@ Support for running google-gadgets in Plasma
|
|||
%{_kde_appsdir}/khotkeys
|
||||
%{_kde_appsdir}/kmenuedit
|
||||
%{_kde_appsdir}/konqsidebartng/virtual_folders/services/fonts.desktop
|
||||
%{_kde_appsdir}/kscreenlocker
|
||||
%{_kde_appsdir}/ksmserver
|
||||
%{_kde_appsdir}/ksplash
|
||||
%{_kde_appsdir}/kstyle
|
||||
|
@ -398,7 +380,6 @@ Support for running google-gadgets in Plasma
|
|||
%{_kde_configdir}/colorschemes.knsrc
|
||||
%{_kde_configdir}/ksplash.knsrc
|
||||
%{_kde_configdir}/ksysguard.knsrc
|
||||
%{_kde_configdir}/kwineffect.knsrc
|
||||
%{_kde_configdir}/kwinscripts.knsrc
|
||||
%{_kde_configdir}/kwinswitcher.knsrc
|
||||
%{_kde_configdir}/plasma-overlayrc
|
||||
|
@ -447,13 +428,11 @@ Support for running google-gadgets in Plasma
|
|||
%{_kde_services}/kcmaccess.desktop
|
||||
%{_kde_services}/kcmlaunch.desktop
|
||||
%{_kde_services}/kcmsmserver.desktop
|
||||
%{_kde_services}/kded/appmenu.desktop
|
||||
%{_kde_services}/kded/freespacenotifier.desktop
|
||||
%{_kde_services}/kded/kephal.desktop
|
||||
%{_kde_services}/kded/keyboard.desktop
|
||||
%{_kde_services}/kded/khotkeys.desktop
|
||||
%{_kde_services}/kded/kwrited.desktop
|
||||
%{_kde_services}/kded/ktouchpadenabler.desktop
|
||||
%{_kde_services}/kded/randrmonitor.desktop
|
||||
%{_kde_services}/kded/statusnotifierwatcher.desktop
|
||||
%{_kde_services}/keys.desktop
|
||||
|
@ -486,7 +465,7 @@ Support for running google-gadgets in Plasma
|
|||
%{_kde_services}/plasma-applet-digitalclock.desktop
|
||||
%{_kde_services}/plasma-applet-icon.desktop
|
||||
%{_kde_services}/plasma-applet-lockout.desktop
|
||||
%{_kde_services}/plasma-applet-org.kde.notifications.desktop
|
||||
%{_kde_services}/plasma-applet-notifications.desktop
|
||||
%{_kde_services}/plasma-applet-panelspacer-internal.desktop
|
||||
%{_kde_services}/plasma-applet-searchbox.desktop
|
||||
%{_kde_services}/plasma-applet-sm_hdd_activity.desktop
|
||||
|
@ -636,6 +615,7 @@ Support for running google-gadgets in Plasma
|
|||
%{_kde_services}/style.desktop
|
||||
%{_kde_services}/workspaceoptions.desktop
|
||||
%{_kde_servicetypes}/*.desktop
|
||||
%{_kde_mandir}/man1/*
|
||||
%{_kde_datadir}/polkit-1/actions/org.kde.fontinst.policy
|
||||
%{_kde_datadir}/polkit-1/actions/org.kde.kcontrol.kcmclock.policy
|
||||
%{_kde_datadir}/polkit-1/actions/org.kde.ksysguard.processlisthelper.policy
|
||||
|
|
Loading…
Add table
Reference in a new issue