PPAs1

Dev Week -- Launchpad PPAs -- Celso Providelo, Matthew Revell -- Mon, Feb 18

see also Friday session.

(12:02:05 PM) cprov: Hi all, Welcome to the Personal Package Archive (PPA) session.
(12:02:17 PM) KaiserClaudius left the room (quit: "... und tschüß").
(12:02:34 PM) dholbach: for those of you who have joined in later: please ask questions in #ubuntu-classroom-chat and prefix them with QUESTION: ...
(12:02:41 PM) cprov: Just for curiosity, say "me" if you are attending the PPA session.
(12:02:55 PM) mrevell: me
(12:02:59 PM) ***jetsaredim me
(12:03:00 PM) dholbach: me too
(12:03:01 PM) soneil: me
(12:03:04 PM) rulus: me
(12:03:05 PM) ***tamrat me
(12:03:07 PM) ubuntu_learner_: me
(12:03:09 PM) awalton__: +1
(12:03:13 PM) arturodr: me
(12:03:14 PM) fredre: me
(12:03:18 PM) jsauer: me
(12:03:18 PM) InsClusoe: me
(12:03:19 PM) Don-1: me - half of the session.
(12:03:19 PM) Picklesworth: me
(12:03:20 PM) corevette: me
(12:03:22 PM) zeeth: me
(12:03:22 PM) holloway: me
(12:03:22 PM) ***nareshov too
(12:03:25 PM) barcc: me
(12:03:25 PM) vicantre: me
(12:03:25 PM) tvelocity: me
(12:03:26 PM) Grazieno: me
(12:03:33 PM) pwnedd: me
(12:03:42 PM) dholbach: rock on Launchpadders!
(12:03:45 PM) acacs: me
(12:03:51 PM) snhome: me listening
(12:03:55 PM) cprov: wow, lot of people here
(12:04:04 PM) mrevell: This is great, thanks for coming everyone :)
(12:04:07 PM) amachu: me
(12:04:10 PM) cap10morgan: me
(12:04:25 PM) Sciri: me lurking ;)
(12:04:33 PM) cprov: so, as daniel said, make question on #-chat and before anything else thanks for coming.
(12:05:20 PM) cprov: So, first obvious question is "What is this PPA thing ?"
(12:05:56 PM) cprov: Launchpad provides the infrastructure to process, build and publish uploads for ubuntu primary archive.
(12:06:44 PM) cprov: the same set of sub-systems is available for all users via Personal Package Archives (PPA) in their own restricted archive.
(12:07:18 PM) Martinp24 is now known as Martinp23
(12:07:21 PM) cprov: i.e., it's possible to have a Martin Pitti archive or a Mozilla Development Archive.
(12:07:46 PM) cprov: does it sound like a good definition for you all ?
(12:08:16 PM) cprov: please say '+1' if it's fine or add your comment.
(12:08:26 PM) Don-1: +1
(12:08:28 PM) tamrat: +1
(12:08:28 PM) cprov: 5
(12:08:29 PM) cap10morgan: +1
(12:08:29 PM) nareshov: +1
(12:08:30 PM) arturodr: +1
(12:08:30 PM) cprov: 4
(12:08:30 PM) chrome___: +1
(12:08:30 PM) TuxCrafter: i have to go now
(12:08:30 PM) dargol: +
(12:08:31 PM) tvelocity: +1
(12:08:31 PM) icicle: +1
(12:08:34 PM) cprov: 3
(12:08:37 PM) TuxCrafter: thanks for everything
(12:08:37 PM) dargol: +1
(12:08:37 PM) jsauer: +1
(12:08:39 PM) InsClusoe: +1
(12:08:39 PM) cprov: 2
(12:08:40 PM) p3n9: +1
(12:08:41 PM) fredre: +1
(12:08:43 PM) cprov: 1
(12:08:43 PM) TuxCrafter: +1
(12:08:45 PM) Lantash: +1
(12:08:45 PM) corevette: +1
(12:08:50 PM) Grazieno: +1
(12:08:56 PM) awalton__: +1
(12:09:04 PM) cprov: happy users :)
(12:09:07 PM) TuxCrafter left the room.
(12:09:08 PM) danbhfive: +1
(12:09:32 PM) pwnedd: +1
(12:09:33 PM) cprov: In order to use PPA we require a valid user/team in Launchpad
(12:09:37 PM) lengau: +1
(12:09:49 PM) cprov: and a quick 'activation' procedure.
(12:10:09 PM) cprov: https://help.launchpad.net/PPAQuickStart/ describes the procedure in details.
(12:11:17 PM) cprov: you have to accept the PPA terms of use (ToU) which basically assures we are not giving you space to do illegal actions
(12:12:15 PM) cprov: so, it's up to the users to certify that they are coping with the restrictions imposed the source license in question.
(12:13:03 PM) cprov: Legal issues should be reported to a launchpad administrator and the culprit PPA will be disabled immediately.
(12:13:27 PM) cprov: ok, enough legal statements for today.
(12:13:45 PM) cprov: let's go for the hand-on training.
(12:14:23 PM) Don-1 left the room.
(12:14:29 PM) cprov: PPA, as you would expect, requires users to dominate the current development tools (used in ubuntu, debian and other debian-like distribution)
(12:14:43 PM) Don-1 [n=sakse@0x50c79fc1.ronxx1.adsl-dhcp.tele.dk] entered the room.
(12:15:38 PM) cprov: Let's assume that all users here are aware of https://help.ubuntu.com/6.10/ubuntu/packagingguide/C/index.html for packaging issues
(12:16:07 PM) cprov: and have a package source ready to be uploaded.
(12:16:43 PM) cprov: The first question is "how to build the source package for my PPA ?"
(12:17:30 PM) cprov: if you are using orig.tar.gz, ensure you are using the same file already uploaded in ubuntu primary archive.
(12:18:10 PM) cprov: This is a very good way to save bandwidth for you uploads. You don't have to re-upload orig files already published in ubuntu
(12:18:22 PM) cprov: so, you upload will be small and quick
(12:18:33 PM) cprov: `debuild -S` will do
(12:19:25 PM) cprov: if it's a new source, you do have to upload the orig (`debuild -S -sa`), although, you have to do it only for the first version of the source
(12:19:55 PM) cprov: subsequent upload can omit the orig, PPA system will retrieve it from the context archive.
(12:20:13 PM) cprov: all clear, guys ? you are too quiet
(12:20:20 PM) snhome: listening
(12:20:21 PM) cprov: Am I going to fast ?
(12:20:33 PM) Unksi: go on :)
(12:20:33 PM) holloway: it's confusing for the first time
(12:20:36 PM) tacone: speed is ok for me :)
(12:20:44 PM) zeeth: comfortable sir
(12:20:49 PM) dargol: go on
(12:20:51 PM) snhome: & girls :)
(12:20:53 PM) cprov: great, feel free to stop anytime with questions
(12:20:59 PM) dholbach: cprov: there were a bunch of questions on #-chat :)
(12:22:16 PM) cprov: err, I was expecting the bot to ask them here ... How should I proceed ?
(12:22:32 PM) cprov: dholbach: shall I paste the question here and answer it .
(12:22:48 PM) dholbach: cprov: good idea
(12:23:01 PM) dholbach: that way they end up in the log too
(12:23:19 PM) cprov: QUESTION: Is PPA specific to ubuntu or for any project hosted on launchpad.net
(12:23:41 PM) cprov: well, PPA can only host packages for ubuntu distribution, atm
(12:24:17 PM) cprov: however, any person, team can host specific packages for any project hosted or not in Launchpad
(12:24:53 PM) cprov: uhm, confusing answer ... IFW, project and PPAs are not exactly related.
(12:25:08 PM) cprov: does it answer your  question ?
(12:25:36 PM) zeeth: how about for debian?
(12:25:56 PM) eddyMul: or ubuntu derivatives?
(12:26:04 PM) cprov: zeeth: you can cross-install ubuntu package in debian systems
(12:26:17 PM) zeeth: thanx
(12:26:19 PM) InsClusoe: Can we say that PPA is similar to Sourceforge or freshmeat?
(12:26:29 PM) cprov: zeeth: but, dependending on the package it might cause some pain.
(12:26:49 PM) cprov: InsClusoe: no, I'd compare  those directly
(12:26:52 PM) zeeth: ummm..
(12:27:04 PM) cprov: InsClusoe: can you specify how do you see such relationship ?
(12:27:19 PM) cprov: err, I would *not* compare
(12:27:24 PM) cprov: sorry.
(12:27:46 PM) cprov: QUESTION: If I want to build a software that is not yet ready for integration with any distro, does it qualify to be hosted?
(12:27:48 PM) InsClusoe: cprov: :-) I inferred from this... "any person, team can host specific packages for any project hosted or not in Launchpad"
(12:28:49 PM) cprov: InsClusoe: well, PPA allows users to upload *any* (respecting license issues) source package, get it built and distributable under your responsibility
(12:29:00 PM) InsClusoe: ok.. I think I got it... Packages refer to binary packages... That means, source and rules for making binary package... And that, most certainly, is different from hosting projects...
(12:29:22 PM) cprov: this statement sort of also answer the last question ...
(12:29:57 PM) cprov: InsClusoe: exactly, you can "package" any upstream source (hosted or not in LP)
(12:30:18 PM) InsClusoe: cprov: Yup.. Gotcha. Thanks. Sorry for disrupting.
(12:30:30 PM) cprov: QUESTION: how do I know if a file is already uploaded into ubuntu archive (e.g. gutsy has v1.0, hardy has v3.0. I want to package v2.0)
(12:31:10 PM) cprov: uhmm, check the launchpad interface, I guess, `apt-cache`, etc
(12:32:17 PM) cprov: pretty vague,  I know, feel free to ask a more concrete question if you want.
(12:32:33 PM) cprov: QUESTION: I'd like my package(s) to be available in multiple distributions (Feisty, Gutsy, Hardy, ..). How to do this the easiest way? Is it possible without reuploading three times with only a changed distribution in the changelog?
(12:33:12 PM) cprov: as know, the poll-based archive topology we use in ubuntu and all PPAs doesn't allow files to be republished
(12:33:30 PM) cprov: so you can (and should) upload a foo-bar_1.0 source only once
(12:34:04 PM) cprov: in the primary archive we provide tools to /copy/ publications across suites (dapper, gutsy, hardy, etc)
(12:34:25 PM) cprov: this feature is not yet available for PPA (via the UI)
(12:34:46 PM) cprov: PPA users can use one of the alternatives:
(12:35:55 PM) cprov: 1) request a *copy* via launchpad-questions given the exact directives,  source name and version, whether to copy binaries or not, and destination suite
(12:36:33 PM) cprov: 2) upload the same source using another version or version prefix (~dapper1, ~feisty1, etc)
(12:36:34 PM) eddyMul: 1) is launchpad-questions a mailing list?
(12:36:48 PM) cprov: no the launchpad question sub-system
(12:37:12 PM) cprov: https://answers.edge.launchpad.net/launchpad/+addquestion
(12:37:30 PM) eddyMul: eddyMul: got it. thanx
(12:38:00 PM) cprov: as you all might suspect, the alternative 2 will be faster
(12:38:22 PM) cprov: We plan to offer 'copy' UI for PPAs during the next month.
(12:38:51 PM) cprov: ok, we have discussed WHAT  to upload. Now let's sort WHERE
(12:39:22 PM) cprov: there are two tools available to upload packages: dput and dupload
(12:39:49 PM) cprov: (if you are brave enough, you can use a simple ftp client, but it's boring and error prone)
(12:40:13 PM) cprov: let's try a dput example config.
(12:40:41 PM) cprov: [my-ppa]fqdn = ppa.launchpad.net method = ftp incoming = ~your-launchpad-id/ubuntu/ login = anonymous allow_unsigned_uploads = 0
(12:40:46 PM) cprov: err ...
(12:41:04 PM) cprov: [my-ppa]
(12:41:04 PM) cprov: fqdn = ppa.launchpad.net
(12:41:04 PM) cprov: method = ftp
(12:41:04 PM) cprov: incoming = ~your-launchpad-id/ubuntu/
(12:41:04 PM) cprov: login = anonymous
(12:41:05 PM) cprov: allow_unsigned_uploads = 0
(12:41:41 PM) cprov: this section should be appended to you ~/dput.cf file
(12:42:07 PM) dholbach: ~/.dput.cf
(12:42:13 PM) cprov: the 'my-ppa' dput target defines the location and the path to be used in you upload
(12:42:27 PM) cprov: dholbach: yes, '.' , thanks
(12:43:00 PM) cprov: don't feel obsessed to copy this irc snipped, it's all in https://help.launchpad.net/PPAQuickStart/
(12:43:53 PM) cprov: the source upload processing is done every 5 minutes, so that's the time you should wait before getting a upload notification email
(12:44:17 PM) cprov: it will be either an 'acceptance'  or a "rejection" message
(12:44:43 PM) cprov: the system will list you all the problem that cause the upload to be rejected, if it was the case
(12:45:23 PM) cprov: once the source was accepted, you should wait up to 20 minutes to have it published in you public archive
(12:45:28 PM) eddyMul: cprov: "upload processing is done every 5 minutes, so [wait]": it would be great to put this info in the PPAQuickStart page   ;-)
(12:45:46 PM) holloway: cprov, can you give some errors? like beginners doing all the time?
(12:45:50 PM) cprov: at this point `apt-get source <just uploaded>` should work
(12:46:12 PM) cprov: eddyMul: sure :) I'll add
(12:46:42 PM) cprov: holloway: yes, most of the users upload sources targeted to 'unstable' distribution (as they come from debian)
(12:47:47 PM) holloway: cprov, thx, so there are only the 4 we know from ubuntu?
(12:47:48 PM) cprov: this mistake can be fixed by: 1) create a proper entry in the debian/changelog setting a ubuntu suite instead of the original debian suite OR 2 ) using the changesfile override feature in upload path.
(12:48:25 PM) cprov: you can have a dput target that forces 'dapper' doesn't matter what is said in the changesfile
(12:48:47 PM) cprov: [my-ppa-force-dapper]
(12:48:47 PM) cprov: incoming = ~your-launchpad-id/ubuntu/dapper
(12:49:02 PM) cprov: (the other fields should remain the same ...)
(12:49:22 PM) tamrat: QUESTION: (i understand the answer may be long but well - i think it is useful): which steps/test should/can be done before uploading your package, (after testing building of course). I don't want to try to upload 10 times to get a different error every time (I'm on 2 rejected uploads now ;-)
(12:49:26 PM) cprov: it will upload pristine source from debian or other distribution straight to dapper in your PPA.
(12:50:34 PM) cprov: tamrat: it's hard to say ... you can build the source and the binaries successfully locally, but still not getting all points required to upload the source fixed
(12:50:58 PM) cprov: tamrat: it really depends on the error and you packaging experience, I'm afraid to say.
(12:51:19 PM) cprov: holloway: another very common mistake it to upload binaries to PPA
(12:51:42 PM) holloway: ok
(12:51:52 PM) cprov: holloway: only a single and signed source will be accepted.
(12:52:15 PM) cprov: holloway: so, ensure you build source packages with `debuild -S`
(12:52:28 PM) holloway: cprov, got it :)
(12:52:57 PM) cprov: okidoki, we know WHAT and WHERE ... let's go for the WAIT stage ;)
(12:53:27 PM) cprov: once the source is 'accepted' you should *wait*
(12:54:08 PM) cprov: up to 20 minutes to have it published in you archive (`apt-get source <just-uploaded>`) (already said)
(12:54:58 PM) cprov: up to 1 hours to have you build queued (access +me/+archive/+builds to track them)
(12:55:18 PM) dholbach: people/+me ?
(12:55:47 PM) cprov: dholbach: yes, '<your lp page>/+archive/+builds'
(12:56:24 PM) cprov: the uploader won't receive any message if everything was successfully built and the binaries got published in you archive.
(12:56:43 PM) cprov: we only notify the users about *failures*
(12:57:08 PM) cprov: the email notification will tell you where to find the information about the failure
(12:57:24 PM) cprov: and then it's up to you to fix it or not ;)
(12:58:23 PM) cprov: An important thing to not about PPA build process is that they happen in a separate environment using the same ubuntu chroots but inside a XEN machine
(12:59:06 PM) cprov: so, they won't affect or get affect by other jobs, since the XEN guest is resumed before starting any build
(12:59:17 PM) cprov: ouch ... we are running out of time ...
(12:59:37 PM) dholbach: there's always the second PPA session on friday, 17:00 UTC :)
(12:59:47 PM) dholbach: and launchpad-users@lists.canonical.com
(12:59:53 PM) dholbach: (if you run into problems)
(01:00:26 PM) dholbach: thanks a lot cprov and mrevell - are there any final questions you want to answer or final announcements?
(01:00:38 PM) zeeth: sure thanx
(01:00:53 PM) mrevell: The only announcement is, "Look out for our new release late this week!"
(01:01:07 PM) Unksi: cprov: thank you
(01:01:09 PM) dholbach: rock on... thanks cprov and thanks mrevell
(01:01:09 PM) mrevell: Thanks dholbach for the opportunity, thanks cprov for doing such a great job. Thanks for everyone's questions and attention.
(01:01:16 PM) cprov: well, considering that I couldn't explain all the facets of the PPA system ... you are more than welcome to post questions on https://wiki.ubuntu.com/MeetingLogs/devweek0802/PPAs1
(01:01:35 PM) cprov: I will answer them before the next session
(01:01:44 PM) InsClusoe: That's great... Thanks to both of you..
(01:01:48 PM) cprov: and if you still want to talk, please come to the next session :)
(01:02:04 PM) dholbach: oh ... and there's of course #launchpad
(01:02:07 PM) lex79 is now known as lex79|Away
(01:02:16 PM) cprov: thank you for participating. You are all bright stars !

MeetingLogs/devweek0802/PPAs1 (last edited 2008-08-06 16:38:07 by localhost)