NewPackages

Copy+Paste of crimsun explaining packaging new stuff - to be cleaned up and added to appropriate page somewhere in MOTU later -- Carthik.

<crimsun> heretician: very quickly, let's say that Hobbsee writes a KDE program called kponies.
<Hobbsee> haha
<crimsun> heretician: she's what we call "upstream" [or to be clearer, "upstream upstream"]
<Hobbsee> yeah yeah, sure...
<crimsun> heretician: now let's say imbrandon wants to package kponies for Kubuntu
<carthik_> 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)
<crimsun> 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
<crimsun> carthik_: I'll write something to -motu before I leave work shortly
<heretician> this is alot better than these guides.
<imbrandon> okie let him finish ;)
<carthik_> sure, thanks (sorry)
<crimsun> 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
<crimsun> heretician: the Packaging Guide describes what each component of the source package is
<crimsun> (so I'll refer you to that)
<crimsun> 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/)
<crimsun> heretician: then he'll politely pester^H^Hask a few MOTU to review his kponies package
<Hobbsee> haha.  pester, yes
<crimsun> 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.
<crimsun> heretician: once the new package is uploaded to the Ubuntu archive, the ftp admins will examine it and hand-approve it.
<crimsun> heretician: you might be wondering how stuff ends up in main, universe, or multiverse. By default everything is NEW/accepted into universe.
<crimsun> 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).
<crimsun> 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.
<crimsun> 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.
<crimsun> heretician: in a nutshell, that's the first part of the new package lifecycle.
<crimsun> heretician: the less glamourous parts are keeping the package current, responding to bug reports, fixing bugs and uploading fixed versions, etc.
<heretician> How do I obtain orig.tar.gz and diff.gz files from the tar.gz?
<crimsun> heretician: that's the process of generating a Debian [or Ubuntu] source package
<crimsun> heretician: the Packaging Guide describes several ways of doing that
<crimsun> 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

CarthikSharma/NewPackages (last edited 2008-08-06 16:17:48 by localhost)