16:00:18 #startmeeting fpc 16:00:19 Meeting started Thu May 14 16:00:18 2020 UTC. 16:00:19 This meeting is logged and archived in a public location. 16:00:19 The chair is geppetto. Information about MeetBot at http://wiki.debian.org/MeetBot. 16:00:19 Useful Commands: #action #agreed #halp #info #idea #link #topic. 16:00:19 The meeting name has been set to 'fpc' 16:00:19 #meetingname fpc 16:00:19 The meeting name has been set to 'fpc' 16:00:19 #topic Roll Call 16:00:38 .hello2 16:00:39 ignatenkobrain: ignatenkobrain 'Igor Raits' 16:00:45 hello 16:00:46 #chair ignatenkobrain 16:00:46 Current chairs: geppetto ignatenkobrain 16:00:46 siddharthvipul, imagine it's a Cantuccio, you can keep them for months if stored in a dry place :) 16:00:48 #chair mhroncok 16:00:48 Current chairs: geppetto ignatenkobrain mhroncok 16:00:57 ignatenkobrain: Hey, how's it going? 16:01:37 geppetto: not bad, just struggling to find time to work on Fedora things :) 16:02:07 .hello2 16:02:08 decathorpe: decathorpe 'Fabio Valentini' 16:02:55 Hey, folks. 16:03:07 #chair decathorpe 16:03:07 Current chairs: decathorpe geppetto ignatenkobrain mhroncok 16:03:10 #chair tibbs 16:03:10 Current chairs: decathorpe geppetto ignatenkobrain mhroncok tibbs 16:06:07 #topic Schedule 16:07:06 Eh, it's the same it has been for a couple of weeks … https://lists.fedoraproject.org/archives/list/packaging@lists.fedoraproject.org/message/SN5YY2W262ZOZRBGQFOHWFI27HOECFX5/ 16:07:43 #topic #pr-#954 Prohibit use of `rpm` command from specfile. 16:08:08 * Defolos is against that… 16:08:25 .fpc 954 16:08:31 decathorpe: An error has occurred and has been logged. Please contact this bot's administrator for more information. 16:08:32 Defolos: did you see comment from pmatilai? :) 16:08:49 decathorpe: hey! don't break zodbot!! 16:08:57 I still want to receive my karma+ 16:08:57 ignatenkobrain: don't think I have 16:08:58 * decathorpe goes home 16:09:50 Basically calling `rpm` from the spec is dangerous and is not recommended by RPM upstream 16:10:34 ok 16:10:45 I don't like us forbid something without a viable alternative 16:10:50 I think especially with BDB → SQLite transition this would lead to all kinds of issues :( 16:10:52 * Defolos is no longer against that 16:11:05 still, I'd like an alternative 16:11:18 essentially %requires_eq, but without calling rpm 16:11:25 mhroncok: there IS alternative. you can ask maintainers of foo to add RPM macro which will encode version as a macro. problem solved. 16:11:29 mhroncok: is this stuff only ever used for querying package versions? 16:12:18 if you need some specific build of some package, you are doing something wrong 16:12:33 so like if you build against llvm 10, you should not require llvm-libs = 10.0.0-1.fc33 16:12:49 instead you should require (llvm-libs >= 10.0.0 with llvm-libs < 11.0.0) or something similar 16:12:57 in my case I've needd that because upstream is kinda nuts in this regard 16:13:02 ignatenkobrain: Eh, requiring the specific version you built against is sometimes the easiest thing to do 16:13:06 I think I tried to get this type of usage banned in the guidelines well over a decade ago. 16:13:11 ignatenkobrain: yeah that would be an obvious solution ... something like `%echo %{version} > /usr/lib/rpm/macros.d/macros.%{name}` in the "parent" package? 16:13:25 right 16:13:28 but.. :( 16:13:47 decathorpe: yes, as one option. 16:13:48 it doesn't really scale 16:14:01 and it requires you to convince someone else to add that to their spec 16:14:02 how many packages need this in fedora? 2? 16:14:02 Definitely +1 to banning it now. Of course, they're just guidelines so.... 16:14:22 decathorpe: I think 1 or 2 16:14:37 actually 1 16:14:41 samba :) 16:14:46 then ban it and use macros for the 1 (or 2) packages that really need it. problem solved :shrugs: 16:14:57 ccls for f30 and f31 16:15:18 Yeh, I'm 100% fine with the solution not scaling 16:15:22 well, I was querying rawhide set 16:15:29 I do think it reasonable that mock might populate a lua table with everything it installed into the chroot, in case something really needs to get at it. It's not that hard to drop a lua file in the right place in the chroot. 16:15:42 tibbs: +1 16:16:08 #action ignatenkobrain to open RFE for mock to populate lua table with package versions in chroot 16:16:20 19 packages in fedora call %(rpm... 16:16:26 That woul donly run lua at build time right? Not install time? 16:17:12 %global rpm49 %(rpm --version | perl -p -e 's/^.* (\\d+)\\.(\\d+).*/sprintf("%d.%03d",$1,$2) ge 4.009 ? 1 : 0/e' 2>/dev/null || echo 0) 16:17:15 oh my god 16:17:18 geppetto: yes, but you need it only for build time, because for install all macros are already expanded 16:17:21 mhroncok: lol, perl-RRD-Simple.spec 16:17:22 2:%global rpm49 %(rpm --version | perl -p -e 's/^.* (\\d+)\\.(\\d+)\\.(\\d+).*/sprintf("%d.%03d%03d",$1,$2,$3) ge 4.009 ? 1 : 0/e' 2>/dev/null || echo 0) 16:17:49 Of course, if something wants to run rpm in %post or something, that would be a separate horror. 16:18:13 https://src.fedoraproject.org/rpms/gdb-heap/blob/master/f/gdb-heap.spec#_30 16:18:55 * decathorpe will not look at those links because is already sad due to Java packages 16:19:08 so the versions people query are: ppp, rpm, man-pages, glibc, mpich 16:19:11 decathorpe++ 16:19:11 geppetto: Karma for decathorpe changed to 7 (for the current release cycle): https://badges.fedoraproject.org/tags/cookie/any 16:19:32 I'm kind of surprised rpm doesn't have version macros already 16:19:38 geppettoo: what was that for? 16:20:08 decathorpe: Too much Java needs a Karma boost 16:20:22 mhroncok: so I guess storing versions for 5-6 packages in macros isn't too bad? 16:20:29 geppetto: oh, thanks 16:20:34 https://src.fedoraproject.org/rpms/perl-Math-Calc-Units/blob/master/f/perl-Math-Calc-Units.spec#_2 I want a drink 16:20:49 decathorpe: let's do it first? ban it after? 16:21:15 people should not query RPM for version 16:21:19 simply should not, fullstop here 16:21:24 I mean RPM rpm ;) 16:22:19 libc will just tell you its version if you run it. But sadly %libdir/libc.so is a linker script and you have to actually find the version. 16:22:43 so we are down to ppp_version, glibc_version, man-pages, openssl, mpich... 16:22:46 Proposal: Propose a standard alternative method of keeping track of versions, and ban querying rpm from inside .spec files because of crazy prevention 16:23:08 decathorpe: +1, also I already took action to open mock RFE 16:23:10 tibbs: In that page of output? 16:23:29 tibbs: Also doesn't tell you the release. 16:23:56 decathorpe: +1 16:24:34 geppetto: the glibc version is in the first line. The package release, though.... it's troubling if you would need it. 16:30:47 Ok, any more votes on decathorpe's proposal? 16:31:50 +1 16:31:57 +1 in case if wasn't obvious. 16:32:15 Ok, I think that's it … 16:32:31 yeah +5 with 5 people present is ... MVP? 16:32:55 #action Propose a standard alternative and ban querying rpm from inside .spec (+1:5, 0:0, -1:0) 16:33:19 #topic #pr-#942 Recommend storing changelog entries in separate file. 16:33:30 https://pagure.io/packaging-committee/pull-request/942 16:34:15 hmm, do we have that macro already? 16:34:21 the rpmdev-bumpspec problem is a bummer 16:34:25 %autorel is in stagging 16:34:29 *staging 16:35:19 I think it's too early to recommend this. 16:35:31 anyway, I am against this. We should come up with some better way of generating changelog for packages, and for sure not having people to do this. 16:35:34 so -1 from me. 16:35:55 tibbs: yeah I don't think this is ready / a good idea yet 16:39:49 Ok, moving on 16:39:51 #topic #pr-#947 Deprecate Old Style Dependency Generators 16:39:55 https://pagure.io/packaging-committee/pull-request/947 16:41:10 sounds good to me 16:42:02 +1 16:42:09 I'm fine with the idea … but I don't want to just ban them and turn the old macros off 16:42:21 some kind of "here is how to migrate" kind of doc would be nice. 16:42:49 I don't remember when these were deprecated. 16:43:20 I'm +1 on this. this is old cruft 16:43:30 even if RPm doesn't deprecate them, we should 16:43:43 Because if EL6 still needs them then there might be pushback. 16:43:57 if there is pushback, we kill this in November 16:44:48 At the least, it means you have to check for those macros being wrapped in old-distro-specific %if blocks instead of just grepping. 16:45:36 But certainly it's old stuff that needs to go away. I'd just like to know if there is any live release where it might still be needed. 16:46:04 IIRC EPEL6 needs this 16:48:11 https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/thread/K3NLDLK4XVARTSROC6XVKNVW72BMMHYE/ 16:49:20 So I wonder what would die if we just stopped defining %filter_setup and friends. 16:49:25 mhroncok: I assume that's still basically the same? 16:49:40 tibbs: You mean in Fedora? 16:49:41 geppetto: I haven't checked, but I assume the same 16:51:38 redhat-rpm-config has a block of macros which reference an old draft guideline that, if you follow the link, gets you to the current guidelines which don't mention those macros at all. 16:52:11 "Generic auto req/prov filtering macros" 16:53:39 * geppetto nods 16:53:53 mhroncok: Any chance you could run the thing in that email on current Fedora? 16:54:29 geppetto: for the old macros? 16:55:01 I assume that was just for python stuff, and the true problem is worse. 16:55:07 mhroncok: yeh 16:55:11 tibbs: yes. 16:55:18 73 packages have %filter_setup 16:55:22 not sure if conditionalized thou 16:55:42 But if we jut nil out %filter_setup, I wonder what actually breaks. 16:55:45 sorry, just 69 16:55:52 the other 4 was %% in changelog 16:57:03 we could... 16:57:31 change %filter_ macros to call the new macros 16:57:39 and %filetr_setup to do nothing 16:58:35 or wqe could just procide a way to convert it and ban it, but let it be until epel6 dies 16:58:52 I would prefer to just replace them with error 16:59:00 or that 16:59:01 heh 16:59:15 also, guidelines apply only to Fedora and EPEL can have their own thing 16:59:16 ignatenkobrain: replace them with a lua script that prints "Igor removed this" 16:59:18 we culd ban them now and replace them with error after epel6 dies 16:59:53 The problem is that if you call %filter_setup at all, you turn off the dependency generator completely. 16:59:58 decathorpe: please contact /dev/null if you want to use this macro :) 17:00:05 exactly 17:00:45 There is a lot of potential for weird silent breakage, though. 17:01:22 well, either way, maintainers will have to deal with those macros 17:01:30 So this is probably better done by making use of the macro an error and having everything coordinated via a change process. 17:01:44 Eh, I guess the same place I started ... I'm fine on voting for something that has a migration plan, but just turning it off seems like a bad idea. 17:01:44 I agree 17:01:56 yup, tibbs++ 17:02:06 BTW why do we actually generate provides for .so files in nonstandard paths? 17:02:15 We don't these days, do we? 17:02:19 most of the usage of thos macros could just die if we don't 17:02:22 we don't 17:02:28 tibbs: we still do, but it has to eb called lib 17:02:45 /usr/lib64/python3.8/site-packages/foo.so -> no provide 17:02:45 I thought even that got fixed for scls? 17:02:51 /usr/lib64/python3.8/site-packages/libboo.so -> provide 17:02:55 Of course the problem is that "nonstandard path" is subject to change by anything you might put in /etc/ld.so.conf.d, so.... 17:03:01 Hmm, maybe scls turn it off? 17:03:15 maybe it needs to start with /usr/lib(64)? 17:03:29 tibbs: but does that justify automatic provides? 17:03:32 I definitely needed to do this for wingpanel plugins: https://src.fedoraproject.org/rpms/wingpanel-indicator-datetime/blob/master/f/wingpanel-indicator-datetime.spec#_1 17:03:39 those are named libPLUGIN_NAME.sp 17:03:57 mhroncok: I don't think so, but I suspect this is behavior that can't really be changed now. 17:04:19 tibbs: well. ok :D 17:04:33 So many of these specfiles are just so old. 17:04:50 I will persuit a way to exlude python dirs at least by default, so pyrthon packages can get rid of this for good 17:05:18 mhroncok++ 17:05:18 geppetto: Karma for churchyard changed to 7 (for the current release cycle): https://badges.fedoraproject.org/tags/cookie/any 17:05:30 proposal: 17:05:44 we turn the %filter macros to error to avoid silent failures, we ban them 17:05:46 #action mhroncok to look at how python can get fixed for automatic lib provides 17:05:51 this is coordianted via a fedora change process 17:06:05 proposal ++ 17:06:15 +1 to that. 17:06:33 decathorpe: want to drive this together with me? 17:06:40 As long as someone is going to help people with the fallout who are like "wtf do I do now", I'm +1 17:06:59 mhroncok: more work, yey 17:07:00 libxsmm uses filter_setup to remove dependencies generated by documentation. 17:07:05 I wonder how common that is. 17:07:09 :D 17:07:15 tibbs: shebang depndencies? 17:07:31 shouldn't those not get generated anymore 17:07:32 %filter_from_requires /\/bin\/.*sh$/d 17:07:33 #action decathorpe will help mhroncok 17:07:58 These packages need to be built with and without %filter_setup defined to %nil, and their dependency lists compared. 17:08:43 I count 99 packages that contain %filter_setup. 17:09:16 mhroncok: doing some test builds in COPR should do? 17:09:17 And several packages seem to expect that %filter_setup just won't be defined in newer releases. 17:10:19 tibbs: %{?filter_setup} 17:10:23 Ok, I count 99 17:10:25 93 17:11:01 97, omg, doesn'T matter ~100 17:11:06 There seems to be a block of code copied around that has "RPM 4.8 style" and "RPM 4.9 style" blocks, with the assumption that you tell which is which by whether %filter_setup is defined. 17:11:18 :D 17:11:42 tibbs: take torch with you when you decend into those depths, please 17:13:21 Anyway, it should be relatively obvious why this is bad (disabling the dependency generator should be enough) and it's only a hundred packages so fixing it should be doable with a bit of effort. 17:14:06 Ok 17:14:27 #action tibbs agrees to fix everything else :) 17:15:25 I kind of assume we are at +5 though 17:15:53 I think so 17:16:46 Making sure it's not needed for python should cut the numbers down a bit. A number of Perl things use it too, and apache modules. 17:16:56 Yeh 17:17:10 %filter_requires_in %{_docdir} 17:17:14 I see that a bit as well. 17:17:20 #action turn the %filter macros to error to avoid silent failures, we ban them (+1:5, 0:0, -1:0) 17:17:40 Seems smarter just to not install executable documentation at all. 17:18:00 yeh, like chmod -x -r docs 17:18:08 wasn't there already a change to the macros to not generate dependencies for things in docdir? 17:18:23 (seems to remember something from last year) 17:18:47 * mhroncok has to go now, sorry 17:19:12 I don't see anything like that, except that the perl macros add %_docdir to __*exclude_from. 17:19:23 mhroncok: yeh, we are almost 20 minutes over 17:19:28 decathorpe: rpm already does not do so IIRC, but I might be wrong 17:19:33 huh ... I must misremember 17:19:52 But only if you call %perl_default_filter, of course. 17:20:07 * ignatenkobrain sent a long message: < https://matrix.org/_matrix/media/r0/download/matrix.org/ltzcnrjuoLnVHeTEdFjhiwkW > 17:20:09 ANyway, I'm just rambling. I think we've done enough. 17:20:26 been there since rpm-4.14.0-rc1 17:20:30 * geppetto nods … ok, I'm going to close 17:20:36 oh so I do remember correctly 17:20:42 thanks geppetto! 17:21:19 Thanks everyone … got a bunch done this week. Keep staying safe etc. 17:21:28 #endmeeting