Sie sind nicht angemeldet.

Lieber Besucher, herzlich willkommen bei: Ubuntu-Forum & Kubuntu-Forum | www.Ubuntu-Forum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

  • »siggi2« ist der Autor dieses Themas

Beiträge: 44

Registrierungsdatum: 25.06.2007

  • Nachricht senden

1

15.10.2010, 18:58

wie aus Quelle gebautes Programm in Synaptic-Paketverwaltung bringen?

Ubuntu 10.04.1 32 bit

Hallo,

ich benutze pythoncard. Leider hat auch Lucid - und ebenso Meerkat - noch eine uralte Version pythoncard-0.8.1, bei der's hapert. Deshalb habe ich mir die Source der neuesten Version von
http://sourceforge.net/projects/pythoncard/files/
geholt. Diese Version 0.8.2 ist immerhin von 2004 - "pythoncard-0.8.2 2004/10/03 18:53:22", also auch nicht mehr die jüngste! Wie alt mag da Ubuntu's 0.8.1 erst sein?
(Nachtrag, 21.10.2010, 18:40: auf http://packages.ubuntu.com/maverick/python/ gibt's für Maverick inzwischen die Versionen 0.8.2-1, die konnte ich auf Lynx wegen nicht aufgelöster Abhängigikeiten aber nicht installieren)

Frage
*******
Das Bauen aus der Quelle ging prima, alles klappt, PythonCard ist in Python (2.6.5) eingebunden, auch die PythonCard Tools sind ansprechbar. Leider sehe ich Pythoncard 0.8.2 nicht in der Synaptic-Paketverwaltung. Kann ich sie mir dort irgendwie anzeigen lassen?

Danke,

siggi2

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »siggi2« (21.10.2010, 18:42)


2

16.10.2010, 09:14

Um heruntergeladene bzw. selbst kompilierte Anwendungen in die Paketverwaltung einzubinden, richtet man sich am besten eine lokale Paketquelle ein.
Das geht so:
Anmerkung: Das ist ein Mini-HowTo, das ich vor einiger Zeit mal für den ganz privaten Gebrauch geschrieben hatte, das ist wirklich für absolute Einsteiger konzipiert, also nicht Geschulmeistert fühlen, falls du einiges davon schon kennst ;)

Zitat

(1)
in Synaptic prüfen, ob das Paket dpkg-dev installiert ist, wenn nicht, installieren

(2)
In deinem Home-Verzeichnis einen Ordner mit dem Namen Pakete erstellen.

(3)
Ein Terminal öffnen und folgenden Befehl eingeben:
sudo gedit /etc/apt/sources.list

(4)
Die nun geöffnete sources.list am Ende um folgende Zeile erweitern:
deb file:/home/<username>/Pakete ./
Speichern und gedit beenden (Terminal schließen, falls erforderlich)

**Anmerkung**
<username> ist natürlich immer durch den tatsächlichen Bentzernamen zu ersetzen ;-)

(5)
Den Texteditor nun als normaler user starten (Anwendungen > Zubehör > Texteditor)
und eine neue Datei mit folgendem Inhalt erstellen:

#!/bin/sh
cd /home/<username>/Pakete
sudo dpkg-scanpackages ./ /dev/null | gzip > Packages.gz
sudo apt-get update


Die Datei im Ordner /home/<username>/Pakete speichern,
als Name z.B. Pakete_einlesen

(6)
Den Dateibrowser (nautilus) öffnen und in den Pakete-Ordner wechseln
Rechtsklick auf die Datei Pakete_einlesen und unter
Eigenschaften > Zugriffsrechte
ein Häkchen bei "Datei als Programm ausführen" setzen.

(7)
Alle gewünschten .deb-Files in den Pakete-Ordner kopieren

(8)
Alternative 1 (unkomfortabel):
Die Datei Pakete_einlesen per Doppelklick > "Im Terminal ausführen" starten

Alternative 2 (später komfortabler):
Im panel oder auf dem Desktop einen Starter vom Typ "Anwendung" erstellen,
unter "Befehl" eintragen:
gksu /home/<username>/Pakete/Pakete_einlesen
Starter speichern und ausführen

(9)
Synaptic starten und die gewünschten Programme installieren
(falls sie wider erwarten nicht in der Suchfunktion auftauchen, bei Synaptic noch mal "Neu Laden" betätigen)

