Univention Bugzilla – Attachment 3830 Details for
Bug 22898
UMC2: Online-Updates
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Behebt einige angesprochene Mängel
univention-updater-2011_11_18.patch (text/plain), 23.78 KB, created by
Frank Greif
on 2011-11-18 16:41 CET
(
hide
)
Description:
Behebt einige angesprochene Mängel
Filename:
MIME Type:
Creator:
Frank Greif
Created:
2011-11-18 16:41 CET
Size:
23.78 KB
patch
obsolete
>Index: umc/python/updater/de.po >=================================================================== >--- umc/python/updater/de.po (revision 5093) >+++ umc/python/updater/de.po (working copy) >@@ -3,7 +3,7 @@ > msgstr "" > "Project-Id-Version: univention-management-console-module-updater\n" > "Report-Msgid-Bugs-To: packages@univention.de\n" >-"POT-Creation-Date: 2011-10-29 23:07+0200\n" >+"POT-Creation-Date: 2011-11-18 11:53+0100\n" > "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" > "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" > "Language-Team: LANGUAGE <LL@li.org>\n" >@@ -12,25 +12,25 @@ > "Content-Type: text/plain; charset=UTF-8\n" > "Content-Transfer-Encoding: 8bit\n" > >-#: umc/python/updater/__init__.py:750 >+#: umc/python/updater/__init__.py:751 > #, python-format > msgid "At least one out of %s must be selected." > msgstr "Wenigstens eine der %s Kategorien muà ausgewählt sein." > >-#: umc/python/updater/__init__.py:1262 >+#: umc/python/updater/__init__.py:1274 > msgid "Component name is not allowed to be empty." > msgstr "Der Komponentenname muà angegeben werden." > >-#: umc/python/updater/__init__.py:756 >+#: umc/python/updater/__init__.py:757 > #, python-format > msgid "ERROR: %s" > msgstr "FEHLER: %s" > >-#: umc/python/updater/__init__.py:744 >+#: umc/python/updater/__init__.py:745 > msgid "Empty server name not allowed" > msgstr "Der Servername muà angegeben werden." > >-#: umc/python/updater/__init__.py:1267 >+#: umc/python/updater/__init__.py:1279 > #, python-format > msgid "Illegal character(s) in component name: '%s'" > msgstr "Unzulässige Zeichen (%s) im Komponentennamen." >@@ -57,7 +57,7 @@ > msgid "Perform release update up to version '%s'" > msgstr "Release auf Version '%s' aktualisieren" > >-#: umc/python/updater/__init__.py:1276 >+#: umc/python/updater/__init__.py:1288 > msgid "There is already a component with this name" > msgstr "Es gibt bereits eine Komponente mit diesem Namen" > >@@ -65,6 +65,6 @@ > msgid "latest version" > msgstr "neueste Version" > >-#: umc/python/updater/__init__.py:512 >+#: umc/python/updater/__init__.py:513 > msgid "unknown" > msgstr "" >Index: umc/python/updater/__init__.py >=================================================================== >--- umc/python/updater/__init__.py (revision 5093) >+++ umc/python/updater/__init__.py (working copy) >@@ -1,4 +1,4 @@ >-#!/usr/bin/python2.6 >+#!/ucr/bin/python2.6 > # -*- coding: utf-8 -*- > # > # Univention Management Console >@@ -406,6 +406,7 @@ > MODULE.info(" << %s" % s) > # ----------------------------------- > >+ > # umc.widgets.Form wraps the real data into an array: > # > # [ >@@ -882,7 +883,7 @@ > result = self._logstamp(fname) > else: > # don't read complete file if we have an 'ignore' count >- if (count == 0) and (self._current_job['lines']): >+ if (count == 0) and ('lines' in self._current_job) and (self._current_job['lines']): > count = -self._current_job['lines'] > result = self._logview(fname, count) > >@@ -1036,6 +1037,14 @@ > MODULE.warn(result['message']) > self.finished(request.id,result) > return >+ >+ # initial values of current job >+ self._current_job = { >+ 'job': subject, >+ 'detail': detail, >+ 'logfile': '', >+ 'lines': 0 >+ } > > # We want to limit the amount of logfile data being transferred > # to the frontend. So we remember the line count of the associated >@@ -1052,6 +1061,7 @@ > if file != None: > file.close() > self._current_job['lines'] = count >+ self._current_job['logfile'] = fname > > try: > # Assemble the command line, now somewhat complicated: >@@ -1062,7 +1072,9 @@ > # (4) if the subject is about 'component' we must get the 'defaultpackages' > # entry from the UCR tuple named by 'detail' and use that. > # (5) if not, we can format the 'detail' field into the command. >+ # > # cmd = '%s' % INSTALLERS[subject]['command'] # I need a copy of this string! >+ # > cmd = INSTALLERS[subject]['command'] > if cmd.find('%') != -1: > if subject == 'component': >@@ -1369,9 +1381,13 @@ > and how long it is running. > """ > started = int(time()) >+ logfile = self._current_job['logfile'] >+ lines = self._current_job['lines'] > script = ''' > #:started: %s > #:detail: %s >+#:logfile: %s >+#:lines: %s > #:command: %s > dpkg-statoverride --add root root 0644 /usr/sbin/univention-management-console-web-server > dpkg-statoverride --add root root 0644 /usr/sbin/univention-management-console-server >@@ -1382,7 +1398,7 @@ > dpkg-statoverride --remove /usr/sbin/univention-management-console-server > dpkg-statoverride --remove /usr/sbin/apache2 > chmod +x /usr/sbin/univention-management-console-server /usr/sbin/univention-management-console-web-server /usr/sbin/apache2 >-''' % (started,detail,command,command) >+''' % (started,detail,logfile,lines,command,command) > p1 = subprocess.Popen( [ 'LC_ALL=C at now', ], stdin = subprocess.PIPE, stdout = subprocess.PIPE, stderr = subprocess.PIPE, shell = True ) > (stdout,stderr) = p1.communicate( script ) > >@@ -1419,7 +1435,13 @@ > for line in atout.split("\n"): > match = re.search('^\#\:([a-z]+)\:\s(.*)$',line) > if (match): >- self._current_job[match.group(1)] = match.group(2) >+ var = match.group(1) >+ val = match.group(2) >+ # restore numeric strings into numbers! >+ if val.isdigit(): >+ self._current_job[var] = int(val) >+ else: >+ self._current_job[var] = val > return inst > return '' > >Index: umc/js/_updater/ProgressPage.js >=================================================================== >--- umc/js/_updater/ProgressPage.js (revision 5093) >+++ umc/js/_updater/ProgressPage.js (working copy) >@@ -58,22 +58,22 @@ > > _job_key: '', // the key of the currently running job > >- postMixInProperties: function() { >- this.inherited(arguments); >+ postMixInProperties: function() { >+ >+ this.inherited(arguments); >+ >+ // If I don't do that -> the page will switch 'show module help description' off >+ dojo.mixin(this,{ >+ helpText: ' ' >+ }); >+ }, > >- dojo.mixin(this, { >- title: this._("Update in progress"), >- headerText: this._("Univention Updater is working"), >- helpText: this._("As long as the Univention Updater is updating your system, you're not allowed to manage settings or components. You may watch the progress, or close the module.") >- }); >- }, >- > buildRendering: function() { > > this.inherited(arguments); > > this._pane = new umc.widgets.ExpandingTitlePane({ >- title: this._("Progress information") >+ title: this._("Log file view") > }); > this.addChild(this._pane); > >@@ -110,7 +110,6 @@ > // logic will revert to the first tab of our tab set. > if (this._reboot_required) > { >- //alert("Resetting return tab to 'Updates'"); > this.last_tab = null; > } > if (this.last_tab) >@@ -188,7 +187,6 @@ > } > msg = msg + "<br/> <br/>"; > >- msg += this._statusfile_data(data.result); > > // -------------- DEBUG ------------------ > // for (var v in this._last_job) >@@ -222,43 +220,6 @@ > } > }, > >- // takes a status structure as returned from the 'updater/installer/status' call, >- // extracts the fields that came directly from the status file (if any) and >- // formats them into a one-liner. Returns an empty string if nothing matches. >- // >- // FOR TEST: now includes the 'reboot' flag if it is present. >- _statusfile_data: function(data) { >- >- var txt = ''; >- >- for (var f in data) >- { >- // These fields are wrapped into underscores >- if ((f.substr(0,1) == '_') && (f.substr(-1,1) == '_')) >- { >- if (txt.length) { txt += ','; } >- txt += ' ' + f.substr(1,f.length-2) + "=" + data[f]; >- } >- } >- >- if (data['reboot']) >- { >- txt += ' [REBOOT] '; >- if (! this._reboot_required) // not set or not true >- { >- //alert("Setting REBOOT from _statusfile_data"); >- this._reboot_required = true; >- } >- } >- >- if (txt != '') >- { >- txt = "(" + this._("Current status file content") + ":" + txt + ")<br/>"; >- } >- >- return txt; >- }, >- > // queries job status. As long as we know a job key -> ask for full > // details. The handler _process_job_status() handles this gracefully. > _query_job_status: function() { >@@ -316,7 +277,6 @@ > msg = msg + this._("You may return to the overview by clicking the 'back' button now."); > msg = msg + "<br/> <br/>"; > >- msg += this._statusfile_data(this._last_job); > > // -------------- DEBUG ------------------ > // for (var v in this._last_job) >@@ -327,24 +287,16 @@ > > this._head.set('content',msg); > >- this._log.stopWatching(); // now log is freely scrollable manually >- >- //alert("Watching is finished, job is '" + this._job_key + "'"); >- >- if ((this._last_job) && (this._last_job['reboot'])) >+ // set headers according to the outcome >+ var status = 'success'; >+ if (typeof(this._last_job['_status_'] == 'undefined') || this._last_job['_status_'] != 'SUCCESS') > { >- var reb = this._last_job['reboot']; >- if (typeof(reb) == 'string') >- { >- reb = (reb == 'true'); >- } >- if ((! this._reboot_required) || (reb != this._reboot_required)) >- { >- //alert("setting REBOOT from _allow_close()"); >- this._reboot_required = reb; >- } >+ status = 'failed'; > } >+ this._switch_headings(status); > >+ this._log.stopWatching(); // now log is freely scrollable manually >+ > this._last_job = null; // can be deleted, but this._job_key should be retained! > } > } >@@ -393,6 +345,50 @@ > > this.inherited(arguments); > this._interval = 0; >+ }, >+ >+ // on switch to this page: set initial headings. >+ onShow: function() { >+ this._switch_headings('running'); >+ }, >+ >+ // internal function that switches any heading variables of >+ // our current page, according to the retrieved job status >+ _switch_headings: function(status) { >+ >+ // avoid doing that repeatedly >+ if (status == this._last_heading_status) >+ { >+ return; >+ } >+ >+ this._last_heading_status = status; >+ >+ var headings = { >+ 'running': { >+ title: this._("Update in progress"), >+ headerText: this._("Univention Updater is working"), >+ helpText: this._("As long as the Univention Updater is updating your system, you're not allowed to manage settings or components. You may watch the progress, or close the module.") >+ }, >+ 'success': { >+ title: this._("Update finished"), >+ headerText: this._("Univention Updater job completed"), >+ helpText: this._("Univention Updater has successfully finished the current job. You may read through the log file. If you're finished you may press the 'back to overview' button to close this view.") >+ }, >+ 'failed': { >+ title: this._("Update failed"), >+ headerText: this._("Univention Updater job failed"), >+ helpText: this._("Univention Updater could not successfully complete the current job. The log file should show the cause of the failure. If you're finished examining the log file you may press the 'back to overview' button to close this view.") >+ } >+ }; >+ >+ var info = headings[status]; >+ for (var v in info) >+ { >+ this.set(v,info[v]); >+ } >+ // this.layout(); >+ > } > > }); >Index: umc/js/_updater/ComponentsPage.js >=================================================================== >--- umc/js/_updater/ComponentsPage.js (revision 5093) >+++ umc/js/_updater/ComponentsPage.js (working copy) >@@ -313,6 +313,12 @@ > // removes a component > _delete_components: function(ids) { > >+ // multiAction callback is fired even if nothing >+ // is selected? >+ if (! ids.length) >+ { >+ return; >+ } > var msg = dojo.replace(this._("Are you sure you want to delete the following components: [{ids}]"),{ids: ids}); > umc.dialog.confirm(msg, > [ >Index: umc/js/_updater/DetailsPage.js >=================================================================== >--- umc/js/_updater/DetailsPage.js (revision 5093) >+++ umc/js/_updater/DetailsPage.js (working copy) >@@ -69,8 +69,7 @@ > 'default': true, > label: this._("Apply changes"), > onClick: dojo.hitch(this, function() { >- this.standby(true); >- this._form.save(this._save_options); >+ this._form.onSubmit(); > }) > } > ] >@@ -131,7 +130,7 @@ > type: 'TextBox', > name: 'version', > label: this._("Version"), >- regExp: '^((([0-9]+\.[0-9]+|current),)*([0-9]+\.[0-9]+|current))?$' >+ regExp: '^((([0-9]+\\.[0-9]+|current),)*([0-9]+\\.[0-9]+|current))?$' > } > ]; > >@@ -161,7 +160,14 @@ > widgets: widgets, > layout: layout, > //buttons: buttons, >- moduleStore: umc.store.getModuleStore('name','updater/components') >+ moduleStore: umc.store.getModuleStore('name','updater/components'), >+ // This is (a) the submit handler of the form, but >+ // also (b) the onClick handler of the 'Apply' button >+ onSubmit: function() { >+ alert('onSubmit called'); >+ this._form.standby(true); >+ this._form.save(this._save_options); >+ } > }); > this.addChild(this._form); > >@@ -233,7 +239,6 @@ > > // return to grid view > closeDetail: function() { >- } >- >+ } > > }); >Index: umc/js/de.po >=================================================================== >--- umc/js/de.po (revision 5093) >+++ umc/js/de.po (working copy) >@@ -3,7 +3,7 @@ > msgstr "" > "Project-Id-Version: univention-management-console-module-updater\n" > "Report-Msgid-Bugs-To: packages@univention.de\n" >-"POT-Creation-Date: 2011-11-16 04:14+0100\n" >+"POT-Creation-Date: 2011-11-18 15:57+0100\n" > "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" > "Last-Translator: Frank Greif <fg@it25.de>\n" > "Language-Team: LANGUAGE <LL@li.org>\n" >@@ -16,7 +16,7 @@ > msgid "... loading data ..." > msgstr "... Daten werden geladen ..." > >-#: umc/js/_updater/ProgressPage.js:374 >+#: umc/js/_updater/ProgressPage.js:326 > msgid "... loading job data ..." > msgstr "... Daten werden geladen ..." > >@@ -33,7 +33,7 @@ > msgid "Add" > msgstr "Neu" > >-#: umc/js/_updater/DetailsPage.js:196 >+#: umc/js/_updater/DetailsPage.js:202 > msgid "Add a new component" > msgstr "Neue Komponente hinzufügen" > >@@ -45,7 +45,7 @@ > msgid "Additional components" > msgstr "Zusätzliche Komponenten" > >-#: umc/js/_updater/DetailsPage.js:150 >+#: umc/js/_updater/DetailsPage.js:149 > msgid "Advanced settings" > msgstr "Weitere Einstellungen" > >@@ -57,15 +57,15 @@ > "Sie können die Management Console jetzt auch schlieÃen, und später wieder " > "öffnen." > >-#: umc/js/_updater/SettingsPage.js:62 umc/js/_updater/DetailsPage.js:70 >+#: umc/js/_updater/DetailsPage.js:70 umc/js/_updater/SettingsPage.js:62 > msgid "Apply changes" > msgstr "Ãnderungen anwenden" > >-#: umc/js/_updater/ComponentsPage.js:316 >+#: umc/js/_updater/ComponentsPage.js:322 > msgid "Are you sure you want to delete the following components: [{ids}]" > msgstr "Möchten Sie wirklich die folgenden Komponenten löschen: [{ids}]" > >-#: umc/js/_updater/ProgressPage.js:67 >+#: umc/js/_updater/ProgressPage.js:371 > msgid "" > "As long as the Univention Updater is updating your system, you're not " > "allowed to manage settings or components. You may watch the progress, or " >@@ -87,12 +87,12 @@ > msgid "Available system updates" > msgstr "Verfügbare System-Updates" > >-#: umc/js/_updater/DetailsPage.js:141 >+#: umc/js/_updater/DetailsPage.js:140 > msgid "Basic settings" > msgstr "Allgemeine Einstellungen" > > #: umc/js/updater.js:303 umc/js/updater.js:380 >-#: umc/js/_updater/ComponentsPage.js:322 >+#: umc/js/_updater/ComponentsPage.js:328 > msgid "Cancel" > msgstr "Abbrechen" > >@@ -100,11 +100,11 @@ > msgid "Check for package updates" > msgstr "Paket-Aktualisierungen prüfen" > >-#: umc/js/_updater/DetailsPage.js:93 umc/js/_updater/ComponentsPage.js:183 >+#: umc/js/_updater/ComponentsPage.js:183 umc/js/_updater/DetailsPage.js:92 > msgid "Component Name" > msgstr "Name der Komponente" > >-#: umc/js/_updater/DetailsPage.js:49 umc/js/_updater/ComponentsPage.js:50 >+#: umc/js/_updater/ComponentsPage.js:50 umc/js/_updater/DetailsPage.js:49 > msgid "Components" > msgstr "Komponenten" > >@@ -118,10 +118,6 @@ > "Die Verbindung zum Server wurde unterbrochen. Ein erneuter Verbindungsaufbau " > "wird gestartet." > >-#: umc/js/_updater/ProgressPage.js:256 >-msgid "Current status file content" >-msgstr "Inhalt der Statusdatei" >- > #: umc/js/_updater/ComponentsPage.js:167 > msgid "Delete" > msgstr "Löschen" >@@ -130,11 +126,11 @@ > msgid "Delete the selected component definition" > msgstr "Diese Komponente löschen" > >-#: umc/js/_updater/ComponentsPage.js:325 >+#: umc/js/_updater/ComponentsPage.js:331 > msgid "Delete!" > msgstr "Löschen!" > >-#: umc/js/_updater/DetailsPage.js:98 >+#: umc/js/_updater/DetailsPage.js:97 > msgid "Description" > msgstr "Beschreibung" > >@@ -193,7 +189,7 @@ > msgid "Edit" > msgstr "Bearbeiten" > >-#: umc/js/_updater/DetailsPage.js:219 >+#: umc/js/_updater/DetailsPage.js:225 > msgid "Edit component details [{component}]" > msgstr "Komponenten-Details [{component}] bearbeiten" > >@@ -205,7 +201,7 @@ > msgid "Enable" > msgstr "Aktivieren" > >-#: umc/js/_updater/DetailsPage.js:88 >+#: umc/js/_updater/DetailsPage.js:87 > msgid "Enable this component" > msgstr "Diese Komponente aktivieren" > >@@ -273,10 +269,14 @@ > "Tests in einer Testumgebung und die Erstellung einer Sicherung des Systems " > "werden ebenfalls empfohlen." > >-#: umc/js/_updater/ProgressPage.js:314 >+#: umc/js/_updater/ProgressPage.js:275 > msgid "It took {elapsed} to complete.<br/>" > msgstr "Er hat {elapsed} benötigt.<br/>" > >+#: umc/js/_updater/ProgressPage.js:76 >+msgid "Log file view" >+msgstr "Protokoll" >+ > #: umc/js/updater.js:361 > msgid "Logfiles can be found in the directory /var/log/univention/." > msgstr "Logdateien können im Verzeichnis /var/log/univention/ gefunden werden." >@@ -329,7 +329,7 @@ > msgid "Package updates" > msgstr "Paketaktualisierungen" > >-#: umc/js/_updater/DetailsPage.js:128 >+#: umc/js/_updater/DetailsPage.js:127 > msgid "Password" > msgstr "Passwort" > >@@ -346,14 +346,10 @@ > "jeweiligen Update in dem <a href='http://forum.univention.de'>Univention " > "Forum</a>." > >-#: umc/js/_updater/DetailsPage.js:197 >+#: umc/js/_updater/DetailsPage.js:203 > msgid "Please enter the details for the new component." > msgstr "Bitte geben Sie die Details für die neue Komponente ein." > >-#: umc/js/_updater/ProgressPage.js:76 >-msgid "Progress information" >-msgstr "Aktueller Vorgang" >- > #: umc/js/_updater/UpdatesPage.js:282 > msgid "Reboot" > msgstr "Neu starten" >@@ -378,22 +374,14 @@ > msgid "Release updates" > msgstr "Release-Aktualisierungen" > >-#: umc/js/_updater/DetailsPage.js:108 >+#: umc/js/_updater/DetailsPage.js:107 umc/js/_updater/SettingsPage.js:86 > msgid "Repository prefix" >-msgstr "Repository-Prefix" >+msgstr "Repository prefix" > >-#: umc/js/_updater/DetailsPage.js:103 >+#: umc/js/_updater/DetailsPage.js:102 umc/js/_updater/SettingsPage.js:81 > msgid "Repository server" >-msgstr "Repository-Server" >+msgstr "Repository server" > >-#: umc/js/_updater/SettingsPage.js:86 >-msgid "Repository prefix" >-msgstr "Repository-Prefix" >- >-#: umc/js/_updater/SettingsPage.js:81 >-msgid "Repository server" >-msgstr "Repository-Server" >- > #: umc/js/_updater/SettingsPage.js:54 > msgid "Reset" > msgstr "Zurücksetzen" >@@ -435,7 +423,7 @@ > "Verbindung wieder aufzunehmen. Wahrscheinlich müssen Sie sich neu anmelden, " > "wenn die Verbindung wieder hergestellt ist." > >-#: umc/js/_updater/ProgressPage.js:311 >+#: umc/js/_updater/ProgressPage.js:272 > msgid "The current job (<b>{label}</b>) is now finished.<br/>" > msgstr "Der aktuelle Vorgang (<b>{label}</b>) ist jetzt beendet.<br/>" > >@@ -455,7 +443,7 @@ > "Der Univention Updater konnte nicht gestartet werden [Fehler {status}]: " > "{message}" > >-#: umc/js/_updater/ProgressPage.js:183 >+#: umc/js/_updater/ProgressPage.js:182 > msgid "The job <b>{label}</b> (started {elapsed} ago) is currently running." > msgstr "" > "Momentan läuft der Aktualisierungsauftrag <b>{label}</b> (gestartet vor " >@@ -514,10 +502,36 @@ > msgid "Thus, updates shouldn't be installed on a live system. " > msgstr "Deshalb sollten Sie das Update nicht im laufenden Betrieb einspielen. " > >-#: umc/js/_updater/ProgressPage.js:66 >+#: umc/js/_updater/ProgressPage.js:381 >+msgid "" >+"Univention Updater could not successfully complete the current job. The log " >+"file should show the cause of the failure. If you're finished examining the " >+"log file you may press the 'back to overview' button to close this view." >+msgstr "" >+"Univention Updater konnte den aktuellen Auftrag nicht erfolgreich " >+"abschlieÃen. Im Protokoll sollten Sie die Ursache des Fehlschlages sehen " >+"können. Der Knopf 'zurück zur Ãbersicht' schlieÃt die aktuelle Ansicht." >+ >+#: umc/js/_updater/ProgressPage.js:376 >+msgid "" >+"Univention Updater has successfully finished the current job. You may read " >+"through the log file. If you're finished you may press the 'back to " >+"overview' button to close this view." >+msgstr "" >+"Univention Updater hat den aktuellen Auftrag erfolgreich abgeschlossen. " >+ >+#: umc/js/_updater/ProgressPage.js:370 > msgid "Univention Updater is working" > msgstr "Univention Updater ist gerade aktiv" > >+#: umc/js/_updater/ProgressPage.js:375 >+msgid "Univention Updater job completed" >+msgstr "Univention Updater Auftrag abgeschlossen" >+ >+#: umc/js/_updater/ProgressPage.js:380 >+msgid "Univention Updater job failed" >+msgstr "Univention Updater Auftrag ist fehlgeschlagen" >+ > #: umc/js/_updater/ComponentsPage.js:218 > msgid "Unknown" > msgstr "Unbekannt" >@@ -526,7 +540,15 @@ > msgid "Update availability could not be checked." > msgstr "Verfügbarkeit von Aktualisierungen konnte nicht geprüft werden." > >-#: umc/js/_updater/ProgressPage.js:65 >+#: umc/js/_updater/ProgressPage.js:379 >+msgid "Update failed" >+msgstr "Aktualisierung fehlgeschlagen" >+ >+#: umc/js/_updater/ProgressPage.js:374 >+msgid "Update finished" >+msgstr "Aktualisierung abgeschlossen" >+ >+#: umc/js/_updater/ProgressPage.js:369 > msgid "Update in progress" > msgstr "Aktualisierung läuft" > >@@ -542,19 +564,19 @@ > msgid "Updates" > msgstr "Aktualisierungen" > >-#: umc/js/_updater/SettingsPage.js:91 umc/js/_updater/DetailsPage.js:113 >+#: umc/js/_updater/DetailsPage.js:112 umc/js/_updater/SettingsPage.js:91 > msgid "Use maintained repositories" > msgstr "'Maintained' Repositories benutzen" > >-#: umc/js/_updater/SettingsPage.js:96 umc/js/_updater/DetailsPage.js:118 >+#: umc/js/_updater/DetailsPage.js:117 umc/js/_updater/SettingsPage.js:96 > msgid "Use unmaintained repositories" > msgstr "'Unmaintained' Repositories benutzen" > >-#: umc/js/_updater/DetailsPage.js:123 >+#: umc/js/_updater/DetailsPage.js:122 > msgid "Username" > msgstr "Benutzername" > >-#: umc/js/_updater/DetailsPage.js:133 >+#: umc/js/_updater/DetailsPage.js:132 > msgid "Version" > msgstr "Version" > >@@ -566,17 +588,17 @@ > "Wenn die Verbindung wieder hergestellt ist, werden Sie aufgefordert, sich " > "noch einmal neu anzumelden." > >-#: umc/js/_updater/ProgressPage.js:316 >+#: umc/js/_updater/ProgressPage.js:277 > msgid "You may return to the overview by clicking the 'back' button now." > msgstr "" > "Sie können jetzt zur Ãbersicht zurückkehren, indem Sie den 'Zurück'-Knopf " > "drücken." > >-#: umc/js/_updater/ProgressPage.js:187 >+#: umc/js/_updater/ProgressPage.js:186 > msgid "You're currently watching its log file <b>{logfile}</b>" > msgstr "Sie sehen die Protokolldatei <b>{logfile}</b>" > >-#: umc/js/_updater/DetailsPage.js:220 >+#: umc/js/_updater/DetailsPage.js:226 > msgid "You're editing the details of the component definition." > msgstr "Sie bearbeiten die Details der Komponenten-Definition." > >@@ -592,7 +614,7 @@ > msgid "Your system is at errata level {erratalevel}." > msgstr "Ihr System ist auf dem Errata-Level {erratalevel}." > >-#: umc/js/_updater/DetailsPage.js:55 umc/js/_updater/ProgressPage.js:102 >+#: umc/js/_updater/ProgressPage.js:102 umc/js/_updater/DetailsPage.js:55 > msgid "back to overview" > msgstr "zurück zur Ãbersicht" > >@@ -611,6 +633,3 @@ > #: umc/js/_updater/UpdatesPage.js:436 > msgid "{enabled} of them are currently enabled." > msgstr "Davon sind {enabled} Komponenten aktiviert." >- >-#~ msgid "Use hotfix repositories" >-#~ msgstr "'Hotfix' Repositories benutzen"
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
Actions:
View
|
Diff
Attachments on
bug 22898
:
3608
|
3609
| 3830 |
3906
|
3999