GettingStartedDE

Dev Week -- Getting Started -- German -- Mon, Jan 19

dholbach Willkommen bei der Ubuntu Developer Week!
holloway Yiha!
marktrix hallo
co0lingFir3 hiho
riot_le hi Daniel
F30 servus
PatrickBic hi
crazyTron hi
dholbach Für alle von Euch, für die das ganze neu ist, der Zeitplan für die ganze Woche ist auf: https://wiki.ubuntu.com/UbuntuDeveloperWeek
 und die Logs werden da nach und nach auf auftauchen (die Links sind schon da)
 Wenn ihr Fragen habt, bitte fragt!
 Wenn möglich, fragt bitte in #ubuntu-classroom-de-chat
 OK... gibt's schon erste Fragen? :)
holloway Wo gibts Bier? -g-
bullgard4 Wo steht denn, aus welchen Komponenten ein DEB-Programmpaket zusammengebaut wird?
dholbach Das war ein Test: nicht bestanden. ;-)
holloway Argh
dholbach War nur Spaß - in Zukunft fragt nur bitte in #ubuntu-classroom-de-chat :-)
thekorn  /j #ubuntu-classroom-de-chat
dholbach <holloway> Wo gibts Bier? -g-
thekorn upps, ich auch nicht ;)
dholbach holloway: vielleicht beim Berlin Bug Jam am Donnerstag? :-)
 <bullgard4> Wo steht denn, aus welchen Komponenten ein DEB-Programmpaket zusammengebaut wird?
holloway dholbach: Da hatte ich vor zu kommen :)
dholbach holloway: super
 bullgard4: das werde ich in der nächsten Session (Packaging 101) in #ubuntu-classroom im Detail beantworten
 <afflux> drüben gabs grade: "Ich kann C/C++, wie kann ich helfen?"
bullgard4 dholbach: Gut!
dholbach afflux: darüber werden wir uns gleich im Detail unterhalten :-)
dholbach zuerst werden wir uns aber eine "Entwicklungs-Umgebung" zusammenstellen, das dauert ein klein wenig länger, danach werde ich auch wieder mehr Fragen beantworten
 <benste> so mal ne ganz einfache frage, wie werden die nächsten zwei stunden hier ablaufen?
 benste: Du hast recht, erstmal ein kleiner Überblick
benste thanks
dholbach wie schon gerade angekündigt: wir werden uns eine Entwicklungsumgebung erstellen, dh. nötige Tools installieren, ich werd erzaehlen wofuer die da sind und ein paar Dinge einstellen, die uns das Leben einfacher machen
 danach wolle ich einen Überblick über Ubuntu Entwicklung geben, dh. der Release-Zyklus, wie man am besten "mit machen" kann
 und wir werden mit den Tools, die wir gleich installieren, ein wenig spielen
 super, legen wir los
dholbach als erstes würde ich Euch bitten die folgenden Pakete zu installieren: gnupg devscripts pbuilder
 also einfach
   sudo apt-get install gnupg devscripts pbuilder
 <holloway> FRAGE: Sollte vielleicht erwaehnt werden, dass wir Jaunty benutzen sollten, oder ist das egal?
 holloway: gute Frage - intrepid wird hier erst einmal ausreichen
 trotzdem will ich auf https://wiki.ubuntu.com/UbuntuDevelopment/UsingDevelopmentReleases hinweisen
 es ist extrem nützlich z.B. eine virtuelle Maschine oder ein Chroot oder eine Partition mit dem aktuellen Entwicklungsrelease zu haben, wenn man ordentlich testen und entwickeln will
 <legate> FRAGE: Wie viel Sinn macht es eigentlich, sich so viel mit der Ubuntu-Entwicklung zu beschäftigen? Wie viel von Ubuntu ist denn eigentlich Ubuntu selber? Ubuntu basiert schließlich auf Debian und hat als Display Manager GNOME. 
dholbach legate: wenn Du aktiv Ubuntu verbessern willst, dann ist diese Woche spannend für Dich
 <co0lingFir3> FRAGE: wenn ich pakete übers terminal installiere, werden sie nicht in der synaptic-chronik aufgelistet oder?
 co0lingFir3: Du kannst auch gerne synaptic benutzen
 OK
 so... was haben wir jetzt installiert?
 GPG (gnupg) ist ein Tool, mit dem man Nachrichten (und Dateien) verschlüsseln und signieren kann
 Warum brauchen wir das?
