[Pkg-ganeti-devel] Ganeti package

Iustin Pop iustin at debian.org
Sun Jul 14 20:53:41 UTC 2013


On Sun, Jul 14, 2013 at 11:19:57PM +0300, Apollon Oikonomopoulos wrote:
> On 09:20 Sat 13 Jul     , Iustin Pop wrote:
> > On Sat, Jul 13, 2013 at 01:09:21AM +0300, Apollon Oikonomopoulos wrote:
> > > Well, in that case we should ship the whole application modulo the 
> > > RAPI client as a private module under /usr/share/ganeti. This will 
> > > probably complicate things wrt. PYTHONPATH though. OTOH, 
> > > Build-Depending on python (not -all) would not guarantee 
> > > cross-version support for the RAPI client (see below).
> > 
> > I'm a bit confused here. Wouldn't the python packaging solve
> > automatically the PYTHONPATH isses? Or rather, I thought no matter how
> > the modules are handled (private or public), the packaging handles that
> > and it's transparent to the application.
> 
> Private modules are private, exactly because they are not installed 
> under sys.path. In order for the application to make use of its own 
> modules without overriding sys.path, the whole application must live in 
> the private module path and everything must be symlinked from there (the 
> python interpreter does a readlink() on start and uses the real 
> application path, see [1] for an example).  In the case of ganeti this 
> would mean:
> 
>  /usr/share/ganeti2/ganeti/__init__.py
>  /usr/share/ganeti2/ganeti/rpc.py
>  /usr/share/ganeti2/ganeti/daemon.py
>  ...
>  /usr/share/ganeti2/gnt-group
>  /usr/share/ganeti2/gnt-instance
>  ...
>  /usr/sbin/gnt-instance -> /usr/share/ganeti2/gnt-instance
>  /usr/sbin/gnt-group -> /usr/share/ganeti2/gnt-group
> 
> And then ganeti RAPI client would ship:
>  /usr/share/pyshared/ganeti/rapi/client.py
> 
> 
> Ideally, this layout should be provided by `make install', as is 
> provided by distutils for example.
> 
> I'll try to make a PoC in a separate branch to see how easily it can be 
> done without messing with the build system itself.
> 
> [1] https://wiki.debian.org/Python/Packaging#Example_2:_Python_application 
> 
> While we're at it, I've converted the package to dh sequencer, split the 
> documentation into ganeti2-doc and converted debian/copyright to Format 
> 1.0. I haven't pushed anything out yet, will probably push everything 
> tomorrow in a different branch for review. Still, I would like your 
> advice on the following:
> 
> The original debian/copyright states that the packaging work under 
> debian/ is released under GPL, pointing to /usr/share/common-licenses/GPL
> which is GPLv3 (or later), while Ganeti itself is GPLv2 (or later).  
> While there is nothing wrong with this, I just want to make sure this is 
> intensional.

Not really. Let's make the packaging also 2+, just to be consistent.

Thanks for your work!

iustin



More information about the Pkg-ganeti-devel mailing list