• Hallo liebe Userinnen und User,

    nach bereits längeren Planungen und Vorbereitungen sind wir nun von vBulletin auf Xenforo umgestiegen. Die Umstellung musste leider aufgrund der Serverprobleme der letzten Tage notgedrungen vorverlegt werden. Das neue Forum ist soweit voll funktionsfähig, allerdings sind noch nicht alle der gewohnten Funktionen vorhanden. Nach Möglichkeit werden wir sie in den nächsten Wochen nachrüsten. Dafür sollte es nun einige der Probleme lösen, die wir in den letzten Tagen, Wochen und Monaten hatten. Auch der Server ist nun potenter als bei unserem alten Hoster, wodurch wir nun langfristig den Tank mit Bytes vollgetankt haben.

    Anfangs mag die neue Boardsoftware etwas ungewohnt sein, aber man findet sich recht schnell ein. Wir wissen, dass ihr alle Gewohnheitstiere seid, aber gebt dem neuen Board eine Chance.
    Sollte etwas der neuen oder auch gewohnten Funktionen unklar sein, könnt ihr den "Wo issn da der Button zu"-Thread im Feedback nutzen. Bugs meldet ihr bitte im Bugtracker, es wird sicher welche geben die uns noch nicht aufgefallen sind. Ich werde das dann versuchen, halbwegs im Startbeitrag übersichtlich zu halten, was an Arbeit noch aussteht.

    Neu ist, dass die Boardsoftware deutlich besser für Mobiltelefone und diverse Endgeräte geeignet ist und nun auch im mobilen Style alle Funktionen verfügbar sind. Am Desktop findet ihr oben rechts sowohl den Umschalter zwischen hellem und dunklem Style. Am Handy ist der Hell-/Dunkelschalter am Ende der Seite. Damit sollte zukünftig jeder sein Board so konfigurieren können, wie es ihm am liebsten ist.


    Die restlichen Funktionen sollten eigentlich soweit wie gewohnt funktionieren. Einfach mal ein wenig damit spielen oder bei Unklarheiten im Thread nachfragen. Viel Spaß im ngb 2.0.

[Linux Mint] mintUpdate.py Syntax Error

CiCero

gonna hate

Registriert
14 Juli 2013
Beiträge
683
Moin,

Ich nutze seit einiger Zeit Linux Mint und hatte vor ein paar Tagen mir mal ein bisschen Python angeschaut. Gestern Abend, merkte ich dann, dass in der Taskleiste das Symbol vom Updater fehlt.
Ich habe dann erstmal probiert den so aus dem Menü zu starten, da ist dann aber nichts passiert. Wenn man mintupdate-launcher startet, kommt diese Fehlermeldung:
[src=bash]➜ ~ mintupdate-launcher
File "/usr/lib/linuxmint/mintUpdate/mintUpdate.py", line 24
except Exception, detail:
^
SyntaxError: invalid syntax[/src]
Hier ist auch mal meine Datei und ein Diff davon mit der von github
[src=diff]--- /usr/lib/linuxmint/mintUpdate/mintUpdate.py
+++ /home/janis/Documents/Trash/untitled.py
@@ -66,7 +66,7 @@
(UPDATE_CHECKED, UPDATE_NAME, UPDATE_LEVEL_PIX, UPDATE_OLD_VERSION, UPDATE_NEW_VERSION, UPDATE_LEVEL_STR, UPDATE_SIZE, UPDATE_SIZE_STR, UPDATE_TYPE_PIX, UPDATE_TYPE, UPDATE_TOOLTIP, UPDATE_SORT_STR, UPDATE_OBJ) = range(13)

class PackageUpdate():
- def __init__(self, source_package_name, level, oldVersion, newVersion, extraInfo, warning, update_type, tooltip):
+ def __init__(self, source_package_name, level, oldVersion, newVersion, extraInfo, warning, update_type, origin, tooltip):
self.name = source_package_name
self.description = ""
self.short_description = ""
@@ -77,6 +77,7 @@
self.extraInfo = extraInfo
self.warning = warning
self.type = update_type
+ self.origin = origin
self.tooltip = tooltip
self.packages = []

@@ -87,11 +88,12 @@
self.size += size

class ChangelogRetriever(threading.Thread):
- def __init__(self, source_package, level, version, wTree):
+ def __init__(self, package_update, wTree):
threading.Thread.__init__(self)
- self.source_package = source_package
- self.level = level
- self.version = version
+ self.source_package = package_update.name
+ self.level = package_update.level
+ self.version = package_update.newVersion
+ self.origin = package_update.origin
self.wTree = wTree
# get the proxy settings from gsettings
self.ps = proxygsettings.get_proxy_settings()
@@ -106,19 +108,30 @@
self.wTree.get_widget("textview_changes").get_buffer().set_text(_("Downloading changelog..."))
gtk.gdk.threads_leave()

