Thursday, April 17, 2014

PyAstroStack: Now with easier installation for Ubuntu 14.04 and Gentoo

Installing with python setup.py install is fairly easy but taking care of the dependencies can sometimes be ugly. I always wanted this program to be easy to install and now that's happening; for Gentoo and newest Ubuntu 14.04.


Gentoo: Science overlay

Most Gentoo users are familiar with layman, overlays and unmasking masked packages. For most, that's the reason to use Gentoo. Easy installation for almost everything. Stuff that isn't on Portage tree can be added for easy emerge with overlays and layman takes care of them. I wrote an ebuild for pyAstroStack and it was accepted in the science overlay.

If you're not that familiar with all that, this will probably help:

# emerge layman
# layman -a science
# emerge --autounmask-write -v pyAstroStack
# dispatch-conf
# emerge pyAstroStack

The --autounmask-write creates unmasking configurations and dispatch-conf or etc-update integrates them into /etc. This will install Python 2 and/or Python 3 versions according to your PYTHON_TARGETS variable in /etc/portage/make.conf.

Ubuntu 14.04

I know there's Launchpad and apt-repository for community packages but I'm not there yet. Maybe soon, but for now there's only a .deb file to download and install.

Download pyastrostack_0.3.0-3_amd64.deb from https://bitbucket.org/mikko_laine/pyastrostack/downloads and

# sudo dpkg -i pyastrostack_0.3.0-3_amd64.deb
# sudo apt-get -f install

First line will mark the package to install but the installation will fail due to missing dependencies. Second line fixes all that and installs everything required including the software itself.

Other Linux distributions

Of course I'd like to support everything. The .deb I made does not necessarily require Ubuntu so it most likely will work on Mint and other Ubuntu derivatives. It also might work on Debian, but that's more uncertain. Debian specific package will be ready in near future.

Python's distutils support creating RPM's but I haven't tested those at all so I will not distribute them.

For everything else I recommend the python setup.py install line and manual installation of all the dependencies.