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 i59F707BB)