13:05:43 #startmeeting rpm_packaging 13:05:44 Meeting started Thu Mar 3 13:05:43 2016 UTC and is due to finish in 60 minutes. The chair is dirk. Information about MeetBot at http://wiki.debian.org/MeetBot. 13:05:45 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 13:05:48 The meeting name has been set to 'rpm_packaging' 13:06:40 toabctl, dirk, aplanas, IgorYozhikov, jruzicka : ping 13:06:49 hi 13:07:13 hi 13:07:28 please review / check the agenda on 13:07:35 https://etherpad.openstack.org/p/openstack-rpm-packaging 13:07:42 hi everyone btw :) 13:07:58 dirk, hello 13:09:21 can we start? 13:09:31 #topic automatic version updates from global-requirements and/or extra yaml file ? 13:10:24 I think that was an idea from you, dirk. 13:10:39 ah right 13:10:40 ok 13:10:48 given that we are way to slow with new specs and also in updating specs, wen need to improve automation 13:10:55 mivanov, is working on refactoring of similar tool 13:11:19 mivanov: can you describe the tool a bit? 13:11:27 it is comparing erquirements.txt and required from spec 13:12:02 yes, this tool compare requirements from python projects and rpm specs 13:12:38 and search diff between it 13:12:50 initially tool was designed as reporter to team about what was changed in upstream code against our downstream specs 13:13:11 #link https://github.com/openSUSE/obs-service-python_requires 13:13:14 does it add/remove requirements? and/or update versions ? 13:13:16 this is our version of the same tool :) 13:14:12 dirk: but even with that tool we would be to slow. imo the only thing we should do is to add Requires and BuildRequires to the correct package/subpackage. versions should be handled automatically. 13:14:35 toabctl: right 13:14:54 IgorYozhikov, mivanov: do you have a link to the current code? 13:14:54 no, my tool just search differences, but doesn't autoupdate spec 13:15:02 toabctl: imho this comes back to extending renderspec to read the requires/buildrequires per package from a yaml and we generate those yamls 13:15:25 dirk, let me check, not sure that our current repo is open 13:15:41 dirk: yes. and I would even go one step further and add the abbility to read from a global-requirements if no one for a specific package is given 13:16:25 so basically 1) read a yaml file next to the spec 2) read a global yaml file 13:17:04 repos are private, but we already working to make them public and moving code to dedicated name-space in our gerrit 13:17:23 IgorYozhikov, mivanov: what do you think about the idea to read required versions from yaml files? converting from requirements.txt to a yaml file would be really simple. 13:17:24 in a couple of days it will be accessible 13:18:09 toabctl, why yaml? it looks like additional thing between requitements.txt and spec 13:18:56 we could also extract the package's requirements*txt directly 13:19:25 dirk, toabctl - also we are working on reqspec - http://paste.openstack.org/show/489139/ 13:19:26 yeah. but we need to process the content (python versions, platforms, optionals,...) 13:19:50 it will be accessible soon too 13:20:29 I think the main point would be that py2pkg can read requirement files and add the versions. so there's no need to update the spec.j2 when a version changes. 13:21:26 yeah 13:21:29 toabctl, nice point - auto fill for versions 13:21:35 * dirk isn't sure how to conclude the topic 13:21:45 what is the next step? 13:22:02 anyway - further investigation required here aka brainstorm 13:22:52 my intention was todo some brainstorm now :) 13:23:00 but it takes to much time I guess 13:23:01 ok 13:23:13 my main issue is that I am a bit short on time now :) 13:23:24 agree 13:23:24 so my plan would be to extend py2pkg to read a extra file (I'm fine with requirements.txt) and autofill the versions. 13:23:27 can we revisit this topic next week o? 13:23:36 ok. next week is fine, too 13:23:40 toabctl: yes either py2pkg or renderspec 13:23:50 dirk: py2pkg is renderspec 13:24:06 ah, d'oh 13:24:06 cool, and we also could rework this during 7-9 of March :) 13:24:09 I mean the contextfunction called py2pkg. not the python module pymod2pkg :) 13:24:16 toabctl: yep 13:24:20 ok 13:24:40 patches accepted :) 13:25:18 #agreed revisit topic in Mitaka Bughunt sprint days 13:25:32 #topic howto handle changelogs ? 13:26:07 did I bring that topic up? I am personally aiming for a git log of the subdirectory , e.g. the git summary 13:26:16 I just wanted some ideas if the changelog is out of scope for rpm-packaging or if we plan todo somethign with it? 13:26:17 do we want to maintain a separate changelog? 13:26:35 toabctl: e.g. a ChangeLog kind of file besides the .spec.j2 ? 13:26:36 dirk: I added it but we talked shortly about it iirc 13:26:44 dirk: I don't know. 13:27:04 dirk, we are posting the last 10 log entries from git into package change log 13:27:30 but then we are missing the changes from the python module itself. 13:28:04 so when updating i.e. oslo.log we don't have the ChangeLog entries from oslo.log . just from rpm-packaging/openstack/oslo.log . that's imo bad 13:28:24 but this is done by our build machine, so it is automated 13:28:36 toabctl: hmm. good point 13:28:46 IgorYozhikov: so you would mergre both changes? 13:29:00 we basically have 2 changes - the spec file and the "upstream project" 13:29:03 IgorYozhikov: but only from git? or do you extract additional changelogs? 13:30:44 dirk, our build machine extract from git history entries and inset them into %Changelog in spec, changelogs from code non touched and packaged 13:31:17 I want to say - it is automated process. 13:33:02 ok, thanks for the explanation 13:33:29 so you're missing hte upstream changelog in the .changes file 13:33:32 So I do not see how can we handle | maintain SPEC Changelog records in manual way with data from code 13:33:44 which is a problem for SUSE. we are asked by policy to include upstream changelog 13:34:11 toabctl: I guess we need to find a way to do that, maybe by adding it to the git commit message and extracting it or by adding it as a changelog in the directory :/ 13:34:14 dirk, may be it will be better to merge records 13:34:58 spec -> obs ->code changelog >> SPEC changelog -> build 13:35:28 dirk: or with a source service. the tarball with the ChangeLog is anyway there 13:36:17 anyway - let's postpone it. we may find a SUSE solution for that. 13:36:25 agreed 13:36:35 #action dirk figure out solution for changelog extraction problem 13:36:47 topic beta tags handling in templates aka Version: 12.0.0 vs tag 12.0.0.0b2 13:36:49 #topic beta tags handling in templates aka Version: 12.0.0 vs tag 12.0.0.0b2 13:37:05 hehe. I see toabctl you tried to use the spec files :) 13:37:07 yes, my one 13:37:22 ah, IgorYozhikov 13:37:24 dirk: ? 13:37:37 IgorYozhikov: so basically we need a translation for python to rpm package version 13:37:44 IgorYozhikov: are you good with using '~' ? 13:37:53 here I want to clarify 13:37:56 ~ works since rpm 4.10 13:37:59 we're automatically translating the .b2 version to ~b2 13:38:06 yes - that is exactly what we are already using 13:38:07 which means "smaller than .0" 13:38:21 ok, so we need to implement that 13:38:22 12.0.0.0b2 -> 12.0.0~b2 13:38:26 in renderspec 13:38:34 dirk, ^^ 13:38:59 it is similar to the epoch problem anyway. we need to set the epoch of the package from the epoch definiton of the distro 13:40:34 dirk, so using 12.0.0~b2 is ok for you? 13:40:56 IgorYozhikov: yes. we are using it 13:41:17 toabctl, https://github.com/openstack/fuel-mirror/blob/master/perestroika/convert_version.py 13:41:21 we are too 13:41:36 ok, so we're in agreement 13:42:05 so, am I right that we could use this approach in templates? 13:42:54 IgorYozhikov: I need to check. there's no testsuite for it :) 13:43:12 toabctl, thanks 13:44:45 btw. there was also a short discussion about the topic on the openstack-dev list. there is a "python setup.py rpm_version" (which produces bad output) 13:44:59 lol 13:45:01 anyway - so using "~" seems to be fine for everybody. 13:45:15 YeY 13:45:18 yeah, so we need to implement a filter in renderspec and leave the implementation there? 13:45:26 not really wrong but for 2.0.0dev3 something like 1.999999999999999dev3 or so :-) 13:45:44 #agreed converting rpm package versions using the '~' approach 13:46:10 IgorYozhikov: toabctl : can you two figure out which implementation of set_version to use? and send a PR ? 13:46:17 changerequest to renderspec? 13:46:31 #topic SysV init, upstart & systemd units - where to store(non code parts but required stuff)? 13:46:52 IgorYozhikov: btw. are your .spec files you produce somewhere public available? 13:47:28 toabctl, will check and update you later 13:47:43 thx 13:48:17 OK, this one topic is mine too 13:48:47 very soon we will meet so called "server packages" 13:49:00 OpenStack services/daemons 13:49:04 "very soon" is very optimistic:-) 13:49:17 it depends a bit on the reviews topic.. :) 13:49:50 sorry for interrupting - go ahead igor .. 13:49:51 anyway, we need to get understanding - what & how 13:50:21 well, we need to have systemd files for SLES at least 13:50:29 storing near j2 in corresponding folders? 13:50:36 are you asking whether we should standardize on only one service ? 13:50:47 or do you ask whether we need to have a vendor subdir to store specific files in there? 13:50:52 preferable theses files are included in the projects itself I think 13:50:53 I'm ok with systemd units, but where to store? 13:51:06 same git dir, just besides the spec.j2 ? 13:51:56 ok. looks like that only one (networking-cisco) has upstream service files 13:52:02 dirk, does SUSE sysd units differ from centos? 13:52:08 +1 for same git dir beside the spec.j2 13:52:23 IgorYozhikov: I'm pretty sure, yes 13:52:23 IgorYozhikov: probably yes in small details 13:52:28 I haven't looked at them in detail 13:52:55 IgorYozhikov: given that you want to start using the packages in newton - do you still need sysv init scripts? or is systemd enough? 13:52:57 ok - so + additional changes 13:52:59 I am more focused on getting to the goal of python-openstackclient 13:53:06 even ubuntu 16.04 will be using systemd 13:53:14 reached. service packages are not yet in my goal 13:53:21 Source1: {{'something.unit' | systemd }} 13:53:29 dirk: yeah. I agree. 13:54:13 where filter will just translate spec-style into folder 13:54:55 example: openstack/nova/nova.spec.j2, openstack/nova/suse/unit.N , openstack/nova/fedora/unit.N 13:55:01 IgorYozhikov: could be done, yes 13:55:02 toabctl, dirk ^^^^ 13:55:06 I like the idea 13:55:20 although I would call it | flavorprefix 13:55:22 or something like that 13:55:28 to make it reusable for others 13:55:39 ah. yeah. sounds good 13:55:41 we also need to have a {{ if flavor == }} at some point 13:56:10 IgorYozhikov: want to send a patch and we move the discussion there? 13:56:21 * dirk is running out of time :( 13:56:23 will try 13:56:30 mine AI 13:56:53 lets proceed with topics 13:57:03 dirk, add please AI 4 me 13:57:33 #action IgorYozhikov send CR for flavor-specific subdirectory handling in renderspec 13:57:43 #topic reviews :-) 13:57:48 , openstack/nova/suse/unit.N 13:57:55 ok. would be cool to get this merged: https://review.openstack.org/#/c/273528/13 13:57:56 sorry :) 13:57:57 since we have a hard stop in 3 minutes, agree to handle that in #openstack-rpm-packaging? 13:58:08 https://review.openstack.org/#/c/270427/ 13:58:08 test passed - the build job had just a timeout afacs 13:58:43 and a easy one would be renderspec docs: https://review.openstack.org/#/c/287022/ 13:58:43 I need to leave, please continue without me 13:58:54 in #openstack-rpm-packaging 13:58:56 #endmeeting