15:59:52 #startmeeting Fedora Packaging Committee 15:59:52 Meeting started Wed Feb 9 15:59:52 2011 UTC. The chair is spot. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:59:52 Useful Commands: #action #agreed #halp #info #idea #link #topic. 15:59:56 #meetingname fpc 15:59:56 The meeting name has been set to 'fpc' 16:00:02 #topic Roll Call 16:00:54 * spot is here 16:01:05 I'm here. 16:01:44 * limburgher here 16:03:35 here 16:04:04 * SmootherFrOgZ here 16:04:12 abadger1999, SmootherFrOgZ ? 16:04:30 here 16:05:04 I have a doctor's apt in an hour, though, so I'll be leaving in time to drive there. 16:05:15 so, i've spent the last 30 minutes trying to fix a bug in the systemd scriptlets 16:05:29 rpm really does not like "if /sbin/chkconfig ser2net ; then" 16:05:43 /var/tmp/rpm-tmp.QCAYWA: line 1: test: too many arguments 16:05:57 Needs brackets, doesn't it? 16:06:00 Or a call to test 16:06:07 i think it needs a call to test 16:06:11 but my bash is rusty 16:06:11 That's what I was thinking. 16:06:25 Or just call chkconfig and check $} 16:06:27 $? 16:06:39 : $? 16:06:40 Becasue without them you're tryinf to evaluate two things as a boolean. 16:07:01 so, can anyone suggest the replacement? 16:08:32 what tibbs said 16:08:45 /sbin/chkconfig ser2net 16:08:49 if $? ; then 16:09:01 # failure case 16:09:23 else # chkconfig succeeded; returned 0 16:09:29 * spot checks it quickly 16:09:58 did anyone else get a chance to test the systemd guidelines? 16:10:27 I ran into other questions, unfortunately. 16:10:29 something really messed with services on my f15 guest. 16:10:40 btw, that approach didn't work 16:11:01 sshd was turned off... ran down a rabbithole trying to troubleshoot that. 16:11:07 spot: abadger1999's ? 16:11:11 SmootherFrOgZ: yes 16:11:34 spot: Update the wiki page with the new scriptlet? 16:11:34 chkconfig foo > /dev/null etc 16:11:48 if [ $? -eq 0 ]; then whatever 16:12:01 tibbs|h: yeah, that one is better 16:12:25 /sbin/chkconfig ser2net > /dev/null 2>&1 || : 16:12:25 if [ $? -eq 0 ]; then 16:12:25 /bin/systemctl enable ser2net.service >/dev/null 2>&1 || : 16:12:25 fi 16:13:16 abadger1999: i want to make sure it works first. 16:13:28 Does that not work? My understanding is that chkconfig will return 0 if the service exists and is enabled. 16:13:33 it still is throwing errors 16:13:39 /var/tmp/rpm-tmp.4xEhvN: line 1: test: too many arguments 16:14:07 You've looked at /var/tmp/rpm-tmp.4xEhvN … to make sure it's the same script? 16:14:15 geppetto: rpm nukes it immediately 16:14:28 * geppetto nods … because I'm pretty sure what you wrote first should work too 16:14:38 http://fpaste.org/b1je/ 16:14:41 And what you just pasted really should work 16:14:42 those are my scriptlets 16:14:52 To be honest I'm not sure of the effect of ||: on $?. 16:14:58 But that shouldn't make the test fail. 16:15:50 Maybe put $? in quotes for extra safety, although I'm not sure that bash would require it. 16:15:57 Ahh … you might want to use: [ "x$?" = "x0" ] … but again, the first thing should work AFAIK 16:16:00 hmm. maybe it is one of the old scriptlets that is failing 16:16:15 * geppetto nods … any remaining triggerun stuff? 16:16:25 yep. the old postun was broken. 16:16:30 thats the %postun failing 16:16:38 ugh. i hate scriptlets. 16:17:13 My confusion about systemd stuff is with ordering when the stuff you have to run before or after hasn't been converted to systemd yet. 16:17:35 I need to experiment more with that. 16:18:11 tibbs|h: it seems right to me 16:19:17 #topic SystemD - https://fedoraproject.org/wiki/TomCallaway/Systemd_Revised_Draft 16:19:32 Lennart asks me about this weekly, if not daily. 16:20:42 What's left to do? 16:20:50 tibbs|h: nothing that i can see. 16:21:17 i've confirmed that the guidelines work on my little test package (ser2net) 16:21:41 The Bus Activation section needs to be clarified 16:22:02 The more I look at it, the less I understand what's being done. 16:22:22 abadger1999: i'm not sure lennart is going to be able to do that for us 16:22:43 * abadger1999 just tried to translate it into something usable and once again ended up in a wtf moment. 16:23:00 abadger1999: +1 16:23:10 * spot doesn't really understand D-Bus, so i'm not qualified to rewrite it 16:23:18 Can we defer the entire bus activation stuff? 16:23:25 spot: Can you or someone break this down into step-by-step: 16:23:29 Most people just want to know what to do with their initscripts. 16:23:29 you can easily implement disabling by directing the D-Bus service to a symlinked alias name of the real service file which is controlled via systemctl enable/disable and which then points to the real service. Example: set SystemdService=dbus-org.freedesktop.Avahi.service instead of SystemdService=avahi-daemon.service, and then make /etc/systemd/system/dbus-org.freedesktop.Avahi.service a symlink → /lib/systemd/system/avahi-daemon.service. A 16:23:30 full example for the Avahi case: 16:24:31 spot: make an action for me on this part 16:25:01 SmootherFrOgZ: you're going to rewrite the Bus Activation section? 16:25:37 It looks like the dbus .service file is changed from referencing avahi-daemon.servic to referencing dbus-org.freedesktop.Avahi.service 16:26:01 spot: will make it more clear 16:26:25 Then the systemd file that is being referenced by bus-org.freedesktop.Avahi.service is made into a symlink to the original dbus-org.freedesktop.Avahi.service file 16:26:36 That would seem like it wouldn't have any effect. 16:27:19 abadger1999: yeah, that doesn't seem to make any sense. 16:28:51 okay. i'll tell lennart that none of us understand how the Bus Activation section works 16:29:12 between him and SmootherFrOgZ, hopefully one of them will come up with something that makes sense. :) 16:29:33 do we want to break that out into a separate draft? 16:29:38 Oh, maybe we aren't actually supposed to create the symlink -- maybe systemd creates the symlink... 16:29:46 * abadger1999 adds that as a quest on the page 16:30:48 abadger1999: I _think_ it doesn;'t have any effect, until you run the systemdctl disable command … at which point systemd removes the symlink and the service doesn't run 16:31:05 But … I'm happy if Lennart or someone else clarifies 16:31:19 geppetto: Okay -- in which case, we want to make the sysadmin manually run systemctl enable in the normal case 16:31:27 yeh 16:32:09 geppetto: And then the services that are allowed to autostart should have a conditionalized systemctl enable in their %post scripts 16:32:23 well, i don't hear anyone wanting to separate this out, so we'll table this until next week for the Bus Activation section to be cleaned up. 16:33:02 #topic Clarify how %global differs from %define - https://fedorahosted.org/fpc/ticket/50 16:33:29 specifically, this ticket asks that we add the following sentence: 16:33:31 Note that %define and %global differ in more ways than just scope: the body of a %define'd macro is lazily expanded (ie when used), but the body of %global is expanded at definition time. It's possible to use %%-escaping to force lazy expansion of %global. 16:33:46 Meh. 16:34:03 I mean, I guess, so, but the intent of the guidelines aren't to document every internal foible of RPM. 16:34:12 I'm fine with adding. 16:34:17 * spot is fine with adding it 16:34:18 +1 16:34:39 I'm good with it. I see no reason not to point out obscure gotchas. 16:34:40 dito. +1 16:34:42 +1 16:35:04 +1 16:35:05 +1 16:35:13 tibbs|h: want to vote for the record? 16:35:16 Are we doing to actually document %-escaping and lazy expansion? 16:35:24 tibbs|h: the perl package does. 16:35:38 well, it doesn't document it, but it uses it. 16:36:06 we could just link to the rpm docs 16:36:10 So they use all this magic, but then go changing it "just because the guidelines said to" and then complained about breaking it? 16:36:21 The only reason not to link or document is if it's going away soon. 16:36:23 -1 We should not apply this change, but add the footnotes from the ticket, only. 16:36:31 Aren't they supposed to understand the magic if they're going to use it? 16:37:13 #action Clarification passes (+1:5, 0:0, -1:1) 16:37:45 Question for Open floor since I have to run -- are we against %trigger because the triggers can run against arbitrary future packages? If so, does the use of a version in the sample systemd guidelines negate our concerns? 16:37:47 Oh, you mean like F11 font packaging changes? 16:37:50 ;) 16:37:58 * abadger1999 leaves for doctor 16:38:31 i'm against triggers because if you get it wrong, you deal with the fallout forever and ever. 16:38:40 if you get a scriptlet wrong, you can fix it in the next package 16:39:05 does the version in the systemd sample mean you don't have to deal with it forever and ever? 16:39:09 not to mention the fact that they're notoriously fragile. 16:39:15 abadger1999: if the packager gets it right. 16:39:41 * spot would rather avoid them unless there is no other alternative 16:39:59 okee dokee 16:40:25 Yeh, dito. … only use triggers if they are the _only_ option, IMO 16:40:55 #topic Path matching binaries with libraries - https://fedorahosted.org/fpc/ticket/53 16:41:08 This is a no-brainer, I think. 16:41:38 sure seems that way to me. 16:41:48 Yeah. 16:41:59 Is ldd not sufficient to determine almost all cases of this? 16:42:16 aside from wacky "look at what i dlopen" scenarios, yes. 16:42:18 I mean, it wouldn't catch dlopen stuff, but that should be vanishingly rare among things in /bin or /sbin. 16:42:41 honestly, this is really rpmlint test material 16:42:44 rpmlint could probably grow a test case pretty easily, couldn't it? 16:42:50 Ninja'd twice. Damn. 16:42:52 tibbs|h: i see we're on the same page. :) 16:43:07 since i am the sucker who maintains rpmlint now, i'll add it to my todo list 16:44:05 okay, can we vote on this one? 16:44:12 Still needs a guidelines entry, doesn't it? 16:44:29 yeah. i'd add it below filesystem layout 16:44:48 +1 16:44:51 +1 16:44:53 +1 16:45:15 sound reasonable, +1 16:45:22 +1 16:45:39 geppetto: ? 16:46:03 +1 16:46:17 #action Approved, (+1:6, 0:0, -1:0) 16:47:48 #topic Fun with epoch - https://fedorahosted.org/fpc/ticket/54 16:48:06 ugh, Toshio left. 16:48:21 i like toshio's larification in comment 2 16:48:35 Second, if the package being depended upon has an Epoch then it must be listed when 16:48:36 adding a versioned dependency to achieve robust epoch-version-release comparison. A 16:48:36 quick way to check the Epoch of a package is to run: 16:48:36 rpm --query --qf "%{EPOCH}\n" packagename 16:48:36 If the output is "(none)" then no epoch is set. Otherwise, the number printed is 16:48:38 the Epoch that needs to be added to the versioned dependency. 16:48:50 But it seems to not have satisfied the person who submitted the ticket. 16:49:09 well, we could probably just add a section on epoch 16:49:10 here, sorry, was busy/distracted a bit @ work. 16:49:27 I think in general we want to avoid stuffing epoch everywhere in all of the examples and such. 16:49:46 * rdieter_work agrees with toshio's simple clarification 16:49:47 But sure, a separate "crap to deal with when using epoch" section might not be bad. 16:49:58 tibbs|h: 16:50:38 Yeh, maybe we could get rpm/rpmbuild to add a special %{_evr} … which expanded to: %{?epoch:%{epoch}:}%{version}-%{release} ? 16:51:26 * skvidal twitches 16:51:32 On the other hand, I think it'll be pretty obvious that stuff doesn't work, if the packager writers: "%{name} = %{version}-%{release}" and the base package has an epoch 16:51:44 spot: i'm for adding a section on epoch 16:56:41 okay, i just wrote something 16:58:19 https://fedoraproject.org/wiki/PackagingDrafts/Epoch_New 16:59:40 nice 17:00:04 Should it include a general discouragement of epoch? 17:00:19 tibbs|h: i do have some text about that in the middle 17:00:29 Ah, there it is. 17:01:04 spot: +1 for adding that somewhere … but it might be nice to add the "%{?epoch:%{epoch}:}%{version}-%{release}" magic incantation 17:01:19 Me likey. 17:01:28 +1 17:01:29 geppetto: i thought of that, but i hate to add non-standard macros that would become so common in use 17:01:33 +1 from me on the draft 17:01:37 +1 17:01:40 +1 17:02:01 spot: could you make "a last resot" in bold 17:02:07 +1 anyways 17:02:10 SmootherFrOgZ: sure. 17:02:16 Blink tag. 17:02:28 SmootherFrOgZ: 17:02:28 +1, though I think the warning about adding epoch should be more verbose 17:02:34 LOL 17:03:20 #action Spot's Epoch draft approved (+1:6, 0:0, -1:0) 17:04:02 Does this actually solve the issue raised in the ticket? 17:04:34 I think so. 17:04:51 the only other change i would propose is in the Requires section 17:04:53 I think it does, but he resisted Toshio's clarification. 17:05:38 basically, changing "Second, the Epoch must be listed when adding a versioned dependency to achieve robust epoch-version-release comparison." to "Second, the Epoch (if used) must be listed when adding a versioned dependency to achieve robust epoch-version-release comparison. See #Epoch for details."" 17:05:53 Sure. 17:05:58 should cover it 17:06:05 spot: sounds good 17:07:17 okay, i think those are the tickets i was going to try to handle today 17:07:34 #topic Open Floor 17:08:27 spot: don't forget to add action on dbus section about systemd 17:08:39 * nirik has something just a FYI... 17:08:53 SmootherFrOgZ: i'm talking to lennart on gimpnet, and he's trying to rewrite it now 17:09:14 #action SmootherFrOgZ and Lennart will try to rewrite Bus Activation section for systemd draft 17:09:30 nirik: okay, whatcha got? 17:09:34 fesco looked at the 'allow to start by default' thing... we are going to discuss it more today, but we have a sorted list in our ticket at: https://fedorahosted.org/fesco/ticket/544 17:09:43 any feedback from FPC folks would be welcome there. ;) 17:09:56 spot: k 17:10:45 nirik: your list seems to be missing some items 17:10:52 quagga isn't network enabled? Really? 17:10:55 nirik: unless that is intentional 17:11:01 well, nottings list, but ok... humm. 17:11:18 I mean, it's a routing daemon; what purpose does it have other than to be network enabled? 17:11:23 nirik: for example, none of the services that start with "a" are listed. 17:11:48 yeah, looks like a line was missed there. 17:12:23 * spot guesses the items before "firebird-superserver" aren't factored in 17:12:50 yeah. will get fixed. 17:13:07 * nirik would also agree that quagga is network enabled. ;) 17:14:00 anyhow, will discuss today... any more feedback welcome. 17:15:44 welp, i think we're done for today. 17:15:46 thanks everyone 17:15:49 #endmeeting