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__
22 * A condensed view of unit conversion for those who so chose
23 * Changed the way windows handle closing
27 __postinstall__ = """#!/bin/sh -e
29 gtk-update-icon-cache -f /usr/share/icons/hicolor
30 rm -f ~/.gonvert/gonvert.log ~/.gonvert/selections.dat ~/.gonvert/window.dat
33 __preremove__ = """#!/bin/sh -e
37 def find_files(prefix, path):
38 for root, dirs, files in os.walk(path):
40 if file.startswith(prefix+"-"):
41 fileParts = file.split("-")
42 unused, relPathParts, newName = fileParts[0], fileParts[1:-1], fileParts[-1]
43 assert unused == prefix
44 relPath = os.sep.join(relPathParts)
45 yield relPath, file, newName
48 def unflatten_files(files):
50 for relPath, oldName, newName in files:
53 d[relPath].append((oldName, newName))
57 def build_package(distribution):
59 os.chdir(os.path.dirname(sys.argv[0]))
63 py2deb.Py2deb.SECTIONS = py2deb.SECTIONS_BY_POLICY[distribution]
64 p = py2deb.Py2deb(__appname__)
65 p.prettyName = constants.__pretty_app_name__
66 p.description = __description__
67 p.bugTracker = "https://bugs.maemo.org/enter_bug.cgi?product=Gonvert"
71 p.depends = ", ".join([
72 "python2.6 | python2.5",
76 "debian": ", python-qt4",
77 "diablo": ", python2.5-qt4-core, python2.5-qt4-gui",
78 "fremantle": ", python2.5-qt4-core, python2.5-qt4-gui, python2.5-qt4-maemo5",
80 p.recommends = ", ".join([
84 "diablo": "user/science",
85 "fremantle": "user/science",
89 p.distribution = "diablo fremantle debian"
90 p.repository = "extras"
91 p.changelog = __changelog__
92 p.postinstall = __postinstall__
93 p.preremove = __preremove__
95 "debian": "data-pixmaps-gonvert.png",
96 "diablo": "data-pixmaps-gonvert.png",
97 "fremantle": "data-pixmaps-gonvert.png", # Fremantle natively uses 48x48
99 p["/opt/gonvert/bin"] = [ "gonvert.py" ]
100 for relPath, files in unflatten_files(find_files("src", ".")).iteritems():
101 fullPath = "/opt/gonvert/lib"
103 fullPath += os.sep+relPath
105 "|".join((oldName, newName))
106 for (oldName, newName) in files
108 for relPath, files in unflatten_files(find_files("data", ".")).iteritems():
109 fullPath = "/opt/gonvert/share"
111 fullPath += os.sep+relPath
113 "|".join((oldName, newName))
114 for (oldName, newName) in files
116 p["/usr/share/applications/hildon"] = ["gonvert.desktop"]
117 p["/usr/share/icons/hicolor/26x26/hildon"] = ["data-pixmaps-gonvert.png|gonvert.png"]
118 p["/usr/share/icons/hicolor/64x64/hildon"] = ["data-pixmaps-gonvert.png|gonvert.png"]
119 p["/usr/share/icons/hicolor/scalable/hildon"] = ["data-pixmaps-gonvert.png|gonvert.png"]
121 if distribution == "debian":
124 version="%s-%s" % (__version__, __build__),
125 changelog=__changelog__,
131 print "Building for %s finished" % distribution
135 version="%s-%s" % (__version__, __build__),
136 changelog=__changelog__,
142 print "Building for %s finished" % distribution
145 if __name__ == "__main__":
146 if len(sys.argv) > 1:
152 if optparse is not None:
153 parser = optparse.OptionParser()
154 (commandOptions, commandArgs) = parser.parse_args()
157 commandArgs = ["diablo"]
158 build_package(commandArgs[0])