F30 Zum signieren der pakete
dholbach weil wir damit ausweisen können, dass WIR (und niemand anderes) diese bearbeitet haben
 F30: sehr gut
 diese Technik wird z.B. beim Hochladen der Pakete benutzt
F30 danke^^
dholbach wenn der Schlüssel des Uploaders (sorry für das Englisch hier :-)) nicht im Keyring enthalten ist, wirft die Build Maschine es einfach weg
 darüber gleich mehr
 devscripts enthält Dutzende von Tools die Paketieren sehr sehr einfach machen
 besonders Aufgaben, die immer wieder auf einen zukommen, z.B. das bearbeiten eines ChangeLogs
 pbuilder ist ein exzellentes Werkzeug um Pakete test-zu-kompilieren
dholbach es baut eine separate minimale Umgebung auf und kompiliert darin das Paket
 das hat mindestens zwei Vorteile: 1) ich brauch nicht alle Pakete zu installieren, die für das Bauen nötig sind, 2) ich teste damit, ob es in einer "sauberen" Umgebung auch baut
 Könnt ihr bitte jetzt eine Datei namens    ~/.pbuilderrc    anlegen
 und folgendes hereinschreiben:
 COMPONENTS="main universe multiverse restricted"
 dann einfach abspeichern
 <F30> FRAGE: Wie unterscheidet sich die pbuilder-Umgebung von der Haupt-Umgebung, was ist getrennt und was gemeinsam?
 F30: sie lebt einzig und allein in /var/cache/pbuilder - soweit ich weiß wird 'chroot' für die Interna verwendet
 man chroot (chroot(8)) hat mehr Informationen darüber
 <legate> FRAGE: Wie kann man denn ein Paket bauen (selbst in einer separaten Umgebung), ohne alle dafür nötigen Pakete zu besitzen?
 legate: die Build-Dependencies (Pakete, die für das Bauen gebraucht werden) werden nur in pbuilder selbst installiert und nicht lokal
 <co0lingFir3> FRAGE: wie kann man eine neue datei übers Terminal anlegen?
 co0lingFir3:   nano ~/.pbuilderrc   zum Beispiel
 gedit oder jeder andere Editor tut es auch
 sobald das erledigt ist, führt bitte
    sudo pbuilder create
 aus
 das wird dann ein wenig dauern, es müssen Pakete dafür herunter geladen werden usw.
 wir machen in der Zwischenzeit mit anderen Dingen weiter :)
dholbach sorry, hat gerade an der Tür geklingelt - bin wieder da
benste ;-)
co0lingFir3 ^^
dholbach OK
 danach editiert bitte noch  ~/.bashrc  
 und fügt am Ende etwas in der Art wie 
 export DEBFULLNAME='Daniel Holbach'
 export DEBEMAIL='daniel.holbach@ubuntu.com'
 an
 danach speichert bitte die Datei und führt folgendes aus:
    source ~/.bashrc
 (oder started einfach das Terminal neu)
 <legate> FRAGE: Wofür ist .bashrc denn da?
 legate: ~/.bashrc enthält Einstellungen für die Standard-Shell für neue Benutzer
dholbach wir setzen dort obige beiden Variablen, damit wir im weiteren nicht 100mal unseren Namen und unsere Emailaddresse von Hand eintippen müssen
dholbach <F30> FRAGE: Für alle Benutzer? Liegt doch in meinem Home?
 F30: die Standard-Shell für alle Benutzer
 ~/.bashrc ist für jeden einzelnen Benutzer, sorry
 <co0lingFir3> FRAGE: also ist die bashrc so eine datei, wo variablen drin stehen, auf die das terminal zugreift?
 co0lingFir3: unter anderem - sie enthält auch andere Skripte die aufgerufen werden etc.
 als nächstes führt bitte das hier aus:
    gpg --gen-key
 damit werden wir einen neuen GPG Key erzeugen
benste hate vorhin ne frage gestellt!
dholbach wenn ihr schon einen habt, könnt ihr dies ueberspringen
 benste: eins nach dem anderen :)
