Story #278
closed
Story #3092: As a packager, I have a Pulp packaging guide
Add documentation about Pulp's setup.py requirements
Status:
CLOSED - CURRENTRELEASE
- Subject changed from [RFE] All setup.py files should reference their dependencies so users can pip install Pulp packages to All setup.py files should reference their dependencies so users can pip install Pulp packages
- Description updated (diff)
- Sprint Candidate changed from No to Yes
- Tags Documentation, Pulp 3 added
I'm marking this as Pulp3 since practically speaking the python package layout is changing considerably with pulp3.
- Related to Story #2444: Create a PyPI account for Pulp3 core and all plugins added
- Subject changed from All setup.py files should reference their dependencies so users can pip install Pulp packages to All setup.py files are present and should reference their dependencies so users can pip install Pulp packages
- Tags deleted (
Documentation)
After a bit of research, I'm convinced that our current path is going to lead to issues later. We have a lot of setup.py files and this is going to be a problem when we go to publish on PyPI since each setup.py will be its own python package. These will all have to be published and also pip installing from a url will become pip installing from a bunch of urls. I don't know of a good reason to motivate this structure.
I believe we should have exactly 1 setup.py and it should be in the root. For example look at the way Django lays out their repository[0].
Also the Django root is a lot cleaner than the pulp root. We could have a 'pulp' folder with all of the subpackages that live at pulp.<packagehere>
as subfolders of Pulp. This would both clean up the root and reduce the depth of the folder tree. We should probably file this as a separate task though.
I'm removing the documentation tag since this is a lot more than docs.
[0]: https://github.com/django/django
Yes, please let's do this. We do want some separation; my current expectation is that there will be a "pulp" package containing pulp.app, pulp.exceptions, and pulp.tasking. Then I assume we'll want to have separate packages for pulp.common and pulp.whateverwenametheclientlib.
- Subject changed from All setup.py files are present and should reference their dependencies so users can pip install Pulp packages to Add documentation about Pulp's setup.py requirements
- Tags Documentation added
This issue is being purposed to capture the setup.py requirements going forward. The consolidation and reorganization is being created as a separate issue.
The documentation requirements should include:
- That Python requirements be expressed in the setup.py
- That one setup.py exists for the entire pulp package, but two additional setup.py files are needed. One for pulp.common and another for the pulp CLI.
- Related to Task #2463: Reorganize 3.0-dev branch added
Where is this documentation going to live?
dkliban@redhat.com wrote:
Where is this documentation going to live?
That is a good question. Really this is about cross-platform distribution, so perhaps we could create a section at (docs/contributing/cross_platform.rst). It maybe could live as a paragraph in the build docs, but that probably should be reserved for docs on how to build.
What do you think?
@dkliban That is good reasoning and I agree w/ you. I would like to hear from @smyers some on this too before we go forward.
I'm still not sure, so for now I'll defer to putting it in the build guide for lack of a better idea. :)
Revised the checklist item based on discussion.
- Groomed changed from No to Yes
- Sprint Candidate deleted (
Yes)
- Parent issue set to #3092
- Sprint Candidate set to No
- Status changed from NEW to CLOSED - CURRENTRELEASE
Also available in: Atom
PDF
Add install_requires arguments to our setup.py files.
This commit also removes some incorrect Requires lines in our spec file, and adds python-gofer-qpid to our server qpid group.
https://pulp.plan.io/issues/278
re #278