From Fedora Project Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
(13:41:10) abadger1999: c4chris, dgilmore: Do you want to meet here for packageDB talk or elsewhere?
(13:41:24) dgilmore: abadger1999: here is great
(13:42:01) mmcgrath: warren: can you send me an encrypted version of the file pick sent you?  He didn't encrypt it with my key
(13:42:06) abadger1999: Okay.  I started looking at implementing something in TurboGears working from Elliot's schema.
(13:42:30) abadger1999: TurboGears is a good framework.
(13:42:30) warren: mmcgrath, console access didn't change since the old console.txt.asc
(13:42:34) warren: mmcgrath, sending the rest
(13:42:40) abadger1999: The schema seems a little complex.
(13:42:50) abadger1999: Here's how I've modified it so far http://www.fedoraproject.org/wiki/Infrastructure/PackageDatabase/Schema
(13:42:52) pick: mmcgrath, I must be sniffing glue
(13:42:53) mmcgrath: oh, k.
(13:42:55) pick: thought I did
(13:43:00) mmcgrath: pick: its cool ;-)
(13:43:23) warren: mmcgrath, gpgkeyid?
(13:44:18) abadger1999: I'm not sure if we want to track each Package Version in the packageDB or not.
(13:44:33) mmcgrath: C505F685
(13:45:00) warren: mmcgrath, could you please walk me through this?  i really need to get more familiar with this
(13:45:03) dgilmore: abadger1999: perhaps for now  lets  just use SQL create statements with comments
(13:45:35) dgilmore: abadger1999: we  need to track branches
(13:45:39) abadger1999: We could, but this is already written...
(13:45:55) abadger1999: dgilmore: Yep -- I think Elliot's Collections handles branches.
(13:46:17) f13: abadger1999: yes, we want to track versions.
(13:46:18) ***c4chris looks ar Schema now...
(13:46:18) dgilmore: abadger1999: each branch  could possibly have different or multiple maintainers
(13:46:31) abadger1999: I changed how it was setup though.  He just had name in collection, so it would have had to be Core4 Core5, etc.
(13:46:35) dgilmore: the versions inside the branches  we donet cae about
(13:46:39) f13: abadger1999: we should be able to use the packageDB to handle 'collections' in which certain versions are tagged for certain collection.
(13:47:27) dgilmore: abadger1999: it would be nice to track upgrade paths maybe
(13:47:27) mmcgrath: warren: sure, do you just want to do it?
(13:47:33) mmcgrath: Reboot the box, hit f12
(13:47:51) Locnar [n=workin]  entered the room.
(13:47:53) warren: mmcgrath, gnome-terminal wont interfere?
(13:48:16) mmcgrath: once you ge tto a boot prompt (I think its boot:) just type cvs and hit enter
(13:48:26) mmcgrath: warren: not sure, I'm a kde man :)
(13:48:33) mmcgrath: there is an escape character for f12 too.
(13:48:44) mmcgrath: it'll get printed to the screen at first reboot but it'll dissappear quick.
(13:48:45) Locnar: You folks still swapping servers?
(13:49:09) warren: CVS is still down, working on it
(13:49:36) abadger1999: f13: But packages get updated.  So my question is there value in knowing that foo-1.0-1 foo-1.0-2 foo-.1.1-1 were shipped for "Core 4" and foo-1.0-2 foo-1.1-1 foo-1.1-2 were shipped for "Core 5"?
(13:49:42) abadger1999: Which there may be.
(13:49:55) abadger1999: Just asking if you have a use case already.
(13:49:57) pick: warren mgalgoci is going to check the kvm and find my problem
(13:50:08) warren: pick, mgalgoci, thanks
(13:51:25) c4chris: abadger1999, I think we should have some sort of package group thing
(13:51:33) abadger1999: dgilmore: True -- upgrade path or lack thereof.  So then, the nagmail scripts can query the db directly...
c4chris c4chris|w
(13:51:51) dgilmore: abadger1999: yeah might make them quicker
(13:51:57) abadger1999: c4chris: Like comps groupings or..?
(13:51:59) c4chris: and some sort of groups in people too
(13:52:11) warren: mmcgrath, hm, where is the login info for PDU?
(13:52:16) c4chris: abadger1999, more like perl, python, etc
(13:52:23) c4chris: games
(13:52:36) abadger1999: Yah.  People starts to intersect with the new accounts system...
(13:52:41) dgilmore: c4chris: kde :D
c4chris c4chris|w
(13:52:55) c4chris: then if we also have sig groups in people, we can pretty easily matching groups to make edits/builds
(13:53:00) abadger1999: c4chris: So like SIGs
(13:53:07) dgilmore: abadger1999: we  need ways to assign sigs  blobs of packages
(13:53:09) c4chris: abadger1999, yes
(13:54:25) c4chris: abadger1999, I don't see an owner either ?
(13:54:37) abadger1999: There could be multiple groups per package then.  Wonder if we should key off the Package or PackageVersion.
c4chris c4chris|w
(13:54:46) dgilmore: abadger1999: co-maintainers should be able to do a few things depending on how they want to work
(13:54:52) ja8sun left the room (quit: "Leaving").
(13:55:11) dgilmore: for instance  you and I could work on al branches of a package together
(13:55:18) abadger1999: c4chris: In Elliot's model, you use PackageInterest to associate people to package.
(13:55:25) c4chris: probably more like a package/OS-release thing
(13:55:27) abadger1999: But that's something I'm not sure I like.
(13:55:31) dgilmore: or  you work on FC5 and devel and I work on FC-3 FC-4
(13:55:45) c4chris: abadger1999, oh, right.  Not so intuitive...
(13:55:57) c4chris: dgilmore, yes
(13:56:42) dgilmore: c4chris: probably more likely  i do FC and you do RHEL
(13:57:20) abadger1999: Right PeopleInterest associates People -> packageListing (which is associating package to collection)
(13:57:22) c4chris: dgilmore, yes.  Might even be tied to arch: you do sparc, and I do alpha ;-)
(13:57:28) dgilmore: but  we need to be flexible in how we assign people/group - package/branch matchups
(13:57:55) dgilmore: c4chris: yep  that is if we get sparc in and i get to maintain them all still :D
(13:58:06) c4chris: there probably needs to be a group of people with global write/build privs
(13:58:32) dgilmore: c4chris: the security SIG and  admins  should have full access
(13:58:42) c4chris: dgilmore, exactly
(13:58:54) dgilmore: we should also have a flag to disable acls on a branch totally when it goes EOL
(13:59:12) abadger1999: Yep.  SIGs should be entered into the accountsDB somehow.
(13:59:23) dgilmore: so that we lock up a branch totally
(13:59:30) abadger1999: A question would be how do we want to pull that information into the PackageDB.
(14:00:08) dgilmore: abadger1999: SIGS  are the groups  we have been talking about
(14:00:18) abadger1999: Yes.
(14:00:29) abadger1999: But to me group information belongs in the accountsDB
(14:01:14) abadger1999: When I sign up and remove myself from the groups that data should be entered into the accountsDB.
(14:01:19) dgilmore: say we have a group table  gid INT, GroupName Varchar
(14:01:52) dgilmore: group matching table gid INT, BranchID INT, PackageID INT
(14:03:08) abadger1999: Sending notifications or asking for authorization in the packageDB needs to query the accountsdb for the info or send it through the accountsDB for further processing.
(14:04:14) dgilmore: abadger1999: i wuld think the link to accounts db is only a userid
(14:05:08) abadger1999: dgilmore: User-Groups are pretty plainly an accounting function though...
(14:05:23) abadger1999: Err... Unless your talking about package-groups...
(14:05:40) dgilmore: abadger1999: user  auth is all in accounts
(14:06:02) dgilmore: package-groups is what i mean when im saying groups
(14:06:37) abadger1999: dgilmore: Ah.  There's our confusion.  We'll have to deal with both, in the packageDB, though...
(14:06:45) dgilmore: abadger1999: i see the package db as controlling the ACLs  on the VCS
(14:06:55) c4chris: so we nedd a group db
(14:07:00) dgilmore: the VCS will do user auth
(14:07:46) c4chris: dgilmore, that'll get tricky then
(14:08:03) dgilmore: c4chris: how so?
(14:08:23) c4chris: package db will say package A is in group G
(14:08:24) dgilmore: abadger1999: we assign users to packages or package groups
(14:08:48) c4chris: and group table will say user U is part of group G
(14:09:17) c4chris: so VCS needs to query group table, no?
(14:09:42) abadger1999: I think the package DB should be querying the group table.
(14:09:45) dgilmore: a package can have multiple "owners"  the main maintainer admins, Security SIG, other sig
(14:09:53) abadger1999: And then setting ACLs in the VCS appropriately.
(14:10:28) c4chris: Oh, I see, and the the PackageDB is used to set ACLs ?
(14:10:39) dgilmore: c4chris: yep
(14:10:43) abadger1999: Unless someone thinks that's a bad idea :-)
(14:11:08) dgilmore: the maintainer might not be part of a sig and therefore  have no access to other packages in that "group"
(14:11:10) c4chris: Dunno
(14:11:27) c4chris: Each time the Package DB is updated, all ACLs need to be checked...
(14:11:35) c4chris: Is that OK?
(14:12:11) abadger1999: Hmmm... not all ACLs each time.
(14:12:32) abadger1999: Unless I'm missing something.
(14:12:40) dgilmore: c4chris: the app that maintains the package db shuold only set ones needed
(14:12:49) c4chris: abadger1999, yes, depends what's changed
(14:13:24) c4chris: ok, that should work
(14:14:30) c4chris: Once we start with a schema, how hard is it to add things
(14:14:52) c4chris: like rpmlint exceptions, excluded arches, ...
(14:14:58) dgilmore: c4chris: hopefully fairly easily  who nows  how much we will want to extend it
(14:15:53) c4chris: I have zero experience with TorboGears
(14:16:05) dgilmore: c4chris: me either
(14:16:15) c4chris: does this create a DB from the schema ?
(14:16:27) c4chris: and provides tools ?
(14:16:49) dgilmore: c4chris: not sure  what do you use?
(14:16:52) abadger1999: Yes.  This component of TurboGears is from SQLObject.  (sqlobject.org)
(14:17:20) ***c4chris uses flatfiles mostly...
(14:17:36) c4chris: (and perl)
(14:17:55) abadger1999: You can write an SQL schema or write it in python.  TurboGears has an init type script which will create the db from the python objects.
(14:18:35) c4chris: and then provides nice management via a web interface ?
(14:19:15) abadger1999: I've seen the screencasts for 0.9 (which lmacken is packaging up) and it has some nice web interfaces.
(14:19:44) c4chris: abadger1999, k  I guess I've got some reading to do...
(14:19:51) abadger1999: 0.8 which we have in Extras and I'm using now is great for programmers but doesn't have all the bells and whistles extra admin apps.
c4chris c4chris|w
(14:19:55) dgilmore: abadger1999: and it can execute system commands?
c4chris c4chris|w
(14:20:47) abadger1999: c4chris: There's two nice screencasts on turbogears.org.
(14:21:12) c4chris: abadger1999, do you have somewhere to setup a mock PackageDB we could check and play with a bit ?
(14:21:15) abadger1999: One is "The 20 Minute Wiki" which is pretty awesome.
(14:21:57) abadger1999: dgilmore: It's just python.  So yes, system commands are possible
c4chris c4chris|w
(14:22:20) dgilmore: abadger1999: cool cause we will need to set facl's  etc
(14:23:00) c4chris: abadger1999, k, will download and have a look later
(14:23:01) abadger1999: c4chris: I don't :-(  I can convert it into SQL creates if you want but otherwise I don't have a server on the internet to host stuff.
(14:23:13) abadger1999: Maybe we can put it into one of the xen guests?
(14:23:36) c4chris: abadger1999, ask warren.
(14:23:53) c4chris: abadger1999, otherwise, I can prolly setup something
(14:24:10) warren: sure we can, after we have it online...
(14:24:38) abadger1999: warren: :-D  Cool.
c4chris c4chris|w
(14:25:56) abadger1999: c4chris, dgilmore: Are either of you python people?
(14:26:10) dgilmore: abadger1999: nope  i do perl and php
(14:26:15) warren: scaly and without limbs?
(14:26:25) c4chris: abadger1999, unfortunately not...  but I plan to learn
(14:26:45) dgilmore: abadger1999: i have done a little python  but i wouldnt say im proficient
(14:26:53) abadger1999: Hmmm.... This'll make development interesting :-)
(14:27:02) c4chris: :-)
(14:27:26) abadger1999: dgilmore: Ah okay.  A little python goes a long way.
(14:28:02) c4chris: I'll have to read the python for perl programmers thing
(14:28:14) c4chris: (or python for C programmers)
(14:28:39) abadger1999: Dive into Python is good too.
(14:28:50) c4chris: abadger1999, k
(14:29:59) abadger1999: Well, we should probably concentrate on the db for now, then.
(14:30:09) c4chris: abadger1999, will you look into getting some kind of SIG idea into teh schema
(14:31:32) abadger1999: Definitely.  Do we agree that we have SIG groups that users are members of and SIG-groups that packages are members of and we want to match those up in the pkgDB somehow?
(14:31:47) c4chris: abadger1999, yes
(14:32:42) c4chris: (somehow, that reminds me: I wanted to file bugs about the %ghost .pyo thing)
(14:33:09) c4chris: (so I can start hacking some python code... :-) )
(14:33:17) dgilmore: abadger1999: yum
(14:33:19) dgilmore: yup
(14:33:20) abadger1999: Would it be helpful if I convert the schema to SQL create statements or is the python/SQL readable enough?
(14:33:45) c4chris: abadger1999, for me it's fine as it is now on the wiki page
(14:33:52) mspevack left the room (quit: "Leaving").
(14:34:36) dgilmore: abadger1999: how it is is ok
(14:35:21) c4chris: warren, any ETA for the xen hosting a sandbox ?
(14:35:52) abadger1999: Okay.  I'll work on merging the ideas we had here and posting them over the weekend.
(14:36:11) c4chris: abadger1999, great! thx.
(14:36:16) warren: c4chris, box is running now, just not installed.   We're still trying to figure out the console, KVM and other access details.  And fixing the CVS server is the top priority.
(14:36:33) c4chris: warren, sure
(14:36:48) c4chris: warren, how does "sometime next week" sound ?