koji in PiPy/support of setup.py
by Pavol Babincak
Hi,
I'm using koji as a python package in my scripts. Usually I develop them
inside of a virtual environment. I do not use system packages[1] in
virtualenv.
Currently I'm not able to install koji and it dependencies inside
virtualenv easily. Having koji in PiPy would help me. That way I can
just specify it in my requirements.txt or in install_requires of my
setup.py. I *guess*[2] one way to do that is to have setup.py in koji
code and add some extra steps as part of the release process to publish
it there.
What do you think about this?
For some time now I use my own setup.py. I guess it is not ready for PR
so I'd love to see comments on this as well:
https://pagure.io/fork/pbabinca/koji/blob/setup_WIP/f/setup.py
[1] Among other reasons I'd like to have environment isolated from the
system as much as possible.
[2] I have never maintained package on PiPy.
--
Pavol Babincak
5 years, 11 months
Re: How to deal with "odd" SVN layouts with Koji?
by Neal Gompa
On Fri, Sep 15, 2017 at 10:37 PM, David Walser <luigiwalser(a)yahoo.com> wrote:
> Look at the koji documentation, especially w.r.t. the allowed_scms paramter and the source_cmd part of it. Once it checks out the sources from your SCM, by default it runs "make sources" to make sure the source files are all available and laid out as expected, so you can make use of that with Makefiles to assist that, but you can also change "make sources" to some other command if there's some standard way to beat things into submission. Fedora obviously customizes this parameter as well, as they don't rely on a Makefile to make sure that the files listed in sources are fetched from the binrepo. So we'd just have to do something to Fedora.
I suppose you mean "something similar". I'll have to test and see if I
can move things around while being able to get the changelog from the
VCS without weird things happening...
--
真実はいつも一つ!/ Always, there's only one truth!
6 years
Re: How to deal with "odd" SVN layouts with Koji?
by Neal Gompa
On Fri, Sep 15, 2017 at 10:17 PM, David Walser <luigiwalser(a)yahoo.com> wrote:
> Koji doesn't expect subdirs of SOURCES and SPECS. It'll do something like this itself:
> mkdir SPECS
> mv *.spec SPECS/
> mv * (excluding SPECS) SOURCES/
>
> Also, I'm sure we wouldn't be submitting builds with the koji tool itself, as that's a bit unwieldy and you have to give it the full SCM path and stuff. I'm sure Fedora doesn't use the koji tool directly either, but instead has some front end tool that simplifies the syntax for submitting builds and calls koji inside. Also note that Koji allows you to configure exactly what command the server runs when a build is submitted, so the whole thing with the Makefile is the default, but you can customize that. We should be able to make it work with whatever SCM layout we happen to be using.
>
It does that *only* if SPECS and SOURCES do not already exist. It
supports both arrangements. Back when Fedora used CVS, we had that
layout.
It is true that Fedora uses a wrapper tool (fedpkg[1]) to interact
with Koji, just as Mageia has one (mgarepo[2]) for interacting with
Youri. I've already written a small wrapper for Mageia's SVN to use
with Koji (mgapkg-koji[3]), but it doesn't work yet because of the
aforementioned layout thing...
fedpkg submits the SCM URL to Koji, so Koji needs to be aware of the
layout to shuffle things around properly.
Of course, if we do actually switch to Dist-Git, then this whole issue
goes away. But I'm not counting on it.
[1]: https://www.mankier.com/1/fedpkg
[2]: https://www.mankier.com/8/mgarepo
[3]: https://gitlab.com/mdklinux/mgapkg-koji
--
真実はいつも一つ!/ Always, there's only one truth!
6 years
How to deal with "odd" SVN layouts with Koji?
by Neal Gompa
Hey all,
I'm trying to figure out how to build Mageia packages using Koji from
Mageia's distribution SCM. One of the interesting things about this is
that Mageia uses a Dist-SVN layout. The layout looks something like
this:
svn.mageia.org:
|
---- packages
|
---- cauldron
| |
| ---- <pkgname>
| |
| ---- current
| |
| ---- {SOURCES,SPECS}
|
---- (updates|backports)
|
---- <releasever>
|
---- <pkgname>
|
---- current
|
---- {SOURCES,SPECS}
The reason for the layout is because we have other folders there that
serve other purposes (they are effectively subtrees, and different
parts of the distribution release toolchain operate on different
folders per package).
Nearest I can tell, Koji currently expects
svn:foo/bar/baz/<pkgname>/{SOURCES,SPECS}. Since Koji wants to do the
checkout itself, is there a nice way to do this without having to do
ugly patches? Preferably via a configuration item? I really don't want
to introduce ugly Makefile stuff to make this work, as the layout is
designed to be friendly to rpmbuild runs.
Thanks in advance and best regards,
Neal
--
真実はいつも一つ!/ Always, there's only one truth!
6 years