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
25 * Cleaning up some of the code
\r
26 * Making loading old settings more resiliant
\r
30 __postinstall__ = """#!/bin/sh -e
\r
32 gtk-update-icon-cache -f /usr/share/icons/hicolor
\r
33 rm -f ~/.%(name)s/%(name)s.log
\r
34 """ % {"name": constants.__app_name__}
\r
37 def find_files(prefix, path):
\r
38 for root, dirs, files in os.walk(path):
\r
40 if file.startswith(prefix+"-"):
\r
41 fileParts = file.split("-")
\r
42 unused, relPathParts, newName = fileParts[0], fileParts[1:-1], fileParts[-1]
\r
43 assert unused == prefix
\r
44 relPath = os.sep.join(relPathParts)
\r
45 yield relPath, file, newName
\r
48 def unflatten_files(files):
\r
50 for relPath, oldName, newName in files:
\r
51 if relPath not in d:
\r
53 d[relPath].append((oldName, newName))
\r
57 def build_package(distribution):
\r
59 os.chdir(os.path.dirname(sys.argv[0]))
\r
63 py2deb.Py2deb.SECTIONS = py2deb.SECTIONS_BY_POLICY[distribution]
\r
64 p = py2deb.Py2deb(__app_name__)
\r
65 p.prettyName = constants.__pretty_app_name__
\r
66 p.description = __description__
\r
67 p.bugTracker="https://bugs.maemo.org/enter_bug.cgi?product=nQa%%20Audiobook%%20Player"
\r
68 p.author = __author__
\r
71 p.depends = ", ".join([
\r
72 "python2.6 | python2.5",
\r
73 "python-gtk2 | python2.5-gtk2",
\r
74 "python-dbus | python2.5-dbus",
\r
75 "python-telepathy | python2.5-telepathy",
\r
76 "python-gobject | python2.5-gobject",
\r
77 "python-simplejson",
\r
79 maemoSpecificDepends = ", python-osso | python2.5-osso, python-hildon | python2.5-hildon"
\r
81 "debian": ", python-gst0.10",
\r
82 "diablo": maemoSpecificDepends,
\r
83 "fremantle": maemoSpecificDepends + ", python-gst0.10",
\r
87 "diablo": "user/multimedia",
\r
88 "fremantle": "user/multimedia",
\r
92 p.distribution=distribution
\r
93 p.repository="extras"
\r
94 p.changelog = __changelog__
\r
95 p.postinstall = __postinstall__
\r
97 "debian": "26x26-%s.png" % constants.__app_name__,
\r
98 "diablo": "26x26-%s.png" % constants.__app_name__,
\r
99 "fremantle": "48x48-%s.png" % constants.__app_name__,
\r
101 p["/opt/%s/bin" % constants.__app_name__] = [ "%s.py" % constants.__app_name__ ]
\r
102 for relPath, files in unflatten_files(find_files("src", ".")).iteritems():
\r
103 fullPath = "/opt/%s/lib" % constants.__app_name__
\r
105 fullPath += os.sep+relPath
\r
106 p[fullPath] = list(
\r
107 "|".join((oldName, newName))
\r
108 for (oldName, newName) in files
\r
110 p["/usr/share/applications/hildon"] = ["%s.desktop" % constants.__app_name__]
\r
111 p["/usr/share/icons/hicolor/26x26/hildon"] = ["26x26-%s.png" % constants.__app_name__]
\r
112 p["/usr/share/icons/hicolor/48x48/hildon"] = ["48x48-%s.png" % constants.__app_name__]
\r
113 p["/usr/share/icons/hicolor/64x64/hildon"] = ["64x64-%s.png" % constants.__app_name__]
\r
114 p["/usr/share/icons/hicolor/scalable/hildon"] = ["scale-%s.png" % constants.__app_name__]
\r
117 if distribution == "debian":
\r
119 version="%s-%s" % (__version__, __build__),
\r
120 changelog=__changelog__,
\r
128 version="%s-%s" % (__version__, __build__),
\r
129 changelog=__changelog__,
\r
135 print "Building for %s finished" % distribution
\r
138 if __name__ == "__main__":
\r
139 if len(sys.argv) == 1:
\r
140 distribution = "fremantle"
\r
142 distribution = sys.argv[1]
\r
143 build_package(distribution)
\r