> To: Development discussions related to Fedora <devel@xxxxxxxxxxxxxxxxxxxxxxx>
> Date: 01/21/2014 13:24
> Subject: Re: Best Practices for Django App Packaging
> Sent by: devel-bounces@xxxxxxxxxxxxxxxxxxxxxxx
>
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 01/21/2014 11:22 AM, John.Florian@xxxxxxxx wrote:
> >> On 01/21/2014 03:45 PM, John.Florian@xxxxxxxx wrote:
> >>> While I've been packaging Python apps for Fedora for a long
> >>> time, I'm a complete novice to Django. I've just completed my
> >>> first app (using the built-in development server) and now want
> >>> to get it packaged. Thus far I've followed my normal model of
> >>> using setuptools so that everything very cleanly lands in
> >>> /usr/lib/python2.7/site-packages/my_package. My Django app is
> >>> under there, along with other related Python modules that are
> >>> used independently of the Django app.
> >>>
> >>> I'm not finding any docs in the Fedora package guidelines and
> >>> am unaware of existing packages that might serve as excellent
> >>> examples. My web searches are turning up lots, but nothing
> >>> much specific to Fedora.
> >>>
> >>> At the moment, I'm particularly struggling with how to make my
> >>> /etc/httpd/conf.d/myapp.conf point to my
> >>> /usr/lib/python2.7/site-packages/my_package/my_site/wsgi.py in
> >>> a good generic RPM spec sense. I'd rather not hard-code the
> >>> Python version in myapp.conf.
> >>>
> >>> Any pointers would be greatly appreciated.
> >>>
> >> If you want an exampple, please look at openstack-dashboard: [1]
> >> is the config file to be dropped at /etc/httpd/conf.d (for
> >> httpd-2.2) or [2] for httpd-2.4
> >>
> >> The spec is here[3] for reference.
> >>
> >> HTH, Matthias
> >>
> >>
> >> [1]
> >> http://pkgs.fedoraproject.org/cgit/python-django-horizon.git/tree/
> >>
> >>
> openstack-dashboard.conf
> >> [2]
> >> http://pkgs.fedoraproject.org/cgit/python-django-horizon.git/tree/
> >>
> >>
> openstack-dashboard-httpd-2.4.conf
> >> [3]
> >> http://pkgs.fedoraproject.org/cgit/python-django-horizon.git/tree/
> >>
> >>
> python-django-horizon.spec
> >
> > Thanks Matthias! That's quite a complicated example, although I
> > can see there's much I can learn from it. Unfortunately, it's not
> > the ideal example because it moves everything that setup.py builds
> > into /usr/share/openstack-dashboard. I need to keep stuff under
> > /usr/lib/pythonX.Y/site-packages so that the other, non-Django,
> > parts continue to work as expected. (I suppose I could just
> > relocate the Django-parts of the build, but sounds like it will
> > break more things that it will help.)
> >
>
> Another example you may want to take a look at is ReviewBoard, which
> is pretty straightforward.
>
> http://pkgs.fedoraproject.org/cgit/ReviewBoard.git/tree/ReviewBoard.spec
>
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1
> Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
>
> iEYEARECAAYFAlLeu4UACgkQeiVVYja6o6N22QCeJk4+xNa0tciSy4Iu//UaA8mi
> mNYAoIqoD9BCTI2lXX/LqKO0ikA0CYor
> =Lsln
> -----END PGP SIGNATURE-----
Thank you too Stephen! That indeed does look much more similar. Although I don't see any Apache httpd config in the package. Reading The Fine Manual briefly looks like it relies on 'rb-site install' to do this part. I was hoping to find an example where the RPM spec dropped a Django app setup right into /etc/httpd/conf.d -- in other words, a package that just assumes you will use Apache httpd, maybe even creates an empty sqlite db so things are just ready to run with a httpd restart.
I may be just trying to do too much in my spec and perhaps should rely on puppet to do the deployment and integration work.
--
John Florian
-- devel mailing list devel@xxxxxxxxxxxxxxxxxxxxxxx https://admin.fedoraproject.org/mailman/listinfo/devel Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct