15:02:47 <spot_> #startmeeting Fedora Packaging Committee
15:02:47 <zodbot> Meeting started Wed Aug 24 15:02:47 2011 UTC.  The chair is spot_. Information about MeetBot at http://wiki.debian.org/MeetBot.
15:02:47 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
15:02:51 <geppetto> here
15:02:52 <spot_> #meetingname fpc
15:02:52 <zodbot> The meeting name has been set to 'fpc'
15:02:56 <spot_> #topic Roll Call
15:03:03 <Rathann> here, but semi-afk
15:03:09 <Rathann> will peek in every few minutes
15:03:36 * gomix lurking
15:03:52 <geppetto> still here ;)
15:04:12 * abadger1999 here
15:04:39 * racor here
15:04:41 * limburgher le sigh
15:04:51 * spot_ assumes abadger1999 is still here
15:05:00 <spot_> tibbs|h, SmootherFrOgZ: ping
15:05:08 <tibbs|h> Howdy.
15:05:39 <spot_> rdieter: ping?
15:06:32 <spot_> okay, we have quorum
15:06:51 <spot_> #topic Socket Activation section of Systemd guidelines - https://fedorahosted.org/fpc/ticket/103
15:07:13 <tibbs|h> I've questioned that bit myself.
15:07:16 <spot_> i think we need to ask FESCo for a policy decision here
15:07:29 <tibbs|h> Honestly I'm not entirely sure it makes sense as written, regardless of what fesco says.
15:07:30 <spot_> ugh, brb, toddler is awake
15:07:38 <spot_> discuss, i'll be back in 10-15
15:09:08 <abadger1999> From the recent thread, I think that socket activation can also be enabled and disabled.
15:09:23 <tibbs|h> It can.
15:09:27 <abadger1999> Which would mean that there should be no prohibition against making something socket activatable.
15:09:48 <abadger1999> Just a prohibition against the socket activation being set to enabled or not.
15:09:57 <tibbs|h> What is very confusing is this sentence from http://fedoraproject.org/wiki/Packaging:Systemd:
15:10:09 <tibbs|h> "Since Fedora currently doesn't want any services to do on-demand loading, all socket activated services must autostart."
15:10:29 <abadger1999> That was put in because of Lennart.
15:10:33 * Rathann peeks in
15:10:41 <tibbs|h> I haven't found anyone who understands what that sentence actually means.
15:10:57 <abadger1999> I'm not sure if Lennart proposed it or if we wrote it based on what Lennart proposed at the time.
15:11:00 <tibbs|h> For something socket activated, you have a .socket unit and a .service unit.
15:11:07 <abadger1999> *based on what Lennart told us at the time
15:11:37 <abadger1999> I think that it's conflating two things, though.
15:11:40 <tibbs|h> It doesn't make any sense at all to autostart the .service unit, or to start it, stop it, enable it, or whatever
15:11:48 <abadger1999> Whether and how to ship .socket files
15:11:55 <abadger1999> and whether and how to write .socket files.
15:12:29 <tibbs|h> I recently converted a simple service over to use systemd socket activation.
15:12:36 <abadger1999> I was wondering that when lennart was talking abiut Also= in relation to the .socket and .service.
15:12:52 <abadger1999> So how does that work?
15:13:00 <tibbs|h> It's not a Fedora thing (some local data gatherer) but I found that the guidelines really didn't make much sense when I tried to apply them to this case.
15:13:04 <geppetto> tibbs|h: So you're the expert?
15:13:09 <tibbs|h> Heh.
15:13:16 <tibbs|h> Well, I mean, I got it working.  Sort of.
15:13:32 <limburgher> Not it!!
15:13:35 <tibbs|h> It randomly fails for no logged reason and stops working.  But that's par for the course.
15:14:18 <tibbs|h> In any case, the whole templated .service unit thing isn't really mentioned anywhere.
15:15:17 <tibbs|h> My application doesn't make use of Also=, so I'm not sure where that would come in.
15:16:29 <tibbs|h> Anyway, what I really don't get about the thing is that you can ship a .socket file and not enable the service.
15:16:49 <tibbs|h> So why do we have all of these prohibitions against including them unless FESCo accepts that the service will autostart?
15:17:23 <tibbs|h> And, ugh, I've conflated "service" and ".service unit" or whatever the correct term is.
15:17:46 <tibbs|h> Having agreed upon terminology would really help here.
15:18:09 <abadger1999> <nod>
15:18:15 <abadger1999> I think that Lennart confused us all.
15:18:22 <abadger1999> that's my theory at least.
15:18:36 <tibbs|h> Well, there's a non-native speaker issue here as well, I think.
15:18:49 <abadger1999> <nod>
15:19:24 <tibbs|h> But I can also say that the note under "Socket activation" in the guidelines is wrong.
15:19:25 <abadger1999> Sure.  but that's how we have the guidelines we have.
15:20:03 <tibbs|h> abadger1999: Were you responding to me?  I have a big ignore list and may have missed whoever you were responding to.
15:21:28 <abadger1999> uhm.. responding to the non-native speaker thing.
15:21:47 <tibbs|h> Ah, OK.
15:21:54 <abadger1999> So... let's fix it.
15:22:36 <tibbs|h> Indeed, except... I don't completely understand what some of the guidelines are trying to say, so I don't know how to write them to be clearer.
15:22:41 <abadger1999> I'm thinking the "we don't want" should be more of a we don't want fedora packagers to write .socket files from scratch; leave to upstream.
15:22:55 <abadger1999> Shipping sockets should be fine
15:23:01 <tibbs|h> It all made sense before I actually tried doing a socket activated service, but now it doesn't.
15:23:11 <abadger1999> Enabling sockets in the spec needs to be approved by fesco.
15:23:32 <abadger1999> And then we need examples of how to go about doing this.
15:23:51 <abadger1999> so that we know things like whether/when to add "also="
15:23:56 <tibbs|h> So, basically, we treat "socket activated services" and "regular services" the same, which makes sense.
15:24:20 <tibbs|h> But FFS, we need a "definitions" section at the top to make the terminology clear.
15:24:27 * spot_ is back
15:24:35 <abadger1999> Sounds good too.
15:24:52 <spot_> abadger1999: i agree with you, shipping sockets is okay, enabling by default requires fesco approval
15:25:10 <abadger1999> along with a link to the commands that operate on the defintions.
15:26:16 <spot_> i'm not opposed to adding a definitions section too
15:26:22 * geppetto nods
15:26:22 <spot_> but i would like to see a draft
15:27:11 <tibbs|h> Is there actually a set of agreed-upon terminology?
15:27:31 <geppetto> there might be once someone writes a definition section ;)
15:27:36 <spot_> tibbs|h: maybe, hard to say. hence, a draft. :)
15:28:09 * spot_ isn't hearing volunteers for this though... abadger1999, can you be bribed? :)
15:28:44 <tibbs|h> My basic question is "what is a service"?
15:28:58 <tibbs|h> Something defined by a unit file ending in ".service"?
15:29:00 <abadger1999> not for this.
15:29:46 <abadger1999> really really sorry about my non-bribability on this.  You can hit me up with the next n non-systemd requests instead :-)
15:29:46 <tibbs|h> Maybe I'll make a list of terms from the guideline that could be interpreted multiple ways so we can either pick better terms or define the terms explicitly.
15:29:54 <limburgher> So shipping socket file != enabling?
15:30:03 <tibbs|h> Indeed.
15:30:11 <tibbs|h> You can enable and disable foo.socket just fine.
15:30:38 <tibbs|h> And if you want it to "socket-activate" or whatever at next boot, you have to systemctl enable foo.socket explicitly.
15:30:54 <tibbs|h> It's no difference than a "regular service" (or whatever the term is).
15:31:32 <limburgher> So the premise of the trac is invlid?
15:31:35 <limburgher> a
15:31:45 <tibbs|h> Yes, basically.
15:31:51 <abadger1999> yep
15:32:07 <spot_> How about something like "A service is defined as a process or task executed and controlled by the init system (e.g. systemd)."
15:32:07 <limburgher> . . .. <blink>
15:32:46 <abadger1999> What is the type of service controlled by a .service file?
15:32:57 <tibbs|h> Heh.
15:33:42 * abadger1999 feels like a first grader with a list of words on one side and a list of definitions on the other.  Time to draw lines between 'em.
15:33:45 <spot_> "A socket-activated service is a service which is waiting for traffic across a socket before activating."
15:34:05 <tibbs|h> My main question is what do you call services that are not socket-activated.
15:34:27 <tibbs|h> Though I guess there are several types of services.
15:34:33 <tibbs|h> Maybe "boot-time services" or something?
15:34:58 <tibbs|h> There are cron-like timer services as well, and the automount things.
15:35:31 <spot_> "A normal service is a service which is explicitly started or stopped, either by the init system at boot or manually by a superuser."
15:36:04 <limburgher> So xinetd==?
15:36:05 * spot_ hates "normal service", but i can't think of a better term
15:36:20 <tibbs|h> limburgher: "socket-activated service".
15:36:35 <tibbs|h> spot_: Yeah, some will ask what's abnormal about other types of service.
15:36:35 <abadger1999> Also remember, part of the definitions purpose is to be able to use these terms throughout the rest of the guidelines.
15:36:51 <abadger1999> so we'll have to change to using "normal service" for a lot of things.
15:37:14 <spot_> perhaps "traditional service" ?
15:37:16 <limburgher> tibbs|h: gotcha
15:37:17 <tibbs|h> Or just use "service" if the guidelines aren't being specific about the type of service.
15:37:46 <tibbs|h> But, of course, some things can be socket-activated that xinetd never had anything to do with.
15:39:39 <spot_> sorry, i'm thinking here, also, keeping tiny hands off my keyboard
15:40:02 <tibbs|h> Anyway, let me see what I can come up with in, well, not too much time.
15:41:29 <spot_> tibbs|h: https://fedoraproject.org/wiki/PackagingDrafts/ServiceDefinitions
15:41:46 <spot_> tibbs|h: that's just my initial ideas written down
15:42:50 <spot_> okay, we'll revisit this next week, hopefully with a draft
15:43:10 <spot_> #topic Open Floor
15:44:05 <Rathann> nothing from me
15:44:13 <limburgher> ditto
15:44:28 <spot_> okay, if there is nothing in say, 2 minutes, i'll go back to wrangling a toddler
15:44:56 * spot_ means that literally, not implying that any of my employees are toddlers. :)
15:45:10 <abadger1999> hehe
15:45:21 <jsmith> spot: I assumed you were talking about the FPL :-p
15:45:24 <abadger1999> If only spot-2.0 was an employee :-)
15:45:59 <spot_> abadger1999: he was willing to write the draft for socket activation, but it would have been less coherent than what we have now. :)
15:46:21 <limburgher> LOL
15:46:31 <spot_> okay, thanks everyone.
15:46:34 <spot_> #endmeeting