- #!/usr/bin/make -f
- SHELL=/bin/sh
- # Directories.
- APT_CACHE=/var/cache/apt/archives
- # Commands.
- APTGET=/usr/bin/apt-get -q
- APTGET_REM=$(APTGET) remove --purge --assume-yes
- APTGET_INS=$(APTGET) install --assume-yes
- DPKG=/usr/bin/dpkg
- SED=/bin/sed -i -e
- # Packages to be removed using apt-get. Note that some additional
- # dependent packages will be automatically removed as well.
- REM_MISC=diveintopython gaim gaim-data \
- screensaver-default-images sound-juicer totem-gstreamer \
- totem-mozilla totem rhythmbox linux-headers-2.6.17-10 \
- linux-headers-2.6.17-10-generic linux-headers-generic \
- xsane-common example-content
- REM_GNOME=gnome-games gnome-games-data gnome2-user-guide
- REM_OPENOFFICE=openoffice.org openoffice.org-base openoffice.org-calc \
- openoffice.org-common openoffice.org-core openoffice.org-draw \
- openoffice.org-evolution openoffice.org-gnome openoffice.org-gtk \
- openoffice.org-help-en-us openoffice.org-impress \
- openoffice.org-java-common openoffice.org-l10n-common \
- openoffice.org-l10n-en-gb openoffice.org-l10n-en-za \
- openoffice.org-math openoffice.org-style-default \
- openoffice.org-style-industrial openoffice.org-thesaurus-en-us \
- openoffice.org-writer python-uno
- REM_EVOLUTION=evolution evolution-data-server evolution-data-server-common \
- evolution-exchange evolution-plugins evolution-webcal nautilus-sendto
- REM_GIMP=gimp gimp-data gimp-print gimp-python libgimp2.0
- # Packages to be added using apt-get. Some may already be installed,
- # but that's OK, it won't hurt. It's safer than assuming they're there
- # and getting it wrong! These will most likely install some other
- # dependent packages as well.
- ADD_EPRINTS=apache2 mysql-server perl libapache2-mod-perl2 \
- libunicode-string-perl libdbi-perl libdbd-mysql-perl \
- libxml-parser-perl wget tar gzip unzip poppler-utils wv lynx \
- tetex-bin imagemagick adduser findutils sendmail
- ADD_WEBMIN=bash perl libnet-ssleay-perl openssl libauthen-pam-perl \
- libpam-runtime libio-pty-perl libmd5-perl
- ADD_ECONFIG=perl libxml-dom-perl libppi-perl libstring-random-perl \
- libexpect-perl libunicode-string-perl libhtml-parser-perl \
- libmail-rfc822-address-perl libjson-perl
- ADD_MISC=#openssh-server
- # Local packages to be installed using dpkg.
- DEB_EPRINTS=$(APT_CACHE)/eprints_3.0-0ubuntu2_all.deb
- DEB_WEBMIN=$(APT_CACHE)/webmin-oarinz_1.340-0ubuntu1_all.deb
- DEB_CONFIG=$(APT_CACHE)/oarinz-eprints-config_0.0.1-2_all.deb
- DEB_MODULE=$(APT_CACHE)/webmin-eprints_0.0.1-1_all.deb
- .PHONY: all add remove dpkg-add
- all: remove add dpkg-add cleanup
- remove:
- @echo
- @echo "=== Removing unnecessary packages."
- $(APTGET_REM) $(REM_OPENOFFICE)
- @rm -rf /etc/openoffice
- $(APTGET_REM) $(REM_EVOLUTION)
- $(APTGET_REM) $(REM_GIMP)
- $(APTGET_REM) $(REM_GNOME)
- $(APTGET_REM) $(REM_MISC)
- add:
- @echo
- @echo "=== Adding prerequisite packages."
- @# Normally you'd just apt-get update here, but I've been having
- @# problems with the servers. Since it takes so long to get
- @# back to this point in the process, I've cheated and pre-generated
- @# the cache index files. They are copied in before this Makefile
- @# is called.
- @#$(APTGET) update
- $(APTGET_INS) $(ADD_EPRINTS)
- $(APTGET_INS) $(ADD_WEBMIN)
- $(APTGET_INS) $(ADD_ECONFIG)
- # $(APTGET_INS) $(ADD_MISC)
- dpkg-add:
- @echo
- @echo "=== Adding EPrints packages."
- @# In order: eprints, webmin, oarinz-eprints-config, webmin-eprints
- $(DPKG) -i $(DEB_EPRINTS)
- $(DPKG) -i $(DEB_WEBMIN)
- $(DPKG) -i $(DEB_CONFIG)
- $(DPKG) -i $(DEB_MODULE)
- @# Patch the webmin module to fix the permissions problem
- @# (TEMPORARY HACK UNTIL A PERMANENT UPDATE ARRIVES).
- @$(SED) '61i system("chown -R eprints:eprints /opt/eprints3/archives/" . $$in{archive}); \ ' \
- /usr/share/webmin/eprints/create.cgi
- cleanup:
- @echo
- @echo "=== Cleaning up."
- $(APTGET) clean
- $(APTGET) autoclean
- $(SED) 's/NO_START=1/NO_START=0/' /etc/default/apache2
- $(SED) 's/root@ou075136/root@localhost/' /etc/mail/submit.cf \
- /etc/cron.d/sendmail