Fertig!

+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Wichtig: falls die Software nur als Quellcode (.tar.gz) verfügbar ist:
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

(1)
In Synaptic nachsehen, ob das Paket checkinstall bereits installiert ist, ansonsten installieren.

(2)
Das tar-Archiv entpacken und im Terminal in das entstandene Verzeichnis wechseln.

(3)
Dort folgende Befehle ausführen:

./configure
make
sudo checkinstall -D

Das erstellt aus dem Quellcode ein.deb-Paket, dass dann wie gewohnt installiert werden kann.
"I dream of the day when I will learn to stop asking questions for which I will regret learning the answers."
-Roy Greenhilt

3

16.10.2010, 11:52

Man sollte dazusagen, daß sich checkinstall nicht um Abhängigkeiten und ähnliches kümmert, die für eine nahtlose Integration nicht unwichtig sind. Weiters übernimmt es die Pfade aus dem Quellpaket, wenn man sie nicht mittels ./configure-Parametern Ubuntu-konform setzt. Das kann ganz schön viel Handarbeit bedeuten. Eine gute Beschreibung der Anwendung findet man hier.

Es gibt aber auch tools, die aus Quellcode ein "echtes" Debian-Paket machen, das auch von der Paketverwaltung so behandelt wird (mit Abhängigkeiten, Versionsangaben, etc) ---> dh-make. Was da alles zum erfolgreichen Gebrauch dazugehört siehe hier. Das sieht dort aufwendig aus, weil das gesamte Drumrum auch beschrieben ist. Wenn man selber baut, ist das aber sowieso schon vorhanden. In Wahrheit reduziert sich der Ablauf zu:
  1. Tar-ball entpacken. in's entpackte Verzeichnis wechseln, dh-make aufrufen. Damit wird das wichtige Verzeichnis ./debian mit Inhalt angelegt.
  2. Die Dateien ./debian/control, ./debian/changelog und ./debian/rules editieren. Letzteres enthält auch die Parameterliste für den späteren Aufruf von ./configure
  3. Jetzt mit "dpkg-buildpackage -b -uc -us -rfakeroot" den Prozess anstossen. Damit entsteht im darüberliegenden Verzeichnis (also dort, wo der Tarball liegt) das neue .deb-Paket, das man dann mit dpkg -i <Paket>.deb installieren kann. (Oder auch nicht, falls man es nur für eine andere Maschine macht. checkinstall installiert nämlich zuerst und macht dann das Paket, außer man setzt weitere Parameter)
Falls Abhängigkeiten (zB. benötigte Libs) fehlen, bricht dpkg-buildpackage mit entsprechender Meldung ab, so daß man am Ende nicht mit einem eingeschränkten / nicht lauffähigen Programm da steht. Die fehlenden Pakete installiert man nach (bei Libs idR. die *-dev Version) und startet dpkg-buildpackage nochmal, bis es fehlerfrei durchläuft.
Im Verzeichnis ./debian/<Programmname> findet man am Ende übrigens auch den ungepackten Dateibaum des Paketes, falls man nur einzelne Dateien daraus benötigt.

Dann gibt es noch den Lazy Way, wenn man nur eine neuere Version eines bereits fertig erhältlichen Paketes haben möchte:

Quellcode

1
apt-get source <Paketname> && sudo apt-get build-dep <Paketname>
(letzteres holt die benötigten weiteren Pakete, und nur das geht nicht als User!)
apt-get source holt und entpackt den Quellcode (inklusive eventueller Patches der Distribution). Das im entpackten Verzeichnis befindliche ./debian-Verzeichnis in den entpackten tarball der neueren Version kopieren, wie oben die drei enthaltenen Dateien editieren (vor allem eine neue Versionsnummer in ./debian/changelog vergeben, damit sich dpkg später auskennt) und in ./debian/rules eventuell neue oder veränderte ./configure-Parameter eintragen. Die von der Distribution verwendeten Parameter, Beschreibungen und Abhängigkeiten für dieses Paket sind bei dieser Methode alle schon gesetzt bzw. eingetragen :)
Dann dpkg-buildpackage wie oben aufrufen.
Es kann natürlich zu Problemen kommen, wenn sich die Patches (in ./debian/patches) nicht mehr mit dem neueren Quellcode vertragen. In dem Fall ist dann etwas Handarbeit angesagt, was aber erst den Reiz des Selberbauens ausmacht :D Bei nicht zu stark abweichenden Versionen sollten sich die Probleme aber in Grenzen halten, dafür ist es immer noch einfacher, als alles händisch setzen zu müssen. Vor allem die Patches sind anders kaum so einfach einzupflegen.
mir is wurscht

  • »floogy« ist männlich