benste k
dholbach <benste> soll da der eigenen name oder nur nen paste rein
dholbach benste: Dein eigener Name und Deine eigene Mailaddresse
benste k
dholbach beim GPG Key belasst einfach alles beim Standardwert
 "DSA and Elgamal" und "2048" sind gut
 die Standardwerte sind dahinter in Klammern
 danach gebt, wenn ihr danach gefragt werdet bitte Euren Namen und Eure Mailaddresse ein
 bitte auch die, die ihr oben verwented habt (DEBFULLNAME und DEBEMAIL)
 verwendet
 dann gebt bitte einen Passphrase ein (nicht zu einfach)
 danach muss GPG ein wenig nachdenken, wird dann aber einen Key für Euch ausspucken :)
 <legate> Bekomme Frage: "Key is valid for?"
 Nimm einfach "0" den Standardwert
 das heißt soviel wie: der Key verliert niemals seine Gültigkeit
 Super, jetzt lassen wir pbuilder und gnupg mal noch ein wenig rummachen und widmen uns ein wenig der Ubuntu Entwicklung
 "Wie kann ich mitmachen?" werde ich sehr oft gefragt
 https://wiki.ubuntu.com/MOTU/GettingStarted hat einen schnellen Überblick über die wichtigsten Webseiten
 Alle wichtigen Links sind dort vorhanden
  - der Packaging Guide
  - Ubuntu Entwickler Dokumentation (Prozesse - wie werden Dinge gemacht?)
  - MOTU Videos
  - einfache Bugs zum loslegen, wenn man sich mit den Tools ein wenig vertraut gemacht hat
 ja, es ist alles auf Englisch
 <legate> Was ist das? "Not enough random bytes available.  Please do some other work to give the OS a chance to collect more entropy! (Need 283 more bytes)"
 legate: gpg braucht noch ein wenig mehr Zufallsdaten um den Key zu erzeugen - lass es einfach mal vor sich hin arbeiten
 Leider kann ich nicht die gesamte Entwicklerwelt auf Deutsch umstellen - Englisch ist die Lingua France
 ich kann Euch nur raten, Euch an ein paar deutsche Entwickler zu halten, wenn ihr Fragen wegen der Sprache oder Einzelheiten habt, aber bleibt dabei: probiert es einfach
 der Link den ich eben gegeben hab, enthält MOTU
 weiß einer was MOTU heißt?
benste mentoring ...
legate Master of the Universe
dAnjou message of the irgendwas?
dholbach legate: excellent! :)
legate die universe repository-packager
benste  MOTU project (which stands for Masters Of The Universe)
dholbach genau, das sind die Masters of the Universe
 die heißen so, weil die Mitglieder nach Universe und Multiverse hochladen dürfen
benste lol
dholbach die "Core Developer" können Pakete aller Teile von Ubuntu hochladen
 viel wichtiger ist aber jetzt: wie kann ich mitmachen, wenn ich jetzt noch kein MOTU oder core-dev bin?
 dafür haben wir Sponsoring
 angenommen ihr habt Euch einen Bug herausgepickt, ihn behoben und wollt, dass der Patch von jemand anderem (der das schon kann) hochgeladen wird
 dann hängt ihr den Patch einfach an den Bugreport in Launchpad an
 und subscribed entweder ubuntu-main-sponsors oder ubuntu-universe-sponsors
 und die prüfen das dann und laden es dann für Euch hoch
 nach dem ihr einige Zeit mit den Sponsors zusammengearbeitet habt und die Euch täglich auf die Schulter klopfen, sollte ihr vielleicht eine 'Bewerbung' an das MOTU Council schicken, die Euch dann in das Team aufnehmen werden
 https://wiki.ubuntu.com/SponsorshipProcess und https://wiki.ubuntu.com/UbuntuDeveloper erläutern das näher, aber die sind auch von der Getting Started Seite verlinkt
 die erste Frage sollte also nicht sein: "wie werd ich in das Team aufgenommen?" sondern "Wie lern ich, wie ich Patches schreibe und wie finde ich einfache Bugs?"
 Das erklär ich dann am Mittwoch um 17:00 UTC in "Fixing Bugs in Ubuntu" :-)
 <holloway> FRAGE: Mit ubuntu-main-sponsors oder ubuntu-universe-sponsors meinst du die Mailinglisten?
 holloway: das sind Teams in Launchpad
 einfach auf "subscribe someone else" klicken, und das Team eintragen
 damit gerät Dein Patch/Bug auf deren "Review Liste"
 noch irgendwelche Fragen dazu? :))
