*** tbarron is now known as tbarron|afk | 02:00 | |
*** eandersson_ has joined #openstack-rpm-packaging | 02:40 | |
*** coolsvap has joined #openstack-rpm-packaging | 02:45 | |
*** eandersson_ has quit IRC | 02:47 | |
*** coolsvap is now known as _coolsvap_ | 03:21 | |
*** eandersson_ has joined #openstack-rpm-packaging | 05:24 | |
openstackgerrit | OpenStack Proposal Bot proposed openstack/renderspec: Updated from global requirements https://review.openstack.org/356942 | 05:57 |
---|---|---|
*** eandersson_ has quit IRC | 06:07 | |
*** pcaruana has joined #openstack-rpm-packaging | 06:52 | |
*** ihrachys has joined #openstack-rpm-packaging | 08:08 | |
*** eandersson_ has joined #openstack-rpm-packaging | 08:26 | |
*** ihrachys has quit IRC | 08:36 | |
*** _coolsvap_ is now known as coolsvap | 09:06 | |
*** ihrachys has joined #openstack-rpm-packaging | 09:10 | |
*** ihrachys has quit IRC | 09:24 | |
*** ihrachys has joined #openstack-rpm-packaging | 09:56 | |
*** ihrachys has quit IRC | 10:07 | |
IgorYozhikov | number80, I updated etherpad about py3 - https://etherpad.openstack.org/p/openstack-rpm-packaging-python3-renderspec | 10:35 |
IgorYozhikov | might be you take a look before meeting | 10:35 |
IgorYozhikov | dirk, number80 - please keep in mind - https://review.openstack.org/#/c/355837/ | 10:41 |
IgorYozhikov | otherwise - http://paste.openstack.org/show/DbxKgXnPbqgZjJx7fxqG/ | 10:41 |
*** coolsvap is now known as _coolsvap_ | 10:55 | |
*** jpena is now known as jpena|lunch | 12:00 | |
*** amoralej is now known as amoralej|lunch | 12:08 | |
*** ihrachys has joined #openstack-rpm-packaging | 12:20 | |
openstackgerrit | Merged openstack/renderspec: Updated from global requirements https://review.openstack.org/356942 | 12:31 |
*** pradk has joined #openstack-rpm-packaging | 12:31 | |
*** ihrachys has quit IRC | 12:31 | |
*** ihrachys has joined #openstack-rpm-packaging | 12:32 | |
number80 | IgorYozhikov: well, I don't think we need specific macros | 12:40 |
number80 | most of python3 packaging is repetitive | 12:40 |
number80 | you can regenerate py3 subpackage from py2 infos | 12:41 |
*** jpena|lunch is now known as jpena | 12:55 | |
*** ihrachys has quit IRC | 12:59 | |
IgorYozhikov | are we going to have a meeting today? | 13:01 |
*** ihrachys has joined #openstack-rpm-packaging | 13:02 | |
toabctl | IgorYozhikov, I just started it | 13:02 |
toabctl | not sure. dirk is on vac | 13:02 |
*** amoralej|lunch is now known as amoralej | 13:08 | |
openstackgerrit | Haïkel Guémar proposed openstack/rpm-packaging: Update oslo.messaging to 5.6.0 https://review.openstack.org/350429 | 13:12 |
*** ihrachys has quit IRC | 13:13 | |
openstackgerrit | Thomas Bechtold proposed openstack/rpm-packaging: Update osc-lib to version 1.0.2 https://review.openstack.org/355335 | 13:14 |
*** ihrachys has joined #openstack-rpm-packaging | 13:16 | |
*** ihrachys has quit IRC | 13:18 | |
openstackgerrit | Haïkel Guémar proposed openstack/rpm-packaging: Add initial spec for python-aodhclient https://review.openstack.org/342314 | 13:28 |
openstackgerrit | Haïkel Guémar proposed openstack/rpm-packaging: Add initial spec for taskflow https://review.openstack.org/339458 | 13:38 |
*** _coolsvap_ is now known as coolsvap | 13:42 | |
openstackgerrit | Jakub Ruzicka proposed openstack/renderspec: Support distro specific child templates https://review.openstack.org/347447 | 13:45 |
jruzicka | toabctl, fixed typos ^ | 13:45 |
toabctl | jruzicka, 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 have | 13:45 |
jruzicka | toabctl, such as? | 13:46 |
toabctl | jruzicka, i.e. I would like to automate the whole Requires section. | 13:46 |
toabctl | jruzicka, I've written a requirements extractor recently for py2pack. See https://github.com/openSUSE/py2pack/blob/master/py2pack/get_metadata.py | 13:46 |
*** ihrachys has joined #openstack-rpm-packaging | 13:47 | |
toabctl | you can use it with every setup.py (or since py2pack 0.6.4 also directly with a tarball). | 13:47 |
toabctl | with that combined with the global-requirements.txt we would just need a single line like {{ create_requires }} or something like that | 13:48 |
jruzicka | yeah but then there are also dist specific requires | 13:48 |
jruzicka | (which I hoped would be solved throught dist-templates) | 13:48 |
jruzicka | but {{ create_requires }} can take care of that too | 13:48 |
toabctl | jruzicka, yes. I guess we would need some sort of dist specific config file. which could contain i.e. white/blacklists of pkg names | 13:48 |
jruzicka | however, howto split requires between subpackages? | 13:48 |
toabctl | jruzicka, good question. I guess this approach would end up in a extra renderspec.conf file per repo (or per spec.j2) which handles such things | 13:49 |
toabctl | maybe 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 |
jruzicka | getting complicated ;) | 13:50 |
*** ihrachys has quit IRC | 13:50 | |
toabctl | jruzicka, a bit like rpm2gem in the ruby world | 13:50 |
toabctl | jruzicka, yes. It's not easy but with our current manpower we'll never get the openstack service packaged and updated I think | 13:51 |
jruzicka | oh yes, in the end it's about creating a map from real world to a consistent one :) | 13:51 |
toabctl | :) | 13:51 |
toabctl | jruzicka, also the current approach is error prone. when updating a spec we already forgot a couple of times to add new requires | 13:52 |
jruzicka | I'd suggest shamelessly stealing RDO .specs... :) | 13:52 |
jruzicka | but maybe we can try more automation with rdo-packaging | 13:52 |
toabctl | hehe | 13:52 |
*** ihrachys has joined #openstack-rpm-packaging | 13:53 | |
toabctl | jruzicka, but even if we would steal the rdo packages somebody needs to update these. in the end it's stupid work done for every release | 13:53 |
jruzicka | toabctl, I like the way you think :) | 13:54 |
jruzicka | no work generated ever again once done | 13:54 |
jruzicka | :D | 13:54 |
jruzicka | fair enough. We went from manual to automated in RDO | 13:55 |
jruzicka | so maybe we should go from the other direction here just to see if that works :) | 13:55 |
jruzicka | As in attempt to aumoate everything and add manual config only when explicitly needed | 13:55 |
toabctl | jruzicka, yeah. that would be even better. sure. | 13:56 |
toabctl | jruzicka, here is a gem2rpm example: https://build.opensuse.org/package/view_file/devel:languages:ruby:extensions/rubygem-rest-client/gem2rpm.yml?expand=1 | 13:57 |
toabctl | it'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=1 | 13:58 |
jruzicka | yup, that's one way | 14:03 |
jruzicka | I was thinking some time ago if this is solvable in universal way | 14:03 |
jruzicka | like upstream projects (or a packaging project) would contain one file with packaging metadata | 14:04 |
jruzicka | which could be transformed into RPM/deb whatnot | 14:04 |
jruzicka | like a single metadata file that would fit all the distros... I affraid that's not possible | 14:04 |
jruzicka | toabctl, then there's https://github.com/fedora-python/pyp2rpm | 14:07 |
jruzicka | which I haven't tested but it might contain some parts we could reuse | 14:07 |
jruzicka | toabctl, fixed typos in https://github.com/fedora-python/pyp2rpm | 14:08 |
jruzicka | can has merge? :) | 14:08 |
jruzicka | daaaamn you clipboard | 14:08 |
jruzicka | https://review.openstack.org/#/c/347447/ | 14:08 |
*** ihrachys has quit IRC | 14:11 | |
*** ihrachys has joined #openstack-rpm-packaging | 14:14 | |
*** ihrachys has quit IRC | 14:16 | |
*** ihrachys has joined #openstack-rpm-packaging | 14:18 | |
toabctl | :) | 14:32 |
jruzicka | so next question is undeniably the requirements | 14:37 |
jruzicka | minimal change would be to add postprocessing | 14:38 |
jruzicka | that is sort all groups of requires after rendering the .spec.j2 template | 14:38 |
jruzicka | but they would be still managed manually | 14:38 |
jruzicka | I guess adding {{ requires }} macro and then sorting would allow mixed approach | 14:39 |
jruzicka | in such case, how would requires macro gather the information required? it could download tarball and inspect package | 14:40 |
toabctl | jruzicka, and who's filling the requires variable? | 14:40 |
toabctl | yeah :) | 14:40 |
jruzicka | yup that :) | 14:40 |
toabctl | imo downloading the tarball and get the data from that would be fine | 14:40 |
jruzicka | ¯\_(ツ)_/¯ | 14:40 |
toabctl | my current workflow when updating a package is: | 14:40 |
jruzicka | oh yeah tell me | 14:40 |
toabctl | $ py2pack fetch oslo.config | 14:40 |
jruzicka | I try to stay away from the front line :D | 14:40 |
toabctl | $ py2pack metadata oslo.config-3.15.0.tar.gz | 14:40 |
toabctl | and then manually compare what we have in the spec.j2 and the point of "py2pack metadata" | 14:41 |
jruzicka | aha so you already do it like that | 14:41 |
jruzicka | download the tarball, extract requires... that requires expanding Source macros | 14:42 |
jruzicka | or using spectool | 14:42 |
jruzicka | alternatively, we could do the same with git | 14:43 |
toabctl | yep. but then you need the git repo | 14:44 |
jruzicka | but the tarball is what will be in the package so that sounds better | 14:44 |
toabctl | yes | 14:44 |
jruzicka | not to mention the information is already in the .spec as opposed to upstream repo | 14:44 |
jruzicka | Just adding Git: variable to spec would solve so many troubles... anyway | 14:44 |
toabctl | :) | 14:45 |
toabctl | but not everything is n git maybe | 14:45 |
jruzicka | no, tarball is a clear winner | 14:45 |
jruzicka | just thinking aloud | 14:45 |
toabctl | so imo the next step would be to teach renderspec how to get the requirements from a tarball | 14:45 |
jruzicka | hmm I guess pbr could do that | 14:46 |
toabctl | and 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 name | 14:46 |
toabctl | jruzicka, not all projects use pbr :) | 14:46 |
jruzicka | a reason not to use pbr - great! | 14:47 |
jruzicka | :-p | 14:47 |
toabctl | jruzicka, but again look at https://github.com/openSUSE/py2pack/blob/master/py2pack/get_metadata.py | 14:47 |
toabctl | it's 60 lines (with license header) todo all that | 14:47 |
*** ihrachys has quit IRC | 14:47 | |
jruzicka | no, the tarball loc definitely from Source: from .spec | 14:47 |
jruzicka | no arguments, it's already there | 14:47 |
toabctl | ok. fine for me | 14:47 |
jruzicka | plus it enforces correct value in .spec | 14:47 |
jruzicka | win-win | 14:47 |
jruzicka | problem is that needs librpm | 14:48 |
toabctl | jruzicka, but for testing the function you may want to use any tarball and just output the {{ requires }}. | 14:48 |
jruzicka | python-rpm which isn't on pypu | 14:48 |
jruzicka | *pypi | 14:48 |
toabctl | ? | 14:48 |
toabctl | what needs python-rpm ? | 14:48 |
jruzicka | Source can contain rpm macros | 14:48 |
jruzicka | %name | 14:48 |
jruzicka | Need to expand Source: http://what.not/%name-%version.blah | 14:49 |
toabctl | ah. 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.gz | 14:49 |
toabctl | and then use the highest version if we found multiple | 14:49 |
jruzicka | but 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 |
jruzicka | rdopkg python-rpm too | 14:50 |
jruzicka | to expand macros and edit .specs | 14:50 |
toabctl | yes. that's fine for me | 14:50 |
toabctl | but in the end currently I would prefer a complete .spec generator that doesn't need to edit anything. just creates a new one every time | 14:51 |
jruzicka | that's not easy | 14:51 |
jruzicka | at all | 14:51 |
toabctl | yeah | 14:51 |
jruzicka | subpackages | 14:51 |
jruzicka | different stuffs | 14:51 |
toabctl | yeah. | 14:52 |
jruzicka | that would need to maintain templates | 14:52 |
jruzicka | but yeah, that's a worthy goal | 14:52 |
toabctl | well - it's anyway not the next step. but getting {{ requires }} automated is at least a step in that (or any other) direction | 14:52 |
jruzicka | that's a next() thing to do | 14:53 |
toabctl | so what do you think about the approach from py2pack to get the metadata? | 14:53 |
toabctl | or do you have any other/better solution in mind ? | 14:53 |
jruzicka | it's nice, let's try it first | 14:54 |
toabctl | btw. here you can see the output: https://toabctl.wordpress.com/2016/07/03/improved-python-packaging-for-opensuse/ | 14:54 |
jruzicka | if it doesn't work or anything we just replace the part that gather requires. The rest is needed too ;) | 14:54 |
toabctl | yep | 14:54 |
jruzicka | so I'll work on that next | 14:55 |
jruzicka | so few technical details | 14:56 |
jruzicka | what lib to use to download the tarball? (renderspec requirement) | 14:56 |
jruzicka | or command | 14:56 |
toabctl | hm. I would use requests | 14:57 |
jruzicka | yes, I use that in rdopkg :) | 14:57 |
toabctl | or just urllib | 14:57 |
jruzicka | requests if you don't think it's too big requirement | 14:58 |
jruzicka | but this is openstack so I don't know why I'm worrying about another requirement :-p | 14:58 |
toabctl | hehe | 14:58 |
toabctl | well - to download a file https://docs.python.org/2/library/urllib.html#urllib.urlretrieve is enough I think | 14:59 |
toabctl | or the six equivalent to make it py2/py3 aware | 14:59 |
jruzicka | I (don't) remember a reason not to use it... | 15:00 |
*** tbarron|afk is now known as tbarron | 15:00 | |
jruzicka | yay, +2 | 15:09 |
jruzicka | hey, number80, wanna... FINISH HIM? https://review.openstack.org/#/c/347447 | 15:09 |
jruzicka | toabctl, so howto distribute the requires between subpackages? | 15:10 |
jruzicka | manually for now I guess? | 15:10 |
toabctl | jruzicka, I guess manually, yes | 15:14 |
toabctl | there's the question if we have {{ requires_1 }} and {{ requires_2 }} or a renderspec.yaml config to know where to add wha | 15:15 |
toabctl | t | 15:15 |
toabctl | jruzicka, another meeting now. | 15:15 |
jruzicka | oh yes, add conf later to do that... clear enough. | 15:15 |
*** coolsvap is now known as _coolsvap_ | 15:16 | |
number80 | jruzicka: Mortal Kombat was one of my favorite game on Mega Drive ... | 15:17 |
*** ihrachys has joined #openstack-rpm-packaging | 15:21 | |
jruzicka | number80, I'm quite ashamed I forgot howto do Lue Kang dragon Fatality | 15:22 |
jruzicka | *Liu Kang | 15:22 |
*** ihrachys has quit IRC | 15:22 | |
jruzicka | all the others too, actually :D | 15:22 |
jruzicka | erhm | 15:23 |
number80 | jruzicka: muscle memory, just gimme a gamepad :) | 15:26 |
number80 | https://wiki.gnome.org/Apps/Games | 15:27 |
* number80 bribed some gnome devs to work on that | 15:27 | |
jruzicka | heh, | 15:28 |
jruzicka | gaming on linux - hardcore | 15:28 |
openstackgerrit | Javier Peña proposed openstack/rpm-packaging: Add initial spec for python-heatclient https://review.openstack.org/357310 | 15:34 |
openstackgerrit | Merged openstack/renderspec: Support distro specific child templates https://review.openstack.org/347447 | 15:35 |
*** ihrachys has joined #openstack-rpm-packaging | 16:16 | |
openstackgerrit | Javier Peña proposed openstack/rpm-packaging: Add initial spec for python-manilaclient https://review.openstack.org/357336 | 16:17 |
*** ihrachys has quit IRC | 16:36 | |
openstackgerrit | Javier Peña proposed openstack/rpm-packaging: Add initial spec for python-heatclient https://review.openstack.org/357310 | 16:36 |
*** ihrachys has joined #openstack-rpm-packaging | 16:38 | |
*** ihrachys has quit IRC | 16:41 | |
*** ihrachys has joined #openstack-rpm-packaging | 16:44 | |
*** eandersson_ has quit IRC | 16:54 | |
*** ihrachys has quit IRC | 16:58 | |
openstackgerrit | Javier Peña proposed openstack/rpm-packaging: Add initial spec for python-tripleoclient https://review.openstack.org/357361 | 17:11 |
*** _coolsvap_ has quit IRC | 20:21 | |
*** pradk has quit IRC | 21:45 | |
*** tbarron is now known as tbarron|afk | 22:02 |
Generated by irclog2html.py 2.14.0 by Marius Gedminas - find it at mg.pov.lt!