From owner-freebsd-bugs@FreeBSD.ORG Fri Feb 11 15:20:08 2011 Return-Path: Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id E8DE210656A4 for ; Fri, 11 Feb 2011 15:20:07 +0000 (UTC) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2001:4f8:fff6::28]) by mx1.freebsd.org (Postfix) with ESMTP id B92998FC0C for ; Fri, 11 Feb 2011 15:20:07 +0000 (UTC) Received: from freefall.freebsd.org (localhost [127.0.0.1]) by freefall.freebsd.org (8.14.4/8.14.4) with ESMTP id p1BFK7lC084936 for ; Fri, 11 Feb 2011 15:20:07 GMT (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.14.4/8.14.4/Submit) id p1BFK7Es084935; Fri, 11 Feb 2011 15:20:07 GMT (envelope-from gnats) Resent-Date: Fri, 11 Feb 2011 15:20:07 GMT Resent-Message-Id: <201102111520.p1BFK7Es084935@freefall.freebsd.org> Resent-From: FreeBSD-gnats-submit@FreeBSD.org (GNATS Filer) Resent-To: freebsd-bugs@FreeBSD.org Resent-Reply-To: FreeBSD-gnats-submit@FreeBSD.org, Kris Moore Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3AC1B1065679 for ; Fri, 11 Feb 2011 15:11:16 +0000 (UTC) (envelope-from nobody@FreeBSD.org) Received: from red.freebsd.org (red.freebsd.org [IPv6:2001:4f8:fff6::22]) by mx1.freebsd.org (Postfix) with ESMTP id 1DCB58FC14 for ; Fri, 11 Feb 2011 15:11:16 +0000 (UTC) Received: from red.freebsd.org (localhost [127.0.0.1]) by red.freebsd.org (8.14.4/8.14.4) with ESMTP id p1BFBFp6037894 for ; Fri, 11 Feb 2011 15:11:15 GMT (envelope-from nobody@red.freebsd.org) Received: (from nobody@localhost) by red.freebsd.org (8.14.4/8.14.4/Submit) id p1BFBFJ3037893; Fri, 11 Feb 2011 15:11:15 GMT (envelope-from nobody) Message-Id: <201102111511.p1BFBFJ3037893@red.freebsd.org> Date: Fri, 11 Feb 2011 15:11:15 GMT From: Kris Moore To: freebsd-gnats-submit@FreeBSD.org X-Send-Pr-Version: www-3.1 Cc: Subject: bin/154686: bin: usr.sbin/pc-sysinstall - Improved localization options for GDM/KDM X-BeenThere: freebsd-bugs@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Bug reports List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 11 Feb 2011 15:20:08 -0000 >Number: 154686 >Category: bin >Synopsis: bin: usr.sbin/pc-sysinstall - Improved localization options for GDM/KDM >Confidential: no >Severity: non-critical >Priority: low >Responsible: freebsd-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Fri Feb 11 15:20:07 UTC 2011 >Closed-Date: >Last-Modified: >Originator: Kris Moore >Release: 9.0-Current >Organization: PC-BSD / iXsystems >Environment: FreeBSD 9.0-CURRENT >Description: The attached patch improves pc-sysinstall's localization options to include support for GDM & KDM desktop login managers. >How-To-Repeat: >Fix: Patch attached with submission follows: diff -ruN usr.sbin/pc-sysinstall/backend/functions-localize.sh usr.sbin/pc-sysinstall/backend/functions-localize.sh --- usr.sbin/pc-sysinstall/backend/functions-localize.sh 2011-01-27 10:26:03.734386155 -0500 +++ usr.sbin/pc-sysinstall/backend/functions-localize.sh 2011-01-27 13:11:37.594693256 -0500 @@ -38,25 +38,46 @@ rm ${FSMNT}/etc/login.conf.bak }; +localize_x_desktops() { -# Function which localizes a PC-BSD install -localize_pcbsd() -{ - #Change the skel files + # Check for and customize KDE lang ########################################################################## - sed -i.bak "s/Country=us/Country=${COUNTRY}/g" ${FSMNT}/usr/share/skel/.kde4/share/config/kdeglobals - sed -i.bak "s/Country=us/Country=${COUNTRY}/g" ${FSMNT}/root/.kde4/share/config/kdeglobals - sed -i.bak "s/Language=en_US/Language=${SETLANG}:${LOCALE}/g" ${FSMNT}/usr/share/skel/.kde4/share/config/kdeglobals - sed -i.bak "s/Language=en_US/Language=${SETLANG}:${LOCALE}/g" ${FSMNT}/root/.kde4/share/config/kdeglobals - #Change KDM Langs + # Check if we can localize KDE via skel + if [ -e "${FSMNT}/usr/share/skel/.kde4/share/config/kdeglobals" ] ; then + sed -i '' "s/Country=us/Country=${COUNTRY}/g" ${FSMNT}/usr/share/skel/.kde4/share/config/kdeglobals + sed -i '' "s/Country=us/Country=${COUNTRY}/g" ${FSMNT}/root/.kde4/share/config/kdeglobals + sed -i '' "s/Language=en_US/Language=${SETLANG}:${LOCALE}/g" ${FSMNT}/usr/share/skel/.kde4/share/config/kdeglobals + fi + + # Check if we have a KDE root config + if [ -e "${FSMNT}/root/.kde4/share/config/kdeglobals" ] ; then + sed -i '' "s/Language=en_US/Language=${SETLANG}:${LOCALE}/g" ${FSMNT}/root/.kde4/share/config/kdeglobals + fi + + # Check for KDM + if [ -e "${FSMNT}/usr/local/kde4/share/config/kdm/kdmrc" ] ; then + sed -i '' "s/Language=en_US/Language=${LOCALE}.UTF-8/g" ${FSMNT}/usr/local/kde4/share/config/kdm/kdmrc + fi + + # Check for and customize GNOME / GDM lang ########################################################################## - sed -i.bak "s/Language=en_US/Language=${LOCALE}.UTF-8/g" ${FSMNT}/usr/local/kde4/share/config/kdm/kdmrc + # See if GDM is enabled and customize its lang + cat ${FSMNT}/etc/rc.conf 2>/dev/null | grep "gdm_enable=\"YES\"" >/dev/null 2>/dev/null + if [ "$?" = "0" ] ; then + echo "gdm_lang=\"${LOCALE}.UTF-8\"" >> ${FSMNT}/etc/rc.conf + fi + +}; + +# Function which localizes a PC-BSD install +localize_pcbsd() +{ # Check if we have a localized splash screen and copy it - if [ -e "${FSMNT}/usr/PCBSD/splash-screens/loading-screen-${SETLANG}.pcx" ] + if [ -e "${FSMNT}/usr/local/share/pcbsd/splash-screens/loading-screen-${SETLANG}.pcx" ] then - cp ${FSMNT}/usr/PCBSD/splash-screens/loading-screen-${SETLANG}.pcx ${FSMNT}/boot/loading-screen.pcx + cp ${FSMNT}/usr/local/share/pcbsd/splash-screens/loading-screen-${SETLANG}.pcx ${FSMNT}/boot/loading-screen.pcx fi }; @@ -117,12 +138,14 @@ cp ${FSMNT}/usr/share/skel/.xprofile ${FSMNT}/root/.xprofile # Save it for KDM - echo "setxkbmap ${SETXKBMAP}" >>${FSMNT}/usr/local/kde4/share/config/kdm/Xsetup + if [ -e "${FSMNT}/usr/local/kde4/share/config/kdm/Xsetup" ] ; then + echo "setxkbmap ${SETXKBMAP}" >>${FSMNT}/usr/local/kde4/share/config/kdm/Xsetup + fi fi - - # Create the kxkbrc configuration using these options - echo "[Layout] + # Create the kxkbrc configuration using these options + if [ -d "${FSMNT}/usr/share/skel/.kde4/share/config" ] ; then + echo "[Layout] DisplayNames=${KXLAYOUT}${COUNTRY} IndicatorOnly=false LayoutList=${KXLAYOUT}${KXVAR}${COUNTRY} @@ -133,6 +156,7 @@ ShowSingle=false SwitchMode=WinClass Use=true " >${FSMNT}/usr/share/skel/.kde4/share/config/kxkbrc + fi }; @@ -454,7 +478,12 @@ then localize_pcbsd "$VAL" fi + + # Localize FreeBSD localize_freebsd "$VAL" + + # Localize any X pkgs + localize_x_desktops "$VAL" fi # Check if we need to do any keylayouts >Release-Note: >Audit-Trail: >Unformatted: