--- system-config-kickstart-2.5.20.orig/Makefile +++ system-config-kickstart-2.5.20/Makefile @@ -28,15 +28,15 @@ mkdir -p $(INSTROOT)/usr/share/applications mkdir -p $(INSTROOT)/usr/share/icons/hicolor/48x48/apps install ${PKGNAME} $(INSTROOT)/usr/sbin/${PKGNAME} - install src/*.py $(INSTROOT)$(PKGDATADIR) + install -m644 src/*.py $(INSTROOT)$(PKGDATADIR) for py in src/*.py ; do \ sed -e s,@VERSION@,$(VERSION),g $${py} > $(INSTROOT)$(PKGDATADIR)/`basename $${py}` ; \ done - install src/${PKGNAME}.glade $(INSTROOT)$(PKGDATADIR) - install pixmaps/*.png $(INSTROOT)$(PKGDATADIR)/pixmaps - install pixmaps/${PKGNAME}.png $(INSTROOT)/usr/share/icons/hicolor/48x48/apps - install ${PKGNAME}.desktop $(INSTROOT)/usr/share/applications/${PKGNAME}.desktop - ln -sf /usr/sbin/${PKGNAME} $(INSTROOT)/usr/sbin/ksconfig + install -m644 src/${PKGNAME}.glade $(INSTROOT)$(PKGDATADIR) + install -m644 pixmaps/*.png $(INSTROOT)$(PKGDATADIR)/pixmaps + install -m644 pixmaps/${PKGNAME}.png $(INSTROOT)/usr/share/icons/hicolor/48x48/apps + install -m644 ${PKGNAME}.desktop $(INSTROOT)/usr/share/applications/${PKGNAME}.desktop + ln -sf ${PKGNAME} $(INSTROOT)/usr/sbin/ksconfig for d in $(SUBDIRS); do \ (cd $$d; $(MAKE) INSTROOT=$(INSTROOT) MANDIR=$(MANDIR) install) \ || case "$(MFLAGS)" in *k*) fail=yes;; *) exit 1;; esac; \ --- system-config-kickstart-2.5.20.orig/debian/changelog +++ system-config-kickstart-2.5.20/debian/changelog @@ -0,0 +1,219 @@ +system-config-kickstart (2.5.20-0ubuntu25) xenial; urgency=medium + + * Provide a 64x64 icon for AppStream (no original source for icon, so + about the best we can do is resize the upstream 48x48 icon at + build-time). + + -- Colin Watson Thu, 18 Feb 2016 14:28:51 +0000 + +system-config-kickstart (2.5.20-0ubuntu24) wily; urgency=medium + + * xconfig.py: short-circuit driver/monitor list filling (which depends on + files that aren't shipped anymore). + + -- Mathieu Trudel-Lapierre Wed, 03 Jun 2015 17:03:32 -0400 + +system-config-kickstart (2.5.20-0ubuntu23) trusty; urgency=low + + * packageGroupList.py: update for changes in ParseTagFile of apt_pkg. + Thanks to Surfraz Ahmed for the patch. (LP: #1236315) + + -- Brian Murray Wed, 11 Dec 2013 15:31:52 -0800 + +system-config-kickstart (2.5.20-0ubuntu22) natty; urgency=low + + * Convert to debhelper 7. + * Convert to dh_python2. + * Depend on python rather than python-dev. + * Add ${misc:Depends}. + + -- Colin Watson Sat, 16 Oct 2010 00:11:48 +0100 + +system-config-kickstart (2.5.20-0ubuntu21) lucid-proposed; urgency=low + + * The output of /usr/share/console-setup/kbdnames-maker changed with + internationalisation support in console-setup. Deal with this + (LP: #570681). + + -- Colin Watson Tue, 27 Apr 2010 15:08:07 +0100 + +system-config-kickstart (2.5.20-0ubuntu20) karmic; urgency=low + + [ Brent Fox ] + * Fix GtkSpinButton warnings (LP: #409261). + * Hook up event handlers after calling self.toplevel.show() (LP: #409270). + * Print usage message on getopt errors (LP: #409352). + * Add ext4 to supported filesystem types (LP: #409368). + * Print a proper error if file opens fail (LP: #409554). + + -- Colin Watson Tue, 11 Aug 2009 14:19:34 +0100 + +system-config-kickstart (2.5.20-0ubuntu19) jaunty; urgency=low + + * Use isoquery to fetch country lists (LP: #346797). + * Move Japanese manual page back to /usr/share/man/ja/, since man-db + detects its encoding automatically these days. + + -- Colin Watson Mon, 23 Mar 2009 13:42:27 +0000 + +system-config-kickstart (2.5.20-0ubuntu18) intrepid; urgency=low + + * Fix --generate option for Ubuntu (LP: #15156). + - Read language information from /etc/default/locale and + /var/lib/locales/supported.d/. + - Read keyboard information from /etc/default/console-setup. + - Don't read mouse configuration from anywhere; we autodetect in nearly + all cases anyway. + - Read timezone information from /etc/timezone. + - Deal with the root password being disabled. + + -- Colin Watson Tue, 16 Sep 2008 15:41:53 +0100 + +system-config-kickstart (2.5.20-0ubuntu17) intrepid; urgency=low + + * Fix order of context-sensitive help items. + * Adjust to localechooser-data 2.03ubuntu1, which has languagelist format + changes. + + -- Colin Watson Sat, 12 Jul 2008 08:35:12 +0100 + +system-config-kickstart (2.5.20-0ubuntu16) gutsy; urgency=low + + * Switch to dh_icons. + + -- Colin Watson Tue, 02 Oct 2007 09:40:07 +0100 + +system-config-kickstart (2.5.20-0ubuntu15) edgy; urgency=low + + * Adjust to new localechooser-data, which has languagelist format changes + and doesn't ship /usr/share/localechooser/SUPPORTED-short; use + /usr/share/i18n/SUPPORTED instead (closes: Malone #59820). + * Use keyboard lists from console-setup. + * Convert to new Python policy, using python-support. + + -- Colin Watson Wed, 11 Oct 2006 22:39:07 +0100 + +system-config-kickstart (2.5.20-0ubuntu14) dapper; urgency=low + + * debian/rules: + - added dh_iconcache. + + -- Daniel Holbach Thu, 18 May 2006 13:15:54 +0200 + +system-config-kickstart (2.5.20-0ubuntu13) dapper; urgency=low + + * po/Makefile: Regenerate PO template during package build. + * system-config-kickstart.desktop.in: Add gettext domain to get language + pack support. + + -- Martin Pitt Fri, 24 Feb 2006 10:05:45 +0100 + +system-config-kickstart (2.5.20-0ubuntu12) dapper; urgency=low + + * Backport from upstream, since Kickstart syntax has changed somewhat and + it's getting a bit late to make significant changes to our Kickstart + support for Dapper at this stage: + - Fixed string translation problems. + - Use random module instead of whrandom. + - Deal with drivers instead of cards due to kudzu changes (closes: + Malone #6333). + * Fix import of Kickstart files containing 'rootpw --disabled' or 'user + --disabled' (closes: Malone #15155). + + -- Colin Watson Fri, 27 Jan 2006 16:47:54 +0000 + +system-config-kickstart (2.5.20-0ubuntu11) breezy; urgency=low + + * Add JFS, ReiserFS, and XFS as valid file system types (closes: Ubuntu + #11390). + + -- Colin Watson Wed, 22 Jun 2005 11:24:11 +0100 + +system-config-kickstart (2.5.20-0ubuntu10) hoary; urgency=low + + * Add basic package group selection, just ubuntu-desktop and + kubuntu-desktop for now (closes: #8467). + * Make "Install Everything" checkbox invisible. + * Replace gtk.FALSE and gtk.TRUE with False and True respectively. + + -- Colin Watson Mon, 4 Apr 2005 15:16:36 +0100 + +system-config-kickstart (2.5.20-0ubuntu9) hoary; urgency=low + + * Change "XWindows" to "X Window System". + + -- Colin Watson Mon, 21 Mar 2005 13:31:21 +0000 + +system-config-kickstart (2.5.20-0ubuntu8) hoary; urgency=low + + * Write out 'user --disabled' if "Create an initial user" is unchecked. + + -- Colin Watson Mon, 21 Mar 2005 11:04:15 +0000 + +system-config-kickstart (2.5.20-0ubuntu7) hoary; urgency=low + + * Set Categories=GNOME;Application;System;Utility (thanks, Jeff Waugh). + * Use dh_desktop. Requires debhelper 4.2.21. + * Call dh_python before dh_installdeb. + + -- Colin Watson Mon, 28 Feb 2005 14:17:35 +0000 + +system-config-kickstart (2.5.20-0ubuntu6) hoary; urgency=low + + * Move root password to a new "User Configuration" section. + * Allow disabling the root password (requires Ubuntu extension to + Kickstart file format); make that the default. + * Add support for creating an initial user (requires Ubuntu extension to + Kickstart file format). + + -- Colin Watson Mon, 28 Feb 2005 13:40:02 +0000 + +system-config-kickstart (2.5.20-0ubuntu5) hoary; urgency=low + + * Architecture: all, not Architecture: any. + + -- Colin Watson Sat, 12 Feb 2005 17:00:36 +0000 + +system-config-kickstart (2.5.20-0ubuntu4) hoary; urgency=low + + * Build-depend on intltool. + + -- Colin Watson Sat, 12 Feb 2005 15:42:11 +0000 + +system-config-kickstart (2.5.20-0ubuntu3) hoary; urgency=low + + * Install documentation, and make Help -> Contents use x-www-browser + rather than (the nonexistent) htmlview. + * Disable firewall by default. + + -- Colin Watson Wed, 9 Feb 2005 00:40:52 +0000 + +system-config-kickstart (2.5.20-0ubuntu2) hoary; urgency=low + + * Build-depend on python-dev. + * Move Japanese man page to /usr/share/man/ja_JP.UTF-8, to match its + encoding. + + -- Colin Watson Mon, 7 Feb 2005 12:24:42 +0000 + +system-config-kickstart (2.5.20-0ubuntu1) hoary; urgency=low + + * Initial release. Note that this will not yet generate Kickstart files + usable for a fully automatic installation. + * /usr/bin/python2 -> /usr/bin/python. + * Remove reliance on rhpl. + * Update architecture list to those supported by Ubuntu, plus the + unofficial sparc port. + * Use keymap lists supplied by console-data (still crude and + uninternationalised). + * Remove probing of keyboard, mouse, and monitor on running system for + now. + * Use locale lists supplied by iso-codes and localechooser-data. + * Ubuntu has no comps.xml; empty the available component list for now. + * Use dpkg-query rather than rpm to get current package list. + * Default to text-mode installation. + * Disable upgrade option. + * Disable NFS installation option. + * Clean up comments in the output a little. + + -- Colin Watson Mon, 7 Feb 2005 11:49:24 +0000 --- system-config-kickstart-2.5.20.orig/debian/clean +++ system-config-kickstart-2.5.20/debian/clean @@ -0,0 +1 @@ +po/*.mo --- system-config-kickstart-2.5.20.orig/debian/compat +++ system-config-kickstart-2.5.20/debian/compat @@ -0,0 +1 @@ +7 --- system-config-kickstart-2.5.20.orig/debian/control +++ system-config-kickstart-2.5.20/debian/control @@ -0,0 +1,15 @@ +Source: system-config-kickstart +Section: admin +Priority: optional +Maintainer: Colin Watson +Standards-Version: 3.6.1 +Build-Depends-Indep: debhelper (>= 7.0.50~), python (>= 2.6.5-2), intltool, imagemagick +XS-Python-Version: >= 2.4 + +Package: system-config-kickstart +Architecture: all +Depends: ${misc:Depends}, ${python:Depends}, python-gtk2, python-glade2, console-setup (>= 1.7ubuntu17), hwdata, iso-codes, isoquery, localechooser-data (>= 2.03ubuntu1), python-apt +XB-Python-Version: ${python:Versions} +Description: graphical tool for creating Kickstart files + Kickstart Configurator is a graphical tool for creating Kickstart files, + which allow scripted fully automatic installations. --- system-config-kickstart-2.5.20.orig/debian/copyright +++ system-config-kickstart-2.5.20/debian/copyright @@ -0,0 +1,23 @@ +This is system-config-kickstart, packaged by Colin Watson + on 4 February 2005. + +Copyright (C) 2000, 2001, 2002, 2003 Red Hat, Inc. +Copyright (C) 2000, 2001, 2002, 2003 Brent Fox +Copyright (C) 2001, 2002, 2003 Tammy Fox + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc. 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + +A copy of the GNU General Public License is available in +/usr/share/common-licenses/GPL. --- system-config-kickstart-2.5.20.orig/debian/rules +++ system-config-kickstart-2.5.20/debian/rules @@ -0,0 +1,18 @@ +#! /usr/bin/make -f +%: + dh $@ --with python2 + +PACKAGE := system-config-kickstart + +override_dh_auto_build: + $(MAKE) $(PACKAGE).desktop + +override_dh_auto_install: + $(MAKE) install RPM_BUILD_ROOT=$(CURDIR)/debian/$(PACKAGE) INSTROOT=$(CURDIR)/debian/$(PACKAGE) + mkdir -p debian/$(PACKAGE)/usr/share/icons/hicolor/64x64/apps + convert -resize 64x64 \ + debian/$(PACKAGE)/usr/share/icons/hicolor/48x48/apps/$(PACKAGE).png \ + debian/$(PACKAGE)/usr/share/icons/hicolor/64x64/apps/$(PACKAGE).png + +override_dh_python2: + dh_python2 /usr/share/system-config-kickstart --- system-config-kickstart-2.5.20.orig/debian/system-config-kickstart.docs +++ system-config-kickstart-2.5.20/debian/system-config-kickstart.docs @@ -0,0 +1 @@ +doc/* --- system-config-kickstart-2.5.20.orig/man/Makefile +++ system-config-kickstart-2.5.20/man/Makefile @@ -6,7 +6,9 @@ install: mkdir -p $(INSTROOT)$(MANDIR)/man8 install -m 644 en/system-config-kickstart.8 $(INSTROOT)$(MANDIR)/man8 + ln -sf system-config-kickstart.8 $(INSTROOT)$(MANDIR)/man8/ksconfig.8 mkdir -p $(INSTROOT)$(MANDIR)/ja/man8 install -m 644 ja/system-config-kickstart.8 $(INSTROOT)$(MANDIR)/ja/man8 + ln -sf system-config-kickstart.8 $(INSTROOT)$(MANDIR)/ja/man8/ksconfig.8 clean: --- system-config-kickstart-2.5.20.orig/po/Makefile +++ system-config-kickstart-2.5.20/po/Makefile @@ -29,7 +29,7 @@ #default:: clean -all:: update-po $(MOFILES) +all:: update-po $(POTFILE) $(MOFILES) $(POTFILE): $(SRCFILES) $(XGETTEXT) --keyword=_ --keyword=N_ $(SRCFILES) --- system-config-kickstart-2.5.20.orig/po/ar.po +++ system-config-kickstart-2.5.20/po/ar.po @@ -1049,7 +1049,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "لم يمكن قراءة قاعدة بيانات بطاقات الفيديو" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/bg.po +++ system-config-kickstart-2.5.20/po/bg.po @@ -1051,8 +1051,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "Не може да се прочете базата с данни с видео карти" +msgid "Could not read video driver database" +msgstr "Базата данни с видео драйвери не се чете" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/bn.po +++ system-config-kickstart-2.5.20/po/bn.po @@ -1073,7 +1073,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "ভিডিও কার্ডের ডাটাবেস পড়া সম্ভব হয় নি" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/ca.po +++ system-config-kickstart-2.5.20/po/ca.po @@ -1062,8 +1062,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "No s'ha pogut llegir la base de dades de la targeta de vídeo" +msgid "Could not read video driver database" +msgstr "No s'ha pogut llegir la base de dades de controladors de vídeo" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/cs.po +++ system-config-kickstart-2.5.20/po/cs.po @@ -1056,8 +1056,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "Nemohu číst databázi grafických karet" +msgid "Could not read video driver database" +msgstr "Nemohu číst databázi ovladačů videa" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/cy.po +++ system-config-kickstart-2.5.20/po/cy.po @@ -1053,7 +1053,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "Methwyd darllen y gronfa ddata cardiau fideo" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/da.po +++ system-config-kickstart-2.5.20/po/da.po @@ -1054,8 +1054,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "Kunne ikke læse databasen over grafikkort" +msgid "Could not read video driver database" +msgstr "Kunne ikke læse databasen over videodrivere" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/de.po +++ system-config-kickstart-2.5.20/po/de.po @@ -1063,8 +1063,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "Grafikkarten-Datenbank konnte nicht gelesen werden." +msgid "Could not read video driver database" +msgstr "Datenbank mit den Grafikkarten-Treibern konnte nicht gelesen werden" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/el.po +++ system-config-kickstart-2.5.20/po/el.po @@ -1036,7 +1036,7 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +msgid "Could not read video driver database" msgstr "" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/en_GB.po +++ system-config-kickstart-2.5.20/po/en_GB.po @@ -1156,7 +1156,7 @@ #. add video cards to list #: ../src/xconfig.py:104 #, fuzzy -msgid "Could not read video card database" +msgid "Could not read video driver database" msgstr "Could not read video card database" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/es.po +++ system-config-kickstart-2.5.20/po/es.po @@ -1103,7 +1103,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "No ha podido leer la base de datos de tarjetas de vídeo" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/et.po +++ system-config-kickstart-2.5.20/po/et.po @@ -746,8 +746,8 @@ #. add resolutions #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "" +msgid "Could not read video driver database" +msgstr "Videokaardi draiverite andmebaasi polnud võimalik lugeda" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/fa.po +++ system-config-kickstart-2.5.20/po/fa.po @@ -1078,7 +1078,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "بانک اطلاعات کارت ویدیو نتوانست خوانده شود" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/fi.po +++ system-config-kickstart-2.5.20/po/fi.po @@ -1052,7 +1052,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "Ei voitu lukea näytönohjaintietokantaa" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/fr.po +++ system-config-kickstart-2.5.20/po/fr.po @@ -1063,8 +1063,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "Impossible de lire la base de données de la carte vidéo" +msgid "Could not read video driver database" +msgstr "Impossible de lire la base de données du pilote vidéo" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/gu.po +++ system-config-kickstart-2.5.20/po/gu.po @@ -1042,8 +1042,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "વિડીયો કાર્ડ ડેટાબેઝ વાંચી શક્યા નહિં" +msgid "Could not read video driver database" +msgstr "વીડિયો ડ્રાઈવર ડેટાબેઝ વાંચી શક્યા નહિં" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/he.po +++ system-config-kickstart-2.5.20/po/he.po @@ -1020,7 +1020,7 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +msgid "Could not read video driver database" msgstr "" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/hi.po +++ system-config-kickstart-2.5.20/po/hi.po @@ -1045,8 +1045,9 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "वीडियो कार्ड आंकडा-आधार पढ़ नहीं सकता था " +#, fuzzy +msgid "Could not read video driver database" +msgstr "वीडियो कार्ड डाटाबेस पढ़ नहीं सकता था" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/hr.po +++ system-config-kickstart-2.5.20/po/hr.po @@ -1072,7 +1072,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "Nisam mogao pročitati bazu video kartica" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/hu.po +++ system-config-kickstart-2.5.20/po/hu.po @@ -1051,7 +1051,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "Nem sikerült olvasni a videokártya-adatbázisból" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/id.po +++ system-config-kickstart-2.5.20/po/id.po @@ -590,8 +590,8 @@ #. !/usr/bin/python2 #. # along with this program; if not, write to the Free Software #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "Tidak diperbolehkan membaca kartu video basisdata" +msgid "Could not read video driver database" +msgstr "Tidak dapat membaca database driver kartu video" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/is.po +++ system-config-kickstart-2.5.20/po/is.po @@ -1055,7 +1055,7 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +msgid "Could not read video driver database" msgstr "Gat ekki lesið skjákortagrunninn" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/it.po +++ system-config-kickstart-2.5.20/po/it.po @@ -1057,8 +1057,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "Impossibile leggere il database della scheda video" +msgid "Could not read video driver database" +msgstr "Impossibile leggere il database del driver video" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/ja.po +++ system-config-kickstart-2.5.20/po/ja.po @@ -1057,8 +1057,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "ビデオカードのデータベースを読み込むことが出来ませんでした。" +msgid "Could not read video driver database" +msgstr "ビデオドライバーのデータベースを読み込むことができませんでした" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/ka.po +++ system-config-kickstart-2.5.20/po/ka.po @@ -1019,7 +1019,7 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +msgid "Could not read video driver database" msgstr "" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/ko.po +++ system-config-kickstart-2.5.20/po/ko.po @@ -1051,8 +1051,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "비디오 카드 데이터베이스를 검색할 수 없습니다" +msgid "Could not read video driver database" +msgstr "비디오 드라이버 데이터베이스를 읽지 못했습니다" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/ku.po +++ system-config-kickstart-2.5.20/po/ku.po @@ -1019,7 +1019,7 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +msgid "Could not read video driver database" msgstr "" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/lo.po +++ system-config-kickstart-2.5.20/po/lo.po @@ -1019,7 +1019,7 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +msgid "Could not read video driver database" msgstr "" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/mk.po +++ system-config-kickstart-2.5.20/po/mk.po @@ -1045,7 +1045,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "Не можам да ја прочитам базата со видео картички" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/mr.po +++ system-config-kickstart-2.5.20/po/mr.po @@ -1019,7 +1019,7 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +msgid "Could not read video driver database" msgstr "" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/ms.po +++ system-config-kickstart-2.5.20/po/ms.po @@ -1046,8 +1046,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "" +msgid "Could not read video driver database" +msgstr "Tidak dapat membaca pengkalan data pemandu video" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/nb.po +++ system-config-kickstart-2.5.20/po/nb.po @@ -1051,8 +1051,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "Kunne ikke lese skjermkortdatabasen" +msgid "Could not read video driver database" +msgstr "Kunne ikke lese database for skjermdrivere" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/nl.po +++ system-config-kickstart-2.5.20/po/nl.po @@ -1067,8 +1067,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "Kon videokaart database niet lezen" +msgid "Could not read video driver database" +msgstr "Kon database met videokaarten niet lezen" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/no.po +++ system-config-kickstart-2.5.20/po/no.po @@ -1051,7 +1051,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "Kunne ikke lese skjermkortdatabasen" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/pa.po +++ system-config-kickstart-2.5.20/po/pa.po @@ -1056,8 +1056,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "ਵੀਡਿਓ ਕਾਰਡ ਡਾਟਾਬੇਸ ਪੜ ਨਹੀ ਸਕਿਆ" +msgid "Could not read video driver database" +msgstr "ਵੀਡਿਓ ਡਰਾਈਵਰ ਡਾਟਾਬੇਸ ਪੜ ਨਹੀਂ ਸਕਿਆ" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/pl.po +++ system-config-kickstart-2.5.20/po/pl.po @@ -1049,8 +1049,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "Nie można odczytać bazy kart wideo" +msgid "Could not read video driver database" +msgstr "Nie można odczytać bazy sterowników graficznych" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/pt.po +++ system-config-kickstart-2.5.20/po/pt.po @@ -1052,7 +1052,7 @@ #. add video cards to list #: ../src/xconfig.py:104 msgid "Could not read video card database" -msgstr "Não foi possível ler a base de dados de placas gráficas" +msgstr "Não foi possível ler a base de dados de controladores de vídeo." #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/pt_BR.po +++ system-config-kickstart-2.5.20/po/pt_BR.po @@ -1059,8 +1059,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "Não foi possível ler a base de dados da placa de vídeo" +msgid "Could not read video driver database" +msgstr "Não foi possível ler a base de dados de video" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/ru.po +++ system-config-kickstart-2.5.20/po/ru.po @@ -1040,8 +1040,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "Невозможно прочитать базу данных видеокарт." +msgid "Could not read video driver database" +msgstr "Невозможно прочитать базу данных драйверов видеокарт" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/si.po +++ system-config-kickstart-2.5.20/po/si.po @@ -1019,7 +1019,7 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +msgid "Could not read video driver database" msgstr "" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/sl.po +++ system-config-kickstart-2.5.20/po/sl.po @@ -1050,7 +1050,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "Ni moč brati zbirke podatkov o grafičnih karticah" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/sq.po +++ system-config-kickstart-2.5.20/po/sq.po @@ -1019,7 +1019,7 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +msgid "Could not read video driver database" msgstr "" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/sv.po +++ system-config-kickstart-2.5.20/po/sv.po @@ -1050,8 +1050,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "Kunde inte läsa grafikkortsdatabas" +msgid "Could not read video driver database" +msgstr "Kunde inte läsa grafikdrivrutinsdatabas" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/system-config-kickstart.pot +++ system-config-kickstart-2.5.20/po/system-config-kickstart.pot @@ -497,7 +497,7 @@ msgstr "" #: ../src/xconfig.py:106 -msgid "Could not read video card database" +msgid "Could not read video driver database" msgstr "" #. --- system-config-kickstart-2.5.20.orig/po/ta.po +++ system-config-kickstart-2.5.20/po/ta.po @@ -1047,7 +1047,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "ஒலி அட்டை தரவுத் தளத்தை படிக்க முடியவில்லை" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/tr.po +++ system-config-kickstart-2.5.20/po/tr.po @@ -1058,7 +1058,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "Ekran kartı veritabanı okunamadı" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/uk.po +++ system-config-kickstart-2.5.20/po/uk.po @@ -1053,7 +1053,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "Неможливо прочитати базу даних відеокарт." #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/ur.po +++ system-config-kickstart-2.5.20/po/ur.po @@ -1019,7 +1019,7 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +msgid "Could not read video driver database" msgstr "" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/vi.po +++ system-config-kickstart-2.5.20/po/vi.po @@ -1049,7 +1049,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" +#, fuzzy +msgid "Could not read video driver database" msgstr "Không đọc được dữ liệu của Thẻ Hình(Video Card)" #. add monitors to list --- system-config-kickstart-2.5.20.orig/po/zh_CN.po +++ system-config-kickstart-2.5.20/po/zh_CN.po @@ -1039,8 +1039,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "无法读取视频卡数据库" +msgid "Could not read video driver database" +msgstr "无法读取视频驱动程序数据库" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/po/zh_TW.po +++ system-config-kickstart-2.5.20/po/zh_TW.po @@ -1045,8 +1045,8 @@ #. add video card RAM sizes to option menu #. add video cards to list #: ../src/xconfig.py:104 -msgid "Could not read video card database" -msgstr "無法讀取顯示卡資料庫" +msgid "Could not read video driver database" +msgstr "無法讀取影像驅動程資料庫" #. add monitors to list #: ../src/xconfig.py:122 --- system-config-kickstart-2.5.20.orig/src/auth.py +++ system-config-kickstart-2.5.20/src/auth.py @@ -22,6 +22,16 @@ import gtk.glade import getopt +## +## I18N +## +import gettext +domain = 'system-config-kickstart' +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext +gtk.glade.bindtextdomain(domain) + class nisData: def __init__(self, quit_cb=None): global nisdomain @@ -324,7 +334,7 @@ self.myLDAPClass.set_auth("No") def setSensitive(self, boolean): - if boolean == gtk.FALSE: + if boolean == False: self.auth_vbox.hide() self.auth_label_box.show() else: @@ -344,75 +354,75 @@ for opt, value in opts: if opt == "--enablemd5cache": - self.md5_checkbutton.set_active(gtk.TRUE) + self.md5_checkbutton.set_active(True) if opt == "--enableshadow" or opt == "--useshadow": - self.shadow_passwd_checkbutton.set_active(gtk.TRUE) + self.shadow_passwd_checkbutton.set_active(True) if opt == "--enablenis": - self.nisCheck.set_active(gtk.TRUE) - self.nisBroadcastCheck.set_active(gtk.TRUE) + self.nisCheck.set_active(True) + self.nisBroadcastCheck.set_active(True) if opt == "--nisdomain": - self.nisCheck.set_active(gtk.TRUE) + self.nisCheck.set_active(True) self.nisDomainEntry.set_text(value) - self.nisBroadcastCheck.set_active(gtk.TRUE) + self.nisBroadcastCheck.set_active(True) if opt == "--nisserver": - self.nisCheck.set_active(gtk.TRUE) + self.nisCheck.set_active(True) self.nisServerEntry.set_text(value) - self.nisBroadcastCheck.set_active(gtk.FALSE) + self.nisBroadcastCheck.set_active(False) if opt == "--enableldap": - self.ldapCheck.set_active(gtk.TRUE) + self.ldapCheck.set_active(True) if opt == "--ldapserver": self.ldapServerEntry.set_text(value) - self.ldapCheck.set_active(gtk.TRUE) + self.ldapCheck.set_active(True) if opt == "--ldapbasedn": self.ldapDNEntry.set_text(value) - self.ldapCheck.set_active(gtk.TRUE) + self.ldapCheck.set_active(True) #XXX FIXME # if opt == "--enableldaptls": # self. if opt == "--enablekrb5": - self.kerberosCheck.set_active(gtk.TRUE) + self.kerberosCheck.set_active(True) if opt == "--krb5realm": self.kerberosRealmEntry.set_text(value) - self.kerberosCheck.set_active(gtk.TRUE) + self.kerberosCheck.set_active(True) if opt == "--krb5kdc": self.kerberosKDCEntry.set_text(value) - self.kerberosCheck.set_active(gtk.TRUE) + self.kerberosCheck.set_active(True) if opt == "--krb5adminserver": self.kerberosMasterEntry.set_text(value) - self.kerberosCheck.set_active(gtk.TRUE) + self.kerberosCheck.set_active(True) if opt == "--enablehesiod": - self.hesiodCheck.set_active(gtk.TRUE) + self.hesiodCheck.set_active(True) if opt == "--hesiodlhs": self.hesiodLHSEntry.set_text(value) - self.hesiodCheck.set_active(gtk.TRUE) + self.hesiodCheck.set_active(True) if opt == "--hesiodrhs": self.hesiodRHSEntry.set_text(value) - self.hesiodCheck.set_active(gtk.TRUE) + self.hesiodCheck.set_active(True) if opt == "--enablesmbauth": - self.sambaCheck.set_active(gtk.TRUE) + self.sambaCheck.set_active(True) if opt == "--smbservers": self.sambaServerEntry.set_text(value) - self.sambaCheck.set_active(gtk.TRUE) + self.sambaCheck.set_active(True) if opt == "--smbworkgroup": self.sambaWorkgroupEntry.set_text(value) - self.sambaCheck.set_active(gtk.TRUE) + self.sambaCheck.set_active(True) if opt == "--enablecache": - self.nscd_checkbutton.set_active(gtk.TRUE) + self.nscd_checkbutton.set_active(True) --- system-config-kickstart-2.5.20.orig/src/basic.py +++ system-config-kickstart-2.5.20/src/basic.py @@ -23,24 +23,24 @@ import gobject import string import os -import whrandom +import random import crypt import getopt +import shlex -from rhpl import keyboard_models -import rhpl.keyboard as keyboard -import rhpl.mouse as mouse -from hardwareLists import langDict +import mouse +from hardwareLists import langDict, layoutDict, variantDict import kickstartGui ## ## I18N ## -from rhpl.translate import _, N_ -import rhpl.translate as translate +import gettext domain = 'system-config-kickstart' -translate.textdomain (domain) +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext gtk.glade.bindtextdomain(domain) class basic: @@ -50,36 +50,50 @@ self.notebook = notebook self.kickstartData = kickstartData self.xml = xml - self.mouse = mouse.Mouse(skipProbe = 1) + self.mouse = mouse.Mouse() self.lang_combo = xml.get_widget("lang_combo") self.keyboard_combo = xml.get_widget("keyboard_combo") self.mouse_combo = xml.get_widget("mouse_combo") self.timezone_combo = xml.get_widget("timezone_combo") self.utc_check_button = xml.get_widget("utc_check_button") + self.root_enable_checkbutton = xml.get_widget("root_enable_checkbutton") self.root_passwd_entry = xml.get_widget("root_passwd_entry") self.root_passwd_confirm_entry = xml.get_widget("root_passwd_confirm_entry") + self.user_create_checkbutton = xml.get_widget("user_create_checkbutton") + self.user_fullname_entry = xml.get_widget("user_fullname_entry") + self.user_name_entry = xml.get_widget("user_name_entry") + self.user_passwd_entry = xml.get_widget("user_passwd_entry") + self.user_passwd_confirm_entry = xml.get_widget("user_passwd_confirm_entry") self.emulate_3_buttons = xml.get_widget("emulate_3_buttons") self.lang_support_view = xml.get_widget("lang_support_view") self.reboot_checkbutton = xml.get_widget("reboot_checkbutton") self.text_install_checkbutton = xml.get_widget("text_install_checkbutton") self.interactive_checkbutton = xml.get_widget("interactive_checkbutton") self.encrypt_root_pw_checkbutton = xml.get_widget("encrypt_root_pw_checkbutton") + self.encrypt_user_pw_checkbutton = xml.get_widget("encrypt_user_pw_checkbutton") self.lang_support_list = xml.get_widget("lang_support_list") self.platform_combo = xml.get_widget("platform_combo") - self.platform_list = [_("x86, AMD64, or Intel EM64T"), _("Intel Itanium"), _("IBM iSeries"), - _("IBM pSeries"), _("IBM zSeries/s390")] + self.platform_list = [_("x86"), _("PowerPC"), _("AMD64 or Intel EM64T"), _("IA-64"), _("SPARC")] self.platform_combo.set_popdown_strings(self.platform_list) self.platform_combo.entry.connect("changed", self.platformChanged) + self.root_enable_checkbutton.connect("toggled", self.rootEnableToggled) + self.root_passwd_entry.set_sensitive(False) + self.root_passwd_confirm_entry.set_sensitive(False) + self.encrypt_root_pw_checkbutton.set_sensitive(False) + self.user_create_checkbutton.set_sensitive(False) + + self.user_create_checkbutton.connect("toggled", self.userCreateToggled) + self.lang_support_store = gtk.ListStore(gobject.TYPE_BOOLEAN, gobject.TYPE_STRING) self.lang_support_view.set_model(self.lang_support_store) self.checkbox = gtk.CellRendererToggle() col = gtk.TreeViewColumn('', self.checkbox, active = 0) col.set_fixed_width(20) - col.set_clickable(gtk.TRUE) + col.set_clickable(True) self.checkbox.connect("toggled", self.langToggled) self.lang_support_view.append_column(col) @@ -95,7 +109,7 @@ self.lang_combo.set_popdown_strings(self.lang_list) #set default to English - self.lang_combo.list.select_item(self.lang_list.index('English (USA)')) + self.lang_combo.list.select_item(self.lang_list.index('English (United States)')) self.populateLangSupport() # for lang in lang_list: @@ -112,25 +126,30 @@ self.mouse_combo.set_popdown_strings(self.mouse_list) self.mouse_combo.list.select_item(0) - #populate keyboard combo, add keyboards here - self.keyboard_dict = keyboard_models.KeyboardModels().get_models() + #populate keyboard combo + self.keyboard_dict = {} + for layoutname, layoutcode in layoutDict.iteritems(): + # TODO: internationalisation + self.keyboard_dict[layoutname] = layoutcode + for variantname, variantcode in variantDict[layoutcode].iteritems(): + if variantcode: + code = '%s_%s' % (layoutcode, variantcode) + self.keyboard_dict[variantname] = code + keys = self.keyboard_dict.keys() keys.sort() keyboard_list = [] for item in keys: - keyboard_list.append(self.keyboard_dict[item][0]) + keyboard_list.append(item) self.keyboard_combo.set_popdown_strings(keyboard_list) - #set default to English - kbd = keyboard.Keyboard() - kbd.read() - currentKeymap = kbd.get() + # TODO: fill with current keymap; for now, default to U.S. English #set keyboard to current keymap - try: - self.keyboard_combo.entry.set_text(self.keyboard_dict[currentKeymap][0]) - except: - self.keyboard_combo.entry.set_text(self.keyboard_dict["us"][0]) + for layoutname, layoutcode in layoutDict.iteritems(): + if layoutcode == 'us': + self.keyboard_combo.entry.set_text(layoutname) + break #set default mouse to generic ps/2 self.mouse_combo.list.select_item(8) @@ -168,6 +187,23 @@ val = self.lang_support_store.get_value(iter, 0) self.lang_support_store.set_value(iter, 0 , not val) + def rootEnableToggled(self, args): + status = self.root_enable_checkbutton.get_active() + self.root_passwd_entry.set_sensitive(status) + self.root_passwd_confirm_entry.set_sensitive(status) + self.encrypt_root_pw_checkbutton.set_sensitive(status) + if not status: + self.user_create_checkbutton.set_active(True) + self.user_create_checkbutton.set_sensitive(status) + + def userCreateToggled(self, args): + status = self.user_create_checkbutton.get_active() + self.user_fullname_entry.set_sensitive(status) + self.user_name_entry.set_sensitive(status) + self.user_passwd_entry.set_sensitive(status) + self.user_passwd_confirm_entry.set_sensitive(status) + self.encrypt_user_pw_checkbutton.set_sensitive(status) + def getData(self, doInstall): lang = self.languageLookup(self.lang_combo.entry.get_text()) self.kickstartData.setLang([self.languageLookup(self.lang_combo.entry.get_text())]) @@ -176,7 +212,7 @@ iter = self.lang_support_store.get_iter_first() while iter: - if self.lang_support_store.get_value(iter, 0) == gtk.TRUE: + if self.lang_support_store.get_value(iter, 0) == True: lang = self.lang_support_store.get_value(iter, 1) lang_list.append(self.langDict[lang]) @@ -190,73 +226,156 @@ keys = self.keyboard_dict.keys() keys.sort() for item in keys: - if self.keyboard_dict[item][0] == self.keyboard_combo.entry.get_text(): - self.kickstartData.setKeyboard([item]) + if item == self.keyboard_combo.entry.get_text(): + self.kickstartData.setKeyboard([self.keyboard_dict[item]]) break self.kickstartData.setMouse([self.mouseLookup(self.mouse_combo.entry.get_text())]) - if self.utc_check_button.get_active() == gtk.TRUE: + if self.utc_check_button.get_active() == True: self.kickstartData.setTimezone(["--utc %s" % self.timezone_combo.entry.get_text()]) else: self.kickstartData.setTimezone([self.timezone_combo.entry.get_text()]) - if self.root_passwd_entry.get_text() != self.root_passwd_confirm_entry.get_text(): - dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, _("Root passwords do not match.")) - dlg.set_title(_("Error")) - dlg.set_default_size(100, 100) - dlg.set_position (gtk.WIN_POS_CENTER) - dlg.set_icon(kickstartGui.iconPixbuf) - dlg.set_border_width(2) - dlg.set_modal(gtk.TRUE) - toplevel = self.xml.get_widget("main_window") - dlg.set_transient_for(toplevel) - dlg.run() - dlg.hide() - self.notebook.set_current_page(0) - self.root_passwd_entry.set_text("") - self.root_passwd_confirm_entry.set_text("") - self.root_passwd_entry.grab_focus() - return None - + if self.root_enable_checkbutton.get_active() == True: + if self.root_passwd_entry.get_text() != self.root_passwd_confirm_entry.get_text(): + dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, _("Root passwords do not match.")) + dlg.set_title(_("Error")) + dlg.set_default_size(100, 100) + dlg.set_position (gtk.WIN_POS_CENTER) + dlg.set_icon(kickstartGui.iconPixbuf) + dlg.set_border_width(2) + dlg.set_modal(True) + toplevel = self.xml.get_widget("main_window") + dlg.set_transient_for(toplevel) + dlg.run() + dlg.hide() + self.notebook.set_current_page(6) + self.root_passwd_entry.set_text("") + self.root_passwd_confirm_entry.set_text("") + self.root_passwd_entry.grab_focus() + return None + + if self.root_passwd_entry.get_text() == "" and doInstall: + dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, _("Please select a root password.")) + dlg.set_title(_("Error")) + dlg.set_default_size(100, 100) + dlg.set_position (gtk.WIN_POS_CENTER) + dlg.set_icon(kickstartGui.iconPixbuf) + dlg.set_border_width(2) + dlg.set_modal(True) + toplevel = self.xml.get_widget("main_window") + dlg.set_transient_for(toplevel) + dlg.run() + dlg.hide() + self.notebook.set_current_page(6) + self.root_passwd_entry.grab_focus() + return None + + if self.encrypt_root_pw_checkbutton.get_active() == True: + pure = self.root_passwd_entry.get_text() + + salt = "$1$" + saltLen = 8 + + if not pure.startswith(salt): + for i in range(saltLen): + salt = salt + random.choice (string.letters + string.digits + './') - if self.root_passwd_entry.get_text() == "" and doInstall: - dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, _("Please select a root password.")) - dlg.set_title(_("Error")) - dlg.set_default_size(100, 100) - dlg.set_position (gtk.WIN_POS_CENTER) - dlg.set_icon(kickstartGui.iconPixbuf) - dlg.set_border_width(2) - dlg.set_modal(gtk.TRUE) - toplevel = self.xml.get_widget("main_window") - dlg.set_transient_for(toplevel) - dlg.run() - dlg.hide() - self.notebook.set_current_page(0) - self.root_passwd_entry.grab_focus() - return None - - if self.encrypt_root_pw_checkbutton.get_active() == gtk.TRUE: - pure = self.root_passwd_entry.get_text() - - salt = "$1$" - saltLen = 8 - - if not pure.startswith(salt): - for i in range(saltLen): - salt = salt + whrandom.choice (string.letters + string.digits + './') + self.passwd = crypt.crypt (pure, salt) - self.passwd = crypt.crypt (pure, salt) + temp = unicode (self.passwd, 'iso-8859-1') + self.kickstartData.setRootPw(["--iscrypted " + temp]) + else: + self.kickstartData.setRootPw(["--iscrypted " + pure]) - temp = unicode (self.passwd, 'iso-8859-1') - self.kickstartData.setRootPw(["--iscrypted " + temp]) else: - self.kickstartData.setRootPw(["--iscrypted " + pure]) + self.passwd = self.root_passwd_entry.get_text() + self.kickstartData.setRootPw([self.passwd]) else: - self.passwd = self.root_passwd_entry.get_text() - self.kickstartData.setRootPw([self.passwd]) + self.kickstartData.setRootPw(None) + + + if self.user_create_checkbutton.get_active() == True: + if self.user_name_entry.get_text() == "": + dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, _("Please select a username.")) + dlg.set_title(_("Error")) + dlg.set_default_size(100, 100) + dlg.set_position (gtk.WIN_POS_CENTER) + dlg.set_icon(kickstartGui.iconPixbuf) + dlg.set_border_width(2) + dlg.set_modal(True) + toplevel = self.xml.get_widget("main_window") + dlg.set_transient_for(toplevel) + dlg.run() + dlg.hide() + self.notebook.set_current_page(6) + self.user_name_entry.grab_focus() + return None + + if self.user_passwd_entry.get_text() != self.user_passwd_confirm_entry.get_text(): + dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, _("User passwords do not match.")) + dlg.set_title(_("Error")) + dlg.set_default_size(100, 100) + dlg.set_position (gtk.WIN_POS_CENTER) + dlg.set_icon(kickstartGui.iconPixbuf) + dlg.set_border_width(2) + dlg.set_modal(True) + toplevel = self.xml.get_widget("main_window") + dlg.set_transient_for(toplevel) + dlg.run() + dlg.hide() + self.notebook.set_current_page(6) + self.user_passwd_entry.set_text("") + self.user_passwd_confirm_entry.set_text("") + self.user_passwd_entry.grab_focus() + return None + + if self.user_passwd_entry.get_text() == "": + dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, _("Please select a user password.")) + dlg.set_title(_("Error")) + dlg.set_default_size(100, 100) + dlg.set_position (gtk.WIN_POS_CENTER) + dlg.set_icon(kickstartGui.iconPixbuf) + dlg.set_border_width(2) + dlg.set_modal(True) + toplevel = self.xml.get_widget("main_window") + dlg.set_transient_for(toplevel) + dlg.run() + dlg.hide() + self.notebook.set_current_page(6) + self.user_passwd_entry.grab_focus() + return None + + user_args = [self.user_name_entry.get_text(), "--fullname", '"' + self.user_fullname_entry.get_text().replace('"', '\\"') + '"'] + if self.encrypt_user_pw_checkbutton.get_active() == True: + pure = self.user_passwd_entry.get_text() + + salt = "$1$" + saltLen = 8 + + if not pure.startswith(salt): + for i in range(saltLen): + salt = salt + random.choice (string.letters + string.digits + './') + + self.passwd = crypt.crypt (pure, salt) + + temp = unicode (self.passwd, 'iso-8859-1') + user_args.extend(["--iscrypted", "--password", temp]) + else: + user_args.extend(["--iscrypted", "--password", pure]) + + else: + self.passwd = self.user_passwd_entry.get_text() + user_args.extend(["--password", self.passwd]) + + self.kickstartData.setUser(user_args) + + else: + self.kickstartData.setUser(None) + self.kickstartData.setPlatform(self.platform_combo.entry.get_text()) @@ -294,7 +413,7 @@ def populateLangSupport(self): for lang in self.lang_list: iter = self.lang_support_store.append() - self.lang_support_store.set_value(iter, 0, gtk.FALSE) + self.lang_support_store.set_value(iter, 0, False) self.lang_support_store.set_value(iter, 1, lang) def platformChanged(self, entry): @@ -313,7 +432,9 @@ self.lang_combo.list.select_item(self.lang_list.index(lang)) #set keyboard - self.keyboard_combo.entry.set_text(self.keyboard_dict[self.kickstartData.getKeyboard()][0]) + for keyboardname, keyboardcode in self.keyboard_dict.iteritems(): + if keyboardcode == self.kickstartData.getKeyboard(): + self.keyboard_combo.entry.set_text(keyboardname) mouseLine = self.kickstartData.getMouse() @@ -325,7 +446,7 @@ for mouse in self.mouseDict.keys(): if "--emulthree" in mouseLine: - self.emulate_3_buttons.set_active(gtk.TRUE) + self.emulate_3_buttons.set_active(True) mouseLine.remove("--emulthree") try: @@ -349,7 +470,7 @@ if langSupportList == []: iter = self.lang_support_store.get_iter_root() while iter: - self.lang_support_store.set_value(iter, 0, gtk.TRUE) + self.lang_support_store.set_value(iter, 0, True) iter = self.lang_support_store.iter_next(iter) else: langSupportList.append(self.kickstartData.getDefaultLang()) @@ -358,28 +479,61 @@ while iter: if self.langDict[self.lang_support_store.get_value(iter, 1)] in langSupportList: - self.lang_support_store.set_value(iter, 0, gtk.TRUE) + self.lang_support_store.set_value(iter, 0, True) iter = self.lang_support_store.iter_next(iter) if self.kickstartData.getReboot(): - self.reboot_checkbutton.set_active(gtk.TRUE) + self.reboot_checkbutton.set_active(True) if self.kickstartData.getText(): - self.text_install_checkbutton.set_active(gtk.TRUE) + self.text_install_checkbutton.set_active(True) if self.kickstartData.getInteractive(): - self.interactive_checkbutton.set_active(gtk.TRUE) + self.interactive_checkbutton.set_active(True) if self.kickstartData.getRootPw(): - self.encrypt_root_pw_checkbutton.set_active(gtk.FALSE) + self.root_enable_checkbutton.set_active(True) + self.encrypt_root_pw_checkbutton.set_active(False) line = self.kickstartData.getRootPw() - (opts, args) = getopt.getopt(line.split(), "", ["iscrypted"]) + (opts, args) = getopt.getopt(line.split(), "", ["disabled", "iscrypted"]) for opt, value in opts: - if opt == "--iscrypted": - self.encrypt_root_pw_checkbutton.set_active(gtk.TRUE) + if opt == "--disabled": + self.root_enable_checkbutton.set_active(False) + elif opt == "--iscrypted": + self.encrypt_root_pw_checkbutton.set_active(True) + + if self.root_enable_checkbutton.get_active(): + self.root_passwd_entry.set_text(args[0]) + self.root_passwd_confirm_entry.set_text(args[0]) + else: + self.root_passwd_entry.set_text('') + self.root_passwd_confirm_entry.set_text('') - self.root_passwd_entry.set_text(args[0]) - self.root_passwd_confirm_entry.set_text(args[0]) + if self.kickstartData.getUser(): + self.user_create_checkbutton.set_active(True) + self.encrypt_user_pw_checkbutton.set_active(False) + line = self.kickstartData.getUser() + user_password = '' + (opts, args) = getopt.gnu_getopt(shlex.split(line), "", ["disabled", "fullname=", "iscrypted", "password="]) + + for opt, value in opts: + if opt == "--disabled": + self.user_create_checkbutton.set_active(False) + elif opt == "--fullname": + self.user_fullname_entry.set_text(value) + elif opt == "--iscrypted": + self.encrypt_user_pw_checkbutton.set_active(True) + elif opt == "--password": + user_password = value + + if self.user_create_checkbutton.get_active(): + self.user_name_entry.set_text(args[0]) + self.user_passwd_entry.set_text(user_password) + self.user_passwd_confirm_entry.set_text(user_password) + else: + self.user_name_entry.set_text('') + self.user_passwd_entry.set_text('') + self.user_passwd_confirm_entry.set_text('') --- system-config-kickstart-2.5.20.orig/src/bootloader.py +++ system-config-kickstart-2.5.20/src/bootloader.py @@ -20,16 +20,17 @@ import gtk import gtk.glade import string -import whrandom +import random import crypt ## ## I18N ## -from rhpl.translate import _, N_ -import rhpl.translate as translate +import gettext domain = 'system-config-kickstart' -translate.textdomain (domain) +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext gtk.glade.bindtextdomain(domain) import kickstartGui @@ -71,7 +72,7 @@ self.grub_password_hbox.set_sensitive(self.grub_password_checkbutton.get_active()) def platformTypeChanged(self, platform): - if platform != "x86, AMD64, or Intel EM64T": + if platform != "x86" and platform != "AMD64 or Intel EM64T": self.bootloader_vbox.hide() self.bootloader_label.set_text(_("Bootloader options are not applicable to " "the %s platform" % platform)) @@ -95,7 +96,7 @@ if length > 0: buf = buf + "--append " + params + " " - if self.grub_password_checkbutton.get_active() == gtk.TRUE: + if self.grub_password_checkbutton.get_active() == True: gp = string.strip (self.grub_password_entry.get_text()) cp = string.strip (self.grub_password_confirm.get_text()) length = len(gp) @@ -105,7 +106,7 @@ salt = "$1$" saltLen = 8 for i in range(saltLen): - salt = salt + whrandom.choice (string.letters + string.digits + './') + salt = salt + random.choice (string.letters + string.digits + './') self.passwd = crypt.crypt (gp, salt) temp = unicode (self.passwd, 'iso-8859-1') buf = buf + "--md5pass=" + temp @@ -116,7 +117,7 @@ dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_WARNING, gtk.BUTTONS_OK, (_("Grub passwords do not match. Please try again."))) dlg.set_position(gtk.WIN_POS_CENTER) - dlg.set_modal(gtk.TRUE) + dlg.set_modal(True) dlg.set_icon(kickstartGui.iconPixbuf) dlg.run() dlg.destroy() @@ -143,11 +144,11 @@ for item in list: if item[:11] == "--location=": if item[11:] == "none": - self.no_bootloader_radio.set_active(gtk.TRUE) + self.no_bootloader_radio.set_active(True) elif item[11:] == "mbr": - self.mbr_radiobutton.set_active(gtk.TRUE) + self.mbr_radiobutton.set_active(True) elif item[11:] == "partition": - self.firstsector_radiobutton.set_active(gtk.TRUE) + self.firstsector_radiobutton.set_active(True) if item[:10] == "--password": self.grub_password_entry.set_text(item[10:]) @@ -157,8 +158,8 @@ self.parameters_entry.set_text(list[list.index(item)]) if "--md5pass" in list: - self.grub_password_encrypt_checkbutton.set_active(gtk.TRUE) + self.grub_password_encrypt_checkbutton.set_active(True) if "--upgrade" in list: - self.upgrade_bootloader_radio.set_active(gtk.TRUE) + self.upgrade_bootloader_radio.set_active(True) --- system-config-kickstart-2.5.20.orig/src/firewall.py +++ system-config-kickstart-2.5.20/src/firewall.py @@ -27,10 +27,11 @@ ## ## I18N ## -from rhpl.translate import _, N_ -import rhpl.translate as translate +import gettext domain = 'system-config-kickstart' -translate.textdomain (domain) +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext gtk.glade.bindtextdomain(domain) trustedStore = gtk.ListStore(gobject.TYPE_BOOLEAN, gobject.TYPE_STRING) @@ -51,8 +52,9 @@ self.firewall_ports_entry = xml.get_widget("firewall_ports_entry") self.customTable = xml.get_widget("customTable") self.customFrame = xml.get_widget("customFrame") - self.upgrade_flag = gtk.FALSE + self.upgrade_flag = False + self.securityOptionMenu.set_history(1) self.securityOptionMenu.connect("changed", self.disable_firewall) #create table with custom checklists @@ -61,13 +63,13 @@ self.customTable.attach (self.label1, 0, 1, 2, 3, gtk.FILL, gtk.FILL, 5, 5) self.trustedView = gtk.TreeView() - self.trustedView.set_headers_visible(gtk.FALSE) + self.trustedView.set_headers_visible(False) self.trustedView.set_model(trustedStore) checkbox = gtk.CellRendererToggle() checkbox.connect("toggled", self.item_toggled, trustedStore) col = gtk.TreeViewColumn('', checkbox, active = 0) col.set_fixed_width(20) - col.set_clickable(gtk.TRUE) + col.set_clickable(True) self.trustedView.append_column(col) col = gtk.TreeViewColumn("", gtk.CellRendererText(), text=1) @@ -86,13 +88,13 @@ self.incomingStore = gtk.ListStore(gobject.TYPE_BOOLEAN, gobject.TYPE_STRING) self.incomingView = gtk.TreeView() - self.incomingView.set_headers_visible(gtk.FALSE) + self.incomingView.set_headers_visible(False) self.incomingView.set_model(self.incomingStore) checkbox = gtk.CellRendererToggle() checkbox.connect("toggled", self.item_toggled, self.incomingStore) col = gtk.TreeViewColumn('', checkbox, active = 0) col.set_fixed_width(20) - col.set_clickable(gtk.TRUE) + col.set_clickable(True) self.incomingView.append_column(col) col = gtk.TreeViewColumn("", gtk.CellRendererText(), text=1) @@ -103,7 +105,7 @@ for item in self.list.keys(): iter = self.incomingStore.append() - self.incomingStore.set_value(iter, 0, gtk.FALSE) + self.incomingStore.set_value(iter, 0, False) self.incomingStore.set_value(iter, 1, item) viewport = gtk.Viewport() @@ -130,9 +132,9 @@ state = self.securityOptionMenu.get_history() if state == 0: - self.customTable.set_sensitive (gtk.TRUE) + self.customTable.set_sensitive (True) else: - self.customTable.set_sensitive (gtk.FALSE) + self.customTable.set_sensitive (False) def toggle_row (self, list, row): (val, row_data, header) = list.get_row_data(row) @@ -141,17 +143,17 @@ list._update_row (row) def setSensitive(self, boolean): - if boolean == gtk.FALSE: + if boolean == False: self.firewall_vbox.hide() self.firewall_label_box.show() - self.upgrade_flag = gtk.TRUE + self.upgrade_flag = True else: self.firewall_vbox.show() self.firewall_label_box.hide() - self.upgrade_flag = gtk.FALSE + self.upgrade_flag = False def getData(self): - if self.upgrade_flag == gtk.TRUE: + if self.upgrade_flag == True: self.kickstartData.setFirewall(None) return @@ -165,7 +167,7 @@ iter = trustedStore.get_iter_first() while iter: - if trustedStore.get_value(iter, 0) == gtk.TRUE: + if trustedStore.get_value(iter, 0) == True: buf = buf + "--trust=" + trustedStore.get_value(iter, 1) + " " iter = trustedStore.iter_next(iter) @@ -173,7 +175,7 @@ iter = self.incomingStore.get_iter_first() while iter: - if self.incomingStore.get_value(iter, 0) == gtk.TRUE: + if self.incomingStore.get_value(iter, 0) == True: service = self.list[self.incomingStore.get_value(iter, 1)] buf = buf + "--" + service + " " iter = self.incomingStore.iter_next(iter) @@ -211,7 +213,7 @@ while iter: service = self.list[self.incomingStore.get_value(iter, 1)] if service == opt[2:]: - self.incomingStore.set_value(iter, 0, gtk.TRUE) + self.incomingStore.set_value(iter, 0, True) iter = self.incomingStore.iter_next(iter) if opt == "--trust": @@ -220,7 +222,7 @@ while iter: device = trustedStore.get_value(iter, 1) if device == value: - trustedStore.set_value(iter, 0, gtk.TRUE) + trustedStore.set_value(iter, 0, True) iter = trustedStore.iter_next(iter) if opt == "--port": --- system-config-kickstart-2.5.20.orig/src/hardwareLists.py +++ system-config-kickstart-2.5.20/src/hardwareLists.py @@ -1,30 +1,83 @@ import string +import subprocess +import gzip -#pull list of language from system-config-languages +# Get language code => full name mapping; TODO: internationalisation +langNames = {} +lines = gzip.open("/usr/share/localechooser/languagelist.data.gz", "r").readlines() + +for line in lines: + if line.startswith('#'): + continue + tokens = line.split(':') + code = tokens[1] + fullname = tokens[2] + langNames[code] = fullname + +# Get country code => full name mapping; TODO: internationalisation +countryNames = {} +isoquery = subprocess.Popen(['isoquery', '-c'], stdout=subprocess.PIPE) + +for line in isoquery.stdout: + line = line.rstrip('\n') + tokens = line.split('\t') + code = tokens[0] + fullname = tokens[3] + countryNames[code] = fullname + +isoquery.wait() + +#pull list of language from SUPPORTED file langDict = {} -lines = open("/usr/share/system-config-language/locale-list", "r").readlines() +lines = open("/usr/share/i18n/SUPPORTED", "r").readlines() for line in lines: - tokens = string.split(line) + code = line.rstrip('\n').split()[0] - if '.' in tokens[0]: + if '.' in code: #Chop encoding off so we can compare to self.installedLangs - langBase = string.split(tokens[0], '.') + langBase = string.split(code, '.') langBase = langBase[0] - elif '@' in tokens[0]: - langBase = string.split(tokens[0], '@') + elif '@' in code: + langBase = string.split(code, '@') langBase = langBase[0] else: - langBase = tokens[0] + langBase = code - name = "" - for token in tokens[3:]: - name = name + " " + token + if '_' in langBase and langBase not in langNames: + (lang, country) = langBase.split('_') + if lang not in langNames or country not in countryNames: + continue + name = '%s (%s)' % (langNames[lang], countryNames[country]) + else: + if langBase not in langNames: + continue + name = langNames[langBase] name = string.strip(name) langDict[name] = langBase +# fetch language list from console-setup +layoutDict = {} +variantDict = {} + +kbdnames = subprocess.Popen( + ['/usr/share/console-setup/kbdnames-maker', + '/usr/share/console-setup/KeyboardNames.pl'], + stdout=subprocess.PIPE) +for line in kbdnames.stdout: + line = line.rstrip('\n') + tokens = line.split('*') + if tokens[0] != 'C': + continue + if tokens[1] == 'layout': + layoutDict[tokens[3]] = tokens[2] + elif tokens[1] == 'variant': + if tokens[2] not in variantDict: + variantDict[tokens[2]] = {} + variantDict[tokens[2]][tokens[4]] = tokens[3] +kbdnames.wait() #define mice, add mice here mouseDict = { "No Mouse" : "none", --- system-config-kickstart-2.5.20.orig/src/install.py +++ system-config-kickstart-2.5.20/src/install.py @@ -27,10 +27,11 @@ ## ## I18N ## -from rhpl.translate import _, N_ -import rhpl.translate as translate +import gettext domain = 'system-config-kickstart' -translate.textdomain (domain) +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext gtk.glade.bindtextdomain(domain) class install: @@ -88,8 +89,8 @@ self.hd_radiobutton.connect("toggled", self.setState) self.ftpuserpass_checkbutton.connect("toggled", self.toggleFtp) - self.ftpuser_entry.set_sensitive(gtk.FALSE) - self.ftppasswd_entry.set_sensitive(gtk.FALSE) + self.ftpuser_entry.set_sensitive(False) + self.ftppasswd_entry.set_sensitive(False) def toggleFtp (self, args): userpass = self.ftpuserpass_checkbutton.get_active() @@ -216,7 +217,7 @@ dlg.set_position (gtk.WIN_POS_CENTER) dlg.set_icon(kickstartGui.iconPixbuf) dlg.set_border_width(2) - dlg.set_modal(gtk.TRUE) + dlg.set_modal(True) toplevel = self.xml.get_widget("main_window") dlg.set_transient_for(toplevel) dlg.run() @@ -239,16 +240,16 @@ def fillData(self): if self.kickstartData.getInstall(): - self.install_radiobutton.set_active(gtk.TRUE) + self.install_radiobutton.set_active(True) elif self.kickstartData.getUpgrade(): - self.upgrade_radiobutton.set_active(gtk.TRUE) + self.upgrade_radiobutton.set_active(True) if self.kickstartData.getCdrom(): - self.cdrom_radiobutton.set_active(gtk.TRUE) + self.cdrom_radiobutton.set_active(True) elif self.kickstartData.getHardDrive(): - self.hd_radiobutton.set_active(gtk.TRUE) + self.hd_radiobutton.set_active(True) list = self.kickstartData.getHardDrive() for i in list: tokens = string.split(i, "=") @@ -258,7 +259,7 @@ self.hddir_entry.set_text(tokens[1]) elif self.kickstartData.getNfs(): - self.nfs_radiobutton.set_active(gtk.TRUE) + self.nfs_radiobutton.set_active(True) list = self.kickstartData.getNfs() for i in list: tokens = string.split(i, "=") @@ -274,10 +275,10 @@ data = tokens[1] if protocol == "ftp": - self.ftp_radiobutton.set_active(gtk.TRUE) + self.ftp_radiobutton.set_active(True) if "@" in data: - self.ftpuserpass_checkbutton.set_active(gtk.TRUE) + self.ftpuserpass_checkbutton.set_active(True) loginData, data = string.split(data, "@") @@ -295,7 +296,7 @@ elif protocol == "http": host, dir = self.splitUrl(data) - self.http_radiobutton.set_active(gtk.TRUE) + self.http_radiobutton.set_active(True) self.httpserver_entry.set_text(host) self.httpdir_entry.set_text(dir) --- system-config-kickstart-2.5.20.orig/src/kickstartData.py +++ system-config-kickstart-2.5.20/src/kickstartData.py @@ -28,6 +28,7 @@ self.mouse = None self.timezone = None self.rootpw = None + self.user = None self.reboot = None self.install = None self.interactive = None @@ -58,7 +59,7 @@ self.preList = [] self.postLine = None self.postList = [] - self.platform = "x86, AMD64, or Intel EM64T" + self.platform = "x86" def setLang(self, args): self.lang = args[0] @@ -118,11 +119,23 @@ return self.timezone def setRootPw(self, args): - self.rootpw = string.join(args, " ") + if args == None: + self.rootpw = None + else: + self.rootpw = string.join(args, " ") def getRootPw(self): return self.rootpw + def setUser(self, args): + if args == None: + self.user = None + else: + self.user = string.join(args, " ") + + def getUser(self): + return self.user + def setReboot(self, args): if args == None: self.reboot = None @@ -358,7 +371,7 @@ file.append("#Generated by Kickstart Configurator") file.append("#platform=%s\n" % self.platform) - file.append("#System language") + file.append("#System language") file.append("lang %s" % self.getLang()) file.append("#Language modules to install") @@ -387,10 +400,18 @@ file.append("mouse " + string.join(mouse), " ") except: file.append("mouse") - file.append("#Sytem timezone") + file.append("#System timezone") file.append("timezone " + self.getTimezone()) file.append("#Root password") - file.append("rootpw " + self.getRootPw()) + if self.getRootPw(): + file.append("rootpw " + self.getRootPw()) + else: + file.append("rootpw --disabled") + file.append("#Initial user") + if self.getUser(): + file.append("user " + self.getUser()) + else: + file.append("user --disabled") if self.getReboot(): @@ -418,7 +439,7 @@ file.append(self.getCdrom()) elif self.getNfs(): - file.append("#Use NFS installation Media") + file.append("#Use NFS installation media") file.append("nfs " + string.join(self.getNfs()," ")) elif self.getHardDrive(): @@ -465,7 +486,7 @@ file.append("firewall " + string.join(self.getFirewall(), " ")) if self.getXconfig(): - file.append("#XWindows configuration information") + file.append("#X Window System configuration information") file.append("xconfig " + string.join(self.getXconfig(), " ")) if self.getFirstboot(): @@ -473,7 +494,7 @@ file.append("firstboot " + self.getFirstboot()) if self.getSkipX(): - file.append("#Do not configure XWindows") + file.append("#Do not configure the X Window System") file.append("skipx") if self.getEverything() == True: --- system-config-kickstart-2.5.20.orig/src/kickstartGui.py +++ system-config-kickstart-2.5.20/src/kickstartGui.py @@ -51,10 +51,11 @@ ## ## I18N ## -from rhpl.translate import _, N_ -import rhpl.translate as translate +import gettext domain = 'system-config-kickstart' -translate.textdomain (domain) +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext gtk.glade.bindtextdomain(domain) ## @@ -142,6 +143,7 @@ self.category_list = [ (_("Basic Configuration")), (_("Installation Method")), (_("Boot Loader Options")), (_("Partition Information")), (_("Network Configuration")), (_("Authentication")), + (_("User Configuration")), (_("Firewall Configuration")), (_("Display Configuration")), (_("Package Selection")), (_("Pre-Installation Script")), (_("Post-Installation Script")) ] @@ -150,6 +152,9 @@ iter = self.category_store.append() self.category_store.set_value(iter, 0, item) + #show gui + self.toplevel.show() + self.open_menu.connect("activate", self.on_activate_open) self.preview_menu.connect("activate", self.on_activate_preview_options) self.save_menu.connect("activate", self.on_activate_save_options) @@ -163,9 +168,6 @@ self.kickstartParser = kickstartParser.KickstartParser(self.kickstartData, file) self.fillData() - #show gui - self.toplevel.show() - gtk.main() def on_notebook_changed(self, page, data, num): @@ -195,7 +197,7 @@ dlg.set_default_size(100, 100) dlg.set_position (gtk.WIN_POS_CENTER) dlg.set_border_width(2) - dlg.set_modal(gtk.TRUE) + dlg.set_modal(True) dlg.set_transient_for(self.toplevel) dlg.set_icon(iconPixbuf) rc = dlg.run() @@ -203,23 +205,24 @@ #display help manual def on_help_button_clicked (self, args): - help_pages = ["file:///usr/share/doc/system-config-kickstart-" + "@VERSION@" + "/system-config-kickstart-basic.html", - "file:///usr/share/doc/system-config-kickstart-" + "@VERSION@" + "/system-config-kickstart-bootloader.html", - "file:///usr/share/doc/system-config-kickstart-" + "@VERSION@" + "/system-config-kickstart-install.html", - "file:///usr/share/doc/system-config-kickstart-" + "@VERSION@" + "/system-config-kickstart-partitions.html", - "file:///usr/share/doc/system-config-kickstart-" + "@VERSION@" + "/system-config-kickstart-network.html", - "file:///usr/share/doc/system-config-kickstart-" + "@VERSION@" + "/system-config-kickstart-auth.html", - "file:///usr/share/doc/system-config-kickstart-" + "@VERSION@" + "/system-config-kickstart-firewall.html", - "file:///usr/share/doc/system-config-kickstart-" + "@VERSION@" + "/system-config-kickstart-xconfig.html", - "file:///usr/share/doc/system-config-kickstart-" + "@VERSION@" + "/system-config-kickstart-pkgs.html", - "file:///usr/share/doc/system-config-kickstart-" + "@VERSION@" + "/system-config-kickstart-prescript.html", - "file:///usr/share/doc/system-config-kickstart-" + "@VERSION@" + "/system-config-kickstart-postinstall.html", + help_pages = ["file:///usr/share/doc/system-config-kickstart/system-config-kickstart-basic.html", + "file:///usr/share/doc/system-config-kickstart/system-config-kickstart-install.html", + "file:///usr/share/doc/system-config-kickstart/system-config-kickstart-bootloader.html", + "file:///usr/share/doc/system-config-kickstart/system-config-kickstart-partitions.html", + "file:///usr/share/doc/system-config-kickstart/system-config-kickstart-network.html", + "file:///usr/share/doc/system-config-kickstart/system-config-kickstart-auth.html", + None, + "file:///usr/share/doc/system-config-kickstart/system-config-kickstart-firewall.html", + "file:///usr/share/doc/system-config-kickstart/system-config-kickstart-xconfig.html", + "file:///usr/share/doc/system-config-kickstart/system-config-kickstart-pkgs.html", + "file:///usr/share/doc/system-config-kickstart/system-config-kickstart-prescript.html", + "file:///usr/share/doc/system-config-kickstart/system-config-kickstart-postinstall.html", ] page = (help_pages [self.options_notebook.get_current_page ()]) - path = "/usr/bin/htmlview" + path = "/usr/bin/x-www-browser" - if path == None: + if path == None or page == None: dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_WARNING, gtk.BUTTONS_OK, (_("Help is not available."))) dlg.set_position(gtk.WIN_POS_CENTER) --- system-config-kickstart-2.5.20.orig/src/kickstartParser.py +++ system-config-kickstart-2.5.20/src/kickstartParser.py @@ -18,6 +18,16 @@ import string import getopt +import sys + +## +## I18N +## +import gettext +domain = 'system-config-kickstart' +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext class KickstartParser: def __init__(self, kickstartData, file): @@ -58,6 +68,7 @@ "timezone" : self.kickstartData.setTimezone , "url" : self.kickstartData.setUrl , "upgrade" : self.kickstartData.setUpgrade , + "user" : self.kickstartData.setUser , "xconfig" : self.kickstartData.setXconfig , ## "xdisplay" : None , "zerombr" : self.kickstartData.setZeroMbr , @@ -70,8 +81,17 @@ self.readKickstartFile(file) def readKickstartFile(self, file): - self.lines = open(file, "r").readlines() - fd = open(file, "r") + try: + self.lines = open(file, "r").readlines() + except IOError, e: + print _("Cannot open %s: %s") % (file, e.strerror) + sys.exit(2) + + try: + fd = open(file, "r") + except IOError, e: + print _("Cannot open %s: %s") % (file, e.strerror) + sys.exit(2) line = fd.readline() mainList = [] --- system-config-kickstart-2.5.20.orig/src/mouse.py +++ system-config-kickstart-2.5.20/src/mouse.py @@ -0,0 +1,26 @@ +## Kickstart Configurator - A graphical kickstart file generator +## Mouse emulation for Debian/Ubuntu-style systems +## Copyright (C) 2005 Canonical Ltd. + +class Mouse: + def __init__(self): + self.models = [ + # psaux + "PS/2", "ImPS/2", "GlidePointPS/2", "NetMousePS/2", + "NetScrollPS/2", "ThinkingMousePS/2", "MouseManPlusPS/2", + "ExplorerPS/2", + # ttyS + "Auto", "Microsoft", "MouseSystems", "GlidePoint", "ThinkingMouse", + "ValuMouseScroll", "MouseMan", "Logitech", "IntelliMouse", + "MMSeries", "MMHitTab", + # atibm, atixl, sunmouse + "BusMouse" + ] + + self.mice = {} + for mouse in self.models: + # for that little bit of compatibility with rhpl.mouse + self.mice[mouse] = (None, None, None, None, None, mouse) + + def available(self): + return self.mice --- system-config-kickstart-2.5.20.orig/src/network.py +++ system-config-kickstart-2.5.20/src/network.py @@ -28,10 +28,11 @@ ## ## I18N ## -from rhpl.translate import _, N_ -import rhpl.translate as translate +import gettext domain = 'system-config-kickstart' -translate.textdomain (domain) +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext gtk.glade.bindtextdomain(domain) import firewall @@ -83,7 +84,7 @@ self.network_device_tree.set_model(self.network_device_store) - self.network_device_tree.set_property("headers-visible", gtk.TRUE) + self.network_device_tree.set_property("headers-visible", True) col = gtk.TreeViewColumn(_("Device"), gtk.CellRendererText(), text = 0) self.network_device_tree.append_column(col) @@ -213,7 +214,7 @@ text = (_("Please fill in the network information")) dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, text) dlg.set_position(gtk.WIN_POS_CENTER) - dlg.set_modal(gtk.TRUE) + dlg.set_modal(True) rc = dlg.run() dlg.destroy() return None @@ -251,7 +252,7 @@ self.network_device_store.set_value(iter, 5, nameserverBuf) iter = firewall.trustedStore.append() - firewall.trustedStore.set_value(iter, 0, gtk.FALSE) + firewall.trustedStore.set_value(iter, 0, False) firewall.trustedStore.set_value(iter, 1, devName) self.resetDialog() @@ -319,7 +320,7 @@ "choose another device name" % devName)) dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, text) dlg.set_position(gtk.WIN_POS_CENTER) - dlg.set_modal(gtk.TRUE) + dlg.set_modal(True) rc = dlg.run() dlg.destroy() return None @@ -352,7 +353,7 @@ self.network_ok_button.disconnect(self.handler) self.network_device_dialog.hide() - return gtk.TRUE + return True def getData(self): self.kickstartData.clearNetwork() @@ -376,18 +377,18 @@ def typeChanged(self, *args): if self.network_type_option_menu.get_history() == 1: - self.network_table.set_sensitive(gtk.TRUE) + self.network_table.set_sensitive(True) else: - self.network_table.set_sensitive(gtk.FALSE) + self.network_table.set_sensitive(False) def rowSelected(self, *args): store, iter = self.network_device_tree.get_selection().get_selected() if iter == None: - self.edit_device_button.set_sensitive(gtk.FALSE) - self.delete_device_button.set_sensitive(gtk.FALSE) + self.edit_device_button.set_sensitive(False) + self.delete_device_button.set_sensitive(False) else: - self.edit_device_button.set_sensitive(gtk.TRUE) - self.delete_device_button.set_sensitive(gtk.TRUE) + self.edit_device_button.set_sensitive(True) + self.delete_device_button.set_sensitive(True) def fillData(self): self.network_device_store.clear() @@ -405,7 +406,7 @@ if opt == "--device": self.network_device_store.set_value(iter, 0, value) firewall_iter = firewall.trustedStore.append() - firewall.trustedStore.set_value(firewall_iter, 0, gtk.FALSE) + firewall.trustedStore.set_value(firewall_iter, 0, False) firewall.trustedStore.set_value(firewall_iter, 1, value) if opt == "--bootproto": --- system-config-kickstart-2.5.20.orig/src/packageGroupList.py +++ system-config-kickstart-2.5.20/src/packageGroupList.py @@ -1,21 +1,72 @@ ## ## I18N ## -from rhpl.translate import _, N_ -import rhpl.translate as translate +import gettext domain = 'system-config-kickstart' -translate.textdomain (domain) -import rhpl.comps +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext import os import string import sys +import tempfile +import apt_pkg -try: - comps_file = rhpl.comps.Comps("/usr/share/comps/" + rhpl.getArch() + "/comps.xml") -except: - print (_("Could not start because there is no /usr/share/comps/" + rhpl.getArch() + "/comps.xml file.")) - print(_("Please make sure the comps package is installed.")) - sys.exit(0) +# Group names are hard-coded for now. + +apt_group_names = { + 'ubuntu-desktop': "Ubuntu Desktop", + 'kubuntu-desktop': "Kubuntu Desktop", +} + +class apt_group: + def __init__(self, id, name): + self.id = id + self.name = name + self.translated_name = {} + +class apt_comps: + def __init__(self): + self.hierarchy = { + 'Desktops': ['ubuntu-desktop', 'kubuntu-desktop'], + 'Applications': [], + 'Servers': [], + 'Development': [], + 'System': [] + } + + self.groups = {} + availfile = tempfile.TemporaryFile() + pid = os.fork() + if not pid: + os.dup2(availfile.fileno(), sys.stdout.fileno()) + os.execlp("apt-cache", "apt-cache", "dumpavail") + os.waitpid(pid, 0) + availfile.seek(0) + availparse = apt_pkg.TagFile(availfile) + while availparse.step() == 1: + if availparse.section.has_key("Task"): + task = availparse.section["Task"] + if not self.groups.has_key(task): + if apt_group_names.has_key(task): + taskname = apt_group_names[task] + else: + taskname = task + self.groups[task] = apt_group(task, taskname) + + def getGroupById(self, subgroup): + if self.groups.has_key(subgroup): + return self.groups[subgroup] + else: + return None + +#try: +# comps_file = rhpl.comps.Comps("/usr/share/comps/" + rhpl.getArch() + "/comps.xml") +#except: +# print (_("Could not start because there is no /usr/share/comps/" + rhpl.getArch() + "/comps.xml file.")) +# print(_("Please make sure the comps package is installed.")) +# sys.exit(0) +comps_file = apt_comps() desktopsList = [] applicationsList = [] --- system-config-kickstart-2.5.20.orig/src/packages.py +++ system-config-kickstart-2.5.20/src/packages.py @@ -29,10 +29,11 @@ ## ## I18N ## -from rhpl.translate import _, N_ -import rhpl.translate as translate +import gettext domain = 'system-config-kickstart' -translate.textdomain (domain) +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext gtk.glade.bindtextdomain(domain) class Packages: @@ -143,7 +144,7 @@ self.checkbox = gtk.CellRendererToggle() col = gtk.TreeViewColumn('', self.checkbox, active = 0) col.set_fixed_width(20) - col.set_clickable(gtk.TRUE) + col.set_clickable(True) self.checkbox.connect("toggled", self.packageToggled, store) view.append_column(col) @@ -172,7 +173,7 @@ #Loop over the package list and see what was selected while iter: - if store.get_value(iter, 0) == gtk.TRUE: + if store.get_value(iter, 0) == True: packageList.append(store.get_value(iter, 2)) iter = store.iter_next(iter) @@ -182,11 +183,11 @@ iter = store.get_iter_first() while iter: if package == store.get_value(iter, 2): - store.set_value(iter, 0, gtk.TRUE) + store.set_value(iter, 0, True) iter = store.iter_next(iter) def setSensitive(self, boolean): - if boolean == gtk.FALSE: + if boolean == False: self.package_vbox.hide() self.package_label_box.show() else: @@ -196,7 +197,7 @@ def fillData(self): if self.kickstartData.getEverything(): self.package_vbox.set_sensitive(False) - self.package_everything_checkbutton.set_active(gtk.TRUE) + self.package_everything_checkbutton.set_active(True) else: packageList = self.kickstartData.getPackageGroupList() --- system-config-kickstart-2.5.20.orig/src/partWindow.py +++ system-config-kickstart-2.5.20/src/partWindow.py @@ -28,10 +28,11 @@ ## ## I18N ## -from rhpl.translate import _, N_ -import rhpl.translate as translate +import gettext domain = 'system-config-kickstart' -translate.textdomain (domain) +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext gtk.glade.bindtextdomain(domain) class partWindow: @@ -80,7 +81,9 @@ mountPoints = ["/", "/boot", "/home", "/var", "/tmp", "/usr", "/opt"] self.mountPointCombo.set_popdown_strings(mountPoints) - self.fsTypesDict = { _("ext2"):"ext2", _("ext3"):"ext3", + self.fsTypesDict = { _("ext2"):"ext2", _("ext3"):"ext3", _("ext4"):"ext4", + _("jfs"):"jfs", _("reiserfs"):"reiserfs", + _("xfs"):"xfs", # _("physical volume (LVM)"):"lvm", _("software RAID"):"raid", _("swap"):"swap", _("vfat"):"vfat", @@ -91,7 +94,7 @@ self.fsTypeCombo.set_popdown_strings(self.fsTypes) try: - fsTypeSelect = self.fsTypes.index("ext3") + fsTypeSelect = self.fsTypes.index("ext4") except: fsTypeSelect = 0 @@ -106,26 +109,26 @@ index = self.fsTypesDict[key] if index == "swap": - self.mountPointCombo.set_sensitive(gtk.FALSE) - self.formatCheck.set_sensitive(gtk.FALSE) - self.swap_checkbutton.set_sensitive(gtk.TRUE) - if self.swap_checkbutton.get_active() == gtk.TRUE: - self.sizeOptionsTable.set_sensitive(gtk.FALSE) + self.mountPointCombo.set_sensitive(False) + self.formatCheck.set_sensitive(False) + self.swap_checkbutton.set_sensitive(True) + if self.swap_checkbutton.get_active() == True: + self.sizeOptionsTable.set_sensitive(False) else: - self.swap_checkbutton.set_sensitive(gtk.FALSE) - self.sizeOptionsTable.set_sensitive(gtk.TRUE) + self.swap_checkbutton.set_sensitive(False) + self.sizeOptionsTable.set_sensitive(True) if index == "raid": - self.mountPointCombo.set_sensitive(gtk.FALSE) - self.formatCheck.set_sensitive(gtk.TRUE) + self.mountPointCombo.set_sensitive(False) + self.formatCheck.set_sensitive(True) elif index == "lvm": - self.mountPointCombo.set_sensitive(gtk.FALSE) + self.mountPointCombo.set_sensitive(False) elif index == "PPC PReP Boot": - self.mountPointCombo.set_sensitive(gtk.FALSE) + self.mountPointCombo.set_sensitive(False) self.sizeCombo.set_text("8") else: - self.mountPointCombo.set_sensitive(gtk.TRUE) - self.formatCheck.set_sensitive(gtk.TRUE) + self.mountPointCombo.set_sensitive(True) + self.formatCheck.set_sensitive(True) def on_setSizeRadio_toggled(self, *args): self.setSizeCombo.set_sensitive(self.setSizeRadio.get_active()) @@ -163,10 +166,10 @@ self.asPrimaryCheck.set_active(part_object.asPrimary) if part_object.partition: - self.onPartCheck.set_active(gtk.TRUE) + self.onPartCheck.set_active(True) self.onPartEntry.set_text(part_object.partition) elif part_object.device: - self.onDiskCheck.set_active(gtk.TRUE) + self.onDiskCheck.set_active(True) self.onDiskEntry.set_text(part_object.device) self.formatCheck.set_active(part_object.doFormat) @@ -177,50 +180,50 @@ index = self.fsTypes.index(curr) if index == 2: - self.mountPointCombo.set_sensitive(gtk.FALSE) - self.formatCheck.set_sensitive(gtk.FALSE) + self.mountPointCombo.set_sensitive(False) + self.formatCheck.set_sensitive(False) self.partitionDialog.show_all() if part_object.sizeStrategy == "fixed": - self.sizeFixedRadio.set_active(gtk.TRUE) + self.sizeFixedRadio.set_active(True) elif part_object.sizeStrategy == "grow": - self.setSizeRadio.set_active(gtk.TRUE) + self.setSizeRadio.set_active(True) self.setSizeCombo.set_text(part_object.setSizeVal) elif part_object.sizeStrategy == "max": - self.sizeMaxRadio.set_active(gtk.TRUE) + self.sizeMaxRadio.set_active(True) #XXX - have to do this after the show_all due to a bug in gtkSpinButton, I suspect if part_object.size == "recommended": - self.swap_checkbutton.set_active(gtk.TRUE) + self.swap_checkbutton.set_active(True) else: self.sizeCombo.set_text(str(part_object.size)) def win_reset(self): self.mountPointCombo.entry.set_text("") - self.mountPointCombo.set_sensitive(gtk.TRUE) + self.mountPointCombo.set_sensitive(True) try: - fsTypeSelect = self.fsTypes.index("ext3") + fsTypeSelect = self.fsTypes.index("ext4") except: fsTypeSelect = 0 self.fsTypeCombo.list.select_item(fsTypeSelect) self.sizeCombo.set_text("1") - self.sizeCombo.set_sensitive(gtk.TRUE) - self.asPrimaryCheck.set_active(gtk.FALSE) - self.onDiskCheck.set_active(gtk.FALSE) + self.sizeCombo.set_sensitive(True) + self.asPrimaryCheck.set_active(False) + self.onDiskCheck.set_active(False) self.onDiskEntry.set_text("") - self.onPartCheck.set_active(gtk.FALSE) + self.onPartCheck.set_active(False) self.onPartEntry.set_text("") - self.sizeFixedRadio.set_active(gtk.TRUE) + self.sizeFixedRadio.set_active(True) self.setSizeCombo.set_text("1") - self.swap_checkbutton.set_active(gtk.FALSE) - self.formatCheck.set_active(gtk.TRUE) + self.swap_checkbutton.set_active(False) + self.formatCheck.set_active(True) def on_part_cancel_button_clicked(self, *args): self.partOkButton.disconnect(self.ok_handler) self.win_reset() self.partitionDialog.hide() - return gtk.TRUE + return True def on_edit_ok_button_clicked(self, *args): part_object = self.part_store.get_value(self.current_iter, 5) @@ -349,23 +352,23 @@ part_object.fsType = self.fsTypesDict[fsTypeKey] ## size stuff - if self.swap_checkbutton.get_active() == gtk.TRUE: + if self.swap_checkbutton.get_active() == True: part_object.size = "recommended" part_object.sizeStrategy = "fixed" else: part_object.size = self.sizeCombo.get_text() - if self.sizeFixedRadio.get_active() == gtk.TRUE: + if self.sizeFixedRadio.get_active() == True: part_object.sizeStrategy = "fixed" - elif self.setSizeRadio.get_active() == gtk.TRUE: + elif self.setSizeRadio.get_active() == True: part_object.sizeStrategy = "grow" part_object.setSizeVal = self.setSizeCombo.get_text() - elif self.sizeMaxRadio.get_active() == gtk.TRUE: + elif self.sizeMaxRadio.get_active() == True: part_object.sizeStrategy = "max" part_object.asPrimary = self.asPrimaryCheck.get_active() - if self.onDiskCheck.get_active() == gtk.TRUE: + if self.onDiskCheck.get_active() == True: device = self.onDiskEntry.get_text() if self.isDeviceValid(device) == 1: @@ -373,7 +376,7 @@ else: return None - if self.onPartCheck.get_active() == gtk.TRUE: + if self.onPartCheck.get_active() == True: part = self.onPartEntry.get_text() if self.isPartitionValid(part) == 1: @@ -514,7 +517,7 @@ dlg.set_default_size(100, 100) dlg.set_position (gtk.WIN_POS_CENTER) dlg.set_border_width(2) - dlg.set_modal(gtk.TRUE) + dlg.set_modal(True) dlg.set_transient_for(self.partitionDialog) dlg.set_icon(kickstartGui.iconPixbuf) rc = dlg.run() --- system-config-kickstart-2.5.20.orig/src/partition.py +++ system-config-kickstart-2.5.20/src/partition.py @@ -33,10 +33,11 @@ ## ## I18N ## -from rhpl.translate import _, N_ -import rhpl.translate as translate +import gettext domain = 'system-config-kickstart' -translate.textdomain (domain) +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext gtk.glade.bindtextdomain(domain) class partition: @@ -299,18 +300,18 @@ def rowSelected(self, *args): store, iter = self.part_view.get_selection().get_selected() if iter == None: - self.edit_part_button.set_sensitive(gtk.FALSE) - self.del_part_button.set_sensitive(gtk.FALSE) + self.edit_part_button.set_sensitive(False) + self.del_part_button.set_sensitive(False) else: part_object = self.part_store.get_value(iter, 5) # Check to see if the selection is actually a partition or # one of the parent roots if part_object == None: - self.edit_part_button.set_sensitive(gtk.FALSE) - self.del_part_button.set_sensitive(gtk.FALSE) + self.edit_part_button.set_sensitive(False) + self.del_part_button.set_sensitive(False) else: - self.edit_part_button.set_sensitive(gtk.TRUE) - self.del_part_button.set_sensitive(gtk.TRUE) + self.edit_part_button.set_sensitive(True) + self.del_part_button.set_sensitive(True) def deviceNotValid(self, label): dlg = gtk.MessageDialog(None, 0, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, label) @@ -318,7 +319,7 @@ dlg.set_default_size(100, 100) dlg.set_position (gtk.WIN_POS_CENTER) dlg.set_border_width(2) - dlg.set_modal(gtk.TRUE) + dlg.set_modal(True) toplevel = self.xml.get_widget("main_window") dlg.set_transient_for(toplevel) dlg.set_icon(kickstartGui.iconPixbuf) @@ -332,7 +333,7 @@ self.initlabel_no_radiobutton.set_sensitive(not button.get_active()) def setSensitive(self, boolean): - if boolean == gtk.FALSE: + if boolean == False: self.partition_vbox.hide() self.partition_label_box.show_all() else: @@ -342,25 +343,25 @@ def fillData(self): if self.kickstartData.getZeroMbr(): if self.kickstartData.getZeroMbr() == "yes": - self.clear_mbr_yes_radiobutton.set_active(gtk.TRUE) + self.clear_mbr_yes_radiobutton.set_active(True) else: - self.clear_mbr_no_radiobutton.set_active(gtk.TRUE) + self.clear_mbr_no_radiobutton.set_active(True) if self.kickstartData.getClearPart(): partList = self.kickstartData.getClearPart() if "--all" in partList: - self.remove_parts_all_radiobutton.set_active(gtk.TRUE) + self.remove_parts_all_radiobutton.set_active(True) elif "--linux" in partList: - self.remove_parts_linux_radiobutton.set_active(gtk.TRUE) + self.remove_parts_linux_radiobutton.set_active(True) if "--initlabel" in partList: - self.initlabel_yes_radiobutton.set_active(gtk.TRUE) + self.initlabel_yes_radiobutton.set_active(True) else: - self.initlabel_no_radiobutton.set_active(gtk.TRUE) + self.initlabel_no_radiobutton.set_active(True) else: - self.remove_parts_none_radiobutton.set_active(gtk.TRUE) + self.remove_parts_none_radiobutton.set_active(True) if self.kickstartData.getPartitions() != []: for line in self.kickstartData.getPartitions(): --- system-config-kickstart-2.5.20.orig/src/profileSystem.py +++ system-config-kickstart-2.5.20/src/profileSystem.py @@ -19,16 +19,10 @@ import string import sys import os -sys.path.append("/usr/share/system-config-language") -import language_backend -import rhpl.keyboard as keyboard -import rhpl.mouse as mouse class ProfileSystem: def __init__(self, kickstartData): self.kickstartData = kickstartData - self.languageBackend = language_backend.LanguageBackend() - self.mouse = mouse.Mouse(skipProbe = 1) self.getLang() self.getKeyboard() @@ -43,59 +37,84 @@ self.kickstartData.setClearPart(["--linux"]) def getLang(self): - default, langs = self.languageBackend.getInstalledLangs() - self.kickstartData.setLang([default]) - self.kickstartData.setDefaultLang(default) + self.kickstartData.setLang(["en_US.UTF-8"]) # default + + try: + default_locale = open("/etc/default/locale") + for line in default_locale: + if line.startswith("LANG="): + default = line[5:].replace('"', '').strip() + self.kickstartData.setLang([default]) + self.kickstartData.setDefaultLang(default) + break + default_locale.close() + except IOError: + pass + + langs = [] + supported_dir = "/var/lib/locales/supported.d" + try: + supported_files = os.listdir(supported_dir) + supported_files.sort() + for supported_file in supported_files: + supported = open(os.path.join(supported_dir, supported_file)) + for line in supported: + if line.startswith('#'): + continue + langs.append(line.strip().split(None, 1)[0]) + supported.close() + except (OSError, IOError): + pass self.kickstartData.setLangSupport(langs) def getKeyboard(self): - kbd = keyboard.Keyboard() - kbd.read() - self.kickstartData.setKeyboard([kbd.get()]) - - def getMouse(self): - if os.access('/etc/sysconfig/mouse', os.F_OK): - lines = open('/etc/sysconfig/mouse', 'r').readlines() - for line in lines: - line = string.strip(line) - if line[0] != "#": - if line[:8] == "FULLNAME": - tag, model = string.split(line, "=") - - model = string.replace(model, '"', "") - model = string.replace(model, "'", "") + self.kickstartData.setKeyboard(["us"]) # default - mouseDict = self.mouse.available() - a, b, c, d, e, protocol = mouseDict[model] + layout = None + variant = None + try: + console_setup = open("/etc/default/console-setup") + for line in console_setup: + if line.startswith("XKBLAYOUT="): + layout = line[10:].replace('"', '').strip() + elif line.startswith("XKBVARIANT="): + variant = line[11:].replace('"', '').strip() + console_setup.close() + except IOError: + pass + if layout: + if variant: + self.kickstartData.setKeyboard(["%s_%s" % (layout, variant)]) + else: + self.kickstartData.setKeyboard([layout]) - self.kickstartData.setMouse([protocol]) - else: - self.kickstartData.setMouse(["none"]) + def getMouse(self): + self.kickstartData.setMouse(["none"]) def getTimezone(self): - lines = open('/etc/sysconfig/clock', 'r').readlines() + timezone_file = open('/etc/timezone') + zone = timezone_file.readline().strip() + timezone_file.close() - for line in lines: - if line[:4] == "ZONE": - tag, zone = string.split(line, '=') - - zone = string.replace(zone, '"', "") - zone = string.replace(zone, "'", "") - zone = string.strip(zone) - self.kickstartData.setTimezone([zone]) def getRootPassword(self): if os.access('/etc/shadow', os.R_OK) == 1: line = open('/etc/shadow', 'r').readline() tokens = string.split(line, ":") - passwd = "--iscrypted " + tokens[1] - self.kickstartData.setRootPw([passwd]) + if tokens[1] == '!': + self.kickstartData.setRootPw(None) + print """\ +The root password is disabled. You must set up an initial user (using the +'user' command) before using this output file.""" + else: + passwd = "--iscrypted " + tokens[1] + self.kickstartData.setRootPw([passwd]) else: print "no access to /etc/shadow" def getPackages(self): - fd = os.popen("/bin/rpm -qa --queryformat \"%{NAME}\n\"") + fd = os.popen("dpkg-query --show --showformat '${package}\n'") packages = fd.readlines() fd.close packages.sort() --- system-config-kickstart-2.5.20.orig/src/raidOptionsWindow.py +++ system-config-kickstart-2.5.20/src/raidOptionsWindow.py @@ -27,10 +27,11 @@ ## ## I18N ## -from rhpl.translate import _, N_ -import rhpl.translate as translate +import gettext domain = 'system-config-kickstart' -translate.textdomain (domain) +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext gtk.glade.bindtextdomain(domain) class raidOptionsWindow: @@ -52,7 +53,7 @@ self.raid_options_ok_button = xml.get_widget("raid_options_ok_button") self.raid_options_cancel_button = xml.get_widget("raid_options_cancel_button") self.message_label = xml.get_widget("message_label") - self.raid_partition_radio.set_active(gtk.TRUE) + self.raid_partition_radio.set_active(True) # self.raidWindow = raidWindow.raidWindow(self.xml, self.part_store, self.part_view) @@ -72,11 +73,11 @@ self.message_label.set_text(_("You currently have %d software RAID partition(s) " "free to use.") % num) if num > 1: - self.raid_device_radio.set_active(gtk.TRUE) - self.raid_device_radio.set_sensitive(gtk.TRUE) + self.raid_device_radio.set_active(True) + self.raid_device_radio.set_sensitive(True) else: - self.raid_partition_radio.set_active(gtk.TRUE) - self.raid_device_radio.set_sensitive(gtk.FALSE) + self.raid_partition_radio.set_active(True) + self.raid_device_radio.set_sensitive(False) def walkStore(self, store, data, iter): part_object = self.part_store.get_value(iter, 5) @@ -84,7 +85,7 @@ self.list.append(part_object.raidNumber) def okClicked(self, *args): - if self.raid_partition_radio.get_active() == gtk.TRUE: + if self.raid_partition_radio.get_active() == True: self.partWindow.add_partition("TYPE_RAID") else: self.raidWindow.addPartition() @@ -93,4 +94,4 @@ def destroy(self, *args): self.raid_options_window.hide() - return gtk.TRUE + return True --- system-config-kickstart-2.5.20.orig/src/raidWindow.py +++ system-config-kickstart-2.5.20/src/raidWindow.py @@ -30,10 +30,11 @@ ## ## I18N ## -from rhpl.translate import _, N_ -import rhpl.translate as translate +import gettext domain = 'system-config-kickstart' -translate.textdomain (domain) +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext gtk.glade.bindtextdomain(domain) class raidWindow: @@ -59,7 +60,8 @@ self.raid_cancel_button = xml.get_widget("raid_cancel_button") mountPoints = ["/", "/boot", "/home", "/var", "/tmp", "/usr", "/opt"] - self.fsTypesList = [ "ext2", "ext3", "raid", "swap", "vfat" ] + self.fsTypesList = [ "ext2", "ext3", "jfs", "reiserfs", "raid", + "swap", "vfat", "xfs" ] self.raidDeviceList = ['md0', 'md1', 'md2', 'md3', 'md4', 'md5', 'md6', 'md7', 'md8', 'md9', 'md10', 'md11', 'md12', 'md13', 'md14', 'md15'] @@ -73,7 +75,7 @@ self.checkbox = gtk.CellRendererToggle() col = gtk.TreeViewColumn('', self.checkbox, active = 0) col.set_fixed_width(20) - col.set_clickable(gtk.TRUE) + col.set_clickable(True) self.checkbox.connect("toggled", self.partitionToggled) self.raid_partitions_view.append_column(col) @@ -89,9 +91,9 @@ def on_raid_fsType_menu_changed(self, *args): if self.raid_fsType_menu.get_children()[0].get_text() == "swap": #it's a swap partition, so desensitize the mountPoint combo - self.raid_mp_combo.set_sensitive(gtk.FALSE) + self.raid_mp_combo.set_sensitive(False) else: - self.raid_mp_combo.set_sensitive(gtk.TRUE) + self.raid_mp_combo.set_sensitive(True) def addPartition(self): self.raid_partition_store.clear() @@ -129,9 +131,9 @@ new_iter = self.raid_partition_store.append() if raidPartitions and part_object.raidNumber in raidPartitions: - self.raid_partition_store.set_value(new_iter, 0, gtk.TRUE) + self.raid_partition_store.set_value(new_iter, 0, True) else: - self.raid_partition_store.set_value(new_iter, 0, gtk.FALSE) + self.raid_partition_store.set_value(new_iter, 0, False) self.raid_partition_store.set_value(new_iter, 1, part_object.raidNumber) self.raid_partition_store.set_value(new_iter, 2, iter) @@ -205,7 +207,7 @@ self.part_store.set_value(raid_device_iter, 2, raid_object.fsType) self.part_store.set_value(raid_device_iter, 5, raid_object) - if self.raid_format_check.get_active() == gtk.TRUE: + if self.raid_format_check.get_active() == True: raid_object.doFormat = 1 if raid_object.doFormat == 1: @@ -219,7 +221,7 @@ self.raid_parent_iter = iter def isRowToggled(self, store, data, iter, raid_object): - if self.raid_partition_store.get_value(iter, 0) == gtk.TRUE: + if self.raid_partition_store.get_value(iter, 0) == True: self.partition_list.append(self.raid_partition_store.get_value(iter, 1)) partition_iter = self.raid_partition_store.get_value(iter,2) part_object = self.raid_partition_store.get_value(iter, 3) @@ -228,7 +230,7 @@ raid_object.raidPartitionObjects.append(part_object) self.part_store.set_value(partition_iter, 1, raid_object.raidDevice) - elif self.raid_partition_store.get_value(iter, 0) == gtk.FALSE: + elif self.raid_partition_store.get_value(iter, 0) == False: partition_iter = self.raid_partition_store.get_value(iter,2) part_object = self.raid_partition_store.get_value(iter, 3) if self.original_partitions: @@ -248,7 +250,7 @@ dlg.set_default_size(100, 100) dlg.set_position (gtk.WIN_POS_CENTER) dlg.set_border_width(2) - dlg.set_modal(gtk.TRUE) + dlg.set_modal(True) dlg.set_transient_for(self.raid_window) rc = dlg.run() if rc == gtk.RESPONSE_OK: @@ -257,7 +259,7 @@ def destroy(self, *args): self.raid_window.hide() - return gtk.TRUE + return True def populateRaid(self, line): raid_object = partEntry.partEntry() --- system-config-kickstart-2.5.20.orig/src/savedialog.py +++ system-config-kickstart-2.5.20/src/savedialog.py @@ -33,7 +33,7 @@ self.dataList = dataList self.dialog = self.xml.get_widget("save_dialog") self.dialog.connect("delete-event", self.hide) - self.dialog.set_modal(gtk.TRUE) + self.dialog.set_modal(True) toplevel = self.xml.get_widget("main_window") self.dialog.set_transient_for(toplevel) self.save_ok_button = self.xml.get_widget("save_ok_button") @@ -63,4 +63,4 @@ def hide(self, *args): self.dialog.hide() - return gtk.TRUE + return True --- system-config-kickstart-2.5.20.orig/src/savefile.py +++ system-config-kickstart-2.5.20/src/savefile.py @@ -66,7 +66,7 @@ def on_confirm_options_cancel_button(self, *args): #using hide because destroy crashes application after second instance self.dialog.hide() - return gtk.TRUE + return True def saveFile_cb(self, *args): self.dialog.hide() --- system-config-kickstart-2.5.20.orig/src/scripts.py +++ system-config-kickstart-2.5.20/src/scripts.py @@ -57,7 +57,7 @@ self.kickstartData.setPreLine(None) pre_buffer = self.pre_textview.get_buffer() - data = pre_buffer.get_text(pre_buffer.get_start_iter(),pre_buffer.get_end_iter(),gtk.TRUE) + data = pre_buffer.get_text(pre_buffer.get_start_iter(),pre_buffer.get_end_iter(),True) data = string.strip(data) if data != "": @@ -78,7 +78,7 @@ self.kickstartData.setPostLine(post_command) post_buffer = self.post_textview.get_buffer() - data = post_buffer.get_text(post_buffer.get_start_iter(),post_buffer.get_end_iter(),gtk.TRUE) + data = post_buffer.get_text(post_buffer.get_start_iter(),post_buffer.get_end_iter(),True) data = string.strip(data) @@ -95,7 +95,7 @@ for opt, value in opts: if opt == "--interpreter": - self.pre_interpreter_checkbutton.set_active(gtk.TRUE) + self.pre_interpreter_checkbutton.set_active(True) self.pre_interpreter_entry.set_text(value) if self.kickstartData.getPreList(): @@ -112,11 +112,11 @@ for opt, value in opts: if opt == "--interpreter": - self.interpreter_checkbutton.set_active(gtk.TRUE) + self.interpreter_checkbutton.set_active(True) self.interpreter_entry.set_text(value) if opt == "--nochroot": - self.chroot_checkbutton.set_active(gtk.TRUE) + self.chroot_checkbutton.set_active(True) if self.kickstartData.getPostList(): list = self.kickstartData.getPostList() --- system-config-kickstart-2.5.20.orig/src/system-config-kickstart.glade +++ system-config-kickstart-2.5.20/src/system-config-kickstart.glade @@ -247,7 +247,7 @@ GTK_UPDATE_ALWAYS False False - 1 1 1e+12 1 10 10 + 1 1 1e+12 1 10 0 1 @@ -371,7 +371,7 @@ GTK_UPDATE_ALWAYS False False - 1 1 1e+12 1 10 10 + 1 1 1e+12 1 10 0 1 @@ -975,7 +975,7 @@ GTK_UPDATE_ALWAYS False False - 1 0 100 1 10 10 + 1 0 100 1 10 0 1 @@ -1323,6 +1323,24 @@ + + True + jfs + True + + + + + + + True + reiserfs + True + + + + + True swap @@ -1339,6 +1357,15 @@ + + + + True + xfs + True + + + @@ -1641,7 +1668,7 @@ True - 10 + 7 2 False 8 @@ -1733,41 +1760,6 @@ - - True - False - 0 - - - - True - True - Encrypt root password - True - GTK_RELIEF_NORMAL - True - True - False - True - - - 0 - False - False - - - - - 1 - 2 - 8 - 9 - fill - fill - - - - True Keyboard: @@ -2045,51 +2037,6 @@ - - True - Root Password: - False - False - GTK_JUSTIFY_CENTER - False - False - 0 - 0.5 - 0 - 0 - - - 0 - 1 - 6 - 7 - fill - - - - - - - True - True - True - False - 0 - - True - * - False - - - 1 - 2 - 6 - 7 - - - - - True Language Support: @@ -2106,8 +2053,8 @@ 0 1 - 9 - 10 + 6 + 7 fill fill @@ -2136,8 +2083,8 @@ 1 2 - 9 - 10 + 6 + 7 @@ -2162,51 +2109,6 @@ - - - - True - Confirm Password: - False - False - GTK_JUSTIFY_CENTER - False - False - 0 - 0.5 - 0 - 0 - - - 0 - 1 - 7 - 8 - fill - - - - - - - True - True - True - False - 0 - - True - * - False - - - 1 - 2 - 7 - 8 - - - 0 @@ -2339,11 +2241,11 @@ True True - Perform installation in text mode (graphical is default) + Perform installation in text mode True GTK_RELIEF_NORMAL True - False + True False True @@ -2460,7 +2362,7 @@ - True + False True Upgrade an existing installation True @@ -2544,7 +2446,7 @@ - True + False True NFS True @@ -5799,44 +5701,48 @@ - + True 0 0.5 GTK_SHADOW_ETCHED_IN - + True - False - 0 + 0.5 + 0.5 + 1 + 1 + 0 + 0 + 12 + 0 - + 4 True False - 4 + 12 - + True False - 5 + 6 - + True - Security level: - False - False - GTK_JUSTIFY_LEFT - False - False - 0 - 0.5 - 0 - 0 + True + Enable the root account + True + GTK_RELIEF_NORMAL + True + False + False + True 0 @@ -5846,33 +5752,18 @@ - + True - True - 0 - - - - - - - True - Enable firewall - True - - - - - - - True - Disable firewall - True - - - - - + If you leave the root account disabled, you must create an initial user, who will be privileged (unrestricted sudo). + False + False + GTK_JUSTIFY_LEFT + True + False + 0 + 0.5 + 0 + 3 0 @@ -5880,85 +5771,612 @@ False - - - 0 - False - False - - - - - - True - - - 0 - False - False - - - - - - True - False - 0 - + True 3 2 False - 0 - 0 - - - 0 - True - True - - - - - 0 - True - True - - - - - 0 - True - True - - - - - - False - 0 + 8 + 4 - - - True - Firewall configuration is not applicable on upgrades. - False - False - GTK_JUSTIFY_LEFT - True - False - 0.5 - 0.5 - 0 - 0 - - - 0 - True - True - + + + True + Root Password: + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + Confirm Root Password: + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + True + True + False + 0 + + True + * + False + + + 1 + 2 + 0 + 1 + + + + + + + True + True + True + False + 0 + + True + * + False + + + 1 + 2 + 1 + 2 + + + + + + + True + True + Encrypt root password + True + GTK_RELIEF_NORMAL + True + True + False + True + + + 1 + 2 + 2 + 3 + fill + + + + + + 0 + False + False + + + + + 0 + False + True + + + + + + True + + + 0 + False + True + + + + + + True + False + 6 + + + + True + True + Create an initial user + True + GTK_RELIEF_NORMAL + True + True + False + True + + + 0 + False + False + + + + + + True + 5 + 2 + False + 8 + 4 + + + + True + Full Name: + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 0 + 1 + fill + + + + + + + True + Username: + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 1 + 2 + fill + + + + + + + True + Password: + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 2 + 3 + fill + + + + + + + True + Confirm Password: + False + False + GTK_JUSTIFY_CENTER + False + False + 0 + 0.5 + 0 + 0 + + + 0 + 1 + 3 + 4 + fill + + + + + + + True + True + True + True + 0 + + True + * + False + + + 1 + 2 + 0 + 1 + + + + + + + True + True + True + True + 0 + + True + * + False + + + 1 + 2 + 1 + 2 + + + + + + + True + True + True + False + 0 + + True + * + False + + + 1 + 2 + 2 + 3 + + + + + + + True + True + True + False + 0 + + True + * + False + + + 1 + 2 + 3 + 4 + + + + + + + True + True + Encrypt user password + True + GTK_RELIEF_NORMAL + True + True + False + True + + + 1 + 2 + 4 + 5 + fill + + + + + + 0 + False + True + + + + + 0 + True + True + + + + + + + + + + True + User Configuration + False + True + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + label_item + + + + + False + True + + + + + + True + label216 + False + False + GTK_JUSTIFY_LEFT + False + False + 0.5 + 0.5 + 0 + 0 + + + tab + + + + + + True + 0 + 0.5 + GTK_SHADOW_ETCHED_IN + + + + True + False + 0 + + + + 4 + True + False + 4 + + + + True + False + 5 + + + + True + Security level: + False + False + GTK_JUSTIFY_LEFT + False + False + 0 + 0.5 + 0 + 0 + + + 0 + False + False + + + + + + True + True + 0 + + + + + + + True + Enable firewall + True + + + + + + + True + Disable firewall + True + + + + + + + + 0 + False + False + + + + + 0 + False + False + + + + + + True + + + 0 + False + False + + + + + + True + False + 0 + + + + True + 3 + 2 + False + 0 + 0 + + + 0 + True + True + + + + + 0 + True + True + + + + + 0 + True + True + + + + + + False + 0 + + + + True + Firewall configuration is not applicable on upgrades. + False + False + GTK_JUSTIFY_LEFT + True + False + 0.5 + 0.5 + 0 + 0 + + + 0 + True + True + @@ -6496,10 +6914,10 @@ 5 - + True True - Probe for video card + Probe for video card driver True GTK_RELIEF_NORMAL True @@ -6515,7 +6933,7 @@ - + 4 True False @@ -6532,7 +6950,7 @@ GTK_CORNER_TOP_LEFT - + True True False @@ -7098,7 +7516,7 @@ - True + False True _Install Everything True --- system-config-kickstart-2.5.20.orig/src/system-config-kickstart.py +++ system-config-kickstart-2.5.20/src/system-config-kickstart.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python ## Kickstart Configurator - A graphical kickstart file generator ## Copyright (C) 2000, 2001, 2002, 2003 Red Hat, Inc. @@ -30,10 +30,11 @@ ## ## I18N ## -from rhpl.translate import _, N_ -import rhpl.translate as translate +import gettext domain = 'system-config-kickstart' -translate.textdomain (domain) +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext def useCliMode(value): import kickstartData @@ -48,26 +49,36 @@ fd.close() +def usage(): + print _("""Usage: system-config-kickstart [--help] [--generate ] [] + +--help Print out this message +--generate Generate a kickstart file from the current machine and write + it to . This option runs on the console, so it is + useful for servers that do not have X currently running. + This option will cause the GUI to launch with the values from + the kickstart file already filled in.""") + + file = None -opts, file = getopt.getopt(sys.argv[1:], "g:h", ["generate=", "help"]) +try: + opts, file = getopt.getopt(sys.argv[1:], "g:h", ["generate=", "help"]) +except getopt.GetoptError, err: + # print help information and exit: + print str(err) + usage() + sys.exit(2) + for (opt, value) in opts: if opt == "--generate" or opt == "-g": useCliMode(value) sys.exit(1) if opt == "--help" or opt == "-h": - print _("""Usage: system-config-kickstart [--help] [--generate ] [] - ---help Print out this message ---generate Generate a kickstart file from the current machine and write - it to . This option runs on the console, so it is - useful for servers that do not have X currently running. - This option will cause the GUI to launch with the values from - the kickstart file already filled in.""") + usage() sys.exit(1) - if file: file = file[0] @@ -76,6 +87,6 @@ except: print (_("Could not open display because no X server is running.")) print (_("Try running 'system-config-kickstart --help' for a list of options.")) - sys.exit(0) + raise kickstartGui.kickstartGui(file) --- system-config-kickstart-2.5.20.orig/src/testParser.py +++ system-config-kickstart-2.5.20/src/testParser.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python import kickstartData import kickstartParser --- system-config-kickstart-2.5.20.orig/src/testProfile.py +++ system-config-kickstart-2.5.20/src/testProfile.py @@ -1,4 +1,4 @@ -#!/usr/bin/python2 +#!/usr/bin/python import kickstartData import profileSystem --- system-config-kickstart-2.5.20.orig/src/xconfig.py +++ system-config-kickstart-2.5.20/src/xconfig.py @@ -24,7 +24,16 @@ import gobject import string import getopt -from rhpl.xhwstate import * + +## +## I18N +## +import gettext +domain = 'system-config-kickstart' +gettext.bindtextdomain(domain, '/usr/share/locale') +gettext.textdomain(domain) +_ = gettext.gettext +gtk.glade.bindtextdomain(domain) class xconfig: @@ -33,7 +42,7 @@ self.xconfig_vbox = xml.get_widget("xconfig_vbox") self.xconfig_label_box = xml.get_widget("xconfig_label_box") self.config_x_button = xml.get_widget("config_x_button") - self.card_view = xml.get_widget("card_view") + self.driver_view = xml.get_widget("driver_view") self.monitor_view = xml.get_widget("monitor_view") self.sync_button = xml.get_widget("sync_button") self.sync_table = xml.get_widget("sync_table") @@ -47,45 +56,45 @@ self.kde_radiobutton = xml.get_widget("kde_radiobutton") self.startxonboot_checkbutton = xml.get_widget("startxonboot_checkbutton") self.firstboot_optionmenu = xml.get_widget("firstboot_optionmenu") - self.card_vbox = xml.get_widget("card_vbox") + self.driver_vbox = xml.get_widget("driver_vbox") self.monitor_vbox = xml.get_widget("monitor_vbox") - self.card_probe_check = xml.get_widget("card_probe_check") + self.driver_probe_check = xml.get_widget("driver_probe_check") self.monitor_probe_check = xml.get_widget("monitor_probe_check") - self.card_store = gtk.ListStore(gobject.TYPE_STRING) - self.card_view.set_model(self.card_store) - self.card_col = gtk.TreeViewColumn("", gtk.CellRendererText(), text = 0) - self.card_view.append_column(self.card_col) + self.driver_store = gtk.ListStore(gobject.TYPE_STRING) + self.driver_view.set_model(self.driver_store) + self.driver_col = gtk.TreeViewColumn("", gtk.CellRendererText(), text = 0) + self.driver_view.append_column(self.driver_col) self.monitor_store = gtk.ListStore(gobject.TYPE_STRING) self.monitor_view.set_model(self.monitor_store) self.monitor_col = gtk.TreeViewColumn("", gtk.CellRendererText(), text = 0) self.monitor_view.append_column(self.monitor_col) - self.upgrade_flag = gtk.FALSE + self.upgrade_flag = False self.config_x_button.connect("toggled", self.toggleXconfig) self.monitor_probe_check.connect("toggled", self.on_monitor_probe_check_toggled) - self.card_probe_check.connect("toggled", self.on_card_probe_check_toggled) + self.driver_probe_check.connect("toggled", self.on_driver_probe_check_toggled) self.sync_button.connect("toggled", self.toggle_sync) - self.fill_card_list() - self.fill_monitor_list() + #self.fill_driver_list() + #self.fill_monitor_list() #add color depths color_depths = ["8", "16", "24", "32"] self.color_depth_combo.set_popdown_strings(color_depths) - self.color_depth_combo.entry.set_editable(gtk.FALSE) + self.color_depth_combo.entry.set_editable(False) #add resolutions resolutions = ["640x480", "800x600", "1024x768", "1152x864", "1280x1024", "1400x1050", "1600x1200", "1920x1440", "2048x1536"] self.resolution_combo.set_popdown_strings(resolutions) - self.resolution_combo.entry.set_editable(gtk.FALSE) + self.resolution_combo.entry.set_editable(False) #add video card RAM sizes to option menu vram_list = ["256 KB", "512 KB", "1 MB", "2 MB", "4 MB", "8 MB", "16 MB", "32 MB", "64 MB"] self.videoram_combo.set_popdown_strings(vram_list) - self.videoram_combo.entry.set_editable(gtk.FALSE) + self.videoram_combo.entry.set_editable(False) self.ramsize_dict = {"256 KB" : "256", "512 KB" : "512", @@ -98,28 +107,51 @@ "64 MB" : "65536", } - def fill_card_list(self): - #add video cards to list + def fill_driver_list(self): + #add video drivers to list try: - cardsFile = open("/usr/share/hwdata/Cards", "r") + driverFile = open("/usr/share/hwdata/videodrivers", "r") except: - raise RuntimeError, (_("Could not read video card database")) + raise RuntimeError, (_("Could not read video driver database")) - lines = cardsFile.readlines () - cardsFile.close () + lines = driverFile.readlines () + driverFile.close () lines.sort() for line in lines: line = string.strip (line) - if len (line) > 4 and line[0:4] == 'NAME': - name = line[5:] - iter = self.card_store.append() - self.card_store.set_value(iter, 0, name) + name = line.split("\t", 2)[0] + iter = self.driver_store.append() + self.driver_store.set_value(iter, 0, name) def fill_monitor_list(self): + db = {} + + # read monitors database; mostly taken wholesale from rhpl.monitor + monitorsFile = open("/usr/share/hwdata/MonitorsDB", "r") + lines = monitorsFile.readlines() + monitorsFile.close() + + for line in lines: + line = string.strip(line) + if not line: + continue + if line and line[0] == '#': + continue + fields = string.split(line, ';') + if len(fields) < 5: + # log("Bad MonitorsDB entry\n: %s", line) + continue + man = string.strip(fields[0]) + model = string.strip(fields[1]) + eisa = string.lower(string.strip(fields[2])) + horiz = string.strip(fields[3]) + vert = string.strip(fields[4]) + if db.has_key(man): + db[man].append((model, eisa, vert, horiz)) + else: + db[man] = [(model, eisa, vert, horiz)] - hardware_state = XF86HardwareState(None) - db = hardware_state.monitor.readMonitorsDB() l = db.keys() l.sort() mon_list = [] @@ -145,8 +177,8 @@ iter = self.monitor_store.append() self.monitor_store.set_value(iter, 0, model) - def on_card_probe_check_toggled(self, *args): - self.card_vbox.set_sensitive(not self.card_probe_check.get_active()) + def on_driver_probe_check_toggled(self, *args): + self.driver_vbox.set_sensitive(not self.driver_probe_check.get_active()) def on_monitor_probe_check_toggled(self, *args): self.monitor_vbox.set_sensitive(not self.monitor_probe_check.get_active()) @@ -162,17 +194,17 @@ self.monitor_view.set_sensitive(not sync_instead) def setSensitive(self, boolean): - if boolean == gtk.FALSE: + if boolean == False: self.xconfig_vbox.hide() self.xconfig_label_box.show() - self.upgrade_flag = gtk.TRUE + self.upgrade_flag = True else: self.xconfig_vbox.show() self.xconfig_label_box.hide() - self.upgrade_flag = gtk.FALSE + self.upgrade_flag = False def getData(self): - if self.upgrade_flag == gtk.TRUE: + if self.upgrade_flag == True: self.kickstartData.setXconfig(None) self.kickstartData.setFirstboot(None) return @@ -200,11 +232,11 @@ if self.startxonboot_checkbutton.get_active(): buf = buf + " --startxonboot" - if not self.card_probe_check.get_active(): - #video card and monitor - temp, iter = self.card_view.get_selection().get_selected() - card = self.card_store.get_value(iter, 0) - buf = buf + " --card=\"" + card + "\"" + if not self.driver_probe_check.get_active(): + #video card driver and monitor + temp, iter = self.driver_view.get_selection().get_selected() + driver = self.driver_store.get_value(iter, 0) + buf = buf + " --driver=\"" + driver + "\"" #translate MB to KB buf = buf + " --videoram=" + self.ramsize_dict [self.videoram_combo.entry.get_text()] @@ -225,9 +257,9 @@ def fillData(self): if self.kickstartData.getSkipX(): - self.config_x_button.set_active(gtk.FALSE) + self.config_x_button.set_active(False) elif self.kickstartData.getXconfig(): - self.config_x_button.set_active(gtk.TRUE) + self.config_x_button.set_active(True) if self.kickstartData.getFirstboot() == "--enable": self.firstboot_optionmenu.set_history(1) @@ -246,14 +278,14 @@ opt = string.replace(opt, "=", " ") if opt == "--startxonboot": - self.startxonboot_checkbutton.set_active(gtk.TRUE) + self.startxonboot_checkbutton.set_active(True) if opt[:16] == "--defaultdesktop": value = opt[16:] if string.lower(value) == "gnome": - self.gnome_radiobutton.set_active(gtk.TRUE) + self.gnome_radiobutton.set_active(True) if string.lower(value) == "kde": - self.kde_radiobutton.set_active(gtk.TRUE) + self.kde_radiobutton.set_active(True) if opt[:7] == "--depth": value = opt[7:] @@ -263,19 +295,19 @@ value = opt[12:] self.resolution_combo.entry.set_text(string.strip(value)) - if opt[:6] == "--card": - value = string.strip(opt[6:]) - self.card_probe_check.set_active(gtk.FALSE) + if opt[:6] == "--driver": + value = opt[8:] + self.driver_probe_check.set_active(False) value = string.replace(value, '"', '') - iter = self.card_store.get_iter_first() + iter = self.driver_store.get_iter_first() while iter: - if self.card_store.get_value(iter, 0) == value: - path = self.card_store.get_path(iter) - self.card_view.set_cursor(path, self.card_col, gtk.FALSE) - self.card_view.scroll_to_cell(path, self.card_col, gtk.TRUE, 0.5, 0.5) - iter = self.card_store.iter_next(iter) + if self.driver_store.get_value(iter, 0) == value: + path = self.driver_store.get_path(iter) + self.driver_view.set_cursor(path, self.driver_col, False) + self.driver_view.scroll_to_cell(path, self.driver_col, True, 0.5, 0.5) + iter = self.driver_store.iter_next(iter) if opt[:10] == "--videoram": value = opt[10:] @@ -286,7 +318,7 @@ if opt[:9] == "--monitor": opt = string.strip(opt[9:]) - self.monitor_probe_check.set_active(gtk.FALSE) + self.monitor_probe_check.set_active(False) value = string.replace(value, '"', '') iter = self.monitor_store.get_iter_first() @@ -294,18 +326,18 @@ while iter: if self.monitor_store.get_value(iter, 0) == value: path = self.monitor_store.get_path(iter) - self.monitor_view.set_cursor(path, self.monitor_col, gtk.FALSE) - self.monitor_view.scroll_to_cell(path, self.monitor_col, gtk.TRUE, 0.5, 0.5) + self.monitor_view.set_cursor(path, self.monitor_col, False) + self.monitor_view.scroll_to_cell(path, self.monitor_col, True, 0.5, 0.5) iter = self.monitor_store.iter_next(iter) if opt[:7] == "--hsync": value = opt[7:] - self.sync_button.set_active(gtk.TRUE) + self.sync_button.set_active(True) self.hsync_entry.set_text(string.strip(value)) - self.monitor_probe_check.set_active(gtk.FALSE) + self.monitor_probe_check.set_active(False) if opt[:7] == "--vsync": value = opt[7:] - self.sync_button.set_active(gtk.TRUE) + self.sync_button.set_active(True) self.vsync_entry.set_text(string.strip(value)) - self.monitor_probe_check.set_active(gtk.FALSE) + self.monitor_probe_check.set_active(False) --- system-config-kickstart-2.5.20.orig/system-config-kickstart +++ system-config-kickstart-2.5.20/system-config-kickstart @@ -1,4 +1,4 @@ #!/bin/sh export PYTHONPATH=/usr/share/system-config-kickstart -/usr/bin/python2 /usr/share/system-config-kickstart/system-config-kickstart.py $* +/usr/bin/python /usr/share/system-config-kickstart/system-config-kickstart.py $* --- system-config-kickstart-2.5.20.orig/system-config-kickstart.desktop.in +++ system-config-kickstart-2.5.20/system-config-kickstart.desktop.in @@ -5,3 +5,5 @@ Exec=/usr/sbin/system-config-kickstart Type=Application Terminal=false +Categories=GNOME;Application;System;Utility +X-Ubuntu-Gettext-Domain=system-config-kickstart