From Fedora Project Wiki

(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 []  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:
(09:24:53 AM) RemiFedora:
(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 :
(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:
(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: 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
(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:
(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, 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 ;)
(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..