Fixing a fremantle dependency that I somehow missed
[gc-dialer] / support / builddeb.py
index aeece00..03f7035 100755 (executable)
@@ -16,8 +16,56 @@ __description__ = "Touch screen enhanced interface to the GoogleVoice/GrandCentr
 __author__ = "Ed Page"
 __email__ = "eopage@byu.net"
 __version__ = constants.__version__
-__build__ = 0
-__changelog__ = '''
+__build__ = constants.__build__
+__changelog__ = """
+1.0.6
+* Adding seperator between dialcentral launches in log
+* Implemented a work around for https://bugs.maemo.org/show_bug.cgi?id=4957
+* Disables notifications on uninstall
+* Including a vastly improved py2deb for better packages (icons on package, etc)
+* Tweaked sizes of stuff on recent tab
+* Starting some work on rotation support for fremantle
+* Made startup more error resistant
+* Bug Fix: some dependencies for Diablo
+* Bug Fix: Error on refreshing tabs when not logged in
+* Bug Fix: #4471 Notification Checkbox Won't Stay Checked (hour roll over error)
+* Bug Fix: Phone numbers in voicemails wouldn't appear
+* Bug Fix: category for Fremantle/Diablo
+* Bug Fix: needing to manually create "~/.dialcentral" due to earlier logging changes
+* Bug Fix: dependencies for fremantle
+
+1.0.5
+* Contacts Tab remembers the last address book viewed on restart
+* Applied some suggested changes for being more thumb friendly
+* Messaging Dialog auto-scrolls to bottom
+* Removed GrandCentral support
+* Numbers can now be entered immediately, before login
+* Bug Fix: Not clearing the entered number on sending an SMS
+* Bug Fix: Disabling SMS button when logged off
+* Bug Fix: Trying to make SMS and phone selection dialogs more readable
+* Bug Fix: Adding some more thumb scrollbars
+
+1.0.4
+* "Back" button and tabs now visually indicate when they've entered a "hold" state
+* Fixed the duplicate title on Maemo
+* Removing some device connection observer code due to high bug to low benefit ratio
+* Notification support
+* Fixed a bug from 1.0.3 where once you refreshed a tab by holding on it, every tab would then be forced to refresh
+
+1.0.3
+* Holding down a tab for a second will now force a refresh
+* Fixed a bug dealing with overzealously refreshing the contacts tab
+* Finding some undescriptive errors and made them more descriptive
+* Swapped the order GrandCentral and GoogleVoice appear in login window
+* Fixed the "Recent" and "Message" tabs, google changed things on me again
+
+1.0.2
+* Random bug fixes
+* Random performance improvements
+
+1.0.1
+* Fixed a voicemail transcripts due to a GoogleVoice change
+
 1.0.0
 * Added names to the recent tab for GoogleVoice
 
@@ -93,13 +141,18 @@ __changelog__ = '''
  * Hold down back to clear number
  * Standard about dialog
  * many more smaller fixes
-'''
+"""
 
 
-__postinstall__ = '''#!/bin/sh -e
+__postinstall__ = """#!/bin/sh -e
 
 gtk-update-icon-cache -f /usr/share/icons/hicolor
-'''
+"""
+
+__preremove__ = """#!/bin/sh -e
+
+python /usr/lib/dialcentral/alarm_handler.py -d || true
+"""
 
 
 def find_files(path):
@@ -122,25 +175,48 @@ def unflatten_files(files):
        return d
 
 
-if __name__ == "__main__":
+def build_package(distribution):
        try:
                os.chdir(os.path.dirname(sys.argv[0]))
        except:
                pass
 
+       py2deb.Py2deb.SECTIONS = py2deb.SECTIONS_BY_POLICY[distribution]
        p = py2deb.Py2deb(__appname__)
        p.description = __description__
        p.author = __author__
        p.mail = __email__
        p.license = "lgpl"
-       p.depends = "python2.5, python2.5-gtk2, python2.5-xml"
-       p.section = "user/communication"
+       p.depends = ", ".join([
+               "python2.6 | python2.5",
+               "python-gtk2 | python2.5-gtk2",
+               "python-xml | python2.5-xml",
+               "python-dbus | python2.5-dbus",
+       ])
+       maemoSpecificDepends = ", python-osso | python2.5-osso, python-hildon | python2.5-hildon"
+       p.depends += {
+               "debian": ", python-glade2",
+               "chinook": maemoSpecificDepends,
+               "diablo": maemoSpecificDepends,
+               "fremantle": maemoSpecificDepends + ", python-glade2",
+               "mer": maemoSpecificDepends + ", python-glade2",
+       }[distribution]
+       p.recommends = ", ".join([
+       ])
+       p.section = {
+               "debian": "comm",
+               "chinook": "communication",
+               "diablo": "user/network",
+               "fremantle": "user/network",
+               "mer": "user/network",
+       }[distribution]
        p.arch = "all"
        p.urgency = "low"
-       p.distribution = "chinook diablo fremantle"
+       p.distribution = "chinook diablo fremantle mer debian"
        p.repository = "extras"
        p.changelog = __changelog__
        p.postinstall = __postinstall__
+       p.preremove = __preremove__
        p.icon = "26x26-dialcentral.png"
        p["/usr/bin"] = [ "dialcentral.py" ]
        for relPath, files in unflatten_files(find_files(".")).iteritems():
@@ -158,6 +234,27 @@ if __name__ == "__main__":
 
        print p
        print p.generate(
-               __version__, __build__, changelog=__changelog__,
-               tar=True, dsc=True, changes=True, build=False, src=True
+               version="%s-%s" % (__version__, __build__),
+               changelog=__changelog__,
+               build=False,
+               tar=True,
+               changes=True,
+               dsc=True,
        )
+       print "Building for %s finished" % distribution
+
+
+if __name__ == "__main__":
+       if len(sys.argv) > 1:
+               try:
+                       import optparse
+               except ImportError:
+                       optparse = None
+
+               if optparse is not None:
+                       parser = optparse.OptionParser()
+                       (commandOptions, commandArgs) = parser.parse_args()
+       else:
+               commandArgs = None
+               commandArgs = ["diablo"]
+       build_package(commandArgs[0])