Hi Tyler, I'm sorry I will not be able to help you a lot as I'm quite ignorant as far as packaging is concerned.
However, if I read your proposal correctly we will have the following packages: Quantum-common Quantum-core Quantum-client +1 a distinct package for each plugin Is that correct? Also, you were mentioning some italicized files. Which ones are they? (It looks like I received a plain txt email). Salvatore > -----Original Message----- > From: netstack- > bounces+salvatore.orlando=eu.citrix....@lists.launchpad.net > [mailto:netstack- > bounces+salvatore.orlando=eu.citrix....@lists.launchpad.net] On Behalf Of > Tyler Smith > Sent: 05 August 2011 15:46 > To: netstack@lists.launchpad.net > Subject: [Netstack] Quantum Packaging Proposal > > Hi everyone, > > I've been working on figuring out the best way to get packing for Quantum > going. Here is my proposal on how to proceed. > > To keep in line with how Nova does things, I think we should use Python's > setuptools to manage building packages (with a supplemental build script for > Debian packaging). Using setup tools's namespace packages > <http://packages.python.org/distribute/setuptools.html#namespace- > packages> > we can split Quantum up into multiple chunks that can be installed > separately, but all reside underneath a single Quantum namespace on the > system. > > In order to accommodate that, we'll need to break the Quantum structure up > into directories for each individual package. I'm proposing we break it up > like > so: > > quantum/ > __init__.py > core/ > __init__.py > manager.py > service.py > / wsgi.py > / setup.py > // client/ > __init__.py > client.py > cli.py > setup.py > tests/ > __init__.py > unit/ > __init__.py > test_api.py > testlib_api.py > setup.py > common/ > __init__.py > / serilizer.py > utils.py > /setup.py > / > /(Just listing some of the file to help get a sense of what would go where). > Essentially, the tests and all client related code would be broken out into > their respective directories. The "core" (or whatever we call it), would > contain the code that runs the server, etc. The common directory would > contain tools used by multiple packages, and would be a dependency to > them. Lastly, plugins will be able to package themselves under the quantum > namespace, so distributing plugins will be simple. > > The italicized files will need to be reorganized to fit properly with the new > layout. > > With a structure like this, we could build each project with "python setup.py > bdist_rpm". It'd be trivial to include a script that builds all of them. > Like in > Nova, a shell script could be used to build the Debian packages. > > When these packages are installed, the namespace packaging will allow them > to see each other and work together. > > Please comment/ask questions. I'm not extremely familiar with packing > Python projects, so I'd love any suggestions/advice. > > Thanks, > -Tyler Smith > > -- > Mailing list: https://launchpad.net/~netstack > Post to : netstack@lists.launchpad.net > Unsubscribe : https://launchpad.net/~netstack > More help : https://help.launchpad.net/ListHelp -- Mailing list: https://launchpad.net/~netstack Post to : netstack@lists.launchpad.net Unsubscribe : https://launchpad.net/~netstack More help : https://help.launchpad.net/ListHelp