For last couple days I was updating MacLibre and I had a problem with Firefox 1.5 & Thunderbird 1.5 dmg disk images. What was the problem in details? Those dmg images shows Software License Agreement window when you try to mount them. Well it shouldn’t be a problem to show this window, make a selection (accept/decline) and proceed with installation. But we are using ‘hdiutil‘ for mounting and unmounting dmg images and this application has only command-line interface when you try to mount dmg images with license agreement it runs default shell text editor with license then it waits for return from editor and then ask if you agree with the license or not. When you double-click on image in Mac OS X it uses DiskImageMounter application insteed of a hdiutil to mount it (maybe it’s just a wrapper for hdiutil, who knows?;-)).

So I decided to use this tool (I was thinking also about using pexpect with hdiutil) when we have to deal with those dmg images with license agreement. Using ‘hdiutil imageinfo‘ and after parsing output I was able to discover which dmg image has this license window showing up and which not. Like everywhere in MacLibre we use commands module and getstatusoutput function to run external applications. Everything was working just fine, but I updated my Mac OS X to 10.4.7 and I couldn’t get getstatusoutput function to return. It’s really strange it just stops after calling pipe.read(). I tried to run DiskImageMounter same way in bash console and after mounting it ends without a freeze. Yesterday I replaced commands.getstatusoutput with os.system function for running DiskImageMounter Now everything works and I have succeed to install Firefox & Thunderbird 1.5 ;-)

I’ve also finally added applications listed below:

  • Vienna 2.0.4.2034 (RSS Feed Aggregator)
  • Audacity 1.3.0 beta version
  • Colloquy 2.1 beta version
  • VirtueDesktops 0.52r155

Bug fix and new features plans for next week:

  • AbiWord update (write GzContainer or extend DmgContainer to handle dmg.gz archives)
  • check if X11 package is already installed in system even if it wasn’t installed with MacLibre (dependence, X11.app, useful when installing Gimp or Inkscape)
  • version selection for applications (ex. Firefox 1.0.8 & 1.5.0.4)
  • don’t close the application if there is no internet connection; just show the reconnect button
  • ask for installation directory path if you have no rights to install in /Applications directory
  • test Cocoa/PyObjC window for asking user’s password in a Mac OS X conventional way
  • dmg images with license agreement (fix processing when decline is selected)
  • make use of Status label in package information window (stable/beta)


No Responses Yet to “Dmg with license agreement bug solved”  

  1. No Comments Yet

Leave a Reply