- changelog_sources = []
- if (self.source_package.startswith("lib")):
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/main/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/multiverse/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/universe/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/restricted/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
- else:
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/main/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/multiverse/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/universe/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/restricted/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
- changelog_sources.append("http://packages.linuxmint.com/dev/" + self.source_package + "_" + self.version + "_amd64.changes")
- changelog_sources.append("http://packages.linuxmint.com/dev/" + self.source_package + "_" + self.version + "_i386.changes")
+ changelog_sources = []
+ if self.origin == "linuxmint":
+ changelog_sources.append("http://packages.linuxmint.com/dev/" + self.source_package + "_" + self.version + "_amd64.changes")
+ changelog_sources.append("http://packages.linuxmint.com/dev/" + self.source_package + "_" + self.version + "_i386.changes")
+ elif self.origin == "ubuntu":
+ if (self.source_package.startswith("lib")):
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/main/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/multiverse/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/universe/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/restricted/%s/%s/%s_%s/changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ else:
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/main/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/multiverse/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/universe/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://changelogs.ubuntu.com/changelogs/pool/restricted/%s/%s/%s_%s/changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ elif self.origin == "debian":
+ if (self.source_package.startswith("lib")):
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/main/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/contrib/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/non-free/%s/%s/%s_%s_changelog" % (self.source_package[0:4], self.source_package, self.source_package, self.version))
+ else:
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/main/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/contrib/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))
+ changelog_sources.append("http://metadata.ftp-master.debian.org/changelogs/non-free/%s/%s/%s_%s_changelog" % (self.source_package[0], self.source_package, self.source_package, self.version))

changelog = _("No changelog available")

@@ -609,7 +622,7 @@
else:
for pkg in updates:
values = string.split(pkg, "###")
- if len(values) == 9:
+ if len(values) == 10:
status = values[0]
if (status == "ERROR"):
try:
@@ -642,8 +655,9 @@
size = int(values[4])
source_package = values[5]
update_type = values[6]
- short_description = values[7]
- description = values[8]
+ origin = values[7]
+ short_description = values[8]
+ description = values[9]

package_names.add(package.replace(":i386", "").replace(":amd64", ""))

@@ -717,7 +731,7 @@
level = int(level)

# Create a new Update
- update = PackageUpdate(source_package, level, oldVersion, newVersion, extraInfo, warning, update_type, tooltip)
+ update = PackageUpdate(source_package, level, oldVersion, newVersion, extraInfo, warning, update_type, origin, tooltip)
update.add_package(package, size, short_description, description)
package_updates[source_package] = update
else:
@@ -1793,7 +1807,7 @@
buffer.insert_with_tags_by_name(buffer.get_end_iter(), dimmed_description, "dimmed")
else:
# Changelog tab
- retriever = ChangelogRetriever(package_update.name, package_update.level, package_update.newVersion, wTree)
+ retriever = ChangelogRetriever(package_update, wTree)
retriever.start()

except Exception, detail:
@@ -1823,7 +1837,7 @@
buffer.insert_with_tags_by_name(buffer.get_end_iter(), dimmed_description, "dimmed")
else:
# Changelog tab
- retriever = ChangelogRetriever(package_update.name, package_update.level, package_update.newVersion, wTree)
+ retriever = ChangelogRetriever(package_update, wTree)
retriever.start()

def celldatafunction_checkbox(column, cell, model, iter):
@@ -2178,7 +2192,12 @@
viewSubmenu.append(descriptionsMenuItem)

viewSubmenu.append(historyMenuItem)
- viewSubmenu.append(kernelMenuItem)
+ try:
+ # Only support kernel selection in Linux Mint (not LMDE)
+ if (commands.getoutput("lsb_release -is").strip() == "LinuxMint" and float(commands.getoutput("lsb_release -rs").strip()) >= 13):
+ viewSubmenu.append(kernelMenuItem)
+ except Exception, detail:
+ print detail
viewSubmenu.append(infoMenuItem)

helpMenu = gtk.MenuItem(_("_Help"))
@@ -2228,4 +2247,4 @@
print detail
log.writelines("-- Exception occured in main thread: " + str(detail) + "\n")
log.flush()
- log.close()
+ log.close()
[/src]
Beim rumgooglen habe ich viele Leute gefunden, deren Updater auch nicht wollte. Da lag es aber fast immer am Aufruf von gtk.main() gegen Ende der Datei. Kann es bei mir auch da dran liegen?
 

