close Warning: Can't synchronize with repository "(default)" (/var/svn/tolp does not appear to be a Subversion repository.). Look in the Trac log for more information.

Changes between Version 5 and Version 6 of Packages


Ignore:
Timestamp:
Feb 8, 2016, 10:12:34 AM (9 years ago)
Author:
Pedro Gea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Packages

    v5 v6  
    1919= Packages =
    2020
    21 {{{
    22 #!div style="background:#fcc; border: 1px solid red; color:red; padding-left:1em; margin-right:1em"
    23 To do. See [wiki:TolPackageRulesAndComments].
    24 }}}
    25 
    2621== Introduction ==
    2722
    2823The idea of a package comes from the concept of modularity and the possibility of loading and
    29 distributing a whole module as a unit. A TOL package is essentially no more than a NameBlock
     24distributing a whole module as a unit. A TOL package is essentially a NameBlock
    3025distributed in an .oza file.
    3126
    32 In the TOL programming frame, we identify the package with the NameBlock that contains
    33 the set of classes, structurs, variables, functions and definitions. This is distributed and loaded as
    34 an unit of the TOL package system.
     27The package distribution is usually accompanied by other complementary resources that can be: files containing icons or images,
     28documentation, libraries of compiled functions (written in C++ and distributed in .dll or .so files)
     29and even uncompiled TOL code (.tol files) used as examples.
    3530
    36 Looking more from a distribution-focused point of view, a package is a compressed file
    37 (specifically a .zip file) that contains the nameblock serialisation (an .oza file). This is
    38 accompanied by other complementary resources that can be: files containing icons or images,
    39 documentation, libraries of compiled functions (written in C++ and distributed in .dll or .so files)
    40 and even uncompiled TOL code ( .tol files) by way of example.
     31On a programming-focused point of view, the package is the mentioned NameBlock containing a set of classes, structures, variables, functions and definitions.
    4132
    4233== Names and versions ==
     
    4435A TOL package is identifed by its name and version.
    4536
    46 The name of the package matches with the name of the nameblock that represents it. It generally
     37The '''name''' of the package matches with the name of the nameblock that represents it. It generally
    4738follows a CamelCase structure.
    4839
    49 The version consists of integers. The first (the high version number) shows if there has been an
    50 important change in the structure and functionality; one which could break the compatability
    51 with the user-code in use. The second however (the low version number) shows that changes
    52 have been made to the package that maintain package-use compatibility. These changes could
    53 be corrections or the inclusion of new functionalities.
     40The '''version''' consists of integers. The first (the high version number) shows if there has been an
     41important change in the structure and functionality. This new version could incorporate changes that break the compatibility
     42with previous code in use. The second number (the low version number) however shows changes that maintain the package-use compatibility. These changes could be corrections or new functionalities.
    5443
    5544The package identifier is created by linking the name and two version numbers
    56 <name>.<version.high>.<version.low> with a full-stop (.).
     45{{{<name>.<version.high>.<version.low>}}} with a full-stop ({{{.}}}).
    5746For example, the identifier {{{GuiTools.3.5}}} makes reference to version 3.5 of GuiTools, which
    5847includes utilities for TOLBase graphical integration.
    5948
     49Some packages (usually those that contain binary libraries) show an additional name indicating the '''platform''' for which the package is compatible. This name appears after the name concatenated a number sign ({{{#}}}). For example, {{{TclCore#Win32GNU.8.407}}} is the {{{TclCore.8.407}}} package for TOL GNU-GCC compiled for Windows 32-bits.
     50
     51== Official TOL Archive Network ==
     52
     53The official repository of TOL packages is called '''OTAN''' ('''O'''fficial '''T'''OL '''A'''rchive '''N'''etwork). In this link: [wiki:OTAN] you can browse the full list of public packages.
     54
     55Other local or private repositories can also be available.
     56
    6057== TolPackage ==
    6158
    62 The TOL kernel provides a module to manage packages: TolPackage.
    63 
     59The TOL kernel provides a module to manage packages: TolPackage.
    6460This module allow TOL users to download, update or upgrade packages. It provides also utilities for creating and uploading packages. For more details, see [wiki:TolPackage].
    6561
    66 == Requiring a package ==
     62=== Requiring a package ===
    6763
    6864TOL provides a preevaluation directive: {{{#Require}}} to indicate the package requeriments.
     
    7369}}}
    7470
    75 When you ''compile'' a package requirement, TolPackage try to load the package, searching into the repositories, downloading it and intalling it if necessary.
    76 
    77 == Official TOL Archive Network ==
    78 
    79 The official repository of TOL packages is called '''OTAN''' ('''O'''fficial '''T'''OL '''A'''rchive '''N'''etwork). In this link: [wiki:OTAN] you can browse the full list of public packages.
     71When you ''compile'' a package requirement, TolPackage try to load the package, searching into the repositories, downloading and installing it if necessary.
    8072
    8173== Package manager in TOLBase ==
     
    8981The interface offers a list of all available packages from all of the of the repositories to which they have access for installation, updates or upgrades.
    9082
    91 Different package states are displayed in the form of various different icons:
    92  * [[Image(source:tolp/trunk/tolbase/lib/toltk/images/p_no.gif)]]: New, not installed.
    93  * [[Image(source:tolp/trunk/tolbase/lib/toltk/images/p_upd.gif)]]: Update required; a more recent package of an identical version is available.
    94  * [[Image(source:tolp/trunk/tolbase/lib/toltk/images/p_upg.gif)]]: Upgrade required, a package with a superior version is available.
    95  * [[Image(source:tolp/trunk/tolbase/lib/toltk/images/p_unu.gif)]]: Upgrade and update required, both of these are required periodically.
    96  * [[Image(source:tolp/trunk/tolbase/lib/toltk/images/p_ok.gif)]]: Package okay, currently installed without requirement for update or upgrade.
     83The package states are displayed with different icons:
     84 * [[Image(source:tolp/trunk/tolbase/lib/toltk/images/p_no.gif)]] '''New:''' the package is not installed.
     85 * [[Image(source:tolp/trunk/tolbase/lib/toltk/images/p_upd.gif)]] '''Update required:''' a more recent package of an identical version (an update) is available.
     86 * [[Image(source:tolp/trunk/tolbase/lib/toltk/images/p_upg.gif)]] '''Upgrade required:''' a package with a superior version (an upgrade) is available.
     87 * [[Image(source:tolp/trunk/tolbase/lib/toltk/images/p_unu.gif)]] '''Upgrade and update required:''' both an update and an upgrade are available for this package.
     88 * [[Image(source:tolp/trunk/tolbase/lib/toltk/images/p_ok.gif)]] '''OK:''' the package is installed and does not need an update nor an upgrade.
    9789
    9890Various actions can be carried out on packages. These are offered in the contextual menu.