← Back to team overview

launchpad-reviewers team mailing list archive

[Merge] lp:~jtv/maas/packages into lp:maas

 

Jeroen T. Vermeulen has proposed merging lp:~jtv/maas/packages into lp:maas.

Requested reviews:
  Launchpad code reviewers (launchpad-reviewers)

For more details, see:
https://code.launchpad.net/~jtv/maas/packages/+merge/117212

I got tired of having to copy “apt-get” command lines from HACKING.txt into my shell just in case a test failure was caused by a changed requirement.  And so in this branch I move the lists of dependencies into separate files.  I'm sure this could be refined greatly, but it's meant to eliminate distractions rather than create ones.

The HACKING.txt no longer enumerates all the packages you need; it was getting pointless.  Plus, this adds a “make” target (name suggested by Julian) to install all packages required for development.  I didn't bother breaking it down any further than “base” and “dev” (both of which you're likely to want when you're using “make” anyway) but if we wanted to, we easily could.

This also revealed two little gotchas we were hiding:

1. Nope, it still doesn't work with python-django-piston installed.  We thought this would sort itself out with the release of Precise, but evidently it didn't.  Rather than try to sort this out now, I documented the weirdness but removed the package from the list of requirements.  If you know better, I'd be ecstatic to fix things up.

2. The package lists were getting long enough that we had some unnoticed duplication.  Not a problem per se, but a clear sign that the way we managed these lists were getting out of hand.


Jeroen
-- 
https://code.launchpad.net/~jtv/maas/packages/+merge/117212
Your team Launchpad code reviewers is requested to review the proposed merge of lp:~jtv/maas/packages into lp:maas.
=== modified file 'HACKING.txt'
--- HACKING.txt	2012-07-26 00:46:25 +0000
+++ HACKING.txt	2012-07-30 03:16:19 +0000
@@ -26,36 +26,17 @@
 Prerequisites
 =============
 
-You will need to manually install Postgres 9.1, RabbitMQ, Apache 2,
-python-dev, avahi-daemon, daemontools, pyinotify, and make::
-
-    $ sudo apt-get install postgresql-9.1 rabbitmq-server python-dev \
-        avahi-daemon make apache2-mpm-prefork daemontools python-pyinotify
-
-Also, you might want to install Bazaar (``bzr``) to grab the source
-code directly from Launchpad::
-
-    $ sudo apt-get install bzr
-
-This is the list of runtime dependencies that you'll need to install::
-
-    $ sudo apt-get install python-django python-django-piston \
-        python-django-south python-twisted python-txamqp python-amqplib \
-        python-formencode python-oauth python-oops python-oops-datedir-repo \
-        python-twisted python-oops-wsgi python-oops-twisted \
-        python-psycopg2 python-yaml python-convoy python-django-south \
-        python-avahi python-dbus python-celery python-tempita distro-info \
-        bind9utils libpq-dev dnsutils bind9 python-netaddr isc-dhcp-common
-
-Additionally, you need to install the following python libraries
-for development convenience::
-
-    $ sudo apt-get install python-sphinx python-lxml python-pocket-lint \
-        python-pip python-virtualenv
-
-If you intend to run the test suite, you also need a few other things:
-
-    $ sudo apt-get install xvfb firefox avahi-utils curl
+MAAS depends on Postgres 9.1, RabbitMQ, Apache 2, python-dev, avahi-daemon,
+daemontools, pyinotify, and many other packages.  To install everything that's
+needed for running and developing MAAS, run::
+
+    $ make install_dependencies
+
+Careful: this will "apt-get install" many packages on your system, under
+"sudo."  It may prompt you for your password.
+
+You may need to install python-django-piston as well, but installing it seems
+to cause import errors for "oauth" when running the test suite.
 
 All other development dependencies are pulled automatically from `PyPI`_
 when buildout runs.

=== modified file 'Makefile'
--- Makefile	2012-07-20 16:38:59 +0000
+++ Makefile	2012-07-30 03:16:19 +0000
@@ -192,6 +192,12 @@
 
 supervise: $(addsuffix @supervise,$(services))
 
+# Install all packages required for MAAS development & operation on the
+# system.
+# This may prompt for a password.
+install_dependencies:
+	sudo apt-get install `cat required-packages/*`
+
 define phony_services_targets
   pause
   restart

=== added directory 'required-packages'
=== added file 'required-packages/base'
--- required-packages/base	1970-01-01 00:00:00 +0000
+++ required-packages/base	2012-07-30 03:16:19 +0000
@@ -0,0 +1,33 @@
+apache2-mpm-prefork
+avahi-daemon
+bind9
+bind9utils
+daemontools
+distro-info
+dnsutils
+isc-dhcp-common
+libpq-dev
+make
+postgresql-9.1
+python-amqplib
+python-avahi
+python-celery
+python-convoy
+python-dbus
+python-dev
+python-django
+python-django-south
+python-formencode
+python-netaddr
+python-oauth
+python-oops
+python-oops-datedir-repo
+python-oops-twisted
+python-oops-wsgi
+python-psycopg2
+python-pyinotify
+python-tempita
+python-twisted
+python-txamqp
+python-yaml
+rabbitmq-server

=== added file 'required-packages/dev'
--- required-packages/dev	1970-01-01 00:00:00 +0000
+++ required-packages/dev	2012-07-30 03:16:19 +0000
@@ -0,0 +1,10 @@
+avahi-utils
+bzr
+curl
+firefox
+python-lxml
+python-pip
+python-pocket-lint
+python-sphinx
+python-virtualenv
+xvfb