MacLibre

Synopsis

MacLibre aims to be an OSX free sofware distribution like WinLibre is on Windows. It is able to install and to keep up to date a set of software and it is distributed under the GPL Licence.

ToDo

  • find contributors for making .app for 10.1, 10.2, and 10.4
  • use PyObjC for asking user’s password in a conventional way
  • when installing a .pkg package display the ‘Optimizing hard drive’ phase
  • re-design GUI_PackageChooser.py
  • re-design Installer.py
  • add sub-categories ? ( may require deep modifications )
  • clean the code and remove un-pythonic practices
  • create more Containers ( RarContainer, TgzContainer, TbzContainer, etc...) and integrate them
  • move MacLibre folder from unix convention (~/.maclibre) to OSX standard path
  • give to installed.xml an utf8 look
  • localize MacLibre
  • create several localized distribution

All contributions are welcome, if you are a developer yourself and want to see the sourcecode of this opensource project, or any of the other Winlibre Projects, you may Browse WinLibre CVS.

Package list syntax

General overview

If you want to use MacLibre for managing a different set of software or if you want to create another (a better ?) GUI for MacLibre, here is some explanations about the syntax of the package list. The basic hierarchy is the following :

  • Distribution
    • Category at least one by Distribution
      • Package at least one by Category
        • Description just one by Package
          • P just one by Description
          • Homepage just one by Description
        • Installation at least one by Package
          • File just one by Installation
          • Dependence optional, zero or more

Take a look at Maclibre current package list

Distribution

Field Default Value Necessary Description
Name MacLibre Optional set of software’s name
Version empty string Yes set of software’s version
Languageempty string Yes set of software’s language
InstallerMinVersion0.1 Optional compared to installer version 3)

Category

Field Default Value Necessary Description
Name empty string Yes displayed as a folder name in package selection tree

Package

Field Default Value Necessary Description
Name empty string Yes displayed as a node in package selection tree
Version empty string Optional version of the package. take a look at Installation’s version field
ShowableTrue Optional set to False if this package doesn’t have to be displayed in the tree
Status stable Optional status of the package, could be stable/unstable/testing

Installation

If a package has more than one Installation, MacLibre will look which one is installable on the current system and will ignore other ones.

Field Default Value Necessary Description
SizeOnDisk 0 Yes Size when installed on the disk
Version empty string Optional if a Package has more than one Installation with different versions. It replaces package version field if this one is not given
OSMin 10.0 Optional minimal version of OSX for installing this package. value included
OSMax 10.4.2 Optional maximal version of OSX for installing this package. value included

File

A File could have more than one Url. It’s used if the first download failed (wrong md5 checksum or broken link)

Field Default Value Necessary Description
Name empty string Yes name of the file
Size 0 Yes size of the file in bytes. needed for the progression gauge
Type dmg Optional Kind of file. dmg and zip are supported
Extension app Optional Extension of the package inside the file. app and pkg are supported
MD5Sum empty string Yes check sum for the file

Dependence

Dependence shouldn’t be set in both ways. If the package foo need the package bar to be installed, only one of them have to have a Dependence anchor.

Field Default Value Necessary Description
Name empty string Yes name of the dependence package
Version empty string Yes version of the dependence package
Install empty string Yes when this dependence should be installed. after or before the package

Examples

  • Sample Package :
      <Package Name="Firefox" Version="1.0.6">
	<Description>
	  <P>
	    Surf the Web, block pop-ups, keep spyware at bay and
	    enjoy the useful extensions of this lean and fast browser.
	  </P>
	  <Homepage>http://www.mozilla.org/products/firefox/</Homepage>
	</Description>
	<Installation SizeOnDisk="25573535">
	  <File Name="Firefox 1.0.6.dmg" Size="9157571" MD5Sum="3b554aa62c812b4bafb4082cf537866a">
	    <Url>http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/1.0.6/mac/en-US/Firefox%201.0.6.dmg</Url>
	    <Url>http://ftp.scarlet.be/pub/mozilla.org/firefox/releases/1.0.6/mac/en-US/Firefox%201.0.6.dmg</Url>
          </File>
	</Installation>
      </Package>
  • Multi-Installations Package :
      <Package Name="Cyberduck">
	<Description>
	  <P>
	    Cyberduck is a FTP and SFTP browser with an easy to use interface.
	    It supports many OS X system technologies
	    such as Spotlight, Bonjour, the Keychain and AppleScript.
	  </P>
	  <Homepage>http://cyberduck.ch/</Homepage>
	</Description>
	<Installation SizeOnDisk="13302182" Version="2.5" OSMin="10.3.9">
	  <File Name="Cyberduck-2.5b4.dmg" Size="6564390" MD5Sum="9e2e34ca62b41daf2df93c3af16914b1">
	    <Url>http://cyberduck.ch/Cyberduck-2.5b4.dmg</Url>
	  </File>
	</Installation>
	<Installation SizeOnDisk="8755127" Version="2.4.6" OSMin="10.3.0" OSMax="10.3.8">
	  <File Name="Cyberduck-2.4.6.dmg" Size="4565651" MD5Sum="61e8b09e84ffe5199857bce1d39024c1">
	    <Url>http://cyberduck.ch/Cyberduck-2.4.6.dmg</Url>
	  </File>
	</Installation>
      </Package>
  • Package with dependence :
      <Package Name="Gimp" Version="2.2.6">
	<Description>
	  <P>
	    The GIMP is a software for such tasks as photo retouching,
	    image composition and image authoring.
	  </P>
	  <Homepage>http://gimp-app.sourceforge.net/</Homepage>
	</Description>
	<Installation SizeOnDisk="88040206" OSMin="10.3">
	  <File Name="Gimp-2.2.6.dmg" Size="44071814" MD5Sum="b2dff791db87d7d9b171f78842ef31be">
	    <Url>http://heanet.dl.sourceforge.net/sourceforge/gimp-app/Gimp-2.2.6.dmg</Url>
	    <Url>http://ufpr.dl.sourceforge.net/sourceforge/gimp-app/Gimp-2.2.6.dmg</Url>
	  </File>
	  <Dependencies>
	    <Dependence Name="X11" Version="1.0" Install="before"/>
	  </Dependencies>
	</Installation>
      </Package>
3) If the installerMinVersion is superior than the version of the current installer it displays a message to user asking him to download the latest version
 
winlibre_soc/maclibre.txt · Last modified: 2011/07/21 14:29
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki