Re: Best Practices for Django App Packaging

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: sgallagh@xxxxxxxxxx
> 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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Fedora Announce]     [Fedora Kernel]     [Fedora Testing]     [Fedora Formulas]     [Fedora PHP Devel]     [Kernel Development]     [Fedora Legacy]     [Fedora Maintainers]     [Fedora Desktop]     [PAM]     [Red Hat Development]     [Gimp]     [Yosemite News]
  Powered by Linux