2009-05-07

   1 [06:58] <dholbach> hiya kirkland :)
   2 [06:58] <@kirkland> dholbach: howdy
   3 [06:58]  * kirkland wonders how many people are up at this crazy hour :-)
   4 [06:59] <Rail> +1 :)
   5 [06:59]  * FuturePilot is
   6 [06:59] <@kirkland> very good :-)
   7 [06:59] <RoAkSoAx> +1
   8 [06:59] <@kirkland> i'm just getting my demo env setup
   9 [06:59]  * dholbach just told a few folks
  10 [06:59] <Jordan_U> I'm not
  11 [07:00] <ienorand> I've sleep during the day...
  12 [07:00] <@kirkland> howdy all!
  13 [07:01] <@kirkland> alrighty ...
  14 [07:01] <@kirkland> my name is Dustin Kirkland
  15 [07:02] <@kirkland> I'm a MOTU and Core Developer in Ubuntu, and I work for Canonical on the Ubuntu Server
  16 [07:02] <@kirkland> i'm here to talk about PPA's
  17 [07:02] <@kirkland> what they are
  18 [07:02] <@kirkland> how to use them
  19 [07:03] <@kirkland> and how wonderfully useful they are!
  20 [07:03] <@kirkland> so a PPA is a Personal Package Archive
  21 [07:03] <@kirkland> and it's a tremendously interesting concept
  22 [07:04] <@kirkland> i have been in and around Linux development for almost 10 years now, and I never heard of this "PPA" concept until I began working on ubuntu and with launchpad
  23 [07:04] <@kirkland> so let's start by explaining what an archive is
  24 [07:05] <@kirkland> i assume most people here have used something like apt-get, aptitude, smart, update-manager, synaptic
  25 [07:05] <@kirkland> these are client-side utilities that talk to a server providing an archive
  26 [07:06] <@kirkland> now the archive itself
  27 [07:06] <@kirkland> is really just an http server
  28 [07:06] <@kirkland> with files and directories that can be browsed
  29 [07:06] <@kirkland> i suppose it could probably be an ftp server too
  30 [07:07] <@kirkland> in any case, you're probably familiar with http://archive.ubuntu.com
  31 [07:07] <@kirkland> if not, browse around it some time, by hand, by pointing a web browser at that address
  32 [07:07] <@kirkland> you should see a fairly regular hierarchy
  33 [07:07] <@kirkland> most of the interesting stuff happens in the pool/ directory
  34 [07:08] <@kirkland> that's where binary and source packages land
  35 [07:09] <@kirkland> now, archive.ubuntu.com is the "official" archive
  36 [07:09] <@kirkland> which means that these are the packages, as "officially" prepared by the developers of the Ubuntu project
  37 [07:10] <@kirkland> ie, MOTU for Universe/Multiverse, and Core Dev for Main
  38 [07:10] <@kirkland> users should be able to maintain some fair amount of confidence in the quality and security of packages available in the general ubuntu archive
  39 [07:10] <@kirkland> .....
  40 [07:10] <@kirkland> now, that's all fine and dandy
  41 [07:11] <@kirkland> but where does the really fun crack live?
  42 [07:11] <@kirkland> in PPA's of course :-)
  43 [07:11] <@kirkland> so a PPA is really just a mini little archive
  44 [07:11] <@kirkland> the structure is basically identical to the archive.ubuntu.com
  45 [07:12] <@kirkland> but the packages provided there are not part of the official distribution
  46 [07:12] <@kirkland> there are several reasons for this
  47 [07:12] <@kirkland> and different people use PPA's for different ones
  48 [07:12] <@kirkland> usually, it's intended for testing
  49 [07:13] <@kirkland> providing a binary, built package to some person or people for them to test
  50 [07:13] <@kirkland> let's take a look at a couple of examples ...
  51 [07:14] <@kirkland> as part of my responsibilities on the Ubuntu Server Team, I'm the package maintainer of KVM
  52 [07:14] <@kirkland> it's a virtualization hypervisor, similar, perhaps, to vmware or virtualbox
  53 [07:14] <@kirkland> 8.04 (hardy) shipped with kvm-62, 8.10 (intrepid) shipped with kvm-72
  54 [07:14] <@kirkland> whereas 9.04 (jaunty) shipped with kvm-84
  55 [07:15] <@kirkland> now, in the last ~1 year, this particular package has come *a long* way
  56 [07:15] <@kirkland> and there are people using hardy and intrepid want to use kvm-84, for various bugs that have been fixed, or new features added
  57 [07:16] <@kirkland> of course, we have processes for rolling out small fixes via updates to Hardy/Intrepid etc.
  58 [07:16] <@kirkland> and we have a backports mechanism for backporting packages too
  59 [07:16] <@kirkland> but this is a bit of a special case, and I wanted some really thorough testing
  60 [07:16] <@kirkland> i could ask people to just "go build it yourself"
  61 [07:16] <@kirkland> but really, how many people would do that? :-)
  62 [07:17] <@kirkland> and, furthermore, how would I be sure that they built the right thing, or in the right way?
  63 [07:17] <@kirkland> so i've been using a PPA to provide packages to this group of people
  64 [07:17] <@kirkland> https://edge.launchpad.net/~ubuntu-virt/+archive/ppa
  65 [07:17] <@kirkland> specifically, that PPA ^
  66 [07:18] <@kirkland> if you go to that webpage, you should see 3 version of kvm published in that ppa, one each for Hardy, Intrepid, and Jaunty
  67 [07:18] <@kirkland> you can also see that I uploaded the latest version merely 7 hours ago :-)
  68 [07:18] <@kirkland> that brings us to another nice benefit of PPA's ...
  69 [07:19] <@kirkland> you can upload to them basically whenever you want!
  70 [07:19] <@kirkland> for the official archives, we have a number of deadlines and freezes that must be adhered to
  71 [07:19] <@kirkland> currently, Karmic is open for development, and developers can upload to it
  72 [07:19] <@kirkland> but Hardy/Intrepid/Jaunty are not open for development
  73 [07:20] <@kirkland> and thus, it requires special permission to upload to those official archives
  74 [07:20] <@kirkland> but PPA's can be uploaded to at any time, really
  75 [07:20] <@kirkland> I should also note that this particular PPA is a "team" PPA
  76 [07:20] <@kirkland> this is a relatively recent feature to Launchpad
  77 [07:21] <@kirkland> so I have my own PPA ...
  78 [07:21] <@kirkland> https://edge.launchpad.net/~kirkland/+archive/ppa
  79 [07:21] <@kirkland> but i also have access to a number of team ppa's
  80 [07:21] <@kirkland> so these KVM packages are sort of maintained by the ~ubuntu-virt team
  81 [07:22] <@kirkland> in my PPA, you'll see a different set of packages
  82 [07:22] <@kirkland> for one thing, you might notice XMMS :-)
  83 [07:22] <@kirkland> i still prefer xmms over all of the other mp3 players out there, but it was pulled from the official Ubuntu archives (for some very good reasons)
  84 [07:23] <@kirkland> no matter ... I just keep a copy in my PPA, that I can use on any Ubuntu machine I have :-)
  85 [07:23] <@kirkland> so using a ppa
  86 [07:23] <@kirkland> i should probably explain how to do this ...
  87 [07:24] <@kirkland> to do so, i have created a shared screen instance
  88 [07:24] <@kirkland> you can join me at:
  89 [07:25] <@kirkland> ssh -C guest@ec2-75-101-177-177.compute-1.amazonaws.com
  90 [07:25] <@kirkland> the password is "guest"
  91 [07:26] <@kirkland> okay
  92 [07:26] <@kirkland> please try to watch IRC, where I'll explain what I'm doing
  93 [07:26] <@kirkland> and the terminal, where I'm going to do it
  94 [07:26] <@kirkland> first, I'm going to add my PPA to my list of archives
  95 [07:26] <@kirkland> sudo vi /etc/apt/sources.list
  96 [07:27] <@kirkland> now, see the webpage https://edge.launchpad.net/~kirkland/+archive/ppa
  97 [07:27] <@kirkland> deb http://ppa.launchpad.net/kirkland/ppa/ubuntu jaunty main
  98 [07:27] <@kirkland> deb-src http://ppa.launchpad.net/kirkland/ppa/ubuntu jaunty mai
  99 [07:27] <@kirkland> i'm going to add that to my sources.list
 100 [07:27] <@kirkland> i'm going to save that file
 101 [07:27] <@kirkland> and sudo apt-get update
 102 [07:28] <@kirkland> as you can see, i get an error about a missing gpg key
 103 [07:28] <@kirkland> we can solve that by retrieving the proper key
 104 [07:28] <@kirkland> This repository is signed with 1024R/34BEEE14 OpenPGP key. Follow these instructions for installing packages from this PPA.
 105 [07:28] <@kirkland> ^ the webpage tells us this
 106 [07:28] <@kirkland> http://keyserver.ubuntu.com:11371/pks/lookup?search=0x657A928364338B14A900B68D7781BA0134BEEE14&op=index
 107 [07:29] <@kirkland> https://help.launchpad.net/Packaging/PPA#Adding a PPA to your Ubuntu repositories
 108 [07:30] <@kirkland> sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 657a928364338b14a900b68d7781ba0134beee14
 109 [07:30] <@kirkland> now, let's rerun the update
 110 [07:30] <@kirkland> \o/
 111 [07:30] <@kirkland> no errors
 112 [07:31] <@kirkland> so i want to install the last screen-profiles package from my PPA
 113 [07:31] <@kirkland> note that version on this Hardy server is 1.44
 114 [07:31] <@kirkland> https://edge.launchpad.net/~kirkland/+archive/ppa
 115 [07:31] <@kirkland> and note that 1.54 is available here
 116 [07:32] <@kirkland> now, notice that version 1.54-0ubuntu1~ppa3 is installed
 117 [07:33] <@kirkland> thanks micahg
 118 [07:33] <@kirkland> so apt-cache policy screen-profiles will show the different versions available
 119 [07:33] <@kirkland> and specifically where they came from
 120 [07:33] <@kirkland> now, let's grab a source package
 121 [07:35] <@kirkland> whoops, bad example
 122 [07:35] <@kirkland> um, let's grab a different package (something that's not already in my ppa)
 123 [07:36] <@kirkland> gotta chase down some dependencies
 124 [07:36] <rolando-ve> Try a usplash-theme
 125 [07:36] <santiago-ve> fish
 126 [07:37] <@kirkland> so i'm going to grab the source of a package called bip
 127 [07:37] <@kirkland> it's an irc proxy
 128 [07:37] <@kirkland> apt-get source bip
 129 [07:37] <@kirkland> let's imagine that i've made some edition to the source code
 130 [07:38] <@kirkland> now, i need to increment the version, and add a changelog message
 131 [07:38] <@kirkland> dch -i
 132 [07:38] <@kirkland> (more dependencies)
 133 [07:40] <@kirkland> okay, now here's an important point
 134 [07:40] <@kirkland> when preparing a package for upload to a ppa
 135 [07:40] <@kirkland> we need to version it in such a way that it's a "successor" to previous versions
 136 [07:40] <@kirkland> but we want to make sure that future, official versions supercede this package
 137 [07:41] <@kirkland> in this case, jaunty's bip is version 0.7.4-2ubuntu1
 138 [07:41] <@kirkland> by doing a dch -i, i have "incremented" the ubuntu1 to an ubuntu2
 139 [07:41] <@kirkland> that will ensure that this is considered an "upgrade" from the previous ubuntu1 version
 140 [07:42] <@kirkland> however, we want to make sure that a future, *real* ubuntu2 version will supercede this one
 141 [07:42] <@kirkland> and thus, there's a special character that allows us to do this ...
 142 [07:42] <@kirkland> the ~ tilda
 143 [07:42] <@kirkland> bip (0.7.4-2ubuntu2~ppa1) jaunty; urgency=low
 144 [07:42] <@kirkland> package is bip
 145 [07:42] <@kirkland> the version is 0.7.4-2ubuntu2~ppa1
 146 [07:43] <@kirkland> if i want to make multiple uploads of this package over and over to my ppa, i can iterate ~ppa2, ~ppa3, etc.
 147 [07:43] <@kirkland> now, i add a change log entry
 148 [07:43] <@kirkland> specificying the file i changed
 149 [07:43] <@kirkland> and why
 150 [07:43] <@kirkland> and i reference the bug number fixed
 151 [07:44] <@kirkland> next I should build the package locally
 152 [07:44] <@kirkland> to make sure that I haven't broken the build somehow
 153 [07:44] <@kirkland> before wasting the time of the build machines in soyuz
 154 [07:44] <@kirkland> (note that you should really use pbuild or sbuild, eventually, but that's an hour long class in itself)
 155 [07:44] <@kirkland> so first, i need to get the build-dependencies
 156 [07:45] <@kirkland> sudo apt-get build-dep bip
 157 [07:45] <@kirkland> and then I'll do the build
 158 [07:45] <@kirkland> using "debuild"
 159 [07:46]  * kirkland now wishes he had shelled out $0.80/hour for the quad-core ec2 instance :-)
 160 [07:47] <@kirkland> so dch is the changelog editor
 161 [07:47] <@kirkland> you can use dch -e to edit the existing entry
 162 [07:47] <@kirkland> (ie, don't increment)
 163 [07:47] <@kirkland> the -i does the increment
 164 [07:47] <@kirkland> i also should have noted that you really want to double check the release
 165 [07:47] <@kirkland> in this case, it's "jaunty"
 166 [07:48] <@kirkland> but you might have, perhaps, wanted to specify that this package is for hardy or karmic, for instance
 167 [07:48] <@kirkland> okay, the build is done
 168 [07:48] <@kirkland> you see there's an error
 169 [07:48] <@kirkland> it's missing the gpg to sign this package
 170 [07:48] <@kirkland> of course, I have not copied my gpg key to ec2 :-)
 171 [07:48] <@kirkland> so I'm not going to be able to sign this package
 172 [07:49] <@kirkland> (nor actually upload it)
 173 [07:49] <@kirkland> but let's get to that point ....
 174 [07:49] <@kirkland> looking in the director above this one, we can now see that we have binary *.deb files
 175 [07:49] <@kirkland> so we have build the binary package locally
 176 [07:49] <@kirkland> now, let's build the source package
 177 [07:49] <@kirkland> debuild -S
 178 [07:50] <@kirkland> again, i'm going to get the same GPG errors
 179 [07:50] <@kirkland> under normal circumstances, you will be prompted for your GPG password
 180 [07:50] <@kirkland> and GPG will be used to "sign" your package
 181 [07:50] <@kirkland> this is how Launchpad (and users of your PPA) can have confidence that you're the person who created that pacakge
 182 [07:51] <@kirkland> okay, so the *source.changes file is the file that contains the magic needed to upload to a ppa
 183 [07:51] <@kirkland> we should see some important information in this file
 184 [07:52] <@kirkland> most importantly, checksums of the files, and a manifest of the files that need to be uploaded
 185 [07:52] <@kirkland> once you have a changes file, you are clear to upload
 186 [07:52] <@kirkland> now, uploading to a PPA requires one configuration change
 187 [07:52] <@kirkland> you need a file in your home directory called ~/.dput.cf
 188 [07:53] <@kirkland> my ppa entry looks like this:
 189 [07:53] <@kirkland> [kirkland-ppa]
 190 [07:53] <@kirkland> fqdn = ppa.launchpad.net
 191 [07:53] <@kirkland> method = ftp
 192 [07:53] <@kirkland> incoming = ~kirkland/ubuntu/
 193 [07:53] <@kirkland> login = anonymous
 194 [07:53] <@kirkland> allow_unsigned_uploads = 0
 195 [07:53] <@kirkland> now that i have that file, i could attempt the upload
 196 [07:54] <@kirkland> (note that this is going to fail, because of the lack of a gpg signature)
 197 [07:54] <@kirkland> but i want to demonstrate the command
 198 [07:54] <@kirkland>  dput kirkland-ppa *sources.changes
 199 [07:54] <@kirkland>  dput kirkland-ppa *source.changes
 200 [07:55] <@kirkland> now under normal circumstances, you'd see a few messages scroll by, and see your upload take place
 201 [07:55] <@kirkland> about a minute later, you should get an email from Launchpad either accepting, or rejecting your upload (in case something was malformed)
 202 [07:55] <@kirkland> if it's accepted, your package will go into the build queue
 203 [07:55] <@kirkland> and eventually, Soyuz will build your code, and publish it to your PPA
 204 [07:56] <@kirkland> alrighty ... let's take a few questions ...
 205 [07:56] <djails> how do you specify what ubuntu version your package is for ?
 206 [07:56] <rolando-ve> Kirk, If I use intrepid, and need to do that for Hardy, I must to do in a chroot + debootstrap?
 207 [07:56] <blacknred0> so if i am building my first package should i start importing my keys first from launchpad?
 208 [07:56] <@kirkland> it's pretty quiet, so i suppose you can just paste your question here
 209 [07:57] <@kirkland> djails: in the first line of the changelog, edited with dch
 210 [07:57] <@kirkland> djails: bip (0.7.4-2ubuntu2~ppa1) jaunty; urgency=low
 211 [07:57] <@kirkland> djails: note the "jaunty" in that line
 212 [07:58] <@kirkland> rolando-ve: hmm, to do your test binary build properly -- yes
 213 [07:58] <@kirkland> rolando-ve: however, you should be able to build your source package safely
 214 [07:58] <@kirkland> rolando-ve: so in that case you could grab the source, edit your changelog (and whatever files) and debuild -S
 215 [07:58] <@kirkland> rolando-ve: again, it's always proper form to test your build locally first
 216 [07:58] <iKOSHrf> can i make it a version that never gets replaced by the official branch? or just start my own ?
 217 [07:59] <@kirkland> rolando-ve: it's quite rude to cause build failures on launchpad (costing other people time) if your build won't even work locally
 218 [07:59] <micahg> ls
 219 [07:59] <micahg> oops
 220 [07:59] <@kirkland> blacknred0: if you're building your first package, you should make sure that launchpad has your GPG and SSH public keys
 221 [08:00] <@kirkland> blacknred0: also, i think you have to sign the Ubuntero agreement to use PPAs
 222 [08:00] <@kirkland> iKOSHrf: i don't think i understand that question?
 223 [08:00] <blacknred0> kirkland, yeap, i have all of them.  i am getting problems in the building :S
 224 [08:00] <Ludo> kirkland, i see the package you build was for the i386 architectures.  How will you change the package to be build for the amd64 architectures?
 225 [08:00] <@kirkland> iKOSHrf: if you don't ever want it to get replaced, change the version to 99999.99999.9999 :-)
 226 [08:00] <iKOSHrf> kirkland, if i just want to "fork" the version to make it my own "version" for some odd reason
 227 [08:01] <iKOSHrf> hehehe ok.
 228 [08:01] <@kirkland> blacknred0: make sure you have all of the build dependencies, sudo apt-get build-dep $PKG
 229 [08:01] <blacknred0> kirkland, i mean is just a single script but it the make doesn't want to make the file properly
 230 [08:01] <blacknred0> kirkland, ok, thnx for the info.
 231 [08:02] <@kirkland> iKOSHrf: well i think that's exactly what I did in my bip example -- i have forked the ubuntu2 version;  but you're saying that you don't want it to ever be replaced
 232 [08:02] <@kirkland> iKOSHrf: in that case, you could add a really big number at the beginning of the package (which I don't really recommend), or "pin" the package
 233 [08:02] <@kirkland> iKOSHrf: see the manpages for apt-get for pinning instructions
 234 [08:02] <iKOSHrf> ok, thanks.
 235 [08:02] <djails> kirkland: thanks. Now if you want to create a package for different versions of ubuntu, how do you go about that ?
 236 [08:03] <@kirkland> Ludo: well, ideally you'd test your build on both architectures;  i usually do that with KVM virtual machines;  however, I understand that this isn't always possible
 237 [08:03] <@kirkland> Ludo: launchpad will build PPA packages for several archectures for you
 238 [08:04] <@kirkland> Ludo: basically, once I've confirmed that it builds on one arch, and if I have reasonable certainty that it'll build elsewhere, I go ahead and push it to launchpad
 239 [08:04] <Ludo> kirkland,  thanks.
 240 [08:04] <@kirkland> djails: what do you mean?  you just change "jaunty" to say "karmic" or "hardy" in that first line
 241 [08:05] <djails> kirkland: so do you maintain a debian/ dir per version ? I have this upstream source tree and I want to createpackages for serveral ubuntus
 242 [08:05] <micahg> do you need ot backport -dev packages?
 243 [08:05] <@kirkland> djails: ah ...
 244 [08:06] <@kirkland> djails: gotcha
 245 [08:06] <Ludo> kirkland, how would one add a extra dependency to a package? For example I need a extra library or newer library for my modification to work?
 246 [08:06] <@kirkland> djails: so I usually just dch -e, add a ~ppa1 ... hardy, then debuild -S
 247 [08:06] <@kirkland> djails: then, in that same dir
 248 [08:07] <@kirkland> djails: dch -e again, change to ~ppa2 ... intrepid, debuild -S again
 249 [08:07] <@kirkland> djails: dch -e again, change to ~ppa3 ... jaunty; debuild -S
 250 [08:07] <@kirkland> djails: then cd ..
 251 [08:07] <@kirkland> djails: and dput kirkland-ppa *source.changes
 252 [08:07] <@kirkland> djails: HOWEVER ....
 253 [08:07] <@kirkland> djails: this won't necessarily work for just any package
 254 [08:08] <@kirkland> djails: it'll work fine for simple packages with minimal build dependencies
 255 [08:08] <@kirkland> djails: but if a package depends on a newer version of some library, it's quite a bit more difficult :-)
 256 [08:08] <djails> kirkland: ok got it ! i ll try that
 257 [08:08] <@kirkland> Ludo: that information is in debian/control
 258 [08:08] <@kirkland> Ludo: so over in our shared screen session ...
 259 [08:09] <@kirkland> Build-Depends: cdbs (>= 0.4.49), debhelper (>= 5.0.37.2), bison, flex, libssl-dev, quilt
 260 [08:09] <@kirkland> Ludo: those are the build-deps for bip
 261 [08:09] <@kirkland> okay guys ... i'm about to call it a night here
 262 [08:09] <@kirkland> as it's past 2am :-)
 263 [08:09] <micahg> 1 last Q?
 264 [08:09] <@kirkland> one thing that i'll mention
 265 [08:09] <@kirkland> micahg: shoot!
 266 [08:09] <micahg> do you have to backport -dev packages?
 267 [08:10] <micahg> I want to build FF3.5b4 for Jaunty
 268 [08:10] <micahg> or are -dev only used when compiling?
 269 [08:10] <ienorand> ps
 270 [08:10] <ienorand> sorry
 271 [08:11] <@kirkland> micahg: i'm not sure i understand your question
 272 [08:11] <@kirkland> micahg: but your build dependencies should be available
 273 [08:11] <@kirkland> micahg: so if you want to build something in your PPA, you need to ensure that the build deps are available
 274 [08:11] <@kirkland> micahg: that brings up an important point ....
 275 [08:12] <@kirkland> micahg: in your PPA configuration page, you can specify a few different restrictions, or options for your dependencies
 276 [08:12] <@kirkland> on your own PPA page, you should see a link for "Edit dependencies"
 277 [08:13] <@kirkland>  Basic (only released packages).
 278 [08:13] <@kirkland>  Security (basic dependencies and important security updates).
 279 [08:13] <@kirkland>  Default (security dependencies and recommended updates).
 280 [08:13] <@kirkland>  Proposed (default dependencies and proposed updates).
 281 [08:13] <@kirkland>  Backports (default dependencies and unsupported updates).
 282 [08:13] <@kirkland> micahg: that might help
 283 [08:13] <micahg> ok
 284 [08:13] <micahg> thanks
 285 [08:13] <rolando-ve> Thanks
 286 [08:14] <djails> kirkland: thanks !
 287 [08:14] <FuturePilot> kirkland: thanks for the tutorial :)
 288 [08:14] <@kirkland> you guys are most welcome
 289 [08:14] <Ludo> kirkland, thanks.
 290 [08:14] <rolando-ve> Nice job kirkland
 291 [08:14] <@kirkland> so one last thing in closing
 292 [08:14] <@kirkland> some people have asked how to setup a shared screen session like i used
 293 [08:14] <@kirkland> did you guys find that useful?
 294 [08:14] <micahg> yes
 295 [08:14] <djails> definitely
 296 [08:14] <FuturePilot> very
 297 [08:15] <rolando-ve> Yeap
 298 [08:15] <Ludo> ^^
 299 [08:15] <@kirkland> okay, so i have a blog post about this
 300 [08:15] <@kirkland> http://blog.dustinkirkland.com/2009/04/teaching-class-with-gnu-screen.html
 301 [08:15] <@kirkland> that explains in detail what needs to be done
 302 [08:15] <rolando-ve> Thanks again, :D
 303 [08:15] <ienorand> Thankyou for the session :)
 304 [08:15] <@kirkland> more simply, if you have an EC2 account, you can use a script I wrote, called "screenbin"
 305 [08:16] <@kirkland> i just uploaded a new version to my PPA, so look for it there shortly :-)
 306 [08:16] <@kirkland> that's all from me
 307 [08:16] <@kirkland> good night :-)
 308 [08:16] <@kirkland> or morning
 309 [08:16] <micahg> good night
 310 [08:17] <rolando-ve> kirkland: If you let me, I would like to translate it to Spanish
 311 [08:17] <@kirkland> rolando-ve: please, go for it :-)
 312 [08:17] <rolando-ve> and post it in my blog, (as yours)
 313 [08:17] <rolando-ve> Thanks!
 314 [08:17] <rolando-ve> see all!


CategoryPackaging

Packaging/Training/Logs/2009-05-07 (last edited 2009-05-07 08:03:00 by i59F73504)