Thursday, 2016-08-18

*** tbarron is now known as tbarron|afk02:00
*** eandersson_ has joined #openstack-rpm-packaging02:40
*** coolsvap has joined #openstack-rpm-packaging02:45
*** eandersson_ has quit IRC02:47
*** coolsvap is now known as _coolsvap_03:21
*** eandersson_ has joined #openstack-rpm-packaging05:24
openstackgerritOpenStack Proposal Bot proposed openstack/renderspec: Updated from global requirements  https://review.openstack.org/35694205:57
*** eandersson_ has quit IRC06:07
*** pcaruana has joined #openstack-rpm-packaging06:52
*** ihrachys has joined #openstack-rpm-packaging08:08
*** eandersson_ has joined #openstack-rpm-packaging08:26
*** ihrachys has quit IRC08:36
*** _coolsvap_ is now known as coolsvap09:06
*** ihrachys has joined #openstack-rpm-packaging09:10
*** ihrachys has quit IRC09:24
*** ihrachys has joined #openstack-rpm-packaging09:56
*** ihrachys has quit IRC10:07
IgorYozhikovnumber80, I updated etherpad about py3 - https://etherpad.openstack.org/p/openstack-rpm-packaging-python3-renderspec10:35
IgorYozhikovmight be you take a look before meeting10:35
IgorYozhikovdirk, number80 - please keep in mind - https://review.openstack.org/#/c/355837/10:41
IgorYozhikovotherwise - http://paste.openstack.org/show/DbxKgXnPbqgZjJx7fxqG/10:41
*** coolsvap is now known as _coolsvap_10:55
*** jpena is now known as jpena|lunch12:00
*** amoralej is now known as amoralej|lunch12:08
*** ihrachys has joined #openstack-rpm-packaging12:20
openstackgerritMerged openstack/renderspec: Updated from global requirements  https://review.openstack.org/35694212:31
*** pradk has joined #openstack-rpm-packaging12:31
*** ihrachys has quit IRC12:31
*** ihrachys has joined #openstack-rpm-packaging12:32
number80IgorYozhikov: well, I don't think we need specific macros12:40
number80most of python3 packaging is repetitive12:40
number80you can regenerate py3 subpackage from py2 infos12:41
*** jpena|lunch is now known as jpena12:55
*** ihrachys has quit IRC12:59
IgorYozhikovare we going to have a meeting today?13:01
*** ihrachys has joined #openstack-rpm-packaging13:02
toabctlIgorYozhikov, I just started it13:02
toabctlnot sure. dirk is on vac13:02
*** amoralej|lunch is now known as amoralej13:08
openstackgerritHaïkel Guémar proposed openstack/rpm-packaging: Update oslo.messaging to 5.6.0  https://review.openstack.org/35042913:12
*** ihrachys has quit IRC13:13
openstackgerritThomas Bechtold proposed openstack/rpm-packaging: Update osc-lib to version 1.0.2  https://review.openstack.org/35533513:14
*** ihrachys has joined #openstack-rpm-packaging13:16
*** ihrachys has quit IRC13:18
openstackgerritHaïkel Guémar proposed openstack/rpm-packaging: Add initial spec for python-aodhclient  https://review.openstack.org/34231413:28
openstackgerritHaïkel Guémar proposed openstack/rpm-packaging: Add initial spec for taskflow  https://review.openstack.org/33945813:38
*** _coolsvap_ is now known as coolsvap13:42
openstackgerritJakub Ruzicka proposed openstack/renderspec: Support distro specific child templates  https://review.openstack.org/34744713:45
jruzickatoabctl, fixed typos ^13:45
toabctljruzicka, good question how to continue. given the amount of packages we need to handle imo we need to automate a lot more than what we currently have13:45
jruzickatoabctl, such as?13:46
toabctljruzicka, i.e. I would like to automate the whole Requires section.13:46
toabctljruzicka, I've written a requirements extractor recently for py2pack. See https://github.com/openSUSE/py2pack/blob/master/py2pack/get_metadata.py13:46
*** ihrachys has joined #openstack-rpm-packaging13:47
toabctlyou can use it with every setup.py (or since py2pack 0.6.4 also directly with a tarball).13:47
toabctlwith that combined with the global-requirements.txt we would just need a single line like {{ create_requires }} or something like that13:48
jruzickayeah but then there are also dist specific requires13:48
jruzicka(which I hoped would be solved throught dist-templates)13:48
jruzickabut {{ create_requires }} can take care of that too13:48
toabctljruzicka, yes. I guess we would need some sort of dist specific config file. which could contain i.e. white/blacklists of pkg names13:48
jruzickahowever, howto split requires between subpackages?13:48
toabctljruzicka, good question. I guess this approach would end up in a extra renderspec.conf file per repo (or per spec.j2) which handles such things13:49
toabctlmaybe with a global conf which would cover 95% of openstack packages I guess (like oslosphinx is always a Requires for the doc package)13:50
jruzickagetting complicated ;)13:50
*** ihrachys has quit IRC13:50
toabctljruzicka, a bit like rpm2gem in the ruby world13:50
toabctljruzicka, yes. It's not easy but with our current manpower we'll never get the openstack service packaged and updated I think13:51
jruzickaoh yes, in the end it's about creating a map from real world to a consistent one :)13:51
toabctl:)13:51
toabctljruzicka, also the current approach is error prone. when updating a spec we already forgot a couple of times to add new requires13:52
jruzickaI'd suggest shamelessly stealing RDO .specs... :)13:52
jruzickabut maybe we can try more automation with rdo-packaging13:52
toabctlhehe13:52
*** ihrachys has joined #openstack-rpm-packaging13:53
toabctljruzicka, but even if we would steal the rdo packages somebody needs to update these. in the end it's stupid work done for every release13:53
jruzickatoabctl, I like the way you think :)13:54
jruzickano work generated ever again once done13:54
jruzicka:D13:54
jruzickafair enough. We went from manual to automated in RDO13:55
jruzickaso maybe we should go from the other direction here just to see if that works :)13:55
jruzickaAs in attempt to aumoate everything and add manual config only when explicitly needed13:55
toabctljruzicka, yeah. that would be even better. sure.13:56
toabctljruzicka, here is a gem2rpm example: https://build.opensuse.org/package/view_file/devel:languages:ruby:extensions/rubygem-rest-client/gem2rpm.yml?expand=113:57
toabctlit's completly commented out but generates https://build.opensuse.org/package/view_file/devel:languages:ruby:extensions/rubygem-rest-client/rubygem-rest-client.spec?expand=113:58
jruzickayup, that's one way14:03
jruzickaI was thinking some time ago if this is solvable in universal way14:03
jruzickalike upstream projects (or a packaging project) would contain one file with packaging metadata14:04
jruzickawhich could be transformed into RPM/deb whatnot14:04
jruzickalike a single metadata file that would fit all the distros... I affraid that's not possible14:04
jruzickatoabctl, then there's https://github.com/fedora-python/pyp2rpm14:07
jruzickawhich I haven't tested but it might contain some parts we could reuse14:07
jruzickatoabctl, fixed typos in https://github.com/fedora-python/pyp2rpm14:08
jruzickacan has merge? :)14:08
jruzickadaaaamn you clipboard14:08
jruzickahttps://review.openstack.org/#/c/347447/14:08
*** ihrachys has quit IRC14:11
*** ihrachys has joined #openstack-rpm-packaging14:14
*** ihrachys has quit IRC14:16
*** ihrachys has joined #openstack-rpm-packaging14:18
toabctl:)14:32
jruzickaso next question is undeniably the requirements14:37
jruzickaminimal change would be to add postprocessing14:38
jruzickathat is sort all groups of requires after rendering the .spec.j2 template14:38
jruzickabut they would be still managed manually14:38
jruzickaI guess adding {{ requires }} macro and then sorting would allow mixed approach14:39
jruzickain such case, how would requires macro gather the information required? it could download tarball and inspect package14:40
toabctljruzicka, and who's filling the requires variable?14:40
toabctlyeah :)14:40
jruzickayup that :)14:40
toabctlimo downloading the tarball and get the data from that would be fine14:40
jruzicka¯\_(ツ)_/¯14:40
toabctlmy current workflow when updating a package is:14:40
jruzickaoh yeah tell me14:40
toabctl$ py2pack fetch oslo.config14:40
jruzickaI try to stay away from the front line :D14:40
toabctl$ py2pack metadata oslo.config-3.15.0.tar.gz14:40
toabctland then manually compare what we have in the spec.j2 and the point of "py2pack metadata"14:41
jruzickaaha so you already do it like that14:41
jruzickadownload the tarball, extract requires... that requires expanding Source macros14:42
jruzickaor using spectool14:42
jruzickaalternatively, we could do the same with git14:43
toabctlyep. but then you need the git repo14:44
jruzickabut the tarball is what will be in the package so that sounds better14:44
toabctlyes14:44
jruzickanot to mention the information is already in the .spec as opposed to upstream repo14:44
jruzickaJust adding Git: variable to spec would solve so many troubles... anyway14:44
toabctl:)14:45
toabctlbut not everything is n git maybe14:45
jruzickano, tarball is a clear winner14:45
jruzickajust thinking aloud14:45
toabctlso imo the next step would be to teach renderspec how to get the requirements from a tarball14:45
jruzickahmm I guess pbr could do that14:46
toabctland when creating a spec from a spec.j2 you have to give a tarballname (or that can be auto-calculated) in addition to the spec.j2 name14:46
toabctljruzicka, not all projects use pbr :)14:46
jruzickaa reason not to use pbr - great!14:47
jruzicka:-p14:47
toabctljruzicka, but again look at https://github.com/openSUSE/py2pack/blob/master/py2pack/get_metadata.py14:47
toabctlit's 60 lines (with license header) todo all that14:47
*** ihrachys has quit IRC14:47
jruzickano, the tarball loc definitely from Source: from .spec14:47
jruzickano arguments, it's already there14:47
toabctlok. fine for me14:47
jruzickaplus it enforces correct value in .spec14:47
jruzickawin-win14:47
jruzickaproblem is that needs librpm14:48
toabctljruzicka, but for testing the function you may want to use any tarball and just output the {{ requires }}.14:48
jruzickapython-rpm which isn't on pypu14:48
jruzicka*pypi14:48
toabctl?14:48
toabctlwhat needs python-rpm ?14:48
jruzickaSource can contain rpm macros14:48
jruzicka%name14:48
jruzickaNeed to expand Source: http://what.not/%name-%version.blah14:49
toabctlah. ok. you are talking about the name. but I think that's a minor problem. in our case we could even calculate the name from the spec.j2 template and search the current directory for something starting with the pypi name and endping with tar.gz14:49
toabctland then use the highest version if we found multiple14:49
jruzickabut why when the exact string is already required in the .spec? :) Just saying librpm is required for that which shouldn't be a problem on RPM based platforms ;)14:50
jruzickardopkg python-rpm too14:50
jruzickato expand macros and edit .specs14:50
toabctlyes. that's fine for me14:50
toabctlbut in the end currently I would prefer a complete .spec generator that doesn't need to edit anything. just creates a new one every time14:51
jruzickathat's not easy14:51
jruzickaat all14:51
toabctlyeah14:51
jruzickasubpackages14:51
jruzickadifferent stuffs14:51
toabctlyeah.14:52
jruzickathat would need to maintain templates14:52
jruzickabut yeah, that's a worthy goal14:52
toabctlwell - it's anyway not the next step. but getting {{ requires }} automated is at least a step in that (or any other) direction14:52
jruzickathat's a next() thing to do14:53
toabctlso what do you think about the approach from py2pack to get the metadata?14:53
toabctlor do you have any other/better solution in mind ?14:53
jruzickait's nice, let's try it first14:54
toabctlbtw. here you can see the output: https://toabctl.wordpress.com/2016/07/03/improved-python-packaging-for-opensuse/14:54
jruzickaif it doesn't work or anything we just replace the part that gather requires. The rest is needed too ;)14:54
toabctlyep14:54
jruzickaso I'll work on that next14:55
jruzickaso few technical details14:56
jruzickawhat lib to use to download the tarball? (renderspec requirement)14:56
jruzickaor command14:56
toabctlhm. I would use requests14:57
jruzickayes, I use that in rdopkg :)14:57
toabctlor just urllib14:57
jruzickarequests if you don't think it's too big requirement14:58
jruzickabut this is openstack so I don't know why I'm worrying about another requirement :-p14:58
toabctlhehe14:58
toabctlwell - to download a file https://docs.python.org/2/library/urllib.html#urllib.urlretrieve is enough I think14:59
toabctlor the six equivalent to make it py2/py3 aware14:59
jruzickaI (don't) remember a reason not to use it...15:00
*** tbarron|afk is now known as tbarron15:00
jruzickayay, +215:09
jruzickahey, number80, wanna... FINISH HIM? https://review.openstack.org/#/c/34744715:09
jruzickatoabctl, so howto distribute the requires between subpackages?15:10
jruzickamanually for now I guess?15:10
toabctljruzicka, I guess manually, yes15:14
toabctlthere's the question if we have {{ requires_1 }} and {{ requires_2 }} or a renderspec.yaml config to know where to add wha15:15
toabctlt15:15
toabctljruzicka, another meeting now.15:15
jruzickaoh yes, add conf later to do that... clear enough.15:15
*** coolsvap is now known as _coolsvap_15:16
number80jruzicka: Mortal Kombat was one of my favorite game on Mega Drive ...15:17
*** ihrachys has joined #openstack-rpm-packaging15:21
jruzickanumber80, I'm quite ashamed I forgot howto do Lue Kang dragon Fatality15:22
jruzicka*Liu Kang15:22
*** ihrachys has quit IRC15:22
jruzickaall the others too, actually :D15:22
jruzickaerhm15:23
number80jruzicka: muscle memory, just gimme a gamepad :)15:26
number80https://wiki.gnome.org/Apps/Games15:27
* number80 bribed some gnome devs to work on that15:27
jruzickaheh,15:28
jruzickagaming on linux - hardcore15:28
openstackgerritJavier Peña proposed openstack/rpm-packaging: Add initial spec for python-heatclient  https://review.openstack.org/35731015:34
openstackgerritMerged openstack/renderspec: Support distro specific child templates  https://review.openstack.org/34744715:35
*** ihrachys has joined #openstack-rpm-packaging16:16
openstackgerritJavier Peña proposed openstack/rpm-packaging: Add initial spec for python-manilaclient  https://review.openstack.org/35733616:17
*** ihrachys has quit IRC16:36
openstackgerritJavier Peña proposed openstack/rpm-packaging: Add initial spec for python-heatclient  https://review.openstack.org/35731016:36
*** ihrachys has joined #openstack-rpm-packaging16:38
*** ihrachys has quit IRC16:41
*** ihrachys has joined #openstack-rpm-packaging16:44
*** eandersson_ has quit IRC16:54
*** ihrachys has quit IRC16:58
openstackgerritJavier Peña proposed openstack/rpm-packaging: Add initial spec for python-tripleoclient  https://review.openstack.org/35736117:11
*** _coolsvap_ has quit IRC20:21
*** pradk has quit IRC21:45
*** tbarron is now known as tbarron|afk22:02

Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!