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.
(09:08:21 AM) The topic for #fedora-packaging is: Channel for Fedora packaging related discussion | Next Meeting: Tuesday, January 2nd, 2007 17:00 UTC
(09:08:47 AM) tibbs: Well, there's one more.
(09:08:49 AM) scop [n=scop@cs27014175.pp.htv.fi]  entered the room.
(09:08:57 AM) tibbs: And another.
(09:09:04 AM) scop: hi
(09:09:08 AM) abadger1999: Hello
(09:09:19 AM) tibbs: That's five when spot finishes his phone call.
(09:21:04 AM) spot: sorry guys, still on this call
(09:21:10 AM) spot: hooray for eager users
(09:22:56 AM) ***scop needs to go in about 15 minutes
(09:23:17 AM) XulChris: can we quickly discuss php additions to packaging guidelines?
(09:23:23 AM) XulChris: please
(09:24:11 AM) tibbs: What's the URL of the draft proposal?
(09:24:38 AM) RemiFedora: i've not post it on the wiki, but only on the ML
(09:24:46 AM) RemiFedora: https://www.redhat.com/archives/fedora-packaging/2006-December/msg00124.html
(09:24:53 AM) RemiFedora: https://www.redhat.com/archives/fedora-packaging/2006-December/msg00188.html
(09:26:40 AM) RemiFedora: i probably should have updated the PackagingDrafts/PHP page
(09:26:41 AM) scop: "no file in BUILD directory": I think that's nothing specific to PHP packages, no packages should extract anything directly there
(09:27:25 AM) tibbs: Still, all PHP packages will have that errant file, so it doesn't really hurt to mention it there.
(09:27:55 AM) scop: sure, but we should check that it is mentioned somewhere more "generic" in addition
(09:28:08 AM) tibbs: Are the rpmdevtools and php-pear-PEAR-Command-Packaging templates the same?
(09:28:42 AM) RemiFedora: nearly. rpmdevtools must be filed, php-pear-PEAR-Command-Packaging is automatic.
(09:29:25 AM) tibbs: That makes sense; it's like the perl template and cpanspec, which fills in the template.
(09:29:42 AM) scop: FWIW, I don't like the "php_zend_api" or "php-abi" naming
(09:29:54 AM) tibbs: It's not for us to choose, however.
(09:29:58 AM) scop: it's different from everything else
(09:30:19 AM) ***spot is off his call
(09:30:21 AM) scop: php(abi), php-zend(api) would be better, see python and ruby
(09:30:27 AM) tibbs: I have no idea why they were chosen to be underscores.  We weren't consulted about that.
(09:30:34 AM) spot: +1 on scop's comment
(09:30:45 AM) tibbs: Still, it's an F7-only thing, so it could be changed with no impact.
(09:31:13 AM) tibbs: Anyone with a direct line to Joe Orton to ask why he chose those names?
(09:31:34 AM) RemiFedora: there's a little mistake, it's Requires: php-zend-api = %{php_zend_api}
(09:32:30 AM) abadger1999: scop: +1
(09:32:51 AM) tibbs: Well, that's a bit better, but the parenthesized bits seem to be more in line with how other packages work.
(09:33:02 AM) spot: RemiFedora: can you work with Joe on possibly renaming the macros to match the existing guidelines?
(09:33:05 AM) lutter: I think (1) and (2) are fine to stick into the guidelines as 'tips for packagers' .. we should really have more of those
(09:33:51 AM) RemiFedora: Bug still open : https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=212804
(09:34:06 AM) abadger1999: RemiFedora: > Requires: php-api could be keep, but is not very useful
(09:34:13 AM) abadger1999: Where does php-api come from then?
(09:34:13 AM) spot: lutter: yeah, i think (1) and (2) fall under "good common sense", i don't see a problem with adopting them into the php guidelines
(09:34:38 AM) tibbs: It was there in the PHP package when we started writing guidelines, so that's what we had to use.
(09:35:27 AM) scop: could we go through the AI status quickly before I need to go?
(09:35:32 AM) tibbs: I think I get the zend thing now; php-api is for script compatibility; php-zend-api is for compiled extension capability.   ?
(09:35:45 AM) abadger1999: Does php define a "php api version" that isn't really used, or is it something that we've made up?
(09:35:45 AM) RemiFedora: i've asked for php-zend-api, because it's match the sanity check done by php when loading module.
(09:35:53 AM) spot: abadger1999: yes.
(09:36:03 AM) spot: abadger1999: look at the bugzilla link remi posted, it explains it somewhat
(09:36:07 AM) abadger1999: k
(09:36:44 AM) spot: scop: lets go over the AI status
(09:37:16 AM) scop: I believe provides/obsoletes and debuginfo are writeup stuff
(09:37:32 AM) spot: yeah, i think so
(09:37:47 AM) abadger1999: agreed
(09:37:53 AM) spot: whereas, icon handling and RPMGroups were vetoed?
(09:37:53 AM) scop: iconcache still not very clear yet -> followup?
(09:38:15 AM) tibbs: rpmgroups wasn't exactly vetoed.
(09:38:55 AM) tibbs: We were just asking for the ability to go ahead and get RPM changed to allow it to be optional without changing any guidelines which require it.
(09:39:11 AM) spot: tibbs: ah, ok. i'll talk to paul and see if he's still willing to do it
(09:39:43 AM) tibbs: At this point, though, everyone wants to see how the infrastructure develops before actually removing it from the guidelines.
(09:39:56 AM) ***spot nods
(09:40:02 AM) spot: rpm is only a bit in flux atm. :)
(09:40:10 AM) scop: I think making Group optional would cause some compatibility issues
(09:40:23 AM) scop: certainly at least on the specfile level
(09:40:42 AM) tibbs: Nobody could point to anything specific, but you don't know until you actually try it.
(09:40:49 AM) spot: scop: ehh, i'm not sure it would, the only issues i know of would be tools that depend on that field being populated
(09:41:03 AM) spot: undefined Group is the same as undefined Vendor/Packager
(09:41:22 AM) spot: (if it is flagged as optional)
(09:41:43 AM) ***spot did a fair amount of testing with it the first time around
(09:41:45 AM) Rathann|work: what's the motivation behind removing Group: ?
(09:41:55 AM) scop: well, I'm sure it would cause those specfile level incompats
(09:41:56 AM) spot: Rathann|work: the field is populated with garbage values
(09:42:04 AM) scop: $ rpmbuild -bb foo.spec
(09:42:10 AM) scop: error: Group field must be present in package: (main package)
(09:42:27 AM) spot: scop: if rpm is patched to flag it as optional, it doesn't throw that error
(09:42:35 AM) scop: yes, but older versions do
(09:42:37 AM) spot: it would be an FC7+ only change
(09:42:39 AM) Rathann|work: spot: we mandated buildroot and version and release, why can't we mandate group?
(09:42:57 AM) f13: Rathann|work: because Group is unnecessary duplication and often times wrong data.
(09:42:57 AM) tibbs: Because we have comps, which is more expressive.
(09:42:58 AM) spot: Rathann|work: well, we could, but nothing is using the Group data
(09:42:59 AM) scop: which means packagers who want to get rid of it must pay the price of maintaining different specfiles
(09:43:12 AM) tibbs: Not that we haven't discussed all of this before.
(09:43:13 AM) f13: Rathann|work: the 'Group' field isn't used by any of the tools that represent packages by groups.
(09:43:28 AM) tibbs: There were proposals to encode the comps information into Groups.
(09:43:32 AM) scop: f13, I believe Synaptic does use it
(09:43:35 AM) scop: (FWIW)
(09:44:14 AM) f13: scop: yes, but thats not really the "tool of choice" of Fedora.
(09:44:17 AM) spot: scop: since it would be optional, packagers can weigh the tradeoffs
(09:44:28 AM) f13: scop: Fedora's tools of choice being anaconda, yum, pirut, pup, all make use of comps through yum.
(09:44:31 AM) abadger1999: scop: Or %if %{fedora}0 it.  But they could hold off on making changes until FC8+ if they want everything to stay nice and neat.
(09:44:34 AM) f13: same with the composition tool.
(09:45:02 AM) abadger1999: scop: I agree with the synaptic/smart argument... until there's an alternative.
(09:45:13 AM) scop: shrug, just pointing out that "nothing is using the Group data" is not true
(09:45:38 AM) spot: i think that the idea is that storing package grouping metadata as hardcoded entries in the spec is a bad way to do package grouping
(09:45:41 AM) abadger1999: (alternative to the Group tag, rather than alternative to synaptic/smart :-)
(09:45:44 AM) f13: scop: ok, any of the tools we care about.
(09:45:58 AM) f13: I'm with spot on this one
(09:46:05 AM) spot: especially if someone wants to make Fedora Game Machine with their own custom groupings
(09:46:05 AM) scop: f13, that's subjective (no, I don't personally care about synaptic)
(09:46:08 AM) f13: package grouping is really up to the person creating the repo, not building the package.
(09:46:14 AM) f13: as such, the group data needs to be outside the package.
(09:46:29 AM) abadger1999: f13: -1 to not caring about smart/synaptic
(09:46:33 AM) tibbs: That's an excellent argument.
(09:46:44 AM) scop: I suppose rpmbuild would have to fill *some* Group info anyway
(09:46:49 AM) abadger1999: +1 to the rest of your argument
(09:46:57 AM) f13: scop: at some point, the Fedora board or whatever needs to draw a line regarding what package tools they care about.  We can't hold things up because joe's package tool doesn't yet support it.
(09:47:01 AM) tibbs: It would use (none) as with other optional fields.
(09:47:10 AM) f13: and honestly, at this point, we care about yum and yum based tools.
(09:47:59 AM) ***spot thinks that the reason we do changes over time, in phases, is to let Fedora contributors/packagers keep their preferred tools running
(09:48:22 AM) abadger1999: f13: The line that I'm seeing we're crossing is that we don't have a place to store full group information for every package yet.
(09:48:24 AM) spot: libs change, APIs change, for better and worse
(09:48:39 AM) abadger1999: f13: So package managers that use Group tag information have nothing to port to.
(09:48:44 AM) abadger1999: (yet)
(09:48:56 AM) scop: I can't agree with shrugging off everything that is not yum based when discussing changes in rpm
(09:48:57 AM) tibbs: Could we resolve the PHP issue before we close?
(09:49:00 AM) f13: which isn't so bad when the data is oft times wrong.
(09:49:14 AM) ***Rathann|work agrees with scop
(09:49:35 AM) spot: scop: i agree with you as well
(09:49:38 AM) spot: ok. PHP
(09:49:47 AM) f13: scop: sure, but the only reason that synaptic/apt doesn't use comps is they chose not to.  Not because they couldn't, they just chose not to.  Too bad for them.
(09:50:02 AM) tibbs: There were three changes proposed for the PHP guidelines:
(09:50:04 AM) f13: their tool doesn't represent the same data as the installer, which it really should.
(09:50:20 AM) tibbs: The first two are just hints for packagers:
(09:50:36 AM) abadger1999: f13: No.  comps is not inclusive.
(09:50:41 AM) tibbs: note the %setup -q -c must be used because PHP package tarballs will always have a file that's not in any directory.
(09:51:10 AM) tibbs: note that rpmdevtools provides a template, and that pear make-rpm-spec will generate a specfile for you.
(09:51:29 AM) spot: The first two items seem like common sense to me. +1 to both
(09:51:31 AM) tibbs: These are just hints to packagers and don't really change any guidelines.
(09:51:35 AM) tibbs: +1 to them.
(09:51:47 AM) lutter: +1 for adding them
(09:51:53 AM) abadger1999: +1
(09:51:54 AM) f13: abadger1999: and Group is invalid and not inclusive either.
(09:52:30 AM) f13: abadger1999: so really, they're trading a non-inclusive for incorrect.
(09:52:33 AM) spot: f13? scop?
(09:52:54 AM) f13: spot: I don't know enough about php to really offer a valid vote.
(09:53:16 AM) spot: f13: you really don't need to know anything about php here
(09:53:16 AM) f13: +0 I guess.
(09:53:26 AM) spot: packages shouldn't dump crap in BUILD/
(09:53:35 AM) f13: right, +1
(09:53:41 AM) scop: sorry, was distracted
(09:53:44 AM) spot: there are templates available for spec files, or you can have one automade.
(09:54:29 AM) spot: ok, thats +5
(09:54:33 AM) scop: +1 to 1) obviously, both PHP specific and generic mention somewhere
(09:54:43 AM) Rathann|work: php(api) and php-zend(abi) are cosmetic really, although it'd be great if they could be made consistent with python/perl/ruby
(09:54:48 AM) spot: on item number 3, the API version check
(09:54:59 AM) spot: i really want them to be consistent with the normal api standards
(09:55:07 AM) scop: about 2), does "pear make-rpm-spec Sources.tgz" generate acceptable results?
(09:55:29 AM) Rathann|work: scop: if it doesn't, it can probably be made to do so
(09:55:32 AM) f13: well, python and perl are autogenerated by rpm aren't they?
(09:55:36 AM) spot: when that change is made php(abi)/php-zend(api), i'd vote for it, but as is, -1
(09:55:39 AM) f13: should we wait until php is too?
(09:55:47 AM) RemiFedora: i think so, only the %file must be updated
(09:55:47 AM) tibbs: scop: according to discussion here, it generates something almost identical to the rpmdevtools template but filled in.
(09:56:19 AM) tibbs: Unfortunately we have something of a broken situation unless PECL modules depend on the proper symbol.
(09:56:38 AM) scop: tibbs, Rathann|work, ok, if it does create good stuff, +1 - but it needs to be verified before it goes to guidelines
(09:56:42 AM) tibbs: PECL modules are the compiled extentions.l
(09:57:11 AM) tibbs: As only F7 provides the symbol, we can still get it changed.
(09:57:12 AM) ***Rathann|work should check if the php stuff he packaged once is already in extras...
(09:57:21 AM) abadger1999: scop: That sounds reasonable.
(09:57:29 AM) tibbs: If any of the Red Hat folks can talk to Joe Orton about it, it would be great.
(09:57:46 AM) spot: there is an open bugzilla ticket where jorton seems to be responsive
(09:58:02 AM) spot: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=212804
(09:58:13 AM) abadger1999: RemiFedora, XulChris: How much might pear make-rpm-spec Foo.tgx change its output over time?
(09:59:18 AM) RemiFedora: i think  "pear make-rpm-spec" provides a fedora specific specfile, XulChris ?
(09:59:30 AM) XulChris: RemiFedora: i havnt tried it
(09:59:38 AM) abadger1999: RemiFedora: If so, that would eliminate my worry.
(10:00:32 AM) scop: PEAR-Command-Packaging might however have some issues with that continuing to be the case in the future
(10:01:18 AM) tibbs: The template is supplied by the Fedora packager, I think.
(10:01:18 AM) scop: eg. if it creates php(abi) and friends, that might not work outside of Fedora and upstream could be interested in leaning towards compatibility...
(10:01:46 AM) scop: ah, that sounds good
(10:01:49 AM) tibbs: Yes, that template will only change if the Fedora packager changes it.
(10:03:28 AM) tibbs: So are we resolved to try to get the symbol changed to php-zend(api)?
(10:03:45 AM) spot: tibbs: +1 from me
(10:03:47 AM) abadger1999: tibbs: +1
(10:03:56 AM) Rathann|work: consistency is good
(10:03:57 AM) tibbs: Or was it php(zend-api) ?
(10:04:15 AM) tibbs: Which is more consistent?  It's a symbol provided by the PHP package.
(10:04:22 AM) spot: php(api) and php-zend(api)
(10:04:32 AM) tibbs: I'm not exactly sure what we're trying to be consistent with.
(10:05:14 AM) spot: honestly, i don't care which one
(10:05:38 AM) Rathann|work: tibbs: um, perl and python
(10:05:57 AM) scop: perl is "different"
(10:06:03 AM) scop: python and ruby
(10:06:12 AM) Rathann|work: right
(10:06:26 AM) tibbs: Right, but what is the set of parenthesized symbols they provide?
(10:06:33 AM) tibbs: I guess I can do rpm --provides myself...
(10:06:41 AM) scop: (abi)
(10:06:53 AM) RemiFedora: python have python(abi) and python-abi
(10:07:01 AM) Rathann|work: right
(10:07:17 AM) tibbs: ruby has no parentiesized provides.
(10:07:29 AM) scop: python(abi) is automatic, python-abi is there only for historical reasons for distros that didn't autogenerate python deps
(10:07:29 AM) tibbs: Ah, but ruby-libs does have ruby(abi).
(10:07:35 AM) spot: ruby(abi) = 1.8
(10:07:55 AM) tibbs: So there's no precedent for php-zend(abi) versis php(zend-abi)
(10:07:57 AM) spot: php-zend(abi) says "the abi of php-zend"
(10:08:06 AM) spot: which is different from the abi of php
(10:08:22 AM) tibbs: But there's no php-zend package.
(10:08:36 AM) spot: tibbs: does that matteR?
(10:08:46 AM) tibbs: That's what I'm asking.
(10:08:48 AM) spot: ruby(abi) is in ruby-libs
(10:09:17 AM) tibbs: In any case, none of this matters significantly.
(10:09:31 AM) tibbs: So who will tack this request onto that bug report?
(10:09:38 AM) spot: i dont think it matters that there is no php-zend package as long as something provides php-zend(abi)
(10:10:24 AM) ***spot looks at Remi
(10:10:28 AM) scop: if it means "the zend abi of php", ie. a property of php, then php(zend-abi) would sound better to me
(10:10:49 AM) ***spot really doesn't care.
(10:11:00 AM) spot: since this is new ground, break it one way or the other. :)
(10:11:03 AM) RemiFedora: i can add a comment on the bug the provide php(zend-abi) ...
(10:11:07 AM) ***scop really needs to go now
(10:11:20 AM) spot: RemiFedora: please do
(10:12:09 AM) spot: ok, i'm going to go get lunch
(10:12:19 AM) spot: thanks for the time all, and happy new year
(10:12:20 AM) RemiFedora: does i ask J.Orton to also provide the macros.php on FC6 ?
(10:12:38 AM) spot: RemiFedora: if you want to use it in FC6. :)
(10:12:58 AM) abadger1999: So long scop, spot
(10:13:06 AM) tibbs: I will write up the other two items into the guidelines and present a draft to the list.
(10:13:45 AM) abadger1999: RemiFedora: Could you explain what a "channel" is? (re your second email)
(10:14:04 AM) RemiFedora: php.net is the main channel for extensions..
(10:14:10 AM) XulChris: abadger1999: its like a repo
(10:14:57 AM) tibbs: Like every other language these days, PHP has its own packaging system.
(10:15:08 AM) f13: gah
(10:15:22 AM) tibbs: It's not nearly as intrusive as eggs or gems, though.
(10:16:23 AM) abadger1999: k
(10:16:51 AM) tibbs: XulChris: what does the channel get used for in the RPM world, though?
(10:16:57 AM) tibbs: Just version checks and signatures?
(10:17:13 AM) XulChris: tibbs: i use it to check for updates
(10:17:32 AM) tibbs: I guess the question is, what breaks if it isn't there?
(10:17:46 AM) XulChris: the install
(10:18:21 AM) RemiFedora: and the build.. (in mock)
(10:19:07 AM) tibbs: I guess you can't register the module if the channel isn't already set up.
(10:19:19 AM) XulChris: that too
(10:19:41 AM) abadger1999: f13: Group tag is a poor technology.  But jeremy is against using comps to replace it.
(10:19:45 AM) tibbs: But it doesn't actually contact the channel server for anything; it's just a formalism.
(10:20:08 AM) tibbs: abadger1999: Just change your packages to say Group: none.
(10:20:22 AM) abadger1999: f13: I liked Nicholas Mailhot's suggestion after he explained it.
(10:20:35 AM) XulChris: tibbs: not sure what your asking, we need the channels as pear users expect them to be there
(10:21:11 AM) tibbs: Someone asked what the channel is used for.
(10:21:18 AM) tibbs: I'm trying to determine that.
(10:21:48 AM) XulChris: tibbs: basically all pear commands are tied into channels
(10:21:56 AM) XulChris: its pretty much ingrained into pear
(10:22:10 AM) tibbs: I know, but you shouldn't be running pear in an RPM world; you can screw your system.
(10:22:40 AM) XulChris: not sure i agree with that statement entirely
(10:22:43 AM) RemiFedora: we must run pear in rpm scriplet...
(10:22:45 AM) tibbs: Maybe not you, but Joe Random User certainly.
(10:22:54 AM) f13: abadger1999: I don't recall what his suggestion was.
(10:23:03 AM) f13: abadger1999: jeremy was against using comps to list every package in existance.
(10:23:20 AM) XulChris: you shouldnt be using pear to install/uninstall packages that already have rpms, but pear does more than this, just type pear --help
(10:23:23 AM) f13: abadger1999: however what could be accomplished by Other Tools is list the packages grouped by a comps file, then everything else in 'ungrouped'
(10:23:29 AM) tibbs: XulChris: Yes, I know.
(10:23:35 AM) tibbs: But it's still dangerous.
(10:23:40 AM) abadger1999: f13: Exactly.  And synaptic/smart/repoview would benefit greatly from listing every package in existence.
(10:24:22 AM) abadger1999: Just look at the mess that is http://fedoraproject.org/extras/6/i386/repodata/repoview/__nogroup__.group.html
(10:24:23 AM) RemiFedora: "Joe Random User" need pear until all PHP extensions available in RPM repo.
(10:24:37 AM) tibbs: RemiFedora: Yes, I know that too.
(10:24:38 AM) abadger1999: If I actually want to find something in there, it's a nightmare.
(10:25:08 AM) f13: abadger1999: it'll be a nightmare in whatever group gets the bulk of the "unintersting" packages too.  The -devel packages, the libs that are just there for other top level packages, etc...
(10:25:15 AM) XulChris: tibbs: also we are talking about joe average developer, not joe average user since pear is a developers tool
(10:25:47 AM) tibbs: "pear upgrade-all" is not intended to be a developers tool as I understand things.
(10:26:18 AM) abadger1999: f13: That's what makes Nicolas's proposal nice.
(10:26:40 AM) XulChris: tibbs: it is, joe average user relies on joe average administrator to keep pear packages up to date
(10:26:41 AM) abadger1999: He has separate ideas for categories and groups.
(10:27:16 AM) tibbs: XulChris: First, that's obviously untrue.  And second, administrator does not equal developer.
(10:27:18 AM) abadger1999: So a package is marked as belonging to seven different categories.
(10:27:27 AM) XulChris: tibbs: well you need root to run that command properly
(10:27:45 AM) abadger1999: And the user is better able to tell what package they want.
(10:28:14 AM) abadger1999: Meanwhile, generating a comps type file happens through the Group mechanism.
(10:28:16 AM) tibbs: XulChris: Yes, and?
(10:28:43 AM) tibbs: You seem to be forgetting that a large portion of desktop users have root, are not developers and are not qualified to be administrators.
(10:28:57 AM) XulChris: tibbs: and there are many ways to screw your system as root, so we shouldnt bother trying to protect users
(10:29:00 AM) tibbs: They should stay away from pear at all costs.
(10:29:26 AM) tibbs: So if they don't need to run pear, then it's back to the original question: what is the channel for?
(10:29:30 AM) RemiFedora: a large number of pear extensions are now available in Extras, we probably could patch pear to display a warning (you should try yum first)
(10:29:49 AM) tibbs: You said it's because pear users expect to be there, but we've established that there should be few actual pear users.
(10:29:54 AM) XulChris: tibbs: they _do_ use pear, just not for installing and uninstall pear packages that arent already rpms
(10:30:17 AM) XulChris: er that *are* already rpms
(10:30:19 AM) tibbs: Now you're going circular.
(10:31:05 AM) abadger1999: Add a category of packages to a Group.  Then the installer can see it's one package one group selection.
(10:31:49 AM) abadger1999: A third party spin that concentrates on scientific applications can have a different category => Group mapping.
(10:32:46 AM) XulChris: tibbs: do you modify Fedora's perl so that you cannot use its built in cpan updater?
(10:33:33 AM) tibbs: Well, cpan is an add-on, not built-in, and you can package up any Perl module without registering any channels with it.
(10:33:48 AM) XulChris: tibbs: thats becasue perl only has 1 channel, cpan
(10:34:12 AM) tibbs: Cpan is not involved in any way whatsoever with installing Perl modules.
(10:34:30 AM) XulChris: php has 2 channels, one for pear modules and one for pecl modules, with the possibility to have more channels for other repos like phpunit has now
(10:34:45 AM) XulChris: tibbs: its a repository
(10:34:49 AM) tibbs: You're just not getting it.
(10:34:52 AM) XulChris: thats all a channel is, a repository
(10:35:28 AM) tibbs: I'm asking, in the context of a world in which RPM is used for installations, what use the channels are.
(10:35:49 AM) XulChris: tibbs: what use is a yum.repo.d/ file?
(10:36:04 AM) tibbs: Sorry, now you're really off in left field.
(10:36:14 AM) XulChris: its just a way to specify a repository
(10:36:19 AM) XulChris: thats all a channel is
(10:37:01 AM) RemiFedora: a channel create a "namespace" in the local pear registry, which is mandatory to build and install extensions
(10:37:08 AM) tibbs: RemiFedora: Thank you.
(10:37:09 AM) XulChris: if every single pear pecl and whatever file is packaged as an RPM you could agrue we do not need pear channels
(10:37:32 AM) tibbs: But they still would fail to install because of lack of the appropriate namespace being set up?
(10:37:45 AM) XulChris: if there was any overlap
(10:37:53 AM) XulChris: like phpunit has overlap
(10:38:06 AM) XulChris: but phpunit is the only case i know of that has the same name
(10:48:52 AM) abadger1999: f13: Here's Nicolas's initial post: https://www.redhat.com/archives/fedora-extras-list/2006-November/msg00700.html
(10:49:05 AM) f13: abadger1999: I really don't have the bandwidth to discuss this right now :/
(10:49:13 AM) abadger1999: The idea was clarified throughout the thread, including into the next month.
(10:49:19 AM) abadger1999: f13: k.
(10:49:21 AM) scop: tibbs, CPAN.pm is very much in the business of installing Perl modules, and it's included/built in in core Perl since $forever
(10:49:46 AM) abadger1999: Doesn't matter ATM.
(10:49:56 AM) RemiFedora: about PHP Packaging, can we remove "Requires php" which doesn't conform to the general Guidelines (php already required by php-pear)
(10:50:09 AM) tibbs: scop: you missed the point, but whatever.
(10:50:28 AM) tibbs: I was indeed incorrect in thinking that it was an addon.
(10:51:09 AM) RemiFedora: and use php-common when we need a "versioned" requires
(10:52:00 AM) scop left the room ("Leaving").
(10:52:19 AM) f13: is there a handy shortcut for packaging man files? Just %{_mandir}/*/* ?
(10:52:22 AM) XulChris: RemiFedora: i think we already discussed that a long time ago, and we decided php was only required if it was like a new version that is not available in an existing supported distro
(10:52:52 AM) XulChris: so like if fc8 has a package that requires php 6, then that needs to be added, otherwise you can leave it out
(10:53:15 AM) f13: isn't that what the php(abi) stuff would sort out?
(10:53:19 AM) f13: should it be done automagically
(10:53:22 AM) f13: like python
(10:53:28 AM) XulChris: ya
(10:53:34 AM) XulChris: good point
(10:53:41 AM) XulChris: was that approved? i was busy earlier :)
(10:53:43 AM) RemiFedora: yes, i agree, but "requires php" still a must according the PHP guidelines..
(10:55:17 AM) RemiFedora: so my comment is to remove it from the Guidelines
(10:55:37 AM) tibbs: I would tend to agree.
(10:56:41 AM) tibbs: For some reason I thought we intended to remove that when we added the php-abi stuff.
(10:57:08 AM) RemiFedora: php(zend-api) is only for pecl extension.
(10:57:21 AM) tibbs: Yes, I know that.
(10:57:50 AM) tibbs: Crap, is it "api" or "abi"?  I keep getting confused.
(10:58:31 AM) RemiFedora: oups, i've post php(api) and php(zend-abi) ...
(10:59:10 AM) RemiFedora: should i change to  php(abi) and php(zend-abi) ?
(10:59:38 AM) tibbs: php-api is what's provided by the current php package.
(11:00:04 AM) RemiFedora: yes, and this must be keep (present for a very long time)
(11:01:16 AM) tibbs: Hmm, on fc6, the php-common package provides php-api.  Interesting.
(11:01:48 AM) tibbs: I guess it got split, and php-common doesn't require php, either.
(11:02:02 AM) RemiFedora: yes, php is the apache module, php-cli is the CLI, both requiring php-common
(11:02:12 AM) tibbs: Does that influence whether we can remove Requries: php from the guidelines?
(11:03:16 AM) RemiFedora: no, i don't think
(11:03:18 AM) tibbs: It probably means that we need to remove it, because otherwise installing a php-module pulls in apache when perhaps you didn't want that.
(11:03:59 AM) RemiFedora: a most pear/pecl extension works with php-cli (no need for a web server)
(11:04:13 AM) RemiFedora: s/a/and/
(11:04:40 AM) tibbs: So, yes, it looks like we really do need to remove that bit.
(11:05:30 AM) RemiFedora: and if we need a versioned requires, we should use Requires: php-common >= x.x
(11:07:03 AM) RemiFedora: Ok for (provides by php-common) : php-api = %{apiver}, php(abi) = %{apiver}, php(zend-abi) = %{zendver} ??
(11:07:28 AM) tibbs: Well, let's think about it.
(11:07:38 AM) tibbs: php-api is about source-level compatibility, correct?
(11:08:34 AM) tibbs: As in, when they revise the interpreter so that old code no longer runs, that value will increase.
(11:08:48 AM) RemiFedora: i don't really know, as it doesn't change... since 2004
(11:09:01 AM) tibbs: Wasn't the last time they broke source-level compatibility, though?
(11:11:00 AM) RemiFedora: a lot of source-level compatibility (C or PHP) has been broken since 2004...
(11:11:27 AM) tibbs: Crap, then that symbol is essentially useless.
(11:11:46 AM) tibbs: The way Perl handles this is so much cleaner.
(11:12:49 AM) tibbs: So PEAR modules should have a versioned requires on php (or php-common)
(11:13:09 AM) tibbs: and PECL modules should require a specific version of php(zend-abi)?
(11:13:51 AM) tibbs: The thing is, you don't want to have to rebuild every PEAR module for every minor php update.
(11:15:07 AM) RemiFedora: PEAR have a requires on php-pear, no need for requires php, only if php-common >= x.x
(11:15:28 AM) tibbs: FC5 has no php-common, though.
(11:16:02 AM) RemiFedora: yes. And this will not cause rebuild.
(11:16:50 AM) tibbs: Now I don't understand.  What do you require on FC5, then?
(11:16:52 AM) RemiFedora: rebuild are only requires for pecl when zend-api change (5.1 -> 5.2 p.e.)
(11:17:18 AM) RemiFedora: only php-pear
(11:17:45 AM) tibbs: And what happens to PEAR modules if PHP6 comes out and breaks compatibility?  Modules are just silently broken?
(11:17:47 AM) RemiFedora: and php > x.x is special version is needed.
(11:19:10 AM) RemiFedora: difficult to know. requirement are provided by package.xml, but only for minimal version...
(11:20:23 AM) tibbs: I guess in the absense of php(:MODULE_COMPAT_version) we'll just have to use php-common >= whatever and deal with problems when they happen.
(11:20:34 AM) RemiFedora: yes
(11:21:11 AM) tibbs: OK, so we have four possibilities:
(11:21:43 AM) tibbs: FC5 PEAR modules need to require php-pear and php >= version if they require a particular version.
(11:22:04 AM) tibbs: FC6+ PEAR modules need to require php-pear and php-common >= version if needed.
(11:22:47 AM) tibbs: FC7+ PECL modules need to require php(zend-abi) (or is it zend-api?) = version.
(11:22:57 AM) tibbs: FC5,6 PECL modules need what?
(11:23:44 AM) RemiFedora: FC5 only php-api, but will not detect compatibility
(11:24:04 AM) RemiFedora: FC6+  php(zend-abi) = version
(11:24:25 AM) tibbs: But we may not be able to get FC6 PHP fixed to probide php(zend-abi).
(11:24:57 AM) tibbs: I does currently provide php-zend-abi, though.
(11:25:05 AM) RemiFedora: FC6 and FC7 already provide php-zend-api :)
(11:25:15 AM) tibbs: I'd hate to need separate things for FC5, FC6 and FC7, though.
(11:25:46 AM) RemiFedora: i agree, so i will also ask J.Orton for FC5
(11:25:54 AM) tibbs: And it's definitely "php-zend-abi"; nothing currently provides php-zend-api.
(11:26:22 AM) tibbs: Which makes sense; this is about dlopen()ing existing binaries, hence ABI.
(11:26:47 AM) RemiFedora: yes, abi, your right
(11:27:20 AM) tibbs: So it's php(api) and php(zend-abi).  API for the first and ABI for the second.
(11:28:14 AM) RemiFedora: Like this ;) https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=212804#c6
(11:30:06 AM) tibbs: Yes, looks like you got it right there.
(11:30:28 AM) tibbs: So we'll see what he says and go from there.
(11:35:26 AM) RemiFedora: i'm the reporter for this RFE, so i could post on the packaging ML when it goes on..