master |
ben |
features |
fixes |
gh-pages |
Welcome
This is the
OS/2 Packaging Bootstrap Project
Its purpose is to enhance OS/2 Package Management.
Bootstrapping OS/2 Package Management is about adding the
OS/2 RPM packaging system to a fresh installation.
(or correcting an already bootstrapped system)
Why this project ?
Bootstrapping OS/2 is not as trivial as it may sound.
This is because OS/2 just has a lot of "legacy bagage" to be dealt with.
Unlike Linux distros for instance, which usually have just one packaging
system, OS/2 has many legacy installation methods. In fact, the WarpIN project
was started many years ago with the purpose of providing a new and unifying
way to handle packages and their proper installation and removal.
With the addition of the RPM packaging system for OS/2,
new powerful features have been introduced, but also the need to
"play well" with the existing OS/2 installation and removal methods.
With RPM coming from the *NIX realm, this involves
a little bit more than just porting it.
PKGBootstrap has its focus on addressing the above issues
(in a complementary manner)
Starting Points
Defining the Problem Domain
Identifying First Order Problems
Identifying Possible Solutions
Having an abstract view of things eases development
Implementation
Think Object Oriented
Programming by Contract
Separating Boilerplate Code from Custom Code
Using Interfaces and Implementations allows for flexibility
Using File Commander/2 as the front-end
As a self respecting OS/2 Developer,
you have of course a licensed version of
File Commander
No, not yet ?
Then consider getting one here and
it will become your Swiss Army Knife,
leaving you to wonder how you
ever managed without it.
The User Menus capability
of FC/2 is used to provide a menu-driven
interface to the build-system. This is done
by mapping menu-entries to build-actions.
Such actions can be targets in a
GNU Makefile, Ant BuildFile
or other means.
This project assumes FC/2 v2.40 is being used
Project Structure
After inventarisation of the problem domain has been done,
most probably some problem categories will be the result of this.
These will be the first-level directories, which can be
sub-divided down-the-tree in components.
Things are buildable when a fc.mnu file is present
(press F2 from within FC/2 to show it)
Contributor Branches
To allow for developer freedom and
cooperation, so called contributor branches
are present. Some 'first fiddling" will be at the ben
branch which can be checked out with:
git clone -b "ben" "http://github.com/os2dev/pkgbootstrap.git" "pkgbootstrap/ben"
which will result in a
pkgbootstrap/ben
work-directory for that branch.
Stuff from contributor branches will merge to master
at later stages
Developer Notes
In no way this project has the intention to replace
or otherwise interfere with exsiting developments in this realm.
It is meant to be of a complementary nature.