From Fedora Project Wiki

Revision as of 21:51, 24 March 2010 by Toshio (talk | contribs) (Design meeting for kopers website)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

* skvidal is here 13:05
abadger1999 here 13:05
skvidal abadger1999: so, where to begin? 13:05
abadger1999 So spot wants us to work on getting kopers up and running. 13:05
abadger1999 This requires a new build service (since koji both does a lot more than we need and isn't paranoid enough) 13:06
abadger1999 packagers will need to interact with the build service. 13:06
mizmo so i dont quite understand ppa that well 13:06
abadger1999 Okay. So a ppa is basically a third party repository 13:06
skvidal but on a smaller scale - ostensibly 13:07
abadger1999 Usually smaller; but not necessarily. 13:07
skvidal right 13:07
mizmo what does it stand for? 13:07
mizmo personal P A? 13:07
abadger1999 And usually targetted around a specific package/functionality 13:07
abadger1999 Personal package a...... Hmm.. 13:07
* abadger1999 looks it up 13:07
mizmo what problem does it solve? 13:07
skvidal archive 13:07
skvidal mizmo: http://fedoraproject.org/wiki/JesseKeating/KojiPersonalRepos 13:07
abadger1999 person package archives: https://launchpad.net/ubuntu/+ppas 13:08
abadger1999 The ppa term is ubuntus. 13:08
mizmo "Bob would like to try out a new version of GTK2. Bob does a koper build of the new GTK2 package, and then builds a number of other packages against this. Bob shares his gtk2newness koper with others for validation of the new GTK2 " 13:08
mizmo is Bob a GTK developer? 13:08
abadger1999 For end users it can solve several problems: 13:08
mizmo it sounds like he's just trying something that's new upstream 13:08
abadger1999 "User wants latest and greatest" 13:08
mizmo yes, i want the latest inkscape :) 13:09
abadger1999 "User wants to help test something that's too destabilizing for rawhide/F-release" 13:09
mizmo but i dont want the latest gvfs 13:09
abadger1999 "user wants to have different build/configs than in Fedora's version" 13:09
mizmo ah okay 13:10
abadger1999 "software not packageable for Fedora" 13:10
abadger1999 That latter one is like Chromium or python2.4 13:10
mizmo okay 13:11
mizmo so then my next question is, how does this differ from say spot having a chromium repo on fedora people? 13:11
skvidal it doesn't 13:11
skvidal the goal of this is to make what spot is doing 13:11
skvidal 1. easy 13:11
abadger1999 There's also "user wants a bugfix that's not in the Fedora release", but I don't know if this is a good fit for that. 13:11
skvidal 2. so the person doing it doesn't have to have their own cputime and bandwidth to do it 13:11
mizmo the wiki page is really awesome 13:13
mizmo i have some more questions on it though, so now im looking at the workflow 13:13
mizmo for step 7 13:14
mizmo "Bob proceeds to create srpms for various other packages and builds them in koji against his "gtknewness" koper. " 13:14
skvidal yes 13:14
mizmo are those srpms related to the srpm he did in step 2? 13:14
skvidal yes - in that they require the srpm in step2 13:14
skvidal to build 13:14
skvidal or rather 13:14
mizmo so like, if he does an srpm for gtk2.... what if it fails to build because it requires something else newer than what's in fedora? 13:14
skvidal they require the pkgs built from the srpm in step 2 13:14
mizmo eg. how do you use this and avoid dependency hell? (do you?) 13:15
skvidal you avoid it by building what you need 13:15
mizmo how does he know he has to rebuild those srpms for step 2's newness 13:15
skvidal b/c he's not an idiot? 13:15
mizmo :( well i mean, im not an idiot 13:15
skvidal this tool does not solve having to know what your package requires 13:15
mizmo but ive tried to do my own builds of inkscape 13:15
mizmo then i end up in perl hell 13:15
abadger1999 mizmo: This is part of the question -- can we do this and avoid dep hell? Is it worth it even if he gets into dep hell? 13:16
mizmo the reason i ask this, is, trying to figure out if the scope of the tool includes telling you what you are missing 13:16
mizmo also, is this tool layering you on top of say right now, Fedora 12 rather than rawhide? 13:16
skvidal only insofar as mock will tell you 13:16
mizmo is it meant for consumption by fedora released version users, or rawhide users? 13:16
skvidal it layers on top of whatever repos you want 13:17
abadger1999 mizmo: Actually, might want to look at this wiki page: https://fedoraproject.org/wiki/Category:Kopers 13:17
skvidal mizmo: here - let me try another tack 13:17
skvidal you know what mock does? 13:17
skvidal this is just like mock except the building is done on a system we run 13:17
abadger1999 It has Jesse's page, but we've been finding things that won't work with the initial proposal. 13:17
skvidal and the files are hosted on a system we run 13:17
mizmo im not familiar with mock :( 13:17
abadger1999 So.. mock builds a package from an srpm. 13:18
abadger1999 When it builds, it builds in a chroot 13:19
abadger1999 So there's only a minimal install of fedora there. 13:19
abadger1999 if the package doesn't have all the deps it needs, you'll get a build error. 13:20
mizmo it spits out what you're missing, to a point? 13:20
abadger1999 but mock won't tell you precisely what... you just get a log file that hopefully will have enough information to see what went wrong. 13:20
abadger1999 For instance it might show that configure can't find perl-devel 13:20
abadger1999 Well.. probably configure will say: Can't find perl.h 13:21
mizmo oh okay :( 13:21
abadger1999 Then you, the packager, say I have to add perl-devel 13:21
mizmo the one thing i was thinking of, if the use case is for stuff to test something on top of say Fedora 12 13:21
mizmo is i go in and i try to build the latest inkscape 13:21
mizmo and when it fails with perl crap, it somehow makes it easier to grab that perl crap from rawhide, which may be newer, and try again 13:21
mizmo without me literally having to hunt down the perl crap 13:22
mizmo (does that make sense?) 13:22
mizmo but if new enough perl crap isn't in rawhide, :) it doesnt help me 13:22
mizmo and if i'm building on rawhide, there's no place to try to automagically grab things 13:22
mizmo mock is a really minimal environment though? is this system going to have more than minimal environments? 13:23
mizmo so i can say i want to build this for the foo spin? 13:23
abadger1999 We hadn't planned on it -- we were just going to replicate what hte current build system dos but make it lighter weight. 13:24
mizmo so it's going to be a mock environment 13:24
abadger1999 Yeah -- mock will pull in the deps you specify in the spec file. 13:24
mizmo kk 13:25
abadger1999 So if the spec file says, BuildRequires: perl-devel >= 5.5 then mock will pull that in and the deps that perl-devel needs. 13:25
abadger1999 But if you don't have those deps specified or the version doesn't exist, then you have to hunt them down and build them first. 13:26
mizmo oh okay 13:26
mizmo so when my inkscape builds fail i kind of am an idiot for not doing the spec file right :) 13:26
mizmo so what you guys are looking for 13:27
mizmo is sort of a nice web interface to browse the different kopers? 13:27
abadger1999 Yeah :-) although you have some good ideas for tools that might be able to help.. it's just not something that we have tooled at all at the moment. 13:27
abadger1999 Yep. 13:27
mizmo can this be an automated thing like the ubuntu ones 13:27
mizmo or is it always a manual thing? 13:27
mizmo eg they have an inkscape nightly builds ppa that looks automated? (gah i want that) 13:28
mizmo (it may not be though) 13:28
skvidal someone submits them 13:28
abadger1999 A buildbot on the client could be constructing the srpm and sending automatically. 13:28
skvidal but that is not automated 13:29
skvidal that's someone (the owner of the buildbot process) submitting them 13:29
skvidal it's just simple 13:29
abadger1999 But the server is just queuing what the clients send it. 13:29
abadger1999 mizmo: If you download this and look at it in inkscape, http://toshio.fedorapeople.org/apb-overview.svg 13:30
mizmo lemme see 13:30
abadger1999 you'll see what we're envisioning -- developers/packagers are manually submitting SRPMS at one end. 13:30
abadger1999 repositories with their builds are popping out the other. 13:30
abadger1999 Users are doing their best to figure out how to consume the repositories. 13:30
mizmo what's the dotted line between scm and build service? 13:31
abadger1999 I looked at the ubuntu ppas website... they seem to have decided on search rather than browse. 13:31
abadger1999 So scm is optional -- I think it would be nice for packagers to have. 13:31
abadger1999 But out initial work will follow hte black line -- srpm to buildservice to repo 13:32
abadger1999 *our 13:32
mizmo so the repo list website is what we're talking about? 13:32
abadger1999 With an scm, we could share work between Fedora proper, a ppa that's doing inkscape nightlies, and a ppa that's doing latest inkscape stable releases, for instance. 13:33
abadger1999 I think mainly. 13:33
abadger1999 Not sure if spot was envisioning you looking at the whole process or not. 13:33
mizmo kk 13:33
mizmo (it helps a ton for me to understand it though, sorry for all the questions) 13:34
abadger1999 No problem. I like answering simple questions where I can feel smart :-) 13:34
mizmo lol 13:34
mizmo so the problem the website solves for folks 13:35
mizmo (1) i wanna see what cool stuff i can try - eg mo and nicu can try the latest inkscape 13:35
mizmo (2) a developer told me to try x and now i have to find it 13:35
mizmo (3) i want x. it's not in the fedora repos. is it here? 13:36
mizmo can you think of anything else? 13:36
abadger1999 (4) I need to pull up a new infrastructure host and I need to get the packages that only run on infrastructure boxes 13:36
abadger1999 Which is kinda 3 13:36
abadger1999 But it's also -- package x is in Fedora and a koper but the way it was built is different 13:37
mizmo so infrastructure has packages specific to it that aren't in the main distro? 13:37
mizmo oh right, 13:37
mizmo (5) i have x weird setup so i need this package that's sin fedora with special sauce 13:37
abadger1999 Or the configuration that comes along with it is different. 13:37
abadger1999 Yeah 13:37
mizmo k so the types of repos/pckages im thinking of then 13:39
mizmo a - it's already in fedora, but this one has special sauce 13:39
mizmo b - it's already in fedora, but it's the newest / experimental / cooler version 13:39
mizmo c - it's already in fedora but it has a specific bugfix we wanna test before promoting it 13:39
skvidal why classify it by repos 13:39
mizmo d - it's not in fedora at all. 13:39
skvidal it is entirely possible that we will have repos that have ALL of the above in them 13:39
skvidal and knowing what those are from the outside will be fairly close to impossible 13:40
mizmo sure, but being aware of the approaches folks are taking at them and what they might get i think is a useful exercise? 13:40
skvidal ok 13:41
abadger1999 mizmo: c could also be a particular bug has been fixed along with a bunch of feature additions so it shouldn't become a fedora update. 13:41
mizmo eg. i am sure a poor example, but if i'm looking for new cool inkscape, but instead i get same old inkscape but tweaked with special metric system crap.... im disappointed 13:41
mizmo abadger1999: backport fix? 13:41
abadger1999 But a particular person hit by the bug might want to update to that in the stable Fedora. 13:41
mizmo so per build there isn't going to be seperate repos? is it going to be 1:1 person:repo or is it more, multiple repos for one person like spot, but he manually curates what goes in each one? 13:42
abadger1999 mizmo: as in, that's what should happen in Fedora? -- Fedora doesn't mandate backports. As in that's what to call it? It's probably an update to a new upstream but the package is built for a stable Fedora. 13:42
abadger1999 N:N 13:43
abadger1999 Could be a KDESIG repo with multiple packagers for that one repo and multiple packages in it. 13:43
abadger1999 Could be: toshoi's personal repo where I have updates to random stuff I need. 13:43
mizmo ahhhh 13:43
abadger1999 We'll probably see packagers put their not yet reviewed packages in as well. 13:44
mizmo ah thats a good use case too, and they could add their repo to the review request 13:44
abadger1999 Yep. 13:44
mizmo so what do you like / not like about the ubuntu ppa site? 13:45
* skvidal has completely no preference about it 13:47
abadger1999 I don't think I'd find the front page particularly useful. the search is probably all that I'd use. 13:47
mizmo they have a section that shows which versions of ubuntu support it. are there only particular versions of fedora this will work for? 13:48
mizmo f13 and moving forward? 13:48
abadger1999 I'd probably be targetting a particular program (bzr) or group (KDE updates) rather than ooh.. there's a new inksscape build 13:48
mizmo would you want to put some on a watchlist? 13:48
abadger1999 mizmo: I don't think there's going to be a lot more overhead in writing code to get more than one release. 13:49
abadger1999 I wouldn't -- I'd just install the ppa repo into apt/yum and it would get pulled in as part of yum update. 13:49
abadger1999 https://launchpad.net/ubuntu/+ppas?name_filter=bzr 13:49
abadger1999 That search result is pretty unhelpful 13:49
mizmo im confused 13:50
mizmo isnt that kind of broken 13:50
mizmo like 13:50
mizmo to use bzr as an example (and that search doesn't do this) 13:50
mizmo if there are 5 kopers for bzr in fedora 13:50
abadger1999 A lot of those are bzr developers and they probable have their own builds that they upload to their own PPA... but it just makes that result confusing and horrid 13:50
mizmo you don't want to hook your system up to all 5 kopers no? 13:50
mizmo wht if they aren't compatible? 13:50
abadger1999 Correct. 13:50
abadger1999 also correct. 13:50
mizmo so when you say you'll just install the ppa repo into apt/yum what do you mean? 13:51
* mizmo isn't following that 13:51
abadger1999 And the question is... how does the end user tell what's compatible and what's not? 13:51
abadger1999 ah 13:51
abadger1999 So let's say I manage to get to a PPA for some software I like: 13:52
abadger1999 https://launchpad.net/~bauble/+archive/ppa 13:52
abadger1999 click on Technical details about this PPA 13:52
abadger1999 That tells you how to add the ppa to your ubuntu system. 13:53
mizmo right but say, in the case where im interested in inkscape (and again maybe that's a stupid case) 13:53
abadger1999 For Fedora, we'd probably have an rpm for the "ppa's repository" that you'd click on and it would be installed. 13:53
mizmo maybe llkundrak did a build, then nicu did a build, then whomever did a build, and there's all these different repos 13:53
mizmo how do those folks get together and have one repo 13:54
mizmo cuz its possible to have 3 where there should be 1 13:54
skvidal I suspect they get together 13:54
skvidal by talking 13:54
mizmo if im just subscribed to llkundrak's then i won't get the newest version of inkscape that's in nicu's build, which is ultimately what i want 13:54
mizmo skvidal: you would be surprised though how often that doesnt happen 13:54
abadger1999 So... they could be working together and all target the same repo -- then the latest version of the package will be there and the others won't. 13:54
skvidal mizmo: and I don't see how this tool solves that problem - but <shrug> 13:55
skvidal oh and for the record 13:55
abadger1999 But as you can see from the launchpad ppa's it's also likely that they won't collaborate and you'll get 3 separate repos with inkscape. 13:55
skvidal the way you migrate someone from one ppa to another 13:55
mizmo skvidal: well for example, if you have a repo that has inkscape in it, maybe you have a section that says, other repos that have inkscape in it 13:55
skvidal is via a ppa release and/or a redirect 13:55
mizmo so then they're aware of what the other is doing 13:55
skvidal mizmo: sure 13:55
mizmo abadger1999: " then the latest version of the package will be there and the others won't." will be where? 13:56
mizmo abadger1999: if it's one repo between the 3 of them, then in that one repo? 13:56
mizmo so i mean, if we agree the case where i'm interested in inkscape. or bzr. or anything kde. is important, and you're focusing on the app *not* the repo, then maybe having some alert system or something 13:57
abadger1999 In the repo... if there was one "design team SIG" repo and they all worked on it, then whichever one built the rpm-latest version of inkscape would have their build in and hte others would get garbage collected. 13:57
mizmo a new repo with inkscape in it is available - and it pops up on your watch list 13:57
mizmo abadger1999: ah okay so the old versions get cleared out? 13:57
abadger1999 per repo, yes. 13:57
mizmo kk 13:58
abadger1999 skvidal: btw, that causes interesting problems for managing repos -- we'll probably have to merge repos that are depended on rather than having them depend on the clientside. 13:58
skvidal abadger1999: ? 13:58
skvidal codependent repos? 13:58
abadger1999 skvidal: say I have a repo and it depends on libfoo-1.0 in your repo. You build libfoo-2.0. 13:59
abadger1999 skvidal: libfoo-1.0 gets garbage collected and my packages stop working. 13:59
skvidal yes, and? 13:59
mizmo gah the repos can interdepend on each other o_O 13:59
abadger1999 skvidal: So it's better for the tool to copy/hardlink/etc libfoo-1.0 into my repo at repo creation time. 14:00
skvidal of course 14:00
skvidal abadger1999: so you never know? 14:00
skvidal and how will the tools know that your repo should have this?: are we going expand the entire set of deps out? 14:00
skvidal just so we're clear that's umm N^N 14:00
abadger1999 ugh... well... back to just saying that we're building doom here, then :-) 14:02
mizmo DOOOOM 14:02
abadger1999 skvidal: here's a thought -- I don't think ppas can depend on each other (don't know about opensuse) 14:03
skvidal I don't see WHY they couldn't 14:04
skvidal the whole point here,afaict, is that we are letting people build stuff 14:04
skvidal it is NOT that building stuff or organizing an ever-expanding set of pkgs and deps is easy 14:04
abadger1999 Well, no. It's to let users install the built stuff. 14:05
mizmo the doom should be on the devs not the usres 14:06
mizmo if a repo goes away and breaks shiz, that's putting doom on the users 14:06
mizmo (if doom has to be put on anyone at all, that is) 14:06
abadger1999 Yep. 14:06
mizmo (rather devs than users) 14:06
skvidal umm 14:07
skvidal wait 14:07
skvidal who are ppas for? 14:07
skvidal b/c spot was saying it's for devs 14:07
skvidal now we're saying it's for users? 14:07
abadger1999 it's not for the people creating the packages.... but you'd have to define "users" 14:07
mizmo well when i say user :) 14:07
mizmo i mean the user of the repo 14:08
mizmo who may not be a dev. may be the user trying to get access to a bugfix in the ppa 14:08
mizmo but they may well be the dev themselves 14:08
mizmo where dev = person who created the repo 14:08
skvidal brb 14:09
mizmo are you guys building the web ui using moksha btw? 14:11
abadger1999 No... probably going to be a straight TG2 app. 14:11
mizmo kk 14:11
mizmo it could use similar css though from fedora community to match maybe 14:11
abadger1999 That part would be good. 14:12
abadger1999 mizmo: What's the state of all the fedora property's css? 14:12
abadger1999 Are we conolidated on some conceptual model yet? 14:13
mizmo abadger1999: nope :( its still kind of amess 14:13
mizmo although the fcomm css does inherit pretty cleanly from the base fedora.css 14:13
mizmo so its not a fork or anything 14:13
abadger1999 <nod> 14:14
mizmo so overall i think the ubuntu pages have a lot of noise we dont need 14:15
mizmo wow, a *lot* of noise 14:15
abadger1999 Yeah. 14:15
abadger1999 Oh here 's something: You notice the warning message in the description on this page? https://launchpad.net/~bauble/+archive/ppa 14:16
mizmo yep i saw that 14:16
mizmo 'zomg this will break you' 14:16
abadger1999 I think that kind of thing is what will bite us the worst with kopers type repos. 14:16
abadger1999 I don't know how we want to present it but we need to make sure users know that they're liable to get into dep hell by doing this. 14:17
mizmo well 14:17
mizmo we know what packages are in the koper 14:17
mizmo we know what versions they are 14:17
mizmo we know what versions of those same packages are in various versions of fedora 14:17
mizmo what if we had a diff tool 14:17
mizmo if you have fedora 12, and you use this koper, here's how it will change your system 14:18
mizmo what would be even way cooler that isn't probably possible / in scope 14:18
mizmo if it could take a dump of my rpm -qa (does smolt track this?) and only tell me the specific packages i have installed that it'll affect 14:18
mizmo eg in the cause of bauble, if i have stuff that depends on sql alchemy version foobar, it'll warn me they're at risk! but only if i have that. if i don't it won't warn me so heavily 14:18
abadger1999 <nod> 14:19
abadger1999 that would probably need to be done clientside. 14:19
mizmo well 14:19
mizmo would it be weird to have a profile on kopers 14:19
mizmo where you send in your rpm -qa so the website tells you? 14:20
mizmo i mean, once i set up the repo on my system... 14:20
mizmo i've already wasted time / bought into the idea of this repo, so i'll be annoyed if i go thru the effort and then it tells me, no pony for you 14:20
skvidal for each and every user? 14:20
skvidal umm 14:20
skvidal that would be..... expensive 14:20
mizmo how do we do the hw profiling in smolt? 14:21
abadger1999 I have to grab my kid from school -- i'll be back in about 10 minutes if you guys are still here. 14:21
mizmo kk 14:21
mizmo skvidal: what do you mean by expensive? 14:23
skvidal maybe I misunderstood 14:24
skvidal you're suggesting that a user 14:24
skvidal who wants to use a repo 14:24
skvidal should upload their installed pkgs list 14:24
mizmo or use a client that does it for them 14:24
skvidal and be warned if something in the repo might impact them negatively 14:24
mizmo like the smolt client uploads hardware info 14:24
mizmo right 14:24
mizmo so the website will reflect things based on the rpm -qa affiliated with their user profile 14:25
skvidal right - so let's say we have 100 kopers 14:25
mizmo i guess you got the prob where it can get out of sync 14:25
skvidal and say - 25000 users use those kopers 14:25
skvidal let's call it 60K per rpm -qa per user 14:25
skvidal per repo 14:25
mizmo oh wait 14:26
mizmo it wouldn't be per repo 14:26
mizmo it'd be per user 14:26
mizmo so you would 'log in' to get that feature 14:26
mizmo you could use kopers without it and never have a log in 14:26
skvidal umm 14:26
skvidal I think this is a bit beyond scope 14:27
skvidal but whatever 14:27
mizmo so when you render the page, if i'm logged in as duffy, it highlights stuff that might cause me a headache 14:27
mizmo if im not logged in, it's just plain 14:27
mizmo well i mean 14:27
mizmo if its a weakness in the ubuntu design, its a way to solve it in ours 14:27
mizmo maybe its not the best solution 14:27
mizmo but if the warnings are specific to the user, they're way more valuable than an easily-ignored blanket statement which many cases doesn't apply 14:28
mizmo it's an awkward PITA to check to see if you're affected 14:28
mizmo because then you have to switch from web browser mode to another app (terminal or package kit if you use that) 14:29
mizmo im just trying to brainstorm ideas on how to make for a smoother experience but it could be a dumb idea 14:29
mizmo but sometimes dumb ideas spawn good ones 14:29
skvidal yah - I don't know here 14:32
mizmo i mean if you come out with something thats sort of close to another technology its good to have a clear win over it / or differentiating feature 14:33
skvidal differentiating feature 14:33
skvidal it's for rpms 14:33
mizmo :-p not enough! 14:33
skvidal afaik - ours is actually open source 14:33
skvidal okay 14:33
skvidal it's late 14:33
mizmo oh theirs isn't open source! 14:33
mizmo damn 14:33
mizmo it is late, off with you :) have a good one 14:34
* abadger1999 returns in time to say goodbye :-) 14:36
mizmo hiii 14:36
mizmo byeeee 14:36
mizmo :) 14:36
mizmo ill do some mocks based on what we talked about 14:36
mizmo some of it might be pie-in-the-sky crackrock and we can totally drop it 14:36
abadger1999 Cool. Thanks! 14:36

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!