holloway Nein :)
dholbach Super, weiter gehts
 Eine Frage, die ich immer wieder gestellt bekomme ist: "Ich kann KEIN C und C++, kann ich trotzdem mitmachen?"
 Die Antwort ist: ja, definitiv!
dholbach Das spannende am Entwicklungsmodell von Ubuntu ist, dass wir alles als Team machen.
dholbach D.h. es gibt keinen "Maintainer" für jedes Paket, der eventuell blockieren kann, alles ist Teamwork bei uns.
 Und es gibt genug zu tun.
 Natürlich respektiert jeder, wenn jemand im Team besonders viel Ahnung von etwas hat, klar. :-)
 Wenn man sich jetzt ein bestimmtes Paket heraussucht, um das man sich ein wenig kümmern will, dann vergleiche ich das gerne mit einer "Botschafter-Rolle"
dholbach man kommuniziert nämlich zwischen Benutzern, anderen Entwicklern, den Software-Autoren, Betreuern anderer Distributionen und so weiter
 selbst wenn man den Quellcode nicht 100% nachvollzieht, kann man z.B. eine neuere Version paketieren
dholbach oder Bugreports an die Autoren der Software weiterleiten und wenn die einen Patch geschrieben haben, diesen Patch einpflegen
 dabei lernt man schnell eine ganze Menge
 <maix> FRAGE: angenommen ihr habt Euch einen Bug herausgepickt, ihn behoben und wollt, dass der Patch von jemand anderem (der das schon kann) hochgeladen wird -> öh was davon hab ich dann gemacht? nur den patch gesucht?
dholbach maix: wenn Du den Patch einfach finden kannst, statt ihn selbst zu schreiben: umso besser :)
dholbach oftmals lohnt es sich, ein bißchen Detektiv-Arbeit zu leisten
 und im Upstream-Bugtracker nachzuschauen
maix ah kanns sein dass nach behoben oder stehen sollte statt und?
dholbach oder im Upstream-Versionskontrollsystem
 maix: aehm, ich glaub ich verstehe nicht ganz
dholbach <maix> dholbach: angenommen ihr habt Euch einen Bug herausgepickt, ihn behoben ODER wollt, dass der Patch von jemand anderem (der das schon kann) hochgeladen wird
 mit "behoben" meinte ich: eine Lösung für das Problem gefunden
 also Fix vorhanden, aber noch nicht hoch geladen
 machen wir mal 5 Minuten Pause
benste danke :-)
dholbach vielleicht bin ich danach wieder etwas klarer :)
holloway dholbach: Kaffee? -g-
* juliux reicht dholbach eine mate
dholbach juliux: Danke, genau was ich brauchte :)
* F30 denkt mate ist ne gute idee und schließt sich an^^
F30 ab in den keller...
afflux asac kommt auch aus -de?
dholbach afflux: jap, der wohnt in Hamburg
afflux wieder was gelernt
dholbach OK, meine Freunde - weiter gehts
 sind noch weitere Fragen aufgetaucht?
 war alles stimmig so weit? :)
 <legate> ist sichergestellt, dass bugs in launchpad nicht besser in debian gepatcht werden sollen?
 legate: ausgezeichnete Frage
 heute um 19.00 UTC wird es eine Session genau zu dem Thema geben
 hier meine kurze Antwort: ich bin Ubuntu Entwickler und arbeite ausschließlich an Ubuntu und verwende es ausschließlich
 ich mache aber mein Leben wesentlich leichter (und bin ein guter Nachbar), wenn ich den Patch nach Debian (und die Softwaren Autoren des jeweiligen Projekts) weiterleite
dholbach Ich werde gleich etwas über Merges, Syncs usw. erzählen - alles Themen, die sich um Ubuntu und Debian drehen.
 <Brot>1 woher weiß ich welche informationen ich bei einem bugreport angeben muss bzw. wie ich zu den informationen komme?
 Brot1: das ist schwer allgemein zu beantworten, sehr wichtig ist: Programm- und Ubuntu-Version und genaue Schritte, wie Du reproduzieren kannst
 das ist allgemein und überall gleich
 die jeweiligen BugSquad Mitglieder und Paket-Betreuer werden dann spezifischere Fragen danach stellen
