Copy+Paste of crimsun explaining packaging new stuff - to be cleaned up and added to appropriate page somewhere in MOTU later -- Carthik. {{{ heretician: very quickly, let's say that Hobbsee writes a KDE program called kponies. haha heretician: she's what we call "upstream" [or to be clearer, "upstream upstream"] yeah yeah, sure... heretician: now let's say imbrandon wants to package kponies for Kubuntu crimsun, seriously, if you will do it, I will attend and write it up - can we set a date this weekend and announce it? (please) heretician: since kponies's source isn't in Kubuntu yet, he would have to download the tarball (kponies-1.0.0.tar.gz) from Hobbsee's Web site carthik_: I'll write something to -motu before I leave work shortly this is alot better than these guides. okie let him finish ;) sure, thanks (sorry) heretician: imbrandon will then go through the packaging process (some variation of what's described in the Packaging Guide for KDE) to generate what we call a "source package", which will be the tarball that he downloaded from Hobbsee's Web site (renamed to kponies_1.0.0.orig.tar.gz), any differences from it containing Kubuntu modifications (called kponies_1.0.0-0ubuntu1.diff.gz), a list of the changes made to the source (kponies_1.0 heretician: the Packaging Guide describes what each component of the source package is (so I'll refer you to that) heretician: now because imbrandon doesn't have upload privileges to the Ubuntu repository (which is the same for Kubuntu, Edubuntu, and Xubuntu), he'll place his newly packaged kponies on REVU (http://revu.tauware.de/) heretician: then he'll politely pester^H^Hask a few MOTU to review his kponies package haha. pester, yes heretician: they'll review it with him, and once it meets a basic set of guidelines and they're happy with it, they'll "advocate" (approve) it. It takes two advocates to upload new packages to the Ubuntu archive. heretician: once the new package is uploaded to the Ubuntu archive, the ftp admins will examine it and hand-approve it. heretician: you might be wondering how stuff ends up in main, universe, or multiverse. By default everything is NEW/accepted into universe. heretician: if there's a specific reason a source package needs to end up in multiverse, which is normally licensing issues, the ftp admins set a server-side override for multiverse (instead of the universe default). heretician: stuff that ends up in main normally needs to be a dependency of something already in main and must have already passed an even more rigourous inspection. heretician: in any case, once the ftp admins accept the new source, the build machines (buildds) create binary packages, and every hour newly built packages are published and synced to the world-wide mirrors you know of. heretician: in a nutshell, that's the first part of the new package lifecycle. heretician: the less glamourous parts are keeping the package current, responding to bug reports, fixing bugs and uploading fixed versions, etc. How do I obtain orig.tar.gz and diff.gz files from the tar.gz? heretician: that's the process of generating a Debian [or Ubuntu] source package heretician: the Packaging Guide describes several ways of doing that heretician: namely you can either generate it by hand by creating the necessary debian/{control,copyright,rules,...} file, or by using an entry tool like dh_make, or by creating a skeleton and relying on debhelper and a build/patch system like cdbs, quilt, and so on to handle the nitty gritty }}}