Beiträge: 3 071

Registrierungsdatum: 10.03.2005

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: debian

  • Nachricht senden

4

16.10.2010, 12:23

Es gibt noch eine elegantere Methode als mit checkinstall, die auf das "alte" lucid source-Paket aufsetzt wenn es in einem weiter fortgeschrittenen Zweig wie z.B. Maverick oder Natty bereits vorhanden ist.
Man erstellt aus den Sourcepaketen einen backport:
http://www.unixboard.de/wiki/index.php?t…ebian_Backports
Mit der Methode sind in den Pakete dann sogar die Abhängigkeitsinformationen verwendbar und somit auch für Fremde besser nutzbar.
Diese Methode und die folgenden, in den Links beschriebenen, sind allerdings etwas komplexer.

Noch weiterführend ist der MainGuide zum Paketbau:
http://www.debian.org/doc/maint-guide/index.en.html
http://www.debian.org/doc/maint-guide/ch…pectnewupstream
http://debian.wgdd.de/howto/howto-aptrep

Für ubuntu:
https://wiki.ubuntu.com/PackagingGuide/Complete

EDIT: Fredl hat es ja bereits in groben Zügen dargestellt und damit ein gutes HOWTO dazu geliefert.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »floogy« (16.10.2010, 12:27)


  • »siggi2« ist der Autor dieses Themas

Beiträge: 44

Registrierungsdatum: 25.06.2007

  • Nachricht senden

5

16.10.2010, 16:38

vielen dank fozzie, Fredl und floogy...

...für euere ausführlichen Antworten! Bis ich das alles verstanden habe, benutze ich pythoncard weiter "unsichtbar" für den Paketmanager. Aber mein wissenschaftliches Interesse für Sourcecode und Pakete ist geweckt :)

Hier nur schon mal ein paar Vorbemerkungen:

* ein grosser Linux-Fachmann bin ich nicht, aber ich experimentiere gerne (einmal musste meine Dualboot WinXP Installation dran glauben. Die ist aber wieder da und dabei habe ich einiges über unsichtbaren /.trash gelernt)

* das aus dem Source code entpackte PythonCard ist kein C/C++ Programm, sondern ein Pythonprogramm. Es wird mit

Quellcode

1
$ sudo setup.py install

installiert

* Ehe ich euere Vorschläge umsetze, muss ich erst mal rausfinden, wie ich mein "unsichtbares" Programm deinstalliere. Im entpackten Sourcecode finde ich erstmal nichts wie uninstall.py oder ähnliches

* Zu fozzies Anleitung zum Einbinden von femden deb-Paketen: bisher habe ich heruntergeladene deb-Pakete - hauptsächlich eines*, nämlich Debian packages 1.10.7 von NtEd
http://vsr.informatik.tu-chemnitz.de/~jan/nted/nted.xhtml
- einfach angeklickt und gdebi alles weitere erledigen lassen. Nted hat sich dabei richtig installiert, ist im Paket-Manager und auch in "Applications > Sound & Video". War meine einfache Vorgehensweise nicht richtig?

Erst mal tschüß,

siggi2

P.S. *: um VPython (python-visula) in Karmic zum laufen zu bringen, hatte ich sogar jede Menge deb-Dateien der boost libraries mit Klick installeren müssen. Hat auch geklappt. Mit Lucid ist das Boost-Problem weg, aber einen Trick gibt's immer noch zu beachten, damit VPython läuft

6

16.10.2010, 18:06

PythonCard ist kein C/C++ Programm, sondern ein Pythonprogramm
Eine Kleinigkeit, die wir alle drei übersehen haben :)
Aber genau so ein Thema (Python to .deb) hatten wir afair hier schonmal. Evtl. hilft die Suche weiter.
Allerdings ist auch Google nicht gerade stumm, wenn man danach fragt ---> http://showmedo.com/videotutorials/video…uxJensMakingDeb http://pypi.python.org/pypi/stdeb/0.5.1 http://easy-deb.sourceforge.net/