afflux *wink*
dholbach https://wiki.ubuntu.com/DebuggingProcedures hat weitere Informationen für spezielle Paketklassen
 <F30> FRAGE: Warum holt sich pbuilder die Pakete von jaunty, obwohl ich intrepid benutze?
 F30: das ist eine interessante Frage - benutzt Du intrepid-backports?
F30 jep
dholbach es könnte vielleicht wegen debootstrap aus -backports sein
 schau Dir die manpage von pbuilder vielleicht mal an
 man kann es auch explizit angeben
 oder https://wiki.ubuntu.com/PbuilderHowto
dholbach OK, weiter gehts
F30 laut manpage ist pbuilder " used for creating
        and maintaining chroot environment and building Debian package  in  the
        chroot environment." Vermutl. erstellt er deshalb eine passende Entwicklungsumgebung?
dholbach F30: vielleicht ist 'jaunty' der Standardwert im debootstrap aus 'intrepid-backports'
 zum herumspielen ist das jetzt erstmal so OK
F30 ok
dholbach jreinhardt FRAGE:Mein pbuilder scheint für Hardy zu sein, zumindest steht da: HardyDistribution is hardy.jreinhardt FRAGE:Mein pbuilder scheint für Hardy zu sein, zumindest steht da: HardyDistribution is hardy.
 jreinhardt: das ist OK so
 machen wir weiter
 ich wollte was über Merges und Syncs erklären
 dazu müssen wir ein wenig über den Release Zyklus reden
 wie ihr wisst kommt alle 6 Monate ein neuer Ubuntu Release heraus
 und der Grund warum das (bis auf einen einzigen Fall) so gut klappt ist weil wir einen sehr rigiden Release Zyklus haben
 der jetzige (Jaunty) ist hier abrufbar: https://wiki.ubuntu.com/JauntyReleaseSchedule
 was passiert also wenn die neue Distro "geöffnet wird"?
 erst einmal wird die Toolchain hochgeladen, d.h. wichtige Pakete wie gcc, glibc, binutils, usw
 ohne die geht erstma garnix :)
 wie ihr auf der Wikiseite seht: da ist alles grün
 das heißt "alles geht"
 zu dieser Zeit verwendet kein vernünftiger Benutzer die Distribution
 da ist erstmal alles kaputt
 die Pakete die wir nicht abgeändert haben (verglichen mit Debianpaketen), werden automatisch gesynct
 was heißt das?
benste abgeglichen?
dAnjou automatisch aktualisiert, wenn veraltet
sdx23 Von Debian übernommen?
dholbach benste: wenn wir ein unverändertes Debian-Source-Paket (den Quellcode des Pakets) haben und es in Debian eine neuere Version gibt, dann wird die automatisch "gesynced"
 das heißt das Quellpaket wird von Debian heruntergeladen und auf den Build-Servern gebaut
dAnjou Wäre "synchronisiert" nicht ein besserer Begriff?
dholbach dAnjou: synchronisiert geht definitiv, "the package got synced" ist der englische gängige Begriff
 daher mein "gesynced" :)
dholbach wenn das Ubuntu-Source-Paket modifiziert wurde, dann müssen die Änderungen des neuen Debian-Source-Pakets "gemerged" werden
 d.h manuell müssen die Änderungen übertragen werden
dholbach semi-manuell sollte ich vielleicht sagen
dholbach https://wiki.ubuntu.com/UbuntuDevelopment/Merging hat mehr Information darüber, wie ein Tool namens Merge-o-Matic (MoM) dabei hilft
dholbach an dieser Stelle wird bereits klar: je weniger Änderungen gegenüber dem Debian-Paket desto einfach das "Mergen"
 wenn ich also alle meine Patches nach Debian weiterleite
 ... und diese akzeptiert werden, kann ich das neue Paket von Debian "syncen" lassen
 macht das Sinn?
* dAnjou findet es so besser.
manueld ich würde ganz klar sagen, ja
dholbach Rock'n'Roll
 weiter im Release-Schedule
 als nächstes taucht Debian Import Freeze auf
