globaleaks / APAF

Anonymous Python Application Framework
33 stars 15 forks source link

Apaf build for Debian #13

Closed fpietrosanti closed 12 years ago

fpietrosanti commented 12 years ago

The Apaf build system should provided a guided way to create packages and automate installation dependencies/configurations for Debian/Ubuntu systems.

The build should support automation of all the steps on a specific LTS version of Ubuntu.

mmaker commented 12 years ago

The standard setuptools installation is fine. python setup.py install

fpietrosanti commented 12 years ago

Setup from python is something useful for developer but not for end-user of a Linux system.

A Desktop application for Ubuntu user need to be build as Deb, to let the user install easily from a UI with standard package manager interface, be advised of new update from within the package management graphical subsystem.

A Server application for ubuntu server need to be build as Deb, to let system administrator maintain the software inventory of the system and most important upgrade easily with a standard command (apt-get) and with automatic secure digital signature verification (deb package signature).

Extended evaluation on why it's bad to deploy python software with "setup.py" is available on:

Python Application Deployment with Native Packages http://hynek.me/articles/python-app-deployment-with-native-packages/ Why you should not use Python's easy_install carelessly on Debian http://workaround.org/easy-install-debian

Some useful information on packaging a Python application as Debian:

http://ghantoos.org/2008/10/19/creating-a-deb-package-from-a-python-setuppy/ https://wiki.ubuntu.com/PackagingGuide/Python http://showmedo.com/videotutorials/video?name=linuxJensMakingDeb

From an APAF perspective we should abstract / provide an easy way to package the core APAF element.

I would suggest to focus on a specific Deb based system widely used within Tor community, maybe an Ubuntu LTS system?

fpietrosanti commented 12 years ago

It maybe useful to evaluate if stdeb (python package to debian conversion utility) it's useful http://pypi.python.org/pypi/stdeb/0.5.1 to implement this feature?

hellais commented 12 years ago

I agree that we must have a system that builds .deb packages. Installing with setuptools is something super useful for a developer, but not something that a sys admin can do from apt-get or a user can do from synaptic.

fpietrosanti commented 12 years ago

An important question is about which version of Tor we want to use as a dependency:

Imho we have enough dependencies so that i would suggest to use "our own tor version" and not the Debian/Ubuntu one, so that we can keep everything self-contained in it's own directory?

hellais commented 12 years ago

When possible I would like to keep dependencies inside of separate packages. Not having to build our own Tor, distributes the effort to other people.

I think the official tpo bundle will be much better at keeping the version of Tor up to date and patched.

fpietrosanti commented 12 years ago

Added link to later document how to setup build system for Ubuntu/Debian for development on https://github.com/mmaker/APAF/wiki/Build-System-HowTo .

I am wondering if the Deb build system should be integrated or not with Launchpad in order to "drive" application developers to use a server-side build system for Debian, or keep it handled manually?

mmaker commented 12 years ago

Done with packaging a .deb in 944a429761169ac48379ac5828fb3467ef431b5d