X-Git-Url: http://git.maemo.org/git/?p=theonering;a=blobdiff_plain;f=support%2Fbuilddeb.py;h=f0c23a15c528a57e3f66ed8196c80aabad369a4d;hp=c910be1887e1d02d5db4689436922111906f9579;hb=f98041e8376b345ae5b02804d66babc7f81ab319;hpb=869f01f31ca4fb49bac4c506953604dc65f04925 diff --git a/support/builddeb.py b/support/builddeb.py index c910be1..f0c23a1 100755 --- a/support/builddeb.py +++ b/support/builddeb.py @@ -1,9 +1,5 @@ #!/usr/bin/python2.5 -""" -@bug In update desrcription stuff -""" - import os import sys @@ -16,165 +12,111 @@ import constants __appname__ = constants.__app_name__ -__description__ = "Touch screen enhanced interface to the GoogleVoice/GrandCentral phone service" +__description__ = """Send/receive texts and initiate GV callbacks all through Conversations and Phone +Features: +. +* Send Texts and Receive both Texts and Voicemail through your chat window (buggy on Maemo 4.1) +. +* Initiate Google Voice callbacks from the dialpad or your contacts +. +* Access to all of your Google Voice contacts (Maemo 4.1 only for now) +. +* Reduce battery drain by setting your status to "Away" +. +* Block incoming calls by switching your status to "Hidden" +. +Note: Google and Google Voice are probably trademarks of Google. This software nor the author has any affiliation with Google +. +Homepage: http://theonering.garage.maemo.org +""" __author__ = "Ed Page" __email__ = "eopage@byu.net" __version__ = constants.__version__ __build__ = constants.__build__ __changelog__ = """ -1.0.6 -* Fremantle Prep: Simplified menus in prep for no menu or the Fremantle App Menu -* Fremantle Prep: Implemented a work around for https://bugs.maemo.org/show_bug.cgi?id=4957 -* Fremantle Prep: Switched to touch selectors for notification time, callback number, and contact addressbook -* Fremantle Prep: Making various widgets pannable rather than scrollable -* Fremantle Prep: CTRL-V added for paste for Dialpad -* Fremantle Prep: CTRL-Enter added for fullscreen -* UI Tweak: Phone selection and SMS Message dialogs now highlight the last message and are easier to scroll -* UI Tweak: Tweaked sizes of stuff on recent tab -* UI Tweak: Added notifcations for various things like login and dialing -* UI Tweak: Switch to accounts tab when logging in and callback is blank as a sublte hint to configure it -* UI Tweak: Switch to accounts tab on failed login to remind the user they are not logged in -* Packaging: Disables notifications on uninstall -* Packaging: Including a vastly improved py2deb for better packages (icons on package, etc) -* Debugging: Adding seperator between dialcentral launches in log -* Bug Fix: 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 -* Bug Fix: Issues when trying to stack error messages -* Bug Fix: Python2.6 deprecates some stuff I did -* Bug Fix: On refreshing the Accounts tab, the callback number resets to the number from startup - -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 - -0.9.9 -* SMS From Dialpad -* Display of names for messages tab -* Condensed messages/recent's date column - -0.9.8 - * Added columns to recent view and messages view to help seperate messages - * Attempted refreshing session on dial/sms send - * Fixed a GC Bug - * Minor bug fixes as usual - -0.9.7 - * Switched to Force Refresh for when wanting to check for more messages - * Removed timeouts that forced refreshes on various tabs - * Added support for a settings file, fairly primitive right now - * Fixed Maemo Support - * Lots of major and minor bug fixes - -0.9.6 - * Experimenting with the tabs being on the side - * Now the phone selector is used always, even if there is just one phone number - * Added a Messages Tab, which displays SMS and Voicemail messages - * Added option to send SMS messages - -0.9.5 - * Fixed a login issue due to Google changing their webpage - -0.9.4 - "" - * Misc Bug fixes and experiments - -0.9.3 - "" - * Removed the much disliked contact source ID - * Added saving of callback number when using GoogleVoice - * Got proper formatting on things ("&" rather than "&") - * Misc Bug fixes - -0.9.2 - "Two heads are better than one" - * Adding of UI to switch between GC and GV - * Minimized flashing the dial button between grayed out and not on startup - * Bug fixes - -0.9.1 - "Get your hands off that" - * GoogleVoice Support, what a pain - * More flexible CSV support. It now checks the header row for what column name/number are in - * Experimenting with faster startup by caching PYC files with the package - * Fixing of some bad error handling - * More debug output for when people run into issues - -0.9.0 - "Slick as snot" - * Caching of contacts - * Refactoring to make working with the code easier - * Filesystem backed contacts but currently only supporting a specific csv format - * Gracefully handle lack of connection and connection transitions - * Gracefully handle failed login - * A tiny bit better error reporting - -0.8.3 - "Extras Love" - * Version bump fighting the extras autobuilder, I hope this works - -0.8.2 - "Feed is for horses, so what about feedback?" - * Merged addressbook - * many more smaller fixes - -0.8.1 - "Two Beers" - * Thumb scrollbars ( Kudos Khertan ) - -0.8.0 - "Spit and polish" - * Addressbook support - * threaded networking for better interactivity - * Hold down back to clear number - * Standard about dialog - * many more smaller fixes +0.7.11 +* Bugfix: Attempting to improve the behavior of calls by reducing potential RTComm errors +* Bugfix: Issues with weird unexpected disconnect issues +* Bugfix: I guess I made a mistake in registering for system signals, whoops +* Bugfix: Following more closely the Telepathy spec by doing connects and disconnects asynchronously + +0.7.10 +* Increased the network timeout when connecting to GV +* Bugfix: On connection failure, the connection would be left around, preventing future connections + +0.7.9 +* Bugfix: Disconnect/Reconnect issues seem to be lessoned for me (What I previously thought was a bugfix turned out to cause several bugs.) + +0.7.8 +* Bugfix: Issues with checking for new conversations + +0.7.7 +* On change between available/away, start state_machine at max rather than min, reducing overhead +* Added a check for voicemails on missed/rejected calls (checks 3 times, 1 minute apart each) +* Adjusted default polling times to be more battery cautious for our n8x0 friends who can't change things right now +* Bugfix: Some of the derived polling settings had bugs +* Bugfix: Setting text polling to infinite would still have polling done if one sent a text + +0.7.6 +* On login, polling now starts at the max time rather than the min, reducing overhead +* Bugfix: Polling configuration wasn't actually hooked up to anything +* Debug Prompt: Made it so you can either reset one or all state machines (Rather than just all) + +0.7.5 +* Fixing a polling time bug introduced when making polling configurable + +0.7.4 +* Fixing a bug with deny-lists + +0.7.3 +* Fixing bug with being able to configure polling times + +0.7.2 +* Added a Deny list +* Added option to make GV Contacts optional +* Added a limit, where if a state machine period is longer than it, than we set the period to infinite +* Delayed when we say the connection is disconnected to hopefully help random issues +* Tweaked how The One Ring shows up in the addressbook (Maemo 5) +* Made polling configurable +* Delayed auto-disconnect in case the user is just switching network connections (Maemo 4.1) +* Bugfix: Removed superfluous blank message from debug prompt +* Bugfix: Moved some more (very minor, very rarely used) timeouts to second resolution reducing overhead +* Bugfix: debug prompt commands handled command validation poorly +* Debug Prompt: Added a "version" command +* Debug Prompt: Added a "get_polling" command to find out what the actual polling periods are +* Debug Prompt: Added a "grab_log" command which is a broken but means to offer the log file through a file transfer +* Debug Prompt: Added a "save_log" command to help till grab_log works and for where file transfers aren't supported by clients + +0.7.1 +* Reducing the race window where GV will mark messages as read accidently +* Modified some things blindly "because thats what Butterfly does" +* Modified some support files to mimic other plugins on Maemo 5 PR1.1 +* Added link to bug tracker and moved all bugs and enhancements to it +* Switched contacts to being away by default upon user feedback +* Adjusting handling of call states to at least allow the option of clients to provide clearer information to the user +* Fixing some bugs with handling a variety of phone number formats +* Removed a hack that changed the number being called, most likely put in place in a bygone era + +0.7.0 +* Initial beta release for Maemo 5 +* Late Alpha for Maemo 4.1 with horrible consequences like crashing RTComm + +0.1.0 +* Pre-Alpha Development Release """ __postinstall__ = """#!/bin/sh -e gtk-update-icon-cache -f /usr/share/icons/hicolor +rm -f ~/.telepathy-theonering/theonering.log """ -__preremove__ = """#!/bin/sh -e - -python /usr/lib/dialcentral/alarm_handler.py -d || true -""" - - def find_files(path): for root, dirs, files in os.walk(path): for file in files: - if file.startswith("src-"): - fileParts = file.split("-") + if file.startswith("src!"): + fileParts = file.split("!") unused, relPathParts, newName = fileParts[0], fileParts[1:-1], fileParts[-1] assert unused == "src" relPath = os.sep.join(relPathParts) @@ -198,72 +140,85 @@ def build_package(distribution): py2deb.Py2deb.SECTIONS = py2deb.SECTIONS_BY_POLICY[distribution] p = py2deb.Py2deb(__appname__) + if distribution == "debian": + p.prettyName = constants.__pretty_app_name__ + else: + p.prettyName = "Google Voice plugin for Conversations and Calls" p.description = __description__ - p.upgradeDescription = __changelog__.split("\n\n", 1)[0] + p.bugTracker = "https://bugs.maemo.org/enter_bug.cgi?product=The%%20One%%20Ring" + #p.upgradeDescription = __changelog__.split("\n\n", 1)[0] p.author = __author__ p.mail = __email__ p.license = "lgpl" - 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.depends = ", ".join([ + "python (>= 2.5) | python2.5", + "python-dbus | python2.5-dbus", + "python-gobject | python2.5-gobject", + "python-telepathy | python2.5-telepathy", + ]) + p.depends += { + "debian": "", + "diablo": ", python2.5-conic, account-plugin-haze", + "fremantle": ", account-plugin-haze", + "mer": "", + }[distribution] p.arch = "all" p.urgency = "low" - p.distribution = "chinook diablo fremantle mer debian" + p.distribution = "diablo fremantle mer debian" p.repository = "extras" p.changelog = __changelog__ p.postinstall = __postinstall__ - p.preremove = __preremove__ p.icon = { - "debian": "26x26-dialcentral.png", - "chinook": "26x26-dialcentral.png", - "diablo": "26x26-dialcentral.png", - "fremantle": "64x64-dialcentral.png", # Fremantle natively uses 48x48 - "mer": "64x64-dialcentral.png", + "debian": "26x26-theonering.png", + "diablo": "26x26-theonering.png", + "fremantle": "64x64-theonering.png", # Fremantle natively uses 48x48 + "mer": "64x64-theonering.png", }[distribution] - p["/usr/bin"] = [ "dialcentral.py" ] for relPath, files in unflatten_files(find_files(".")).iteritems(): - fullPath = "/usr/lib/dialcentral" + fullPath = "/usr/lib/theonering" if relPath: fullPath += os.sep+relPath p[fullPath] = list( "|".join((oldName, newName)) for (oldName, newName) in files ) - p["/usr/share/applications/hildon"] = ["dialcentral.desktop"] - p["/usr/share/icons/hicolor/26x26/hildon"] = ["26x26-dialcentral.png|dialcentral.png"] - p["/usr/share/icons/hicolor/64x64/hildon"] = ["64x64-dialcentral.png|dialcentral.png"] - p["/usr/share/icons/hicolor/scalable/hildon"] = ["scale-dialcentral.png|dialcentral.png"] - - print p - print p.generate( - version="%s-%s" % (__version__, __build__), - changelog=__changelog__, - build=False, - tar=True, - changes=True, - dsc=True, - ) - print "Building for %s finished" % distribution + p["/usr/share/dbus-1/services"] = ["org.freedesktop.Telepathy.ConnectionManager.theonering.service"] + if distribution in ("debian", ): + p["/usr/share/mission-control/profiles"] = ["theonering.profile.%s|theonering.profile"% distribution] + elif distribution in ("diablo", "fremantle", "mer"): + p["/usr/share/osso-rtcom"] = ["theonering.profile.%s|theonering.profile"% distribution] + p["/usr/lib/telepathy"] = ["telepathy-theonering"] + p["/usr/share/telepathy/managers"] = ["theonering.manager"] + p["/usr/share/icons/hicolor/26x26/hildon"] = ["26x26-theonering.png|im-theonering.png"] + + if distribution == "debian": + print p + print p.generate( + version="%s-%s" % (__version__, __build__), + changelog=__changelog__, + build=True, + tar=False, + changes=False, + dsc=False, + ) + print "Building for %s finished" % distribution + else: + print p + print p.generate( + version="%s-%s" % (__version__, __build__), + changelog=__changelog__, + build=False, + tar=True, + changes=True, + dsc=True, + ) + print "Building for %s finished" % distribution if __name__ == "__main__":