Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
en:docs:distribution [2013/04/20 14:15] – valerius | en:docs:distribution [2016/02/04 01:04] (current) – [Package management] valerius | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== osFree distribution (draft I) ==== | + | ===== osFree distribution (draft I) ===== |
+ | |||
+ | osFree distribution principles: | ||
+ | |||
+ | ==== Package management ==== | ||
+ | |||
+ | === WarpIN === | ||
+ | |||
+ | * [[http:// | ||
+ | |||
+ | === Package sources frontend === | ||
+ | |||
+ | * Also, a tool like eCoMarket or Linux-like repository access client is needed. It can be like apt or yum in Linux, but with OS/2 specifics. This tool must be separate from WarpIN, i.e., it is specific to repositories/ | ||
+ | * it must handle different package sources, like | ||
+ | * files in the current directory | ||
+ | * special directory layouts (on the current machine, or on remote http or ftp server), like diskette images with bundles (as used by IBM OS/2 distributions so, the installer will be capable to install old IBM OS/2 distributions as well) | ||
+ | * other directory layouts, like APT or YUM repositories | ||
+ | * different file transport protocols support, like ftp, http, etc, via plugins | ||
+ | * maybe, support for handling the different packages formats, other than WPI, because Netlabs, for example, prefer RPM's, so, it would be good to have support for them too, as they seem to be logical for ports from UNIX (but they are not suited well for native OS/2 applications). So, the support for the following formats would be desirable: | ||
+ | * plain ZIP's with metainfo and installation scripts included (like it was in UnixOS/2) | ||
+ | * RPM - for software ported from UNIX. | ||
+ | * pack/ | ||
+ | * the package source frontend will handle different package types via special plugins (or backends), and invoke different tools when installing packages (invoke WIC, UNZIP, UNPACK or RPM) | ||
+ | * maybe, even, the possibility to create the decentralised network of package repositories is needed -- this will allow to use any nearest mirror, or use another mirror if the main mirror is down. Even we could try to create the repositories network on Peer-to-Peer basis ;) (Use Bittorrent or any other protocol via a separate plugin,like the one for ftp/http) | ||
+ | |||
+ | === WarpIN enhancements === | ||
+ | |||
+ | * The enhancements to WarpIN should include: | ||
+ | * " | ||
+ | * Support for simultaneously existing versions of different packages with libraries, which are needed for different applications (aka branches support) | ||
+ | * Maybe, " | ||
+ | * Coexistence of several package trees, which are updated separately, and do not influence other trees -- some analogies with source code repositories with branches | ||
+ | * Support for separating and merging the branches, rollback of packages to an older (but stable) version | ||
+ | |||
+ | ==== The installer ==== | ||
+ | |||
+ | * response-file-driven installer: | ||
+ | - response file can be created manually | ||
+ | - response file can be generated by UI (VIO or PM-based) | ||
- | * osFree must use [[WarpIN]] as a package manager, with some [[enhancements]] | ||
- | * support for [[repositories]]? | ||
- | - This tool must be separate from WarpIN, i.e., it is specific to repositories, | ||
- | - understanding the repository format, different protocols support, like ftp, http, etc. | ||
- | - maybe, support for handling the different packages formats, other than WPI, i.e., plain ZIP's with metainfo and installation scripts included(like it was in UnixOS/2), or RPM - for software ported from UNIX. The repository client will handle different package types via special plugins, and invoke different tools when installing packages (invoke WIC, ZIP, or RPM) | ||
- | - | ||
- | - WarpIN is for tracking dependencies, | ||
- | * response-file-driven installation: | ||
- | - response-file can be created manually | ||
- | - response-file can be generated by UI (VIO or PM-based) | ||
* so, installer must be divided into four separate parts: | * so, installer must be divided into four separate parts: | ||
- UI for choosing user options and generating the response file interactively, | - UI for choosing user options and generating the response file interactively, | ||
* textmode UI with pseudographics | * textmode UI with pseudographics | ||
* graphical, PM-based | * graphical, PM-based | ||
- | - installation engine, based on invoking the repository client | + | - installation engine, based on invoking the package access frontend |
* it can be started by an experienced user, system administrator, | * it can be started by an experienced user, system administrator, | ||
- | * installlation | + | * installation |
+ | * the single installer for initial machine setup, and subsequent option changes/ | ||
* also, DOS (DPMI)-based version of the installation engine and UI would be desired | * also, DOS (DPMI)-based version of the installation engine and UI would be desired | ||
* a Linux- or Win32-based version (?) | * a Linux- or Win32-based version (?) | ||
- | - repository client, handling different | + | - package access frontend, handling different |
- | * including standard IBM OS/2-style "repository" with bundles and diskette images (so, the installer willbe capable to install old IBM OS/2 distributions as well) | + | * different package storage/ |
- | * different | + | * different access protocols are implemented as special plugins |
- | - enhanced WarpIN as the main package handling tool. The enhancements should include: | + | - enhanced WarpIN as the main package handling tool. |
- | * " | + | |
- | * Support for simultaneously existing versions of different packages with libraries, which are needed for different applications | + | |
- | * Maybe, " | + | |
- | * Coexistence of several package trees, which are updated separately, and do not influence other trees -- some analogies with source code repositories with branches | + | |
+ | ~~DISCUSSION~~ | ||