Nichtsdestotrotz funktioniert der vorhin beschriebene "Lazy Way" auch mit Python genauso gut, denn schließlich müssen die Originalpakete dabei ja auch die entsprechenden install-Routinen vorbereiten und aufrufen (in dem Fall dann eben setup.py). Hab's gerade durchgespielt, und mir neben dem 0.8.2er-tarball noch mit "apt-get source pythoncard" und "sudo apt-get build-dep pythoncard" alles nötige geholt.
setup.py hatte ein paar kleine Anpassungen gegenüber dem Original drin, deshalb hab ich die gleich mitkopiert:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
cp -pr pythoncard-0.8.1/debian pythoncard-0.8.1/setup.py PythonCard-0.8.2/
cd PythonCard-0.8.2/
vi debian/changelog
dpkg-buildpackage -us -uc -b
# ganz viel Code läuft durch und endet mit:
dpkg-deb: Baue Paket »pythoncard« in »../pythoncard_0.8.2_all.deb«,
dpkg-deb: Baue Paket »pythoncard-tools« in »../pythoncard-tools_0.8.2_all.deb«,
dpkg-deb: Baue Paket »pythoncard-doc« in »../pythoncard-doc_0.8.2_all.deb«,
Warnung, »debian/python-pythoncard/DEBIAN/control« enthält benutzerdefiniertes Feld »Python-Version«
dpkg-deb: Baue Paket »python-pythoncard« in »../python-pythoncard_0.8.2_all.deb«
dpkg-deb: Ignoriere 1 Warnungen wegen der control-Datei(en)
 dpkg-genchanges -b >../pythoncard_0.8.2_i386.changes
dpkg-genchanges: rein-binärer Upload - füge keinen Quellcode hinzu
dpkg-buildpackage: Binärpaket(e) hochzuladen (keine Quellen enthalten)
Sieht doch gut aus :)

Quellcode

1
2
3
4
5
ll *.deb
-rw-r--r-- 1 fredl fredl   25522 16. Okt 17:30 pythoncard_0.8.2_all.deb
-rw-r--r-- 1 fredl fredl 1013030 16. Okt 17:30 pythoncard-doc_0.8.2_all.deb
-rw-r--r-- 1 fredl fredl   31312 16. Okt 17:30 pythoncard-tools_0.8.2_all.deb
-rw-r--r-- 1 fredl fredl 1965760 16. Okt 17:30 python-pythoncard_0.8.2_all.deb
alles da...

Quellcode

1
2
3
4
5
6
7
8
9
10
11
apt-cache policy pythoncard
pythoncard:
  Installiert: 0.8.2
  Kandidat: 0.8.2-1
  Versions-Tabelle:
     0.8.2-1 0
        500 http://ronaldo squeeze/main Packages
 *** 0.8.2 0
        100 /var/lib/dpkg/status
     0.8.1-8.1 0
        990 http://ronaldo lenny/main Packages
Uups, in Squeeze haben sie sogar noch was neueres fertig ;)

Ok, beim Installieren gab's noch ein paar Abhängigkeitsprobleme, aber ich will mir mein System nicht mit Sachen vollstopfen, die ich vielleicht gar nicht brauche. Der Weg und die Machbarkeit sollten aber klar geworden sein.
PS: Schwer zu verheimlichen, daß das jetzt nicht unter Ubuntu geschah. Aber wenn das olle, rückständige, verstaubte und ewig hinterherhumpelnde Debian das schafft...;)

Have fun!
mir is wurscht

  • »floogy« ist männlich

Beiträge: 3 071

Registrierungsdatum: 10.03.2005

Derivat: Ubuntu

Architektur: 64-Bit PC

Desktop: GNOME 3.0

Andere Betriebssysteme: debian

  • Nachricht senden

7

16.10.2010, 18:12

Aber wenn das olle, rückständige, verstaubte und ewig hinterherhumpelnde Debian das schafft...

Wie jetzt? squeeze war doch aktueller als ubuntu, oder?

8