dholbach ab diesem Zeitpunkt wird der "automatische Sync Prozess für unveränderte Pakete" abgestellt
 das wird gemacht, damit wir relativ früh anfangen zu stabilisieren
 das heißt dann noch nicht, dass nicht noch neue Änderungen von Debian manuell gesynced werden dürfen, nur der automatische Importer ist aus
 je dunkler die Farben, desto weniger ist erlaubt
 ab Feature Freeze sollte die Arbeit an Features weitgehend "im Kasten" sein
 natürlich wird es noch Bugs geben, aber die Funktionalität sollte da sein
 nach und nach wird das Artwork "eingefroren", der Kernel, die Übersetzungen und so weiter
 Feature Freeze ist für die Betreuungsarbeit interessant, weil neuere Upstream Versionen vom Release Team abgesegnet werden müssen
 wenn man aber belegen kann, dass die neue Version hauptsächlich Bugs behebt, geht das in Ordnung
 wieder: mehr Stabilität, weniger "Action" :)
 <jreinhardt> FRAGE: ab Feature Freeze also keine neuen Pakete? Das gilt auch für uni- und multiverse?
 jreinhardt: alle Regeln gelten für alle Teile von Ubuntu - was meinst Du mit "neue Pakete"?
jreinhardt noch nicht in Ubuntu befindliche
dholbach ah ok
 die fallen auch unter die Regel, aber dafür kann man sich auch eine "Genehmigung" holen, wenn man zeigt, dass es superviel Nutzen bringt
 die Überlegung hierbei ist, dass man will dass alle Beteiligten sich auf das Bugfixen konzentrieren
 und nicht auf die Review neuer Pakete usw.
 <legate> Der Kernel wird nach den Featuren eingefroren? Macht das Sinn? Der Kernel ist doch quasi die abolute Grundlage.
 legate: das schließt Bugfixes ein
legate ach so, dann macht es sinn
dholbach bis dahin sollte der Kernel absolut im Kasten sein, keine "letzte Minute"-Bugfixes mehr
 das wird gemacht, weil der Kernel sehr viele Auswirkungen auf den Installer hat
 d.h. neue CD Images müssen gebaut werden und alle Images in allen Test-Varianten neu getestet werden
 https://wiki.ubuntu.com/FreezeExceptionProcess beschreibt, wie man sich die "Freeze Genehmigungen" holt
 weitere Fragen? über den Release Zyklus, über Zusammenarbeit mit Debian? Ubuntu Entwicklung allgemein?
 <co0lingFir3> FRAGE: übernimmt debian auch irgendwas von ubuntu?
 co0lingFir3: ja, lass mich den Link schnell heraussuchen
 http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=ubuntu-patch;users=ubuntu-devel@lists.ubuntu.com ist eine (unglücklicherweise sehr unvollständige) Liste von Patches die mit einem bestimmen Tool nach Debian weitergeleitet wurden
 sehr sehr viele davon sind angenommen worden
co0lingFir3 ok danke
dholbach nicht jeder der weitergeleiteten Patches wurde jedoch mit dem speziellen Tag bedacht
 <benste> Frage: werden alle pakete also z.B. auch die des Gnome Projekts aus Debian heraus gesynct ?
 benste: am Anfang wurden alle gesynced
 an manchen Stellen, GNOME ist so ein Beispiel, haben wir uns entschieden eine neuere Version zu verwenden
benste k
dholbach z.B. ist in Debian unstable gerade 2.22.3 (habe das Paket gnome-desktop als Beispiel genommen)
 in Jaunty ist es 2.25.4
benste :-)
dholbach das Packaging selbst ist sehr sehr dicht an dem von Debian dran
 mit Packaging meine ich: die Änderungen die notwendig sind, um das Paket auf Ubuntu/Debian-Weise bauen zu lassen
 das mergen wir regel,äßig
 regelmäßig
 weil wir aber unterschiedliche Release-Zyklen haben, treffen wir manchmal unterschiedliche Entscheidungen
 davon profitiert immer der andere
 wenn wir ein neueres GNOME haben, testen das Benutzer, wir beheben Bugs zusammen mit den Software-Autoren
 Debian bekommt die Fixes später
 und umgekeht
 ein paar Worte über Packaging
 wenn man ein Paket bastelt, dann fängt man mit dem .tar.gz (dem Tarball) von der Webseite des Projektes an
 dann fügt man ein Verzeichnis im Quellcode mit dem Namen "debian" hinzu
 da hinein kommen all die Anweisungen, und Beschreibungen, um daraus nachher ein Paket zu bauen
 in "Packaging 101" um 18:00 UTC in #ubuntu-classroom mehr darüber
