fpc
LOGS
15:59:58 <spot> #startmeeting Fedora Packaging Committee
15:59:58 <zodbot> Meeting started Wed Apr 13 15:59:58 2011 UTC.  The chair is spot. Information about MeetBot at http://wiki.debian.org/MeetBot.
15:59:58 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
16:00:02 <spot> #meetingname fpc
16:00:02 <zodbot> The meeting name has been set to 'fpc'
16:00:08 <spot> #topic Roll Call
16:00:16 <tibbs|h> Howdy.
16:00:25 <epienbro> hi all
16:00:48 <SmootherFrOgZ> salut les loulous
16:00:57 * limburgher oh captain, my captian!
16:01:42 * geppetto is here
16:02:54 <spot> well, thats just barely quorum
16:03:07 <spot> racor told me he would not be here
16:03:32 * spot seems to recall that abadger1999 might not be here either
16:03:46 <jsmith> abadger1999 is on vacation
16:03:57 <spot> rdieter: ping?
16:03:59 <abadger1999> Hey, here now.
16:04:07 <abadger1999> Will be gone by tonight
16:04:12 <spot> abadger1999: aha!
16:04:15 <rdieter> oh hi, here.
16:04:28 <jsmith> abadger1999: Ah, sorry to lie about you then :-/
16:04:32 <spot> okay, i think we have everyone we're expecting. Rathann might drop in.
16:04:39 <abadger1999> jsmith: No problem :-)
16:05:14 <spot> #topic Systemd Migration Guidelines - https://fedoraproject.org/wiki/User:Toshio/Systemd_scriptlet_options
16:05:25 <spot> abadger1999: did you have a chance to test them at all? (i did not)
16:05:34 <abadger1999> I didn't have a chance either.
16:05:47 <abadger1999> So probably can't discuss this at all this time.
16:06:04 <spot> okay. i'll make a solid effort to test it this week
16:06:15 <spot> anyone else with spare cycles, please feel free to help here.
16:07:33 <spot> #topic Updated MinGW guidelines - https://fedorahosted.org/fpc/ticket/71
16:07:34 * SmootherFrOgZ will test this weekend
16:07:50 <spot> epienbro: thanks for coming, and for answering questions in the ticket
16:08:05 <epienbro> sure, no problem
16:08:13 <epienbro> luckily I could make it in time for the meeting
16:08:20 <abadger1999> spot: Oh, you could also try contacting bochecha (re: systemd testing) -- he had some package that needed to be converted and he said he'd be willing to test and give feedback.
16:08:29 <spot> abadger1999: okay, cool
16:08:43 <spot> going down the list of items from the ticket
16:08:50 <spot> 1) There is now a template spec, thanks
16:09:13 <spot> 2) Separated Source RPMS
16:09:43 <spot> With regards to #2, you said that the intent was that the SRPM would be mingw-foo and that the binary packages would reflect the bitsize targets
16:09:53 <epienbro> that's correct
16:10:04 <spot> The way Source package naming is worded makes that a bit unclear
16:10:15 <abadger1999> template, can we put it into the guideline page to match the other guidelines (and make sure that they stay in sync)?
16:11:02 <spot> we could simplify that section quite a bit by changing it to just say: MinGW source packages should be named by prefixing the upstream package name with mingw- (even if it only builds binary packages for mingw32 or mingw64).
16:11:35 <rwmjones> isn't it "prefixing the Fedora native package name"?
16:11:37 <spot> And possibly add a section for "Binary Package Naming" that covers the mingw32- vs mingw64- output
16:11:51 <spot> rwmjones: yep, thats probably better wording.
16:12:16 <epienbro> spot, sounds good enough to me
16:12:23 <spot> epienbro: okay, i'll make that change real quickly
16:12:25 <epienbro> I'll update the draft after the meeting
16:12:48 <epienbro> oh if you want to do it that's also fine by me
16:13:41 <abadger1999> https://fedoraproject.org/wiki/PackagingDrafts/MinGWCrossCompiler#Package_naming
16:13:50 <spot> abadger1999: you're too fast. :)
16:13:52 <abadger1999> spot: ^
16:13:55 <abadger1999> :-)
16:14:14 <spot> 3) There are no known situations for common files.
16:14:29 <spot> 4) Macro renaming
16:14:55 <spot> there were four macros identified for renaming from _foo to foo
16:15:06 <spot> (err. five)
16:15:11 <abadger1999> epienbro rwmjones: Should we say, there should be no mingw-foo binary packages? (All should be mingw32-foo or mingw64-foo)?
16:15:28 <rwmjones> epienbro?
16:15:35 <epienbro> abadger1999, sure
16:15:49 * abadger1999 makes that change
16:15:51 <spot> %{_mingw_find_lang} %{_mingw_configure} %{_mingw_cmake}, %{_mingw_make} and %{_mingw_make_install} should be renamed because their non-mingw counterparts are not _ prefixed
16:16:15 <spot> I believe the rest of the macros are fine as is.
16:16:16 <epienbro> well, rpm will always produce a 'mingw-foo' binary package, but it will be empty
16:16:23 <spot> epienbro: it shouldn't.
16:16:40 <spot> epienbro: if you don't have a %files, rpm is smart enough not to make an empty package
16:17:15 <epienbro> hm okay..but on the other hand..it makes the BuildRequires harder
16:17:33 <epienbro> as each package will now have to BuildRequires: mingw32-foo and BuildRequires: mingw64-foo
16:17:40 <epienbro> instead of just 'BuildRequires: mingw-foo'
16:17:54 <spot> epienbro: do they really need both or just the correct bitsized one?
16:18:13 <rwmjones> depends if the package can build both 32 bit and 64 bit variants
16:18:22 * spot could see situations where both would be necessary, but others where only one is needed
16:18:27 <spot> so that seems reasonable
16:18:38 <epienbro> for building srpm, you need both  (if you want to have binary packages for both w32 and w64 targets)
16:19:04 <abadger1999> hmmm .. good point
16:19:05 <spot> so, yeah, i think thats more correct than hiding it behind a meta-package
16:19:17 <spot> if it was 10+ packages, maybe, but two?
16:20:26 <epienbro> I'm okay with any of the 2 methods, I'll leave the decision to you :)
16:20:56 * spot prefers the more accurate set of BuildRequires. anyone else wanna chime in?
16:21:14 * abadger1999 is okay with either one.
16:21:29 <rwmjones> empty RPMs doesn't sound good to me
16:21:41 <abadger1999> explicit BR's do make for one less special case.
16:23:06 <abadger1999> the metapackage would mean documenting: BuildRequire: mingw-foo unless your package only builds on a subset of the supported mingw architectures.  Then BuildRequire the platform specific binary rpm instead.
16:23:18 <tibbs|h> I have no preference, but I don't think that being explicit is going to hurt anyone.
16:23:18 <spot> i don't hear anyone strenuously advocating for the meta-package, so lets go with the explicit BuildRequires.
16:23:35 <abadger1999> <nod>
16:23:53 <spot> i think the only obvious change that needs to be made is to the example spec
16:24:06 <epienbro> okay, perhaps it would be good to add something to the draft which mentions that there should be no %files section for the main package
16:24:19 <epienbro> I'll update the example spec right now
16:24:57 <spot> abadger1999: since you're fast with the wiki, can you add that "No %files for the mingw-foo package, just for mingw32-foo and/or mingw64-foo" ?
16:25:20 <abadger1999> Yep.
16:25:41 <epienbro> now that we've made this decision, the macro %{_mingw_default_requires} can be dropped from the draft
16:26:28 <tibbs|h> I note it's a bit contradictory for the sample spec to include -static subpackages with no comment while the guidelines say that static libs should not be built.
16:27:59 <spot> okay, so on macro naming
16:28:01 <epienbro> the example spec has just been updated
16:28:12 <epienbro> tibbs|h, it does? let me verify..
16:28:18 <abadger1999> guideline page updated.
16:28:58 <spot> the five we've highlighted should not need the _, as their "normal" version doesn't have it. The rest of the macros are pathing or command macros, where the normal version does have a _ prefix
16:28:59 <epienbro> tibbs|h, did you mean that the native fedora guidelines state that static libs shouldn't be built?
16:29:12 <tibbs|h> I mean the proposed mingw guideline also says that.
16:29:16 <spot> https://fedoraproject.org/wiki/PackagingDrafts/MinGWCrossCompiler#Static_libraries
16:29:23 <tibbs|h> In accordance with ordinary Fedora policy, static libraries should not be built, and if they are then they should be placed in a -static subpackage.
16:29:32 <epienbro> ah yes I see
16:29:42 <tibbs|h> Yet the example spec passes --enable-static and includes the subpackages.
16:30:07 <epienbro> well, the case is that several mingw32 packages already have -static subpackages
16:30:34 * spot won't lose much sleep over mingw static packages, since the Windows use case often requires them
16:30:35 <epienbro> so basically it's up to the package maintainer to decide if they want to bundle static libs
16:30:50 <tibbs|h> All I'm saying is that things are currently contradictory.
16:31:21 <spot> tibbs|h: perhaps a comment in the template spec reminding maintainers that in most cases, static libs are not necessary
16:31:38 <tibbs|h> Sure, or simply strike the sentence from the guidelines.
16:31:45 <epienbro> yeah that sentence is kinda contradictory
16:31:59 * spot is fine with dropping that static section
16:31:59 <epienbro> but I'll also add a comment to the example spec about this
16:32:22 * spot nukes it
16:33:05 <epienbro> don't you wish to keep something which says that it's up to the package maintainer to decide for itself whether they want to bundle static libs?
16:33:26 <spot> epienbro: well, we could just point to the static libs section in the general guidelines
16:33:49 <spot> epienbro: but in general, it is assumed that unless the type specific guidelines overrule a normal guideline, it is still applicable
16:33:58 <abadger1999> ehh.. that would continue to disagree with the example spec.
16:34:16 <abadger1999> the example spec has the static libraries in the same subpackage as the dynamic libraries.
16:34:27 <epienbro> no it hasn't
16:34:45 <epienbro> the .dll.a files are import libraries, not static libraries
16:34:47 <abadger1999> or maybe not
16:34:54 <abadger1999> Ah yeah, that's what confused me.
16:35:00 <epienbro> the .a files really are static libs
16:36:10 <rwmjones> they contain automatically generated stubs that get linked to the application; the stubs deal with the business of locating the DLL and loading it (which is not automatic like in Linux)
16:36:36 <spot> So, on macro naming: there are three situations in play: macros that are mingw versions of command macros (e.g. %{_mingw_configure}), macros that are mingw versions of path macros (e.g. %{_mingw32_bindir}), and mingw custom macros (e.g. %{_mingw32_sysroot})
16:36:54 <geppetto> epienbro: Do you need to name them .dll.a ?
16:37:14 <epienbro> geppetto, it's what libtool does automatically
16:37:23 <spot> i can see the benefit of a consistent naming scheme here, i'm just not sure the _ prefix is beneficial.
16:37:45 <epienbro> spot, mingw32_sysroot is also a path macro
16:38:04 <spot> epienbro: yes, but there is no "normal" equivalent
16:38:19 <epienbro> '/' :)
16:38:26 <spot> yeah, but there is no %{sysroot}
16:38:44 <spot> so, my proposal is to just drop the _ prefixing everywhere
16:38:52 <tibbs|h> Sure, if at all possible, less typing.
16:39:07 <spot> and not lose sleep over the fact that a strictly correct version of the path macros would have redundant underscores
16:39:24 <epienbro> fine by me
16:39:44 <spot> anyone disagree?
16:39:48 <tibbs|h> Not me.
16:40:24 <SmootherFrOgZ> nope
16:40:27 <spot> okay. then i think the last issue was do with the %{mingw_configure} parsing
16:40:42 <spot> abadger1999 thought that %mingw_configure --disable-xlib --enable-win32 would work fine
16:40:44 <abadger1999> epienbro, rwmjonesDoes the paragraph here look good: https://fedoraproject.org/wiki/PackagingDrafts/MinGWCrossCompiler#Libraries_.28DLLs.29
16:40:46 <epienbro> I just updated the spec file to make it more clear that static subpackages are optional
16:41:58 <rwmjones> epienbro: do we need the *.la file?
16:42:02 <epienbro> abadger1999, looks good, there's just a </code> there which doesn't belong there
16:42:08 * abadger1999 fixes
16:42:23 <epienbro> rwmjones, yeah you need them, especially when you're working with static libs
16:42:33 <rwmjones> ok, I'm fine with it in that case
16:42:34 <epienbro> and if they're missing libtool will complain
16:42:42 <rwmjones> libtool--  bane of my life
16:43:25 <abadger1999> So with %mingw_configure args  -- epienbro did you get a chance to test?
16:43:36 <epienbro> spot, %mingw_configure without braces: didn't have time to test that yet..
16:44:42 <epienbro> but I'm afraid it won't work well
16:44:49 <spot> okay, then i propose that we edit the draft to use %mingw_configure --disable-xlib --enable-win32 for now
16:45:01 <spot> and if it is discovered to not work, we can always make a quick ninja edit
16:45:12 <epienbro> good
16:45:17 <abadger1999> Sounds good to me.
16:45:37 <tibbs|h> Sure.
16:46:45 <abadger1999> So the three changes: 1) Include spec template inline (at the end of the page) 2) Switch _mingw* macros to mngw* 3) Change %{mingw_configure "arg1" "arg2"} to %mingw_configure arg1 arg2
16:47:01 <spot> i just made the configure change
16:47:29 <spot> the other two changes i can make before we move it to its new home
16:47:45 <spot> along with preserving the old guidelines and adding a link to them for older targets
16:48:06 <epienbro> do you want to drop the curly braces from the mingw_make macro as well?
16:48:22 <epienbro> (and mingw_make_install)
16:48:26 * abadger1999 sees another %{mingw_configure arg} and changes
16:48:50 <kalev> rwmjones, regarding the .la files: afaik they were originally designed for linking back in the time when there were no shared libraries
16:48:52 <spot> epienbro: yes, good catch
16:49:05 <kalev> rwmjones: .a files are just archives, with no metadata about other dependant libraries
16:49:22 <spot> abadger1999: since you're editing there, can you get those two items as well?
16:49:31 <kalev> rwmjones: fortunately, elf .so files have DT_NEEDED sections for loading other needed libraries so .la files are really not useful any more
16:49:48 <rwmjones> kalev: I know .. unfortunately they nowadays cause *over*-linking.  See the workaround we use in libguestfs: http://git.annexia.org/?p=libguestfs.git;a=blob;f=libtool-kill-dependency_libs.sh;hb=HEAD
16:49:57 <kalev> rwmjones:  I believe the situation is the same on windows: .la files are not needed for linking dynamic libraries, but are pretty useful for static libs
16:50:31 <epienbro> about the _mingw* to mingw* change..this will break backwards compatibility with all current mingw32-* packages..is this really what we want to do?
16:50:47 <epienbro> or should I add backwards compatibility macros for those?
16:51:52 <spot> hmm
16:52:05 * abadger1999 fixes mingw_make and mingw_make_install
16:52:39 * spot likes clean macros, i'm fine with backwards compat macros as long as they're not documented in the guideline
16:52:42 <abadger1999> I'm fine with just changing the five that were mentioned -- do those macros break backwards compat?
16:53:07 * abadger1999 also fine with spot's backwards compat but undocumented.
16:53:27 <epienbro> which five exactly?
16:53:42 <epienbro> mingw_configure, mingw_make and mingw_make_install are new macros
16:53:51 <epienbro> so they won't break backwards compatibility
16:54:16 <spot> i think just keeping backwards compat macros that are basically just aliases to the new, proper names are fine
16:54:45 <abadger1999> _mingw_find_lang should be renamed to mingw_find_lang for consistency. The same change applies to %{_mingw_configure} %{_mingw_cmake}, %{_mingw_make} and %{_mingw_make_install}
16:54:54 <abadger1999> Those are the five.
16:55:00 <epienbro> ah yes, those are all new
16:55:04 <epienbro> so can be renamed safely
16:55:40 <spot> and the others can have alias macros with the old names
16:55:54 <epienbro> okay
16:56:46 <spot> so, with the two changes: 1) Include spec template inline (at the end of the page) 2) Switch _mingw* macros in draft and template spec to mingw*
16:56:50 <spot> Lets take a vote
16:56:52 <epienbro> example has been updated again, for the macro renaming and explicit BR's
16:56:52 <spot> +1
16:57:35 <limburgher> +1
16:57:37 <SmootherFrOgZ> +1 from me
16:57:45 <tibbs|h> Sorry, on the phone.
16:57:57 <tibbs|h> +1
16:58:07 <abadger1999> +1
16:58:27 <spot> okay, thats our +5. rdieter, if you want to jump in, go for it.
16:58:35 <rdieter> +1
16:58:41 <geppetto> +1
16:59:01 <spot> #action Approved with two changes: 1) Include spec template inline (at the end of the page) 2) Switch _mingw* macros in draft and template spec to mingw* (+1:7, 0:0, -1:0)
16:59:14 <spot> epienbro & rwmjones: thanks for your help!
16:59:24 <epienbro> no problem :)
16:59:41 <spot> okay, next item
16:59:47 <kalev> what about the naming of the base packages, mingw-filesystem, mingw-gcc, mingw-binutils? Now that all other packages don't build mingw- binary packages, should these be changed too?
17:00:25 <epienbro> they can also be named in line with the guidelines
17:00:38 <epienbro> so the srpms will be the names you just mentioned
17:00:51 <epienbro> and only mingw32-foo and mingw64-foo binary packages will be built
17:00:57 <kalev> okay, sounds good.
17:01:08 <spot> epienbro: please update the draft to reflect that
17:01:13 <spot> and lemme know when you're done
17:01:21 <epienbro> right away
17:01:34 <spot> #topic Perl paths @INC change - https://fedorahosted.org/fpc/ticket/73
17:01:59 <tibbs|h> Did we actually get an answer to the question you raised?
17:02:08 <spot> For the record, we still have not received any feedback from mmaslano.
17:02:23 <spot> i will send her an email hoping to get clarification
17:02:25 <tibbs|h> "I'd like to have vendor reserved as empty directory for users Perl rpms. Otherwise there is no need to have vendor at all."
17:02:40 <spot> oh, my bad
17:02:46 * spot wonders how he missed that
17:02:50 <tibbs|h> I'm still not sure I get it, though.
17:03:15 <tibbs|h> Plus, "vendor" for "user" packages seems quite backwards.
17:03:27 <spot> yeah. i agree. i really do not see the benefit of this change.
17:03:45 <tibbs|h> Maybe the idea is to let users install their own packages to override the distro ones.
17:03:59 <tibbs|h> And vendor happens to be earlier in the search sequence.
17:04:03 <spot> yes, but that works with the existing @INC pathing, i thought
17:04:21 <tibbs|h> I can't really call myself a perl expert these days.
17:04:31 <spot> well, the CPAN path is still identical
17:04:40 <spot> and most users doing local installs use CPAN
17:04:49 <tibbs|h> This is also something that Ralf will have a strong opinion on.
17:05:03 <tibbs|h> Whether we can get him to state it is another matter.
17:05:56 <spot> lemme see if i can get feedback from upstream perl before we move on this
17:06:07 <spot> they have had rather... strong opinions on our @INC paths in the past
17:06:17 <spot> we'll revisit it next week
17:06:24 <tibbs|h> But I thought we actually took care of their concerns.
17:06:37 <spot> tibbs|h: we did, but that is with the current macros, not the proposed changes
17:06:40 <tibbs|h> I guess I'd hate to get back to a state where they think we're screwing up.
17:06:59 <spot> iirc, they interpreted the "vendor" target as "the place Fedora puts things"
17:07:01 <tibbs|h> I still think there's some RHEL issue underlying this.
17:07:15 <spot> and the private target as "the place perl puts things"
17:07:25 <spot> and the user target as "the place everyone else puts things"
17:07:42 <geppetto> A quick google brings up: http://use.perl.org/~schwern/journal/39246
17:07:55 <geppetto> Which seems to imply "vendor == rpm packages go here"
17:08:17 <spot> yep. which means mmaslano's proposal is not in sync with upstream
17:08:32 <spot> i'll double check, but we should revisit this next week
17:08:36 <tibbs|h> That's from a macos perspective where "OS" and "package manager" aren't the same thing, though.
17:09:06 <tibbs|h> Not that the observation isn't valid.
17:09:19 <tibbs|h> I do think that's where a lot of the confusion comes from, though.
17:09:28 * spot is running into a hard stop here today
17:09:33 <spot> but two quick items
17:09:37 <spot> #topic https://fedorahosted.org/fpc/ticket/76
17:09:50 <spot> I would like to see a draft there before we discuss it in a meeting
17:09:53 <tibbs|h> Sure.
17:10:01 <tibbs|h> The question is whether it's worth me writing a draft.
17:10:14 <spot> tibbs|h: seems like it to me. i know upstream rpm would prefer it
17:10:20 <tibbs|h> Or should we wait until the new stuff is supported in an actual release.
17:10:31 <spot> tibbs|h: we could wait for F15 to drop.
17:10:45 <spot> #topic meeting time
17:10:49 <tibbs|h> Unfortunately upstream hasn't actually documented this stuff, but I think I know enough about it to do stuff.
17:11:02 <spot> most of you did not email me wrt to moving to 1500 UTC on Wednesday
17:11:10 <spot> so now is your chance to speak up
17:11:16 <tibbs|h> I already indicated that time was fine for me.
17:11:27 <limburgher> +1
17:11:30 <abadger1999> I don't know how it works, but I'd love to have it documented.
17:11:42 <tibbs|h> abadger1999: I think this will end up being the documentation.
17:11:47 <tibbs|h> It's terribly simple.
17:12:08 <abadger1999> 15:00 UTC Wed works for me.
17:12:21 <geppetto> 15:00 is fine here, too
17:12:28 <abadger1999> tibbs|h: Make a draft and I'll vote for it then :-)
17:12:36 <SmootherFrOgZ> +1 for the record
17:12:36 <spot> #action Our next meeting will be at 1500 UTC on April 20. Future meetings will be at 1500 UTC on Wednesdays.
17:12:44 <rdieter> ok with me
17:13:07 <spot> If there are any super urgent open floor items, throw them at me now, otherwise, i'm closing this meeting out in a minute.
17:13:16 <spot> #topic Brief Open Floor
17:13:18 <abadger1999> One thing that I'm going to ticket (but then leave :-) is that %defattr seems to only be necessary on EL-4
17:13:37 <tibbs|h> Really?
17:13:46 <abadger1999> scop tested and rpm seems to put a default %defattr in if it's not present.
17:13:52 <spot> abadger1999: yeah, i think they finally made "default attributes" the default. ;)
17:13:54 <tibbs|h> It would be nice to dump another pointless bit of line noise from specs.
17:14:44 <spot> okay, thanks everyone
17:14:51 <tibbs|h> Thanks.
17:14:52 <spot> dont forget to test selinux migration if you have time
17:14:54 <spot> #endmeeting