16.10.2010, 20:04

squeeze war doch aktueller als ubuntu
Jou, in diesem Beispiel war das gleiche Paket in Squeeze tatsächlich aktueller als alles andere :)
Mein Schlußsatz war auf die landläufige Meinung über Debian im allgemeinen und die jeweilige stable branch im speziellen bezogen. ;)
Ich verwende hier übrigens eine stable/testing mit Schwerpunkt auf stable, auf der ich das Beispiel auch durchgespielt habe.
mir is wurscht

  • »siggi2« ist der Autor dieses Themas

Beiträge: 44

Registrierungsdatum: 25.06.2007

  • Nachricht senden

9

17.10.2010, 20:32

ich scheitere schon hier

...
apt-get source <Paketname>; apt-get build-dep <Paketname> (letzteres holt gleich die benötigten weiteren Pakete, beides reicht als User!)...


Quellcode

1
2
3
4
5
$ apt-get source pythoncard-0.8.1
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to find a source package for pythoncard-0.8.1

:(

In 'Repositories' habe ich natürlich überall Sourcecode aktiviert

10

17.10.2010, 22:03

Das Paket hat nie eine Versionsnummer dran, damit man immer die bevorzugte bekommt (normalerweise die neueste aus der installierten Distribution, aber das kann man auch ändern). Also "apt-get source pythoncard" reicht ;)

Und sorry, mein Fehler: "apt-get build-dep" benötigt natürlich doch root-Rechte, da ja damit fertige Pakte installiert werden. Im Gegensatz zu "apt-get source", wo ja nicht sicher ist, was damit geschehen wird. Da muss man erst zum Installieren des fertigen Produkts mittels "dpkg -i" zum root werden.
mir is wurscht

  • »siggi2« ist der Autor dieses Themas

Beiträge: 44

Registrierungsdatum: 25.06.2007

  • Nachricht senden

11

20.10.2010, 21:46

Nachtrag

bitte meinen letzten Beitrag von heute, 25. Oktober lesen! Danke

Letzte Modifikation, klappt:

Ich bin jetzt so vorgegangen, habe jetzt PythonCard0.8.2 als deb-files installiert :). Erst mal also vielen Dank für die Anleitungen von Fredl.

0) für Synaptic "unsichtbares" pythoncard0.8.2 deinstallieren (das deb-pythoncard0.8.2, s.u., liegt nämlich in anderen Verzeichnissen. Wichtig für benutzerdefinierte Aufrufe der Tools im Ubuntu-Anwendungsmenü):
Also nochmal von Source installieren, diesmal mit Zusatz:

Quellcode

1
$ python setup.py  install --record files.txt

Danach alle Unterordner/Dateien von pythoncard0.8.2 löschen; sie werden in files.txt gelistet.

1) da ich bei den beiden 'setup.py's in Version0.8.1 und 0.8.2 keine Unterschiede sah, habe ich nicht von ...0.8.1.. auf ...0.8.2... kopiert

2) .../debian/changelog:
hier habe ich den ersten Eintrag

Quellcode

1
2
3
4
5
6
7
8
pythoncard (0.8.1-8.4ubuntu1) lucid; urgency=low

 * Merge from Debian testing. Conflicts/replaces for 
    python2.4-pythoncard are no longer necessary.
  * debian/pythoncard-doc.install, debian/python-pythoncard.install:
    use wildcards instead of site-packages to fix build with python 2.6.

 -- Ilya Barygin <barygin@gmail.com>  Wed, 03 Mar 2010 15:44:51 +0300

an die zweite Stelle geschoben, den Inhalt an den Anfang kopiert und dort etwas verändert:
-

Quellcode

1
pythoncard (0.8.2-8.9ubuntu1) lucid; urgency=low 

-den Namen des "Packers" und das Datum verändert.

3) .../debian/control:

Quellcode

1
Depends: ${python:Depends}, python-wxgtk2.6
geändert in

Quellcode

1
]Depends: ${python:Depends}, python-wxgtk2.8


4)

Quellcode

1
$ sudo dpkg-buildpackage -us -uc -b


Anschliessend sehe ich im Paketmanager pythoncard 0.8.2-8.9ubuntu1, und auch die dazugehörige Docu und die Tools und das Metapackage:) Funktioniert auch alles prima :)

