Abhishek Gupta

The Sun won’t set at NIT Durgapur !

Posts Tagged ‘pkgbuild’

4 Days with IPS

Posted by abhiitechie on May 14, 2009

Its been four days for me with IPS and I am proud to say that now I am able to write a post dedicated to the very topic of Image Packaging System and porting packages to OpenSolaris . Engineers from the Solaris team have  been working to create IPS packages for OpenSolaris for most of the existing popular open source softwares which are still not existing as binaries to be directly installed to OpenSolaris and needs to be build from source and along with which lies the tedious task of resolving dependencies which some times becomes almost killing and dis-heartening.

Generating IPS package is similar to RPMs which is popular in GNU/Linux and it also uses a file called a Spec file . So IPS specs are similar to RPM specs with some minor differences.

Need for a Spec file:        

 Typical OSS package builds the code using ./configure ; make ;  make install .  Writing a pkginfo file with package metainfo, like name, version,description etc.  Writing a prototype file with list of files and attributes and not to forget the dependency file. All these requires lots of typing and is error prone to . Because of the tediousness people tend to avoid packaging binary tarballs and even  worse build from source.

So we follow the new approach of buillding and packaging in the same step using Spec files . A typical spec file consists of a simple text metainfo mixed with some perl syntax variables and small shell sripts.Metainfo may consist of name, version, description, etc. of the software .It also applies the code changes called patches to the original source while building. Build instructions are tiny shell scriptlets . Package contents are also specified called globs.

Whats inside a spec file ?

  •  Source code availability (URL)
  •  Local code changes (unified or context diffs)
  •  Build instructions
  •  Lists of files to package up (globs)                
  • Package scripts 
  • Metainfo
  • Build-time and package dependencies
  • Changelog          

What we can do as developers ?

 

● Write a spec file for your favourite app

● Build existing spec files
● Report bugs
● Update packages to the latest version availableBuild the code any way you want
> typical OSS package: ./configure; make;
make install
• Write a pkginfo file:
> package metainfo, like name, version,
description
• Write a prototype file:
> list of files and attributes
• Write a dependency file
  •  Write a spec file for our favourite app
  •  Build existing spec files
  •  Report bugs
  •  Update packages to the latest version available

 

More information in the following URLs

 

Posted in sun | Tagged: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , | Leave a Comment »