From 777b3898bc5d620cef7989a5eaa4c78a49961dd7 Mon Sep 17 00:00:00 2001 From: Tzafrir Cohen Date: Tue, 27 Aug 2013 19:11:16 +0300 Subject: Debian packaging --- debian/.gitignore | 5 +++++ debian/TODO.Debian | 3 +++ debian/changelog | 5 +++++ debian/clean | 3 +++ debian/compat | 1 + debian/control | 31 +++++++++++++++++++++++++++++++ debian/copyright | 34 ++++++++++++++++++++++++++++++++++ debian/docs | 2 ++ debian/patches/debpathes | 16 ++++++++++++++++ debian/patches/import_time | 13 +++++++++++++ debian/patches/nodendor | 37 +++++++++++++++++++++++++++++++++++++ debian/patches/series | 3 +++ debian/python-withsqlite.pyinstall | 1 + debian/rules | 11 +++++++++++ debian/source/format | 1 + 15 files changed, 166 insertions(+) create mode 100644 debian/.gitignore create mode 100644 debian/TODO.Debian create mode 100644 debian/changelog create mode 100644 debian/clean create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/docs create mode 100644 debian/patches/debpathes create mode 100644 debian/patches/import_time create mode 100644 debian/patches/nodendor create mode 100644 debian/patches/series create mode 100644 debian/python-withsqlite.pyinstall create mode 100755 debian/rules create mode 100644 debian/source/format diff --git a/debian/.gitignore b/debian/.gitignore new file mode 100644 index 0000000..a4de358 --- /dev/null +++ b/debian/.gitignore @@ -0,0 +1,5 @@ +/files +/plinth.debhelper.log +/*.debhelper +/plinth.substvars +/plinth/ diff --git a/debian/TODO.Debian b/debian/TODO.Debian new file mode 100644 index 0000000..de8b174 --- /dev/null +++ b/debian/TODO.Debian @@ -0,0 +1,3 @@ +* /var/lib/plinth should be owned by www-data (-R) +* improper installation procedure (see tons of lintian warnings) +* Embedded libraries? diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..c64fd33 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +plinth (0.3.0.0.git.20130626-1) UNRELEASED; urgency=low + + * Initial release. (Closes: #XXXXXX) + + -- Tzafrir Cohen Tue, 27 Aug 2013 15:38:50 +0300 diff --git a/debian/clean b/debian/clean new file mode 100644 index 0000000..8685bce --- /dev/null +++ b/debian/clean @@ -0,0 +1,3 @@ +plinth.config +test +data/users.sqlite3 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..b42c290 --- /dev/null +++ b/debian/control @@ -0,0 +1,31 @@ +Source: plinth +Section: python +Priority: extra +Maintainer: Tzafrir Cohen +#Uploaders: +Build-Depends: debhelper (>= 9), python-all, python-cheetah, pandoc +Standards-Version: 3.9.4 +Homepage: http://wiki.debian.org/Freedombox +#Vcs-Git: +#Vcs-Browser: + +Package: plinth +Section: python +Architecture: all +Depends: ${python:Depends}, ${misc:Depends}, + python-withsqlite, python-exmachina, + augeas-tools, +# FIXME: isn't python-simplejson now part of python? + python-simplejson, + python-cheetah, + python-cherrypy3 +Description: a web front end for administering every aspect of a Freedom Box + The Freedom Box is a net appliance conceived by Eben Moglen. It + contains free software and is designed to allow you to interface with + the rest of the net under conditions of protected privacy and data + security. + . + The Plinth front end is a web interface to administer the functions of + the Freedom Box. For example, the Freedom Box is a wireless router, + and the front end is where you can adjust its settings. + diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..8b8b47b --- /dev/null +++ b/debian/copyright @@ -0,0 +1,34 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Source: https://github.com/NickDaly/Plinth +Upstream-Name: Plinth + +Files: * +Copyright: 2011-2013 James Vasile +License: GPL-3+ + Released under the GNU General Public License, version 3 or later. + See https://www.gnu.org/licenses/gpl-3.0.html for terms. + . + On Debian systems you will find a copy of the GPL (version 3) at + /usr/share/common-licenses/GPL-3. +Comment: + COPYING file, however, is AGPL-3. + +Files: debian/* +Copyright: 2013 Tzafrir Cohen +License: GPL-2+ + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 2 of the License, or + (at your option) any later version. + . + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this program. If not, see . + . + On Debian systems you will find a copy of the GPL (version 3) at + /usr/share/common-licenses/GPL-3. + diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..f528701 --- /dev/null +++ b/debian/docs @@ -0,0 +1,2 @@ +README +doc diff --git a/debian/patches/debpathes b/debian/patches/debpathes new file mode 100644 index 0000000..38ec3eb --- /dev/null +++ b/debian/patches/debpathes @@ -0,0 +1,16 @@ +Author: Tzafrir Cohen +Description: Pathes that match Debian packaging + +--- a/share/init.d/plinth ++++ b/share/init.d/plinth +@@ -11,8 +11,8 @@ + ### END INIT INFO + + # This file is /etc/init.d/plinth +-DAEMON=/usr/local/bin/plinth.py +-EXMACHINA_DAEMON=/usr/local/bin/exmachina.py ++DAEMON=/usr/bin/plinth ++EXMACHINA_DAEMON=/usr/share/pyshared/exmachina/exmachina.py + PID_FILE=/var/run/plinth.pid + EXMACHINA_PID_FILE=/var/run/exmachina.pid + diff --git a/debian/patches/import_time b/debian/patches/import_time new file mode 100644 index 0000000..4f5d866 --- /dev/null +++ b/debian/patches/import_time @@ -0,0 +1,13 @@ +Author: Tzafrir Cohen +Desription: Missing import from auth.py + +--- a/modules/installed/lib/auth.py ++++ b/modules/installed/lib/auth.py +@@ -12,6 +12,7 @@ import cherrypy + import urllib, hashlib + import cfg + import random ++import time + + cfg.session_key = '_cp_username' + diff --git a/debian/patches/nodendor b/debian/patches/nodendor new file mode 100644 index 0000000..c7986a1 --- /dev/null +++ b/debian/patches/nodendor @@ -0,0 +1,37 @@ +Author: Tzafrir Cohen +Description: "vendor" packages are installed as separate system debs + +--- a/Makefile ++++ b/Makefile +@@ -11,7 +11,7 @@ EXCLUDE=--exclude=*.tar.gz --exclude=*~ + ALL_BUT_GZ=$(subst $(wildcard *.tar.gz),,$(wildcard *)) + + ## Catch-all tagets +-default: predepend config dirs template css docs dbs ++default: config dirs template css docs dbs + all: default + + predepend: +--- a/plinth.py ++++ b/plinth.py +@@ -17,8 +17,8 @@ import util as u + from logger import Logger + #from modules.auth import AuthController, require, member_of, name_is + +-from vendor.withsqlite.withsqlite import sqlite_db +-from vendor.exmachina.exmachina import ExMachinaClient ++from withsqlite.withsqlite import sqlite_db ++from exmachina.exmachina import ExMachinaClient + import socket + + __version__ = "0.2.14" +--- a/start.sh ++++ b/start.sh +@@ -5,6 +5,6 @@ + export PYTHONPATH + + sudo killall exmachina.py +-sudo vendor/exmachina/exmachina.py -v & ++sudo /usr/share/pyshared/exmachina/exmachina.py -v & + python plinth.py + sudo killall exmachina.py diff --git a/debian/patches/series b/debian/patches/series new file mode 100644 index 0000000..ea163ff --- /dev/null +++ b/debian/patches/series @@ -0,0 +1,3 @@ +nodendor +debpathes +import_time diff --git a/debian/python-withsqlite.pyinstall b/debian/python-withsqlite.pyinstall new file mode 100644 index 0000000..22dc6a3 --- /dev/null +++ b/debian/python-withsqlite.pyinstall @@ -0,0 +1 @@ +*.py withsqlite diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..27b04c3 --- /dev/null +++ b/debian/rules @@ -0,0 +1,11 @@ +#!/usr/bin/make -f +%: + dh $@ --with python2 + +PYDIR=$(CURDIR)/debian/plinth/usr/lib/python2.7/plinth +override_dh_auto_install: + dh_auto_install + find $(PYDIR) -name \*.png -o -name \*.svg | xargs chmod -x + +override_dh_installinit: + dh_installinit --onlyscripts diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..163aaf8 --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (quilt) -- cgit v1.2.3