Asseon

Draic Kin

Registriert
14 Juli 2013
Beiträge
10.353
Ort
Arcadia
Das Problem ist vermutlich die Shebang-Zeile.
Das Skript benötigt Python 2, wird aber derzeit vermutlich mit Python 3 ausgeführt.

Die shebang auf [kw]#!/usr/bin/env python2[/kw] zu ändern sollte das Problem vorerst lösen, aber es kann sein, dass das bei einem update wieder überschrieben wird.

Eigentlich sollte das auch gar nicht nötig sein, weil der Distributor wissen sollte welche Python Version bei ihm Standard ist, also entweder hat der da was verzapft oder du hast versehentlich die datei [kw]/usr/bin/python[/kw] verändert.
 

CiCero

gonna hate

Registriert
14 Juli 2013
Beiträge
683
  • Thread Starter Thread Starter
  • #3
Also, ich habe gerade eben mal die shebang auf [kw]#!/usr/bin/env python2[/kw] geändert und das Programm startet nun auch, aberes gibt ein anderes Problem: Wenn ich Updater auf "Refresh" klicke, wird einmal das Fenster neu gerendert oder so, aber es passiert nichts. Etwas, das genau so aussah, hatte ich schon mal bei einer vorherigen Installation von Mint.

Die ausgabe dazu:
[src=bash]➜ ~ mintupdate-launcher

(mintUpdate.py:13027): libglade-WARNING **: unknown attribute `swapped' for <signal>.

(mintUpdate.py:13027): libglade-WARNING **: unknown attribute `swapped' for <signal>.

(mintUpdate.py:13027): libglade-WARNING **: unknown attribute `swapped' for <signal>.

(mintUpdate.py:13027): libglade-WARNING **: unknown attribute `swapped' for <signal>.
^CTraceback (most recent call last):
File "/usr/lib/linuxmint/mintUpdate/mintUpdate.py", line 2225, in <module>
gtk.main()[/src]

Also vermute ich eher, dass ich [kw]/usr/bin/python[/kw], bzw. [kw]/usr/bin/local/python[/kw] (das gibt [kw]type python[/kw] aus) geändert habe.
Als ich mir Python mal ein wenig angesehen habe, konnte ich [kw]sound[/kw] nicht importieren, mal python-dev und Abhängigkeiten installiert. Diese Pakete habe ich mittlerweile wieder entfernt, aber keine Ahnung ob da nicht was verändert wurde. Das heir sind die Pakete:
[src=bash]libpython-dev
libpython2.7-dev
python-dev
python2.7-dev[/src]

Diesen Fix habe ich gerade eben ausprobiert, habe aber immer noch die libglade Warnungen und nicht mehr den Python Error beim Aufruf von gtk.main(), aber das Refreshen klappt immer noch nicht.
 

Asseon

Draic Kin

Registriert
14 Juli 2013
Beiträge
10.353
Ort
Arcadia
das python in [kw]/usr/bin/local/python[/kw] installiert ist, ist ungewöhnlich, hast du Python selbst kompiliert und systemweit installiert?

unabhängig davon, ist das ganze recht merkwürdig, die Warnungen sind denke ich vernachlässigbar btw.

ist das die aktuellste Version von mint?
 

CiCero

gonna hate

Registriert
14 Juli 2013
Beiträge
683
  • Thread Starter Thread Starter
  • #5
Jap, ist Linux Mint Rebacca. Selbst kompiliert habe ich Python nicht. Was ich probiert habe, ist alle Pakete mit Python im Namen von Synaptic neu installieren zu lassen, hat aber auch nichts gebracht.
 

Asseon

Draic Kin

Registriert
14 Juli 2013
Beiträge
10.353
Ort
Arcadia
Hab mir grad mal mint installiert und mit das angesehen, dort ist python2 Standard.
Schau mal bitte nach ob [kw]/usr/bin/local/python[/kw] ein symlink ist. Sollte dem so sein, kannst du den höchstwahrscheinlich einfach löschen, es sei denn du hast den für irgendwas selbst angelegt, mich würde btw mal interessieren, worauf der genau zeigt.


Ich würde sonst mal versuchen mit [kw]aptitude update[/kw] und [kw]aptitude upgrade[/kw] manuell abzudaten und schauen obs dann weider geht.
 

CiCero

gonna hate

Registriert
14 Juli 2013
Beiträge
683
  • Thread Starter Thread Starter
  • #7
War ein Symlink, habe aber vergessen zu schauen, wo der hinzeigt. Umbenannt zum Testen und dann direkt gelöscht.

Klappt zumindestens jetzt gerade, vielen Dank für die Hilfe ;) :beer:
 
Oben