benste z.B.
 k
dholbach jetzt nur mal so viel dazu:
 das tolle in der Debian und Ubuntu Welt ist: wir haben einen Bau-Prozess, der für alle Sorten Pakete funktioniert
 sei es ein C Projekt, ein Perl Projekt, ein Python Projekt, ein paar PHP Skripte oder nur ein Haufen Artwork, der an die richtige Stelle gesteckt werden muss
 der Vorteil ist offensichtlich: wir müssen für den gesamten Bauprozess mit all den Abläufen nur einmal Tools schreiben
 machen wir mal ein Beispiel
 ist der pbuilder bei Euch allen installiert und fertig?
benste jo
co0lingFir3 jep
jreinhardt ja
dholbach super
 dann schaut mal schnell in eurer /etc/apt/sources.list nach, ob so ein Eintrag darin vorkommt:
dholbach deb-src http://archive.ubuntu.com/ubuntu/ intrepid restricted main multiverse universe
benste nö
dholbach wenn ihr GNOME verwendet könnt ihr das unter  System -> System-Verwaltung -> Software-Paketquellen -> Quelltext  hinzufügen
maix nö
 gehts auch mit gutsy? *duck*
dholbach maix: sollte glaub ich
 ansonsten halt per Hand einen ähnliche Eintrag hinzufügen
 deb-src http://archive.ubuntu.com/ubuntu/ intrepid restricted main multiverse universe
maix nur für kurz?
dholbach und dann         sudo apt-get update           aufrufen
 maix: kannst Du nachher auch wieder rausnehmen
maix ok
dholbach prima
 dann bitte folgendes ausführen
      apt-get source hello
 das ist das magische Kommando um das Quellpaket für 'hello' herunterzuladen
 also den Quelltext (plus das 'Packaging') für ein Softwarepaket das nicht viel mehr macht als "Hallo Welt!" auf den Bildschirm zu schreiben
 es ist Teil des GNU Projekts um gutes C (und Tools 'aussenrum') zu lernen :-)
 ich habe jetzt 3 Dateien herumliegen: hello_2.2-2.diff.gz hello_2.2-2.dsc hello_2.2.orig.tar.gz
 hello_2.2.orig.tar.gz ist der unmodifizierte Tarball von der GNU Webseite, er hat jetzt nur einen neuen Dateinamen
 hello_2.2-2.diff.gz ist der komprimierte Patch, um das Paket nach Ubuntu und Debian Richtlinien bauen zu können (das Packaging)
bullgard4 FRAGE: /etc/apt/sources.list enthält nicht 'deb-src http://archive.ubuntu.com/ubuntu/ intrepid restricted main multiverse universe', weil ich Hardy habe.
dholbach hello_2.2-2.dsc enthält Metadaten wie md5 Summen und so weiter - eine Textdatei
 bullgard4: dann ersetz intrepid durch hardy
 bullgard4: dann ersetz 'intrepid' durch 'hardy'
 oops
 danach    sudo apt-get update; apt-get source hello
 prima
 dann ist da noch ein Verzeichnis namens   hello-2.2   
 apt-get source hat den Tarball ausgepackt und den Patch für uns angewendet
 jetzt führt bitte mal
       sudo pbuilder build hello_2.2-2.dsc
 aus
 das wird das Paket im pbuilder für Euch bauen
dholbach <maix> FRAGE: also es hat `tar -xf hello_2.2.orig.tar.gz; gunzip hello_2.2-2.diff.gz | patch` gemacht?
 maix: tar xfz hello_2.2.orig.tar.gz; cd hello-2.2; zcat ../hello_2.2-2.diff.gz | patch -p1
 ... würde ich sagen
 aber ja, nach dem Prinzip
 das fertige Paket sollte dann in    /var/cache/pbuilder/result    liegen
 TAAAAAATAAAAAAAAAA!
 <co0lingFir3> FRAGE: woher kommt das diff-file wenn wir noch keine änderungen gemacht haben?
