| NEWS: (updated 2008-09-30) Infrastructure status | New SSH fingerprints | New package signing key |
Packaging/Minutes20070710
From FedoraProject
Contents |
Fedora Packaging Committee Meeting of {2007-07-10}
Present
- AxelThimm (
thimm) - DavidLutterkort (
lutter) - JasonTibbitts (
tibbs) - JesseKeating (
f13) - RalfCorsepius (
racor) - RexDieter (
rdieter) - TomCallaway (
spot) - VilleSkyttä (
scop)
Writeups
No proposals were submitted to FESCo last week, so no new guidelines this week.
Votes
The following proposals were considered:
- R packaging guidelines
- http://fedoraproject.org/wiki/PackagingDrafts/R
- Accepted (6 - 1)
- Voting for: tibbs rdieter thimm spot lutter racor
- Voting against: scop
- Note that racor's vote was indicated as "preliminary"; he did not elaborate
Other Discussions
The following additional items were discussed; see the logs for full details.
- http://fedoraproject.org/wiki/PackagingDrafts/UsersAndGroups
- Silencing errors from the icon cache update scriptlet
- Guidelines for LSB-compliant init scripts.
IRC Logs
[12:02] * spot is here
[12:03] * tibbs here
[12:03] * lutter here
[12:04] * rdieter here
[12:04] <racor> racor is here
[12:04] <spot> i know f13 and abadger aren't going to be here
[12:04] <spot> scop?
[12:04] <scop> pong, working on UsersAndGroups
[12:05] <spot> ok. i just looked at it to see if it had changed. :)
[12:05] --> thimm has joined this channel (n=thimm@p54BD7B6E.dip.t-dialin.net).
[12:05] <spot> ok, with thimm everyone is accounted for
[12:06] <spot> Lets start with R
[12:06] <spot> http://fedoraproject.org/wiki/PackagingDrafts/R
[12:06] <spot> i hope that is fairly straightforward
[12:07] <spot> theres not a lot of R packages in Fedora yet, but there is a lot of interest
[12:07] <tibbs> There are a bunch up for review.
[12:07] <spot> these guidelines were put past the fedora R community for feedback
[12:07] <spot> and they are pretty happy with them
[12:07] <spot> i made some minor changes, mostly clarification items
[12:08] <tibbs> The "Installing the R addon bits" section mentions %{_datadir} but that only works for noarch packages.
[12:08] <spot> ah, ok. easyfix. :)
[12:08] <tibbs> Anyway, I've gone through these before, so +1
[12:09] <rdieter> looks purty nice: +1
[12:09] <thimm> +1
[12:09] * spot votes +1 for his own draft
[12:10] <lutter> +1
[12:10] <scop> there's no "normal" dependency on R in the templates, just (post) and (postun)?
[12:10] <spot> scop: the arch specific packages will pick up a libR dependency
[12:10] <spot> the noarch packages will need a Requires: R
[12:10] <racor> I'm hesitant on the "cd .."'s
[12:10] <thimm> (BTW always a tetex dependency or just for the example's sake?)
[12:11] <spot> thimm: the R docs rely on tetex
[12:11] <spot> racor: its either cd .. or a much more complicated %setup
[12:11] <racor> because I've occasionally seen rpm screwing up outside of RPM_BUILD..
[12:11] <racor> or what the correct name is ... ;)
[12:11] <spot> i tested with cd .. and it worked ok for me
[12:12] <thimm> spot: but are there always ARE-docs?
[12:12] <racor> debug-infos?
[12:12] <spot> thimm: in every package I've ever done, yes.
[12:12] <thimm> s/ARE/ARE/
[12:12] <thimm> Dammit!
[12:12] <spot> thimm: i know what you meant. ;)
[12:12] <spot> racor: they're being generated ok
[12:12] <racor> spot: if YOU say so ...
[12:12] <tibbs> I think the CD is OK.
[12:12] <spot> the only reason we have to cd .. is because R wants to look at the toplevel module name
[12:12] <scop> wouldn't %setup -c, then cd %{packname} instead of ".." in %build, %install and friends work?
[12:13] <thimm> That's an ugly feature of gaim, replacing this package's name with "are" ...
[12:13] <tibbs> After all, if you have multiple setup macros, you're making multiple directories there and may need to manipluate them.
[12:13] <spot> you end up doing: %setup -T -c -a 0
[12:13] <spot> or something similar
[12:13] <tibbs> It's not escaping from the sandbox that's given to it.
[12:14] <tibbs> But yes, you can save the cd if you tell setup not to cd into there in the first place.
[12:14] <spot> I'm not opposed to %setup -c
[12:15] * spot does a quick test
[12:15] <tibbs> It is a couple of characters shorter.
[12:16] <spot> racor: [spot@localhost cvs] $ rpm -qlp /home/spot/rpmbuild/RPMS/x86_64/R-hdf5-debuginfo-1.6.6-1.fc8.x86_64.rpm
[12:16] <spot> /usr/lib/debug/usr/lib64/R/library/hdf5/libs/hdf5.so.debug
[12:16] <spot> /usr/src/debug/hdf5
[12:16] <spot> /usr/src/debug/hdf5/hdf5
[12:16] <spot> /usr/src/debug/hdf5/hdf5/src
[12:16] <spot> /usr/src/debug/hdf5/hdf5/src/hdf5.c
[12:16] <spot> and yeah, %setup -c works nicely.
[12:16] <spot> i'll make that change
[12:17] <tibbs> It gets rid of the need for the cd in the check section as well, doesn't it?
[12:17] <spot> yes
[12:17] <spot> so its win win
[12:18] <spot> ok, i made the changes to the draft.
[12:18] <spot> anyone want to add or change a vote?
[12:19] <scop> # Clean up in advance of check
[12:19] <scop> doesn't that break repeated -bi --short-circuit builds?
[12:19] <spot> well, i'm not sure we've ever "supported" --short-circuit builds
[12:20] <scop> why not?
[12:20] <spot> eh, because most people don't get what they expect.
[12:20] <tibbs> I don't see how it would break them. It's an idempotent operation.
[12:20] <racor> what about the explicit tetex dep? If, as you said, "Building R always requires tetex", shouldn't R-devel better pull-in tetex?
[12:21] <spot> racor: it is possible for an R package to not include documentation
[12:21] <spot> then it wouldn't need tetex
[12:21] <scop> 1) we have *.o and *.so in place, R CMD INSTALL installs them
[12:21] <scop> 2) we remove *.o and *.so
[12:21] <scop> 3) R CMD INSTALL runs again, *.o and *.so are no longer there
[12:21] <scop> what happens?
[12:21] <spot> R CMD INSTALL will rebuild them
[12:21] <spot> if they're not present
[12:22] <scop> ah, ok, didn't notice the empty %build section
[12:22] <scop> so there's no R CMD BUILD or something that would just build the stuff to place in %build?
[12:22] <spot> not really, no.
[12:22] <tibbs> Unfortunately not.
[12:23] <spot> and even if there was...
[12:23] <scop> ok, I think the current template is ok then
[12:23] <tibbs> I'm assuming R gets the proper CFLAGS and such from when it was built.
[12:23] <spot> tibbs: it does
[12:23] <scop> oops
[12:23] <scop> what about --target i686 on a i386 R system?
[12:24] <spot> it asks R for the flags it was built with
[12:24] <spot> and maps up to that
[12:24] <spot> so it wouldn't i686 opt without a hack
[12:24] <scop> that's different from others
[12:24] <racor> spot: This would mean R isn't multilib-able
[12:24] <scop> we honor the user's choice in perl, python, ruby templates
[12:24] <spot> racor: ehh...
[12:24] <spot> it will build i386 and x86_64 fine
[12:25] <spot> it just doesn't normally know how to handle any subarches
[12:25] <racor> spot: How? How does compilation receive the appropriate CFLAGS?
[12:26] <racor> Normally in x86: -m32/-m64
[12:26] * spot looks to tell you exactly how
[12:29] <racor> anyway, as usual ;), my time's up for today, I'll have to leave. preliminary +1 to Spot's proposal.
[12:29] <spot> ok
[12:29] <spot> so when R builds
[12:29] <spot> it looks at all the compiler related flag environmentals
[12:29] <spot> and saves them in a file called Makeconf
[12:30] <spot> then, everytime R CMD INSTALL gets called after that, it sources Makeconf
[12:30] <spot> and reuses those flags
[12:30] <spot> their goal is to prevent compiler mismatches due to altered flags between library addons and the main R library
[12:30] <spot> think of this like an app polling pkg-config for flag information
[12:31] <spot> this means that on x86_64, we get the x86_64 flags
[12:31] <spot> it could be overridden, but R upstream would likely blow a fuse. :)
[12:31] <scop> perl, python, ruby don't...
[12:32] <scop> s/don't/upstreams don't/
[12:32] <spot> but we're not building for these other "subarch" targets currently, are we?
[12:32] <scop> _we_ are not, but users may want to
[12:32] * rdieter is ok with R's use of Makeconf
[12:33] <spot> scop: i'm not sure how well it would work, to optimize an R sublibrary at a different level than R
[12:33] <spot> if the user really wanted to do that, they'd rebuild R for i686
[12:33] <spot> then, the addon library modules
[12:33] <tibbs> I don't think it's productive to refuse to supply guidelines for R simply because there's disagreement about the way R upstream handles builds.
[12:33] <spot> and it would work.
[12:33] <scop> use of Makeconf as is effectively means R packages will ignore $RPM_OPT_FLAGS, which is directly against our guidelines
[12:33] <f13> I'm here
[12:34] <f13> the eagle has landed
[12:34] <tibbs> Erm, only if R wasn't built with RPM_OPT_FLAGS
[12:34] <tibbs> Otherwise Perl has the same problem.
[12:34] <scop> no, regardless
[12:34] <rdieter> I'd assume %{optflags} would be included in Makeconf.
[12:35] <rdieter> yes, no?
[12:35] <scop> rdieter, probably yes, %{optflags} of R, not the R add-on being build
[12:35] <tibbs> If they differ, that would again be a violation of our guidelines.
[12:35] <scop> uh?
[12:36] <tibbs> It would mean that R wasn't built properly.
[12:36] <tibbs> In violation of our guidelines.
[12:36] <rdieter> spot commented this is upstreams intent for all of R to use the same flags. as long as it includes optflags, I'm ok with that.
[12:36] <scop> they differ if the user rebuilding the R add-on chooses to make them differ
[12:36] <rdieter> bending things to tweak flags for individual add-ons is -EWASTEOFTIME.
[12:37] * f13 looks at topic, is this the KDE meeting or the packaging one?
[12:37] <scop> I disagree
[12:37] <rdieter> hee, forgot to change topic.
[12:37] *** rdieter sets the channel topic to "http://fedoraproject.org/wiki/Communicate/FedoraMeetingChannel -- Fedora Packaging Committee meeting".
[12:38] <spot> well, we have +6 for the draft
[12:38] <scop> my -1 for the record unless it's changed to honor $RPM_OPT_FLAGS
[12:38] <spot> ok, i'll research that as a possible future change
[12:38] <spot> and note the -1.
[12:38] <scop> but if it passes anyway, please document the reason for ignoring them
[12:39] <spot> scop: sure, that seems reasonable.
[12:39] <spot> next item:
[12:40] <spot> http://fedoraproject.org/wiki/PackagingDrafts/UsersAndGroups
[12:40] <spot> this update doesn't let %pre fail
[12:41] <scop> changes since last week: http://fedoraproject.org/wiki/PackagingDrafts/UsersAndGroups?action=diff&rev2=19&rev1=18
[12:41] <tibbs> That's much slimmed down from before.
[12:41] <spot> the only item i think i'm concerned about is groupadd vs getent
[12:41] <scop> spot, that's listed in the TODO section
[12:41] <spot> i know
[12:42] <spot> i think its safer to use getent
[12:42] <scop> I don't feel competent to make the call between "id" and "getent passwd", and "groupadd -f" and "getent group"
[12:42] <scop> (nor even to have an opinion)
[12:43] <spot> I trust simo's judgement on that
[12:43] <spot> he knows that code very well
[12:43] <spot> and he thinks we should use:
[12:43] <spot> getent passwd <user> >/dev/null
[12:43] <spot> > getent group <group> >/dev/null
[12:43] <spot> >
[12:43] <spot> > if the user/group exist then 0 is returned if not then non zero (2 iirc)
[12:43] <spot> > is returned
[12:44] <spot> otherwise, I'm ok with the draft.
[12:44] <rdieter> ditto what spot said. :)
[12:44] <scop> does getent consult external databases as well if so configured in NSS?
[12:45] <spot> scop: yes, getent is tied right into NSS
[12:45] <scop> okay
[12:45] <spot> The getent program gathers entries from the specified administrative
[12:45] <spot> database using the specified search keys. Where database is one of
[12:45] <spot> aliases, ethers, group, hosts, netgroup, networks, passwd, protocols,
[12:45] <spot> rpc, services or shadow.
[12:46] * scop was just worried that eg. "passwd" == "/etc/passwd"
[12:46] <spot> nah. :)
[12:46] <spot> simo pointed that out to me when i was grepping through /etc/passwd
[12:47] <scop> ok, want me to make those changes and vote then, or already now?
[12:47] <spot> i'd like to just see the changes before voting
[12:47] <spot> if only because i know this is going to get a lot of attention
[12:48] <scop> I have no problem with that, but it'll mean it'll be up to vote next week
[12:48] <spot> thats fine.
[12:48] <scop> I want to test and be sure I get it right
[12:48] * spot nods
[12:48] <scop> ok, will do that
[12:48] <spot> ok, thats all i had on the agenda for this week. open to items from anyone else:
[12:49] <f13> did we talk about the icon cache updating thing?
[12:49] <rdieter> no
[12:49] <spot> f13: since i don't know what you're referring to, no, we didn't.
[12:49] <f13> the scriptlet-snippits stuff that says we shouldn't add a dep on the icon stuff, but we don't safely wrap the script to fail silently if the tool isn't there.
[12:49] <spot> oh, thats an obvious fix that needs to be made.
[12:49] <f13> http://fedoraproject.org/wiki/Packaging/ScriptletSnippets?action=show&redirect=ScriptletSnippets#head-7103f6c38d1b5735e8477bdd569ad73ea2c49bda
[12:50] <spot> someone want to volunteer to fix it?
[12:50] <f13> rdieter: you replied to the message
[12:50] <f13> with an example of how to fix it
[12:50] <f13> rdieter: I volunteer you to just fix it.
[12:50] <rdieter> what's preferred, wrap with [ -x /usr/bin/gtk-update-icon-cache ] && or >& /dev/null the output?
[12:50] <f13> fail silently I thikn
[12:50] <f13> it's "quicker"
[12:50] <rdieter> the latter is shorter. :)
[12:50] <spot> yeah, fail silently.
[12:50] <rdieter> ok, I'll do it.
[12:50] <f13> of course, somebody will yell at us about this...
[12:50] <f13> hrm.
[12:51] <scop> --quiet can be dropped too if you redirect both stdout,stderr to /dev/null
[12:51] <f13> maybe we should just ask the desktop folks their opinion. Maybe we're interested in errors should the executable actually be there.
[12:51] <rdieter> that means wrapping...
[12:51] <spot> rdieter: want to talk to mclasen and folks about it?
[12:51] <spot> see what they'd prefer?
[12:51] <rdieter> sure, will do
[12:51] <rdieter> fedora-desktop list?
[12:52] <f13> ok, and the next item is the init scripts LSB stuff
[12:52] <spot> seems like as good a place as any.
[12:52] <f13> we've got folks filling mass bugs about this, but there doesn't seem to be clear definition of what we should do to be LSB compliant. This I think falls into packaging unforch.
[12:52] <spot> well, the guidelines already say "follow the LSB"
[12:52] <spot> i would really prefer to see the bug filers present a draft here
[12:52] <f13> I personally have no clue about this, and others have pointed out that the LSB is rather vague in places, so we probably need a "Fedora interpretation" of the LSB
[12:52] <f13> spot: I would too, dearly.
[12:53] <spot> as I'm not an expert on what makes an initscript LSB compliant
[12:53] <scop> http://fedoraproject.org/wiki/FCNewInit/Initscripts
[12:53] <spot> f13: can you email harald@redhat.com and see if he is willing to help draft that?
[12:53] <scop> I added some answered and unanswered questions there
[12:53] <f13> spot: sure.
[12:54] <f13> scop: want to be kept in the loop? I don't really grok this stuff currently
[12:54] <f13> (I haven't put effort into it yet is all)
[12:54] <scop> f13, sure, why not
[12:54] <scop> I have more questions than answers though ;)
[12:54] <f13> that's perfect!
[12:55] <spot> ok, any other items?
[12:55] <spot> (other than my need for lunch....)
[12:55] <tibbs> Nothing from me.
[12:56] <spot> ok. lunchtime for me.
[12:56] <spot> thanks all.
