mediagoblin-devel
[Top][All Lists]
Advanced

[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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]