Difference between revisions of "GNUstep and HPMS HowTO"

From GNUstepWiki
Jump to navigation Jump to search
Line 13: Line 13:
  
 
==== What is CPAM, CPAD and HPMS  ? ====
 
==== What is CPAM, CPAD and HPMS  ? ====
 +
In order to better describe the cross-platform package management, following terms are defined.
  
 
* CPAM: Cross-platform Application Management.
 
* CPAM: Cross-platform Application Management.

Revision as of 03:26, 20 February 2005

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 is CPAM, CPAD and HPMS ?

In order to better describe the cross-platform package management, following terms are defined.

  • CPAM: Cross-platform Application Management.
  • CPAD: Cross-platform Application Developement.
  • HPMS: Hyper Package Management System.
  • PMS: Package Management system.
  • 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

  • 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

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.