== Dev Week -- Getting Started with Ubuntu Development -- dholbach -- Mon, Feb 28th, 2011 == {{{#!irc [16:00] HELLO MY FRIENDS!!! [16:00] hello dholbach [16:00] hi [16:00] howdy [16:00] It's Ubuntu Developer Week and it's starting RIGHT NOW! [16:00] hi [16:00] Start [16:01] dholbach, :) start [16:01] hello! [16:01] ok, so first things first [16:01] hello! [16:01] can all kinds of chat and questions please please please (with sugar on top) go to #ubuntu-classroom-chat please? [16:01] if you haven't joined that channel yet, can you please do that now? [16:01] hello ! [16:02] to review the schedule and get more information about the sessions, check out https://wiki.ubuntu.com/UbuntuDeveloperWeek [16:02] that's the only page you need to bookmark for now :) [16:03] excellent, let's get started [16:03] if you have any kinds of questions, please ask in #ubuntu-classroom-chat === hakimsheriff_ is now known as hakimsheriff [16:03] and please make sure you prefix it with QUESTION: [16:03] ie: "QUESTION: What is your dog's name?" [16:03] etc [16:03] it makes it easier to figure out what exactly the question is :) [16:04] first of all I'd like to thank all speakers - we have a pretty divserse schedule and it's going to be an awesome week [16:04] Logs for this session will be available at http://irclogs.ubuntu.com/2011/02/28/%23ubuntu-classroom.html following the conclusion of the session. [16:04] my name is Daniel Holbach, I live in Berlin and have been part of the Ubuntu Community for ~6 years [16:04] my primary interest is and always was the developer community [16:05] so it's my honour today to talk about "getting started with Ubuntu Development" and you'll be stuck with me for the next 2 hours :) [16:05] in the first hour I'd like to give you a very broad overview of Ubuntu development, Ubuntu's infrastructure, give you an idea of our processes, how we interact with other projects, etc. [16:06] I won't answer all the questions you have, but I hope I can give you an idea how all the bits and pieces fit together [16:06] in the second hour I'll help you get your development environment set up [16:06] so for the rest of the week you should be all set up and ready to go [16:06] do we have any first questions already? [16:06] (if not, I'd say we get cracking now :-D) [16:07] <20QAAV4RZ> QUESTION: I'm a total newbie with lernid - do I need to hear something or is all done via chats? [16:07] 20QAAV4RZ, yes, it will be done all via chat - some of the sessions will be more tutorial style, so you might have to do a few things in the terminal [16:08] ok, let's get cracking :) [16:08] as you all know Ubuntu is made of thousands of packages [16:08] libraries, tools, apps, games, etc [16:08] they're written in many different languages, and they're all available as source packages [16:09] a source package typically consists of the actual source code and some meta-data [16:09] every single change that gets made (be it just a small fix or a new version, etc.) requires an upload to the build machines (part of Launchpad), where the source package gets transformed into binary packages (.deb packages) === 20QAAV4RZ is now known as hugohirsch [16:10] QUESTION: i am using pidgin..not lernid..is it okay?? [16:10] susenj, yes, totally [16:10] QUESTION: will multiple shells be covered? [16:10] gartral, it shouldn't really matter which shell you're using [16:10] how to see video? [16:11] ok, once the .deb files (binary packages) are available, they are pushed to various mirrors [16:11] and they're also used to build CDs of all kinds of Ubuntu flavours (Ubuntu server, Kubuntu, Ubuntu Desktop, etc.) [16:12] so no matter if you use Kubuntu or Ubuntu or Xubuntu or anything else... all the changes are uploaded to the same build machines and are part of the same archive [16:12] QUESTION: Do I need to be on Ubuntu for this session ? [16:12] Kroosec, no, not necessarily - later on for the tutorials probably [16:12] QUESTION: was session started ? [16:12] raju, yes - if you missed the start there will be logs on https://wiki.ubuntu.com/UbuntuDeveloperWeek later on [16:13] the CDs are mostly built every single day, so that's what we use for installation tests, etc. [16:13] QUESTION: WIll there be a formal QnA later on? I want to ask questions but not interrrupt you [16:13] manish raju: you dont put that [16:14] middle: please just ask - I'll decide myself when I take a small break to answer a couple of questions :) [16:14] ok, so much for the Ubuntu archive, packages and how they're built [16:14] let me talk a bit about the Ubuntu release cycle [16:15] what Ubuntu developers focus on heavily depends on the release schedule [16:16] as you know Ubuntu is released every 6 months, and to able to deliver on the exact date, we need to stick to the dates in the schedule [16:16] if you want to see the schedule for the current development release, check out https://wiki.ubuntu.com/NattyReleaseSchedule [16:17] if you don't have problems with seeing colours, you see that there's green at the start and red at the end [16:17] "green" does NOT mean: "it's all working, it's all great" [16:17] it rather means "everything goes, you can upload whatever changes you want/need" :) [16:18] towards the end of the release cycle we introduce more and more freeze dates, where the changes are becoming less and less intrusive [16:18] but let's go back to the beginning [16:18] first the toolchain (the most basic build-relevant packages) are set up, then we work on merging changes that have happened in Debian (and other software projects) since we got out the last release [16:19] then there's Ubuntu Developer Summit (UDS), which I'll talk about a bit later - for now it should be enough to say that it's where the features of the release are defined and agreed on === tarun is now known as Guest97414 === Guest97414 is now known as c2tarun [16:20] Debian Import Freeze is the first freeze date that appears in the list - it's where we stop to automatically "sync" source packages from Debian [16:20] this is done as a measure to start to stabilise the code in Ubuntu, but can be overriden in warranted cases [16:21] next up is Feature Freeze, where we expect big parts of features to be landed [16:21] if they still have bugs, that's fine, but if they're not there in rudimentary form, then that's a problem and we might consider to postpone them to the next release [16:22] Feature Freeze is also the date where try to slow down introducing new versions of packages (again: in order to stabilise, and yes there might be warranted cases where we want to override) [16:22] from Feature Freeze on, we introduce more and more other freezes, UI, Docs, Kernel, etc etc [16:23] this is done, so that we focus on show stopper bugs and don't introduce any big changes any more and bring Ubuntu in a releasable form :) [16:23] April 28th is the date we're aiming for this release and I'm quite sure that that's where we'll get the release out :) [16:24] Question: How long someone can be a MOTU? 6 month from first upload or depends on how much uploaded or depends from recommendations? [16:24] udienz, to become an Ubuntu developer I'd prefer not to give and concrete number of weeks/months === MickStep is now known as QUESTION === RobertM is now known as Guest98250 [16:24] I personally feel that if you gained the trust of other developers you've worked with (more on the topic later on), you're ready [16:25] ok, so much for the release schedule for now :) [16:26] but I guess you got a better idea now why it makes more sense to upload a rewrite of a piece of software EARLY in the cycle, and not 5 days before release :) [16:26] etc :) [16:27] and you can also imagine now that with thousands of packages, millions of lines of code, hundreds of project and hundreds of developers communication/coordination is very important [16:27] QUESTION: How would developer's code get into the main ubuntu code? Which tools are used for development and commits, how these commits are tested by others for authentication? [16:27] monish001, I'll get to that in a bit [16:28] QUESTION (later): I find a bug in a gnome package, checked out the sources, discovered that the bugfix merely is a 'remove commented out line in sources' - how do I get this into Ubuntu? [16:28] hugohirsch: I'll get to that in a few minutes as well :) [16:28] I touched on UDS (Ubuntu Developer Summit) a bit earlier on already [16:29] it's where hundreds of people get together in one location and for one week discuss all kinds of problems they want to solve in the next cycle [16:29] the great thing is, if you can't be there physically, you can attend remote (talk on IRC and listen in via audiocast) [16:30] the outcomes of the sessions are written up as specifications, so all the ideas, assumptions, rationale and action plan is recorded publicly and others can involved helping to solve those problems [16:31] while this works well for "big picture" things, there are loads of day-to-day decisions that are made on mailing lists (ubuntu-devel@lists.u.c for example) or on IRC channels, such as #ubuntu-devel [16:31] of course if there's a specific software project that interests you that is outside of Ubuntu, you might want to be on the project's mailing list and IRC channel as well [16:32] another important medium for discussion and coordination is bug reports [16:32] you can find all of Ubuntu's bugs at https://bugs.launchpad.net/ubuntu === pixelmeister_ is now known as rechengehirn [16:33] it makes it much easier to stay on top of what needs to be fixed if you're subscribed to a specific package's bugs, talk to its authors, etc [16:34] we also make deliberate use of bug statuses, tags and assignee fields to track what's in progress and who's working on it [16:34] QUESTION: What's the 'process' model of Canonical/Ubuntu? Scrum? XP? How are you guys managed/tracked? [16:35] hugohirsch, first you need to distinguish between Canonical and Ubuntu - Canonical's engineers are part of the Ubuntu community as is everyone else [16:35] there are a lot of software projects that originate in the Ubuntu world and they make use of whatever release management they like best [16:36] there is the Kanban approach in Launchpad for example, there is others that "release when it's ready" [16:36] there's others who have regular meetings, etc. - there's a huge variety [16:36] I mentioned it before already... we rely on a lot of other software projects [16:37] not all the code that is shipped in Ubuntu is written by Ubuntu developers [16:37] projects that release code which we integrate into Ubuntu are called "upstream projects" or short "upstreams" [16:37] it's critically important to us to have a great relationship to all of these [16:38] we need to talk about timeframe of releases, pass on information about bug reports, pass on code changes, etc [16:38] one of the most important Upstream projects for us is Debian (luckily, there'll be dedicated session about Debian later in the week) [16:38] Debian is a distribution itself and we inherit a lot of changes immediately from Debian [16:39] also were most of the technical decisions made in (or in conjuction with) Debian too [16:40] so there's package maintainers or package maintenance teams in Debian, with whom it's very interesting to have a conversation if you plan changes or want to coordinate work [16:40] (as I said earlier: there'll be a session about that later in the week - YES!) [16:40] QUESTION: on Which Irc channel can I get help on develoment related question/problems? [16:40] wolfpack, #ubuntu-motu on irc.freenode.net should be a good start [16:41] ok... some of you wanted to know earlier already... how do I get my changes into Ubuntu [16:41] so let's talk about that now [16:41] it's not daunting at all and it's very rewarding - not only because you learn something new every single time (at least I did), but also because you fix problems for millions of users out there [16:42] because new contributors can't immediately upload to the build machines themselves (we use GPG to track who uploaded changes, etc.), they need somebody who reviews their changes first and uploads for them [16:43] and that's a great way to learn, as you interact with loads of different people and they all might teach you something new [16:43] and also you make loads of great friends [16:44] barry will later on talk about Ubuntu Distributed Development, so explaining the exact process of how to branch a source package, how to submit changes, etc. [16:44] so I won't steal his thunder by going into technical details :) [16:45] basically: you get the source, you make your changes, you test build the code, test it, push it for review, get it reviewed and uploaded - BUG FIXED :) [16:45] QUESTION: Do I need to choose a reviewer or is a reviewer assigned via Launchpad automatically? [16:45] hugohirsch, you don't have to choose === dholbach_ is now known as dholbach === rahadian is now known as razorBAT [16:47] sorry [16:47] fell out of the internet for a second :) [16:48] hugohirsch, naturally if somebody has their special area of expertise with some package, you might talk to them over and over again :) [16:48] QUESTION: What languages are used for Ubuntu Development? [16:48] mauriciocinelli, all kinds: C, C++, Python, Perl, Java, Mono, Vala, etc etc etc. [16:48] the good thing is: you don't need to know "all of them" to get started [16:49] you can easily lay back, take it easy, fix a few simple and obvious bugs first and take it from there [16:49] and as I said a couple of times already: you learn more and more over time [16:49] QUESTION: how to customize the bootloader? [16:50] abcd87, I'm afraid I don't know - if you elaborate on your question, you might find somebody who's cleverer than me in #ubuntu-devel :) [16:50] I really like mauriciocinelli's question, so I'll talk about that a little bit more [16:51] if you ask me it's not so much about knowing n+1 programming languages already [16:51] it's about having a knack for making things work again [16:51] it's about doing some detective work [16:51] it's about being a team player [16:51] it's about not being afraid of reading documentation [16:51] it's about not being afraid of asking a few (seemingly) stupid questions [16:52] if you answered "Yes" more often than "no" to the points above, you should fit right in [16:53] detective work also involves talking to upstreams and people from other distributions, coordinating with them - sometimes a fix for a specific issue might be available already and you just need to get it into Ubuntu as well [16:53] QUESTION: Are you considering using Go (Google's language) at one point since it's designed for OS/service development [16:53] MeanEYE, I don't know how many packages already make use of it === bobthebob is now known as bobthebob1234 [16:54] but I'm sure it will get considered if there's demand for it [16:54] Ok... with that I suggest we take a 5 minute break before I help you get started and get your development environment set up [16:54] so get yourself a coffee or tea or glass of water and I'll see you in 5 minutes === abc_ is now known as Guest32570 [17:00] ok... we're back for part 2 of "getting started with ubuntu development" [17:01] for those of you who came late... don't worry - we'll put up logs of all sessions up at https://wiki.ubuntu.com/UbuntuDeveloperWeek later [17:01] also, if you want to chat, ask questions and all the rest of it, please head to #ubuntu-classroom-chat [17:01] and prefix questions with QUESTION [17:01] QUESTION: What about for people that don't know any programming language? How can they help with development process? Translations, reporting bugs, testing the code, discussing in the brainstorm. Is there more? Any web page? [17:02] jack002, you can do all of what you mentioned, but you can also try to fix small and obvious bugs - don't hesitate :) [17:02] QUESTION: What do yo uthink hte best route froa student currently studying A-levels woulkd be to get intot eh wolrd of open source software development? [17:03] middle: yes, I think it's a great choice to get involved in Ubuntu development - you'll learn loads because you basically touch all parts of an operating system - it's a fun experience and will help you figure out what you really enjoy doing [17:03] QUESTION: James Gosling resigns from sun/oracle and now oracle wont provide support for J2SE n J2M. will this affect ubuntu packaging in java? [17:03] *J2ME [17:04] darkdevil56, I'm not a Java hacker, so I don't know - I personally haven't heard of any big concerns in the open source community yet though [17:04] QUESTION: will ubuntu/canonical be taking part in the Google Summer of Code this year? [17:04] qayshp, Ubuntu will definitely apply as a mentoring organisation - the decision will be with Google though :) [17:05] alrightie [17:05] that's all the outstanding questions from part 1 as far as I could see [17:05] in part 2 I'll help you get your ubuntu development environment set up === QUESTION is now known as MickStep [17:06] you will need reasonably fast internet for this, so if things take longer for you, don't despair - take it easy and just open a second terminal and continue with other steps in the meantime [17:07] also there might be some steps involved that you already did on your own some time ago - feel free to skip those [17:07] (ie: you set up a GPG key already - you don't need two :-)) [17:07] alrightie [17:07] let's get cracking :-D [17:07] in a terminal, please run this command [17:07] sudo apt-get install gnupg pbuilder ubuntu-dev-tools bzr-builddeb [17:08] while it runs and installs a few packages, I'll talk a bit more about what we're doing here [17:08] once we're done with this session, [17:08] - you have all the tools to do Ubuntu development installed on your machine [17:08] - your local developer tools know about you, which simplifies work a lot [17:08] - you can do local builds of packages [17:09] - you can interact with other developers and propose your changes on Launchpad to get merged [17:09] - you can upload packages to Launchpad, so they are hosted in your Personal Package Archive (PPA) [17:09] another word of advise: if you do Ubuntu development, it's incredibly helpful to run the current development release [17:10] we all know that from time to time the current development release is quite broken, so it's obvious that you might not want to run it as your one and only Ubuntu system [17:10] https://wiki.ubuntu.com/UsingDevelopmentReleases explains how you can easily and safely use the development release [17:10] (you don't need to do that now) [17:11] QUESTION: If I have a private GPG-key and one for ubuntu development. What do you recommend? Work as a separate user with the ubuntu-GPG-key or is there an easy way to switch between keys when working on ubuntu-stuff on the console ? [17:11] hugohirsch, you can easily specify whichever one you want to use [17:11] QUESTION: did you mean to say PGP, instead of GPG? [17:11] fisch246, I meant to say GPG (GNU Privacy Guard), which implements the OpenPGP standard [17:12] QUESTION: During install it asks general type of mail configuration? [17:12] mauriciocinelli, sorry about that - you can also run the install command with "--no-install-recommends" if you want to avoid the mail configuration [17:12] QUESTION: how is the gpgkey introduced in the mended package [17:12] stefwal82, I don't understand the question [17:13] QUESTION: what's postfix config? [17:13] darkdevil56, you can also run the install command with "--no-install-recommends" if you want to avoid the mail configuration [17:13] ok.. let's see what kind of packages we're installing right now....... [17:13] there's: [17:13] - gnupg which you will need to create a GPG key with which you will sign files you want to upload to Launchpad [17:14] - pbuilder which is a great tool to do a reproducible build of a package in a clean and isolated environment [17:14] - ubuntu-dev-tools (and devscripts, a direct dependency) which provide you with a collection of tools that make a lot of packaging tasks a lot easier [17:14] - and there's bzr-builddeb (and bzr, a dependency) which will get you set up for working in the distributed development environment, that makes it easy for many developers to collaborate and work on the same code while keeping it trivial to merge each others work [17:16] A few people seem to have problems downloading packages - if you hit any problems, please head to #ubuntu-classroom-chat - there's people who are going to help you out. [17:16] ok... let's talk about gpg (GnuPG) first [17:16] it is important that you can sign files with your key, so they can be identified as something that you worked on [17:17] if you upload a source package to Launchpad, it will only accept the package if it can tell who uploaded the package [17:17] If you don't have a GPG key yet, please run this command in a terminal: [17:17] gpg --key-gen [17:17] GnuPG will first ask you which kind of key you want to generate. Choosing the default (RSA and DSA) is fine. [17:17] Next it will ask you about the keysize. The default (currently 2048) is fine, but 4096 is more secure. [17:18] Afterwards it will ask you if you want it to expire the key at some stage. It is safe to say “0”, which means the key will never expire. [17:18] The last questions will be about your name and email address. Just pick the ones you are going to use for Ubuntu development here, you can add additional email addresses later on. [17:18] QUESTION: gpg --key-gen [17:18] middle: sorry, my mistake [17:18] it's: [17:19] gpg --gen-key [17:20] once you're done with the questions it asked, there'll be also one about a "comment" [17:20] Adding a comment is not necessary. [17:20] Then you will have to set a passphrase. Choose a safe one. [17:20] Now GnuPG will create a key for you, which can take a little bit of time, as it needs random bytes, so if you give the system some work to do it will be just fine. [17:21] just keep it sitting there and do its work - if it takes very long, open another terminal :) [17:22] the next step will be to generate a SSH key [17:22] SSH is a network protocol that allows you to exchange data in a secure way over the network. In a lot of cases you will use it to access and open a shell on another machine. It is also very useful to transfer files in a secure way. [17:22] if you don't have an SSH key yet, just run [17:22] ssh-keygen -t rsa [17:22] The default filename makes sense, you can just leave it as it is. Also you can choose to use a passphrase or not. [17:23] We will use the SSH key to securely push code changes to Launchpad. === msnsachin12 is now known as msnsachin [17:23] next we'll set up pbuilder [17:23] pbuilder allows you to build packages locally on your machine. It serves a couple of purposes: [17:24] - the build will be done in a minimal and clean environment, where you can see if it succeeds in a reproducible way (with no modifications of the local system [17:24] - there is no need to install all necessary build-dependencies locally [17:24] - you can set up multiple instances for various Ubuntu and Debian releases [17:24] QUESTION: why should communications be secured with RSA instead of AES? [17:25] gartral|watcher, I'm afraid I don't know the answer to that question - it's what we use... you might get a more elaborate answer on #ubuntu-devel though :) [17:25] QUESTION: Does pushing code neccesary nedds ssh connection? As I am working university network proxy and can make connection through http only. [17:25] wolfpack, that might be a problem then - the nice people in #launchpad might give you an alternative option [17:26] QUESTION: I already have ssh keys set up (I created them for use with github). Do I need to regenerate ? [17:26] abhinav51, no, not necessary [17:26] Setting pbuilder up is very easy. Edit ~/.pbuilderrc and add the following line to it: [17:26] COMPONENTS="main universe multiverse restricted" [17:26] and save the file [17:27] This will ensure that build-dependencies are satisfied using all components. [17:27] then run: [17:27] pbuilder-dist natty create [17:27] This will take a while as it will download all the necessary packages for a “minimal installation”. These will be cached though. [17:28] the great thing about pbuilder-dist is, that you can also set up build environments for other Ubuntu (or Debian) releases [17:28] (just replace "natty" with whatever else you need) [17:28] QUESTION: more of an extension of the previous question, but, will launchpad accept keys larger than 2048 bits? [17:28] gartral|watcher, I could very well imagine that yes they do, but you might want to ask that question in #launchpad too :) [17:28] (sorry :)) [17:29] QUESTION: you specify natty on the pbuilder-dist cmd line, does it matter that I'm running on a lucid box? [17:29] cire831, no, it should still work :) [17:29] QUESTION: I htink some of your commands are off, there was nothing in the file that we added the line to ans nuilder-dist wasn#'t found =s [17:29] middle: if ~/.pbuilderrc was empty, that's totally fine [17:29] QUESTION: will pbuilder-dist be upstreamed to Debian? I was surprised to learn that it's in ubuntu-dev-tools rather than devscripts [17:30] maco, it'd be great to see it in Debian too - if you want to propose it for devscripts, please go ahead and do it :) [17:30] maco, you of all people should know how to get that done :-D [17:30] QUESTION: Is there a way to make pbuilder use more than one core on a multicore machine? [17:31] hugohirsch, I would think so - can somebody confirm in #ubuntu-devel? :) [17:31] QUESTION: There is no ..pbuilderrc in my home directory [17:31] mainerror, that's fine - just create it [17:31] QUESTION: Must pbuilder-dist be run as root? Or does it use a fakeroot behind the scenes? [17:31] gmargo3, the reason why pbuilder-dist (via pbuilder) uses root is that it uses chroot internally [17:32] QUESTION: where is it putting the natty files? [17:32] cire831, ~/pbuilder === IAmNotThatGuy is now known as M0hi [17:32] QUESTION: In ~/.pbuilderrc , which directory does ~ means? [17:32] monish001, your home folder [17:33] alright, let's crack on :) [17:33] next we'll teach Bazaar about yourself [17:33] Bazaar is the tool we use to store code changes in a logical way, to exchange proposed changes and merge them, even if development is done concurrently. [17:33] Simply run: [17:33] bzr whoami "Frank Chu " [17:33] bzr launchpad-login fchu [17:33] (please, if your name is not "Frank Chu", replace with your own name, thanks) === wolfpack is now known as Guest40940 [17:34] if you don't have a launchpad account yet, you can get it if you sign up at https://launchpad.net/+login [17:35] (and do that step later on) [17:35] if you have launchpad account, your launchpad id is whatever is after "~" in the URL that https://launchpad.net/people/+me redirects you to [17:35] QUESTION: What do we do with our SSh key, can we jsut close the terminal as it is saved somewhere or do we need to write it down? [17:35] middle: yes, just close it - that's fine [17:36] ok, next we'll teach the development tools about ourselves === Guest40940 is now known as wolfpack [17:36] Edit ~/.bashrc (if you use a different shell use whatever configuration file it comes with) [17:36] and add something like this to the bottom: [17:37] export DEBFULNAME="Frank Chu" [17:37] export DEBEMAIL="fchu@example.com" [17:37] (again, please replace with whatever YOUR name and YOUR email is :)) [17:37] afterwards save the file and run [17:37] source ~/.bashrc [17:38] sorry, please make this DEBFULLNAME [17:38] (thanks sapphirepaw) [17:39] if you have a look back at the terminal where your gpg key was created, you might see a message like this: [17:39] pub 4096R/43CDE61D 2010-12-06 [17:39] Key fingerprint = 5C28 0144 FB08 91C0 2CF3 37AC 6F0B F90F 43CD E61D [17:39] uid Daniel Holbach [17:39] sub 4096R/51FBE68C 2010-12-06 [17:39] in this case "43CDE61D" is my GPG ID [17:40] if you had a GPG key before, run this: [17:40] gpg --fingerprint [17:40] it should give you a similar output [17:40] once you know your gpg key id, you can run: [17:40] gpg --send-keys [17:40] which will upload your key to the keyservers, which allows others to confirm that something you signed is actually from you [17:41] (if you uploaded it already, you can obviously skip that step) [17:42] it would take too much time to go through all the individual steps (it's not that bad actually) to register you gpg and ssh key with LP, so for now I'll just give you the links you need: [17:42] - https://launchpad.net/people/+me/+editpgpkeys (GPG key registration) [17:42] - https://help.launchpad.net/YourAccount/ImportingYourPGPKey (docs for gpg key registration) [17:42] - https://launchpad.net/people/+me/+editsshkeys (ssh key registration) [17:42] - https://help.launchpad.net/YourAccount/CreatingAnSSHKeyPair (docs for ssh key registration) [17:42] and that's really it :-) [17:43] QUESTION: "bzr: ERROR: The user paul-mcspadden has not registered any SSH keys with Launchpad." and how do i go about doing this? [17:43] fisch246, you can fix this at https://launchpad.net/people/+me/+editsshkeys [17:43] QUESTION: How can i delete an outdated key from the keyserver? [17:43] HoellP, as far as I know you can revoke a gpg key locally and then upload the revoked key to keyservers [17:44] QUESTION: how do you sign something? [17:44] stefwal82, the development tools will do that "automatically" for you, but you can set up your mail client to sign mails, or sign files manually [17:44] QUESTION: Sending the gpg-key fails with 'keyserver not configured' error. Can I upload my GPG-key to launchpad or does it need to be available via an open key server? [17:46] hugohirsch, you can specify --keyserver keyserver.ubuntu.com (for example) [17:46] QUESTION: which key am i supposed to send? pblic or secret? [17:46] darkdevil56, never share the secret key (--send-keys will figure that out for you) [17:47] QUESTION: Output of 'bzr whoami "Name " '? I am getting blank.. [17:47] monish001, that's fine - the command succeeded [17:49] any more questions? [17:49] if you missed anything, or things are still being worked on, just follow the log of the session later on again - it's fine if you needed a little bit more time :) [17:49] QUESTION: Thx - uploaded my GPG-key. Will it automatically be connected/synced with my Launchpad account? [17:50] hugohirsch, no, you need to head to https://launchpad.net/people/+me/+editpgpkeys to tell Launchpad about it [17:50] QUESTION: the ssh command that i had typed earlier is retrieving and validating all the packagges till now.. is this normal? [17:50] darkdevil56, that must be the pbuilder-dist command - yes that's to be expected - just let it do its work :) [17:50] QUESTION: Is there anything else we need? [17:51] mauriciocinelli, that should be it for now - it should set you up for a good start - whatever else is required for others sessions will be dealt with there [17:51] are there maybe some more general questions about Ubuntu development? [17:51] we still have ~10 minutes before I have to hand the mic to barry :) [17:52] * barry clears his throat [17:52] QUESTION: not completely related, more about the process itself: are the packages synced from debian just the plain packages and ubuntu does the ubuntuspecific patches from-scratch for every new release? or are ubuntu-patches automatically applied on sync and if they don't merge, they must be merged by hand? [17:52] steinex, good question and it will be dealt with in the Debian session === kai__ is now known as rechengehirn [17:53] for now: if the source is unmodified from Debian and we're before Debian Import Freeze, they will be synced automatically and built in Launchpad [17:53] if there are ubuntu changes we need to "merge" and we have a tool that helps us with that (http://merges.ubuntu.com) [17:53] QUESTION: I read something about https://wiki.ubuntu.com/MOTU/Mentoring Could you explain more in detail how it works and who should use it? [17:53] acarpine, unfortunately the Mentoring programme is out of order at this moment [17:54] I suggest you check out https://wiki.ubuntu.com/MOTU/GettingStarted and please feel very welcome to ask all the questions you have in #ubuntu-packaging or #ubuntu-motu [17:54] even if it's not a dedicated mentor for you, there's loads of people who are very happy to help you get started and solve your problems [17:54] QUESTION: I uploaded my key, but LP doesn't find the key with the given fingerprint. Do I need to wait for synchronisation between LP and Ubuntu-Keyserver? [17:54] hugohirsch, yes, you might have to wait a little bit (I don't know the exact timeframe, sorry) [17:55] QUESTION: Does ssh key are need to be updated with every new distro release or new computer? [17:55] wolfpack, no, just leave them as they are [17:55] QUESTION: So, now that we have our environment set up, we look at https://bugs.launchpad.net/ubuntu and -- that's where I'm not sure. [17:55] jledbetter, the upcoming sessions and https://wiki.ubuntu.com/MOTU/GettingStarted should give you some ideas where to look for bugs to fix and how to go about it :) [17:56] more questions? we still have 5 minutes :) [17:56] QUESTION: when I uploaded the key it said it was uploading it to keys.gnupg.net. On launchpad under editpgpkeys it says something about Ubuntu keyservers. Will the Ubuntu keyserver get the new key directly from the gnupg keyserver? [17:56] cire831, yes, it will take a few minutes [17:56] QUESTION:Are ubuntu packages sent back to Debian? [17:56] saimanoj, nice one! [17:57] sending patches back to Debian (or other upstreams) is a manual process and very important [17:57] it is indeed being done [17:57] and there will be more info about that in the Debian session which I believe will be tomorrow [17:57] QUESTION: Fixing bugs, when choose bzr and when use a traditional process (create a patch with a debdiff)? [17:58] acarpine, bzr is a REALLY nice way to go about fixing stuff and barry will take the next hour to walk you through it [17:58] if it should not work out for you, I'm sure that barry will love to hear more about it and yes, in that case the "traditional process" of posting a patch will work too [17:58] QUESTION: in former courses you gave examples, why don't you now? [17:58] stefwal82, I type too slowly - not enough time :) [17:59] and I really enjoy answering loads of questions here - I hope it's useful [17:59] there'll be more examples in other sessions this week [17:59] QUESTION: When I run gpg-key fingerprint , I get three uid, what does it mean? [17:59] simar, do you have more than one gpg key? [17:59] ah no... is that maybe different user IDs on the same key? in any case it shouldn't be a problem [18:00] QUESTION: is the debian session being talked about the same as "Getting fixes into Debian"? [18:00] "Getting fixes into Debian" will definitely be part of it [18:00] QUESTION:What has this allowed me to actually do?! === ChanServ changed the topic of #ubuntu-classroom to: Welcome to the Ubuntu Classroom - https://wiki.ubuntu.com/Classroom || Support in #ubuntu || Upcoming Schedule: http://is.gd/8rtIi || Questions in #ubuntu-classroom-chat || Event: Ubuntu Developer Week - Current Session: Introduction to Ubuntu Distributed Development (UDD) - Instructors: barry [18:01] - you have all the tools to do Ubuntu development installed on your machine [18:01] - your local developer tools know about you, which simplifies work a lot [18:01] - you can do local builds of packages [18:01] - you can interact with other developers and propose your changes on Launchpad to get merged [18:01] - you can upload packages to Launchpad, so they are hosted in your Personal Package Archive (PPA) [18:01] and I'm out of time [18:01] hi, my name is barry warsaw, and i live near washington dc. i work for canonical, do ubuntu development, am a core python developer and project leader for gnu mailman. i'm here to introduce you to a new way of developing ubuntu, called 'ubuntu distributed development', or 'udd' [18:01] next up is the ROCKing Barry Warsaw [18:01] thanks dholbach! }}}