15:59:12 #startmeeting Fedora Packaging Committee 15:59:12 Meeting started Wed Mar 23 15:59:12 2011 UTC. The chair is spot. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:59:12 Useful Commands: #action #agreed #halp #info #idea #link #topic. 15:59:18 #meetingname fpc 15:59:18 The meeting name has been set to 'fpc' 15:59:24 #topic Roll Call 16:00:25 no one? 16:00:27 wow. :) 16:00:49 * abadger1999 here 16:01:32 tibbs|h, rdieter_work, SmootherFrOgZ, limburgher: ping? 16:01:51 this might be a quick meeting. 16:01:55 hola 16:02:34 geppetto: ping? 16:02:43 here 16:03:33 Here now. 16:03:45 Talkative in-laws. 16:06:01 okay, thats 5 (6 if racor is actually here) 16:06:49 #topic SystemD - https://fedorahosted.org/fpc/ticket/31 16:06:52 err.. 16:06:56 #topic Systemd - https://fedorahosted.org/fpc/ticket/31 16:07:17 We split this into two parts 16:07:27 new packages with systemd service files 16:07:36 and upgrading from packages with sysv initscripts 16:07:52 I spent some time testing the first half 16:08:08 https://fedoraproject.org/wiki/User:Spot/Testing_systemd#Environment 16:08:33 in the process of testing, i discovered that the scriptlets were wrong 16:08:43 and that daemon-reload does not do what I thought it does 16:08:53 (or at least, it does not act that way currently) 16:09:09 I'm half-here 16:09:10 thankfully, the fix was pretty straightforward 16:09:16 and I have already updated the draft 16:10:05 are there any questions about my testing there? 16:11:02 sorry, was distracted, I am here 16:11:16 The "This is ugly" part... 16:11:28 Need to test reboots too. 16:11:35 I'm not sure if that comment indicates that there's a problem. 16:11:37 and also allowed to autostart. 16:11:39 tibbs|h: the ugly part is that systemd reports the removed service as "error inactive dead" 16:11:58 Oh, the comment is for the preceeding line, not the following one. 16:12:02 tibbs|h: and it doesn't get garbage collected on a daemon-restart 16:12:09 but it's gone. 16:12:09 and also upgrade from systemd using package version 1 to systemd using package version 2 16:12:12 Right, I what you're saying. 16:12:40 abadger1999: okay, i can test those things pretty simply by just incrementing release and rebuilding. 16:12:41 * Rathann has to get off the bus 16:12:45 bbiab 16:12:45 * limburgher is here, finally. 16:12:47 spot: Well 16:12:50 spot: Actually not 16:13:02 spot: You also need to check that on upgrade, the new code is running. 16:13:13 sorry i'm late, work is nuts today. 16:13:22 spot: after updating the package but before doing a reboot. 16:13:28 abadger1999: would it be sufficient to change something in the service info text? 16:13:37 that way we'd see that the new service file was in use. 16:14:17 spot: Not sure -- with the test supervisor package I had, I changed the version that the server reported when I connected to it with a command line tool. 16:14:45 spot: Is the service info text something that ser2net itself reports in the same way? 16:14:57 not really, this code is pretty simple 16:15:00 spot: If it's just what systemd reports, then it's not sufficient. 16:15:05 k 16:15:31 okay. well, it looks like i'm going to need more time to test those cases. 16:15:37 i don't want to waste meeting time on it 16:15:49 so i will send an email to the list with the results later today 16:16:03 Honestly I have to say that there is simply no way we are going to be able to approve anything without having to revise it later. 16:16:35 tibbs|h: okay, so are you saying we should approve it as is and revise if testing shows a need? 16:17:40 spot: Hmm.. what's the difference between systemd enable and systemd load ? 16:18:07 spot: Well, not necessarily. 16:18:16 My testing showed that systemd enable was pretty close to an equivalent of chkconfig --add 16:18:54 abadger1999: "Enabling simply hooks the unit into various suggested places (for example, so that the unit is automatically started on boot or when a particular kind of hardware is plugged in)." 16:19:11 load just tells systemd "hey, you have a new .service file." 16:19:50 enable will have it autostart on a reboot 16:19:55 The man page says that systemctl load is pretty much useless. 16:19:59 What's it doing here? 16:20:16 abadger1999: well, lennart thinks it is useless, but that doesn't mean it is. 16:20:49 enable will have it autostart on reboot if the unit file specifies that it is Wanted-by the target that we are running in. 16:21:00 Otherwise it won't 16:21:05 hm. okay. 16:21:14 so maybe enable is always the right command there 16:21:26 this all gives me migraines 16:21:34 You are not the only one. 16:21:36 We're starting to get into a mess of twisty corridors but... 16:21:37 i have yet to be convinced that this is somehow a better implementation. 16:21:53 up arrow enter. 16:22:02 i will test with enable as opposed to load. 16:22:09 enable would be the right command iff we are making the unit files contain the information about which levels we want them to autostart in. 16:22:19 Which would be like the way we handle sysv init scripts. 16:22:42 But I think that the lennart/guidelines philosophy for systemd has been that information is carried in the spec files instead. 16:22:43 abadger1999: If the infromation wouldn't live there, where would it live? 16:22:52 blah 16:23:17 well, if you think that is a distribution level decision 16:23:23 ie: we run enable in the spec file if we want it to "autostart" (but the unit file has to specify the proper target). 16:23:25 and you are assuming that upstream is providing the .service 16:23:45 and that the upstream .service specifies the targets that we're actually using. 16:23:48 then the spec file could conceivably be the "right" place to make that distinction 16:24:27 It could be. but there's a fair few assumptions in there and it's a change of philosophy that people have to wrap their heads around. 16:24:59 to handle it in the service files, we'd have to unset WantedBy= 16:25:06 * Rathann is back 16:25:25 Right. 16:25:28 and that just seems somehow more hackish that documenting "if not on by default, use load. if on by default, use enable." 16:25:55 s/that documenting/than documenting/ 16:26:32 So what does load accomplish here? 16:26:49 load tells systemd about the service, but does not make the symlinks 16:26:58 you still need to enable it or start it 16:27:14 What happens if we don't do load? 16:27:30 systemd doesn't know about it 16:27:33 so a start will fail 16:27:39 an enable will succeed though 16:28:06 okay, so it's probably needed for the non-autostart %post and is not needed for autostart post 16:28:27 abadger1999: yep. with the clarification on enable, i agree. 16:28:28 What about the note i nthe man page that: "Note that systemd garbage collects loaded units that are not active or referenced by an active unit. This means that units loaded this way will usually not stay loaded for long." 16:29:06 abadger1999: dunno. worst case, you're back in the "start doesn't work, enable will succeed" case. 16:29:07 Doesn't that mean that running load in the package %post will make systemctl start work right after package install but not after the next garbage collection? 16:29:12 k 16:30:07 * spot wonders if i can force it to garbage collect 16:31:09 why was daemon-reload not the right thing to use? 16:31:18 documentation implies that it is. 16:31:24 abadger1999: So, wait … if I stop a unit … then systemd might GC it, so I can't start it? 16:32:15 also related, i propose that we replace this sentence: "Most systemd services must be disabled by default, especially if they listen on the network." with "Services can either be enabled or disabled by default. To determine which case your specific service falls into, please refer to FESCo's policy here (url)." 16:32:30 +1 to that change 16:32:49 sure, +1 16:32:55 geppetto: I don't know -- needs testing to find out. 16:33:13 after daemon-reload, systemctl didn't know about the new service 16:33:28 which makes sense, i suppose, given how enable works 16:33:43 but i expected that users might be baffled at that behavior like i was 16:34:25 aha, daemon-reload does a GC 16:34:35 [spot@f15 ~]$ systemctl -a |grep ser2net 16:34:35 ser2net.service loaded inactive dead Proxy that allows tcp co 16:34:35 [spot@f15 ~]$ sudo systemctl daemon-reload 16:34:35 [spot@f15 ~]$ systemctl -a |grep ser2net 16:34:35 [spot@f15 ~]$ 16:34:48 Guh 16:34:54 awesome, huh? :) 16:35:00 spot: I think ask lennart if this is a bug in systemd 16:35:16 abadger1999: earliest that will happen is next week 16:35:24 but i suspect it is intended behavior 16:35:30 because we have not enabled the service 16:35:39 *sigh* 16:35:49 Can we revert back to SysVinit? 16:36:00 abadger1999: we can ask fesco to consider it. 16:36:04 heh 16:36:29 although, at this point, i don't see them doing that. 16:37:09 i'll talk to lennart and we'll revisit this next week 16:37:17 Alright... what we really need to ask lennart is -- what systemctl commands need to run in %post to make "systemctl start "work after a package is installed. 16:37:25 * spot nods 16:37:40 taking into account that the "systemctl start" may be done after GC has run. 16:39:11 What do you think about me pinging adamw after the meeting to see about qa running these types of tests too? 16:39:22 my home internet is broken. 16:39:24 That seems like a good idea 16:39:26 abadger1999: sure 16:39:39 just make it clear that we still haven't figured out the correct scriptlets yet 16:39:57 Cool. Designing the test matrix and running the tests is the part of this work that makes my head spin.. maybe having someone used to that stuff will help there. 16:40:00 16:40:32 I think the goal will be -- we provide test packages with scriptlets, the tester makes sure that all the permutations of installing/upgrading those packages works. 16:40:49 I suspect that they probably want to just install a service in a package, and then run a whole bunch of systemctl commands and make sure it does sane things 16:40:50 you know... 16:40:50 We're good when all the permutations come out with desired behaviour. 16:41:04 * spot is uncovering new wrinkles. 16:41:10 i'm just going to test a ton more and report back. 16:41:19 this is clearly not ready yet. 16:41:20 k 16:41:31 Finally. 16:41:32 does someone have the URL for FESCo's onboot policy? 16:41:50 Go on and I'll find it. 16:42:55 #topic CMake - https://fedorahosted.org/fpc/ticket/48 16:43:09 rdieter_work: you said in that ticket you were going to look into it, but it doesn't look like that happened 16:43:56 yeah, my fail... (fell of my plate all over the floor) I can do that soonish 16:44:39 mmkay. 16:44:46 #topic Java - https://fedorahosted.org/fpc/ticket/70 16:46:11 looking at the helpful diff, it all seems fine to me. 16:46:21 I read through this when it was submitted; It has the benefit of removing some cruft as well as making the guidelines match what's currently actually needed. 16:47:06 The macroization of the jpackage_script thing makes sense to me as the kind of thing we'd want to hide behind macros. 16:47:26 * spot nods 16:48:10 That said, I haven't actually tested it since I don't package any java stuff. 16:48:21 I don't have much java experience but it looks fine to me 16:48:31 the fedora-java folks converted my one java package to use the new maven3 bits 16:48:36 and it made it work considerably better 16:48:43 so I'm solidly +1 here 16:49:01 My java-fu is weak but it looks sane. 16:49:20 I do wish in general they'd separate the "change this because it's outdated info" stuff from the "we're adding new convenience macros" thing. 16:49:36 But I'm stil +1 on this draft. 16:49:52 same here, +1 16:49:54 +1 16:49:57 dito. +1 16:50:20 thats +5, racor, abadger1999, rdieter_work, want to vote for the record? 16:50:29 +1 16:50:30 +1 16:50:34 err. 16:50:41 rdieter_work did vote. :) 16:50:49 can' 16:50:52 systemd has eaten what little remains of my brain. 16:50:52 't be too careful 16:51:01 nom nom 16:51:20 Pardon, I was reading the proposal 16:51:31 could have been a confused string theorist. 16:51:39 * rbergeron throws a hotdog at systemd because we need the remainders of spot's brain 16:52:02 rbergeron: somehow i doubt that systemd worships the hot dog. 16:52:31 #action Approved (+1:7, 0:0, -1:0) 16:53:11 I noticed maven-3 only exists in Fedora > 14. to me this would mean the "old maven" guideline should stay with some remarks added 16:53:14 i heard systemd only eats lasagne and orphans. 16:54:21 racor: that is an interesting point 16:54:46 Unfortunately I have no F13 left. 16:55:12 apart of this, this proposal sounds good -> +1 16:55:38 I guess we can just keep an old copy around for the few weeks until F13 no longer accepts new packages. 16:56:10 * spot wonders if f14 has maven3 16:56:43 looks like it does 16:57:37 actually... 16:57:38 no. it doesn't. 16:57:39 spot: Re: fesco policy url: It's still, needs to be moved: https://fedoraproject.org/wiki/User:Kevin/DefaultServices 16:57:39 * geppetto can't see maven or maven3 outside of f15 16:57:40 I'd say it would have been a bit kinder if they had told us what releases are actually supported by the new draft. 16:57:48 when i write this up, i'll rework it to talk about maven2 vs maven3 16:57:55 and note to revisit it when f-14 dies 16:59:12 okay, lets try to get one more item in 16:59:21 #topic MinGW-64 https://fedorahosted.org/fpc/ticket/71 16:59:37 https://fedoraproject.org/wiki/PackagingDrafts/MinGWCrossCompiler 16:59:57 racor had significant objections to what they were doing before. 17:01:04 tibbs|h: i don't recall what those objections were though 17:01:42 I don't know what tibb|h is referring to, but ... 17:02:00 i had 2 issues with recent developments: 17:02:20 There was a review with some strenuous objections. 17:02:45 1) the target name mingw-w64 ... this doesn't harmonize well with autoconf 17:03:14 2) the request to rename the "mingw32-xxx" packages into "cross-xxx" 17:03:39 The latter is not in the new draft. 17:03:45 They're using just "mingw" now. 17:03:49 so, #2 isn't in this draft, so it should be a non-issue 17:04:04 as to #1, can you propose an alternative that autoconf likes? 17:05:04 spot: It's a problem we can't solve - Only upstream can do so. 17:05:30 Also, in this draft they say "Cross compiled packages" several times, i think this should be changed to "Cross compiled MinGW packages" 17:05:35 i mean upstream mingw(32) 17:05:50 I guess I don't understand the aims of their project. 17:06:26 racor: while this may be valid, i don't think this necessarily is a problem with the draft 17:06:27 I thought it was just "build things for windows" but now there's talk of apple's OS. 17:07:03 hey, sorry just back from dayjob meeting. will scroll up to be in sync 17:07:50 tibbs|h: they talked about MacOS in their cross-xxx renamer proposal 17:08:02 cross- is mentioned here: https://fedoraproject.org/wiki/MinGW/CrossCompilerFramework#Porting_guide 17:08:10 and the guidelines draft links to that 17:08:37 sneaky. 17:08:56 i think the attempt here is to write guidelines for all cross compilers 17:09:04 and i'm not sure this is a good fit for that 17:09:12 I doubt it is. 17:09:41 well, it says it is "Packaging Guidelines for cross compiler framework" 17:09:56 when the old guidelines said "Packaging Guidelines for MinGW Windows cross-compiler" 17:10:16 tibbs|h: so do i. It's not even close to it 17:10:30 i think that if someone came across it as is with the new wording, they'd think it was for all Cross compilers 17:10:47 Yes. 17:10:54 it seems reasonably sane if narrowly limited to the mingw environments, but thats as far as i'm comfortable with it 17:11:03 hm, what does mingw have to do with MacOSX? 17:11:07 Plus, I doubt the MacOS stuff will ever be licensed properly. 17:11:11 i really don't like the secondary document which should be in the packaging guidelines 17:12:24 Rathann: They believe their framework to be general enough and pulled out MacOS as potential future extension. 17:12:36 Yeah, at least the title has to change, it's Win32-centric. If they want to go general, they need to do that, and haven't 17:12:50 Like, how would I adapt this to Hurd or Plan9? 17:12:53 Well, they proposed "cross-". 17:12:58 so, i could reword it to match the older document and be very narrowly specific to MinGW only 17:13:09 and drop the section pointing to the "porting guide" 17:13:16 limburgher: or the bsds (no joke I do have bsd cross toolchains) 17:13:40 racor: I wasn't joking either. Minix, for that matter. 17:13:44 although, my gut tells me we're going to hear screaming if we approve that. 17:13:45 But the question is whether their framework can be extended that far. 17:14:15 One problem is that they have "grand designs" which it doesn't appear they've talked about outside of their group. 17:14:18 Is it realistic to expect that anything other than win32 is going to get into Fedora? 17:14:31 win64, probably. 17:14:32 geppetto: well, win64 seems likely. 17:14:40 spot: I already yelled during he "cross-xxx" renamer reviews. 17:14:44 yeh … but minix or bsds? 17:14:53 OSX, probably not as long as the licensing stuff doesn't change. 17:15:04 BSD, I don't see why not, though I'm not sure I see the point. 17:15:32 If it's truly general, there should be a path to that. There's not much point, but someone may want to. 17:15:48 well, we're almost out of time for today 17:15:51 I think they were originally going tof rhtat. 17:15:55 for that. 17:15:56 Plus, then we're prepared for $_COOL_NEW_OS_ALL_THE_KIDS_ARE_USING down the road. 17:16:25 i'm going to make a new draft that isn't "all cross compilers ever" and just enables win64. 17:16:29 Honestly, I'd be happy to see some kind of general cross-toolchain errorf. 17:16:38 spot: +1 17:16:42 effort. Man, I can't type today. 17:16:47 spot: +1. 17:16:51 tibbs|h: Agreed. 17:16:58 yep, one step at a time 17:16:59 hardly possible 17:16:59 then, if there is interest in a grand unified cross compiler draft, we can revisit it separately. 17:17:08 Sure, it's possible to have an effort. 17:17:13 You know, people talk about things. 17:17:21 Unless you're saying that people will never talk about things. 17:17:38 okay. i'm opening the floor briefly. 17:17:42 #topic Open Floor 17:17:52 I think the octave questions we had have all been answered. 17:17:58 tibbs|h: oh? 17:18:12 Though upstream seems to want to use libexec, and the maintainer doesn't really want to patch in a change. 17:18:21 As often around this time, I regret having to leave now. 17:18:21 So something of an impasse there. 17:18:34 spot: Yes, he posted answers to everything we had asked in the ticket. 17:19:07 well, i can't blame him for not wanting to carry that patch 17:19:21 my instinct is to +1 this (with the XXX line removed) 17:19:34 Right, that's just how I patched in the questions. 17:19:46 But, do we care about the libexec misusage? 17:19:56 I suspect that racor would were he still around. 17:20:02 we care, we asked upstream to fix it, they aren't willing. 17:20:32 either we require the maintainer to fork the behavior forever and ever, or we note that octave is retar^Wspecial 17:20:33 Well, sure, but in the past we've then had it patched. 17:20:47 I recall that we didn't allow, say, mono to be special. 17:20:58 well, actually, we did let mono do some rather odd things 17:21:08 just not the most obscene items 17:21:39 How does debian deal with this? 17:21:45 they don't use libexec so... 17:21:47 They patch octave. 17:22:04 otoh, they don't have the /usr/lib /usr/lib64 split 17:22:22 Correct, though since multilib isn't an issue, that's not really an issue either. 17:22:33 well, if debian is patching octave, then we'd be in good company here. 17:22:36 It just gets patched differently depending on which arch it's building on. 17:22:37 it could be as simple as %{configure} --libexecdir=%{_libdir} 17:23:02 http://octave.1599824.n4.nabble.com/libexec-for-packages-td3334700.html 17:23:32 The proposed patch is there. 17:23:47 doesn't look like upstream replied at all 17:24:04 No, they don't seem to care about the issue. 17:24:47 okay, so since we do care about this, and debian cares, how about we just have him patch it? the patchset doesn't look horrible. 17:25:13 A possibly better archive is at https://mailman.cae.wisc.edu/pipermail/octave-maintainers/2011-March/023344.html 17:25:25 I think he's leaving it up to us as to what he should do. 17:25:52 But obviously carrying around another patch is undesirable in genera. 17:26:04 I don't know how to look at debian patches to make sure that's what they're doing. 17:26:08 in a perfect world, I'd prefer to hear *some* sort of feedback from upstream, before deciding anything. 17:26:15 i doubt that debian is doing it like that 17:26:29 but they might be, who knows? 17:26:38 they're not trying to account for arch conflicts 17:26:42 so they might be using libdir 17:27:26 okay, well, we'll talk about this next week 17:27:29 we're out of time 17:27:31 thanks everyone 17:27:37 #endmeeting