[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[GMG-Devel] configure/Makefile for mediagoblin
From: |
Brandon Invergo |
Subject: |
[GMG-Devel] configure/Makefile for mediagoblin |
Date: |
Sun, 23 Sep 2012 17:31:57 -0000 |
User-agent: |
Notmuch/0.14 (http://notmuchmail.org) Emacs/24.2.1 (x86_64-unknown-linux-gnu) |
Hi everyone,
I've been working to develop some scripts for Python-based GNU projects
to meet the coding standards regarding configure scripts and
Makefiles. Generally speaking, this is a pretty simple task, just
providing a simple wrapper around setup.py. However, I went ahead and
worked on a bunch of Autoconf macros to give even more power in
configuring the system.
I've already put together a configure script and a Makefile for
MediaGoblin, which I've used in implementing an automated install script
in GSRC (GNU Source Release Collection). You can find the current
version here:
http://bzr.savannah.gnu.org/lh/gsrc/trunk/download/head:/mediagoblin0.3.1conf-20120922130541-r9ws8vdd05tbi9di-5/mediagoblin-0.3.1-configure.tar.gz
This archive would just need to be extracted into the source directory
of MediaGoblin and then the typical procedure of
$ ./configure
$ make install
could be run, while still retaining the ability to just use the setup.py
directly if you so desire.
The configure script can take a --with-virtualenv environment to use
virtualenv. So, to follow the deployment docs for MediaGoblin, you'd
just do:
$ ./configure --with-virtualenv --prefix=/srv/mediagoblin.example.org
$ make install
Otherwise, the libraries will be installed to the usual Python module
directory under ${prefix} (default = /usr/local/lib/pythonX.Y/site-packages)
and setting up a site is as simple as copying the contents of the
${pkgdatadir} (by default /usr/local/share/mediagoblin, containing
mediagoblin.ini, lazyserver.sh, etc) to your site's
directory. If I screwed that up, let me know, but it seems to work just
fine for me.
The user can specify the particular Python and sphinx-build binaries to
use via the PYTHON and SPHINXBUILD configure flags:
$ ./configure PYTHON=/usr/bin/python2
Other than that, it also checks for the existence of the required Python
libraries like lxml, which is handy. Also, the Makefile supports an
'uninstall' target, which setup.py lacks.
So, inside that archive, you'll find the Autoconf file configure.ac
along with a pre-generated configure script, a Makefile.in which is to
be converted to a Makefile by configure, as well as a subdirectory
containing the Autoconf macros, and a few scripts that are required by
configure.
If you would like to make further customizations to the configure script
or the Makefile, I would be happy to help ("I Learned Autoconf So You
Don't Have To" (tm)). Please include my email address in your reply
though since I'm not subscribed to this list!
Cheers,
Brandon Invergo
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [GMG-Devel] configure/Makefile for mediagoblin,
Brandon Invergo <=