anchor.diff:  # XXX End workaround
   
   # Install.
  -RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y \
  -    curl \
  +RUN apt-get update && apt-get install -y \
       git \
  -    geoip-database \
  +    postgresql \
  +    python-psycopg2 \
       graphviz \
       graphviz-dev \
  -    libgeoip1 \
       libxslt1.1 \
       libxslt1-dev \
  +    python-pip \
  +    tar \
  +    gcc \
  +    python-httplib2 \
  +    geoip-database \
  +    libgeoip1 \
  +    wget \
  +    curl \
  +    python-dev \
       libyaml-dev \
  -    m4 \
  -    nginx \
  -    openssh-client \
  -    python-dev \
       pkg-config \
  -    postgresql \
  -    python-crypto \
  -    python-httplib2>=0.9.1 \
  -    python-jinja2 \
  -    python-paramiko \
  -    python-pip \
  -    python-psycopg2 \
  -    python-pycurl \
  -    python-setuptools \
  -    python-yaml \
  -    python-keystoneclient \
  -    python-novaclient \
  -    python-neutronclient \
  -    python-glanceclient \
  -    python-ceilometerclient \
  -    supervisor \
  -    tar \
  -    wget 
  +    python-pycurl
   
  -RUN pip install \
  -    django==1.7 \
  -    djangorestframework==2.4.4 \
  -    markdown  \ 
  -    pyyaml \ 
  -    django-filter \
  -    lxml \
  -    netaddr \
  -    pytz \
  -    django-timezones \
  -    requests \
  -    django-crispy-forms \
  -    django-geoposition \
  -    django-extensions \
  -    django-suit \
  -    django-bitfield \
  -    django-ipware \
  -    django-encrypted-fields \
  -    django_rest_swagger \
  -    python-dateutil \
  -    python-keyczar \
  -    pygraphviz \
  -    dnslib \
  -    uwsgi
  +RUN pip install django==1.7
  +RUN pip install djangorestframework==2.4.4
  +RUN pip install markdown  # Markdown support for the browseable API.
  +RUN pip install pyyaml    # YAML content-type support.
  +RUN pip install django-filter  # Filtering support
  +RUN pip install lxml  # XML manipulation library
  +RUN pip install netaddr # IP Addr library
  +RUN pip install pytz
  +RUN pip install django-timezones
  +RUN pip install requests
  +RUN pip install django-crispy-forms
  +RUN pip install django-geoposition
  +RUN pip install django-extensions
  +RUN pip install django-suit
  +RUN pip install django-bitfield
  +RUN pip install django-ipware
  +RUN pip install django-encrypted-fields
  +RUN pip install python-keyczar
  +RUN pip install pygraphviz
  +RUN pip install dnslib
   
  +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-keystoneclient
  +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-novaclient
  +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-neutronclient
  +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-glanceclient
  +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-ceilometerclient
  +
  +RUN pip install django_rest_swagger
  +
  +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-setuptools
  +RUN easy_install django_evolution
  +RUN easy_install python_gflags
   RUN easy_install --upgrade httplib2
  -
  -RUN easy_install \
  -    django_evolution \
  -    python_gflags \
  -    google_api_python_client \
  -    httplib2.ca_certs_locater
  -
  +RUN easy_install google_api_python_client
  +RUN easy_install httplib2.ca_certs_locater
   
   # Install custom Ansible
  +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-crypto
  +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-yaml
  +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y openssh-client
  +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-paramiko
  +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-jinja2
  +RUN DEBIAN_FRONTEND=noninteractive apt-get install -y python-httplib2
   RUN git clone -b release1.8.2 git://github.com/ansible/ansible.git /opt/ansible
   RUN git clone -b release1.8.2 git://github.com/ansible/ansible-modules-extras.git /opt/ansible/lib/ansible/modules/extras
   RUN git clone -b release1.8.2 git://github.com/ansible/ansible-modules-extras.git /opt/ansible/v2/ansible/modules/extras
   RUN git clone git://github.com/sb98052/ansible-modules-core.git /opt/ansible/lib/ansible/modules/core
   RUN git clone git://github.com/sb98052/ansible-modules-core.git /opt/ansible/v2/ansible/modules/core
  -# git clone uses cached copy, doesn't pick up latest
  -RUN git -C /opt/ansible pull
  -RUN git -C /opt/ansible/lib/ansible/modules/core pull
  -RUN git -C /opt/ansible/v2/ansible/modules/core pull
   ADD ansible-hosts /etc/ansible/hosts
   
  +ADD http://code.jquery.com/jquery-1.9.1.min.js /usr/local/lib/python2.7/dist-packages/suit/static/suit/js/
   
   # For Observer
  -ADD http://code.jquery.com/jquery-1.9.1.min.js /usr/local/lib/python2.7/dist-packages/suit/static/suit/js/
   RUN git clone git://git.planet-lab.org/fofum.git /tmp/fofum
   RUN cd /tmp/fofum; python setup.py install
   RUN rm -rf /tmp/fofum
  
positive.code: RUN mkdir /etc/ssl/private-copy; mv /etc/ssl/private/* /etc/ssl/private-copy/; rm -r /etc/ssl/private; mv /etc/ssl/private-copy /etc/ssl/private; chmod -R 0700 /etc/ssl/private; chown -R postgres /etc/ssl/private
  
  # Set postgres password to match default value in settings.py
  RUN service postgresql start && sudo -u postgres psql -c "alter user postgres with password 'password';"
  
  # Turn DEBUG on so that devel server will serve static files
  #    (not necessary if --insecure is passed to 'manage.py runserver')
  
negative.code: FROM       ubuntu:14.04.3
  MAINTAINER Andy Bavier <acb@cs.princeton.edu>
  
  # XXX Workaround for docker bug:
  # https://github.com/docker/docker/issues/6345
  