Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Evergreen:11.2:Test
kdebase4-wallpapers
kdm-sysconfig-values.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File kdm-sysconfig-values.diff of Package kdebase4-wallpapers
Index: kdm/kfrontend/CMakeLists.txt =================================================================== --- kdm/kfrontend/CMakeLists.txt.orig +++ kdm/kfrontend/CMakeLists.txt @@ -115,3 +115,5 @@ build_confci() install(CODE " exec_program(\"${CMAKE_CURRENT_BINARY_DIR}/genkdmconf\" ARGS --in \\\"\\\$DESTDIR${CONFIG_INSTALL_DIR}/kdm\\\" --no-in-notice --face-src \\\"${CMAKE_CURRENT_SOURCE_DIR}/pics\\\" \\\$GENKDMCONF_FLAGS) ") + +install( PROGRAMS ${CMAKE_CURRENT_SOURCE_DIR}/read_sysconfig.sh DESTINATION ${DATA_INSTALL_DIR}/kdm ) Index: kdm/kfrontend/kdm_config.c =================================================================== --- kdm/kfrontend/kdm_config.c.orig +++ kdm/kfrontend/kdm_config.c @@ -395,7 +395,7 @@ static const char *kdmrc = KDMCONF "/kdm static Section *rootsec; static void -readConfig() +readConfFile(const char* rcfile) { const char *nstr, *dstr, *cstr, *dhost, *dnum, *dclass; char *s, *e, *st, *en, *ek, *sl, *pt; @@ -405,14 +405,9 @@ readConfig() int nlen, dlen, clen, dhostl, dnuml, dclassl; int i, line, sectmoan, restl; File file; - static int confread; - if (confread) - return; - confread = True; - - debug( "reading config %s ...\n", kdmrc ); - if (!readFile( &file, kdmrc, "master configuration" )) + debug( "reading config %s ...\n", rcfile ); + if (!readFile( &file, rcfile, "master configuration" )) return; for (s = file.buf, line = 0, cursec = 0, sectmoan = 1; s < file.eof; s++) { @@ -438,7 +433,7 @@ readConfig() e--; if (*e != ']') { cursec = 0; - logError( "Invalid section header at %s:%d\n", kdmrc, line ); + logError( "Invalid section header at %s:%d\n", rcfile, line ); continue; } nstr = sl + 1; @@ -447,8 +442,8 @@ readConfig() if (nlen == cursec->nlen && !memcmp( nstr, cursec->name, nlen )) { - logInfo( "Multiple occurrences of section [%.*s] in %s. " - "Consider merging them.\n", nlen, nstr, kdmrc ); + debug( "Multiple occurrences of section [%.*s] in %s. " + "Consider merging them.\n", nlen, nstr, rcfile ); goto secfnd; } if (nstr[0] == 'X' && nstr[1] == '-') { @@ -504,7 +499,7 @@ readConfig() illsec: cursec = 0; logError( "Unrecognized section name [%.*s] at %s:%d\n", - nlen, nstr, kdmrc, line ); + nlen, nstr, rcfile, line ); continue; newsec: if (!(cursec = Malloc( sizeof(*cursec) ))) @@ -532,7 +527,7 @@ readConfig() if (!cursec) { if (sectmoan) { sectmoan = False; - logError( "Entry outside any section at %s:%d", kdmrc, line ); + logError( "Entry outside any section at %s:%d", rcfile, line ); } goto sktoeol; } @@ -540,13 +535,13 @@ readConfig() for (; (s < file.eof) && (*s != '\n'); s++) if (*s == '=') goto haveeq; - logError( "Invalid entry (missing '=') at %s:%d\n", kdmrc, line ); + logError( "Invalid entry (missing '=') at %s:%d\n", rcfile, line ); continue; haveeq: for (ek = s - 1; ; ek--) { if (ek < sl) { - logError( "Invalid entry (empty key) at %s:%d\n", kdmrc, line ); + logError( "Invalid entry (empty key) at %s:%d\n", rcfile, line ); goto sktoeol; } if (!isspace( *ek )) @@ -560,7 +555,7 @@ readConfig() if (*s == '\\') { s++; if (s >= file.eof || *s == '\n') { - logError( "Trailing backslash at %s:%d\n", kdmrc, line ); + logError( "Trailing backslash at %s:%d\n", rcfile, line ); break; } switch (*s) { @@ -589,14 +584,14 @@ readConfig() goto keyok; } logError( "Unrecognized key '%.*s' in section [%.*s] at %s:%d\n", - nlen, nstr, cursec->nlen, cursec->name, kdmrc, line ); + nlen, nstr, cursec->nlen, cursec->name, rcfile, line ); continue; keyok: for (curent = cursec->entries; curent; curent = curent->next) if (ce == curent->ent) { logError( "Multiple occurrences of key '%s' in section [%.*s]" " of %s\n", - ce->name, cursec->nlen, cursec->name, kdmrc ); + ce->name, cursec->nlen, cursec->name, rcfile ); goto keyfnd; } if (!(curent = Malloc( sizeof(*curent) ))) @@ -612,6 +607,20 @@ readConfig() } } +static void readConfig() +{ + static int confread = 0; + + if (confread) + return; + + confread++; + + system("/usr/share/kde4/apps/kdm/read_sysconfig.sh"); + readConfFile("/var/adm/kdm/kdmrc.sysconfig"); + readConfFile(kdmrc); +} + static Entry * findGEnt( int id ) { Index: kdm/kfrontend/genkdmconf.c =================================================================== --- kdm/kfrontend/genkdmconf.c.orig +++ kdm/kfrontend/genkdmconf.c @@ -52,6 +52,7 @@ Foundation, Inc., 51 Franklin Street, Fi #include <config.ci> #define RCVERSTR stringify(RCVERMAJOR) "." stringify(RCVERMINOR) +#define SUSERCVERSTR "2" static int old_scripts, no_old_scripts, old_confs, no_old, no_backup, no_in_notice, use_destdir, mixed_scripts; @@ -59,7 +60,7 @@ static const char *newdir = KDMCONF, *fa *oldxdm, *oldkde, *oldkdepfx; static int oldver; - +static int oldsusever; typedef struct StrList { struct StrList *next; @@ -463,6 +464,7 @@ writeKdmrc( FILE *f ) const char *cmt; putFqVal( "General", "ConfigVersion", RCVERSTR ); + putFqVal( "General", "SUSEConfigVersion", SUSERCVERSTR ); for (cs = config; cs; cs = cs->next) { fprintf( f, "%s[%s]\n", cs->comment ? cs->comment : "\n", cs->name ); @@ -1561,6 +1563,26 @@ upd_servercmd( Entry *ce, Section *cs AT ce->written = True; } +static void +reset_sec_0_1( Entry *ce, Section *cs ATTR_UNUSED ) +{ + if (oldsusever < 1 || !ce->written ) + { + ce->active = 0; + } + return; +} + +static void +reset_sec_1_2( Entry *ce, Section *cs ATTR_UNUSED ) +{ + if (oldsusever < 2 || !ce->written ) + { + ce->active = 0; + } + return; +} + #ifdef XDMCP static void cp_keyfile( Entry *ce, Section *cs ATTR_UNUSED ) @@ -2486,7 +2508,7 @@ static int mergeKdmRcNewer( const char *path, int obsRet ) { char *p; - const char *cp, *sec, *key; + const char *cp, *sec, *key, *susever; RSection *rootsect, *cs; REntry *ce; int i, j, ma, mi; @@ -2512,6 +2534,9 @@ mergeKdmRcNewer( const char *path, int o p, ma, mi ); free( p ); + susever = getFqVal( "General", "SUSEConfigVersion", "" ); + if (sscanf( susever, "%u", &oldsusever ) != 1) + oldsusever = 0; for (cs = rootsect; cs; cs = cs->next) { cp = strrchr( cs->name, '-' ); if (!cp) @@ -2555,7 +2580,8 @@ mergeKdmRcNewer( const char *path, int o gotsec: ; } - applyDefs( kdmdefs_all, as(kdmdefs_all), path ); + /* applyDefs( kdmdefs_all, as(kdmdefs_all), path ); */ + return True; } Index: kdm/config.def =================================================================== --- kdm/config.def.orig +++ kdm/config.def @@ -166,6 +166,9 @@ Core config for 1st local display [X-:0-Core] + Core config for Xgl display +[X-:93-Core] + Greeter config for 1st local display [X-:0-Greeter] </kdmrc> @@ -791,6 +794,21 @@ Description: <emphasis>Do not</emphasis> change it, you may interfere with future upgrades and this could result in &kdm; failing to run. +Key: SUSEConfigVersion +Type: string +Default: "" +CDefault: - +User: dummy +# will be overwritten +Instance: +Comment: + This option exists solely for the purpose of a clean automatic upgrade. + Do not even think about changing it! +Description: + This option exists solely for the purpose of clean automatic upgrades. + <emphasis>Do not</emphasis> change it, you may interfere with future + upgrades and this could result in &kdm; failing to run. + Key: PAMService If: defined(USE_PAM) Type: string @@ -873,10 +891,10 @@ Description: Key: PidFile Type: string -Default: "" +Default: "/var/run/kdm.pid" User: core -Instance: "/var/run/kdm.pid" -Merge: xdm +Instance: "" +Update: reset_sec_0_1 Comment: Where &kdm; should store its PID (do not store if empty). Description: @@ -900,10 +918,10 @@ Description: Key: AuthDir Type: path # differs from XDM -Default: "/var/run/xauth" +Default: "/var/lib/xdm/authdir/authfiles" User: core -Instance: #"/tmp" -Merge: xdm(P_authDir) +Instance: #"" +Update: reset_sec_0_1 Comment: Where to store authorization files. Description: @@ -929,7 +947,7 @@ Description: Key: ExportList Type: list -Default: "" +Default: "LANG,XCURSOR_THEME" User: core Instance: #"LD_LIBRARY_PATH,ANOTHER_IMPORTANT_VAR" Merge: xdm(P_list) @@ -1062,9 +1080,10 @@ Description: Key: Enable Type: bool -Default: true +Default: false User: dep(xdmcpEnable) Instance: false +Update: reset_sec_0_1 Comment: & Description: Whether &kdm; should listen to incoming &XDMCP; requests. @@ -1085,7 +1104,7 @@ Description: Key: KeyFile Type: string -Default: "" +Default: "su nobody -c /etc/X11/xdm/Xwilling" User: core Instance: #KDMCONF "/kdmkeys" Update: cp_keyfile @@ -1101,11 +1120,10 @@ Description: Key: Xaccess Type: string # differs from xdm -Default: *KDMCONF "/Xaccess" +Default: *"/etc/X11/xdm/Xaccess" User: config(Xaccess) -Instance: #"" -Update: mk_xaccess -Merge: xdm:accessFile +Instance: # +Update: reset_sec_0_1 Comment: &XDMCP; access control file in the usual XDM-Xaccess format. Description: @@ -1163,13 +1181,11 @@ Description: Key: Willing Type: string -Default: "" +Default: "/etc/X11/xdm/Xwilling" User: core # will be overwritten Instance: # -Update: mk_willing -Merge: xdm -Merge: kdm:Xwilling +Update: reset_sec_0_1 Comment: The program which is invoked to dynamically generate replies to &XDMCP; DirectQuery or BroadcastQuery requests. @@ -1243,7 +1259,7 @@ Type: enum None/BO_NONE: no boot manager Grub/BO_GRUB: Grub boot manager Lilo/BO_LILO: Lilo boot manager (Linux on i386 & x86-64 only) -Default: None +Default: Grub User: core User: greeter Instance: #Grub @@ -1345,7 +1361,7 @@ Type: string Default: DEF_SERVER_CMD DDefault: - User: core -Instance: :*/DEF_SERVER_CMD +Instance: #:*/DEF_SERVER_CMD Update: upd_servercmd Comment: The command line to start the &X-Server;, without display number and VT spec. @@ -1355,13 +1371,13 @@ Description: This string is subject to word splitting. </para><para> The default is something reasonable for the system on which &kdm; was built, - like <command>/usr/X11R6/bin/X</command>. + like <command>/usr/bin/X</command>. Key: ServerArgsLocal Type: string Default: "" User: core -Instance: :*/"-nolisten tcp" +Instance: #:*/"-nolisten tcp" Comment: & Description: Additional arguments for the &X-Server;s for local sessions. @@ -1451,6 +1467,8 @@ Type: bool Default: false User: core Instance: #:*/! +Instance: :0/! +Instance: :93/! Merge: xdm Comment: Restart instead of resetting the local &X-Server; after session exit. @@ -1549,11 +1567,10 @@ Description: Key: Resources # XXX strictly speaking this is supposed to be a string list, i think. Type: string -Default: "" +Default: "/etx/X11/xdm/Xresources" User: core Instance: #*/"" -Update: cp_resources -Merge: xdm +Update: reset_sec_0_1 Comment: Specify a file with X-resources for the greeter, chooser and background. The KDE frontend does not use this file, so you do not need it unless you @@ -1581,12 +1598,11 @@ Description: Key: Setup Type: string -Default: "" +Default: "/etc/X11/xdm/Xsetup" User: core # will be overwritten Instance: #*/"" -Update: mk_setup -Merge: xdm +Update: reset_sec_0_1 Comment: A program to run before the greeter is shown. Can be used to start an xconsole or an alternative background generator. Subject to word splitting. @@ -1602,12 +1618,11 @@ Description: Key: Startup Type: string -Default: "" +Default: "/etc/X11/xdm/Xstartup" User: core # will be overwritten Instance: #*/"" -Update: mk_startup -Merge: xdm +Update: reset_sec_0_1 Comment: A program to run before a user session starts. Subject to word splitting. Description: @@ -1620,12 +1635,11 @@ Description: Key: Reset Type: string -Default: "" +Default: "/etc/X11/xdm/Xreset" User: core # will be overwritten Instance: #*/"" -Update: mk_reset -Merge: xdm +Update: reset_sec_0_1 Comment: A program to run after a user session exits. Subject to word splitting. Description: @@ -1638,12 +1652,12 @@ Description: Key: Session Type: string -Default: XBINDIR "/xterm -ls -T" +Default: "/etc/X11/xdm/Xsession" #Merge: xdm - incompatible! User: core # will be overwritten Instance: #*/"" -Update: mk_session +Update: reset_sec_0_1 Comment: The program which is run as the user which logs in. It is supposed to interpret the session argument (see SessionsDirs) and start an appropriate @@ -1755,10 +1769,11 @@ Description: Key: AllowRootLogin Type: bool -Default: true +Default: false User: core User: greeter(showRoot) -Instance: */false +Instance: #*/false +Update: reset_sec_1_2 Merge: xdm Comment: Allow root logins? @@ -1773,6 +1788,7 @@ User: core # sensible? Instance: */false Instance: :*/true +Update: reset_sec_0_1 Merge: xdm Comment: Allow to log in, when user has set an empty password? @@ -1784,12 +1800,13 @@ Type: enum None/SHUT_NONE: no <guilabel>Shutdown...</guilabel> menu entry is shown at all Root/SHUT_ROOT: the <systemitem class="username">root</systemitem> password must be entered to shut down All/SHUT_ALL: everybody can shut down the machine -Default: All +Default: Root User: core User: greeter Instance: */Root -Instance: :*/All -Merge: kdm:-Greeter/ +Instance: #:*/All +Update: reset_sec_0_1 +#Merge: kdm:-Greeter/ Comment: & Description: Who is allowed to shut down the system. This applies both to the @@ -1879,6 +1896,7 @@ Type: bool Default: false User: dep Instance: #:0/true +Update: reset_sec_0_1 Comment: & Description: Enable automatic login. <emphasis>Use with extreme care!</emphasis> @@ -1912,7 +1930,7 @@ Default: "" PostProc: PautoLoginX User: core(autoUser) User: greeter -Instance: #:0/"fred" +Instance: #:0/"" Merge: xdm:autoUser(P_autoUser) Comment: & Description: @@ -1943,10 +1961,10 @@ Description: Key: SessionsDirs Type: list -Default: *KDMDATA "/sessions" +Default: *"/etc/X11/session," KDMDATA "/sessions,/usr/share/xsessions" User: core User: greeter-c -Instance: */KDMCONF "/sessions," KDMDATA "/sessions" +Instance: #*/KDMCONF "/sessions," KDMDATA "/sessions" Update: upd_sessionsdirs Comment: The directories containing session type definitions in .desktop format, @@ -2015,7 +2033,7 @@ Description: Key: UseSessReg Type: bool -Default: true +Default: false User: core Instance: #*/! Comment: @@ -2061,7 +2079,8 @@ Type: enum Clock/LOGO_CLOCK: a neat analog clock Default: Clock User: greeter -Instance: */Logo +Instance: */Clock +Update: reset_sec_0_1 Comment: What should be shown in the greeter's logo are: Description: @@ -2277,7 +2296,7 @@ Description: Key: HiddenUsers Type: list -Default: "" +Default: "root" User: greeter-c(noUsers) Instance: #*/"root" # depends on {Min,Max}ShowUID @@ -2421,7 +2440,7 @@ Description: Key: UseBackground Type: bool -Default: true +Default: false User: greeter Instance: #*/! Comment: @@ -2559,6 +2578,7 @@ Type: bool Default: false User: greeter Instance: :0/true +Update: reset_sec_0_1 Comment: Enable &kdm;'s built-in xconsole. Note that this can be enabled for only one display at a time. @@ -2647,9 +2667,9 @@ Description: Key: Preloader Type: string -Default: "" +Default: KDE_BINDIR "/preloadkde" User: greeter-c -Instance: */KDE_BINDIR "/preloadkde" +Instance: #*/KDE_BINDIR "/preloadkde" Update: upd_preloader Comment: & Description: @@ -2659,7 +2679,7 @@ Description: Key: UseTheme Type: bool -Default: false +Default: true User: greeter Instance: */true Comment: & @@ -2668,9 +2688,10 @@ Description: Key: Theme Type: string -Default: "" +Default: KDMDATA "/themes/SUSE" User: greeter -Instance: */KDMDATA "/themes/oxygen-air" +Instance: */"" +Update: reset_sec_0_1 Comment: & Description: The theme to use for the greeter. Can point to either a directory or an XML Index: kdm/kfrontend/read_sysconfig.sh =================================================================== --- /dev/null +++ kdm/kfrontend/read_sysconfig.sh @@ -0,0 +1,155 @@ +#!/bin/bash +# +# Copyright (c) 2006 SUSE Linux Products GmbH Nuernberg, Germany. +# +# Author: Stephan Kulow <coolo@suse.de> +# + +# +# check if we are started as root +# only one of UID and USER must be set correctly +# +if test "$UID" != 0 -a "$USER" != root; then + echo "You must be root to start $0." + exit 1 +fi + +# +# check for sysconfig/displaymanager or rc.config +# +test -f /etc/sysconfig/displaymanager && source /etc/sysconfig/displaymanager +test -f /etc/sysconfig/security && source /etc/sysconfig/security +test -f /etc/sysconfig/language && source /etc/sysconfig/language + +# +# source /etc/profile to get $kdedir +# +kdedir="/usr" +kdmdir="/var/adm/kdm" + +# check for write permissions +[ -w ${kdmdir} ] || mkdir -p ${kdmdir} +[ -w ${kdmdir} ] || exit + +# +# Set Style of Shutdown +# +ECHO_MODE="OneStar" +ALLOW_ROOT_LOGIN="true" +case "$DISPLAYMANAGER_SHUTDOWN" in + all|ALL|All) + DISPLAYMANAGER_SHUTDOWN=All;; + none|NONE|None) + DISPLAYMANAGER_SHUTDOWN=None;; + auto|Auto|AUTO) + case "$PERMISSION_SECURITY" in + *easy*) + DISPLAYMANAGER_SHUTDOWN=All + ;; + *paranoid*) + ECHO_MODE="NoEcho" + ALLOW_ROOT_LOGIN="false" + DISPLAYMANAGER_SHUTDOWN=Root + ;; + *) + DISPLAYMANAGER_SHUTDOWN=Root + ;; + esac + ;; + * ) + DISPLAYMANAGER_SHUTDOWN=Root;; +esac + +( +echo "[X-*-Greeter]" +if [ -n "$KDM_USERS" ]; then + echo "ShowUsers=Selected" + echo -n "SelectedUsers=" + echo ${KDM_USERS}|sed -e 's@ [ ]*@ @g' -e 's@ @,@g' +else + echo "ShowUsers=NotHidden" +fi +if [ "$DISPLAYMANAGER_AD_INTEGRATION" = "yes" ]; then + echo "PluginsLogin=winbind" +else + if [ "$(/usr/sbin/pam-config -q --fp)" = "auth:" ]; then + echo "PluginsLogin=generic" + fi +fi +if [ -n "$DISPLAYMANAGER_KDM_THEME" -a -d "/usr/share/kde4/apps/kdm/themes/$DISPLAYMANAGER_KDM_THEME" ]; then + echo "Theme=/usr/share/kde4/apps/kdm/themes/$DISPLAYMANAGER_KDM_THEME" + echo "UseTheme=true" + echo "UseBackground=false" +else + echo "UseTheme=false" + echo "UseBackground=true" +fi +# kdm has en_US as default instead of simply reading LC_LANG :( +echo "Language=" + +echo "[Xdmcp]" +if [ "$DISPLAYMANAGER_REMOTE_ACCESS" = "yes" ]; then + echo "Enable=true" +else + echo "Enable=false" +fi + +echo "[X-:0-Core]" +if [ "$DISPLAYMANAGER_AUTOLOGIN" ]; then + echo "AutoLoginEnable=true" + echo "AutoLoginUser=${DISPLAYMANAGER_AUTOLOGIN}" +else + echo "AutoLoginEnable=false" +fi +if [ "$DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN" = "yes" ]; then + echo "ServerArgsLocal=${DISPLAYMANAGER_KDM_LOCALARGS}" +else + echo "ServerArgsLocal=-nolisten tcp ${DISPLAYMANAGER_KDM_LOCALARGS}" +fi +if [ "$DISPLAYMANAGER_PASSWORD_LESS_LOGIN" = "yes" ]; then + echo "NoPassEnable=true" + echo "NoPassAllUsers=true" +else + echo "NoPassEnable=false" + echo "NoPassAllUsers=false" +fi + +echo "[X-:*-Core]" +echo "AllowShutdown=${DISPLAYMANAGER_SHUTDOWN}" +echo "AllowRootLogin=${ALLOW_ROOT_LOGIN}" +echo "AllowNullPasswd=${ALLOW_ROOT_LOGIN}" + +echo "[X-*-Core]" + +if test "$DISPLAYMANAGER_ROOT_LOGIN_REMOTE" = "yes"; then + echo "AllowRootLogin=true" +else + echo "AllowRootLogin=false" +fi + +case "x$DISPLAYMANAGER_XSERVER" in + xXgl) + xgl=`type -p Xgl` + echo "ServerCmd=$xgl $DISPLAYMANAGER_XGL_OPTS -br" + echo "ServerTimeout=50" + ;; + xXorg) + xorg=`type -p Xorg` + echo "ServerCmd=$xorg -br" + ;; + x) + # empty value - younger than 11.0 + echo "ServerCmd=/usr/bin/X -br" + ;; + *) + echo "#Unknown X server - leaving X" + ;; +esac + +echo "[General]" +if [ "$DISPLAYMANAGER_STARTS_XSERVER" != "yes" ]; then + echo "StaticServers=" +fi + +) > ${kdmdir}/kdmrc.sysconfig +
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor