[csw-users] How can I get blastwave's package sources?

Christopher Odenbach odenbach at uni-paderborn.de
Mon May 21 14:16:25 CEST 2007


Hi,

>   It would be very nice if one could drag down the svn tree and then
> build from the sources to get a perfect reproduction of the binaries.
> Sort of like the Debian Linux project.

Seems to be the perfect moment to introduce my tool pkg-init!

Q: What is pkg-init?
A: pkg-init is a tool which takes a pristine source tar-ball, asks a few 
questions and then creates a build directory. This directory contains 
everything that is needed to build a binary Solaris package AND a 
source package.

Q: What is a source package?
A: The missing link! A source package is just a plain tar.gz which 
includes the formerly described build directory. So you can extract the 
source package, modify what you want and rebuild everything. As a 
result you get a new binary package and a new source package, 
containing the modifications you did. This is software evolution, very 
similar to the Debian Linux way (which was of course the goal).

Q: What do I need else?
A: The build process uses fakeroot which is available as a blastwave 
package. My pkg-init package contains the dependancy so you should be 
fine. pkg-init itself is written in pure perl, so you can modify it as 
you like.

Q: How does it work?
A: pkg-init contains a template for the build directory. The main part 
of this template is a Makefile which contains rules for every part of 
the build process. The whole build process runs as user, there is no 
need to build as root (and you should not!).

Q: Sounds good. Where do I get pkg-init?
A: Download the package from

http://homepages.uni-paderborn.de/odenbach/projects/pkg-init


Of course this is not perfect (yet). But it is very helpful. When I 
tried to build my first Solaris package, I followed the instructions on 
the blastwave site at
http://www.blastwave.org/standards/pkg-walkthrough.php
There are many things to remember and to do manually, which could easily 
be automated. That is where pkg-init jumps in.

In many cases it is sufficient to do

pkg-init source.tar.gz
[answer questions]
cd source-dir
make
cd ..

which I think is much easier than the blastwave way. :-) Even more 
important: Every thing you change from the default way is remembered in 
the created source package (or source archive if you prefer).

It took me hours to build my first working Solaris package. When I gave 
this tool to one of my students who had never built a Solaris package 
before, it took him 20 minutes to build one. So give it a try.


What do you think?

Regards,

Christopher

-- 
======================================================
    Dipl.-Ing. Christopher Odenbach
    Zentrum fuer Informations- und Medientechnologien
    Universitaet Paderborn
    Raum N5.110
    odenbach at uni-paderborn.de
    Tel.: +49 5251 60 5315
======================================================
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.opencsw.org/pipermail/users/attachments/20070521/6fb84758/attachment.asc>


More information about the users mailing list