1 #!/usr/bin/env python
\r
9 import fake_py2deb as py2deb
\r
14 __app_name__ = constants.__app_name__
\r
15 __description__ = """Very simple Audiobook player.
\r
16 Supports playing, pausing, seeking (sort of) and saving state when changing book/closing.
\r
17 Plays books arranged as dirs under myDocs/Audiobooks
\r
19 Homepage: http://wiki.maemo.org/Nqaap"""
\r
20 __author__ = "Soeren 'Pengman' Pedersen"
\r
21 __email__ = "pengmeister@gmail.com"
\r
22 __version__ = constants.__version__
\r
23 __build__ = constants.__build__
\r
28 __postinstall__ = """#!/bin/sh -e
\r
30 gtk-update-icon-cache -f /usr/share/icons/hicolor
\r
31 rm -f ~/.%(name)s/%(name)s.log
\r
32 """ % {"name": constants.__app_name__}
\r
35 def find_files(prefix, path):
\r
36 for root, dirs, files in os.walk(path):
\r
38 if file.startswith(prefix+"-"):
\r
39 fileParts = file.split("-")
\r
40 unused, relPathParts, newName = fileParts[0], fileParts[1:-1], fileParts[-1]
\r
41 assert unused == prefix
\r
42 relPath = os.sep.join(relPathParts)
\r
43 yield relPath, file, newName
\r
46 def unflatten_files(files):
\r
48 for relPath, oldName, newName in files:
\r
49 if relPath not in d:
\r
51 d[relPath].append((oldName, newName))
\r
55 def build_package(distribution):
\r
57 os.chdir(os.path.dirname(sys.argv[0]))
\r
61 py2deb.Py2deb.SECTIONS = py2deb.SECTIONS_BY_POLICY[distribution]
\r
62 p = py2deb.Py2deb(__app_name__)
\r
63 p.prettyName = constants.__pretty_app_name__
\r
64 p.description = __description__
\r
65 p.bugTracker="https://bugs.maemo.org/enter_bug.cgi?product=nQa%%20Audiobook%%20Player"
\r
66 p.author = __author__
\r
69 p.depends = ", ".join([
\r
70 "python2.6 | python2.5",
\r
71 "python-gtk2 | python2.5-gtk2",
\r
72 "python-dbus | python2.5-dbus",
\r
73 "python-telepathy | python2.5-telepathy",
\r
74 "python-gobject | python2.5-gobject",
\r
75 "python-simplejson",
\r
77 maemoSpecificDepends = ", python-osso | python2.5-osso, python-hildon | python2.5-hildon"
\r
79 "debian": ", python-gst0.10",
\r
80 "diablo": maemoSpecificDepends,
\r
81 "fremantle": maemoSpecificDepends + ", python-gst0.10",
\r
85 "diablo": "user/multimedia",
\r
86 "fremantle": "user/multimedia",
\r
90 p.distribution=distribution
\r
91 p.repository="extras"
\r
92 p.changelog = __changelog__
\r
93 p.postinstall = __postinstall__
\r
95 "debian": "26x26-%s.png" % constants.__app_name__,
\r
96 "diablo": "26x26-%s.png" % constants.__app_name__,
\r
97 "fremantle": "48x48-%s.png" % constants.__app_name__,
\r
99 p["/opt/%s/bin" % constants.__app_name__] = [ "%s.py" % constants.__app_name__ ]
\r
100 for relPath, files in unflatten_files(find_files("src", ".")).iteritems():
\r
101 fullPath = "/opt/%s/lib" % constants.__app_name__
\r
103 fullPath += os.sep+relPath
\r
104 p[fullPath] = list(
\r
105 "|".join((oldName, newName))
\r
106 for (oldName, newName) in files
\r
108 p["/usr/share/applications/hildon"] = ["%s.desktop" % constants.__app_name__]
\r
109 p["/usr/share/icons/hicolor/26x26/hildon"] = ["26x26-%s.png" % constants.__app_name__]
\r
110 p["/usr/share/icons/hicolor/48x48/hildon"] = ["48x48-%s.png" % constants.__app_name__]
\r
111 p["/usr/share/icons/hicolor/64x64/hildon"] = ["64x64-%s.png" % constants.__app_name__]
\r
112 p["/usr/share/icons/hicolor/scalable/hildon"] = ["scale-%s.png" % constants.__app_name__]
\r
115 if distribution == "debian":
\r
117 version="%s-%s" % (__version__, __build__),
\r
118 changelog=__changelog__,
\r
126 version="%s-%s" % (__version__, __build__),
\r
127 changelog=__changelog__,
\r
133 print "Building for %s finished" % distribution
\r
136 if __name__ == "__main__":
\r
137 if len(sys.argv) == 1:
\r
138 distribution = "fremantle"
\r
140 distribution = sys.argv[1]
\r
141 build_package(distribution)
\r