Dieser Beitrag wurde bereits 13 mal editiert, zuletzt von »siggi2« (25.10.2010, 19:53)


12

20.10.2010, 21:57

hätte ich in changelog noch mehr verändern müssen
Müssen nicht, aber du hättest können.
Speziell die Revisionsangabe (alles hinter dem Bindestrich) kann der Paketverwaltung helfen, zu bemerken, wenn von Ubuntu einmal ein Update dieses Pakets kommt.

Ich mach hier ein Beispiel mit einem anderen Paket, das ich gerade herumliegen habe (Pythoncard hab ich schon wieder entsorgt):

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
vpnc (0.3.3+SVN20051028-3+fredl) unstable; urgency=low

  * only to show how it works, no changes in sourcecode

 -- Fredl <fredl@ubuntuforum.de>  Wed, 20 October 2010 20:58:23 +0200

vpnc (0.3.3+SVN20051028-3) unstable; urgency=low

  * 08_keepalive_and_rekeying.dpatch: patch for basic rekeying and keepalive
    support from Tomas Mraz <tmraz@redhat.com>
  * stronger permissions of /etc/vpnc/ and /etc/vpnc/example.conf to protect
    careless users from making their login data world-readable
    (closes: #340105)
  * documented connect/disconnect hooks in README.Debian, thanks to Elmar
    Hoffmann (closes: #360704)

 -- Eduard Bloch <blade@debian.org>  Fri, 14 Apr 2006 23:30:36 +0200
Wie du siehst, habe ich nur den obersten Block kopiert und dann editiert. Somit bleiben notwendige Formatierungen erhalten. Macht man dieses Paket, heißt es vpnc_0.3.3+SVN20051028-3+fredl_i386.deb
Kommt jetzt von meinem Distributor irgendwann eine höhere Versionsnummer raus, wird meine Paketverwaltung es updaten. (Außer ich verhindere das auf eigene Wege -->apt-pinning). Das wird bei deiner Revision jetzt eine Weile dauern :)

Du kannst ruhig ein wenig mit solchen edits rumprobieren. Wenn etwas nicht konform ist, wird dpkg-buildpackage das melden und es nicht bauen. Außerdem musst du es ja danach nicht installieren :)
Wenn man sowas öfter macht, wird man sich debhelper installieren, das etliche Scripts enthält, die solche Arbeiten schnell, einfach und vor allem richtig erledigen. Dann legt man einmal in einer config seine eigenen Daten (Name, email, etc) ab und schon werden die changes ordentlich aufbereitet.

Übrigens gefällt mir, wie smart du zuvor das manuell installierte pythoncard ausgeputzt hast! :thumbup:
mir is wurscht

  • »siggi2« ist der Autor dieses Themas

Beiträge: 44

Registrierungsdatum: 25.06.2007

  • Nachricht senden

13

22.10.2010, 20:52


Übrigens gefällt mir, wie smart du zuvor das manuell installierte pythoncard ausgeputzt hast! :thumbup:

Und mir gefällt deine Anleitung ebenfalls :thumbsup: Mein erstes selbst gebautes Debian Paket!
Deshalb wollte ich auch das neueste Paket von der Source eines meiner Liebblings-Ubuntu-Programme - NtEd http://vsr.informatik.tu-chemnitz.de/sta…nted/nted.xhtml - bauen, aber da ist mir Gilles Filippini auf der Seite dort zuvorgekommen und hatte schon ein deb Paket dazu. Wenn's wieder eine neue Version gibt, probier ich's aber.
Gruss,
siggi2

14

22.10.2010, 21:07

aber da ist mir Gilles Filippini auf der Seite dort zuvorgekommen
Sowas muss die eigene Kreativität ja nicht bremsen. Man kann immer noch mit den configure-Optionen herumspielen und seine eigene Version davon bauen.
Ich habe mir so z.B. einen recht schlanken und damit noch schnelleren und sparsameren nginx gebaut (ok, neuer ist er auch, aber das war nicht das wichtigste daran).

Aber Achtung, als Selberbauer trägt man auch etwas mehr Eigenverantwortung: Wenn man mit seinem Paket der Distribution voraus ist, muss man selber auf Security-Updates achten. Sprich, regelmäßig die verwendeten Quellen auf solche überprüfen.
mir is wurscht

  • »siggi2« ist der Autor dieses Themas

