From 14d3022728cbc8906a37dde9a2de7a38b6302e3b Mon Sep 17 00:00:00 2001 From: mece Date: Sun, 31 Jan 2010 04:14:30 +0200 Subject: [PATCH] added deb stuff --- build-comic-widget.py | 54 ------------- debian/changelog | 5 ++ debian/compat | 1 + debian/control | 78 ++++++++++++++++++ debian/copyright | 35 +++++++++ debian/dirs | 4 + debian/rules | 118 ++++++++++++++++++++++++++++ src/usr/lib/hildon-desktop/comic-widget.py | 46 +++++++---- 8 files changed, 273 insertions(+), 68 deletions(-) delete mode 100644 build-comic-widget.py create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/copyright create mode 100644 debian/dirs create mode 100644 debian/rules diff --git a/build-comic-widget.py b/build-comic-widget.py deleted file mode 100644 index 13b0708..0000000 --- a/build-comic-widget.py +++ /dev/null @@ -1,54 +0,0 @@ -#!/usr/bin/python2.5 -# -*- coding: utf-8 -*- -## 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; version 2 only. -## -## 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. -## -import py2deb -import os -if __name__ == "__main__": - try: - os.chdir(os.path.dirname(sys.argv[0])) - except: - pass - print - p=py2deb.Py2deb("comic-widget") #This is the package name and MUST be in lowercase! (using e.g. "mClock" fails miserably...) - p.description="A widget that displays comics taken from the web." - p.author="Marcus Wikstrom" - p.mail="mece@ovi.com" - p.depends = "python2.5, python-osso, python-gtk2, python-hildon, python-hildondesktop, python2.5-cairo, hildon-desktop-python-loader" - p.section="user/desktop" - p.icon = "/home/user/MyDocs/python/comic-widget/source-images/icon.png" - p.arch="all" #should be all for python, any for all arch - p.urgency="low" #not used in maemo onl for deb os - p.distribution="fremantle" - p.repository="extras-devel" - p.xsbc_bugtracker="http://bugs.maemo.org" - # p.postinstall="""#!/bin/sh - # chmod +x /usr/bin/mclock.py""" #Set here your post install script - # p.postremove="""#!/bin/sh - # chmod +x /usr/bin/mclock.py""" #Set here your post remove script - # p.preinstall="""#!/bin/sh - # chmod +x /usr/bin/mclock.py""" #Set here your pre install script - # p.preremove="""#!/bin/sh - # chmod +x /usr/bin/mclock.py""" #Set here your pre remove script - version = "0.2.5" #Version of your software, e.g. "1.2.0" or "0.8.2" - build = "1" #Build number, e.g. "1" for the first build of this version of your software. Increment for later re-builds of the same version of your software. - #Text with changelog information to be displayed in the package "Details" tab of the Maemo Application Manager - changeloginformation = "First build. Here be dragons!" - dir_name = "src" #Name of the subfolder containing your package source files (e.g. usr\share\icons\hicolor\scalable\myappicon.svg, usr\lib\myapp\somelib.py). We suggest to leave it named src in all projects and will refer to that in the wiki article on maemo.org - #Thanks to DareTheHair from talk.maemo.org for this snippet that recursively builds the file list - for root, dirs, files in os.walk(dir_name): - real_dir = root[len(dir_name):] - fake_file = [] - for f in files: - fake_file.append(root + os.sep + f + "|" + f) - if len(fake_file) > 0: - p[real_dir] = fake_file - print p - r = p.generate(version,build,changelog=changeloginformation,tar=True,dsc=True,changes=True,build=False,src=True) diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..eca62d7 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +comic-widget (0.2.5-1) stable; urgency=low + + First build. Here be dragons! + + -- Marcus Wikstrom Sun, 31 Jan 2010 02:58:18 +0000 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..7ed6ff8 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +5 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..834c2ef --- /dev/null +++ b/debian/control @@ -0,0 +1,78 @@ +Source: comic-widget +Section: user/desktop +Priority: extra +Maintainer: Marcus Wikstrom +Build-Depends: debhelper (>= 5) +Standards-Version: 3.7.2 + +Package: comic-widget +Architecture: all +Depends: python2.5, python-osso, python-gtk2, python-hildon, python-hildondesktop, python2.5-cairo, hildon-desktop-python-loader +Description: A widget that displays comics taken from the web. +XB-Maemo-Icon-26: + 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 \ No newline at end of file diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..c310995 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,35 @@ +This package was py2debianized(0.5.1) by Marcus Wikstrom on +Sun, 31 Jan 2010 02:58:18 +0000. + +It was downloaded from + +Upstream Author: Marcus Wikstrom + +Copyright: 2010 by Marcus Wikstrom + +License: + + + This package 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 package 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 package; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + +On Debian systems, the complete text of the GNU General +Public License can be found in `/usr/share/common-licenses/GPL'. + + +The Debian packaging is (C) 2010, Marcus Wikstrom and +is licensed under the GPL, see above. + +# Please also look if there are files or directories which have a +# different copyright/license attached and list them here. diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 0000000..3c241e3 --- /dev/null +++ b/debian/dirs @@ -0,0 +1,4 @@ +opt/comic-widget/db/ +opt/comic-widget/images/ +usr/lib/hildon-desktop/ +usr/share/applications/hildon-home/ \ No newline at end of file diff --git a/debian/rules b/debian/rules new file mode 100644 index 0000000..aafe1b2 --- /dev/null +++ b/debian/rules @@ -0,0 +1,118 @@ +#!/usr/bin/make -f +# -*- makefile -*- +# Sample debian/rules that uses debhelper. +# This file was originally written by Joey Hess and Craig Small. +# As a special exception, when this file is copied by dh-make into a +# dh-make output file, you may use that output file without restriction. +# This special exception was added by Craig Small in version 0.37 of dh-make. + +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 + +CFLAGS = -Wall -g + +ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) + CFLAGS += -O0 +else + CFLAGS += -O2 +endif + +configure: configure-stamp +configure-stamp: + dh_testdir + # Add here commands to configure the package. + + touch configure-stamp + +build: build-stamp + +build-stamp: configure-stamp + dh_testdir + touch build-stamp + +clean: + dh_testdir + dh_testroot + rm -f build-stamp configure-stamp + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # ====================================================== + #$(MAKE) DESTDIR="$(CURDIR)/debian/comic-widget" install + mkdir -p "$(CURDIR)/debian/comic-widget" + +# mkdir -p "$(CURDIR)/debian/comic-widget/usr/lib/hildon-desktop/" + cp -a "src/usr/lib/hildon-desktop/comic-widget.py" "$(CURDIR)/debian/comic-widget/usr/lib/hildon-desktop/comic-widget.py" + mkdir -p "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/" + cp -a "src/opt/comic-widget/images/down0-48x48.png" "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/down0-48x48.png" + mkdir -p "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/" + cp -a "src/opt/comic-widget/images/down1-48x48.png" "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/down1-48x48.png" + mkdir -p "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/" + cp -a "src/opt/comic-widget/images/next0-48x48.png" "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/next0-48x48.png" + mkdir -p "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/" + cp -a "src/opt/comic-widget/images/next1-48x48.png" "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/next1-48x48.png" + mkdir -p "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/" + cp -a "src/opt/comic-widget/images/prev0-48x48.png" "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/prev0-48x48.png" + mkdir -p "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/" + cp -a "src/opt/comic-widget/images/prev1-48x48.png" "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/prev1-48x48.png" + mkdir -p "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/" + cp -a "src/opt/comic-widget/images/switch0-48x48.png" "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/switch0-48x48.png" + mkdir -p "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/" + cp -a "src/opt/comic-widget/images/switch1-48x48.png" "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/switch1-48x48.png" + mkdir -p "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/" + cp -a "src/opt/comic-widget/images/up0-48x48.png" "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/up0-48x48.png" + mkdir -p "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/" + cp -a "src/opt/comic-widget/images/up1-48x48.png" "$(CURDIR)/debian/comic-widget/opt/comic-widget/images/up1-48x48.png" + mkdir -p "$(CURDIR)/debian/comic-widget/opt/comic-widget/db/" + cp -a "src/opt/comic-widget/db/comicdb.dilbert.csv" "$(CURDIR)/debian/comic-widget/opt/comic-widget/db/comicdb.dilbert.csv" + mkdir -p "$(CURDIR)/debian/comic-widget/opt/comic-widget/db/" + cp -a "src/opt/comic-widget/db/comicdb.sinfest.csv" "$(CURDIR)/debian/comic-widget/opt/comic-widget/db/comicdb.sinfest.csv" + mkdir -p "$(CURDIR)/debian/comic-widget/opt/comic-widget/db/" + cp -a "src/opt/comic-widget/db/comicdb.xkcd.csv" "$(CURDIR)/debian/comic-widget/opt/comic-widget/db/comicdb.xkcd.csv" + mkdir -p "$(CURDIR)/debian/comic-widget/usr/share/applications/hildon-home/" + cp -a "src/usr/share/applications/hildon-home/comic-widget.desktop" "$(CURDIR)/debian/comic-widget/usr/share/applications/hildon-home/comic-widget.desktop" + + # ====================================================== + +# Build architecture-independent files here. +binary-indep: build install +# We have nothing to do by default. + +# Build architecture-dependent files here. +binary-arch: build install + dh_testdir + dh_testroot + dh_installchangelogs debian/changelog + dh_installdocs + dh_installexamples +# dh_install +# dh_installmenu +# dh_installdebconf +# dh_installlogrotate +# dh_installemacsen +# dh_installpam +# dh_installmime +# dh_python +# dh_installinit +# dh_installcron +# dh_installinfo + dh_installman + dh_link + dh_strip + dh_compress + dh_fixperms +# dh_perl +# dh_makeshlibs + dh_installdeb + dh_shlibdeps + dh_gencontrol + dh_md5sums + dh_builddeb + +binary: binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install configure diff --git a/src/usr/lib/hildon-desktop/comic-widget.py b/src/usr/lib/hildon-desktop/comic-widget.py index da6fac9..6c3ae6e 100644 --- a/src/usr/lib/hildon-desktop/comic-widget.py +++ b/src/usr/lib/hildon-desktop/comic-widget.py @@ -9,6 +9,7 @@ import os import osso import cairo import datetime +import shutil supports_alpha = False @@ -16,8 +17,9 @@ supports_alpha = False # comiccache is the location of the images APP_VERSION = "0.2.5" +basedbdir = "/opt/comic-widget/db/" imagedir = "/opt/comic-widget/images/" -dbdir = "/opt/comic-widget/db/" +dbdir = "/home/user/.comic-widget/" comiccache = "/home/user/MyDocs/.comics/" comics = {"xkcd":{"name":"xkcd","link":"http://xkcd.org/","start":666,"dbfile":dbdir + "comicdb.xkcd.csv"}, "sinfest":{"name":"Sinfest","link":"http://sinfest.com/","start":3400,"dbfile":dbdir + "comicdb.sinfest.csv"}, @@ -35,19 +37,7 @@ class ComicDb(): if os.path.isfile(self.dbfile) == True: dbf = open(self.dbfile, 'r') # if not, create it. - else: - dbf = open(self.dbfile, 'w') - dbf.write('comic,id,link,url,filename,title\n') - dbf.close() - dbf = open(self.dbfile, 'r') - self.fetch_latest_std(self.comic, self.start) - - if not os.path.exists(comiccache + self.comic + "/"): - try: - os.makedirs(comiccache + self.comic + "/") - except: - print "comic cache creation failed" - exit() + dbf = self.get_dbfile() dbr = csv.DictReader(dbf) self.db = [] for row in dbr: @@ -55,6 +45,34 @@ class ComicDb(): dbf.close() self.currentcomic = 0 + + + def get_dbfile(self): + #if db file exist, read it + if os.path.isfile(self.dbfile) == True: + dbf = open(self.dbfile, 'r') + return dbf + # if not, copy it. + else: + if not os.path.exists(dbdir): + try: + os.makedirs(dbdir) + except: + print "comic db creation failed on mkdir" + exit() + try: + shutil.copyfile(basedbdir + "comicdb." + self.comic + ".csv", dbdir + "comicdb." + self.comic + ".csv") + except: + print "comic db creation failed on copy" + exit() + if os.path.isfile(self.dbfile) == True: + dbf = open(self.dbfile, 'r') + return dbf + else: + print "comic db creation failed after copy" + exit() + + def get_comic(self): print str(self.currentcomic) if self.currentcomic < 0: -- 1.7.9.5