diff -Nru /tmp/DrQC7qRSjo/restricted-manager-0.10/debian/changelog /tmp/2FV7luLnbU/restricted-manager-0.11/debian/changelog --- /tmp/DrQC7qRSjo/restricted-manager-0.10/debian/changelog 2007-03-16 19:16:50.000000000 +0100 +++ /tmp/2FV7luLnbU/restricted-manager-0.11/debian/changelog 2007-03-19 14:19:40.000000000 +0100 @@ -1,3 +1,30 @@ +restricted-manager (0.11) feisty; urgency=low + + * RestrictedManager/xorg_driver.py: Do not autodetect mouse and monitor when + reconfiguring xserver-xorg for a new driver. This avoids clobbering + manually added undetected resolutions. (LP: #93643) + * po/de.po: Synchronize with Rosetta. + * RestrictedManager/nvidia.py: Enable NoLogo by default. (LP: #93306) + * RestrictedManager/nvidia.py: Enable AddARGBVisuals to make Beryl work. + (LP: #93262) + * RestrictedManager/xorg_driver.py: Do not mangle xorg.conf if package + download/installation was aborted. (LP: #92573) + * RestrictedManager/nvidia.py: Fix passing of driver package name, so that + the legacy driver actually installs nvidia-glx-legacy. (LP: #92849, part + one) + * RestrictedManager/{xorg_driver,nvidia,fglrx}.py: Do not assume that the + kernel module name always matches the X.org driver module name + (nvidia_legacy vs. nvidia), but instead pass the X.org driver name as a + separate attribute. ((LP: #92849, part two) + * RestrictedManager/modalias.override: Add NV44A [GeForce 6200] (not covered + by nvidia_supported). (LP: #93209) + * RestrictedManager/core.py: When loading default or special handlers, check + that there is actually a kernel module behind. Otherwise we will display + handlers with overrides on platforms which do not actually provide those + modules. (LP: #93368) + + -- Martin Pitt Mon, 19 Mar 2007 14:12:55 +0100 + restricted-manager (0.10) feisty; urgency=low * RestrictedManager/{fglrx,nvidia}.py: Call dpkg-reconfigure xserver-xorg diff -Nru /tmp/DrQC7qRSjo/restricted-manager-0.10/po/de.po /tmp/2FV7luLnbU/restricted-manager-0.11/po/de.po --- /tmp/DrQC7qRSjo/restricted-manager-0.10/po/de.po 2007-03-13 19:30:15.000000000 +0100 +++ /tmp/2FV7luLnbU/restricted-manager-0.11/po/de.po 2007-03-19 11:09:17.000000000 +0100 @@ -7,13 +7,14 @@ msgstr "" "Project-Id-Version: restricted-manager 0.1\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-03-13 19:30+0100\n" -"PO-Revision-Date: 2007-02-05 17:57:CET\n" -"Last-Translator: Martin Pitt \n" +"POT-Creation-Date: 2007-03-16 19:43+0000\n" +"PO-Revision-Date: 2007-03-19 09:13+0000\n" +"Last-Translator: Sebastian Heinlein \n" "Language-Team: German \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" +"X-Rosetta-Export-Date: 2007-03-19 09:18+0000\n" #: ../RestrictedManager/manager.glade.h:1 msgid "Restricted Drivers" @@ -23,17 +24,17 @@ msgid "_Enable" msgstr "A_ktivieren" -#: ../RestrictedManager/core.py:384 +#: ../RestrictedManager/core.py:393 msgid "" "This driver is necessary to support the hardware, there is no free/open " "alternative.\n" "\n" "If this driver is not enabled, the hardware will not function in Ubuntu." msgstr "" -"Dieser Treiber ist nötig um die Hardware zu unterstützen. Es gibt keine " -"freie Alternative.\n" +"Dieser Treiber ist erforderlich, um Ihre Hardware zu unterstützen, da es zur " +"Zeit keine freie Alternative gibt.\n" "\n" -"Wenn dieser Treiber nicht eingeschaltet wird, kann Ihre Hardware in Ubuntu " +"Wenn dieser Treiber nicht eingeschaltet wird, wird Ihre Hardware in Ubuntu " "nicht funktionieren." #: ../RestrictedManager/ipw3945.py:11 @@ -44,18 +45,33 @@ "If this driver is not enabled, you will not be able to use your wireless " "card in Ubuntu." msgstr "" -"Obwohl der Treiber größtenteils frei ist, benötigt er ein Stück proprietärer " -"Softare, um die Kanäle zu bestimmen, die für die WLAN-Karte verwendet werden " -"dürfen.\n" +"Obwohl dieser Treiber größtenteils freie Software ist, benötigt er ein Stück " +"proprietärer Software, um die Kanäle zu bestimmen, die von Ihrer WLAN-Karte " +"verwendet werden dürfen.\n" "\n" -"Wenn dieser Treiber nicht aktiviert wird, werden Sie die WLAN-Karte nicht in " -"Ubuntu verwenden können." +"Wenn dieser Treiber nicht aktiviert wird, werden Sie Ihre WLAN-Karte in " +"Ubuntu nicht verwenden können." -#: ../RestrictedManager/nvidia.py:14 +#: ../RestrictedManager/xorg_driver.py:30 +msgid "" +"Your /etc/x11/xorg.conf has been manually changed. Sorry, restricted-manager " +"cannot be used with customized configurations.\n" +"\n" +"Call \"sudo dpkg-reconfigure -phigh xserver-xorg\"to switch back to " +"automatic configuration handling." +msgstr "" +"Die Konfigurationsdatei /etc/X11/xorg.conf wurde von Hand geändert. Leider " +"kann das Programm restricted-manager nicht mit individuell angepassten " +"Konfigurationen verwendet werden.\n" +"\n" +"Rufen Sie »sudo dpkg-reconfigure -phigh xserver-xorg« auf, um wieder zu " +"einer automatischen Konfiguration zu wechseln." + +#: ../RestrictedManager/nvidia.py:9 msgid "NVIDIA accelerated graphics driver" -msgstr "NVIDIA beschleunigter Grafiktreiber" +msgstr "beschleunigter Grafiktreiber von NVIDIA" -#: ../RestrictedManager/nvidia.py:15 +#: ../RestrictedManager/nvidia.py:10 msgid "" "This driver is required to fully utilise the 3D potential of NVIDIA graphics " "cards, as well as provide 2D acceleration of newer cards.\n" @@ -67,17 +83,31 @@ "such as some games." msgstr "" "Dieser Treiber wird zum vollen Ausschöpfen des 3D-Potentials von NVIDIA-" -"Grafikkarten benötigt und stellt auch 2D-Beschleunigung auf neueren Karten " -"bereit.\n" +"Grafikkarten benötigt und stellt auch 2D-Beschleunigung auf neueren " +"Grafikkarten bereit.\n" "\n" "Wenn Sie Desktop-Effekte aktivieren wollen, wird dieser Treiber benötigt.\n" "\n" "Wenn dieser Treiber nicht aktiviert wird, werden Sie Desktop-Effekte und " -"Software, die 3D-Beschleunigung braucht (wie Spiele) nicht nutzen können." +"Software, die 3D-Beschleunigung erfordert (zum Beispiel einige Spiele), " +"nicht nutzen können." -#: ../RestrictedManager/nvidia.py:115 +#: ../RestrictedManager/nvidia.py:27 msgid "NVIDIA accelerated graphics driver (legacy cards)" -msgstr "NVIDIA beschleunigter Grafiktreiber (alte Karten)" +msgstr "beschleunigter Grafiktreiber von NVIDIA (für ältere Grafikkarten)" + +#: ../RestrictedManager/fglrx.py:9 +msgid "ATI accelerated graphics driver" +msgstr "beschleunigter Grafiktreiber von ATI" + +#: ../RestrictedManager/fglrx.py:10 +msgid "" +"This driver is required to fully utilise the 3D potential of ATI graphics " +"cards, as well as provide 2D acceleration of newer cards." +msgstr "" +"Dieser Treiber wird zum vollen Ausschöpfen des 3D-Potentials von ATI-" +"Grafikkarten benötigt und stellt auch 2D-Beschleunigung auf neueren " +"Grafikkarten bereit." #: ../restricted-manager:65 msgid "Driver" @@ -95,49 +125,49 @@ msgid "_Disable" msgstr "_Deaktivieren" -#: ../restricted-manager:163 +#: ../restricted-manager:165 msgid "Disable the driver?" -msgstr "Treiber deaktivieren?" +msgstr "Soll der Treiber deaktiviert werden?" -#: ../restricted-manager:164 +#: ../restricted-manager:166 msgid "_Disable Driver" msgstr "Treiber _deaktivieren" -#: ../restricted-manager:166 +#: ../restricted-manager:168 msgid "Enable the driver?" -msgstr "Treiber aktivieren?" +msgstr "Soll der Treiber aktiviert werden?" -#: ../restricted-manager:167 +#: ../restricted-manager:169 msgid "_Enable Driver" msgstr "Treiber _aktivieren" -#: ../restricted-manager:186 +#: ../restricted-manager:188 msgid "New Restricted Drivers in use" -msgstr "Neue eingeschränkte Treiber in Benutzung" +msgstr "Neue eingeschränkte Treiber werden verwendet" -#: ../restricted-manager:193 +#: ../restricted-manager:195 msgid "New restricted drivers in use" -msgstr "Neue eingeschränkte Treiber in Benutzung" +msgstr "Neue eingeschränkte Treiber werden verwendet" -#: ../restricted-manager:195 +#: ../restricted-manager:197 msgid "" "In order for this computer to function properly, Ubuntu is using driver " "software that cannot be supported" msgstr "" -"Damit Ihr Computer ordnungsgemäß funktioniert, kann Ubuntu Treiber-Software " -"benutzen, die nicht unterstützt werden kann." +"Damit Ihr Computer ordnungsgemäß funktioniert, verwendet Ubuntu Treiber-" +"Software, die nicht unterstützt werden kann." -#: ../restricted-manager:197 +#: ../restricted-manager:199 msgid "Click on this icon to open the Restricted Drivers control panel." msgstr "" -"Klicken Sie auf dieses Icon um das Kontrollpanel für eingeschränkte Treiber " -"zu öffnen" +"Klicken Sie auf dieses Symbol, um die Einstellungen für eingeschränkte " +"Treiber zu öffnen." -#: ../restricted-manager:209 ../autostart/restricted-manager.desktop.in.h:2 +#: ../restricted-manager:211 ../autostart/restricted-manager.desktop.in.h:2 msgid "Restricted Drivers manager" -msgstr "Verwaltung von eingeschränkten Treibern" +msgstr "Verwaltung eingeschränkter Treiber" -#: ../restricted-manager:224 +#: ../restricted-manager:226 msgid "" "In order for this computer to function properly, Ubuntu may be using driver " "software that cannot be supported." @@ -145,53 +175,64 @@ "Damit Ihr Computer ordnungsgemäß funktioniert, kann Ubuntu Treiber-Software " "benutzen, die nicht unterstützt werden kann." -#: ../restricted-manager:225 +#: ../restricted-manager:227 msgid "" "Because the software is proprietary, it cannot easily be changed to fix any " "future problems." msgstr "" -"Weil diese Software proprietär ist, ist es problematisch, sie zu ändern um " -"zukünftige Probleme zu lösen." +"Da diese Software nicht frei ist, ist es nur erschwert möglich auftretende " +"Probleme und Fehler zu beheben." -#: ../restricted-manager:229 +#: ../restricted-manager:231 msgid "Must be run as member of admin group" msgstr "" +"Dieser Vorgang kann nur von Mitgliedern der Gruppe »admin« ausgeführt werden." -#: ../restricted-manager:267 +#: ../restricted-manager:272 msgid "Must be run as root" -msgstr "" +msgstr "Dieser Vorgang kann nur vom Benutzer »root« ausgeführt werden." -#: ../restricted-manager:274 +#: ../restricted-manager:279 #, c-format msgid "Unknown module: %s" -msgstr "" +msgstr "Unbekanntes Modul: %s" -#: ../restricted-manager:278 +#: ../restricted-manager:283 #, c-format msgid "%s is already enabled" -msgstr "" +msgstr "%s ist bereits aktiviert" -#: ../restricted-manager:309 +#: ../restricted-manager:328 +msgid "Your hardware does not need any restricted drivers." +msgstr "Ihre Hardware erfordert keine eingeschränkten Treiber." + +#: ../restricted-manager:340 msgid "Update restricted modules list" -msgstr "" +msgstr "Liste der eingeschränkten Treiber aktualisieren" -#: ../restricted-manager:310 +#: ../restricted-manager:343 msgid "Check for newly used restricted modules" -msgstr "" - -#: ../restricted-manager:311 -msgid "Enable the named module" -msgstr "" +msgstr "Auf neu benutzte eingeschränkte Treiber überprüfen" -#: ../restricted-manager:312 -msgid "Disable the named module" -msgstr "" +#: ../restricted-manager:346 +msgid "List available restricted modules" +msgstr "Verfügbare eingeschränkte Treiber auflisten" -#: ../restricted-manager:313 +#: ../restricted-manager:349 msgid "" "Check if there is a graphics driver available that supports composite and " "offer to enable it" msgstr "" +"Überprüfen, ob ein Grafiktreiber verfügbar ist, der die Composite-" +"Erweiterung unterstützt, und gegebenenfalls anbieten, diesen zu aktivieren" + +#: ../restricted-manager:352 +msgid "Enable the named module" +msgstr "Den angegebenen Treiber aktivieren" + +#: ../restricted-manager:355 +msgid "Disable the named module" +msgstr "Den angegebenen Treiber deaktivieren" #: ../applications/restricted-manager.desktop.in.h:1 #: ../autostart/restricted-manager.desktop.in.h:1 @@ -200,4 +241,4 @@ #: ../applications/restricted-manager.desktop.in.h:2 msgid "Restricted Drivers Manager" -msgstr "Verwaltung von eingeschränkten Treibern" +msgstr "Verwaltung von eingeschränkten Treibern" \ Kein Zeilenumbruch am Dateiende. diff -Nru /tmp/DrQC7qRSjo/restricted-manager-0.10/RestrictedManager/core.py /tmp/2FV7luLnbU/restricted-manager-0.11/RestrictedManager/core.py --- /tmp/DrQC7qRSjo/restricted-manager-0.10/RestrictedManager/core.py 2007-03-16 19:02:02.000000000 +0100 +++ /tmp/2FV7luLnbU/restricted-manager-0.11/RestrictedManager/core.py 2007-03-19 14:12:04.000000000 +0100 @@ -48,6 +48,8 @@ """Return the information about the module as a dict.""" proc = subprocess.Popen(("modinfo", module), stdout=subprocess.PIPE) (stdout, stderr) = proc.communicate() + if proc.returncode != 0: + return None modinfo = {} for line in stdout.split("\n"): @@ -136,6 +138,8 @@ module.replace("-", "_") modinfo = get_modinfo(module_filename) + if modinfo is None: + continue license = modinfo.get("license", ["unknown"])[0] gplok = is_license_gpl_compatible(license) @@ -313,16 +317,23 @@ for attr in dir(pymod): obj = getattr(pymod, attr) if hasattr(obj, "is_handler"): - specials[obj.name] = obj(obj.name) + h = obj(obj.name) + if h._modinfo: + specials[obj.name] = obj(obj.name) return specials def get_handler(specials, module): """Return the handler for the module.""" if module in specials: - return specials[module] + h = specials[module] else: - return DefaultHandler(module) + h = DefaultHandler(module) + + if h._modinfo: + return h + else: + return None def get_handlers(): """Return a dictionary of restricted driver handlers.""" @@ -333,7 +344,8 @@ handlers = {} for module in hardware: handler = get_handler(specials, module) - handlers[handler.name] = handler + if handler: + handlers[handler.name] = handler for module, handler in specials.items(): if module not in restricted: handlers[module] = handler diff -Nru /tmp/DrQC7qRSjo/restricted-manager-0.10/RestrictedManager/fglrx.py /tmp/2FV7luLnbU/restricted-manager-0.11/RestrictedManager/fglrx.py --- /tmp/DrQC7qRSjo/restricted-manager-0.10/RestrictedManager/fglrx.py 2007-03-16 17:45:15.000000000 +0100 +++ /tmp/2FV7luLnbU/restricted-manager-0.11/RestrictedManager/fglrx.py 2007-03-19 13:05:59.000000000 +0100 @@ -12,6 +12,6 @@ "acceleration of newer cards.") def __init__(self, module): - XorgDriverHandler.__init__(self, module, "xorg-driver-fglrx", "", - "ati", ["glx"], []) + XorgDriverHandler.__init__(self, module, "xorg-driver-fglrx", "fglrx", + "", "ati", ["glx"], []) diff -Nru /tmp/DrQC7qRSjo/restricted-manager-0.10/RestrictedManager/modalias.append /tmp/2FV7luLnbU/restricted-manager-0.11/RestrictedManager/modalias.append --- /tmp/DrQC7qRSjo/restricted-manager-0.10/RestrictedManager/modalias.append 2007-03-16 17:06:16.000000000 +0100 +++ /tmp/2FV7luLnbU/restricted-manager-0.11/RestrictedManager/modalias.append 2007-03-19 13:22:55.000000000 +0100 @@ -230,3 +230,7 @@ alias pci:v0000168Cd00000012sv*sd*bc*sc*i* ath_hal alias pci:v0000168Cd00000007sv*sd*bc*sc*i* ath_hal +# nVidia cards which are not covered by nvidia_supported +# NV44A [GeForce 6200] (rev a1) +alias pci:v000010DEd00000221sv*sd*bc*sc*i* nvidia + diff -Nru /tmp/DrQC7qRSjo/restricted-manager-0.10/RestrictedManager/nvidia.py /tmp/2FV7luLnbU/restricted-manager-0.11/RestrictedManager/nvidia.py --- /tmp/DrQC7qRSjo/restricted-manager-0.10/RestrictedManager/nvidia.py 2007-03-16 17:54:41.000000000 +0100 +++ /tmp/2FV7luLnbU/restricted-manager-0.11/RestrictedManager/nvidia.py 2007-03-19 13:07:24.000000000 +0100 @@ -16,16 +16,17 @@ "enable desktop effects and will not be able to run software " "that requires 3D acceleration, such as some games.") - def __init__(self, module, extra_options = "AddARGBGLXVisuals True"): - XorgDriverHandler.__init__(self, module, "nvidia-glx", extra_options, - "nv", ["glx"], ["dri", "GLcore"]) + def __init__(self, module, + driver_package = "nvidia-glx", + extra_options = "AddARGBVisuals True\\nAddARGBGLXVisuals True\\nNoLogo True"): + XorgDriverHandler.__init__(self, module, driver_package, "nvidia", + extra_options, "nv", ["glx"], ["dri", "GLcore"]) class LegacyNvidiaDriver(NvidiaDriver): is_handler = True name = "nvidia_legacy" description = _("NVIDIA accelerated graphics driver (legacy cards)") - driver_package = 'nvidia-glx-legacy' def __init__(self, module): - NvidiaDriver.__init__(self, module, "") + NvidiaDriver.__init__(self, module, "nvidia-glx-legacy", "") diff -Nru /tmp/DrQC7qRSjo/restricted-manager-0.10/RestrictedManager/xorg_driver.py /tmp/2FV7luLnbU/restricted-manager-0.11/RestrictedManager/xorg_driver.py --- /tmp/DrQC7qRSjo/restricted-manager-0.10/RestrictedManager/xorg_driver.py 2007-03-16 19:07:56.000000000 +0100 +++ /tmp/2FV7luLnbU/restricted-manager-0.11/RestrictedManager/xorg_driver.py 2007-03-19 13:08:32.000000000 +0100 @@ -9,13 +9,14 @@ class XorgDriverHandler(DefaultHandler): """Abstract class for a restricted X.org graphics driver.""" - def __init__(self, module, driver_package, extra_conf_options, free_driver, - add_modules, remove_modules): + def __init__(self, module, driver_package, xorg_driver, extra_conf_options, + free_driver, add_modules, remove_modules): """Build graphics driver handler for a particular concrete kernel module.""" DefaultHandler.__init__(self, module) self.driver_package = driver_package + self.xorg_driver = xorg_driver self.extra_xorg_driver_options = extra_conf_options self.free_driver = free_driver self.add_modules = add_modules @@ -41,7 +42,7 @@ driver = dc.get("xserver-xorg/config/device/driver") dc.shutdown() - return driver == self.name and self.package_installed(self.driver_package) + return driver == self.xorg_driver and self.package_installed(self.driver_package) def enable(self): """Enable the module.""" @@ -51,6 +52,10 @@ if not self.package_installed(self.driver_package): self.install_package(self.driver_package) + # do not mangle xorg.conf if package installation has been aborted + if not self.package_installed(self.driver_package): + return + dc = debconf.DebconfCommunicator("restricted-manager") dc.capb('escape') @@ -58,12 +63,19 @@ cur_driver = dc.get("xserver-xorg/config/device/driver") open(os.path.join(MANAGER_ROOT, self.name + ".olddriver"), "w").write(cur_driver) - dc.set("xserver-xorg/config/device/driver", self.name) + dc.set("xserver-xorg/config/device/driver", self.xorg_driver) dc.fset("xserver-xorg/config/device/driver", "seen", "true") - # don't let xserver-xorg clobber our selected driver + # don't let xserver-xorg clobber our selected driver and previous + # settings dc.set("xserver-xorg/autodetect_video_card", "false") dc.fset("xserver-xorg/autodetect_video_card", "seen", "true") + auto_monitor = dc.get("xserver-xorg/autodetect_monitor") + dc.set("xserver-xorg/autodetect_monitor", "false") + dc.fset("xserver-xorg/autodetect_monitor", "seen", "true") + auto_mouse = dc.get("xserver-xorg/autodetect_mouse") + dc.set("xserver-xorg/autodetect_mouse", "false") + dc.fset("xserver-xorg/autodetect_mouse", "seen", "true") modules = dc.get("xserver-xorg/config/modules").split(", ") for m in self.remove_modules: @@ -94,6 +106,12 @@ subprocess.call(['dpkg-reconfigure', '-fnoninteractive', '-pcritical', 'xserver-xorg']) + # restore our clobbered autodetection values + dc = debconf.DebconfCommunicator("restricted-manager") + dc.set("xserver-xorg/autodetect_monitor", auto_monitor) + dc.set("xserver-xorg/autodetect_mouse", auto_mouse) + dc.shutdown() + print >> log, '*** Enabling', self.name, ': debconf dump after dpkg-reconfigure:' log.flush() subprocess.call(['grep', '-A', '5', '^Name: xserver-xorg', @@ -130,6 +148,12 @@ # let xserver-xorg override our free driver if it wants to dc.set("xserver-xorg/autodetect_video_card", "true") dc.fset("xserver-xorg/autodetect_video_card", "seen", "true") + auto_monitor = dc.get("xserver-xorg/autodetect_monitor") + dc.set("xserver-xorg/autodetect_monitor", "false") + dc.fset("xserver-xorg/autodetect_monitor", "seen", "true") + auto_mouse = dc.get("xserver-xorg/autodetect_mouse") + dc.set("xserver-xorg/autodetect_mouse", "false") + dc.fset("xserver-xorg/autodetect_mouse", "seen", "true") modules = dc.get("xserver-xorg/config/modules").split(", ") for m in self.add_modules: @@ -148,4 +172,10 @@ subprocess.call(['dpkg-reconfigure', '-fnoninteractive', '-pcritical', 'xserver-xorg']) + # restore our clobbered autodetection values + dc = debconf.DebconfCommunicator("restricted-manager") + dc.set("xserver-xorg/autodetect_monitor", auto_monitor) + dc.set("xserver-xorg/autodetect_mouse", auto_mouse) + dc.shutdown() + notify_reboot_required() Binärdateien /tmp/DrQC7qRSjo/restricted-manager-0.10/.swo and /tmp/2FV7luLnbU/restricted-manager-0.11/.swo sind verschieden.