Beiträge: 44

Registrierungsdatum: 25.06.2007

  • Nachricht senden

15

24.10.2010, 13:14

...Aber Achtung, als Selberbauer...: Wenn man mit seinem Paket der Distribution voraus ist, muss man selber auf Security-Updates achten. Sprich, regelmäßig die verwendeten Quellen auf solche überprüfen.


Das verstehe ich nicht so ganz. Bitte mal für Klein-Doofy-mit-Plüschohren wie mich ;) : Worauf müsste ich denn bei meiner o.g. pythoncard Version achten? Die sehe ich doch im Paketmanager. Sorgt der nicht für Sicherheitsupdates?

16

24.10.2010, 14:28

Hi,
Primär kümmert er sich darum, daß du die aktuellste Version des Paketes hast. (In der Normaleinstellung)
Von Ubuntu ist 0.8.1-8.4ubuntu1 aktuell, und du hast jetzt (laut deiner eigenen Angabe) 0.8.2-8.9ubuntu1. Das heißt, sobald von Ubuntu was neueres als 0.8.2-8.9ubuntu1 kommt, wird er es updaten. (Also vermutlich noch lange nicht...)
Bis dahin kannst du nur selbst darauf achten, ob Sicherheitslöcher bekannt werden¹ und patches dafür rauskommen. Dann kannst und solltest du das Paket mit den erneuerten Quellen neu bauen.

¹) Ok, bei diesem Paket wird das wohl keine ernste Gefahr darstellen, aber falls du einmal ein sensibleres Paket "bearbeitest"...
mir is wurscht

  • »siggi2« ist der Autor dieses Themas

Beiträge: 44

Registrierungsdatum: 25.06.2007

  • Nachricht senden

17

24.10.2010, 14:47

Danke für die Aufklärung! pythoncard0.8.2 ist die letzte Version, die Arbeit daran scheint wohl beendet zu sein http://blog.gmane.org/gmane.comp.python.…/month=20100401. Da wird's wohl auch keine neuen Sicherheitspatches geben

18

24.10.2010, 15:00

Du meinst, der letzte hat schon das Licht ausgeknipst? 8o

Kommt natürlich immer auf das jeweilige Autorenteam an, aber Security-Patches können noch lange erscheinen. Die Software selbst kann ja an sich als vollendet betrachtet werden, trotzdem können sich Sicherheitslöcher auftun, die dann eben durch Patches behoben werden (sollten) Siehe auch Patch-Tuesdays von Microsoft :)
mir is wurscht

  • »siggi2« ist der Autor dieses Themas

Beiträge: 44

Registrierungsdatum: 25.06.2007

  • Nachricht senden

19

25.10.2010, 19:51

Jetzt muss ich dich leider nochmal um Hilfe bitten: ich weiss nicht genau, worauf ich bei Patches etc, die du erwähnst, in Zukunft achten soll.

So sieht es bei mir z.Zt. unter Lucid (Ubuntu 10.04.1) aus:

* python, python-pythoncard, pythoncard-tools, pythoncard-doc: im Paketmanager alle mit der Version 0.8.2-8.9ubuntu1, alle von mir als deb gebaut und installiert (die alten Versionen 0.8.1 hatte ich ja deinstalliert). pythoncard 0.8.2 ist von python-wxgtk2.8 abhängig. Das letztere habe ich aus den Ubuntuquellen installiert

* in Maverick wird es zwar das neuere python-pythoncard0.8.2-1 geben, aber immer noch "dependend on python-wxgtk2.6". Das ist dumm, denn pythoncard0.8.2 funkioniert nicht mit python-wxgtk2.6: http://ubuntuforums.org/showthread.php?t…t=pythoncard+0.8.

* Ich werde Lucid die vollen 3 Jahre behalten.

* Worauf müsste ich denn in dieser Zeit achten, damit mir meine mühsam gebaute pythoncard 0.8.2 nicht beim Updaten (Siecurity Issues, Recommended) ) mit dem Update Manager von Ubuntu zerschossen (?) wird?

Danke schon mal,

siggi2

Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »siggi2« (25.10.2010, 19:51)


20

26.10.2010, 01:29

