Factor-packman:requirements

From Zen/-/ackers

Jump to: navigation, search

The package manager has the following features/requirements:

   The package manager must be isolated from the Factor implementation as much
   as possible.  This separation allows us to easily modify and update the
   package manager without affecting the Factor implementation.  It also keeps
   all the package management data separate from the Factor implementation, so
   the dependencies are kept as low as possible.
  
   NAME:
   
   o) FAZE
       -> Factor Automatic zPackage Expediter  
   CORE COMMANDS:
   
   o) Install / Add a package:
       -> Add a package from a remote repository:
               A package can be downloaded from a remote repository
               
       -> Add a package from the local HDD:
               A package can be downloaded manually and added to the package cache.
               
       -> install a package from the local package cache
               A package can be installed from the local package-cache.
               
       -> Install / Add can be implemented with 1 command that accepts different
          parameters, eliminating the need to have separate commands for each action
          because they are basically the same.
               
       :def: The difference between *add* and *install* is that add downloads the
       package from the repository to the local HDD and adds it to the local cache OR
       it adds a manually downloaded package to the local cache.  Install actually
       extracts the package and makes it available for use in Factor.
       
   o) Update a package
       -> Updates the locally installed version of a package to the specified / latest
          version.  This command can also be used to downgrade a package to a previous
          release by giving an earlier version than the one installed locally.
          
   o) Uninstall / Remove
       -> Uninstall: makes the specified package(s) unavailable to the Factor environment.
       -> Remove: makes the specified package(s) unavailable to Factor and removes the
          package(s) from the local cache.
       -> Uninstall / Remove can be done by passing different options to the same command,
          so we don't need separate commands, we can use 1 command.
          
   PACKAGE MAINTENANCE COMMANDS:
          
   o) Pack / Unpack
       -> creating a package can be automated using the *pack* command.  You create
          the Factor source files and the package spec file and use the *pack*
          command to automatically create a archived package, which can be automatically
          uploaded to a remote repository, everything in 1 step.
       
       -> unpack:  You can unpack a Factor package to be able to modify / hace access
          to the contents of the package.  This makes it easy to quickly update or
          look at a package's source.  The package can also be automatically downloaded
          all in 1 step.  This is basically the reverse of the *pack* command.
          
   o) Digitally sign a package
   
   o) Verify a package's integrity
   
   o) clean unused packages from the cache
   
   PACKAGE INFORMATION COMMANDS:
   
   o) Display the files contained in an installed gem.
   o) List all the dependencies for a local/remote package.
   o) List all packages matching a search string locally/remotely.
   o) Query a package for package information
   o) 
   
   REPOSITORY MANAGEMENT COMMANDS:
   
   o) Create a new repository
   o) Update a repository's index file
   o) Remove a repository
Personal tools