Difference between revisions of "GNUstep and HPMS HowTO"
Line 1: | Line 1: | ||
+ | == Documentation == | ||
=== Abstract === | === Abstract === | ||
This article will explain using HPMS to package GNUstep for deploying GNUstep on different OS platform easily. Also we explore the possiblity of intergrating HPMS funcation into GNUstep to add HPMS into GNUstep. | This article will explain using HPMS to package GNUstep for deploying GNUstep on different OS platform easily. Also we explore the possiblity of intergrating HPMS funcation into GNUstep to add HPMS into GNUstep. |
Revision as of 04:11, 20 February 2005
Documentation
Abstract
This article will explain using HPMS to package GNUstep for deploying GNUstep on different OS platform easily. Also we explore the possiblity of intergrating HPMS funcation into GNUstep to add HPMS into GNUstep.
Overview
Have you ever take a look of current computing environments on Earth from outerspace ? Seeing so many Operating Systems got created in the name of inovation(it is true in most cases). End users end up with lots of incompatible operating systems,programming languages and applications to deal with. Each OS vendor/supporter will make their OS as different as possible and label it as features. In some cases, they will spend exra efforts to make sure other OS users can't use their features. All of these actions create high maintence cost. We need a solution to deal with these diversions to avoid the chaos.
The Java environment is a good example aim to do same "things" across different incompatible paltforms. GNUstep is another example aim to provide unified and consistent programming environment for applicaiton developers.
A solution to deal with application management across different OS is needed. Given GNUstep's cross-platform declaration on application development activities, so should the application mangement activies cross-platform united.
In this project we like to use GNUstep application as an example to demostrate the benifits of using CPAM. There are currently different package sources to create GNUstep package for different OS paltforms. We will demostrate using one package source to create native package for different OS. and also using same tool to maintain GNUstep package.
Project Overview slides
TBA.
What are PMS, HPMS, CPAD and CPAM ?
In order to better describe the cross-platform package management activities, following terms are defined for easy reference.
- PMS: Package Management system is a group of software tools design to create and maintain software in a package format. Example of software tools are rpm,pkgadd,dpkg,ipkg,inst and lpp in AIX.
- CPAM: Cross-platform Application Management, is the activities to manage application on different OS platforms. The goal is to use better software solution to minimize the administration cost.
- CPAD: Cross-platform Application Developement is the activities on devloping a software that can run on different OS platforms to maxmize the software deployment.
- HPMS: Hyper Package Management System is a software tool for CPAM. It will respect and work with the local PMS to create and manage software package. When a package need to be created, the HPMS will call
- Brief introduction of a few PMS.
- RPM
- Solaris pkgadd
- HP-UX SD-UX
- GNUstep .app (What is the name of GNUstep PMS ?)
- MacOS X
- Debian dpkg
- ipkg for Embeded Linux system.
- Comparison of PMS
- Comparison of HPMS
Architecture of a HPMS
TBA.
Why doing it
- A software compiling process is very complex and need to be exact on what other software you need to compile with and how you configure the compilation flags to the compiler. This complex process can actually be digitalize into a script and be repeatable by easy commands without waiting for the guru give you a hint.
- Lots of time is spent by experienced GNUsteppers to assist new GNUsteppers with compiling the source, and this waste will continue to occur unless we resolve certain issues.
- Time can be better spent on GNUstep developement, and not on the compling and packaging process.
- Easy installation and removal of GNUstep encourges the deployment of GNUstep in corporate environments.
- The softare adn pacakge creation processes can be reproduced easliy by others with simple commands.
- Improves QA testing by generating GNUstep bug fixed instances quickly.
How
When
TBA.
Who
Technology Provider: TWW Inc. http://www.thewrittenword.com
This project is using CPAM tools created by TWW Inc.The commpany created TWW tool sets to help cross-platform open-source package creation and deployment. Currently GNUstep is not avaible in the list of their supported packages. The good thing is that we have a chance to invite steppers create the package sources together. All source of their supported packages are avaiable at ftp://support.thewrittenword.com. Those package sources need to be compiled with vendor compiler. gcc compiler is used only on RedHat plaform.
Motorola Inc. http://www.motorola.com
They have a simliar CPAM homegrown solution to deal with supporting open-source across OS platform. That tool was dropped in favor of TWW's GPL opensourced tool sets. Currently TWW HPMS tool is used in certain parts of the company.
Team member
- T.J. Yang: tj_yang at hotmail dot com.
I have been working as a system administator and I am interested to bring the CPAM experience to work on this project. I promised myslef to digitalize the compiling process when "Adam Fedor" kindly answered my emails regarding to the compiling issues I econcuntered. Please email me if you have comment/questions. For detail about TWW, please see http://www.thewrittenword.com. I have used CPAM tool at work to bring cross-platform open-source software support nightmare under control. TWW CPAM tool is battle field tested ;)
- Put your name and contact information here if you are serious about this project.
Plan
- Introduce CPAM(Cross-Platform Application Management) tool implemented by TWW Inc. to GNUstep CPAD community
- Cross-Platform is easier said then done becuase each platform's features are barriers for others.
- Release GNUstep package source implemented by TWW CPAM.
- I will release a working package source for others to try and review.
- The package soruces can generate native package format for RHAS rpm,Solaris pkgadd and HP-UX depot formats.
- Write tutorial on learning TWW CPAM.
- I am willing to help/assist a few persons to get familliar with TWW tools if they promise to write up what they learned in a tutorial article. As you can see I am really not good on documenation work.
Integrate GNUstep developement process with TWW CPAM
Current TWW HPMS supported Systems
Porting TWW HPMS to other OS
Linksys NSLU2
Mac OS X
Microsoft Windows
- Unix foundation software
- cygwin
- PMS foundation
FreeBSD
Package Management Processes
Software engineering process include desgin and implement software via software developers to generate source codes. The source codes will then need to be built,packaged and be managed. We can divide software packagement into three general steps.
- Software build process(SB) and SB can be devided into following processes on a build machine
- source unpack
- source patch
- source configure
- source build to generate binary and documentation
- binary test
- binary install
- binary uninstall
- Package build (PB) process is much straight forward
- prepare the configuration script
- prepare init script to start/stop application service
- call up local PMS to pack the binary,documentation and scripts into local PMS format.
- Package Management (PKGUTIL) Process
- upload and administrate packages on package depot server.
- install
- remove
- upgrade
- auto installation upon package dependence.
TWW HPMS introduction
TWW Inc. has three tools to match the package management processes.
- Softeware build
- sbutils
[root] ls -l /opt/TWWfsw/sbutils12/bin/ total 164 -rwxr-xr-x 1 root root 38551 Dec 1 15:17 gen-sb-db -rwxr-xr-x 1 root root 44418 Dec 1 15:17 sb [root]
- Package build
- pbutils
[root] ls -l /opt/TWWfsw/pbutils11/bin/ total 186 -rwxr-xr-x 1 root root 29975 Apr 30 2004 gen-pb-db -rwxr-xr-x 1 root root 29169 Apr 30 2004 gen-pkg-db -rwxr-xr-x 1 root root 34023 Apr 30 2004 pb [root]
- Package Management
- pkgutils
[root] ls -l /opt/TWWfsw/pkgutils15/bin/ total 542 -rwxr-xr-x 1 root root 32434 Jan 25 2004 chk-pkg-updates -rwxr-xr-x 1 root root 18751 Jan 25 2004 pkg-config -rwxr-xr-x 1 root root 48281 Jan 25 2004 pkg-info -rwxr-xr-x 1 root root 70570 Jan 25 2004 pkg-inst -rwxr-xr-x 1 root other 68887 May 18 2003 pkg-inst~ -rwxr-xr-x 1 root root 35692 Jan 25 2004 pkg-rm [root]
- How to get TWW tools ?
Notes about TWW Inc.
All the TWW tools and sources of their supported packages are GPL open-source compliant. They are freely avaiable at their ftp site ftp://support.thewrittenword.com. But theired support labor and binary packages require purchases. We are glad TWW Inc. find a way to do open-source works and still can make a living out of it. Please support TWW Inc. if your workplace need such kind of service. T.J. Yang is just one of happy customer of TWW Inc.