Worauf müsste ich denn in dieser Zeit achten, damit mir meine mühsam gebaute pythoncard 0.8.2 nicht beim Updaten (Siecurity Issues, Recommended) ) mit dem Update Manager von Ubuntu zerschossen (?) wird?
Also da sehe ich jetzt keine direkte Bedrohung, denn pythoncard ist ja nur von python-support und python-wxgtk direkt abhängig. Letzteres hast du selbst schon auf eine höhere Version gebracht und auch das läuft. Also, wenn für diese beiden Pakete kleine Bugfixes kommen (ohne Versionssprung) sollte sich das gar nicht auswirken, bei größeren Änderungen (mit Versionssprung) sollten die neuen Pakete abwärtskompatibel sein. Ich schätze, da wirst du also gar nichts davon bemerken.

Bevor ich weiter auf deine eigentliche Frage eingehe, habe ich mir das ganze ein wenig genauer angesehen. Erstmal das:
1) da ich bei den beiden 'setup.py's in Version0.8.1 und 0.8.2 keine Unterschiede sah
Ja, das ist möglich. Ich habe das ganze unter Debian ausprobiert, die dürften für sich daran schon etwas geändert haben. Aber ich glaube es waren nur Pfadanpassungen.
Aber jetzt zu etwas völlig anderem:
in Maverick wird es zwar das neuere python-pythoncard0.8.2-1 geben, aber immer noch "dependend on python-wxgtk2.6". Das ist dumm, denn pythoncard0.8.2 funkioniert nicht mit python-wxgtk2.6:
Das verwundert mich jetzt etwas, denn normalerweise sollte gerade sowas durch die Abhängigkeiten verhindert werden. Sogar in Debian unstable ist 8.2 "nur" von wxgtk2.6 abhängig. Aber das ist nicht der Punkt auf den ich hinaus will, und es lässt sich ja scheinbar recht sauber durch das Einpflanzen von wxgtk2.8 lösen.

Ich habe aber eine Überraschung für dich: Das Quellpaket, das du direkt von den Entwicklern geholt hast, ist identisch mit dem Quellpaket, welches man sich für Maverick holen kann. Das ist in dem Fall fast logisch, weil die Entwicklung ja ziemlich eingeschlafen ist. Wie bei Debian-Derivaten üblich, sind die Anpassungen an die Distribution in einer diff-Datei enthalten. Diese diff-Datei habe ich jetzt für die beiden Versionen (8.1 und 8.2) verglichen. Da tun sich wirklich kaum Unterschiede auf. Einige Pfade dürften geändert worden sein, um Debian-konform zu werden. Sonst nichts großartiges.

Will damit sagen: Du hast jetzt in deinem Paket den letzten Code, aber mit den Anpassungen für Lucid. (Soweit war es ja klar). Hättest du das ganze Paket aus den Quellen von Maverick gebaut, hättest du den gleichen Code, aber eben mit den Anpassungen für Maverick. Das wäre dann das selbe Ergebnis, wie wenn du gleich über die Paketverwaltung das fertige Maverick-Paket installiert hättest. Nun hast du aber geschrieben, daß genau das wegen verletzter Abhängigkeiten gescheitert wäre. Soweit ich sehe, haben die beiden aber genau die gleichen Abhängigkeiten (auch von den Versionen her, viele sind es ja nicht)...
Mich hätte jetzt interessiert, woran es wirklich gescheitert ist.

Du musst da jetzt aber nicht herum experimentieren, wäre schade wenn deshalb was kaputt ginge. Aber eine Simulation könnte das klären:

Quellcode

1
sudo apt-get -s install python-pythoncard=0.8.2-1
Das -s ist wichtig = simulate!
Und Maverick muss natürlich zuvor noch vorübergehend in die /etc/apt/sources.list reinkommen, mit "apt-get update" danach. Sonst findet er das Paket nicht.

Wie gesagt, selbst wenn es sich installieren ließe, würde sich am Programm nicht viel ändern. Aber es würde direkt aus der Distro stammen und du hättest keine Sorgen wegen der Versionsnummern ;)
Allerdings könnten die veränderten Pfade sich sehr wohl auswirken, also würde ich es im Endeffekt so lassen, wie es jetzt ist.
mir is wurscht