maix dholbach: hups stimmt gunzip -c natürlich
dholbach co0lingFir3: das hat der Debian-/Ubuntu-Entwickler gemacht, der hat das Packaging "geschrieben"
 co0lingFir3: mehr darüber gleich in der "Packaging 101" Session in #ubuntu-classroom
co0lingFir3 k
dholbach weitere Fragen? :)
jreinhardt ls
dholbach also das .orig.tar.gz plus das .dsc plus das .diff.gz nennt man "source package"
 und mit        apt-get source <paket>       kriegt man den Quellcode jedes Ubuntu-Pakets
benste so und wie rümt man hinterher alles auf?
 sorry falscher channel
dholbach benste: pbuilder deinstallieren und /var/cache/pbuilder/ löschen, wenn Du ihn nicht mehr haben willst
benste ne pbuilder schon
 aber nur das neue helle nicht
benste ist das nur in dem cache und im home?
dholbach benste: einfach   rm -r hello*
 benste: genau
benste k
dholbach weitere Fragen? über Ubuntu Entwicklung im allgemeinen? über mich? wie man mitmachen kann?
manueld FRAGE: wie war dein werdegang, wie bist du zu canonical gekommen?
dholbach <co0lingFir3> FRAGE: wie lange bist du eigentlich schon bei der ubuntu-entwicklung dabei, daniel?
 hehe
 ich habe Ubuntu schon vor warty benutzt und hab Pakete geupdated, weil ich neuere Versionen für meine Diplomarbeit gebraucht habe
 ich hab einfach Fragen gestellt und es gab immer liebe Leute, die mir  weitergeholfen haben
 weil das ganze natürlich spannender war als die Diplomarbeit selbst, hab ich am Anfang mitorganisiert
 wir waren ein sehr kleines Team und es war sehr viel "Pionier-Atmosphäre"
 eines Tages habe ich mich mit Mark im IRC unterhalten und er hat mich gefragt, was ich über die Community denke
 glücklicherweise hat er mich dann für das nächste UDS (Ubuntu Developer Summit) eingeladen
 wo ich dann ein Bewerbungsgespräch hatte :)
 <benste> FRAGE: Wie stehst du zu dem Vorwurf, das Ubuntu Entwickler sich meist nur an anderen Projekten bereichern, und selbst viel zu wenige Patchs bereitstellen würden?
 benste: Ubuntu ist eine sehr junge Distribution und wir haben ein kleineres Team, als z.B. Debian
 wir haben aber exzellente Beziehungen mit vielen Upstream-Projekten
 "bereichern" halte ich persönlich für unsinnig
 perfekt ist sicherlich vieles noch nicht, ich denke aber wir sind definitiv "gute Nachbarn"
 https://edge.launchpad.net/ubuntu/+upstreamreport z.B. ist etwas, das andere Distributionen noch nicht haben
 es zeigt, wie gut unsere Zusammenarbeit mit großen Upstreamprojekten mit Bugs ist
 <schmiedc> Frage: wie sind denn die Teams organisiert und wie kann man so einem Team joinen?
dholbach schmiedc: schau Dir einfach mal https://wiki.ubuntu.com/MOTU/GettingStarted und https://wiki.ubuntu.com/Teams an
dholbach sorry, mehr Zeit haben wir nicht
schmiedc np
afflux ich kann da gerne noch was zu sagen
dholbach ich hoffe, ihr seid nachher alle in #ubuntu-classroom
legate hängt vom thema ab, mal nachsehen...
dholbach vielen Dank für die tolle Session und eine tolle Ubuntu Developer Week Euch allen!
F30 danke, dir auch!
zerwas Ich danke auch!
schmiedc danke !
afflux *applaus*
maix danke, aber ich komm mit rüber ;)
afflux super session!
dholbach :-)))))
F30 ciao
* sdx23 claps
benste JO echt vieln dank für deine vielen infos, besonders dann wenn du bestimmt merkst, das dein gegenüber keine ahnung hat :-)
co0lingFir3 danke!!! war echt super!
afflux schmiedc: soll ich noch ein wörtchen zu den teams verlieren?
dholbach benste: einfach fragen
 :-)
benste jo
 bis demnächst mal
 Mitwoch vielleicht

MeetingLogs/devweek0901/GettingStartedDE (last edited 2009-01-19 19:48:42 by dholbach)