11 __appname__ = constants.__app_name__
12 __description__ = """Unit Conversions
13 A conversion utility that allows conversion between many units like CGS, Ancient, Imperial with many categories like length, mass, numbers, etc. All units converted values shown at once as you type
15 Homepage: http://www.unihedron.com/projects/gonvert/index.php
17 __author__ = "Anthony Tekatch"
18 __email__ = "anthony@unihedron.com"
19 __version__ = constants.__version__
20 __build__ = constants.__build__
26 __postinstall__ = """#!/bin/sh -e
28 gtk-update-icon-cache -f /usr/share/icons/hicolor
29 rm -f ~/.gonvert/gonvert.log ~/.gonvert/selections.dat ~/.gonvert/window.dat
32 __preremove__ = """#!/bin/sh -e
36 def find_files(prefix, path):
37 for root, dirs, files in os.walk(path):
39 if file.startswith(prefix+"-"):
40 fileParts = file.split("-")
41 unused, relPathParts, newName = fileParts[0], fileParts[1:-1], fileParts[-1]
42 assert unused == prefix
43 relPath = os.sep.join(relPathParts)
44 yield relPath, file, newName
47 def unflatten_files(files):
49 for relPath, oldName, newName in files:
52 d[relPath].append((oldName, newName))
56 def build_package(distribution):
58 os.chdir(os.path.dirname(sys.argv[0]))
62 py2deb.Py2deb.SECTIONS = py2deb.SECTIONS_BY_POLICY[distribution]
63 p = py2deb.Py2deb(__appname__)
64 p.prettyName = constants.__pretty_app_name__
65 p.description = __description__
66 p.bugTracker = "https://bugs.maemo.org/enter_bug.cgi?product=Gonvert"
70 p.depends = ", ".join([
71 "python2.6 | python2.5",
75 "debian": ", python-qt4",
76 "diablo": ", python2.5-qt4-core, python2.5-qt4-gui",
77 "fremantle": ", python2.5-qt4-core, python2.5-qt4-gui, python2.5-qt4-maemo5",
79 p.recommends = ", ".join([
83 "diablo": "user/science",
84 "fremantle": "user/science",
88 p.distribution = "diablo fremantle debian"
89 p.repository = "extras"
90 p.changelog = __changelog__
91 p.postinstall = __postinstall__
92 p.preremove = __preremove__
94 "debian": "data-pixmaps-gonvert.png",
95 "diablo": "data-pixmaps-gonvert.png",
96 "fremantle": "data-pixmaps-gonvert.png", # Fremantle natively uses 48x48
98 p["/usr/bin"] = [ "gonvert.py" ]
99 for relPath, files in unflatten_files(find_files("src", ".")).iteritems():
100 fullPath = "/usr/lib/gonvert"
102 fullPath += os.sep+relPath
104 "|".join((oldName, newName))
105 for (oldName, newName) in files
107 for relPath, files in unflatten_files(find_files("data", ".")).iteritems():
108 fullPath = "/usr/share/gonvert"
110 fullPath += os.sep+relPath
112 "|".join((oldName, newName))
113 for (oldName, newName) in files
115 p["/usr/share/applications/hildon"] = ["gonvert.desktop"]
116 p["/usr/share/icons/hicolor/26x26/hildon"] = ["data-pixmaps-gonvert.png|gonvert.png"]
117 p["/usr/share/icons/hicolor/64x64/hildon"] = ["data-pixmaps-gonvert.png|gonvert.png"]
118 p["/usr/share/icons/hicolor/scalable/hildon"] = ["data-pixmaps-gonvert.png|gonvert.png"]
120 if distribution == "debian":
123 version="%s-%s" % (__version__, __build__),
124 changelog=__changelog__,
130 print "Building for %s finished" % distribution
134 version="%s-%s" % (__version__, __build__),
135 changelog=__changelog__,
141 print "Building for %s finished" % distribution
144 if __name__ == "__main__":
145 if len(sys.argv) > 1:
151 if optparse is not None:
152 parser = optparse.OptionParser()
153 (commandOptions, commandArgs) = parser.parse_args()
156 commandArgs = ["diablo"]
157 build_package(commandArgs[0])