14:59:43 <spot> #startmeeting Fedora Packaging Committee
14:59:43 <zodbot> Meeting started Wed Jun 29 14:59:43 2011 UTC.  The chair is spot. Information about MeetBot at http://wiki.debian.org/MeetBot.
14:59:43 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic.
14:59:47 <spot> #meetingname fpc
14:59:47 <zodbot> The meeting name has been set to 'fpc'
14:59:53 <spot> #topic Roll Call
15:01:18 * spot is here (for once)
15:01:23 * limburgher yago!
15:02:33 <spot> abadger1999, geppetto, rdieter, tibbs|h, SmootherFrOgZ: ping ?
15:03:00 <tibbs|h> Howdy.
15:03:01 <abadger1999> spot: present
15:03:04 <rdieter> yo
15:03:12 <geppetto> here
15:03:30 <spot> okay, thats 6 of us.
15:03:39 <spot> Lets get this party started. :)
15:03:53 <spot> #topic PIE (https://fedorahosted.org/fpc/ticket/93)
15:04:14 <spot> is someone actually writing a draft, aside from abadger1999's stub comment?
15:04:35 <abadger1999> nirik: ping ^
15:04:39 * nirik was going to try to, but hasn't gotten to it. Would welcome someone else doing so. ;)
15:04:48 <Rathann> here
15:04:52 <spot> hi Rathann
15:05:11 <spot> hi racor
15:05:18 <spot> the only thing you two have missed is this:
15:05:19 <racor> hi, sorry for being late
15:05:24 <spot> <spot> is someone actually writing a draft, aside from abadger1999's stub comment?
15:05:28 <spot> <abadger1999> nirik: ping ^
15:05:28 <spot> * nirik was going to try to, but hasn't gotten to it. Would welcome someone else doing so. ;)
15:05:33 * SmootherFrOgZ here
15:05:43 <spot> wow. we have full attendance today!
15:05:51 * spot can't remember when that last happened
15:05:55 <limburgher> Pistachio Baconsmith!
15:06:14 <SmootherFrOgZ> spot: 4 weeks ago ;)
15:06:20 <spot> nirik: i think you may be on the hook for this draft, i don't see people jumping all over it.
15:06:26 <nirik> see the power of this fully attended FPC... the ultimate power in the universe! :) </starwarsjoke>
15:06:26 <spot> SmootherFrOgZ: shows how poor my memory is. ;)
15:06:36 <nirik> ok, I will try and get something this week...
15:06:52 <limburgher> nirik: I'll never join yo. . .shit, already did.
15:06:53 <spot> #action Waiting on nirik's draft.
15:07:12 <spot> #topic Clarify libexecdir - https://fedorahosted.org/fpc/ticket/95 - https://fedoraproject.org/wiki/Libexecdir_clarification_packaging_draft
15:07:56 <spot> FWIW, this draft seems reasonable
15:08:26 <limburgher> And relatively easy to understand.
15:09:16 <spot> Does anyone else have an issue with it? (I'm assuming most of us are reading it right now...)
15:09:34 <tibbs|h> Seems OK to me.
15:09:55 * spot is +1 on the draft
15:09:58 <abadger1999> +1
15:09:59 <tibbs|h> Some of this is "just pick something for the sake of picking something" but I think that's OK.
15:10:04 <rdieter> +1
15:10:05 <tibbs|h> +1
15:10:26 <limburgher> +1
15:10:35 <geppetto> So … one minor thing
15:11:07 <geppetto> It says "If upstream's build scripts support the use of /usr/libexec then that is the most appropriate place to use." … which implies that people should use that over doing --libexecdir=%{_libexecdir}/%{name}
15:11:22 <geppetto> but maybe that's too anal
15:11:38 <geppetto> it does mention that %{_libexecdir}/%{name} is better a bunch
15:11:38 <limburgher> eeeeeh. . .
15:11:50 <rdieter> to me, it means, "implies that people should use that *prefix*..."
15:11:53 <limburgher> hmm.
15:11:53 <spot> thats not how i would read it... but if you have a wording change to eliminate that ambiguity...
15:12:02 <limburgher> That would be lovely.
15:12:17 <abadger1999> "as a prefix"  ?
15:12:21 * abadger1999 adds that now
15:12:24 * spot nods
15:12:41 <Rathann> seems fine to me
15:12:48 <Rathann> +1
15:13:09 <spot> I see +6 at the moment.
15:13:12 <geppetto> If upstream's build scripts support the use of %{_libexecdir} then that is the most appropriate place to configure it (eg. passing --libexecdir=%{libexecdir}/%{name} to autotools configure).
15:13:25 <SmootherFrOgZ> +1
15:13:38 * abadger1999 adds geppetto's version
15:13:43 <tibbs|h> Still +1 here.
15:13:56 <geppetto> +1
15:14:13 <spot> racor: would you like to vote for the record, we are at +8
15:14:15 <racor> I disagree on the %{_datadir}/%{name} sentence - It's for data, not for programs
15:14:37 <racor> apart of this I am all for this.
15:16:13 <spot> okay, well... since i'm not seeing a willingness to tear into that particular discussion...
15:16:23 <racor> both FHS and GCS agree on this.
15:16:25 <abadger1999> I'm ambilavent
15:16:41 <racor> no it's not ambivalent.
15:16:52 <spot> I would say that the  %{_datadir}/%{name} sentence is a bit of a stretch
15:16:56 <abadger1999> I didn't mention /usr/lib for similar reasons to what racor is saying about %{_datadir}
15:17:20 <spot> but clearly, there are people/upstreams who think that is an acceptable home for helper binaries
15:17:51 <racor> I think the reference to %{_datadir}/%{name} should simply be removed.
15:17:57 <abadger1999> racor: I agree that it's not ambiguous -- I'm feeling ambivalent about whether I want to fight with upstreams/packagers over its use.
15:18:42 * abadger1999 would still vote +1 if we struck that sentence.
15:18:53 * spot would also still vote +1 if we struck that sentence
15:19:06 * Rathann too
15:19:07 * limburgher so would I
15:19:15 <abadger1999> Okay, striking sentence
15:19:19 <racor> abadger1999: <sigh> that's the dilemma of the FPC ... fighting windmills, ...
15:19:28 <racor> then +1
15:19:37 <spot> Just for clarity, lets get a revote with that sentence dropped, starting with racor's +1 just now
15:19:40 <spot> +1
15:19:49 <limburgher> +1
15:19:51 <SmootherFrOgZ> +1
15:19:52 <Rathann> +1
15:19:57 <tibbs|h> I'm OK either way.  I feel it was sufficiently disparaged in the original draft but it doesn't much matter.
15:19:59 <abadger1999> +1
15:19:59 <geppetto> +1
15:20:01 <tibbs|h> +1
15:20:29 <spot> rdieter?
15:20:58 <rdieter> +1 then
15:21:32 <spot> #action Draft approved (with modifications made on the fly) - (+1:9, 0:0, -1:0)
15:22:10 <spot> #topic Remove absolute paths to binaries in $PATH - https://fedorahosted.org/fpc/ticket/96
15:22:43 <spot> Ville says that there is no reason to use absolute paths, I would argue the exact opposite, especially in scriptlets
15:22:52 <abadger1999> Does rpm set the PATH variable before running scriptlets?
15:23:08 <tibbs|h> I think we'd have to get into what $PATH actually is for scriptlets.
15:23:46 <rdieter> abadger1999: I think it does, but we should find out for sure
15:23:57 <racor> abadger1999:  dunno, but nothing prevents admins to install arbitrary packages to arbitrary dirs in $PATH
15:23:57 <spot> it just seems like there is no real benefit to not being safe with the pathing on binaries
15:24:10 <tibbs|h> Typing.
15:24:12 <geppetto> rpm does:
15:24:13 <geppetto> static const char * const SCRIPT_PATH = "PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin";
15:24:15 <tibbs|h> That's about it, I think.
15:24:20 <Rathann> also using absolute paths is a tiny bit faster
15:24:21 <geppetto> and sets that when exec'ing scripts
15:24:39 <tibbs|h> /usr/X11R6/bin?  Really?
15:24:42 <spot> geppetto: does that mean it is ignoring env PATH?
15:25:00 <geppetto> Unless _install_script_path is set, in which case it uses that macro
15:25:03 <geppetto> spot: yes
15:25:17 <geppetto> it always sets path, to one of those things
15:25:22 <spot> geppetto: huh. that may explain several odd bugs involving custom scriptlets. :/
15:26:28 <spot> So, I think I'm opposed to this unless someone can give a good set of pros for not using absolute pathing on binaries in scriptlets
15:27:12 <limburgher> Agreed, if you need an alternate path in your RPM. . .set it.
15:27:16 <rdieter> fwiw, I'm still in favor of the draft
15:27:23 <racor> spot: seconded
15:27:38 <geppetto> As long as we aren't disallowing people to use "rm" … I really don't mind some paranoid using /bin/rm directly
15:28:03 <geppetto> It's not like programs in scriptlets move around much … or won't get compat. symlinks anyway
15:28:49 <spot> geppetto: hopefully, rm is not often used in scriptlets. :)
15:29:13 <geppetto> :)
15:29:20 <tibbs|h> I come down slightly on the side of less typing, but whatever the choice I would prefer that we're at least consistent in the scriptlets we provide.
15:30:26 <racor> geppetto: IMO, the real problem is something (e.g. a package) or somebody (e.g. an admin) installing a program with a conflicting name in a dir $PATH, which would take precedence over the nominal program.
15:30:37 <spot> I do think we should be documenting absolute pathing in scriptlets, it just seems safer, and no one has presented a good reason (aside from less typing) to not do it.
15:30:47 <abadger1999> So... make all absolute or make all rely on PATH (presently looks like */sbin paths are absolute and */bin paths rely on PATH)
15:31:31 * abadger1999 was replying to being consistent
15:31:56 <spot> are we more or less concerned about binaries in /bin vs /sbin?
15:32:23 <Rathann> spot: documentation should probably include a link to rpm's source where it is being set, just in case it changes and we don't update our wiki to match
15:32:24 <geppetto> racor: It just really sucks seeing: /usr/sbin/alternatives … etc. … but, meh
15:32:39 <abadger1999> spot: Present guidelines seem to be more concerned about binaries in /sbin -- I'm guessing because /sbin wasn't on a normal user's PATH.
15:32:51 <rdieter> spot: stuff has moved into .../sbin before
15:32:57 <spot> abadger1999: yeah, i think you're right
15:33:38 <spot> FHS says /bin is for Essential user command binaries, and /sbin is for System binaries
15:34:13 <spot> Given that RPM is forcing the PATH here
15:34:14 * rdieter would hate to have to do any sort of quasi-mass-pkg-rebuild just because something moves /bin => /sbin again
15:34:27 <spot> and thus, /bin and /sbin will never be trumped by /usr/bin or /usr/sbin
15:34:48 <spot> perhaps a consistent approach of "binaries in /bin or /sbin do not need to use absolute pathing in scriptlets, all others MUST"
15:35:21 <rdieter> that's a good compromise
15:36:29 <spot> any other thoughts on that approach?
15:36:45 <abadger1999> hmm... so if safety trumps everything, then /sbin/ is really the only safe directory.
15:37:15 <abadger1999> and we'd still have to update the majority of the scriptlets, it looks like.
15:37:24 <abadger1999> (to add the abosulte path)
15:37:30 <tibbs|h> I have to say that I'd prefer to just pick something consistent than have some rather odd rule.
15:37:46 <spot> tibbs|h: such as?
15:38:11 <rdieter> I think he's implying either use absolute paths everywhere, or not at all
15:38:19 <tibbs|h> Probably just "always use the full path to executables in scriptlets" and be done with it.
15:38:45 * spot isn't opposed to that, but I can hear the "why do i need to say /bin/ln ?" grumbling already
15:38:47 <abadger1999> counterpoint to safety -- if we're only worried that someone would have a package that installs /sbin/update-desktop-database... are we worrying about something unreasonable?
15:38:53 <Rathann> do we have any safeguards against packages putting same-named binaries in /sbin and /bin (/usr/*, respectively)?
15:39:11 <tibbs|h> Besides package review and stuff?
15:39:12 <rdieter> abadger1999: I think so... :)
15:39:21 <spot> Rathann: no technical ones
15:39:37 <Rathann> and might there be a reason a package would want to call the one that is later in the rpm scriptlet $PATH
15:39:42 <geppetto> I'm -1 on mandating absolute paths in all scriptlets
15:39:52 <Rathann> I'm against disallowing absolute paths
15:39:52 <geppetto> I'd prefer mandating no absolute paths
15:40:03 <Rathann> even if they are in the path
15:40:16 <geppetto> But, I'm happy to give the choice to the packager … and have all our examples use absolute paths
15:40:18 <tibbs|h> There are two separate issues:
15:40:34 <tibbs|h> One is that scriptlets in the guidelines are inconsistent, and that's bad.
15:40:47 <tibbs|h> The other is what to tell packagers to do in their own scriptlets.
15:41:00 * abadger1999 agrees with tibbs
15:41:11 <kalev> I would say that if an admin installs 2 different rm's in PATH, it's just asking for trouble and we shouldn't try to work around such madness
15:41:22 <tibbs|h> I don't much care what packagers do, but we should be consistent in the guidelines or else people will think there's some hidden rule.
15:41:31 <spot> So, I'd say, on item 1, all of our scriptlets should use absolute paths. On Item 2, we should encourage absolute paths for safety, but not require it.
15:41:45 <kalev> also rdieter is presenting a pretty good case that if any binaries move around, absolute path scriplets will stop working
15:41:55 <racor> spot: +1
15:42:02 <tibbs|h> spot: +1
15:42:05 <rdieter> spot: +1
15:42:22 <tibbs|h> I think things moving is a non-argument; we'll always have things to fix up if we decide to do that kind of thing.
15:42:25 <Rathann> kalev: anyone moving essential binaries has to consider that
15:42:34 <racor> kalev: IMO, these breakages are good and desired in such cases.
15:42:44 <Rathann> spot: +1
15:42:52 <SmootherFrOgZ> sound reasonable, +1
15:42:56 * abadger1999 I think I agree with geppetto's feelings.
15:43:09 <abadger1999> phew, doesn't have to be a tie breaker.
15:43:10 <geppetto> I kind of prefer the "no absolute paths for /bin and /sbin" … but … blah +1
15:43:10 <abadger1999> +0
15:43:14 <limburgher> hmmm
15:43:30 <limburgher> +1
15:44:49 <spot> #action On item 1, all of our scriptlets should use absolute paths. On Item 2, we should encourage absolute paths for safety, but not require it. (+1:8, 0:1, -1:0)
15:45:28 <spot> is anyone willing to fix up the scriptlets, or does that land in my lap? :)
15:45:46 <tibbs|h> I'm off today and Friday, so I should have time to do it.
15:45:59 <spot> tibbs|h: yay! thanks.
15:46:14 <tibbs|h> Assuming I can actually find all of the scriptlets in the guidelines.
15:46:42 <spot> tibbs|h: imho, if you find things outside of ScriptletSnippets, move them and make redirects.
15:47:05 <tibbs|h> Well, we have templates and such in the language specific guidelines.
15:47:27 <spot> tibbs|h: yeah, i suppose so, but i'd still be okay with them moving to one Scriptlets page
15:48:03 <spot> #topic Open Floor
15:48:26 <tibbs|h> The Java folks have some updated guidelines coming down the pipe, I think.
15:48:37 <spot> always fun. :)
15:48:55 <tibbs|h> I guess they haven't submitted them yet.
15:48:58 <limburgher> mmmm.
15:50:03 <tibbs|h> http://bit.ly/iyz1G7 was the diff, but I guess there's not much point in looking at it yet.
15:50:26 <tibbs|h> At least it looks simpler (no scriptlets).
15:52:48 <tibbs|h> Anyway, I'm sure they'll submit them when they're ready.
15:52:56 <tibbs|h> Nothing else from me.
15:53:40 <spot> Okay, thanks everyone
15:53:43 <spot> #endmeeting