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)