Showing posts with label package. Show all posts
Showing posts with label package. Show all posts

Tuesday, March 22, 2011

Perforce streams - a new feature in Perforce (not yet released)

Perforce is coming up with a new feature called "streams". Not mentioned when it will be released. But they are promoting that, this feature will enhances branch management and reduces merge issues.

What is a stream?
                A stream describes about branch like depot location, owner, it's parent branch and more. It is a branching and merging application based on the perforce system.

Notable features:
·         Streams provide a centralized control to manage project related workspaces. Just setup one stream view and link your workspace to that stream.
                Whenever stream view changes, it automatically update workspace views.
·         Streams can be used to compute sensible defaults for merges
·         P4V is being enhanced to show streams in a slick visual flowchart, and to offer a simple interface for sophisticated stream tasks.

The current available details about this feature can be obtained from these links
&

Tuesday, September 2, 2008

ESP package manager

EPM (ESP package manager), is the second package manager, which I used. In my previous organization Synopsys, I used Synopsys Installer, which is an internal package management tool used only in Synopsys. But it is good to know EPM is a free package manager developed by Easy software products.

The design goal of EPM is to solve the problem of software distribution with Unix/Linux OS. The problem is every OS supports it's own packaging tools and each has unique requirements for the software development environment. EPM provides solution to this problem by providing it's own portable distribution format and also vendor specific formats like rpm, depot, dpkg, pkgadd, etc. This allows you to build software distribution files for any OS from the same sources.

You can download EPM from http://www.epmhome.org/ and the EPM book at http://www.epmhome.org/documentation.php teaches you how to use EPM.

EPM requires few pre-installed softwares. They are C compiler, make utility, Bourne (or Korn or bash) shell and gzip. The optional Graphical setup program requires a C++ compiler, FLTK library. End user systems require Bourne shell, df, tar & gzip utilities to install portable distributions.

Basically EPM reads one or more software list files that describe a single software package. These list files needs to be written in specific format, Chapter 3 of EPM book explains it in detail.

To build a software package, epm program is used. For example to build a portable software package for an application called foo, type the following command
epm foo
This expects a list file by name foo.list. If your list file is created with different name, then you can mention the list file name by command line argument as
epm foo base.list

You can install the portable packages by calling an installation script product.install where product is the name of the package.
cd os-release-arch
./product.install
After answering few yes/no questions, product will be installed.

To create vendor specific packages use -f option
epm -f rpm foo base.list

EPM also supports preinstall, postinstall, prepatch, postpatch, preremove & postremove scripts. These scripts are bourne shell scripts, needs to be called from list file
It also supports init scripts and also patch software distributions.

For detailed usage refer EPM book at http://www.epmhome.org/documentation.php

Enjoy building software packages with EPM ..... :)

Wednesday, July 16, 2008

Software Packaging Formats

Software Packaging Formats (Reference - s/w distribution using ESP)
In Unix there are many open source packaging systems, it is always better to have a list and to compare among them.
FormatOperating Systems1Binaries Cross- PlatformPatches Up- gradesCon- flictsRe- quires Re- placesConfig FilesMap FilesUn- install
installp AIXYes NoNo NoYes YesNo NoNo Yes
pkg_add FreeBSDYes Yes2NoNoNo No NoNo NoYes
pkg_add NetBSD
OpenBSD
Yes Yes2NoNoYes Yes NoNo NoYes
dpkg Corel Linux
Debian GNU/Linux
YesYes2 NoYes YesYes YesYes NoYes
depot HP-UXYes NoYes YesYes YesNo YesYes Yes
inst IRIXYes NoYes YesYes YesYes YesYes Yes
Install.app MacOS XYes NoNo YesNo NoNo NoNo No
pkgadd SolarisYes NoYes NoYes YesNo YesYes Yes
rpm Mandrake
Red Hat
SuSE
TurboLinux
YesYes2 NoYes YesYes NoYes NoYes
setld Tru64 UNIXYes NoNo NoYes YesNo NoNo Yes
slackware Slackware LinuxYesNoNo No YesYes NoNo NoYes